@wordpress/components 21.3.0 → 22.0.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 (612) hide show
  1. package/CHANGELOG.md +65 -1
  2. package/build/angle-picker-control/index.js +1 -1
  3. package/build/angle-picker-control/index.js.map +1 -1
  4. package/build/autocomplete/autocompleter-ui.js +28 -2
  5. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  6. package/build/border-box-control/border-box-control/component.js +63 -15
  7. package/build/border-box-control/border-box-control/component.js.map +1 -1
  8. package/build/border-box-control/border-box-control/hook.js +7 -3
  9. package/build/border-box-control/border-box-control/hook.js.map +1 -1
  10. package/build/border-box-control/border-box-control-linked-button/hook.js +3 -3
  11. package/build/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
  12. package/build/border-box-control/border-box-control-split-controls/component.js +3 -3
  13. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  14. package/build/border-box-control/border-box-control-split-controls/hook.js +8 -11
  15. package/build/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  16. package/build/border-box-control/border-box-control-visualizer/hook.js +3 -7
  17. package/build/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  18. package/build/border-box-control/styles.js +34 -34
  19. package/build/border-box-control/styles.js.map +1 -1
  20. package/build/border-control/border-control/component.js +5 -4
  21. package/build/border-control/border-control/component.js.map +1 -1
  22. package/build/border-control/border-control/hook.js +12 -5
  23. package/build/border-control/border-control/hook.js.map +1 -1
  24. package/build/border-control/border-control-dropdown/hook.js +5 -5
  25. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  26. package/build/border-control/styles.js +19 -34
  27. package/build/border-control/styles.js.map +1 -1
  28. package/build/box-control/index.js +6 -2
  29. package/build/box-control/index.js.map +1 -1
  30. package/build/circular-option-picker/index.js +14 -14
  31. package/build/circular-option-picker/index.js.map +1 -1
  32. package/build/color-palette/index.js +83 -30
  33. package/build/color-palette/index.js.map +1 -1
  34. package/build/color-palette/styles.js +3 -3
  35. package/build/color-palette/styles.js.map +1 -1
  36. package/build/color-palette/types.js +6 -0
  37. package/build/color-palette/types.js.map +1 -0
  38. package/build/color-picker/input-with-slider.js +1 -1
  39. package/build/color-picker/input-with-slider.js.map +1 -1
  40. package/build/custom-gradient-picker/gradient-bar/index.js +1 -3
  41. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  42. package/build/custom-select-control/index.js +8 -4
  43. package/build/custom-select-control/index.js.map +1 -1
  44. package/build/date-time/date-time/index.js +2 -0
  45. package/build/date-time/date-time/index.js.map +1 -1
  46. package/build/date-time/time/index.js +4 -4
  47. package/build/date-time/time/index.js.map +1 -1
  48. package/build/disabled/index.js +8 -1
  49. package/build/disabled/index.js.map +1 -1
  50. package/build/external-link/index.js +13 -2
  51. package/build/external-link/index.js.map +1 -1
  52. package/build/focusable-iframe/index.js +0 -1
  53. package/build/focusable-iframe/index.js.map +1 -1
  54. package/build/font-size-picker/index.js +61 -48
  55. package/build/font-size-picker/index.js.map +1 -1
  56. package/build/font-size-picker/utils.js +0 -21
  57. package/build/font-size-picker/utils.js.map +1 -1
  58. package/build/form-file-upload/index.js.map +1 -1
  59. package/build/higher-order/with-filters/index.js +1 -7
  60. package/build/higher-order/with-filters/index.js.map +1 -1
  61. package/build/index.js +7 -1
  62. package/build/index.js.map +1 -1
  63. package/build/input-control/index.js +2 -0
  64. package/build/input-control/index.js.map +1 -1
  65. package/build/input-control/input-base.js +1 -1
  66. package/build/input-control/input-base.js.map +1 -1
  67. package/build/input-control/styles/input-control-styles.js +21 -21
  68. package/build/input-control/styles/input-control-styles.js.map +1 -1
  69. package/build/isolated-event-container/index.js +5 -9
  70. package/build/isolated-event-container/index.js.map +1 -1
  71. package/build/item-group/styles.js +10 -10
  72. package/build/item-group/styles.js.map +1 -1
  73. package/build/navigator/navigator-screen/component.js +20 -14
  74. package/build/navigator/navigator-screen/component.js.map +1 -1
  75. package/build/number-control/index.js +82 -22
  76. package/build/number-control/index.js.map +1 -1
  77. package/build/number-control/styles/number-control-styles.js +36 -6
  78. package/build/number-control/styles/number-control-styles.js.map +1 -1
  79. package/build/popover/index.js +15 -29
  80. package/build/popover/index.js.map +1 -1
  81. package/build/radio-group/index.js +7 -1
  82. package/build/radio-group/index.js.map +1 -1
  83. package/build/{radio → radio-group/radio}/index.js +7 -1
  84. package/build/radio-group/radio/index.js.map +1 -0
  85. package/build/{radio-context → radio-group/radio-context}/index.js +0 -0
  86. package/build/radio-group/radio-context/index.js.map +1 -0
  87. package/build/slot-fill/bubbles-virtually/fill.js +9 -5
  88. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  89. package/build/slot-fill/bubbles-virtually/slot.js +13 -8
  90. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  91. package/build/slot-fill/bubbles-virtually/use-slot.js +15 -9
  92. package/build/slot-fill/bubbles-virtually/use-slot.js.map +1 -1
  93. package/build/slot-fill/fill.js +12 -4
  94. package/build/slot-fill/fill.js.map +1 -1
  95. package/build/slot-fill/use-slot.js +3 -1
  96. package/build/slot-fill/use-slot.js.map +1 -1
  97. package/build/snackbar/index.js +1 -1
  98. package/build/snackbar/index.js.map +1 -1
  99. package/build/tab-panel/index.js +2 -6
  100. package/build/tab-panel/index.js.map +1 -1
  101. package/build/text-control/index.js +0 -2
  102. package/build/text-control/index.js.map +1 -1
  103. package/build/toggle-control/index.js +15 -3
  104. package/build/toggle-control/index.js.map +1 -1
  105. package/build/toggle-group-control/toggle-group-control/as-button-group.js +90 -0
  106. package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -0
  107. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +90 -0
  108. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -0
  109. package/build/toggle-group-control/toggle-group-control/component.js +21 -50
  110. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  111. package/build/toggle-group-control/toggle-group-control/styles.js +8 -8
  112. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  113. package/build/toggle-group-control/toggle-group-control-option-base/component.js +39 -17
  114. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  115. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +23 -23
  116. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  117. package/build/toolbar-dropdown-menu/index.js +1 -1
  118. package/build/toolbar-dropdown-menu/index.js.map +1 -1
  119. package/build/ui/context/context-system-provider.js +9 -22
  120. package/build/ui/context/context-system-provider.js.map +1 -1
  121. package/build/unit-control/index.js +7 -9
  122. package/build/unit-control/index.js.map +1 -1
  123. package/build/unit-control/styles/unit-control-styles.js +15 -25
  124. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  125. package/build/utils/config-values.js +0 -1
  126. package/build/utils/config-values.js.map +1 -1
  127. package/build/utils/hooks/use-update-effect.js +5 -1
  128. package/build/utils/hooks/use-update-effect.js.map +1 -1
  129. package/build-module/angle-picker-control/index.js +1 -1
  130. package/build-module/angle-picker-control/index.js.map +1 -1
  131. package/build-module/autocomplete/autocompleter-ui.js +29 -3
  132. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  133. package/build-module/border-box-control/border-box-control/component.js +61 -13
  134. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  135. package/build-module/border-box-control/border-box-control/hook.js +7 -3
  136. package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
  137. package/build-module/border-box-control/border-box-control-linked-button/hook.js +3 -3
  138. package/build-module/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
  139. package/build-module/border-box-control/border-box-control-split-controls/component.js +3 -3
  140. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  141. package/build-module/border-box-control/border-box-control-split-controls/hook.js +9 -10
  142. package/build-module/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  143. package/build-module/border-box-control/border-box-control-visualizer/hook.js +4 -6
  144. package/build-module/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  145. package/build-module/border-box-control/styles.js +26 -28
  146. package/build-module/border-box-control/styles.js.map +1 -1
  147. package/build-module/border-control/border-control/component.js +5 -4
  148. package/build-module/border-control/border-control/component.js.map +1 -1
  149. package/build-module/border-control/border-control/hook.js +12 -5
  150. package/build-module/border-control/border-control/hook.js.map +1 -1
  151. package/build-module/border-control/border-control-dropdown/hook.js +5 -5
  152. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  153. package/build-module/border-control/styles.js +20 -36
  154. package/build-module/border-control/styles.js.map +1 -1
  155. package/build-module/box-control/index.js +6 -2
  156. package/build-module/box-control/index.js.map +1 -1
  157. package/build-module/circular-option-picker/index.js +14 -14
  158. package/build-module/circular-option-picker/index.js.map +1 -1
  159. package/build-module/color-palette/index.js +81 -28
  160. package/build-module/color-palette/index.js.map +1 -1
  161. package/build-module/color-palette/styles.js +3 -3
  162. package/build-module/color-palette/styles.js.map +1 -1
  163. package/build-module/color-palette/types.js +2 -0
  164. package/build-module/color-palette/types.js.map +1 -0
  165. package/build-module/color-picker/input-with-slider.js +1 -1
  166. package/build-module/color-picker/input-with-slider.js.map +1 -1
  167. package/build-module/custom-gradient-picker/gradient-bar/index.js +1 -2
  168. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  169. package/build-module/custom-select-control/index.js +8 -4
  170. package/build-module/custom-select-control/index.js.map +1 -1
  171. package/build-module/date-time/date-time/index.js +2 -0
  172. package/build-module/date-time/date-time/index.js.map +1 -1
  173. package/build-module/date-time/time/index.js +4 -4
  174. package/build-module/date-time/time/index.js.map +1 -1
  175. package/build-module/disabled/index.js +8 -1
  176. package/build-module/disabled/index.js.map +1 -1
  177. package/build-module/external-link/index.js +13 -2
  178. package/build-module/external-link/index.js.map +1 -1
  179. package/build-module/focusable-iframe/index.js +0 -1
  180. package/build-module/focusable-iframe/index.js.map +1 -1
  181. package/build-module/font-size-picker/index.js +65 -50
  182. package/build-module/font-size-picker/index.js.map +1 -1
  183. package/build-module/font-size-picker/utils.js +0 -19
  184. package/build-module/font-size-picker/utils.js.map +1 -1
  185. package/build-module/form-file-upload/index.js.map +1 -1
  186. package/build-module/higher-order/with-filters/index.js +1 -6
  187. package/build-module/higher-order/with-filters/index.js.map +1 -1
  188. package/build-module/index.js +2 -2
  189. package/build-module/index.js.map +1 -1
  190. package/build-module/input-control/index.js +2 -0
  191. package/build-module/input-control/index.js.map +1 -1
  192. package/build-module/input-control/input-base.js +1 -1
  193. package/build-module/input-control/input-base.js.map +1 -1
  194. package/build-module/input-control/styles/input-control-styles.js +21 -21
  195. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  196. package/build-module/isolated-event-container/index.js +7 -9
  197. package/build-module/isolated-event-container/index.js.map +1 -1
  198. package/build-module/item-group/styles.js +10 -10
  199. package/build-module/item-group/styles.js.map +1 -1
  200. package/build-module/navigator/navigator-screen/component.js +20 -4
  201. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  202. package/build-module/number-control/index.js +81 -26
  203. package/build-module/number-control/index.js.map +1 -1
  204. package/build-module/number-control/styles/number-control-styles.js +30 -4
  205. package/build-module/number-control/styles/number-control-styles.js.map +1 -1
  206. package/build-module/popover/index.js +15 -29
  207. package/build-module/popover/index.js.map +1 -1
  208. package/build-module/radio-group/index.js +6 -1
  209. package/build-module/radio-group/index.js.map +1 -1
  210. package/build-module/{radio → radio-group/radio}/index.js +6 -1
  211. package/build-module/radio-group/radio/index.js.map +1 -0
  212. package/build-module/{radio-context → radio-group/radio-context}/index.js +0 -0
  213. package/build-module/radio-group/radio-context/index.js.map +1 -0
  214. package/build-module/slot-fill/bubbles-virtually/fill.js +9 -5
  215. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  216. package/build-module/slot-fill/bubbles-virtually/slot.js +13 -8
  217. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  218. package/build-module/slot-fill/bubbles-virtually/use-slot.js +15 -9
  219. package/build-module/slot-fill/bubbles-virtually/use-slot.js.map +1 -1
  220. package/build-module/slot-fill/fill.js +12 -4
  221. package/build-module/slot-fill/fill.js.map +1 -1
  222. package/build-module/slot-fill/use-slot.js +3 -1
  223. package/build-module/slot-fill/use-slot.js.map +1 -1
  224. package/build-module/snackbar/index.js +1 -1
  225. package/build-module/snackbar/index.js.map +1 -1
  226. package/build-module/tab-panel/index.js +2 -6
  227. package/build-module/tab-panel/index.js.map +1 -1
  228. package/build-module/text-control/index.js +0 -2
  229. package/build-module/text-control/index.js.map +1 -1
  230. package/build-module/toggle-control/index.js +15 -3
  231. package/build-module/toggle-control/index.js.map +1 -1
  232. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js +76 -0
  233. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -0
  234. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +75 -0
  235. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -0
  236. package/build-module/toggle-group-control/toggle-group-control/component.js +19 -49
  237. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  238. package/build-module/toggle-group-control/toggle-group-control/styles.js +7 -6
  239. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  240. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +39 -17
  241. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  242. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +21 -18
  243. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  244. package/build-module/toolbar-dropdown-menu/index.js +1 -1
  245. package/build-module/toolbar-dropdown-menu/index.js.map +1 -1
  246. package/build-module/ui/context/context-system-provider.js +6 -20
  247. package/build-module/ui/context/context-system-provider.js.map +1 -1
  248. package/build-module/unit-control/index.js +8 -10
  249. package/build-module/unit-control/index.js.map +1 -1
  250. package/build-module/unit-control/styles/unit-control-styles.js +8 -24
  251. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  252. package/build-module/utils/config-values.js +0 -1
  253. package/build-module/utils/config-values.js.map +1 -1
  254. package/build-module/utils/hooks/use-update-effect.js +5 -1
  255. package/build-module/utils/hooks/use-update-effect.js.map +1 -1
  256. package/build-style/style-rtl.css +21 -41
  257. package/build-style/style.css +19 -39
  258. package/build-types/base-field/hook.d.ts +11 -11
  259. package/build-types/border-box-control/border-box-control/component.d.ts +53 -4
  260. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  261. package/build-types/border-box-control/border-box-control/hook.d.ts +13 -12
  262. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  263. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +12 -12
  264. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
  265. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +1 -1
  266. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  267. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +12 -12
  268. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  269. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +12 -12
  270. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
  271. package/build-types/border-box-control/stories/index.d.ts +17 -0
  272. package/build-types/border-box-control/stories/index.d.ts.map +1 -0
  273. package/build-types/border-box-control/styles.d.ts +7 -6
  274. package/build-types/border-box-control/styles.d.ts.map +1 -1
  275. package/build-types/border-box-control/types.d.ts +12 -16
  276. package/build-types/border-box-control/types.d.ts.map +1 -1
  277. package/build-types/border-control/border-control/component.d.ts +1 -1
  278. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  279. package/build-types/border-control/border-control/hook.d.ts +13 -13
  280. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  281. package/build-types/border-control/border-control-dropdown/component.d.ts +1 -1
  282. package/build-types/border-control/border-control-dropdown/hook.d.ts +11 -11
  283. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  284. package/build-types/border-control/border-control-style-picker/hook.d.ts +11 -11
  285. package/build-types/border-control/stories/index.d.ts +6 -6
  286. package/build-types/border-control/stories/index.d.ts.map +1 -1
  287. package/build-types/border-control/styles.d.ts +3 -3
  288. package/build-types/border-control/styles.d.ts.map +1 -1
  289. package/build-types/border-control/types.d.ts +7 -9
  290. package/build-types/border-control/types.d.ts.map +1 -1
  291. package/build-types/card/card/hook.d.ts +12 -12
  292. package/build-types/card/card-body/hook.d.ts +12 -12
  293. package/build-types/card/card-divider/hook.d.ts +13 -13
  294. package/build-types/card/card-footer/hook.d.ts +12 -12
  295. package/build-types/card/card-header/hook.d.ts +12 -12
  296. package/build-types/card/card-media/hook.d.ts +12 -12
  297. package/build-types/card/stories/index.d.ts.map +1 -1
  298. package/build-types/circular-option-picker/index.d.ts +4 -24
  299. package/build-types/circular-option-picker/index.d.ts.map +1 -1
  300. package/build-types/color-palette/index.d.ts +33 -18
  301. package/build-types/color-palette/index.d.ts.map +1 -1
  302. package/build-types/color-palette/stories/index.d.ts +21 -0
  303. package/build-types/color-palette/stories/index.d.ts.map +1 -0
  304. package/build-types/color-palette/styles.d.ts +3 -2
  305. package/build-types/color-palette/styles.d.ts.map +1 -1
  306. package/build-types/color-palette/test/index.d.ts +2 -0
  307. package/build-types/color-palette/test/index.d.ts.map +1 -0
  308. package/build-types/color-palette/types.d.ts +86 -0
  309. package/build-types/color-palette/types.d.ts.map +1 -0
  310. package/build-types/color-picker/styles.d.ts +5 -4
  311. package/build-types/color-picker/styles.d.ts.map +1 -1
  312. package/build-types/confirm-dialog/component.d.ts +4 -4
  313. package/build-types/custom-select-control/index.d.ts +1 -12
  314. package/build-types/custom-select-control/index.d.ts.map +1 -1
  315. package/build-types/custom-select-control/styles.d.ts +3 -1
  316. package/build-types/custom-select-control/styles.d.ts.map +1 -1
  317. package/build-types/date-time/date/styles.d.ts +3 -3
  318. package/build-types/date-time/date-time/index.d.ts +2 -0
  319. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  320. package/build-types/date-time/date-time/styles.d.ts +3 -3
  321. package/build-types/date-time/stories/date-time.d.ts.map +1 -1
  322. package/build-types/date-time/time/styles.d.ts +8 -4
  323. package/build-types/date-time/time/styles.d.ts.map +1 -1
  324. package/build-types/disabled/index.d.ts +8 -1
  325. package/build-types/disabled/index.d.ts.map +1 -1
  326. package/build-types/elevation/hook.d.ts +12 -12
  327. package/build-types/external-link/index.d.ts.map +1 -1
  328. package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
  329. package/build-types/external-link/test/index.d.ts +2 -0
  330. package/build-types/external-link/test/index.d.ts.map +1 -0
  331. package/build-types/flex/flex/hook.d.ts +12 -12
  332. package/build-types/flex/flex-block/hook.d.ts +12 -12
  333. package/build-types/flex/flex-item/hook.d.ts +12 -12
  334. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +2 -2
  335. package/build-types/focal-point-picker/styles/focal-point-style.d.ts +3 -3
  336. package/build-types/focusable-iframe/index.d.ts.map +1 -1
  337. package/build-types/font-size-picker/index.d.ts.map +1 -1
  338. package/build-types/font-size-picker/types.d.ts +1 -1
  339. package/build-types/font-size-picker/utils.d.ts +0 -8
  340. package/build-types/font-size-picker/utils.d.ts.map +1 -1
  341. package/build-types/form-file-upload/index.d.ts.map +1 -1
  342. package/build-types/form-file-upload/types.d.ts +5 -4
  343. package/build-types/form-file-upload/types.d.ts.map +1 -1
  344. package/build-types/grid/hook.d.ts +12 -12
  345. package/build-types/h-stack/component.d.ts +1 -1
  346. package/build-types/h-stack/hook.d.ts +12 -12
  347. package/build-types/heading/hook.d.ts +12 -12
  348. package/build-types/input-control/index.d.ts +1 -1
  349. package/build-types/input-control/index.d.ts.map +1 -1
  350. package/build-types/input-control/input-base.d.ts +5 -2
  351. package/build-types/input-control/input-base.d.ts.map +1 -1
  352. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  353. package/build-types/input-control/types.d.ts +3 -8
  354. package/build-types/input-control/types.d.ts.map +1 -1
  355. package/build-types/input-control/utils.d.ts +1 -1
  356. package/build-types/isolated-event-container/index.d.ts +3 -2
  357. package/build-types/isolated-event-container/index.d.ts.map +1 -1
  358. package/build-types/item-group/item/hook.d.ts +13 -13
  359. package/build-types/item-group/item-group/hook.d.ts +13 -13
  360. package/build-types/navigator/navigator-back-button/hook.d.ts +13 -13
  361. package/build-types/navigator/navigator-button/hook.d.ts +13 -13
  362. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  363. package/build-types/number-control/index.d.ts +2 -4
  364. package/build-types/number-control/index.d.ts.map +1 -1
  365. package/build-types/number-control/styles/number-control-styles.d.ts +5 -0
  366. package/build-types/number-control/styles/number-control-styles.d.ts.map +1 -1
  367. package/build-types/number-control/types.d.ts +12 -0
  368. package/build-types/number-control/types.d.ts.map +1 -1
  369. package/build-types/popover/index.d.ts +1 -1
  370. package/build-types/popover/index.d.ts.map +1 -1
  371. package/build-types/popover/stories/e2e/index.d.ts +1 -1
  372. package/build-types/popover/stories/index.d.ts +2 -0
  373. package/build-types/popover/stories/index.d.ts.map +1 -1
  374. package/build-types/popover/types.d.ts +18 -14
  375. package/build-types/popover/types.d.ts.map +1 -1
  376. package/build-types/radio-group/index.d.ts +10 -0
  377. package/build-types/radio-group/index.d.ts.map +1 -0
  378. package/build-types/radio-group/radio/index.d.ts +7 -0
  379. package/build-types/radio-group/radio/index.d.ts.map +1 -0
  380. package/build-types/{radio-context → radio-group/radio-context}/index.d.ts +0 -0
  381. package/build-types/radio-group/radio-context/index.d.ts.map +1 -0
  382. package/build-types/range-control/index.d.ts +1 -1
  383. package/build-types/range-control/styles/range-control-styles.d.ts +2 -1
  384. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  385. package/build-types/resizable-box/index.d.ts +1 -1
  386. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  387. package/build-types/resizable-box/resize-tooltip/label.d.ts +1 -1
  388. package/build-types/scrollable/hook.d.ts +12 -12
  389. package/build-types/search-control/index.d.ts +2 -2
  390. package/build-types/search-control/stories/index.d.ts +4 -4
  391. package/build-types/select-control/stories/index.d.ts.map +1 -1
  392. package/build-types/slot-fill/bubbles-virtually/use-slot.d.ts.map +1 -1
  393. package/build-types/slot-fill/fill.d.ts.map +1 -1
  394. package/build-types/slot-fill/use-slot.d.ts.map +1 -1
  395. package/build-types/spacer/hook.d.ts +12 -12
  396. package/build-types/spinner/index.d.ts +1 -1
  397. package/build-types/surface/hook.d.ts +12 -12
  398. package/build-types/tab-panel/index.d.ts.map +1 -1
  399. package/build-types/text/hook.d.ts +12 -12
  400. package/build-types/text-control/index.d.ts +2 -4
  401. package/build-types/text-control/index.d.ts.map +1 -1
  402. package/build-types/text-control/stories/index.d.ts.map +1 -1
  403. package/build-types/toggle-control/index.d.ts.map +1 -1
  404. package/build-types/toggle-control/types.d.ts +2 -1
  405. package/build-types/toggle-control/types.d.ts.map +1 -1
  406. package/build-types/toggle-group-control/stories/index.d.ts +2 -2
  407. package/build-types/toggle-group-control/stories/index.d.ts.map +1 -1
  408. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts +6 -0
  409. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts.map +1 -0
  410. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +6 -0
  411. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -0
  412. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +2 -2
  413. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  414. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +2 -2
  415. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  416. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  417. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +4 -7
  418. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  419. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
  420. package/build-types/toggle-group-control/types.d.ts +19 -14
  421. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  422. package/build-types/tools-panel/tools-panel/hook.d.ts +12 -12
  423. package/build-types/tools-panel/tools-panel-header/hook.d.ts +12 -12
  424. package/build-types/tools-panel/tools-panel-item/hook.d.ts +12 -12
  425. package/build-types/truncate/hook.d.ts +12 -12
  426. package/build-types/ui/context/context-system-provider.d.ts.map +1 -1
  427. package/build-types/ui/control-group/hook.d.ts +12 -12
  428. package/build-types/ui/control-label/component.d.ts +1 -1
  429. package/build-types/ui/control-label/hook.d.ts +12 -12
  430. package/build-types/ui/form-group/form-group.d.ts +4 -4
  431. package/build-types/ui/form-group/use-form-group.d.ts +28 -28
  432. package/build-types/unit-control/index.d.ts +2 -2
  433. package/build-types/unit-control/index.d.ts.map +1 -1
  434. package/build-types/unit-control/styles/unit-control-styles.d.ts +2 -5
  435. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  436. package/build-types/unit-control/types.d.ts +3 -3
  437. package/build-types/unit-control/types.d.ts.map +1 -1
  438. package/build-types/utils/config-values.d.ts +0 -1
  439. package/build-types/utils/hooks/use-update-effect.d.ts.map +1 -1
  440. package/build-types/utils/types.d.ts +0 -14
  441. package/build-types/utils/types.d.ts.map +1 -1
  442. package/build-types/v-stack/component.d.ts +2 -2
  443. package/build-types/v-stack/hook.d.ts +12 -12
  444. package/build-types/v-stack/stories/index.d.ts +2 -2
  445. package/package.json +17 -17
  446. package/src/angle-picker-control/index.js +1 -1
  447. package/src/angle-picker-control/stories/index.js +3 -0
  448. package/src/autocomplete/autocompleter-ui.js +29 -2
  449. package/src/autocomplete/test/index.js +89 -0
  450. package/src/border-box-control/border-box-control/README.md +8 -0
  451. package/src/border-box-control/border-box-control/component.tsx +64 -13
  452. package/src/border-box-control/border-box-control/hook.ts +7 -2
  453. package/src/border-box-control/border-box-control-linked-button/hook.ts +3 -6
  454. package/src/border-box-control/border-box-control-split-controls/component.tsx +3 -6
  455. package/src/border-box-control/border-box-control-split-controls/hook.ts +11 -14
  456. package/src/border-box-control/border-box-control-visualizer/hook.ts +4 -7
  457. package/src/border-box-control/stories/index.tsx +90 -0
  458. package/src/border-box-control/styles.ts +28 -22
  459. package/src/border-box-control/test/index.js +287 -122
  460. package/src/border-box-control/types.ts +12 -16
  461. package/src/border-control/border-control/README.md +8 -0
  462. package/src/border-control/border-control/component.tsx +4 -3
  463. package/src/border-control/border-control/hook.ts +10 -6
  464. package/src/border-control/border-control-dropdown/hook.ts +5 -7
  465. package/src/border-control/stories/index.tsx +12 -14
  466. package/src/border-control/styles.ts +20 -23
  467. package/src/border-control/test/index.js +139 -96
  468. package/src/border-control/types.ts +7 -9
  469. package/src/box-control/README.md +14 -0
  470. package/src/box-control/index.js +4 -0
  471. package/src/box-control/stories/index.js +8 -27
  472. package/src/button/README.md +2 -15
  473. package/src/button/stories/index.js +109 -178
  474. package/src/button/style.scss +17 -54
  475. package/src/card/stories/index.tsx +27 -31
  476. package/src/card/test/__snapshots__/index.tsx.snap +36 -35
  477. package/src/card/test/index.tsx +2 -6
  478. package/src/circular-option-picker/index.js +14 -20
  479. package/src/color-palette/README.md +51 -49
  480. package/src/color-palette/{index.js → index.tsx} +132 -51
  481. package/src/color-palette/stories/{index.js → index.tsx} +38 -27
  482. package/src/color-palette/style.scss +2 -2
  483. package/src/color-palette/{styles.js → styles.ts} +0 -0
  484. package/src/color-palette/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  485. package/src/color-palette/test/{index.js → index.tsx} +1 -1
  486. package/src/color-palette/types.ts +93 -0
  487. package/src/color-picker/input-with-slider.tsx +1 -1
  488. package/src/custom-gradient-picker/gradient-bar/index.js +1 -3
  489. package/src/custom-select-control/README.md +14 -0
  490. package/src/custom-select-control/index.js +22 -15
  491. package/src/date-time/date-time/index.tsx +2 -0
  492. package/src/date-time/stories/date-time.tsx +4 -0
  493. package/src/date-time/time/index.tsx +4 -4
  494. package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -0
  495. package/src/disabled/README.md +2 -0
  496. package/src/disabled/index.tsx +8 -1
  497. package/src/disabled/test/index.tsx +0 -5
  498. package/src/external-link/index.tsx +14 -6
  499. package/src/external-link/test/index.tsx +106 -0
  500. package/src/focusable-iframe/index.js +0 -1
  501. package/src/font-size-picker/README.md +3 -3
  502. package/src/font-size-picker/index.tsx +152 -142
  503. package/src/font-size-picker/test/index.tsx +447 -174
  504. package/src/font-size-picker/test/utils.ts +1 -45
  505. package/src/font-size-picker/types.ts +1 -1
  506. package/src/font-size-picker/utils.ts +0 -22
  507. package/src/form-file-upload/README.md +1 -3
  508. package/src/form-file-upload/index.tsx +1 -0
  509. package/src/form-file-upload/types.ts +5 -4
  510. package/src/form-toggle/test/__snapshots__/index.tsx.snap +15 -13
  511. package/src/form-toggle/test/index.tsx +1 -1
  512. package/src/h-stack/test/__snapshots__/index.tsx.snap +36 -30
  513. package/src/h-stack/test/index.tsx +3 -3
  514. package/src/higher-order/with-filters/index.js +4 -9
  515. package/src/index.js +2 -1
  516. package/src/input-control/index.tsx +2 -0
  517. package/src/input-control/input-base.tsx +3 -3
  518. package/src/input-control/styles/input-control-styles.tsx +1 -0
  519. package/src/input-control/types.ts +4 -11
  520. package/src/isolated-event-container/index.tsx +32 -0
  521. package/src/item-group/styles.ts +1 -1
  522. package/src/item-group/test/__snapshots__/index.js.snap +90 -85
  523. package/src/item-group/test/index.js +7 -17
  524. package/src/navigator/navigator-screen/component.tsx +20 -3
  525. package/src/number-control/README.md +9 -4
  526. package/src/number-control/index.tsx +100 -33
  527. package/src/number-control/styles/number-control-styles.js +26 -1
  528. package/src/number-control/test/index.js +50 -0
  529. package/src/number-control/types.ts +12 -0
  530. package/src/popover/README.md +12 -7
  531. package/src/popover/index.tsx +20 -30
  532. package/src/popover/stories/index.tsx +29 -1
  533. package/src/popover/style.scss +9 -0
  534. package/src/popover/types.ts +18 -15
  535. package/src/radio-group/README.md +4 -0
  536. package/src/radio-group/index.js +6 -1
  537. package/src/{radio → radio-group/radio}/index.js +6 -1
  538. package/src/{radio-context → radio-group/radio-context}/index.js +0 -0
  539. package/src/radio-group/stories/index.js +11 -2
  540. package/src/sandbox/test/index.js +2 -2
  541. package/src/select-control/stories/index.tsx +9 -4
  542. package/src/slot-fill/bubbles-virtually/fill.js +5 -5
  543. package/src/slot-fill/bubbles-virtually/slot.js +10 -8
  544. package/src/slot-fill/bubbles-virtually/use-slot.js +15 -9
  545. package/src/slot-fill/fill.js +12 -2
  546. package/src/slot-fill/use-slot.js +3 -0
  547. package/src/snackbar/index.js +1 -1
  548. package/src/surface/test/__snapshots__/index.tsx.snap +58 -46
  549. package/src/surface/test/index.tsx +6 -16
  550. package/src/tab-panel/index.tsx +2 -3
  551. package/src/tab-panel/test/index.tsx +78 -1
  552. package/src/text/test/__snapshots__/index.tsx.snap +19 -15
  553. package/src/text/test/index.tsx +2 -2
  554. package/src/text-control/index.tsx +0 -2
  555. package/src/text-control/stories/index.tsx +5 -6
  556. package/src/toggle-control/README.md +6 -4
  557. package/src/toggle-control/index.tsx +13 -2
  558. package/src/toggle-control/types.ts +2 -4
  559. package/src/toggle-group-control/stories/index.tsx +4 -4
  560. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +219 -160
  561. package/src/toggle-group-control/test/index.tsx +129 -2
  562. package/src/toggle-group-control/toggle-group-control/as-button-group.tsx +103 -0
  563. package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +99 -0
  564. package/src/toggle-group-control/toggle-group-control/component.tsx +29 -74
  565. package/src/toggle-group-control/toggle-group-control/styles.ts +12 -10
  566. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +49 -25
  567. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +39 -19
  568. package/src/toggle-group-control/types.ts +75 -63
  569. package/src/toolbar-dropdown-menu/index.js +1 -1
  570. package/src/tools-panel/stories/index.js +0 -1
  571. package/src/tools-panel/stories/tools-panel-with-item-group-slot.js +0 -1
  572. package/src/tree-grid/test/__snapshots__/cell.js.snap +20 -18
  573. package/src/tree-grid/test/__snapshots__/roving-tab-index.js.snap +3 -1
  574. package/src/tree-grid/test/__snapshots__/row.js.snap +33 -29
  575. package/src/tree-grid/test/cell.js +1 -1
  576. package/src/tree-grid/test/roving-tab-index.js +1 -1
  577. package/src/tree-grid/test/row.js +2 -2
  578. package/src/ui/context/context-system-provider.js +5 -18
  579. package/src/ui/context/test/__snapshots__/context-system-provider.js.snap +23 -17
  580. package/src/ui/context/test/context-system-provider.js +3 -3
  581. package/src/ui/control-group/test/__snapshots__/index.js.snap +18 -16
  582. package/src/ui/control-group/test/index.js +1 -1
  583. package/src/ui/control-label/test/__snapshots__/index.js.snap +27 -21
  584. package/src/ui/control-label/test/index.js +3 -3
  585. package/src/ui/form-group/test/__snapshots__/index.js.snap +34 -30
  586. package/src/ui/form-group/test/index.js +2 -2
  587. package/src/ui/shortcut/test/__snapshots__/index.js.snap +1 -1
  588. package/src/ui/shortcut/test/index.js +1 -1
  589. package/src/ui/spinner/test/__snapshots__/index.js.snap +75 -73
  590. package/src/ui/spinner/test/index.js +3 -7
  591. package/src/unit-control/index.tsx +29 -30
  592. package/src/unit-control/styles/unit-control-styles.ts +6 -12
  593. package/src/unit-control/test/utils.ts +43 -0
  594. package/src/unit-control/types.ts +5 -6
  595. package/src/utils/config-values.js +0 -1
  596. package/src/utils/hooks/use-update-effect.js +5 -1
  597. package/src/utils/types.ts +0 -15
  598. package/src/v-stack/test/__snapshots__/index.tsx.snap +36 -30
  599. package/src/v-stack/test/index.tsx +3 -3
  600. package/src/view/test/__snapshots__/index.js.snap +34 -24
  601. package/src/view/test/index.js +5 -5
  602. package/tsconfig.json +0 -2
  603. package/tsconfig.tsbuildinfo +1 -1
  604. package/build/radio/index.js.map +0 -1
  605. package/build/radio-context/index.js.map +0 -1
  606. package/build-module/radio/index.js.map +0 -1
  607. package/build-module/radio-context/index.js.map +0 -1
  608. package/build-types/radio-context/index.d.ts.map +0 -1
  609. package/src/border-box-control/stories/index.js +0 -106
  610. package/src/form-file-upload/stories/index.js +0 -51
  611. package/src/isolated-event-container/index.js +0 -28
  612. package/src/radio/stories/index.js +0 -20
@@ -127,7 +127,6 @@ Whether the button is disabled. If `true`, this will force a `button` element to
127
127
 
128
128
  - Type: `Boolean`
129
129
  - Required: No
130
- - Default: `false`
131
130
 
132
131
  #### href
133
132
 
@@ -135,7 +134,6 @@ If provided, renders `a` instead of `button`.
135
134
 
136
135
  - Type: `String`
137
136
  - Required: No
138
- - Default: `undefined`
139
137
 
140
138
  #### variant
141
139
 
@@ -143,7 +141,6 @@ Specifies the button's style. The accepted values are `'primary'` (the primary b
143
141
 
144
142
  - Type: `String`
145
143
  - Required: No
146
- - Default: `undefined`
147
144
 
148
145
  #### isDestructive
149
146
 
@@ -151,7 +148,6 @@ Renders a red text-based button style to indicate destructive behavior.
151
148
 
152
149
  - Type: `Boolean`
153
150
  - Required: No
154
- - Default: `false`
155
151
 
156
152
  #### isSmall
157
153
 
@@ -159,7 +155,6 @@ Decreases the size of the button.
159
155
 
160
156
  - Type: `Boolean`
161
157
  - Required: No
162
- - Default: `false`
163
158
 
164
159
  #### isPressed
165
160
 
@@ -167,7 +162,6 @@ Renders a pressed button style.
167
162
 
168
163
  - Type: `Boolean`
169
164
  - Required: No
170
- - Default: `false`
171
165
 
172
166
  #### isBusy
173
167
 
@@ -175,7 +169,6 @@ Indicates activity while a action is being performed.
175
169
 
176
170
  - Type: `Boolean`
177
171
  - Required: No
178
- - Default: `false`
179
172
 
180
173
  #### focus
181
174
 
@@ -183,7 +176,6 @@ Whether the button is focused.
183
176
 
184
177
  - Type: `Boolean`
185
178
  - Required: No
186
- - Default: `false`
187
179
 
188
180
  #### target
189
181
 
@@ -205,15 +197,13 @@ If provided, renders an [Icon](/packages/components/src/icon/README.md) componen
205
197
 
206
198
  - Type: `String|Function|WPComponent|null`
207
199
  - Required: No
208
- - Default: `null`
209
200
 
210
201
  #### iconSize
211
202
 
212
- If provided with `icon`, sets the icon size.
203
+ If provided with `icon`, sets the icon size. Please refer to the [Icon](/packages/components/src/icon/README.md) component for more details regarding the default value of its `size` prop.
213
204
 
214
205
  - Type: `Number`
215
206
  - Required: No
216
- - Default: `20 when a Dashicon is rendered, 24 for all other icons.`
217
207
 
218
208
  #### iconPosition
219
209
 
@@ -236,15 +226,13 @@ If provided, renders a [Tooltip](/packages/components/src/tooltip/README.md) com
236
226
 
237
227
  - Type: `Boolean`
238
228
  - Required: No
239
- - Default: `false`
240
229
 
241
230
  #### tooltipPosition
242
231
 
243
- If provided with`showTooltip`, sets the position of the tooltip.
232
+ If provided with`showTooltip`, sets the position of the tooltip. Please refer to the [Tooltip](/packages/components/src/tooltip/README.md) component for more details regarding the defaults.
244
233
 
245
234
  - Type: `String`
246
235
  - Require: No
247
- - Default:`top center`
248
236
 
249
237
  #### shortcut
250
238
 
@@ -252,7 +240,6 @@ If provided with `showTooltip`, appends the Shortcut label to the tooltip conten
252
240
 
253
241
  - Type: `String|Object`
254
242
  - Required: No
255
- - Default: `undefined`
256
243
 
257
244
  #### label
258
245
 
@@ -1,15 +1,10 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { text, number, boolean } from '@storybook/addon-knobs';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
9
4
  import {
10
5
  formatBold,
11
6
  formatItalic,
12
- link as linkIcon,
7
+ link,
13
8
  more,
14
9
  wordpress,
15
10
  } from '@wordpress/icons';
@@ -23,142 +18,120 @@ import Button from '../';
23
18
  export default {
24
19
  title: 'Components/Button',
25
20
  component: Button,
21
+ argTypes: {
22
+ label: {
23
+ control: { type: 'text' },
24
+ description:
25
+ 'Sets the `aria-label` of the component, if none is provided. Sets the Tooltip content if `showTooltip` is provided.',
26
+ },
27
+ children: {
28
+ control: { type: 'text' },
29
+ },
30
+ href: {
31
+ control: { type: 'text' },
32
+ description: 'If provided, renders `a` instead of `button`.',
33
+ },
34
+ icon: {
35
+ control: { type: 'select' },
36
+ description:
37
+ 'If provided, renders an `Icon` component inside the button.',
38
+ options: [ 'wordpress', 'link', 'more' ],
39
+ mapping: {
40
+ wordpress,
41
+ link,
42
+ more,
43
+ },
44
+ },
45
+ iconSize: {
46
+ control: { type: 'number' },
47
+ description: 'If provided with `icon`, sets the icon size.',
48
+ },
49
+ iconPosition: {
50
+ control: { type: 'select' },
51
+ description:
52
+ 'If provided with `icon`, sets the position of icon relative to the `text`. Available options are `left|right`.',
53
+ options: [ 'left', 'right' ],
54
+ table: {
55
+ defaultValue: { summary: `left` },
56
+ },
57
+ },
58
+ isBusy: {
59
+ control: 'boolean',
60
+ description:
61
+ 'Indicates activity while a action is being performed.',
62
+ },
63
+ isDestructive: {
64
+ control: 'boolean',
65
+ description:
66
+ 'Renders a red text-based button style to indicate destructive behavior.',
67
+ },
68
+ isPressed: {
69
+ control: 'boolean',
70
+ description: 'Renders a pressed button style.',
71
+ },
72
+ isSmall: {
73
+ control: 'boolean',
74
+ description: 'Decreases the size of the button.',
75
+ },
76
+ disabled: {
77
+ control: 'boolean',
78
+ description:
79
+ 'Whether the button is disabled. If `true`, this will force a `button` element to be rendered.',
80
+ },
81
+ shortcut: {
82
+ control: { type: 'text' },
83
+ description:
84
+ 'If provided with `showTooltip`, appends the Shortcut label to the tooltip content. If an `Object` is provided, it should contain `display` and `ariaLabel` keys.',
85
+ },
86
+ showTooltip: {
87
+ control: 'boolean',
88
+ description:
89
+ 'If provided, renders a `Tooltip` component for the button.',
90
+ },
91
+ tooltipPosition: {
92
+ control: { type: 'text' },
93
+ description:
94
+ 'If provided with `showTooltip`, sets the position of the tooltip.',
95
+ },
96
+ text: {
97
+ control: { type: 'text' },
98
+ description:
99
+ 'If provided, displays the given text inside the button. If the button contains `children` elements, the text is displayed before them.',
100
+ },
101
+ target: {
102
+ control: { type: 'text' },
103
+ description:
104
+ 'If provided with `href`, sets the `target` attribute to the `a`.',
105
+ },
106
+ variant: {
107
+ control: { type: 'select' },
108
+ description: "Specifies the button's style.",
109
+ options: [ 'primary', 'secondary', 'tertiary', 'link' ],
110
+ },
111
+ __experimentalIsFocusable: {
112
+ control: 'boolean',
113
+ description: 'Makes the button focusable even when disabled',
114
+ },
115
+ },
26
116
  parameters: {
27
- knobs: { disable: false },
117
+ controls: { expanded: true },
118
+ docs: { source: { state: 'open' } },
28
119
  },
29
120
  };
30
121
 
31
- export const _default = () => {
32
- const label = text( 'Label', 'Default Button' );
33
-
34
- return <Button>{ label }</Button>;
35
- };
36
-
37
- export const primary = () => {
38
- const label = text( 'Label', 'Primary Button' );
39
-
40
- return <Button variant="primary">{ label }</Button>;
41
- };
42
-
43
- export const secondary = () => {
44
- const label = text( 'Label', 'Secondary Button' );
45
-
46
- return <Button variant="secondary">{ label }</Button>;
47
- };
48
-
49
- export const tertiary = () => {
50
- const label = text( 'Label', 'Tertiary Button' );
51
-
52
- return <Button variant="tertiary">{ label }</Button>;
53
- };
54
-
55
- export const isDestructive = () => {
56
- const label = text( 'Label', 'Destructive Button' );
57
- const isSmall = boolean( 'isSmall', false );
58
- const disabled = boolean( 'disabled', false );
122
+ function Template( { children, ...props } ) {
123
+ return <Button { ...props }>{ children }</Button>;
124
+ }
59
125
 
60
- return (
61
- <Button isDestructive isSmall={ isSmall } disabled={ disabled }>
62
- { label }
63
- </Button>
64
- );
65
- };
66
-
67
- export const isPrimaryDestructive = () => {
68
- const label = text( 'Label', 'Destructive Primary Button' );
69
- const isSmall = boolean( 'isSmall', false );
70
- const disabled = boolean( 'disabled', false );
71
-
72
- return (
73
- <Button
74
- variant="primary"
75
- isDestructive
76
- isSmall={ isSmall }
77
- disabled={ disabled }
78
- >
79
- { label }
80
- </Button>
81
- );
82
- };
83
-
84
- export const small = () => {
85
- const label = text( 'Label', 'Small Button' );
86
-
87
- return <Button isSmall>{ label }</Button>;
88
- };
89
-
90
- export const pressed = () => {
91
- const label = text( 'Label', 'Pressed Button' );
92
-
93
- return <Button isPressed>{ label }</Button>;
126
+ export const Default = Template.bind( {} );
127
+ Default.args = {
128
+ children: 'Code is poetry',
94
129
  };
95
130
 
96
- export const disabled = () => {
97
- const label = text( 'Label', 'Disabled Button' );
98
-
99
- return <Button disabled>{ label }</Button>;
100
- };
101
-
102
- export const disabledFocusable = () => {
103
- const label = text( 'Label', 'Disabled Button' );
104
-
105
- return (
106
- <Button disabled __experimentalIsFocusable>
107
- { label }
108
- </Button>
109
- );
110
- };
111
-
112
- export const link = () => {
113
- const label = text( 'Label', 'Link Button' );
114
-
115
- return (
116
- <Button href="https://wordpress.org/" target="_blank">
117
- { label }
118
- </Button>
119
- );
120
- };
121
-
122
- export const disabledLink = () => {
123
- const label = text( 'Label', 'Disabled Link Button' );
124
-
125
- return (
126
- <Button href="https://wordpress.org/" target="_blank" disabled>
127
- { label }
128
- </Button>
129
- );
130
- };
131
-
132
- export const destructiveLink = () => {
133
- const label = text( 'Label', 'Destructive Link' );
134
-
135
- return (
136
- <Button isDestructive variant="link">
137
- { label }
138
- </Button>
139
- );
140
- };
141
-
142
- export const icon = () => {
143
- const label = text( 'Label', 'Code is poetry' );
144
- const size = number( 'Size', 24 );
145
-
146
- return <Button icon={ wordpress } label={ label } iconSize={ size } />;
147
- };
148
-
149
- export const disabledFocusableIcon = () => {
150
- const label = text( 'Label', 'Code is poetry' );
151
- const size = number( 'Size', 24 );
152
-
153
- return (
154
- <Button
155
- icon={ wordpress }
156
- label={ label }
157
- iconSize={ size }
158
- disabled
159
- __experimentalIsFocusable
160
- />
161
- );
131
+ export const Icon = Template.bind( {} );
132
+ Icon.args = {
133
+ label: 'Code is poetry',
134
+ icon: 'wordpress',
162
135
  };
163
136
 
164
137
  export const groupedIcons = () => {
@@ -170,49 +143,7 @@ export const groupedIcons = () => {
170
143
  <GroupContainer>
171
144
  <Button icon={ formatBold } label="Bold" />
172
145
  <Button icon={ formatItalic } label="Italic" />
173
- <Button icon={ linkIcon } label="Link" />
146
+ <Button icon={ link } label="Link" />
174
147
  </GroupContainer>
175
148
  );
176
149
  };
177
-
178
- export const buttons = () => {
179
- return (
180
- <div style={ { padding: '20px' } }>
181
- <h2>Small Buttons</h2>
182
- <div className="story-buttons-container">
183
- <Button isSmall>Button</Button>
184
- <Button variant="primary" isSmall>
185
- Primary Button
186
- </Button>
187
- <Button variant="secondary" isSmall>
188
- Secondary Button
189
- </Button>
190
- <Button variant="tertiary" isSmall>
191
- Tertiary Button
192
- </Button>
193
- <Button isSmall icon={ more } />
194
- <Button isSmall variant="primary" icon={ more } />
195
- <Button isSmall variant="secondary" icon={ more } />
196
- <Button isSmall variant="tertiary" icon={ more } />
197
- <Button isSmall variant="primary" icon={ more }>
198
- Icon & Text
199
- </Button>
200
- </div>
201
-
202
- <h2>Regular Buttons</h2>
203
- <div className="story-buttons-container">
204
- <Button>Button</Button>
205
- <Button variant="primary">Primary Button</Button>
206
- <Button variant="secondary">Secondary Button</Button>
207
- <Button variant="tertiary">Tertiary Button</Button>
208
- <Button icon={ more } />
209
- <Button variant="primary" icon={ more } />
210
- <Button variant="secondary" icon={ more } />
211
- <Button variant="tertiary" icon={ more } />
212
- <Button variant="primary" icon={ more }>
213
- Icon & Text
214
- </Button>
215
- </div>
216
- </div>
217
- );
218
- };
@@ -171,52 +171,30 @@
171
171
  /**
172
172
  * Destructive buttons.
173
173
  */
174
-
175
174
  &.is-destructive {
176
- color: $alert-red;
177
- box-shadow: inset 0 0 0 $border-width $alert-red;
178
-
179
- &:hover:not(:disabled) {
180
- color: darken($alert-red, 20%);
181
- box-shadow: inset 0 0 0 $border-width darken($alert-red, 20%);
182
- }
183
-
184
- &:focus:not(:disabled) {
185
- color: $components-color-accent;
186
- }
187
-
188
- &:active:not(:disabled) {
189
- background: $gray-400;
190
- }
191
- }
175
+ --wp-components-color-accent: #{$alert-red};
176
+ --wp-components-color-accent-darker-10: #{darken($alert-red, 10%)};
177
+ --wp-components-color-accent-darker-20: #{darken($alert-red, 20%)};
192
178
 
193
- &.is-destructive.is-primary {
194
- color: #fff;
195
- background: $alert-red;
196
- box-shadow: inset 0 0 0 $border-width $alert-red;
197
-
198
- &:hover:not(:disabled) {
199
- color: #fff;
200
- background: darken($alert-red, 20%);
201
- box-shadow: inset 0 0 0 $border-width darken($alert-red, 20%);
202
- }
203
- }
179
+ // Only the default variant is styled differently from the non-destructive counterparts.
180
+ &:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link) {
181
+ color: $alert-red;
182
+ box-shadow: inset 0 0 0 $border-width $alert-red;
204
183
 
205
- &.is-destructive.is-tertiary {
206
- box-shadow: none;
184
+ &:hover:not(:disabled) {
185
+ color: darken($alert-red, 20%);
186
+ }
207
187
 
208
- &:hover:not(:disabled) {
209
- box-shadow: inset 0 0 0 $border-width $alert-red;
210
- color: $alert-red;
211
- }
188
+ &:focus:not(:disabled) {
189
+ box-shadow: 0 0 0 var(--wp-admin-border-width-focus) $alert-red;
190
+ }
212
191
 
213
- &:focus:not(:disabled) {
214
- box-shadow: inset 0 0 0 1px $white, 0 0 0 var(--wp-admin-border-width-focus) $alert-red;
215
- color: $alert-red;
192
+ &:active:not(:disabled) {
193
+ background: $gray-400;
194
+ }
216
195
  }
217
196
  }
218
197
 
219
-
220
198
  /**
221
199
  * Link buttons.
222
200
  */
@@ -241,21 +219,6 @@
241
219
  &:focus {
242
220
  border-radius: $radius-block-ui;
243
221
  }
244
-
245
- // Link buttons that are red to indicate destructive behavior.
246
- &.is-destructive {
247
- color: $alert-red;
248
-
249
- &:active:not(:disabled),
250
- &:hover:not(:disabled) {
251
- color: darken($alert-red, 20%);
252
- background: none;
253
- }
254
-
255
- &:focus:not(:disabled) {
256
- color: $components-color-accent;
257
- }
258
- }
259
222
  }
260
223
 
261
224
  &:not([aria-disabled="true"]):active {
@@ -315,7 +278,7 @@
315
278
  }
316
279
 
317
280
  &.has-text {
318
- justify-content: left;
281
+ justify-content: start;
319
282
  }
320
283
 
321
284
  &.has-text svg {
@@ -40,36 +40,32 @@ const meta: ComponentMeta< typeof Card > = {
40
40
 
41
41
  export default meta;
42
42
 
43
- const Template: ComponentStory< typeof Card > = ( args ) => {
44
- return (
45
- <div style={ { maxWidth: '280px' } }>
46
- <Card { ...args }>
47
- <CardHeader>
48
- <Heading>CardHeader</Heading>
49
- </CardHeader>
50
- <CardBody>
51
- <Text>CardBody</Text>
52
- </CardBody>
53
- <CardBody>
54
- <Text>CardBody (before CardDivider)</Text>
55
- </CardBody>
56
- <CardDivider />
57
- <CardBody>
58
- <Text>CardBody (after CardDivider)</Text>
59
- </CardBody>
60
- <CardMedia>
61
- <img
62
- alt="Card Media"
63
- src="https://images.unsplash.com/photo-1566125882500-87e10f726cdc?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1867&q=80"
64
- />
65
- </CardMedia>
66
- <CardFooter>
67
- <Text>CardFooter</Text>
68
- <Button variant="secondary">Action Button</Button>
69
- </CardFooter>
70
- </Card>
71
- </div>
72
- );
73
- };
43
+ const Template: ComponentStory< typeof Card > = ( args ) => (
44
+ <Card { ...args }>
45
+ <CardHeader>
46
+ <Heading>CardHeader</Heading>
47
+ </CardHeader>
48
+ <CardBody>
49
+ <Text>CardBody</Text>
50
+ </CardBody>
51
+ <CardBody>
52
+ <Text>CardBody (before CardDivider)</Text>
53
+ </CardBody>
54
+ <CardDivider />
55
+ <CardBody>
56
+ <Text>CardBody (after CardDivider)</Text>
57
+ </CardBody>
58
+ <CardMedia>
59
+ <img
60
+ alt="Card Media"
61
+ src="https://images.unsplash.com/photo-1566125882500-87e10f726cdc?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1867&q=80"
62
+ />
63
+ </CardMedia>
64
+ <CardFooter>
65
+ <Text>CardFooter</Text>
66
+ <Button variant="secondary">Action Button</Button>
67
+ </CardFooter>
68
+ </Card>
69
+ );
74
70
 
75
71
  export const Default: ComponentStory< typeof Card > = Template.bind( {} );
@@ -90,27 +90,27 @@ Snapshot Diff:
90
90
  - First value
91
91
  + Second value
92
92
 
93
- @@ -5,18 +5,18 @@
94
- >
95
- <div
96
- class="css-mgwsf4-View-Content e19lxcc00"
93
+ @@ -6,18 +6,18 @@
97
94
  >
98
95
  <div
99
- - class="components-flex components-card__header components-card-header css-3fkkv8-View-Flex-base-ItemsRow-Header-borderRadius-borderColor-medium e19lxcc00"
100
- + class="components-flex components-card__header components-card-header css-2feznw-View-Flex-base-ItemsRow-Header-borderRadius-borderColor-large e19lxcc00"
101
- data-wp-c16t="true"
102
- data-wp-component="CardHeader"
103
- >
104
- Header
105
- </div>
106
- <div
107
- - class="components-card__body components-card-body css-1nwhnu3-View-Body-borderRadius-medium e19lxcc00"
108
- + class="components-card__body components-card-body css-1nonx1n-View-Body-borderRadius-large e19lxcc00"
109
- data-wp-c16t="true"
110
- data-wp-component="CardBody"
96
+ class="css-mgwsf4-View-Content e19lxcc00"
111
97
  >
112
- Code is Poetry
113
- </div>
98
+ <div
99
+ - class="components-flex components-card__header components-card-header css-3fkkv8-View-Flex-base-ItemsRow-Header-borderRadius-borderColor-medium e19lxcc00"
100
+ + class="components-flex components-card__header components-card-header css-2feznw-View-Flex-base-ItemsRow-Header-borderRadius-borderColor-large e19lxcc00"
101
+ data-wp-c16t="true"
102
+ data-wp-component="CardHeader"
103
+ >
104
+ Header
105
+ </div>
106
+ <div
107
+ - class="components-card__body components-card-body css-1nwhnu3-View-Body-borderRadius-medium e19lxcc00"
108
+ + class="components-card__body components-card-body css-1nonx1n-View-Body-borderRadius-large e19lxcc00"
109
+ data-wp-c16t="true"
110
+ data-wp-component="CardBody"
111
+ >
112
+ Code is Poetry
113
+ </div>
114
114
  `;
115
115
 
116
116
  exports[`Card Card component should add rounded border when the isRounded prop is true 1`] = `
@@ -768,24 +768,25 @@ Snapshot Diff:
768
768
  - First value
769
769
  + Second value
770
770
 
771
- @@ -8,16 +8,16 @@
772
- >
773
- Code is Poetry
771
+ @@ -9,17 +9,17 @@
772
+ >
773
+ Code is Poetry
774
+ </div>
775
+ <div
776
+ aria-hidden="true"
777
+ - class="components-elevation css-1lsfy80-View-Elevation-sx-Base-elevationClassName e19lxcc00"
778
+ + class="components-elevation css-15t1t3g-View-Elevation-sx-Base-elevationClassName e19lxcc00"
779
+ data-wp-c16t="true"
780
+ data-wp-component="Elevation"
781
+ />
782
+ <div
783
+ aria-hidden="true"
784
+ - class="components-elevation css-18cl04p-View-Elevation-sx-Base-elevationClassName e19lxcc00"
785
+ + class="components-elevation css-15t1t3g-View-Elevation-sx-Base-elevationClassName e19lxcc00"
786
+ data-wp-c16t="true"
787
+ data-wp-component="Elevation"
788
+ />
774
789
  </div>
775
- <div
776
- aria-hidden="true"
777
- - class="components-elevation css-1lsfy80-View-Elevation-sx-Base-elevationClassName e19lxcc00"
778
- + class="components-elevation css-15t1t3g-View-Elevation-sx-Base-elevationClassName e19lxcc00"
779
- data-wp-c16t="true"
780
- data-wp-component="Elevation"
781
- />
782
- <div
783
- aria-hidden="true"
784
- - class="components-elevation css-18cl04p-View-Elevation-sx-Base-elevationClassName e19lxcc00"
785
- + class="components-elevation css-15t1t3g-View-Elevation-sx-Base-elevationClassName e19lxcc00"
786
- data-wp-c16t="true"
787
- data-wp-component="Elevation"
788
- />
789
790
  </div>
790
791
  `;
791
792
 
@@ -70,9 +70,7 @@ describe( 'Card', () => {
70
70
  <Card>Code is Poetry</Card>
71
71
  );
72
72
 
73
- expect( withElevation.firstChild ).toMatchDiffSnapshot(
74
- withoutElevation.firstChild
75
- );
73
+ expect( withElevation ).toMatchDiffSnapshot( withoutElevation );
76
74
  } );
77
75
 
78
76
  it( 'should add different amounts of white space when using the size prop', () => {
@@ -90,9 +88,7 @@ describe( 'Card', () => {
90
88
  </Card>
91
89
  );
92
90
 
93
- expect( withSizeDefault.firstChild ).toMatchDiffSnapshot(
94
- withSizeLarge.firstChild
95
- );
91
+ expect( withSizeDefault ).toMatchDiffSnapshot( withSizeLarge );
96
92
  } );
97
93
 
98
94
  it( 'should warn when the isElevated prop is passed', () => {