@wordpress/components 24.0.0 → 25.1.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 (1491) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/CONTRIBUTING.md +10 -0
  3. package/build/alignment-matrix-control/cell.js +5 -6
  4. package/build/alignment-matrix-control/cell.js.map +1 -1
  5. package/build/alignment-matrix-control/icon.js +8 -9
  6. package/build/alignment-matrix-control/icon.js.map +1 -1
  7. package/build/alignment-matrix-control/index.js +10 -11
  8. package/build/alignment-matrix-control/index.js.map +1 -1
  9. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +6 -8
  10. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  11. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +6 -8
  12. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  13. package/build/alignment-matrix-control/utils.js +1 -2
  14. package/build/alignment-matrix-control/utils.js.map +1 -1
  15. package/build/angle-picker-control/angle-circle.js +6 -9
  16. package/build/angle-picker-control/angle-circle.js.map +1 -1
  17. package/build/angle-picker-control/styles/angle-picker-control-styles.js +3 -4
  18. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  19. package/build/animate/index.js +5 -6
  20. package/build/animate/index.js.map +1 -1
  21. package/build/autocomplete/autocompleter-ui.js +29 -33
  22. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  23. package/build/autocomplete/autocompleter-ui.native.js +15 -22
  24. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  25. package/build/autocomplete/background-view.android.js +3 -4
  26. package/build/autocomplete/background-view.android.js.map +1 -1
  27. package/build/autocomplete/background-view.ios.js +3 -4
  28. package/build/autocomplete/background-view.ios.js.map +1 -1
  29. package/build/autocomplete/get-default-use-items.js +1 -3
  30. package/build/autocomplete/get-default-use-items.js.map +1 -1
  31. package/build/autocomplete/index.js +18 -23
  32. package/build/autocomplete/index.js.map +1 -1
  33. package/build/base-control/index.js +14 -16
  34. package/build/base-control/index.js.map +1 -1
  35. package/build/base-control/index.native.js +5 -6
  36. package/build/base-control/index.native.js.map +1 -1
  37. package/build/base-control/styles/base-control-styles.js +6 -8
  38. package/build/base-control/styles/base-control-styles.js.map +1 -1
  39. package/build/border-box-control/border-box-control/hook.js +5 -5
  40. package/build/border-box-control/border-box-control/hook.js.map +1 -1
  41. package/build/border-box-control/border-box-control-split-controls/component.js +4 -4
  42. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  43. package/build/border-box-control/styles.js +3 -3
  44. package/build/border-box-control/styles.js.map +1 -1
  45. package/build/border-box-control/utils.js +5 -8
  46. package/build/border-box-control/utils.js.map +1 -1
  47. package/build/border-control/border-control/component.js +1 -1
  48. package/build/border-control/border-control/component.js.map +1 -1
  49. package/build/border-control/border-control/hook.js +5 -5
  50. package/build/border-control/border-control/hook.js.map +1 -1
  51. package/build/border-control/border-control-dropdown/component.js +70 -67
  52. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  53. package/build/border-control/border-control-dropdown/hook.js +4 -4
  54. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  55. package/build/box-control/all-input-control.js +11 -12
  56. package/build/box-control/all-input-control.js.map +1 -1
  57. package/build/box-control/axial-input-controls.js +12 -14
  58. package/build/box-control/axial-input-controls.js.map +1 -1
  59. package/build/box-control/icon.js +7 -9
  60. package/build/box-control/icon.js.map +1 -1
  61. package/build/box-control/index.js +22 -24
  62. package/build/box-control/index.js.map +1 -1
  63. package/build/box-control/input-controls.js +15 -18
  64. package/build/box-control/input-controls.js.map +1 -1
  65. package/build/box-control/linked-button.js +4 -5
  66. package/build/box-control/linked-button.js.map +1 -1
  67. package/build/box-control/styles/box-control-icon-styles.js +3 -4
  68. package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
  69. package/build/box-control/styles/box-control-styles.js +9 -12
  70. package/build/box-control/styles/box-control-styles.js.map +1 -1
  71. package/build/box-control/styles/box-control-visualizer-styles.js +7 -11
  72. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  73. package/build/box-control/unit-control.js +18 -22
  74. package/build/box-control/unit-control.js.map +1 -1
  75. package/build/box-control/utils.js +4 -10
  76. package/build/box-control/utils.js.map +1 -1
  77. package/build/button/deprecated.js +7 -8
  78. package/build/button/deprecated.js.map +1 -1
  79. package/build/button/index.js +15 -16
  80. package/build/button/index.js.map +1 -1
  81. package/build/button/index.native.js +5 -7
  82. package/build/button/index.native.js.map +1 -1
  83. package/build/card/card/hook.js +5 -6
  84. package/build/card/card/hook.js.map +1 -1
  85. package/build/circular-option-picker/index.js +27 -33
  86. package/build/circular-option-picker/index.js.map +1 -1
  87. package/build/clipboard-button/index.js +8 -9
  88. package/build/clipboard-button/index.js.map +1 -1
  89. package/build/color-control/index.native.js +7 -8
  90. package/build/color-control/index.native.js.map +1 -1
  91. package/build/color-indicator/index.native.js +10 -12
  92. package/build/color-indicator/index.native.js.map +1 -1
  93. package/build/color-palette/index.js +63 -72
  94. package/build/color-palette/index.js.map +1 -1
  95. package/build/color-palette/index.native.js +33 -47
  96. package/build/color-palette/index.native.js.map +1 -1
  97. package/build/color-palette/utils.js +2 -5
  98. package/build/color-palette/utils.js.map +1 -1
  99. package/build/color-picker/color-input.js +6 -7
  100. package/build/color-picker/color-input.js.map +1 -1
  101. package/build/color-picker/hex-input.js +8 -12
  102. package/build/color-picker/hex-input.js.map +1 -1
  103. package/build/color-picker/hsl-input.js +5 -6
  104. package/build/color-picker/hsl-input.js.map +1 -1
  105. package/build/color-picker/index.native.js +23 -30
  106. package/build/color-picker/index.native.js.map +1 -1
  107. package/build/color-picker/input-with-slider.js +8 -10
  108. package/build/color-picker/input-with-slider.js.map +1 -1
  109. package/build/color-picker/picker.js +5 -6
  110. package/build/color-picker/picker.js.map +1 -1
  111. package/build/color-picker/rgb-input.js +5 -6
  112. package/build/color-picker/rgb-input.js.map +1 -1
  113. package/build/color-picker/styles.js +8 -8
  114. package/build/color-picker/styles.js.map +1 -1
  115. package/build/color-picker/use-deprecated-props.js +1 -3
  116. package/build/color-picker/use-deprecated-props.js.map +1 -1
  117. package/build/combobox-control/index.js +3 -6
  118. package/build/combobox-control/index.js.map +1 -1
  119. package/build/combobox-control/styles.js +3 -6
  120. package/build/combobox-control/styles.js.map +1 -1
  121. package/build/confirm-dialog/component.js +1 -1
  122. package/build/confirm-dialog/component.js.map +1 -1
  123. package/build/custom-gradient-picker/gradient-bar/control-points.js +116 -131
  124. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  125. package/build/custom-gradient-picker/gradient-bar/index.js +12 -14
  126. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  127. package/build/custom-gradient-picker/gradient-bar/utils.js +4 -6
  128. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  129. package/build/custom-gradient-picker/index.js +19 -22
  130. package/build/custom-gradient-picker/index.js.map +1 -1
  131. package/build/custom-gradient-picker/index.native.js +7 -8
  132. package/build/custom-gradient-picker/index.native.js.map +1 -1
  133. package/build/custom-gradient-picker/serializer.js +15 -21
  134. package/build/custom-gradient-picker/serializer.js.map +1 -1
  135. package/build/custom-gradient-picker/utils.js +6 -9
  136. package/build/custom-gradient-picker/utils.js.map +1 -1
  137. package/build/custom-select-control/index.js +14 -21
  138. package/build/custom-select-control/index.js.map +1 -1
  139. package/build/dashicon/index.js +7 -8
  140. package/build/dashicon/index.js.map +1 -1
  141. package/build/dashicon/index.native.js +4 -5
  142. package/build/dashicon/index.native.js.map +1 -1
  143. package/build/date-time/date/index.js +24 -26
  144. package/build/date-time/date/index.js.map +1 -1
  145. package/build/date-time/date-time/index.js +11 -93
  146. package/build/date-time/date-time/index.js.map +1 -1
  147. package/build/date-time/date-time/styles.js +4 -19
  148. package/build/date-time/date-time/styles.js.map +1 -1
  149. package/build/date-time/time/index.js +11 -14
  150. package/build/date-time/time/index.js.map +1 -1
  151. package/build/dimension-control/index.js +8 -11
  152. package/build/dimension-control/index.js.map +1 -1
  153. package/build/disabled/index.js +6 -7
  154. package/build/disabled/index.js.map +1 -1
  155. package/build/disabled/index.native.js +3 -4
  156. package/build/disabled/index.native.js.map +1 -1
  157. package/build/divider/styles.js +21 -29
  158. package/build/divider/styles.js.map +1 -1
  159. package/build/draggable/index.js +14 -19
  160. package/build/draggable/index.js.map +1 -1
  161. package/build/draggable/index.native.js +17 -19
  162. package/build/draggable/index.native.js.map +1 -1
  163. package/build/drop-zone/index.js +11 -16
  164. package/build/drop-zone/index.js.map +1 -1
  165. package/build/drop-zone/provider.js +3 -4
  166. package/build/drop-zone/provider.js.map +1 -1
  167. package/build/dropdown/index.js +19 -23
  168. package/build/dropdown/index.js.map +1 -1
  169. package/build/dropdown/styles.js +3 -4
  170. package/build/dropdown/styles.js.map +1 -1
  171. package/build/dropdown-menu/index.js +96 -26
  172. package/build/dropdown-menu/index.js.map +1 -1
  173. package/build/dropdown-menu/index.native.js +22 -30
  174. package/build/dropdown-menu/index.native.js.map +1 -1
  175. package/build/dropdown-menu/types.js +6 -0
  176. package/build/dropdown-menu/types.js.map +1 -0
  177. package/build/dropdown-menu-v2/index.js +230 -0
  178. package/build/dropdown-menu-v2/index.js.map +1 -0
  179. package/build/dropdown-menu-v2/styles.js +184 -0
  180. package/build/dropdown-menu-v2/styles.js.map +1 -0
  181. package/build/dropdown-menu-v2/types.js +6 -0
  182. package/build/dropdown-menu-v2/types.js.map +1 -0
  183. package/build/duotone-picker/color-list-picker/index.js +16 -18
  184. package/build/duotone-picker/color-list-picker/index.js.map +1 -1
  185. package/build/duotone-picker/custom-duotone-bar.js +4 -5
  186. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  187. package/build/duotone-picker/duotone-picker.js +15 -17
  188. package/build/duotone-picker/duotone-picker.js.map +1 -1
  189. package/build/duotone-picker/duotone-swatch.js +3 -4
  190. package/build/duotone-picker/duotone-swatch.js.map +1 -1
  191. package/build/duotone-picker/utils.js +14 -27
  192. package/build/duotone-picker/utils.js.map +1 -1
  193. package/build/external-link/index.js +1 -1
  194. package/build/external-link/index.js.map +1 -1
  195. package/build/external-link/index.native.js +4 -5
  196. package/build/external-link/index.native.js.map +1 -1
  197. package/build/focal-point-picker/controls.js +11 -10
  198. package/build/focal-point-picker/controls.js.map +1 -1
  199. package/build/focal-point-picker/focal-point.js +5 -6
  200. package/build/focal-point-picker/focal-point.js.map +1 -1
  201. package/build/focal-point-picker/focal-point.native.js +5 -6
  202. package/build/focal-point-picker/focal-point.native.js.map +1 -1
  203. package/build/focal-point-picker/grid.js +4 -5
  204. package/build/focal-point-picker/grid.js.map +1 -1
  205. package/build/focal-point-picker/index.js +33 -37
  206. package/build/focal-point-picker/index.js.map +1 -1
  207. package/build/focal-point-picker/index.native.js +10 -12
  208. package/build/focal-point-picker/index.native.js.map +1 -1
  209. package/build/focal-point-picker/media.js +11 -13
  210. package/build/focal-point-picker/media.js.map +1 -1
  211. package/build/focal-point-picker/styles/focal-point-picker-style.js +9 -14
  212. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  213. package/build/focal-point-picker/styles/focal-point-style.js +3 -6
  214. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  215. package/build/focal-point-picker/tooltip/index.native.js +16 -21
  216. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  217. package/build/focal-point-picker/utils.js +2 -4
  218. package/build/focal-point-picker/utils.js.map +1 -1
  219. package/build/focusable-iframe/index.js +4 -5
  220. package/build/focusable-iframe/index.js.map +1 -1
  221. package/build/font-size-picker/font-size-picker-select.js +3 -5
  222. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  223. package/build/font-size-picker/index.js +13 -19
  224. package/build/font-size-picker/index.js.map +1 -1
  225. package/build/font-size-picker/index.native.js +6 -7
  226. package/build/font-size-picker/index.native.js.map +1 -1
  227. package/build/font-size-picker/styles.js +24 -8
  228. package/build/font-size-picker/styles.js.map +1 -1
  229. package/build/footer-message-control/index.native.js +2 -3
  230. package/build/footer-message-control/index.native.js.map +1 -1
  231. package/build/form-file-upload/index.js +10 -13
  232. package/build/form-file-upload/index.js.map +1 -1
  233. package/build/form-token-field/index.js +4 -19
  234. package/build/form-token-field/index.js.map +1 -1
  235. package/build/form-token-field/styles.js +4 -7
  236. package/build/form-token-field/styles.js.map +1 -1
  237. package/build/form-token-field/suggestions-list.js +14 -15
  238. package/build/form-token-field/suggestions-list.js.map +1 -1
  239. package/build/form-token-field/token-input.js +2 -2
  240. package/build/form-token-field/token-input.js.map +1 -1
  241. package/build/form-token-field/token.js +14 -15
  242. package/build/form-token-field/token.js.map +1 -1
  243. package/build/gradient-picker/index.js +51 -58
  244. package/build/gradient-picker/index.js.map +1 -1
  245. package/build/guide/icons.js +13 -16
  246. package/build/guide/icons.js.map +1 -1
  247. package/build/guide/index.js +9 -12
  248. package/build/guide/index.js.map +1 -1
  249. package/build/guide/page-control.js +5 -6
  250. package/build/guide/page-control.js.map +1 -1
  251. package/build/h-stack/utils.js +1 -3
  252. package/build/h-stack/utils.js.map +1 -1
  253. package/build/higher-order/navigate-regions/index.js +16 -22
  254. package/build/higher-order/navigate-regions/index.js.map +1 -1
  255. package/build/higher-order/with-focus-outside/index.js +1 -1
  256. package/build/higher-order/with-focus-outside/index.js.map +1 -1
  257. package/build/higher-order/with-focus-outside/index.native.js +1 -1
  258. package/build/higher-order/with-focus-outside/index.native.js.map +1 -1
  259. package/build/higher-order/with-focus-return/index.js +13 -17
  260. package/build/higher-order/with-focus-return/index.js.map +1 -1
  261. package/build/icon/index.js +5 -7
  262. package/build/icon/index.js.map +1 -1
  263. package/build/index.native.js +0 -9
  264. package/build/index.native.js.map +1 -1
  265. package/build/input-control/backdrop.js +4 -5
  266. package/build/input-control/backdrop.js.map +1 -1
  267. package/build/input-control/index.js +22 -23
  268. package/build/input-control/index.js.map +1 -1
  269. package/build/input-control/input-base.js +16 -17
  270. package/build/input-control/input-base.js.map +1 -1
  271. package/build/input-control/input-field.js +26 -29
  272. package/build/input-control/input-field.js.map +1 -1
  273. package/build/input-control/label.js +6 -7
  274. package/build/input-control/label.js.map +1 -1
  275. package/build/input-control/reducer/reducer.js +2 -6
  276. package/build/input-control/reducer/reducer.js.map +1 -1
  277. package/build/input-control/styles/input-control-styles.js +62 -64
  278. package/build/input-control/styles/input-control-styles.js.map +1 -1
  279. package/build/input-control/utils.js +1 -3
  280. package/build/input-control/utils.js.map +1 -1
  281. package/build/keyboard-shortcuts/index.js +21 -26
  282. package/build/keyboard-shortcuts/index.js.map +1 -1
  283. package/build/menu-items-choice/index.js +6 -7
  284. package/build/menu-items-choice/index.js.map +1 -1
  285. package/build/mobile/audio-player/index.native.js +7 -8
  286. package/build/mobile/audio-player/index.native.js.map +1 -1
  287. package/build/mobile/badge/index.native.js +5 -6
  288. package/build/mobile/badge/index.native.js.map +1 -1
  289. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +10 -12
  290. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  291. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -13
  292. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  293. package/build/mobile/bottom-sheet/button.native.js +18 -21
  294. package/build/mobile/bottom-sheet/button.native.js.map +1 -1
  295. package/build/mobile/bottom-sheet/cell.native.js +23 -11
  296. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  297. package/build/mobile/bottom-sheet/color-cell.native.js +3 -1
  298. package/build/mobile/bottom-sheet/color-cell.native.js.map +1 -1
  299. package/build/mobile/bottom-sheet/footer-message-cell.native.js +4 -5
  300. package/build/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  301. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -5
  302. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  303. package/build/mobile/bottom-sheet/index.native.js +19 -30
  304. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  305. package/build/mobile/bottom-sheet/link-cell.native.js +6 -7
  306. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  307. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -6
  308. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  309. package/build/mobile/bottom-sheet/lock-icon/index.native.js +33 -0
  310. package/build/mobile/bottom-sheet/lock-icon/index.native.js.map +1 -0
  311. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js +6 -7
  312. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  313. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js +3 -4
  314. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  315. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +12 -15
  316. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  317. package/build/mobile/bottom-sheet/nav-bar/heading.native.js +3 -4
  318. package/build/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  319. package/build/mobile/bottom-sheet/nav-bar/index.native.js +3 -4
  320. package/build/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  321. package/build/mobile/bottom-sheet/radio-cell.native.js +4 -3
  322. package/build/mobile/bottom-sheet/radio-cell.native.js.map +1 -1
  323. package/build/mobile/bottom-sheet/range-cell.native.js +7 -3
  324. package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  325. package/build/mobile/bottom-sheet/range-text-input.native.js +5 -6
  326. package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  327. package/build/mobile/bottom-sheet/ripple.native.js +10 -11
  328. package/build/mobile/bottom-sheet/ripple.native.js.map +1 -1
  329. package/build/mobile/bottom-sheet/stepper-cell/index.native.js +5 -4
  330. package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  331. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js +11 -12
  332. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  333. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js +11 -12
  334. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  335. package/build/mobile/bottom-sheet/sub-sheet/index.native.js +6 -7
  336. package/build/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  337. package/build/mobile/bottom-sheet/switch-cell.native.js +8 -2
  338. package/build/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
  339. package/build/mobile/bottom-sheet-select-control/index.native.js +11 -10
  340. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  341. package/build/mobile/bottom-sheet-text-control/index.native.js +13 -12
  342. package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  343. package/build/mobile/color-settings/index.native.js +12 -13
  344. package/build/mobile/color-settings/index.native.js.map +1 -1
  345. package/build/mobile/color-settings/utils.native.js +2 -2
  346. package/build/mobile/color-settings/utils.native.js.map +1 -1
  347. package/build/mobile/cycle-select-control/index.native.js +11 -12
  348. package/build/mobile/cycle-select-control/index.native.js.map +1 -1
  349. package/build/mobile/focal-point-settings-panel/index.native.js +6 -7
  350. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  351. package/build/mobile/global-styles-context/index.native.js +6 -14
  352. package/build/mobile/global-styles-context/index.native.js.map +1 -1
  353. package/build/mobile/global-styles-context/utils.native.js +69 -112
  354. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  355. package/build/mobile/gradient/index.native.js +26 -33
  356. package/build/mobile/gradient/index.native.js.map +1 -1
  357. package/build/mobile/html-text-input/index.native.js +3 -3
  358. package/build/mobile/html-text-input/index.native.js.map +1 -1
  359. package/build/mobile/image/image-editing-button.native.js +22 -26
  360. package/build/mobile/image/image-editing-button.native.js.map +1 -1
  361. package/build/mobile/image/index.native.js +31 -34
  362. package/build/mobile/image/index.native.js.map +1 -1
  363. package/build/mobile/keyboard-avoiding-view/index.ios.js +22 -29
  364. package/build/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  365. package/build/mobile/keyboard-aware-flat-list/index.android.js +5 -6
  366. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  367. package/build/mobile/keyboard-aware-flat-list/index.ios.js +9 -10
  368. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  369. package/build/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +9 -14
  370. package/build/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js.map +1 -1
  371. package/build/mobile/layout-animation/index.native.js +1 -3
  372. package/build/mobile/layout-animation/index.native.js.map +1 -1
  373. package/build/mobile/link-picker/index.native.js +12 -16
  374. package/build/mobile/link-picker/index.native.js.map +1 -1
  375. package/build/mobile/link-picker/link-picker-results.native.js +34 -48
  376. package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
  377. package/build/mobile/link-picker/link-picker-screen.native.js +7 -10
  378. package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  379. package/build/mobile/link-settings/image-link-destinations-screen.native.js +8 -9
  380. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  381. package/build/mobile/link-settings/index.native.js +57 -58
  382. package/build/mobile/link-settings/index.native.js.map +1 -1
  383. package/build/mobile/media-edit/index.native.js +2 -2
  384. package/build/mobile/media-edit/index.native.js.map +1 -1
  385. package/build/mobile/picker/index.ios.js +3 -6
  386. package/build/mobile/picker/index.ios.js.map +1 -1
  387. package/build/mobile/segmented-control/index.native.js +16 -20
  388. package/build/mobile/segmented-control/index.native.js.map +1 -1
  389. package/build/mobile/utils/alignments.native.js +2 -6
  390. package/build/mobile/utils/alignments.native.js.map +1 -1
  391. package/build/mobile/utils/index.native.js +1 -2
  392. package/build/mobile/utils/index.native.js.map +1 -1
  393. package/build/mobile/utils/use-unit-converter-to-mobile.native.js +4 -7
  394. package/build/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  395. package/build/modal/index.js +3 -4
  396. package/build/modal/index.js.map +1 -1
  397. package/build/navigable-container/container.js +2 -6
  398. package/build/navigable-container/container.js.map +1 -1
  399. package/build/navigable-container/menu.js +5 -7
  400. package/build/navigable-container/menu.js.map +1 -1
  401. package/build/navigable-container/tabbable.js +4 -6
  402. package/build/navigable-container/tabbable.js.map +1 -1
  403. package/build/navigation/back-button/index.js +8 -11
  404. package/build/navigation/back-button/index.js.map +1 -1
  405. package/build/navigation/group/index.js +5 -6
  406. package/build/navigation/group/index.js.map +1 -1
  407. package/build/navigation/index.js +8 -11
  408. package/build/navigation/index.js.map +1 -1
  409. package/build/navigation/item/base.js +1 -3
  410. package/build/navigation/item/base.js.map +1 -1
  411. package/build/navigation/menu/menu-title-search.js +11 -14
  412. package/build/navigation/menu/menu-title-search.js.map +1 -1
  413. package/build/navigation/menu/menu-title.js +8 -11
  414. package/build/navigation/menu/menu-title.js.map +1 -1
  415. package/build/navigation/menu/search-no-results-found.js +3 -4
  416. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  417. package/build/navigator/navigator-back-button/hook.js +1 -1
  418. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  419. package/build/navigator/navigator-button/hook.js +1 -1
  420. package/build/navigator/navigator-button/hook.js.map +1 -1
  421. package/build/navigator/navigator-provider/component.js +2 -6
  422. package/build/navigator/navigator-provider/component.js.map +1 -1
  423. package/build/navigator/navigator-screen/component.js +1 -1
  424. package/build/navigator/navigator-screen/component.js.map +1 -1
  425. package/build/notice/index.js +25 -29
  426. package/build/notice/index.js.map +1 -1
  427. package/build/notice/index.native.js +13 -18
  428. package/build/notice/index.native.js.map +1 -1
  429. package/build/notice/list.js +6 -8
  430. package/build/notice/list.js.map +1 -1
  431. package/build/number-control/index.js +24 -26
  432. package/build/number-control/index.js.map +1 -1
  433. package/build/number-control/styles/number-control-styles.js +6 -10
  434. package/build/number-control/styles/number-control-styles.js.map +1 -1
  435. package/build/palette-edit/index.js +83 -94
  436. package/build/palette-edit/index.js.map +1 -1
  437. package/build/panel/actions.native.js +8 -10
  438. package/build/panel/actions.native.js.map +1 -1
  439. package/build/panel/body.js +7 -10
  440. package/build/panel/body.js.map +1 -1
  441. package/build/panel/body.native.js +6 -7
  442. package/build/panel/body.native.js.map +1 -1
  443. package/build/panel/bottom-separator-cover.native.js +3 -4
  444. package/build/panel/bottom-separator-cover.native.js.map +1 -1
  445. package/build/panel/header.js +4 -5
  446. package/build/panel/header.js.map +1 -1
  447. package/build/panel/index.js +5 -6
  448. package/build/panel/index.js.map +1 -1
  449. package/build/panel/row.js +4 -5
  450. package/build/panel/row.js.map +1 -1
  451. package/build/popover/index.js +27 -31
  452. package/build/popover/index.js.map +1 -1
  453. package/build/popover/limit-shift.js +70 -75
  454. package/build/popover/limit-shift.js.map +1 -1
  455. package/build/popover/overlay-middlewares.js +7 -9
  456. package/build/popover/overlay-middlewares.js.map +1 -1
  457. package/build/popover/utils.js +26 -34
  458. package/build/popover/utils.js.map +1 -1
  459. package/build/private-apis.js +16 -1
  460. package/build/private-apis.js.map +1 -1
  461. package/build/query-controls/author-select.js +7 -8
  462. package/build/query-controls/author-select.js.map +1 -1
  463. package/build/query-controls/category-select.js +8 -9
  464. package/build/query-controls/category-select.js.map +1 -1
  465. package/build/query-controls/index.js +16 -17
  466. package/build/query-controls/index.js.map +1 -1
  467. package/build/query-controls/index.native.js +13 -14
  468. package/build/query-controls/index.native.js.map +1 -1
  469. package/build/radio-control/index.js +1 -1
  470. package/build/radio-control/index.js.map +1 -1
  471. package/build/radio-control/index.native.js +6 -7
  472. package/build/radio-control/index.native.js.map +1 -1
  473. package/build/radio-group/index.js +8 -9
  474. package/build/radio-group/index.js.map +1 -1
  475. package/build/radio-group/radio/index.js +5 -6
  476. package/build/radio-group/radio/index.js.map +1 -1
  477. package/build/range-control/index.js +1 -3
  478. package/build/range-control/index.js.map +1 -1
  479. package/build/range-control/index.native.js +23 -22
  480. package/build/range-control/index.native.js.map +1 -1
  481. package/build/range-control/rail.js +7 -9
  482. package/build/range-control/rail.js.map +1 -1
  483. package/build/range-control/styles/range-control-styles.js +37 -52
  484. package/build/range-control/styles/range-control-styles.js.map +1 -1
  485. package/build/range-control/tooltip.js +4 -5
  486. package/build/range-control/tooltip.js.map +1 -1
  487. package/build/resizable-box/index.js +8 -9
  488. package/build/resizable-box/index.js.map +1 -1
  489. package/build/resizable-box/resize-tooltip/index.js +12 -13
  490. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  491. package/build/resizable-box/resize-tooltip/label.js +6 -7
  492. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  493. package/build/resizable-box/resize-tooltip/utils.js +16 -19
  494. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  495. package/build/responsive-wrapper/index.js +6 -8
  496. package/build/responsive-wrapper/index.js.map +1 -1
  497. package/build/sandbox/index.js +16 -23
  498. package/build/sandbox/index.js.map +1 -1
  499. package/build/sandbox/index.native.js +20 -26
  500. package/build/sandbox/index.native.js.map +1 -1
  501. package/build/search-control/index.js +14 -17
  502. package/build/search-control/index.js.map +1 -1
  503. package/build/search-control/index.native.js +7 -8
  504. package/build/search-control/index.native.js.map +1 -1
  505. package/build/select-control/index.js +9 -19
  506. package/build/select-control/index.js.map +1 -1
  507. package/build/select-control/index.native.js +11 -12
  508. package/build/select-control/index.native.js.map +1 -1
  509. package/build/select-control/styles/select-control-styles.js +19 -25
  510. package/build/select-control/styles/select-control-styles.js.map +1 -1
  511. package/build/slot-fill/bubbles-virtually/fill.js +4 -5
  512. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  513. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -7
  514. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  515. package/build/slot-fill/bubbles-virtually/slot.js +6 -7
  516. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  517. package/build/slot-fill/fill.js +4 -5
  518. package/build/slot-fill/fill.js.map +1 -1
  519. package/build/slot-fill/index.js +8 -11
  520. package/build/slot-fill/index.js.map +1 -1
  521. package/build/slot-fill/index.native.js +4 -5
  522. package/build/slot-fill/index.native.js.map +1 -1
  523. package/build/slot-fill/provider.js +2 -2
  524. package/build/slot-fill/provider.js.map +1 -1
  525. package/build/slot-fill/slot.js +9 -12
  526. package/build/slot-fill/slot.js.map +1 -1
  527. package/build/snackbar/index.js +26 -31
  528. package/build/snackbar/index.js.map +1 -1
  529. package/build/snackbar/list.js +7 -8
  530. package/build/snackbar/list.js.map +1 -1
  531. package/build/spinner/index.js +4 -5
  532. package/build/spinner/index.js.map +1 -1
  533. package/build/style-provider/index.native.js +3 -4
  534. package/build/style-provider/index.native.js.map +1 -1
  535. package/build/surface/styles.js +6 -7
  536. package/build/surface/styles.js.map +1 -1
  537. package/build/tab-panel/index.js +35 -40
  538. package/build/tab-panel/index.js.map +1 -1
  539. package/build/text/styles/text-mixins.native.js +1 -3
  540. package/build/text/styles/text-mixins.native.js.map +1 -1
  541. package/build/text/utils.js +16 -17
  542. package/build/text/utils.js.map +1 -1
  543. package/build/text-control/index.native.js +12 -13
  544. package/build/text-control/index.native.js.map +1 -1
  545. package/build/textarea-control/index.native.js +7 -8
  546. package/build/textarea-control/index.native.js.map +1 -1
  547. package/build/theme/color-algorithms.js +1 -2
  548. package/build/theme/color-algorithms.js.map +1 -1
  549. package/build/theme/index.js +6 -7
  550. package/build/theme/index.js.map +1 -1
  551. package/build/theme/styles.js +4 -8
  552. package/build/theme/styles.js.map +1 -1
  553. package/build/toggle-control/index.js +9 -11
  554. package/build/toggle-control/index.js.map +1 -1
  555. package/build/toggle-control/index.native.js +9 -10
  556. package/build/toggle-control/index.native.js.map +1 -1
  557. package/build/toggle-group-control/toggle-group-control/as-button-group.js +9 -10
  558. package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  559. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +9 -10
  560. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  561. package/build/toggle-group-control/toggle-group-control/styles.js +11 -14
  562. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  563. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -8
  564. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  565. package/build/toggle-group-control/toggle-group-control-option-base/component.js +5 -7
  566. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  567. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +11 -15
  568. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  569. package/build/toolbar/toolbar/index.js +23 -9
  570. package/build/toolbar/toolbar/index.js.map +1 -1
  571. package/build/toolbar/toolbar/toolbar-container.js +4 -5
  572. package/build/toolbar/toolbar/toolbar-container.js.map +1 -1
  573. package/build/toolbar/toolbar/toolbar-container.native.js +3 -6
  574. package/build/toolbar/toolbar/toolbar-container.native.js.map +1 -1
  575. package/build/toolbar/toolbar-button/index.js +10 -11
  576. package/build/toolbar/toolbar-button/index.js.map +1 -1
  577. package/build/toolbar/toolbar-button/toolbar-button-container.js +6 -9
  578. package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  579. package/build/toolbar/toolbar-group/index.js +9 -12
  580. package/build/toolbar/toolbar-group/index.js.map +1 -1
  581. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js +5 -6
  582. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  583. package/build/toolbar/toolbar-group/toolbar-group-collapsed.native.js +6 -7
  584. package/build/toolbar/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  585. package/build/toolbar/toolbar-group/toolbar-group-container.js +7 -10
  586. package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  587. package/build/toolbar/toolbar-group/toolbar-group-container.native.js +7 -10
  588. package/build/toolbar/toolbar-group/toolbar-group-container.native.js.map +1 -1
  589. package/build/toolbar/toolbar-item/index.js +5 -6
  590. package/build/toolbar/toolbar-item/index.js.map +1 -1
  591. package/build/toolbar/toolbar-item/index.native.js +4 -6
  592. package/build/toolbar/toolbar-item/index.native.js.map +1 -1
  593. package/build/tools-panel/tools-panel/hook.js +17 -25
  594. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  595. package/build/tools-panel/tools-panel-header/component.js +14 -24
  596. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  597. package/build/tools-panel/tools-panel-item/hook.js +5 -7
  598. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  599. package/build/tooltip/index.js +36 -43
  600. package/build/tooltip/index.js.map +1 -1
  601. package/build/tooltip/index.native.js +14 -19
  602. package/build/tooltip/index.native.js.map +1 -1
  603. package/build/tree-grid/cell.js +5 -6
  604. package/build/tree-grid/cell.js.map +1 -1
  605. package/build/tree-grid/index.js +12 -15
  606. package/build/tree-grid/index.js.map +1 -1
  607. package/build/tree-grid/item.js +4 -5
  608. package/build/tree-grid/item.js.map +1 -1
  609. package/build/tree-grid/roving-tab-index-item.js +6 -7
  610. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  611. package/build/tree-grid/roving-tab-index.js +3 -4
  612. package/build/tree-grid/roving-tab-index.js.map +1 -1
  613. package/build/tree-grid/row.js +8 -9
  614. package/build/tree-grid/row.js.map +1 -1
  615. package/build/tree-select/index.js +9 -11
  616. package/build/tree-select/index.js.map +1 -1
  617. package/build/truncate/utils.js +1 -3
  618. package/build/truncate/utils.js.map +1 -1
  619. package/build/ui/context/context-connect.js +1 -1
  620. package/build/ui/context/context-connect.js.map +1 -1
  621. package/build/ui/context/context-system-provider.js +7 -9
  622. package/build/ui/context/context-system-provider.js.map +1 -1
  623. package/build/ui/context/index.js +7 -0
  624. package/build/ui/context/index.js.map +1 -1
  625. package/build/ui/context/use-context-system.js +1 -1
  626. package/build/ui/context/use-context-system.js.map +1 -1
  627. package/build/ui/control-group/hook.js +1 -1
  628. package/build/ui/control-group/hook.js.map +1 -1
  629. package/build/ui/form-group/form-group-content.js +12 -13
  630. package/build/ui/form-group/form-group-content.js.map +1 -1
  631. package/build/ui/form-group/form-group-help.js +3 -4
  632. package/build/ui/form-group/form-group-help.js.map +1 -1
  633. package/build/ui/form-group/form-group-label.js +7 -8
  634. package/build/ui/form-group/form-group-label.js.map +1 -1
  635. package/build/ui/tooltip/component.js +1 -1
  636. package/build/ui/tooltip/component.js.map +1 -1
  637. package/build/ui/utils/colors.js +1 -3
  638. package/build/ui/utils/colors.js.map +1 -1
  639. package/build/ui/utils/font-size.js +2 -6
  640. package/build/ui/utils/font-size.js.map +1 -1
  641. package/build/ui/utils/get-high-dpi.js +1 -5
  642. package/build/ui/utils/get-high-dpi.js.map +1 -1
  643. package/build/ui/utils/space.js +1 -3
  644. package/build/ui/utils/space.js.map +1 -1
  645. package/build/ui/utils/use-responsive-value.js +2 -4
  646. package/build/ui/utils/use-responsive-value.js.map +1 -1
  647. package/build/unit-control/index.js +8 -8
  648. package/build/unit-control/index.js.map +1 -1
  649. package/build/unit-control/index.native.js +22 -23
  650. package/build/unit-control/index.native.js.map +1 -1
  651. package/build/unit-control/styles/unit-control-styles.js +6 -8
  652. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  653. package/build/unit-control/unit-select-control.js +11 -13
  654. package/build/unit-control/unit-select-control.js.map +1 -1
  655. package/build/unit-control/utils.js +12 -19
  656. package/build/unit-control/utils.js.map +1 -1
  657. package/build/utils/browsers.js +2 -10
  658. package/build/utils/browsers.js.map +1 -1
  659. package/build/utils/colors.js +1 -3
  660. package/build/utils/colors.js.map +1 -1
  661. package/build/utils/config-values.js +1 -0
  662. package/build/utils/config-values.js.map +1 -1
  663. package/build/utils/hooks/use-controlled-state.js +1 -2
  664. package/build/utils/hooks/use-controlled-state.js.map +1 -1
  665. package/build/utils/hooks/use-controlled-value.js +5 -6
  666. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  667. package/build/utils/hooks/use-cx.js +1 -5
  668. package/build/utils/hooks/use-cx.js.map +1 -1
  669. package/build/utils/math.js +5 -17
  670. package/build/utils/math.js.map +1 -1
  671. package/build/utils/reduce-motion.js +1 -2
  672. package/build/utils/reduce-motion.js.map +1 -1
  673. package/build/utils/rtl.js +3 -9
  674. package/build/utils/rtl.js.map +1 -1
  675. package/build/utils/values.js +2 -6
  676. package/build/utils/values.js.map +1 -1
  677. package/build/z-stack/styles.js +14 -23
  678. package/build/z-stack/styles.js.map +1 -1
  679. package/build-module/alignment-matrix-control/cell.js +5 -6
  680. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  681. package/build-module/alignment-matrix-control/icon.js +8 -9
  682. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  683. package/build-module/alignment-matrix-control/index.js +10 -11
  684. package/build-module/alignment-matrix-control/index.js.map +1 -1
  685. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +6 -8
  686. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  687. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +6 -8
  688. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  689. package/build-module/alignment-matrix-control/utils.js +1 -2
  690. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  691. package/build-module/angle-picker-control/angle-circle.js +6 -9
  692. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  693. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +3 -4
  694. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  695. package/build-module/animate/index.js +5 -6
  696. package/build-module/animate/index.js.map +1 -1
  697. package/build-module/autocomplete/autocompleter-ui.js +29 -33
  698. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  699. package/build-module/autocomplete/autocompleter-ui.native.js +15 -22
  700. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  701. package/build-module/autocomplete/background-view.android.js +3 -4
  702. package/build-module/autocomplete/background-view.android.js.map +1 -1
  703. package/build-module/autocomplete/background-view.ios.js +3 -4
  704. package/build-module/autocomplete/background-view.ios.js.map +1 -1
  705. package/build-module/autocomplete/get-default-use-items.js +1 -3
  706. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  707. package/build-module/autocomplete/index.js +18 -23
  708. package/build-module/autocomplete/index.js.map +1 -1
  709. package/build-module/base-control/index.js +14 -16
  710. package/build-module/base-control/index.js.map +1 -1
  711. package/build-module/base-control/index.native.js +5 -6
  712. package/build-module/base-control/index.native.js.map +1 -1
  713. package/build-module/base-control/styles/base-control-styles.js +6 -8
  714. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  715. package/build-module/border-box-control/border-box-control/hook.js +5 -5
  716. package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
  717. package/build-module/border-box-control/border-box-control-split-controls/component.js +4 -4
  718. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  719. package/build-module/border-box-control/styles.js +3 -3
  720. package/build-module/border-box-control/styles.js.map +1 -1
  721. package/build-module/border-box-control/utils.js +5 -8
  722. package/build-module/border-box-control/utils.js.map +1 -1
  723. package/build-module/border-control/border-control/component.js +1 -1
  724. package/build-module/border-control/border-control/component.js.map +1 -1
  725. package/build-module/border-control/border-control/hook.js +5 -5
  726. package/build-module/border-control/border-control/hook.js.map +1 -1
  727. package/build-module/border-control/border-control-dropdown/component.js +70 -67
  728. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  729. package/build-module/border-control/border-control-dropdown/hook.js +4 -4
  730. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  731. package/build-module/box-control/all-input-control.js +11 -12
  732. package/build-module/box-control/all-input-control.js.map +1 -1
  733. package/build-module/box-control/axial-input-controls.js +12 -14
  734. package/build-module/box-control/axial-input-controls.js.map +1 -1
  735. package/build-module/box-control/icon.js +7 -9
  736. package/build-module/box-control/icon.js.map +1 -1
  737. package/build-module/box-control/index.js +22 -24
  738. package/build-module/box-control/index.js.map +1 -1
  739. package/build-module/box-control/input-controls.js +15 -18
  740. package/build-module/box-control/input-controls.js.map +1 -1
  741. package/build-module/box-control/linked-button.js +4 -5
  742. package/build-module/box-control/linked-button.js.map +1 -1
  743. package/build-module/box-control/styles/box-control-icon-styles.js +3 -4
  744. package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
  745. package/build-module/box-control/styles/box-control-styles.js +9 -12
  746. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  747. package/build-module/box-control/styles/box-control-visualizer-styles.js +7 -11
  748. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  749. package/build-module/box-control/unit-control.js +18 -22
  750. package/build-module/box-control/unit-control.js.map +1 -1
  751. package/build-module/box-control/utils.js +4 -10
  752. package/build-module/box-control/utils.js.map +1 -1
  753. package/build-module/button/deprecated.js +7 -8
  754. package/build-module/button/deprecated.js.map +1 -1
  755. package/build-module/button/index.js +15 -16
  756. package/build-module/button/index.js.map +1 -1
  757. package/build-module/button/index.native.js +5 -7
  758. package/build-module/button/index.native.js.map +1 -1
  759. package/build-module/card/card/hook.js +5 -6
  760. package/build-module/card/card/hook.js.map +1 -1
  761. package/build-module/circular-option-picker/index.js +27 -33
  762. package/build-module/circular-option-picker/index.js.map +1 -1
  763. package/build-module/clipboard-button/index.js +8 -9
  764. package/build-module/clipboard-button/index.js.map +1 -1
  765. package/build-module/color-control/index.native.js +7 -8
  766. package/build-module/color-control/index.native.js.map +1 -1
  767. package/build-module/color-indicator/index.native.js +10 -12
  768. package/build-module/color-indicator/index.native.js.map +1 -1
  769. package/build-module/color-palette/index.js +63 -72
  770. package/build-module/color-palette/index.js.map +1 -1
  771. package/build-module/color-palette/index.native.js +33 -47
  772. package/build-module/color-palette/index.native.js.map +1 -1
  773. package/build-module/color-palette/utils.js +2 -5
  774. package/build-module/color-palette/utils.js.map +1 -1
  775. package/build-module/color-picker/color-input.js +6 -7
  776. package/build-module/color-picker/color-input.js.map +1 -1
  777. package/build-module/color-picker/hex-input.js +8 -12
  778. package/build-module/color-picker/hex-input.js.map +1 -1
  779. package/build-module/color-picker/hsl-input.js +5 -6
  780. package/build-module/color-picker/hsl-input.js.map +1 -1
  781. package/build-module/color-picker/index.native.js +23 -30
  782. package/build-module/color-picker/index.native.js.map +1 -1
  783. package/build-module/color-picker/input-with-slider.js +8 -10
  784. package/build-module/color-picker/input-with-slider.js.map +1 -1
  785. package/build-module/color-picker/picker.js +5 -6
  786. package/build-module/color-picker/picker.js.map +1 -1
  787. package/build-module/color-picker/rgb-input.js +5 -6
  788. package/build-module/color-picker/rgb-input.js.map +1 -1
  789. package/build-module/color-picker/styles.js +8 -8
  790. package/build-module/color-picker/styles.js.map +1 -1
  791. package/build-module/color-picker/use-deprecated-props.js +1 -3
  792. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  793. package/build-module/combobox-control/index.js +3 -6
  794. package/build-module/combobox-control/index.js.map +1 -1
  795. package/build-module/combobox-control/styles.js +3 -6
  796. package/build-module/combobox-control/styles.js.map +1 -1
  797. package/build-module/confirm-dialog/component.js +1 -1
  798. package/build-module/confirm-dialog/component.js.map +1 -1
  799. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +114 -129
  800. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  801. package/build-module/custom-gradient-picker/gradient-bar/index.js +12 -14
  802. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  803. package/build-module/custom-gradient-picker/gradient-bar/utils.js +4 -6
  804. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  805. package/build-module/custom-gradient-picker/index.js +19 -22
  806. package/build-module/custom-gradient-picker/index.js.map +1 -1
  807. package/build-module/custom-gradient-picker/index.native.js +7 -8
  808. package/build-module/custom-gradient-picker/index.native.js.map +1 -1
  809. package/build-module/custom-gradient-picker/serializer.js +15 -21
  810. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  811. package/build-module/custom-gradient-picker/utils.js +6 -9
  812. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  813. package/build-module/custom-select-control/index.js +14 -21
  814. package/build-module/custom-select-control/index.js.map +1 -1
  815. package/build-module/dashicon/index.js +7 -8
  816. package/build-module/dashicon/index.js.map +1 -1
  817. package/build-module/dashicon/index.native.js +4 -5
  818. package/build-module/dashicon/index.native.js.map +1 -1
  819. package/build-module/date-time/date/index.js +24 -26
  820. package/build-module/date-time/date/index.js.map +1 -1
  821. package/build-module/date-time/date-time/index.js +14 -90
  822. package/build-module/date-time/date-time/index.js.map +1 -1
  823. package/build-module/date-time/date-time/styles.js +3 -17
  824. package/build-module/date-time/date-time/styles.js.map +1 -1
  825. package/build-module/date-time/time/index.js +11 -14
  826. package/build-module/date-time/time/index.js.map +1 -1
  827. package/build-module/dimension-control/index.js +8 -11
  828. package/build-module/dimension-control/index.js.map +1 -1
  829. package/build-module/disabled/index.js +6 -7
  830. package/build-module/disabled/index.js.map +1 -1
  831. package/build-module/disabled/index.native.js +3 -4
  832. package/build-module/disabled/index.native.js.map +1 -1
  833. package/build-module/divider/styles.js +21 -29
  834. package/build-module/divider/styles.js.map +1 -1
  835. package/build-module/draggable/index.js +14 -19
  836. package/build-module/draggable/index.js.map +1 -1
  837. package/build-module/draggable/index.native.js +17 -19
  838. package/build-module/draggable/index.native.js.map +1 -1
  839. package/build-module/drop-zone/index.js +11 -16
  840. package/build-module/drop-zone/index.js.map +1 -1
  841. package/build-module/drop-zone/provider.js +3 -4
  842. package/build-module/drop-zone/provider.js.map +1 -1
  843. package/build-module/dropdown/index.js +19 -23
  844. package/build-module/dropdown/index.js.map +1 -1
  845. package/build-module/dropdown/styles.js +3 -4
  846. package/build-module/dropdown/styles.js.map +1 -1
  847. package/build-module/dropdown-menu/index.js +96 -25
  848. package/build-module/dropdown-menu/index.js.map +1 -1
  849. package/build-module/dropdown-menu/index.native.js +22 -30
  850. package/build-module/dropdown-menu/index.native.js.map +1 -1
  851. package/build-module/dropdown-menu/types.js +2 -0
  852. package/build-module/dropdown-menu/types.js.map +1 -0
  853. package/build-module/dropdown-menu-v2/index.js +182 -0
  854. package/build-module/dropdown-menu-v2/index.js.map +1 -0
  855. package/build-module/dropdown-menu-v2/styles.js +161 -0
  856. package/build-module/dropdown-menu-v2/styles.js.map +1 -0
  857. package/build-module/dropdown-menu-v2/types.js +2 -0
  858. package/build-module/dropdown-menu-v2/types.js.map +1 -0
  859. package/build-module/duotone-picker/color-list-picker/index.js +16 -18
  860. package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
  861. package/build-module/duotone-picker/custom-duotone-bar.js +4 -5
  862. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  863. package/build-module/duotone-picker/duotone-picker.js +15 -17
  864. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  865. package/build-module/duotone-picker/duotone-swatch.js +3 -4
  866. package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
  867. package/build-module/duotone-picker/utils.js +14 -27
  868. package/build-module/duotone-picker/utils.js.map +1 -1
  869. package/build-module/external-link/index.js +1 -1
  870. package/build-module/external-link/index.js.map +1 -1
  871. package/build-module/external-link/index.native.js +4 -5
  872. package/build-module/external-link/index.native.js.map +1 -1
  873. package/build-module/focal-point-picker/controls.js +11 -10
  874. package/build-module/focal-point-picker/controls.js.map +1 -1
  875. package/build-module/focal-point-picker/focal-point.js +5 -6
  876. package/build-module/focal-point-picker/focal-point.js.map +1 -1
  877. package/build-module/focal-point-picker/focal-point.native.js +5 -6
  878. package/build-module/focal-point-picker/focal-point.native.js.map +1 -1
  879. package/build-module/focal-point-picker/grid.js +4 -5
  880. package/build-module/focal-point-picker/grid.js.map +1 -1
  881. package/build-module/focal-point-picker/index.js +33 -37
  882. package/build-module/focal-point-picker/index.js.map +1 -1
  883. package/build-module/focal-point-picker/index.native.js +10 -12
  884. package/build-module/focal-point-picker/index.native.js.map +1 -1
  885. package/build-module/focal-point-picker/media.js +11 -13
  886. package/build-module/focal-point-picker/media.js.map +1 -1
  887. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +9 -14
  888. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  889. package/build-module/focal-point-picker/styles/focal-point-style.js +3 -6
  890. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  891. package/build-module/focal-point-picker/tooltip/index.native.js +16 -21
  892. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  893. package/build-module/focal-point-picker/utils.js +2 -4
  894. package/build-module/focal-point-picker/utils.js.map +1 -1
  895. package/build-module/focusable-iframe/index.js +4 -5
  896. package/build-module/focusable-iframe/index.js.map +1 -1
  897. package/build-module/font-size-picker/font-size-picker-select.js +3 -5
  898. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  899. package/build-module/font-size-picker/index.js +14 -18
  900. package/build-module/font-size-picker/index.js.map +1 -1
  901. package/build-module/font-size-picker/index.native.js +6 -7
  902. package/build-module/font-size-picker/index.native.js.map +1 -1
  903. package/build-module/font-size-picker/styles.js +20 -7
  904. package/build-module/font-size-picker/styles.js.map +1 -1
  905. package/build-module/footer-message-control/index.native.js +2 -3
  906. package/build-module/footer-message-control/index.native.js.map +1 -1
  907. package/build-module/form-file-upload/index.js +10 -13
  908. package/build-module/form-file-upload/index.js.map +1 -1
  909. package/build-module/form-token-field/index.js +4 -19
  910. package/build-module/form-token-field/index.js.map +1 -1
  911. package/build-module/form-token-field/styles.js +4 -7
  912. package/build-module/form-token-field/styles.js.map +1 -1
  913. package/build-module/form-token-field/suggestions-list.js +14 -15
  914. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  915. package/build-module/form-token-field/token-input.js +2 -2
  916. package/build-module/form-token-field/token-input.js.map +1 -1
  917. package/build-module/form-token-field/token.js +14 -15
  918. package/build-module/form-token-field/token.js.map +1 -1
  919. package/build-module/gradient-picker/index.js +51 -58
  920. package/build-module/gradient-picker/index.js.map +1 -1
  921. package/build-module/guide/icons.js +13 -16
  922. package/build-module/guide/icons.js.map +1 -1
  923. package/build-module/guide/index.js +9 -12
  924. package/build-module/guide/index.js.map +1 -1
  925. package/build-module/guide/page-control.js +5 -6
  926. package/build-module/guide/page-control.js.map +1 -1
  927. package/build-module/h-stack/utils.js +1 -3
  928. package/build-module/h-stack/utils.js.map +1 -1
  929. package/build-module/higher-order/navigate-regions/index.js +16 -22
  930. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  931. package/build-module/higher-order/with-focus-outside/index.js +1 -1
  932. package/build-module/higher-order/with-focus-outside/index.js.map +1 -1
  933. package/build-module/higher-order/with-focus-outside/index.native.js +1 -1
  934. package/build-module/higher-order/with-focus-outside/index.native.js.map +1 -1
  935. package/build-module/higher-order/with-focus-return/index.js +13 -17
  936. package/build-module/higher-order/with-focus-return/index.js.map +1 -1
  937. package/build-module/icon/index.js +5 -7
  938. package/build-module/icon/index.js.map +1 -1
  939. package/build-module/index.native.js +0 -1
  940. package/build-module/index.native.js.map +1 -1
  941. package/build-module/input-control/backdrop.js +4 -5
  942. package/build-module/input-control/backdrop.js.map +1 -1
  943. package/build-module/input-control/index.js +22 -23
  944. package/build-module/input-control/index.js.map +1 -1
  945. package/build-module/input-control/input-base.js +16 -17
  946. package/build-module/input-control/input-base.js.map +1 -1
  947. package/build-module/input-control/input-field.js +26 -29
  948. package/build-module/input-control/input-field.js.map +1 -1
  949. package/build-module/input-control/label.js +6 -7
  950. package/build-module/input-control/label.js.map +1 -1
  951. package/build-module/input-control/reducer/reducer.js +2 -6
  952. package/build-module/input-control/reducer/reducer.js.map +1 -1
  953. package/build-module/input-control/styles/input-control-styles.js +62 -64
  954. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  955. package/build-module/input-control/utils.js +1 -3
  956. package/build-module/input-control/utils.js.map +1 -1
  957. package/build-module/keyboard-shortcuts/index.js +21 -26
  958. package/build-module/keyboard-shortcuts/index.js.map +1 -1
  959. package/build-module/menu-items-choice/index.js +6 -7
  960. package/build-module/menu-items-choice/index.js.map +1 -1
  961. package/build-module/mobile/audio-player/index.native.js +7 -8
  962. package/build-module/mobile/audio-player/index.native.js.map +1 -1
  963. package/build-module/mobile/badge/index.native.js +5 -6
  964. package/build-module/mobile/badge/index.native.js.map +1 -1
  965. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +10 -12
  966. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  967. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -13
  968. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  969. package/build-module/mobile/bottom-sheet/button.native.js +18 -21
  970. package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
  971. package/build-module/mobile/bottom-sheet/cell.native.js +22 -11
  972. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  973. package/build-module/mobile/bottom-sheet/color-cell.native.js +3 -1
  974. package/build-module/mobile/bottom-sheet/color-cell.native.js.map +1 -1
  975. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js +4 -5
  976. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  977. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -5
  978. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  979. package/build-module/mobile/bottom-sheet/index.native.js +19 -30
  980. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  981. package/build-module/mobile/bottom-sheet/link-cell.native.js +6 -7
  982. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  983. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -6
  984. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  985. package/build-module/mobile/bottom-sheet/lock-icon/index.native.js +21 -0
  986. package/build-module/mobile/bottom-sheet/lock-icon/index.native.js.map +1 -0
  987. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js +6 -7
  988. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  989. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js +3 -4
  990. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  991. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +12 -15
  992. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  993. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js +3 -4
  994. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  995. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js +3 -4
  996. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  997. package/build-module/mobile/bottom-sheet/radio-cell.native.js +3 -2
  998. package/build-module/mobile/bottom-sheet/radio-cell.native.js.map +1 -1
  999. package/build-module/mobile/bottom-sheet/range-cell.native.js +6 -3
  1000. package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  1001. package/build-module/mobile/bottom-sheet/range-text-input.native.js +5 -6
  1002. package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  1003. package/build-module/mobile/bottom-sheet/ripple.native.js +10 -11
  1004. package/build-module/mobile/bottom-sheet/ripple.native.js.map +1 -1
  1005. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js +5 -4
  1006. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  1007. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js +11 -12
  1008. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  1009. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js +11 -12
  1010. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  1011. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js +6 -7
  1012. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  1013. package/build-module/mobile/bottom-sheet/switch-cell.native.js +7 -2
  1014. package/build-module/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
  1015. package/build-module/mobile/bottom-sheet-select-control/index.native.js +11 -10
  1016. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  1017. package/build-module/mobile/bottom-sheet-text-control/index.native.js +13 -12
  1018. package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  1019. package/build-module/mobile/color-settings/index.native.js +12 -13
  1020. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  1021. package/build-module/mobile/color-settings/utils.native.js +2 -2
  1022. package/build-module/mobile/color-settings/utils.native.js.map +1 -1
  1023. package/build-module/mobile/cycle-select-control/index.native.js +11 -12
  1024. package/build-module/mobile/cycle-select-control/index.native.js.map +1 -1
  1025. package/build-module/mobile/focal-point-settings-panel/index.native.js +6 -7
  1026. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  1027. package/build-module/mobile/global-styles-context/index.native.js +6 -14
  1028. package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
  1029. package/build-module/mobile/global-styles-context/utils.native.js +69 -112
  1030. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  1031. package/build-module/mobile/gradient/index.native.js +26 -33
  1032. package/build-module/mobile/gradient/index.native.js.map +1 -1
  1033. package/build-module/mobile/html-text-input/index.native.js +3 -3
  1034. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  1035. package/build-module/mobile/image/image-editing-button.native.js +22 -26
  1036. package/build-module/mobile/image/image-editing-button.native.js.map +1 -1
  1037. package/build-module/mobile/image/index.native.js +31 -34
  1038. package/build-module/mobile/image/index.native.js.map +1 -1
  1039. package/build-module/mobile/keyboard-avoiding-view/index.ios.js +22 -29
  1040. package/build-module/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  1041. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +5 -6
  1042. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  1043. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +9 -10
  1044. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  1045. package/build-module/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +9 -14
  1046. package/build-module/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js.map +1 -1
  1047. package/build-module/mobile/layout-animation/index.native.js +1 -2
  1048. package/build-module/mobile/layout-animation/index.native.js.map +1 -1
  1049. package/build-module/mobile/link-picker/index.native.js +12 -16
  1050. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  1051. package/build-module/mobile/link-picker/link-picker-results.native.js +34 -48
  1052. package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
  1053. package/build-module/mobile/link-picker/link-picker-screen.native.js +7 -9
  1054. package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  1055. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +8 -9
  1056. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  1057. package/build-module/mobile/link-settings/index.native.js +57 -58
  1058. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  1059. package/build-module/mobile/media-edit/index.native.js +2 -2
  1060. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  1061. package/build-module/mobile/picker/index.ios.js +3 -6
  1062. package/build-module/mobile/picker/index.ios.js.map +1 -1
  1063. package/build-module/mobile/segmented-control/index.native.js +16 -20
  1064. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  1065. package/build-module/mobile/utils/alignments.native.js +2 -6
  1066. package/build-module/mobile/utils/alignments.native.js.map +1 -1
  1067. package/build-module/mobile/utils/index.native.js +1 -2
  1068. package/build-module/mobile/utils/index.native.js.map +1 -1
  1069. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js +4 -7
  1070. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  1071. package/build-module/modal/index.js +3 -4
  1072. package/build-module/modal/index.js.map +1 -1
  1073. package/build-module/navigable-container/container.js +2 -6
  1074. package/build-module/navigable-container/container.js.map +1 -1
  1075. package/build-module/navigable-container/menu.js +5 -7
  1076. package/build-module/navigable-container/menu.js.map +1 -1
  1077. package/build-module/navigable-container/tabbable.js +4 -6
  1078. package/build-module/navigable-container/tabbable.js.map +1 -1
  1079. package/build-module/navigation/back-button/index.js +8 -11
  1080. package/build-module/navigation/back-button/index.js.map +1 -1
  1081. package/build-module/navigation/group/index.js +5 -6
  1082. package/build-module/navigation/group/index.js.map +1 -1
  1083. package/build-module/navigation/index.js +8 -11
  1084. package/build-module/navigation/index.js.map +1 -1
  1085. package/build-module/navigation/item/base.js +1 -3
  1086. package/build-module/navigation/item/base.js.map +1 -1
  1087. package/build-module/navigation/menu/menu-title-search.js +11 -14
  1088. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  1089. package/build-module/navigation/menu/menu-title.js +8 -11
  1090. package/build-module/navigation/menu/menu-title.js.map +1 -1
  1091. package/build-module/navigation/menu/search-no-results-found.js +3 -4
  1092. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  1093. package/build-module/navigator/navigator-back-button/hook.js +1 -1
  1094. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  1095. package/build-module/navigator/navigator-button/hook.js +1 -1
  1096. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  1097. package/build-module/navigator/navigator-provider/component.js +2 -6
  1098. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  1099. package/build-module/navigator/navigator-screen/component.js +1 -1
  1100. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  1101. package/build-module/notice/index.js +25 -29
  1102. package/build-module/notice/index.js.map +1 -1
  1103. package/build-module/notice/index.native.js +13 -18
  1104. package/build-module/notice/index.native.js.map +1 -1
  1105. package/build-module/notice/list.js +6 -8
  1106. package/build-module/notice/list.js.map +1 -1
  1107. package/build-module/number-control/index.js +24 -26
  1108. package/build-module/number-control/index.js.map +1 -1
  1109. package/build-module/number-control/styles/number-control-styles.js +6 -10
  1110. package/build-module/number-control/styles/number-control-styles.js.map +1 -1
  1111. package/build-module/palette-edit/index.js +83 -94
  1112. package/build-module/palette-edit/index.js.map +1 -1
  1113. package/build-module/panel/actions.native.js +8 -10
  1114. package/build-module/panel/actions.native.js.map +1 -1
  1115. package/build-module/panel/body.js +7 -10
  1116. package/build-module/panel/body.js.map +1 -1
  1117. package/build-module/panel/body.native.js +6 -7
  1118. package/build-module/panel/body.native.js.map +1 -1
  1119. package/build-module/panel/bottom-separator-cover.native.js +3 -4
  1120. package/build-module/panel/bottom-separator-cover.native.js.map +1 -1
  1121. package/build-module/panel/header.js +4 -5
  1122. package/build-module/panel/header.js.map +1 -1
  1123. package/build-module/panel/index.js +5 -6
  1124. package/build-module/panel/index.js.map +1 -1
  1125. package/build-module/panel/row.js +4 -5
  1126. package/build-module/panel/row.js.map +1 -1
  1127. package/build-module/popover/index.js +25 -31
  1128. package/build-module/popover/index.js.map +1 -1
  1129. package/build-module/popover/limit-shift.js +66 -71
  1130. package/build-module/popover/limit-shift.js.map +1 -1
  1131. package/build-module/popover/overlay-middlewares.js +7 -9
  1132. package/build-module/popover/overlay-middlewares.js.map +1 -1
  1133. package/build-module/popover/utils.js +26 -34
  1134. package/build-module/popover/utils.js.map +1 -1
  1135. package/build-module/private-apis.js +14 -1
  1136. package/build-module/private-apis.js.map +1 -1
  1137. package/build-module/query-controls/author-select.js +7 -8
  1138. package/build-module/query-controls/author-select.js.map +1 -1
  1139. package/build-module/query-controls/category-select.js +8 -9
  1140. package/build-module/query-controls/category-select.js.map +1 -1
  1141. package/build-module/query-controls/index.js +16 -17
  1142. package/build-module/query-controls/index.js.map +1 -1
  1143. package/build-module/query-controls/index.native.js +13 -14
  1144. package/build-module/query-controls/index.native.js.map +1 -1
  1145. package/build-module/radio-control/index.js +1 -1
  1146. package/build-module/radio-control/index.js.map +1 -1
  1147. package/build-module/radio-control/index.native.js +6 -7
  1148. package/build-module/radio-control/index.native.js.map +1 -1
  1149. package/build-module/radio-group/index.js +8 -9
  1150. package/build-module/radio-group/index.js.map +1 -1
  1151. package/build-module/radio-group/radio/index.js +5 -6
  1152. package/build-module/radio-group/radio/index.js.map +1 -1
  1153. package/build-module/range-control/index.js +1 -3
  1154. package/build-module/range-control/index.js.map +1 -1
  1155. package/build-module/range-control/index.native.js +23 -22
  1156. package/build-module/range-control/index.native.js.map +1 -1
  1157. package/build-module/range-control/rail.js +7 -9
  1158. package/build-module/range-control/rail.js.map +1 -1
  1159. package/build-module/range-control/styles/range-control-styles.js +37 -52
  1160. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  1161. package/build-module/range-control/tooltip.js +4 -5
  1162. package/build-module/range-control/tooltip.js.map +1 -1
  1163. package/build-module/resizable-box/index.js +8 -9
  1164. package/build-module/resizable-box/index.js.map +1 -1
  1165. package/build-module/resizable-box/resize-tooltip/index.js +12 -13
  1166. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  1167. package/build-module/resizable-box/resize-tooltip/label.js +6 -7
  1168. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  1169. package/build-module/resizable-box/resize-tooltip/utils.js +16 -19
  1170. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  1171. package/build-module/responsive-wrapper/index.js +6 -8
  1172. package/build-module/responsive-wrapper/index.js.map +1 -1
  1173. package/build-module/sandbox/index.js +16 -23
  1174. package/build-module/sandbox/index.js.map +1 -1
  1175. package/build-module/sandbox/index.native.js +20 -26
  1176. package/build-module/sandbox/index.native.js.map +1 -1
  1177. package/build-module/search-control/index.js +14 -17
  1178. package/build-module/search-control/index.js.map +1 -1
  1179. package/build-module/search-control/index.native.js +7 -8
  1180. package/build-module/search-control/index.native.js.map +1 -1
  1181. package/build-module/select-control/index.js +9 -19
  1182. package/build-module/select-control/index.js.map +1 -1
  1183. package/build-module/select-control/index.native.js +11 -12
  1184. package/build-module/select-control/index.native.js.map +1 -1
  1185. package/build-module/select-control/styles/select-control-styles.js +19 -25
  1186. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  1187. package/build-module/slot-fill/bubbles-virtually/fill.js +4 -5
  1188. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  1189. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -7
  1190. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  1191. package/build-module/slot-fill/bubbles-virtually/slot.js +6 -7
  1192. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  1193. package/build-module/slot-fill/fill.js +4 -5
  1194. package/build-module/slot-fill/fill.js.map +1 -1
  1195. package/build-module/slot-fill/index.js +8 -11
  1196. package/build-module/slot-fill/index.js.map +1 -1
  1197. package/build-module/slot-fill/index.native.js +4 -5
  1198. package/build-module/slot-fill/index.native.js.map +1 -1
  1199. package/build-module/slot-fill/provider.js +2 -2
  1200. package/build-module/slot-fill/provider.js.map +1 -1
  1201. package/build-module/slot-fill/slot.js +9 -12
  1202. package/build-module/slot-fill/slot.js.map +1 -1
  1203. package/build-module/snackbar/index.js +26 -31
  1204. package/build-module/snackbar/index.js.map +1 -1
  1205. package/build-module/snackbar/list.js +7 -8
  1206. package/build-module/snackbar/list.js.map +1 -1
  1207. package/build-module/spinner/index.js +4 -5
  1208. package/build-module/spinner/index.js.map +1 -1
  1209. package/build-module/style-provider/index.native.js +3 -4
  1210. package/build-module/style-provider/index.native.js.map +1 -1
  1211. package/build-module/surface/styles.js +6 -7
  1212. package/build-module/surface/styles.js.map +1 -1
  1213. package/build-module/tab-panel/index.js +36 -40
  1214. package/build-module/tab-panel/index.js.map +1 -1
  1215. package/build-module/text/styles/text-mixins.native.js +1 -3
  1216. package/build-module/text/styles/text-mixins.native.js.map +1 -1
  1217. package/build-module/text/utils.js +16 -17
  1218. package/build-module/text/utils.js.map +1 -1
  1219. package/build-module/text-control/index.native.js +12 -13
  1220. package/build-module/text-control/index.native.js.map +1 -1
  1221. package/build-module/textarea-control/index.native.js +7 -8
  1222. package/build-module/textarea-control/index.native.js.map +1 -1
  1223. package/build-module/theme/color-algorithms.js +1 -2
  1224. package/build-module/theme/color-algorithms.js.map +1 -1
  1225. package/build-module/theme/index.js +6 -7
  1226. package/build-module/theme/index.js.map +1 -1
  1227. package/build-module/theme/styles.js +4 -8
  1228. package/build-module/theme/styles.js.map +1 -1
  1229. package/build-module/toggle-control/index.js +9 -11
  1230. package/build-module/toggle-control/index.js.map +1 -1
  1231. package/build-module/toggle-control/index.native.js +9 -10
  1232. package/build-module/toggle-control/index.native.js.map +1 -1
  1233. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js +9 -10
  1234. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  1235. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +9 -10
  1236. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  1237. package/build-module/toggle-group-control/toggle-group-control/styles.js +11 -14
  1238. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  1239. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -8
  1240. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  1241. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +5 -7
  1242. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  1243. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +11 -15
  1244. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  1245. package/build-module/toolbar/toolbar/index.js +20 -8
  1246. package/build-module/toolbar/toolbar/index.js.map +1 -1
  1247. package/build-module/toolbar/toolbar/toolbar-container.js +4 -5
  1248. package/build-module/toolbar/toolbar/toolbar-container.js.map +1 -1
  1249. package/build-module/toolbar/toolbar/toolbar-container.native.js +3 -6
  1250. package/build-module/toolbar/toolbar/toolbar-container.native.js.map +1 -1
  1251. package/build-module/toolbar/toolbar-button/index.js +10 -11
  1252. package/build-module/toolbar/toolbar-button/index.js.map +1 -1
  1253. package/build-module/toolbar/toolbar-button/toolbar-button-container.js +6 -9
  1254. package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  1255. package/build-module/toolbar/toolbar-group/index.js +9 -12
  1256. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  1257. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js +5 -6
  1258. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  1259. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.native.js +6 -7
  1260. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  1261. package/build-module/toolbar/toolbar-group/toolbar-group-container.js +7 -10
  1262. package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  1263. package/build-module/toolbar/toolbar-group/toolbar-group-container.native.js +7 -10
  1264. package/build-module/toolbar/toolbar-group/toolbar-group-container.native.js.map +1 -1
  1265. package/build-module/toolbar/toolbar-item/index.js +5 -6
  1266. package/build-module/toolbar/toolbar-item/index.js.map +1 -1
  1267. package/build-module/toolbar/toolbar-item/index.native.js +4 -6
  1268. package/build-module/toolbar/toolbar-item/index.native.js.map +1 -1
  1269. package/build-module/tools-panel/tools-panel/hook.js +17 -25
  1270. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  1271. package/build-module/tools-panel/tools-panel-header/component.js +14 -24
  1272. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  1273. package/build-module/tools-panel/tools-panel-item/hook.js +5 -7
  1274. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  1275. package/build-module/tooltip/index.js +36 -43
  1276. package/build-module/tooltip/index.js.map +1 -1
  1277. package/build-module/tooltip/index.native.js +14 -19
  1278. package/build-module/tooltip/index.native.js.map +1 -1
  1279. package/build-module/tree-grid/cell.js +5 -6
  1280. package/build-module/tree-grid/cell.js.map +1 -1
  1281. package/build-module/tree-grid/index.js +12 -15
  1282. package/build-module/tree-grid/index.js.map +1 -1
  1283. package/build-module/tree-grid/item.js +4 -5
  1284. package/build-module/tree-grid/item.js.map +1 -1
  1285. package/build-module/tree-grid/roving-tab-index-item.js +6 -7
  1286. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  1287. package/build-module/tree-grid/roving-tab-index.js +3 -4
  1288. package/build-module/tree-grid/roving-tab-index.js.map +1 -1
  1289. package/build-module/tree-grid/row.js +8 -9
  1290. package/build-module/tree-grid/row.js.map +1 -1
  1291. package/build-module/tree-select/index.js +9 -11
  1292. package/build-module/tree-select/index.js.map +1 -1
  1293. package/build-module/truncate/utils.js +1 -3
  1294. package/build-module/truncate/utils.js.map +1 -1
  1295. package/build-module/ui/context/context-connect.js +1 -1
  1296. package/build-module/ui/context/context-connect.js.map +1 -1
  1297. package/build-module/ui/context/context-system-provider.js +7 -9
  1298. package/build-module/ui/context/context-system-provider.js.map +1 -1
  1299. package/build-module/ui/context/index.js +1 -1
  1300. package/build-module/ui/context/index.js.map +1 -1
  1301. package/build-module/ui/context/use-context-system.js +1 -1
  1302. package/build-module/ui/context/use-context-system.js.map +1 -1
  1303. package/build-module/ui/control-group/hook.js +1 -1
  1304. package/build-module/ui/control-group/hook.js.map +1 -1
  1305. package/build-module/ui/form-group/form-group-content.js +12 -13
  1306. package/build-module/ui/form-group/form-group-content.js.map +1 -1
  1307. package/build-module/ui/form-group/form-group-help.js +3 -4
  1308. package/build-module/ui/form-group/form-group-help.js.map +1 -1
  1309. package/build-module/ui/form-group/form-group-label.js +7 -8
  1310. package/build-module/ui/form-group/form-group-label.js.map +1 -1
  1311. package/build-module/ui/tooltip/component.js +1 -1
  1312. package/build-module/ui/tooltip/component.js.map +1 -1
  1313. package/build-module/ui/utils/colors.js +1 -3
  1314. package/build-module/ui/utils/colors.js.map +1 -1
  1315. package/build-module/ui/utils/font-size.js +2 -6
  1316. package/build-module/ui/utils/font-size.js.map +1 -1
  1317. package/build-module/ui/utils/get-high-dpi.js +1 -5
  1318. package/build-module/ui/utils/get-high-dpi.js.map +1 -1
  1319. package/build-module/ui/utils/space.js +1 -3
  1320. package/build-module/ui/utils/space.js.map +1 -1
  1321. package/build-module/ui/utils/use-responsive-value.js +2 -4
  1322. package/build-module/ui/utils/use-responsive-value.js.map +1 -1
  1323. package/build-module/unit-control/index.js +8 -8
  1324. package/build-module/unit-control/index.js.map +1 -1
  1325. package/build-module/unit-control/index.native.js +22 -23
  1326. package/build-module/unit-control/index.native.js.map +1 -1
  1327. package/build-module/unit-control/styles/unit-control-styles.js +6 -8
  1328. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  1329. package/build-module/unit-control/unit-select-control.js +11 -13
  1330. package/build-module/unit-control/unit-select-control.js.map +1 -1
  1331. package/build-module/unit-control/utils.js +12 -19
  1332. package/build-module/unit-control/utils.js.map +1 -1
  1333. package/build-module/utils/browsers.js +2 -10
  1334. package/build-module/utils/browsers.js.map +1 -1
  1335. package/build-module/utils/colors.js +1 -3
  1336. package/build-module/utils/colors.js.map +1 -1
  1337. package/build-module/utils/config-values.js +1 -0
  1338. package/build-module/utils/config-values.js.map +1 -1
  1339. package/build-module/utils/hooks/use-controlled-state.js +1 -2
  1340. package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
  1341. package/build-module/utils/hooks/use-controlled-value.js +5 -6
  1342. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  1343. package/build-module/utils/hooks/use-cx.js +1 -5
  1344. package/build-module/utils/hooks/use-cx.js.map +1 -1
  1345. package/build-module/utils/math.js +5 -17
  1346. package/build-module/utils/math.js.map +1 -1
  1347. package/build-module/utils/reduce-motion.js +1 -2
  1348. package/build-module/utils/reduce-motion.js.map +1 -1
  1349. package/build-module/utils/rtl.js +3 -9
  1350. package/build-module/utils/rtl.js.map +1 -1
  1351. package/build-module/utils/values.js +2 -6
  1352. package/build-module/utils/values.js.map +1 -1
  1353. package/build-module/z-stack/styles.js +14 -23
  1354. package/build-module/z-stack/styles.js.map +1 -1
  1355. package/build-style/style-rtl.css +57 -27
  1356. package/build-style/style.css +59 -29
  1357. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  1358. package/build-types/button/deprecated.d.ts +6 -0
  1359. package/build-types/button/deprecated.d.ts.map +1 -1
  1360. package/build-types/button/index.d.ts.map +1 -1
  1361. package/build-types/button/stories/e2e/index.d.ts +14 -0
  1362. package/build-types/button/stories/e2e/index.d.ts.map +1 -0
  1363. package/build-types/button/types.d.ts +9 -0
  1364. package/build-types/button/types.d.ts.map +1 -1
  1365. package/build-types/color-palette/index.d.ts.map +1 -1
  1366. package/build-types/color-picker/styles.d.ts.map +1 -1
  1367. package/build-types/date-time/date-time/index.d.ts +3 -4
  1368. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  1369. package/build-types/date-time/date-time/styles.d.ts +0 -4
  1370. package/build-types/date-time/date-time/styles.d.ts.map +1 -1
  1371. package/build-types/date-time/stories/date-time.d.ts.map +1 -1
  1372. package/build-types/date-time/types.d.ts +0 -14
  1373. package/build-types/date-time/types.d.ts.map +1 -1
  1374. package/build-types/dropdown-menu/index.d.ts +83 -1
  1375. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  1376. package/build-types/dropdown-menu/stories/index.d.ts +13 -0
  1377. package/build-types/dropdown-menu/stories/index.d.ts.map +1 -0
  1378. package/build-types/dropdown-menu/test/index.d.ts +2 -0
  1379. package/build-types/dropdown-menu/test/index.d.ts.map +1 -0
  1380. package/build-types/dropdown-menu/types.d.ts +134 -0
  1381. package/build-types/dropdown-menu/types.d.ts.map +1 -0
  1382. package/build-types/dropdown-menu-v2/index.d.ts +17 -0
  1383. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -0
  1384. package/build-types/dropdown-menu-v2/stories/index.d.ts +11 -0
  1385. package/build-types/dropdown-menu-v2/stories/index.d.ts.map +1 -0
  1386. package/build-types/dropdown-menu-v2/styles.d.ts +42 -0
  1387. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -0
  1388. package/build-types/dropdown-menu-v2/test/index.d.ts +2 -0
  1389. package/build-types/dropdown-menu-v2/test/index.d.ts.map +1 -0
  1390. package/build-types/dropdown-menu-v2/types.d.ts +252 -0
  1391. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -0
  1392. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  1393. package/build-types/font-size-picker/index.d.ts.map +1 -1
  1394. package/build-types/font-size-picker/styles.d.ts +11 -0
  1395. package/build-types/font-size-picker/styles.d.ts.map +1 -1
  1396. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  1397. package/build-types/modal/index.d.ts.map +1 -1
  1398. package/build-types/navigator/navigator-back-button/component.d.ts +1 -0
  1399. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
  1400. package/build-types/navigator/navigator-back-button/hook.d.ts +1 -0
  1401. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  1402. package/build-types/navigator/navigator-button/component.d.ts +1 -0
  1403. package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
  1404. package/build-types/navigator/navigator-button/hook.d.ts +1 -0
  1405. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  1406. package/build-types/navigator/navigator-to-parent-button/component.d.ts +1 -0
  1407. package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
  1408. package/build-types/popover/index.d.ts +6 -0
  1409. package/build-types/popover/index.d.ts.map +1 -1
  1410. package/build-types/private-apis.d.ts.map +1 -1
  1411. package/build-types/tab-panel/index.d.ts +1 -38
  1412. package/build-types/tab-panel/index.d.ts.map +1 -1
  1413. package/build-types/tab-panel/stories/index.d.ts +4 -3
  1414. package/build-types/tab-panel/stories/index.d.ts.map +1 -1
  1415. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  1416. package/build-types/toolbar/stories/index.d.ts.map +1 -1
  1417. package/build-types/toolbar/toolbar/index.d.ts.map +1 -1
  1418. package/build-types/toolbar/toolbar-button/index.d.ts +6 -0
  1419. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
  1420. package/build-types/ui/context/get-styled-class-name-from-key.d.ts +1 -10
  1421. package/build-types/ui/context/get-styled-class-name-from-key.d.ts.map +1 -1
  1422. package/build-types/ui/context/index.d.ts +1 -1
  1423. package/build-types/ui/context/index.d.ts.map +1 -1
  1424. package/build-types/utils/config-values.d.ts +1 -0
  1425. package/package.json +21 -20
  1426. package/src/border-control/border-control-dropdown/component.tsx +23 -12
  1427. package/src/border-control/test/index.js +6 -6
  1428. package/src/button/index.tsx +2 -0
  1429. package/src/button/stories/e2e/index.tsx +58 -0
  1430. package/src/button/style.scss +17 -15
  1431. package/src/button/types.ts +9 -0
  1432. package/src/color-palette/index.tsx +47 -46
  1433. package/src/color-palette/style.scss +57 -19
  1434. package/src/color-palette/test/__snapshots__/index.tsx.snap +66 -50
  1435. package/src/color-palette/test/index.tsx +76 -13
  1436. package/src/color-picker/styles.ts +7 -2
  1437. package/src/date-time/README.md +0 -16
  1438. package/src/date-time/date-time/index.tsx +17 -155
  1439. package/src/date-time/date-time/styles.ts +0 -4
  1440. package/src/date-time/stories/date-time.tsx +0 -4
  1441. package/src/date-time/types.ts +0 -16
  1442. package/src/dropdown-menu/README.md +12 -22
  1443. package/src/dropdown-menu/{index.js → index.tsx} +111 -25
  1444. package/src/dropdown-menu/stories/{index.js → index.tsx} +14 -22
  1445. package/src/dropdown-menu/test/{index.js → index.tsx} +6 -5
  1446. package/src/dropdown-menu/types.ts +143 -0
  1447. package/src/dropdown-menu-v2/README.md +392 -0
  1448. package/src/dropdown-menu-v2/index.tsx +293 -0
  1449. package/src/dropdown-menu-v2/stories/index.tsx +217 -0
  1450. package/src/dropdown-menu-v2/styles.ts +276 -0
  1451. package/src/dropdown-menu-v2/test/index.tsx +816 -0
  1452. package/src/dropdown-menu-v2/types.ts +265 -0
  1453. package/src/focal-point-picker/controls.tsx +2 -0
  1454. package/src/focal-point-picker/test/index.js +9 -3
  1455. package/src/font-size-picker/index.tsx +5 -5
  1456. package/src/font-size-picker/styles.ts +9 -0
  1457. package/src/index.native.js +0 -1
  1458. package/src/input-control/styles/input-control-styles.tsx +7 -0
  1459. package/src/mobile/bottom-sheet/cell.native.js +34 -5
  1460. package/src/mobile/bottom-sheet/color-cell.native.js +3 -2
  1461. package/src/mobile/bottom-sheet/lock-icon/index.native.js +19 -0
  1462. package/src/mobile/bottom-sheet/lock-icon/styles.native.scss +8 -0
  1463. package/src/mobile/bottom-sheet/radio-cell.native.js +2 -1
  1464. package/src/mobile/bottom-sheet/range-cell.native.js +5 -1
  1465. package/src/mobile/bottom-sheet/stepper-cell/index.native.js +2 -0
  1466. package/src/mobile/bottom-sheet/styles.native.scss +15 -1
  1467. package/src/mobile/bottom-sheet/switch-cell.native.js +10 -2
  1468. package/src/mobile/bottom-sheet-select-control/index.native.js +3 -1
  1469. package/src/mobile/bottom-sheet-text-control/index.native.js +3 -1
  1470. package/src/modal/index.tsx +1 -6
  1471. package/src/popover/index.tsx +1 -1
  1472. package/src/private-apis.ts +24 -0
  1473. package/src/range-control/index.native.js +3 -0
  1474. package/src/search-control/style.scss +2 -0
  1475. package/src/slot-fill/README.md +26 -1
  1476. package/src/tab-panel/index.tsx +18 -12
  1477. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +6 -2
  1478. package/src/toggle-group-control/toggle-group-control/styles.ts +6 -1
  1479. package/src/toolbar/stories/index.tsx +25 -28
  1480. package/src/toolbar/toolbar/index.tsx +24 -7
  1481. package/src/tooltip/style.scss +2 -2
  1482. package/src/ui/context/index.ts +1 -0
  1483. package/src/utils/config-values.js +1 -0
  1484. package/src/view/README.md +2 -2
  1485. package/tsconfig.tsbuildinfo +1 -1
  1486. package/build/mobile/readable-content-view/index.native.js +0 -97
  1487. package/build/mobile/readable-content-view/index.native.js.map +0 -1
  1488. package/build-module/mobile/readable-content-view/index.native.js +0 -81
  1489. package/build-module/mobile/readable-content-view/index.native.js.map +0 -1
  1490. package/src/mobile/readable-content-view/index.native.js +0 -85
  1491. package/src/mobile/readable-content-view/style.native.scss +0 -30
@@ -27,7 +27,7 @@ export function useBorderBoxControl(props) {
27
27
  const linkedValue = splitBorders ? getCommonBorder(value) : value;
28
28
  const splitValue = splitBorders ? value : getSplitBorders(value); // If no numeric width value is set, the unit select will be disabled.
29
29
 
30
- const hasWidthValue = !isNaN(parseFloat(`${linkedValue === null || linkedValue === void 0 ? void 0 : linkedValue.width}`));
30
+ const hasWidthValue = !isNaN(parseFloat(`${linkedValue?.width}`));
31
31
  const [isLinked, setIsLinked] = useState(!mixedBorders);
32
32
 
33
33
  const toggleLinked = () => setIsLinked(!isLinked);
@@ -48,16 +48,16 @@ export function useBorderBoxControl(props) {
48
48
 
49
49
  const changes = getBorderDiff(linkedValue, newBorder);
50
50
  const updatedBorders = {
51
- top: { ...(value === null || value === void 0 ? void 0 : value.top),
51
+ top: { ...value?.top,
52
52
  ...changes
53
53
  },
54
- right: { ...(value === null || value === void 0 ? void 0 : value.right),
54
+ right: { ...value?.right,
55
55
  ...changes
56
56
  },
57
- bottom: { ...(value === null || value === void 0 ? void 0 : value.bottom),
57
+ bottom: { ...value?.bottom,
58
58
  ...changes
59
59
  },
60
- left: { ...(value === null || value === void 0 ? void 0 : value.left),
60
+ left: { ...value?.left,
61
61
  ...changes
62
62
  }
63
63
  };
@@ -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","colors","onChange","enableAlpha","enableStyle","size","value","__experimentalIsRenderedInSidebar","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 {\n\t\tclassName,\n\t\tcolors = [],\n\t\tonChange,\n\t\tenableAlpha = false,\n\t\tenableStyle = true,\n\t\tsize = 'default',\n\t\tvalue,\n\t\t__experimentalIsRenderedInSidebar = false,\n\t\t...otherProps\n\t} = useContextSystem( props, 'BorderBoxControl' );\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\tcolors,\n\t\tdisableUnits: mixedBorders && ! hasWidthValue,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\thasMixedBorders: mixedBorders,\n\t\tisLinked,\n\t\tlinkedControlClassName,\n\t\tonLinkedChange,\n\t\tonSplitChange,\n\t\ttoggleLinked,\n\t\tlinkedValue,\n\t\tsize,\n\t\tsplitValue,\n\t\twrapperClassName,\n\t\t__experimentalIsRenderedInSidebar,\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","colors","onChange","enableAlpha","enableStyle","size","value","__experimentalIsRenderedInSidebar","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 {\n\t\tclassName,\n\t\tcolors = [],\n\t\tonChange,\n\t\tenableAlpha = false,\n\t\tenableStyle = true,\n\t\tsize = 'default',\n\t\tvalue,\n\t\t__experimentalIsRenderedInSidebar = false,\n\t\t...otherProps\n\t} = useContextSystem( props, 'BorderBoxControl' );\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\tcolors,\n\t\tdisableUnits: mixedBorders && ! hasWidthValue,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\thasMixedBorders: mixedBorders,\n\t\tisLinked,\n\t\tlinkedControlClassName,\n\t\tonLinkedChange,\n\t\tonSplitChange,\n\t\ttoggleLinked,\n\t\tlinkedValue,\n\t\tsize,\n\t\tsplitValue,\n\t\twrapperClassName,\n\t\t__experimentalIsRenderedInSidebar,\n\t};\n}\n"]}
@@ -65,27 +65,27 @@ const BorderBoxControlSplitControls = (props, forwardedRef) => {
65
65
  label: __('Top border'),
66
66
  onChange: newBorder => onChange(newBorder, 'top'),
67
67
  __unstablePopoverProps: popoverProps,
68
- value: value === null || value === void 0 ? void 0 : value.top
68
+ value: value?.top
69
69
  }, sharedBorderControlProps)), createElement(BorderControl, _extends({
70
70
  hideLabelFromVision: true,
71
71
  label: __('Left border'),
72
72
  onChange: newBorder => onChange(newBorder, 'left'),
73
73
  __unstablePopoverProps: popoverProps,
74
- value: value === null || value === void 0 ? void 0 : value.left
74
+ value: value?.left
75
75
  }, sharedBorderControlProps)), createElement(BorderControl, _extends({
76
76
  className: rightAlignedClassName,
77
77
  hideLabelFromVision: true,
78
78
  label: __('Right border'),
79
79
  onChange: newBorder => onChange(newBorder, 'right'),
80
80
  __unstablePopoverProps: popoverProps,
81
- value: value === null || value === void 0 ? void 0 : value.right
81
+ value: value?.right
82
82
  }, sharedBorderControlProps)), createElement(BorderControl, _extends({
83
83
  className: centeredClassName,
84
84
  hideLabelFromVision: true,
85
85
  label: __('Bottom border'),
86
86
  onChange: newBorder => onChange(newBorder, 'bottom'),
87
87
  __unstablePopoverProps: popoverProps,
88
- value: value === null || value === void 0 ? void 0 : value.bottom
88
+ value: value?.bottom
89
89
  }, sharedBorderControlProps)));
90
90
  };
91
91
 
@@ -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","size","value","__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__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__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"]}
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","__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__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__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"]}
@@ -41,10 +41,10 @@ const borderBoxStyleWithFallback = border => {
41
41
  };
42
42
 
43
43
  export const borderBoxControlVisualizer = (borders, size) => {
44
- return /*#__PURE__*/css("position:absolute;top:", size === '__unstable-large' ? '20px' : '15px', ";right:", size === '__unstable-large' ? '39px' : '29px', ";bottom:", size === '__unstable-large' ? '20px' : '15px', ";left:", size === '__unstable-large' ? '39px' : '29px', ";border-top:", borderBoxStyleWithFallback(borders === null || borders === void 0 ? void 0 : borders.top), ";border-bottom:", borderBoxStyleWithFallback(borders === null || borders === void 0 ? void 0 : borders.bottom), ";", rtl({
45
- borderLeft: borderBoxStyleWithFallback(borders === null || borders === void 0 ? void 0 : borders.left)
44
+ return /*#__PURE__*/css("position:absolute;top:", size === '__unstable-large' ? '20px' : '15px', ";right:", size === '__unstable-large' ? '39px' : '29px', ";bottom:", size === '__unstable-large' ? '20px' : '15px', ";left:", size === '__unstable-large' ? '39px' : '29px', ";border-top:", borderBoxStyleWithFallback(borders?.top), ";border-bottom:", borderBoxStyleWithFallback(borders?.bottom), ";", rtl({
45
+ borderLeft: borderBoxStyleWithFallback(borders?.left)
46
46
  })(), " ", rtl({
47
- borderRight: borderBoxStyleWithFallback(borders === null || borders === void 0 ? void 0 : borders.right)
47
+ borderRight: borderBoxStyleWithFallback(borders?.right)
48
48
  })(), ";" + (process.env.NODE_ENV === "production" ? "" : ";label:borderBoxControlVisualizer;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvYm9yZGVyLWJveC1jb250cm9sL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzRFciLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9ib3JkZXItYm94LWNvbnRyb2wvc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBDT0xPUlMsIENPTkZJRywgcnRsIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgdHlwZSB7IEJvcmRlciB9IGZyb20gJy4uL2JvcmRlci1jb250cm9sL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm9yZGVycyB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgYm9yZGVyQm94Q29udHJvbCA9IGNzc2BgO1xuXG5leHBvcnQgY29uc3QgbGlua2VkQm9yZGVyQ29udHJvbCA9ICgpID0+IGNzc2Bcblx0ZmxleDogMTtcblx0JHsgcnRsKCB7IG1hcmdpblJpZ2h0OiAnMjRweCcgfSApKCkgfVxuYDtcblxuZXhwb3J0IGNvbnN0IHdyYXBwZXIgPSBjc3NgXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBib3JkZXJCb3hDb250cm9sTGlua2VkQnV0dG9uID0gKFxuXHRzaXplPzogJ2RlZmF1bHQnIHwgJ19fdW5zdGFibGUtbGFyZ2UnXG4pID0+IHtcblx0cmV0dXJuIGNzc2Bcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAkeyBzaXplID09PSAnX191bnN0YWJsZS1sYXJnZScgPyAnOHB4JyA6ICczcHgnIH07XG5cdFx0JHsgcnRsKCB7IHJpZ2h0OiAwIH0gKSgpIH1cblx0XHRsaW5lLWhlaWdodDogMDtcblx0YDtcbn07XG5cbmNvbnN0IGJvcmRlckJveFN0eWxlV2l0aEZhbGxiYWNrID0gKCBib3JkZXI/OiBCb3JkZXIgKSA9PiB7XG5cdGNvbnN0IHtcblx0XHRjb2xvciA9IENPTE9SUy5ncmF5WyAyMDAgXSxcblx0XHRzdHlsZSA9ICdzb2xpZCcsXG5cdFx0d2lkdGggPSBDT05GSUcuYm9yZGVyV2lkdGgsXG5cdH0gPSBib3JkZXIgfHwge307XG5cblx0Y29uc3QgY2xhbXBlZFdpZHRoID1cblx0XHR3aWR0aCAhPT0gQ09ORklHLmJvcmRlcldpZHRoID8gYGNsYW1wKDFweCwgJHsgd2lkdGggfSwgMTBweClgIDogd2lkdGg7XG5cdGNvbnN0IGhhc1Zpc2libGVCb3JkZXIgPSAoICEhIHdpZHRoICYmIHdpZHRoICE9PSAnMCcgKSB8fCAhISBjb2xvcjtcblx0Y29uc3QgYm9yZGVyU3R5bGUgPSBoYXNWaXNpYmxlQm9yZGVyID8gc3R5bGUgfHwgJ3NvbGlkJyA6IHN0eWxlO1xuXG5cdHJldHVybiBgJHsgY29sb3IgfSAkeyBib3JkZXJTdHlsZSB9ICR7IGNsYW1wZWRXaWR0aCB9YDtcbn07XG5cbmV4cG9ydCBjb25zdCBib3JkZXJCb3hDb250cm9sVmlzdWFsaXplciA9IChcblx0Ym9yZGVycz86IEJvcmRlcnMsXG5cdHNpemU/OiAnZGVmYXVsdCcgfCAnX191bnN0YWJsZS1sYXJnZSdcbikgPT4ge1xuXHRyZXR1cm4gY3NzYFxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6ICR7IHNpemUgPT09ICdfX3Vuc3RhYmxlLWxhcmdlJyA/ICcyMHB4JyA6ICcxNXB4JyB9O1xuXHRcdHJpZ2h0OiAkeyBzaXplID09PSAnX191bnN0YWJsZS1sYXJnZScgPyAnMzlweCcgOiAnMjlweCcgfTtcblx0XHRib3R0b206ICR7IHNpemUgPT09ICdfX3Vuc3RhYmxlLWxhcmdlJyA/ICcyMHB4JyA6ICcxNXB4JyB9O1xuXHRcdGxlZnQ6ICR7IHNpemUgPT09ICdfX3Vuc3RhYmxlLWxhcmdlJyA/ICczOXB4JyA6ICcyOXB4JyB9O1xuXHRcdGJvcmRlci10b3A6ICR7IGJvcmRlckJveFN0eWxlV2l0aEZhbGxiYWNrKCBib3JkZXJzPy50b3AgKSB9O1xuXHRcdGJvcmRlci1ib3R0b206ICR7IGJvcmRlckJveFN0eWxlV2l0aEZhbGxiYWNrKCBib3JkZXJzPy5ib3R0b20gKSB9O1xuXHRcdCR7IHJ0bCgge1xuXHRcdFx0Ym9yZGVyTGVmdDogYm9yZGVyQm94U3R5bGVXaXRoRmFsbGJhY2soIGJvcmRlcnM/LmxlZnQgKSxcblx0XHR9ICkoKSB9XG5cdFx0JHsgcnRsKCB7XG5cdFx0XHRib3JkZXJSaWdodDogYm9yZGVyQm94U3R5bGVXaXRoRmFsbGJhY2soIGJvcmRlcnM/LnJpZ2h0ICksXG5cdFx0fSApKCkgfVxuXHRgO1xufTtcblxuZXhwb3J0IGNvbnN0IGJvcmRlckJveENvbnRyb2xTcGxpdENvbnRyb2xzID0gKFxuXHRzaXplPzogJ2RlZmF1bHQnIHwgJ19fdW5zdGFibGUtbGFyZ2UnXG4pID0+IGNzc2Bcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRmbGV4OiAxO1xuXHR3aWR0aDogJHsgc2l6ZSA9PT0gJ19fdW5zdGFibGUtbGFyZ2UnID8gdW5kZWZpbmVkIDogJzgwJScgfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBjZW50ZXJlZEJvcmRlckNvbnRyb2wgPSBjc3NgXG5cdGdyaWQtY29sdW1uOiBzcGFuIDI7XG5cdG1hcmdpbjogMCBhdXRvO1xuYDtcblxuZXhwb3J0IGNvbnN0IHJpZ2h0Qm9yZGVyQ29udHJvbCA9ICgpID0+IGNzc2Bcblx0JHsgcnRsKCB7IG1hcmdpbkxlZnQ6ICdhdXRvJyB9ICkoKSB9XG5gO1xuIl19 */");
49
49
  };
50
50
  export const borderBoxControlSplitControls = size => /*#__PURE__*/css("position:relative;flex:1;width:", size === '__unstable-large' ? undefined : '80%', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:borderBoxControlSplitControls;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvYm9yZGVyLWJveC1jb250cm9sL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5RVEiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9ib3JkZXItYm94LWNvbnRyb2wvc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBDT0xPUlMsIENPTkZJRywgcnRsIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgdHlwZSB7IEJvcmRlciB9IGZyb20gJy4uL2JvcmRlci1jb250cm9sL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm9yZGVycyB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgYm9yZGVyQm94Q29udHJvbCA9IGNzc2BgO1xuXG5leHBvcnQgY29uc3QgbGlua2VkQm9yZGVyQ29udHJvbCA9ICgpID0+IGNzc2Bcblx0ZmxleDogMTtcblx0JHsgcnRsKCB7IG1hcmdpblJpZ2h0OiAnMjRweCcgfSApKCkgfVxuYDtcblxuZXhwb3J0IGNvbnN0IHdyYXBwZXIgPSBjc3NgXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBib3JkZXJCb3hDb250cm9sTGlua2VkQnV0dG9uID0gKFxuXHRzaXplPzogJ2RlZmF1bHQnIHwgJ19fdW5zdGFibGUtbGFyZ2UnXG4pID0+IHtcblx0cmV0dXJuIGNzc2Bcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAkeyBzaXplID09PSAnX191bnN0YWJsZS1sYXJnZScgPyAnOHB4JyA6ICczcHgnIH07XG5cdFx0JHsgcnRsKCB7IHJpZ2h0OiAwIH0gKSgpIH1cblx0XHRsaW5lLWhlaWdodDogMDtcblx0YDtcbn07XG5cbmNvbnN0IGJvcmRlckJveFN0eWxlV2l0aEZhbGxiYWNrID0gKCBib3JkZXI/OiBCb3JkZXIgKSA9PiB7XG5cdGNvbnN0IHtcblx0XHRjb2xvciA9IENPTE9SUy5ncmF5WyAyMDAgXSxcblx0XHRzdHlsZSA9ICdzb2xpZCcsXG5cdFx0d2lkdGggPSBDT05GSUcuYm9yZGVyV2lkdGgsXG5cdH0gPSBib3JkZXIgfHwge307XG5cblx0Y29uc3QgY2xhbXBlZFdpZHRoID1cblx0XHR3aWR0aCAhPT0gQ09ORklHLmJvcmRlcldpZHRoID8gYGNsYW1wKDFweCwgJHsgd2lkdGggfSwgMTBweClgIDogd2lkdGg7XG5cdGNvbnN0IGhhc1Zpc2libGVCb3JkZXIgPSAoICEhIHdpZHRoICYmIHdpZHRoICE9PSAnMCcgKSB8fCAhISBjb2xvcjtcblx0Y29uc3QgYm9yZGVyU3R5bGUgPSBoYXNWaXNpYmxlQm9yZGVyID8gc3R5bGUgfHwgJ3NvbGlkJyA6IHN0eWxlO1xuXG5cdHJldHVybiBgJHsgY29sb3IgfSAkeyBib3JkZXJTdHlsZSB9ICR7IGNsYW1wZWRXaWR0aCB9YDtcbn07XG5cbmV4cG9ydCBjb25zdCBib3JkZXJCb3hDb250cm9sVmlzdWFsaXplciA9IChcblx0Ym9yZGVycz86IEJvcmRlcnMsXG5cdHNpemU/OiAnZGVmYXVsdCcgfCAnX191bnN0YWJsZS1sYXJnZSdcbikgPT4ge1xuXHRyZXR1cm4gY3NzYFxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6ICR7IHNpemUgPT09ICdfX3Vuc3RhYmxlLWxhcmdlJyA/ICcyMHB4JyA6ICcxNXB4JyB9O1xuXHRcdHJpZ2h0OiAkeyBzaXplID09PSAnX191bnN0YWJsZS1sYXJnZScgPyAnMzlweCcgOiAnMjlweCcgfTtcblx0XHRib3R0b206ICR7IHNpemUgPT09ICdfX3Vuc3RhYmxlLWxhcmdlJyA/ICcyMHB4JyA6ICcxNXB4JyB9O1xuXHRcdGxlZnQ6ICR7IHNpemUgPT09ICdfX3Vuc3RhYmxlLWxhcmdlJyA/ICczOXB4JyA6ICcyOXB4JyB9O1xuXHRcdGJvcmRlci10b3A6ICR7IGJvcmRlckJveFN0eWxlV2l0aEZhbGxiYWNrKCBib3JkZXJzPy50b3AgKSB9O1xuXHRcdGJvcmRlci1ib3R0b206ICR7IGJvcmRlckJveFN0eWxlV2l0aEZhbGxiYWNrKCBib3JkZXJzPy5ib3R0b20gKSB9O1xuXHRcdCR7IHJ0bCgge1xuXHRcdFx0Ym9yZGVyTGVmdDogYm9yZGVyQm94U3R5bGVXaXRoRmFsbGJhY2soIGJvcmRlcnM/LmxlZnQgKSxcblx0XHR9ICkoKSB9XG5cdFx0JHsgcnRsKCB7XG5cdFx0XHRib3JkZXJSaWdodDogYm9yZGVyQm94U3R5bGVXaXRoRmFsbGJhY2soIGJvcmRlcnM/LnJpZ2h0ICksXG5cdFx0fSApKCkgfVxuXHRgO1xufTtcblxuZXhwb3J0IGNvbnN0IGJvcmRlckJveENvbnRyb2xTcGxpdENvbnRyb2xzID0gKFxuXHRzaXplPzogJ2RlZmF1bHQnIHwgJ19fdW5zdGFibGUtbGFyZ2UnXG4pID0+IGNzc2Bcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRmbGV4OiAxO1xuXHR3aWR0aDogJHsgc2l6ZSA9PT0gJ19fdW5zdGFibGUtbGFyZ2UnID8gdW5kZWZpbmVkIDogJzgwJScgfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBjZW50ZXJlZEJvcmRlckNvbnRyb2wgPSBjc3NgXG5cdGdyaWQtY29sdW1uOiBzcGFuIDI7XG5cdG1hcmdpbjogMCBhdXRvO1xuYDtcblxuZXhwb3J0IGNvbnN0IHJpZ2h0Qm9yZGVyQ29udHJvbCA9ICgpID0+IGNzc2Bcblx0JHsgcnRsKCB7IG1hcmdpbkxlZnQ6ICdhdXRvJyB9ICkoKSB9XG5gO1xuIl19 */");
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-box-control/styles.ts"],"names":["css","COLORS","CONFIG","rtl","borderBoxControl","linkedBorderControl","marginRight","wrapper","borderBoxControlLinkedButton","size","right","borderBoxStyleWithFallback","border","color","gray","style","width","borderWidth","clampedWidth","hasVisibleBorder","borderStyle","borderBoxControlVisualizer","borders","top","bottom","borderLeft","left","borderRight","borderBoxControlSplitControls","undefined","centeredBorderControl","rightBorderControl","marginLeft"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,gBAApB;AAEA;AACA;AACA;;AACA,SAASC,MAAT,EAAiBC,MAAjB,EAAyBC,GAAzB,QAAoC,UAApC;AAKA,OAAO,MAAMC,gBAAgB,gBAAGJ,GAAH,qgHAAtB;AAEP,OAAO,MAAMK,mBAAmB,GAAG,mBAAML,GAAN,YAE/BG,GAAG,CAAE;AAAEG,EAAAA,WAAW,EAAE;AAAf,CAAF,CAAH,EAF+B,ihHAA5B;AAKP,OAAO,MAAMC,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAb;AAIP,OAAO,MAAMC,4BAA4B,GACxCC,IAD2C,IAEvC;AACJ,sBAAOT,GAAP,2BAESS,IAAI,KAAK,kBAAT,GAA8B,KAA9B,GAAsC,KAF/C,OAGIN,GAAG,CAAE;AAAEO,IAAAA,KAAK,EAAE;AAAT,GAAF,CAAH,EAHJ;AAMA,CATM;;AAWP,MAAMC,0BAA0B,GAAKC,MAAF,IAAuB;AACzD,QAAM;AACLC,IAAAA,KAAK,GAAGZ,MAAM,CAACa,IAAP,CAAa,GAAb,CADH;AAELC,IAAAA,KAAK,GAAG,OAFH;AAGLC,IAAAA,KAAK,GAAGd,MAAM,CAACe;AAHV,MAIFL,MAAM,IAAI,EAJd;AAMA,QAAMM,YAAY,GACjBF,KAAK,KAAKd,MAAM,CAACe,WAAjB,GAAgC,cAAcD,KAAO,SAArD,GAAgEA,KADjE;AAEA,QAAMG,gBAAgB,GAAK,CAAC,CAAEH,KAAH,IAAYA,KAAK,KAAK,GAAxB,IAAiC,CAAC,CAAEH,KAA7D;AACA,QAAMO,WAAW,GAAGD,gBAAgB,GAAGJ,KAAK,IAAI,OAAZ,GAAsBA,KAA1D;AAEA,SAAQ,GAAGF,KAAO,IAAIO,WAAa,IAAIF,YAAc,EAArD;AACA,CAbD;;AAeA,OAAO,MAAMG,0BAA0B,GAAG,CACzCC,OADyC,EAEzCb,IAFyC,KAGrC;AACJ,sBAAOT,GAAP,2BAESS,IAAI,KAAK,kBAAT,GAA8B,MAA9B,GAAuC,MAFhD,aAGWA,IAAI,KAAK,kBAAT,GAA8B,MAA9B,GAAuC,MAHlD,cAIYA,IAAI,KAAK,kBAAT,GAA8B,MAA9B,GAAuC,MAJnD,YAKUA,IAAI,KAAK,kBAAT,GAA8B,MAA9B,GAAuC,MALjD,kBAMgBE,0BAA0B,CAAEW,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEC,GAAX,CAN1C,qBAOmBZ,0BAA0B,CAAEW,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEE,MAAX,CAP7C,OAQIrB,GAAG,CAAE;AACPsB,IAAAA,UAAU,EAAEd,0BAA0B,CAAEW,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEI,IAAX;AAD/B,GAAF,CAAH,EARJ,OAWIvB,GAAG,CAAE;AACPwB,IAAAA,WAAW,EAAEhB,0BAA0B,CAAEW,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEZ,KAAX;AADhC,GAAF,CAAH,EAXJ;AAeA,CAnBM;AAqBP,OAAO,MAAMkB,6BAA6B,GACzCnB,IAD4C,iBAExCT,GAFwC,oCAKlCS,IAAI,KAAK,kBAAT,GAA8BoB,SAA9B,GAA0C,KALR,2hHAAtC;AAQP,OAAO,MAAMC,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAA3B;AAKP,OAAO,MAAMC,kBAAkB,GAAG,mBAAM/B,GAAN,CAC9BG,GAAG,CAAE;AAAE6B,EAAAA,UAAU,EAAE;AAAd,CAAF,CAAH,EAD8B,ohHAA3B","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * Internal dependencies\n */\nimport { COLORS, CONFIG, rtl } from '../utils';\n\nimport type { Border } from '../border-control/types';\nimport type { Borders } from './types';\n\nexport const borderBoxControl = css``;\n\nexport const linkedBorderControl = () => css`\n\tflex: 1;\n\t${ rtl( { marginRight: '24px' } )() }\n`;\n\nexport const wrapper = css`\n\tposition: relative;\n`;\n\nexport const borderBoxControlLinkedButton = (\n\tsize?: 'default' | '__unstable-large'\n) => {\n\treturn css`\n\t\tposition: absolute;\n\t\ttop: ${ size === '__unstable-large' ? '8px' : '3px' };\n\t\t${ rtl( { right: 0 } )() }\n\t\tline-height: 0;\n\t`;\n};\n\nconst borderBoxStyleWithFallback = ( border?: Border ) => {\n\tconst {\n\t\tcolor = COLORS.gray[ 200 ],\n\t\tstyle = 'solid',\n\t\twidth = CONFIG.borderWidth,\n\t} = border || {};\n\n\tconst clampedWidth =\n\t\twidth !== CONFIG.borderWidth ? `clamp(1px, ${ width }, 10px)` : width;\n\tconst hasVisibleBorder = ( !! width && width !== '0' ) || !! color;\n\tconst borderStyle = hasVisibleBorder ? style || 'solid' : style;\n\n\treturn `${ color } ${ borderStyle } ${ clampedWidth }`;\n};\n\nexport const borderBoxControlVisualizer = (\n\tborders?: Borders,\n\tsize?: 'default' | '__unstable-large'\n) => {\n\treturn css`\n\t\tposition: absolute;\n\t\ttop: ${ size === '__unstable-large' ? '20px' : '15px' };\n\t\tright: ${ size === '__unstable-large' ? '39px' : '29px' };\n\t\tbottom: ${ size === '__unstable-large' ? '20px' : '15px' };\n\t\tleft: ${ size === '__unstable-large' ? '39px' : '29px' };\n\t\tborder-top: ${ borderBoxStyleWithFallback( borders?.top ) };\n\t\tborder-bottom: ${ borderBoxStyleWithFallback( borders?.bottom ) };\n\t\t${ rtl( {\n\t\t\tborderLeft: borderBoxStyleWithFallback( borders?.left ),\n\t\t} )() }\n\t\t${ rtl( {\n\t\t\tborderRight: borderBoxStyleWithFallback( borders?.right ),\n\t\t} )() }\n\t`;\n};\n\nexport const borderBoxControlSplitControls = (\n\tsize?: 'default' | '__unstable-large'\n) => css`\n\tposition: relative;\n\tflex: 1;\n\twidth: ${ size === '__unstable-large' ? undefined : '80%' };\n`;\n\nexport const centeredBorderControl = css`\n\tgrid-column: span 2;\n\tmargin: 0 auto;\n`;\n\nexport const rightBorderControl = () => css`\n\t${ rtl( { marginLeft: 'auto' } )() }\n`;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-box-control/styles.ts"],"names":["css","COLORS","CONFIG","rtl","borderBoxControl","linkedBorderControl","marginRight","wrapper","borderBoxControlLinkedButton","size","right","borderBoxStyleWithFallback","border","color","gray","style","width","borderWidth","clampedWidth","hasVisibleBorder","borderStyle","borderBoxControlVisualizer","borders","top","bottom","borderLeft","left","borderRight","borderBoxControlSplitControls","undefined","centeredBorderControl","rightBorderControl","marginLeft"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,gBAApB;AAEA;AACA;AACA;;AACA,SAASC,MAAT,EAAiBC,MAAjB,EAAyBC,GAAzB,QAAoC,UAApC;AAKA,OAAO,MAAMC,gBAAgB,gBAAGJ,GAAH,qgHAAtB;AAEP,OAAO,MAAMK,mBAAmB,GAAG,mBAAML,GAAN,YAE/BG,GAAG,CAAE;AAAEG,EAAAA,WAAW,EAAE;AAAf,CAAF,CAAH,EAF+B,ihHAA5B;AAKP,OAAO,MAAMC,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAb;AAIP,OAAO,MAAMC,4BAA4B,GACxCC,IAD2C,IAEvC;AACJ,sBAAOT,GAAP,2BAESS,IAAI,KAAK,kBAAT,GAA8B,KAA9B,GAAsC,KAF/C,OAGIN,GAAG,CAAE;AAAEO,IAAAA,KAAK,EAAE;AAAT,GAAF,CAAH,EAHJ;AAMA,CATM;;AAWP,MAAMC,0BAA0B,GAAKC,MAAF,IAAuB;AACzD,QAAM;AACLC,IAAAA,KAAK,GAAGZ,MAAM,CAACa,IAAP,CAAa,GAAb,CADH;AAELC,IAAAA,KAAK,GAAG,OAFH;AAGLC,IAAAA,KAAK,GAAGd,MAAM,CAACe;AAHV,MAIFL,MAAM,IAAI,EAJd;AAMA,QAAMM,YAAY,GACjBF,KAAK,KAAKd,MAAM,CAACe,WAAjB,GAAgC,cAAcD,KAAO,SAArD,GAAgEA,KADjE;AAEA,QAAMG,gBAAgB,GAAK,CAAC,CAAEH,KAAH,IAAYA,KAAK,KAAK,GAAxB,IAAiC,CAAC,CAAEH,KAA7D;AACA,QAAMO,WAAW,GAAGD,gBAAgB,GAAGJ,KAAK,IAAI,OAAZ,GAAsBA,KAA1D;AAEA,SAAQ,GAAGF,KAAO,IAAIO,WAAa,IAAIF,YAAc,EAArD;AACA,CAbD;;AAeA,OAAO,MAAMG,0BAA0B,GAAG,CACzCC,OADyC,EAEzCb,IAFyC,KAGrC;AACJ,sBAAOT,GAAP,2BAESS,IAAI,KAAK,kBAAT,GAA8B,MAA9B,GAAuC,MAFhD,aAGWA,IAAI,KAAK,kBAAT,GAA8B,MAA9B,GAAuC,MAHlD,cAIYA,IAAI,KAAK,kBAAT,GAA8B,MAA9B,GAAuC,MAJnD,YAKUA,IAAI,KAAK,kBAAT,GAA8B,MAA9B,GAAuC,MALjD,kBAMgBE,0BAA0B,CAAEW,OAAO,EAAEC,GAAX,CAN1C,qBAOmBZ,0BAA0B,CAAEW,OAAO,EAAEE,MAAX,CAP7C,OAQIrB,GAAG,CAAE;AACPsB,IAAAA,UAAU,EAAEd,0BAA0B,CAAEW,OAAO,EAAEI,IAAX;AAD/B,GAAF,CAAH,EARJ,OAWIvB,GAAG,CAAE;AACPwB,IAAAA,WAAW,EAAEhB,0BAA0B,CAAEW,OAAO,EAAEZ,KAAX;AADhC,GAAF,CAAH,EAXJ;AAeA,CAnBM;AAqBP,OAAO,MAAMkB,6BAA6B,GACzCnB,IAD4C,iBAExCT,GAFwC,oCAKlCS,IAAI,KAAK,kBAAT,GAA8BoB,SAA9B,GAA0C,KALR,2hHAAtC;AAQP,OAAO,MAAMC,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAA3B;AAKP,OAAO,MAAMC,kBAAkB,GAAG,mBAAM/B,GAAN,CAC9BG,GAAG,CAAE;AAAE6B,EAAAA,UAAU,EAAE;AAAd,CAAF,CAAH,EAD8B,ohHAA3B","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * Internal dependencies\n */\nimport { COLORS, CONFIG, rtl } from '../utils';\n\nimport type { Border } from '../border-control/types';\nimport type { Borders } from './types';\n\nexport const borderBoxControl = css``;\n\nexport const linkedBorderControl = () => css`\n\tflex: 1;\n\t${ rtl( { marginRight: '24px' } )() }\n`;\n\nexport const wrapper = css`\n\tposition: relative;\n`;\n\nexport const borderBoxControlLinkedButton = (\n\tsize?: 'default' | '__unstable-large'\n) => {\n\treturn css`\n\t\tposition: absolute;\n\t\ttop: ${ size === '__unstable-large' ? '8px' : '3px' };\n\t\t${ rtl( { right: 0 } )() }\n\t\tline-height: 0;\n\t`;\n};\n\nconst borderBoxStyleWithFallback = ( border?: Border ) => {\n\tconst {\n\t\tcolor = COLORS.gray[ 200 ],\n\t\tstyle = 'solid',\n\t\twidth = CONFIG.borderWidth,\n\t} = border || {};\n\n\tconst clampedWidth =\n\t\twidth !== CONFIG.borderWidth ? `clamp(1px, ${ width }, 10px)` : width;\n\tconst hasVisibleBorder = ( !! width && width !== '0' ) || !! color;\n\tconst borderStyle = hasVisibleBorder ? style || 'solid' : style;\n\n\treturn `${ color } ${ borderStyle } ${ clampedWidth }`;\n};\n\nexport const borderBoxControlVisualizer = (\n\tborders?: Borders,\n\tsize?: 'default' | '__unstable-large'\n) => {\n\treturn css`\n\t\tposition: absolute;\n\t\ttop: ${ size === '__unstable-large' ? '20px' : '15px' };\n\t\tright: ${ size === '__unstable-large' ? '39px' : '29px' };\n\t\tbottom: ${ size === '__unstable-large' ? '20px' : '15px' };\n\t\tleft: ${ size === '__unstable-large' ? '39px' : '29px' };\n\t\tborder-top: ${ borderBoxStyleWithFallback( borders?.top ) };\n\t\tborder-bottom: ${ borderBoxStyleWithFallback( borders?.bottom ) };\n\t\t${ rtl( {\n\t\t\tborderLeft: borderBoxStyleWithFallback( borders?.left ),\n\t\t} )() }\n\t\t${ rtl( {\n\t\t\tborderRight: borderBoxStyleWithFallback( borders?.right ),\n\t\t} )() }\n\t`;\n};\n\nexport const borderBoxControlSplitControls = (\n\tsize?: 'default' | '__unstable-large'\n) => css`\n\tposition: relative;\n\tflex: 1;\n\twidth: ${ size === '__unstable-large' ? undefined : '80%' };\n`;\n\nexport const centeredBorderControl = css`\n\tgrid-column: span 2;\n\tmargin: 0 auto;\n`;\n\nexport const rightBorderControl = () => css`\n\t${ rtl( { marginLeft: 'auto' } )() }\n`;\n"]}
@@ -41,8 +41,7 @@ export const isCompleteBorder = border => {
41
41
 
42
42
  return borderProps.every(prop => border[prop] !== undefined);
43
43
  };
44
- export const hasSplitBorders = function () {
45
- let border = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
44
+ export const hasSplitBorders = (border = {}) => {
46
45
  return Object.keys(border).some(side => sides.indexOf(side) !== -1);
47
46
  };
48
47
  export const hasMixedBorders = borders => {
@@ -50,7 +49,7 @@ export const hasMixedBorders = borders => {
50
49
  return false;
51
50
  }
52
51
 
53
- const shorthandBorders = sides.map(side => getShorthandBorderStyle(borders === null || borders === void 0 ? void 0 : borders[side]));
52
+ const shorthandBorders = sides.map(side => getShorthandBorderStyle(borders?.[side]));
54
53
  return !shorthandBorders.every(border => border === shorthandBorders[0]);
55
54
  };
56
55
  export const getSplitBorders = border => {
@@ -91,11 +90,9 @@ export const getCommonBorder = borders => {
91
90
  const styles = [];
92
91
  const widths = [];
93
92
  sides.forEach(side => {
94
- var _borders$side, _borders$side2, _borders$side3;
95
-
96
- colors.push((_borders$side = borders[side]) === null || _borders$side === void 0 ? void 0 : _borders$side.color);
97
- styles.push((_borders$side2 = borders[side]) === null || _borders$side2 === void 0 ? void 0 : _borders$side2.style);
98
- widths.push((_borders$side3 = borders[side]) === null || _borders$side3 === void 0 ? void 0 : _borders$side3.width);
93
+ colors.push(borders[side]?.color);
94
+ styles.push(borders[side]?.style);
95
+ widths.push(borders[side]?.width);
99
96
  });
100
97
  const allColorsMatch = colors.every(value => value === colors[0]);
101
98
  const allStylesMatch = styles.every(value => value === styles[0]);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-box-control/utils.ts"],"names":["parseCSSUnitValue","sides","borderProps","isEmptyBorder","border","some","prop","undefined","isDefinedBorder","hasSplitBorders","allSidesEmpty","every","side","isCompleteBorder","Object","keys","indexOf","hasMixedBorders","borders","shorthandBorders","map","getShorthandBorderStyle","getSplitBorders","top","right","bottom","left","getBorderDiff","original","updated","diff","color","style","width","getCommonBorder","colors","styles","widths","forEach","push","allColorsMatch","value","allStylesMatch","allWidthsMatch","getMostCommonUnit","fallbackBorder","fallbackColor","fallbackStyle","fallbackWidth","hasVisibleBorder","borderStyle","filter","Boolean","join","values","units","filteredUnits","mode","length","maxCount","currentMode"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { CSSProperties } from 'react';\n\n/**\n * Internal dependencies\n */\nimport { parseCSSUnitValue } from '../utils/unit-values';\nimport type { Border } from '../border-control/types';\nimport type { AnyBorder, Borders, BorderProp, BorderSide } from './types';\n\nconst sides: BorderSide[] = [ 'top', 'right', 'bottom', 'left' ];\nconst borderProps: BorderProp[] = [ 'color', 'style', 'width' ];\n\nexport const isEmptyBorder = ( border?: Border ) => {\n\tif ( ! border ) {\n\t\treturn true;\n\t}\n\treturn ! borderProps.some( ( prop ) => border[ prop ] !== undefined );\n};\n\nexport const isDefinedBorder = ( border: AnyBorder ) => {\n\t// No border, no worries :)\n\tif ( ! border ) {\n\t\treturn false;\n\t}\n\n\t// If we have individual borders per side within the border object we\n\t// need to check whether any of those side borders have been set.\n\tif ( hasSplitBorders( border ) ) {\n\t\tconst allSidesEmpty = sides.every( ( side ) =>\n\t\t\tisEmptyBorder( ( border as Borders )[ side ] )\n\t\t);\n\n\t\treturn ! allSidesEmpty;\n\t}\n\n\t// If we have a top-level border only, check if that is empty. e.g.\n\t// { color: undefined, style: undefined, width: undefined }\n\t// Border radius can still be set within the border object as it is\n\t// handled separately.\n\treturn ! isEmptyBorder( border as Border );\n};\n\nexport const isCompleteBorder = ( border?: Border ) => {\n\tif ( ! border ) {\n\t\treturn false;\n\t}\n\n\treturn borderProps.every( ( prop ) => border[ prop ] !== undefined );\n};\n\nexport const hasSplitBorders = ( border: AnyBorder = {} ) => {\n\treturn Object.keys( border ).some(\n\t\t( side ) => sides.indexOf( side as BorderSide ) !== -1\n\t);\n};\n\nexport const hasMixedBorders = ( borders: AnyBorder ) => {\n\tif ( ! hasSplitBorders( borders ) ) {\n\t\treturn false;\n\t}\n\n\tconst shorthandBorders = sides.map( ( side: BorderSide ) =>\n\t\tgetShorthandBorderStyle( ( borders as Borders )?.[ side ] )\n\t);\n\n\treturn ! shorthandBorders.every(\n\t\t( border ) => border === shorthandBorders[ 0 ]\n\t);\n};\n\nexport const getSplitBorders = ( border?: Border ) => {\n\tif ( ! border || isEmptyBorder( border ) ) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\ttop: border,\n\t\tright: border,\n\t\tbottom: border,\n\t\tleft: border,\n\t};\n};\n\nexport const getBorderDiff = ( original: Border, updated: Border ) => {\n\tconst diff: Border = {};\n\n\tif ( original.color !== updated.color ) {\n\t\tdiff.color = updated.color;\n\t}\n\n\tif ( original.style !== updated.style ) {\n\t\tdiff.style = updated.style;\n\t}\n\n\tif ( original.width !== updated.width ) {\n\t\tdiff.width = updated.width;\n\t}\n\n\treturn diff;\n};\n\nexport const getCommonBorder = ( borders?: Borders ) => {\n\tif ( ! borders ) {\n\t\treturn undefined;\n\t}\n\n\tconst colors: ( CSSProperties[ 'borderColor' ] | undefined )[] = [];\n\tconst styles: ( CSSProperties[ 'borderStyle' ] | undefined )[] = [];\n\tconst widths: ( CSSProperties[ 'borderWidth' ] | undefined )[] = [];\n\n\tsides.forEach( ( side ) => {\n\t\tcolors.push( borders[ side ]?.color );\n\t\tstyles.push( borders[ side ]?.style );\n\t\twidths.push( borders[ side ]?.width );\n\t} );\n\n\tconst allColorsMatch = colors.every( ( value ) => value === colors[ 0 ] );\n\tconst allStylesMatch = styles.every( ( value ) => value === styles[ 0 ] );\n\tconst allWidthsMatch = widths.every( ( value ) => value === widths[ 0 ] );\n\n\treturn {\n\t\tcolor: allColorsMatch ? colors[ 0 ] : undefined,\n\t\tstyle: allStylesMatch ? styles[ 0 ] : undefined,\n\t\twidth: allWidthsMatch ? widths[ 0 ] : getMostCommonUnit( widths ),\n\t};\n};\n\nexport const getShorthandBorderStyle = (\n\tborder?: Border,\n\tfallbackBorder?: Border\n) => {\n\tif ( isEmptyBorder( border ) ) {\n\t\treturn fallbackBorder;\n\t}\n\n\tconst {\n\t\tcolor: fallbackColor,\n\t\tstyle: fallbackStyle,\n\t\twidth: fallbackWidth,\n\t} = fallbackBorder || {};\n\n\tconst {\n\t\tcolor = fallbackColor,\n\t\tstyle = fallbackStyle,\n\t\twidth = fallbackWidth,\n\t} = border as Border;\n\n\tconst hasVisibleBorder = ( !! width && width !== '0' ) || !! color;\n\tconst borderStyle = hasVisibleBorder ? style || 'solid' : style;\n\n\treturn [ width, borderStyle, color ].filter( Boolean ).join( ' ' );\n};\n\nexport const getMostCommonUnit = (\n\tvalues: Array< string | number | undefined >\n): string | undefined => {\n\t// Collect all the CSS units.\n\tconst units = values.map( ( value ) =>\n\t\tvalue === undefined ? undefined : parseCSSUnitValue( `${ value }` )[ 1 ]\n\t);\n\n\t// Return the most common unit out of only the defined CSS units.\n\tconst filteredUnits = units.filter( ( value ) => value !== undefined );\n\treturn mode( filteredUnits as string[] );\n};\n\n/**\n * Finds the mode value out of the array passed favouring the first value\n * as a tiebreaker.\n *\n * @param values Values to determine the mode from.\n *\n * @return The mode value.\n */\nfunction mode( values: Array< string > ): string | undefined {\n\tif ( values.length === 0 ) {\n\t\treturn undefined;\n\t}\n\n\tconst map: { [ index: string ]: number } = {};\n\tlet maxCount = 0;\n\tlet currentMode;\n\n\tvalues.forEach( ( value ) => {\n\t\tmap[ value ] = map[ value ] === undefined ? 1 : map[ value ] + 1;\n\n\t\tif ( map[ value ] > maxCount ) {\n\t\t\tcurrentMode = value;\n\t\t\tmaxCount = map[ value ];\n\t\t}\n\t} );\n\n\treturn currentMode;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-box-control/utils.ts"],"names":["parseCSSUnitValue","sides","borderProps","isEmptyBorder","border","some","prop","undefined","isDefinedBorder","hasSplitBorders","allSidesEmpty","every","side","isCompleteBorder","Object","keys","indexOf","hasMixedBorders","borders","shorthandBorders","map","getShorthandBorderStyle","getSplitBorders","top","right","bottom","left","getBorderDiff","original","updated","diff","color","style","width","getCommonBorder","colors","styles","widths","forEach","push","allColorsMatch","value","allStylesMatch","allWidthsMatch","getMostCommonUnit","fallbackBorder","fallbackColor","fallbackStyle","fallbackWidth","hasVisibleBorder","borderStyle","filter","Boolean","join","values","units","filteredUnits","mode","length","maxCount","currentMode"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { CSSProperties } from 'react';\n\n/**\n * Internal dependencies\n */\nimport { parseCSSUnitValue } from '../utils/unit-values';\nimport type { Border } from '../border-control/types';\nimport type { AnyBorder, Borders, BorderProp, BorderSide } from './types';\n\nconst sides: BorderSide[] = [ 'top', 'right', 'bottom', 'left' ];\nconst borderProps: BorderProp[] = [ 'color', 'style', 'width' ];\n\nexport const isEmptyBorder = ( border?: Border ) => {\n\tif ( ! border ) {\n\t\treturn true;\n\t}\n\treturn ! borderProps.some( ( prop ) => border[ prop ] !== undefined );\n};\n\nexport const isDefinedBorder = ( border: AnyBorder ) => {\n\t// No border, no worries :)\n\tif ( ! border ) {\n\t\treturn false;\n\t}\n\n\t// If we have individual borders per side within the border object we\n\t// need to check whether any of those side borders have been set.\n\tif ( hasSplitBorders( border ) ) {\n\t\tconst allSidesEmpty = sides.every( ( side ) =>\n\t\t\tisEmptyBorder( ( border as Borders )[ side ] )\n\t\t);\n\n\t\treturn ! allSidesEmpty;\n\t}\n\n\t// If we have a top-level border only, check if that is empty. e.g.\n\t// { color: undefined, style: undefined, width: undefined }\n\t// Border radius can still be set within the border object as it is\n\t// handled separately.\n\treturn ! isEmptyBorder( border as Border );\n};\n\nexport const isCompleteBorder = ( border?: Border ) => {\n\tif ( ! border ) {\n\t\treturn false;\n\t}\n\n\treturn borderProps.every( ( prop ) => border[ prop ] !== undefined );\n};\n\nexport const hasSplitBorders = ( border: AnyBorder = {} ) => {\n\treturn Object.keys( border ).some(\n\t\t( side ) => sides.indexOf( side as BorderSide ) !== -1\n\t);\n};\n\nexport const hasMixedBorders = ( borders: AnyBorder ) => {\n\tif ( ! hasSplitBorders( borders ) ) {\n\t\treturn false;\n\t}\n\n\tconst shorthandBorders = sides.map( ( side: BorderSide ) =>\n\t\tgetShorthandBorderStyle( ( borders as Borders )?.[ side ] )\n\t);\n\n\treturn ! shorthandBorders.every(\n\t\t( border ) => border === shorthandBorders[ 0 ]\n\t);\n};\n\nexport const getSplitBorders = ( border?: Border ) => {\n\tif ( ! border || isEmptyBorder( border ) ) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\ttop: border,\n\t\tright: border,\n\t\tbottom: border,\n\t\tleft: border,\n\t};\n};\n\nexport const getBorderDiff = ( original: Border, updated: Border ) => {\n\tconst diff: Border = {};\n\n\tif ( original.color !== updated.color ) {\n\t\tdiff.color = updated.color;\n\t}\n\n\tif ( original.style !== updated.style ) {\n\t\tdiff.style = updated.style;\n\t}\n\n\tif ( original.width !== updated.width ) {\n\t\tdiff.width = updated.width;\n\t}\n\n\treturn diff;\n};\n\nexport const getCommonBorder = ( borders?: Borders ) => {\n\tif ( ! borders ) {\n\t\treturn undefined;\n\t}\n\n\tconst colors: ( CSSProperties[ 'borderColor' ] | undefined )[] = [];\n\tconst styles: ( CSSProperties[ 'borderStyle' ] | undefined )[] = [];\n\tconst widths: ( CSSProperties[ 'borderWidth' ] | undefined )[] = [];\n\n\tsides.forEach( ( side ) => {\n\t\tcolors.push( borders[ side ]?.color );\n\t\tstyles.push( borders[ side ]?.style );\n\t\twidths.push( borders[ side ]?.width );\n\t} );\n\n\tconst allColorsMatch = colors.every( ( value ) => value === colors[ 0 ] );\n\tconst allStylesMatch = styles.every( ( value ) => value === styles[ 0 ] );\n\tconst allWidthsMatch = widths.every( ( value ) => value === widths[ 0 ] );\n\n\treturn {\n\t\tcolor: allColorsMatch ? colors[ 0 ] : undefined,\n\t\tstyle: allStylesMatch ? styles[ 0 ] : undefined,\n\t\twidth: allWidthsMatch ? widths[ 0 ] : getMostCommonUnit( widths ),\n\t};\n};\n\nexport const getShorthandBorderStyle = (\n\tborder?: Border,\n\tfallbackBorder?: Border\n) => {\n\tif ( isEmptyBorder( border ) ) {\n\t\treturn fallbackBorder;\n\t}\n\n\tconst {\n\t\tcolor: fallbackColor,\n\t\tstyle: fallbackStyle,\n\t\twidth: fallbackWidth,\n\t} = fallbackBorder || {};\n\n\tconst {\n\t\tcolor = fallbackColor,\n\t\tstyle = fallbackStyle,\n\t\twidth = fallbackWidth,\n\t} = border as Border;\n\n\tconst hasVisibleBorder = ( !! width && width !== '0' ) || !! color;\n\tconst borderStyle = hasVisibleBorder ? style || 'solid' : style;\n\n\treturn [ width, borderStyle, color ].filter( Boolean ).join( ' ' );\n};\n\nexport const getMostCommonUnit = (\n\tvalues: Array< string | number | undefined >\n): string | undefined => {\n\t// Collect all the CSS units.\n\tconst units = values.map( ( value ) =>\n\t\tvalue === undefined ? undefined : parseCSSUnitValue( `${ value }` )[ 1 ]\n\t);\n\n\t// Return the most common unit out of only the defined CSS units.\n\tconst filteredUnits = units.filter( ( value ) => value !== undefined );\n\treturn mode( filteredUnits as string[] );\n};\n\n/**\n * Finds the mode value out of the array passed favouring the first value\n * as a tiebreaker.\n *\n * @param values Values to determine the mode from.\n *\n * @return The mode value.\n */\nfunction mode( values: Array< string > ): string | undefined {\n\tif ( values.length === 0 ) {\n\t\treturn undefined;\n\t}\n\n\tconst map: { [ index: string ]: number } = {};\n\tlet maxCount = 0;\n\tlet currentMode;\n\n\tvalues.forEach( ( value ) => {\n\t\tmap[ value ] = map[ value ] === undefined ? 1 : map[ value ] + 1;\n\n\t\tif ( map[ value ] > maxCount ) {\n\t\t\tcurrentMode = value;\n\t\t\tmaxCount = map[ value ];\n\t\t}\n\t} );\n\n\treturn currentMode;\n}\n"]}
@@ -91,7 +91,7 @@ const UnconnectedBorderControl = (props, forwardedRef) => {
91
91
  hideLabelFromVision: true,
92
92
  min: 0,
93
93
  onChange: onWidthChange,
94
- value: (border === null || border === void 0 ? void 0 : border.width) || '',
94
+ value: border?.width || '',
95
95
  placeholder: placeholder,
96
96
  disableUnits: disableUnits,
97
97
  __unstableInputWidth: inputWidth,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-control/border-control/component.tsx"],"names":["__","BorderControlDropdown","UnitControl","RangeControl","HStack","StyledLabel","View","VisuallyHidden","contextConnect","useBorderControl","BorderLabel","props","label","hideLabelFromVision","UnconnectedBorderControl","forwardedRef","colors","disableCustomColors","disableUnits","enableAlpha","enableStyle","innerWrapperClassName","inputWidth","onBorderChange","onSliderChange","onWidthChange","placeholder","__unstablePopoverProps","previousStyleSelection","showDropdownHeader","size","sliderClassName","value","border","widthUnit","widthValue","withSlider","__experimentalIsRenderedInSidebar","otherProps","width","includes","undefined","BorderControl"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderControlDropdown from '../border-control-dropdown';\nimport UnitControl from '../../unit-control';\nimport RangeControl from '../../range-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 { useBorderControl } from './hook';\n\nimport type { BorderControlProps, LabelProps } from '../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=\"legend\">{ label }</VisuallyHidden>\n\t) : (\n\t\t<StyledLabel as=\"legend\">{ label }</StyledLabel>\n\t);\n};\n\nconst UnconnectedBorderControl = (\n\tprops: WordPressComponentProps< BorderControlProps, 'div', false >,\n\tforwardedRef: React.ForwardedRef< any >\n) => {\n\tconst {\n\t\tcolors,\n\t\tdisableCustomColors,\n\t\tdisableUnits,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\thideLabelFromVision,\n\t\tinnerWrapperClassName,\n\t\tinputWidth,\n\t\tlabel,\n\t\tonBorderChange,\n\t\tonSliderChange,\n\t\tonWidthChange,\n\t\tplaceholder,\n\t\t__unstablePopoverProps,\n\t\tpreviousStyleSelection,\n\t\tshowDropdownHeader,\n\t\tsize,\n\t\tsliderClassName,\n\t\tvalue: border,\n\t\twidthUnit,\n\t\twidthValue,\n\t\twithSlider,\n\t\t__experimentalIsRenderedInSidebar,\n\t\t...otherProps\n\t} = useBorderControl( props );\n\n\treturn (\n\t\t<View as=\"fieldset\" { ...otherProps } ref={ forwardedRef }>\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 spacing={ 4 } className={ innerWrapperClassName }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tprefix={\n\t\t\t\t\t\t<BorderControlDropdown\n\t\t\t\t\t\t\tborder={ border }\n\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t__unstablePopoverProps={ __unstablePopoverProps }\n\t\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\t\tenableStyle={ enableStyle }\n\t\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\t\tpreviousStyleSelection={ previousStyleSelection }\n\t\t\t\t\t\t\tshowDropdownHeader={ showDropdownHeader }\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsize={ size }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Border width' ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ onWidthChange }\n\t\t\t\t\tvalue={ border?.width || '' }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tdisableUnits={ disableUnits }\n\t\t\t\t\t__unstableInputWidth={ inputWidth }\n\t\t\t\t\tsize={ size }\n\t\t\t\t/>\n\t\t\t\t{ withSlider && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Border width' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tclassName={ sliderClassName }\n\t\t\t\t\t\tinitialPosition={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tonChange={ onSliderChange }\n\t\t\t\t\t\tstep={ [ 'px', '%' ].includes( widthUnit ) ? 1 : 0.1 }\n\t\t\t\t\t\tvalue={ widthValue || undefined }\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</View>\n\t);\n};\n\n/**\n * The `BorderControl` brings together internal sub-components which allow users to\n * set the various properties of a border. The first sub-component, a\n * `BorderDropdown` contains options representing border color and style. The\n * border width is controlled via a `UnitControl` and an optional `RangeControl`.\n *\n * Border radius is not covered by this control as it may be desired separate to\n * color, style, and width. For example, the border radius may be absorbed under\n * a \"shape\" abstraction.\n *\n * ```jsx\n * import { __experimentalBorderControl as BorderControl } 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 MyBorderControl = () => {\n * \tconst [ border, setBorder ] = useState();\n * \tconst onChange = ( newBorder ) => setBorder( newBorder );\n *\n * \treturn (\n * \t\t<BorderControl\n * \t\t\tcolors={ colors }\n * \t\t\tlabel={ __( 'Border' ) }\n * \t\t\tonChange={ onChange }\n * \t\t\tvalue={ border }\n * \t\t/>\n * \t);\n * };\n * ```\n */\nexport const BorderControl = contextConnect(\n\tUnconnectedBorderControl,\n\t'BorderControl'\n);\n\nexport default BorderControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-control/border-control/component.tsx"],"names":["__","BorderControlDropdown","UnitControl","RangeControl","HStack","StyledLabel","View","VisuallyHidden","contextConnect","useBorderControl","BorderLabel","props","label","hideLabelFromVision","UnconnectedBorderControl","forwardedRef","colors","disableCustomColors","disableUnits","enableAlpha","enableStyle","innerWrapperClassName","inputWidth","onBorderChange","onSliderChange","onWidthChange","placeholder","__unstablePopoverProps","previousStyleSelection","showDropdownHeader","size","sliderClassName","value","border","widthUnit","widthValue","withSlider","__experimentalIsRenderedInSidebar","otherProps","width","includes","undefined","BorderControl"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderControlDropdown from '../border-control-dropdown';\nimport UnitControl from '../../unit-control';\nimport RangeControl from '../../range-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 { useBorderControl } from './hook';\n\nimport type { BorderControlProps, LabelProps } from '../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=\"legend\">{ label }</VisuallyHidden>\n\t) : (\n\t\t<StyledLabel as=\"legend\">{ label }</StyledLabel>\n\t);\n};\n\nconst UnconnectedBorderControl = (\n\tprops: WordPressComponentProps< BorderControlProps, 'div', false >,\n\tforwardedRef: React.ForwardedRef< any >\n) => {\n\tconst {\n\t\tcolors,\n\t\tdisableCustomColors,\n\t\tdisableUnits,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\thideLabelFromVision,\n\t\tinnerWrapperClassName,\n\t\tinputWidth,\n\t\tlabel,\n\t\tonBorderChange,\n\t\tonSliderChange,\n\t\tonWidthChange,\n\t\tplaceholder,\n\t\t__unstablePopoverProps,\n\t\tpreviousStyleSelection,\n\t\tshowDropdownHeader,\n\t\tsize,\n\t\tsliderClassName,\n\t\tvalue: border,\n\t\twidthUnit,\n\t\twidthValue,\n\t\twithSlider,\n\t\t__experimentalIsRenderedInSidebar,\n\t\t...otherProps\n\t} = useBorderControl( props );\n\n\treturn (\n\t\t<View as=\"fieldset\" { ...otherProps } ref={ forwardedRef }>\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 spacing={ 4 } className={ innerWrapperClassName }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tprefix={\n\t\t\t\t\t\t<BorderControlDropdown\n\t\t\t\t\t\t\tborder={ border }\n\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t__unstablePopoverProps={ __unstablePopoverProps }\n\t\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\t\tenableStyle={ enableStyle }\n\t\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\t\tpreviousStyleSelection={ previousStyleSelection }\n\t\t\t\t\t\t\tshowDropdownHeader={ showDropdownHeader }\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsize={ size }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Border width' ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ onWidthChange }\n\t\t\t\t\tvalue={ border?.width || '' }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tdisableUnits={ disableUnits }\n\t\t\t\t\t__unstableInputWidth={ inputWidth }\n\t\t\t\t\tsize={ size }\n\t\t\t\t/>\n\t\t\t\t{ withSlider && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Border width' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tclassName={ sliderClassName }\n\t\t\t\t\t\tinitialPosition={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tonChange={ onSliderChange }\n\t\t\t\t\t\tstep={ [ 'px', '%' ].includes( widthUnit ) ? 1 : 0.1 }\n\t\t\t\t\t\tvalue={ widthValue || undefined }\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</View>\n\t);\n};\n\n/**\n * The `BorderControl` brings together internal sub-components which allow users to\n * set the various properties of a border. The first sub-component, a\n * `BorderDropdown` contains options representing border color and style. The\n * border width is controlled via a `UnitControl` and an optional `RangeControl`.\n *\n * Border radius is not covered by this control as it may be desired separate to\n * color, style, and width. For example, the border radius may be absorbed under\n * a \"shape\" abstraction.\n *\n * ```jsx\n * import { __experimentalBorderControl as BorderControl } 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 MyBorderControl = () => {\n * \tconst [ border, setBorder ] = useState();\n * \tconst onChange = ( newBorder ) => setBorder( newBorder );\n *\n * \treturn (\n * \t\t<BorderControl\n * \t\t\tcolors={ colors }\n * \t\t\tlabel={ __( 'Border' ) }\n * \t\t\tonChange={ onChange }\n * \t\t\tvalue={ border }\n * \t\t/>\n * \t);\n * };\n * ```\n */\nexport const BorderControl = contextConnect(\n\tUnconnectedBorderControl,\n\t'BorderControl'\n);\n\nexport default BorderControl;\n"]}
@@ -12,8 +12,8 @@ import { useContextSystem } from '../../ui/context';
12
12
  import { useCx } from '../../utils/hooks/use-cx';
13
13
 
14
14
  const sanitizeBorder = border => {
15
- const hasNoWidth = (border === null || border === void 0 ? void 0 : border.width) === undefined || border.width === '';
16
- const hasNoColor = (border === null || border === void 0 ? void 0 : border.color) === undefined; // If width and color are undefined, unset any style selection as well.
15
+ const hasNoWidth = border?.width === undefined || border.width === '';
16
+ const hasNoColor = border?.color === undefined; // If width and color are undefined, unset any style selection as well.
17
17
 
18
18
  if (hasNoWidth && hasNoColor) {
19
19
  return undefined;
@@ -37,7 +37,7 @@ export function useBorderControl(props) {
37
37
  __experimentalIsRenderedInSidebar = false,
38
38
  ...otherProps
39
39
  } = useContextSystem(props, 'BorderControl');
40
- const [widthValue, originalWidthUnit] = parseQuantityAndUnitFromRawValue(border === null || border === void 0 ? void 0 : border.width);
40
+ const [widthValue, originalWidthUnit] = parseQuantityAndUnitFromRawValue(border?.width);
41
41
  const widthUnit = originalWidthUnit || 'px';
42
42
  const hadPreviousZeroWidth = widthValue === 0;
43
43
  const [colorSelection, setColorSelection] = useState();
@@ -62,8 +62,8 @@ export function useBorderControl(props) {
62
62
  // Before clearing the color and style selections, keep track of
63
63
  // the current selections so they can be restored when the width
64
64
  // changes to a non-zero value.
65
- setColorSelection(border === null || border === void 0 ? void 0 : border.color);
66
- setStyleSelection(border === null || border === void 0 ? void 0 : border.style); // Clear the color and style border properties.
65
+ setColorSelection(border?.color);
66
+ setStyleSelection(border?.style); // Clear the color and style border properties.
67
67
 
68
68
  updatedBorder.color = undefined;
69
69
  updatedBorder.style = 'none';
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-control/border-control/hook.ts"],"names":["useCallback","useMemo","useState","styles","parseQuantityAndUnitFromRawValue","useContextSystem","useCx","sanitizeBorder","border","hasNoWidth","width","undefined","hasNoColor","color","useBorderControl","props","className","colors","isCompact","onChange","enableAlpha","enableStyle","shouldSanitizeBorder","size","value","__experimentalIsRenderedInSidebar","otherProps","widthValue","originalWidthUnit","widthUnit","hadPreviousZeroWidth","colorSelection","setColorSelection","styleSelection","setStyleSelection","onBorderChange","newBorder","onWidthChange","newWidth","newWidthValue","parsedValue","hasZeroWidth","updatedBorder","style","onSliderChange","cx","classes","borderControl","wrapperWidth","innerWrapperClassName","widthStyle","heightStyle","wrapperHeight","innerWrapper","sliderClassName","borderSlider","inputWidth","previousStyleSelection"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { parseQuantityAndUnitFromRawValue } from '../../unit-control/utils';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\n\nimport type { Border, BorderControlProps } from '../types';\n\nconst sanitizeBorder = ( border?: Border ) => {\n\tconst hasNoWidth = border?.width === undefined || border.width === '';\n\tconst hasNoColor = border?.color === undefined;\n\n\t// If width and color are undefined, unset any style selection as well.\n\tif ( hasNoWidth && hasNoColor ) {\n\t\treturn undefined;\n\t}\n\n\treturn border;\n};\n\nexport function useBorderControl(\n\tprops: WordPressComponentProps< BorderControlProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tcolors = [],\n\t\tisCompact,\n\t\tonChange,\n\t\tenableAlpha = true,\n\t\tenableStyle = true,\n\t\tshouldSanitizeBorder = true,\n\t\tsize = 'default',\n\t\tvalue: border,\n\t\twidth,\n\t\t__experimentalIsRenderedInSidebar = false,\n\t\t...otherProps\n\t} = useContextSystem( props, 'BorderControl' );\n\n\tconst [ widthValue, originalWidthUnit ] = parseQuantityAndUnitFromRawValue(\n\t\tborder?.width\n\t);\n\tconst widthUnit = originalWidthUnit || 'px';\n\tconst hadPreviousZeroWidth = widthValue === 0;\n\n\tconst [ colorSelection, setColorSelection ] = useState< string >();\n\tconst [ styleSelection, setStyleSelection ] = useState< string >();\n\n\tconst onBorderChange = useCallback(\n\t\t( newBorder?: Border ) => {\n\t\t\tif ( shouldSanitizeBorder ) {\n\t\t\t\treturn onChange( sanitizeBorder( newBorder ) );\n\t\t\t}\n\n\t\t\tonChange( newBorder );\n\t\t},\n\t\t[ onChange, shouldSanitizeBorder ]\n\t);\n\n\tconst onWidthChange = useCallback(\n\t\t( newWidth?: string ) => {\n\t\t\tconst newWidthValue = newWidth === '' ? undefined : newWidth;\n\t\t\tconst [ parsedValue ] =\n\t\t\t\tparseQuantityAndUnitFromRawValue( newWidth );\n\t\t\tconst hasZeroWidth = parsedValue === 0;\n\t\t\tconst updatedBorder = { ...border, width: newWidthValue };\n\n\t\t\t// Setting the border width explicitly to zero will also set the\n\t\t\t// border style to `none` and clear the border color.\n\t\t\tif ( hasZeroWidth && ! hadPreviousZeroWidth ) {\n\t\t\t\t// Before clearing the color and style selections, keep track of\n\t\t\t\t// the current selections so they can be restored when the width\n\t\t\t\t// changes to a non-zero value.\n\t\t\t\tsetColorSelection( border?.color );\n\t\t\t\tsetStyleSelection( border?.style );\n\n\t\t\t\t// Clear the color and style border properties.\n\t\t\t\tupdatedBorder.color = undefined;\n\t\t\t\tupdatedBorder.style = 'none';\n\t\t\t}\n\n\t\t\t// Selection has changed from zero border width to non-zero width.\n\t\t\tif ( ! hasZeroWidth && hadPreviousZeroWidth ) {\n\t\t\t\t// Restore previous border color and style selections if width\n\t\t\t\t// is now not zero.\n\t\t\t\tif ( updatedBorder.color === undefined ) {\n\t\t\t\t\tupdatedBorder.color = colorSelection;\n\t\t\t\t}\n\t\t\t\tif ( updatedBorder.style === 'none' ) {\n\t\t\t\t\tupdatedBorder.style = styleSelection;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tonBorderChange( updatedBorder );\n\t\t},\n\t\t[\n\t\t\tborder,\n\t\t\thadPreviousZeroWidth,\n\t\t\tcolorSelection,\n\t\t\tstyleSelection,\n\t\t\tonBorderChange,\n\t\t]\n\t);\n\n\tconst onSliderChange = useCallback(\n\t\t( value?: number ) => {\n\t\t\tonWidthChange( `${ value }${ widthUnit }` );\n\t\t},\n\t\t[ onWidthChange, widthUnit ]\n\t);\n\n\t// Generate class names.\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx( styles.borderControl, className );\n\t}, [ className, cx ] );\n\n\tlet wrapperWidth = width;\n\tif ( isCompact ) {\n\t\t// Widths below represent the minimum usable width for compact controls.\n\t\t// Taller controls contain greater internal padding, thus greater width.\n\t\twrapperWidth = size === '__unstable-large' ? '116px' : '90px';\n\t}\n\tconst innerWrapperClassName = useMemo( () => {\n\t\tconst widthStyle = !! wrapperWidth && styles.wrapperWidth;\n\t\tconst heightStyle = styles.wrapperHeight( size );\n\n\t\treturn cx( styles.innerWrapper(), widthStyle, heightStyle );\n\t}, [ wrapperWidth, cx, size ] );\n\n\tconst sliderClassName = useMemo( () => {\n\t\treturn cx( styles.borderSlider() );\n\t}, [ cx ] );\n\n\treturn {\n\t\t...otherProps,\n\t\tclassName: classes,\n\t\tcolors,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\tinnerWrapperClassName,\n\t\tinputWidth: wrapperWidth,\n\t\tonBorderChange,\n\t\tonSliderChange,\n\t\tonWidthChange,\n\t\tpreviousStyleSelection: styleSelection,\n\t\tsliderClassName,\n\t\tvalue: border,\n\t\twidthUnit,\n\t\twidthValue,\n\t\tsize,\n\t\t__experimentalIsRenderedInSidebar,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-control/border-control/hook.ts"],"names":["useCallback","useMemo","useState","styles","parseQuantityAndUnitFromRawValue","useContextSystem","useCx","sanitizeBorder","border","hasNoWidth","width","undefined","hasNoColor","color","useBorderControl","props","className","colors","isCompact","onChange","enableAlpha","enableStyle","shouldSanitizeBorder","size","value","__experimentalIsRenderedInSidebar","otherProps","widthValue","originalWidthUnit","widthUnit","hadPreviousZeroWidth","colorSelection","setColorSelection","styleSelection","setStyleSelection","onBorderChange","newBorder","onWidthChange","newWidth","newWidthValue","parsedValue","hasZeroWidth","updatedBorder","style","onSliderChange","cx","classes","borderControl","wrapperWidth","innerWrapperClassName","widthStyle","heightStyle","wrapperHeight","innerWrapper","sliderClassName","borderSlider","inputWidth","previousStyleSelection"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { parseQuantityAndUnitFromRawValue } from '../../unit-control/utils';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\n\nimport type { Border, BorderControlProps } from '../types';\n\nconst sanitizeBorder = ( border?: Border ) => {\n\tconst hasNoWidth = border?.width === undefined || border.width === '';\n\tconst hasNoColor = border?.color === undefined;\n\n\t// If width and color are undefined, unset any style selection as well.\n\tif ( hasNoWidth && hasNoColor ) {\n\t\treturn undefined;\n\t}\n\n\treturn border;\n};\n\nexport function useBorderControl(\n\tprops: WordPressComponentProps< BorderControlProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tcolors = [],\n\t\tisCompact,\n\t\tonChange,\n\t\tenableAlpha = true,\n\t\tenableStyle = true,\n\t\tshouldSanitizeBorder = true,\n\t\tsize = 'default',\n\t\tvalue: border,\n\t\twidth,\n\t\t__experimentalIsRenderedInSidebar = false,\n\t\t...otherProps\n\t} = useContextSystem( props, 'BorderControl' );\n\n\tconst [ widthValue, originalWidthUnit ] = parseQuantityAndUnitFromRawValue(\n\t\tborder?.width\n\t);\n\tconst widthUnit = originalWidthUnit || 'px';\n\tconst hadPreviousZeroWidth = widthValue === 0;\n\n\tconst [ colorSelection, setColorSelection ] = useState< string >();\n\tconst [ styleSelection, setStyleSelection ] = useState< string >();\n\n\tconst onBorderChange = useCallback(\n\t\t( newBorder?: Border ) => {\n\t\t\tif ( shouldSanitizeBorder ) {\n\t\t\t\treturn onChange( sanitizeBorder( newBorder ) );\n\t\t\t}\n\n\t\t\tonChange( newBorder );\n\t\t},\n\t\t[ onChange, shouldSanitizeBorder ]\n\t);\n\n\tconst onWidthChange = useCallback(\n\t\t( newWidth?: string ) => {\n\t\t\tconst newWidthValue = newWidth === '' ? undefined : newWidth;\n\t\t\tconst [ parsedValue ] =\n\t\t\t\tparseQuantityAndUnitFromRawValue( newWidth );\n\t\t\tconst hasZeroWidth = parsedValue === 0;\n\t\t\tconst updatedBorder = { ...border, width: newWidthValue };\n\n\t\t\t// Setting the border width explicitly to zero will also set the\n\t\t\t// border style to `none` and clear the border color.\n\t\t\tif ( hasZeroWidth && ! hadPreviousZeroWidth ) {\n\t\t\t\t// Before clearing the color and style selections, keep track of\n\t\t\t\t// the current selections so they can be restored when the width\n\t\t\t\t// changes to a non-zero value.\n\t\t\t\tsetColorSelection( border?.color );\n\t\t\t\tsetStyleSelection( border?.style );\n\n\t\t\t\t// Clear the color and style border properties.\n\t\t\t\tupdatedBorder.color = undefined;\n\t\t\t\tupdatedBorder.style = 'none';\n\t\t\t}\n\n\t\t\t// Selection has changed from zero border width to non-zero width.\n\t\t\tif ( ! hasZeroWidth && hadPreviousZeroWidth ) {\n\t\t\t\t// Restore previous border color and style selections if width\n\t\t\t\t// is now not zero.\n\t\t\t\tif ( updatedBorder.color === undefined ) {\n\t\t\t\t\tupdatedBorder.color = colorSelection;\n\t\t\t\t}\n\t\t\t\tif ( updatedBorder.style === 'none' ) {\n\t\t\t\t\tupdatedBorder.style = styleSelection;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tonBorderChange( updatedBorder );\n\t\t},\n\t\t[\n\t\t\tborder,\n\t\t\thadPreviousZeroWidth,\n\t\t\tcolorSelection,\n\t\t\tstyleSelection,\n\t\t\tonBorderChange,\n\t\t]\n\t);\n\n\tconst onSliderChange = useCallback(\n\t\t( value?: number ) => {\n\t\t\tonWidthChange( `${ value }${ widthUnit }` );\n\t\t},\n\t\t[ onWidthChange, widthUnit ]\n\t);\n\n\t// Generate class names.\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx( styles.borderControl, className );\n\t}, [ className, cx ] );\n\n\tlet wrapperWidth = width;\n\tif ( isCompact ) {\n\t\t// Widths below represent the minimum usable width for compact controls.\n\t\t// Taller controls contain greater internal padding, thus greater width.\n\t\twrapperWidth = size === '__unstable-large' ? '116px' : '90px';\n\t}\n\tconst innerWrapperClassName = useMemo( () => {\n\t\tconst widthStyle = !! wrapperWidth && styles.wrapperWidth;\n\t\tconst heightStyle = styles.wrapperHeight( size );\n\n\t\treturn cx( styles.innerWrapper(), widthStyle, heightStyle );\n\t}, [ wrapperWidth, cx, size ] );\n\n\tconst sliderClassName = useMemo( () => {\n\t\treturn cx( styles.borderSlider() );\n\t}, [ cx ] );\n\n\treturn {\n\t\t...otherProps,\n\t\tclassName: classes,\n\t\tcolors,\n\t\tenableAlpha,\n\t\tenableStyle,\n\t\tinnerWrapperClassName,\n\t\tinputWidth: wrapperWidth,\n\t\tonBorderChange,\n\t\tonSliderChange,\n\t\tonWidthChange,\n\t\tpreviousStyleSelection: styleSelection,\n\t\tsliderClassName,\n\t\tvalue: border,\n\t\twidthUnit,\n\t\twidthValue,\n\t\tsize,\n\t\t__experimentalIsRenderedInSidebar,\n\t};\n}\n"]}