@wordpress/components 22.0.0 → 23.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 (796) hide show
  1. package/CHANGELOG.md +99 -0
  2. package/build/alignment-matrix-control/cell.js.map +1 -1
  3. package/build/alignment-matrix-control/icon.js +4 -2
  4. package/build/alignment-matrix-control/icon.js.map +1 -1
  5. package/build/alignment-matrix-control/index.js +25 -1
  6. package/build/alignment-matrix-control/index.js.map +1 -1
  7. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +13 -13
  8. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  9. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +16 -16
  10. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  11. package/build/alignment-matrix-control/types.js +6 -0
  12. package/build/alignment-matrix-control/types.js.map +1 -0
  13. package/build/alignment-matrix-control/utils.js +9 -8
  14. package/build/alignment-matrix-control/utils.js.map +1 -1
  15. package/build/angle-picker-control/index.js +3 -1
  16. package/build/angle-picker-control/index.js.map +1 -1
  17. package/build/angle-picker-control/styles/angle-picker-control-styles.js +9 -9
  18. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  19. package/build/autocomplete/index.js +45 -12
  20. package/build/autocomplete/index.js.map +1 -1
  21. package/build/base-control/hooks.js +52 -0
  22. package/build/base-control/hooks.js.map +1 -0
  23. package/build/base-control/index.js +24 -7
  24. package/build/base-control/index.js.map +1 -1
  25. package/build/base-field/hook.js +0 -14
  26. package/build/base-field/hook.js.map +1 -1
  27. package/build/base-field/index.js.map +1 -1
  28. package/build/base-field/styles.js +5 -5
  29. package/build/base-field/styles.js.map +1 -1
  30. package/build/base-field/types.js +6 -0
  31. package/build/base-field/types.js.map +1 -0
  32. package/build/border-box-control/border-box-control/component.js +1 -1
  33. package/build/border-box-control/border-box-control/component.js.map +1 -1
  34. package/build/border-box-control/border-box-control/hook.js +13 -1
  35. package/build/border-box-control/border-box-control/hook.js.map +1 -1
  36. package/build/border-box-control/border-box-control-split-controls/hook.js +11 -1
  37. package/build/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  38. package/build/border-control/border-control/component.js +3 -2
  39. package/build/border-control/border-control/component.js.map +1 -1
  40. package/build/border-control/border-control/hook.js +11 -1
  41. package/build/border-control/border-control/hook.js.map +1 -1
  42. package/build/border-control/border-control-dropdown/component.js +1 -1
  43. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  44. package/build/border-control/border-control-dropdown/hook.js +10 -2
  45. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  46. package/build/border-control/styles.js +16 -16
  47. package/build/border-control/styles.js.map +1 -1
  48. package/build/box-control/linked-button.js +3 -4
  49. package/build/box-control/linked-button.js.map +1 -1
  50. package/build/color-palette/index.js +3 -8
  51. package/build/color-palette/index.js.map +1 -1
  52. package/build/color-picker/input-with-slider.js +18 -3
  53. package/build/color-picker/input-with-slider.js.map +1 -1
  54. package/build/color-picker/styles.js +8 -8
  55. package/build/color-picker/styles.js.map +1 -1
  56. package/build/custom-select-control/index.js +19 -4
  57. package/build/custom-select-control/index.js.map +1 -1
  58. package/build/dashicon/index.js +18 -6
  59. package/build/dashicon/index.js.map +1 -1
  60. package/build/date-time/date-time/index.js +4 -4
  61. package/build/date-time/date-time/index.js.map +1 -1
  62. package/build/draggable/index.js +58 -38
  63. package/build/draggable/index.js.map +1 -1
  64. package/build/draggable/types.js +6 -0
  65. package/build/draggable/types.js.map +1 -0
  66. package/build/duotone-picker/duotone-picker.js +2 -2
  67. package/build/duotone-picker/duotone-picker.js.map +1 -1
  68. package/build/flex/flex/hook.js +2 -3
  69. package/build/flex/flex/hook.js.map +1 -1
  70. package/build/focal-point-picker/focal-point.js +2 -12
  71. package/build/focal-point-picker/focal-point.js.map +1 -1
  72. package/build/focal-point-picker/styles/focal-point-style.js +11 -51
  73. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  74. package/build/font-size-picker/constants.js +41 -0
  75. package/build/font-size-picker/constants.js.map +1 -0
  76. package/build/font-size-picker/font-size-picker-select.js +97 -0
  77. package/build/font-size-picker/font-size-picker-select.js.map +1 -0
  78. package/build/font-size-picker/font-size-picker-toggle-group.js +50 -0
  79. package/build/font-size-picker/font-size-picker-toggle-group.js.map +1 -0
  80. package/build/font-size-picker/index.js +39 -76
  81. package/build/font-size-picker/index.js.map +1 -1
  82. package/build/font-size-picker/utils.js +17 -89
  83. package/build/font-size-picker/utils.js.map +1 -1
  84. package/build/form-token-field/index.js +9 -6
  85. package/build/form-token-field/index.js.map +1 -1
  86. package/build/gradient-picker/index.js +3 -9
  87. package/build/gradient-picker/index.js.map +1 -1
  88. package/build/higher-order/navigate-regions/index.js +3 -0
  89. package/build/higher-order/navigate-regions/index.js.map +1 -1
  90. package/build/higher-order/with-fallback-styles/index.js +2 -2
  91. package/build/higher-order/with-fallback-styles/index.js.map +1 -1
  92. package/build/icon/index.js +3 -2
  93. package/build/icon/index.js.map +1 -1
  94. package/build/index.js +21 -1
  95. package/build/index.js.map +1 -1
  96. package/build/input-control/index.js +17 -5
  97. package/build/input-control/index.js.map +1 -1
  98. package/build/input-control/input-base.js +2 -0
  99. package/build/input-control/input-base.js.map +1 -1
  100. package/build/menu-group/index.js +17 -3
  101. package/build/menu-group/index.js.map +1 -1
  102. package/build/menu-group/types.js +6 -0
  103. package/build/menu-group/types.js.map +1 -0
  104. package/build/mobile/bottom-sheet/cell.native.js +1 -1
  105. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  106. package/build/mobile/bottom-sheet/switch-cell.native.js +1 -3
  107. package/build/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
  108. package/build/mobile/global-styles-context/index.native.js +8 -8
  109. package/build/mobile/global-styles-context/index.native.js.map +1 -1
  110. package/build/mobile/keyboard-aware-flat-list/index.ios.js +4 -2
  111. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  112. package/build/modal/index.js +8 -0
  113. package/build/modal/index.js.map +1 -1
  114. package/build/navigator/navigator-provider/component.js +12 -8
  115. package/build/navigator/navigator-provider/component.js.map +1 -1
  116. package/build/navigator/navigator-screen/component.js +9 -5
  117. package/build/navigator/navigator-screen/component.js.map +1 -1
  118. package/build/number-control/styles/number-control-styles.js +8 -8
  119. package/build/number-control/styles/number-control-styles.js.map +1 -1
  120. package/build/palette-edit/index.js +75 -34
  121. package/build/palette-edit/index.js.map +1 -1
  122. package/build/popover/index.js +18 -6
  123. package/build/popover/index.js.map +1 -1
  124. package/build/query-controls/index.js +1 -0
  125. package/build/query-controls/index.js.map +1 -1
  126. package/build/range-control/styles/range-control-styles.js +47 -57
  127. package/build/range-control/styles/range-control-styles.js.map +1 -1
  128. package/build/snackbar/index.js +35 -24
  129. package/build/snackbar/index.js.map +1 -1
  130. package/build/snackbar/list.js +14 -19
  131. package/build/snackbar/list.js.map +1 -1
  132. package/build/snackbar/types.js +6 -0
  133. package/build/snackbar/types.js.map +1 -0
  134. package/build/spinner/styles.js +4 -4
  135. package/build/spinner/styles.js.map +1 -1
  136. package/build/tab-panel/index.js +12 -8
  137. package/build/tab-panel/index.js.map +1 -1
  138. package/build/theme/color-algorithms.js +118 -0
  139. package/build/theme/color-algorithms.js.map +1 -0
  140. package/build/theme/index.js +21 -18
  141. package/build/theme/index.js.map +1 -1
  142. package/build/theme/styles.js +10 -7
  143. package/build/theme/styles.js.map +1 -1
  144. package/build/toggle-control/index.js +5 -2
  145. package/build/toggle-control/index.js.map +1 -1
  146. package/build/toggle-group-control/toggle-group-control/component.js +1 -0
  147. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  148. package/build/toggle-group-control/toggle-group-control/styles.js +11 -6
  149. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  150. package/build/tools-panel/styles.js +14 -14
  151. package/build/tools-panel/styles.js.map +1 -1
  152. package/build/tools-panel/tools-panel-item/hook.js +9 -5
  153. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  154. package/build/ui/context/context-system-provider.js +3 -1
  155. package/build/ui/context/context-system-provider.js.map +1 -1
  156. package/build/unit-control/index.js +5 -2
  157. package/build/unit-control/index.js.map +1 -1
  158. package/build/utils/colors-values.js +4 -3
  159. package/build/utils/colors-values.js.map +1 -1
  160. package/build/utils/config-values.js +0 -2
  161. package/build/utils/config-values.js.map +1 -1
  162. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  163. package/build/utils/input/base.js +2 -2
  164. package/build/utils/input/base.js.map +1 -1
  165. package/build/view/index.js.map +1 -1
  166. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  167. package/build-module/alignment-matrix-control/icon.js +4 -2
  168. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  169. package/build-module/alignment-matrix-control/index.js +23 -1
  170. package/build-module/alignment-matrix-control/index.js.map +1 -1
  171. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +13 -13
  172. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  173. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +16 -16
  174. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  175. package/build-module/alignment-matrix-control/types.js +2 -0
  176. package/build-module/alignment-matrix-control/types.js.map +1 -0
  177. package/build-module/alignment-matrix-control/utils.js +13 -8
  178. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  179. package/build-module/angle-picker-control/index.js +2 -1
  180. package/build-module/angle-picker-control/index.js.map +1 -1
  181. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +9 -9
  182. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  183. package/build-module/autocomplete/index.js +45 -12
  184. package/build-module/autocomplete/index.js.map +1 -1
  185. package/build-module/base-control/hooks.js +41 -0
  186. package/build-module/base-control/hooks.js.map +1 -0
  187. package/build-module/base-control/index.js +18 -8
  188. package/build-module/base-control/index.js.map +1 -1
  189. package/build-module/base-field/hook.js +0 -14
  190. package/build-module/base-field/hook.js.map +1 -1
  191. package/build-module/base-field/index.js.map +1 -1
  192. package/build-module/base-field/styles.js +5 -5
  193. package/build-module/base-field/styles.js.map +1 -1
  194. package/build-module/base-field/types.js +2 -0
  195. package/build-module/base-field/types.js.map +1 -0
  196. package/build-module/border-box-control/border-box-control/component.js +1 -1
  197. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  198. package/build-module/border-box-control/border-box-control/hook.js +13 -1
  199. package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
  200. package/build-module/border-box-control/border-box-control-split-controls/hook.js +11 -1
  201. package/build-module/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  202. package/build-module/border-control/border-control/component.js +3 -2
  203. package/build-module/border-control/border-control/component.js.map +1 -1
  204. package/build-module/border-control/border-control/hook.js +11 -1
  205. package/build-module/border-control/border-control/hook.js.map +1 -1
  206. package/build-module/border-control/border-control-dropdown/component.js +1 -1
  207. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  208. package/build-module/border-control/border-control-dropdown/hook.js +10 -2
  209. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  210. package/build-module/border-control/styles.js +17 -17
  211. package/build-module/border-control/styles.js.map +1 -1
  212. package/build-module/box-control/linked-button.js +3 -4
  213. package/build-module/box-control/linked-button.js.map +1 -1
  214. package/build-module/color-palette/index.js +3 -8
  215. package/build-module/color-palette/index.js.map +1 -1
  216. package/build-module/color-picker/input-with-slider.js +18 -3
  217. package/build-module/color-picker/input-with-slider.js.map +1 -1
  218. package/build-module/color-picker/styles.js +8 -8
  219. package/build-module/color-picker/styles.js.map +1 -1
  220. package/build-module/custom-select-control/index.js +19 -4
  221. package/build-module/custom-select-control/index.js.map +1 -1
  222. package/build-module/dashicon/index.js +18 -6
  223. package/build-module/dashicon/index.js.map +1 -1
  224. package/build-module/date-time/date-time/index.js +4 -4
  225. package/build-module/date-time/date-time/index.js.map +1 -1
  226. package/build-module/draggable/index.js +59 -38
  227. package/build-module/draggable/index.js.map +1 -1
  228. package/build-module/draggable/types.js +2 -0
  229. package/build-module/draggable/types.js.map +1 -0
  230. package/build-module/duotone-picker/duotone-picker.js +2 -2
  231. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  232. package/build-module/flex/flex/hook.js +2 -3
  233. package/build-module/flex/flex/hook.js.map +1 -1
  234. package/build-module/focal-point-picker/focal-point.js +3 -13
  235. package/build-module/focal-point-picker/focal-point.js.map +1 -1
  236. package/build-module/focal-point-picker/styles/focal-point-style.js +6 -52
  237. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  238. package/build-module/font-size-picker/constants.js +31 -0
  239. package/build-module/font-size-picker/constants.js.map +1 -0
  240. package/build-module/font-size-picker/font-size-picker-select.js +83 -0
  241. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -0
  242. package/build-module/font-size-picker/font-size-picker-toggle-group.js +40 -0
  243. package/build-module/font-size-picker/font-size-picker-toggle-group.js.map +1 -0
  244. package/build-module/font-size-picker/index.js +38 -76
  245. package/build-module/font-size-picker/index.js.map +1 -1
  246. package/build-module/font-size-picker/utils.js +15 -86
  247. package/build-module/font-size-picker/utils.js.map +1 -1
  248. package/build-module/form-token-field/index.js +9 -6
  249. package/build-module/form-token-field/index.js.map +1 -1
  250. package/build-module/gradient-picker/index.js +3 -8
  251. package/build-module/gradient-picker/index.js.map +1 -1
  252. package/build-module/higher-order/navigate-regions/index.js +3 -0
  253. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  254. package/build-module/higher-order/with-fallback-styles/index.js +2 -2
  255. package/build-module/higher-order/with-fallback-styles/index.js.map +1 -1
  256. package/build-module/icon/index.js +3 -2
  257. package/build-module/icon/index.js.map +1 -1
  258. package/build-module/index.js +3 -2
  259. package/build-module/index.js.map +1 -1
  260. package/build-module/input-control/index.js +16 -5
  261. package/build-module/input-control/index.js.map +1 -1
  262. package/build-module/input-control/input-base.js +2 -0
  263. package/build-module/input-control/input-base.js.map +1 -1
  264. package/build-module/menu-group/index.js +20 -2
  265. package/build-module/menu-group/index.js.map +1 -1
  266. package/build-module/menu-group/types.js +2 -0
  267. package/build-module/menu-group/types.js.map +1 -0
  268. package/build-module/mobile/bottom-sheet/cell.native.js +1 -1
  269. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  270. package/build-module/mobile/bottom-sheet/switch-cell.native.js +1 -2
  271. package/build-module/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
  272. package/build-module/mobile/global-styles-context/index.native.js +8 -7
  273. package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
  274. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  275. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  276. package/build-module/modal/index.js +8 -0
  277. package/build-module/modal/index.js.map +1 -1
  278. package/build-module/navigator/navigator-provider/component.js +12 -8
  279. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  280. package/build-module/navigator/navigator-screen/component.js +9 -5
  281. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  282. package/build-module/number-control/styles/number-control-styles.js +8 -10
  283. package/build-module/number-control/styles/number-control-styles.js.map +1 -1
  284. package/build-module/palette-edit/index.js +76 -35
  285. package/build-module/palette-edit/index.js.map +1 -1
  286. package/build-module/popover/index.js +18 -6
  287. package/build-module/popover/index.js.map +1 -1
  288. package/build-module/query-controls/index.js +1 -0
  289. package/build-module/query-controls/index.js.map +1 -1
  290. package/build-module/range-control/styles/range-control-styles.js +47 -57
  291. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  292. package/build-module/snackbar/index.js +33 -23
  293. package/build-module/snackbar/index.js.map +1 -1
  294. package/build-module/snackbar/list.js +14 -22
  295. package/build-module/snackbar/list.js.map +1 -1
  296. package/build-module/snackbar/types.js +2 -0
  297. package/build-module/snackbar/types.js.map +1 -0
  298. package/build-module/spinner/styles.js +4 -4
  299. package/build-module/spinner/styles.js.map +1 -1
  300. package/build-module/tab-panel/index.js +13 -9
  301. package/build-module/tab-panel/index.js.map +1 -1
  302. package/build-module/theme/color-algorithms.js +105 -0
  303. package/build-module/theme/color-algorithms.js.map +1 -0
  304. package/build-module/theme/index.js +21 -17
  305. package/build-module/theme/index.js.map +1 -1
  306. package/build-module/theme/styles.js +8 -6
  307. package/build-module/theme/styles.js.map +1 -1
  308. package/build-module/toggle-control/index.js +4 -2
  309. package/build-module/toggle-control/index.js.map +1 -1
  310. package/build-module/toggle-group-control/toggle-group-control/component.js +1 -0
  311. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  312. package/build-module/toggle-group-control/toggle-group-control/styles.js +12 -6
  313. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  314. package/build-module/tools-panel/styles.js +14 -14
  315. package/build-module/tools-panel/styles.js.map +1 -1
  316. package/build-module/tools-panel/tools-panel-item/hook.js +9 -5
  317. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  318. package/build-module/ui/context/context-system-provider.js +3 -2
  319. package/build-module/ui/context/context-system-provider.js.map +1 -1
  320. package/build-module/unit-control/index.js +5 -2
  321. package/build-module/unit-control/index.js.map +1 -1
  322. package/build-module/utils/colors-values.js +4 -3
  323. package/build-module/utils/colors-values.js.map +1 -1
  324. package/build-module/utils/config-values.js +0 -2
  325. package/build-module/utils/config-values.js.map +1 -1
  326. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  327. package/build-module/utils/input/base.js +2 -2
  328. package/build-module/utils/input/base.js.map +1 -1
  329. package/build-module/view/index.js.map +1 -1
  330. package/build-style/style-rtl.css +145 -100
  331. package/build-style/style.css +145 -100
  332. package/build-types/alignment-matrix-control/cell.d.ts +5 -0
  333. package/build-types/alignment-matrix-control/cell.d.ts.map +1 -0
  334. package/build-types/alignment-matrix-control/icon.d.ts +6 -0
  335. package/build-types/alignment-matrix-control/icon.d.ts.map +1 -0
  336. package/build-types/alignment-matrix-control/index.d.ts +30 -0
  337. package/build-types/alignment-matrix-control/index.d.ts.map +1 -0
  338. package/build-types/alignment-matrix-control/stories/index.d.ts +14 -0
  339. package/build-types/alignment-matrix-control/stories/index.d.ts.map +1 -0
  340. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts +19 -0
  341. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts.map +1 -0
  342. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts +23 -0
  343. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +1 -0
  344. package/build-types/alignment-matrix-control/test/index.d.ts +2 -0
  345. package/build-types/alignment-matrix-control/test/index.d.ts.map +1 -0
  346. package/build-types/alignment-matrix-control/types.d.ts +39 -0
  347. package/build-types/alignment-matrix-control/types.d.ts.map +1 -0
  348. package/build-types/alignment-matrix-control/utils.d.ts +33 -0
  349. package/build-types/alignment-matrix-control/utils.d.ts.map +1 -0
  350. package/build-types/base-control/hooks.d.ts +23 -0
  351. package/build-types/base-control/hooks.d.ts.map +1 -0
  352. package/build-types/base-control/index.d.ts +17 -7
  353. package/build-types/base-control/index.d.ts.map +1 -1
  354. package/build-types/base-control/stories/index.d.ts.map +1 -1
  355. package/build-types/base-control/test/index.d.ts +2 -0
  356. package/build-types/base-control/test/index.d.ts.map +1 -0
  357. package/build-types/base-control/types.d.ts +8 -2
  358. package/build-types/base-control/types.d.ts.map +1 -1
  359. package/build-types/base-field/hook.d.ts +7 -31
  360. package/build-types/base-field/hook.d.ts.map +1 -1
  361. package/build-types/base-field/index.d.ts +1 -1
  362. package/build-types/base-field/index.d.ts.map +1 -1
  363. package/build-types/base-field/styles.d.ts +5 -5
  364. package/build-types/base-field/styles.d.ts.map +1 -1
  365. package/build-types/base-field/test/index.d.ts +2 -0
  366. package/build-types/base-field/test/index.d.ts.map +1 -0
  367. package/build-types/base-field/types.d.ts +29 -0
  368. package/build-types/base-field/types.d.ts.map +1 -0
  369. package/build-types/border-box-control/border-box-control/component.d.ts +4 -4
  370. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  371. package/build-types/border-box-control/border-box-control/hook.d.ts +8 -8
  372. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  373. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts +4 -2
  374. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -1
  375. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +2 -2
  376. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +3 -3
  377. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +7 -7
  378. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  379. package/build-types/border-box-control/border-box-control-visualizer/component.d.ts +3 -2
  380. package/build-types/border-box-control/border-box-control-visualizer/component.d.ts.map +1 -1
  381. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +2 -2
  382. package/build-types/border-box-control/stories/index.d.ts +3 -3
  383. package/build-types/border-box-control/types.d.ts +5 -38
  384. package/build-types/border-box-control/types.d.ts.map +1 -1
  385. package/build-types/border-control/border-control/component.d.ts +4 -2
  386. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  387. package/build-types/border-control/border-control/hook.d.ts +7 -7
  388. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  389. package/build-types/border-control/border-control-dropdown/component.d.ts +3 -3
  390. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  391. package/build-types/border-control/border-control-dropdown/hook.d.ts +7 -7
  392. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  393. package/build-types/border-control/border-control-style-picker/hook.d.ts +2 -2
  394. package/build-types/border-control/stories/index.d.ts +24 -12
  395. package/build-types/border-control/stories/index.d.ts.map +1 -1
  396. package/build-types/border-control/styles.d.ts.map +1 -1
  397. package/build-types/border-control/types.d.ts +10 -51
  398. package/build-types/border-control/types.d.ts.map +1 -1
  399. package/build-types/card/card/hook.d.ts +2 -2
  400. package/build-types/card/card-body/hook.d.ts +2 -2
  401. package/build-types/card/card-divider/hook.d.ts +2 -2
  402. package/build-types/card/card-footer/hook.d.ts +2 -2
  403. package/build-types/card/card-header/hook.d.ts +2 -2
  404. package/build-types/card/card-media/hook.d.ts +2 -2
  405. package/build-types/color-palette/index.d.ts +16 -2
  406. package/build-types/color-palette/index.d.ts.map +1 -1
  407. package/build-types/color-palette/stories/index.d.ts +30 -2
  408. package/build-types/color-palette/stories/index.d.ts.map +1 -1
  409. package/build-types/color-palette/styles.d.ts +1 -1
  410. package/build-types/color-palette/types.d.ts +14 -10
  411. package/build-types/color-palette/types.d.ts.map +1 -1
  412. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  413. package/build-types/color-picker/styles.d.ts +5 -5
  414. package/build-types/color-picker/styles.d.ts.map +1 -1
  415. package/build-types/custom-select-control/index.d.ts.map +1 -1
  416. package/build-types/dashicon/index.d.ts +7 -16
  417. package/build-types/dashicon/index.d.ts.map +1 -1
  418. package/build-types/dashicon/types.d.ts +14 -0
  419. package/build-types/dashicon/types.d.ts.map +1 -1
  420. package/build-types/date-time/date/styles.d.ts +3 -3
  421. package/build-types/date-time/date-time/styles.d.ts +3 -3
  422. package/build-types/date-time/time/styles.d.ts +8 -8
  423. package/build-types/date-time/types.d.ts +0 -16
  424. package/build-types/date-time/types.d.ts.map +1 -1
  425. package/build-types/draggable/index.d.ts +42 -66
  426. package/build-types/draggable/index.d.ts.map +1 -1
  427. package/build-types/draggable/stories/index.d.ts +12 -0
  428. package/build-types/draggable/stories/index.d.ts.map +1 -0
  429. package/build-types/draggable/types.d.ts +58 -0
  430. package/build-types/draggable/types.d.ts.map +1 -0
  431. package/build-types/elevation/hook.d.ts +2 -2
  432. package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
  433. package/build-types/flex/flex/hook.d.ts +2 -2
  434. package/build-types/flex/flex/hook.d.ts.map +1 -1
  435. package/build-types/flex/flex-block/hook.d.ts +2 -2
  436. package/build-types/flex/flex-item/hook.d.ts +2 -2
  437. package/build-types/focal-point-picker/focal-point.d.ts.map +1 -1
  438. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +2 -5
  439. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts.map +1 -1
  440. package/build-types/focal-point-picker/styles/focal-point-style.d.ts +1 -12
  441. package/build-types/focal-point-picker/styles/focal-point-style.d.ts.map +1 -1
  442. package/build-types/font-size-picker/constants.d.ts +15 -0
  443. package/build-types/font-size-picker/constants.d.ts.map +1 -0
  444. package/build-types/font-size-picker/font-size-picker-select.d.ts +5 -0
  445. package/build-types/font-size-picker/font-size-picker-select.d.ts.map +1 -0
  446. package/build-types/font-size-picker/font-size-picker-toggle-group.d.ts +5 -0
  447. package/build-types/font-size-picker/font-size-picker-toggle-group.d.ts.map +1 -0
  448. package/build-types/font-size-picker/index.d.ts.map +1 -1
  449. package/build-types/font-size-picker/types.d.ts +13 -13
  450. package/build-types/font-size-picker/types.d.ts.map +1 -1
  451. package/build-types/font-size-picker/utils.d.ts +6 -18
  452. package/build-types/font-size-picker/utils.d.ts.map +1 -1
  453. package/build-types/form-token-field/index.d.ts.map +1 -1
  454. package/build-types/grid/hook.d.ts +2 -2
  455. package/build-types/h-stack/component.d.ts +1 -1
  456. package/build-types/h-stack/hook.d.ts +2 -2
  457. package/build-types/heading/hook.d.ts +2 -2
  458. package/build-types/icon/index.d.ts +1 -1
  459. package/build-types/icon/index.d.ts.map +1 -1
  460. package/build-types/input-control/index.d.ts +1 -1
  461. package/build-types/input-control/index.d.ts.map +1 -1
  462. package/build-types/input-control/input-base.d.ts.map +1 -1
  463. package/build-types/input-control/stories/index.d.ts +1 -0
  464. package/build-types/input-control/stories/index.d.ts.map +1 -1
  465. package/build-types/input-control/types.d.ts +2 -1
  466. package/build-types/input-control/types.d.ts.map +1 -1
  467. package/build-types/item-group/item/hook.d.ts +2 -2
  468. package/build-types/item-group/item-group/hook.d.ts +2 -2
  469. package/build-types/menu-group/index.d.ts +21 -1
  470. package/build-types/menu-group/index.d.ts.map +1 -1
  471. package/build-types/menu-group/test/index.d.ts +2 -0
  472. package/build-types/menu-group/test/index.d.ts.map +1 -0
  473. package/build-types/menu-group/types.d.ts +23 -0
  474. package/build-types/menu-group/types.d.ts.map +1 -0
  475. package/build-types/modal/index.d.ts.map +1 -1
  476. package/build-types/modal/stories/index.d.ts.map +1 -1
  477. package/build-types/navigator/navigator-back-button/hook.d.ts +3 -3
  478. package/build-types/navigator/navigator-button/hook.d.ts +3 -3
  479. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  480. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  481. package/build-types/number-control/index.d.ts +2 -2
  482. package/build-types/number-control/index.d.ts.map +1 -1
  483. package/build-types/number-control/stories/index.d.ts +25 -0
  484. package/build-types/number-control/stories/index.d.ts.map +1 -0
  485. package/build-types/number-control/styles/number-control-styles.d.ts +6 -6
  486. package/build-types/number-control/styles/number-control-styles.d.ts.map +1 -1
  487. package/build-types/number-control/test/index.d.ts +2 -0
  488. package/build-types/number-control/test/index.d.ts.map +1 -0
  489. package/build-types/popover/index.d.ts +1 -1
  490. package/build-types/popover/index.d.ts.map +1 -1
  491. package/build-types/popover/stories/e2e/index.d.ts +1 -1
  492. package/build-types/range-control/index.d.ts +1 -1
  493. package/build-types/range-control/styles/range-control-styles.d.ts +2 -2
  494. package/build-types/resizable-box/resize-tooltip/index.d.ts +15 -19
  495. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
  496. package/build-types/resizable-box/resize-tooltip/label.d.ts +4 -3
  497. package/build-types/resizable-box/resize-tooltip/label.d.ts.map +1 -1
  498. package/build-types/scrollable/hook.d.ts +2 -2
  499. package/build-types/search-control/index.d.ts +1 -1
  500. package/build-types/search-control/stories/index.d.ts +2 -2
  501. package/build-types/snackbar/index.d.ts +19 -0
  502. package/build-types/snackbar/index.d.ts.map +1 -0
  503. package/build-types/snackbar/list.d.ts +18 -0
  504. package/build-types/snackbar/list.d.ts.map +1 -0
  505. package/build-types/snackbar/stories/index.d.ts +16 -0
  506. package/build-types/snackbar/stories/index.d.ts.map +1 -0
  507. package/build-types/snackbar/stories/list.d.ts +12 -0
  508. package/build-types/snackbar/stories/list.d.ts.map +1 -0
  509. package/build-types/snackbar/types.d.ts +111 -0
  510. package/build-types/snackbar/types.d.ts.map +1 -0
  511. package/build-types/spacer/hook.d.ts +2 -2
  512. package/build-types/spinner/index.d.ts +1 -1
  513. package/build-types/surface/hook.d.ts +2 -2
  514. package/build-types/tab-panel/index.d.ts +1 -1
  515. package/build-types/tab-panel/index.d.ts.map +1 -1
  516. package/build-types/tab-panel/types.d.ts +19 -1
  517. package/build-types/tab-panel/types.d.ts.map +1 -1
  518. package/build-types/text/hook.d.ts +2 -2
  519. package/build-types/text-control/index.d.ts +2 -2
  520. package/build-types/text-control/stories/index.d.ts.map +1 -1
  521. package/build-types/text-control/types.d.ts +1 -5
  522. package/build-types/text-control/types.d.ts.map +1 -1
  523. package/build-types/theme/color-algorithms.d.ts +20 -0
  524. package/build-types/theme/color-algorithms.d.ts.map +1 -0
  525. package/build-types/theme/index.d.ts +1 -1
  526. package/build-types/theme/index.d.ts.map +1 -1
  527. package/build-types/theme/stories/index.d.ts +4 -0
  528. package/build-types/theme/stories/index.d.ts.map +1 -1
  529. package/build-types/theme/styles.d.ts +3 -2
  530. package/build-types/theme/styles.d.ts.map +1 -1
  531. package/build-types/theme/test/color-algorithms.d.ts +2 -0
  532. package/build-types/theme/test/color-algorithms.d.ts.map +1 -0
  533. package/build-types/theme/types.d.ts +41 -3
  534. package/build-types/theme/types.d.ts.map +1 -1
  535. package/build-types/toggle-control/index.d.ts.map +1 -1
  536. package/build-types/toggle-group-control/stories/index.d.ts.map +1 -1
  537. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts +2 -2
  538. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +2 -2
  539. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +1 -2
  540. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  541. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +1 -1
  542. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
  543. package/build-types/toggle-group-control/types.d.ts +2 -1
  544. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  545. package/build-types/tools-panel/tools-panel/hook.d.ts +2 -2
  546. package/build-types/tools-panel/tools-panel-header/hook.d.ts +2 -2
  547. package/build-types/tools-panel/tools-panel-item/hook.d.ts +2 -2
  548. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  549. package/build-types/truncate/hook.d.ts +2 -2
  550. package/build-types/ui/context/context-system-provider.d.ts.map +1 -1
  551. package/build-types/ui/control-group/hook.d.ts +2 -2
  552. package/build-types/ui/control-label/hook.d.ts +2 -2
  553. package/build-types/ui/form-group/form-group.d.ts +2 -2
  554. package/build-types/ui/form-group/use-form-group.d.ts +5 -5
  555. package/build-types/unit-control/index.d.ts +2 -1
  556. package/build-types/unit-control/index.d.ts.map +1 -1
  557. package/build-types/unit-control/styles/unit-control-styles.d.ts +2 -2
  558. package/build-types/unit-control/types.d.ts +4 -0
  559. package/build-types/unit-control/types.d.ts.map +1 -1
  560. package/build-types/utils/colors-values.d.ts +1 -0
  561. package/build-types/utils/colors-values.d.ts.map +1 -1
  562. package/build-types/utils/config-values.d.ts +0 -2
  563. package/build-types/utils/hooks/use-controlled-value.d.ts +2 -1
  564. package/build-types/utils/hooks/use-controlled-value.d.ts.map +1 -1
  565. package/build-types/v-stack/component.d.ts +2 -2
  566. package/build-types/v-stack/hook.d.ts +2 -2
  567. package/build-types/v-stack/stories/index.d.ts +2 -2
  568. package/build-types/view/index.d.ts +1 -1
  569. package/build-types/view/index.d.ts.map +1 -1
  570. package/package.json +21 -20
  571. package/src/alignment-matrix-control/README.md +7 -7
  572. package/src/alignment-matrix-control/{cell.js → cell.tsx} +7 -1
  573. package/src/alignment-matrix-control/{icon.js → icon.tsx} +6 -3
  574. package/src/alignment-matrix-control/{index.js → index.tsx} +31 -4
  575. package/src/alignment-matrix-control/stories/{index.js → index.tsx} +17 -9
  576. package/src/alignment-matrix-control/styles/{alignment-matrix-control-icon-styles.js → alignment-matrix-control-icon-styles.ts} +11 -3
  577. package/src/alignment-matrix-control/styles/{alignment-matrix-control-styles.js → alignment-matrix-control-styles.ts} +13 -3
  578. package/src/alignment-matrix-control/test/{index.js → index.tsx} +5 -5
  579. package/src/alignment-matrix-control/types.ts +54 -0
  580. package/src/alignment-matrix-control/{utils.js → utils.tsx} +24 -14
  581. package/src/angle-picker-control/index.js +2 -1
  582. package/src/angle-picker-control/styles/angle-picker-control-styles.js +4 -0
  583. package/src/autocomplete/index.js +55 -15
  584. package/src/autocomplete/style.scss +1 -1
  585. package/src/base-control/README.md +21 -12
  586. package/src/base-control/hooks.ts +45 -0
  587. package/src/base-control/index.tsx +18 -7
  588. package/src/base-control/stories/index.tsx +8 -10
  589. package/src/base-control/test/index.tsx +52 -0
  590. package/src/base-control/types.ts +8 -2
  591. package/src/base-field/README.md +21 -22
  592. package/src/base-field/{hook.js → hook.ts} +5 -15
  593. package/src/base-field/{index.js → index.ts} +0 -0
  594. package/src/base-field/{styles.js → styles.ts} +2 -2
  595. package/src/base-field/test/__snapshots__/{index.js.snap → index.tsx.snap} +13 -11
  596. package/src/base-field/test/index.tsx +84 -0
  597. package/src/base-field/types.ts +29 -0
  598. package/src/border-box-control/border-box-control/README.md +6 -17
  599. package/src/border-box-control/border-box-control/component.tsx +1 -1
  600. package/src/border-box-control/border-box-control/hook.ts +18 -4
  601. package/src/border-box-control/border-box-control-split-controls/hook.ts +10 -0
  602. package/src/border-box-control/test/index.js +3 -1
  603. package/src/border-box-control/types.ts +32 -58
  604. package/src/border-control/border-control/README.md +4 -17
  605. package/src/border-control/border-control/component.tsx +3 -2
  606. package/src/border-control/border-control/hook.ts +10 -0
  607. package/src/border-control/border-control-dropdown/component.tsx +7 -6
  608. package/src/border-control/border-control-dropdown/hook.ts +9 -1
  609. package/src/border-control/styles.ts +1 -10
  610. package/src/border-control/types.ts +43 -80
  611. package/src/box-control/linked-button.js +8 -11
  612. package/src/box-control/test/index.js +206 -135
  613. package/src/button/stories/index.js +30 -0
  614. package/src/button/style.scss +17 -14
  615. package/src/button/test/index.js +32 -15
  616. package/src/card/test/__snapshots__/index.tsx.snap +64 -368
  617. package/src/card/test/index.tsx +34 -22
  618. package/src/checkbox-control/style.scss +3 -3
  619. package/src/circular-option-picker/style.scss +1 -0
  620. package/src/color-palette/README.md +12 -16
  621. package/src/color-palette/index.tsx +5 -7
  622. package/src/color-palette/stories/index.tsx +1 -5
  623. package/src/color-palette/style.scss +1 -1
  624. package/src/color-palette/test/__snapshots__/index.tsx.snap +4 -4
  625. package/src/color-palette/test/index.tsx +84 -36
  626. package/src/color-palette/types.ts +14 -10
  627. package/src/color-picker/README.md +1 -0
  628. package/src/color-picker/input-with-slider.tsx +14 -2
  629. package/src/color-picker/styles.ts +0 -4
  630. package/src/confirm-dialog/README.md +3 -2
  631. package/src/custom-select-control/README.md +14 -0
  632. package/src/custom-select-control/index.js +21 -2
  633. package/src/custom-select-control/stories/index.js +1 -0
  634. package/src/custom-select-control/style.scss +6 -1
  635. package/src/custom-select-control/test/index.js +39 -0
  636. package/src/dashicon/index.tsx +51 -0
  637. package/src/dashicon/types.ts +17 -0
  638. package/src/date-time/date/test/index.tsx +2 -2
  639. package/src/date-time/date-time/index.tsx +2 -2
  640. package/src/date-time/types.ts +0 -19
  641. package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -8
  642. package/src/disabled/test/index.tsx +21 -11
  643. package/src/divider/test/index.tsx +4 -4
  644. package/src/draggable/README.md +13 -18
  645. package/src/draggable/{index.js → index.tsx} +71 -47
  646. package/src/draggable/stories/index.tsx +83 -0
  647. package/src/draggable/types.ts +58 -0
  648. package/src/drop-zone/style.scss +1 -1
  649. package/src/dropdown/test/index.js +39 -49
  650. package/src/dropdown-menu/test/index.js +18 -12
  651. package/src/duotone-picker/duotone-picker.js +2 -2
  652. package/src/flex/flex/hook.ts +0 -3
  653. package/src/flex/test/index.tsx +29 -3
  654. package/src/focal-point-picker/focal-point.tsx +2 -24
  655. package/src/focal-point-picker/styles/focal-point-style.ts +8 -32
  656. package/src/focal-point-picker/test/media.js +26 -21
  657. package/src/font-size-picker/constants.ts +37 -0
  658. package/src/font-size-picker/font-size-picker-select.tsx +98 -0
  659. package/src/font-size-picker/font-size-picker-toggle-group.tsx +41 -0
  660. package/src/font-size-picker/index.tsx +55 -118
  661. package/src/font-size-picker/test/index.tsx +253 -44
  662. package/src/font-size-picker/test/utils.ts +58 -98
  663. package/src/font-size-picker/types.ts +25 -16
  664. package/src/font-size-picker/utils.ts +16 -102
  665. package/src/form-toggle/style.scss +3 -3
  666. package/src/form-token-field/index.tsx +13 -5
  667. package/src/form-token-field/style.scss +3 -3
  668. package/src/form-token-field/test/index.tsx +6 -6
  669. package/src/gradient-picker/index.js +5 -8
  670. package/src/grid/test/grid.tsx +31 -31
  671. package/src/higher-order/navigate-regions/index.js +4 -0
  672. package/src/higher-order/navigate-regions/style.scss +52 -20
  673. package/src/higher-order/with-fallback-styles/index.js +4 -2
  674. package/src/higher-order/with-filters/test/index.js +94 -101
  675. package/src/higher-order/with-focus-return/test/index.js +1 -4
  676. package/src/higher-order/with-notices/test/index.js +1 -1
  677. package/src/icon/index.tsx +3 -2
  678. package/src/icon/test/index.js +10 -0
  679. package/src/index.js +3 -2
  680. package/src/input-control/index.tsx +42 -28
  681. package/src/input-control/input-base.tsx +8 -1
  682. package/src/input-control/stories/index.tsx +6 -0
  683. package/src/input-control/test/index.js +18 -0
  684. package/src/input-control/types.ts +2 -0
  685. package/src/item-group/stories/index.js +1 -1
  686. package/src/menu-group/{index.js → index.tsx} +22 -3
  687. package/src/menu-group/test/{index.js → index.tsx} +0 -0
  688. package/src/menu-group/types.ts +23 -0
  689. package/src/menu-item/style.scss +1 -1
  690. package/src/mobile/bottom-sheet/cell.native.js +1 -1
  691. package/src/mobile/bottom-sheet/switch-cell.native.js +2 -2
  692. package/src/mobile/bottom-sheet/test/range-cell.native.js +4 -4
  693. package/src/mobile/global-styles-context/index.native.js +9 -11
  694. package/src/mobile/html-text-input/test/index.native.js +2 -2
  695. package/src/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  696. package/src/mobile/link-settings/test/edit.native.js +70 -126
  697. package/src/mobile/link-settings/test/link-settings-navigation.native.js +5 -5
  698. package/src/modal/index.tsx +11 -0
  699. package/src/modal/stories/index.tsx +3 -0
  700. package/src/modal/test/index.tsx +15 -0
  701. package/src/navigation/stories/index.js +6 -6
  702. package/src/navigation/stories/{controlled-state.js → utils/controlled-state.js} +3 -3
  703. package/src/navigation/stories/{default.js → utils/default.js} +3 -3
  704. package/src/navigation/stories/{group.js → utils/group.js} +4 -4
  705. package/src/navigation/stories/{hide-if-empty.js → utils/hide-if-empty.js} +3 -3
  706. package/src/navigation/stories/{more-examples.js → utils/more-examples.js} +4 -4
  707. package/src/navigation/stories/{search.js → utils/search.js} +5 -5
  708. package/src/navigator/navigator-provider/component.tsx +13 -10
  709. package/src/navigator/navigator-screen/component.tsx +8 -3
  710. package/src/notice/README.md +2 -1
  711. package/src/notice/style.scss +1 -1
  712. package/src/notice/test/list.js +8 -5
  713. package/src/number-control/stories/{index.js → index.tsx} +24 -7
  714. package/src/number-control/styles/{number-control-styles.js → number-control-styles.ts} +5 -3
  715. package/src/number-control/test/index.tsx +600 -0
  716. package/src/palette-edit/index.js +91 -39
  717. package/src/palette-edit/test/index.js +25 -1
  718. package/src/panel/style.scss +1 -1
  719. package/src/popover/index.tsx +28 -9
  720. package/src/popover/style.scss +12 -11
  721. package/src/popover/test/index.tsx +25 -15
  722. package/src/query-controls/index.js +1 -0
  723. package/src/range-control/styles/range-control-styles.ts +2 -2
  724. package/src/range-control/test/index.tsx +57 -60
  725. package/src/resizable-box/style.scss +3 -2
  726. package/src/sandbox/test/index.js +13 -11
  727. package/src/scrollable/test/index.tsx +7 -3
  728. package/src/search-control/style.scss +5 -1
  729. package/src/snackbar/README.md +63 -8
  730. package/src/snackbar/{index.js → index.tsx} +46 -28
  731. package/src/snackbar/{list.js → list.tsx} +20 -21
  732. package/src/snackbar/stories/index.tsx +96 -0
  733. package/src/snackbar/stories/list.tsx +98 -0
  734. package/src/snackbar/style.scss +2 -2
  735. package/src/snackbar/types.ts +116 -0
  736. package/src/spacer/test/index.tsx +33 -3
  737. package/src/spinner/styles.ts +1 -1
  738. package/src/surface/test/index.tsx +12 -12
  739. package/src/tab-panel/README.md +9 -0
  740. package/src/tab-panel/index.tsx +23 -9
  741. package/src/tab-panel/style.scss +46 -35
  742. package/src/tab-panel/test/index.tsx +111 -0
  743. package/src/tab-panel/types.ts +20 -1
  744. package/src/text/test/__snapshots__/index.tsx.snap +1 -0
  745. package/src/text/test/index.tsx +100 -48
  746. package/src/text-control/stories/index.tsx +0 -1
  747. package/src/text-control/types.ts +1 -6
  748. package/src/theme/README.md +32 -2
  749. package/src/theme/color-algorithms.ts +138 -0
  750. package/src/theme/index.tsx +23 -16
  751. package/src/theme/stories/index.tsx +67 -0
  752. package/src/theme/styles.ts +22 -17
  753. package/src/theme/test/color-algorithms.ts +100 -0
  754. package/src/theme/test/index.tsx +68 -35
  755. package/src/theme/types.ts +43 -3
  756. package/src/toggle-control/index.tsx +4 -2
  757. package/src/toggle-group-control/stories/index.tsx +2 -0
  758. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +6 -8
  759. package/src/toggle-group-control/test/index.tsx +40 -17
  760. package/src/toggle-group-control/toggle-group-control/README.md +8 -1
  761. package/src/toggle-group-control/toggle-group-control/component.tsx +1 -1
  762. package/src/toggle-group-control/toggle-group-control/styles.ts +22 -16
  763. package/src/toggle-group-control/types.ts +2 -1
  764. package/src/toolbar-group/test/index.js +8 -6
  765. package/src/tools-panel/stories/index.js +1 -1
  766. package/src/tools-panel/stories/{tools-panel-with-item-group-slot.js → utils/tools-panel-with-item-group-slot.js} +14 -11
  767. package/src/tools-panel/styles.ts +1 -1
  768. package/src/tools-panel/test/index.js +20 -14
  769. package/src/tools-panel/tools-panel-item/hook.ts +6 -1
  770. package/src/tooltip/README.md +7 -0
  771. package/src/tooltip/style.scss +2 -2
  772. package/src/tooltip/test/index.js +109 -18
  773. package/src/tree-grid/test/index.js +12 -12
  774. package/src/truncate/test/index.tsx +9 -9
  775. package/src/ui/context/context-system-provider.js +3 -2
  776. package/src/ui/context/test/context-system-provider.js +5 -4
  777. package/src/ui/control-label/test/index.js +3 -5
  778. package/src/ui/form-group/test/index.js +16 -17
  779. package/src/unit-control/README.md +9 -1
  780. package/src/unit-control/index.tsx +3 -0
  781. package/src/unit-control/test/index.tsx +1 -0
  782. package/src/unit-control/types.ts +4 -0
  783. package/src/utils/colors-values.js +5 -3
  784. package/src/utils/config-values.js +0 -2
  785. package/src/utils/hooks/stories/use-cx.js +1 -1
  786. package/src/utils/hooks/use-controlled-value.ts +2 -2
  787. package/src/utils/input/base.js +2 -2
  788. package/src/utils/theme-variables.scss +20 -0
  789. package/src/view/{index.js → index.ts} +0 -0
  790. package/tsconfig.json +2 -4
  791. package/tsconfig.tsbuildinfo +1 -1
  792. package/src/base-field/test/index.js +0 -67
  793. package/src/dashicon/index.js +0 -26
  794. package/src/draggable/stories/index.js +0 -72
  795. package/src/number-control/test/index.js +0 -478
  796. package/src/snackbar/stories/index.js +0 -89
@@ -29,6 +29,7 @@ show "Mixed" placeholder text.
29
29
  ```jsx
30
30
  import { __experimentalBorderBoxControl as BorderBoxControl } from '@wordpress/components';
31
31
  import { __ } from '@wordpress/i18n';
32
+ import { useState } from '@wordpress/element';
32
33
 
33
34
  const colors = [
34
35
  { name: 'Blue 20', color: '#72aee6' },
@@ -68,7 +69,7 @@ a `SlotFillProvider` overall.
68
69
 
69
70
  ## Props
70
71
 
71
- ### `colors`: `Array`
72
+ ### `colors`: `( PaletteObject | ColorObject )[]`
72
73
 
73
74
  An array of color definitions. This may also be a multi-dimensional array where
74
75
  colors are organized by multiple origins.
@@ -76,6 +77,7 @@ colors are organized by multiple origins.
76
77
  Each color may be an object containing a `name` and `color` value.
77
78
 
78
79
  - Required: No
80
+ - Default: `[]`
79
81
 
80
82
  ### `disableCustomColors`: `boolean`
81
83
 
@@ -89,6 +91,7 @@ This controls whether the alpha channel will be offered when selecting
89
91
  custom colors.
90
92
 
91
93
  - Required: No
94
+ - Default: `false`
92
95
 
93
96
  ### `enableStyle`: `boolean`
94
97
 
@@ -124,7 +127,7 @@ _Note: The will be `undefined` if a user clears all borders._
124
127
 
125
128
  ### `popoverPlacement`: `string`
126
129
 
127
- The position of the color popover relative to the control wrapper.
130
+ The position of the color popovers relative to the control wrapper.
128
131
 
129
132
  By default, popovers are displayed relative to the button that initiated the popover. By supplying a popover placement, you force the popover to display in a specific location.
130
133
 
@@ -134,7 +137,7 @@ The available base placements are 'top', 'right', 'bottom', 'left'. Each of thes
134
137
 
135
138
  ### `popoverOffset`: `number`
136
139
 
137
- Works in conjunctions with `popoverPlacement` and allows leaving a space between the color popover and the control wrapper.
140
+ The space between the popover and the control wrapper.
138
141
 
139
142
  - Required: No
140
143
 
@@ -166,17 +169,3 @@ const splitBorders = {
166
169
  ```
167
170
 
168
171
  - Required: No
169
-
170
- ### `__experimentalHasMultipleOrigins`: `boolean`
171
-
172
- This is passed on to the color related sub-components which need to be made
173
- aware of whether the colors prop contains multiple origins.
174
-
175
- - Required: No
176
-
177
- ### `__experimentalIsRenderedInSidebar`: `boolean`
178
-
179
- This is passed on to the color related sub-components so they may render more
180
- effectively when used within a sidebar.
181
-
182
- - Required: No
@@ -58,7 +58,7 @@ const UnconnectedBorderBoxControl = (
58
58
  onSplitChange,
59
59
  popoverPlacement,
60
60
  popoverOffset,
61
- size = 'default',
61
+ size,
62
62
  splitValue,
63
63
  toggleLinked,
64
64
  wrapperClassName,
@@ -25,10 +25,18 @@ import type { Borders, BorderSide, BorderBoxControlProps } from '../types';
25
25
  export function useBorderBoxControl(
26
26
  props: WordPressComponentProps< BorderBoxControlProps, 'div' >
27
27
  ) {
28
- const { className, onChange, value, ...otherProps } = useContextSystem(
29
- props,
30
- 'BorderBoxControl'
31
- );
28
+ const {
29
+ className,
30
+ colors = [],
31
+ onChange,
32
+ enableAlpha = false,
33
+ enableStyle = true,
34
+ size = 'default',
35
+ value,
36
+ __experimentalHasMultipleOrigins = false,
37
+ __experimentalIsRenderedInSidebar = false,
38
+ ...otherProps
39
+ } = useContextSystem( props, 'BorderBoxControl' );
32
40
 
33
41
  const mixedBorders = hasMixedBorders( value );
34
42
  const splitBorders = hasSplitBorders( value );
@@ -114,7 +122,10 @@ export function useBorderBoxControl(
114
122
  return {
115
123
  ...otherProps,
116
124
  className: classes,
125
+ colors,
117
126
  disableUnits: mixedBorders && ! hasWidthValue,
127
+ enableAlpha,
128
+ enableStyle,
118
129
  hasMixedBorders: mixedBorders,
119
130
  isLinked,
120
131
  linkedControlClassName,
@@ -122,7 +133,10 @@ export function useBorderBoxControl(
122
133
  onSplitChange,
123
134
  toggleLinked,
124
135
  linkedValue,
136
+ size,
125
137
  splitValue,
126
138
  wrapperClassName,
139
+ __experimentalHasMultipleOrigins,
140
+ __experimentalIsRenderedInSidebar,
127
141
  };
128
142
  }
@@ -17,7 +17,12 @@ export function useBorderBoxControlSplitControls(
17
17
  ) {
18
18
  const {
19
19
  className,
20
+ colors = [],
21
+ enableAlpha = false,
22
+ enableStyle = true,
20
23
  size = 'default',
24
+ __experimentalHasMultipleOrigins = false,
25
+ __experimentalIsRenderedInSidebar = false,
21
26
  ...otherProps
22
27
  } = useContextSystem( props, 'BorderBoxControlSplitControls' );
23
28
 
@@ -39,7 +44,12 @@ export function useBorderBoxControlSplitControls(
39
44
  ...otherProps,
40
45
  centeredClassName,
41
46
  className: classes,
47
+ colors,
48
+ enableAlpha,
49
+ enableStyle,
42
50
  rightAlignedClassName,
43
51
  size,
52
+ __experimentalHasMultipleOrigins,
53
+ __experimentalIsRenderedInSidebar,
44
54
  };
45
55
  }
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { render, screen } from '@testing-library/react';
5
5
  import userEvent from '@testing-library/user-event';
6
+ import { act } from 'react-test-renderer';
6
7
 
7
8
  /**
8
9
  * Internal dependencies
@@ -186,6 +187,7 @@ describe( 'BorderBoxControl', () => {
186
187
 
187
188
  const colorButton = screen.getByLabelText( colorPickerRegex );
188
189
  await user.click( colorButton );
190
+ await act( () => Promise.resolve() );
189
191
 
190
192
  const styleLabel = screen.queryByText( 'Style' );
191
193
  const solidButton = screen.queryByRole( 'button', {
@@ -309,7 +311,7 @@ describe( 'BorderBoxControl', () => {
309
311
  await user.click( colorButtons[ 3 ] );
310
312
  assertStyleOptionsMissing();
311
313
  await user.click( colorButtons[ 3 ] );
312
- }, 10000 );
314
+ } );
313
315
  } );
314
316
 
315
317
  describe( 'onChange handling', () => {
@@ -1,7 +1,12 @@
1
1
  /**
2
2
  * Internal dependencies
3
3
  */
4
- import type { Border, ColorProps, LabelProps } from '../border-control/types';
4
+ import type {
5
+ Border,
6
+ ColorProps,
7
+ LabelProps,
8
+ BorderControlProps,
9
+ } from '../border-control/types';
5
10
  import type { PopoverProps } from '../popover/types';
6
11
 
7
12
  export type Borders = {
@@ -16,11 +21,8 @@ export type BorderProp = keyof Border;
16
21
  export type BorderSide = keyof Borders;
17
22
 
18
23
  export type BorderBoxControlProps = ColorProps &
19
- LabelProps & {
20
- /**
21
- * This controls whether to support border style selections.
22
- */
23
- enableStyle?: boolean;
24
+ LabelProps &
25
+ Pick< BorderControlProps, 'enableStyle' | 'size' > & {
24
26
  /**
25
27
  * A callback function invoked when any border value is changed. The value
26
28
  * received may be a "flat" border object, one that has properties defining
@@ -43,15 +45,9 @@ export type BorderBoxControlProps = ColorProps &
43
45
  * properties but for each side; `top`, `right`, `bottom`, and `left`.
44
46
  */
45
47
  value: AnyBorder;
46
- /**
47
- * Size of the control.
48
- *
49
- * @default 'default'
50
- */
51
- size?: 'default' | '__unstable-large';
52
48
  };
53
49
 
54
- export type LinkedButtonProps = {
50
+ export type LinkedButtonProps = Pick< BorderBoxControlProps, 'size' > & {
55
51
  /**
56
52
  * This prop allows the `LinkedButton` to reflect whether the parent
57
53
  * `BorderBoxControl` is currently displaying "linked" or "unlinked"
@@ -64,58 +60,36 @@ export type LinkedButtonProps = {
64
60
  * `BorderBoxControl`.
65
61
  */
66
62
  onClick: () => void;
67
- /**
68
- * Size of the control.
69
- *
70
- * @default 'default'
71
- */
72
- size?: 'default' | '__unstable-large';
73
63
  };
74
64
 
75
- export type VisualizerProps = {
65
+ export type VisualizerProps = Pick< BorderBoxControlProps, 'size' > & {
76
66
  /**
77
67
  * An object representing the current border configuration. It contains
78
68
  * properties for each side, with each side an object reflecting the border
79
69
  * color, style, and width.
80
70
  */
81
71
  value?: Borders;
82
- /**
83
- * Size of the control.
84
- *
85
- * @default 'default'
86
- */
87
- size?: 'default' | '__unstable-large';
88
72
  };
89
73
 
90
- export type SplitControlsProps = ColorProps & {
91
- /**
92
- * This controls whether to include border style options within the
93
- * individual `BorderControl` components.
94
- */
95
- enableStyle?: boolean;
96
- /**
97
- * A callback that is invoked whenever an individual side's border has
98
- * changed.
99
- */
100
- onChange: ( value: Border | undefined, side: BorderSide ) => void;
101
- /**
102
- * The position of the color popovers compared to the control wrapper.
103
- */
104
- popoverPlacement?: PopoverProps[ 'placement' ];
105
- /**
106
- * The space between the popover and the control wrapper.
107
- */
108
- popoverOffset?: PopoverProps[ 'offset' ];
109
- /**
110
- * An object representing the current border configuration. It contains
111
- * properties for each side, with each side an object reflecting the border
112
- * color, style, and width.
113
- */
114
- value?: Borders;
115
- /**
116
- * Size of the control.
117
- *
118
- * @default 'default'
119
- */
120
- size?: 'default' | '__unstable-large';
121
- };
74
+ export type SplitControlsProps = ColorProps &
75
+ Pick< BorderBoxControlProps, 'enableStyle' | 'size' > & {
76
+ /**
77
+ * A callback that is invoked whenever an individual side's border has
78
+ * changed.
79
+ */
80
+ onChange: ( value: Border | undefined, side: BorderSide ) => void;
81
+ /**
82
+ * The position of the color popovers compared to the control wrapper.
83
+ */
84
+ popoverPlacement?: PopoverProps[ 'placement' ];
85
+ /**
86
+ * The space between the popover and the control wrapper.
87
+ */
88
+ popoverOffset?: PopoverProps[ 'offset' ];
89
+ /**
90
+ * An object representing the current border configuration. It contains
91
+ * properties for each side, with each side an object reflecting the border
92
+ * color, style, and width.
93
+ */
94
+ value?: Borders;
95
+ };
@@ -51,7 +51,7 @@ for the `BorderControl`'s color and style options, by rendering your
51
51
 
52
52
  ## Props
53
53
 
54
- ### `colors`: `Array`
54
+ ### `colors`: `( PaletteObject | ColorObject )[]`
55
55
 
56
56
  An array of color definitions. This may also be a multi-dimensional array where
57
57
  colors are organized by multiple origins.
@@ -59,6 +59,7 @@ colors are organized by multiple origins.
59
59
  Each color may be an object containing a `name` and `color` value.
60
60
 
61
61
  - Required: No
62
+ - Default: `[]`
62
63
 
63
64
  ### `disableCustomColors`: `boolean`
64
65
 
@@ -78,11 +79,11 @@ This controls whether the alpha channel will be offered when selecting
78
79
  custom colors.
79
80
 
80
81
  - Required: No
82
+ - Default: `false`
81
83
 
82
84
  ### `enableStyle`: `boolean`
83
85
 
84
- This controls whether to include border style options within the
85
- `BorderDropdown` sub-component.
86
+ This controls whether to support border style selection.
86
87
 
87
88
  - Required: No
88
89
  - Default: `true`
@@ -172,17 +173,3 @@ Flags whether this `BorderControl` should also render a `RangeControl` for
172
173
  additional control over a border's width.
173
174
 
174
175
  - Required: No
175
-
176
- ### `__experimentalHasMultipleOrigins`: `boolean`
177
-
178
- This is passed on to the color related sub-components which need to be made
179
- aware of whether the colors prop contains multiple origins.
180
-
181
- - Required: No
182
-
183
- ### `__experimentalIsRenderedInSidebar`: `boolean`
184
-
185
- This is passed on to the color related sub-components so they may render more
186
- effectively when used within a sidebar.
187
-
188
- - Required: No
@@ -41,7 +41,7 @@ const UnconnectedBorderControl = (
41
41
  disableCustomColors,
42
42
  disableUnits,
43
43
  enableAlpha,
44
- enableStyle = true,
44
+ enableStyle,
45
45
  hideLabelFromVision,
46
46
  innerWrapperClassName,
47
47
  inputWidth,
@@ -53,7 +53,7 @@ const UnconnectedBorderControl = (
53
53
  __unstablePopoverProps,
54
54
  previousStyleSelection,
55
55
  showDropdownHeader,
56
- size = 'default',
56
+ size,
57
57
  sliderClassName,
58
58
  value: border,
59
59
  widthUnit,
@@ -104,6 +104,7 @@ const UnconnectedBorderControl = (
104
104
  />
105
105
  { withSlider && (
106
106
  <RangeControl
107
+ __nextHasNoMarginBottom
107
108
  label={ __( 'Border width' ) }
108
109
  hideLabelFromVision
109
110
  className={ sliderClassName }
@@ -30,12 +30,17 @@ export function useBorderControl(
30
30
  ) {
31
31
  const {
32
32
  className,
33
+ colors = [],
33
34
  isCompact,
34
35
  onChange,
36
+ enableAlpha = true,
37
+ enableStyle = true,
35
38
  shouldSanitizeBorder = true,
36
39
  size = 'default',
37
40
  value: border,
38
41
  width,
42
+ __experimentalHasMultipleOrigins = false,
43
+ __experimentalIsRenderedInSidebar = false,
39
44
  ...otherProps
40
45
  } = useContextSystem( props, 'BorderControl' );
41
46
 
@@ -137,6 +142,9 @@ export function useBorderControl(
137
142
  return {
138
143
  ...otherProps,
139
144
  className: classes,
145
+ colors,
146
+ enableAlpha,
147
+ enableStyle,
140
148
  innerWrapperClassName,
141
149
  inputWidth: wrapperWidth,
142
150
  onBorderChange,
@@ -148,5 +156,7 @@ export function useBorderControl(
148
156
  widthUnit,
149
157
  widthValue,
150
158
  size,
159
+ __experimentalHasMultipleOrigins,
160
+ __experimentalIsRenderedInSidebar,
151
161
  };
152
162
  }
@@ -24,12 +24,13 @@ import { useBorderControlDropdown } from './hook';
24
24
  import { StyledLabel } from '../../base-control/styles/base-control-styles';
25
25
  import DropdownContentWrapper from '../../dropdown/dropdown-content-wrapper';
26
26
 
27
- import type { Color, ColorOrigin, Colors, DropdownProps } from '../types';
27
+ import type { ColorObject, PaletteObject } from '../../color-palette/types';
28
+ import type { ColorProps, DropdownProps } from '../types';
28
29
 
29
30
  const noop = () => undefined;
30
31
  const getColorObject = (
31
32
  colorValue: CSSProperties[ 'borderColor' ],
32
- colors: Colors | undefined,
33
+ colors: ColorProps[ 'colors' ] | undefined,
33
34
  hasMultipleColorOrigins: boolean
34
35
  ) => {
35
36
  if ( ! colorValue || ! colors ) {
@@ -39,7 +40,7 @@ const getColorObject = (
39
40
  if ( hasMultipleColorOrigins ) {
40
41
  let matchedColor;
41
42
 
42
- ( colors as ColorOrigin[] ).some( ( origin ) =>
43
+ ( colors as PaletteObject[] ).some( ( origin ) =>
43
44
  origin.colors.some( ( color ) => {
44
45
  if ( color.color === colorValue ) {
45
46
  matchedColor = color;
@@ -53,14 +54,14 @@ const getColorObject = (
53
54
  return matchedColor;
54
55
  }
55
56
 
56
- return ( colors as Color[] ).find(
57
+ return ( colors as ColorObject[] ).find(
57
58
  ( color ) => color.color === colorValue
58
59
  );
59
60
  };
60
61
 
61
62
  const getToggleAriaLabel = (
62
63
  colorValue: CSSProperties[ 'borderColor' ],
63
- colorObject: Color | undefined,
64
+ colorObject: ColorObject | undefined,
64
65
  style: CSSProperties[ 'borderStyle' ],
65
66
  isStyleEnabled: boolean
66
67
  ) => {
@@ -131,6 +132,7 @@ const BorderControlDropdown = (
131
132
  colors,
132
133
  disableCustomColors,
133
134
  enableAlpha,
135
+ enableStyle,
134
136
  indicatorClassName,
135
137
  indicatorWrapperClassName,
136
138
  onReset,
@@ -140,7 +142,6 @@ const BorderControlDropdown = (
140
142
  popoverControlsClassName,
141
143
  resetButtonClassName,
142
144
  showDropdownHeader,
143
- enableStyle = true,
144
145
  __unstablePopoverProps,
145
146
  ...otherProps
146
147
  } = useBorderControlDropdown( props );
@@ -19,10 +19,14 @@ export function useBorderControlDropdown(
19
19
  const {
20
20
  border,
21
21
  className,
22
- colors,
22
+ colors = [],
23
+ enableAlpha = false,
24
+ enableStyle = true,
23
25
  onChange,
24
26
  previousStyleSelection,
25
27
  size = 'default',
28
+ __experimentalHasMultipleOrigins = false,
29
+ __experimentalIsRenderedInSidebar = false,
26
30
  ...otherProps
27
31
  } = useContextSystem( props, 'BorderControlDropdown' );
28
32
 
@@ -81,6 +85,8 @@ export function useBorderControlDropdown(
81
85
  border,
82
86
  className: classes,
83
87
  colors,
88
+ enableAlpha,
89
+ enableStyle,
84
90
  indicatorClassName,
85
91
  indicatorWrapperClassName,
86
92
  onColorChange,
@@ -89,5 +95,7 @@ export function useBorderControlDropdown(
89
95
  popoverContentClassName,
90
96
  popoverControlsClassName,
91
97
  resetButtonClassName,
98
+ __experimentalHasMultipleOrigins,
99
+ __experimentalIsRenderedInSidebar,
92
100
  };
93
101
  }
@@ -8,10 +8,7 @@ import { css } from '@emotion/react';
8
8
  */
9
9
  import { COLORS, CONFIG, boxSizingReset, rtl } from '../utils';
10
10
  import { space } from '../ui/utils/space';
11
- import {
12
- StyledField,
13
- StyledLabel,
14
- } from '../base-control/styles/base-control-styles';
11
+ import { StyledLabel } from '../base-control/styles/base-control-styles';
15
12
  import {
16
13
  ValueInput as UnitControlWrapper,
17
14
  UnitSelect,
@@ -193,10 +190,4 @@ export const borderStyleButton = css`
193
190
  export const borderSlider = () => css`
194
191
  flex: 1 1 60%;
195
192
  ${ rtl( { marginRight: space( 3 ) } )() }
196
-
197
- ${ StyledField } {
198
- margin-bottom: 0;
199
- font-size: 0;
200
- display: flex;
201
- }
202
193
  `;
@@ -6,6 +6,7 @@ import type { CSSProperties } from 'react';
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
9
+ import type { ColorPaletteProps } from '../color-palette/types';
9
10
  import type { PopoverProps } from '../popover/types';
10
11
 
11
12
  export type Border = {
@@ -14,43 +15,17 @@ export type Border = {
14
15
  width?: CSSProperties[ 'borderWidth' ];
15
16
  };
16
17
 
17
- export type Color = {
18
- name: string;
19
- color: NonNullable< CSSProperties[ 'color' ] >;
20
- };
21
-
22
- export type ColorOrigin = {
23
- name: string;
24
- colors: Color[];
25
- };
26
-
27
- export type Colors = ColorOrigin[] | Color[];
28
-
29
- export type ColorProps = {
30
- /**
31
- * An array of color definitions. This may also be a multi-dimensional array
32
- * where colors are organized by multiple origins.
33
- */
34
- colors?: Colors;
18
+ export type ColorProps = Pick<
19
+ ColorPaletteProps,
20
+ | 'colors'
21
+ | 'enableAlpha'
22
+ | '__experimentalHasMultipleOrigins'
23
+ | '__experimentalIsRenderedInSidebar'
24
+ > & {
35
25
  /**
36
26
  * This toggles the ability to choose custom colors.
37
27
  */
38
28
  disableCustomColors?: boolean;
39
- /**
40
- * This controls whether the alpha channel will be offered when selecting
41
- * custom colors.
42
- */
43
- enableAlpha?: boolean;
44
- /**
45
- * This is passed on to the color related sub-components which need to be
46
- * made aware of whether the colors prop contains multiple origins.
47
- */
48
- __experimentalHasMultipleOrigins?: boolean;
49
- /**
50
- * This is passed on to the color related sub-components so they may render
51
- * more effectively when used within a sidebar.
52
- */
53
- __experimentalIsRenderedInSidebar?: boolean;
54
29
  };
55
30
 
56
31
  export type LabelProps = {
@@ -72,8 +47,7 @@ export type BorderControlProps = ColorProps &
72
47
  */
73
48
  disableUnits?: boolean;
74
49
  /**
75
- * This controls whether to include border style options within the
76
- * `BorderDropdown` sub-component.
50
+ * This controls whether to support border style selection.
77
51
  *
78
52
  * @default true
79
53
  */
@@ -107,6 +81,12 @@ export type BorderControlProps = ColorProps &
107
81
  * and a close button.
108
82
  */
109
83
  showDropdownHeader?: boolean;
84
+ /**
85
+ * Size of the control.
86
+ *
87
+ * @default 'default'
88
+ */
89
+ size?: 'default' | '__unstable-large';
110
90
  /**
111
91
  * An object representing a border or `undefined`. Used to set the
112
92
  * current border configuration for this component.
@@ -122,55 +102,38 @@ export type BorderControlProps = ColorProps &
122
102
  * `RangeControl` for additional control over a border's width.
123
103
  */
124
104
  withSlider?: boolean;
105
+ };
106
+
107
+ export type DropdownProps = ColorProps &
108
+ Pick< BorderControlProps, 'enableStyle' | 'size' > & {
125
109
  /**
126
- * Size of the control.
127
- *
128
- * @default 'default'
110
+ * An object representing a border or `undefined`. This component will
111
+ * extract the border color and style selections from this object to use as
112
+ * values for its popover controls.
129
113
  */
130
- size?: 'default' | '__unstable-large';
114
+ border?: Border;
115
+ /**
116
+ * An internal prop used to control the visibility of the dropdown.
117
+ */
118
+ __unstablePopoverProps?: Omit< PopoverProps, 'children' >;
119
+ /**
120
+ * A callback invoked when the border color or style selections change.
121
+ */
122
+ onChange: ( newBorder?: Border ) => void;
123
+ /**
124
+ * Any previous style selection made by the user. This can be used to
125
+ * reapply that previous selection when, for example, a zero border width is
126
+ * to a non-zero value.
127
+ */
128
+ previousStyleSelection?: string;
129
+ /**
130
+ * Whether or not to render a header for the border color and style picker
131
+ * dropdown. The header includes a label for the color picker and a
132
+ * close button.
133
+ */
134
+ showDropdownHeader?: boolean;
131
135
  };
132
136
 
133
- export type DropdownProps = ColorProps & {
134
- /**
135
- * An object representing a border or `undefined`. This component will
136
- * extract the border color and style selections from this object to use as
137
- * values for its popover controls.
138
- */
139
- border?: Border;
140
- /**
141
- * An internal prop used to control the visibility of the dropdown.
142
- */
143
- __unstablePopoverProps?: Omit< PopoverProps, 'children' >;
144
- /**
145
- * This controls whether to render border style options.
146
- *
147
- * @default true
148
- */
149
- enableStyle?: boolean;
150
- /**
151
- * A callback invoked when the border color or style selections change.
152
- */
153
- onChange: ( newBorder?: Border ) => void;
154
- /**
155
- * Any previous style selection made by the user. This can be used to
156
- * reapply that previous selection when, for example, a zero border width is
157
- * to a non-zero value.
158
- */
159
- previousStyleSelection?: string;
160
- /**
161
- * Whether or not to render a header for the border color and style picker
162
- * dropdown. The header includes a label for the color picker and a
163
- * close button.
164
- */
165
- showDropdownHeader?: boolean;
166
- /**
167
- * Size of the control.
168
- *
169
- * @default 'default'
170
- */
171
- size?: 'default' | '__unstable-large';
172
- };
173
-
174
137
  export type StylePickerProps = LabelProps & {
175
138
  /**
176
139
  * A callback function invoked when a border style is selected or cleared.