@wordpress/components 19.8.4 → 19.11.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 (630) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/CONTRIBUTING.md +80 -7
  3. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +11 -11
  4. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  5. package/build/border-box-control/border-box-control/component.js +22 -7
  6. package/build/border-box-control/border-box-control/component.js.map +1 -1
  7. package/build/border-box-control/border-box-control-linked-button/hook.js +3 -2
  8. package/build/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
  9. package/build/border-box-control/border-box-control-split-controls/component.js +21 -8
  10. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  11. package/build/border-box-control/border-box-control-visualizer/hook.js +3 -2
  12. package/build/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  13. package/build/border-box-control/styles.js +11 -15
  14. package/build/border-box-control/styles.js.map +1 -1
  15. package/build/border-control/border-control/component.js +5 -3
  16. package/build/border-control/border-control/component.js.map +1 -1
  17. package/build/border-control/border-control/hook.js +6 -3
  18. package/build/border-control/border-control/hook.js.map +1 -1
  19. package/build/border-control/border-control-dropdown/component.js +6 -2
  20. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  21. package/build/border-control/border-control-dropdown/hook.js +5 -5
  22. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  23. package/build/border-control/styles.js +58 -29
  24. package/build/border-control/styles.js.map +1 -1
  25. package/build/box-control/index.js +0 -21
  26. package/build/box-control/index.js.map +1 -1
  27. package/build/box-control/utils.js +1 -8
  28. package/build/box-control/utils.js.map +1 -1
  29. package/build/button/index.js +3 -5
  30. package/build/button/index.js.map +1 -1
  31. package/build/button/index.native.js +16 -2
  32. package/build/button/index.native.js.map +1 -1
  33. package/build/button-group/index.js +24 -7
  34. package/build/button-group/index.js.map +1 -1
  35. package/build/{flyout → button-group}/types.js +0 -0
  36. package/build/button-group/types.js.map +1 -0
  37. package/build/checkbox-control/index.js +34 -7
  38. package/build/checkbox-control/index.js.map +1 -1
  39. package/build/checkbox-control/types.js +6 -0
  40. package/build/checkbox-control/types.js.map +1 -0
  41. package/build/circular-option-picker/index.js +1 -2
  42. package/build/circular-option-picker/index.js.map +1 -1
  43. package/build/color-palette/index.js +5 -12
  44. package/build/color-palette/index.js.map +1 -1
  45. package/build/date-time/date.js +43 -19
  46. package/build/date-time/date.js.map +1 -1
  47. package/build/date-time/index.js +28 -3
  48. package/build/date-time/index.js.map +1 -1
  49. package/build/date-time/time.js +42 -40
  50. package/build/date-time/time.js.map +1 -1
  51. package/build/date-time/timezone.js +4 -3
  52. package/build/date-time/timezone.js.map +1 -1
  53. package/build/date-time/types.js +6 -0
  54. package/build/date-time/types.js.map +1 -0
  55. package/build/date-time/utils.js +6 -4
  56. package/build/date-time/utils.js.map +1 -1
  57. package/build/disabled/index.js +4 -76
  58. package/build/disabled/index.js.map +1 -1
  59. package/build/draggable/index.native.js +223 -0
  60. package/build/draggable/index.native.js.map +1 -0
  61. package/build/dropdown/index.js +7 -5
  62. package/build/dropdown/index.js.map +1 -1
  63. package/build/focal-point-picker/index.native.js +3 -3
  64. package/build/focal-point-picker/index.native.js.map +1 -1
  65. package/build/heading/hook.js +1 -1
  66. package/build/heading/hook.js.map +1 -1
  67. package/build/index.js +0 -8
  68. package/build/index.js.map +1 -1
  69. package/build/index.native.js +16 -0
  70. package/build/index.native.js.map +1 -1
  71. package/build/input-control/index.js +27 -4
  72. package/build/input-control/index.js.map +1 -1
  73. package/build/input-control/styles/input-control-styles.js +42 -30
  74. package/build/input-control/styles/input-control-styles.js.map +1 -1
  75. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  76. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  77. package/build/mobile/bottom-sheet/index.native.js +1 -1
  78. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  79. package/build/mobile/bottom-sheet-select-control/index.native.js +4 -2
  80. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  81. package/build/mobile/html-text-input/index.native.js +19 -8
  82. package/build/mobile/html-text-input/index.native.js.map +1 -1
  83. package/build/mobile/keyboard-aware-flat-list/index.android.js +28 -5
  84. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  85. package/build/mobile/keyboard-aware-flat-list/index.ios.js +47 -24
  86. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  87. package/build/navigation/styles/navigation-styles.js +12 -12
  88. package/build/navigation/styles/navigation-styles.js.map +1 -1
  89. package/build/notice/index.native.js +44 -40
  90. package/build/notice/index.native.js.map +1 -1
  91. package/build/notice/list.native.js +27 -45
  92. package/build/notice/list.native.js.map +1 -1
  93. package/build/palette-edit/index.js +38 -7
  94. package/build/palette-edit/index.js.map +1 -1
  95. package/build/popover/index.js +223 -323
  96. package/build/popover/index.js.map +1 -1
  97. package/build/resizable-box/resize-tooltip/utils.js +5 -8
  98. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  99. package/build/sandbox/index.js +2 -2
  100. package/build/sandbox/index.js.map +1 -1
  101. package/build/sandbox/index.native.js +1 -1
  102. package/build/sandbox/index.native.js.map +1 -1
  103. package/build/select-control/index.js +31 -4
  104. package/build/select-control/index.js.map +1 -1
  105. package/build/select-control/styles/select-control-styles.js +17 -14
  106. package/build/select-control/styles/select-control-styles.js.map +1 -1
  107. package/build/surface/styles.js +8 -8
  108. package/build/surface/styles.js.map +1 -1
  109. package/build/text/hook.js +5 -5
  110. package/build/text/hook.js.map +1 -1
  111. package/build/text/styles/text-mixins.native.js +1 -1
  112. package/build/text/styles/text-mixins.native.js.map +1 -1
  113. package/build/text/styles.js +7 -7
  114. package/build/text/styles.js.map +1 -1
  115. package/build/text-control/index.js +35 -28
  116. package/build/text-control/index.js.map +1 -1
  117. package/build/text-control/types.js +6 -0
  118. package/build/text-control/types.js.map +1 -0
  119. package/build/toggle-group-control/toggle-group-control/component.js +1 -3
  120. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  121. package/build/toggle-group-control/toggle-group-control-option-icon/component.js +6 -4
  122. package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  123. package/build/tools-panel/tools-panel-header/component.js +52 -36
  124. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  125. package/build/tooltip/index.js +2 -2
  126. package/build/tooltip/index.js.map +1 -1
  127. package/build/ui/spinner/component.js +1 -1
  128. package/build/ui/spinner/component.js.map +1 -1
  129. package/build/unit-control/index.js +3 -3
  130. package/build/unit-control/index.js.map +1 -1
  131. package/build/unit-control/styles/unit-control-styles.js +11 -20
  132. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  133. package/build/unit-control/utils.js.map +1 -1
  134. package/build/utils/colors-values.js +9 -24
  135. package/build/utils/colors-values.js.map +1 -1
  136. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +11 -11
  137. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  138. package/build-module/border-box-control/border-box-control/component.js +22 -7
  139. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  140. package/build-module/border-box-control/border-box-control-linked-button/hook.js +3 -2
  141. package/build-module/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
  142. package/build-module/border-box-control/border-box-control-split-controls/component.js +21 -8
  143. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  144. package/build-module/border-box-control/border-box-control-visualizer/hook.js +3 -2
  145. package/build-module/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  146. package/build-module/border-box-control/styles.js +9 -15
  147. package/build-module/border-box-control/styles.js.map +1 -1
  148. package/build-module/border-control/border-control/component.js +5 -3
  149. package/build-module/border-control/border-control/component.js.map +1 -1
  150. package/build-module/border-control/border-control/hook.js +6 -3
  151. package/build-module/border-control/border-control/hook.js.map +1 -1
  152. package/build-module/border-control/border-control-dropdown/component.js +6 -2
  153. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  154. package/build-module/border-control/border-control-dropdown/hook.js +5 -5
  155. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  156. package/build-module/border-control/styles.js +56 -29
  157. package/build-module/border-control/styles.js.map +1 -1
  158. package/build-module/box-control/index.js +1 -20
  159. package/build-module/box-control/index.js.map +1 -1
  160. package/build-module/box-control/utils.js +0 -6
  161. package/build-module/box-control/utils.js.map +1 -1
  162. package/build-module/button/index.js +3 -4
  163. package/build-module/button/index.js.map +1 -1
  164. package/build-module/button/index.native.js +16 -3
  165. package/build-module/button/index.native.js.map +1 -1
  166. package/build-module/button-group/index.js +27 -7
  167. package/build-module/button-group/index.js.map +1 -1
  168. package/build-module/{flyout → button-group}/types.js +0 -0
  169. package/build-module/{flyout → button-group}/types.js.map +0 -0
  170. package/build-module/checkbox-control/index.js +31 -7
  171. package/build-module/checkbox-control/index.js.map +1 -1
  172. package/build-module/checkbox-control/types.js +2 -0
  173. package/{build/flyout → build-module/checkbox-control}/types.js.map +0 -0
  174. package/build-module/circular-option-picker/index.js +1 -2
  175. package/build-module/circular-option-picker/index.js.map +1 -1
  176. package/build-module/color-palette/index.js +5 -11
  177. package/build-module/color-palette/index.js.map +1 -1
  178. package/build-module/date-time/date.js +44 -19
  179. package/build-module/date-time/date.js.map +1 -1
  180. package/build-module/date-time/index.js +28 -4
  181. package/build-module/date-time/index.js.map +1 -1
  182. package/build-module/date-time/time.js +43 -41
  183. package/build-module/date-time/time.js.map +1 -1
  184. package/build-module/date-time/timezone.js +4 -3
  185. package/build-module/date-time/timezone.js.map +1 -1
  186. package/build-module/date-time/types.js +2 -0
  187. package/build-module/date-time/types.js.map +1 -0
  188. package/build-module/date-time/utils.js +6 -4
  189. package/build-module/date-time/utils.js.map +1 -1
  190. package/build-module/disabled/index.js +5 -76
  191. package/build-module/disabled/index.js.map +1 -1
  192. package/build-module/draggable/index.native.js +206 -0
  193. package/build-module/draggable/index.native.js.map +1 -0
  194. package/build-module/dropdown/index.js +7 -5
  195. package/build-module/dropdown/index.js.map +1 -1
  196. package/build-module/focal-point-picker/index.native.js +3 -3
  197. package/build-module/focal-point-picker/index.native.js.map +1 -1
  198. package/build-module/heading/hook.js +1 -1
  199. package/build-module/heading/hook.js.map +1 -1
  200. package/build-module/index.js +0 -1
  201. package/build-module/index.js.map +1 -1
  202. package/build-module/index.native.js +2 -1
  203. package/build-module/index.native.js.map +1 -1
  204. package/build-module/input-control/index.js +24 -3
  205. package/build-module/input-control/index.js.map +1 -1
  206. package/build-module/input-control/styles/input-control-styles.js +42 -30
  207. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  208. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  209. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  210. package/build-module/mobile/bottom-sheet/index.native.js +1 -1
  211. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  212. package/build-module/mobile/bottom-sheet-select-control/index.native.js +4 -2
  213. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  214. package/build-module/mobile/html-text-input/index.native.js +20 -9
  215. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  216. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +21 -5
  217. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  218. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +42 -25
  219. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  220. package/build-module/navigation/styles/navigation-styles.js +13 -13
  221. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  222. package/build-module/notice/index.native.js +45 -41
  223. package/build-module/notice/index.native.js.map +1 -1
  224. package/build-module/notice/list.native.js +28 -46
  225. package/build-module/notice/list.native.js.map +1 -1
  226. package/build-module/palette-edit/index.js +37 -7
  227. package/build-module/palette-edit/index.js.map +1 -1
  228. package/build-module/popover/index.js +225 -325
  229. package/build-module/popover/index.js.map +1 -1
  230. package/build-module/resizable-box/resize-tooltip/utils.js +4 -5
  231. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  232. package/build-module/sandbox/index.js +2 -2
  233. package/build-module/sandbox/index.js.map +1 -1
  234. package/build-module/sandbox/index.native.js +1 -1
  235. package/build-module/sandbox/index.native.js.map +1 -1
  236. package/build-module/select-control/index.js +29 -3
  237. package/build-module/select-control/index.js.map +1 -1
  238. package/build-module/select-control/styles/select-control-styles.js +17 -14
  239. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  240. package/build-module/surface/styles.js +8 -8
  241. package/build-module/surface/styles.js.map +1 -1
  242. package/build-module/text/hook.js +5 -5
  243. package/build-module/text/hook.js.map +1 -1
  244. package/build-module/text/styles/text-mixins.native.js +2 -2
  245. package/build-module/text/styles/text-mixins.native.js.map +1 -1
  246. package/build-module/text/styles.js +7 -7
  247. package/build-module/text/styles.js.map +1 -1
  248. package/build-module/text-control/index.js +35 -27
  249. package/build-module/text-control/index.js.map +1 -1
  250. package/build-module/text-control/types.js +2 -0
  251. package/build-module/text-control/types.js.map +1 -0
  252. package/build-module/toggle-group-control/toggle-group-control/component.js +2 -3
  253. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  254. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +1 -5
  255. package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
  256. package/build-module/tools-panel/tools-panel-header/component.js +51 -36
  257. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  258. package/build-module/tooltip/index.js +2 -2
  259. package/build-module/tooltip/index.js.map +1 -1
  260. package/build-module/ui/spinner/component.js +1 -1
  261. package/build-module/ui/spinner/component.js.map +1 -1
  262. package/build-module/unit-control/index.js +3 -3
  263. package/build-module/unit-control/index.js.map +1 -1
  264. package/build-module/unit-control/styles/unit-control-styles.js +11 -20
  265. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  266. package/build-module/unit-control/utils.js.map +1 -1
  267. package/build-module/utils/colors-values.js +19 -23
  268. package/build-module/utils/colors-values.js.map +1 -1
  269. package/build-style/style-rtl.css +55 -170
  270. package/build-style/style.css +51 -170
  271. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  272. package/build-types/border-box-control/border-box-control/hook.d.ts +3 -1
  273. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  274. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
  275. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  276. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +3 -1
  277. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  278. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
  279. package/build-types/border-box-control/styles.d.ts +2 -2
  280. package/build-types/border-box-control/styles.d.ts.map +1 -1
  281. package/build-types/border-box-control/types.d.ts +40 -13
  282. package/build-types/border-box-control/types.d.ts.map +1 -1
  283. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  284. package/build-types/border-control/border-control/hook.d.ts +2 -1
  285. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  286. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  287. package/build-types/border-control/border-control-dropdown/hook.d.ts +1 -0
  288. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  289. package/build-types/border-control/styles.d.ts +2 -1
  290. package/build-types/border-control/styles.d.ts.map +1 -1
  291. package/build-types/border-control/types.d.ts +18 -6
  292. package/build-types/border-control/types.d.ts.map +1 -1
  293. package/build-types/button/index.d.ts.map +1 -1
  294. package/build-types/button-group/index.d.ts +25 -0
  295. package/build-types/button-group/index.d.ts.map +1 -0
  296. package/build-types/button-group/stories/index.d.ts +12 -0
  297. package/build-types/button-group/stories/index.d.ts.map +1 -0
  298. package/build-types/button-group/types.d.ts +11 -0
  299. package/build-types/button-group/types.d.ts.map +1 -0
  300. package/build-types/checkbox-control/index.d.ts +26 -0
  301. package/build-types/checkbox-control/index.d.ts.map +1 -0
  302. package/build-types/checkbox-control/stories/index.d.ts +13 -0
  303. package/build-types/checkbox-control/stories/index.d.ts.map +1 -0
  304. package/build-types/checkbox-control/types.d.ts +35 -0
  305. package/build-types/checkbox-control/types.d.ts.map +1 -0
  306. package/build-types/circular-option-picker/index.d.ts.map +1 -1
  307. package/build-types/color-palette/index.d.ts.map +1 -1
  308. package/build-types/color-picker/styles.d.ts +3 -3
  309. package/build-types/date-time/date.d.ts +24 -0
  310. package/build-types/date-time/date.d.ts.map +1 -0
  311. package/build-types/date-time/index.d.ts +35 -0
  312. package/build-types/date-time/index.d.ts.map +1 -0
  313. package/build-types/date-time/stories/date.d.ts +14 -0
  314. package/build-types/date-time/stories/date.d.ts.map +1 -0
  315. package/build-types/date-time/stories/index.d.ts +14 -0
  316. package/build-types/date-time/stories/index.d.ts.map +1 -0
  317. package/build-types/date-time/stories/time.d.ts +12 -0
  318. package/build-types/date-time/stories/time.d.ts.map +1 -0
  319. package/build-types/date-time/stories/utils.d.ts +3 -0
  320. package/build-types/date-time/stories/utils.d.ts.map +1 -0
  321. package/build-types/date-time/test/date.d.ts +2 -0
  322. package/build-types/date-time/test/date.d.ts.map +1 -0
  323. package/build-types/date-time/test/time.d.ts +2 -0
  324. package/build-types/date-time/test/time.d.ts.map +1 -0
  325. package/build-types/date-time/test/utils.d.ts +2 -0
  326. package/build-types/date-time/test/utils.d.ts.map +1 -0
  327. package/build-types/date-time/time.d.ts +25 -0
  328. package/build-types/date-time/time.d.ts.map +1 -0
  329. package/build-types/date-time/timezone.d.ts +8 -0
  330. package/build-types/date-time/timezone.d.ts.map +1 -0
  331. package/build-types/date-time/types.d.ts +91 -0
  332. package/build-types/date-time/types.d.ts.map +1 -0
  333. package/build-types/date-time/utils.d.ts +15 -0
  334. package/build-types/date-time/utils.d.ts.map +1 -0
  335. package/build-types/disabled/index.d.ts.map +1 -1
  336. package/build-types/dropdown/index.d.ts.map +1 -1
  337. package/build-types/input-control/index.d.ts +23 -3
  338. package/build-types/input-control/index.d.ts.map +1 -1
  339. package/build-types/input-control/input-field.d.ts +1 -1
  340. package/build-types/input-control/input-field.d.ts.map +1 -1
  341. package/build-types/input-control/stories/index.d.ts +5 -5
  342. package/build-types/input-control/stories/index.d.ts.map +1 -1
  343. package/build-types/input-control/styles/input-control-styles.d.ts +1 -0
  344. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  345. package/build-types/input-control/types.d.ts +79 -3
  346. package/build-types/input-control/types.d.ts.map +1 -1
  347. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  348. package/build-types/popover/index.d.ts +5 -8
  349. package/build-types/popover/index.d.ts.map +1 -1
  350. package/build-types/resizable-box/index.d.ts +1 -1
  351. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  352. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  353. package/build-types/select-control/index.d.ts +30 -26
  354. package/build-types/select-control/index.d.ts.map +1 -1
  355. package/build-types/select-control/stories/index.d.ts +23 -0
  356. package/build-types/select-control/stories/index.d.ts.map +1 -0
  357. package/build-types/select-control/styles/select-control-styles.d.ts +3 -4
  358. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  359. package/build-types/select-control/test/select-control.d.ts +2 -0
  360. package/build-types/select-control/test/select-control.d.ts.map +1 -0
  361. package/build-types/select-control/types.d.ts +52 -1
  362. package/build-types/select-control/types.d.ts.map +1 -1
  363. package/build-types/text-control/index.d.ts +2 -2
  364. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  365. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
  366. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  367. package/build-types/tools-panel/types.d.ts +0 -1
  368. package/build-types/tools-panel/types.d.ts.map +1 -1
  369. package/build-types/tooltip/index.d.ts.map +1 -1
  370. package/build-types/unit-control/index.d.ts +2 -2
  371. package/build-types/unit-control/index.d.ts.map +1 -1
  372. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  373. package/build-types/unit-control/test/index.d.ts +2 -0
  374. package/build-types/unit-control/test/index.d.ts.map +1 -0
  375. package/build-types/unit-control/test/utils.d.ts +2 -0
  376. package/build-types/unit-control/test/utils.d.ts.map +1 -0
  377. package/build-types/unit-control/types.d.ts +1 -1
  378. package/build-types/unit-control/types.d.ts.map +1 -1
  379. package/build-types/unit-control/utils.d.ts +3 -3
  380. package/build-types/unit-control/utils.d.ts.map +1 -1
  381. package/build-types/utils/colors-values.d.ts +6 -146
  382. package/build-types/utils/colors-values.d.ts.map +1 -1
  383. package/package.json +19 -19
  384. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +5 -3
  385. package/src/autocomplete/style.scss +1 -1
  386. package/src/border-box-control/border-box-control/README.md +10 -14
  387. package/src/border-box-control/border-box-control/component.tsx +21 -4
  388. package/src/border-box-control/border-box-control-linked-button/hook.ts +10 -6
  389. package/src/border-box-control/border-box-control-split-controls/component.tsx +24 -7
  390. package/src/border-box-control/border-box-control-visualizer/hook.ts +11 -6
  391. package/src/border-box-control/stories/index.js +1 -0
  392. package/src/border-box-control/styles.ts +15 -8
  393. package/src/border-box-control/types.ts +40 -14
  394. package/src/border-control/border-control/README.md +0 -7
  395. package/src/border-control/border-control/component.tsx +4 -2
  396. package/src/border-control/border-control/hook.ts +5 -2
  397. package/src/border-control/border-control-dropdown/component.tsx +18 -11
  398. package/src/border-control/border-control-dropdown/hook.ts +7 -5
  399. package/src/border-control/stories/index.js +1 -0
  400. package/src/border-control/styles.ts +82 -22
  401. package/src/border-control/types.ts +18 -6
  402. package/src/box-control/README.md +0 -74
  403. package/src/box-control/index.js +0 -15
  404. package/src/box-control/stories/index.js +0 -29
  405. package/src/box-control/utils.js +0 -7
  406. package/src/button/index.js +2 -4
  407. package/src/button/index.native.js +33 -18
  408. package/src/button/test/index.js +16 -1
  409. package/src/button-group/index.tsx +47 -0
  410. package/src/button-group/stories/index.tsx +41 -0
  411. package/src/button-group/types.ts +11 -0
  412. package/src/checkbox-control/README.md +10 -8
  413. package/src/checkbox-control/{index.js → index.tsx} +49 -14
  414. package/src/checkbox-control/stories/{index.js → index.tsx} +49 -27
  415. package/src/checkbox-control/types.ts +36 -0
  416. package/src/circular-option-picker/index.js +1 -2
  417. package/src/circular-option-picker/style.scss +1 -0
  418. package/src/color-palette/README.md +0 -1
  419. package/src/color-palette/index.js +6 -13
  420. package/src/color-palette/style.scss +3 -18
  421. package/src/color-palette/test/__snapshots__/index.js.snap +2 -3
  422. package/src/confirm-dialog/stories/index.js +87 -99
  423. package/src/date-time/README.md +13 -10
  424. package/src/date-time/{date.js → date.tsx} +49 -20
  425. package/src/date-time/{index.js → index.tsx} +31 -5
  426. package/src/date-time/stories/date.tsx +73 -0
  427. package/src/date-time/stories/index.tsx +75 -0
  428. package/src/date-time/stories/time.tsx +51 -0
  429. package/src/date-time/stories/utils.ts +9 -0
  430. package/src/date-time/test/date.tsx +127 -0
  431. package/src/date-time/test/{time.js → time.tsx} +34 -19
  432. package/src/date-time/test/{utils.js → utils.ts} +1 -1
  433. package/src/date-time/{time.js → time.tsx} +57 -46
  434. package/src/date-time/{timezone.js → timezone.tsx} +4 -3
  435. package/src/date-time/types.ts +106 -0
  436. package/src/date-time/utils.ts +20 -0
  437. package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -4
  438. package/src/disabled/index.js +5 -90
  439. package/src/draggable/index.native.js +215 -0
  440. package/src/draggable/style.native.scss +3 -0
  441. package/src/dropdown/index.js +9 -4
  442. package/src/dropdown/style.scss +1 -1
  443. package/src/focal-point-picker/index.native.js +3 -3
  444. package/src/form-file-upload/test/index.js +20 -13
  445. package/src/heading/hook.ts +1 -1
  446. package/src/heading/test/__snapshots__/index.js.snap +3 -3
  447. package/src/index.js +0 -1
  448. package/src/index.native.js +1 -0
  449. package/src/input-control/README.md +3 -3
  450. package/src/input-control/index.tsx +23 -3
  451. package/src/input-control/stories/index.tsx +63 -0
  452. package/src/input-control/styles/input-control-styles.tsx +20 -7
  453. package/src/input-control/types.ts +79 -2
  454. package/src/item-group/stories/index.js +22 -18
  455. package/src/menu-item/style.scss +10 -0
  456. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  457. package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +9 -2
  458. package/src/mobile/bottom-sheet/index.native.js +1 -1
  459. package/src/mobile/bottom-sheet-select-control/index.native.js +8 -2
  460. package/src/mobile/html-text-input/index.native.js +45 -29
  461. package/src/mobile/html-text-input/style.android.scss +2 -15
  462. package/src/mobile/html-text-input/style.ios.scss +2 -15
  463. package/src/mobile/html-text-input/{style-common.native.scss → style.scss} +16 -0
  464. package/src/mobile/keyboard-aware-flat-list/index.android.js +15 -5
  465. package/src/mobile/keyboard-aware-flat-list/index.ios.js +75 -46
  466. package/src/mobile/link-settings/test/link-settings-navigation.native.js +9 -1
  467. package/src/navigation/styles/navigation-styles.js +5 -5
  468. package/src/navigator/stories/index.js +16 -10
  469. package/src/notice/index.native.js +44 -54
  470. package/src/notice/list.native.js +27 -51
  471. package/src/notice/style.native.scss +1 -0
  472. package/src/palette-edit/index.js +37 -9
  473. package/src/palette-edit/style.scss +0 -7
  474. package/src/palette-edit/test/index.js +63 -0
  475. package/src/panel/README.md +1 -1
  476. package/src/placeholder/test/index.js +7 -0
  477. package/src/popover/README.md +7 -9
  478. package/src/popover/index.js +242 -417
  479. package/src/popover/style.scss +20 -190
  480. package/src/popover/test/__snapshots__/index.js.snap +6 -18
  481. package/src/query-controls/README.md +2 -2
  482. package/src/resizable-box/resize-tooltip/utils.ts +4 -5
  483. package/src/sandbox/index.js +2 -2
  484. package/src/sandbox/index.native.js +1 -1
  485. package/src/select-control/README.md +2 -2
  486. package/src/select-control/index.tsx +30 -29
  487. package/src/select-control/stories/index.tsx +90 -0
  488. package/src/select-control/styles/select-control-styles.ts +16 -12
  489. package/src/select-control/test/{select-control.js → select-control.tsx} +2 -2
  490. package/src/select-control/types.ts +66 -1
  491. package/src/surface/styles.js +1 -1
  492. package/src/tab-panel/style.scss +1 -1
  493. package/src/text/hook.js +1 -1
  494. package/src/text/styles/text-mixins.native.js +2 -2
  495. package/src/text/styles.js +1 -1
  496. package/src/text/test/__snapshots__/{index.js.snap → index.tsx.snap} +16 -0
  497. package/src/text/test/{index.js → index.tsx} +12 -6
  498. package/src/text-control/index.tsx +84 -0
  499. package/src/text-control/stories/index.tsx +66 -0
  500. package/src/text-control/types.ts +29 -0
  501. package/src/toggle-group-control/test/__snapshots__/index.js.snap +4 -10
  502. package/src/toggle-group-control/toggle-group-control/component.tsx +7 -3
  503. package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +1 -5
  504. package/src/toolbar-group/style.scss +20 -0
  505. package/src/tools-panel/test/__snapshots__/index.js.snap +2 -2
  506. package/src/tools-panel/test/index.js +71 -18
  507. package/src/tools-panel/tools-panel-header/component.tsx +75 -33
  508. package/src/tools-panel/types.ts +0 -1
  509. package/src/tooltip/index.js +8 -2
  510. package/src/tooltip/style.scss +2 -4
  511. package/src/tooltip/test/index.js +6 -0
  512. package/src/tooltip/test/index.native.js +1 -1
  513. package/src/ui/spinner/component.js +1 -1
  514. package/src/ui/spinner/test/__snapshots__/index.js.snap +3 -3
  515. package/src/unit-control/index.tsx +2 -5
  516. package/src/unit-control/styles/unit-control-styles.ts +3 -13
  517. package/src/unit-control/test/__snapshots__/index.tsx.snap +33 -0
  518. package/src/unit-control/test/{index.js → index.tsx} +295 -166
  519. package/src/unit-control/test/{utils.js → utils.ts} +38 -19
  520. package/src/unit-control/types.ts +4 -1
  521. package/src/unit-control/utils.ts +5 -3
  522. package/src/utils/colors-values.js +18 -22
  523. package/tsconfig.json +14 -3
  524. package/tsconfig.tsbuildinfo +1 -1
  525. package/build/box-control/visualizer.js +0 -165
  526. package/build/box-control/visualizer.js.map +0 -1
  527. package/build/flyout/context.js +0 -23
  528. package/build/flyout/context.js.map +0 -1
  529. package/build/flyout/flyout/component.js +0 -106
  530. package/build/flyout/flyout/component.js.map +0 -1
  531. package/build/flyout/flyout/hook.js +0 -53
  532. package/build/flyout/flyout/hook.js.map +0 -1
  533. package/build/flyout/flyout/index.js +0 -24
  534. package/build/flyout/flyout/index.js.map +0 -1
  535. package/build/flyout/flyout-content/component.js +0 -65
  536. package/build/flyout/flyout-content/component.js.map +0 -1
  537. package/build/flyout/flyout-content/index.js +0 -16
  538. package/build/flyout/flyout-content/index.js.map +0 -1
  539. package/build/flyout/index.js +0 -16
  540. package/build/flyout/index.js.map +0 -1
  541. package/build/flyout/styles.js +0 -46
  542. package/build/flyout/styles.js.map +0 -1
  543. package/build/flyout/utils.js +0 -36
  544. package/build/flyout/utils.js.map +0 -1
  545. package/build/mobile/html-text-input/container.android.js +0 -41
  546. package/build/mobile/html-text-input/container.android.js.map +0 -1
  547. package/build/mobile/html-text-input/container.ios.js +0 -60
  548. package/build/mobile/html-text-input/container.ios.js.map +0 -1
  549. package/build/popover/utils.js +0 -322
  550. package/build/popover/utils.js.map +0 -1
  551. package/build-module/box-control/visualizer.js +0 -154
  552. package/build-module/box-control/visualizer.js.map +0 -1
  553. package/build-module/flyout/context.js +0 -11
  554. package/build-module/flyout/context.js.map +0 -1
  555. package/build-module/flyout/flyout/component.js +0 -89
  556. package/build-module/flyout/flyout/component.js.map +0 -1
  557. package/build-module/flyout/flyout/hook.js +0 -44
  558. package/build-module/flyout/flyout/hook.js.map +0 -1
  559. package/build-module/flyout/flyout/index.js +0 -3
  560. package/build-module/flyout/flyout/index.js.map +0 -1
  561. package/build-module/flyout/flyout-content/component.js +0 -51
  562. package/build-module/flyout/flyout-content/component.js.map +0 -1
  563. package/build-module/flyout/flyout-content/index.js +0 -2
  564. package/build-module/flyout/flyout-content/index.js.map +0 -1
  565. package/build-module/flyout/index.js +0 -2
  566. package/build-module/flyout/index.js.map +0 -1
  567. package/build-module/flyout/styles.js +0 -27
  568. package/build-module/flyout/styles.js.map +0 -1
  569. package/build-module/flyout/utils.js +0 -25
  570. package/build-module/flyout/utils.js.map +0 -1
  571. package/build-module/mobile/html-text-input/container.android.js +0 -29
  572. package/build-module/mobile/html-text-input/container.android.js.map +0 -1
  573. package/build-module/mobile/html-text-input/container.ios.js +0 -48
  574. package/build-module/mobile/html-text-input/container.ios.js.map +0 -1
  575. package/build-module/popover/utils.js +0 -308
  576. package/build-module/popover/utils.js.map +0 -1
  577. package/build-types/flyout/context.d.ts +0 -6
  578. package/build-types/flyout/context.d.ts.map +0 -1
  579. package/build-types/flyout/flyout/component.d.ts +0 -21
  580. package/build-types/flyout/flyout/component.d.ts.map +0 -1
  581. package/build-types/flyout/flyout/hook.d.ts +0 -270
  582. package/build-types/flyout/flyout/hook.d.ts.map +0 -1
  583. package/build-types/flyout/flyout/index.d.ts +0 -3
  584. package/build-types/flyout/flyout/index.d.ts.map +0 -1
  585. package/build-types/flyout/flyout-content/component.d.ts +0 -3
  586. package/build-types/flyout/flyout-content/component.d.ts.map +0 -1
  587. package/build-types/flyout/flyout-content/index.d.ts +0 -2
  588. package/build-types/flyout/flyout-content/index.d.ts.map +0 -1
  589. package/build-types/flyout/index.d.ts +0 -2
  590. package/build-types/flyout/index.d.ts.map +0 -1
  591. package/build-types/flyout/styles.d.ts +0 -22
  592. package/build-types/flyout/styles.d.ts.map +0 -1
  593. package/build-types/flyout/types.d.ts +0 -80
  594. package/build-types/flyout/types.d.ts.map +0 -1
  595. package/build-types/flyout/utils.d.ts +0 -8
  596. package/build-types/flyout/utils.d.ts.map +0 -1
  597. package/build-types/popover/utils.d.ts +0 -70
  598. package/build-types/popover/utils.d.ts.map +0 -1
  599. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts +0 -19
  600. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +0 -1
  601. package/src/box-control/visualizer.js +0 -116
  602. package/src/button-group/index.js +0 -17
  603. package/src/button-group/stories/index.js +0 -21
  604. package/src/date-time/stories/date.js +0 -17
  605. package/src/date-time/stories/index.js +0 -72
  606. package/src/date-time/stories/time.js +0 -32
  607. package/src/date-time/test/date.js +0 -97
  608. package/src/date-time/utils.js +0 -18
  609. package/src/flyout/context.js +0 -10
  610. package/src/flyout/flyout/README.md +0 -98
  611. package/src/flyout/flyout/component.js +0 -111
  612. package/src/flyout/flyout/hook.js +0 -45
  613. package/src/flyout/flyout/index.js +0 -2
  614. package/src/flyout/flyout-content/component.js +0 -53
  615. package/src/flyout/flyout-content/index.js +0 -1
  616. package/src/flyout/index.js +0 -1
  617. package/src/flyout/stories/index.js +0 -24
  618. package/src/flyout/styles.ts +0 -41
  619. package/src/flyout/test/__snapshots__/index.js.snap +0 -186
  620. package/src/flyout/test/index.js +0 -103
  621. package/src/flyout/types.ts +0 -84
  622. package/src/flyout/utils.js +0 -23
  623. package/src/input-control/stories/index.js +0 -71
  624. package/src/mobile/html-text-input/container.android.js +0 -23
  625. package/src/mobile/html-text-input/container.ios.js +0 -50
  626. package/src/popover/test/utils.js +0 -304
  627. package/src/popover/utils.js +0 -396
  628. package/src/select-control/stories/index.js +0 -104
  629. package/src/text-control/index.js +0 -72
  630. package/src/text-control/stories/index.js +0 -46
@@ -15,16 +15,21 @@ import type { VisualizerProps } from '../types';
15
15
  export function useBorderBoxControlVisualizer(
16
16
  props: WordPressComponentProps< VisualizerProps, 'div' >
17
17
  ) {
18
- const { className, value, ...otherProps } = useContextSystem(
19
- props,
20
- 'BorderBoxControlVisualizer'
21
- );
18
+ const {
19
+ className,
20
+ value,
21
+ __next36pxDefaultSize = false,
22
+ ...otherProps
23
+ } = useContextSystem( props, 'BorderBoxControlVisualizer' );
22
24
 
23
25
  // Generate class names.
24
26
  const cx = useCx();
25
27
  const classes = useMemo( () => {
26
- return cx( styles.BorderBoxControlVisualizer( value ), className );
27
- }, [ className, value, rtl.watch() ] );
28
+ return cx(
29
+ styles.BorderBoxControlVisualizer( value, __next36pxDefaultSize ),
30
+ className
31
+ );
32
+ }, [ className, value, __next36pxDefaultSize, rtl.watch() ] );
28
33
 
29
34
  return { ...otherProps, className: classes, value };
30
35
  }
@@ -84,6 +84,7 @@ Default.args = {
84
84
  style: 'dashed',
85
85
  width: '1px',
86
86
  },
87
+ __next36pxDefaultSize: false,
87
88
  };
88
89
 
89
90
  const WrapperView = styled.div`
@@ -18,11 +18,15 @@ export const LinkedBorderControl = css`
18
18
  flex: 1;
19
19
  `;
20
20
 
21
- export const BorderBoxControlLinkedButton = css`
22
- flex: 0;
23
- flex-basis: 36px;
24
- margin-top: 7px;
25
- `;
21
+ export const BorderBoxControlLinkedButton = (
22
+ __next36pxDefaultSize?: boolean
23
+ ) => {
24
+ return css`
25
+ flex: 0;
26
+ flex-basis: 36px;
27
+ margin-top: ${ __next36pxDefaultSize ? '6px' : '3px' };
28
+ `;
29
+ };
26
30
 
27
31
  const BorderBoxStyleWithFallback = ( border?: Border ) => {
28
32
  const {
@@ -39,12 +43,15 @@ const BorderBoxStyleWithFallback = ( border?: Border ) => {
39
43
  return `${ color } ${ borderStyle } ${ clampedWidth }`;
40
44
  };
41
45
 
42
- export const BorderBoxControlVisualizer = ( borders?: Borders ) => {
46
+ export const BorderBoxControlVisualizer = (
47
+ borders?: Borders,
48
+ __next36pxDefaultSize?: boolean
49
+ ) => {
43
50
  return css`
44
51
  position: absolute;
45
- top: 20px;
52
+ top: ${ __next36pxDefaultSize ? '18px' : '15px' };
46
53
  right: 30px;
47
- bottom: 20px;
54
+ bottom: ${ __next36pxDefaultSize ? '18px' : '15px' };
48
55
  left: 30px;
49
56
  border-top: ${ BorderBoxStyleWithFallback( borders?.top ) };
50
57
  border-bottom: ${ BorderBoxStyleWithFallback( borders?.bottom ) };
@@ -14,14 +14,6 @@ export type AnyBorder = Border | Borders | undefined;
14
14
  export type BorderProp = keyof Border;
15
15
  export type BorderSide = keyof Borders;
16
16
 
17
- export type PopoverClassNames = {
18
- linked?: string;
19
- top?: string;
20
- right?: string;
21
- bottom?: string;
22
- left?: string;
23
- };
24
-
25
17
  export type BorderBoxControlProps = ColorProps &
26
18
  LabelProps & {
27
19
  /**
@@ -35,10 +27,13 @@ export type BorderBoxControlProps = ColorProps &
35
27
  */
36
28
  onChange: ( value: AnyBorder ) => void;
37
29
  /**
38
- * An object defining CSS classnames for all the inner `BorderControl`
39
- * popover content.
30
+ * The position of the color popovers compared to the control wrapper.
31
+ */
32
+ popoverPlacement?: string;
33
+ /**
34
+ * The space between the popover and the control wrapper.
40
35
  */
41
- popoverClassNames?: PopoverClassNames;
36
+ popoverOffset?: number;
42
37
  /**
43
38
  * An object representing the current border configuration.
44
39
  *
@@ -47,6 +42,13 @@ export type BorderBoxControlProps = ColorProps &
47
42
  * properties but for each side; `top`, `right`, `bottom`, and `left`.
48
43
  */
49
44
  value: AnyBorder;
45
+ /**
46
+ * Start opting into the larger default height that will become the
47
+ * default size in a future version.
48
+ *
49
+ * @default false
50
+ */
51
+ __next36pxDefaultSize?: boolean;
50
52
  };
51
53
 
52
54
  export type LinkedButtonProps = {
@@ -62,6 +64,13 @@ export type LinkedButtonProps = {
62
64
  * `BorderBoxControl`.
63
65
  */
64
66
  onClick: () => void;
67
+ /**
68
+ * Start opting into the larger default height that will become the
69
+ * default size in a future version.
70
+ *
71
+ * @default false
72
+ */
73
+ __next36pxDefaultSize?: boolean;
65
74
  };
66
75
 
67
76
  export type VisualizerProps = {
@@ -71,6 +80,13 @@ export type VisualizerProps = {
71
80
  * color, style, and width.
72
81
  */
73
82
  value?: Borders;
83
+ /**
84
+ * Start opting into the larger default height that will become the
85
+ * default size in a future version.
86
+ *
87
+ * @default false
88
+ */
89
+ __next36pxDefaultSize?: boolean;
74
90
  };
75
91
 
76
92
  export type SplitControlsProps = ColorProps & {
@@ -85,14 +101,24 @@ export type SplitControlsProps = ColorProps & {
85
101
  */
86
102
  onChange: ( value: Border | undefined, side: BorderSide ) => void;
87
103
  /**
88
- * An object defining CSS classnames for the split side `BorderControl`s'
89
- * popover content.
104
+ * The position of the color popovers compared to the control wrapper.
90
105
  */
91
- popoverClassNames?: PopoverClassNames;
106
+ popoverPlacement?: string;
107
+ /**
108
+ * The space between the popover and the control wrapper.
109
+ */
110
+ popoverOffset?: number;
92
111
  /**
93
112
  * An object representing the current border configuration. It contains
94
113
  * properties for each side, with each side an object reflecting the border
95
114
  * color, style, and width.
96
115
  */
97
116
  value?: Borders;
117
+ /**
118
+ * Start opting into the larger default height that will become the
119
+ * default size in a future version.
120
+ *
121
+ * @default false
122
+ */
123
+ __next36pxDefaultSize?: boolean;
98
124
  };
@@ -113,13 +113,6 @@ _Note: the value may be `undefined` if a user clears all border properties._
113
113
 
114
114
  - Required: Yes
115
115
 
116
- ### `popoverContentClassName`: `string`
117
-
118
- A custom CSS class name to be assigned to the `BorderControl`'s dropdown
119
- popover content.
120
-
121
- - Required: No
122
-
123
116
  ### `shouldSanitizeBorder`: `boolean`
124
117
 
125
118
  If opted into, sanitizing the border means that if no width or color have been
@@ -43,7 +43,7 @@ const BorderControl = (
43
43
  onSliderChange,
44
44
  onWidthChange,
45
45
  placeholder,
46
- popoverContentClassName,
46
+ __unstablePopoverProps,
47
47
  previousStyleSelection,
48
48
  showDropdownHeader,
49
49
  sliderClassName,
@@ -54,6 +54,7 @@ const BorderControl = (
54
54
  withSlider,
55
55
  __experimentalHasMultipleOrigins,
56
56
  __experimentalIsRenderedInSidebar,
57
+ __next36pxDefaultSize,
57
58
  ...otherProps
58
59
  } = useBorderControl( props );
59
60
 
@@ -68,7 +69,7 @@ const BorderControl = (
68
69
  <BorderControlDropdown
69
70
  border={ border }
70
71
  colors={ colors }
71
- contentClassName={ popoverContentClassName }
72
+ __unstablePopoverProps={ __unstablePopoverProps }
72
73
  disableCustomColors={ disableCustomColors }
73
74
  enableAlpha={ enableAlpha }
74
75
  enableStyle={ enableStyle }
@@ -81,6 +82,7 @@ const BorderControl = (
81
82
  __experimentalIsRenderedInSidebar={
82
83
  __experimentalIsRenderedInSidebar
83
84
  }
85
+ __next36pxDefaultSize={ __next36pxDefaultSize }
84
86
  />
85
87
  <UnitControl
86
88
  className={ widthControlClassName }
@@ -35,6 +35,7 @@ export function useBorderControl(
35
35
  shouldSanitizeBorder = true,
36
36
  value: border,
37
37
  width,
38
+ __next36pxDefaultSize = false,
38
39
  ...otherProps
39
40
  } = useContextSystem( props, 'BorderControl' );
40
41
 
@@ -116,9 +117,10 @@ export function useBorderControl(
116
117
  const wrapperWidth = isCompact ? '90px' : width;
117
118
  const widthStyle =
118
119
  !! wrapperWidth && styles.wrapperWidth( wrapperWidth );
120
+ const heightStyle = styles.wrapperHeight( __next36pxDefaultSize );
119
121
 
120
- return cx( styles.innerWrapper(), widthStyle );
121
- }, [ isCompact, width, cx ] );
122
+ return cx( styles.innerWrapper(), widthStyle, heightStyle );
123
+ }, [ isCompact, width, cx, __next36pxDefaultSize ] );
122
124
 
123
125
  const widthControlClassName = useMemo( () => {
124
126
  return cx( styles.borderWidthControl() );
@@ -141,5 +143,6 @@ export function useBorderControl(
141
143
  widthControlClassName,
142
144
  widthUnit,
143
145
  widthValue,
146
+ __next36pxDefaultSize,
144
147
  };
145
148
  }
@@ -147,6 +147,7 @@ const BorderControlDropdown = (
147
147
  resetButtonClassName,
148
148
  showDropdownHeader,
149
149
  enableStyle = true,
150
+ __unstablePopoverProps,
150
151
  ...otherProps
151
152
  } = useBorderControlDropdown( props );
152
153
 
@@ -164,6 +165,7 @@ const BorderControlDropdown = (
164
165
  enableStyle
165
166
  );
166
167
 
168
+ const showResetButton = color || ( style && style !== 'none' );
167
169
  const dropdownPosition = __experimentalIsRenderedInSidebar
168
170
  ? 'bottom left'
169
171
  : undefined;
@@ -220,16 +222,18 @@ const BorderControlDropdown = (
220
222
  />
221
223
  ) }
222
224
  </VStack>
223
- <Button
224
- className={ resetButtonClassName }
225
- variant="tertiary"
226
- onClick={ () => {
227
- onReset();
228
- onClose();
229
- } }
230
- >
231
- { __( 'Reset to default' ) }
232
- </Button>
225
+ { showResetButton && (
226
+ <Button
227
+ className={ resetButtonClassName }
228
+ variant="tertiary"
229
+ onClick={ () => {
230
+ onReset();
231
+ onClose();
232
+ } }
233
+ >
234
+ { __( 'Reset to default' ) }
235
+ </Button>
236
+ ) }
233
237
  </>
234
238
  );
235
239
 
@@ -237,7 +241,10 @@ const BorderControlDropdown = (
237
241
  <Dropdown
238
242
  renderToggle={ renderToggle }
239
243
  renderContent={ renderContent }
240
- contentClassName={ popoverClassName }
244
+ popoverProps={ {
245
+ ...__unstablePopoverProps,
246
+ className: popoverClassName,
247
+ } }
241
248
  { ...otherProps }
242
249
  ref={ forwardedRef }
243
250
  />
@@ -20,9 +20,9 @@ export function useBorderControlDropdown(
20
20
  border,
21
21
  className,
22
22
  colors,
23
- contentClassName,
24
23
  onChange,
25
24
  previousStyleSelection,
25
+ __next36pxDefaultSize,
26
26
  ...otherProps
27
27
  } = useContextSystem( props, 'BorderControlDropdown' );
28
28
 
@@ -61,12 +61,14 @@ export function useBorderControlDropdown(
61
61
  }, [ cx ] );
62
62
 
63
63
  const indicatorWrapperClassName = useMemo( () => {
64
- return cx( styles.colorIndicatorWrapper( border ) );
65
- }, [ border, cx ] );
64
+ return cx(
65
+ styles.colorIndicatorWrapper( border, __next36pxDefaultSize )
66
+ );
67
+ }, [ border, cx, __next36pxDefaultSize ] );
66
68
 
67
69
  const popoverClassName = useMemo( () => {
68
- return cx( styles.borderControlPopover, contentClassName );
69
- }, [ cx, contentClassName ] );
70
+ return cx( styles.borderControlPopover );
71
+ }, [ cx ] );
70
72
 
71
73
  const popoverControlsClassName = useMemo( () => {
72
74
  return cx( styles.borderControlPopoverControls );
@@ -111,6 +111,7 @@ Default.args = {
111
111
  withSlider: true,
112
112
  __experimentalIsRenderedInSidebar: false,
113
113
  __experimentalHasMultipleOrigins: false,
114
+ __next36pxDefaultSize: false,
114
115
  };
115
116
 
116
117
  const WrapperView = styled.div`
@@ -14,7 +14,10 @@ import {
14
14
  StyledLabel,
15
15
  } from '../base-control/styles/base-control-styles';
16
16
  import { BackdropUI } from '../input-control/styles/input-control-styles';
17
- import { Root as UnitControlWrapper } from '../unit-control/styles/unit-control-styles';
17
+ import {
18
+ Root as UnitControlWrapper,
19
+ UnitSelect,
20
+ } from '../unit-control/styles/unit-control-styles';
18
21
 
19
22
  import type { Border } from './types';
20
23
 
@@ -22,13 +25,15 @@ const labelStyles = css`
22
25
  font-weight: 500;
23
26
  `;
24
27
 
28
+ const focusBoxShadow = css`
29
+ box-shadow: inset 0 0 0 ${ CONFIG.borderWidth } ${ COLORS.ui.borderFocus };
30
+ `;
31
+
25
32
  export const borderControl = css`
26
33
  position: relative;
27
34
  `;
28
35
 
29
36
  export const innerWrapper = () => css`
30
- border: ${ CONFIG.borderWidth } solid ${ COLORS.gray[ 200 ] };
31
- border-radius: 2px;
32
37
  flex: 1 0 40%;
33
38
 
34
39
  /*
@@ -44,7 +49,29 @@ export const innerWrapper = () => css`
44
49
  */
45
50
  ${ UnitControlWrapper } {
46
51
  flex: 1;
47
- ${ rtl( { marginLeft: 0 } )() }
52
+ ${ rtl( { marginLeft: -1 } )() }
53
+ }
54
+
55
+ && ${ UnitSelect } {
56
+ /* Prevent default styles forcing heights larger than BorderControl */
57
+ min-height: 0;
58
+ ${ rtl(
59
+ {
60
+ borderRadius: '0 1px 1px 0',
61
+ marginRight: 0,
62
+ },
63
+ {
64
+ borderRadius: '1px 0 0 1px',
65
+ marginLeft: 0,
66
+ }
67
+ )() }
68
+ transition: box-shadow 0.1s linear, border 0.1s linear;
69
+
70
+ &:focus {
71
+ z-index: 1;
72
+ ${ focusBoxShadow }
73
+ border: 1px solid ${ COLORS.ui.borderFocus };
74
+ }
48
75
  }
49
76
  `;
50
77
 
@@ -55,22 +82,40 @@ export const wrapperWidth = ( width: CSSProperties[ 'width' ] ) => {
55
82
  `;
56
83
  };
57
84
 
85
+ /*
86
+ * When default control height is 36px the following should be removed.
87
+ * See: InputControl and __next36pxDefaultSize.
88
+ */
89
+ export const wrapperHeight = ( __next36pxDefaultSize?: boolean ) => {
90
+ return css`
91
+ height: ${ __next36pxDefaultSize ? '36px' : '30px' };
92
+ `;
93
+ };
94
+
58
95
  export const borderControlDropdown = () => css`
59
96
  background: #fff;
60
- ${ rtl(
61
- {
62
- borderRadius: `1px 0 0 1px`,
63
- borderRight: `${ CONFIG.borderWidth } solid ${ COLORS.gray[ 200 ] }`,
64
- },
65
- {
66
- borderRadius: `0 1px 1px 0`,
67
- borderLeft: `${ CONFIG.borderWidth } solid ${ COLORS.gray[ 200 ] }`,
68
- }
69
- )() }
70
97
 
71
98
  && > button {
72
- padding: ${ space( 1 ) };
73
- border-radius: inherit;
99
+ /*
100
+ * Override button component height and padding to fit within
101
+ * BorderControl
102
+ */
103
+ height: 100%;
104
+ padding: ${ space( 0.75 ) };
105
+ ${ rtl(
106
+ { borderRadius: `2px 0 0 2px` },
107
+ { borderRadius: `0 2px 2px 0` }
108
+ )() }
109
+ border: ${ CONFIG.borderWidth } solid ${ COLORS.ui.border };
110
+ position: relative;
111
+
112
+ &:focus,
113
+ &:hover:not( :disabled ) {
114
+ ${ focusBoxShadow }
115
+ border-color: ${ COLORS.ui.borderFocus };
116
+ z-index: 1;
117
+ position: relative;
118
+ }
74
119
  }
75
120
  `;
76
121
 
@@ -86,16 +131,19 @@ export const colorIndicatorBorder = ( border?: Border ) => {
86
131
  `;
87
132
  };
88
133
 
89
- export const colorIndicatorWrapper = ( border?: Border ) => {
134
+ export const colorIndicatorWrapper = (
135
+ border?: Border,
136
+ __next36pxDefaultSize?: boolean
137
+ ) => {
90
138
  const { style } = border || {};
91
139
 
92
140
  return css`
93
141
  border-radius: 9999px;
94
142
  border: 2px solid transparent;
95
143
  ${ style ? colorIndicatorBorder( border ) : undefined }
96
- width: 28px;
97
- height: 28px;
98
- padding: 2px;
144
+ width: ${ __next36pxDefaultSize ? '28px' : '22px' };
145
+ height: ${ __next36pxDefaultSize ? '28px' : '22px' };
146
+ padding: ${ __next36pxDefaultSize ? '2px' : '1px' };
99
147
 
100
148
  /*
101
149
  * ColorIndicator
@@ -104,6 +152,13 @@ export const colorIndicatorWrapper = ( border?: Border ) => {
104
152
  * over the active state of the border control dropdown's toggle button.
105
153
  */
106
154
  & > span {
155
+ ${ ! __next36pxDefaultSize
156
+ ? css`
157
+ /* Dimensions fit in 30px overall control height. */
158
+ height: 16px;
159
+ width: 16px;
160
+ `
161
+ : '' }
107
162
  background: linear-gradient(
108
163
  -45deg,
109
164
  transparent 48%,
@@ -117,8 +172,9 @@ export const colorIndicatorWrapper = ( border?: Border ) => {
117
172
 
118
173
  export const borderControlPopover = css`
119
174
  /* Remove padding from content, this will be re-added via inner elements*/
120
- && > div > div {
175
+ && .components-popover__content {
121
176
  padding: 0;
177
+ width: 264px;
122
178
  }
123
179
  `;
124
180
 
@@ -153,7 +209,11 @@ export const resetButton = css`
153
209
  export const borderWidthControl = () => css`
154
210
  /* Target the InputControl's backdrop */
155
211
  &&& ${ BackdropUI } {
156
- border: none;
212
+ ${ rtl( {
213
+ borderTopLeftRadius: 0,
214
+ borderBottomLeftRadius: 0,
215
+ } )() }
216
+ transition: box-shadow 0.1s linear;
157
217
  }
158
218
 
159
219
  /* Specificity required to overcome UnitControl padding */
@@ -81,10 +81,9 @@ export type BorderControlProps = ColorProps &
81
81
  */
82
82
  onChange: ( value?: Border ) => void;
83
83
  /**
84
- * A custom CSS class name to be assigned to the border control's
85
- * dropdown popover content.
84
+ * An internal prop used to control the visibility of the dropdown.
86
85
  */
87
- popoverContentClassName?: string;
86
+ __unstablePopoverProps?: Record< string, unknown >;
88
87
  /**
89
88
  * If opted into, sanitizing the border means that if no width or color
90
89
  * have been selected, the border style is also cleared and `undefined`
@@ -114,6 +113,13 @@ export type BorderControlProps = ColorProps &
114
113
  * `RangeControl` for additional control over a border's width.
115
114
  */
116
115
  withSlider?: boolean;
116
+ /**
117
+ * Start opting into the larger default height that will become the
118
+ * default size in a future version.
119
+ *
120
+ * @default false
121
+ */
122
+ __next36pxDefaultSize?: boolean;
117
123
  };
118
124
 
119
125
  export type DropdownProps = ColorProps & {
@@ -124,10 +130,9 @@ export type DropdownProps = ColorProps & {
124
130
  */
125
131
  border?: Border;
126
132
  /**
127
- * A custom CSS class name to be assigned to the border control's
128
- * dropdown popover content.
133
+ * An internal prop used to control the visibility of the dropdown.
129
134
  */
130
- contentClassName?: string;
135
+ __unstablePopoverProps?: Record< string, unknown >;
131
136
  /**
132
137
  * This controls whether to render border style options.
133
138
  *
@@ -150,6 +155,13 @@ export type DropdownProps = ColorProps & {
150
155
  * close button.
151
156
  */
152
157
  showDropdownHeader?: boolean;
158
+ /**
159
+ * Start opting into the larger default height that will become the
160
+ * default size in a future version.
161
+ *
162
+ * @default false
163
+ */
164
+ __next36pxDefaultSize?: boolean;
153
165
  };
154
166
 
155
167
  export type StylePickerProps = LabelProps & {
@@ -29,73 +29,6 @@ const Example = () => {
29
29
  };
30
30
  ```
31
31
 
32
- ### Visualizer
33
-
34
- BoxControl provides a companion component that visually renders value changes. Place the component you would like the sides visualized within the companion `<Visualizer>` component.
35
-
36
- ```jsx
37
- import { __experimentalBoxControl as BoxControl } from '@wordpress/components';
38
- import { useState } from '@wordpress/element';
39
-
40
- import MyComponent from './my-component';
41
-
42
- const { Visualizer } = BoxControl;
43
-
44
- const Example = () => {
45
- const [ values, setValues ] = useState( {
46
- top: '50px',
47
- left: '10%',
48
- right: '10%',
49
- bottom: '50px',
50
- } );
51
-
52
- return (
53
- <>
54
- <BoxControl
55
- values={ values }
56
- onChange={ ( nextValues ) => setValues( nextValues ) }
57
- />
58
- <Visualizer>
59
- <MyComponent />
60
- </Visualizer>
61
- </>
62
- );
63
- };
64
- ```
65
-
66
- Alternatively, the `<Visualizer>` can be nested as a sibling to the component you would like visualized. Using `<Visualizer />` in this manner will require the parent element having a `position` style.
67
-
68
- ```jsx
69
- import { __experimentalBoxControl as BoxControl } from '@wordpress/components';
70
- import { useState } from '@wordpress/element';
71
-
72
- import MyComponent from './my-component';
73
-
74
- const { Visualizer } = BoxControl;
75
-
76
- const Example = () => {
77
- const [ values, setValues ] = useState( {
78
- top: '50px',
79
- left: '10%',
80
- right: '10%',
81
- bottom: '50px',
82
- } );
83
-
84
- return (
85
- <>
86
- <BoxControl
87
- values={ values }
88
- onChange={ ( nextValues ) => setValues( nextValues ) }
89
- />
90
- <div style={ { position: 'relative' } }>
91
- <Visualizer />
92
- <MyComponent />
93
- </div>
94
- </>
95
- );
96
- };
97
- ```
98
-
99
32
  ## Props
100
33
  ### allowReset
101
34
 
@@ -135,13 +68,6 @@ A callback function when an input value changes.
135
68
  - Type: `Function`
136
69
  - Required: Yes
137
70
 
138
- ### onChangeShowVisualizer
139
-
140
- A callback function for visualizer changes, based on input hover interactions.
141
-
142
- - Type: `Function`
143
- - Required: Yes
144
-
145
71
  ### resetValues
146
72
 
147
73
  The `top`, `right`, `bottom`, and `left` box dimension values to use when the control is reset.