@wordpress/components 29.0.0 → 29.1.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 (469) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/LICENSE.md +1 -1
  3. package/build/badge/index.js +64 -0
  4. package/build/badge/index.js.map +1 -0
  5. package/build/badge/types.js +6 -0
  6. package/build/badge/types.js.map +1 -0
  7. package/build/box-control/index.js +5 -1
  8. package/build/box-control/index.js.map +1 -1
  9. package/build/box-control/input-control.js +90 -29
  10. package/build/box-control/input-control.js.map +1 -1
  11. package/build/box-control/types.js.map +1 -1
  12. package/build/box-control/utils.js +50 -0
  13. package/build/box-control/utils.js.map +1 -1
  14. package/build/button-group/index.js +10 -0
  15. package/build/button-group/index.js.map +1 -1
  16. package/build/button-group/types.js.map +1 -1
  17. package/build/custom-select-control/index.js +3 -5
  18. package/build/custom-select-control/index.js.map +1 -1
  19. package/build/custom-select-control-v2/custom-select.js +2 -3
  20. package/build/custom-select-control-v2/custom-select.js.map +1 -1
  21. package/build/date-time/date/index.js +1 -0
  22. package/build/date-time/date/index.js.map +1 -1
  23. package/build/dimension-control/index.js +1 -0
  24. package/build/dimension-control/index.js.map +1 -1
  25. package/build/font-size-picker/styles.js +9 -9
  26. package/build/font-size-picker/styles.js.map +1 -1
  27. package/build/heading/hook.js +1 -1
  28. package/build/heading/hook.js.map +1 -1
  29. package/build/input-control/index.js +9 -0
  30. package/build/input-control/index.js.map +1 -1
  31. package/build/input-control/types.js.map +1 -1
  32. package/build/menu/checkbox-item.js +2 -0
  33. package/build/menu/checkbox-item.js.map +1 -1
  34. package/build/menu/index.js +25 -94
  35. package/build/menu/index.js.map +1 -1
  36. package/build/menu/item.js +10 -1
  37. package/build/menu/item.js.map +1 -1
  38. package/build/menu/popover.js +89 -0
  39. package/build/menu/popover.js.map +1 -0
  40. package/build/menu/radio-item.js +2 -0
  41. package/build/menu/radio-item.js.map +1 -1
  42. package/build/menu/submenu-trigger-item.js +58 -0
  43. package/build/menu/submenu-trigger-item.js.map +1 -0
  44. package/build/menu/trigger-button.js +45 -0
  45. package/build/menu/trigger-button.js.map +1 -0
  46. package/build/menu/types.js.map +1 -1
  47. package/build/navigation/back-button/index.js +1 -0
  48. package/build/navigation/back-button/index.js.map +1 -1
  49. package/build/navigation/index.js +6 -0
  50. package/build/navigation/index.js.map +1 -1
  51. package/build/navigation/item/index.js +1 -0
  52. package/build/navigation/item/index.js.map +1 -1
  53. package/build/number-control/index.js +1 -0
  54. package/build/number-control/index.js.map +1 -1
  55. package/build/palette-edit/index.js +1 -0
  56. package/build/palette-edit/index.js.map +1 -1
  57. package/build/private-apis.js +3 -1
  58. package/build/private-apis.js.map +1 -1
  59. package/build/radio-group/index.js +6 -0
  60. package/build/radio-group/index.js.map +1 -1
  61. package/build/radio-group/radio.js +2 -3
  62. package/build/radio-group/radio.js.map +1 -1
  63. package/build/range-control/styles/range-control-styles.js +28 -28
  64. package/build/range-control/styles/range-control-styles.js.map +1 -1
  65. package/build/select-control/index.js +9 -0
  66. package/build/select-control/index.js.map +1 -1
  67. package/build/select-control/types.js.map +1 -1
  68. package/build/slot-fill/context.js +4 -3
  69. package/build/slot-fill/context.js.map +1 -1
  70. package/build/slot-fill/fill.js +10 -15
  71. package/build/slot-fill/fill.js.map +1 -1
  72. package/build/slot-fill/provider.js +41 -55
  73. package/build/slot-fill/provider.js.map +1 -1
  74. package/build/slot-fill/slot.js +31 -23
  75. package/build/slot-fill/slot.js.map +1 -1
  76. package/build/slot-fill/types.js.map +1 -1
  77. package/build/tab-panel/index.js +2 -3
  78. package/build/tab-panel/index.js.map +1 -1
  79. package/build/tabs/index.js +21 -4
  80. package/build/tabs/index.js.map +1 -1
  81. package/build/tabs/types.js.map +1 -1
  82. package/build/text/hook.js +6 -6
  83. package/build/text/hook.js.map +1 -1
  84. package/build/text/styles.js +7 -7
  85. package/build/text/styles.js.map +1 -1
  86. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +2 -3
  87. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  88. package/build/tooltip/index.js +2 -3
  89. package/build/tooltip/index.js.map +1 -1
  90. package/build/tree-select/index.js +10 -2
  91. package/build/tree-select/index.js.map +1 -1
  92. package/build/tree-select/types.js.map +1 -1
  93. package/build-module/badge/index.js +57 -0
  94. package/build-module/badge/index.js.map +1 -0
  95. package/build-module/badge/types.js +2 -0
  96. package/build-module/badge/types.js.map +1 -0
  97. package/build-module/box-control/index.js +5 -1
  98. package/build-module/box-control/index.js.map +1 -1
  99. package/build-module/box-control/input-control.js +92 -31
  100. package/build-module/box-control/input-control.js.map +1 -1
  101. package/build-module/box-control/types.js.map +1 -1
  102. package/build-module/box-control/utils.js +47 -0
  103. package/build-module/box-control/utils.js.map +1 -1
  104. package/build-module/button-group/index.js +10 -0
  105. package/build-module/button-group/index.js.map +1 -1
  106. package/build-module/button-group/types.js.map +1 -1
  107. package/build-module/custom-select-control/index.js +3 -5
  108. package/build-module/custom-select-control/index.js.map +1 -1
  109. package/build-module/custom-select-control-v2/custom-select.js +1 -2
  110. package/build-module/custom-select-control-v2/custom-select.js.map +1 -1
  111. package/build-module/date-time/date/index.js +1 -0
  112. package/build-module/date-time/date/index.js.map +1 -1
  113. package/build-module/dimension-control/index.js +1 -0
  114. package/build-module/dimension-control/index.js.map +1 -1
  115. package/build-module/font-size-picker/styles.js +9 -9
  116. package/build-module/font-size-picker/styles.js.map +1 -1
  117. package/build-module/heading/hook.js +1 -1
  118. package/build-module/heading/hook.js.map +1 -1
  119. package/build-module/input-control/index.js +9 -0
  120. package/build-module/input-control/index.js.map +1 -1
  121. package/build-module/input-control/types.js.map +1 -1
  122. package/build-module/menu/checkbox-item.js +2 -0
  123. package/build-module/menu/checkbox-item.js.map +1 -1
  124. package/build-module/menu/index.js +28 -97
  125. package/build-module/menu/index.js.map +1 -1
  126. package/build-module/menu/item.js +10 -1
  127. package/build-module/menu/item.js.map +1 -1
  128. package/build-module/menu/popover.js +81 -0
  129. package/build-module/menu/popover.js.map +1 -0
  130. package/build-module/menu/radio-item.js +2 -0
  131. package/build-module/menu/radio-item.js.map +1 -1
  132. package/build-module/menu/submenu-trigger-item.js +50 -0
  133. package/build-module/menu/submenu-trigger-item.js.map +1 -0
  134. package/build-module/menu/trigger-button.js +37 -0
  135. package/build-module/menu/trigger-button.js.map +1 -0
  136. package/build-module/menu/types.js.map +1 -1
  137. package/build-module/navigation/back-button/index.js +1 -0
  138. package/build-module/navigation/back-button/index.js.map +1 -1
  139. package/build-module/navigation/index.js +6 -0
  140. package/build-module/navigation/index.js.map +1 -1
  141. package/build-module/navigation/item/index.js +1 -0
  142. package/build-module/navigation/item/index.js.map +1 -1
  143. package/build-module/number-control/index.js +1 -0
  144. package/build-module/number-control/index.js.map +1 -1
  145. package/build-module/palette-edit/index.js +1 -0
  146. package/build-module/palette-edit/index.js.map +1 -1
  147. package/build-module/private-apis.js +3 -1
  148. package/build-module/private-apis.js.map +1 -1
  149. package/build-module/radio-group/index.js +6 -0
  150. package/build-module/radio-group/index.js.map +1 -1
  151. package/build-module/radio-group/radio.js +1 -2
  152. package/build-module/radio-group/radio.js.map +1 -1
  153. package/build-module/range-control/styles/range-control-styles.js +28 -28
  154. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  155. package/build-module/select-control/index.js +9 -0
  156. package/build-module/select-control/index.js.map +1 -1
  157. package/build-module/select-control/types.js.map +1 -1
  158. package/build-module/slot-fill/context.js +5 -3
  159. package/build-module/slot-fill/context.js.map +1 -1
  160. package/build-module/slot-fill/fill.js +10 -15
  161. package/build-module/slot-fill/fill.js.map +1 -1
  162. package/build-module/slot-fill/provider.js +41 -55
  163. package/build-module/slot-fill/provider.js.map +1 -1
  164. package/build-module/slot-fill/slot.js +32 -24
  165. package/build-module/slot-fill/slot.js.map +1 -1
  166. package/build-module/slot-fill/types.js.map +1 -1
  167. package/build-module/tab-panel/index.js +1 -2
  168. package/build-module/tab-panel/index.js.map +1 -1
  169. package/build-module/tabs/index.js +21 -4
  170. package/build-module/tabs/index.js.map +1 -1
  171. package/build-module/tabs/types.js.map +1 -1
  172. package/build-module/text/hook.js +6 -6
  173. package/build-module/text/hook.js.map +1 -1
  174. package/build-module/text/styles.js +7 -7
  175. package/build-module/text/styles.js.map +1 -1
  176. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +1 -2
  177. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  178. package/build-module/tooltip/index.js +1 -2
  179. package/build-module/tooltip/index.js.map +1 -1
  180. package/build-module/tree-select/index.js +10 -2
  181. package/build-module/tree-select/index.js.map +1 -1
  182. package/build-module/tree-select/types.js.map +1 -1
  183. package/build-style/style-rtl.css +60 -13
  184. package/build-style/style.css +60 -13
  185. package/build-types/alignment-matrix-control/stories/index.story.d.ts +1 -1
  186. package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
  187. package/build-types/angle-picker-control/stories/index.story.d.ts +1 -1
  188. package/build-types/animate/stories/index.story.d.ts +7 -7
  189. package/build-types/animate/stories/index.story.d.ts.map +1 -1
  190. package/build-types/badge/index.d.ts +8 -0
  191. package/build-types/badge/index.d.ts.map +1 -0
  192. package/build-types/badge/stories/index.story.d.ts +17 -0
  193. package/build-types/badge/stories/index.story.d.ts.map +1 -0
  194. package/build-types/badge/test/index.d.ts +2 -0
  195. package/build-types/badge/test/index.d.ts.map +1 -0
  196. package/build-types/badge/types.d.ts +13 -0
  197. package/build-types/badge/types.d.ts.map +1 -0
  198. package/build-types/base-control/stories/index.story.d.ts +1 -1
  199. package/build-types/border-box-control/stories/index.story.d.ts +1 -1
  200. package/build-types/border-control/stories/index.story.d.ts +5 -5
  201. package/build-types/box-control/index.d.ts +1 -1
  202. package/build-types/box-control/index.d.ts.map +1 -1
  203. package/build-types/box-control/input-control.d.ts +1 -1
  204. package/build-types/box-control/input-control.d.ts.map +1 -1
  205. package/build-types/box-control/stories/index.story.d.ts +356 -11
  206. package/build-types/box-control/stories/index.story.d.ts.map +1 -1
  207. package/build-types/box-control/styles/box-control-styles.d.ts +2 -2
  208. package/build-types/box-control/types.d.ts +17 -0
  209. package/build-types/box-control/types.d.ts.map +1 -1
  210. package/build-types/box-control/utils.d.ts +27 -1
  211. package/build-types/box-control/utils.d.ts.map +1 -1
  212. package/build-types/button/stories/e2e/index.story.d.ts +1 -1
  213. package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
  214. package/build-types/button/stories/index.story.d.ts +7 -7
  215. package/build-types/button/stories/index.story.d.ts.map +1 -1
  216. package/build-types/button-group/index.d.ts +3 -1
  217. package/build-types/button-group/index.d.ts.map +1 -1
  218. package/build-types/button-group/stories/index.story.d.ts +6 -0
  219. package/build-types/button-group/stories/index.story.d.ts.map +1 -1
  220. package/build-types/button-group/types.d.ts +7 -0
  221. package/build-types/button-group/types.d.ts.map +1 -1
  222. package/build-types/circular-option-picker/stories/index.story.d.ts +5 -5
  223. package/build-types/circular-option-picker/stories/index.story.d.ts.map +1 -1
  224. package/build-types/color-palette/stories/index.story.d.ts +3 -3
  225. package/build-types/color-palette/stories/index.story.d.ts.map +1 -1
  226. package/build-types/color-picker/styles.d.ts +2 -2
  227. package/build-types/color-picker/styles.d.ts.map +1 -1
  228. package/build-types/combobox-control/stories/index.story.d.ts +4 -4
  229. package/build-types/confirm-dialog/stories/index.story.d.ts +2 -2
  230. package/build-types/confirm-dialog/stories/index.story.d.ts.map +1 -1
  231. package/build-types/custom-gradient-picker/stories/index.story.d.ts +1 -1
  232. package/build-types/custom-gradient-picker/stories/index.story.d.ts.map +1 -1
  233. package/build-types/custom-select-control/stories/index.story.d.ts +3 -3
  234. package/build-types/custom-select-control/stories/index.story.d.ts.map +1 -1
  235. package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
  236. package/build-types/custom-select-control-v2/stories/index.story.d.ts +3 -3
  237. package/build-types/custom-select-control-v2/stories/index.story.d.ts.map +1 -1
  238. package/build-types/date-time/date/index.d.ts.map +1 -1
  239. package/build-types/date-time/stories/time.story.d.ts +1 -1
  240. package/build-types/date-time/stories/time.story.d.ts.map +1 -1
  241. package/build-types/date-time/time/styles.d.ts +4 -4
  242. package/build-types/dimension-control/index.d.ts.map +1 -1
  243. package/build-types/dimension-control/stories/index.story.d.ts +1 -1
  244. package/build-types/disabled/stories/index.story.d.ts.map +1 -1
  245. package/build-types/drop-zone/stories/index.story.d.ts +1 -1
  246. package/build-types/drop-zone/stories/index.story.d.ts.map +1 -1
  247. package/build-types/duotone-picker/stories/duotone-picker.story.d.ts +1 -1
  248. package/build-types/duotone-picker/stories/duotone-picker.story.d.ts.map +1 -1
  249. package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts +3 -3
  250. package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts.map +1 -1
  251. package/build-types/focal-point-picker/stories/index.story.d.ts +4 -4
  252. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
  253. package/build-types/font-size-picker/styles.d.ts.map +1 -1
  254. package/build-types/form-file-upload/stories/index.story.d.ts +5 -5
  255. package/build-types/form-file-upload/stories/index.story.d.ts.map +1 -1
  256. package/build-types/gradient-picker/stories/index.story.d.ts +3 -3
  257. package/build-types/gradient-picker/stories/index.story.d.ts.map +1 -1
  258. package/build-types/guide/stories/index.story.d.ts +1 -1
  259. package/build-types/guide/stories/index.story.d.ts.map +1 -1
  260. package/build-types/icon/stories/index.story.d.ts +4 -4
  261. package/build-types/icon/stories/index.story.d.ts.map +1 -1
  262. package/build-types/input-control/index.d.ts +1 -0
  263. package/build-types/input-control/index.d.ts.map +1 -1
  264. package/build-types/input-control/stories/index.story.d.ts +7 -7
  265. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  266. package/build-types/input-control/types.d.ts +11 -2
  267. package/build-types/input-control/types.d.ts.map +1 -1
  268. package/build-types/keyboard-shortcuts/stories/index.story.d.ts +1 -1
  269. package/build-types/keyboard-shortcuts/stories/index.story.d.ts.map +1 -1
  270. package/build-types/menu/checkbox-item.d.ts.map +1 -1
  271. package/build-types/menu/index.d.ts +10 -1
  272. package/build-types/menu/index.d.ts.map +1 -1
  273. package/build-types/menu/item.d.ts.map +1 -1
  274. package/build-types/menu/popover.d.ts +3 -0
  275. package/build-types/menu/popover.d.ts.map +1 -0
  276. package/build-types/menu/radio-item.d.ts.map +1 -1
  277. package/build-types/menu/stories/index.story.d.ts +9 -9
  278. package/build-types/menu/stories/index.story.d.ts.map +1 -1
  279. package/build-types/menu/submenu-trigger-item.d.ts +3 -0
  280. package/build-types/menu/submenu-trigger-item.d.ts.map +1 -0
  281. package/build-types/menu/trigger-button.d.ts +3 -0
  282. package/build-types/menu/trigger-button.d.ts.map +1 -0
  283. package/build-types/menu/types.d.ts +208 -57
  284. package/build-types/menu/types.d.ts.map +1 -1
  285. package/build-types/menu-group/stories/index.story.d.ts +1 -1
  286. package/build-types/menu-group/stories/index.story.d.ts.map +1 -1
  287. package/build-types/menu-item/stories/index.story.d.ts +4 -4
  288. package/build-types/modal/stories/index.story.d.ts.map +1 -1
  289. package/build-types/navigation/back-button/index.d.ts.map +1 -1
  290. package/build-types/navigation/index.d.ts.map +1 -1
  291. package/build-types/navigation/item/index.d.ts.map +1 -1
  292. package/build-types/navigation/stories/index.story.d.ts +6 -6
  293. package/build-types/navigation/stories/index.story.d.ts.map +1 -1
  294. package/build-types/notice/stories/index.story.d.ts +4 -4
  295. package/build-types/notice/stories/index.story.d.ts.map +1 -1
  296. package/build-types/number-control/index.d.ts +1 -1
  297. package/build-types/number-control/index.d.ts.map +1 -1
  298. package/build-types/number-control/stories/index.story.d.ts +2 -2
  299. package/build-types/palette-edit/index.d.ts.map +1 -1
  300. package/build-types/palette-edit/stories/index.story.d.ts +2 -2
  301. package/build-types/palette-edit/stories/index.story.d.ts.map +1 -1
  302. package/build-types/private-apis.d.ts.map +1 -1
  303. package/build-types/progress-bar/stories/index.story.d.ts +1 -1
  304. package/build-types/progress-bar/stories/index.story.d.ts.map +1 -1
  305. package/build-types/query-controls/stories/index.story.d.ts +1 -1
  306. package/build-types/query-controls/stories/index.story.d.ts.map +1 -1
  307. package/build-types/radio-group/index.d.ts.map +1 -1
  308. package/build-types/radio-group/radio.d.ts.map +1 -1
  309. package/build-types/range-control/index.d.ts +1 -1
  310. package/build-types/range-control/styles/range-control-styles.d.ts +1 -1
  311. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  312. package/build-types/resizable-box/stories/index.story.d.ts +2 -2
  313. package/build-types/responsive-wrapper/stories/index.story.d.ts +1 -1
  314. package/build-types/responsive-wrapper/stories/index.story.d.ts.map +1 -1
  315. package/build-types/sandbox/stories/index.story.d.ts +1 -1
  316. package/build-types/sandbox/stories/index.story.d.ts.map +1 -1
  317. package/build-types/search-control/stories/index.story.d.ts +1 -1
  318. package/build-types/search-control/stories/index.story.d.ts.map +1 -1
  319. package/build-types/select-control/index.d.ts +1 -0
  320. package/build-types/select-control/index.d.ts.map +1 -1
  321. package/build-types/select-control/stories/index.story.d.ts +5 -5
  322. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  323. package/build-types/select-control/types.d.ts +1 -1
  324. package/build-types/select-control/types.d.ts.map +1 -1
  325. package/build-types/shortcut/stories/index.story.d.ts +1 -1
  326. package/build-types/shortcut/stories/index.story.d.ts.map +1 -1
  327. package/build-types/slot-fill/context.d.ts.map +1 -1
  328. package/build-types/slot-fill/fill.d.ts.map +1 -1
  329. package/build-types/slot-fill/provider.d.ts.map +1 -1
  330. package/build-types/slot-fill/slot.d.ts.map +1 -1
  331. package/build-types/slot-fill/types.d.ts +13 -11
  332. package/build-types/slot-fill/types.d.ts.map +1 -1
  333. package/build-types/tab-panel/index.d.ts.map +1 -1
  334. package/build-types/tab-panel/stories/index.story.d.ts +4 -4
  335. package/build-types/tab-panel/stories/index.story.d.ts.map +1 -1
  336. package/build-types/tabs/index.d.ts +21 -4
  337. package/build-types/tabs/index.d.ts.map +1 -1
  338. package/build-types/tabs/stories/index.story.d.ts +10 -10
  339. package/build-types/tabs/stories/index.story.d.ts.map +1 -1
  340. package/build-types/tabs/types.d.ts +13 -13
  341. package/build-types/tabs/types.d.ts.map +1 -1
  342. package/build-types/text/stories/index.story.d.ts +3 -3
  343. package/build-types/theme/stories/index.story.d.ts +1 -1
  344. package/build-types/toggle-control/stories/index.story.d.ts +2 -2
  345. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
  346. package/build-types/toolbar/stories/index.story.d.ts +3 -3
  347. package/build-types/toolbar/stories/index.story.d.ts.map +1 -1
  348. package/build-types/tooltip/index.d.ts.map +1 -1
  349. package/build-types/tooltip/stories/index.story.d.ts +1 -1
  350. package/build-types/tooltip/stories/index.story.d.ts.map +1 -1
  351. package/build-types/tree-grid/stories/index.story.d.ts +1 -1
  352. package/build-types/tree-grid/stories/index.story.d.ts.map +1 -1
  353. package/build-types/tree-select/index.d.ts +3 -2
  354. package/build-types/tree-select/index.d.ts.map +1 -1
  355. package/build-types/tree-select/stories/index.story.d.ts +1 -1
  356. package/build-types/tree-select/stories/index.story.d.ts.map +1 -1
  357. package/build-types/tree-select/types.d.ts +5 -1
  358. package/build-types/tree-select/types.d.ts.map +1 -1
  359. package/build-types/unit-control/index.d.ts +1 -1
  360. package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
  361. package/build-types/v-stack/stories/index.story.d.ts +1 -1
  362. package/package.json +19 -19
  363. package/src/alignment-matrix-control/README.md +16 -15
  364. package/src/angle-picker-control/README.md +10 -9
  365. package/src/badge/README.md +24 -0
  366. package/src/badge/docs-manifest.json +5 -0
  367. package/src/badge/index.tsx +67 -0
  368. package/src/badge/stories/index.story.tsx +54 -0
  369. package/src/badge/styles.scss +49 -0
  370. package/src/badge/test/index.tsx +45 -0
  371. package/src/badge/types.ts +12 -0
  372. package/src/base-control/README.md +22 -21
  373. package/src/box-control/README.md +41 -24
  374. package/src/box-control/index.tsx +4 -0
  375. package/src/box-control/input-control.tsx +142 -40
  376. package/src/box-control/stories/index.story.tsx +12 -0
  377. package/src/box-control/types.ts +18 -0
  378. package/src/box-control/utils.ts +60 -0
  379. package/src/button/README.md +51 -50
  380. package/src/button/style.scss +9 -10
  381. package/src/button/test/index.tsx +9 -2
  382. package/src/button-group/README.md +4 -0
  383. package/src/button-group/index.tsx +11 -1
  384. package/src/button-group/stories/index.story.tsx +8 -1
  385. package/src/button-group/types.ts +7 -0
  386. package/src/custom-select-control/index.tsx +3 -3
  387. package/src/custom-select-control-v2/custom-select.tsx +1 -2
  388. package/src/custom-select-control-v2/stories/index.story.tsx +4 -0
  389. package/src/date-time/date/index.tsx +1 -0
  390. package/src/dimension-control/index.tsx +1 -0
  391. package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -4
  392. package/src/disabled/stories/index.story.tsx +1 -0
  393. package/src/drop-zone/stories/index.story.tsx +7 -1
  394. package/src/font-size-picker/styles.ts +1 -0
  395. package/src/form-file-upload/README.md +22 -21
  396. package/src/gradient-picker/README.md +36 -35
  397. package/src/heading/hook.ts +1 -1
  398. package/src/heading/test/__snapshots__/index.tsx.snap +4 -4
  399. package/src/icon/README.md +9 -8
  400. package/src/input-control/README.md +1 -0
  401. package/src/input-control/index.tsx +10 -0
  402. package/src/input-control/stories/index.story.tsx +6 -1
  403. package/src/input-control/test/index.js +9 -3
  404. package/src/input-control/types.ts +11 -2
  405. package/src/menu/checkbox-item.tsx +2 -1
  406. package/src/menu/index.tsx +61 -165
  407. package/src/menu/item.tsx +17 -2
  408. package/src/menu/popover.tsx +103 -0
  409. package/src/menu/radio-item.tsx +2 -1
  410. package/src/menu/stories/index.story.tsx +533 -381
  411. package/src/menu/submenu-trigger-item.tsx +61 -0
  412. package/src/menu/test/index.tsx +266 -182
  413. package/src/menu/trigger-button.tsx +46 -0
  414. package/src/menu/types.ts +210 -63
  415. package/src/modal/stories/index.story.tsx +4 -1
  416. package/src/navigation/back-button/index.tsx +1 -0
  417. package/src/navigation/index.tsx +7 -0
  418. package/src/navigation/item/index.tsx +2 -0
  419. package/src/navigation/test/index.tsx +4 -0
  420. package/src/navigator/test/index.tsx +4 -0
  421. package/src/number-control/index.tsx +1 -0
  422. package/src/palette-edit/index.tsx +1 -0
  423. package/src/panel/stories/index.story.tsx +3 -3
  424. package/src/private-apis.ts +2 -0
  425. package/src/radio-group/index.tsx +12 -1
  426. package/src/radio-group/radio.tsx +1 -2
  427. package/src/range-control/styles/range-control-styles.ts +8 -4
  428. package/src/select-control/README.md +3 -0
  429. package/src/select-control/index.tsx +10 -0
  430. package/src/select-control/stories/index.story.tsx +2 -0
  431. package/src/select-control/test/select-control.tsx +7 -1
  432. package/src/select-control/types.ts +1 -0
  433. package/src/slot-fill/context.ts +5 -3
  434. package/src/slot-fill/fill.ts +10 -15
  435. package/src/slot-fill/provider.tsx +63 -64
  436. package/src/slot-fill/slot.tsx +40 -27
  437. package/src/slot-fill/types.ts +23 -11
  438. package/src/style.scss +1 -0
  439. package/src/tab-panel/index.tsx +1 -2
  440. package/src/tab-panel/stories/index.story.tsx +4 -0
  441. package/src/tabs/README.md +151 -187
  442. package/src/tabs/docs-manifest.json +22 -0
  443. package/src/tabs/index.tsx +21 -4
  444. package/src/tabs/stories/best-practices.mdx +99 -0
  445. package/src/tabs/stories/index.story.tsx +5 -0
  446. package/src/tabs/types.ts +13 -14
  447. package/src/text/hook.ts +2 -2
  448. package/src/text/styles.ts +1 -1
  449. package/src/text/test/__snapshots__/index.tsx.snap +3 -3
  450. package/src/text/test/index.tsx +1 -1
  451. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +2 -2
  452. package/src/toggle-group-control/test/index.tsx +7 -1
  453. package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +1 -2
  454. package/src/tooltip/index.tsx +1 -2
  455. package/src/tree-grid/stories/index.story.tsx +2 -0
  456. package/src/tree-select/README.md +144 -28
  457. package/src/tree-select/docs-manifest.json +5 -0
  458. package/src/tree-select/index.tsx +11 -2
  459. package/src/tree-select/stories/index.story.tsx +1 -0
  460. package/src/tree-select/types.ts +8 -1
  461. package/tsconfig.json +0 -3
  462. package/tsconfig.tsbuildinfo +1 -1
  463. package/build/slot-fill/use-slot.js +0 -32
  464. package/build/slot-fill/use-slot.js.map +0 -1
  465. package/build-module/slot-fill/use-slot.js +0 -24
  466. package/build-module/slot-fill/use-slot.js.map +0 -1
  467. package/build-types/slot-fill/use-slot.d.ts +0 -10
  468. package/build-types/slot-fill/use-slot.d.ts.map +0 -1
  469. package/src/slot-fill/use-slot.ts +0 -27
package/src/tabs/types.ts CHANGED
@@ -22,18 +22,16 @@ export type TabsProps = {
22
22
  * `Tabs.Tablist` component and as many instances of the `Tabs.TabPanel`
23
23
  * components as there are `Tabs.Tab` components.
24
24
  */
25
- children: Ariakit.TabProps[ 'children' ];
25
+ children: Ariakit.TabProviderProps[ 'children' ];
26
26
  /**
27
27
  * Determines if the tab should be selected when it receives focus. If set to
28
28
  * `false`, the tab will only be selected upon clicking, not when using arrow
29
- * keys to shift focus (manual tab activation). See the official W3C docs
29
+ * keys to shift focus (manual tab activation). See the [official W3C docs](https://www.w3.org/WAI/ARIA/apg/patterns/tabpanel/)
30
30
  * for more info.
31
31
  *
32
32
  * @default true
33
- *
34
- * @see https://www.w3.org/WAI/ARIA/apg/patterns/tabpanel/
35
33
  */
36
- selectOnMove?: Ariakit.TabStoreProps[ 'selectOnMove' ];
34
+ selectOnMove?: Ariakit.TabProviderProps[ 'selectOnMove' ];
37
35
  /**
38
36
  * The id of the tab whose panel is currently visible.
39
37
  *
@@ -44,7 +42,7 @@ export type TabsProps = {
44
42
  * in "controlled" mode. When in "controlled" mode, the `null` value will
45
43
  * result in no tabs being selected, and the tablist becoming tabbable.
46
44
  */
47
- selectedTabId?: Ariakit.TabStoreProps[ 'selectedId' ];
45
+ selectedTabId?: Ariakit.TabProviderProps[ 'selectedId' ];
48
46
  /**
49
47
  * The id of the tab whose panel is currently visible.
50
48
  *
@@ -55,21 +53,22 @@ export type TabsProps = {
55
53
  * Note: this prop will be overridden by the `selectedTabId` prop if it is
56
54
  * provided (meaning the component will be used in "controlled" mode).
57
55
  */
58
- defaultTabId?: Ariakit.TabStoreProps[ 'defaultSelectedId' ];
56
+ defaultTabId?: Ariakit.TabProviderProps[ 'defaultSelectedId' ];
59
57
  /**
60
58
  * The function called when the `selectedTabId` changes.
61
59
  */
62
- onSelect?: Ariakit.TabStoreProps[ 'setSelectedId' ];
60
+ onSelect?: Ariakit.TabProviderProps[ 'setSelectedId' ];
63
61
  /**
64
62
  * The current active tab `id`. The active tab is the tab element within the
65
63
  * tablist widget that has DOM focus.
64
+ *
66
65
  * - `null` represents the tablist (ie. the base composite element). Users
67
66
  * will be able to navigate out of it using arrow keys.
68
67
  * - If `activeTabId` is initially set to `null`, the base composite element
69
68
  * itself will have focus and users will be able to navigate to it using
70
- * arrow keys.activeTabId
69
+ * arrow keys.
71
70
  */
72
- activeTabId?: Ariakit.TabStoreProps[ 'activeId' ];
71
+ activeTabId?: Ariakit.TabProviderProps[ 'activeId' ];
73
72
  /**
74
73
  * The tab id that should be active by default when the composite widget is
75
74
  * rendered. If `null`, the tablist element itself will have focus
@@ -79,21 +78,22 @@ export type TabsProps = {
79
78
  * Note: this prop will be overridden by the `activeTabId` prop if it is
80
79
  * provided.
81
80
  */
82
- defaultActiveTabId?: Ariakit.TabStoreProps[ 'defaultActiveId' ];
81
+ defaultActiveTabId?: Ariakit.TabProviderProps[ 'defaultActiveId' ];
83
82
  /**
84
83
  * A callback that gets called when the `activeTabId` state changes.
85
84
  */
86
- onActiveTabIdChange?: Ariakit.TabStoreProps[ 'setActiveId' ];
85
+ onActiveTabIdChange?: Ariakit.TabProviderProps[ 'setActiveId' ];
87
86
  /**
88
87
  * Defines the orientation of the tablist and determines which arrow keys
89
88
  * can be used to move focus:
89
+ *
90
90
  * - `both`: all arrow keys work.
91
91
  * - `horizontal`: only left and right arrow keys work.
92
92
  * - `vertical`: only up and down arrow keys work.
93
93
  *
94
94
  * @default "horizontal"
95
95
  */
96
- orientation?: Ariakit.TabStoreProps[ 'orientation' ];
96
+ orientation?: Ariakit.TabProviderProps[ 'orientation' ];
97
97
  };
98
98
 
99
99
  export type TabListProps = {
@@ -105,7 +105,6 @@ export type TabListProps = {
105
105
  };
106
106
 
107
107
  // TODO: consider prop name changes (tabId, selectedTabId)
108
- // switch to auto-generated README
109
108
  // compound technique
110
109
 
111
110
  export type TabProps = {
package/src/text/hook.ts CHANGED
@@ -105,8 +105,8 @@ export default function useText(
105
105
  getOptimalTextShade( optimizeReadabilityFor ) === 'dark';
106
106
 
107
107
  sx.optimalTextColor = isOptimalTextColorDark
108
- ? css( { color: COLORS.gray[ 900 ] } )
109
- : css( { color: COLORS.white } );
108
+ ? css( { color: COLORS.theme.foreground } )
109
+ : css( { color: COLORS.theme.foregroundInverted } );
110
110
  }
111
111
 
112
112
  return cx(
@@ -9,7 +9,7 @@ import { css } from '@emotion/react';
9
9
  import { COLORS, CONFIG } from '../utils';
10
10
 
11
11
  export const Text = css`
12
- color: ${ COLORS.gray[ 900 ] };
12
+ color: ${ COLORS.theme.foreground };
13
13
  line-height: ${ CONFIG.fontLineHeightBase };
14
14
  margin: 0;
15
15
  text-wrap: balance; /* Fallback for Safari. */
@@ -6,7 +6,7 @@ Snapshot Diff:
6
6
  + Base styles
7
7
 
8
8
  @@ -3,8 +3,9 @@
9
- "color": "#1e1e1e",
9
+ "color": "var(--wp-components-color-foreground, #1e1e1e)",
10
10
  "font-size": "calc((13 / 13) * 13px)",
11
11
  "font-weight": "normal",
12
12
  "line-height": "1.4",
@@ -19,7 +19,7 @@ Snapshot Diff:
19
19
 
20
20
  exports[`Text should render highlighted words with highlightCaseSensitive 1`] = `
21
21
  .emotion-0 {
22
- color: #1e1e1e;
22
+ color: var(--wp-components-color-foreground, #1e1e1e);
23
23
  line-height: 1.4;
24
24
  margin: 0;
25
25
  text-wrap: balance;
@@ -52,7 +52,7 @@ exports[`Text should render highlighted words with highlightCaseSensitive 1`] =
52
52
 
53
53
  exports[`Text snapshot tests should render correctly 1`] = `
54
54
  .emotion-0 {
55
- color: #1e1e1e;
55
+ color: var(--wp-components-color-foreground, #1e1e1e);
56
56
  line-height: 1.4;
57
57
  margin: 0;
58
58
  text-wrap: balance;
@@ -25,7 +25,7 @@ describe( 'Text', () => {
25
25
  </Text>
26
26
  );
27
27
  expect( screen.getByRole( 'heading' ) ).toHaveStyle( {
28
- color: COLORS.white,
28
+ color: 'rgb( 255, 255, 255 )',
29
29
  } );
30
30
  } );
31
31
 
@@ -357,7 +357,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
357
357
  </div>
358
358
  </div>
359
359
  <button
360
- class="components-button"
360
+ class="components-button is-next-40px-default-size"
361
361
  type="button"
362
362
  >
363
363
  Reset
@@ -626,7 +626,7 @@ exports[`ToggleGroupControl controlled should render correctly with text options
626
626
  </div>
627
627
  </div>
628
628
  <button
629
- class="components-button"
629
+ class="components-button is-next-40px-default-size"
630
630
  type="button"
631
631
  >
632
632
  Reset
@@ -57,9 +57,15 @@ const ControlledToggleGroupControl = ( {
57
57
  } }
58
58
  value={ value }
59
59
  />
60
- <Button onClick={ () => setValue( undefined ) }>Reset</Button>
60
+ <Button
61
+ onClick={ () => setValue( undefined ) }
62
+ __next40pxDefaultSize
63
+ >
64
+ Reset
65
+ </Button>
61
66
  { extraButtonOptions?.map( ( obj ) => (
62
67
  <Button
68
+ __next40pxDefaultSize
63
69
  key={ obj.value }
64
70
  onClick={ () => setValue( obj.value ) }
65
71
  >
@@ -3,7 +3,6 @@
3
3
  */
4
4
  import type { ForwardedRef } from 'react';
5
5
  import * as Ariakit from '@ariakit/react';
6
- import { useStoreState } from '@ariakit/react';
7
6
 
8
7
  /**
9
8
  * WordPress dependencies
@@ -70,7 +69,7 @@ function UnforwardedToggleGroupControlAsRadioGroup(
70
69
  rtl: isRTL(),
71
70
  } );
72
71
 
73
- const selectedValue = useStoreState( radio, 'value' );
72
+ const selectedValue = Ariakit.useStoreState( radio, 'value' );
74
73
  const setValue = radio.setValue;
75
74
 
76
75
  // Ensures that the active id is also reset after the value is "reset" by the consumer.
@@ -2,7 +2,6 @@
2
2
  * External dependencies
3
3
  */
4
4
  import * as Ariakit from '@ariakit/react';
5
- import { useStoreState } from '@ariakit/react';
6
5
  import clsx from 'clsx';
7
6
 
8
7
  /**
@@ -94,7 +93,7 @@ function UnforwardedTooltip(
94
93
  placement: computedPlacement,
95
94
  showTimeout: delay,
96
95
  } );
97
- const mounted = useStoreState( tooltipStore, 'mounted' );
96
+ const mounted = Ariakit.useStoreState( tooltipStore, 'mounted' );
98
97
 
99
98
  if ( isNestedInTooltip ) {
100
99
  return isOnlyChild ? (
@@ -111,6 +111,7 @@ const Rows = ( {
111
111
  label="Description"
112
112
  hideLabelFromVision
113
113
  placeholder="Description"
114
+ __next40pxDefaultSize
114
115
  { ...props }
115
116
  />
116
117
  ) }
@@ -121,6 +122,7 @@ const Rows = ( {
121
122
  label="Notes"
122
123
  hideLabelFromVision
123
124
  placeholder="Notes"
125
+ __next40pxDefaultSize
124
126
  { ...props }
125
127
  />
126
128
  ) }
@@ -1,10 +1,10 @@
1
1
  # TreeSelect
2
2
 
3
- TreeSelect component is used to generate select input fields.
3
+ <!-- This file is generated automatically and cannot be edited directly. Make edits via TypeScript types and TSDocs. -->
4
4
 
5
- ## Usage
5
+ <p class="callout callout-info">See the <a href="https://wordpress.github.io/gutenberg/?path=/docs/components-treeselect--docs">WordPress Storybook</a> for more detailed, interactive documentation.</p>
6
6
 
7
- Render a user interface to select the parent page in a hierarchy of pages:
7
+ Generates a hierarchical select input.
8
8
 
9
9
  ```jsx
10
10
  import { useState } from 'react';
@@ -15,7 +15,8 @@ const MyTreeSelect = () => {
15
15
 
16
16
  return (
17
17
  <TreeSelect
18
- __nextHasNoMarginBottom
18
+ __nextHasNoMarginBottom
19
+ __next40pxDefaultSize
19
20
  label="Parent page"
20
21
  noOptionLabel="No parent page"
21
22
  onChange={ ( newPage ) => setPage( newPage ) }
@@ -53,48 +54,163 @@ const MyTreeSelect = () => {
53
54
 
54
55
  ## Props
55
56
 
56
- The set of props accepted by the component will be specified below.
57
- Props not included in this set will be applied to the SelectControl component being used.
57
+ ### `__next40pxDefaultSize`
58
58
 
59
- ### label
59
+ - Type: `boolean`
60
+ - Required: No
61
+ - Default: `false`
62
+
63
+ Start opting into the larger default height that will become the default size in a future version.
64
+
65
+ ### `__nextHasNoMarginBottom`
66
+
67
+ - Type: `boolean`
68
+ - Required: No
69
+ - Default: `false`
70
+
71
+ Start opting into the new margin-free styles that will become the default in a future version.
72
+
73
+ ### `children`
74
+
75
+ - Type: `ReactNode`
76
+ - Required: No
77
+
78
+ As an alternative to the `options` prop, `optgroup`s and `options` can be
79
+ passed in as `children` for more customizability.
80
+
81
+ ### `disabled`
82
+
83
+ - Type: `boolean`
84
+ - Required: No
85
+ - Default: `false`
86
+
87
+ If true, the `input` will be disabled.
88
+
89
+ ### `hideLabelFromVision`
90
+
91
+ - Type: `boolean`
92
+ - Required: No
93
+ - Default: `false`
94
+
95
+ If true, the label will only be visible to screen readers.
96
+
97
+ ### `help`
98
+
99
+ - Type: `ReactNode`
100
+ - Required: No
101
+
102
+ Additional description for the control.
103
+
104
+ Only use for meaningful description or instructions for the control. An element containing the description will be programmatically associated to the BaseControl by the means of an `aria-describedby` attribute.
105
+
106
+ ### `label`
107
+
108
+ - Type: `ReactNode`
109
+ - Required: No
60
110
 
61
111
  If this property is added, a label will be generated using label property as the content.
62
112
 
63
- - Type: `String`
64
- - Required: No
113
+ ### `labelPosition`
114
+
115
+ - Type: `"top" | "bottom" | "side" | "edge"`
116
+ - Required: No
117
+ - Default: `'top'`
118
+
119
+ The position of the label.
120
+
121
+ ### `noOptionLabel`
65
122
 
66
- ### noOptionLabel
123
+ - Type: `string`
124
+ - Required: No
67
125
 
68
126
  If this property is added, an option will be added with this label to represent empty selection.
69
127
 
70
- - Type: `String`
71
- - Required: No
128
+ ### `onChange`
72
129
 
73
- ### onChange
130
+ - Type: `(value: string, extra?: { event?: ChangeEvent<HTMLSelectElement>; }) => void`
131
+ - Required: No
74
132
 
75
- A function that receives the id of the new node element that is being selected.
133
+ A function that receives the value of the new option that is being selected as input.
76
134
 
77
- - Type: `function`
78
- - Required: Yes
135
+ ### `options`
79
136
 
80
- ### selectedId
137
+ - Type: `readonly ({ label: string; value: string; } & Omit<OptionHTMLAttributes<HTMLOptionElement>, "label" | "value">)[]`
138
+ - Required: No
139
+
140
+ An array of option property objects to be rendered,
141
+ each with a `label` and `value` property, as well as any other
142
+ `<option>` attributes.
143
+
144
+ ### `prefix`
145
+
146
+ - Type: `ReactNode`
147
+ - Required: No
148
+
149
+ Renders an element on the left side of the input.
150
+
151
+ By default, the prefix is aligned with the edge of the input border, with no padding.
152
+ If you want to apply standard padding in accordance with the size variant, wrap the element in
153
+ the provided `<InputControlPrefixWrapper>` component.
154
+
155
+ ```jsx
156
+ import {
157
+ __experimentalInputControl as InputControl,
158
+ __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,
159
+ } from '@wordpress/components';
160
+
161
+ <InputControl
162
+ prefix={<InputControlPrefixWrapper>@</InputControlPrefixWrapper>}
163
+ />
164
+ ```
165
+
166
+ ### `selectedId`
167
+
168
+ - Type: `string`
169
+ - Required: No
81
170
 
82
171
  The id of the currently selected node.
83
172
 
84
- - Type: `string` | `string[]`
85
- - Required: No
173
+ ### `size`
86
174
 
87
- ### tree
175
+ - Type: `"default" | "small" | "compact" | "__unstable-large"`
176
+ - Required: No
177
+ - Default: `'default'`
88
178
 
89
- An array containing the tree objects with the possible nodes the user can select.
179
+ Adjusts the size of the input.
90
180
 
91
- - Type: `Object[]`
92
- - Required: No
181
+ ### `suffix`
93
182
 
94
- #### __nextHasNoMarginBottom
183
+ - Type: `ReactNode`
184
+ - Required: No
95
185
 
96
- Start opting into the new margin-free styles that will become the default in a future version.
186
+ Renders an element on the right side of the input.
187
+
188
+ By default, the suffix is aligned with the edge of the input border, with no padding.
189
+ If you want to apply standard padding in accordance with the size variant, wrap the element in
190
+ the provided `<InputControlSuffixWrapper>` component.
191
+
192
+ ```jsx
193
+ import {
194
+ __experimentalInputControl as InputControl,
195
+ __experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,
196
+ } from '@wordpress/components';
197
+
198
+ <InputControl
199
+ suffix={<InputControlSuffixWrapper>%</InputControlSuffixWrapper>}
200
+ />
201
+ ```
202
+
203
+ ### `tree`
204
+
205
+ - Type: `Tree[]`
206
+ - Required: No
207
+
208
+ An array containing the tree objects with the possible nodes the user can select.
209
+
210
+ ### `variant`
211
+
212
+ - Type: `"default" | "minimal"`
213
+ - Required: No
214
+ - Default: `'default'`
97
215
 
98
- - Type: `Boolean`
99
- - Required: No
100
- - Default: `false`
216
+ The style variant of the control.
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "../../schemas/docs-manifest.json",
3
+ "displayName": "TreeSelect",
4
+ "filePath": "./index.tsx"
5
+ }
@@ -11,6 +11,7 @@ import { SelectControl } from '../select-control';
11
11
  import type { TreeSelectProps, Tree, Truthy } from './types';
12
12
  import { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';
13
13
  import { ContextSystemProvider } from '../context';
14
+ import { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';
14
15
 
15
16
  const CONTEXT_VALUE = {
16
17
  BaseControl: {
@@ -35,11 +36,11 @@ function getSelectOptions(
35
36
  }
36
37
 
37
38
  /**
38
- * TreeSelect component is used to generate select input fields.
39
+ * Generates a hierarchical select input.
39
40
  *
40
41
  * ```jsx
42
+ * import { useState } from 'react';
41
43
  * import { TreeSelect } from '@wordpress/components';
42
- * import { useState } from '@wordpress/element';
43
44
  *
44
45
  * const MyTreeSelect = () => {
45
46
  * const [ page, setPage ] = useState( 'p21' );
@@ -47,6 +48,7 @@ function getSelectOptions(
47
48
  * return (
48
49
  * <TreeSelect
49
50
  * __nextHasNoMarginBottom
51
+ * __next40pxDefaultSize
50
52
  * label="Parent page"
51
53
  * noOptionLabel="No parent page"
52
54
  * onChange={ ( newPage ) => setPage( newPage ) }
@@ -99,9 +101,16 @@ export function TreeSelect( props: TreeSelectProps ) {
99
101
  ].filter( < T, >( option: T ): option is Truthy< T > => !! option );
100
102
  }, [ noOptionLabel, tree ] );
101
103
 
104
+ maybeWarnDeprecated36pxSize( {
105
+ componentName: 'TreeSelect',
106
+ size: restProps.size,
107
+ __next40pxDefaultSize: restProps.__next40pxDefaultSize,
108
+ } );
109
+
102
110
  return (
103
111
  <ContextSystemProvider value={ CONTEXT_VALUE }>
104
112
  <SelectControl
113
+ __shouldNotWarnDeprecated36pxSize
105
114
  { ...{ label, options, onChange } }
106
115
  value={ selectedId }
107
116
  { ...restProps }
@@ -50,6 +50,7 @@ const TreeSelectWithState: StoryFn< typeof TreeSelect > = ( props ) => {
50
50
  export const Default = TreeSelectWithState.bind( {} );
51
51
  Default.args = {
52
52
  __nextHasNoMarginBottom: true,
53
+ __next40pxDefaultSize: true,
53
54
  label: 'Label Text',
54
55
  noOptionLabel: 'No parent page',
55
56
  help: 'Help text to explain the select control.',
@@ -16,11 +16,18 @@ export interface Tree {
16
16
  // `TreeSelect` inherits props from `SelectControl`, but only
17
17
  // in single selection mode (ie. when the `multiple` prop is not defined).
18
18
  export interface TreeSelectProps
19
- extends Omit< SelectControlSingleSelectionProps, 'value' | 'multiple' > {
19
+ extends Omit<
20
+ SelectControlSingleSelectionProps,
21
+ 'value' | 'multiple' | 'onChange'
22
+ > {
20
23
  /**
21
24
  * If this property is added, an option will be added with this label to represent empty selection.
22
25
  */
23
26
  noOptionLabel?: string;
27
+ /**
28
+ * A function that receives the value of the new option that is being selected as input.
29
+ */
30
+ onChange?: SelectControlSingleSelectionProps[ 'onChange' ];
24
31
  /**
25
32
  * An array containing the tree objects with the possible nodes the user can select.
26
33
  */
package/tsconfig.json CHANGED
@@ -2,8 +2,6 @@
2
2
  "$schema": "https://json.schemastore.org/tsconfig.json",
3
3
  "extends": "../../tsconfig.base.json",
4
4
  "compilerOptions": {
5
- "rootDir": "src",
6
- "declarationDir": "build-types",
7
5
  "types": [
8
6
  "gutenberg-env",
9
7
  "gutenberg-test-env",
@@ -31,7 +29,6 @@
31
29
  { "path": "../rich-text" },
32
30
  { "path": "../warning" }
33
31
  ],
34
- "include": [ "src/**/*" ],
35
32
  "exclude": [
36
33
  "src/**/*.android.js",
37
34
  "src/**/*.ios.js",