@wordpress/components 28.12.0 → 28.13.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 (442) hide show
  1. package/CHANGELOG.md +45 -1
  2. package/CONTRIBUTING.md +16 -16
  3. package/build/autocomplete/autocompleter-ui.js +1 -0
  4. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  5. package/build/border-box-control/border-box-control/component.js +1 -0
  6. package/build/border-box-control/border-box-control/component.js.map +1 -1
  7. package/build/border-box-control/border-box-control-split-controls/component.js +2 -1
  8. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  9. package/build/border-control/border-control/component.js +2 -1
  10. package/build/border-control/border-control/component.js.map +1 -1
  11. package/build/border-control/border-control/hook.js +3 -1
  12. package/build/border-control/border-control/hook.js.map +1 -1
  13. package/build/border-control/types.js.map +1 -1
  14. package/build/box-control/all-input-control.js +1 -0
  15. package/build/box-control/all-input-control.js.map +1 -1
  16. package/build/box-control/axial-input-controls.js +1 -0
  17. package/build/box-control/axial-input-controls.js.map +1 -1
  18. package/build/box-control/index.js +13 -13
  19. package/build/box-control/index.js.map +1 -1
  20. package/build/box-control/input-controls.js +1 -0
  21. package/build/box-control/input-controls.js.map +1 -1
  22. package/build/box-control/types.js.map +1 -1
  23. package/build/circular-option-picker/circular-option-picker-actions.js +1 -0
  24. package/build/circular-option-picker/circular-option-picker-actions.js.map +1 -1
  25. package/build/circular-option-picker/circular-option-picker-option.js +1 -0
  26. package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
  27. package/build/color-palette/index.js +2 -0
  28. package/build/color-palette/index.js.map +1 -1
  29. package/build/color-picker/color-copy-button.js +6 -4
  30. package/build/color-picker/color-copy-button.js.map +1 -1
  31. package/build/color-picker/component.js +1 -0
  32. package/build/color-picker/component.js.map +1 -1
  33. package/build/color-picker/styles.js +21 -28
  34. package/build/color-picker/styles.js.map +1 -1
  35. package/build/combobox-control/index.js +17 -12
  36. package/build/combobox-control/index.js.map +1 -1
  37. package/build/composite/hover.js +1 -1
  38. package/build/composite/hover.js.map +1 -1
  39. package/build/composite/typeahead.js +1 -1
  40. package/build/composite/typeahead.js.map +1 -1
  41. package/build/custom-gradient-picker/gradient-bar/control-points.js +2 -0
  42. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  43. package/build/dashicon/types.js.map +1 -1
  44. package/build/dimension-control/index.js +7 -0
  45. package/build/dimension-control/index.js.map +1 -1
  46. package/build/disabled/index.js +8 -1
  47. package/build/disabled/index.js.map +1 -1
  48. package/build/duotone-picker/duotone-picker.js +2 -0
  49. package/build/duotone-picker/duotone-picker.js.map +1 -1
  50. package/build/font-size-picker/font-size-picker-toggle-group.js +1 -0
  51. package/build/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  52. package/build/font-size-picker/index.js +7 -0
  53. package/build/font-size-picker/index.js.map +1 -1
  54. package/build/form-file-upload/index.js +3 -1
  55. package/build/form-file-upload/index.js.map +1 -1
  56. package/build/gradient-picker/index.js +34 -32
  57. package/build/gradient-picker/index.js.map +1 -1
  58. package/build/gradient-picker/types.js.map +1 -1
  59. package/build/icon/index.js +9 -0
  60. package/build/icon/index.js.map +1 -1
  61. package/build/menu/styles.js +16 -16
  62. package/build/menu/styles.js.map +1 -1
  63. package/build/modal/index.js +2 -2
  64. package/build/modal/index.js.map +1 -1
  65. package/build/private-apis.js +0 -2
  66. package/build/private-apis.js.map +1 -1
  67. package/build/range-control/index.js +11 -0
  68. package/build/range-control/index.js.map +1 -1
  69. package/build/range-control/types.js.map +1 -1
  70. package/build/slot-fill/bubbles-virtually/fill.js +14 -31
  71. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  72. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +13 -4
  73. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  74. package/build/slot-fill/bubbles-virtually/slot.js +11 -9
  75. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  76. package/build/slot-fill/bubbles-virtually/use-slot.js +1 -8
  77. package/build/slot-fill/bubbles-virtually/use-slot.js.map +1 -1
  78. package/build/slot-fill/fill.js +7 -24
  79. package/build/slot-fill/fill.js.map +1 -1
  80. package/build/slot-fill/index.js +5 -10
  81. package/build/slot-fill/index.js.map +1 -1
  82. package/build/slot-fill/provider.js +2 -2
  83. package/build/slot-fill/provider.js.map +1 -1
  84. package/build/slot-fill/slot.js +37 -77
  85. package/build/slot-fill/slot.js.map +1 -1
  86. package/build/slot-fill/types.js.map +1 -1
  87. package/build/text-control/index.js +7 -0
  88. package/build/text-control/index.js.map +1 -1
  89. package/build/toggle-group-control/toggle-group-control/component.js +9 -0
  90. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  91. package/build/toggle-group-control/toggle-group-control-option/component.js +1 -0
  92. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  93. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +1 -1
  94. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  95. package/build/toggle-group-control/types.js.map +1 -1
  96. package/build/utils/deprecated-36px-size.js +3 -2
  97. package/build/utils/deprecated-36px-size.js.map +1 -1
  98. package/build-module/autocomplete/autocompleter-ui.js +1 -0
  99. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  100. package/build-module/border-box-control/border-box-control/component.js +1 -0
  101. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  102. package/build-module/border-box-control/border-box-control-split-controls/component.js +2 -1
  103. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  104. package/build-module/border-control/border-control/component.js +2 -1
  105. package/build-module/border-control/border-control/component.js.map +1 -1
  106. package/build-module/border-control/border-control/hook.js +3 -1
  107. package/build-module/border-control/border-control/hook.js.map +1 -1
  108. package/build-module/border-control/types.js.map +1 -1
  109. package/build-module/box-control/all-input-control.js +1 -0
  110. package/build-module/box-control/all-input-control.js.map +1 -1
  111. package/build-module/box-control/axial-input-controls.js +1 -0
  112. package/build-module/box-control/axial-input-controls.js.map +1 -1
  113. package/build-module/box-control/index.js +13 -13
  114. package/build-module/box-control/index.js.map +1 -1
  115. package/build-module/box-control/input-controls.js +1 -0
  116. package/build-module/box-control/input-controls.js.map +1 -1
  117. package/build-module/box-control/types.js.map +1 -1
  118. package/build-module/circular-option-picker/circular-option-picker-actions.js +1 -0
  119. package/build-module/circular-option-picker/circular-option-picker-actions.js.map +1 -1
  120. package/build-module/circular-option-picker/circular-option-picker-option.js +1 -0
  121. package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
  122. package/build-module/color-palette/index.js +2 -0
  123. package/build-module/color-palette/index.js.map +1 -1
  124. package/build-module/color-picker/color-copy-button.js +6 -4
  125. package/build-module/color-picker/color-copy-button.js.map +1 -1
  126. package/build-module/color-picker/component.js +1 -0
  127. package/build-module/color-picker/component.js.map +1 -1
  128. package/build-module/color-picker/styles.js +20 -27
  129. package/build-module/color-picker/styles.js.map +1 -1
  130. package/build-module/combobox-control/index.js +18 -13
  131. package/build-module/combobox-control/index.js.map +1 -1
  132. package/build-module/composite/hover.js +1 -1
  133. package/build-module/composite/hover.js.map +1 -1
  134. package/build-module/composite/typeahead.js +1 -1
  135. package/build-module/composite/typeahead.js.map +1 -1
  136. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +2 -0
  137. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  138. package/build-module/dashicon/types.js.map +1 -1
  139. package/build-module/dimension-control/index.js +7 -0
  140. package/build-module/dimension-control/index.js.map +1 -1
  141. package/build-module/disabled/index.js +8 -1
  142. package/build-module/disabled/index.js.map +1 -1
  143. package/build-module/duotone-picker/duotone-picker.js +2 -0
  144. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  145. package/build-module/font-size-picker/font-size-picker-toggle-group.js +1 -0
  146. package/build-module/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  147. package/build-module/font-size-picker/index.js +7 -0
  148. package/build-module/font-size-picker/index.js.map +1 -1
  149. package/build-module/form-file-upload/index.js +3 -1
  150. package/build-module/form-file-upload/index.js.map +1 -1
  151. package/build-module/gradient-picker/index.js +34 -32
  152. package/build-module/gradient-picker/index.js.map +1 -1
  153. package/build-module/gradient-picker/types.js.map +1 -1
  154. package/build-module/icon/index.js +9 -0
  155. package/build-module/icon/index.js.map +1 -1
  156. package/build-module/menu/styles.js +16 -16
  157. package/build-module/menu/styles.js.map +1 -1
  158. package/build-module/modal/index.js +2 -2
  159. package/build-module/modal/index.js.map +1 -1
  160. package/build-module/private-apis.js +0 -2
  161. package/build-module/private-apis.js.map +1 -1
  162. package/build-module/range-control/index.js +11 -0
  163. package/build-module/range-control/index.js.map +1 -1
  164. package/build-module/range-control/types.js.map +1 -1
  165. package/build-module/slot-fill/bubbles-virtually/fill.js +15 -32
  166. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  167. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +13 -4
  168. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  169. package/build-module/slot-fill/bubbles-virtually/slot.js +11 -9
  170. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  171. package/build-module/slot-fill/bubbles-virtually/use-slot.js +2 -9
  172. package/build-module/slot-fill/bubbles-virtually/use-slot.js.map +1 -1
  173. package/build-module/slot-fill/fill.js +7 -24
  174. package/build-module/slot-fill/fill.js.map +1 -1
  175. package/build-module/slot-fill/index.js +5 -8
  176. package/build-module/slot-fill/index.js.map +1 -1
  177. package/build-module/slot-fill/provider.js +2 -3
  178. package/build-module/slot-fill/provider.js.map +1 -1
  179. package/build-module/slot-fill/slot.js +38 -78
  180. package/build-module/slot-fill/slot.js.map +1 -1
  181. package/build-module/slot-fill/types.js.map +1 -1
  182. package/build-module/text-control/index.js +7 -0
  183. package/build-module/text-control/index.js.map +1 -1
  184. package/build-module/toggle-group-control/toggle-group-control/component.js +9 -0
  185. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  186. package/build-module/toggle-group-control/toggle-group-control-option/component.js +1 -0
  187. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  188. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +1 -1
  189. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  190. package/build-module/toggle-group-control/types.js.map +1 -1
  191. package/build-module/utils/deprecated-36px-size.js +3 -2
  192. package/build-module/utils/deprecated-36px-size.js.map +1 -1
  193. package/build-style/style-rtl.css +3 -10
  194. package/build-style/style.css +3 -10
  195. package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -1
  196. package/build-types/base-control/stories/index.story.d.ts.map +1 -1
  197. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  198. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  199. package/build-types/border-control/border-control/component.d.ts +1 -0
  200. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  201. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  202. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  203. package/build-types/border-control/border-control-style-picker/component.d.ts.map +1 -1
  204. package/build-types/border-control/stories/index.story.d.ts +10 -5
  205. package/build-types/border-control/stories/index.story.d.ts.map +1 -1
  206. package/build-types/border-control/types.d.ts +7 -0
  207. package/build-types/border-control/types.d.ts.map +1 -1
  208. package/build-types/box-control/all-input-control.d.ts.map +1 -1
  209. package/build-types/box-control/axial-input-controls.d.ts.map +1 -1
  210. package/build-types/box-control/index.d.ts +13 -13
  211. package/build-types/box-control/input-controls.d.ts.map +1 -1
  212. package/build-types/box-control/styles/box-control-styles.d.ts +2 -1
  213. package/build-types/box-control/styles/box-control-styles.d.ts.map +1 -1
  214. package/build-types/box-control/types.d.ts +2 -0
  215. package/build-types/box-control/types.d.ts.map +1 -1
  216. package/build-types/checkbox-control/stories/index.story.d.ts.map +1 -1
  217. package/build-types/circular-option-picker/circular-option-picker-actions.d.ts.map +1 -1
  218. package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
  219. package/build-types/circular-option-picker/stories/index.story.d.ts.map +1 -1
  220. package/build-types/color-indicator/stories/index.story.d.ts.map +1 -1
  221. package/build-types/color-palette/index.d.ts.map +1 -1
  222. package/build-types/color-palette/stories/index.story.d.ts.map +1 -1
  223. package/build-types/color-picker/color-copy-button.d.ts.map +1 -1
  224. package/build-types/color-picker/component.d.ts.map +1 -1
  225. package/build-types/color-picker/stories/index.story.d.ts.map +1 -1
  226. package/build-types/color-picker/styles.d.ts +2 -4
  227. package/build-types/color-picker/styles.d.ts.map +1 -1
  228. package/build-types/combobox-control/index.d.ts +1 -0
  229. package/build-types/combobox-control/index.d.ts.map +1 -1
  230. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  231. package/build-types/composite/typeahead.d.ts.map +1 -1
  232. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts.map +1 -1
  233. package/build-types/custom-gradient-picker/stories/index.story.d.ts.map +1 -1
  234. package/build-types/custom-select-control/stories/index.story.d.ts.map +1 -1
  235. package/build-types/custom-select-control-v2/stories/index.story.d.ts.map +1 -1
  236. package/build-types/dashicon/types.d.ts +1 -1
  237. package/build-types/dashicon/types.d.ts.map +1 -1
  238. package/build-types/date-time/stories/date-time.story.d.ts.map +1 -1
  239. package/build-types/date-time/stories/date.story.d.ts.map +1 -1
  240. package/build-types/date-time/stories/time.story.d.ts.map +1 -1
  241. package/build-types/dimension-control/index.d.ts +1 -0
  242. package/build-types/dimension-control/index.d.ts.map +1 -1
  243. package/build-types/disabled/index.d.ts +8 -1
  244. package/build-types/disabled/index.d.ts.map +1 -1
  245. package/build-types/disabled/stories/index.story.d.ts.map +1 -1
  246. package/build-types/drop-zone/stories/index.story.d.ts.map +1 -1
  247. package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
  248. package/build-types/duotone-picker/duotone-picker.d.ts.map +1 -1
  249. package/build-types/font-size-picker/font-size-picker-toggle-group.d.ts.map +1 -1
  250. package/build-types/font-size-picker/index.d.ts.map +1 -1
  251. package/build-types/font-size-picker/stories/index.story.d.ts.map +1 -1
  252. package/build-types/form-file-upload/index.d.ts.map +1 -1
  253. package/build-types/form-file-upload/stories/index.story.d.ts.map +1 -1
  254. package/build-types/form-token-field/stories/index.story.d.ts.map +1 -1
  255. package/build-types/gradient-picker/index.d.ts +32 -32
  256. package/build-types/gradient-picker/index.d.ts.map +1 -1
  257. package/build-types/gradient-picker/stories/index.story.d.ts.map +1 -1
  258. package/build-types/gradient-picker/types.d.ts +1 -5
  259. package/build-types/gradient-picker/types.d.ts.map +1 -1
  260. package/build-types/h-stack/stories/index.story.d.ts.map +1 -1
  261. package/build-types/icon/index.d.ts +23 -7
  262. package/build-types/icon/index.d.ts.map +1 -1
  263. package/build-types/icon/stories/index.story.d.ts +7 -1
  264. package/build-types/icon/stories/index.story.d.ts.map +1 -1
  265. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  266. package/build-types/menu-group/stories/index.story.d.ts.map +1 -1
  267. package/build-types/menu-item/stories/index.story.d.ts.map +1 -1
  268. package/build-types/menu-items-choice/stories/index.story.d.ts.map +1 -1
  269. package/build-types/number-control/stories/index.story.d.ts.map +1 -1
  270. package/build-types/placeholder/stories/index.story.d.ts.map +1 -1
  271. package/build-types/private-apis.d.ts.map +1 -1
  272. package/build-types/radio-control/stories/index.story.d.ts.map +1 -1
  273. package/build-types/range-control/index.d.ts +3 -1
  274. package/build-types/range-control/index.d.ts.map +1 -1
  275. package/build-types/range-control/stories/index.story.d.ts.map +1 -1
  276. package/build-types/range-control/types.d.ts +7 -0
  277. package/build-types/range-control/types.d.ts.map +1 -1
  278. package/build-types/responsive-wrapper/stories/index.story.d.ts.map +1 -1
  279. package/build-types/search-control/stories/index.story.d.ts.map +1 -1
  280. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  281. package/build-types/slot-fill/bubbles-virtually/fill.d.ts +1 -1
  282. package/build-types/slot-fill/bubbles-virtually/fill.d.ts.map +1 -1
  283. package/build-types/slot-fill/bubbles-virtually/slot-fill-provider.d.ts.map +1 -1
  284. package/build-types/slot-fill/bubbles-virtually/slot.d.ts.map +1 -1
  285. package/build-types/slot-fill/bubbles-virtually/use-slot-fills.d.ts +1 -1
  286. package/build-types/slot-fill/bubbles-virtually/use-slot-fills.d.ts.map +1 -1
  287. package/build-types/slot-fill/bubbles-virtually/use-slot.d.ts +3 -7
  288. package/build-types/slot-fill/bubbles-virtually/use-slot.d.ts.map +1 -1
  289. package/build-types/slot-fill/fill.d.ts.map +1 -1
  290. package/build-types/slot-fill/index.d.ts +5 -12
  291. package/build-types/slot-fill/index.d.ts.map +1 -1
  292. package/build-types/slot-fill/provider.d.ts.map +1 -1
  293. package/build-types/slot-fill/slot.d.ts +1 -1
  294. package/build-types/slot-fill/slot.d.ts.map +1 -1
  295. package/build-types/slot-fill/types.d.ts +15 -18
  296. package/build-types/slot-fill/types.d.ts.map +1 -1
  297. package/build-types/slot-fill/use-slot.d.ts +1 -1
  298. package/build-types/slot-fill/use-slot.d.ts.map +1 -1
  299. package/build-types/text-control/index.d.ts +1 -0
  300. package/build-types/text-control/index.d.ts.map +1 -1
  301. package/build-types/text-control/stories/index.story.d.ts.map +1 -1
  302. package/build-types/textarea-control/stories/index.story.d.ts.map +1 -1
  303. package/build-types/toggle-control/stories/index.story.d.ts.map +1 -1
  304. package/build-types/toggle-group-control/stories/index.story.d.ts.map +1 -1
  305. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +2 -0
  306. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  307. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +1 -0
  308. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  309. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
  310. package/build-types/toggle-group-control/types.d.ts +7 -0
  311. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  312. package/build-types/tools-panel/stories/index.story.d.ts.map +1 -1
  313. package/build-types/tree-select/stories/index.story.d.ts.map +1 -1
  314. package/build-types/unit-control/stories/index.story.d.ts.map +1 -1
  315. package/build-types/utils/deprecated-36px-size.d.ts +2 -1
  316. package/build-types/utils/deprecated-36px-size.d.ts.map +1 -1
  317. package/build-types/v-stack/stories/index.story.d.ts.map +1 -1
  318. package/package.json +2 -2
  319. package/src/autocomplete/autocompleter-ui.tsx +1 -0
  320. package/src/base-control/stories/index.story.tsx +2 -1
  321. package/src/border-box-control/border-box-control/component.tsx +1 -0
  322. package/src/border-box-control/border-box-control-split-controls/component.tsx +1 -0
  323. package/src/border-control/border-control/component.tsx +1 -0
  324. package/src/border-control/border-control/hook.ts +2 -0
  325. package/src/border-control/types.ts +7 -0
  326. package/src/box-control/README.md +79 -60
  327. package/src/box-control/all-input-control.tsx +1 -0
  328. package/src/box-control/axial-input-controls.tsx +1 -0
  329. package/src/box-control/docs-manifest.json +5 -0
  330. package/src/box-control/index.tsx +13 -13
  331. package/src/box-control/input-controls.tsx +1 -0
  332. package/src/box-control/types.ts +2 -0
  333. package/src/checkbox-control/stories/index.story.tsx +2 -1
  334. package/src/circular-option-picker/circular-option-picker-actions.tsx +1 -0
  335. package/src/circular-option-picker/circular-option-picker-option.tsx +1 -0
  336. package/src/circular-option-picker/stories/index.story.tsx +2 -1
  337. package/src/circular-option-picker/style.scss +2 -2
  338. package/src/color-indicator/stories/index.story.tsx +2 -1
  339. package/src/color-palette/index.tsx +5 -1
  340. package/src/color-palette/stories/index.story.tsx +2 -1
  341. package/src/color-picker/color-copy-button.tsx +8 -10
  342. package/src/color-picker/component.tsx +1 -0
  343. package/src/color-picker/stories/index.story.tsx +2 -1
  344. package/src/color-picker/styles.ts +0 -13
  345. package/src/combobox-control/README.md +1 -0
  346. package/src/combobox-control/index.tsx +19 -13
  347. package/src/combobox-control/stories/index.story.tsx +3 -1
  348. package/src/combobox-control/style.scss +0 -6
  349. package/src/combobox-control/test/index.tsx +7 -1
  350. package/src/composite/hover.tsx +1 -1
  351. package/src/composite/typeahead.tsx +3 -1
  352. package/src/custom-gradient-picker/gradient-bar/control-points.tsx +2 -0
  353. package/src/custom-gradient-picker/stories/index.story.tsx +2 -1
  354. package/src/custom-gradient-picker/style.scss +1 -1
  355. package/src/custom-select-control/stories/index.story.tsx +2 -1
  356. package/src/custom-select-control-v2/stories/index.story.tsx +2 -1
  357. package/src/dashicon/types.ts +0 -2
  358. package/src/date-time/stories/date-time.story.tsx +2 -1
  359. package/src/date-time/stories/date.story.tsx +2 -1
  360. package/src/date-time/stories/time.story.tsx +2 -1
  361. package/src/dimension-control/README.md +1 -0
  362. package/src/dimension-control/index.tsx +8 -0
  363. package/src/dimension-control/stories/index.story.tsx +1 -0
  364. package/src/dimension-control/test/__snapshots__/index.test.js.snap +24 -24
  365. package/src/dimension-control/test/index.test.js +7 -1
  366. package/src/disabled/README.md +9 -7
  367. package/src/disabled/index.tsx +8 -1
  368. package/src/disabled/stories/index.story.tsx +1 -0
  369. package/src/drop-zone/stories/index.story.tsx +2 -1
  370. package/src/dropdown-menu/stories/index.story.tsx +2 -1
  371. package/src/duotone-picker/duotone-picker.tsx +2 -0
  372. package/src/font-size-picker/README.md +1 -0
  373. package/src/font-size-picker/font-size-picker-toggle-group.tsx +1 -0
  374. package/src/font-size-picker/index.tsx +8 -0
  375. package/src/font-size-picker/stories/index.story.tsx +1 -0
  376. package/src/font-size-picker/test/index.tsx +5 -1
  377. package/src/form-file-upload/index.tsx +9 -3
  378. package/src/form-file-upload/stories/index.story.tsx +2 -1
  379. package/src/form-token-field/stories/index.story.tsx +2 -1
  380. package/src/gradient-picker/README.md +107 -69
  381. package/src/gradient-picker/docs-manifest.json +5 -0
  382. package/src/gradient-picker/index.tsx +34 -32
  383. package/src/gradient-picker/stories/index.story.tsx +2 -1
  384. package/src/gradient-picker/types.ts +3 -5
  385. package/src/h-stack/stories/index.story.tsx +2 -1
  386. package/src/higher-order/with-constrained-tabbing/README.md +13 -3
  387. package/src/higher-order/with-focus-return/README.md +9 -2
  388. package/src/icon/README.md +22 -65
  389. package/src/icon/docs-manifest.json +5 -0
  390. package/src/icon/index.tsx +28 -13
  391. package/src/icon/stories/index.story.tsx +50 -8
  392. package/src/input-control/stories/index.story.tsx +2 -1
  393. package/src/menu/styles.ts +1 -1
  394. package/src/menu-group/stories/index.story.tsx +2 -1
  395. package/src/menu-item/stories/index.story.tsx +2 -1
  396. package/src/menu-items-choice/stories/index.story.tsx +2 -1
  397. package/src/modal/index.tsx +2 -2
  398. package/src/modal/stories/index.story.tsx +1 -1
  399. package/src/number-control/stories/index.story.tsx +2 -1
  400. package/src/placeholder/stories/index.story.tsx +1 -0
  401. package/src/private-apis.ts +0 -2
  402. package/src/radio-control/stories/index.story.tsx +2 -1
  403. package/src/range-control/README.md +4 -3
  404. package/src/range-control/index.tsx +11 -0
  405. package/src/range-control/stories/index.story.tsx +9 -1
  406. package/src/range-control/test/index.tsx +7 -1
  407. package/src/range-control/types.ts +7 -0
  408. package/src/responsive-wrapper/stories/index.story.tsx +2 -1
  409. package/src/search-control/stories/index.story.tsx +2 -1
  410. package/src/select-control/stories/index.story.tsx +2 -1
  411. package/src/slot-fill/README.md +26 -15
  412. package/src/slot-fill/bubbles-virtually/fill.tsx +18 -28
  413. package/src/slot-fill/bubbles-virtually/slot-fill-provider.tsx +26 -16
  414. package/src/slot-fill/bubbles-virtually/slot.tsx +13 -9
  415. package/src/slot-fill/bubbles-virtually/use-slot.ts +3 -26
  416. package/src/slot-fill/fill.ts +7 -22
  417. package/src/slot-fill/index.tsx +5 -7
  418. package/src/slot-fill/provider.tsx +8 -17
  419. package/src/slot-fill/slot.tsx +48 -85
  420. package/src/slot-fill/types.ts +14 -51
  421. package/src/text-control/README.md +1 -0
  422. package/src/text-control/index.tsx +8 -0
  423. package/src/text-control/stories/index.story.tsx +3 -1
  424. package/src/text-control/test/text-control.tsx +7 -1
  425. package/src/textarea-control/stories/index.story.tsx +2 -1
  426. package/src/toggle-control/stories/index.story.tsx +2 -1
  427. package/src/toggle-group-control/stories/index.story.tsx +3 -1
  428. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +12 -12
  429. package/src/toggle-group-control/test/index.tsx +7 -1
  430. package/src/toggle-group-control/toggle-group-control/README.md +2 -1
  431. package/src/toggle-group-control/toggle-group-control/component.tsx +10 -0
  432. package/src/toggle-group-control/toggle-group-control-option/README.md +1 -1
  433. package/src/toggle-group-control/toggle-group-control-option/component.tsx +1 -0
  434. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +1 -1
  435. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +1 -1
  436. package/src/toggle-group-control/types.ts +7 -0
  437. package/src/tools-panel/stories/index.story.tsx +3 -0
  438. package/src/tree-select/stories/index.story.tsx +2 -1
  439. package/src/unit-control/stories/index.story.tsx +2 -1
  440. package/src/utils/deprecated-36px-size.ts +3 -0
  441. package/src/v-stack/stories/index.story.tsx +2 -1
  442. package/tsconfig.tsbuildinfo +1 -1
@@ -141,44 +141,44 @@ function Component(props) {
141
141
  }
142
142
 
143
143
  /**
144
- * GradientPicker is a React component that renders a color gradient picker to
144
+ * GradientPicker is a React component that renders a color gradient picker to
145
145
  * define a multi step gradient. There's either a _linear_ or a _radial_ type
146
146
  * available.
147
147
  *
148
148
  * ```jsx
149
- *import { GradientPicker } from '@wordpress/components';
150
- *import { useState } from '@wordpress/element';
149
+ * import { useState } from 'react';
150
+ * import { GradientPicker } from '@wordpress/components';
151
151
  *
152
- *const myGradientPicker = () => {
153
- * const [ gradient, setGradient ] = useState( null );
152
+ * const MyGradientPicker = () => {
153
+ * const [ gradient, setGradient ] = useState( null );
154
154
  *
155
- * return (
156
- * <GradientPicker
157
- * value={ gradient }
158
- * onChange={ ( currentGradient ) => setGradient( currentGradient ) }
159
- * gradients={ [
160
- * {
161
- * name: 'JShine',
162
- * gradient:
163
- * 'linear-gradient(135deg,#12c2e9 0%,#c471ed 50%,#f64f59 100%)',
164
- * slug: 'jshine',
165
- * },
166
- * {
167
- * name: 'Moonlit Asteroid',
168
- * gradient:
169
- * 'linear-gradient(135deg,#0F2027 0%, #203A43 0%, #2c5364 100%)',
170
- * slug: 'moonlit-asteroid',
171
- * },
172
- * {
173
- * name: 'Rastafarie',
174
- * gradient:
175
- * 'linear-gradient(135deg,#1E9600 0%, #FFF200 0%, #FF0000 100%)',
176
- * slug: 'rastafari',
177
- * },
178
- * ] }
179
- * />
180
- * );
181
- *};
155
+ * return (
156
+ * <GradientPicker
157
+ * value={ gradient }
158
+ * onChange={ ( currentGradient ) => setGradient( currentGradient ) }
159
+ * gradients={ [
160
+ * {
161
+ * name: 'JShine',
162
+ * gradient:
163
+ * 'linear-gradient(135deg,#12c2e9 0%,#c471ed 50%,#f64f59 100%)',
164
+ * slug: 'jshine',
165
+ * },
166
+ * {
167
+ * name: 'Moonlit Asteroid',
168
+ * gradient:
169
+ * 'linear-gradient(135deg,#0F2027 0%, #203A43 0%, #2c5364 100%)',
170
+ * slug: 'moonlit-asteroid',
171
+ * },
172
+ * {
173
+ * name: 'Rastafarie',
174
+ * gradient:
175
+ * 'linear-gradient(135deg,#1E9600 0%, #FFF200 0%, #FF0000 100%)',
176
+ * slug: 'rastafari',
177
+ * },
178
+ * ] }
179
+ * />
180
+ * );
181
+ * };
182
182
  *```
183
183
  *
184
184
  */
@@ -209,6 +209,8 @@ export function GradientPicker({
209
209
  value: value,
210
210
  actions: clearable && !disableCustomGradients && /*#__PURE__*/_jsx(CircularOptionPicker.ButtonAction, {
211
211
  onClick: clearGradient,
212
+ accessibleWhenDisabled: true,
213
+ disabled: !value,
212
214
  children: __('Clear')
213
215
  }),
214
216
  headingLevel: headingLevel
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","useInstanceId","useCallback","useMemo","CircularOptionPicker","CustomGradientPicker","VStack","ColorHeading","jsx","_jsx","jsxs","_jsxs","isMultipleOriginObject","obj","Array","isArray","gradients","isMultipleOriginArray","arr","length","every","gradientObj","SingleOrigin","className","clearGradient","onChange","value","additionalProps","gradientOptions","map","gradient","name","slug","index","Option","isSelected","tooltipText","style","color","background","onClick","OptionGroup","options","MultipleOrigin","headingLevel","instanceId","spacing","children","gradientSet","id","level","Component","props","asButtons","loop","actions","ariaLabel","ariaLabelledby","metaProps","_metaProps","GradientPicker","clearable","disableCustomGradients","__experimentalIsRenderedInSidebar","undefined","ButtonAction"],"sources":["@wordpress/components/src/gradient-picker/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport CircularOptionPicker from '../circular-option-picker';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { VStack } from '../v-stack';\nimport { ColorHeading } from '../color-palette/styles';\nimport type {\n\tGradientPickerComponentProps,\n\tPickerProps,\n\tOriginObject,\n\tGradientObject,\n} from './types';\n\n// The Multiple Origin Gradients have a `gradients` property (an array of\n// gradient objects), while Single Origin ones have a `gradient` property.\nconst isMultipleOriginObject = (\n\tobj: Record< string, any >\n): obj is OriginObject =>\n\tArray.isArray( obj.gradients ) && ! ( 'gradient' in obj );\n\nconst isMultipleOriginArray = ( arr: any[] ): arr is OriginObject[] => {\n\treturn (\n\t\tarr.length > 0 &&\n\t\tarr.every( ( gradientObj ) => isMultipleOriginObject( gradientObj ) )\n\t);\n};\n\nfunction SingleOrigin( {\n\tclassName,\n\tclearGradient,\n\tgradients,\n\tonChange,\n\tvalue,\n\t...additionalProps\n}: PickerProps< GradientObject > ) {\n\tconst gradientOptions = useMemo( () => {\n\t\treturn gradients.map( ( { gradient, name, slug }, index ) => (\n\t\t\t<CircularOptionPicker.Option\n\t\t\t\tkey={ slug }\n\t\t\t\tvalue={ gradient }\n\t\t\t\tisSelected={ value === gradient }\n\t\t\t\ttooltipText={\n\t\t\t\t\tname ||\n\t\t\t\t\t// translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\tsprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t\tstyle={ { color: 'rgba( 0,0,0,0 )', background: gradient } }\n\t\t\t\tonClick={\n\t\t\t\t\tvalue === gradient\n\t\t\t\t\t\t? clearGradient\n\t\t\t\t\t\t: () => onChange( gradient, index )\n\t\t\t\t}\n\t\t\t\taria-label={\n\t\t\t\t\tname\n\t\t\t\t\t\t? // translators: %s: The name of the gradient e.g: \"Angular red to blue\".\n\t\t\t\t\t\t sprintf( __( 'Gradient: %s' ), name )\n\t\t\t\t\t\t: // translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\t\t sprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t/>\n\t\t) );\n\t}, [ gradients, value, onChange, clearGradient ] );\n\treturn (\n\t\t<CircularOptionPicker.OptionGroup\n\t\t\tclassName={ className }\n\t\t\toptions={ gradientOptions }\n\t\t\t{ ...additionalProps }\n\t\t/>\n\t);\n}\n\nfunction MultipleOrigin( {\n\tclassName,\n\tclearGradient,\n\tgradients,\n\tonChange,\n\tvalue,\n\theadingLevel,\n}: PickerProps< OriginObject > ) {\n\tconst instanceId = useInstanceId( MultipleOrigin );\n\n\treturn (\n\t\t<VStack spacing={ 3 } className={ className }>\n\t\t\t{ gradients.map( ( { name, gradients: gradientSet }, index ) => {\n\t\t\t\tconst id = `color-palette-${ instanceId }-${ index }`;\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 2 } key={ index }>\n\t\t\t\t\t\t<ColorHeading level={ headingLevel } id={ id }>\n\t\t\t\t\t\t\t{ name }\n\t\t\t\t\t\t</ColorHeading>\n\t\t\t\t\t\t<SingleOrigin\n\t\t\t\t\t\t\tclearGradient={ clearGradient }\n\t\t\t\t\t\t\tgradients={ gradientSet }\n\t\t\t\t\t\t\tonChange={ ( gradient ) =>\n\t\t\t\t\t\t\t\tonChange( gradient, index )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\taria-labelledby={ id }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n\nfunction Component( props: PickerProps< any > ) {\n\tconst {\n\t\tasButtons,\n\t\tloop,\n\t\tactions,\n\t\theadingLevel,\n\t\t'aria-label': ariaLabel,\n\t\t'aria-labelledby': ariaLabelledby,\n\t\t...additionalProps\n\t} = props;\n\tconst options = isMultipleOriginArray( props.gradients ) ? (\n\t\t<MultipleOrigin headingLevel={ headingLevel } { ...additionalProps } />\n\t) : (\n\t\t<SingleOrigin { ...additionalProps } />\n\t);\n\n\tlet metaProps:\n\t\t| { asButtons: false; loop?: boolean; 'aria-label': string }\n\t\t| { asButtons: false; loop?: boolean; 'aria-labelledby': string }\n\t\t| { asButtons: true };\n\n\tif ( asButtons ) {\n\t\tmetaProps = { asButtons: true };\n\t} else {\n\t\tconst _metaProps: { asButtons: false; loop?: boolean } = {\n\t\t\tasButtons: false,\n\t\t\tloop,\n\t\t};\n\n\t\tif ( ariaLabel ) {\n\t\t\tmetaProps = { ..._metaProps, 'aria-label': ariaLabel };\n\t\t} else if ( ariaLabelledby ) {\n\t\t\tmetaProps = {\n\t\t\t\t..._metaProps,\n\t\t\t\t'aria-labelledby': ariaLabelledby,\n\t\t\t};\n\t\t} else {\n\t\t\tmetaProps = {\n\t\t\t\t..._metaProps,\n\t\t\t\t'aria-label': __( 'Custom color picker.' ),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\t{ ...metaProps }\n\t\t\tactions={ actions }\n\t\t\toptions={ options }\n\t\t/>\n\t);\n}\n\n/**\n * GradientPicker is a React component that renders a color gradient picker to\n * define a multi step gradient. There's either a _linear_ or a _radial_ type\n * available.\n *\n * ```jsx\n *import { GradientPicker } from '@wordpress/components';\n *import { useState } from '@wordpress/element';\n *\n *const myGradientPicker = () => {\n *\tconst [ gradient, setGradient ] = useState( null );\n *\n *\treturn (\n *\t\t<GradientPicker\n *\t\t\tvalue={ gradient }\n *\t\t\tonChange={ ( currentGradient ) => setGradient( currentGradient ) }\n *\t\t\tgradients={ [\n *\t\t\t\t{\n *\t\t\t\t\tname: 'JShine',\n *\t\t\t\t\tgradient:\n *\t\t\t\t\t\t'linear-gradient(135deg,#12c2e9 0%,#c471ed 50%,#f64f59 100%)',\n *\t\t\t\t\tslug: 'jshine',\n *\t\t\t\t},\n *\t\t\t\t{\n *\t\t\t\t\tname: 'Moonlit Asteroid',\n *\t\t\t\t\tgradient:\n *\t\t\t\t\t\t'linear-gradient(135deg,#0F2027 0%, #203A43 0%, #2c5364 100%)',\n *\t\t\t\t\tslug: 'moonlit-asteroid',\n *\t\t\t\t},\n *\t\t\t\t{\n *\t\t\t\t\tname: 'Rastafarie',\n *\t\t\t\t\tgradient:\n *\t\t\t\t\t\t'linear-gradient(135deg,#1E9600 0%, #FFF200 0%, #FF0000 100%)',\n *\t\t\t\t\tslug: 'rastafari',\n *\t\t\t\t},\n *\t\t\t] }\n *\t\t/>\n *\t);\n *};\n *```\n *\n */\nexport function GradientPicker( {\n\tclassName,\n\tgradients = [],\n\tonChange,\n\tvalue,\n\tclearable = true,\n\tdisableCustomGradients = false,\n\t__experimentalIsRenderedInSidebar,\n\theadingLevel = 2,\n\t...additionalProps\n}: GradientPickerComponentProps ) {\n\tconst clearGradient = useCallback(\n\t\t() => onChange( undefined ),\n\t\t[ onChange ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ gradients.length ? 4 : 0 }>\n\t\t\t{ ! disableCustomGradients && (\n\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ( gradients.length > 0 || clearable ) && (\n\t\t\t\t<Component\n\t\t\t\t\t{ ...additionalProps }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tclearGradient={ clearGradient }\n\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tactions={\n\t\t\t\t\t\tclearable &&\n\t\t\t\t\t\t! disableCustomGradients && (\n\t\t\t\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\t\t\t\tonClick={ clearGradient }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\theadingLevel={ headingLevel }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default GradientPicker;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","sprintf","useInstanceId","useCallback","useMemo","CircularOptionPicker","CustomGradientPicker","VStack","ColorHeading","jsx","_jsx","jsxs","_jsxs","isMultipleOriginObject","obj","Array","isArray","gradients","isMultipleOriginArray","arr","length","every","gradientObj","SingleOrigin","className","clearGradient","onChange","value","additionalProps","gradientOptions","map","gradient","name","slug","index","Option","isSelected","tooltipText","style","color","background","onClick","OptionGroup","options","MultipleOrigin","headingLevel","instanceId","spacing","children","gradientSet","id","level","Component","props","asButtons","loop","actions","ariaLabel","ariaLabelledby","metaProps","_metaProps","GradientPicker","clearable","disableCustomGradients","__experimentalIsRenderedInSidebar","undefined","ButtonAction","accessibleWhenDisabled","disabled"],"sources":["@wordpress/components/src/gradient-picker/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport CircularOptionPicker from '../circular-option-picker';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { VStack } from '../v-stack';\nimport { ColorHeading } from '../color-palette/styles';\nimport type {\n\tGradientPickerComponentProps,\n\tPickerProps,\n\tOriginObject,\n\tGradientObject,\n} from './types';\n\n// The Multiple Origin Gradients have a `gradients` property (an array of\n// gradient objects), while Single Origin ones have a `gradient` property.\nconst isMultipleOriginObject = (\n\tobj: Record< string, any >\n): obj is OriginObject =>\n\tArray.isArray( obj.gradients ) && ! ( 'gradient' in obj );\n\nconst isMultipleOriginArray = ( arr: any[] ): arr is OriginObject[] => {\n\treturn (\n\t\tarr.length > 0 &&\n\t\tarr.every( ( gradientObj ) => isMultipleOriginObject( gradientObj ) )\n\t);\n};\n\nfunction SingleOrigin( {\n\tclassName,\n\tclearGradient,\n\tgradients,\n\tonChange,\n\tvalue,\n\t...additionalProps\n}: PickerProps< GradientObject > ) {\n\tconst gradientOptions = useMemo( () => {\n\t\treturn gradients.map( ( { gradient, name, slug }, index ) => (\n\t\t\t<CircularOptionPicker.Option\n\t\t\t\tkey={ slug }\n\t\t\t\tvalue={ gradient }\n\t\t\t\tisSelected={ value === gradient }\n\t\t\t\ttooltipText={\n\t\t\t\t\tname ||\n\t\t\t\t\t// translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\tsprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t\tstyle={ { color: 'rgba( 0,0,0,0 )', background: gradient } }\n\t\t\t\tonClick={\n\t\t\t\t\tvalue === gradient\n\t\t\t\t\t\t? clearGradient\n\t\t\t\t\t\t: () => onChange( gradient, index )\n\t\t\t\t}\n\t\t\t\taria-label={\n\t\t\t\t\tname\n\t\t\t\t\t\t? // translators: %s: The name of the gradient e.g: \"Angular red to blue\".\n\t\t\t\t\t\t sprintf( __( 'Gradient: %s' ), name )\n\t\t\t\t\t\t: // translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\t\t sprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t/>\n\t\t) );\n\t}, [ gradients, value, onChange, clearGradient ] );\n\treturn (\n\t\t<CircularOptionPicker.OptionGroup\n\t\t\tclassName={ className }\n\t\t\toptions={ gradientOptions }\n\t\t\t{ ...additionalProps }\n\t\t/>\n\t);\n}\n\nfunction MultipleOrigin( {\n\tclassName,\n\tclearGradient,\n\tgradients,\n\tonChange,\n\tvalue,\n\theadingLevel,\n}: PickerProps< OriginObject > ) {\n\tconst instanceId = useInstanceId( MultipleOrigin );\n\n\treturn (\n\t\t<VStack spacing={ 3 } className={ className }>\n\t\t\t{ gradients.map( ( { name, gradients: gradientSet }, index ) => {\n\t\t\t\tconst id = `color-palette-${ instanceId }-${ index }`;\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 2 } key={ index }>\n\t\t\t\t\t\t<ColorHeading level={ headingLevel } id={ id }>\n\t\t\t\t\t\t\t{ name }\n\t\t\t\t\t\t</ColorHeading>\n\t\t\t\t\t\t<SingleOrigin\n\t\t\t\t\t\t\tclearGradient={ clearGradient }\n\t\t\t\t\t\t\tgradients={ gradientSet }\n\t\t\t\t\t\t\tonChange={ ( gradient ) =>\n\t\t\t\t\t\t\t\tonChange( gradient, index )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\taria-labelledby={ id }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n\nfunction Component( props: PickerProps< any > ) {\n\tconst {\n\t\tasButtons,\n\t\tloop,\n\t\tactions,\n\t\theadingLevel,\n\t\t'aria-label': ariaLabel,\n\t\t'aria-labelledby': ariaLabelledby,\n\t\t...additionalProps\n\t} = props;\n\tconst options = isMultipleOriginArray( props.gradients ) ? (\n\t\t<MultipleOrigin headingLevel={ headingLevel } { ...additionalProps } />\n\t) : (\n\t\t<SingleOrigin { ...additionalProps } />\n\t);\n\n\tlet metaProps:\n\t\t| { asButtons: false; loop?: boolean; 'aria-label': string }\n\t\t| { asButtons: false; loop?: boolean; 'aria-labelledby': string }\n\t\t| { asButtons: true };\n\n\tif ( asButtons ) {\n\t\tmetaProps = { asButtons: true };\n\t} else {\n\t\tconst _metaProps: { asButtons: false; loop?: boolean } = {\n\t\t\tasButtons: false,\n\t\t\tloop,\n\t\t};\n\n\t\tif ( ariaLabel ) {\n\t\t\tmetaProps = { ..._metaProps, 'aria-label': ariaLabel };\n\t\t} else if ( ariaLabelledby ) {\n\t\t\tmetaProps = {\n\t\t\t\t..._metaProps,\n\t\t\t\t'aria-labelledby': ariaLabelledby,\n\t\t\t};\n\t\t} else {\n\t\t\tmetaProps = {\n\t\t\t\t..._metaProps,\n\t\t\t\t'aria-label': __( 'Custom color picker.' ),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\t{ ...metaProps }\n\t\t\tactions={ actions }\n\t\t\toptions={ options }\n\t\t/>\n\t);\n}\n\n/**\n * GradientPicker is a React component that renders a color gradient picker to\n * define a multi step gradient. There's either a _linear_ or a _radial_ type\n * available.\n *\n * ```jsx\n * import { useState } from 'react';\n * import { GradientPicker } from '@wordpress/components';\n *\n * const MyGradientPicker = () => {\n * const [ gradient, setGradient ] = useState( null );\n *\n * return (\n * <GradientPicker\n * value={ gradient }\n * onChange={ ( currentGradient ) => setGradient( currentGradient ) }\n * gradients={ [\n * {\n * name: 'JShine',\n * gradient:\n * 'linear-gradient(135deg,#12c2e9 0%,#c471ed 50%,#f64f59 100%)',\n * slug: 'jshine',\n * },\n * {\n * name: 'Moonlit Asteroid',\n * gradient:\n * 'linear-gradient(135deg,#0F2027 0%, #203A43 0%, #2c5364 100%)',\n * slug: 'moonlit-asteroid',\n * },\n * {\n * name: 'Rastafarie',\n * gradient:\n * 'linear-gradient(135deg,#1E9600 0%, #FFF200 0%, #FF0000 100%)',\n * slug: 'rastafari',\n * },\n * ] }\n * />\n * );\n * };\n *```\n *\n */\nexport function GradientPicker( {\n\tclassName,\n\tgradients = [],\n\tonChange,\n\tvalue,\n\tclearable = true,\n\tdisableCustomGradients = false,\n\t__experimentalIsRenderedInSidebar,\n\theadingLevel = 2,\n\t...additionalProps\n}: GradientPickerComponentProps ) {\n\tconst clearGradient = useCallback(\n\t\t() => onChange( undefined ),\n\t\t[ onChange ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ gradients.length ? 4 : 0 }>\n\t\t\t{ ! disableCustomGradients && (\n\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ( gradients.length > 0 || clearable ) && (\n\t\t\t\t<Component\n\t\t\t\t\t{ ...additionalProps }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tclearGradient={ clearGradient }\n\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tactions={\n\t\t\t\t\t\tclearable &&\n\t\t\t\t\t\t! disableCustomGradients && (\n\t\t\t\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\t\t\t\tonClick={ clearGradient }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tdisabled={ ! value }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\theadingLevel={ headingLevel }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default GradientPicker;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["@wordpress/components/src/gradient-picker/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { HeadingSize } from '../heading/types';\n\nexport type GradientObject = {\n\tgradient: string;\n\tname: string;\n\tslug: string;\n};\nexport type OriginObject = { name: string; gradients: GradientObject[] };\nexport type GradientsProp = GradientObject[] | OriginObject[];\n\ntype GradientPickerBaseProps = {\n\t/**\n\t * The class name added to the wrapper.\n\t */\n\tclassName?: string;\n\t/**\n\t * The function called when a new gradient has been defined. It is passed to\n\t * the `currentGradient` as an argument.\n\t */\n\tonChange: ( currentGradient: string | undefined ) => void;\n\t/**\n\t * The current value of the gradient. Pass a css gradient string (See default value for example).\n\t * Optionally pass in a `null` value to specify no gradient is currently selected.\n\t *\n\t * @default 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)'\n\t */\n\tvalue?: GradientObject[ 'gradient' ] | null;\n\t/**\n\t * Whether the palette should have a clearing button or not.\n\t *\n\t * @default true\n\t */\n\tclearable?: boolean;\n\t/**\n\t * The heading level. Only applies in cases where gradients are provided\n\t * from multiple origins (ie. when the array passed as the `gradients` prop\n\t * contains two or more items).\n\t *\n\t * @default 2\n\t */\n\theadingLevel?: HeadingSize;\n\t/**\n\t * Whether the control should present as a set of buttons,\n\t * each with its own tab stop.\n\t *\n\t * @default false\n\t */\n\tasButtons?: boolean;\n\t/**\n\t * Prevents keyboard interaction from wrapping around.\n\t * Only used when `asButtons` is not true.\n\t *\n\t * @default true\n\t */\n\tloop?: boolean;\n} & (\n\t| {\n\t\t\t/**\n\t\t\t * A label to identify the purpose of the control.\n\t\t\t *\n\t\t\t * @todo [#54055] Either this or `aria-labelledby` should be required\n\t\t\t */\n\t\t\t'aria-label'?: string;\n\t\t\t'aria-labelledby'?: never;\n\t }\n\t| {\n\t\t\t/**\n\t\t\t * An ID of an element to provide a label for the control.\n\t\t\t *\n\t\t\t * @todo [#54055] Either this or `aria-label` should be required\n\t\t\t */\n\t\t\t'aria-labelledby'?: string;\n\t\t\t'aria-label'?: never;\n\t }\n);\n\nexport type GradientPickerComponentProps = GradientPickerBaseProps & {\n\t/**\n\t * An array of objects as predefined gradients displayed above the gradient\n\t * selector. Alternatively, if there are multiple sets (or 'origins') of\n\t * gradients, you can pass an array of objects each with a `name` and a\n\t * `gradients` array which will in turn contain the predefined gradient objects.\n\t *\n\t * @default []\n\t */\n\tgradients?: GradientsProp;\n\t/**\n\t * Start opting in to the new margin-free styles that will become the default\n\t * in a future version, currently scheduled to be WordPress 6.4. (The prop\n\t * can be safely removed once this happens.)\n\t *\n\t * @default false\n\t * @deprecated Default behavior since WP 6.5. Prop can be safely removed.\n\t * @ignore\n\t */\n\t__nextHasNoMargin?: boolean;\n\t/**\n\t * If true, the gradient picker will not be displayed and only defined\n\t * gradients from `gradients` will be shown.\n\t *\n\t * @default false\n\t */\n\tdisableCustomGradients?: boolean;\n\t/**\n\t * Whether this is rendered in the sidebar.\n\t *\n\t * @default false\n\t */\n\t__experimentalIsRenderedInSidebar?: boolean;\n};\n\nexport type PickerProps< TOriginType extends GradientObject | OriginObject > =\n\tGradientPickerBaseProps & {\n\t\tclearGradient: () => void;\n\t\tonChange: (\n\t\t\tcurrentGradient: string | undefined,\n\t\t\tindex: number\n\t\t) => void;\n\t\tactions?: React.ReactNode;\n\t\tgradients: TOriginType[];\n\t};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["@wordpress/components/src/gradient-picker/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { HeadingSize } from '../heading/types';\n\nexport type GradientObject = {\n\tgradient: string;\n\tname: string;\n\tslug: string;\n};\nexport type OriginObject = { name: string; gradients: GradientObject[] };\nexport type GradientsProp = GradientObject[] | OriginObject[];\n\ntype GradientPickerBaseProps = {\n\t/**\n\t * The class name added to the wrapper.\n\t */\n\tclassName?: string;\n\t/**\n\t * The function called when a new gradient has been defined. It is passed to\n\t * the `currentGradient` as an argument.\n\t */\n\tonChange: ( currentGradient: string | undefined ) => void;\n\t/**\n\t * The current value of the gradient. Pass a css gradient string (See default value for example).\n\t * Optionally pass in a `null` value to specify no gradient is currently selected.\n\t *\n\t * @default 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)'\n\t */\n\tvalue?: GradientObject[ 'gradient' ] | null;\n\t/**\n\t * Whether the palette should have a clearing button or not.\n\t *\n\t * @default true\n\t */\n\tclearable?: boolean;\n\t/**\n\t * The heading level. Only applies in cases where gradients are provided\n\t * from multiple origins (i.e. when the array passed as the `gradients` prop\n\t * contains two or more items).\n\t *\n\t * @default 2\n\t */\n\theadingLevel?: HeadingSize;\n\t/**\n\t * Whether the control should present as a set of buttons,\n\t * each with its own tab stop.\n\t *\n\t * @default false\n\t */\n\tasButtons?: boolean;\n\t/**\n\t * Prevents keyboard interaction from wrapping around.\n\t * Only used when `asButtons` is not true.\n\t *\n\t * @default true\n\t */\n\tloop?: boolean;\n} & (\n\t| {\n\t\t\t// TODO: [#54055] Either this or `aria-labelledby` should be required\n\t\t\t/**\n\t\t\t * A label to identify the purpose of the control.\n\t\t\t */\n\t\t\t'aria-label'?: string;\n\t\t\t'aria-labelledby'?: never;\n\t }\n\t| {\n\t\t\t// TODO: [#54055] Either this or `aria-label` should be required\n\t\t\t/**\n\t\t\t * An ID of an element to provide a label for the control.\n\t\t\t */\n\t\t\t'aria-labelledby'?: string;\n\t\t\t'aria-label'?: never;\n\t }\n);\n\nexport type GradientPickerComponentProps = GradientPickerBaseProps & {\n\t/**\n\t * An array of objects as predefined gradients displayed above the gradient\n\t * selector. Alternatively, if there are multiple sets (or 'origins') of\n\t * gradients, you can pass an array of objects each with a `name` and a\n\t * `gradients` array which will in turn contain the predefined gradient objects.\n\t *\n\t * @default []\n\t */\n\tgradients?: GradientsProp;\n\t/**\n\t * Start opting in to the new margin-free styles that will become the default\n\t * in a future version, currently scheduled to be WordPress 6.4. (The prop\n\t * can be safely removed once this happens.)\n\t *\n\t * @default false\n\t * @deprecated Default behavior since WP 6.5. Prop can be safely removed.\n\t * @ignore\n\t */\n\t__nextHasNoMargin?: boolean;\n\t/**\n\t * If true, the gradient picker will not be displayed and only defined\n\t * gradients from `gradients` will be shown.\n\t *\n\t * @default false\n\t */\n\tdisableCustomGradients?: boolean;\n\t/**\n\t * Whether this is rendered in the sidebar.\n\t *\n\t * @default false\n\t */\n\t__experimentalIsRenderedInSidebar?: boolean;\n};\n\nexport type PickerProps< TOriginType extends GradientObject | OriginObject > =\n\tGradientPickerBaseProps & {\n\t\tclearGradient: () => void;\n\t\tonChange: (\n\t\t\tcurrentGradient: string | undefined,\n\t\t\tindex: number\n\t\t) => void;\n\t\tactions?: React.ReactNode;\n\t\tgradients: TOriginType[];\n\t};\n"],"mappings":"","ignoreList":[]}
@@ -13,6 +13,15 @@ import { SVG } from '@wordpress/primitives';
13
13
  */
14
14
  import Dashicon from '../dashicon';
15
15
  import { jsx as _jsx } from "react/jsx-runtime";
16
+ /**
17
+ * Renders a raw icon without any initial styling or wrappers.
18
+ *
19
+ * ```jsx
20
+ * import { wordpress } from '@wordpress/icons';
21
+ *
22
+ * <Icon icon={ wordpress } />
23
+ * ```
24
+ */
16
25
  function Icon({
17
26
  icon = null,
18
27
  size = 'string' === typeof icon ? 20 : 24,
@@ -1 +1 @@
1
- {"version":3,"names":["cloneElement","createElement","isValidElement","SVG","Dashicon","jsx","_jsx","Icon","icon","size","additionalProps","type","appliedProps","props","width","height"],"sources":["@wordpress/components/src/icon/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentType, HTMLProps, SVGProps } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcloneElement,\n\tcreateElement,\n\tisValidElement,\n} from '@wordpress/element';\nimport { SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\nimport type { IconKey as DashiconIconKey } from '../dashicon/types';\n\nexport type IconType =\n\t| DashiconIconKey\n\t| ComponentType< { size?: number } >\n\t| ( ( props: { size?: number } ) => JSX.Element )\n\t| JSX.Element;\n\ninterface BaseProps {\n\t/**\n\t * The icon to render. Supported values are: Dashicons (specified as\n\t * strings), functions, Component instances and `null`.\n\t *\n\t * @default null\n\t */\n\ticon?: IconType | null;\n\t/**\n\t * The size (width and height) of the icon.\n\t *\n\t * @default `20` when a Dashicon is rendered, `24` for all other icons.\n\t */\n\tsize?: number;\n}\n\ntype AdditionalProps< T > = T extends ComponentType< infer U >\n\t? U\n\t: T extends DashiconIconKey\n\t? SVGProps< SVGSVGElement >\n\t: {};\n\nexport type Props = BaseProps & AdditionalProps< IconType >;\n\nfunction Icon( {\n\ticon = null,\n\tsize = 'string' === typeof icon ? 20 : 24,\n\t...additionalProps\n}: Props ) {\n\tif ( 'string' === typeof icon ) {\n\t\treturn (\n\t\t\t<Dashicon\n\t\t\t\ticon={ icon }\n\t\t\t\tsize={ size }\n\t\t\t\t{ ...( additionalProps as HTMLProps< HTMLSpanElement > ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isValidElement( icon ) && Dashicon === icon.type ) {\n\t\treturn cloneElement( icon, {\n\t\t\t...additionalProps,\n\t\t} );\n\t}\n\n\tif ( 'function' === typeof icon ) {\n\t\treturn createElement( icon, {\n\t\t\tsize,\n\t\t\t...additionalProps,\n\t\t} );\n\t}\n\n\tif ( icon && ( icon.type === 'svg' || icon.type === SVG ) ) {\n\t\tconst appliedProps = {\n\t\t\t...icon.props,\n\t\t\twidth: size,\n\t\t\theight: size,\n\t\t\t...additionalProps,\n\t\t};\n\n\t\treturn <SVG { ...appliedProps } />;\n\t}\n\n\tif ( isValidElement( icon ) ) {\n\t\treturn cloneElement( icon, {\n\t\t\t// @ts-ignore Just forwarding the size prop along\n\t\t\tsize,\n\t\t\t...additionalProps,\n\t\t} );\n\t}\n\n\treturn icon;\n}\n\nexport default Icon;\n"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SACCA,YAAY,EACZC,aAAa,EACbC,cAAc,QACR,oBAAoB;AAC3B,SAASC,GAAG,QAAQ,uBAAuB;;AAE3C;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiCnC,SAASC,IAAIA,CAAE;EACdC,IAAI,GAAG,IAAI;EACXC,IAAI,GAAG,QAAQ,KAAK,OAAOD,IAAI,GAAG,EAAE,GAAG,EAAE;EACzC,GAAGE;AACG,CAAC,EAAG;EACV,IAAK,QAAQ,KAAK,OAAOF,IAAI,EAAG;IAC/B,oBACCF,IAAA,CAACF,QAAQ;MACRI,IAAI,EAAGA,IAAM;MACbC,IAAI,EAAGA,IAAM;MAAA,GACNC;IAAe,CACtB,CAAC;EAEJ;EAEA,IAAKR,cAAc,CAAEM,IAAK,CAAC,IAAIJ,QAAQ,KAAKI,IAAI,CAACG,IAAI,EAAG;IACvD,OAAOX,YAAY,CAAEQ,IAAI,EAAE;MAC1B,GAAGE;IACJ,CAAE,CAAC;EACJ;EAEA,IAAK,UAAU,KAAK,OAAOF,IAAI,EAAG;IACjC,OAAOP,aAAa,CAAEO,IAAI,EAAE;MAC3BC,IAAI;MACJ,GAAGC;IACJ,CAAE,CAAC;EACJ;EAEA,IAAKF,IAAI,KAAMA,IAAI,CAACG,IAAI,KAAK,KAAK,IAAIH,IAAI,CAACG,IAAI,KAAKR,GAAG,CAAE,EAAG;IAC3D,MAAMS,YAAY,GAAG;MACpB,GAAGJ,IAAI,CAACK,KAAK;MACbC,KAAK,EAAEL,IAAI;MACXM,MAAM,EAAEN,IAAI;MACZ,GAAGC;IACJ,CAAC;IAED,oBAAOJ,IAAA,CAACH,GAAG;MAAA,GAAMS;IAAY,CAAI,CAAC;EACnC;EAEA,IAAKV,cAAc,CAAEM,IAAK,CAAC,EAAG;IAC7B,OAAOR,YAAY,CAAEQ,IAAI,EAAE;MAC1B;MACAC,IAAI;MACJ,GAAGC;IACJ,CAAE,CAAC;EACJ;EAEA,OAAOF,IAAI;AACZ;AAEA,eAAeD,IAAI","ignoreList":[]}
1
+ {"version":3,"names":["cloneElement","createElement","isValidElement","SVG","Dashicon","jsx","_jsx","Icon","icon","size","additionalProps","type","appliedProps","props","width","height"],"sources":["@wordpress/components/src/icon/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentType, HTMLProps, SVGProps } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcloneElement,\n\tcreateElement,\n\tisValidElement,\n} from '@wordpress/element';\nimport { SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\nimport type { IconKey as DashiconIconKey } from '../dashicon/types';\n\nexport type IconType =\n\t| DashiconIconKey\n\t| ComponentType< { size?: number } >\n\t| ( ( props: { size?: number } ) => JSX.Element )\n\t| JSX.Element;\n\ntype AdditionalProps< T > = T extends ComponentType< infer U >\n\t? U\n\t: T extends DashiconIconKey\n\t? SVGProps< SVGSVGElement >\n\t: {};\n\nexport type Props = {\n\t/**\n\t * The icon to render. In most cases, you should use an icon from\n\t * [the `@wordpress/icons` package](https://wordpress.github.io/gutenberg/?path=/story/icons-icon--library).\n\t *\n\t * Other supported values are: component instances, functions,\n\t * [Dashicons](https://developer.wordpress.org/resource/dashicons/)\n\t * (specified as strings), and `null`.\n\t *\n\t * The `size` value, as well as any other additional props, will be passed through.\n\t *\n\t * @default null\n\t */\n\ticon?: IconType | null;\n\t/**\n\t * The size (width and height) of the icon.\n\t *\n\t * Defaults to `20` when `icon` is a string (i.e. a Dashicon id), otherwise `24`.\n\t *\n\t * @default `'string' === typeof icon ? 20 : 24`.\n\t */\n\tsize?: number;\n} & AdditionalProps< IconType >;\n\n/**\n * Renders a raw icon without any initial styling or wrappers.\n *\n * ```jsx\n * import { wordpress } from '@wordpress/icons';\n *\n * <Icon icon={ wordpress } />\n * ```\n */\nfunction Icon( {\n\ticon = null,\n\tsize = 'string' === typeof icon ? 20 : 24,\n\t...additionalProps\n}: Props ) {\n\tif ( 'string' === typeof icon ) {\n\t\treturn (\n\t\t\t<Dashicon\n\t\t\t\ticon={ icon }\n\t\t\t\tsize={ size }\n\t\t\t\t{ ...( additionalProps as HTMLProps< HTMLSpanElement > ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isValidElement( icon ) && Dashicon === icon.type ) {\n\t\treturn cloneElement( icon, {\n\t\t\t...additionalProps,\n\t\t} );\n\t}\n\n\tif ( 'function' === typeof icon ) {\n\t\treturn createElement( icon, {\n\t\t\tsize,\n\t\t\t...additionalProps,\n\t\t} );\n\t}\n\n\tif ( icon && ( icon.type === 'svg' || icon.type === SVG ) ) {\n\t\tconst appliedProps = {\n\t\t\t...icon.props,\n\t\t\twidth: size,\n\t\t\theight: size,\n\t\t\t...additionalProps,\n\t\t};\n\n\t\treturn <SVG { ...appliedProps } />;\n\t}\n\n\tif ( isValidElement( icon ) ) {\n\t\treturn cloneElement( icon, {\n\t\t\t// @ts-ignore Just forwarding the size prop along\n\t\t\tsize,\n\t\t\t...additionalProps,\n\t\t} );\n\t}\n\n\treturn icon;\n}\n\nexport default Icon;\n"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SACCA,YAAY,EACZC,aAAa,EACbC,cAAc,QACR,oBAAoB;AAC3B,SAASC,GAAG,QAAQ,uBAAuB;;AAE3C;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAuCnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,IAAIA,CAAE;EACdC,IAAI,GAAG,IAAI;EACXC,IAAI,GAAG,QAAQ,KAAK,OAAOD,IAAI,GAAG,EAAE,GAAG,EAAE;EACzC,GAAGE;AACG,CAAC,EAAG;EACV,IAAK,QAAQ,KAAK,OAAOF,IAAI,EAAG;IAC/B,oBACCF,IAAA,CAACF,QAAQ;MACRI,IAAI,EAAGA,IAAM;MACbC,IAAI,EAAGA,IAAM;MAAA,GACNC;IAAe,CACtB,CAAC;EAEJ;EAEA,IAAKR,cAAc,CAAEM,IAAK,CAAC,IAAIJ,QAAQ,KAAKI,IAAI,CAACG,IAAI,EAAG;IACvD,OAAOX,YAAY,CAAEQ,IAAI,EAAE;MAC1B,GAAGE;IACJ,CAAE,CAAC;EACJ;EAEA,IAAK,UAAU,KAAK,OAAOF,IAAI,EAAG;IACjC,OAAOP,aAAa,CAAEO,IAAI,EAAE;MAC3BC,IAAI;MACJ,GAAGC;IACJ,CAAE,CAAC;EACJ;EAEA,IAAKF,IAAI,KAAMA,IAAI,CAACG,IAAI,KAAK,KAAK,IAAIH,IAAI,CAACG,IAAI,KAAKR,GAAG,CAAE,EAAG;IAC3D,MAAMS,YAAY,GAAG;MACpB,GAAGJ,IAAI,CAACK,KAAK;MACbC,KAAK,EAAEL,IAAI;MACXM,MAAM,EAAEN,IAAI;MACZ,GAAGC;IACJ,CAAC;IAED,oBAAOJ,IAAA,CAACH,GAAG;MAAA,GAAMS;IAAY,CAAI,CAAC;EACnC;EAEA,IAAKV,cAAc,CAAEM,IAAK,CAAC,EAAG;IAC7B,OAAOR,YAAY,CAAEQ,IAAI,EAAE;MAC1B;MACAC,IAAI;MACJ,GAAGC;IACJ,CAAE,CAAC;EACJ;EAEA,OAAOF,IAAI;AACZ;AAEA,eAAeD,IAAI","ignoreList":[]}