@wordpress/components 19.6.1 → 19.8.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 (514) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +38 -0
  3. package/build/base-control/index.js +41 -32
  4. package/build/base-control/index.js.map +1 -1
  5. package/build/base-control/styles/base-control-styles.js +43 -22
  6. package/build/base-control/styles/base-control-styles.js.map +1 -1
  7. package/build/base-control/types.js +6 -0
  8. package/build/base-control/types.js.map +1 -0
  9. package/build/border-box-control/border-box-control/component.js +124 -0
  10. package/build/border-box-control/border-box-control/component.js.map +1 -0
  11. package/build/border-box-control/border-box-control/hook.js +113 -0
  12. package/build/border-box-control/border-box-control/hook.js.map +1 -0
  13. package/build/border-box-control/border-box-control/index.js +24 -0
  14. package/build/border-box-control/border-box-control/index.js.map +1 -0
  15. package/build/border-box-control/border-box-control-linked-button/component.js +59 -0
  16. package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -0
  17. package/build/border-box-control/border-box-control-linked-button/hook.js +41 -0
  18. package/build/border-box-control/border-box-control-linked-button/hook.js.map +1 -0
  19. package/build/border-box-control/border-box-control-linked-button/index.js +16 -0
  20. package/build/border-box-control/border-box-control-linked-button/index.js.map +1 -0
  21. package/build/border-box-control/border-box-control-split-controls/component.js +93 -0
  22. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -0
  23. package/build/border-box-control/border-box-control-split-controls/hook.js +45 -0
  24. package/build/border-box-control/border-box-control-split-controls/hook.js.map +1 -0
  25. package/build/border-box-control/border-box-control-split-controls/index.js +16 -0
  26. package/build/border-box-control/border-box-control-split-controls/index.js.map +1 -0
  27. package/build/border-box-control/border-box-control-visualizer/component.js +40 -0
  28. package/build/border-box-control/border-box-control-visualizer/component.js.map +1 -0
  29. package/build/border-box-control/border-box-control-visualizer/hook.js +43 -0
  30. package/build/border-box-control/border-box-control-visualizer/hook.js.map +1 -0
  31. package/build/border-box-control/border-box-control-visualizer/index.js +16 -0
  32. package/build/border-box-control/border-box-control-visualizer/index.js.map +1 -0
  33. package/build/border-box-control/index.js +44 -0
  34. package/build/border-box-control/index.js.map +1 -0
  35. package/build/border-box-control/styles.js +76 -0
  36. package/build/border-box-control/styles.js.map +1 -0
  37. package/build/border-box-control/types.js +6 -0
  38. package/build/border-box-control/types.js.map +1 -0
  39. package/build/border-box-control/utils.js +161 -0
  40. package/build/border-box-control/utils.js.map +1 -0
  41. package/build/border-control/border-control/component.js +119 -0
  42. package/build/border-control/border-control/component.js.map +1 -0
  43. package/build/border-control/border-control/hook.js +130 -0
  44. package/build/border-control/border-control/hook.js.map +1 -0
  45. package/build/border-control/border-control/index.js +24 -0
  46. package/build/border-control/border-control/index.js.map +1 -0
  47. package/build/border-control/border-control-dropdown/component.js +196 -0
  48. package/build/border-control/border-control-dropdown/component.js.map +1 -0
  49. package/build/border-control/border-control-dropdown/hook.js +105 -0
  50. package/build/border-control/border-control-dropdown/hook.js.map +1 -0
  51. package/build/border-control/border-control-dropdown/index.js +16 -0
  52. package/build/border-control/border-control-dropdown/index.js.map +1 -0
  53. package/build/border-control/border-control-style-picker/component.js +101 -0
  54. package/build/border-control/border-control-style-picker/component.js.map +1 -0
  55. package/build/border-control/border-control-style-picker/hook.js +45 -0
  56. package/build/border-control/border-control-style-picker/hook.js.map +1 -0
  57. package/build/border-control/border-control-style-picker/index.js +16 -0
  58. package/build/border-control/border-control-style-picker/index.js.map +1 -0
  59. package/build/border-control/index.js +24 -0
  60. package/build/border-control/index.js.map +1 -0
  61. package/build/border-control/styles.js +125 -0
  62. package/build/border-control/styles.js.map +1 -0
  63. package/build/border-control/types.js +6 -0
  64. package/build/border-control/types.js.map +1 -0
  65. package/build/box-control/all-input-control.js +3 -7
  66. package/build/box-control/all-input-control.js.map +1 -1
  67. package/build/box-control/axial-input-controls.js +20 -15
  68. package/build/box-control/axial-input-controls.js.map +1 -1
  69. package/build/box-control/input-controls.js +21 -16
  70. package/build/box-control/input-controls.js.map +1 -1
  71. package/build/box-control/utils.js +25 -11
  72. package/build/box-control/utils.js.map +1 -1
  73. package/build/card/styles.js +22 -17
  74. package/build/card/styles.js.map +1 -1
  75. package/build/checkbox-control/index.js +21 -1
  76. package/build/checkbox-control/index.js.map +1 -1
  77. package/build/color-palette/index.js +53 -4
  78. package/build/color-palette/index.js.map +1 -1
  79. package/build/custom-select-control/index.js +12 -4
  80. package/build/custom-select-control/index.js.map +1 -1
  81. package/build/divider/styles.js +28 -16
  82. package/build/divider/styles.js.map +1 -1
  83. package/build/focal-point-picker/controls.js +2 -3
  84. package/build/focal-point-picker/controls.js.map +1 -1
  85. package/build/form-file-upload/index.js +4 -1
  86. package/build/form-file-upload/index.js.map +1 -1
  87. package/build/index.js +40 -0
  88. package/build/index.js.map +1 -1
  89. package/build/input-control/input-field.js +21 -14
  90. package/build/input-control/input-field.js.map +1 -1
  91. package/build/input-control/reducer/actions.js +1 -3
  92. package/build/input-control/reducer/actions.js.map +1 -1
  93. package/build/input-control/reducer/reducer.js +1 -43
  94. package/build/input-control/reducer/reducer.js.map +1 -1
  95. package/build/item-group/styles.js +14 -14
  96. package/build/item-group/styles.js.map +1 -1
  97. package/build/mobile/picker/index.android.js +0 -3
  98. package/build/mobile/picker/index.android.js.map +1 -1
  99. package/build/number-control/index.js +15 -10
  100. package/build/number-control/index.js.map +1 -1
  101. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  102. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  103. package/build/surface/styles.js +8 -8
  104. package/build/surface/styles.js.map +1 -1
  105. package/build/toggle-group-control/index.js +8 -0
  106. package/build/toggle-group-control/index.js.map +1 -1
  107. package/build/toggle-group-control/toggle-group-control/component.js +10 -1
  108. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  109. package/build/toggle-group-control/toggle-group-control/styles.js +14 -3
  110. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  111. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +90 -0
  112. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -0
  113. package/build/toggle-group-control/toggle-group-control-option/component.js +9 -87
  114. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  115. package/build/toggle-group-control/toggle-group-control-option-base/component.js +127 -0
  116. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -0
  117. package/build/toggle-group-control/toggle-group-control-option-base/index.js +16 -0
  118. package/build/toggle-group-control/toggle-group-control-option-base/index.js.map +1 -0
  119. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +66 -0
  120. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -0
  121. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +55 -0
  122. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -0
  123. package/build/toggle-group-control/toggle-group-control-option-icon/index.js +16 -0
  124. package/build/toggle-group-control/toggle-group-control-option-icon/index.js.map +1 -0
  125. package/build/toolbar-dropdown-menu/index.js +1 -1
  126. package/build/toolbar-dropdown-menu/index.js.map +1 -1
  127. package/build/unit-control/index.js +56 -29
  128. package/build/unit-control/index.js.map +1 -1
  129. package/build/unit-control/unit-select-control.js +2 -4
  130. package/build/unit-control/unit-select-control.js.map +1 -1
  131. package/build/utils/colors-values.js +5 -3
  132. package/build/utils/colors-values.js.map +1 -1
  133. package/build/utils/config-values.js +9 -4
  134. package/build/utils/config-values.js.map +1 -1
  135. package/build-module/base-control/index.js +39 -35
  136. package/build-module/base-control/index.js.map +1 -1
  137. package/build-module/base-control/styles/base-control-styles.js +44 -16
  138. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  139. package/build-module/base-control/types.js +2 -0
  140. package/build-module/base-control/types.js.map +1 -0
  141. package/build-module/border-box-control/border-box-control/component.js +104 -0
  142. package/build-module/border-box-control/border-box-control/component.js.map +1 -0
  143. package/build-module/border-box-control/border-box-control/hook.js +97 -0
  144. package/build-module/border-box-control/border-box-control/hook.js.map +1 -0
  145. package/build-module/border-box-control/border-box-control/index.js +3 -0
  146. package/build-module/border-box-control/border-box-control/index.js.map +1 -0
  147. package/build-module/border-box-control/border-box-control-linked-button/component.js +42 -0
  148. package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -0
  149. package/build-module/border-box-control/border-box-control-linked-button/hook.js +26 -0
  150. package/build-module/border-box-control/border-box-control-linked-button/hook.js.map +1 -0
  151. package/build-module/border-box-control/border-box-control-linked-button/index.js +2 -0
  152. package/build-module/border-box-control/border-box-control-linked-button/index.js.map +1 -0
  153. package/build-module/border-box-control/border-box-control-split-controls/component.js +77 -0
  154. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -0
  155. package/build-module/border-box-control/border-box-control-split-controls/hook.js +30 -0
  156. package/build-module/border-box-control/border-box-control-split-controls/hook.js.map +1 -0
  157. package/build-module/border-box-control/border-box-control-split-controls/index.js +2 -0
  158. package/build-module/border-box-control/border-box-control-split-controls/index.js.map +1 -0
  159. package/build-module/border-box-control/border-box-control-visualizer/component.js +27 -0
  160. package/build-module/border-box-control/border-box-control-visualizer/component.js.map +1 -0
  161. package/build-module/border-box-control/border-box-control-visualizer/hook.js +28 -0
  162. package/build-module/border-box-control/border-box-control-visualizer/hook.js.map +1 -0
  163. package/build-module/border-box-control/border-box-control-visualizer/index.js +2 -0
  164. package/build-module/border-box-control/border-box-control-visualizer/index.js.map +1 -0
  165. package/build-module/border-box-control/index.js +4 -0
  166. package/build-module/border-box-control/index.js.map +1 -0
  167. package/build-module/border-box-control/styles.js +66 -0
  168. package/build-module/border-box-control/styles.js.map +1 -0
  169. package/build-module/border-box-control/types.js +2 -0
  170. package/build-module/border-box-control/types.js.map +1 -0
  171. package/build-module/border-box-control/utils.js +127 -0
  172. package/build-module/border-box-control/utils.js.map +1 -0
  173. package/build-module/border-control/border-control/component.js +100 -0
  174. package/build-module/border-control/border-control/component.js.map +1 -0
  175. package/build-module/border-control/border-control/hook.js +115 -0
  176. package/build-module/border-control/border-control/hook.js.map +1 -0
  177. package/build-module/border-control/border-control/index.js +3 -0
  178. package/build-module/border-control/border-control/index.js.map +1 -0
  179. package/build-module/border-control/border-control-dropdown/component.js +174 -0
  180. package/build-module/border-control/border-control-dropdown/component.js.map +1 -0
  181. package/build-module/border-control/border-control-dropdown/hook.js +89 -0
  182. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -0
  183. package/build-module/border-control/border-control-dropdown/index.js +2 -0
  184. package/build-module/border-control/border-control-dropdown/index.js.map +1 -0
  185. package/build-module/border-control/border-control-style-picker/component.js +81 -0
  186. package/build-module/border-control/border-control-style-picker/component.js.map +1 -0
  187. package/build-module/border-control/border-control-style-picker/hook.js +30 -0
  188. package/build-module/border-control/border-control-style-picker/hook.js.map +1 -0
  189. package/build-module/border-control/border-control-style-picker/index.js +2 -0
  190. package/build-module/border-control/border-control-style-picker/index.js.map +1 -0
  191. package/build-module/border-control/index.js +3 -0
  192. package/build-module/border-control/index.js.map +1 -0
  193. package/build-module/border-control/styles.js +90 -0
  194. package/build-module/border-control/styles.js.map +1 -0
  195. package/build-module/border-control/types.js +2 -0
  196. package/build-module/border-control/types.js.map +1 -0
  197. package/build-module/box-control/all-input-control.js +4 -8
  198. package/build-module/box-control/all-input-control.js.map +1 -1
  199. package/build-module/box-control/axial-input-controls.js +18 -14
  200. package/build-module/box-control/axial-input-controls.js.map +1 -1
  201. package/build-module/box-control/input-controls.js +18 -14
  202. package/build-module/box-control/input-controls.js.map +1 -1
  203. package/build-module/box-control/utils.js +25 -11
  204. package/build-module/box-control/utils.js.map +1 -1
  205. package/build-module/card/styles.js +23 -18
  206. package/build-module/card/styles.js.map +1 -1
  207. package/build-module/checkbox-control/index.js +24 -3
  208. package/build-module/checkbox-control/index.js.map +1 -1
  209. package/build-module/color-palette/index.js +52 -4
  210. package/build-module/color-palette/index.js.map +1 -1
  211. package/build-module/custom-select-control/index.js +12 -4
  212. package/build-module/custom-select-control/index.js.map +1 -1
  213. package/build-module/divider/styles.js +29 -10
  214. package/build-module/divider/styles.js.map +1 -1
  215. package/build-module/focal-point-picker/controls.js +2 -3
  216. package/build-module/focal-point-picker/controls.js.map +1 -1
  217. package/build-module/form-file-upload/index.js +4 -1
  218. package/build-module/form-file-upload/index.js.map +1 -1
  219. package/build-module/index.js +3 -1
  220. package/build-module/index.js.map +1 -1
  221. package/build-module/input-control/input-field.js +21 -13
  222. package/build-module/input-control/input-field.js.map +1 -1
  223. package/build-module/input-control/reducer/actions.js +0 -1
  224. package/build-module/input-control/reducer/actions.js.map +1 -1
  225. package/build-module/input-control/reducer/reducer.js +2 -39
  226. package/build-module/input-control/reducer/reducer.js.map +1 -1
  227. package/build-module/item-group/styles.js +14 -14
  228. package/build-module/item-group/styles.js.map +1 -1
  229. package/build-module/mobile/picker/index.android.js +0 -3
  230. package/build-module/mobile/picker/index.android.js.map +1 -1
  231. package/build-module/number-control/index.js +15 -9
  232. package/build-module/number-control/index.js.map +1 -1
  233. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  234. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  235. package/build-module/surface/styles.js +8 -8
  236. package/build-module/surface/styles.js.map +1 -1
  237. package/build-module/toggle-group-control/index.js +1 -0
  238. package/build-module/toggle-group-control/index.js.map +1 -1
  239. package/build-module/toggle-group-control/toggle-group-control/component.js +8 -1
  240. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  241. package/build-module/toggle-group-control/toggle-group-control/styles.js +11 -3
  242. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  243. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +86 -0
  244. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -0
  245. package/build-module/toggle-group-control/toggle-group-control-option/component.js +9 -76
  246. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  247. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +105 -0
  248. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -0
  249. package/build-module/toggle-group-control/toggle-group-control-option-base/index.js +2 -0
  250. package/build-module/toggle-group-control/toggle-group-control-option-base/index.js.map +1 -0
  251. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +55 -0
  252. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -0
  253. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +50 -0
  254. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -0
  255. package/build-module/toggle-group-control/toggle-group-control-option-icon/index.js +2 -0
  256. package/build-module/toggle-group-control/toggle-group-control-option-icon/index.js.map +1 -0
  257. package/build-module/toolbar-dropdown-menu/index.js +1 -1
  258. package/build-module/toolbar-dropdown-menu/index.js.map +1 -1
  259. package/build-module/unit-control/index.js +54 -27
  260. package/build-module/unit-control/index.js.map +1 -1
  261. package/build-module/unit-control/unit-select-control.js +2 -3
  262. package/build-module/unit-control/unit-select-control.js.map +1 -1
  263. package/build-module/utils/colors-values.js +5 -3
  264. package/build-module/utils/colors-values.js.map +1 -1
  265. package/build-module/utils/config-values.js +8 -4
  266. package/build-module/utils/config-values.js.map +1 -1
  267. package/build-style/style-rtl.css +33 -182
  268. package/build-style/style.css +33 -182
  269. package/build-types/base-control/index.d.ts +35 -71
  270. package/build-types/base-control/index.d.ts.map +1 -1
  271. package/build-types/base-control/stories/index.d.ts +25 -0
  272. package/build-types/base-control/stories/index.d.ts.map +1 -0
  273. package/build-types/base-control/styles/base-control-styles.d.ts +10 -5
  274. package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
  275. package/build-types/base-control/types.d.ts +41 -0
  276. package/build-types/base-control/types.d.ts.map +1 -0
  277. package/build-types/border-box-control/border-box-control/component.d.ts +4 -0
  278. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -0
  279. package/build-types/border-box-control/border-box-control/hook.d.ts +282 -0
  280. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -0
  281. package/build-types/border-box-control/border-box-control/index.d.ts +3 -0
  282. package/build-types/border-box-control/border-box-control/index.d.ts.map +1 -0
  283. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts +4 -0
  284. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -0
  285. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +266 -0
  286. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -0
  287. package/build-types/border-box-control/border-box-control-linked-button/index.d.ts +2 -0
  288. package/build-types/border-box-control/border-box-control-linked-button/index.d.ts.map +1 -0
  289. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +4 -0
  290. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -0
  291. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +274 -0
  292. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -0
  293. package/build-types/border-box-control/border-box-control-split-controls/index.d.ts +2 -0
  294. package/build-types/border-box-control/border-box-control-split-controls/index.d.ts.map +1 -0
  295. package/build-types/border-box-control/border-box-control-visualizer/component.d.ts +4 -0
  296. package/build-types/border-box-control/border-box-control-visualizer/component.d.ts.map +1 -0
  297. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +266 -0
  298. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -0
  299. package/build-types/border-box-control/border-box-control-visualizer/index.d.ts +2 -0
  300. package/build-types/border-box-control/border-box-control-visualizer/index.d.ts.map +1 -0
  301. package/build-types/border-box-control/index.d.ts +4 -0
  302. package/build-types/border-box-control/index.d.ts.map +1 -0
  303. package/build-types/border-box-control/styles.d.ts +8 -0
  304. package/build-types/border-box-control/styles.d.ts.map +1 -0
  305. package/build-types/border-box-control/types.d.ts +91 -0
  306. package/build-types/border-box-control/types.d.ts.map +1 -0
  307. package/build-types/border-box-control/utils.d.ts +24 -0
  308. package/build-types/border-box-control/utils.d.ts.map +1 -0
  309. package/build-types/border-control/border-control/component.d.ts +4 -0
  310. package/build-types/border-control/border-control/component.d.ts.map +1 -0
  311. package/build-types/border-control/border-control/hook.d.ts +285 -0
  312. package/build-types/border-control/border-control/hook.d.ts.map +1 -0
  313. package/build-types/border-control/border-control/index.d.ts +3 -0
  314. package/build-types/border-control/border-control/index.d.ts.map +1 -0
  315. package/build-types/border-control/border-control-dropdown/component.d.ts +4 -0
  316. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -0
  317. package/build-types/border-control/border-control-dropdown/hook.d.ts +280 -0
  318. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -0
  319. package/build-types/border-control/border-control-dropdown/index.d.ts +2 -0
  320. package/build-types/border-control/border-control-dropdown/index.d.ts.map +1 -0
  321. package/build-types/border-control/border-control-style-picker/component.d.ts +4 -0
  322. package/build-types/border-control/border-control-style-picker/component.d.ts.map +1 -0
  323. package/build-types/border-control/border-control-style-picker/hook.d.ts +269 -0
  324. package/build-types/border-control/border-control-style-picker/hook.d.ts.map +1 -0
  325. package/build-types/border-control/border-control-style-picker/index.d.ts +2 -0
  326. package/build-types/border-control/border-control-style-picker/index.d.ts.map +1 -0
  327. package/build-types/border-control/index.d.ts +3 -0
  328. package/build-types/border-control/index.d.ts.map +1 -0
  329. package/build-types/border-control/styles.d.ts +18 -0
  330. package/build-types/border-control/styles.d.ts.map +1 -0
  331. package/build-types/border-control/types.d.ts +163 -0
  332. package/build-types/border-control/types.d.ts.map +1 -0
  333. package/build-types/card/card-divider/hook.d.ts +1 -1
  334. package/build-types/card/styles.d.ts.map +1 -1
  335. package/build-types/color-indicator/index.d.ts +7 -0
  336. package/build-types/color-indicator/index.d.ts.map +1 -0
  337. package/build-types/color-palette/index.d.ts.map +1 -1
  338. package/build-types/color-picker/styles.d.ts +1 -1
  339. package/build-types/divider/stories/index.d.ts +1 -0
  340. package/build-types/divider/stories/index.d.ts.map +1 -1
  341. package/build-types/divider/styles.d.ts.map +1 -1
  342. package/build-types/divider/types.d.ts +8 -1
  343. package/build-types/divider/types.d.ts.map +1 -1
  344. package/build-types/input-control/input-field.d.ts.map +1 -1
  345. package/build-types/input-control/reducer/actions.d.ts +1 -3
  346. package/build-types/input-control/reducer/actions.d.ts.map +1 -1
  347. package/build-types/input-control/reducer/reducer.d.ts +3 -9
  348. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  349. package/build-types/input-control/types.d.ts +2 -2
  350. package/build-types/input-control/types.d.ts.map +1 -1
  351. package/build-types/item-group/styles.d.ts.map +1 -1
  352. package/build-types/number-control/index.d.ts +3 -3
  353. package/build-types/number-control/index.d.ts.map +1 -1
  354. package/build-types/range-control/styles/range-control-styles.d.ts +1 -1
  355. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  356. package/build-types/toggle-group-control/index.d.ts +1 -0
  357. package/build-types/toggle-group-control/index.d.ts.map +1 -1
  358. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  359. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +5 -0
  360. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  361. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts +9 -0
  362. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +1 -0
  363. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +6 -2
  364. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  365. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts +25 -0
  366. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -0
  367. package/build-types/toggle-group-control/toggle-group-control-option-base/index.d.ts +2 -0
  368. package/build-types/toggle-group-control/toggle-group-control-option-base/index.d.ts.map +1 -0
  369. package/build-types/toggle-group-control/{toggle-group-control-option → toggle-group-control-option-base}/styles.d.ts +0 -0
  370. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -0
  371. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +37 -0
  372. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -0
  373. package/build-types/toggle-group-control/toggle-group-control-option-icon/index.d.ts +2 -0
  374. package/build-types/toggle-group-control/toggle-group-control-option-icon/index.d.ts.map +1 -0
  375. package/build-types/toggle-group-control/types.d.ts +24 -8
  376. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  377. package/build-types/ui/form-group/form-group.d.ts +2 -2
  378. package/build-types/unit-control/index.d.ts +12 -5
  379. package/build-types/unit-control/index.d.ts.map +1 -1
  380. package/build-types/unit-control/stories/index.d.ts +33 -0
  381. package/build-types/unit-control/stories/index.d.ts.map +1 -0
  382. package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
  383. package/build-types/unit-control/types.d.ts +28 -7
  384. package/build-types/unit-control/types.d.ts.map +1 -1
  385. package/build-types/unit-control/unit-select-control.d.ts.map +1 -1
  386. package/build-types/utils/colors-values.d.ts +78 -18
  387. package/build-types/utils/colors-values.d.ts.map +1 -1
  388. package/build-types/utils/config-values.d.ts +71 -71
  389. package/build-types/utils/config-values.d.ts.map +1 -1
  390. package/package.json +17 -17
  391. package/src/animate/README.md +1 -1
  392. package/src/base-control/README.md +20 -12
  393. package/src/base-control/index.tsx +124 -0
  394. package/src/base-control/stories/index.tsx +80 -0
  395. package/src/base-control/styles/{base-control-styles.js → base-control-styles.ts} +23 -1
  396. package/src/base-control/types.ts +42 -0
  397. package/src/border-box-control/border-box-control/README.md +178 -0
  398. package/src/border-box-control/border-box-control/component.tsx +123 -0
  399. package/src/border-box-control/border-box-control/hook.ts +119 -0
  400. package/src/border-box-control/border-box-control/index.ts +2 -0
  401. package/src/border-box-control/border-box-control-linked-button/component.tsx +50 -0
  402. package/src/border-box-control/border-box-control-linked-button/hook.ts +30 -0
  403. package/src/border-box-control/border-box-control-linked-button/index.ts +1 -0
  404. package/src/border-box-control/border-box-control-split-controls/component.tsx +90 -0
  405. package/src/border-box-control/border-box-control-split-controls/hook.ts +34 -0
  406. package/src/border-box-control/border-box-control-split-controls/index.ts +1 -0
  407. package/src/border-box-control/border-box-control-visualizer/component.tsx +28 -0
  408. package/src/border-box-control/border-box-control-visualizer/hook.ts +30 -0
  409. package/src/border-box-control/border-box-control-visualizer/index.ts +1 -0
  410. package/src/border-box-control/index.ts +3 -0
  411. package/src/border-box-control/stories/index.js +104 -0
  412. package/src/border-box-control/styles.ts +69 -0
  413. package/src/border-box-control/test/index.js +354 -0
  414. package/src/border-box-control/test/utils.js +305 -0
  415. package/src/border-box-control/types.ts +98 -0
  416. package/src/border-box-control/utils.ts +151 -0
  417. package/src/border-control/border-control/README.md +181 -0
  418. package/src/border-control/border-control/component.tsx +112 -0
  419. package/src/border-control/border-control/hook.ts +145 -0
  420. package/src/border-control/border-control/index.ts +2 -0
  421. package/src/border-control/border-control-dropdown/component.tsx +252 -0
  422. package/src/border-control/border-control-dropdown/hook.ts +98 -0
  423. package/src/border-control/border-control-dropdown/index.ts +1 -0
  424. package/src/border-control/border-control-style-picker/component.tsx +89 -0
  425. package/src/border-control/border-control-style-picker/hook.ts +34 -0
  426. package/src/border-control/border-control-style-picker/index.ts +1 -0
  427. package/src/border-control/index.ts +2 -0
  428. package/src/border-control/stories/index.js +118 -0
  429. package/src/border-control/styles.ts +190 -0
  430. package/src/border-control/test/index.js +436 -0
  431. package/src/border-control/types.ts +173 -0
  432. package/src/box-control/all-input-control.js +2 -10
  433. package/src/box-control/axial-input-controls.js +32 -21
  434. package/src/box-control/input-controls.js +30 -19
  435. package/src/box-control/utils.js +29 -12
  436. package/src/card/styles.js +11 -5
  437. package/src/card/test/__snapshots__/index.js.snap +83 -66
  438. package/src/card/test/index.js +7 -5
  439. package/src/checkbox-control/index.js +34 -3
  440. package/src/checkbox-control/stories/index.js +44 -0
  441. package/src/checkbox-control/style.scss +4 -2
  442. package/src/color-palette/README.md +6 -0
  443. package/src/color-palette/index.js +73 -8
  444. package/src/color-palette/stories/index.js +69 -26
  445. package/src/color-palette/style.scss +11 -3
  446. package/src/color-palette/test/__snapshots__/index.js.snap +662 -12
  447. package/src/color-palette/test/index.js +1 -1
  448. package/src/custom-select-control/index.js +15 -3
  449. package/src/custom-select-control/stories/index.js +77 -74
  450. package/src/custom-select-control/style.scss +23 -4
  451. package/src/disabled/README.md +7 -10
  452. package/src/divider/stories/index.tsx +26 -23
  453. package/src/divider/styles.ts +9 -0
  454. package/src/divider/types.ts +11 -1
  455. package/src/flyout/test/__snapshots__/index.js.snap +7 -7
  456. package/src/focal-point-picker/controls.js +2 -3
  457. package/src/form-file-upload/README.md +18 -0
  458. package/src/form-file-upload/index.js +3 -0
  459. package/src/form-file-upload/test/index.js +73 -11
  460. package/src/form-toggle/README.md +1 -1
  461. package/src/index.js +8 -0
  462. package/src/input-control/input-field.tsx +23 -12
  463. package/src/input-control/reducer/actions.ts +1 -7
  464. package/src/input-control/reducer/reducer.ts +0 -29
  465. package/src/input-control/types.ts +2 -1
  466. package/src/item-group/styles.ts +1 -0
  467. package/src/item-group/test/__snapshots__/index.js.snap +11 -10
  468. package/src/mobile/picker/index.android.js +0 -1
  469. package/src/number-control/README.md +14 -0
  470. package/src/number-control/index.js +13 -12
  471. package/src/number-control/stories/index.js +14 -7
  472. package/src/number-control/test/index.js +79 -1
  473. package/src/range-control/stories/index.js +91 -119
  474. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -0
  475. package/src/surface/styles.js +1 -1
  476. package/src/surface/test/__snapshots__/index.js.snap +11 -11
  477. package/src/toggle-group-control/index.ts +1 -0
  478. package/src/toggle-group-control/stories/index.js +37 -7
  479. package/src/toggle-group-control/test/__snapshots__/index.js.snap +269 -5
  480. package/src/toggle-group-control/test/index.js +43 -10
  481. package/src/toggle-group-control/toggle-group-control/component.tsx +10 -0
  482. package/src/toggle-group-control/toggle-group-control/styles.ts +14 -0
  483. package/src/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx +86 -0
  484. package/src/toggle-group-control/toggle-group-control-option/README.md +8 -5
  485. package/src/toggle-group-control/toggle-group-control-option/component.tsx +18 -94
  486. package/src/toggle-group-control/toggle-group-control-option-base/README.md +27 -0
  487. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +129 -0
  488. package/src/toggle-group-control/toggle-group-control-option-base/index.ts +1 -0
  489. package/src/toggle-group-control/{toggle-group-control-option → toggle-group-control-option-base}/styles.ts +4 -1
  490. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +56 -0
  491. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +56 -0
  492. package/src/toggle-group-control/toggle-group-control-option-icon/index.ts +1 -0
  493. package/src/toggle-group-control/types.ts +33 -8
  494. package/src/toolbar-dropdown-menu/index.js +1 -1
  495. package/src/toolbar-group/style.scss +0 -73
  496. package/src/tools-panel/test/__snapshots__/index.js.snap +8 -8
  497. package/src/unit-control/README.md +7 -3
  498. package/src/unit-control/index.tsx +65 -31
  499. package/src/unit-control/stories/index.tsx +170 -0
  500. package/src/unit-control/test/index.js +263 -100
  501. package/src/unit-control/types.ts +65 -42
  502. package/src/unit-control/unit-select-control.tsx +2 -3
  503. package/src/utils/colors-values.js +4 -3
  504. package/src/utils/config-values.js +9 -4
  505. package/tsconfig.json +3 -0
  506. package/tsconfig.tsbuildinfo +1 -1
  507. package/build/toggle-group-control/toggle-group-control-option/styles.js +0 -66
  508. package/build/toggle-group-control/toggle-group-control-option/styles.js.map +0 -1
  509. package/build-module/toggle-group-control/toggle-group-control-option/styles.js +0 -55
  510. package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +0 -1
  511. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +0 -1
  512. package/src/base-control/index.js +0 -111
  513. package/src/base-control/stories/index.js +0 -81
  514. package/src/unit-control/stories/index.js +0 -127
@@ -0,0 +1,27 @@
1
+ # `ToggleGroupControlOptionBase`
2
+
3
+ <div class="callout callout-alert">
4
+ This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.
5
+ </div>
6
+
7
+ `ToggleGroupControlOptionBase` is a form component and is meant to be used as an internal, generic component for any children of [`ToggleGroupControl`](<(/packages/components/src/toggle-group-control/toggle-group-control/README.md)>).
8
+
9
+ ## Props
10
+
11
+ ### `children`: `ReactNode`
12
+
13
+ The children elements.
14
+
15
+ - Required: Yes
16
+
17
+ ### `value`: `string | number`
18
+
19
+ The value of the `ToggleGroupControlOptionBase`.
20
+
21
+ - Required: Yes
22
+
23
+ ### `showTooltip`: `boolean`
24
+
25
+ Whether to show a tooltip when hovering over the option. The tooltip will only show if a label for it is provided using the `aria-label` prop.
26
+
27
+ - Required: No
@@ -0,0 +1,129 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { ForwardedRef } from 'react';
5
+ // eslint-disable-next-line no-restricted-imports
6
+ import { Radio } from 'reakit';
7
+
8
+ /**
9
+ * WordPress dependencies
10
+ */
11
+ import { useInstanceId } from '@wordpress/compose';
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import {
17
+ contextConnect,
18
+ useContextSystem,
19
+ WordPressComponentProps,
20
+ } from '../../ui/context';
21
+ import type {
22
+ ToggleGroupControlOptionBaseProps,
23
+ WithToolTipProps,
24
+ } from '../types';
25
+ import { useToggleGroupControlContext } from '../context';
26
+ import * as styles from './styles';
27
+ import { useCx } from '../../utils/hooks';
28
+ import Tooltip from '../../tooltip';
29
+
30
+ const { ButtonContentView, LabelView } = styles;
31
+
32
+ const WithToolTip = ( { showTooltip, text, children }: WithToolTipProps ) => {
33
+ if ( showTooltip && text ) {
34
+ return (
35
+ <Tooltip text={ text } position="top center">
36
+ { children }
37
+ </Tooltip>
38
+ );
39
+ }
40
+ return <>{ children }</>;
41
+ };
42
+
43
+ function ToggleGroupControlOptionBase(
44
+ props: WordPressComponentProps<
45
+ ToggleGroupControlOptionBaseProps,
46
+ 'button',
47
+ false
48
+ >,
49
+ forwardedRef: ForwardedRef< any >
50
+ ) {
51
+ const toggleGroupControlContext = useToggleGroupControlContext();
52
+ const id = useInstanceId(
53
+ ToggleGroupControlOptionBase,
54
+ toggleGroupControlContext.baseId || 'toggle-group-control-option-base'
55
+ ) as string;
56
+ const buttonProps = useContextSystem(
57
+ { ...props, id },
58
+ 'ToggleGroupControlOptionBase'
59
+ );
60
+ const {
61
+ className,
62
+ isBlock = false,
63
+ value,
64
+ children,
65
+ showTooltip = false,
66
+ ...radioProps
67
+ } = {
68
+ ...toggleGroupControlContext,
69
+ ...buttonProps,
70
+ };
71
+
72
+ const isActive = radioProps.state === value;
73
+ const cx = useCx();
74
+ const labelViewClasses = cx( isBlock && styles.labelBlock );
75
+ const classes = cx(
76
+ styles.buttonView,
77
+ className,
78
+ isActive && styles.buttonActive
79
+ );
80
+
81
+ return (
82
+ <LabelView className={ labelViewClasses } data-active={ isActive }>
83
+ <WithToolTip
84
+ showTooltip={ showTooltip }
85
+ text={ radioProps[ 'aria-label' ] }
86
+ >
87
+ <Radio
88
+ { ...radioProps }
89
+ as="button"
90
+ aria-label={ radioProps[ 'aria-label' ] }
91
+ className={ classes }
92
+ data-value={ value }
93
+ ref={ forwardedRef }
94
+ value={ value }
95
+ >
96
+ <ButtonContentView>{ children }</ButtonContentView>
97
+ </Radio>
98
+ </WithToolTip>
99
+ </LabelView>
100
+ );
101
+ }
102
+
103
+ /**
104
+ * `ToggleGroupControlOptionBase` is a form component and is meant to be used as an internal,
105
+ * generic component for any children of `ToggleGroupControl`.
106
+ *
107
+ * @example
108
+ * ```jsx
109
+ * import {
110
+ * __experimentalToggleGroupControl as ToggleGroupControl,
111
+ * __experimentalToggleGroupControlOptionBase as ToggleGroupControlOptionBase,
112
+ * } from '@wordpress/components';
113
+ *
114
+ * function Example() {
115
+ * return (
116
+ * <ToggleGroupControl label="my label" value="vertical" isBlock>
117
+ * <ToggleGroupControlOption value="horizontal" label="Horizontal" />
118
+ * <ToggleGroupControlOption value="vertical" label="Vertical" />
119
+ * </ToggleGroupControl>
120
+ * );
121
+ * }
122
+ * ```
123
+ */
124
+ const ConnectedToggleGroupControlOptionBase = contextConnect(
125
+ ToggleGroupControlOptionBase,
126
+ 'ToggleGroupControlOptionBase'
127
+ );
128
+
129
+ export default ConnectedToggleGroupControlOptionBase;
@@ -0,0 +1 @@
1
+ export { default as ToggleGroupControlOptionBase } from './component';
@@ -27,6 +27,7 @@ export const buttonView = css`
27
27
  border: none;
28
28
  border-radius: ${ CONFIG.controlBorderRadius };
29
29
  color: ${ COLORS.gray[ 700 ] };
30
+ fill: currentColor;
30
31
  cursor: pointer;
31
32
  display: flex;
32
33
  font-family: inherit;
@@ -55,7 +56,9 @@ export const buttonView = css`
55
56
 
56
57
  export const buttonActive = css`
57
58
  color: ${ COLORS.white };
58
- background-color: ${ COLORS.gray[ 900 ] };
59
+ &:active {
60
+ background: transparent;
61
+ }
59
62
  `;
60
63
 
61
64
  export const ButtonContentView = styled.div`
@@ -0,0 +1,56 @@
1
+ # `ToggleGroupControlOptionIcon`
2
+
3
+ <div class="callout callout-alert">
4
+ This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.
5
+ </div>
6
+
7
+ `ToggleGroupControlOptionIcon` is a form component which is meant to be used as a child of [`ToggleGroupControl`] and displays an icon(<(/packages/components/src/toggle-group-control/toggle-group-control/README.md)>).
8
+
9
+ ## Usage
10
+
11
+ ```js
12
+ import {
13
+ __experimentalToggleGroupControl as ToggleGroupControl,
14
+ __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,
15
+ } from '@wordpress/components';
16
+ import { formatLowercase, formatUppercase } from '@wordpress/icons';
17
+
18
+ function Example() {
19
+ return (
20
+ <ToggleGroupControl label="my label" value="lowercase" isBlock>
21
+ <ToggleGroupControlOptionIcon
22
+ value="uppercase"
23
+ icon={ formatUppercase }
24
+ showTooltip={ true }
25
+ aria-label="Uppercase"
26
+ />
27
+ <ToggleGroupControlOptionIcon
28
+ value="lowercase"
29
+ icon={ formatLowercase }
30
+ showTooltip={ true }
31
+ aria-label="Lowercase"
32
+ />
33
+ </ToggleGroupControl>
34
+ );
35
+ }
36
+ ```
37
+
38
+ ## Props
39
+
40
+ ### `value`: `string | number`
41
+
42
+ The value of the `ToggleGroupControlOption`.
43
+
44
+ - Required: Yes
45
+
46
+ ### `icon`: `WPComponent`
47
+
48
+ Icon displayed as the content of the option. Usually one of the icons from the `@wordpress/icons` package, or a custom React `<svg>` icon.
49
+
50
+ - Required: Yes
51
+
52
+ ### `showTooltip`: `boolean`
53
+
54
+ Whether to show a tooltip when hovering over the option. The tooltip will only show if a label for it is provided using the `aria-label` prop.
55
+
56
+ - Required: No
@@ -0,0 +1,56 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Icon } from '@wordpress/icons';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import type { WordPressComponentProps } from '../../ui/context';
10
+ import type { ToggleGroupControlOptionIconProps } from '../types';
11
+ import { ToggleGroupControlOptionBase } from '../toggle-group-control-option-base';
12
+
13
+ export default function ToggleGroupControlOptionIcon(
14
+ props: WordPressComponentProps<
15
+ ToggleGroupControlOptionIconProps,
16
+ 'button',
17
+ false
18
+ >
19
+ ) {
20
+ const { icon, ...restProps } = props;
21
+ return (
22
+ <ToggleGroupControlOptionBase { ...restProps }>
23
+ <Icon icon={ icon } />
24
+ </ToggleGroupControlOptionBase>
25
+ );
26
+ }
27
+
28
+ /**
29
+ * `ToggleGroupControlOptionIcon` is a form component which is meant to be used as a
30
+ * child of `ToggleGroupControl` and displays an icon.
31
+ *
32
+ * @example
33
+ * ```jsx
34
+ *
35
+ * import {
36
+ * __experimentalToggleGroupControl as ToggleGroupControl,
37
+ * __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,
38
+ * from '@wordpress/components';
39
+ * import { formatLowercase, formatUppercase } from '@wordpress/icons';
40
+ *
41
+ * function Example() {
42
+ * return (
43
+ * <ToggleGroupControl label="my label" value="vertical" isBlock>
44
+ * <ToggleGroupControlOptionIcon
45
+ * value="uppercase"
46
+ * icon={ formatUppercase }
47
+ * />
48
+ * <ToggleGroupControlOptionIcon
49
+ * value="lowercase"
50
+ * icon={ formatLowercase }
51
+ * />
52
+ * </ToggleGroupControl>
53
+ * );
54
+ * }
55
+ ** ```
56
+ */
@@ -0,0 +1 @@
1
+ export { default as ToggleGroupControlOptionIcon } from './component';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import type { ReactNode, ReactText } from 'react';
4
+ import type { MutableRefObject, ReactNode, ReactText } from 'react';
5
5
  // eslint-disable-next-line no-restricted-imports
6
6
  import type { RadioStateReturn } from 'reakit';
7
7
 
@@ -10,13 +10,9 @@ import type { RadioStateReturn } from 'reakit';
10
10
  */
11
11
  import type { FormElementProps } from '../utils/types';
12
12
 
13
- export type ToggleGroupControlOptionProps = {
13
+ export type ToggleGroupControlOptionBaseProps = {
14
+ children: ReactNode;
14
15
  value: ReactText;
15
- /**
16
- * Label for the option. If needed, the `aria-label` prop can be used in addition
17
- * to specify a different label for assistive technologies.
18
- */
19
- label: string;
20
16
  /**
21
17
  * Whether to display a Tooltip for the control option. If set to `true`, the tooltip will
22
18
  * show the aria-label or the label prop text.
@@ -26,6 +22,28 @@ export type ToggleGroupControlOptionProps = {
26
22
  showTooltip?: boolean;
27
23
  };
28
24
 
25
+ export type ToggleGroupControlOptionIconProps = Omit<
26
+ ToggleGroupControlOptionBaseProps,
27
+ 'children'
28
+ > & {
29
+ /**
30
+ * Icon displayed as the content of the option. Usually one of the icons from
31
+ * the `@wordpress/icons` package, or a custom React `<svg>` icon.
32
+ */
33
+ icon: JSX.Element;
34
+ };
35
+
36
+ export type ToggleGroupControlOptionProps = Omit<
37
+ ToggleGroupControlOptionBaseProps,
38
+ 'children'
39
+ > & {
40
+ /**
41
+ * Label for the option. If needed, the `aria-label` prop can be used in addition
42
+ * to specify a different label for assistive technologies.
43
+ */
44
+ label: string;
45
+ };
46
+
29
47
  export type WithToolTipProps = {
30
48
  /**
31
49
  * React children
@@ -34,7 +52,7 @@ export type WithToolTipProps = {
34
52
  /**
35
53
  * Label for the Tooltip component.
36
54
  */
37
- text: string;
55
+ text?: string;
38
56
  /**
39
57
  * Whether to wrap the control option in a Tooltip component.
40
58
  *
@@ -96,3 +114,10 @@ export type ToggleGroupControlContextProps = RadioStateReturn & {
96
114
  */
97
115
  isBlock?: boolean;
98
116
  };
117
+
118
+ export type ToggleGroupControlBackdropProps = {
119
+ containerRef: MutableRefObject< HTMLElement | undefined >;
120
+ containerWidth?: number | null;
121
+ isAdaptiveWidth?: boolean;
122
+ state?: any;
123
+ };
@@ -19,7 +19,7 @@ function ToolbarDropdownMenu( props, ref ) {
19
19
 
20
20
  // ToobarItem will pass all props to the render prop child, which will pass
21
21
  // all props to the toggle of DropdownMenu. This means that ToolbarDropdownMenu
22
- // has the same API as DrpodownMenu.
22
+ // has the same API as DropdownMenu.
23
23
  return (
24
24
  <ToolbarItem ref={ ref } { ...props.toggleProps }>
25
25
  { ( toolbarItemProps ) => (
@@ -64,76 +64,3 @@ div.components-toolbar {
64
64
  }
65
65
  }
66
66
  }
67
-
68
- // Size multiple sequential buttons to be optically balanced.
69
- // Icons are 36px, as set by a 24px icon and 12px padding.
70
- .block-editor-block-toolbar > .components-toolbar > .block-editor-block-toolbar__slot, // When a plugin adds to a slot, the segment has a `components-toolbar` class.
71
- .block-editor-block-toolbar > .components-toolbar-group > .block-editor-block-toolbar__slot, // When no plugin adds to slots, the segment has a `components-toolbar-group` class.
72
- .block-editor-block-toolbar > .block-editor-block-toolbar__slot > .components-toolbar, // The nesting order is sometimes reversed.
73
- .block-editor-block-toolbar > .block-editor-block-toolbar__slot > .components-dropdown, // Targets unique markup for the "Replace" button.
74
- .block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group { // Inline formatting tools use this class.
75
-
76
- // Segments with just a single button.
77
- > .components-button:first-child:last-child,
78
- > .components-dropdown:first-child:last-child .components-button,
79
- &.components-dropdown > .components-button.components-button, // Single segments where the dropdown is also the toolbar group (such as text align).
80
- &.components-dropdown > * .components-button {
81
- min-width: $block-toolbar-height;
82
- padding-left: $grid-unit-15;
83
- padding-right: $grid-unit-15;
84
-
85
- &::before {
86
- left: $grid-unit-10;
87
- right: $grid-unit-10;
88
- }
89
- }
90
-
91
- // First.
92
- // @todo, this unnamed div only shows up when plugins add to slots. We should remove the fragment.
93
- > .components-button:first-child,
94
- > div:first-child > .components-button,
95
- > .components-dropdown:first-child .components-button {
96
- min-width: $block-toolbar-height - $grid-unit-15 * 0.5;
97
- padding-left: $grid-unit-15 - $border-width;
98
- padding-right: $grid-unit-15 * 0.5;
99
-
100
- &::before {
101
- left: $grid-unit-10;
102
- right: 2px;
103
- }
104
- }
105
-
106
- // Middle.
107
- // @todo, this unnamed div only shows up when plugins add to slots. We should remove the fragment.
108
- > .components-button,
109
- > div > .components-button,
110
- > .components-dropdown .components-button {
111
- min-width: $block-toolbar-height - $grid-unit-15;
112
- padding-left: $grid-unit-15 * 0.5; // 6px.
113
- padding-right: $grid-unit-15 * 0.5;
114
-
115
- svg {
116
- min-width: $button-size-small; // This is the optimal icon size, and we size the whole button after this.
117
- }
118
-
119
- &::before {
120
- left: 2px;
121
- right: 2px;
122
- }
123
- }
124
-
125
- // Last.
126
- // @todo, this unnamed div only shows up when plugins add to slots. We should remove the fragment.
127
- > .components-button:last-child,
128
- > div:last-child > .components-button,
129
- > .components-dropdown:last-child .components-button {
130
- min-width: $block-toolbar-height - $grid-unit-15 * 0.5;
131
- padding-left: $grid-unit-15 * 0.5;
132
- padding-right: $grid-unit-15 - $border-width;
133
-
134
- &::before {
135
- left: 2px;
136
- right: $grid-unit-10;
137
- }
138
- }
139
- }
@@ -89,15 +89,15 @@ exports[`ToolsPanel first and last panel items should apply first/last classes t
89
89
  max-width: 100%;
90
90
  }
91
91
 
92
- .emotion-6.emotion-6 .e1puf3u4 {
92
+ .emotion-6.emotion-6 .ej5x27r4 {
93
93
  margin-bottom: 0;
94
94
  }
95
95
 
96
- .emotion-6.emotion-6 .e1puf3u4 .e1puf3u3:last-child {
96
+ .emotion-6.emotion-6 .ej5x27r4 .ej5x27r3:last-child {
97
97
  margin-bottom: 0;
98
98
  }
99
99
 
100
- .emotion-6 .e1puf3u1 {
100
+ .emotion-6 .ej5x27r1 {
101
101
  margin-bottom: 0;
102
102
  }
103
103
 
@@ -106,7 +106,7 @@ exports[`ToolsPanel first and last panel items should apply first/last classes t
106
106
  }
107
107
 
108
108
  .emotion-6 .components-custom-select-control__label,
109
- .emotion-6 .e1puf3u2 {
109
+ .emotion-6 .ej5x27r2 {
110
110
  line-height: 1.4em;
111
111
  }
112
112
 
@@ -121,15 +121,15 @@ exports[`ToolsPanel first and last panel items should apply first/last classes t
121
121
  max-width: 100%;
122
122
  }
123
123
 
124
- .emotion-8.emotion-8 .e1puf3u4 {
124
+ .emotion-8.emotion-8 .ej5x27r4 {
125
125
  margin-bottom: 0;
126
126
  }
127
127
 
128
- .emotion-8.emotion-8 .e1puf3u4 .e1puf3u3:last-child {
128
+ .emotion-8.emotion-8 .ej5x27r4 .ej5x27r3:last-child {
129
129
  margin-bottom: 0;
130
130
  }
131
131
 
132
- .emotion-8 .e1puf3u1 {
132
+ .emotion-8 .ej5x27r1 {
133
133
  margin-bottom: 0;
134
134
  }
135
135
 
@@ -138,7 +138,7 @@ exports[`ToolsPanel first and last panel items should apply first/last classes t
138
138
  }
139
139
 
140
140
  .emotion-8 .components-custom-select-control__label,
141
- .emotion-8 .e1puf3u2 {
141
+ .emotion-8 .ej5x27r2 {
142
142
  line-height: 1.4em;
143
143
  }
144
144
 
@@ -4,7 +4,7 @@
4
4
  This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.
5
5
  </div>
6
6
 
7
- UnitControl allows the user to set a value as well as a unit (e.g. `px`).
7
+ `UnitControl` allows the user to set a numeric quantity as well as a unit (e.g. `px`).
8
8
 
9
9
  ## Usage
10
10
 
@@ -61,19 +61,23 @@ The position of the label (`top`, `side`, `bottom`, or `edge`).
61
61
 
62
62
  - Required: No
63
63
 
64
+ ### `onBlur`: `FocusEventHandler< HTMLInputElement | HTMLSelectElement >`
65
+
66
+ Callback invoked when either the quantity or unit inputs fire the `blur` event.
67
+
68
+ - Required: No
69
+
64
70
  ### `onChange`: `UnitControlOnChangeCallback`
65
71
 
66
72
  Callback when the `value` changes.
67
73
 
68
74
  - Required: No
69
- - Default: `noop`
70
75
 
71
76
  ### `onUnitChange`: `UnitControlOnChangeCallback`
72
77
 
73
78
  Callback when the `unit` changes.
74
79
 
75
80
  - Required: No
76
- - Default: `noop`
77
81
 
78
82
  ### `size`: `string`
79
83