@wordpress/components 21.2.0 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (831) hide show
  1. package/CHANGELOG.md +99 -3
  2. package/CONTRIBUTING.md +20 -0
  3. package/build/angle-picker-control/index.js +1 -1
  4. package/build/angle-picker-control/index.js.map +1 -1
  5. package/build/autocomplete/autocompleter-ui.js +28 -2
  6. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  7. package/build/border-box-control/border-box-control/component.js +65 -15
  8. package/build/border-box-control/border-box-control/component.js.map +1 -1
  9. package/build/border-box-control/border-box-control/hook.js +11 -4
  10. package/build/border-box-control/border-box-control/hook.js.map +1 -1
  11. package/build/border-box-control/border-box-control-linked-button/hook.js +3 -3
  12. package/build/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
  13. package/build/border-box-control/border-box-control-split-controls/component.js +3 -3
  14. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  15. package/build/border-box-control/border-box-control-split-controls/hook.js +8 -11
  16. package/build/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  17. package/build/border-box-control/border-box-control-visualizer/hook.js +3 -7
  18. package/build/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  19. package/build/border-box-control/styles.js +34 -34
  20. package/build/border-box-control/styles.js.map +1 -1
  21. package/build/border-control/border-control/component.js +7 -4
  22. package/build/border-control/border-control/component.js.map +1 -1
  23. package/build/border-control/border-control/hook.js +12 -5
  24. package/build/border-control/border-control/hook.js.map +1 -1
  25. package/build/border-control/border-control-dropdown/hook.js +5 -5
  26. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  27. package/build/border-control/styles.js +19 -34
  28. package/build/border-control/styles.js.map +1 -1
  29. package/build/box-control/index.js +6 -2
  30. package/build/box-control/index.js.map +1 -1
  31. package/build/circular-option-picker/index.js +14 -14
  32. package/build/circular-option-picker/index.js.map +1 -1
  33. package/build/color-palette/index.js +83 -30
  34. package/build/color-palette/index.js.map +1 -1
  35. package/build/color-palette/styles.js +3 -3
  36. package/build/color-palette/styles.js.map +1 -1
  37. package/build/color-palette/types.js +6 -0
  38. package/build/color-palette/types.js.map +1 -0
  39. package/build/color-picker/input-with-slider.js +1 -1
  40. package/build/color-picker/input-with-slider.js.map +1 -1
  41. package/build/custom-gradient-picker/gradient-bar/index.js +1 -3
  42. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  43. package/build/custom-select-control/index.js +8 -4
  44. package/build/custom-select-control/index.js.map +1 -1
  45. package/build/date-time/date-time/index.js +2 -0
  46. package/build/date-time/date-time/index.js.map +1 -1
  47. package/build/date-time/time/index.js +4 -4
  48. package/build/date-time/time/index.js.map +1 -1
  49. package/build/disabled/index.js +14 -27
  50. package/build/disabled/index.js.map +1 -1
  51. package/build/external-link/index.js +13 -2
  52. package/build/external-link/index.js.map +1 -1
  53. package/build/focusable-iframe/index.js +0 -1
  54. package/build/focusable-iframe/index.js.map +1 -1
  55. package/build/font-size-picker/index.js +62 -49
  56. package/build/font-size-picker/index.js.map +1 -1
  57. package/build/font-size-picker/styles.js +5 -13
  58. package/build/font-size-picker/styles.js.map +1 -1
  59. package/build/font-size-picker/utils.js +1 -22
  60. package/build/font-size-picker/utils.js.map +1 -1
  61. package/build/form-file-upload/index.js.map +1 -1
  62. package/build/form-token-field/suggestions-list.js +5 -5
  63. package/build/form-token-field/suggestions-list.js.map +1 -1
  64. package/build/higher-order/with-fallback-styles/index.js +1 -1
  65. package/build/higher-order/with-fallback-styles/index.js.map +1 -1
  66. package/build/higher-order/with-filters/index.js +1 -7
  67. package/build/higher-order/with-filters/index.js.map +1 -1
  68. package/build/index.js +15 -7
  69. package/build/index.js.map +1 -1
  70. package/build/input-control/index.js +2 -0
  71. package/build/input-control/index.js.map +1 -1
  72. package/build/input-control/input-base.js +1 -1
  73. package/build/input-control/input-base.js.map +1 -1
  74. package/build/input-control/styles/input-control-styles.js +21 -21
  75. package/build/input-control/styles/input-control-styles.js.map +1 -1
  76. package/build/isolated-event-container/index.js +5 -9
  77. package/build/isolated-event-container/index.js.map +1 -1
  78. package/build/item-group/styles.js +10 -10
  79. package/build/item-group/styles.js.map +1 -1
  80. package/build/modal/aria-helper.js +2 -3
  81. package/build/modal/aria-helper.js.map +1 -1
  82. package/build/modal/index.js +42 -11
  83. package/build/modal/index.js.map +1 -1
  84. package/build/modal/types.js +6 -0
  85. package/build/modal/types.js.map +1 -0
  86. package/build/navigator/index.js +8 -8
  87. package/build/navigator/index.js.map +1 -1
  88. package/build/navigator/navigator-back-button/component.js +5 -4
  89. package/build/navigator/navigator-back-button/component.js.map +1 -1
  90. package/build/navigator/navigator-back-button/index.js +1 -1
  91. package/build/navigator/navigator-back-button/index.js.map +1 -1
  92. package/build/navigator/navigator-button/component.js +5 -4
  93. package/build/navigator/navigator-button/component.js.map +1 -1
  94. package/build/navigator/navigator-button/index.js +1 -1
  95. package/build/navigator/navigator-button/index.js.map +1 -1
  96. package/build/navigator/navigator-provider/component.js +10 -7
  97. package/build/navigator/navigator-provider/component.js.map +1 -1
  98. package/build/navigator/navigator-provider/index.js +1 -1
  99. package/build/navigator/navigator-provider/index.js.map +1 -1
  100. package/build/navigator/navigator-screen/component.js +11 -8
  101. package/build/navigator/navigator-screen/component.js.map +1 -1
  102. package/build/navigator/navigator-screen/index.js +1 -1
  103. package/build/navigator/navigator-screen/index.js.map +1 -1
  104. package/build/number-control/index.js +82 -22
  105. package/build/number-control/index.js.map +1 -1
  106. package/build/number-control/styles/number-control-styles.js +36 -6
  107. package/build/number-control/styles/number-control-styles.js.map +1 -1
  108. package/build/popover/index.js +15 -29
  109. package/build/popover/index.js.map +1 -1
  110. package/build/radio-group/index.js +7 -1
  111. package/build/radio-group/index.js.map +1 -1
  112. package/build/{radio → radio-group/radio}/index.js +7 -1
  113. package/build/radio-group/radio/index.js.map +1 -0
  114. package/build/{radio-context → radio-group/radio-context}/index.js +0 -0
  115. package/build/radio-group/radio-context/index.js.map +1 -0
  116. package/build/sandbox/index.js +55 -59
  117. package/build/sandbox/index.js.map +1 -1
  118. package/build/sandbox/index.native.js +63 -62
  119. package/build/sandbox/index.native.js.map +1 -1
  120. package/build/slot-fill/bubbles-virtually/fill.js +9 -5
  121. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  122. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  123. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  124. package/build/slot-fill/bubbles-virtually/slot.js +13 -8
  125. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  126. package/build/slot-fill/bubbles-virtually/use-slot.js +15 -9
  127. package/build/slot-fill/bubbles-virtually/use-slot.js.map +1 -1
  128. package/build/slot-fill/fill.js +12 -4
  129. package/build/slot-fill/fill.js.map +1 -1
  130. package/build/slot-fill/use-slot.js +3 -1
  131. package/build/slot-fill/use-slot.js.map +1 -1
  132. package/build/snackbar/index.js +1 -1
  133. package/build/snackbar/index.js.map +1 -1
  134. package/build/tab-panel/index.js +5 -9
  135. package/build/tab-panel/index.js.map +1 -1
  136. package/build/text-control/index.js +0 -2
  137. package/build/text-control/index.js.map +1 -1
  138. package/build/theme/index.js +62 -0
  139. package/build/theme/index.js.map +1 -0
  140. package/build/theme/styles.js +33 -0
  141. package/build/theme/styles.js.map +1 -0
  142. package/build/theme/types.js +6 -0
  143. package/build/theme/types.js.map +1 -0
  144. package/build/toggle-control/index.js +15 -3
  145. package/build/toggle-control/index.js.map +1 -1
  146. package/build/toggle-group-control/toggle-group-control/as-button-group.js +90 -0
  147. package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -0
  148. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +90 -0
  149. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -0
  150. package/build/toggle-group-control/toggle-group-control/component.js +21 -50
  151. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  152. package/build/toggle-group-control/toggle-group-control/styles.js +8 -8
  153. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  154. package/build/toggle-group-control/toggle-group-control-option-base/component.js +39 -17
  155. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  156. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +23 -23
  157. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  158. package/build/toolbar-dropdown-menu/index.js +1 -1
  159. package/build/toolbar-dropdown-menu/index.js.map +1 -1
  160. package/build/tools-panel/tools-panel/hook.js +3 -3
  161. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  162. package/build/tools-panel/tools-panel-item/hook.js +6 -6
  163. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  164. package/build/tooltip/index.js +4 -1
  165. package/build/tooltip/index.js.map +1 -1
  166. package/build/tooltip/index.native.js +17 -4
  167. package/build/tooltip/index.native.js.map +1 -1
  168. package/build/ui/context/context-system-provider.js +9 -22
  169. package/build/ui/context/context-system-provider.js.map +1 -1
  170. package/build/unit-control/index.js +7 -9
  171. package/build/unit-control/index.js.map +1 -1
  172. package/build/unit-control/styles/unit-control-styles.js +15 -25
  173. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  174. package/build/utils/config-values.js +0 -1
  175. package/build/utils/config-values.js.map +1 -1
  176. package/build/utils/hooks/use-update-effect.js +5 -1
  177. package/build/utils/hooks/use-update-effect.js.map +1 -1
  178. package/build-module/angle-picker-control/index.js +1 -1
  179. package/build-module/angle-picker-control/index.js.map +1 -1
  180. package/build-module/autocomplete/autocompleter-ui.js +29 -3
  181. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  182. package/build-module/border-box-control/border-box-control/component.js +63 -13
  183. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  184. package/build-module/border-box-control/border-box-control/hook.js +11 -4
  185. package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
  186. package/build-module/border-box-control/border-box-control-linked-button/hook.js +3 -3
  187. package/build-module/border-box-control/border-box-control-linked-button/hook.js.map +1 -1
  188. package/build-module/border-box-control/border-box-control-split-controls/component.js +3 -3
  189. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  190. package/build-module/border-box-control/border-box-control-split-controls/hook.js +9 -10
  191. package/build-module/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  192. package/build-module/border-box-control/border-box-control-visualizer/hook.js +4 -6
  193. package/build-module/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  194. package/build-module/border-box-control/styles.js +26 -28
  195. package/build-module/border-box-control/styles.js.map +1 -1
  196. package/build-module/border-control/border-control/component.js +7 -4
  197. package/build-module/border-control/border-control/component.js.map +1 -1
  198. package/build-module/border-control/border-control/hook.js +12 -5
  199. package/build-module/border-control/border-control/hook.js.map +1 -1
  200. package/build-module/border-control/border-control-dropdown/hook.js +5 -5
  201. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  202. package/build-module/border-control/styles.js +20 -36
  203. package/build-module/border-control/styles.js.map +1 -1
  204. package/build-module/box-control/index.js +6 -2
  205. package/build-module/box-control/index.js.map +1 -1
  206. package/build-module/circular-option-picker/index.js +14 -14
  207. package/build-module/circular-option-picker/index.js.map +1 -1
  208. package/build-module/color-palette/index.js +81 -28
  209. package/build-module/color-palette/index.js.map +1 -1
  210. package/build-module/color-palette/styles.js +3 -3
  211. package/build-module/color-palette/styles.js.map +1 -1
  212. package/build-module/color-palette/types.js +2 -0
  213. package/build-module/color-palette/types.js.map +1 -0
  214. package/build-module/color-picker/input-with-slider.js +1 -1
  215. package/build-module/color-picker/input-with-slider.js.map +1 -1
  216. package/build-module/custom-gradient-picker/gradient-bar/index.js +1 -2
  217. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  218. package/build-module/custom-select-control/index.js +8 -4
  219. package/build-module/custom-select-control/index.js.map +1 -1
  220. package/build-module/date-time/date-time/index.js +2 -0
  221. package/build-module/date-time/date-time/index.js.map +1 -1
  222. package/build-module/date-time/time/index.js +4 -4
  223. package/build-module/date-time/time/index.js.map +1 -1
  224. package/build-module/disabled/index.js +15 -27
  225. package/build-module/disabled/index.js.map +1 -1
  226. package/build-module/external-link/index.js +13 -2
  227. package/build-module/external-link/index.js.map +1 -1
  228. package/build-module/focusable-iframe/index.js +0 -1
  229. package/build-module/focusable-iframe/index.js.map +1 -1
  230. package/build-module/font-size-picker/index.js +66 -51
  231. package/build-module/font-size-picker/index.js.map +1 -1
  232. package/build-module/font-size-picker/styles.js +5 -13
  233. package/build-module/font-size-picker/styles.js.map +1 -1
  234. package/build-module/font-size-picker/utils.js +1 -20
  235. package/build-module/font-size-picker/utils.js.map +1 -1
  236. package/build-module/form-file-upload/index.js.map +1 -1
  237. package/build-module/form-token-field/suggestions-list.js +5 -5
  238. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  239. package/build-module/higher-order/with-fallback-styles/index.js +2 -2
  240. package/build-module/higher-order/with-fallback-styles/index.js.map +1 -1
  241. package/build-module/higher-order/with-filters/index.js +1 -6
  242. package/build-module/higher-order/with-filters/index.js.map +1 -1
  243. package/build-module/index.js +4 -3
  244. package/build-module/index.js.map +1 -1
  245. package/build-module/input-control/index.js +2 -0
  246. package/build-module/input-control/index.js.map +1 -1
  247. package/build-module/input-control/input-base.js +1 -1
  248. package/build-module/input-control/input-base.js.map +1 -1
  249. package/build-module/input-control/styles/input-control-styles.js +21 -21
  250. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  251. package/build-module/isolated-event-container/index.js +7 -9
  252. package/build-module/isolated-event-container/index.js.map +1 -1
  253. package/build-module/item-group/styles.js +10 -10
  254. package/build-module/item-group/styles.js.map +1 -1
  255. package/build-module/modal/aria-helper.js +2 -3
  256. package/build-module/modal/aria-helper.js.map +1 -1
  257. package/build-module/modal/index.js +44 -12
  258. package/build-module/modal/index.js.map +1 -1
  259. package/build-module/modal/types.js +2 -0
  260. package/build-module/modal/types.js.map +1 -0
  261. package/build-module/navigator/index.js +4 -4
  262. package/build-module/navigator/index.js.map +1 -1
  263. package/build-module/navigator/navigator-back-button/component.js +3 -3
  264. package/build-module/navigator/navigator-back-button/component.js.map +1 -1
  265. package/build-module/navigator/navigator-back-button/index.js +1 -1
  266. package/build-module/navigator/navigator-back-button/index.js.map +1 -1
  267. package/build-module/navigator/navigator-button/component.js +3 -3
  268. package/build-module/navigator/navigator-button/component.js.map +1 -1
  269. package/build-module/navigator/navigator-button/index.js +1 -1
  270. package/build-module/navigator/navigator-button/index.js.map +1 -1
  271. package/build-module/navigator/navigator-provider/component.js +8 -6
  272. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  273. package/build-module/navigator/navigator-provider/index.js +1 -1
  274. package/build-module/navigator/navigator-provider/index.js.map +1 -1
  275. package/build-module/navigator/navigator-screen/component.js +9 -7
  276. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  277. package/build-module/navigator/navigator-screen/index.js +1 -1
  278. package/build-module/navigator/navigator-screen/index.js.map +1 -1
  279. package/build-module/number-control/index.js +81 -26
  280. package/build-module/number-control/index.js.map +1 -1
  281. package/build-module/number-control/styles/number-control-styles.js +30 -4
  282. package/build-module/number-control/styles/number-control-styles.js.map +1 -1
  283. package/build-module/popover/index.js +15 -29
  284. package/build-module/popover/index.js.map +1 -1
  285. package/build-module/radio-group/index.js +6 -1
  286. package/build-module/radio-group/index.js.map +1 -1
  287. package/build-module/{radio → radio-group/radio}/index.js +6 -1
  288. package/build-module/radio-group/radio/index.js.map +1 -0
  289. package/build-module/{radio-context → radio-group/radio-context}/index.js +0 -0
  290. package/build-module/radio-group/radio-context/index.js.map +1 -0
  291. package/build-module/sandbox/index.js +56 -59
  292. package/build-module/sandbox/index.js.map +1 -1
  293. package/build-module/sandbox/index.native.js +54 -52
  294. package/build-module/sandbox/index.native.js.map +1 -1
  295. package/build-module/slot-fill/bubbles-virtually/fill.js +9 -5
  296. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  297. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  298. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  299. package/build-module/slot-fill/bubbles-virtually/slot.js +13 -8
  300. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  301. package/build-module/slot-fill/bubbles-virtually/use-slot.js +15 -9
  302. package/build-module/slot-fill/bubbles-virtually/use-slot.js.map +1 -1
  303. package/build-module/slot-fill/fill.js +12 -4
  304. package/build-module/slot-fill/fill.js.map +1 -1
  305. package/build-module/slot-fill/use-slot.js +3 -1
  306. package/build-module/slot-fill/use-slot.js.map +1 -1
  307. package/build-module/snackbar/index.js +1 -1
  308. package/build-module/snackbar/index.js.map +1 -1
  309. package/build-module/tab-panel/index.js +5 -9
  310. package/build-module/tab-panel/index.js.map +1 -1
  311. package/build-module/text-control/index.js +0 -2
  312. package/build-module/text-control/index.js.map +1 -1
  313. package/build-module/theme/index.js +52 -0
  314. package/build-module/theme/index.js.map +1 -0
  315. package/build-module/theme/styles.js +25 -0
  316. package/build-module/theme/styles.js.map +1 -0
  317. package/build-module/theme/types.js +2 -0
  318. package/build-module/theme/types.js.map +1 -0
  319. package/build-module/toggle-control/index.js +15 -3
  320. package/build-module/toggle-control/index.js.map +1 -1
  321. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js +76 -0
  322. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -0
  323. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +75 -0
  324. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -0
  325. package/build-module/toggle-group-control/toggle-group-control/component.js +19 -49
  326. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  327. package/build-module/toggle-group-control/toggle-group-control/styles.js +7 -6
  328. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  329. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +39 -17
  330. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  331. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +21 -18
  332. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  333. package/build-module/toolbar-dropdown-menu/index.js +1 -1
  334. package/build-module/toolbar-dropdown-menu/index.js.map +1 -1
  335. package/build-module/tools-panel/tools-panel/hook.js +3 -3
  336. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  337. package/build-module/tools-panel/tools-panel-item/hook.js +6 -6
  338. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  339. package/build-module/tooltip/index.js +4 -1
  340. package/build-module/tooltip/index.js.map +1 -1
  341. package/build-module/tooltip/index.native.js +17 -4
  342. package/build-module/tooltip/index.native.js.map +1 -1
  343. package/build-module/ui/context/context-system-provider.js +6 -20
  344. package/build-module/ui/context/context-system-provider.js.map +1 -1
  345. package/build-module/unit-control/index.js +8 -10
  346. package/build-module/unit-control/index.js.map +1 -1
  347. package/build-module/unit-control/styles/unit-control-styles.js +8 -24
  348. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  349. package/build-module/utils/config-values.js +0 -1
  350. package/build-module/utils/config-values.js.map +1 -1
  351. package/build-module/utils/hooks/use-update-effect.js +5 -1
  352. package/build-module/utils/hooks/use-update-effect.js.map +1 -1
  353. package/build-style/style-rtl.css +45 -61
  354. package/build-style/style.css +43 -59
  355. package/build-types/base-field/hook.d.ts +11 -11
  356. package/build-types/border-box-control/border-box-control/component.d.ts +53 -4
  357. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  358. package/build-types/border-box-control/border-box-control/hook.d.ts +14 -12
  359. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  360. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +12 -12
  361. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
  362. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +1 -1
  363. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  364. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +12 -12
  365. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  366. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +12 -12
  367. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
  368. package/build-types/border-box-control/stories/index.d.ts +17 -0
  369. package/build-types/border-box-control/stories/index.d.ts.map +1 -0
  370. package/build-types/border-box-control/styles.d.ts +7 -6
  371. package/build-types/border-box-control/styles.d.ts.map +1 -1
  372. package/build-types/border-box-control/types.d.ts +12 -16
  373. package/build-types/border-box-control/types.d.ts.map +1 -1
  374. package/build-types/border-control/border-control/component.d.ts +2 -1
  375. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  376. package/build-types/border-control/border-control/hook.d.ts +14 -13
  377. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  378. package/build-types/border-control/border-control-dropdown/component.d.ts +1 -1
  379. package/build-types/border-control/border-control-dropdown/hook.d.ts +11 -11
  380. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  381. package/build-types/border-control/border-control-style-picker/hook.d.ts +11 -11
  382. package/build-types/border-control/stories/index.d.ts +12 -6
  383. package/build-types/border-control/stories/index.d.ts.map +1 -1
  384. package/build-types/border-control/styles.d.ts +3 -3
  385. package/build-types/border-control/styles.d.ts.map +1 -1
  386. package/build-types/border-control/types.d.ts +11 -9
  387. package/build-types/border-control/types.d.ts.map +1 -1
  388. package/build-types/card/card/hook.d.ts +12 -12
  389. package/build-types/card/card-body/hook.d.ts +12 -12
  390. package/build-types/card/card-divider/hook.d.ts +13 -13
  391. package/build-types/card/card-footer/hook.d.ts +12 -12
  392. package/build-types/card/card-header/hook.d.ts +12 -12
  393. package/build-types/card/card-media/hook.d.ts +12 -12
  394. package/build-types/card/stories/index.d.ts.map +1 -1
  395. package/build-types/circular-option-picker/index.d.ts +4 -24
  396. package/build-types/circular-option-picker/index.d.ts.map +1 -1
  397. package/build-types/color-palette/index.d.ts +33 -18
  398. package/build-types/color-palette/index.d.ts.map +1 -1
  399. package/build-types/color-palette/stories/index.d.ts +21 -0
  400. package/build-types/color-palette/stories/index.d.ts.map +1 -0
  401. package/build-types/color-palette/styles.d.ts +3 -2
  402. package/build-types/color-palette/styles.d.ts.map +1 -1
  403. package/build-types/color-palette/test/index.d.ts +2 -0
  404. package/build-types/color-palette/test/index.d.ts.map +1 -0
  405. package/build-types/color-palette/types.d.ts +86 -0
  406. package/build-types/color-palette/types.d.ts.map +1 -0
  407. package/build-types/color-picker/styles.d.ts +5 -4
  408. package/build-types/color-picker/styles.d.ts.map +1 -1
  409. package/build-types/confirm-dialog/component.d.ts +4 -4
  410. package/build-types/confirm-dialog/types.d.ts +5 -1
  411. package/build-types/confirm-dialog/types.d.ts.map +1 -1
  412. package/build-types/custom-select-control/index.d.ts +1 -12
  413. package/build-types/custom-select-control/index.d.ts.map +1 -1
  414. package/build-types/custom-select-control/styles.d.ts +3 -1
  415. package/build-types/custom-select-control/styles.d.ts.map +1 -1
  416. package/build-types/date-time/date/styles.d.ts +3 -3
  417. package/build-types/date-time/date-time/index.d.ts +2 -0
  418. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  419. package/build-types/date-time/date-time/styles.d.ts +3 -3
  420. package/build-types/date-time/stories/date-time.d.ts.map +1 -1
  421. package/build-types/date-time/time/styles.d.ts +8 -4
  422. package/build-types/date-time/time/styles.d.ts.map +1 -1
  423. package/build-types/disabled/index.d.ts +8 -1
  424. package/build-types/disabled/index.d.ts.map +1 -1
  425. package/build-types/elevation/hook.d.ts +12 -12
  426. package/build-types/external-link/index.d.ts.map +1 -1
  427. package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
  428. package/build-types/external-link/test/index.d.ts +2 -0
  429. package/build-types/external-link/test/index.d.ts.map +1 -0
  430. package/build-types/flex/flex/hook.d.ts +12 -12
  431. package/build-types/flex/flex-block/hook.d.ts +12 -12
  432. package/build-types/flex/flex-item/hook.d.ts +12 -12
  433. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +2 -2
  434. package/build-types/focal-point-picker/styles/focal-point-style.d.ts +3 -3
  435. package/build-types/focusable-iframe/index.d.ts.map +1 -1
  436. package/build-types/font-size-picker/index.d.ts.map +1 -1
  437. package/build-types/font-size-picker/styles.d.ts.map +1 -1
  438. package/build-types/font-size-picker/types.d.ts +1 -1
  439. package/build-types/font-size-picker/utils.d.ts +0 -8
  440. package/build-types/font-size-picker/utils.d.ts.map +1 -1
  441. package/build-types/form-file-upload/index.d.ts.map +1 -1
  442. package/build-types/form-file-upload/types.d.ts +5 -4
  443. package/build-types/form-file-upload/types.d.ts.map +1 -1
  444. package/build-types/grid/hook.d.ts +12 -12
  445. package/build-types/h-stack/component.d.ts +1 -1
  446. package/build-types/h-stack/hook.d.ts +12 -12
  447. package/build-types/heading/hook.d.ts +12 -12
  448. package/build-types/input-control/index.d.ts +1 -1
  449. package/build-types/input-control/index.d.ts.map +1 -1
  450. package/build-types/input-control/input-base.d.ts +5 -2
  451. package/build-types/input-control/input-base.d.ts.map +1 -1
  452. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  453. package/build-types/input-control/types.d.ts +3 -8
  454. package/build-types/input-control/types.d.ts.map +1 -1
  455. package/build-types/input-control/utils.d.ts +1 -1
  456. package/build-types/isolated-event-container/index.d.ts +3 -2
  457. package/build-types/isolated-event-container/index.d.ts.map +1 -1
  458. package/build-types/item-group/item/hook.d.ts +13 -13
  459. package/build-types/item-group/item-group/hook.d.ts +13 -13
  460. package/build-types/modal/aria-helper.d.ts +4 -4
  461. package/build-types/modal/aria-helper.d.ts.map +1 -1
  462. package/build-types/modal/index.d.ts +35 -2
  463. package/build-types/modal/index.d.ts.map +1 -1
  464. package/build-types/modal/stories/index.d.ts +9 -0
  465. package/build-types/modal/stories/index.d.ts.map +1 -0
  466. package/build-types/modal/test/aria-helper.d.ts +2 -0
  467. package/build-types/modal/test/aria-helper.d.ts.map +1 -0
  468. package/build-types/modal/test/index.d.ts +2 -0
  469. package/build-types/modal/test/index.d.ts.map +1 -0
  470. package/build-types/modal/types.d.ts +134 -0
  471. package/build-types/modal/types.d.ts.map +1 -0
  472. package/build-types/navigator/index.d.ts +4 -4
  473. package/build-types/navigator/index.d.ts.map +1 -1
  474. package/build-types/navigator/navigator-back-button/component.d.ts +4 -2
  475. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
  476. package/build-types/navigator/navigator-back-button/hook.d.ts +14 -13
  477. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  478. package/build-types/navigator/navigator-back-button/index.d.ts +1 -1
  479. package/build-types/navigator/navigator-back-button/index.d.ts.map +1 -1
  480. package/build-types/navigator/navigator-button/component.d.ts +4 -2
  481. package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
  482. package/build-types/navigator/navigator-button/hook.d.ts +14 -13
  483. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  484. package/build-types/navigator/navigator-button/index.d.ts +1 -1
  485. package/build-types/navigator/navigator-button/index.d.ts.map +1 -1
  486. package/build-types/navigator/navigator-provider/component.d.ts +2 -2
  487. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  488. package/build-types/navigator/navigator-provider/index.d.ts +1 -1
  489. package/build-types/navigator/navigator-provider/index.d.ts.map +1 -1
  490. package/build-types/navigator/navigator-screen/component.d.ts +2 -2
  491. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  492. package/build-types/navigator/navigator-screen/index.d.ts +1 -1
  493. package/build-types/navigator/navigator-screen/index.d.ts.map +1 -1
  494. package/build-types/navigator/stories/index.d.ts +9 -0
  495. package/build-types/navigator/stories/index.d.ts.map +1 -0
  496. package/build-types/navigator/test/index.d.ts +2 -0
  497. package/build-types/navigator/test/index.d.ts.map +1 -0
  498. package/build-types/navigator/types.d.ts +4 -1
  499. package/build-types/navigator/types.d.ts.map +1 -1
  500. package/build-types/number-control/index.d.ts +2 -4
  501. package/build-types/number-control/index.d.ts.map +1 -1
  502. package/build-types/number-control/styles/number-control-styles.d.ts +5 -0
  503. package/build-types/number-control/styles/number-control-styles.d.ts.map +1 -1
  504. package/build-types/number-control/types.d.ts +12 -0
  505. package/build-types/number-control/types.d.ts.map +1 -1
  506. package/build-types/popover/index.d.ts +1 -1
  507. package/build-types/popover/index.d.ts.map +1 -1
  508. package/build-types/popover/stories/e2e/index.d.ts +1 -1
  509. package/build-types/popover/stories/index.d.ts +2 -0
  510. package/build-types/popover/stories/index.d.ts.map +1 -1
  511. package/build-types/popover/types.d.ts +18 -14
  512. package/build-types/popover/types.d.ts.map +1 -1
  513. package/build-types/radio-group/index.d.ts +10 -0
  514. package/build-types/radio-group/index.d.ts.map +1 -0
  515. package/build-types/radio-group/radio/index.d.ts +7 -0
  516. package/build-types/radio-group/radio/index.d.ts.map +1 -0
  517. package/build-types/{radio-context → radio-group/radio-context}/index.d.ts +0 -0
  518. package/build-types/radio-group/radio-context/index.d.ts.map +1 -0
  519. package/build-types/range-control/index.d.ts +1 -1
  520. package/build-types/range-control/styles/range-control-styles.d.ts +2 -1
  521. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  522. package/build-types/resizable-box/index.d.ts +1 -1
  523. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  524. package/build-types/resizable-box/resize-tooltip/label.d.ts +1 -1
  525. package/build-types/scrollable/hook.d.ts +12 -12
  526. package/build-types/search-control/index.d.ts +2 -2
  527. package/build-types/search-control/stories/index.d.ts +4 -4
  528. package/build-types/select-control/stories/index.d.ts.map +1 -1
  529. package/build-types/slot-fill/bubbles-virtually/slot-fill-provider.d.ts.map +1 -1
  530. package/build-types/slot-fill/bubbles-virtually/use-slot.d.ts.map +1 -1
  531. package/build-types/slot-fill/fill.d.ts.map +1 -1
  532. package/build-types/slot-fill/use-slot.d.ts.map +1 -1
  533. package/build-types/spacer/hook.d.ts +12 -12
  534. package/build-types/spinner/index.d.ts +1 -1
  535. package/build-types/surface/hook.d.ts +12 -12
  536. package/build-types/tab-panel/index.d.ts.map +1 -1
  537. package/build-types/text/hook.d.ts +12 -12
  538. package/build-types/text-control/index.d.ts +2 -4
  539. package/build-types/text-control/index.d.ts.map +1 -1
  540. package/build-types/text-control/stories/index.d.ts.map +1 -1
  541. package/build-types/theme/index.d.ts +31 -0
  542. package/build-types/theme/index.d.ts.map +1 -0
  543. package/build-types/theme/stories/index.d.ts +13 -0
  544. package/build-types/theme/stories/index.d.ts.map +1 -0
  545. package/build-types/theme/styles.d.ts +10 -0
  546. package/build-types/theme/styles.d.ts.map +1 -0
  547. package/build-types/theme/test/index.d.ts +2 -0
  548. package/build-types/theme/test/index.d.ts.map +1 -0
  549. package/build-types/theme/types.d.ts +21 -0
  550. package/build-types/theme/types.d.ts.map +1 -0
  551. package/build-types/toggle-control/index.d.ts.map +1 -1
  552. package/build-types/toggle-control/types.d.ts +2 -1
  553. package/build-types/toggle-control/types.d.ts.map +1 -1
  554. package/build-types/toggle-group-control/stories/index.d.ts +2 -2
  555. package/build-types/toggle-group-control/stories/index.d.ts.map +1 -1
  556. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts +6 -0
  557. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts.map +1 -0
  558. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +6 -0
  559. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -0
  560. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +2 -2
  561. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  562. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +2 -2
  563. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  564. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  565. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +4 -7
  566. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  567. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
  568. package/build-types/toggle-group-control/types.d.ts +19 -14
  569. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  570. package/build-types/tools-panel/tools-panel/hook.d.ts +12 -12
  571. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  572. package/build-types/tools-panel/tools-panel-header/hook.d.ts +12 -12
  573. package/build-types/tools-panel/tools-panel-item/hook.d.ts +12 -12
  574. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  575. package/build-types/tooltip/index.d.ts.map +1 -1
  576. package/build-types/truncate/hook.d.ts +12 -12
  577. package/build-types/ui/context/context-system-provider.d.ts.map +1 -1
  578. package/build-types/ui/control-group/hook.d.ts +12 -12
  579. package/build-types/ui/control-label/component.d.ts +1 -1
  580. package/build-types/ui/control-label/hook.d.ts +12 -12
  581. package/build-types/ui/form-group/form-group.d.ts +4 -4
  582. package/build-types/ui/form-group/use-form-group.d.ts +28 -28
  583. package/build-types/unit-control/index.d.ts +2 -2
  584. package/build-types/unit-control/index.d.ts.map +1 -1
  585. package/build-types/unit-control/styles/unit-control-styles.d.ts +2 -5
  586. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  587. package/build-types/unit-control/types.d.ts +3 -3
  588. package/build-types/unit-control/types.d.ts.map +1 -1
  589. package/build-types/utils/config-values.d.ts +0 -1
  590. package/build-types/utils/hooks/use-update-effect.d.ts.map +1 -1
  591. package/build-types/utils/types.d.ts +0 -14
  592. package/build-types/utils/types.d.ts.map +1 -1
  593. package/build-types/v-stack/component.d.ts +2 -2
  594. package/build-types/v-stack/hook.d.ts +12 -12
  595. package/build-types/v-stack/stories/index.d.ts +2 -2
  596. package/package.json +17 -17
  597. package/src/angle-picker-control/index.js +1 -1
  598. package/src/angle-picker-control/stories/index.js +3 -0
  599. package/src/autocomplete/autocompleter-ui.js +29 -2
  600. package/src/autocomplete/test/index.js +89 -0
  601. package/src/base-field/test/index.js +4 -6
  602. package/src/border-box-control/border-box-control/README.md +8 -0
  603. package/src/border-box-control/border-box-control/component.tsx +66 -13
  604. package/src/border-box-control/border-box-control/hook.ts +11 -2
  605. package/src/border-box-control/border-box-control-linked-button/hook.ts +3 -6
  606. package/src/border-box-control/border-box-control-split-controls/component.tsx +3 -6
  607. package/src/border-box-control/border-box-control-split-controls/hook.ts +11 -14
  608. package/src/border-box-control/border-box-control-visualizer/hook.ts +4 -7
  609. package/src/border-box-control/stories/index.tsx +90 -0
  610. package/src/border-box-control/styles.ts +28 -22
  611. package/src/border-box-control/test/index.js +291 -121
  612. package/src/border-box-control/types.ts +12 -16
  613. package/src/border-control/border-control/README.md +14 -0
  614. package/src/border-control/border-control/component.tsx +6 -3
  615. package/src/border-control/border-control/hook.ts +10 -6
  616. package/src/border-control/border-control-dropdown/hook.ts +5 -7
  617. package/src/border-control/stories/index.tsx +12 -14
  618. package/src/border-control/styles.ts +20 -23
  619. package/src/border-control/test/index.js +139 -96
  620. package/src/border-control/types.ts +11 -9
  621. package/src/box-control/README.md +14 -0
  622. package/src/box-control/index.js +4 -0
  623. package/src/box-control/stories/index.js +8 -27
  624. package/src/button/README.md +2 -15
  625. package/src/button/stories/index.js +109 -178
  626. package/src/button/style.scss +40 -77
  627. package/src/button/test/index.js +3 -5
  628. package/src/card/stories/index.tsx +27 -31
  629. package/src/card/test/__snapshots__/index.tsx.snap +36 -35
  630. package/src/card/test/index.tsx +2 -6
  631. package/src/circular-option-picker/index.js +14 -20
  632. package/src/color-palette/README.md +51 -49
  633. package/src/color-palette/{index.js → index.tsx} +132 -51
  634. package/src/color-palette/stories/{index.js → index.tsx} +38 -27
  635. package/src/color-palette/style.scss +2 -2
  636. package/src/color-palette/{styles.js → styles.ts} +0 -0
  637. package/src/color-palette/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  638. package/src/color-palette/test/{index.js → index.tsx} +1 -1
  639. package/src/color-palette/types.ts +93 -0
  640. package/src/color-picker/input-with-slider.tsx +1 -1
  641. package/src/combobox-control/test/index.js +1 -1
  642. package/src/confirm-dialog/types.ts +6 -0
  643. package/src/custom-gradient-picker/gradient-bar/index.js +1 -3
  644. package/src/custom-select-control/README.md +14 -0
  645. package/src/custom-select-control/index.js +22 -15
  646. package/src/date-time/date-time/index.tsx +2 -0
  647. package/src/date-time/stories/date-time.tsx +4 -0
  648. package/src/date-time/time/index.tsx +4 -4
  649. package/src/date-time/time/test/index.tsx +2 -6
  650. package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -0
  651. package/src/disabled/README.md +2 -0
  652. package/src/disabled/index.tsx +19 -34
  653. package/src/disabled/test/index.tsx +9 -82
  654. package/src/dropdown/test/index.js +4 -3
  655. package/src/external-link/index.tsx +14 -6
  656. package/src/external-link/test/index.tsx +106 -0
  657. package/src/focusable-iframe/index.js +0 -1
  658. package/src/font-size-picker/README.md +3 -3
  659. package/src/font-size-picker/index.tsx +153 -143
  660. package/src/font-size-picker/styles.ts +3 -1
  661. package/src/font-size-picker/test/index.tsx +447 -174
  662. package/src/font-size-picker/test/utils.ts +6 -50
  663. package/src/font-size-picker/types.ts +1 -1
  664. package/src/font-size-picker/utils.ts +1 -23
  665. package/src/form-file-upload/README.md +1 -3
  666. package/src/form-file-upload/index.tsx +1 -0
  667. package/src/form-file-upload/test/index.tsx +1 -1
  668. package/src/form-file-upload/types.ts +5 -4
  669. package/src/form-toggle/test/__snapshots__/index.tsx.snap +15 -13
  670. package/src/form-toggle/test/index.tsx +1 -1
  671. package/src/form-token-field/suggestions-list.tsx +5 -5
  672. package/src/h-stack/test/__snapshots__/index.tsx.snap +36 -30
  673. package/src/h-stack/test/index.tsx +3 -3
  674. package/src/higher-order/with-fallback-styles/index.js +6 -2
  675. package/src/higher-order/with-filters/index.js +4 -9
  676. package/src/higher-order/with-focus-outside/test/index.js +44 -45
  677. package/src/higher-order/with-focus-return/test/index.js +34 -30
  678. package/src/higher-order/with-notices/test/index.js +1 -1
  679. package/src/index.js +4 -2
  680. package/src/input-control/index.tsx +2 -0
  681. package/src/input-control/input-base.tsx +3 -3
  682. package/src/input-control/styles/input-control-styles.tsx +1 -0
  683. package/src/input-control/test/index.js +2 -2
  684. package/src/input-control/types.ts +4 -11
  685. package/src/isolated-event-container/index.tsx +32 -0
  686. package/src/item-group/styles.ts +1 -1
  687. package/src/item-group/test/__snapshots__/index.js.snap +90 -85
  688. package/src/item-group/test/index.js +8 -18
  689. package/src/menu-item/test/index.js +0 -3
  690. package/src/mobile/bottom-sheet/test/range-cell.native.js +16 -14
  691. package/src/modal/README.md +53 -54
  692. package/src/modal/{aria-helper.js → aria-helper.ts} +5 -7
  693. package/src/modal/{index.js → index.tsx} +48 -12
  694. package/src/modal/stories/{index.js → index.tsx} +47 -42
  695. package/src/modal/test/{aria-helper.js → aria-helper.ts} +0 -0
  696. package/src/modal/test/{index.js → index.tsx} +13 -3
  697. package/src/modal/types.ts +144 -0
  698. package/src/navigation/test/index.js +1 -1
  699. package/src/navigator/index.ts +4 -4
  700. package/src/navigator/navigator-back-button/component.tsx +4 -4
  701. package/src/navigator/navigator-back-button/index.ts +1 -1
  702. package/src/navigator/navigator-button/component.tsx +4 -4
  703. package/src/navigator/navigator-button/index.ts +1 -1
  704. package/src/navigator/navigator-provider/component.tsx +6 -4
  705. package/src/navigator/navigator-provider/index.ts +1 -1
  706. package/src/navigator/navigator-screen/component.tsx +17 -6
  707. package/src/navigator/navigator-screen/index.ts +1 -1
  708. package/src/navigator/stories/index.tsx +210 -0
  709. package/src/navigator/test/index.tsx +509 -0
  710. package/src/navigator/types.ts +2 -0
  711. package/src/notice/test/__snapshots__/index.js.snap +39 -38
  712. package/src/notice/test/index.js +15 -36
  713. package/src/notice/test/list.js +6 -14
  714. package/src/number-control/README.md +9 -4
  715. package/src/number-control/index.tsx +100 -33
  716. package/src/number-control/styles/number-control-styles.js +26 -1
  717. package/src/number-control/test/index.js +53 -2
  718. package/src/number-control/types.ts +12 -0
  719. package/src/panel/test/body.js +2 -2
  720. package/src/placeholder/style.scss +5 -0
  721. package/src/popover/README.md +12 -7
  722. package/src/popover/index.tsx +20 -30
  723. package/src/popover/stories/index.tsx +29 -1
  724. package/src/popover/style.scss +9 -0
  725. package/src/popover/types.ts +18 -15
  726. package/src/radio-group/README.md +4 -0
  727. package/src/radio-group/index.js +6 -1
  728. package/src/{radio → radio-group/radio}/index.js +6 -1
  729. package/src/{radio-context → radio-group/radio-context}/index.js +0 -0
  730. package/src/radio-group/stories/index.js +11 -2
  731. package/src/sandbox/index.js +62 -47
  732. package/src/sandbox/index.native.js +72 -52
  733. package/src/sandbox/test/index.js +8 -11
  734. package/src/select-control/stories/index.tsx +9 -4
  735. package/src/shortcut/test/index.tsx +1 -1
  736. package/src/slot-fill/bubbles-virtually/fill.js +5 -5
  737. package/src/slot-fill/bubbles-virtually/slot-fill-provider.js +5 -3
  738. package/src/slot-fill/bubbles-virtually/slot.js +10 -8
  739. package/src/slot-fill/bubbles-virtually/use-slot.js +15 -9
  740. package/src/slot-fill/fill.js +12 -2
  741. package/src/slot-fill/use-slot.js +3 -0
  742. package/src/snackbar/index.js +1 -1
  743. package/src/style.scss +4 -0
  744. package/src/surface/test/__snapshots__/index.tsx.snap +58 -46
  745. package/src/surface/test/index.tsx +6 -16
  746. package/src/tab-panel/index.tsx +5 -9
  747. package/src/tab-panel/test/index.tsx +78 -1
  748. package/src/text/test/__snapshots__/index.tsx.snap +19 -15
  749. package/src/text/test/index.tsx +2 -2
  750. package/src/text-control/index.tsx +0 -2
  751. package/src/text-control/stories/index.tsx +5 -6
  752. package/src/text-highlight/test/index.tsx +1 -3
  753. package/src/theme/README.md +34 -0
  754. package/src/theme/index.tsx +51 -0
  755. package/src/theme/stories/index.tsx +47 -0
  756. package/src/theme/styles.ts +28 -0
  757. package/src/theme/test/index.tsx +101 -0
  758. package/src/theme/types.ts +21 -0
  759. package/src/toggle-control/README.md +6 -4
  760. package/src/toggle-control/index.tsx +13 -2
  761. package/src/toggle-control/types.ts +2 -4
  762. package/src/toggle-group-control/stories/index.tsx +4 -4
  763. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +219 -160
  764. package/src/toggle-group-control/test/index.tsx +129 -2
  765. package/src/toggle-group-control/toggle-group-control/as-button-group.tsx +103 -0
  766. package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +99 -0
  767. package/src/toggle-group-control/toggle-group-control/component.tsx +29 -74
  768. package/src/toggle-group-control/toggle-group-control/styles.ts +12 -10
  769. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +49 -25
  770. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +39 -19
  771. package/src/toggle-group-control/types.ts +75 -63
  772. package/src/toolbar/test/index.js +2 -2
  773. package/src/toolbar-dropdown-menu/index.js +1 -1
  774. package/src/toolbar-group/test/index.js +6 -10
  775. package/src/tools-panel/stories/index.js +0 -1
  776. package/src/tools-panel/stories/tools-panel-with-item-group-slot.js +0 -1
  777. package/src/tools-panel/test/index.js +4 -6
  778. package/src/tools-panel/tools-panel/hook.ts +2 -9
  779. package/src/tools-panel/tools-panel-item/hook.ts +17 -3
  780. package/src/tooltip/index.js +3 -0
  781. package/src/tooltip/index.native.js +15 -0
  782. package/src/tooltip/test/index.native.js +1 -2
  783. package/src/tree-grid/test/__snapshots__/cell.js.snap +20 -20
  784. package/src/tree-grid/test/__snapshots__/roving-tab-index-item.js.snap +17 -15
  785. package/src/tree-grid/test/__snapshots__/roving-tab-index.js.snap +3 -1
  786. package/src/tree-grid/test/__snapshots__/row.js.snap +33 -25
  787. package/src/tree-grid/test/cell.js +4 -4
  788. package/src/tree-grid/test/roving-tab-index-item.js +8 -8
  789. package/src/tree-grid/test/roving-tab-index.js +3 -3
  790. package/src/tree-grid/test/row.js +20 -16
  791. package/src/truncate/test/index.tsx +4 -4
  792. package/src/ui/context/context-system-provider.js +5 -18
  793. package/src/ui/context/test/__snapshots__/context-system-provider.js.snap +23 -17
  794. package/src/ui/context/test/context-system-provider.js +3 -3
  795. package/src/ui/control-group/test/__snapshots__/index.js.snap +18 -16
  796. package/src/ui/control-group/test/index.js +1 -1
  797. package/src/ui/control-label/test/__snapshots__/index.js.snap +27 -21
  798. package/src/ui/control-label/test/index.js +3 -3
  799. package/src/ui/form-group/test/__snapshots__/index.js.snap +34 -30
  800. package/src/ui/form-group/test/index.js +2 -2
  801. package/src/ui/shortcut/test/__snapshots__/index.js.snap +1 -1
  802. package/src/ui/shortcut/test/index.js +3 -2
  803. package/src/ui/spinner/test/__snapshots__/index.js.snap +75 -73
  804. package/src/ui/spinner/test/index.js +10 -13
  805. package/src/ui/tooltip/test/index.js +16 -14
  806. package/src/unit-control/index.tsx +29 -30
  807. package/src/unit-control/styles/unit-control-styles.ts +6 -12
  808. package/src/unit-control/test/utils.ts +43 -0
  809. package/src/unit-control/types.ts +5 -6
  810. package/src/utils/config-values.js +0 -1
  811. package/src/utils/hooks/use-update-effect.js +5 -1
  812. package/src/utils/theme-variables.scss +8 -0
  813. package/src/utils/types.ts +0 -15
  814. package/src/v-stack/test/__snapshots__/index.tsx.snap +36 -30
  815. package/src/v-stack/test/index.tsx +3 -3
  816. package/src/view/test/__snapshots__/index.js.snap +34 -24
  817. package/src/view/test/index.js +5 -5
  818. package/src/visually-hidden/README.md +4 -0
  819. package/tsconfig.json +0 -2
  820. package/tsconfig.tsbuildinfo +1 -1
  821. package/build/radio/index.js.map +0 -1
  822. package/build/radio-context/index.js.map +0 -1
  823. package/build-module/radio/index.js.map +0 -1
  824. package/build-module/radio-context/index.js.map +0 -1
  825. package/build-types/radio-context/index.d.ts.map +0 -1
  826. package/src/border-box-control/stories/index.js +0 -106
  827. package/src/form-file-upload/stories/index.js +0 -51
  828. package/src/isolated-event-container/index.js +0 -28
  829. package/src/navigator/stories/index.js +0 -194
  830. package/src/navigator/test/index.js +0 -472
  831. package/src/radio/stories/index.js +0 -20
@@ -14,7 +14,6 @@ import { useMergeRefs } from '@wordpress/compose';
14
14
  import BorderBoxControlLinkedButton from '../border-box-control-linked-button';
15
15
  import BorderBoxControlSplitControls from '../border-box-control-split-controls';
16
16
  import { BorderControl } from '../../border-control';
17
- import { HStack } from '../../h-stack';
18
17
  import { StyledLabel } from '../../base-control/styles/base-control-styles';
19
18
  import { View } from '../../view';
20
19
  import { VisuallyHidden } from '../../visually-hidden';
@@ -36,11 +35,12 @@ const BorderLabel = props => {
36
35
  }, label) : createElement(StyledLabel, null, label);
37
36
  };
38
37
 
39
- const BorderBoxControl = (props, forwardedRef) => {
38
+ const UnconnectedBorderBoxControl = (props, forwardedRef) => {
40
39
  const {
41
40
  className,
42
41
  colors,
43
42
  disableCustomColors,
43
+ disableUnits,
44
44
  enableAlpha,
45
45
  enableStyle,
46
46
  hasMixedBorders,
@@ -53,11 +53,12 @@ const BorderBoxControl = (props, forwardedRef) => {
53
53
  onSplitChange,
54
54
  popoverPlacement,
55
55
  popoverOffset,
56
+ size = 'default',
56
57
  splitValue,
57
58
  toggleLinked,
59
+ wrapperClassName,
58
60
  __experimentalHasMultipleOrigins,
59
61
  __experimentalIsRenderedInSidebar,
60
- __next36pxDefaultSize = false,
61
62
  ...otherProps
62
63
  } = useBorderBoxControl(props); // Use internal state instead of a ref to make sure that the component
63
64
  // re-renders when the popover's anchor updates.
@@ -78,13 +79,12 @@ const BorderBoxControl = (props, forwardedRef) => {
78
79
  }), createElement(BorderLabel, {
79
80
  label: label,
80
81
  hideLabelFromVision: hideLabelFromVision
81
- }), createElement(HStack, {
82
- alignment: 'start',
83
- expanded: true,
84
- spacing: 0
82
+ }), createElement(View, {
83
+ className: wrapperClassName
85
84
  }, isLinked ? createElement(BorderControl, {
86
85
  className: linkedControlClassName,
87
86
  colors: colors,
87
+ disableUnits: disableUnits,
88
88
  disableCustomColors: disableCustomColors,
89
89
  enableAlpha: enableAlpha,
90
90
  enableStyle: enableStyle,
@@ -95,10 +95,10 @@ const BorderBoxControl = (props, forwardedRef) => {
95
95
  ,
96
96
  value: linkedValue,
97
97
  withSlider: true,
98
- width: '110px',
98
+ width: size === '__unstable-large' ? '116px' : '110px',
99
99
  __experimentalHasMultipleOrigins: __experimentalHasMultipleOrigins,
100
100
  __experimentalIsRenderedInSidebar: __experimentalIsRenderedInSidebar,
101
- __next36pxDefaultSize: __next36pxDefaultSize
101
+ size: size
102
102
  }) : createElement(BorderBoxControlSplitControls, {
103
103
  colors: colors,
104
104
  disableCustomColors: disableCustomColors,
@@ -110,14 +110,64 @@ const BorderBoxControl = (props, forwardedRef) => {
110
110
  value: splitValue,
111
111
  __experimentalHasMultipleOrigins: __experimentalHasMultipleOrigins,
112
112
  __experimentalIsRenderedInSidebar: __experimentalIsRenderedInSidebar,
113
- __next36pxDefaultSize: __next36pxDefaultSize
113
+ size: size
114
114
  }), createElement(BorderBoxControlLinkedButton, {
115
115
  onClick: toggleLinked,
116
116
  isLinked: isLinked,
117
- __next36pxDefaultSize: __next36pxDefaultSize
117
+ size: size
118
118
  })));
119
119
  };
120
+ /**
121
+ * The `BorderBoxControl` effectively has two view states. The first, a "linked"
122
+ * view, allows configuration of a flat border via a single `BorderControl`.
123
+ * The second, a "split" view, contains a `BorderControl` for each side
124
+ * as well as a visualizer for the currently selected borders. Each view also
125
+ * contains a button to toggle between the two.
126
+ *
127
+ * When switching from the "split" view to "linked", if the individual side
128
+ * borders are not consistent, the "linked" view will display any border
129
+ * properties selections that are consistent while showing a mixed state for
130
+ * those that aren't. For example, if all borders had the same color and style
131
+ * but different widths, then the border dropdown in the "linked" view's
132
+ * `BorderControl` would show that consistent color and style but the "linked"
133
+ * view's width input would show "Mixed" placeholder text.
134
+ *
135
+ * ```jsx
136
+ * import { __experimentalBorderBoxControl as BorderBoxControl } from '@wordpress/components';
137
+ * import { __ } from '@wordpress/i18n';
138
+ *
139
+ * const colors = [
140
+ * { name: 'Blue 20', color: '#72aee6' },
141
+ * // ...
142
+ * ];
143
+ *
144
+ * const MyBorderBoxControl = () => {
145
+ * const defaultBorder = {
146
+ * color: '#72aee6',
147
+ * style: 'dashed',
148
+ * width: '1px',
149
+ * };
150
+ * const [ borders, setBorders ] = useState( {
151
+ * top: defaultBorder,
152
+ * right: defaultBorder,
153
+ * bottom: defaultBorder,
154
+ * left: defaultBorder,
155
+ * } );
156
+ * const onChange = ( newBorders ) => setBorders( newBorders );
157
+ *
158
+ * return (
159
+ * <BorderBoxControl
160
+ * colors={ colors }
161
+ * label={ __( 'Borders' ) }
162
+ * onChange={ onChange }
163
+ * value={ borders }
164
+ * />
165
+ * );
166
+ * };
167
+ * ```
168
+ */
169
+
120
170
 
121
- const ConnectedBorderBoxControl = contextConnect(BorderBoxControl, 'BorderBoxControl');
122
- export default ConnectedBorderBoxControl;
171
+ export const BorderBoxControl = contextConnect(UnconnectedBorderBoxControl, 'BorderBoxControl');
172
+ export default BorderBoxControl;
123
173
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control/component.tsx"],"names":["__","useMemo","useState","useMergeRefs","BorderBoxControlLinkedButton","BorderBoxControlSplitControls","BorderControl","HStack","StyledLabel","View","VisuallyHidden","contextConnect","useBorderBoxControl","BorderLabel","props","label","hideLabelFromVision","BorderBoxControl","forwardedRef","className","colors","disableCustomColors","enableAlpha","enableStyle","hasMixedBorders","isLinked","linkedControlClassName","linkedValue","onLinkedChange","onSplitChange","popoverPlacement","popoverOffset","splitValue","toggleLinked","__experimentalHasMultipleOrigins","__experimentalIsRenderedInSidebar","__next36pxDefaultSize","otherProps","popoverAnchor","setPopoverAnchor","popoverProps","placement","offset","anchor","shift","undefined","mergedRef","ConnectedBorderBoxControl"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BorderBoxControlLinkedButton from '../border-box-control-linked-button';\nimport BorderBoxControlSplitControls from '../border-box-control-split-controls';\nimport { BorderControl } from '../../border-control';\nimport { HStack } from '../../h-stack';\nimport { StyledLabel } from '../../base-control/styles/base-control-styles';\nimport { View } from '../../view';\nimport { VisuallyHidden } from '../../visually-hidden';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport { useBorderBoxControl } from './hook';\n\nimport type { BorderBoxControlProps } from '../types';\nimport type {\n\tLabelProps,\n\tBorderControlProps,\n} from '../../border-control/types';\n\nconst BorderLabel = ( props: LabelProps ) => {\n\tconst { label, hideLabelFromVision } = props;\n\n\tif ( ! label ) {\n\t\treturn null;\n\t}\n\n\treturn hideLabelFromVision ? (\n\t\t<VisuallyHidden as=\"label\">{ label }</VisuallyHidden>\n\t) : (\n\t\t<StyledLabel>{ label }</StyledLabel>\n\t);\n};\n\nconst BorderBoxControl = (\n\tprops: WordPressComponentProps< BorderBoxControlProps, 'div' >,\n\tforwardedRef: React.ForwardedRef< any >\n) => {\n\tconst {\n\t\tclassName,\n\t\tcolors,\n\t\tdisableCustomColors,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\thasMixedBorders,\n\t\thideLabelFromVision,\n\t\tisLinked,\n\t\tlabel,\n\t\tlinkedControlClassName,\n\t\tlinkedValue,\n\t\tonLinkedChange,\n\t\tonSplitChange,\n\t\tpopoverPlacement,\n\t\tpopoverOffset,\n\t\tsplitValue,\n\t\ttoggleLinked,\n\t\t__experimentalHasMultipleOrigins,\n\t\t__experimentalIsRenderedInSidebar,\n\t\t__next36pxDefaultSize = false,\n\t\t...otherProps\n\t} = useBorderBoxControl( props );\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< Element | null >(\n\t\tnull\n\t);\n\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps: BorderControlProps[ '__unstablePopoverProps' ] =\n\t\tuseMemo(\n\t\t\t() =>\n\t\t\t\tpopoverPlacement\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tplacement: popoverPlacement,\n\t\t\t\t\t\t\toffset: popoverOffset,\n\t\t\t\t\t\t\tanchor: popoverAnchor,\n\t\t\t\t\t\t\tshift: true,\n\t\t\t\t\t }\n\t\t\t\t\t: undefined,\n\t\t\t[ popoverPlacement, popoverOffset, popoverAnchor ]\n\t\t);\n\n\tconst mergedRef = useMergeRefs( [ setPopoverAnchor, forwardedRef ] );\n\n\treturn (\n\t\t<View className={ className } { ...otherProps } ref={ mergedRef }>\n\t\t\t<BorderLabel\n\t\t\t\tlabel={ label }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t/>\n\t\t\t<HStack alignment={ 'start' } expanded={ true } spacing={ 0 }>\n\t\t\t\t{ isLinked ? (\n\t\t\t\t\t<BorderControl\n\t\t\t\t\t\tclassName={ linkedControlClassName }\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\tenableStyle={ enableStyle }\n\t\t\t\t\t\tonChange={ onLinkedChange }\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\thasMixedBorders ? __( 'Mixed' ) : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__unstablePopoverProps={ popoverProps }\n\t\t\t\t\t\tshouldSanitizeBorder={ false } // This component will handle that.\n\t\t\t\t\t\tvalue={ linkedValue }\n\t\t\t\t\t\twithSlider={ true }\n\t\t\t\t\t\twidth={ '110px' }\n\t\t\t\t\t\t__experimentalHasMultipleOrigins={\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<BorderBoxControlSplitControls\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\tenableStyle={ enableStyle }\n\t\t\t\t\t\tonChange={ onSplitChange }\n\t\t\t\t\t\tpopoverPlacement={ popoverPlacement }\n\t\t\t\t\t\tpopoverOffset={ popoverOffset }\n\t\t\t\t\t\tvalue={ splitValue }\n\t\t\t\t\t\t__experimentalHasMultipleOrigins={\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<BorderBoxControlLinkedButton\n\t\t\t\t\tonClick={ toggleLinked }\n\t\t\t\t\tisLinked={ isLinked }\n\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</View>\n\t);\n};\n\nconst ConnectedBorderBoxControl = contextConnect(\n\tBorderBoxControl,\n\t'BorderBoxControl'\n);\n\nexport default ConnectedBorderBoxControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control/component.tsx"],"names":["__","useMemo","useState","useMergeRefs","BorderBoxControlLinkedButton","BorderBoxControlSplitControls","BorderControl","StyledLabel","View","VisuallyHidden","contextConnect","useBorderBoxControl","BorderLabel","props","label","hideLabelFromVision","UnconnectedBorderBoxControl","forwardedRef","className","colors","disableCustomColors","disableUnits","enableAlpha","enableStyle","hasMixedBorders","isLinked","linkedControlClassName","linkedValue","onLinkedChange","onSplitChange","popoverPlacement","popoverOffset","size","splitValue","toggleLinked","wrapperClassName","__experimentalHasMultipleOrigins","__experimentalIsRenderedInSidebar","otherProps","popoverAnchor","setPopoverAnchor","popoverProps","placement","offset","anchor","shift","undefined","mergedRef","BorderBoxControl"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BorderBoxControlLinkedButton from '../border-box-control-linked-button';\nimport BorderBoxControlSplitControls from '../border-box-control-split-controls';\nimport { BorderControl } from '../../border-control';\nimport { StyledLabel } from '../../base-control/styles/base-control-styles';\nimport { View } from '../../view';\nimport { VisuallyHidden } from '../../visually-hidden';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport { useBorderBoxControl } from './hook';\n\nimport type { BorderBoxControlProps } from '../types';\nimport type {\n\tLabelProps,\n\tBorderControlProps,\n} from '../../border-control/types';\n\nconst BorderLabel = ( props: LabelProps ) => {\n\tconst { label, hideLabelFromVision } = props;\n\n\tif ( ! label ) {\n\t\treturn null;\n\t}\n\n\treturn hideLabelFromVision ? (\n\t\t<VisuallyHidden as=\"label\">{ label }</VisuallyHidden>\n\t) : (\n\t\t<StyledLabel>{ label }</StyledLabel>\n\t);\n};\n\nconst UnconnectedBorderBoxControl = (\n\tprops: WordPressComponentProps< BorderBoxControlProps, 'div', false >,\n\tforwardedRef: React.ForwardedRef< any >\n) => {\n\tconst {\n\t\tclassName,\n\t\tcolors,\n\t\tdisableCustomColors,\n\t\tdisableUnits,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\thasMixedBorders,\n\t\thideLabelFromVision,\n\t\tisLinked,\n\t\tlabel,\n\t\tlinkedControlClassName,\n\t\tlinkedValue,\n\t\tonLinkedChange,\n\t\tonSplitChange,\n\t\tpopoverPlacement,\n\t\tpopoverOffset,\n\t\tsize = 'default',\n\t\tsplitValue,\n\t\ttoggleLinked,\n\t\twrapperClassName,\n\t\t__experimentalHasMultipleOrigins,\n\t\t__experimentalIsRenderedInSidebar,\n\t\t...otherProps\n\t} = useBorderBoxControl( props );\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< Element | null >(\n\t\tnull\n\t);\n\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps: BorderControlProps[ '__unstablePopoverProps' ] =\n\t\tuseMemo(\n\t\t\t() =>\n\t\t\t\tpopoverPlacement\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tplacement: popoverPlacement,\n\t\t\t\t\t\t\toffset: popoverOffset,\n\t\t\t\t\t\t\tanchor: popoverAnchor,\n\t\t\t\t\t\t\tshift: true,\n\t\t\t\t\t }\n\t\t\t\t\t: undefined,\n\t\t\t[ popoverPlacement, popoverOffset, popoverAnchor ]\n\t\t);\n\n\tconst mergedRef = useMergeRefs( [ setPopoverAnchor, forwardedRef ] );\n\n\treturn (\n\t\t<View className={ className } { ...otherProps } ref={ mergedRef }>\n\t\t\t<BorderLabel\n\t\t\t\tlabel={ label }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t/>\n\t\t\t<View className={ wrapperClassName }>\n\t\t\t\t{ isLinked ? (\n\t\t\t\t\t<BorderControl\n\t\t\t\t\t\tclassName={ linkedControlClassName }\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tdisableUnits={ disableUnits }\n\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\tenableStyle={ enableStyle }\n\t\t\t\t\t\tonChange={ onLinkedChange }\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\thasMixedBorders ? __( 'Mixed' ) : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__unstablePopoverProps={ popoverProps }\n\t\t\t\t\t\tshouldSanitizeBorder={ false } // This component will handle that.\n\t\t\t\t\t\tvalue={ linkedValue }\n\t\t\t\t\t\twithSlider={ true }\n\t\t\t\t\t\twidth={\n\t\t\t\t\t\t\tsize === '__unstable-large' ? '116px' : '110px'\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalHasMultipleOrigins={\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsize={ size }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<BorderBoxControlSplitControls\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\tenableStyle={ enableStyle }\n\t\t\t\t\t\tonChange={ onSplitChange }\n\t\t\t\t\t\tpopoverPlacement={ popoverPlacement }\n\t\t\t\t\t\tpopoverOffset={ popoverOffset }\n\t\t\t\t\t\tvalue={ splitValue }\n\t\t\t\t\t\t__experimentalHasMultipleOrigins={\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsize={ size }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<BorderBoxControlLinkedButton\n\t\t\t\t\tonClick={ toggleLinked }\n\t\t\t\t\tisLinked={ isLinked }\n\t\t\t\t\tsize={ size }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</View>\n\t);\n};\n\n/**\n * The `BorderBoxControl` effectively has two view states. The first, a \"linked\"\n * view, allows configuration of a flat border via a single `BorderControl`.\n * The second, a \"split\" view, contains a `BorderControl` for each side\n * as well as a visualizer for the currently selected borders. Each view also\n * contains a button to toggle between the two.\n *\n * When switching from the \"split\" view to \"linked\", if the individual side\n * borders are not consistent, the \"linked\" view will display any border\n * properties selections that are consistent while showing a mixed state for\n * those that aren't. For example, if all borders had the same color and style\n * but different widths, then the border dropdown in the \"linked\" view's\n * `BorderControl` would show that consistent color and style but the \"linked\"\n * view's width input would show \"Mixed\" placeholder text.\n *\n * ```jsx\n * import { __experimentalBorderBoxControl as BorderBoxControl } from '@wordpress/components';\n * import { __ } from '@wordpress/i18n';\n *\n * const colors = [\n * \t{ name: 'Blue 20', color: '#72aee6' },\n * \t// ...\n * ];\n *\n * const MyBorderBoxControl = () => {\n * \tconst defaultBorder = {\n * \t\tcolor: '#72aee6',\n * \t\tstyle: 'dashed',\n * \t\twidth: '1px',\n * \t};\n * \tconst [ borders, setBorders ] = useState( {\n * \t\ttop: defaultBorder,\n * \t\tright: defaultBorder,\n * \t\tbottom: defaultBorder,\n * \t\tleft: defaultBorder,\n * \t} );\n * \tconst onChange = ( newBorders ) => setBorders( newBorders );\n *\n * \treturn (\n * \t\t<BorderBoxControl\n * \t\t\tcolors={ colors }\n * \t\t\tlabel={ __( 'Borders' ) }\n * \t\t\tonChange={ onChange }\n * \t\t\tvalue={ borders }\n * \t\t/>\n * \t);\n * };\n * ```\n */\nexport const BorderBoxControl = contextConnect(\n\tUnconnectedBorderBoxControl,\n\t'BorderBoxControl'\n);\n\nexport default BorderBoxControl;\n"]}
@@ -20,7 +20,9 @@ export function useBorderBoxControl(props) {
20
20
  const mixedBorders = hasMixedBorders(value);
21
21
  const splitBorders = hasSplitBorders(value);
22
22
  const linkedValue = splitBorders ? getCommonBorder(value) : value;
23
- const splitValue = splitBorders ? value : getSplitBorders(value);
23
+ const splitValue = splitBorders ? value : getSplitBorders(value); // If no numeric width value is set, the unit select will be disabled.
24
+
25
+ const hasWidthValue = !isNaN(parseFloat(`${linkedValue === null || linkedValue === void 0 ? void 0 : linkedValue.width}`));
24
26
  const [isLinked, setIsLinked] = useState(!mixedBorders);
25
27
 
26
28
  const toggleLinked = () => setIsLinked(!isLinked);
@@ -77,13 +79,17 @@ export function useBorderBoxControl(props) {
77
79
 
78
80
  const cx = useCx();
79
81
  const classes = useMemo(() => {
80
- return cx(styles.BorderBoxControl, className);
82
+ return cx(styles.borderBoxControl, className);
81
83
  }, [cx, className]);
82
84
  const linkedControlClassName = useMemo(() => {
83
- return cx(styles.LinkedBorderControl);
85
+ return cx(styles.linkedBorderControl());
86
+ }, [cx]);
87
+ const wrapperClassName = useMemo(() => {
88
+ return cx(styles.wrapper);
84
89
  }, [cx]);
85
90
  return { ...otherProps,
86
91
  className: classes,
92
+ disableUnits: mixedBorders && !hasWidthValue,
87
93
  hasMixedBorders: mixedBorders,
88
94
  isLinked,
89
95
  linkedControlClassName,
@@ -91,7 +97,8 @@ export function useBorderBoxControl(props) {
91
97
  onSplitChange,
92
98
  toggleLinked,
93
99
  linkedValue,
94
- splitValue
100
+ splitValue,
101
+ wrapperClassName
95
102
  };
96
103
  }
97
104
  //# sourceMappingURL=hook.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control/hook.ts"],"names":["useMemo","useState","styles","getBorderDiff","getCommonBorder","getSplitBorders","hasMixedBorders","hasSplitBorders","isCompleteBorder","isEmptyBorder","useContextSystem","useCx","useBorderBoxControl","props","className","onChange","value","otherProps","mixedBorders","splitBorders","linkedValue","splitValue","isLinked","setIsLinked","toggleLinked","onLinkedChange","newBorder","undefined","changes","updatedBorders","top","right","bottom","left","filteredResult","onSplitChange","side","cx","classes","BorderBoxControl","linkedControlClassName","LinkedBorderControl"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport {\n\tgetBorderDiff,\n\tgetCommonBorder,\n\tgetSplitBorders,\n\thasMixedBorders,\n\thasSplitBorders,\n\tisCompleteBorder,\n\tisEmptyBorder,\n} from '../utils';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\n\nimport type { Border } from '../../border-control/types';\nimport type { Borders, BorderSide, BorderBoxControlProps } from '../types';\n\nexport function useBorderBoxControl(\n\tprops: WordPressComponentProps< BorderBoxControlProps, 'div' >\n) {\n\tconst { className, onChange, value, ...otherProps } = useContextSystem(\n\t\tprops,\n\t\t'BorderBoxControl'\n\t);\n\n\tconst mixedBorders = hasMixedBorders( value );\n\tconst splitBorders = hasSplitBorders( value );\n\n\tconst linkedValue = splitBorders\n\t\t? getCommonBorder( value as Borders | undefined )\n\t\t: ( value as Border );\n\n\tconst splitValue = splitBorders\n\t\t? ( value as Borders )\n\t\t: getSplitBorders( value as Border | undefined );\n\n\tconst [ isLinked, setIsLinked ] = useState( ! mixedBorders );\n\tconst toggleLinked = () => setIsLinked( ! isLinked );\n\n\tconst onLinkedChange = ( newBorder?: Border ) => {\n\t\tif ( ! newBorder ) {\n\t\t\treturn onChange( undefined );\n\t\t}\n\n\t\t// If we have all props defined on the new border apply it.\n\t\tif ( ! mixedBorders || isCompleteBorder( newBorder ) ) {\n\t\t\treturn onChange(\n\t\t\t\tisEmptyBorder( newBorder ) ? undefined : newBorder\n\t\t\t);\n\t\t}\n\n\t\t// If we had mixed borders we might have had some shared border props\n\t\t// that we need to maintain. For example; we could have mixed borders\n\t\t// with all the same color but different widths. Then from the linked\n\t\t// control we change the color. We should keep the separate widths.\n\t\tconst changes = getBorderDiff(\n\t\t\tlinkedValue as Border,\n\t\t\tnewBorder as Border\n\t\t);\n\t\tconst updatedBorders = {\n\t\t\ttop: { ...( value as Borders )?.top, ...changes },\n\t\t\tright: { ...( value as Borders )?.right, ...changes },\n\t\t\tbottom: { ...( value as Borders )?.bottom, ...changes },\n\t\t\tleft: { ...( value as Borders )?.left, ...changes },\n\t\t};\n\n\t\tif ( hasMixedBorders( updatedBorders ) ) {\n\t\t\treturn onChange( updatedBorders );\n\t\t}\n\n\t\tconst filteredResult = isEmptyBorder( updatedBorders.top )\n\t\t\t? undefined\n\t\t\t: updatedBorders.top;\n\n\t\tonChange( filteredResult );\n\t};\n\n\tconst onSplitChange = (\n\t\tnewBorder: Border | undefined,\n\t\tside: BorderSide\n\t) => {\n\t\tconst updatedBorders = { ...splitValue, [ side ]: newBorder };\n\n\t\tif ( hasMixedBorders( updatedBorders ) ) {\n\t\t\tonChange( updatedBorders );\n\t\t} else {\n\t\t\tonChange( newBorder );\n\t\t}\n\t};\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx( styles.BorderBoxControl, className );\n\t}, [ cx, className ] );\n\n\tconst linkedControlClassName = useMemo( () => {\n\t\treturn cx( styles.LinkedBorderControl );\n\t}, [ cx ] );\n\n\treturn {\n\t\t...otherProps,\n\t\tclassName: classes,\n\t\thasMixedBorders: mixedBorders,\n\t\tisLinked,\n\t\tlinkedControlClassName,\n\t\tonLinkedChange,\n\t\tonSplitChange,\n\t\ttoggleLinked,\n\t\tlinkedValue,\n\t\tsplitValue,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control/hook.ts"],"names":["useMemo","useState","styles","getBorderDiff","getCommonBorder","getSplitBorders","hasMixedBorders","hasSplitBorders","isCompleteBorder","isEmptyBorder","useContextSystem","useCx","useBorderBoxControl","props","className","onChange","value","otherProps","mixedBorders","splitBorders","linkedValue","splitValue","hasWidthValue","isNaN","parseFloat","width","isLinked","setIsLinked","toggleLinked","onLinkedChange","newBorder","undefined","changes","updatedBorders","top","right","bottom","left","filteredResult","onSplitChange","side","cx","classes","borderBoxControl","linkedControlClassName","linkedBorderControl","wrapperClassName","wrapper","disableUnits"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport {\n\tgetBorderDiff,\n\tgetCommonBorder,\n\tgetSplitBorders,\n\thasMixedBorders,\n\thasSplitBorders,\n\tisCompleteBorder,\n\tisEmptyBorder,\n} from '../utils';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\n\nimport type { Border } from '../../border-control/types';\nimport type { Borders, BorderSide, BorderBoxControlProps } from '../types';\n\nexport function useBorderBoxControl(\n\tprops: WordPressComponentProps< BorderBoxControlProps, 'div' >\n) {\n\tconst { className, onChange, value, ...otherProps } = useContextSystem(\n\t\tprops,\n\t\t'BorderBoxControl'\n\t);\n\n\tconst mixedBorders = hasMixedBorders( value );\n\tconst splitBorders = hasSplitBorders( value );\n\n\tconst linkedValue = splitBorders\n\t\t? getCommonBorder( value as Borders | undefined )\n\t\t: ( value as Border );\n\n\tconst splitValue = splitBorders\n\t\t? ( value as Borders )\n\t\t: getSplitBorders( value as Border | undefined );\n\n\t// If no numeric width value is set, the unit select will be disabled.\n\tconst hasWidthValue = ! isNaN( parseFloat( `${ linkedValue?.width }` ) );\n\n\tconst [ isLinked, setIsLinked ] = useState( ! mixedBorders );\n\tconst toggleLinked = () => setIsLinked( ! isLinked );\n\n\tconst onLinkedChange = ( newBorder?: Border ) => {\n\t\tif ( ! newBorder ) {\n\t\t\treturn onChange( undefined );\n\t\t}\n\n\t\t// If we have all props defined on the new border apply it.\n\t\tif ( ! mixedBorders || isCompleteBorder( newBorder ) ) {\n\t\t\treturn onChange(\n\t\t\t\tisEmptyBorder( newBorder ) ? undefined : newBorder\n\t\t\t);\n\t\t}\n\n\t\t// If we had mixed borders we might have had some shared border props\n\t\t// that we need to maintain. For example; we could have mixed borders\n\t\t// with all the same color but different widths. Then from the linked\n\t\t// control we change the color. We should keep the separate widths.\n\t\tconst changes = getBorderDiff(\n\t\t\tlinkedValue as Border,\n\t\t\tnewBorder as Border\n\t\t);\n\t\tconst updatedBorders = {\n\t\t\ttop: { ...( value as Borders )?.top, ...changes },\n\t\t\tright: { ...( value as Borders )?.right, ...changes },\n\t\t\tbottom: { ...( value as Borders )?.bottom, ...changes },\n\t\t\tleft: { ...( value as Borders )?.left, ...changes },\n\t\t};\n\n\t\tif ( hasMixedBorders( updatedBorders ) ) {\n\t\t\treturn onChange( updatedBorders );\n\t\t}\n\n\t\tconst filteredResult = isEmptyBorder( updatedBorders.top )\n\t\t\t? undefined\n\t\t\t: updatedBorders.top;\n\n\t\tonChange( filteredResult );\n\t};\n\n\tconst onSplitChange = (\n\t\tnewBorder: Border | undefined,\n\t\tside: BorderSide\n\t) => {\n\t\tconst updatedBorders = { ...splitValue, [ side ]: newBorder };\n\n\t\tif ( hasMixedBorders( updatedBorders ) ) {\n\t\t\tonChange( updatedBorders );\n\t\t} else {\n\t\t\tonChange( newBorder );\n\t\t}\n\t};\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx( styles.borderBoxControl, className );\n\t}, [ cx, className ] );\n\n\tconst linkedControlClassName = useMemo( () => {\n\t\treturn cx( styles.linkedBorderControl() );\n\t}, [ cx ] );\n\n\tconst wrapperClassName = useMemo( () => {\n\t\treturn cx( styles.wrapper );\n\t}, [ cx ] );\n\n\treturn {\n\t\t...otherProps,\n\t\tclassName: classes,\n\t\tdisableUnits: mixedBorders && ! hasWidthValue,\n\t\thasMixedBorders: mixedBorders,\n\t\tisLinked,\n\t\tlinkedControlClassName,\n\t\tonLinkedChange,\n\t\tonSplitChange,\n\t\ttoggleLinked,\n\t\tlinkedValue,\n\t\tsplitValue,\n\t\twrapperClassName,\n\t};\n}\n"]}
@@ -12,14 +12,14 @@ import { useCx } from '../../utils/hooks/use-cx';
12
12
  export function useBorderBoxControlLinkedButton(props) {
13
13
  const {
14
14
  className,
15
- __next36pxDefaultSize = false,
15
+ size = 'default',
16
16
  ...otherProps
17
17
  } = useContextSystem(props, 'BorderBoxControlLinkedButton'); // Generate class names.
18
18
 
19
19
  const cx = useCx();
20
20
  const classes = useMemo(() => {
21
- return cx(styles.BorderBoxControlLinkedButton(__next36pxDefaultSize), className);
22
- }, [className, cx, __next36pxDefaultSize]);
21
+ return cx(styles.borderBoxControlLinkedButton(size), className);
22
+ }, [className, cx, size]);
23
23
  return { ...otherProps,
24
24
  className: classes
25
25
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control-linked-button/hook.ts"],"names":["useMemo","styles","useContextSystem","useCx","useBorderBoxControlLinkedButton","props","className","__next36pxDefaultSize","otherProps","cx","classes","BorderBoxControlLinkedButton"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,MAAZ,MAAwB,WAAxB;AACA,SAASC,gBAAT,QAA0D,kBAA1D;AACA,SAASC,KAAT,QAAsB,0BAAtB;AAIA,OAAO,SAASC,+BAAT,CACNC,KADM,EAEL;AACD,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,qBAAqB,GAAG,KAFnB;AAGL,OAAGC;AAHE,MAIFN,gBAAgB,CAAEG,KAAF,EAAS,8BAAT,CAJpB,CADC,CAOD;;AACA,QAAMI,EAAE,GAAGN,KAAK,EAAhB;AACA,QAAMO,OAAO,GAAGV,OAAO,CAAE,MAAM;AAC9B,WAAOS,EAAE,CACRR,MAAM,CAACU,4BAAP,CAAqCJ,qBAArC,CADQ,EAERD,SAFQ,CAAT;AAIA,GALsB,EAKpB,CAAEA,SAAF,EAAaG,EAAb,EAAiBF,qBAAjB,CALoB,CAAvB;AAOA,SAAO,EAAE,GAAGC,UAAL;AAAiBF,IAAAA,SAAS,EAAEI;AAA5B,GAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\n\nimport type { LinkedButtonProps } from '../types';\n\nexport function useBorderBoxControlLinkedButton(\n\tprops: WordPressComponentProps< LinkedButtonProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\t__next36pxDefaultSize = false,\n\t\t...otherProps\n\t} = useContextSystem( props, 'BorderBoxControlLinkedButton' );\n\n\t// Generate class names.\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx(\n\t\t\tstyles.BorderBoxControlLinkedButton( __next36pxDefaultSize ),\n\t\t\tclassName\n\t\t);\n\t}, [ className, cx, __next36pxDefaultSize ] );\n\n\treturn { ...otherProps, className: classes };\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control-linked-button/hook.ts"],"names":["useMemo","styles","useContextSystem","useCx","useBorderBoxControlLinkedButton","props","className","size","otherProps","cx","classes","borderBoxControlLinkedButton"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,MAAZ,MAAwB,WAAxB;AACA,SAASC,gBAAT,QAA0D,kBAA1D;AACA,SAASC,KAAT,QAAsB,0BAAtB;AAIA,OAAO,SAASC,+BAAT,CACNC,KADM,EAEL;AACD,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,IAAI,GAAG,SAFF;AAGL,OAAGC;AAHE,MAIFN,gBAAgB,CAAEG,KAAF,EAAS,8BAAT,CAJpB,CADC,CAOD;;AACA,QAAMI,EAAE,GAAGN,KAAK,EAAhB;AACA,QAAMO,OAAO,GAAGV,OAAO,CAAE,MAAM;AAC9B,WAAOS,EAAE,CAAER,MAAM,CAACU,4BAAP,CAAqCJ,IAArC,CAAF,EAA+CD,SAA/C,CAAT;AACA,GAFsB,EAEpB,CAAEA,SAAF,EAAaG,EAAb,EAAiBF,IAAjB,CAFoB,CAAvB;AAIA,SAAO,EAAE,GAAGC,UAAL;AAAiBF,IAAAA,SAAS,EAAEI;AAA5B,GAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\n\nimport type { LinkedButtonProps } from '../types';\n\nexport function useBorderBoxControlLinkedButton(\n\tprops: WordPressComponentProps< LinkedButtonProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tsize = 'default',\n\t\t...otherProps\n\t} = useContextSystem( props, 'BorderBoxControlLinkedButton' );\n\n\t// Generate class names.\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx( styles.borderBoxControlLinkedButton( size ), className );\n\t}, [ className, cx, size ] );\n\n\treturn { ...otherProps, className: classes };\n}\n"]}
@@ -28,10 +28,10 @@ const BorderBoxControlSplitControls = (props, forwardedRef) => {
28
28
  popoverPlacement,
29
29
  popoverOffset,
30
30
  rightAlignedClassName,
31
+ size = 'default',
31
32
  value,
32
33
  __experimentalHasMultipleOrigins,
33
34
  __experimentalIsRenderedInSidebar,
34
- __next36pxDefaultSize,
35
35
  ...otherProps
36
36
  } = useBorderBoxControlSplitControls(props); // Use internal state instead of a ref to make sure that the component
37
37
  // re-renders when the popover's anchor updates.
@@ -52,7 +52,7 @@ const BorderBoxControlSplitControls = (props, forwardedRef) => {
52
52
  isCompact: true,
53
53
  __experimentalHasMultipleOrigins,
54
54
  __experimentalIsRenderedInSidebar,
55
- __next36pxDefaultSize
55
+ size
56
56
  };
57
57
  const mergedRef = useMergeRefs([setPopoverAnchor, forwardedRef]);
58
58
  return createElement(Grid, _extends({}, otherProps, {
@@ -60,7 +60,7 @@ const BorderBoxControlSplitControls = (props, forwardedRef) => {
60
60
  gap: 4
61
61
  }), createElement(BorderBoxControlVisualizer, {
62
62
  value: value,
63
- __next36pxDefaultSize: __next36pxDefaultSize
63
+ size: size
64
64
  }), createElement(BorderControl, _extends({
65
65
  className: centeredClassName,
66
66
  hideLabelFromVision: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control-split-controls/component.tsx"],"names":["__","useMemo","useState","useMergeRefs","BorderBoxControlVisualizer","BorderControl","Grid","contextConnect","useBorderBoxControlSplitControls","BorderBoxControlSplitControls","props","forwardedRef","centeredClassName","colors","disableCustomColors","enableAlpha","enableStyle","onChange","popoverPlacement","popoverOffset","rightAlignedClassName","value","__experimentalHasMultipleOrigins","__experimentalIsRenderedInSidebar","__next36pxDefaultSize","otherProps","popoverAnchor","setPopoverAnchor","popoverProps","placement","offset","anchor","shift","undefined","sharedBorderControlProps","isCompact","mergedRef","newBorder","top","left","right","bottom","ConnectedBorderBoxControlSplitControls"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BorderBoxControlVisualizer from '../border-box-control-visualizer';\nimport { BorderControl } from '../../border-control';\nimport { Grid } from '../../grid';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport { useBorderBoxControlSplitControls } from './hook';\n\nimport type { BorderControlProps } from '../../border-control/types';\nimport type { SplitControlsProps } from '../types';\n\nconst BorderBoxControlSplitControls = (\n\tprops: WordPressComponentProps< SplitControlsProps, 'div' >,\n\tforwardedRef: React.ForwardedRef< any >\n) => {\n\tconst {\n\t\tcenteredClassName,\n\t\tcolors,\n\t\tdisableCustomColors,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\tonChange,\n\t\tpopoverPlacement,\n\t\tpopoverOffset,\n\t\trightAlignedClassName,\n\t\tvalue,\n\t\t__experimentalHasMultipleOrigins,\n\t\t__experimentalIsRenderedInSidebar,\n\t\t__next36pxDefaultSize,\n\t\t...otherProps\n\t} = useBorderBoxControlSplitControls( props );\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< Element | null >(\n\t\tnull\n\t);\n\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps: BorderControlProps[ '__unstablePopoverProps' ] =\n\t\tuseMemo(\n\t\t\t() =>\n\t\t\t\tpopoverPlacement\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tplacement: popoverPlacement,\n\t\t\t\t\t\t\toffset: popoverOffset,\n\t\t\t\t\t\t\tanchor: popoverAnchor,\n\t\t\t\t\t\t\tshift: true,\n\t\t\t\t\t }\n\t\t\t\t\t: undefined,\n\t\t\t[ popoverPlacement, popoverOffset, popoverAnchor ]\n\t\t);\n\n\tconst sharedBorderControlProps = {\n\t\tcolors,\n\t\tdisableCustomColors,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\tisCompact: true,\n\t\t__experimentalHasMultipleOrigins,\n\t\t__experimentalIsRenderedInSidebar,\n\t\t__next36pxDefaultSize,\n\t};\n\n\tconst mergedRef = useMergeRefs( [ setPopoverAnchor, forwardedRef ] );\n\n\treturn (\n\t\t<Grid { ...otherProps } ref={ mergedRef } gap={ 4 }>\n\t\t\t<BorderBoxControlVisualizer\n\t\t\t\tvalue={ value }\n\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t/>\n\t\t\t<BorderControl\n\t\t\t\tclassName={ centeredClassName }\n\t\t\t\thideLabelFromVision={ true }\n\t\t\t\tlabel={ __( 'Top border' ) }\n\t\t\t\tonChange={ ( newBorder ) => onChange( newBorder, 'top' ) }\n\t\t\t\t__unstablePopoverProps={ popoverProps }\n\t\t\t\tvalue={ value?.top }\n\t\t\t\t{ ...sharedBorderControlProps }\n\t\t\t/>\n\t\t\t<BorderControl\n\t\t\t\thideLabelFromVision={ true }\n\t\t\t\tlabel={ __( 'Left border' ) }\n\t\t\t\tonChange={ ( newBorder ) => onChange( newBorder, 'left' ) }\n\t\t\t\t__unstablePopoverProps={ popoverProps }\n\t\t\t\tvalue={ value?.left }\n\t\t\t\t{ ...sharedBorderControlProps }\n\t\t\t/>\n\t\t\t<BorderControl\n\t\t\t\tclassName={ rightAlignedClassName }\n\t\t\t\thideLabelFromVision={ true }\n\t\t\t\tlabel={ __( 'Right border' ) }\n\t\t\t\tonChange={ ( newBorder ) => onChange( newBorder, 'right' ) }\n\t\t\t\t__unstablePopoverProps={ popoverProps }\n\t\t\t\tvalue={ value?.right }\n\t\t\t\t{ ...sharedBorderControlProps }\n\t\t\t/>\n\t\t\t<BorderControl\n\t\t\t\tclassName={ centeredClassName }\n\t\t\t\thideLabelFromVision={ true }\n\t\t\t\tlabel={ __( 'Bottom border' ) }\n\t\t\t\tonChange={ ( newBorder ) => onChange( newBorder, 'bottom' ) }\n\t\t\t\t__unstablePopoverProps={ popoverProps }\n\t\t\t\tvalue={ value?.bottom }\n\t\t\t\t{ ...sharedBorderControlProps }\n\t\t\t/>\n\t\t</Grid>\n\t);\n};\n\nconst ConnectedBorderBoxControlSplitControls = contextConnect(\n\tBorderBoxControlSplitControls,\n\t'BorderBoxControlSplitControls'\n);\nexport default ConnectedBorderBoxControlSplitControls;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control-split-controls/component.tsx"],"names":["__","useMemo","useState","useMergeRefs","BorderBoxControlVisualizer","BorderControl","Grid","contextConnect","useBorderBoxControlSplitControls","BorderBoxControlSplitControls","props","forwardedRef","centeredClassName","colors","disableCustomColors","enableAlpha","enableStyle","onChange","popoverPlacement","popoverOffset","rightAlignedClassName","size","value","__experimentalHasMultipleOrigins","__experimentalIsRenderedInSidebar","otherProps","popoverAnchor","setPopoverAnchor","popoverProps","placement","offset","anchor","shift","undefined","sharedBorderControlProps","isCompact","mergedRef","newBorder","top","left","right","bottom","ConnectedBorderBoxControlSplitControls"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BorderBoxControlVisualizer from '../border-box-control-visualizer';\nimport { BorderControl } from '../../border-control';\nimport { Grid } from '../../grid';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport { useBorderBoxControlSplitControls } from './hook';\n\nimport type { BorderControlProps } from '../../border-control/types';\nimport type { SplitControlsProps } from '../types';\n\nconst BorderBoxControlSplitControls = (\n\tprops: WordPressComponentProps< SplitControlsProps, 'div' >,\n\tforwardedRef: React.ForwardedRef< any >\n) => {\n\tconst {\n\t\tcenteredClassName,\n\t\tcolors,\n\t\tdisableCustomColors,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\tonChange,\n\t\tpopoverPlacement,\n\t\tpopoverOffset,\n\t\trightAlignedClassName,\n\t\tsize = 'default',\n\t\tvalue,\n\t\t__experimentalHasMultipleOrigins,\n\t\t__experimentalIsRenderedInSidebar,\n\t\t...otherProps\n\t} = useBorderBoxControlSplitControls( props );\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< Element | null >(\n\t\tnull\n\t);\n\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps: BorderControlProps[ '__unstablePopoverProps' ] =\n\t\tuseMemo(\n\t\t\t() =>\n\t\t\t\tpopoverPlacement\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tplacement: popoverPlacement,\n\t\t\t\t\t\t\toffset: popoverOffset,\n\t\t\t\t\t\t\tanchor: popoverAnchor,\n\t\t\t\t\t\t\tshift: true,\n\t\t\t\t\t }\n\t\t\t\t\t: undefined,\n\t\t\t[ popoverPlacement, popoverOffset, popoverAnchor ]\n\t\t);\n\n\tconst sharedBorderControlProps = {\n\t\tcolors,\n\t\tdisableCustomColors,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\tisCompact: true,\n\t\t__experimentalHasMultipleOrigins,\n\t\t__experimentalIsRenderedInSidebar,\n\t\tsize,\n\t};\n\n\tconst mergedRef = useMergeRefs( [ setPopoverAnchor, forwardedRef ] );\n\n\treturn (\n\t\t<Grid { ...otherProps } ref={ mergedRef } gap={ 4 }>\n\t\t\t<BorderBoxControlVisualizer value={ value } size={ size } />\n\t\t\t<BorderControl\n\t\t\t\tclassName={ centeredClassName }\n\t\t\t\thideLabelFromVision={ true }\n\t\t\t\tlabel={ __( 'Top border' ) }\n\t\t\t\tonChange={ ( newBorder ) => onChange( newBorder, 'top' ) }\n\t\t\t\t__unstablePopoverProps={ popoverProps }\n\t\t\t\tvalue={ value?.top }\n\t\t\t\t{ ...sharedBorderControlProps }\n\t\t\t/>\n\t\t\t<BorderControl\n\t\t\t\thideLabelFromVision={ true }\n\t\t\t\tlabel={ __( 'Left border' ) }\n\t\t\t\tonChange={ ( newBorder ) => onChange( newBorder, 'left' ) }\n\t\t\t\t__unstablePopoverProps={ popoverProps }\n\t\t\t\tvalue={ value?.left }\n\t\t\t\t{ ...sharedBorderControlProps }\n\t\t\t/>\n\t\t\t<BorderControl\n\t\t\t\tclassName={ rightAlignedClassName }\n\t\t\t\thideLabelFromVision={ true }\n\t\t\t\tlabel={ __( 'Right border' ) }\n\t\t\t\tonChange={ ( newBorder ) => onChange( newBorder, 'right' ) }\n\t\t\t\t__unstablePopoverProps={ popoverProps }\n\t\t\t\tvalue={ value?.right }\n\t\t\t\t{ ...sharedBorderControlProps }\n\t\t\t/>\n\t\t\t<BorderControl\n\t\t\t\tclassName={ centeredClassName }\n\t\t\t\thideLabelFromVision={ true }\n\t\t\t\tlabel={ __( 'Bottom border' ) }\n\t\t\t\tonChange={ ( newBorder ) => onChange( newBorder, 'bottom' ) }\n\t\t\t\t__unstablePopoverProps={ popoverProps }\n\t\t\t\tvalue={ value?.bottom }\n\t\t\t\t{ ...sharedBorderControlProps }\n\t\t\t/>\n\t\t</Grid>\n\t);\n};\n\nconst ConnectedBorderBoxControlSplitControls = contextConnect(\n\tBorderBoxControlSplitControls,\n\t'BorderBoxControlSplitControls'\n);\nexport default ConnectedBorderBoxControlSplitControls;\n"]}
@@ -8,30 +8,29 @@ import { useMemo } from '@wordpress/element';
8
8
 
9
9
  import * as styles from '../styles';
10
10
  import { useContextSystem } from '../../ui/context';
11
- import { useCx, rtl } from '../../utils/';
11
+ import { useCx } from '../../utils/';
12
12
  export function useBorderBoxControlSplitControls(props) {
13
13
  const {
14
14
  className,
15
+ size = 'default',
15
16
  ...otherProps
16
17
  } = useContextSystem(props, 'BorderBoxControlSplitControls'); // Generate class names.
17
18
 
18
19
  const cx = useCx();
19
- const rtlWatchResult = rtl.watch();
20
20
  const classes = useMemo(() => {
21
- return cx(styles.borderBoxControlSplitControls(), className); // rtlWatchResult is needed to refresh styles when the writing direction changes
22
- // eslint-disable-next-line react-hooks/exhaustive-deps
23
- }, [cx, className, rtlWatchResult]);
21
+ return cx(styles.borderBoxControlSplitControls(size), className);
22
+ }, [cx, className, size]);
24
23
  const centeredClassName = useMemo(() => {
25
- return cx(styles.CenteredBorderControl, className);
24
+ return cx(styles.centeredBorderControl, className);
26
25
  }, [cx, className]);
27
26
  const rightAlignedClassName = useMemo(() => {
28
- return cx(styles.rightBorderControl(), className); // rtlWatchResult is needed to refresh styles when the writing direction changes
29
- // eslint-disable-next-line react-hooks/exhaustive-deps
30
- }, [cx, className, rtlWatchResult]);
27
+ return cx(styles.rightBorderControl(), className);
28
+ }, [cx, className]);
31
29
  return { ...otherProps,
32
30
  centeredClassName,
33
31
  className: classes,
34
- rightAlignedClassName
32
+ rightAlignedClassName,
33
+ size
35
34
  };
36
35
  }
37
36
  //# sourceMappingURL=hook.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control-split-controls/hook.ts"],"names":["useMemo","styles","useContextSystem","useCx","rtl","useBorderBoxControlSplitControls","props","className","otherProps","cx","rtlWatchResult","watch","classes","borderBoxControlSplitControls","centeredClassName","CenteredBorderControl","rightAlignedClassName","rightBorderControl"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,MAAZ,MAAwB,WAAxB;AACA,SAASC,gBAAT,QAA0D,kBAA1D;AACA,SAASC,KAAT,EAAgBC,GAAhB,QAA2B,cAA3B;AAIA,OAAO,SAASC,gCAAT,CACNC,KADM,EAEL;AACD,QAAM;AAAEC,IAAAA,SAAF;AAAa,OAAGC;AAAhB,MAA+BN,gBAAgB,CACpDI,KADoD,EAEpD,+BAFoD,CAArD,CADC,CAMD;;AACA,QAAMG,EAAE,GAAGN,KAAK,EAAhB;AACA,QAAMO,cAAc,GAAGN,GAAG,CAACO,KAAJ,EAAvB;AACA,QAAMC,OAAO,GAAGZ,OAAO,CAAE,MAAM;AAC9B,WAAOS,EAAE,CAAER,MAAM,CAACY,6BAAP,EAAF,EAA0CN,SAA1C,CAAT,CAD8B,CAE9B;AACA;AACA,GAJsB,EAIpB,CAAEE,EAAF,EAAMF,SAAN,EAAiBG,cAAjB,CAJoB,CAAvB;AAMA,QAAMI,iBAAiB,GAAGd,OAAO,CAAE,MAAM;AACxC,WAAOS,EAAE,CAAER,MAAM,CAACc,qBAAT,EAAgCR,SAAhC,CAAT;AACA,GAFgC,EAE9B,CAAEE,EAAF,EAAMF,SAAN,CAF8B,CAAjC;AAIA,QAAMS,qBAAqB,GAAGhB,OAAO,CAAE,MAAM;AAC5C,WAAOS,EAAE,CAAER,MAAM,CAACgB,kBAAP,EAAF,EAA+BV,SAA/B,CAAT,CAD4C,CAE5C;AACA;AACA,GAJoC,EAIlC,CAAEE,EAAF,EAAMF,SAAN,EAAiBG,cAAjB,CAJkC,CAArC;AAMA,SAAO,EACN,GAAGF,UADG;AAENM,IAAAA,iBAFM;AAGNP,IAAAA,SAAS,EAAEK,OAHL;AAINI,IAAAA;AAJM,GAAP;AAMA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx, rtl } from '../../utils/';\n\nimport type { SplitControlsProps } from '../types';\n\nexport function useBorderBoxControlSplitControls(\n\tprops: WordPressComponentProps< SplitControlsProps, 'div' >\n) {\n\tconst { className, ...otherProps } = useContextSystem(\n\t\tprops,\n\t\t'BorderBoxControlSplitControls'\n\t);\n\n\t// Generate class names.\n\tconst cx = useCx();\n\tconst rtlWatchResult = rtl.watch();\n\tconst classes = useMemo( () => {\n\t\treturn cx( styles.borderBoxControlSplitControls(), className );\n\t\t// rtlWatchResult is needed to refresh styles when the writing direction changes\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ cx, className, rtlWatchResult ] );\n\n\tconst centeredClassName = useMemo( () => {\n\t\treturn cx( styles.CenteredBorderControl, className );\n\t}, [ cx, className ] );\n\n\tconst rightAlignedClassName = useMemo( () => {\n\t\treturn cx( styles.rightBorderControl(), className );\n\t\t// rtlWatchResult is needed to refresh styles when the writing direction changes\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ cx, className, rtlWatchResult ] );\n\n\treturn {\n\t\t...otherProps,\n\t\tcenteredClassName,\n\t\tclassName: classes,\n\t\trightAlignedClassName,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control-split-controls/hook.ts"],"names":["useMemo","styles","useContextSystem","useCx","useBorderBoxControlSplitControls","props","className","size","otherProps","cx","classes","borderBoxControlSplitControls","centeredClassName","centeredBorderControl","rightAlignedClassName","rightBorderControl"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,MAAZ,MAAwB,WAAxB;AACA,SAASC,gBAAT,QAA0D,kBAA1D;AACA,SAASC,KAAT,QAAsB,cAAtB;AAIA,OAAO,SAASC,gCAAT,CACNC,KADM,EAEL;AACD,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,IAAI,GAAG,SAFF;AAGL,OAAGC;AAHE,MAIFN,gBAAgB,CAAEG,KAAF,EAAS,+BAAT,CAJpB,CADC,CAOD;;AACA,QAAMI,EAAE,GAAGN,KAAK,EAAhB;AACA,QAAMO,OAAO,GAAGV,OAAO,CAAE,MAAM;AAC9B,WAAOS,EAAE,CAAER,MAAM,CAACU,6BAAP,CAAsCJ,IAAtC,CAAF,EAAgDD,SAAhD,CAAT;AACA,GAFsB,EAEpB,CAAEG,EAAF,EAAMH,SAAN,EAAiBC,IAAjB,CAFoB,CAAvB;AAIA,QAAMK,iBAAiB,GAAGZ,OAAO,CAAE,MAAM;AACxC,WAAOS,EAAE,CAAER,MAAM,CAACY,qBAAT,EAAgCP,SAAhC,CAAT;AACA,GAFgC,EAE9B,CAAEG,EAAF,EAAMH,SAAN,CAF8B,CAAjC;AAIA,QAAMQ,qBAAqB,GAAGd,OAAO,CAAE,MAAM;AAC5C,WAAOS,EAAE,CAAER,MAAM,CAACc,kBAAP,EAAF,EAA+BT,SAA/B,CAAT;AACA,GAFoC,EAElC,CAAEG,EAAF,EAAMH,SAAN,CAFkC,CAArC;AAIA,SAAO,EACN,GAAGE,UADG;AAENI,IAAAA,iBAFM;AAGNN,IAAAA,SAAS,EAAEI,OAHL;AAINI,IAAAA,qBAJM;AAKNP,IAAAA;AALM,GAAP;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/';\n\nimport type { SplitControlsProps } from '../types';\n\nexport function useBorderBoxControlSplitControls(\n\tprops: WordPressComponentProps< SplitControlsProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tsize = 'default',\n\t\t...otherProps\n\t} = useContextSystem( props, 'BorderBoxControlSplitControls' );\n\n\t// Generate class names.\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx( styles.borderBoxControlSplitControls( size ), className );\n\t}, [ cx, className, size ] );\n\n\tconst centeredClassName = useMemo( () => {\n\t\treturn cx( styles.centeredBorderControl, className );\n\t}, [ cx, className ] );\n\n\tconst rightAlignedClassName = useMemo( () => {\n\t\treturn cx( styles.rightBorderControl(), className );\n\t}, [ cx, className ] );\n\n\treturn {\n\t\t...otherProps,\n\t\tcenteredClassName,\n\t\tclassName: classes,\n\t\trightAlignedClassName,\n\t\tsize,\n\t};\n}\n"]}
@@ -8,21 +8,19 @@ import { useMemo } from '@wordpress/element';
8
8
 
9
9
  import * as styles from '../styles';
10
10
  import { useContextSystem } from '../../ui/context';
11
- import { useCx, rtl } from '../../utils';
11
+ import { useCx } from '../../utils';
12
12
  export function useBorderBoxControlVisualizer(props) {
13
13
  const {
14
14
  className,
15
15
  value,
16
- __next36pxDefaultSize = false,
16
+ size = 'default',
17
17
  ...otherProps
18
18
  } = useContextSystem(props, 'BorderBoxControlVisualizer'); // Generate class names.
19
19
 
20
20
  const cx = useCx();
21
- const rtlWatchResult = rtl.watch();
22
21
  const classes = useMemo(() => {
23
- return cx(styles.borderBoxControlVisualizer(value, __next36pxDefaultSize), className); // rtlWatchResult is needed to refresh styles when the writing direction changes
24
- // eslint-disable-next-line react-hooks/exhaustive-deps
25
- }, [cx, className, value, __next36pxDefaultSize, rtlWatchResult]);
22
+ return cx(styles.borderBoxControlVisualizer(value, size), className);
23
+ }, [cx, className, value, size]);
26
24
  return { ...otherProps,
27
25
  className: classes,
28
26
  value
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control-visualizer/hook.ts"],"names":["useMemo","styles","useContextSystem","useCx","rtl","useBorderBoxControlVisualizer","props","className","value","__next36pxDefaultSize","otherProps","cx","rtlWatchResult","watch","classes","borderBoxControlVisualizer"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,MAAZ,MAAwB,WAAxB;AACA,SAASC,gBAAT,QAA0D,kBAA1D;AACA,SAASC,KAAT,EAAgBC,GAAhB,QAA2B,aAA3B;AAIA,OAAO,SAASC,6BAAT,CACNC,KADM,EAEL;AACD,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,KAFK;AAGLC,IAAAA,qBAAqB,GAAG,KAHnB;AAIL,OAAGC;AAJE,MAKFR,gBAAgB,CAAEI,KAAF,EAAS,4BAAT,CALpB,CADC,CAQD;;AACA,QAAMK,EAAE,GAAGR,KAAK,EAAhB;AACA,QAAMS,cAAc,GAAGR,GAAG,CAACS,KAAJ,EAAvB;AACA,QAAMC,OAAO,GAAGd,OAAO,CAAE,MAAM;AAC9B,WAAOW,EAAE,CACRV,MAAM,CAACc,0BAAP,CAAmCP,KAAnC,EAA0CC,qBAA1C,CADQ,EAERF,SAFQ,CAAT,CAD8B,CAK9B;AACA;AACA,GAPsB,EAOpB,CAAEI,EAAF,EAAMJ,SAAN,EAAiBC,KAAjB,EAAwBC,qBAAxB,EAA+CG,cAA/C,CAPoB,CAAvB;AASA,SAAO,EAAE,GAAGF,UAAL;AAAiBH,IAAAA,SAAS,EAAEO,OAA5B;AAAqCN,IAAAA;AAArC,GAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx, rtl } from '../../utils';\n\nimport type { VisualizerProps } from '../types';\n\nexport function useBorderBoxControlVisualizer(\n\tprops: WordPressComponentProps< VisualizerProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tvalue,\n\t\t__next36pxDefaultSize = false,\n\t\t...otherProps\n\t} = useContextSystem( props, 'BorderBoxControlVisualizer' );\n\n\t// Generate class names.\n\tconst cx = useCx();\n\tconst rtlWatchResult = rtl.watch();\n\tconst classes = useMemo( () => {\n\t\treturn cx(\n\t\t\tstyles.borderBoxControlVisualizer( value, __next36pxDefaultSize ),\n\t\t\tclassName\n\t\t);\n\t\t// rtlWatchResult is needed to refresh styles when the writing direction changes\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ cx, className, value, __next36pxDefaultSize, rtlWatchResult ] );\n\n\treturn { ...otherProps, className: classes, value };\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-box-control/border-box-control-visualizer/hook.ts"],"names":["useMemo","styles","useContextSystem","useCx","useBorderBoxControlVisualizer","props","className","value","size","otherProps","cx","classes","borderBoxControlVisualizer"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,MAAZ,MAAwB,WAAxB;AACA,SAASC,gBAAT,QAA0D,kBAA1D;AACA,SAASC,KAAT,QAAsB,aAAtB;AAIA,OAAO,SAASC,6BAAT,CACNC,KADM,EAEL;AACD,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,KAFK;AAGLC,IAAAA,IAAI,GAAG,SAHF;AAIL,OAAGC;AAJE,MAKFP,gBAAgB,CAAEG,KAAF,EAAS,4BAAT,CALpB,CADC,CAQD;;AACA,QAAMK,EAAE,GAAGP,KAAK,EAAhB;AACA,QAAMQ,OAAO,GAAGX,OAAO,CAAE,MAAM;AAC9B,WAAOU,EAAE,CACRT,MAAM,CAACW,0BAAP,CAAmCL,KAAnC,EAA0CC,IAA1C,CADQ,EAERF,SAFQ,CAAT;AAIA,GALsB,EAKpB,CAAEI,EAAF,EAAMJ,SAAN,EAAiBC,KAAjB,EAAwBC,IAAxB,CALoB,CAAvB;AAOA,SAAO,EAAE,GAAGC,UAAL;AAAiBH,IAAAA,SAAS,EAAEK,OAA5B;AAAqCJ,IAAAA;AAArC,GAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils';\n\nimport type { VisualizerProps } from '../types';\n\nexport function useBorderBoxControlVisualizer(\n\tprops: WordPressComponentProps< VisualizerProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tvalue,\n\t\tsize = 'default',\n\t\t...otherProps\n\t} = useContextSystem( props, 'BorderBoxControlVisualizer' );\n\n\t// Generate class names.\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx(\n\t\t\tstyles.borderBoxControlVisualizer( value, size ),\n\t\t\tclassName\n\t\t);\n\t}, [ cx, className, value, size ] );\n\n\treturn { ...otherProps, className: classes, value };\n}\n"]}