@wordpress/components 28.5.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 (544) hide show
  1. package/CHANGELOG.md +82 -0
  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/base-control/index.js +54 -41
  12. package/build/base-control/index.js.map +1 -1
  13. package/build/base-control/types.js.map +1 -1
  14. package/build/border-control/styles.js +13 -13
  15. package/build/border-control/styles.js.map +1 -1
  16. package/build/checkbox-control/index.js +1 -0
  17. package/build/checkbox-control/index.js.map +1 -1
  18. package/build/circular-option-picker/circular-option-picker-option.js +4 -4
  19. package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
  20. package/build/circular-option-picker/circular-option-picker.js +3 -3
  21. package/build/circular-option-picker/circular-option-picker.js.map +1 -1
  22. package/build/circular-option-picker/types.js.map +1 -1
  23. package/build/color-palette/utils.js +17 -5
  24. package/build/color-palette/utils.js.map +1 -1
  25. package/build/color-picker/input-with-slider.js +1 -0
  26. package/build/color-picker/input-with-slider.js.map +1 -1
  27. package/build/combobox-control/index.js +1 -0
  28. package/build/combobox-control/index.js.map +1 -1
  29. package/build/composite/context.js +19 -0
  30. package/build/composite/context.js.map +1 -0
  31. package/build/composite/index.js +287 -9
  32. package/build/composite/index.js.map +1 -1
  33. package/build/composite/legacy/index.js +10 -8
  34. package/build/composite/legacy/index.js.map +1 -1
  35. package/build/composite/types.js +6 -0
  36. package/build/composite/types.js.map +1 -0
  37. package/build/custom-select-control/types.js.map +1 -1
  38. package/build/custom-select-control-v2/custom-select.js +3 -2
  39. package/build/custom-select-control-v2/custom-select.js.map +1 -1
  40. package/build/date-time/time/index.js +11 -3
  41. package/build/date-time/time/index.js.map +1 -1
  42. package/build/date-time/types.js.map +1 -1
  43. package/build/dimension-control/index.js +25 -8
  44. package/build/dimension-control/index.js.map +1 -1
  45. package/build/dimension-control/types.js.map +1 -1
  46. package/build/dropdown-menu-v2/index.js +3 -2
  47. package/build/dropdown-menu-v2/index.js.map +1 -1
  48. package/build/dropdown-menu-v2/styles.js +23 -21
  49. package/build/dropdown-menu-v2/styles.js.map +1 -1
  50. package/build/focal-point-picker/controls.js +1 -3
  51. package/build/focal-point-picker/controls.js.map +1 -1
  52. package/build/focal-point-picker/index.js +1 -2
  53. package/build/focal-point-picker/index.js.map +1 -1
  54. package/build/focal-point-picker/styles/focal-point-picker-style.js +11 -11
  55. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  56. package/build/focal-point-picker/types.js.map +1 -1
  57. package/build/form-file-upload/types.js.map +1 -1
  58. package/build/index.js +5 -5
  59. package/build/index.js.map +1 -1
  60. package/build/item-group/styles.js +11 -11
  61. package/build/item-group/styles.js.map +1 -1
  62. package/build/mobile/utils/alignments.native.js +1 -1
  63. package/build/mobile/utils/alignments.native.js.map +1 -1
  64. package/build/navigator/navigator-back-button/component.js +1 -1
  65. package/build/navigator/navigator-back-button/component.js.map +1 -1
  66. package/build/navigator/navigator-back-button/hook.js +3 -9
  67. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  68. package/build/navigator/navigator-provider/component.js +17 -9
  69. package/build/navigator/navigator-provider/component.js.map +1 -1
  70. package/build/navigator/navigator-to-parent-button/component.js +13 -40
  71. package/build/navigator/navigator-to-parent-button/component.js.map +1 -1
  72. package/build/navigator/types.js.map +1 -1
  73. package/build/palette-edit/styles.js +11 -11
  74. package/build/palette-edit/styles.js.map +1 -1
  75. package/build/popover/index.js +6 -1
  76. package/build/popover/index.js.map +1 -1
  77. package/build/private-apis.js +6 -6
  78. package/build/private-apis.js.map +1 -1
  79. package/build/progress-bar/styles.js +5 -5
  80. package/build/progress-bar/styles.js.map +1 -1
  81. package/build/query-controls/index.js +5 -6
  82. package/build/query-controls/index.js.map +1 -1
  83. package/build/query-controls/types.js.map +1 -1
  84. package/build/radio-control/index.js +20 -19
  85. package/build/radio-control/index.js.map +1 -1
  86. package/build/radio-group/radio.js +3 -2
  87. package/build/radio-group/radio.js.map +1 -1
  88. package/build/range-control/index.js +32 -9
  89. package/build/range-control/index.js.map +1 -1
  90. package/build/range-control/styles/range-control-styles.js +29 -29
  91. package/build/range-control/styles/range-control-styles.js.map +1 -1
  92. package/build/search-control/index.js +5 -4
  93. package/build/search-control/index.js.map +1 -1
  94. package/build/select-control/index.js +1 -0
  95. package/build/select-control/index.js.map +1 -1
  96. package/build/tab-panel/index.js +3 -2
  97. package/build/tab-panel/index.js.map +1 -1
  98. package/build/tabs/index.js +3 -2
  99. package/build/tabs/index.js.map +1 -1
  100. package/build/tabs/tablist.js +6 -4
  101. package/build/tabs/tablist.js.map +1 -1
  102. package/build/tabs/tabpanel.js +6 -1
  103. package/build/tabs/tabpanel.js.map +1 -1
  104. package/build/text/styles.js +7 -7
  105. package/build/text/styles.js.map +1 -1
  106. package/build/text-control/index.js +1 -0
  107. package/build/text-control/index.js.map +1 -1
  108. package/build/textarea-control/index.js +1 -0
  109. package/build/textarea-control/index.js.map +1 -1
  110. package/build/textarea-control/styles/textarea-control-styles.js +8 -2
  111. package/build/textarea-control/styles/textarea-control-styles.js.map +1 -1
  112. package/build/toggle-control/index.js +9 -1
  113. package/build/toggle-control/index.js.map +1 -1
  114. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +3 -2
  115. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  116. package/build/toggle-group-control/toggle-group-control/component.js +1 -0
  117. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  118. package/build/toggle-group-control/toggle-group-control/styles.js +7 -7
  119. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  120. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  121. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  122. package/build/tools-panel/styles.js +13 -13
  123. package/build/tools-panel/styles.js.map +1 -1
  124. package/build/tooltip/index.js +3 -2
  125. package/build/tooltip/index.js.map +1 -1
  126. package/build/tree-select/index.js +19 -6
  127. package/build/tree-select/index.js.map +1 -1
  128. package/build/unit-control/styles/unit-control-styles.js +7 -7
  129. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  130. package/build/utils/config-values.js +4 -3
  131. package/build/utils/config-values.js.map +1 -1
  132. package/build-module/alignment-matrix-control/cell.js +2 -2
  133. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  134. package/build-module/alignment-matrix-control/index.js +4 -3
  135. package/build-module/alignment-matrix-control/index.js.map +1 -1
  136. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -18
  137. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  138. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
  139. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  140. package/build-module/base-control/index.js +54 -42
  141. package/build-module/base-control/index.js.map +1 -1
  142. package/build-module/base-control/types.js.map +1 -1
  143. package/build-module/border-control/styles.js +13 -13
  144. package/build-module/border-control/styles.js.map +1 -1
  145. package/build-module/checkbox-control/index.js +1 -0
  146. package/build-module/checkbox-control/index.js.map +1 -1
  147. package/build-module/circular-option-picker/circular-option-picker-option.js +4 -4
  148. package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
  149. package/build-module/circular-option-picker/circular-option-picker.js +1 -1
  150. package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
  151. package/build-module/circular-option-picker/types.js.map +1 -1
  152. package/build-module/color-palette/utils.js +17 -5
  153. package/build-module/color-palette/utils.js.map +1 -1
  154. package/build-module/color-picker/input-with-slider.js +1 -0
  155. package/build-module/color-picker/input-with-slider.js.map +1 -1
  156. package/build-module/combobox-control/index.js +1 -0
  157. package/build-module/combobox-control/index.js.map +1 -1
  158. package/build-module/composite/context.js +12 -0
  159. package/build-module/composite/context.js.map +1 -0
  160. package/build-module/composite/index.js +284 -6
  161. package/build-module/composite/index.js.map +1 -1
  162. package/build-module/composite/legacy/index.js +10 -6
  163. package/build-module/composite/legacy/index.js.map +1 -1
  164. package/build-module/composite/types.js +2 -0
  165. package/build-module/composite/types.js.map +1 -0
  166. package/build-module/custom-select-control/types.js.map +1 -1
  167. package/build-module/custom-select-control-v2/custom-select.js +2 -1
  168. package/build-module/custom-select-control-v2/custom-select.js.map +1 -1
  169. package/build-module/date-time/time/index.js +11 -3
  170. package/build-module/date-time/time/index.js.map +1 -1
  171. package/build-module/date-time/types.js.map +1 -1
  172. package/build-module/dimension-control/index.js +25 -8
  173. package/build-module/dimension-control/index.js.map +1 -1
  174. package/build-module/dimension-control/types.js.map +1 -1
  175. package/build-module/dropdown-menu-v2/index.js +2 -1
  176. package/build-module/dropdown-menu-v2/index.js.map +1 -1
  177. package/build-module/dropdown-menu-v2/styles.js +23 -21
  178. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  179. package/build-module/focal-point-picker/controls.js +1 -3
  180. package/build-module/focal-point-picker/controls.js.map +1 -1
  181. package/build-module/focal-point-picker/index.js +1 -2
  182. package/build-module/focal-point-picker/index.js.map +1 -1
  183. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +11 -11
  184. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  185. package/build-module/focal-point-picker/types.js.map +1 -1
  186. package/build-module/form-file-upload/types.js.map +1 -1
  187. package/build-module/index.js +1 -1
  188. package/build-module/index.js.map +1 -1
  189. package/build-module/item-group/styles.js +11 -11
  190. package/build-module/item-group/styles.js.map +1 -1
  191. package/build-module/mobile/utils/alignments.native.js +1 -1
  192. package/build-module/mobile/utils/alignments.native.js.map +1 -1
  193. package/build-module/navigator/navigator-back-button/component.js +1 -1
  194. package/build-module/navigator/navigator-back-button/component.js.map +1 -1
  195. package/build-module/navigator/navigator-back-button/hook.js +3 -9
  196. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  197. package/build-module/navigator/navigator-provider/component.js +17 -9
  198. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  199. package/build-module/navigator/navigator-to-parent-button/component.js +12 -41
  200. package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -1
  201. package/build-module/navigator/types.js.map +1 -1
  202. package/build-module/palette-edit/styles.js +11 -11
  203. package/build-module/palette-edit/styles.js.map +1 -1
  204. package/build-module/popover/index.js +6 -1
  205. package/build-module/popover/index.js.map +1 -1
  206. package/build-module/private-apis.js +6 -6
  207. package/build-module/private-apis.js.map +1 -1
  208. package/build-module/progress-bar/styles.js +5 -5
  209. package/build-module/progress-bar/styles.js.map +1 -1
  210. package/build-module/query-controls/index.js +5 -6
  211. package/build-module/query-controls/index.js.map +1 -1
  212. package/build-module/query-controls/types.js.map +1 -1
  213. package/build-module/radio-control/index.js +20 -19
  214. package/build-module/radio-control/index.js.map +1 -1
  215. package/build-module/radio-group/radio.js +2 -1
  216. package/build-module/radio-group/radio.js.map +1 -1
  217. package/build-module/range-control/index.js +32 -9
  218. package/build-module/range-control/index.js.map +1 -1
  219. package/build-module/range-control/styles/range-control-styles.js +29 -29
  220. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  221. package/build-module/search-control/index.js +5 -4
  222. package/build-module/search-control/index.js.map +1 -1
  223. package/build-module/select-control/index.js +1 -0
  224. package/build-module/select-control/index.js.map +1 -1
  225. package/build-module/tab-panel/index.js +2 -1
  226. package/build-module/tab-panel/index.js.map +1 -1
  227. package/build-module/tabs/index.js +2 -1
  228. package/build-module/tabs/index.js.map +1 -1
  229. package/build-module/tabs/tablist.js +5 -3
  230. package/build-module/tabs/tablist.js.map +1 -1
  231. package/build-module/tabs/tabpanel.js +6 -2
  232. package/build-module/tabs/tabpanel.js.map +1 -1
  233. package/build-module/text/styles.js +7 -7
  234. package/build-module/text/styles.js.map +1 -1
  235. package/build-module/text-control/index.js +1 -0
  236. package/build-module/text-control/index.js.map +1 -1
  237. package/build-module/textarea-control/index.js +1 -0
  238. package/build-module/textarea-control/index.js.map +1 -1
  239. package/build-module/textarea-control/styles/textarea-control-styles.js +9 -2
  240. package/build-module/textarea-control/styles/textarea-control-styles.js.map +1 -1
  241. package/build-module/toggle-control/index.js +9 -1
  242. package/build-module/toggle-control/index.js.map +1 -1
  243. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +2 -1
  244. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  245. package/build-module/toggle-group-control/toggle-group-control/component.js +1 -0
  246. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  247. package/build-module/toggle-group-control/toggle-group-control/styles.js +7 -7
  248. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  249. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  250. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  251. package/build-module/tools-panel/styles.js +13 -13
  252. package/build-module/tools-panel/styles.js.map +1 -1
  253. package/build-module/tooltip/index.js +2 -1
  254. package/build-module/tooltip/index.js.map +1 -1
  255. package/build-module/tree-select/index.js +19 -6
  256. package/build-module/tree-select/index.js.map +1 -1
  257. package/build-module/unit-control/styles/unit-control-styles.js +7 -7
  258. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  259. package/build-module/utils/config-values.js +4 -3
  260. package/build-module/utils/config-values.js.map +1 -1
  261. package/build-style/style-rtl.css +19 -9
  262. package/build-style/style.css +19 -9
  263. package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
  264. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +1 -1
  265. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -1
  266. package/build-types/base-control/hooks.d.ts +1 -0
  267. package/build-types/base-control/hooks.d.ts.map +1 -1
  268. package/build-types/base-control/index.d.ts +44 -0
  269. package/build-types/base-control/index.d.ts.map +1 -1
  270. package/build-types/base-control/types.d.ts +7 -0
  271. package/build-types/base-control/types.d.ts.map +1 -1
  272. package/build-types/checkbox-control/index.d.ts.map +1 -1
  273. package/build-types/checkbox-control/stories/index.story.d.ts.map +1 -1
  274. package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
  275. package/build-types/circular-option-picker/types.d.ts +2 -3
  276. package/build-types/circular-option-picker/types.d.ts.map +1 -1
  277. package/build-types/color-palette/utils.d.ts.map +1 -1
  278. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  279. package/build-types/color-picker/styles.d.ts.map +1 -1
  280. package/build-types/combobox-control/index.d.ts.map +1 -1
  281. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  282. package/build-types/composite/context.d.ts +7 -0
  283. package/build-types/composite/context.d.ts.map +1 -0
  284. package/build-types/composite/index.d.ts +181 -1
  285. package/build-types/composite/index.d.ts.map +1 -1
  286. package/build-types/composite/legacy/index.d.ts +7 -2
  287. package/build-types/composite/legacy/index.d.ts.map +1 -1
  288. package/build-types/composite/legacy/stories/utils.d.ts +19 -0
  289. package/build-types/composite/legacy/stories/utils.d.ts.map +1 -1
  290. package/build-types/composite/stories/index.story.d.ts +13 -0
  291. package/build-types/composite/stories/index.story.d.ts.map +1 -0
  292. package/build-types/composite/stories/utils.d.ts +29 -0
  293. package/build-types/composite/stories/utils.d.ts.map +1 -0
  294. package/build-types/composite/types.d.ts +288 -0
  295. package/build-types/composite/types.d.ts.map +1 -0
  296. package/build-types/custom-select-control/types.d.ts +3 -3
  297. package/build-types/custom-select-control/types.d.ts.map +1 -1
  298. package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
  299. package/build-types/date-time/date-time/index.d.ts +1 -1
  300. package/build-types/date-time/time/index.d.ts +1 -1
  301. package/build-types/date-time/time/index.d.ts.map +1 -1
  302. package/build-types/date-time/types.d.ts +7 -1
  303. package/build-types/date-time/types.d.ts.map +1 -1
  304. package/build-types/dimension-control/index.d.ts +1 -0
  305. package/build-types/dimension-control/index.d.ts.map +1 -1
  306. package/build-types/dimension-control/stories/index.story.d.ts +8 -1
  307. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
  308. package/build-types/dimension-control/types.d.ts +2 -7
  309. package/build-types/dimension-control/types.d.ts.map +1 -1
  310. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
  311. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
  312. package/build-types/focal-point-picker/controls.d.ts +1 -1
  313. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  314. package/build-types/focal-point-picker/index.d.ts +1 -1
  315. package/build-types/focal-point-picker/index.d.ts.map +1 -1
  316. package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
  317. package/build-types/focal-point-picker/types.d.ts +2 -2
  318. package/build-types/focal-point-picker/types.d.ts.map +1 -1
  319. package/build-types/form-file-upload/types.d.ts +6 -0
  320. package/build-types/form-file-upload/types.d.ts.map +1 -1
  321. package/build-types/index.d.ts +1 -1
  322. package/build-types/index.d.ts.map +1 -1
  323. package/build-types/navigator/navigator-back-button/component.d.ts +1 -1
  324. package/build-types/navigator/navigator-back-button/hook.d.ts +2 -2
  325. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  326. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  327. package/build-types/navigator/navigator-to-parent-button/component.d.ts +6 -0
  328. package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
  329. package/build-types/navigator/types.d.ts +45 -9
  330. package/build-types/navigator/types.d.ts.map +1 -1
  331. package/build-types/popover/index.d.ts +1 -1
  332. package/build-types/popover/index.d.ts.map +1 -1
  333. package/build-types/popover/stories/e2e/index.story.d.ts +1 -1
  334. package/build-types/private-apis.d.ts.map +1 -1
  335. package/build-types/query-controls/index.d.ts +1 -1
  336. package/build-types/query-controls/index.d.ts.map +1 -1
  337. package/build-types/query-controls/types.d.ts +2 -1
  338. package/build-types/query-controls/types.d.ts.map +1 -1
  339. package/build-types/radio-control/index.d.ts.map +1 -1
  340. package/build-types/radio-group/radio.d.ts.map +1 -1
  341. package/build-types/range-control/index.d.ts.map +1 -1
  342. package/build-types/range-control/stories/index.story.d.ts.map +1 -1
  343. package/build-types/search-control/index.d.ts.map +1 -1
  344. package/build-types/search-control/stories/index.story.d.ts.map +1 -1
  345. package/build-types/select-control/index.d.ts.map +1 -1
  346. package/build-types/select-control/stories/index.story.d.ts +4 -2
  347. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  348. package/build-types/tab-panel/index.d.ts.map +1 -1
  349. package/build-types/tabs/index.d.ts.map +1 -1
  350. package/build-types/tabs/tablist.d.ts.map +1 -1
  351. package/build-types/tabs/tabpanel.d.ts +0 -3
  352. package/build-types/tabs/tabpanel.d.ts.map +1 -1
  353. package/build-types/text-control/index.d.ts.map +1 -1
  354. package/build-types/text-control/stories/index.story.d.ts.map +1 -1
  355. package/build-types/textarea-control/index.d.ts.map +1 -1
  356. package/build-types/textarea-control/styles/textarea-control-styles.d.ts.map +1 -1
  357. package/build-types/toggle-control/index.d.ts.map +1 -1
  358. package/build-types/toggle-control/stories/index.story.d.ts.map +1 -1
  359. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
  360. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  361. package/build-types/tooltip/index.d.ts.map +1 -1
  362. package/build-types/tree-select/index.d.ts.map +1 -1
  363. package/build-types/utils/config-values.d.ts +4 -3
  364. package/package.json +20 -20
  365. package/src/alignment-matrix-control/cell.tsx +3 -3
  366. package/src/alignment-matrix-control/index.tsx +5 -4
  367. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.ts +2 -2
  368. package/src/angle-picker-control/styles/angle-picker-control-styles.tsx +2 -2
  369. package/src/base-control/README.md +5 -2
  370. package/src/base-control/index.tsx +61 -41
  371. package/src/base-control/types.ts +7 -0
  372. package/src/border-box-control/border-box-control/README.md +7 -0
  373. package/src/border-control/border-control/README.md +7 -0
  374. package/src/border-control/styles.ts +1 -1
  375. package/src/button/README.md +7 -0
  376. package/src/button/style.scss +2 -2
  377. package/src/button-group/style.scss +2 -2
  378. package/src/checkbox-control/index.tsx +1 -0
  379. package/src/checkbox-control/stories/index.story.tsx +1 -0
  380. package/src/checkbox-control/test/index.tsx +8 -1
  381. package/src/circular-option-picker/circular-option-picker-option.tsx +8 -6
  382. package/src/circular-option-picker/circular-option-picker.tsx +1 -1
  383. package/src/circular-option-picker/style.scss +3 -3
  384. package/src/circular-option-picker/types.ts +2 -3
  385. package/src/color-indicator/style.scss +1 -1
  386. package/src/color-palette/style.scss +2 -2
  387. package/src/color-palette/utils.ts +23 -10
  388. package/src/color-picker/input-with-slider.tsx +1 -0
  389. package/src/combobox-control/README.md +8 -0
  390. package/src/combobox-control/index.tsx +1 -0
  391. package/src/combobox-control/stories/index.story.tsx +3 -4
  392. package/src/combobox-control/test/index.tsx +5 -1
  393. package/src/composite/README.md +325 -0
  394. package/src/composite/context.ts +14 -0
  395. package/src/composite/index.tsx +341 -0
  396. package/src/composite/legacy/index.tsx +15 -14
  397. package/src/composite/legacy/stories/utils.tsx +19 -0
  398. package/src/composite/stories/index.story.tsx +466 -0
  399. package/src/composite/{current/stories → stories}/utils.tsx +22 -7
  400. package/src/composite/types.ts +298 -0
  401. package/src/custom-gradient-picker/style.scss +2 -2
  402. package/src/custom-select-control/README.md +7 -0
  403. package/src/custom-select-control/test/index.tsx +125 -0
  404. package/src/custom-select-control/types.ts +3 -3
  405. package/src/custom-select-control-v2/custom-select.tsx +2 -1
  406. package/src/date-time/time/index.tsx +26 -12
  407. package/src/date-time/types.ts +11 -1
  408. package/src/dimension-control/README.md +17 -0
  409. package/src/dimension-control/index.tsx +26 -9
  410. package/src/dimension-control/stories/index.story.tsx +1 -0
  411. package/src/dimension-control/test/__snapshots__/index.test.js.snap +0 -16
  412. package/src/dimension-control/test/index.test.js +5 -1
  413. package/src/dimension-control/types.ts +5 -7
  414. package/src/drop-zone/style.scss +1 -1
  415. package/src/dropdown-menu-v2/index.tsx +5 -3
  416. package/src/dropdown-menu-v2/styles.ts +17 -15
  417. package/src/focal-point-picker/README.md +9 -1
  418. package/src/focal-point-picker/controls.tsx +1 -3
  419. package/src/focal-point-picker/index.tsx +1 -2
  420. package/src/focal-point-picker/stories/index.story.tsx +3 -0
  421. package/src/focal-point-picker/styles/focal-point-picker-style.ts +1 -1
  422. package/src/focal-point-picker/test/index.tsx +5 -1
  423. package/src/focal-point-picker/types.ts +2 -2
  424. package/src/font-size-picker/README.md +7 -0
  425. package/src/form-file-upload/README.md +8 -0
  426. package/src/form-file-upload/types.ts +6 -0
  427. package/src/form-token-field/README.md +1 -0
  428. package/src/guide/style.scss +0 -1
  429. package/src/index.ts +1 -1
  430. package/src/input-control/README.md +8 -0
  431. package/src/item-group/styles.ts +1 -1
  432. package/src/mobile/utils/alignments.native.js +1 -0
  433. package/src/modal/style.scss +3 -3
  434. package/src/navigator/navigator-back-button/component.tsx +1 -1
  435. package/src/navigator/navigator-back-button/hook.ts +6 -10
  436. package/src/navigator/navigator-provider/README.md +38 -36
  437. package/src/navigator/navigator-provider/component.tsx +13 -7
  438. package/src/navigator/navigator-screen/README.md +13 -1
  439. package/src/navigator/navigator-to-parent-button/README.md +2 -0
  440. package/src/navigator/navigator-to-parent-button/component.tsx +14 -43
  441. package/src/navigator/test/index.tsx +136 -6
  442. package/src/navigator/types.ts +45 -10
  443. package/src/number-control/README.md +8 -0
  444. package/src/palette-edit/styles.ts +5 -5
  445. package/src/placeholder/style.scss +4 -1
  446. package/src/popover/index.tsx +9 -3
  447. package/src/popover/style.scss +2 -2
  448. package/src/popover/test/index.tsx +34 -0
  449. package/src/private-apis.ts +6 -12
  450. package/src/progress-bar/styles.ts +2 -2
  451. package/src/query-controls/README.md +7 -0
  452. package/src/query-controls/index.tsx +5 -6
  453. package/src/query-controls/types.ts +2 -1
  454. package/src/radio-control/index.tsx +28 -20
  455. package/src/radio-control/style.scss +13 -2
  456. package/src/radio-control/test/index.tsx +43 -40
  457. package/src/radio-group/radio.tsx +2 -1
  458. package/src/range-control/README.md +7 -0
  459. package/src/range-control/index.tsx +39 -9
  460. package/src/range-control/stories/index.story.tsx +7 -0
  461. package/src/range-control/styles/range-control-styles.ts +2 -2
  462. package/src/range-control/test/index.tsx +54 -14
  463. package/src/search-control/index.tsx +7 -4
  464. package/src/search-control/stories/index.story.tsx +1 -0
  465. package/src/search-control/test/index.tsx +1 -0
  466. package/src/select-control/README.md +8 -0
  467. package/src/select-control/index.tsx +1 -0
  468. package/src/select-control/stories/index.story.tsx +8 -5
  469. package/src/select-control/test/select-control.tsx +12 -6
  470. package/src/snackbar/style.scss +2 -2
  471. package/src/tab-panel/index.tsx +4 -1
  472. package/src/tab-panel/style.scss +1 -1
  473. package/src/tabs/index.tsx +2 -1
  474. package/src/tabs/tablist.tsx +6 -4
  475. package/src/tabs/tabpanel.tsx +6 -2
  476. package/src/text/styles.ts +1 -1
  477. package/src/text-control/README.md +8 -0
  478. package/src/text-control/index.tsx +1 -0
  479. package/src/text-control/stories/index.story.tsx +3 -1
  480. package/src/text-control/test/text-control.tsx +5 -1
  481. package/src/textarea-control/index.tsx +1 -0
  482. package/src/textarea-control/stories/index.story.tsx +2 -0
  483. package/src/textarea-control/styles/textarea-control-styles.ts +75 -2
  484. package/src/toggle-control/index.tsx +9 -0
  485. package/src/toggle-control/stories/index.story.tsx +1 -0
  486. package/src/toggle-control/test/index.tsx +7 -1
  487. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +8 -24
  488. package/src/toggle-group-control/test/index.tsx +5 -1
  489. package/src/toggle-group-control/toggle-group-control/README.md +7 -0
  490. package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +2 -1
  491. package/src/toggle-group-control/toggle-group-control/component.tsx +1 -0
  492. package/src/toggle-group-control/toggle-group-control/styles.ts +1 -1
  493. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +2 -2
  494. package/src/toolbar/toolbar/style.scss +2 -2
  495. package/src/tools-panel/styles.ts +1 -1
  496. package/src/tooltip/index.tsx +2 -1
  497. package/src/tooltip/style.scss +1 -1
  498. package/src/tree-select/index.tsx +16 -5
  499. package/src/tree-select/stories/index.story.tsx +1 -0
  500. package/src/unit-control/README.md +7 -0
  501. package/src/unit-control/styles/unit-control-styles.ts +1 -1
  502. package/src/utils/config-values.js +4 -3
  503. package/tsconfig.tsbuildinfo +1 -1
  504. package/build/composite/current/index.js +0 -43
  505. package/build/composite/current/index.js.map +0 -1
  506. package/build/composite/v2.js +0 -17
  507. package/build/composite/v2.js.map +0 -1
  508. package/build/utils/input/base.js +0 -20
  509. package/build/utils/input/base.js.map +0 -1
  510. package/build/utils/input/index.js +0 -17
  511. package/build/utils/input/index.js.map +0 -1
  512. package/build/utils/input/input-control.js +0 -21
  513. package/build/utils/input/input-control.js.map +0 -1
  514. package/build-module/composite/current/index.js +0 -12
  515. package/build-module/composite/current/index.js.map +0 -1
  516. package/build-module/composite/v2.js +0 -5
  517. package/build-module/composite/v2.js.map +0 -1
  518. package/build-module/utils/input/base.js +0 -13
  519. package/build-module/utils/input/base.js.map +0 -1
  520. package/build-module/utils/input/index.js +0 -2
  521. package/build-module/utils/input/index.js.map +0 -1
  522. package/build-module/utils/input/input-control.js +0 -14
  523. package/build-module/utils/input/input-control.js.map +0 -1
  524. package/build-types/composite/current/index.d.ts +0 -12
  525. package/build-types/composite/current/index.d.ts.map +0 -1
  526. package/build-types/composite/current/stories/index.story.d.ts +0 -13
  527. package/build-types/composite/current/stories/index.story.d.ts.map +0 -1
  528. package/build-types/composite/current/stories/utils.d.ts +0 -14
  529. package/build-types/composite/current/stories/utils.d.ts.map +0 -1
  530. package/build-types/composite/v2.d.ts +0 -2
  531. package/build-types/composite/v2.d.ts.map +0 -1
  532. package/build-types/utils/input/base.d.ts +0 -3
  533. package/build-types/utils/input/base.d.ts.map +0 -1
  534. package/build-types/utils/input/index.d.ts +0 -2
  535. package/build-types/utils/input/index.d.ts.map +0 -1
  536. package/build-types/utils/input/input-control.d.ts +0 -2
  537. package/build-types/utils/input/input-control.d.ts.map +0 -1
  538. package/src/composite/current/index.ts +0 -20
  539. package/src/composite/current/stories/index.story.tsx +0 -86
  540. package/src/composite/index.ts +0 -7
  541. package/src/composite/v2.ts +0 -4
  542. package/src/utils/input/base.js +0 -30
  543. package/src/utils/input/index.js +0 -1
  544. package/src/utils/input/input-control.js +0 -63
@@ -7,6 +7,7 @@ import type { ForwardedRef } from 'react';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
+ import deprecated from '@wordpress/deprecated';
10
11
  import { forwardRef } from '@wordpress/element';
11
12
 
12
13
  /**
@@ -26,34 +27,12 @@ import { contextConnectWithoutRef, useContextSystem } from '../context';
26
27
 
27
28
  export { useBaseControlProps } from './hooks';
28
29
 
29
- /**
30
- * `BaseControl` is a component used to generate labels and help text for components handling user inputs.
31
- *
32
- * ```jsx
33
- * import { BaseControl, useBaseControlProps } from '@wordpress/components';
34
- *
35
- * // Render a `BaseControl` for a textarea input
36
- * const MyCustomTextareaControl = ({ children, ...baseProps }) => (
37
- * // `useBaseControlProps` is a convenience hook to get the props for the `BaseControl`
38
- * // and the inner control itself. Namely, it takes care of generating a unique `id`,
39
- * // properly associating it with the `label` and `help` elements.
40
- * const { baseControlProps, controlProps } = useBaseControlProps( baseProps );
41
- *
42
- * return (
43
- * <BaseControl { ...baseControlProps } __nextHasNoMarginBottom={ true }>
44
- * <textarea { ...controlProps }>
45
- * { children }
46
- * </textarea>
47
- * </BaseControl>
48
- * );
49
- * );
50
- * ```
51
- */
52
30
  const UnconnectedBaseControl = (
53
31
  props: WordPressComponentProps< BaseControlProps, null >
54
32
  ) => {
55
33
  const {
56
34
  __nextHasNoMarginBottom = false,
35
+ __associatedWPComponentName = 'BaseControl',
57
36
  id,
58
37
  label,
59
38
  hideLabelFromVision = false,
@@ -62,6 +41,17 @@ const UnconnectedBaseControl = (
62
41
  children,
63
42
  } = useContextSystem( props, 'BaseControl' );
64
43
 
44
+ if ( ! __nextHasNoMarginBottom ) {
45
+ deprecated(
46
+ `Bottom margin styles for wp.components.${ __associatedWPComponentName }`,
47
+ {
48
+ since: '6.7',
49
+ version: '7.0',
50
+ hint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version.',
51
+ }
52
+ );
53
+ }
54
+
65
55
  return (
66
56
  <Wrapper className={ className }>
67
57
  <StyledField
@@ -105,23 +95,6 @@ const UnconnectedBaseControl = (
105
95
  );
106
96
  };
107
97
 
108
- /**
109
- * `BaseControl.VisualLabel` is used to render a purely visual label inside a `BaseControl` component.
110
- *
111
- * It should only be used in cases where the children being rendered inside `BaseControl` are already accessibly labeled,
112
- * e.g., a button, but we want an additional visual label for that section equivalent to the labels `BaseControl` would
113
- * otherwise use if the `label` prop was passed.
114
- *
115
- * @example
116
- * import { BaseControl } from '@wordpress/components';
117
- *
118
- * const MyBaseControl = () => (
119
- * <BaseControl help="This button is already accessibly labeled.">
120
- * <BaseControl.VisualLabel>Author</BaseControl.VisualLabel>
121
- * <Button>Select an author</Button>
122
- * </BaseControl>
123
- * );
124
- */
125
98
  const UnforwardedVisualLabel = (
126
99
  props: WordPressComponentProps< BaseControlVisualLabelProps, 'span' >,
127
100
  ref: ForwardedRef< any >
@@ -141,9 +114,56 @@ const UnforwardedVisualLabel = (
141
114
 
142
115
  export const VisualLabel = forwardRef( UnforwardedVisualLabel );
143
116
 
117
+ /**
118
+ * `BaseControl` is a component used to generate labels and help text for components handling user inputs.
119
+ *
120
+ * ```jsx
121
+ * import { BaseControl, useBaseControlProps } from '@wordpress/components';
122
+ *
123
+ * // Render a `BaseControl` for a textarea input
124
+ * const MyCustomTextareaControl = ({ children, ...baseProps }) => (
125
+ * // `useBaseControlProps` is a convenience hook to get the props for the `BaseControl`
126
+ * // and the inner control itself. Namely, it takes care of generating a unique `id`,
127
+ * // properly associating it with the `label` and `help` elements.
128
+ * const { baseControlProps, controlProps } = useBaseControlProps( baseProps );
129
+ *
130
+ * return (
131
+ * <BaseControl { ...baseControlProps } __nextHasNoMarginBottom>
132
+ * <textarea { ...controlProps }>
133
+ * { children }
134
+ * </textarea>
135
+ * </BaseControl>
136
+ * );
137
+ * );
138
+ * ```
139
+ */
144
140
  export const BaseControl = Object.assign(
145
141
  contextConnectWithoutRef( UnconnectedBaseControl, 'BaseControl' ),
146
- { VisualLabel }
142
+
143
+ {
144
+ /**
145
+ * `BaseControl.VisualLabel` is used to render a purely visual label inside a `BaseControl` component.
146
+ *
147
+ * It should only be used in cases where the children being rendered inside `BaseControl` are already accessibly labeled,
148
+ * e.g., a button, but we want an additional visual label for that section equivalent to the labels `BaseControl` would
149
+ * otherwise use if the `label` prop was passed.
150
+ *
151
+ * ```jsx
152
+ * import { BaseControl } from '@wordpress/components';
153
+ *
154
+ * const MyBaseControl = () => (
155
+ * <BaseControl
156
+ * __nextHasNoMarginBottom
157
+ * help="This button is already accessibly labeled."
158
+ * >
159
+ * <BaseControl.VisualLabel>Author</BaseControl.VisualLabel>
160
+ * <Button>Select an author</Button>
161
+ * </BaseControl>
162
+ * );
163
+ * ```
164
+ */
165
+ VisualLabel,
166
+ }
147
167
  );
148
168
 
149
169
  export default BaseControl;
@@ -10,6 +10,13 @@ export type BaseControlProps = {
10
10
  * @default false
11
11
  */
12
12
  __nextHasNoMarginBottom?: boolean;
13
+ /**
14
+ * Temporary private prop for showing better deprecation messages,
15
+ * e.g. `Some feature from wp.components.${ __associatedWPControl } is deprecated`.
16
+ *
17
+ * @ignore
18
+ */
19
+ __associatedWPComponentName?: string;
13
20
  /**
14
21
  * The HTML `id` of the control element (passed in as a child to `BaseControl`) to which labels and help text are being generated.
15
22
  * This is necessary to accessibly associate the label with that element.
@@ -169,3 +169,10 @@ const splitBorders = {
169
169
  ```
170
170
 
171
171
  - Required: No
172
+
173
+ ### `__next40pxDefaultSize`: `boolean`
174
+
175
+ Start opting into the larger default height that will become the default size in a future version.
176
+
177
+ - Required: No
178
+ - Default: `false`
@@ -173,3 +173,10 @@ Flags whether this `BorderControl` should also render a `RangeControl` for
173
173
  additional control over a border's width.
174
174
 
175
175
  - Required: No
176
+
177
+ ### `__next40pxDefaultSize`: `boolean`
178
+
179
+ Start opting into the larger default height that will become the default size in a future version.
180
+
181
+ - Required: No
182
+ - Default: `false`
@@ -99,7 +99,7 @@ export const colorIndicatorWrapper = (
99
99
  const { style } = border || {};
100
100
 
101
101
  return css`
102
- border-radius: 9999px;
102
+ border-radius: ${ CONFIG.radiusFull };
103
103
  border: 2px solid transparent;
104
104
  ${ style ? colorIndicatorBorder( border ) : undefined }
105
105
  width: ${ size === '__unstable-large' ? '24px' : '22px' };
@@ -292,6 +292,13 @@ Specifies the button's style. The accepted values are `'primary'` (the primary b
292
292
 
293
293
  - Required: No
294
294
 
295
+ #### `__next40pxDefaultSize`: `boolean`
296
+
297
+ Start opting into the larger default height that will become the default size in a future version.
298
+
299
+ - Required: No
300
+ - Default: `false`
301
+
295
302
  ## Related components
296
303
 
297
304
  - To group buttons together, use the [ButtonGroup](/packages/components/src/button-group/README.md) component.
@@ -22,7 +22,7 @@
22
22
  align-items: center;
23
23
  box-sizing: border-box;
24
24
  padding: 6px 12px;
25
- border-radius: $radius-block-ui;
25
+ border-radius: $radius-small;
26
26
  color: $components-color-foreground;
27
27
 
28
28
  &.is-next-40px-default-size {
@@ -249,7 +249,7 @@
249
249
  height: auto;
250
250
 
251
251
  &:focus {
252
- border-radius: $radius-block-ui;
252
+ border-radius: $radius-small;
253
253
  }
254
254
 
255
255
  &:disabled,
@@ -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
 
@@ -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%);
@@ -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
 
@@ -17,6 +17,18 @@ import type { ColorObject, ColorPaletteProps, PaletteObject } from './types';
17
17
 
18
18
  extend( [ namesPlugin, a11yPlugin ] );
19
19
 
20
+ /**
21
+ * Checks if a color value is a simple CSS color.
22
+ *
23
+ * @param value The color value to check.
24
+ * @return A boolean indicating whether the color value is a simple CSS color.
25
+ */
26
+ const isSimpleCSSColor = ( value: string ): boolean => {
27
+ const valueIsCssVariable = /var\(/.test( value ?? '' );
28
+ const valueIsColorMix = /color-mix\(/.test( value ?? '' );
29
+ return ! valueIsCssVariable && ! valueIsColorMix;
30
+ };
31
+
20
32
  export const extractColorNameFromCurrentValue = (
21
33
  currentValue?: ColorPaletteProps[ 'value' ],
22
34
  colors: ColorPaletteProps[ 'colors' ] = [],
@@ -25,11 +37,12 @@ export const extractColorNameFromCurrentValue = (
25
37
  if ( ! currentValue ) {
26
38
  return '';
27
39
  }
28
-
29
- const currentValueIsCssVariable = /^var\(/.test( currentValue );
30
- const normalizedCurrentValue = currentValueIsCssVariable
31
- ? currentValue
32
- : colord( currentValue ).toHex();
40
+ const currentValueIsSimpleColor = currentValue
41
+ ? isSimpleCSSColor( currentValue )
42
+ : false;
43
+ const normalizedCurrentValue = currentValueIsSimpleColor
44
+ ? colord( currentValue ).toHex()
45
+ : currentValue;
33
46
 
34
47
  // Normalize format of `colors` to simplify the following loop
35
48
  type normalizedPaletteObject = { colors: ColorObject[] };
@@ -38,9 +51,9 @@ export const extractColorNameFromCurrentValue = (
38
51
  : [ { colors: colors as ColorObject[] } ];
39
52
  for ( const { colors: paletteColors } of colorPalettes ) {
40
53
  for ( const { name: colorName, color: colorValue } of paletteColors ) {
41
- const normalizedColorValue = currentValueIsCssVariable
42
- ? colorValue
43
- : colord( colorValue ).toHex();
54
+ const normalizedColorValue = currentValueIsSimpleColor
55
+ ? colord( colorValue ).toHex()
56
+ : colorValue;
44
57
 
45
58
  if ( normalizedCurrentValue === normalizedColorValue ) {
46
59
  return colorName;
@@ -79,9 +92,9 @@ export const normalizeColorValue = (
79
92
  value: string | undefined,
80
93
  element: HTMLElement | null
81
94
  ) => {
82
- const currentValueIsCssVariable = /^var\(/.test( value ?? '' );
95
+ const valueIsSimpleColor = value ? isSimpleCSSColor( value ) : false;
83
96
 
84
- if ( ! currentValueIsCssVariable || element === null ) {
97
+ if ( valueIsSimpleColor || element === null ) {
85
98
  return value;
86
99
  }
87
100
 
@@ -53,6 +53,7 @@ export const InputWithSlider = ( {
53
53
  />
54
54
  <RangeControl
55
55
  __nextHasNoMarginBottom
56
+ __next40pxDefaultSize
56
57
  label={ label }
57
58
  hideLabelFromVision
58
59
  min={ min }
@@ -118,6 +118,14 @@ Custom renderer invoked for each option in the suggestion list. The render prop
118
118
  - Type: `( args: { item: object } ) => ReactNode`
119
119
  - Required: No
120
120
 
121
+ #### __next40pxDefaultSize
122
+
123
+ Start opting into the larger default height that will become the default size in a future version.
124
+
125
+ - Type: `Boolean`
126
+ - Required: No
127
+ - Default: `false`
128
+
121
129
  #### __nextHasNoMarginBottom
122
130
 
123
131
  Start opting into the new margin-free styles that will become the default in a future version.
@@ -320,6 +320,7 @@ function ComboboxControl( props: ComboboxControlProps ) {
320
320
  <DetectOutside onFocusOutside={ onFocusOutside }>
321
321
  <BaseControl
322
322
  __nextHasNoMarginBottom={ __nextHasNoMarginBottom }
323
+ __associatedWPComponentName="ComboboxControl"
323
324
  className={ clsx( className, 'components-combobox-control' ) }
324
325
  label={ label }
325
326
  id={ `components-form-token-input-${ instanceId }` }
@@ -76,6 +76,7 @@ const Template: StoryFn< typeof ComboboxControl > = ( {
76
76
  };
77
77
  export const Default = Template.bind( {} );
78
78
  Default.args = {
79
+ __nextHasNoMarginBottom: true,
79
80
  allowReset: false,
80
81
  label: 'Select a country',
81
82
  options: countryOptions,
@@ -135,8 +136,7 @@ const optionsWithDisabledOptions = countryOptions.map( ( option, index ) => ( {
135
136
  } ) );
136
137
 
137
138
  WithDisabledOptions.args = {
138
- allowReset: false,
139
- label: 'Select a country',
139
+ ...Default.args,
140
140
  options: optionsWithDisabledOptions,
141
141
  };
142
142
 
@@ -148,8 +148,7 @@ WithDisabledOptions.args = {
148
148
  export const NotExpandOnFocus = Template.bind( {} );
149
149
 
150
150
  NotExpandOnFocus.args = {
151
- allowReset: false,
152
- label: 'Select a country',
151
+ ...Default.args,
153
152
  options: countryOptions,
154
153
  expandOnFocus: false,
155
154
  };
@@ -12,7 +12,7 @@ import { useState } from '@wordpress/element';
12
12
  /**
13
13
  * Internal dependencies
14
14
  */
15
- import ComboboxControl from '..';
15
+ import _ComboboxControl from '..';
16
16
  import type { ComboboxControlOption, ComboboxControlProps } from '../types';
17
17
 
18
18
  const timezones = [
@@ -57,6 +57,10 @@ const getAllOptions = () => screen.getAllByRole( 'option' );
57
57
  const getOptionSearchString = ( option: ComboboxControlOption ) =>
58
58
  option.label.substring( 0, 11 );
59
59
 
60
+ const ComboboxControl = ( props: ComboboxControlProps ) => {
61
+ return <_ComboboxControl { ...props } __nextHasNoMarginBottom />;
62
+ };
63
+
60
64
  const ControlledComboboxControl = ( {
61
65
  value: valueProp,
62
66
  onChange,