@wordpress/components 28.13.1-next.082ed6819.0 → 29.0.1-next.a9f418477.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 (586) hide show
  1. package/CHANGELOG.md +51 -2
  2. package/CONTRIBUTING.md +16 -16
  3. package/build/angle-picker-control/index.js +1 -1
  4. package/build/angle-picker-control/index.js.map +1 -1
  5. package/build/animation/index.js +0 -6
  6. package/build/animation/index.js.map +1 -1
  7. package/build/autocomplete/index.js +0 -1
  8. package/build/autocomplete/index.js.map +1 -1
  9. package/build/border-box-control/border-box-control-split-controls/component.js +1 -1
  10. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  11. package/build/border-control/border-control/component.js +2 -0
  12. package/build/border-control/border-control/component.js.map +1 -1
  13. package/build/box-control/all-input-control.js +1 -0
  14. package/build/box-control/all-input-control.js.map +1 -1
  15. package/build/box-control/axial-input-controls.js +1 -0
  16. package/build/box-control/axial-input-controls.js.map +1 -1
  17. package/build/box-control/index.js +22 -15
  18. package/build/box-control/index.js.map +1 -1
  19. package/build/box-control/input-controls.js +1 -0
  20. package/build/box-control/input-controls.js.map +1 -1
  21. package/build/box-control/types.js.map +1 -1
  22. package/build/circular-option-picker/circular-option-picker-actions.js +1 -0
  23. package/build/circular-option-picker/circular-option-picker-actions.js.map +1 -1
  24. package/build/circular-option-picker/circular-option-picker-option.js +1 -0
  25. package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
  26. package/build/clipboard-button/index.js +5 -3
  27. package/build/clipboard-button/index.js.map +1 -1
  28. package/build/color-palette/index.native.js +0 -1
  29. package/build/color-palette/index.native.js.map +1 -1
  30. package/build/color-picker/input-with-slider.js +2 -2
  31. package/build/color-picker/input-with-slider.js.map +1 -1
  32. package/build/composite/item.js +0 -9
  33. package/build/composite/item.js.map +1 -1
  34. package/build/context/context-connect.js +0 -1
  35. package/build/context/context-connect.js.map +1 -1
  36. package/build/custom-gradient-picker/gradient-bar/control-points.js +2 -0
  37. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  38. package/build/custom-gradient-picker/index.js +2 -0
  39. package/build/custom-gradient-picker/index.js.map +1 -1
  40. package/build/custom-gradient-picker/types.js.map +1 -1
  41. package/build/custom-select-control/index.js +8 -0
  42. package/build/custom-select-control/index.js.map +1 -1
  43. package/build/custom-select-control/types.js.map +1 -1
  44. package/build/drop-zone/index.js +19 -13
  45. package/build/drop-zone/index.js.map +1 -1
  46. package/build/drop-zone/types.js.map +1 -1
  47. package/build/dropdown-menu/index.js +1 -0
  48. package/build/dropdown-menu/index.js.map +1 -1
  49. package/build/duotone-picker/color-list-picker/index.js +9 -14
  50. package/build/duotone-picker/color-list-picker/index.js.map +1 -1
  51. package/build/external-link/index.js +0 -1
  52. package/build/external-link/index.js.map +1 -1
  53. package/build/font-size-picker/font-size-picker-select.js +1 -0
  54. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  55. package/build/font-size-picker/index.js +1 -0
  56. package/build/font-size-picker/index.js.map +1 -1
  57. package/build/form-file-upload/index.js +11 -1
  58. package/build/form-file-upload/index.js.map +1 -1
  59. package/build/form-file-upload/types.js.map +1 -1
  60. package/build/form-token-field/index.js +6 -1
  61. package/build/form-token-field/index.js.map +1 -1
  62. package/build/gradient-picker/index.js +2 -0
  63. package/build/gradient-picker/index.js.map +1 -1
  64. package/build/gradient-picker/types.js.map +1 -1
  65. package/build/icon/index.js +9 -0
  66. package/build/icon/index.js.map +1 -1
  67. package/build/index.js +0 -6
  68. package/build/index.js.map +1 -1
  69. package/build/menu/checkbox-item.js +5 -9
  70. package/build/menu/checkbox-item.js.map +1 -1
  71. package/build/menu/group-label.js +4 -1
  72. package/build/menu/group-label.js.map +1 -1
  73. package/build/menu/group.js +4 -1
  74. package/build/menu/group.js.map +1 -1
  75. package/build/menu/item-help-text.js +5 -0
  76. package/build/menu/item-help-text.js.map +1 -1
  77. package/build/menu/item-label.js +5 -0
  78. package/build/menu/item-label.js.map +1 -1
  79. package/build/menu/item.js +4 -8
  80. package/build/menu/item.js.map +1 -1
  81. package/build/menu/radio-item.js +5 -9
  82. package/build/menu/radio-item.js.map +1 -1
  83. package/build/menu/separator.js +5 -2
  84. package/build/menu/separator.js.map +1 -1
  85. package/build/modal/aria-helper.js +0 -1
  86. package/build/modal/aria-helper.js.map +1 -1
  87. package/build/modal/index.js +0 -1
  88. package/build/modal/index.js.map +1 -1
  89. package/build/number-control/index.js +8 -0
  90. package/build/number-control/index.js.map +1 -1
  91. package/build/number-control/types.js.map +1 -1
  92. package/build/range-control/index.js +2 -1
  93. package/build/range-control/index.js.map +1 -1
  94. package/build/range-control/mark.js +0 -1
  95. package/build/range-control/mark.js.map +1 -1
  96. package/build/range-control/styles/range-control-styles.js +33 -45
  97. package/build/range-control/styles/range-control-styles.js.map +1 -1
  98. package/build/resizable-box/index.js +9 -1
  99. package/build/resizable-box/index.js.map +1 -1
  100. package/build/slot-fill/bubbles-virtually/fill.js +8 -12
  101. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  102. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +6 -10
  103. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  104. package/build/slot-fill/bubbles-virtually/slot.js +4 -10
  105. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  106. package/build/slot-fill/types.js.map +1 -1
  107. package/build/style-provider/index.js +0 -1
  108. package/build/style-provider/index.js.map +1 -1
  109. package/build/tabs/tab.js +0 -17
  110. package/build/tabs/tab.js.map +1 -1
  111. package/build/toolbar/toolbar-button/index.js +2 -0
  112. package/build/toolbar/toolbar-button/index.js.map +1 -1
  113. package/build/tools-panel/tools-panel/component.js +2 -0
  114. package/build/tools-panel/tools-panel/component.js.map +1 -1
  115. package/build/tree-grid/cell.js +4 -1
  116. package/build/tree-grid/cell.js.map +1 -1
  117. package/build/tree-grid/types.js.map +1 -1
  118. package/build/unit-control/index.js +10 -1
  119. package/build/unit-control/index.js.map +1 -1
  120. package/build/unit-control/types.js.map +1 -1
  121. package/build-module/angle-picker-control/index.js +1 -1
  122. package/build-module/angle-picker-control/index.js.map +1 -1
  123. package/build-module/animation/index.js +1 -1
  124. package/build-module/animation/index.js.map +1 -1
  125. package/build-module/autocomplete/index.js +0 -1
  126. package/build-module/autocomplete/index.js.map +1 -1
  127. package/build-module/border-box-control/border-box-control-split-controls/component.js +1 -1
  128. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  129. package/build-module/border-control/border-control/component.js +2 -0
  130. package/build-module/border-control/border-control/component.js.map +1 -1
  131. package/build-module/box-control/all-input-control.js +1 -0
  132. package/build-module/box-control/all-input-control.js.map +1 -1
  133. package/build-module/box-control/axial-input-controls.js +1 -0
  134. package/build-module/box-control/axial-input-controls.js.map +1 -1
  135. package/build-module/box-control/index.js +22 -15
  136. package/build-module/box-control/index.js.map +1 -1
  137. package/build-module/box-control/input-controls.js +1 -0
  138. package/build-module/box-control/input-controls.js.map +1 -1
  139. package/build-module/box-control/types.js.map +1 -1
  140. package/build-module/circular-option-picker/circular-option-picker-actions.js +1 -0
  141. package/build-module/circular-option-picker/circular-option-picker-actions.js.map +1 -1
  142. package/build-module/circular-option-picker/circular-option-picker-option.js +1 -0
  143. package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
  144. package/build-module/clipboard-button/index.js +5 -3
  145. package/build-module/clipboard-button/index.js.map +1 -1
  146. package/build-module/color-palette/index.native.js +0 -1
  147. package/build-module/color-palette/index.native.js.map +1 -1
  148. package/build-module/color-picker/input-with-slider.js +2 -2
  149. package/build-module/color-picker/input-with-slider.js.map +1 -1
  150. package/build-module/composite/item.js +0 -9
  151. package/build-module/composite/item.js.map +1 -1
  152. package/build-module/context/context-connect.js +0 -1
  153. package/build-module/context/context-connect.js.map +1 -1
  154. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +2 -0
  155. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  156. package/build-module/custom-gradient-picker/index.js +2 -0
  157. package/build-module/custom-gradient-picker/index.js.map +1 -1
  158. package/build-module/custom-gradient-picker/types.js.map +1 -1
  159. package/build-module/custom-select-control/index.js +8 -0
  160. package/build-module/custom-select-control/index.js.map +1 -1
  161. package/build-module/custom-select-control/types.js.map +1 -1
  162. package/build-module/drop-zone/index.js +19 -13
  163. package/build-module/drop-zone/index.js.map +1 -1
  164. package/build-module/drop-zone/types.js.map +1 -1
  165. package/build-module/dropdown-menu/index.js +1 -0
  166. package/build-module/dropdown-menu/index.js.map +1 -1
  167. package/build-module/duotone-picker/color-list-picker/index.js +10 -15
  168. package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
  169. package/build-module/external-link/index.js +0 -1
  170. package/build-module/external-link/index.js.map +1 -1
  171. package/build-module/font-size-picker/font-size-picker-select.js +1 -0
  172. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  173. package/build-module/font-size-picker/index.js +1 -0
  174. package/build-module/font-size-picker/index.js.map +1 -1
  175. package/build-module/form-file-upload/index.js +13 -2
  176. package/build-module/form-file-upload/index.js.map +1 -1
  177. package/build-module/form-file-upload/types.js.map +1 -1
  178. package/build-module/form-token-field/index.js +6 -1
  179. package/build-module/form-token-field/index.js.map +1 -1
  180. package/build-module/gradient-picker/index.js +2 -0
  181. package/build-module/gradient-picker/index.js.map +1 -1
  182. package/build-module/gradient-picker/types.js.map +1 -1
  183. package/build-module/icon/index.js +9 -0
  184. package/build-module/icon/index.js.map +1 -1
  185. package/build-module/index.js +1 -1
  186. package/build-module/index.js.map +1 -1
  187. package/build-module/menu/checkbox-item.js +5 -9
  188. package/build-module/menu/checkbox-item.js.map +1 -1
  189. package/build-module/menu/group-label.js +4 -1
  190. package/build-module/menu/group-label.js.map +1 -1
  191. package/build-module/menu/group.js +4 -1
  192. package/build-module/menu/group.js.map +1 -1
  193. package/build-module/menu/item-help-text.js +6 -1
  194. package/build-module/menu/item-help-text.js.map +1 -1
  195. package/build-module/menu/item-label.js +6 -1
  196. package/build-module/menu/item-label.js.map +1 -1
  197. package/build-module/menu/item.js +4 -8
  198. package/build-module/menu/item.js.map +1 -1
  199. package/build-module/menu/radio-item.js +5 -9
  200. package/build-module/menu/radio-item.js.map +1 -1
  201. package/build-module/menu/separator.js +5 -2
  202. package/build-module/menu/separator.js.map +1 -1
  203. package/build-module/modal/aria-helper.js +0 -1
  204. package/build-module/modal/aria-helper.js.map +1 -1
  205. package/build-module/modal/index.js +0 -1
  206. package/build-module/modal/index.js.map +1 -1
  207. package/build-module/number-control/index.js +8 -0
  208. package/build-module/number-control/index.js.map +1 -1
  209. package/build-module/number-control/types.js.map +1 -1
  210. package/build-module/range-control/index.js +2 -1
  211. package/build-module/range-control/index.js.map +1 -1
  212. package/build-module/range-control/mark.js +0 -1
  213. package/build-module/range-control/mark.js.map +1 -1
  214. package/build-module/range-control/styles/range-control-styles.js +33 -45
  215. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  216. package/build-module/resizable-box/index.js +9 -1
  217. package/build-module/resizable-box/index.js.map +1 -1
  218. package/build-module/slot-fill/bubbles-virtually/fill.js +9 -13
  219. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  220. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +6 -10
  221. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  222. package/build-module/slot-fill/bubbles-virtually/slot.js +4 -10
  223. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  224. package/build-module/slot-fill/types.js.map +1 -1
  225. package/build-module/style-provider/index.js +0 -1
  226. package/build-module/style-provider/index.js.map +1 -1
  227. package/build-module/tabs/tab.js +0 -15
  228. package/build-module/tabs/tab.js.map +1 -1
  229. package/build-module/toolbar/toolbar-button/index.js +2 -0
  230. package/build-module/toolbar/toolbar-button/index.js.map +1 -1
  231. package/build-module/tools-panel/tools-panel/component.js +2 -0
  232. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  233. package/build-module/tree-grid/cell.js +4 -1
  234. package/build-module/tree-grid/cell.js.map +1 -1
  235. package/build-module/tree-grid/types.js.map +1 -1
  236. package/build-module/unit-control/index.js +10 -1
  237. package/build-module/unit-control/index.js.map +1 -1
  238. package/build-module/unit-control/types.js.map +1 -1
  239. package/build-style/style-rtl.css +15 -11
  240. package/build-style/style.css +15 -11
  241. package/build-types/alignment-matrix-control/styles.d.ts.map +1 -1
  242. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -1
  243. package/build-types/animation/index.d.ts +1 -1
  244. package/build-types/animation/index.d.ts.map +1 -1
  245. package/build-types/base-control/hooks.d.ts +4 -4
  246. package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
  247. package/build-types/border-box-control/border-box-control/hook.d.ts +83 -83
  248. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +93 -93
  249. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +83 -83
  250. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +83 -83
  251. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  252. package/build-types/border-control/border-control/hook.d.ts +83 -83
  253. package/build-types/border-control/border-control-dropdown/hook.d.ts +83 -83
  254. package/build-types/border-control/stories/index.story.d.ts.map +1 -1
  255. package/build-types/box-control/all-input-control.d.ts.map +1 -1
  256. package/build-types/box-control/axial-input-controls.d.ts.map +1 -1
  257. package/build-types/box-control/index.d.ts +14 -13
  258. package/build-types/box-control/index.d.ts.map +1 -1
  259. package/build-types/box-control/input-controls.d.ts.map +1 -1
  260. package/build-types/box-control/stories/index.story.d.ts +852 -816
  261. package/build-types/box-control/stories/index.story.d.ts.map +1 -1
  262. package/build-types/box-control/styles/box-control-icon-styles.d.ts.map +1 -1
  263. package/build-types/box-control/styles/box-control-styles.d.ts +3 -2
  264. package/build-types/box-control/styles/box-control-styles.d.ts.map +1 -1
  265. package/build-types/box-control/types.d.ts +16 -2
  266. package/build-types/box-control/types.d.ts.map +1 -1
  267. package/build-types/card/card/hook.d.ts +83 -83
  268. package/build-types/card/card-body/hook.d.ts +83 -83
  269. package/build-types/card/card-divider/hook.d.ts +84 -84
  270. package/build-types/card/card-footer/hook.d.ts +83 -83
  271. package/build-types/card/card-header/hook.d.ts +83 -83
  272. package/build-types/card/card-media/hook.d.ts +83 -83
  273. package/build-types/circular-option-picker/circular-option-picker-actions.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/clipboard-button/index.d.ts.map +1 -1
  276. package/build-types/color-picker/styles.d.ts +3 -2
  277. package/build-types/color-picker/styles.d.ts.map +1 -1
  278. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  279. package/build-types/composite/index.d.ts.map +1 -1
  280. package/build-types/composite/item.d.ts.map +1 -1
  281. package/build-types/context/constants.d.ts.map +1 -1
  282. package/build-types/context/get-styled-class-name-from-key.d.ts +1 -9
  283. package/build-types/context/get-styled-class-name-from-key.d.ts.map +1 -1
  284. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts.map +1 -1
  285. package/build-types/custom-gradient-picker/index.d.ts +1 -1
  286. package/build-types/custom-gradient-picker/index.d.ts.map +1 -1
  287. package/build-types/custom-gradient-picker/types.d.ts +6 -0
  288. package/build-types/custom-gradient-picker/types.d.ts.map +1 -1
  289. package/build-types/custom-select-control/index.d.ts.map +1 -1
  290. package/build-types/custom-select-control/stories/index.story.d.ts.map +1 -1
  291. package/build-types/custom-select-control/types.d.ts +7 -0
  292. package/build-types/custom-select-control/types.d.ts.map +1 -1
  293. package/build-types/custom-select-control-v2/stories/index.story.d.ts.map +1 -1
  294. package/build-types/custom-select-control-v2/styles.d.ts.map +1 -1
  295. package/build-types/date-time/date/styles.d.ts.map +1 -1
  296. package/build-types/date-time/stories/date-time.story.d.ts.map +1 -1
  297. package/build-types/date-time/stories/date.story.d.ts.map +1 -1
  298. package/build-types/date-time/stories/time.story.d.ts.map +1 -1
  299. package/build-types/date-time/time/styles.d.ts +8 -4
  300. package/build-types/date-time/time/styles.d.ts.map +1 -1
  301. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
  302. package/build-types/drop-zone/index.d.ts +1 -1
  303. package/build-types/drop-zone/index.d.ts.map +1 -1
  304. package/build-types/drop-zone/types.d.ts +5 -0
  305. package/build-types/drop-zone/types.d.ts.map +1 -1
  306. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  307. package/build-types/duotone-picker/color-list-picker/index.d.ts.map +1 -1
  308. package/build-types/elevation/hook.d.ts +83 -83
  309. package/build-types/flex/flex/hook.d.ts +83 -83
  310. package/build-types/flex/flex-block/hook.d.ts +83 -83
  311. package/build-types/flex/flex-item/hook.d.ts +83 -83
  312. package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
  313. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +2 -1
  314. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts.map +1 -1
  315. package/build-types/font-size-picker/font-size-picker-select.d.ts.map +1 -1
  316. package/build-types/font-size-picker/index.d.ts.map +1 -1
  317. package/build-types/font-size-picker/styles.d.ts.map +1 -1
  318. package/build-types/form-file-upload/index.d.ts +2 -1
  319. package/build-types/form-file-upload/index.d.ts.map +1 -1
  320. package/build-types/form-file-upload/stories/index.story.d.ts.map +1 -1
  321. package/build-types/form-file-upload/types.d.ts +10 -8
  322. package/build-types/form-file-upload/types.d.ts.map +1 -1
  323. package/build-types/form-token-field/index.d.ts.map +1 -1
  324. package/build-types/form-token-field/stories/index.story.d.ts.map +1 -1
  325. package/build-types/gradient-picker/index.d.ts +1 -1
  326. package/build-types/gradient-picker/index.d.ts.map +1 -1
  327. package/build-types/gradient-picker/types.d.ts +6 -0
  328. package/build-types/gradient-picker/types.d.ts.map +1 -1
  329. package/build-types/grid/hook.d.ts +83 -83
  330. package/build-types/h-stack/hook.d.ts +83 -83
  331. package/build-types/heading/hook.d.ts +82 -82
  332. package/build-types/higher-order/with-fallback-styles/index.d.ts +2 -2
  333. package/build-types/higher-order/with-filters/index.d.ts +4 -4
  334. package/build-types/icon/index.d.ts +23 -7
  335. package/build-types/icon/index.d.ts.map +1 -1
  336. package/build-types/icon/stories/index.story.d.ts +7 -1
  337. package/build-types/icon/stories/index.story.d.ts.map +1 -1
  338. package/build-types/index.d.ts +1 -1
  339. package/build-types/index.d.ts.map +1 -1
  340. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  341. package/build-types/item-group/item/hook.d.ts +83 -83
  342. package/build-types/item-group/item-group/hook.d.ts +83 -83
  343. package/build-types/lock-unlock.d.ts +2 -2
  344. package/build-types/menu/checkbox-item.d.ts.map +1 -1
  345. package/build-types/menu/group-label.d.ts.map +1 -1
  346. package/build-types/menu/group.d.ts.map +1 -1
  347. package/build-types/menu/index.d.ts.map +1 -1
  348. package/build-types/menu/item-help-text.d.ts.map +1 -1
  349. package/build-types/menu/item-label.d.ts.map +1 -1
  350. package/build-types/menu/item.d.ts.map +1 -1
  351. package/build-types/menu/radio-item.d.ts.map +1 -1
  352. package/build-types/menu/separator.d.ts.map +1 -1
  353. package/build-types/menu/styles.d.ts.map +1 -1
  354. package/build-types/menu-item/stories/index.story.d.ts.map +1 -1
  355. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
  356. package/build-types/navigator/navigator-back-button/hook.d.ts +92 -92
  357. package/build-types/navigator/navigator-button/hook.d.ts +92 -92
  358. package/build-types/number-control/index.d.ts +2 -1
  359. package/build-types/number-control/index.d.ts.map +1 -1
  360. package/build-types/number-control/stories/index.story.d.ts +2 -1
  361. package/build-types/number-control/stories/index.story.d.ts.map +1 -1
  362. package/build-types/number-control/types.d.ts +7 -0
  363. package/build-types/number-control/types.d.ts.map +1 -1
  364. package/build-types/popover/stories/index.story.d.ts.map +1 -1
  365. package/build-types/progress-bar/styles.d.ts.map +1 -1
  366. package/build-types/range-control/index.d.ts +1 -1
  367. package/build-types/range-control/index.d.ts.map +1 -1
  368. package/build-types/range-control/mark.d.ts.map +1 -1
  369. package/build-types/range-control/styles/range-control-styles.d.ts +4 -3
  370. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  371. package/build-types/resizable-box/index.d.ts.map +1 -1
  372. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  373. package/build-types/resizable-box/stories/index.story.d.ts.map +1 -1
  374. package/build-types/scrollable/hook.d.ts +83 -83
  375. package/build-types/scrollable/stories/index.story.d.ts.map +1 -1
  376. package/build-types/select-control/index.d.ts.map +1 -1
  377. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  378. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  379. package/build-types/slot-fill/bubbles-virtually/fill.d.ts.map +1 -1
  380. package/build-types/slot-fill/bubbles-virtually/slot-fill-provider.d.ts.map +1 -1
  381. package/build-types/slot-fill/bubbles-virtually/slot.d.ts.map +1 -1
  382. package/build-types/slot-fill/bubbles-virtually/use-slot-fills.d.ts +1 -1
  383. package/build-types/slot-fill/types.d.ts +4 -3
  384. package/build-types/slot-fill/types.d.ts.map +1 -1
  385. package/build-types/spacer/hook.d.ts +83 -83
  386. package/build-types/spinner/styles.d.ts.map +1 -1
  387. package/build-types/surface/hook.d.ts +83 -83
  388. package/build-types/tabs/tab.d.ts +3 -0
  389. package/build-types/tabs/tab.d.ts.map +1 -1
  390. package/build-types/text/hook.d.ts +83 -83
  391. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  392. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
  393. package/build-types/tools-panel/stories/index.story.d.ts.map +1 -1
  394. package/build-types/tools-panel/tools-panel/component.d.ts +2 -0
  395. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  396. package/build-types/tools-panel/tools-panel/hook.d.ts +83 -83
  397. package/build-types/tools-panel/tools-panel-header/hook.d.ts +83 -83
  398. package/build-types/tools-panel/tools-panel-item/hook.d.ts +83 -83
  399. package/build-types/tree-grid/cell.d.ts.map +1 -1
  400. package/build-types/tree-grid/types.d.ts +1 -1
  401. package/build-types/tree-grid/types.d.ts.map +1 -1
  402. package/build-types/truncate/hook.d.ts +83 -83
  403. package/build-types/unit-control/index.d.ts +3 -2
  404. package/build-types/unit-control/index.d.ts.map +1 -1
  405. package/build-types/unit-control/stories/index.story.d.ts.map +1 -1
  406. package/build-types/unit-control/styles/unit-control-styles.d.ts +2 -1
  407. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  408. package/build-types/unit-control/types.d.ts +7 -0
  409. package/build-types/unit-control/types.d.ts.map +1 -1
  410. package/build-types/utils/hooks/use-controlled-state.d.ts +1 -1
  411. package/build-types/utils/hooks/use-controlled-state.d.ts.map +1 -1
  412. package/build-types/utils/rtl.d.ts +1 -1
  413. package/build-types/utils/rtl.d.ts.map +1 -1
  414. package/build-types/v-stack/hook.d.ts +83 -83
  415. package/build-types/z-stack/styles.d.ts.map +1 -1
  416. package/package.json +20 -20
  417. package/src/alignment-matrix-control/stories/index.story.tsx +2 -2
  418. package/src/angle-picker-control/index.tsx +1 -1
  419. package/src/angle-picker-control/stories/index.story.tsx +2 -2
  420. package/src/animation/index.tsx +0 -1
  421. package/src/base-control/stories/index.story.tsx +1 -1
  422. package/src/border-box-control/border-box-control-split-controls/component.tsx +1 -1
  423. package/src/border-box-control/stories/index.story.tsx +1 -1
  424. package/src/border-control/border-control/component.tsx +2 -0
  425. package/src/border-control/stories/index.story.tsx +1 -1
  426. package/src/box-control/README.md +80 -60
  427. package/src/box-control/all-input-control.tsx +1 -0
  428. package/src/box-control/axial-input-controls.tsx +1 -0
  429. package/src/box-control/docs-manifest.json +5 -0
  430. package/src/box-control/index.tsx +23 -15
  431. package/src/box-control/input-controls.tsx +1 -0
  432. package/src/box-control/stories/index.story.tsx +2 -1
  433. package/src/box-control/test/index.tsx +33 -26
  434. package/src/box-control/types.ts +71 -54
  435. package/src/button-group/stories/index.story.tsx +1 -1
  436. package/src/card/stories/index.story.tsx +2 -2
  437. package/src/checkbox-control/stories/index.story.tsx +1 -1
  438. package/src/circular-option-picker/circular-option-picker-actions.tsx +1 -0
  439. package/src/circular-option-picker/circular-option-picker-option.tsx +1 -0
  440. package/src/circular-option-picker/stories/index.story.tsx +2 -2
  441. package/src/circular-option-picker/style.scss +2 -2
  442. package/src/clipboard-button/index.tsx +5 -3
  443. package/src/color-palette/stories/index.story.tsx +3 -3
  444. package/src/color-picker/input-with-slider.tsx +1 -1
  445. package/src/color-picker/stories/index.story.tsx +2 -2
  446. package/src/combobox-control/stories/index.story.tsx +1 -1
  447. package/src/composite/item.tsx +1 -19
  448. package/src/composite/stories/index.story.tsx +3 -3
  449. package/src/confirm-dialog/stories/index.story.tsx +1 -1
  450. package/src/custom-gradient-picker/gradient-bar/control-points.tsx +2 -0
  451. package/src/custom-gradient-picker/index.tsx +2 -0
  452. package/src/custom-gradient-picker/style.scss +1 -1
  453. package/src/custom-gradient-picker/types.ts +6 -0
  454. package/src/custom-select-control/README.md +2 -0
  455. package/src/custom-select-control/index.tsx +9 -0
  456. package/src/custom-select-control/stories/index.story.tsx +3 -2
  457. package/src/custom-select-control/test/index.tsx +13 -9
  458. package/src/custom-select-control/types.ts +7 -0
  459. package/src/custom-select-control-v2/stories/index.story.tsx +2 -2
  460. package/src/date-time/stories/date-time.story.tsx +4 -1
  461. package/src/date-time/stories/date.story.tsx +4 -1
  462. package/src/date-time/stories/time.story.tsx +4 -1
  463. package/src/dimension-control/stories/index.story.tsx +1 -1
  464. package/src/disabled/stories/index.story.tsx +3 -3
  465. package/src/divider/stories/index.story.tsx +1 -1
  466. package/src/draggable/stories/index.story.tsx +2 -2
  467. package/src/drop-zone/index.tsx +21 -24
  468. package/src/drop-zone/types.ts +5 -0
  469. package/src/dropdown/stories/index.story.tsx +7 -7
  470. package/src/dropdown-menu/index.tsx +4 -1
  471. package/src/dropdown-menu/stories/index.story.tsx +3 -3
  472. package/src/dropdown-menu/style.scss +1 -1
  473. package/src/duotone-picker/color-list-picker/index.tsx +8 -8
  474. package/src/duotone-picker/color-list-picker/style.scss +0 -6
  475. package/src/duotone-picker/stories/duotone-picker.story.tsx +1 -1
  476. package/src/flex/stories/index.story.tsx +1 -1
  477. package/src/font-size-picker/font-size-picker-select.tsx +1 -0
  478. package/src/font-size-picker/index.tsx +1 -0
  479. package/src/font-size-picker/stories/index.story.tsx +1 -1
  480. package/src/form-file-upload/README.md +58 -48
  481. package/src/form-file-upload/docs-manifest.json +5 -0
  482. package/src/form-file-upload/index.tsx +12 -1
  483. package/src/form-file-upload/stories/index.story.tsx +4 -3
  484. package/src/form-file-upload/test/index.tsx +5 -1
  485. package/src/form-file-upload/types.ts +10 -8
  486. package/src/form-token-field/README.md +1 -0
  487. package/src/form-token-field/index.tsx +7 -0
  488. package/src/form-token-field/stories/index.story.tsx +4 -2
  489. package/src/form-token-field/test/index.tsx +5 -1
  490. package/src/gradient-picker/README.md +8 -0
  491. package/src/gradient-picker/index.tsx +2 -0
  492. package/src/gradient-picker/stories/index.story.tsx +1 -1
  493. package/src/gradient-picker/types.ts +6 -0
  494. package/src/grid/stories/index.story.tsx +1 -1
  495. package/src/h-stack/stories/index.story.tsx +2 -2
  496. package/src/icon/README.md +22 -65
  497. package/src/icon/docs-manifest.json +5 -0
  498. package/src/icon/index.tsx +28 -13
  499. package/src/icon/stories/index.story.tsx +50 -8
  500. package/src/index.ts +1 -5
  501. package/src/input-control/stories/index.story.tsx +4 -4
  502. package/src/item-group/stories/index.story.tsx +2 -2
  503. package/src/menu/checkbox-item.tsx +9 -7
  504. package/src/menu/group-label.tsx +8 -1
  505. package/src/menu/group.tsx +8 -1
  506. package/src/menu/item-help-text.tsx +10 -1
  507. package/src/menu/item-label.tsx +10 -1
  508. package/src/menu/item.tsx +8 -6
  509. package/src/menu/radio-item.tsx +9 -7
  510. package/src/menu/separator.tsx +9 -2
  511. package/src/menu/stories/index.story.tsx +2 -2
  512. package/src/menu-group/stories/index.story.tsx +1 -1
  513. package/src/menu-item/stories/index.story.tsx +1 -1
  514. package/src/menu-items-choice/stories/index.story.tsx +1 -1
  515. package/src/menu-items-choice/style.scss +1 -0
  516. package/src/modal/stories/index.story.tsx +2 -2
  517. package/src/modal/test/index.tsx +2 -1
  518. package/src/navigable-container/stories/navigable-menu.story.tsx +1 -1
  519. package/src/navigable-container/stories/tabbable-container.story.tsx +1 -1
  520. package/src/navigation/stories/index.story.tsx +4 -4
  521. package/src/navigator/stories/index.story.tsx +3 -3
  522. package/src/number-control/README.md +2 -1
  523. package/src/number-control/index.tsx +9 -0
  524. package/src/number-control/stories/index.story.tsx +2 -1
  525. package/src/number-control/test/index.tsx +5 -1
  526. package/src/number-control/types.ts +7 -0
  527. package/src/panel/stories/index.story.tsx +1 -1
  528. package/src/placeholder/stories/index.story.tsx +3 -3
  529. package/src/popover/stories/index.story.tsx +11 -9
  530. package/src/query-controls/stories/index.story.tsx +6 -6
  531. package/src/radio-control/stories/index.story.tsx +1 -1
  532. package/src/radio-group/stories/index.story.tsx +3 -3
  533. package/src/range-control/index.tsx +1 -0
  534. package/src/range-control/mark.tsx +0 -1
  535. package/src/range-control/stories/index.story.tsx +7 -7
  536. package/src/range-control/styles/range-control-styles.ts +18 -19
  537. package/src/resizable-box/index.tsx +10 -0
  538. package/src/resizable-box/stories/index.story.tsx +1 -1
  539. package/src/resizable-box/style.scss +8 -0
  540. package/src/responsive-wrapper/stories/index.story.tsx +1 -1
  541. package/src/sandbox/stories/index.story.tsx +1 -1
  542. package/src/scrollable/stories/index.story.tsx +2 -1
  543. package/src/search-control/stories/index.story.tsx +1 -1
  544. package/src/select-control/stories/index.story.tsx +1 -1
  545. package/src/slot-fill/bubbles-virtually/fill.tsx +7 -11
  546. package/src/slot-fill/bubbles-virtually/slot-fill-provider.tsx +2 -13
  547. package/src/slot-fill/bubbles-virtually/slot.tsx +4 -7
  548. package/src/slot-fill/stories/index.story.tsx +2 -2
  549. package/src/slot-fill/types.ts +4 -3
  550. package/src/snackbar/stories/index.story.tsx +4 -4
  551. package/src/snackbar/stories/list.story.tsx +2 -2
  552. package/src/surface/stories/index.story.tsx +1 -1
  553. package/src/tabs/tab.tsx +0 -18
  554. package/src/tabs/test/index.tsx +1492 -947
  555. package/src/text-control/stories/index.story.tsx +1 -1
  556. package/src/textarea-control/stories/index.story.tsx +1 -1
  557. package/src/theme/stories/index.story.tsx +1 -1
  558. package/src/toggle-control/stories/index.story.tsx +1 -1
  559. package/src/toggle-group-control/stories/index.story.tsx +1 -1
  560. package/src/toolbar/stories/index.story.tsx +1 -1
  561. package/src/toolbar/toolbar-button/index.tsx +2 -0
  562. package/src/tools-panel/stories/index.story.tsx +15 -3
  563. package/src/tools-panel/test/index.tsx +0 -17
  564. package/src/tools-panel/tools-panel/README.md +4 -0
  565. package/src/tools-panel/tools-panel/component.tsx +2 -0
  566. package/src/tooltip/stories/index.story.tsx +1 -1
  567. package/src/tree-grid/cell.tsx +5 -1
  568. package/src/tree-grid/stories/index.story.tsx +1 -1
  569. package/src/tree-grid/types.ts +1 -1
  570. package/src/tree-select/stories/index.story.tsx +1 -1
  571. package/src/unit-control/README.md +3 -3
  572. package/src/unit-control/index.tsx +11 -1
  573. package/src/unit-control/stories/index.story.tsx +5 -4
  574. package/src/unit-control/test/index.tsx +5 -1
  575. package/src/unit-control/types.ts +7 -0
  576. package/src/view/stories/index.story.tsx +1 -1
  577. package/src/visually-hidden/stories/index.story.tsx +1 -1
  578. package/src/z-stack/stories/index.story.tsx +1 -1
  579. package/tsconfig.tsbuildinfo +1 -1
  580. package/build/menu/use-temporary-focus-visible-fix.js +0 -27
  581. package/build/menu/use-temporary-focus-visible-fix.js.map +0 -1
  582. package/build-module/menu/use-temporary-focus-visible-fix.js +0 -20
  583. package/build-module/menu/use-temporary-focus-visible-fix.js.map +0 -1
  584. package/build-types/menu/use-temporary-focus-visible-fix.d.ts +0 -8
  585. package/build-types/menu/use-temporary-focus-visible-fix.d.ts.map +0 -1
  586. package/src/menu/use-temporary-focus-visible-fix.ts +0 -22
@@ -9,15 +9,17 @@ import { useRef } from '@wordpress/element';
9
9
  import Button from '../button';
10
10
  import type { WordPressComponentProps } from '../context';
11
11
  import type { FormFileUploadProps } from './types';
12
+ import { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';
12
13
 
13
14
  /**
14
- * FormFileUpload is a component that allows users to select files from their local device.
15
+ * FormFileUpload allows users to select files from their local device.
15
16
  *
16
17
  * ```jsx
17
18
  * import { FormFileUpload } from '@wordpress/components';
18
19
  *
19
20
  * const MyFormFileUpload = () => (
20
21
  * <FormFileUpload
22
+ * __next40pxDefaultSize
21
23
  * accept="image/*"
22
24
  * onChange={ ( event ) => console.log( event.currentTarget.files ) }
23
25
  * >
@@ -40,6 +42,15 @@ export function FormFileUpload( {
40
42
  ref.current?.click();
41
43
  };
42
44
 
45
+ if ( ! render ) {
46
+ maybeWarnDeprecated36pxSize( {
47
+ componentName: 'FormFileUpload',
48
+ __next40pxDefaultSize: props.__next40pxDefaultSize,
49
+ // @ts-expect-error - We don't "officially" support all Button props but this likely happens.
50
+ size: props.size,
51
+ } );
52
+ }
53
+
43
54
  const ui = render ? (
44
55
  render( { openFileDialog } )
45
56
  ) : (
@@ -18,9 +18,9 @@ const meta: Meta< typeof FormFileUpload > = {
18
18
  id: 'components-formfileupload',
19
19
  component: FormFileUpload,
20
20
  argTypes: {
21
- icon: { control: { type: null } },
22
- onChange: { action: 'onChange', control: { type: null } },
23
- onClick: { control: { type: null } },
21
+ icon: { control: false },
22
+ onChange: { action: 'onChange', control: false },
23
+ onClick: { control: false },
24
24
  },
25
25
  parameters: {
26
26
  controls: { expanded: true },
@@ -36,6 +36,7 @@ const Template: StoryFn< typeof FormFileUpload > = ( props ) => {
36
36
  export const Default = Template.bind( {} );
37
37
  Default.args = {
38
38
  children: 'Select file',
39
+ __next40pxDefaultSize: true,
39
40
  };
40
41
 
41
42
  export const RestrictFileTypes = Template.bind( {} );
@@ -7,13 +7,17 @@ import userEvent from '@testing-library/user-event';
7
7
  /**
8
8
  * Internal dependencies
9
9
  */
10
- import FormFileUpload from '..';
10
+ import _FormFileUpload from '..';
11
11
 
12
12
  /**
13
13
  * Browser dependencies
14
14
  */
15
15
  const { File } = window;
16
16
 
17
+ const FormFileUpload = (
18
+ props: React.ComponentProps< typeof _FormFileUpload >
19
+ ) => <_FormFileUpload __next40pxDefaultSize { ...props } />;
20
+
17
21
  // @testing-library/user-event considers changing <input type="file"> to a string as a change, but it do not occur on real browsers, so the comparisons will be against this result
18
22
  const fakePath = expect.objectContaining( {
19
23
  target: expect.objectContaining( {
@@ -17,10 +17,9 @@ export type FormFileUploadProps = {
17
17
  */
18
18
  __next40pxDefaultSize?: boolean;
19
19
  /**
20
- * A string passed to `input` element that tells the browser which file types can be
21
- * upload to the upload by the user use. e.g: `image/*,video/*`.
22
- *
23
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#Unique_file_type_specifiers.
20
+ * A string passed to the `input` element that tells the browser which
21
+ * [file types](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#Unique_file_type_specifiers)
22
+ * can be uploaded by the user. e.g: `image/*,video/*`.
24
23
  */
25
24
  accept?: InputHTMLAttributes< HTMLInputElement >[ 'accept' ];
26
25
  /**
@@ -28,7 +27,9 @@ export type FormFileUploadProps = {
28
27
  */
29
28
  children?: ReactNode;
30
29
  /**
31
- * The icon to render in the `Button`.
30
+ * The icon to render in the default button.
31
+ *
32
+ * See the `Icon` component docs for more information.
32
33
  */
33
34
  icon?: ComponentProps< typeof Icon >[ 'icon' ];
34
35
  /**
@@ -50,10 +51,11 @@ export type FormFileUploadProps = {
50
51
  *
51
52
  * ```jsx
52
53
  * <FormFileUpload
53
- * onClick={ ( event ) => ( event.target.value = '' ) }
54
- * onChange={ onChange }
54
+ * __next40pxDefaultSize
55
+ * onClick={ ( event ) => ( event.target.value = '' ) }
56
+ * onChange={ onChange }
55
57
  * >
56
- * Upload
58
+ * Upload
57
59
  * </FormFileUpload>
58
60
  * ```
59
61
  */
@@ -85,6 +85,7 @@ const MyFormTokenField = () => {
85
85
 
86
86
  return (
87
87
  <FormTokenField
88
+ __next40pxDefaultSize
88
89
  value={ selectedContinents }
89
90
  suggestions={ continents }
90
91
  onChange={ ( tokens ) => setSelectedContinents( tokens ) }
@@ -30,6 +30,7 @@ import {
30
30
  import { Spacer } from '../spacer';
31
31
  import { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';
32
32
  import { withIgnoreIMEEvents } from '../utils/with-ignore-ime-events';
33
+ import { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';
33
34
 
34
35
  const identity = ( value: string ) => value;
35
36
 
@@ -86,6 +87,12 @@ export function FormTokenField( props: FormTokenFieldProps ) {
86
87
  } );
87
88
  }
88
89
 
90
+ maybeWarnDeprecated36pxSize( {
91
+ componentName: 'FormTokenField',
92
+ size: undefined,
93
+ __next40pxDefaultSize,
94
+ } );
95
+
89
96
  const instanceId = useInstanceId( FormTokenField );
90
97
 
91
98
  // We reset to these initial values again in the onBlur
@@ -19,10 +19,10 @@ const meta: Meta< typeof FormTokenField > = {
19
19
  id: 'components-formtokenfield',
20
20
  argTypes: {
21
21
  value: {
22
- control: { type: null },
22
+ control: false,
23
23
  },
24
24
  __experimentalValidateInput: {
25
- control: { type: null },
25
+ control: false,
26
26
  },
27
27
  },
28
28
  parameters: {
@@ -64,6 +64,7 @@ Default.args = {
64
64
  label: 'Type a continent',
65
65
  suggestions: continents,
66
66
  __nextHasNoMarginBottom: true,
67
+ __next40pxDefaultSize: true,
67
68
  };
68
69
 
69
70
  export const Async: StoryFn< typeof FormTokenField > = ( {
@@ -102,6 +103,7 @@ Async.args = {
102
103
  label: 'Type a continent',
103
104
  suggestions: continents,
104
105
  __nextHasNoMarginBottom: true,
106
+ __next40pxDefaultSize: true,
105
107
  };
106
108
 
107
109
  export const DropdownSelector: StoryFn< typeof FormTokenField > =
@@ -21,7 +21,11 @@ import { useState } from '@wordpress/element';
21
21
  /**
22
22
  * Internal dependencies
23
23
  */
24
- import FormTokenField from '../';
24
+ import _FormTokenField from '../';
25
+
26
+ const FormTokenField = ( props: ComponentProps< typeof _FormTokenField > ) => (
27
+ <_FormTokenField __next40pxDefaultSize { ...props } />
28
+ );
25
29
 
26
30
  const FormTokenFieldWithState = ( {
27
31
  onChange,
@@ -100,6 +100,14 @@ gradients from `gradients` will be shown.
100
100
  - Required: No
101
101
  - Default: `false`
102
102
 
103
+ ### `enableAlpha`
104
+
105
+ Whether to enable alpha transparency options in the picker.
106
+
107
+ - Type: `boolean`
108
+ - Required: No
109
+ - Default: `true`
110
+
103
111
  ### `gradients`
104
112
 
105
113
  An array of objects as predefined gradients displayed above the gradient
@@ -213,6 +213,7 @@ export function GradientPicker( {
213
213
  onChange,
214
214
  value,
215
215
  clearable = true,
216
+ enableAlpha = true,
216
217
  disableCustomGradients = false,
217
218
  __experimentalIsRenderedInSidebar,
218
219
  headingLevel = 2,
@@ -230,6 +231,7 @@ export function GradientPicker( {
230
231
  __experimentalIsRenderedInSidebar={
231
232
  __experimentalIsRenderedInSidebar
232
233
  }
234
+ enableAlpha={ enableAlpha }
233
235
  value={ value }
234
236
  onChange={ onChange }
235
237
  />
@@ -22,7 +22,7 @@ const meta: Meta< typeof GradientPicker > = {
22
22
  actions: { argTypesRegex: '^on.*' },
23
23
  },
24
24
  argTypes: {
25
- value: { control: { type: null } },
25
+ value: { control: false },
26
26
  },
27
27
  };
28
28
  export default meta;
@@ -56,6 +56,12 @@ type GradientPickerBaseProps = {
56
56
  * @default true
57
57
  */
58
58
  loop?: boolean;
59
+ /**
60
+ * Whether to enable alpha transparency options in the picker.
61
+ *
62
+ * @default true
63
+ */
64
+ enableAlpha?: boolean;
59
65
  } & (
60
66
  | {
61
67
  // TODO: [#54055] Either this or `aria-labelledby` should be required
@@ -15,7 +15,7 @@ const meta: Meta< typeof Grid > = {
15
15
  argTypes: {
16
16
  as: { control: { type: 'text' } },
17
17
  align: { control: { type: 'text' } },
18
- children: { control: { type: null } },
18
+ children: { control: false },
19
19
  columnGap: { control: { type: 'text' } },
20
20
  columns: {
21
21
  table: { type: { summary: 'number' } },
@@ -46,10 +46,10 @@ const meta: Meta< typeof HStack > = {
46
46
  id: 'components-experimental-hstack',
47
47
  argTypes: {
48
48
  as: {
49
- control: { type: null },
49
+ control: false,
50
50
  },
51
51
  children: {
52
- control: { type: null },
52
+ control: false,
53
53
  },
54
54
  alignment: {
55
55
  control: { type: 'select' },
@@ -1,82 +1,39 @@
1
1
  # Icon
2
2
 
3
- Allows you to render a raw icon without any initial styling or wrappers.
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-icon--docs">WordPress Storybook</a> for more detailed, interactive documentation.</p>
6
6
 
7
- #### With a Dashicon
7
+ Renders a raw icon without any initial styling or wrappers.
8
8
 
9
9
  ```jsx
10
- import { Icon } from '@wordpress/components';
10
+ import { wordpress } from '@wordpress/icons';
11
11
 
12
- const MyIcon = () => <Icon icon="screenoptions" />;
12
+ <Icon icon={ wordpress } />
13
13
  ```
14
-
15
- #### With a function
16
-
17
- ```jsx
18
- import { Icon } from '@wordpress/components';
19
-
20
- const MyIcon = () => (
21
- <Icon
22
- icon={ () => (
23
- <svg>
24
- <path d="M5 4v3h5.5v12h3V7H19V4z" />
25
- </svg>
26
- ) }
27
- />
28
- );
29
- ```
30
-
31
- #### With a Component
32
-
33
- ```jsx
34
- import { MyIconComponent } from '../my-icon-component';
35
- import { Icon } from '@wordpress/components';
36
-
37
- const MyIcon = () => <Icon icon={ MyIconComponent } />;
38
- ```
39
-
40
- #### With an SVG
41
-
42
- ```jsx
43
- import { Icon } from '@wordpress/components';
44
-
45
- const MyIcon = () => (
46
- <Icon
47
- icon={
48
- <svg>
49
- <path d="M5 4v3h5.5v12h3V7H19V4z" />
50
- </svg>
51
- }
52
- />
53
- );
54
- ```
55
-
56
- #### Specifying a className
57
-
58
- ```jsx
59
- import { Icon } from '@wordpress/components';
60
-
61
- const MyIcon = () => <Icon icon="screenoptions" className="example-class" />;
62
- ```
63
-
64
14
  ## Props
65
15
 
66
- The component accepts the following props. Any additional props are passed through to the underlying icon element.
16
+ ### `icon`
67
17
 
68
- ### icon
18
+ The icon to render. In most cases, you should use an icon from
19
+ [the `@wordpress/icons` package](https://wordpress.github.io/gutenberg/?path=/story/icons-icon--library).
69
20
 
70
- The icon to render. Supported values are: Dashicons (specified as strings), functions, Component instances and `null`.
21
+ Other supported values are: component instances, functions,
22
+ [Dashicons](https://developer.wordpress.org/resource/dashicons/)
23
+ (specified as strings), and `null`.
71
24
 
72
- - Type: `String|Function|Component|null`
73
- - Required: No
74
- - Default: `null`
25
+ The `size` value, as well as any other additional props, will be passed through.
75
26
 
76
- ### size
27
+ - Type: `IconType`
28
+ - Required: No
29
+ - Default: `null`
30
+
31
+ ### `size`
77
32
 
78
33
  The size (width and height) of the icon.
79
34
 
80
- - Type: `Number`
81
- - Required: No
82
- - Default: `20` when a Dashicon is rendered, `24` for all other icons.
35
+ Defaults to `20` when `icon` is a string (i.e. a Dashicon id), otherwise `24`.
36
+
37
+ - Type: `number`
38
+ - Required: No
39
+ - Default: `'string' === typeof icon ? 20 : 24`
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "../../schemas/docs-manifest.json",
3
+ "displayName": "Icon",
4
+ "filePath": "./index.tsx"
5
+ }
@@ -25,10 +25,22 @@ export type IconType =
25
25
  | ( ( props: { size?: number } ) => JSX.Element )
26
26
  | JSX.Element;
27
27
 
28
- interface BaseProps {
28
+ type AdditionalProps< T > = T extends ComponentType< infer U >
29
+ ? U
30
+ : T extends DashiconIconKey
31
+ ? SVGProps< SVGSVGElement >
32
+ : {};
33
+
34
+ export type Props = {
29
35
  /**
30
- * The icon to render. Supported values are: Dashicons (specified as
31
- * strings), functions, Component instances and `null`.
36
+ * The icon to render. In most cases, you should use an icon from
37
+ * [the `@wordpress/icons` package](https://wordpress.github.io/gutenberg/?path=/story/icons-icon--library).
38
+ *
39
+ * Other supported values are: component instances, functions,
40
+ * [Dashicons](https://developer.wordpress.org/resource/dashicons/)
41
+ * (specified as strings), and `null`.
42
+ *
43
+ * The `size` value, as well as any other additional props, will be passed through.
32
44
  *
33
45
  * @default null
34
46
  */
@@ -36,19 +48,22 @@ interface BaseProps {
36
48
  /**
37
49
  * The size (width and height) of the icon.
38
50
  *
39
- * @default `20` when a Dashicon is rendered, `24` for all other icons.
51
+ * Defaults to `20` when `icon` is a string (i.e. a Dashicon id), otherwise `24`.
52
+ *
53
+ * @default `'string' === typeof icon ? 20 : 24`.
40
54
  */
41
55
  size?: number;
42
- }
43
-
44
- type AdditionalProps< T > = T extends ComponentType< infer U >
45
- ? U
46
- : T extends DashiconIconKey
47
- ? SVGProps< SVGSVGElement >
48
- : {};
49
-
50
- export type Props = BaseProps & AdditionalProps< IconType >;
56
+ } & AdditionalProps< IconType >;
51
57
 
58
+ /**
59
+ * Renders a raw icon without any initial styling or wrappers.
60
+ *
61
+ * ```jsx
62
+ * import { wordpress } from '@wordpress/icons';
63
+ *
64
+ * <Icon icon={ wordpress } />
65
+ * ```
66
+ */
52
67
  function Icon( {
53
68
  icon = null,
54
69
  size = 'string' === typeof icon ? 20 : 24,
@@ -47,26 +47,68 @@ FillColor.args = {
47
47
  ...Default.args,
48
48
  };
49
49
 
50
+ /**
51
+ * When `icon` is a function, it will be passed the `size` prop and any other additional props.
52
+ */
50
53
  export const WithAFunction = Template.bind( {} );
51
54
  WithAFunction.args = {
52
55
  ...Default.args,
53
- icon: () => (
54
- <SVG>
55
- <Path d="M5 4v3h5.5v12h3V7H19V4z" />
56
- </SVG>
56
+ icon: ( { size }: { size?: number } ) => (
57
+ <img
58
+ width={ size }
59
+ height={ size }
60
+ src="https://s.w.org/style/images/about/WordPress-logotype-wmark.png"
61
+ alt="WordPress"
62
+ />
57
63
  ),
58
64
  };
65
+ WithAFunction.parameters = {
66
+ docs: {
67
+ source: {
68
+ code: `
69
+ <Icon
70
+ icon={ ( { size } ) => (
71
+ <img
72
+ width={ size }
73
+ height={ size }
74
+ src="https://s.w.org/style/images/about/WordPress-logotype-wmark.png"
75
+ alt="WordPress"
76
+ />
77
+ ) }
78
+ />
79
+ `,
80
+ },
81
+ },
82
+ };
59
83
 
60
- const MyIconComponent = () => (
61
- <SVG>
84
+ const MyIconComponent = ( { size }: { size?: number } ) => (
85
+ <SVG width={ size } height={ size }>
62
86
  <Path d="M5 4v3h5.5v12h3V7H19V4z" />
63
87
  </SVG>
64
88
  );
65
89
 
90
+ /**
91
+ * When `icon` is a component, it will be passed the `size` prop and any other additional props.
92
+ */
66
93
  export const WithAComponent = Template.bind( {} );
67
94
  WithAComponent.args = {
68
95
  ...Default.args,
69
- icon: MyIconComponent,
96
+ icon: <MyIconComponent />,
97
+ };
98
+ WithAComponent.parameters = {
99
+ docs: {
100
+ source: {
101
+ code: `
102
+ const MyIconComponent = ( { size } ) => (
103
+ <SVG width={ size } height={ size }>
104
+ <Path d="M5 4v3h5.5v12h3V7H19V4z" />
105
+ </SVG>
106
+ );
107
+
108
+ <Icon icon={ <MyIconComponent /> } />
109
+ `,
110
+ },
111
+ },
70
112
  };
71
113
 
72
114
  export const WithAnSVG = Template.bind( {} );
@@ -80,7 +122,7 @@ WithAnSVG.args = {
80
122
  };
81
123
 
82
124
  /**
83
- * Although it's preferred to use icons from the `@wordpress/icons` package, Dashicons are still supported,
125
+ * Although it's preferred to use icons from the `@wordpress/icons` package, [Dashicons](https://developer.wordpress.org/resource/dashicons/) are still supported,
84
126
  * as long as you are in a context where the Dashicons stylesheet is loaded. To simulate that here,
85
127
  * use the Global CSS Injector in the Storybook toolbar at the top and select the "WordPress" preset.
86
128
  */
package/src/index.ts CHANGED
@@ -21,11 +21,7 @@ export {
21
21
  default as Animate,
22
22
  getAnimateClassName as __unstableGetAnimateClassName,
23
23
  } from './animate';
24
- export {
25
- __unstableMotion,
26
- __unstableAnimatePresence,
27
- __unstableMotionContext,
28
- } from './animation';
24
+ export { __unstableMotion, __unstableAnimatePresence } from './animation';
29
25
  export { default as AnglePickerControl } from './angle-picker-control';
30
26
  export {
31
27
  default as Autocomplete,
@@ -23,10 +23,10 @@ const meta: Meta< typeof InputControl > = {
23
23
  subcomponents: { InputControlPrefixWrapper, InputControlSuffixWrapper },
24
24
  argTypes: {
25
25
  __unstableInputWidth: { control: { type: 'text' } },
26
- __unstableStateReducer: { control: { type: null } },
27
- onChange: { control: { type: null } },
28
- prefix: { control: { type: null } },
29
- suffix: { control: { type: null } },
26
+ __unstableStateReducer: { control: false },
27
+ onChange: { control: false },
28
+ prefix: { control: false },
29
+ suffix: { control: false },
30
30
  type: { control: { type: 'text' } },
31
31
  value: { control: { disable: true } },
32
32
  },
@@ -17,8 +17,8 @@ const meta: Meta< typeof ItemGroup > = {
17
17
  subcomponents: { Item },
18
18
  title: 'Components (Experimental)/ItemGroup',
19
19
  argTypes: {
20
- as: { control: { type: null } },
21
- children: { control: { type: null } },
20
+ as: { control: false },
21
+ children: { control: false },
22
22
  },
23
23
  parameters: {
24
24
  controls: { expanded: true },
@@ -16,30 +16,32 @@ import type { WordPressComponentProps } from '../context';
16
16
  import { MenuContext } from './context';
17
17
  import type { MenuCheckboxItemProps } from './types';
18
18
  import * as Styled from './styles';
19
- import { useTemporaryFocusVisibleFix } from './use-temporary-focus-visible-fix';
20
19
 
21
20
  export const MenuCheckboxItem = forwardRef<
22
21
  HTMLDivElement,
23
22
  WordPressComponentProps< MenuCheckboxItemProps, 'div', false >
24
23
  >( function MenuCheckboxItem(
25
- { suffix, children, onBlur, hideOnClick = false, ...props },
24
+ { suffix, children, hideOnClick = false, ...props },
26
25
  ref
27
26
  ) {
28
- // TODO: Remove when https://github.com/ariakit/ariakit/issues/4083 is fixed
29
- const focusVisibleFixProps = useTemporaryFocusVisibleFix( { onBlur } );
30
27
  const menuContext = useContext( MenuContext );
31
28
 
29
+ if ( ! menuContext?.store ) {
30
+ throw new Error(
31
+ 'Menu.CheckboxItem can only be rendered inside a Menu component'
32
+ );
33
+ }
34
+
32
35
  return (
33
36
  <Styled.MenuCheckboxItem
34
37
  ref={ ref }
35
38
  { ...props }
36
- { ...focusVisibleFixProps }
37
39
  accessibleWhenDisabled
38
40
  hideOnClick={ hideOnClick }
39
- store={ menuContext?.store }
41
+ store={ menuContext.store }
40
42
  >
41
43
  <Ariakit.MenuItemCheck
42
- store={ menuContext?.store }
44
+ store={ menuContext.store }
43
45
  render={ <Styled.ItemPrefixWrapper /> }
44
46
  // Override some ariakit inline styles
45
47
  style={ { width: 'auto', height: 'auto' } }
@@ -17,6 +17,13 @@ export const MenuGroupLabel = forwardRef<
17
17
  WordPressComponentProps< MenuGroupLabelProps, 'div', false >
18
18
  >( function MenuGroup( props, ref ) {
19
19
  const menuContext = useContext( MenuContext );
20
+
21
+ if ( ! menuContext?.store ) {
22
+ throw new Error(
23
+ 'Menu.GroupLabel can only be rendered inside a Menu component'
24
+ );
25
+ }
26
+
20
27
  return (
21
28
  <Styled.MenuGroupLabel
22
29
  ref={ ref }
@@ -31,7 +38,7 @@ export const MenuGroupLabel = forwardRef<
31
38
  />
32
39
  }
33
40
  { ...props }
34
- store={ menuContext?.store }
41
+ store={ menuContext.store }
35
42
  />
36
43
  );
37
44
  } );
@@ -16,11 +16,18 @@ export const MenuGroup = forwardRef<
16
16
  WordPressComponentProps< MenuGroupProps, 'div', false >
17
17
  >( function MenuGroup( props, ref ) {
18
18
  const menuContext = useContext( MenuContext );
19
+
20
+ if ( ! menuContext?.store ) {
21
+ throw new Error(
22
+ 'Menu.Group can only be rendered inside a Menu component'
23
+ );
24
+ }
25
+
19
26
  return (
20
27
  <Styled.MenuGroup
21
28
  ref={ ref }
22
29
  { ...props }
23
- store={ menuContext?.store }
30
+ store={ menuContext.store }
24
31
  />
25
32
  );
26
33
  } );