@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
@@ -20,5 +20,10 @@
20
20
 
21
21
  &.is-next-40px-default-size {
22
22
  height: $grid-unit-50;
23
+
24
+ // Subtract 1px to account for the border, which isn't included on the element
25
+ // on newer components like InputControl, SelectControl, etc.
26
+ padding-left: $grid-unit-20;
27
+ padding-right: $grid-unit-20;
23
28
  }
24
29
  }
@@ -6,7 +6,11 @@ import { render, screen } from '@testing-library/react';
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
9
- import TextControl from '..';
9
+ import _TextControl from '..';
10
+
11
+ const TextControl = ( props: React.ComponentProps< typeof _TextControl > ) => {
12
+ return <_TextControl { ...props } __nextHasNoMarginBottom />;
13
+ };
10
14
 
11
15
  const noop = () => {};
12
16
 
@@ -35,6 +35,7 @@ function UnforwardedTextareaControl(
35
35
  return (
36
36
  <BaseControl
37
37
  __nextHasNoMarginBottom={ __nextHasNoMarginBottom }
38
+ __associatedWPComponentName="TextareaControl"
38
39
  label={ label }
39
40
  hideLabelFromVision={ hideLabelFromVision }
40
41
  id={ id }
@@ -51,6 +51,8 @@ const Template: StoryFn< typeof TextareaControl > = ( {
51
51
 
52
52
  export const Default: StoryFn< typeof TextareaControl > = Template.bind( {} );
53
53
  Default.args = {
54
+ __nextHasNoMarginBottom: true,
54
55
  label: 'Text',
55
56
  help: 'Enter some text',
57
+ placeholder: 'Placeholder',
56
58
  };
@@ -2,13 +2,86 @@
2
2
  * External dependencies
3
3
  */
4
4
  import styled from '@emotion/styled';
5
+ import { css } from '@emotion/react';
5
6
 
6
7
  /**
7
8
  * Internal dependencies
8
9
  */
9
- import { inputControl } from '../../utils/input';
10
+ import { font } from '../../utils/font';
11
+ import { COLORS } from '../../utils/colors-values';
12
+ import { CONFIG } from '../../utils';
13
+ import { breakpoint } from '../../utils/breakpoint';
14
+
15
+ const inputStyleNeutral = css`
16
+ box-shadow: 0 0 0 transparent;
17
+ border-radius: ${ CONFIG.radiusSmall };
18
+ border: ${ CONFIG.borderWidth } solid ${ COLORS.ui.border };
19
+
20
+ @media not ( prefers-reduced-motion ) {
21
+ transition: box-shadow 0.1s linear;
22
+ }
23
+ `;
24
+
25
+ const inputStyleFocus = css`
26
+ border-color: ${ COLORS.theme.accent };
27
+ box-shadow: 0 0 0
28
+ calc( ${ CONFIG.borderWidthFocus } - ${ CONFIG.borderWidth } )
29
+ ${ COLORS.theme.accent };
30
+
31
+ // Windows High Contrast mode will show this outline, but not the box-shadow.
32
+ outline: 2px solid transparent;
33
+ `;
10
34
 
11
35
  export const StyledTextarea = styled.textarea`
12
36
  width: 100%;
13
- ${ inputControl }
37
+ display: block;
38
+ font-family: ${ font( 'default.fontFamily' ) };
39
+ line-height: 20px;
40
+
41
+ // Vertical padding is to match the standard 40px control height when rows=1,
42
+ // in conjunction with the 20px line-height.
43
+ // "Standard" metrics are 10px 12px, but subtracts 1px each to account for the border width.
44
+ padding: 9px 11px;
45
+
46
+ ${ inputStyleNeutral };
47
+
48
+ /* Fonts smaller than 16px causes mobile safari to zoom. */
49
+ font-size: ${ font( 'mobileTextMinFontSize' ) };
50
+
51
+ ${ breakpoint( 'small' ) } {
52
+ font-size: ${ font( 'default.fontSize' ) };
53
+ }
54
+
55
+ &:focus {
56
+ ${ inputStyleFocus }
57
+ }
58
+
59
+ // Use opacity to work in various editor styles.
60
+ &::-webkit-input-placeholder {
61
+ color: ${ COLORS.ui.darkGrayPlaceholder };
62
+ }
63
+
64
+ &::-moz-placeholder {
65
+ opacity: 1; // Necessary because Firefox reduces this from 1.
66
+ color: ${ COLORS.ui.darkGrayPlaceholder };
67
+ }
68
+
69
+ &:-ms-input-placeholder {
70
+ color: ${ COLORS.ui.darkGrayPlaceholder };
71
+ }
72
+
73
+ .is-dark-theme & {
74
+ &::-webkit-input-placeholder {
75
+ color: ${ COLORS.ui.lightGrayPlaceholder };
76
+ }
77
+
78
+ &::-moz-placeholder {
79
+ opacity: 1; // Necessary because Firefox reduces this from 1.
80
+ color: ${ COLORS.ui.lightGrayPlaceholder };
81
+ }
82
+
83
+ &:-ms-input-placeholder {
84
+ color: ${ COLORS.ui.lightGrayPlaceholder };
85
+ }
86
+ }
14
87
  `;
@@ -15,6 +15,7 @@ const MyToggleControl = () => {
15
15
 
16
16
  return (
17
17
  <ToggleControl
18
+ __nextHasNoMarginBottom
18
19
  label="Fixed Background"
19
20
  help={
20
21
  hasFixedBackground
@@ -78,3 +79,11 @@ The class that will be added with `components-base-control` and `components-togg
78
79
 
79
80
  - Type: `String`
80
81
  - Required: No
82
+
83
+ ### `__nextHasNoMarginBottom`
84
+
85
+ Start opting into the new margin-free styles that will become the default in a future version.
86
+
87
+ - Type: `Boolean`
88
+ - Required: No
89
+ - Default: `false`
@@ -10,6 +10,7 @@ import clsx from 'clsx';
10
10
  */
11
11
  import { forwardRef } from '@wordpress/element';
12
12
  import { useInstanceId } from '@wordpress/compose';
13
+ import deprecated from '@wordpress/deprecated';
13
14
 
14
15
  /**
15
16
  * Internal dependencies
@@ -23,27 +24,7 @@ import { HStack } from '../h-stack';
23
24
  import { useCx } from '../utils';
24
25
  import { space } from '../utils/space';
25
26
 
26
- /**
27
- * ToggleControl is used to generate a toggle user interface.
28
- *
29
- * ```jsx
30
- * import { ToggleControl } from '@wordpress/components';
31
- * import { useState } from '@wordpress/element';
32
- *
33
- * const MyToggleControl = () => {
34
- * const [ value, setValue ] = useState( false );
35
- *
36
- * return (
37
- * <ToggleControl
38
- * label="Fixed Background"
39
- * checked={ value }
40
- * onChange={ () => setValue( ( state ) => ! state ) }
41
- * />
42
- * );
43
- * };
44
- * ```
45
- */
46
- export function ToggleControl(
27
+ function UnforwardedToggleControl(
47
28
  {
48
29
  __nextHasNoMarginBottom,
49
30
  label,
@@ -68,6 +49,14 @@ export function ToggleControl(
68
49
  ! __nextHasNoMarginBottom && css( { marginBottom: space( 3 ) } )
69
50
  );
70
51
 
52
+ if ( ! __nextHasNoMarginBottom ) {
53
+ deprecated( 'Bottom margin styles for wp.components.ToggleControl', {
54
+ since: '6.7',
55
+ version: '7.0',
56
+ hint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version.',
57
+ } );
58
+ }
59
+
71
60
  let describedBy, helpLabel;
72
61
  if ( help ) {
73
62
  if ( typeof help === 'function' ) {
@@ -121,4 +110,27 @@ export function ToggleControl(
121
110
  );
122
111
  }
123
112
 
124
- export default forwardRef( ToggleControl );
113
+ /**
114
+ * ToggleControl is used to generate a toggle user interface.
115
+ *
116
+ * ```jsx
117
+ * import { ToggleControl } from '@wordpress/components';
118
+ * import { useState } from '@wordpress/element';
119
+ *
120
+ * const MyToggleControl = () => {
121
+ * const [ value, setValue ] = useState( false );
122
+ *
123
+ * return (
124
+ * <ToggleControl
125
+ * __nextHasNoMarginBottom
126
+ * label="Fixed Background"
127
+ * checked={ value }
128
+ * onChange={ () => setValue( ( state ) => ! state ) }
129
+ * />
130
+ * );
131
+ * };
132
+ * ```
133
+ */
134
+ export const ToggleControl = forwardRef( UnforwardedToggleControl );
135
+
136
+ export default ToggleControl;
@@ -48,6 +48,7 @@ const Template: StoryFn< typeof ToggleControl > = ( {
48
48
 
49
49
  export const Default = Template.bind( {} );
50
50
  Default.args = {
51
+ __nextHasNoMarginBottom: true,
51
52
  label: 'Enable something',
52
53
  };
53
54
 
@@ -7,5 +7,6 @@
7
7
  }
8
8
 
9
9
  .components-toggle-control__help {
10
- margin-left: $toggle-width + $grid-unit-10;
10
+ display: inline-block;
11
+ margin-inline-start: $toggle-width + $grid-unit-10;
11
12
  }
@@ -6,7 +6,13 @@ import { render, screen } from '@testing-library/react';
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
9
- import ToggleControl from '..';
9
+ import _ToggleControl from '..';
10
+
11
+ const ToggleControl = (
12
+ props: React.ComponentProps< typeof _ToggleControl >
13
+ ) => {
14
+ return <_ToggleControl { ...props } __nextHasNoMarginBottom />;
15
+ };
10
16
 
11
17
  describe( 'ToggleControl', () => {
12
18
  it( 'should label the toggle', () => {
@@ -13,10 +13,6 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
13
13
  box-sizing: inherit;
14
14
  }
15
15
 
16
- .emotion-2 {
17
- margin-bottom: calc(4px * 2);
18
- }
19
-
20
16
  .components-panel__row .emotion-2 {
21
17
  margin-bottom: inherit;
22
18
  }
@@ -33,7 +29,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
33
29
  font-weight: 500;
34
30
  line-height: 1.4;
35
31
  text-transform: uppercase;
36
- display: inline-block;
32
+ display: block;
37
33
  margin-bottom: calc(4px * 2);
38
34
  padding: 0;
39
35
  }
@@ -88,7 +84,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
88
84
  appearance: none;
89
85
  background: transparent;
90
86
  border: none;
91
- border-radius: 2px;
87
+ border-radius: 1px;
92
88
  color: #757575;
93
89
  fill: currentColor;
94
90
  cursor: pointer;
@@ -156,7 +152,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
156
152
 
157
153
  .emotion-15 {
158
154
  background: #1e1e1e;
159
- border-radius: 2px;
155
+ border-radius: 1px;
160
156
  position: absolute;
161
157
  inset: 0;
162
158
  z-index: 1;
@@ -175,7 +171,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
175
171
  appearance: none;
176
172
  background: transparent;
177
173
  border: none;
178
- border-radius: 2px;
174
+ border-radius: 1px;
179
175
  color: #757575;
180
176
  fill: currentColor;
181
177
  cursor: pointer;
@@ -258,7 +254,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
258
254
  aria-checked="true"
259
255
  aria-label="Uppercase"
260
256
  class="emotion-12 components-toggle-group-control-option-base"
261
- data-active-item=""
257
+ data-active-item="true"
262
258
  data-value="uppercase"
263
259
  data-wp-c16t="true"
264
260
  data-wp-component="ToggleGroupControlOptionBase"
@@ -349,10 +345,6 @@ exports[`ToggleGroupControl controlled should render correctly with text options
349
345
  box-sizing: inherit;
350
346
  }
351
347
 
352
- .emotion-2 {
353
- margin-bottom: calc(4px * 2);
354
- }
355
-
356
348
  .components-panel__row .emotion-2 {
357
349
  margin-bottom: inherit;
358
350
  }
@@ -369,7 +361,7 @@ exports[`ToggleGroupControl controlled should render correctly with text options
369
361
  font-weight: 500;
370
362
  line-height: 1.4;
371
363
  text-transform: uppercase;
372
- display: inline-block;
364
+ display: block;
373
365
  margin-bottom: calc(4px * 2);
374
366
  padding: 0;
375
367
  }
@@ -424,7 +416,7 @@ exports[`ToggleGroupControl controlled should render correctly with text options
424
416
  appearance: none;
425
417
  background: transparent;
426
418
  border: none;
427
- border-radius: 2px;
419
+ border-radius: 1px;
428
420
  color: #757575;
429
421
  fill: currentColor;
430
422
  cursor: pointer;
@@ -573,10 +565,6 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
573
565
  box-sizing: inherit;
574
566
  }
575
567
 
576
- .emotion-2 {
577
- margin-bottom: calc(4px * 2);
578
- }
579
-
580
568
  .components-panel__row .emotion-2 {
581
569
  margin-bottom: inherit;
582
570
  }
@@ -593,7 +581,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
593
581
  font-weight: 500;
594
582
  line-height: 1.4;
595
583
  text-transform: uppercase;
596
- display: inline-block;
584
+ display: block;
597
585
  margin-bottom: calc(4px * 2);
598
586
  padding: 0;
599
587
  }
@@ -648,7 +636,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
648
636
  appearance: none;
649
637
  background: transparent;
650
638
  border: none;
651
- border-radius: 2px;
639
+ border-radius: 1px;
652
640
  color: #757575;
653
641
  fill: currentColor;
654
642
  cursor: pointer;
@@ -716,7 +704,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
716
704
 
717
705
  .emotion-15 {
718
706
  background: #1e1e1e;
719
- border-radius: 2px;
707
+ border-radius: 1px;
720
708
  position: absolute;
721
709
  inset: 0;
722
710
  z-index: 1;
@@ -735,7 +723,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
735
723
  appearance: none;
736
724
  background: transparent;
737
725
  border: none;
738
- border-radius: 2px;
726
+ border-radius: 1px;
739
727
  color: #757575;
740
728
  fill: currentColor;
741
729
  cursor: pointer;
@@ -818,7 +806,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
818
806
  aria-checked="true"
819
807
  aria-label="Uppercase"
820
808
  class="emotion-12 components-toggle-group-control-option-base"
821
- data-active-item=""
809
+ data-active-item="true"
822
810
  data-value="uppercase"
823
811
  data-wp-c16t="true"
824
812
  data-wp-component="ToggleGroupControlOptionBase"
@@ -903,10 +891,6 @@ exports[`ToggleGroupControl uncontrolled should render correctly with text optio
903
891
  box-sizing: inherit;
904
892
  }
905
893
 
906
- .emotion-2 {
907
- margin-bottom: calc(4px * 2);
908
- }
909
-
910
894
  .components-panel__row .emotion-2 {
911
895
  margin-bottom: inherit;
912
896
  }
@@ -923,7 +907,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with text optio
923
907
  font-weight: 500;
924
908
  line-height: 1.4;
925
909
  text-transform: uppercase;
926
- display: inline-block;
910
+ display: block;
927
911
  margin-bottom: calc(4px * 2);
928
912
  padding: 0;
929
913
  }
@@ -978,7 +962,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with text optio
978
962
  appearance: none;
979
963
  background: transparent;
980
964
  border: none;
981
- border-radius: 2px;
965
+ border-radius: 1px;
982
966
  color: #757575;
983
967
  fill: currentColor;
984
968
  cursor: pointer;
@@ -15,7 +15,7 @@ import { formatLowercase, formatUppercase } from '@wordpress/icons';
15
15
  */
16
16
  import Button from '../../button';
17
17
  import {
18
- ToggleGroupControl,
18
+ ToggleGroupControl as _ToggleGroupControl,
19
19
  ToggleGroupControlOption,
20
20
  ToggleGroupControlOptionIcon,
21
21
  } from '../index';
@@ -27,6 +27,10 @@ const hoverOutside = async () => {
27
27
  await hover( document.body, { clientX: 10, clientY: 10 } );
28
28
  };
29
29
 
30
+ const ToggleGroupControl = ( props: ToggleGroupControlProps ) => {
31
+ return <_ToggleGroupControl { ...props } __nextHasNoMarginBottom />;
32
+ };
33
+
30
34
  const ControlledToggleGroupControl = ( {
31
35
  value: valueProp,
32
36
  onChange,
@@ -341,11 +345,9 @@ describe.each( [
341
345
  name: 'R',
342
346
  } );
343
347
 
344
- await sleep();
345
348
  await press.Tab();
346
349
  expect( rigas ).toHaveFocus();
347
350
 
348
- await sleep();
349
351
  await press.Tab();
350
352
 
351
353
  // When in controlled mode, there is an additional "Reset" button.
@@ -372,7 +374,6 @@ describe.each( [
372
374
  </Component>
373
375
  );
374
376
 
375
- await sleep();
376
377
  await press.Tab();
377
378
 
378
379
  expect(
@@ -448,7 +449,6 @@ describe.each( [
448
449
  </Component>
449
450
  );
450
451
 
451
- await sleep();
452
452
  await press.Tab();
453
453
  expect(
454
454
  screen.getByRole( 'button', {
@@ -457,7 +457,6 @@ describe.each( [
457
457
  } )
458
458
  ).toHaveFocus();
459
459
 
460
- await sleep();
461
460
  await press.Tab();
462
461
  expect(
463
462
  screen.getByRole( 'button', {
@@ -490,7 +489,6 @@ describe.each( [
490
489
  </Component>
491
490
  );
492
491
 
493
- await sleep();
494
492
  await press.Tab();
495
493
 
496
494
  expect(
@@ -20,7 +20,12 @@ import {
20
20
 
21
21
  function Example() {
22
22
  return (
23
- <ToggleGroupControl label="my label" value="vertical" isBlock>
23
+ <ToggleGroupControl
24
+ label="my label"
25
+ value="vertical"
26
+ isBlock
27
+ __nextHasNoMarginBottom
28
+ >
24
29
  <ToggleGroupControlOption value="horizontal" label="Horizontal" />
25
30
  <ToggleGroupControlOption value="vertical" label="Vertical" />
26
31
  </ToggleGroupControl>
@@ -82,3 +87,17 @@ Callback when a segment is selected.
82
87
  The value of the `ToggleGroupControl`.
83
88
 
84
89
  - Required: No
90
+
91
+ ### `__next40pxDefaultSize`: `boolean`
92
+
93
+ Start opting into the larger default height that will become the default size in a future version.
94
+
95
+ - Required: No
96
+ - Default: `false`
97
+
98
+ ### `__nextHasNoMarginBottom`: `boolean`
99
+
100
+ Start opting into the new margin-free styles that will become the default in a future version.
101
+
102
+ - Required: No
103
+ - Default: `false`
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import type { ForwardedRef } from 'react';
5
5
  import * as Ariakit from '@ariakit/react';
6
+ import { useStoreState } from '@ariakit/react';
6
7
 
7
8
  /**
8
9
  * WordPress dependencies
@@ -66,7 +67,7 @@ function UnforwardedToggleGroupControlAsRadioGroup(
66
67
  setValue: wrappedOnChangeProp,
67
68
  } );
68
69
 
69
- const selectedValue = radio.useState( 'value' );
70
+ const selectedValue = useStoreState( radio, 'value' );
70
71
  const setValue = radio.setValue;
71
72
 
72
73
  const groupContextValue = useMemo(
@@ -72,6 +72,7 @@ function UnconnectedToggleGroupControl(
72
72
  <BaseControl
73
73
  help={ help }
74
74
  __nextHasNoMarginBottom={ __nextHasNoMarginBottom }
75
+ __associatedWPComponentName="ToggleGroupControl"
75
76
  >
76
77
  { ! hideLabelFromVision && (
77
78
  <VisualLabelWrapper>
@@ -115,7 +116,12 @@ function UnconnectedToggleGroupControl(
115
116
  *
116
117
  * function Example() {
117
118
  * return (
118
- * <ToggleGroupControl label="my label" value="vertical" isBlock>
119
+ * <ToggleGroupControl
120
+ * label="my label"
121
+ * value="vertical"
122
+ * isBlock
123
+ * __nextHasNoMarginBottom
124
+ * >
119
125
  * <ToggleGroupControlOption value="horizontal" label="Horizontal" />
120
126
  * <ToggleGroupControlOption value="vertical" label="Vertical" />
121
127
  * </ToggleGroupControl>
@@ -19,7 +19,7 @@ export const toggleGroupControl = ( {
19
19
  } ) => css`
20
20
  background: ${ COLORS.ui.background };
21
21
  border: 1px solid transparent;
22
- border-radius: ${ CONFIG.controlBorderRadius };
22
+ border-radius: ${ CONFIG.radiusSmall };
23
23
  display: inline-flex;
24
24
  min-width: 0;
25
25
  position: relative;
@@ -17,7 +17,12 @@ import {
17
17
 
18
18
  function Example() {
19
19
  return (
20
- <ToggleGroupControl label="my label" value="vertical" isBlock>
20
+ <ToggleGroupControl
21
+ label="my label"
22
+ value="vertical"
23
+ isBlock
24
+ __nextHasNoMarginBottom
25
+ >
21
26
  <ToggleGroupControlOption
22
27
  value="horizontal"
23
28
  label="Horizontal"
@@ -48,7 +48,12 @@ function UnforwardedToggleGroupControlOption(
48
48
  *
49
49
  * function Example() {
50
50
  * return (
51
- * <ToggleGroupControl label="my label" value="vertical" isBlock>
51
+ * <ToggleGroupControl
52
+ * label="my label"
53
+ * value="vertical"
54
+ * isBlock
55
+ * __nextHasNoMarginBottom
56
+ * >
52
57
  * <ToggleGroupControlOption value="horizontal" label="Horizontal" />
53
58
  * <ToggleGroupControlOption value="vertical" label="Vertical" />
54
59
  * </ToggleGroupControl>
@@ -37,7 +37,7 @@ export const buttonView = ( {
37
37
  appearance: none;
38
38
  background: transparent;
39
39
  border: none;
40
- border-radius: ${ CONFIG.controlBorderRadius };
40
+ border-radius: ${ CONFIG.radiusXSmall };
41
41
  color: ${ COLORS.gray[ 700 ] };
42
42
  fill: currentColor;
43
43
  cursor: pointer;
@@ -122,7 +122,7 @@ const isIconStyles = ( {
122
122
 
123
123
  export const backdropView = css`
124
124
  background: ${ COLORS.gray[ 900 ] };
125
- border-radius: ${ CONFIG.controlBorderRadius };
125
+ border-radius: ${ CONFIG.radiusXSmall };
126
126
  position: absolute;
127
127
  inset: 0;
128
128
  z-index: 1;
@@ -17,7 +17,7 @@ import { formatLowercase, formatUppercase } from '@wordpress/icons';
17
17
 
18
18
  function Example() {
19
19
  return (
20
- <ToggleGroupControl>
20
+ <ToggleGroupControl __nextHasNoMarginBottom>
21
21
  <ToggleGroupControlOptionIcon
22
22
  value="uppercase"
23
23
  icon={ formatUppercase }
@@ -51,20 +51,20 @@ function UnforwardedToggleGroupControlOptionIcon(
51
51
  * import { formatLowercase, formatUppercase } from '@wordpress/icons';
52
52
  *
53
53
  * function Example() {
54
- * return (
55
- * <ToggleGroupControl>
56
- * <ToggleGroupControlOptionIcon
57
- * value="uppercase"
58
- * label="Uppercase"
59
- * icon={ formatUppercase }
60
- * />
61
- * <ToggleGroupControlOptionIcon
62
- * value="lowercase"
63
- * label="Lowercase"
64
- * icon={ formatLowercase }
65
- * />
66
- * </ToggleGroupControl>
67
- * );
54
+ * return (
55
+ * <ToggleGroupControl __nextHasNoMarginBottom>
56
+ * <ToggleGroupControlOptionIcon
57
+ * value="uppercase"
58
+ * label="Uppercase"
59
+ * icon={ formatUppercase }
60
+ * />
61
+ * <ToggleGroupControlOptionIcon
62
+ * value="lowercase"
63
+ * label="Lowercase"
64
+ * icon={ formatLowercase }
65
+ * />
66
+ * </ToggleGroupControl>
67
+ * );
68
68
  * }
69
69
  * ```
70
70
  */