@wordpress/components 28.4.0 → 28.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (698) hide show
  1. package/CHANGELOG.md +113 -1
  2. package/CONTRIBUTING.md +155 -64
  3. package/build/alignment-matrix-control/cell.js +2 -2
  4. package/build/alignment-matrix-control/cell.js.map +1 -1
  5. package/build/alignment-matrix-control/index.js +6 -5
  6. package/build/alignment-matrix-control/index.js.map +1 -1
  7. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +8 -17
  8. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  9. package/build/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
  10. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  11. package/build/autocomplete/autocompleter-ui.js +2 -0
  12. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  13. package/build/base-control/index.js +54 -41
  14. package/build/base-control/index.js.map +1 -1
  15. package/build/base-control/styles/base-control-styles.js +8 -8
  16. package/build/base-control/styles/base-control-styles.js.map +1 -1
  17. package/build/base-control/types.js.map +1 -1
  18. package/build/border-control/styles.js +18 -24
  19. package/build/border-control/styles.js.map +1 -1
  20. package/build/checkbox-control/index.js +1 -0
  21. package/build/checkbox-control/index.js.map +1 -1
  22. package/build/circular-option-picker/circular-option-picker-option.js +4 -4
  23. package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
  24. package/build/circular-option-picker/circular-option-picker.js +3 -3
  25. package/build/circular-option-picker/circular-option-picker.js.map +1 -1
  26. package/build/circular-option-picker/types.js.map +1 -1
  27. package/build/color-palette/index.js +1 -1
  28. package/build/color-palette/index.js.map +1 -1
  29. package/build/color-palette/utils.js +17 -5
  30. package/build/color-palette/utils.js.map +1 -1
  31. package/build/color-picker/input-with-slider.js +1 -0
  32. package/build/color-picker/input-with-slider.js.map +1 -1
  33. package/build/combobox-control/index.js +1 -0
  34. package/build/combobox-control/index.js.map +1 -1
  35. package/build/composite/context.js +19 -0
  36. package/build/composite/context.js.map +1 -0
  37. package/build/composite/index.js +287 -9
  38. package/build/composite/index.js.map +1 -1
  39. package/build/composite/legacy/index.js +10 -8
  40. package/build/composite/legacy/index.js.map +1 -1
  41. package/build/composite/types.js +6 -0
  42. package/build/composite/types.js.map +1 -0
  43. package/build/custom-select-control/index.js +37 -14
  44. package/build/custom-select-control/index.js.map +1 -1
  45. package/build/custom-select-control/types.js.map +1 -1
  46. package/build/custom-select-control-v2/custom-select.js +3 -2
  47. package/build/custom-select-control-v2/custom-select.js.map +1 -1
  48. package/build/custom-select-control-v2/styles.js +9 -9
  49. package/build/custom-select-control-v2/styles.js.map +1 -1
  50. package/build/date-time/index.js +0 -7
  51. package/build/date-time/index.js.map +1 -1
  52. package/build/date-time/time/index.js +77 -41
  53. package/build/date-time/time/index.js.map +1 -1
  54. package/build/date-time/time/styles.js +11 -11
  55. package/build/date-time/time/styles.js.map +1 -1
  56. package/build/date-time/{time-input → time/time-input}/index.js +7 -7
  57. package/build/date-time/time/time-input/index.js.map +1 -0
  58. package/build/date-time/types.js.map +1 -1
  59. package/build/dimension-control/index.js +25 -8
  60. package/build/dimension-control/index.js.map +1 -1
  61. package/build/dimension-control/types.js.map +1 -1
  62. package/build/dropdown-menu-v2/index.js +3 -2
  63. package/build/dropdown-menu-v2/index.js.map +1 -1
  64. package/build/dropdown-menu-v2/styles.js +23 -21
  65. package/build/dropdown-menu-v2/styles.js.map +1 -1
  66. package/build/focal-point-picker/controls.js +1 -3
  67. package/build/focal-point-picker/controls.js.map +1 -1
  68. package/build/focal-point-picker/index.js +1 -2
  69. package/build/focal-point-picker/index.js.map +1 -1
  70. package/build/focal-point-picker/styles/focal-point-picker-style.js +11 -11
  71. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  72. package/build/focal-point-picker/types.js.map +1 -1
  73. package/build/form-file-upload/types.js.map +1 -1
  74. package/build/form-toggle/index.js +24 -24
  75. package/build/form-toggle/index.js.map +1 -1
  76. package/build/guide/index.js +2 -0
  77. package/build/guide/index.js.map +1 -1
  78. package/build/heading/types.js.map +1 -1
  79. package/build/index.js +5 -5
  80. package/build/index.js.map +1 -1
  81. package/build/item-group/styles.js +11 -11
  82. package/build/item-group/styles.js.map +1 -1
  83. package/build/mobile/utils/alignments.native.js +1 -1
  84. package/build/mobile/utils/alignments.native.js.map +1 -1
  85. package/build/modal/index.js +18 -11
  86. package/build/modal/index.js.map +1 -1
  87. package/build/navigator/navigator-back-button/component.js +1 -1
  88. package/build/navigator/navigator-back-button/component.js.map +1 -1
  89. package/build/navigator/navigator-back-button/hook.js +3 -9
  90. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  91. package/build/navigator/navigator-provider/component.js +17 -9
  92. package/build/navigator/navigator-provider/component.js.map +1 -1
  93. package/build/navigator/navigator-to-parent-button/component.js +13 -40
  94. package/build/navigator/navigator-to-parent-button/component.js.map +1 -1
  95. package/build/navigator/types.js.map +1 -1
  96. package/build/palette-edit/styles.js +11 -11
  97. package/build/palette-edit/styles.js.map +1 -1
  98. package/build/popover/index.js +6 -1
  99. package/build/popover/index.js.map +1 -1
  100. package/build/private-apis.js +6 -6
  101. package/build/private-apis.js.map +1 -1
  102. package/build/progress-bar/styles.js +5 -5
  103. package/build/progress-bar/styles.js.map +1 -1
  104. package/build/query-controls/index.js +6 -7
  105. package/build/query-controls/index.js.map +1 -1
  106. package/build/query-controls/types.js.map +1 -1
  107. package/build/radio-control/index.js +43 -15
  108. package/build/radio-control/index.js.map +1 -1
  109. package/build/radio-control/types.js.map +1 -1
  110. package/build/radio-group/radio.js +3 -2
  111. package/build/radio-group/radio.js.map +1 -1
  112. package/build/range-control/index.js +32 -9
  113. package/build/range-control/index.js.map +1 -1
  114. package/build/range-control/styles/range-control-styles.js +29 -29
  115. package/build/range-control/styles/range-control-styles.js.map +1 -1
  116. package/build/search-control/index.js +5 -4
  117. package/build/search-control/index.js.map +1 -1
  118. package/build/select-control/index.js +21 -8
  119. package/build/select-control/index.js.map +1 -1
  120. package/build/select-control/types.js.map +1 -1
  121. package/build/tab-panel/index.js +3 -2
  122. package/build/tab-panel/index.js.map +1 -1
  123. package/build/tabs/index.js +3 -2
  124. package/build/tabs/index.js.map +1 -1
  125. package/build/tabs/tablist.js +6 -4
  126. package/build/tabs/tablist.js.map +1 -1
  127. package/build/tabs/tabpanel.js +6 -1
  128. package/build/tabs/tabpanel.js.map +1 -1
  129. package/build/text/styles.js +7 -7
  130. package/build/text/styles.js.map +1 -1
  131. package/build/text-control/index.js +2 -0
  132. package/build/text-control/index.js.map +1 -1
  133. package/build/textarea-control/index.js +1 -0
  134. package/build/textarea-control/index.js.map +1 -1
  135. package/build/textarea-control/styles/textarea-control-styles.js +8 -2
  136. package/build/textarea-control/styles/textarea-control-styles.js.map +1 -1
  137. package/build/toggle-control/index.js +35 -25
  138. package/build/toggle-control/index.js.map +1 -1
  139. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +3 -2
  140. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  141. package/build/toggle-group-control/toggle-group-control/component.js +7 -1
  142. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  143. package/build/toggle-group-control/toggle-group-control/styles.js +7 -7
  144. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  145. package/build/toggle-group-control/toggle-group-control-option/component.js +6 -1
  146. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  147. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  148. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  149. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +14 -14
  150. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  151. package/build/tools-panel/styles.js +13 -13
  152. package/build/tools-panel/styles.js.map +1 -1
  153. package/build/tooltip/index.js +14 -2
  154. package/build/tooltip/index.js.map +1 -1
  155. package/build/tree-select/index.js +20 -8
  156. package/build/tree-select/index.js.map +1 -1
  157. package/build/unit-control/styles/unit-control-styles.js +7 -7
  158. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  159. package/build/utils/config-values.js +10 -3
  160. package/build/utils/config-values.js.map +1 -1
  161. package/build-module/alignment-matrix-control/cell.js +2 -2
  162. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  163. package/build-module/alignment-matrix-control/index.js +4 -3
  164. package/build-module/alignment-matrix-control/index.js.map +1 -1
  165. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -18
  166. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  167. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
  168. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  169. package/build-module/autocomplete/autocompleter-ui.js +2 -0
  170. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  171. package/build-module/base-control/index.js +54 -42
  172. package/build-module/base-control/index.js.map +1 -1
  173. package/build-module/base-control/styles/base-control-styles.js +8 -8
  174. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  175. package/build-module/base-control/types.js.map +1 -1
  176. package/build-module/border-control/styles.js +13 -23
  177. package/build-module/border-control/styles.js.map +1 -1
  178. package/build-module/checkbox-control/index.js +1 -0
  179. package/build-module/checkbox-control/index.js.map +1 -1
  180. package/build-module/circular-option-picker/circular-option-picker-option.js +4 -4
  181. package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
  182. package/build-module/circular-option-picker/circular-option-picker.js +1 -1
  183. package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
  184. package/build-module/circular-option-picker/types.js.map +1 -1
  185. package/build-module/color-palette/index.js +1 -1
  186. package/build-module/color-palette/index.js.map +1 -1
  187. package/build-module/color-palette/utils.js +17 -5
  188. package/build-module/color-palette/utils.js.map +1 -1
  189. package/build-module/color-picker/input-with-slider.js +1 -0
  190. package/build-module/color-picker/input-with-slider.js.map +1 -1
  191. package/build-module/combobox-control/index.js +1 -0
  192. package/build-module/combobox-control/index.js.map +1 -1
  193. package/build-module/composite/context.js +12 -0
  194. package/build-module/composite/context.js.map +1 -0
  195. package/build-module/composite/index.js +284 -6
  196. package/build-module/composite/index.js.map +1 -1
  197. package/build-module/composite/legacy/index.js +10 -6
  198. package/build-module/composite/legacy/index.js.map +1 -1
  199. package/build-module/composite/types.js +2 -0
  200. package/build-module/composite/types.js.map +1 -0
  201. package/build-module/custom-select-control/index.js +38 -14
  202. package/build-module/custom-select-control/index.js.map +1 -1
  203. package/build-module/custom-select-control/types.js.map +1 -1
  204. package/build-module/custom-select-control-v2/custom-select.js +2 -1
  205. package/build-module/custom-select-control-v2/custom-select.js.map +1 -1
  206. package/build-module/custom-select-control-v2/styles.js +9 -9
  207. package/build-module/custom-select-control-v2/styles.js.map +1 -1
  208. package/build-module/date-time/index.js +1 -2
  209. package/build-module/date-time/index.js.map +1 -1
  210. package/build-module/date-time/time/index.js +77 -41
  211. package/build-module/date-time/time/index.js.map +1 -1
  212. package/build-module/date-time/time/styles.js +11 -11
  213. package/build-module/date-time/time/styles.js.map +1 -1
  214. package/build-module/date-time/{time-input → time/time-input}/index.js +7 -7
  215. package/build-module/date-time/time/time-input/index.js.map +1 -0
  216. package/build-module/date-time/types.js.map +1 -1
  217. package/build-module/dimension-control/index.js +25 -8
  218. package/build-module/dimension-control/index.js.map +1 -1
  219. package/build-module/dimension-control/types.js.map +1 -1
  220. package/build-module/dropdown-menu-v2/index.js +2 -1
  221. package/build-module/dropdown-menu-v2/index.js.map +1 -1
  222. package/build-module/dropdown-menu-v2/styles.js +23 -21
  223. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  224. package/build-module/focal-point-picker/controls.js +1 -3
  225. package/build-module/focal-point-picker/controls.js.map +1 -1
  226. package/build-module/focal-point-picker/index.js +1 -2
  227. package/build-module/focal-point-picker/index.js.map +1 -1
  228. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +11 -11
  229. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  230. package/build-module/focal-point-picker/types.js.map +1 -1
  231. package/build-module/form-file-upload/types.js.map +1 -1
  232. package/build-module/form-toggle/index.js +23 -22
  233. package/build-module/form-toggle/index.js.map +1 -1
  234. package/build-module/guide/index.js +2 -0
  235. package/build-module/guide/index.js.map +1 -1
  236. package/build-module/heading/types.js.map +1 -1
  237. package/build-module/index.js +1 -1
  238. package/build-module/index.js.map +1 -1
  239. package/build-module/item-group/styles.js +11 -11
  240. package/build-module/item-group/styles.js.map +1 -1
  241. package/build-module/mobile/utils/alignments.native.js +1 -1
  242. package/build-module/mobile/utils/alignments.native.js.map +1 -1
  243. package/build-module/modal/index.js +17 -11
  244. package/build-module/modal/index.js.map +1 -1
  245. package/build-module/navigator/navigator-back-button/component.js +1 -1
  246. package/build-module/navigator/navigator-back-button/component.js.map +1 -1
  247. package/build-module/navigator/navigator-back-button/hook.js +3 -9
  248. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  249. package/build-module/navigator/navigator-provider/component.js +17 -9
  250. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  251. package/build-module/navigator/navigator-to-parent-button/component.js +12 -41
  252. package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -1
  253. package/build-module/navigator/types.js.map +1 -1
  254. package/build-module/palette-edit/styles.js +11 -11
  255. package/build-module/palette-edit/styles.js.map +1 -1
  256. package/build-module/popover/index.js +6 -1
  257. package/build-module/popover/index.js.map +1 -1
  258. package/build-module/private-apis.js +6 -6
  259. package/build-module/private-apis.js.map +1 -1
  260. package/build-module/progress-bar/styles.js +5 -5
  261. package/build-module/progress-bar/styles.js.map +1 -1
  262. package/build-module/query-controls/index.js +6 -7
  263. package/build-module/query-controls/index.js.map +1 -1
  264. package/build-module/query-controls/types.js.map +1 -1
  265. package/build-module/radio-control/index.js +44 -17
  266. package/build-module/radio-control/index.js.map +1 -1
  267. package/build-module/radio-control/types.js.map +1 -1
  268. package/build-module/radio-group/radio.js +2 -1
  269. package/build-module/radio-group/radio.js.map +1 -1
  270. package/build-module/range-control/index.js +32 -9
  271. package/build-module/range-control/index.js.map +1 -1
  272. package/build-module/range-control/styles/range-control-styles.js +29 -29
  273. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  274. package/build-module/search-control/index.js +5 -4
  275. package/build-module/search-control/index.js.map +1 -1
  276. package/build-module/select-control/index.js +21 -8
  277. package/build-module/select-control/index.js.map +1 -1
  278. package/build-module/select-control/types.js.map +1 -1
  279. package/build-module/tab-panel/index.js +2 -1
  280. package/build-module/tab-panel/index.js.map +1 -1
  281. package/build-module/tabs/index.js +2 -1
  282. package/build-module/tabs/index.js.map +1 -1
  283. package/build-module/tabs/tablist.js +5 -3
  284. package/build-module/tabs/tablist.js.map +1 -1
  285. package/build-module/tabs/tabpanel.js +6 -2
  286. package/build-module/tabs/tabpanel.js.map +1 -1
  287. package/build-module/text/styles.js +7 -7
  288. package/build-module/text/styles.js.map +1 -1
  289. package/build-module/text-control/index.js +2 -0
  290. package/build-module/text-control/index.js.map +1 -1
  291. package/build-module/textarea-control/index.js +1 -0
  292. package/build-module/textarea-control/index.js.map +1 -1
  293. package/build-module/textarea-control/styles/textarea-control-styles.js +9 -2
  294. package/build-module/textarea-control/styles/textarea-control-styles.js.map +1 -1
  295. package/build-module/toggle-control/index.js +34 -24
  296. package/build-module/toggle-control/index.js.map +1 -1
  297. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +2 -1
  298. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  299. package/build-module/toggle-group-control/toggle-group-control/component.js +7 -1
  300. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  301. package/build-module/toggle-group-control/toggle-group-control/styles.js +7 -7
  302. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  303. package/build-module/toggle-group-control/toggle-group-control-option/component.js +6 -1
  304. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  305. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  306. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  307. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +14 -14
  308. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  309. package/build-module/tools-panel/styles.js +13 -13
  310. package/build-module/tools-panel/styles.js.map +1 -1
  311. package/build-module/tooltip/index.js +14 -2
  312. package/build-module/tooltip/index.js.map +1 -1
  313. package/build-module/tree-select/index.js +20 -8
  314. package/build-module/tree-select/index.js.map +1 -1
  315. package/build-module/unit-control/styles/unit-control-styles.js +7 -7
  316. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  317. package/build-module/utils/config-values.js +10 -3
  318. package/build-module/utils/config-values.js.map +1 -1
  319. package/build-style/style-rtl.css +79 -33
  320. package/build-style/style.css +79 -33
  321. package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
  322. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +1 -1
  323. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -1
  324. package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -1
  325. package/build-types/base-control/hooks.d.ts +1 -0
  326. package/build-types/base-control/hooks.d.ts.map +1 -1
  327. package/build-types/base-control/index.d.ts +44 -0
  328. package/build-types/base-control/index.d.ts.map +1 -1
  329. package/build-types/base-control/types.d.ts +7 -0
  330. package/build-types/base-control/types.d.ts.map +1 -1
  331. package/build-types/border-control/styles.d.ts.map +1 -1
  332. package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
  333. package/build-types/checkbox-control/index.d.ts.map +1 -1
  334. package/build-types/checkbox-control/stories/index.story.d.ts.map +1 -1
  335. package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
  336. package/build-types/circular-option-picker/types.d.ts +2 -3
  337. package/build-types/circular-option-picker/types.d.ts.map +1 -1
  338. package/build-types/color-palette/index.d.ts.map +1 -1
  339. package/build-types/color-palette/styles.d.ts +2 -2
  340. package/build-types/color-palette/utils.d.ts.map +1 -1
  341. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  342. package/build-types/color-picker/styles.d.ts +3 -1
  343. package/build-types/color-picker/styles.d.ts.map +1 -1
  344. package/build-types/combobox-control/index.d.ts.map +1 -1
  345. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  346. package/build-types/composite/context.d.ts +7 -0
  347. package/build-types/composite/context.d.ts.map +1 -0
  348. package/build-types/composite/index.d.ts +181 -1
  349. package/build-types/composite/index.d.ts.map +1 -1
  350. package/build-types/composite/legacy/index.d.ts +7 -2
  351. package/build-types/composite/legacy/index.d.ts.map +1 -1
  352. package/build-types/composite/legacy/stories/utils.d.ts +19 -0
  353. package/build-types/composite/legacy/stories/utils.d.ts.map +1 -1
  354. package/build-types/composite/stories/index.story.d.ts +13 -0
  355. package/build-types/composite/stories/index.story.d.ts.map +1 -0
  356. package/build-types/composite/stories/utils.d.ts +29 -0
  357. package/build-types/composite/stories/utils.d.ts.map +1 -0
  358. package/build-types/composite/types.d.ts +288 -0
  359. package/build-types/composite/types.d.ts.map +1 -0
  360. package/build-types/custom-select-control/index.d.ts +2 -2
  361. package/build-types/custom-select-control/index.d.ts.map +1 -1
  362. package/build-types/custom-select-control/stories/index.story.d.ts +3 -3
  363. package/build-types/custom-select-control/stories/index.story.d.ts.map +1 -1
  364. package/build-types/custom-select-control/types.d.ts +7 -7
  365. package/build-types/custom-select-control/types.d.ts.map +1 -1
  366. package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
  367. package/build-types/custom-select-control-v2/styles.d.ts +16 -28
  368. package/build-types/custom-select-control-v2/styles.d.ts.map +1 -1
  369. package/build-types/date-time/date/styles.d.ts +2 -2
  370. package/build-types/date-time/date-time/index.d.ts +1 -1
  371. package/build-types/date-time/index.d.ts +1 -2
  372. package/build-types/date-time/index.d.ts.map +1 -1
  373. package/build-types/date-time/stories/time.story.d.ts +5 -0
  374. package/build-types/date-time/stories/time.story.d.ts.map +1 -1
  375. package/build-types/date-time/time/index.d.ts +4 -1
  376. package/build-types/date-time/time/index.d.ts.map +1 -1
  377. package/build-types/date-time/time/styles.d.ts.map +1 -1
  378. package/build-types/date-time/{time-input → time/time-input}/index.d.ts +1 -1
  379. package/build-types/date-time/time/time-input/index.d.ts.map +1 -0
  380. package/build-types/date-time/time/time-input/test/index.d.ts.map +1 -0
  381. package/build-types/date-time/types.d.ts +7 -1
  382. package/build-types/date-time/types.d.ts.map +1 -1
  383. package/build-types/dimension-control/index.d.ts +1 -0
  384. package/build-types/dimension-control/index.d.ts.map +1 -1
  385. package/build-types/dimension-control/stories/index.story.d.ts +8 -1
  386. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
  387. package/build-types/dimension-control/types.d.ts +2 -7
  388. package/build-types/dimension-control/types.d.ts.map +1 -1
  389. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
  390. package/build-types/dropdown-menu-v2/styles.d.ts +24 -42
  391. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
  392. package/build-types/focal-point-picker/controls.d.ts +1 -1
  393. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  394. package/build-types/focal-point-picker/index.d.ts +1 -1
  395. package/build-types/focal-point-picker/index.d.ts.map +1 -1
  396. package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
  397. package/build-types/focal-point-picker/types.d.ts +2 -2
  398. package/build-types/focal-point-picker/types.d.ts.map +1 -1
  399. package/build-types/form-file-upload/types.d.ts +6 -0
  400. package/build-types/form-file-upload/types.d.ts.map +1 -1
  401. package/build-types/form-toggle/index.d.ts +2 -5
  402. package/build-types/form-toggle/index.d.ts.map +1 -1
  403. package/build-types/guide/index.d.ts.map +1 -1
  404. package/build-types/heading/component.d.ts +1 -1
  405. package/build-types/heading/types.d.ts +1 -1
  406. package/build-types/heading/types.d.ts.map +1 -1
  407. package/build-types/index.d.ts +1 -1
  408. package/build-types/index.d.ts.map +1 -1
  409. package/build-types/modal/index.d.ts.map +1 -1
  410. package/build-types/navigation/styles/navigation-styles.d.ts +2 -2
  411. package/build-types/navigator/navigator-back-button/component.d.ts +1 -1
  412. package/build-types/navigator/navigator-back-button/hook.d.ts +2 -2
  413. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  414. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  415. package/build-types/navigator/navigator-to-parent-button/component.d.ts +6 -0
  416. package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
  417. package/build-types/navigator/types.d.ts +45 -9
  418. package/build-types/navigator/types.d.ts.map +1 -1
  419. package/build-types/palette-edit/styles.d.ts +2 -2
  420. package/build-types/popover/index.d.ts +1 -1
  421. package/build-types/popover/index.d.ts.map +1 -1
  422. package/build-types/popover/stories/e2e/index.story.d.ts +1 -1
  423. package/build-types/private-apis.d.ts.map +1 -1
  424. package/build-types/query-controls/index.d.ts +1 -1
  425. package/build-types/query-controls/index.d.ts.map +1 -1
  426. package/build-types/query-controls/types.d.ts +2 -1
  427. package/build-types/query-controls/types.d.ts.map +1 -1
  428. package/build-types/radio-control/index.d.ts.map +1 -1
  429. package/build-types/radio-control/stories/index.story.d.ts +1 -0
  430. package/build-types/radio-control/stories/index.story.d.ts.map +1 -1
  431. package/build-types/radio-control/test/index.d.ts +2 -0
  432. package/build-types/radio-control/test/index.d.ts.map +1 -0
  433. package/build-types/radio-control/types.d.ts +4 -0
  434. package/build-types/radio-control/types.d.ts.map +1 -1
  435. package/build-types/radio-group/radio.d.ts.map +1 -1
  436. package/build-types/range-control/index.d.ts.map +1 -1
  437. package/build-types/range-control/stories/index.story.d.ts.map +1 -1
  438. package/build-types/search-control/index.d.ts.map +1 -1
  439. package/build-types/search-control/stories/index.story.d.ts.map +1 -1
  440. package/build-types/select-control/index.d.ts +4 -1
  441. package/build-types/select-control/index.d.ts.map +1 -1
  442. package/build-types/select-control/stories/index.story.d.ts +13 -5
  443. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  444. package/build-types/select-control/types.d.ts +27 -27
  445. package/build-types/select-control/types.d.ts.map +1 -1
  446. package/build-types/tab-panel/index.d.ts.map +1 -1
  447. package/build-types/tabs/index.d.ts.map +1 -1
  448. package/build-types/tabs/styles.d.ts +8 -14
  449. package/build-types/tabs/styles.d.ts.map +1 -1
  450. package/build-types/tabs/tablist.d.ts.map +1 -1
  451. package/build-types/tabs/tabpanel.d.ts +0 -3
  452. package/build-types/tabs/tabpanel.d.ts.map +1 -1
  453. package/build-types/text-control/index.d.ts +1 -0
  454. package/build-types/text-control/index.d.ts.map +1 -1
  455. package/build-types/text-control/stories/index.story.d.ts.map +1 -1
  456. package/build-types/textarea-control/index.d.ts.map +1 -1
  457. package/build-types/textarea-control/styles/textarea-control-styles.d.ts.map +1 -1
  458. package/build-types/toggle-control/index.d.ts +3 -9
  459. package/build-types/toggle-control/index.d.ts.map +1 -1
  460. package/build-types/toggle-control/stories/index.story.d.ts.map +1 -1
  461. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
  462. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +6 -1
  463. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  464. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +6 -1
  465. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  466. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +14 -14
  467. package/build-types/tooltip/index.d.ts.map +1 -1
  468. package/build-types/tooltip/test/utils/index.d.ts +1 -5
  469. package/build-types/tooltip/test/utils/index.d.ts.map +1 -1
  470. package/build-types/tree-select/index.d.ts +1 -1
  471. package/build-types/tree-select/index.d.ts.map +1 -1
  472. package/build-types/utils/config-values.d.ts +10 -3
  473. package/package.json +20 -20
  474. package/src/alignment-matrix-control/cell.tsx +3 -3
  475. package/src/alignment-matrix-control/index.tsx +5 -4
  476. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.ts +2 -2
  477. package/src/alignment-matrix-control/test/index.tsx +1 -3
  478. package/src/angle-picker-control/styles/angle-picker-control-styles.tsx +2 -2
  479. package/src/autocomplete/autocompleter-ui.tsx +2 -0
  480. package/src/autocomplete/style.scss +0 -6
  481. package/src/base-control/README.md +5 -2
  482. package/src/base-control/index.tsx +61 -41
  483. package/src/base-control/styles/base-control-styles.ts +1 -1
  484. package/src/base-control/types.ts +7 -0
  485. package/src/border-box-control/border-box-control/README.md +7 -0
  486. package/src/border-control/border-control/README.md +7 -0
  487. package/src/border-control/styles.ts +1 -6
  488. package/src/button/README.md +7 -0
  489. package/src/button/stories/e2e/index.story.tsx +103 -21
  490. package/src/button/style.scss +51 -23
  491. package/src/button/test/index.tsx +18 -40
  492. package/src/button-group/style.scss +2 -2
  493. package/src/checkbox-control/index.tsx +1 -0
  494. package/src/checkbox-control/stories/index.story.tsx +1 -0
  495. package/src/checkbox-control/test/index.tsx +8 -1
  496. package/src/circular-option-picker/circular-option-picker-option.tsx +8 -6
  497. package/src/circular-option-picker/circular-option-picker.tsx +1 -1
  498. package/src/circular-option-picker/style.scss +3 -3
  499. package/src/circular-option-picker/test/index.tsx +1 -4
  500. package/src/circular-option-picker/types.ts +2 -3
  501. package/src/color-indicator/style.scss +1 -1
  502. package/src/color-palette/index.tsx +22 -20
  503. package/src/color-palette/style.scss +2 -2
  504. package/src/color-palette/utils.ts +23 -10
  505. package/src/color-picker/input-with-slider.tsx +1 -0
  506. package/src/combobox-control/README.md +8 -0
  507. package/src/combobox-control/index.tsx +1 -0
  508. package/src/combobox-control/stories/index.story.tsx +3 -4
  509. package/src/combobox-control/test/index.tsx +5 -1
  510. package/src/composite/README.md +325 -0
  511. package/src/composite/context.ts +14 -0
  512. package/src/composite/index.tsx +341 -0
  513. package/src/composite/legacy/index.tsx +15 -14
  514. package/src/composite/legacy/stories/utils.tsx +19 -0
  515. package/src/composite/legacy/test/index.tsx +2 -18
  516. package/src/composite/stories/index.story.tsx +466 -0
  517. package/src/composite/{current/stories → stories}/utils.tsx +22 -7
  518. package/src/composite/types.ts +298 -0
  519. package/src/custom-gradient-picker/style.scss +2 -2
  520. package/src/custom-select-control/README.md +7 -0
  521. package/src/custom-select-control/index.tsx +55 -25
  522. package/src/custom-select-control/test/index.tsx +172 -30
  523. package/src/custom-select-control/types.ts +7 -7
  524. package/src/custom-select-control-v2/custom-select.tsx +2 -1
  525. package/src/custom-select-control-v2/styles.ts +7 -6
  526. package/src/custom-select-control-v2/test/index.tsx +15 -19
  527. package/src/date-time/index.ts +1 -2
  528. package/src/date-time/stories/time.story.tsx +17 -0
  529. package/src/date-time/time/index.tsx +72 -28
  530. package/src/date-time/time/styles.ts +1 -0
  531. package/src/date-time/{time-input → time/time-input}/index.tsx +9 -9
  532. package/src/date-time/types.ts +11 -1
  533. package/src/dimension-control/README.md +17 -0
  534. package/src/dimension-control/index.tsx +26 -9
  535. package/src/dimension-control/stories/index.story.tsx +1 -0
  536. package/src/dimension-control/test/__snapshots__/index.test.js.snap +0 -16
  537. package/src/dimension-control/test/index.test.js +5 -1
  538. package/src/dimension-control/types.ts +5 -7
  539. package/src/drop-zone/style.scss +1 -1
  540. package/src/dropdown-menu-v2/index.tsx +5 -3
  541. package/src/dropdown-menu-v2/styles.ts +35 -32
  542. package/src/dropdown-menu-v2/test/index.tsx +1 -4
  543. package/src/focal-point-picker/README.md +9 -1
  544. package/src/focal-point-picker/controls.tsx +1 -3
  545. package/src/focal-point-picker/index.tsx +1 -2
  546. package/src/focal-point-picker/stories/index.story.tsx +3 -0
  547. package/src/focal-point-picker/styles/focal-point-picker-style.ts +1 -1
  548. package/src/focal-point-picker/test/index.tsx +5 -1
  549. package/src/focal-point-picker/types.ts +2 -2
  550. package/src/font-size-picker/README.md +7 -0
  551. package/src/font-size-picker/test/index.tsx +50 -43
  552. package/src/form-file-upload/README.md +8 -0
  553. package/src/form-file-upload/types.ts +6 -0
  554. package/src/form-toggle/index.tsx +23 -21
  555. package/src/form-token-field/README.md +1 -0
  556. package/src/guide/index.tsx +2 -0
  557. package/src/guide/style.scss +0 -1
  558. package/src/heading/types.ts +1 -4
  559. package/src/index.ts +1 -1
  560. package/src/input-control/README.md +8 -0
  561. package/src/item-group/styles.ts +1 -1
  562. package/src/mobile/utils/alignments.native.js +1 -0
  563. package/src/modal/index.tsx +21 -20
  564. package/src/modal/style.scss +3 -3
  565. package/src/navigator/navigator-back-button/component.tsx +1 -1
  566. package/src/navigator/navigator-back-button/hook.ts +6 -10
  567. package/src/navigator/navigator-provider/README.md +38 -36
  568. package/src/navigator/navigator-provider/component.tsx +13 -7
  569. package/src/navigator/navigator-screen/README.md +13 -1
  570. package/src/navigator/navigator-to-parent-button/README.md +2 -0
  571. package/src/navigator/navigator-to-parent-button/component.tsx +14 -43
  572. package/src/navigator/test/index.tsx +136 -6
  573. package/src/navigator/types.ts +45 -10
  574. package/src/number-control/README.md +8 -0
  575. package/src/palette-edit/styles.ts +5 -5
  576. package/src/placeholder/style.scss +15 -3
  577. package/src/popover/index.tsx +9 -3
  578. package/src/popover/style.scss +2 -2
  579. package/src/popover/test/index.tsx +34 -0
  580. package/src/private-apis.ts +6 -12
  581. package/src/progress-bar/styles.ts +2 -2
  582. package/src/query-controls/README.md +7 -0
  583. package/src/query-controls/index.tsx +10 -7
  584. package/src/query-controls/types.ts +2 -1
  585. package/src/radio-control/index.tsx +62 -13
  586. package/src/radio-control/stories/index.story.tsx +23 -0
  587. package/src/radio-control/style.scss +38 -3
  588. package/src/radio-control/test/index.tsx +277 -0
  589. package/src/radio-control/types.ts +4 -0
  590. package/src/radio-group/radio.tsx +2 -1
  591. package/src/range-control/README.md +7 -0
  592. package/src/range-control/index.tsx +39 -9
  593. package/src/range-control/stories/index.story.tsx +7 -0
  594. package/src/range-control/styles/range-control-styles.ts +2 -2
  595. package/src/range-control/test/index.tsx +54 -14
  596. package/src/search-control/index.tsx +7 -4
  597. package/src/search-control/stories/index.story.tsx +1 -0
  598. package/src/search-control/test/index.tsx +1 -0
  599. package/src/select-control/README.md +16 -1
  600. package/src/select-control/index.tsx +34 -22
  601. package/src/select-control/stories/index.story.tsx +8 -5
  602. package/src/select-control/test/select-control.tsx +155 -5
  603. package/src/select-control/types.ts +70 -65
  604. package/src/snackbar/style.scss +2 -2
  605. package/src/tab-panel/index.tsx +4 -1
  606. package/src/tab-panel/style.scss +1 -1
  607. package/src/tab-panel/test/index.tsx +1 -8
  608. package/src/tabs/index.tsx +2 -1
  609. package/src/tabs/tablist.tsx +6 -4
  610. package/src/tabs/tabpanel.tsx +6 -2
  611. package/src/tabs/test/index.tsx +68 -84
  612. package/src/text/styles.ts +1 -1
  613. package/src/text-control/README.md +9 -0
  614. package/src/text-control/index.tsx +2 -0
  615. package/src/text-control/stories/index.story.tsx +3 -1
  616. package/src/text-control/style.scss +5 -0
  617. package/src/text-control/test/text-control.tsx +5 -1
  618. package/src/textarea-control/index.tsx +1 -0
  619. package/src/textarea-control/stories/index.story.tsx +2 -0
  620. package/src/textarea-control/styles/textarea-control-styles.ts +75 -2
  621. package/src/toggle-control/README.md +9 -0
  622. package/src/toggle-control/index.tsx +34 -22
  623. package/src/toggle-control/stories/index.story.tsx +1 -0
  624. package/src/toggle-control/style.scss +2 -1
  625. package/src/toggle-control/test/index.tsx +7 -1
  626. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +14 -30
  627. package/src/toggle-group-control/test/index.tsx +5 -7
  628. package/src/toggle-group-control/toggle-group-control/README.md +20 -1
  629. package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +2 -1
  630. package/src/toggle-group-control/toggle-group-control/component.tsx +7 -1
  631. package/src/toggle-group-control/toggle-group-control/styles.ts +1 -1
  632. package/src/toggle-group-control/toggle-group-control-option/README.md +6 -1
  633. package/src/toggle-group-control/toggle-group-control-option/component.tsx +6 -1
  634. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +2 -2
  635. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +1 -1
  636. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +14 -14
  637. package/src/toolbar/toolbar/style.scss +2 -2
  638. package/src/tools-panel/styles.ts +1 -1
  639. package/src/tooltip/index.tsx +16 -2
  640. package/src/tooltip/style.scss +1 -1
  641. package/src/tooltip/test/index.tsx +0 -5
  642. package/src/tooltip/test/utils/index.tsx +5 -5
  643. package/src/tree-select/index.tsx +17 -7
  644. package/src/tree-select/stories/index.story.tsx +1 -0
  645. package/src/unit-control/README.md +7 -0
  646. package/src/unit-control/styles/unit-control-styles.ts +1 -1
  647. package/src/utils/config-values.js +10 -3
  648. package/tsconfig.tsbuildinfo +1 -1
  649. package/build/composite/current/index.js +0 -43
  650. package/build/composite/current/index.js.map +0 -1
  651. package/build/composite/v2.js +0 -17
  652. package/build/composite/v2.js.map +0 -1
  653. package/build/date-time/time-input/index.js.map +0 -1
  654. package/build/utils/input/base.js +0 -20
  655. package/build/utils/input/base.js.map +0 -1
  656. package/build/utils/input/index.js +0 -17
  657. package/build/utils/input/index.js.map +0 -1
  658. package/build/utils/input/input-control.js +0 -21
  659. package/build/utils/input/input-control.js.map +0 -1
  660. package/build-module/composite/current/index.js +0 -12
  661. package/build-module/composite/current/index.js.map +0 -1
  662. package/build-module/composite/v2.js +0 -5
  663. package/build-module/composite/v2.js.map +0 -1
  664. package/build-module/date-time/time-input/index.js.map +0 -1
  665. package/build-module/utils/input/base.js +0 -13
  666. package/build-module/utils/input/base.js.map +0 -1
  667. package/build-module/utils/input/index.js +0 -2
  668. package/build-module/utils/input/index.js.map +0 -1
  669. package/build-module/utils/input/input-control.js +0 -14
  670. package/build-module/utils/input/input-control.js.map +0 -1
  671. package/build-types/composite/current/index.d.ts +0 -12
  672. package/build-types/composite/current/index.d.ts.map +0 -1
  673. package/build-types/composite/current/stories/index.story.d.ts +0 -13
  674. package/build-types/composite/current/stories/index.story.d.ts.map +0 -1
  675. package/build-types/composite/current/stories/utils.d.ts +0 -14
  676. package/build-types/composite/current/stories/utils.d.ts.map +0 -1
  677. package/build-types/composite/v2.d.ts +0 -2
  678. package/build-types/composite/v2.d.ts.map +0 -1
  679. package/build-types/date-time/stories/time-input.story.d.ts +0 -12
  680. package/build-types/date-time/stories/time-input.story.d.ts.map +0 -1
  681. package/build-types/date-time/time-input/index.d.ts.map +0 -1
  682. package/build-types/date-time/time-input/test/index.d.ts.map +0 -1
  683. package/build-types/utils/input/base.d.ts +0 -3
  684. package/build-types/utils/input/base.d.ts.map +0 -1
  685. package/build-types/utils/input/index.d.ts +0 -2
  686. package/build-types/utils/input/index.d.ts.map +0 -1
  687. package/build-types/utils/input/input-control.d.ts +0 -2
  688. package/build-types/utils/input/input-control.d.ts.map +0 -1
  689. package/src/composite/current/index.ts +0 -20
  690. package/src/composite/current/stories/index.story.tsx +0 -86
  691. package/src/composite/index.ts +0 -7
  692. package/src/composite/v2.ts +0 -4
  693. package/src/date-time/stories/time-input.story.tsx +0 -36
  694. package/src/utils/input/base.js +0 -30
  695. package/src/utils/input/index.js +0 -1
  696. package/src/utils/input/input-control.js +0 -63
  697. /package/build-types/date-time/{time-input → time/time-input}/test/index.d.ts +0 -0
  698. /package/src/date-time/{time-input → time/time-input}/test/index.tsx +0 -0
@@ -1,3 +1,10 @@
1
+ /**
2
+ * For easier testing of potential regressions, you can use a Button variant matrix
3
+ * available in a special Storybook instance by running `npm run storybook:e2e:dev`.
4
+ *
5
+ * @see https://github.com/WordPress/gutenberg/blob/trunk/test/storybook-playwright/README.md
6
+ */
7
+
1
8
  .components-button {
2
9
  display: inline-flex;
3
10
  text-decoration: none;
@@ -15,7 +22,7 @@
15
22
  align-items: center;
16
23
  box-sizing: border-box;
17
24
  padding: 6px 12px;
18
- border-radius: $radius-block-ui;
25
+ border-radius: $radius-small;
19
26
  color: $components-color-foreground;
20
27
 
21
28
  &.is-next-40px-default-size {
@@ -23,16 +30,10 @@
23
30
  }
24
31
 
25
32
  &[aria-expanded="true"],
26
- &:hover {
33
+ &:hover:not(:disabled, [aria-disabled="true"]) {
27
34
  color: $components-color-accent;
28
35
  }
29
36
 
30
- // Unset some hovers, instead of adding :not specificity.
31
- &:disabled:hover,
32
- &[aria-disabled="true"]:hover {
33
- color: initial;
34
- }
35
-
36
37
  // Focus.
37
38
  // See https://github.com/WordPress/gutenberg/issues/13267 for more context on these selectors.
38
39
  &:focus:not(:disabled) {
@@ -80,7 +81,6 @@
80
81
  color: rgba($white, 0.4);
81
82
  background: $components-color-accent;
82
83
  border-color: $components-color-accent;
83
- opacity: 1;
84
84
  outline: none;
85
85
 
86
86
  &:focus:enabled {
@@ -125,7 +125,6 @@
125
125
  color: $gray-600;
126
126
  background: transparent;
127
127
  transform: none;
128
- opacity: 1;
129
128
  }
130
129
  }
131
130
 
@@ -199,17 +198,32 @@
199
198
  &:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link) {
200
199
  color: $alert-red;
201
200
 
202
- &:hover:not(:disabled) {
201
+ &:hover:not(:disabled, [aria-disabled="true"]) {
203
202
  color: darken($alert-red, 20%);
204
203
  }
205
204
 
206
- &:focus:not(:disabled) {
205
+ &:focus {
207
206
  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) $alert-red;
208
207
  }
209
208
 
210
- &:active:not(:disabled) {
209
+ &:active:not(:disabled, [aria-disabled="true"]) {
211
210
  background: $gray-400;
212
211
  }
212
+
213
+ &:disabled,
214
+ &[aria-disabled="true"] {
215
+ color: $gray-600;
216
+ }
217
+ }
218
+
219
+ &.is-tertiary {
220
+ &:hover:not(:disabled, [aria-disabled="true"]) {
221
+ background: rgba($alert-red, 0.04);
222
+ }
223
+
224
+ &:active:not(:disabled, [aria-disabled="true"]) {
225
+ background: rgba($alert-red, 0.08);
226
+ }
213
227
  }
214
228
  }
215
229
 
@@ -235,7 +249,12 @@
235
249
  height: auto;
236
250
 
237
251
  &:focus {
238
- border-radius: $radius-block-ui;
252
+ border-radius: $radius-small;
253
+ }
254
+
255
+ &:disabled,
256
+ &[aria-disabled="true"] {
257
+ color: $gray-600;
239
258
  }
240
259
  }
241
260
 
@@ -246,7 +265,7 @@
246
265
  &:disabled,
247
266
  &[aria-disabled="true"] {
248
267
  cursor: default;
249
- opacity: 0.3;
268
+ color: $gray-600;
250
269
  }
251
270
 
252
271
  &.is-busy,
@@ -259,7 +278,6 @@
259
278
  @media (prefers-reduced-motion: reduce) {
260
279
  animation-duration: 0s;
261
280
  }
262
- opacity: 1;
263
281
  background-size: 100px 100%;
264
282
  /* stylelint-disable -- Disable reason: This function call looks nicer when each argument is on its own line. */
265
283
  background-image: linear-gradient(
@@ -325,8 +343,23 @@
325
343
 
326
344
  // Toggled style.
327
345
  &.is-pressed {
328
- color: $components-color-foreground-inverted;
329
- background: $components-color-foreground;
346
+ &,
347
+ &:hover {
348
+ color: $components-color-foreground-inverted;
349
+ &:not(:disabled, [aria-disabled="true"]) {
350
+ background: $components-color-foreground;
351
+ }
352
+ }
353
+
354
+ &:disabled,
355
+ &[aria-disabled="true"] {
356
+ color: $gray-600;
357
+
358
+ &:not(.is-primary):not(.is-secondary):not(.is-tertiary) {
359
+ color: $components-color-foreground-inverted;
360
+ background: $gray-600;
361
+ }
362
+ }
330
363
 
331
364
  &:focus:not(:disabled) {
332
365
  box-shadow: inset 0 0 0 1px $components-color-background, 0 0 0 var(--wp-admin-border-width-focus) $components-color-accent;
@@ -334,11 +367,6 @@
334
367
  // Windows High Contrast mode will show this outline, but not the box-shadow.
335
368
  outline: 2px solid transparent;
336
369
  }
337
-
338
- &:hover:not(:disabled) {
339
- color: $components-color-foreground-inverted;
340
- background: $components-color-foreground;
341
- }
342
370
  }
343
371
 
344
372
  svg {
@@ -2,7 +2,6 @@
2
2
  * External dependencies
3
3
  */
4
4
  import { render, screen } from '@testing-library/react';
5
- import userEvent from '@testing-library/user-event';
6
5
 
7
6
  /**
8
7
  * WordPress dependencies
@@ -16,6 +15,7 @@ import { plusCircle } from '@wordpress/icons';
16
15
  import Button from '..';
17
16
  import Tooltip from '../../tooltip';
18
17
  import cleanupTooltip from '../../tooltip/test/utils';
18
+ import { press } from '@ariakit/test';
19
19
 
20
20
  jest.mock( '../../icon', () => () => <div data-testid="test-icon" /> );
21
21
 
@@ -73,12 +73,10 @@ describe( 'Button', () => {
73
73
  } );
74
74
 
75
75
  it( 'should render a button element with has-text when children are passed', async () => {
76
- const user = userEvent.setup();
77
-
78
76
  render( <Button icon={ plusCircle }>Children</Button> );
79
77
 
80
78
  // Move focus to the button
81
- await user.tab();
79
+ await press.Tab();
82
80
 
83
81
  expect( screen.getByRole( 'button' ) ).toHaveClass( 'has-text' );
84
82
  } );
@@ -113,8 +111,6 @@ describe( 'Button', () => {
113
111
  } );
114
112
 
115
113
  it( 'should render correctly as a tooltip anchor', async () => {
116
- const user = userEvent.setup();
117
-
118
114
  render(
119
115
  <>
120
116
  <Tooltip text="Tooltip text">
@@ -128,7 +124,7 @@ describe( 'Button', () => {
128
124
  name: 'Tooltip anchor',
129
125
  } );
130
126
 
131
- await user.tab();
127
+ await press.Tab();
132
128
 
133
129
  expect( anchor ).toHaveFocus();
134
130
 
@@ -138,7 +134,7 @@ describe( 'Button', () => {
138
134
 
139
135
  expect( tooltip ).toBeVisible();
140
136
 
141
- await user.tab();
137
+ await press.Tab();
142
138
 
143
139
  expect(
144
140
  screen.getByRole( 'button', { name: 'Focus me' } )
@@ -152,8 +148,6 @@ describe( 'Button', () => {
152
148
  } );
153
149
 
154
150
  it( 'should render correctly as a tooltip anchor, ignoring its internal tooltip in favour of the external tooltip', async () => {
155
- const user = userEvent.setup();
156
-
157
151
  render(
158
152
  <>
159
153
  <Tooltip text="Tooltip text">
@@ -167,7 +161,7 @@ describe( 'Button', () => {
167
161
  name: 'Button label',
168
162
  } );
169
163
 
170
- await user.tab();
164
+ await press.Tab();
171
165
 
172
166
  expect( anchor ).toHaveFocus();
173
167
 
@@ -184,7 +178,7 @@ describe( 'Button', () => {
184
178
  } )
185
179
  ).not.toBeInTheDocument();
186
180
 
187
- await user.tab();
181
+ await press.Tab();
188
182
 
189
183
  expect(
190
184
  screen.getByRole( 'button', { name: 'Focus me' } )
@@ -198,8 +192,6 @@ describe( 'Button', () => {
198
192
  } );
199
193
 
200
194
  it( 'should not trash the rendered HTML elements when toggling between showing and not showing a tooltip', async () => {
201
- const user = userEvent.setup();
202
-
203
195
  const { rerender } = render(
204
196
  <Button label="Button label">Test button</Button>
205
197
  );
@@ -210,7 +202,7 @@ describe( 'Button', () => {
210
202
 
211
203
  expect( button ).toBeVisible();
212
204
 
213
- await user.tab();
205
+ await press.Tab();
214
206
 
215
207
  expect( button ).toHaveFocus();
216
208
 
@@ -307,14 +299,12 @@ describe( 'Button', () => {
307
299
  } );
308
300
 
309
301
  it( 'should add an aria-label when the label property is used, with Tooltip wrapper', async () => {
310
- const user = userEvent.setup();
311
-
312
302
  render( <Button icon={ plusCircle } label="WordPress" /> );
313
303
 
314
304
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
315
305
 
316
306
  // Move focus to the button
317
- await user.tab();
307
+ await press.Tab();
318
308
 
319
309
  expect( screen.getByText( 'WordPress' ) ).toBeVisible();
320
310
  } );
@@ -338,8 +328,6 @@ describe( 'Button', () => {
338
328
  } );
339
329
 
340
330
  it( 'should populate tooltip with label content for buttons without visible labels (no children)', async () => {
341
- const user = userEvent.setup();
342
-
343
331
  render(
344
332
  <Button
345
333
  description="Description text"
@@ -351,16 +339,14 @@ describe( 'Button', () => {
351
339
  expect( screen.queryByText( 'Label' ) ).not.toBeInTheDocument();
352
340
 
353
341
  // Move focus to the button
354
- await user.tab();
342
+ await press.Tab();
355
343
 
356
344
  expect( screen.getByText( 'Label' ) ).toBeVisible();
357
345
 
358
- await cleanupTooltip( user );
346
+ await cleanupTooltip();
359
347
  } );
360
348
 
361
349
  it( 'should populate tooltip with description content for buttons with visible labels (buttons with children)', async () => {
362
- const user = userEvent.setup();
363
-
364
350
  render(
365
351
  <Button
366
352
  label="Label"
@@ -378,7 +364,7 @@ describe( 'Button', () => {
378
364
  } )
379
365
  ).toBeVisible();
380
366
 
381
- await user.tab();
367
+ await press.Tab();
382
368
 
383
369
  expect(
384
370
  screen.getByRole( 'tooltip', {
@@ -386,12 +372,10 @@ describe( 'Button', () => {
386
372
  } )
387
373
  ).toBeVisible();
388
374
 
389
- await cleanupTooltip( user );
375
+ await cleanupTooltip();
390
376
  } );
391
377
 
392
378
  it( 'should allow tooltip disable', async () => {
393
- const user = userEvent.setup();
394
-
395
379
  render(
396
380
  <Button
397
381
  icon={ plusCircle }
@@ -407,14 +391,12 @@ describe( 'Button', () => {
407
391
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
408
392
 
409
393
  // Move focus to the button
410
- await user.tab();
394
+ await press.Tab();
411
395
 
412
396
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
413
397
  } );
414
398
 
415
399
  it( 'should show the tooltip for empty children', async () => {
416
- const user = userEvent.setup();
417
-
418
400
  render(
419
401
  <Button icon={ plusCircle } label="WordPress" children={ [] } />
420
402
  );
@@ -422,16 +404,14 @@ describe( 'Button', () => {
422
404
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
423
405
 
424
406
  // Move focus to the button
425
- await user.tab();
407
+ await press.Tab();
426
408
 
427
409
  expect( screen.getByText( 'WordPress' ) ).toBeVisible();
428
410
 
429
- await cleanupTooltip( user );
411
+ await cleanupTooltip();
430
412
  } );
431
413
 
432
414
  it( 'should not show the tooltip when icon and children defined', async () => {
433
- const user = userEvent.setup();
434
-
435
415
  render(
436
416
  <Button icon={ plusCircle } label="WordPress">
437
417
  Children
@@ -441,14 +421,12 @@ describe( 'Button', () => {
441
421
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
442
422
 
443
423
  // Move focus to the button
444
- await user.tab();
424
+ await press.Tab();
445
425
 
446
426
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
447
427
  } );
448
428
 
449
429
  it( 'should force showing the tooltip even if icon and children defined', async () => {
450
- const user = userEvent.setup();
451
-
452
430
  render(
453
431
  <Button icon={ plusCircle } label="WordPress" showTooltip>
454
432
  Children
@@ -458,11 +436,11 @@ describe( 'Button', () => {
458
436
  expect( screen.queryByText( 'WordPress' ) ).not.toBeInTheDocument();
459
437
 
460
438
  // Move focus to the button
461
- await user.tab();
439
+ await press.Tab();
462
440
 
463
441
  expect( screen.getByText( 'WordPress' ) ).toBeVisible();
464
442
 
465
- await cleanupTooltip( user );
443
+ await cleanupTooltip();
466
444
  } );
467
445
 
468
446
  describe( 'using `aria-pressed` prop', () => {
@@ -12,11 +12,11 @@
12
12
  }
13
13
 
14
14
  &:first-child {
15
- border-radius: $radius-block-ui 0 0 $radius-block-ui;
15
+ border-radius: $radius-small 0 0 $radius-small;
16
16
  }
17
17
 
18
18
  &:last-child {
19
- border-radius: 0 $radius-block-ui $radius-block-ui 0;
19
+ border-radius: 0 $radius-small $radius-small 0;
20
20
  }
21
21
 
22
22
  // The focused button should be elevated so the focus ring isn't cropped,
@@ -95,6 +95,7 @@ export function CheckboxControl(
95
95
  return (
96
96
  <BaseControl
97
97
  __nextHasNoMarginBottom={ __nextHasNoMarginBottom }
98
+ __associatedWPComponentName="CheckboxControl"
98
99
  label={ heading }
99
100
  id={ id }
100
101
  help={
@@ -59,6 +59,7 @@ export const Default: StoryFn< typeof CheckboxControl > = DefaultTemplate.bind(
59
59
  {}
60
60
  );
61
61
  Default.args = {
62
+ __nextHasNoMarginBottom: true,
62
63
  label: 'Is author',
63
64
  help: 'Is the user an author or not?',
64
65
  };
@@ -20,13 +20,20 @@ const noop = () => {};
20
20
  const getInput = () => screen.getByRole( 'checkbox' ) as HTMLInputElement;
21
21
 
22
22
  const CheckboxControl = ( props: Omit< CheckboxControlProps, 'onChange' > ) => {
23
- return <BaseCheckboxControl onChange={ noop } { ...props } />;
23
+ return (
24
+ <BaseCheckboxControl
25
+ onChange={ noop }
26
+ { ...props }
27
+ __nextHasNoMarginBottom
28
+ />
29
+ );
24
30
  };
25
31
 
26
32
  const ControlledCheckboxControl = ( { onChange }: CheckboxControlProps ) => {
27
33
  const [ isChecked, setChecked ] = useState( false );
28
34
  return (
29
35
  <BaseCheckboxControl
36
+ __nextHasNoMarginBottom
30
37
  checked={ isChecked }
31
38
  onChange={ ( value ) => {
32
39
  setChecked( value );
@@ -2,6 +2,7 @@
2
2
  * External dependencies
3
3
  */
4
4
  import clsx from 'clsx';
5
+ import { useStoreState } from '@ariakit/react';
5
6
  import type { ForwardedRef } from 'react';
6
7
 
7
8
  /**
@@ -16,9 +17,9 @@ import { Icon, check } from '@wordpress/icons';
16
17
  */
17
18
  import { CircularOptionPickerContext } from './circular-option-picker-context';
18
19
  import Button from '../button';
19
- import { CompositeItem } from '../composite/v2';
20
+ import { Composite } from '../composite';
20
21
  import Tooltip from '../tooltip';
21
- import type { OptionProps, CircularOptionPickerCompositeStore } from './types';
22
+ import type { OptionProps } from './types';
22
23
 
23
24
  function UnforwardedOptionAsButton(
24
25
  props: {
@@ -45,19 +46,21 @@ function UnforwardedOptionAsOption(
45
46
  id: string;
46
47
  className?: string;
47
48
  isSelected?: boolean;
48
- compositeStore: CircularOptionPickerCompositeStore;
49
+ compositeStore: NonNullable<
50
+ React.ComponentProps< typeof Composite >[ 'store' ]
51
+ >;
49
52
  },
50
53
  forwardedRef: ForwardedRef< any >
51
54
  ) {
52
55
  const { id, isSelected, compositeStore, ...additionalProps } = props;
53
- const activeId = compositeStore.useState( 'activeId' );
56
+ const activeId = useStoreState( compositeStore, 'activeId' );
54
57
 
55
58
  if ( isSelected && ! activeId ) {
56
59
  compositeStore.setActiveId( id );
57
60
  }
58
61
 
59
62
  return (
60
- <CompositeItem
63
+ <Composite.Item
61
64
  render={
62
65
  <Button
63
66
  { ...additionalProps }
@@ -66,7 +69,6 @@ function UnforwardedOptionAsOption(
66
69
  ref={ forwardedRef }
67
70
  />
68
71
  }
69
- store={ compositeStore }
70
72
  id={ id }
71
73
  />
72
74
  );
@@ -13,7 +13,7 @@ import { isRTL } from '@wordpress/i18n';
13
13
  * Internal dependencies
14
14
  */
15
15
  import { CircularOptionPickerContext } from './circular-option-picker-context';
16
- import { Composite, useCompositeStore } from '../composite/v2';
16
+ import { Composite, useCompositeStore } from '../composite';
17
17
  import type {
18
18
  CircularOptionPickerProps,
19
19
  ListboxCircularOptionPickerProps,
@@ -70,7 +70,7 @@ $color-palette-circle-spacing: 12px;
70
70
  height: 100%;
71
71
  width: 100%;
72
72
  border: none;
73
- border-radius: 50%;
73
+ border-radius: $radius-round;
74
74
  background: transparent;
75
75
  box-shadow: inset 0 0 0 ($color-palette-circle-size * 0.5);
76
76
  transition: 100ms box-shadow ease;
@@ -93,7 +93,7 @@ $color-palette-circle-spacing: 12px;
93
93
  position: absolute;
94
94
  left: 2px;
95
95
  top: 2px;
96
- border-radius: 50%;
96
+ border-radius: $radius-round;
97
97
  z-index: z-index(".components-circular-option-picker__option.is-pressed + svg");
98
98
  pointer-events: none;
99
99
  }
@@ -109,7 +109,7 @@ $color-palette-circle-spacing: 12px;
109
109
  border-radius: $radius-round;
110
110
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
111
111
  // Show a thin circular outline in Windows high contrast mode, otherwise the button is invisible.
112
- border: 1px solid transparent;
112
+ border: $border-width solid transparent;
113
113
  box-sizing: inherit;
114
114
  }
115
115
 
@@ -2,7 +2,7 @@
2
2
  * External dependencies
3
3
  */
4
4
  import { render, screen } from '@testing-library/react';
5
- import { press, sleep } from '@ariakit/test';
5
+ import { press } from '@ariakit/test';
6
6
 
7
7
  /**
8
8
  * Internal dependencies
@@ -70,7 +70,6 @@ describe( 'CircularOptionPicker', () => {
70
70
  />
71
71
  );
72
72
 
73
- await sleep();
74
73
  await press.Tab();
75
74
  expect( getOption( 'Option One' ) ).toHaveFocus();
76
75
  await press.ArrowRight();
@@ -90,7 +89,6 @@ describe( 'CircularOptionPicker', () => {
90
89
  />
91
90
  );
92
91
 
93
- await sleep();
94
92
  await press.Tab();
95
93
  expect( getOption( 'Option One' ) ).toHaveFocus();
96
94
  await press.ArrowRight();
@@ -110,7 +108,6 @@ describe( 'CircularOptionPicker', () => {
110
108
  />
111
109
  );
112
110
 
113
- await sleep();
114
111
  await press.Tab();
115
112
  expect( getOption( 'Option One' ) ).toHaveFocus();
116
113
  await press.ArrowRight();
@@ -14,7 +14,7 @@ import type { Icon } from '@wordpress/icons';
14
14
  import type { ButtonAsButtonProps } from '../button/types';
15
15
  import type { DropdownProps } from '../dropdown/types';
16
16
  import type { WordPressComponentProps } from '../context';
17
- import type { CompositeStore } from '../composite/v2';
17
+ import type { Composite } from '../composite';
18
18
 
19
19
  type CommonCircularOptionPickerProps = {
20
20
  /**
@@ -123,8 +123,7 @@ export type OptionProps = Omit<
123
123
  >;
124
124
  };
125
125
 
126
- export type CircularOptionPickerCompositeStore = CompositeStore;
127
126
  export type CircularOptionPickerContextProps = {
128
127
  baseId?: string;
129
- compositeStore?: CircularOptionPickerCompositeStore;
128
+ compositeStore?: React.ComponentProps< typeof Composite >[ 'store' ];
130
129
  };
@@ -2,7 +2,7 @@
2
2
  width: $grid-unit-50 * 0.5;
3
3
  height: $grid-unit-50 * 0.5;
4
4
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
5
- border-radius: 50%;
5
+ border-radius: $radius-round;
6
6
  display: inline-block;
7
7
  padding: 0;
8
8
  background: $white linear-gradient(-45deg, transparent 48%, $gray-300 48%, $gray-300 52%, transparent 52%);
@@ -335,26 +335,28 @@ function UnforwardedColorPalette(
335
335
  ) }
336
336
  />
337
337
  ) }
338
- <CircularOptionPicker
339
- { ...metaProps }
340
- actions={ actions }
341
- options={
342
- hasMultipleColorOrigins ? (
343
- <MultiplePalettes
344
- { ...paletteCommonProps }
345
- headingLevel={ headingLevel }
346
- colors={ colors as PaletteObject[] }
347
- value={ value }
348
- />
349
- ) : (
350
- <SinglePalette
351
- { ...paletteCommonProps }
352
- colors={ colors as ColorObject[] }
353
- value={ value }
354
- />
355
- )
356
- }
357
- />
338
+ { ( colors.length > 0 || actions ) && (
339
+ <CircularOptionPicker
340
+ { ...metaProps }
341
+ actions={ actions }
342
+ options={
343
+ hasMultipleColorOrigins ? (
344
+ <MultiplePalettes
345
+ { ...paletteCommonProps }
346
+ headingLevel={ headingLevel }
347
+ colors={ colors as PaletteObject[] }
348
+ value={ value }
349
+ />
350
+ ) : (
351
+ <SinglePalette
352
+ { ...paletteCommonProps }
353
+ colors={ colors as ColorObject[] }
354
+ value={ value }
355
+ />
356
+ )
357
+ }
358
+ />
359
+ ) }
358
360
  </VStack>
359
361
  );
360
362
  }
@@ -14,7 +14,7 @@ $border-as-box-shadow: inset 0 0 0 $border-width rgba(0, 0, 0, 0.2);
14
14
  cursor: pointer;
15
15
  // Show a thin outline in Windows high contrast mode.
16
16
  outline: 1px solid transparent;
17
- border-radius: $radius-block-ui $radius-block-ui 0 0;
17
+ border-radius: $radius-medium $radius-medium 0 0;
18
18
  box-shadow: $border-as-box-shadow;
19
19
 
20
20
  &:focus {
@@ -46,7 +46,7 @@ $border-as-box-shadow: inset 0 0 0 $border-width rgba(0, 0, 0, 0.2);
46
46
 
47
47
  .components-color-palette__custom-color-text-wrapper {
48
48
  padding: $grid-unit-15 $grid-unit-20;
49
- border-radius: 0 0 $radius-block-ui $radius-block-ui;
49
+ border-radius: 0 0 $radius-medium $radius-medium;
50
50
  position: relative;
51
51
  font-size: $default-font-size;
52
52