@wordpress/components 19.4.1 → 19.7.0-next.e230fbab09.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 (929) hide show
  1. package/CHANGELOG.md +34 -3
  2. package/CONTRIBUTING.md +69 -2
  3. package/build/alignment-matrix-control/utils.js +1 -1
  4. package/build/alignment-matrix-control/utils.js.map +1 -1
  5. package/build/angle-picker-control/angle-circle.js +1 -1
  6. package/build/angle-picker-control/angle-circle.js.map +1 -1
  7. package/build/animation/index.js +0 -6
  8. package/build/animation/index.js.map +1 -1
  9. package/build/autocomplete/get-default-use-items.js +3 -3
  10. package/build/autocomplete/get-default-use-items.js.map +1 -1
  11. package/build/base-field/hook.js +1 -1
  12. package/build/base-field/hook.js.map +1 -1
  13. package/build/box-control/icon.js +1 -1
  14. package/build/box-control/icon.js.map +1 -1
  15. package/build/box-control/index.js +4 -4
  16. package/build/box-control/index.js.map +1 -1
  17. package/build/box-control/unit-control.js +2 -2
  18. package/build/box-control/unit-control.js.map +1 -1
  19. package/build/box-control/utils.js +12 -8
  20. package/build/box-control/utils.js.map +1 -1
  21. package/build/button/index.js +5 -5
  22. package/build/button/index.js.map +1 -1
  23. package/build/button/index.native.js +7 -7
  24. package/build/button/index.native.js.map +1 -1
  25. package/build/card/card/component.js +2 -2
  26. package/build/card/card/component.js.map +1 -1
  27. package/build/card/card-body/component.js +1 -1
  28. package/build/card/card-body/component.js.map +1 -1
  29. package/build/card/card-divider/component.js +1 -1
  30. package/build/card/card-divider/component.js.map +1 -1
  31. package/build/card/card-footer/component.js +1 -1
  32. package/build/card/card-footer/component.js.map +1 -1
  33. package/build/card/card-header/component.js +1 -1
  34. package/build/card/card-header/component.js.map +1 -1
  35. package/build/card/card-media/component.js +1 -1
  36. package/build/card/card-media/component.js.map +1 -1
  37. package/build/color-palette/index.native.js +35 -30
  38. package/build/color-palette/index.native.js.map +1 -1
  39. package/build/color-picker/color-display.js +1 -1
  40. package/build/color-picker/color-display.js.map +1 -1
  41. package/build/color-picker/component.js.map +1 -1
  42. package/build/color-picker/hex-input.js +6 -9
  43. package/build/color-picker/hex-input.js.map +1 -1
  44. package/build/color-picker/styles.js +8 -8
  45. package/build/color-picker/styles.js.map +1 -1
  46. package/build/combobox-control/index.js +1 -1
  47. package/build/combobox-control/index.js.map +1 -1
  48. package/build/confirm-dialog/component.js +4 -2
  49. package/build/confirm-dialog/component.js.map +1 -1
  50. package/build/date-time/time.js +7 -4
  51. package/build/date-time/time.js.map +1 -1
  52. package/build/divider/component.js +5 -4
  53. package/build/divider/component.js.map +1 -1
  54. package/build/draggable/index.js +3 -3
  55. package/build/draggable/index.js.map +1 -1
  56. package/build/elevation/component.js +1 -1
  57. package/build/elevation/component.js.map +1 -1
  58. package/build/flex/flex/component.js +1 -1
  59. package/build/flex/flex/component.js.map +1 -1
  60. package/build/flex/flex-block/component.js +1 -1
  61. package/build/flex/flex-block/component.js.map +1 -1
  62. package/build/flex/flex-item/component.js +1 -1
  63. package/build/flex/flex-item/component.js.map +1 -1
  64. package/build/flyout/flyout/component.js +1 -1
  65. package/build/flyout/flyout/component.js.map +1 -1
  66. package/build/flyout/flyout-content/component.js +1 -1
  67. package/build/flyout/flyout-content/component.js.map +1 -1
  68. package/build/focal-point-picker/index.js +18 -12
  69. package/build/focal-point-picker/index.js.map +1 -1
  70. package/build/focal-point-picker/index.native.js +7 -7
  71. package/build/focal-point-picker/index.native.js.map +1 -1
  72. package/build/focal-point-picker/tooltip/index.native.js +1 -1
  73. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  74. package/build/font-size-picker/index.js +1 -2
  75. package/build/font-size-picker/index.js.map +1 -1
  76. package/build/form-token-field/index.js +6 -6
  77. package/build/form-token-field/index.js.map +1 -1
  78. package/build/form-token-field/suggestions-list.js +2 -2
  79. package/build/form-token-field/suggestions-list.js.map +1 -1
  80. package/build/grid/component.js +1 -1
  81. package/build/grid/component.js.map +1 -1
  82. package/build/h-stack/component.js +1 -1
  83. package/build/h-stack/component.js.map +1 -1
  84. package/build/heading/component.js +6 -5
  85. package/build/heading/component.js.map +1 -1
  86. package/build/heading/hook.js +1 -1
  87. package/build/heading/hook.js.map +1 -1
  88. package/build/higher-order/with-notices/index.js +1 -1
  89. package/build/higher-order/with-notices/index.js.map +1 -1
  90. package/build/index.js +14 -2
  91. package/build/index.js.map +1 -1
  92. package/build/index.native.js +15 -1
  93. package/build/index.native.js.map +1 -1
  94. package/build/input-control/index.js.map +1 -1
  95. package/build/input-control/input-base.js +1 -1
  96. package/build/input-control/input-base.js.map +1 -1
  97. package/build/input-control/input-field.js +19 -17
  98. package/build/input-control/input-field.js.map +1 -1
  99. package/build/input-control/reducer/reducer.js +3 -0
  100. package/build/input-control/reducer/reducer.js.map +1 -1
  101. package/build/input-control/styles/input-control-styles.js +25 -25
  102. package/build/input-control/styles/input-control-styles.js.map +1 -1
  103. package/build/isolated-event-container/index.js +1 -1
  104. package/build/isolated-event-container/index.js.map +1 -1
  105. package/build/item-group/item/component.js.map +1 -1
  106. package/build/item-group/item-group/component.js.map +1 -1
  107. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
  108. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  109. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
  110. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  111. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  112. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  113. package/build/mobile/bottom-sheet/cell.native.js +1 -1
  114. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  115. package/build/mobile/bottom-sheet/index.native.js +11 -11
  116. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  117. package/build/mobile/bottom-sheet/link-cell.native.js +1 -1
  118. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  119. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
  120. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  121. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
  122. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  123. package/build/mobile/color-settings/palette.screen.native.js +26 -9
  124. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  125. package/build/mobile/global-styles-context/utils.native.js +73 -19
  126. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  127. package/build/mobile/gradient/index.native.js +2 -2
  128. package/build/mobile/gradient/index.native.js.map +1 -1
  129. package/build/mobile/html-text-input/container.ios.js +3 -3
  130. package/build/mobile/html-text-input/container.ios.js.map +1 -1
  131. package/build/mobile/html-text-input/index.native.js +1 -1
  132. package/build/mobile/html-text-input/index.native.js.map +1 -1
  133. package/build/mobile/image/index.native.js +1 -1
  134. package/build/mobile/image/index.native.js.map +1 -1
  135. package/build/mobile/keyboard-aware-flat-list/index.android.js +1 -1
  136. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  137. package/build/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  138. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  139. package/build/mobile/link-picker/index.native.js +3 -3
  140. package/build/mobile/link-picker/index.native.js.map +1 -1
  141. package/build/mobile/link-picker/link-picker-results.native.js +8 -8
  142. package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
  143. package/build/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
  144. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  145. package/build/mobile/link-settings/index.native.js +1 -1
  146. package/build/mobile/link-settings/index.native.js.map +1 -1
  147. package/build/modal/aria-helper.js +1 -1
  148. package/build/modal/aria-helper.js.map +1 -1
  149. package/build/modal/index.js +2 -2
  150. package/build/modal/index.js.map +1 -1
  151. package/build/navigable-container/container.js +2 -2
  152. package/build/navigable-container/container.js.map +1 -1
  153. package/build/navigable-container/tabbable.js +1 -1
  154. package/build/navigable-container/tabbable.js.map +1 -1
  155. package/build/navigation/item/index.js +1 -1
  156. package/build/navigation/item/index.js.map +1 -1
  157. package/build/navigation/menu/index.js +1 -1
  158. package/build/navigation/menu/index.js.map +1 -1
  159. package/build/navigator/index.js +16 -0
  160. package/build/navigator/index.js.map +1 -1
  161. package/build/navigator/navigator-back-button/component.js +72 -0
  162. package/build/navigator/navigator-back-button/component.js.map +1 -0
  163. package/build/navigator/navigator-back-button/hook.js +49 -0
  164. package/build/navigator/navigator-back-button/hook.js.map +1 -0
  165. package/build/navigator/navigator-back-button/index.js +16 -0
  166. package/build/navigator/navigator-back-button/index.js.map +1 -0
  167. package/build/navigator/navigator-button/component.js +71 -0
  168. package/build/navigator/navigator-button/component.js.map +1 -0
  169. package/build/navigator/navigator-button/hook.js +59 -0
  170. package/build/navigator/navigator-button/hook.js.map +1 -0
  171. package/build/navigator/navigator-button/index.js +16 -0
  172. package/build/navigator/navigator-button/index.js.map +1 -0
  173. package/build/navigator/navigator-provider/component.js +12 -22
  174. package/build/navigator/navigator-provider/component.js.map +1 -1
  175. package/build/navigator/navigator-screen/component.js +14 -22
  176. package/build/navigator/navigator-screen/component.js.map +1 -1
  177. package/build/number-control/index.js +1 -1
  178. package/build/number-control/index.js.map +1 -1
  179. package/build/panel/body.js +2 -2
  180. package/build/panel/body.js.map +1 -1
  181. package/build/popover/index.js +3 -3
  182. package/build/popover/index.js.map +1 -1
  183. package/build/popover/utils.js +6 -6
  184. package/build/popover/utils.js.map +1 -1
  185. package/build/radio-group/index.js +1 -1
  186. package/build/radio-group/index.js.map +1 -1
  187. package/build/range-control/styles/range-control-styles.js +29 -29
  188. package/build/range-control/styles/range-control-styles.js.map +1 -1
  189. package/build/resizable-box/index.js.map +1 -1
  190. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  191. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  192. package/build/sandbox/index.js +5 -5
  193. package/build/sandbox/index.js.map +1 -1
  194. package/build/sandbox/index.native.js +1 -1
  195. package/build/sandbox/index.native.js.map +1 -1
  196. package/build/scrollable/component.js +1 -1
  197. package/build/scrollable/component.js.map +1 -1
  198. package/build/select-control/index.js +1 -1
  199. package/build/select-control/index.js.map +1 -1
  200. package/build/select-control/styles/select-control-styles.js +5 -5
  201. package/build/select-control/styles/select-control-styles.js.map +1 -1
  202. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  203. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  204. package/build/slot-fill/bubbles-virtually/slot.js +1 -1
  205. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  206. package/build/slot-fill/fill.js +1 -1
  207. package/build/slot-fill/fill.js.map +1 -1
  208. package/build/slot-fill/provider.js +1 -1
  209. package/build/slot-fill/provider.js.map +1 -1
  210. package/build/snackbar/index.js +1 -1
  211. package/build/snackbar/index.js.map +1 -1
  212. package/build/snackbar/list.js +1 -1
  213. package/build/snackbar/list.js.map +1 -1
  214. package/build/spacer/component.js.map +1 -1
  215. package/build/style-provider/index.js +2 -2
  216. package/build/style-provider/index.js.map +1 -1
  217. package/build/surface/component.js +1 -1
  218. package/build/surface/component.js.map +1 -1
  219. package/build/text/component.js +1 -1
  220. package/build/text/component.js.map +1 -1
  221. package/build/text-control/index.js +2 -2
  222. package/build/text-control/index.js.map +1 -1
  223. package/build/toggle-group-control/toggle-group-control/component.js +2 -2
  224. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  225. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  226. package/build/toggle-group-control/toggle-group-control-option/styles.js +8 -8
  227. package/build/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
  228. package/build/toolbar/index.js +1 -1
  229. package/build/toolbar/index.js.map +1 -1
  230. package/build/tools-panel/tools-panel/component.js.map +1 -1
  231. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  232. package/build/tools-panel/tools-panel-item/component.js.map +1 -1
  233. package/build/tooltip/index.js +3 -3
  234. package/build/tooltip/index.js.map +1 -1
  235. package/build/tooltip/index.native.js +7 -7
  236. package/build/tooltip/index.native.js.map +1 -1
  237. package/build/tree-grid/index.js +50 -6
  238. package/build/tree-grid/index.js.map +1 -1
  239. package/build/truncate/component.js +1 -1
  240. package/build/truncate/component.js.map +1 -1
  241. package/build/truncate/utils.js +1 -1
  242. package/build/truncate/utils.js.map +1 -1
  243. package/build/ui/context/context-connect.js +8 -15
  244. package/build/ui/context/context-connect.js.map +1 -1
  245. package/build/ui/context/context-system-provider.js +2 -2
  246. package/build/ui/context/context-system-provider.js.map +1 -1
  247. package/build/ui/context/index.js.map +1 -1
  248. package/build/ui/control-group/component.js +1 -1
  249. package/build/ui/control-group/component.js.map +1 -1
  250. package/build/ui/control-label/component.js +1 -1
  251. package/build/ui/control-label/component.js.map +1 -1
  252. package/build/ui/form-group/form-group.js +1 -1
  253. package/build/ui/form-group/form-group.js.map +1 -1
  254. package/build/ui/shortcut/component.js.map +1 -1
  255. package/build/ui/spinner/component.js +1 -1
  256. package/build/ui/spinner/component.js.map +1 -1
  257. package/build/ui/tooltip/component.js +1 -1
  258. package/build/ui/tooltip/component.js.map +1 -1
  259. package/build/ui/tooltip/content.js +1 -1
  260. package/build/ui/tooltip/content.js.map +1 -1
  261. package/build/ui/utils/colors.js +2 -2
  262. package/build/ui/utils/colors.js.map +1 -1
  263. package/build/ui/utils/space.js +2 -2
  264. package/build/ui/utils/space.js.map +1 -1
  265. package/build/unit-control/index.js +38 -29
  266. package/build/unit-control/index.js.map +1 -1
  267. package/build/unit-control/index.native.js +4 -2
  268. package/build/unit-control/index.native.js.map +1 -1
  269. package/build/unit-control/unit-select-control.js +1 -1
  270. package/build/unit-control/unit-select-control.js.map +1 -1
  271. package/build/unit-control/utils.js +96 -104
  272. package/build/unit-control/utils.js.map +1 -1
  273. package/build/utils/breakpoint-values.js +1 -1
  274. package/build/utils/breakpoint-values.js.map +1 -1
  275. package/build/utils/colors-values.js +1 -1
  276. package/build/utils/colors-values.js.map +1 -1
  277. package/build/v-stack/component.js +1 -1
  278. package/build/v-stack/component.js.map +1 -1
  279. package/build/visually-hidden/component.js +1 -1
  280. package/build/visually-hidden/component.js.map +1 -1
  281. package/build/z-stack/component.js.map +1 -1
  282. package/build-module/alignment-matrix-control/utils.js +1 -1
  283. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  284. package/build-module/angle-picker-control/angle-circle.js +1 -1
  285. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  286. package/build-module/animation/index.js +1 -1
  287. package/build-module/animation/index.js.map +1 -1
  288. package/build-module/autocomplete/get-default-use-items.js +3 -3
  289. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  290. package/build-module/base-field/hook.js +1 -1
  291. package/build-module/base-field/hook.js.map +1 -1
  292. package/build-module/box-control/icon.js +1 -1
  293. package/build-module/box-control/icon.js.map +1 -1
  294. package/build-module/box-control/index.js +5 -5
  295. package/build-module/box-control/index.js.map +1 -1
  296. package/build-module/box-control/unit-control.js +1 -1
  297. package/build-module/box-control/unit-control.js.map +1 -1
  298. package/build-module/box-control/utils.js +13 -9
  299. package/build-module/box-control/utils.js.map +1 -1
  300. package/build-module/button/index.js +5 -5
  301. package/build-module/button/index.js.map +1 -1
  302. package/build-module/button/index.native.js +7 -7
  303. package/build-module/button/index.native.js.map +1 -1
  304. package/build-module/card/card/component.js +2 -2
  305. package/build-module/card/card/component.js.map +1 -1
  306. package/build-module/card/card-body/component.js +1 -1
  307. package/build-module/card/card-body/component.js.map +1 -1
  308. package/build-module/card/card-divider/component.js +1 -1
  309. package/build-module/card/card-divider/component.js.map +1 -1
  310. package/build-module/card/card-footer/component.js +1 -1
  311. package/build-module/card/card-footer/component.js.map +1 -1
  312. package/build-module/card/card-header/component.js +1 -1
  313. package/build-module/card/card-header/component.js.map +1 -1
  314. package/build-module/card/card-media/component.js +1 -1
  315. package/build-module/card/card-media/component.js.map +1 -1
  316. package/build-module/color-palette/index.native.js +36 -31
  317. package/build-module/color-palette/index.native.js.map +1 -1
  318. package/build-module/color-picker/color-display.js +1 -1
  319. package/build-module/color-picker/color-display.js.map +1 -1
  320. package/build-module/color-picker/component.js.map +1 -1
  321. package/build-module/color-picker/hex-input.js +6 -9
  322. package/build-module/color-picker/hex-input.js.map +1 -1
  323. package/build-module/color-picker/styles.js +8 -8
  324. package/build-module/color-picker/styles.js.map +1 -1
  325. package/build-module/combobox-control/index.js +1 -1
  326. package/build-module/combobox-control/index.js.map +1 -1
  327. package/build-module/confirm-dialog/component.js +4 -5
  328. package/build-module/confirm-dialog/component.js.map +1 -1
  329. package/build-module/date-time/time.js +7 -4
  330. package/build-module/date-time/time.js.map +1 -1
  331. package/build-module/divider/component.js +3 -3
  332. package/build-module/divider/component.js.map +1 -1
  333. package/build-module/draggable/index.js +3 -3
  334. package/build-module/draggable/index.js.map +1 -1
  335. package/build-module/elevation/component.js +1 -1
  336. package/build-module/elevation/component.js.map +1 -1
  337. package/build-module/flex/flex/component.js +1 -1
  338. package/build-module/flex/flex/component.js.map +1 -1
  339. package/build-module/flex/flex-block/component.js +1 -1
  340. package/build-module/flex/flex-block/component.js.map +1 -1
  341. package/build-module/flex/flex-item/component.js +1 -1
  342. package/build-module/flex/flex-item/component.js.map +1 -1
  343. package/build-module/flyout/flyout/component.js +1 -1
  344. package/build-module/flyout/flyout/component.js.map +1 -1
  345. package/build-module/flyout/flyout-content/component.js +1 -1
  346. package/build-module/flyout/flyout-content/component.js.map +1 -1
  347. package/build-module/focal-point-picker/index.js +18 -12
  348. package/build-module/focal-point-picker/index.js.map +1 -1
  349. package/build-module/focal-point-picker/index.native.js +7 -7
  350. package/build-module/focal-point-picker/index.native.js.map +1 -1
  351. package/build-module/focal-point-picker/tooltip/index.native.js +1 -1
  352. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  353. package/build-module/font-size-picker/index.js +1 -2
  354. package/build-module/font-size-picker/index.js.map +1 -1
  355. package/build-module/form-token-field/index.js +6 -6
  356. package/build-module/form-token-field/index.js.map +1 -1
  357. package/build-module/form-token-field/suggestions-list.js +2 -2
  358. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  359. package/build-module/grid/component.js +1 -1
  360. package/build-module/grid/component.js.map +1 -1
  361. package/build-module/h-stack/component.js +1 -1
  362. package/build-module/h-stack/component.js.map +1 -1
  363. package/build-module/heading/component.js +4 -4
  364. package/build-module/heading/component.js.map +1 -1
  365. package/build-module/heading/hook.js +1 -1
  366. package/build-module/heading/hook.js.map +1 -1
  367. package/build-module/higher-order/with-notices/index.js +1 -1
  368. package/build-module/higher-order/with-notices/index.js.map +1 -1
  369. package/build-module/index.js +5 -5
  370. package/build-module/index.js.map +1 -1
  371. package/build-module/index.native.js +5 -5
  372. package/build-module/index.native.js.map +1 -1
  373. package/build-module/input-control/index.js.map +1 -1
  374. package/build-module/input-control/input-base.js +1 -1
  375. package/build-module/input-control/input-base.js.map +1 -1
  376. package/build-module/input-control/input-field.js +19 -16
  377. package/build-module/input-control/input-field.js.map +1 -1
  378. package/build-module/input-control/reducer/reducer.js +3 -0
  379. package/build-module/input-control/reducer/reducer.js.map +1 -1
  380. package/build-module/input-control/styles/input-control-styles.js +25 -25
  381. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  382. package/build-module/isolated-event-container/index.js +1 -1
  383. package/build-module/isolated-event-container/index.js.map +1 -1
  384. package/build-module/item-group/item/component.js.map +1 -1
  385. package/build-module/item-group/item-group/component.js.map +1 -1
  386. package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
  387. package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  388. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
  389. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  390. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  391. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  392. package/build-module/mobile/bottom-sheet/cell.native.js +1 -1
  393. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  394. package/build-module/mobile/bottom-sheet/index.native.js +11 -11
  395. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  396. package/build-module/mobile/bottom-sheet/link-cell.native.js +1 -1
  397. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  398. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
  399. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  400. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
  401. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  402. package/build-module/mobile/color-settings/palette.screen.native.js +27 -10
  403. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  404. package/build-module/mobile/global-styles-context/utils.native.js +70 -20
  405. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  406. package/build-module/mobile/gradient/index.native.js +2 -2
  407. package/build-module/mobile/gradient/index.native.js.map +1 -1
  408. package/build-module/mobile/html-text-input/container.ios.js +3 -3
  409. package/build-module/mobile/html-text-input/container.ios.js.map +1 -1
  410. package/build-module/mobile/html-text-input/index.native.js +1 -1
  411. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  412. package/build-module/mobile/image/index.native.js +1 -1
  413. package/build-module/mobile/image/index.native.js.map +1 -1
  414. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +1 -1
  415. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  416. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  417. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  418. package/build-module/mobile/link-picker/index.native.js +3 -3
  419. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  420. package/build-module/mobile/link-picker/link-picker-results.native.js +8 -8
  421. package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
  422. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
  423. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  424. package/build-module/mobile/link-settings/index.native.js +1 -1
  425. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  426. package/build-module/modal/aria-helper.js +1 -1
  427. package/build-module/modal/aria-helper.js.map +1 -1
  428. package/build-module/modal/index.js +2 -2
  429. package/build-module/modal/index.js.map +1 -1
  430. package/build-module/navigable-container/container.js +2 -2
  431. package/build-module/navigable-container/container.js.map +1 -1
  432. package/build-module/navigable-container/tabbable.js +1 -1
  433. package/build-module/navigable-container/tabbable.js.map +1 -1
  434. package/build-module/navigation/item/index.js +1 -1
  435. package/build-module/navigation/item/index.js.map +1 -1
  436. package/build-module/navigation/menu/index.js +1 -1
  437. package/build-module/navigation/menu/index.js.map +1 -1
  438. package/build-module/navigator/index.js +2 -0
  439. package/build-module/navigator/index.js.map +1 -1
  440. package/build-module/navigator/navigator-back-button/component.js +59 -0
  441. package/build-module/navigator/navigator-back-button/component.js.map +1 -0
  442. package/build-module/navigator/navigator-back-button/hook.js +36 -0
  443. package/build-module/navigator/navigator-back-button/hook.js.map +1 -0
  444. package/build-module/navigator/navigator-back-button/index.js +2 -0
  445. package/build-module/navigator/navigator-back-button/index.js.map +1 -0
  446. package/build-module/navigator/navigator-button/component.js +58 -0
  447. package/build-module/navigator/navigator-button/component.js.map +1 -0
  448. package/build-module/navigator/navigator-button/hook.js +46 -0
  449. package/build-module/navigator/navigator-button/hook.js.map +1 -0
  450. package/build-module/navigator/navigator-button/index.js +2 -0
  451. package/build-module/navigator/navigator-button/index.js.map +1 -0
  452. package/build-module/navigator/navigator-provider/component.js +12 -22
  453. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  454. package/build-module/navigator/navigator-screen/component.js +13 -22
  455. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  456. package/build-module/number-control/index.js +1 -1
  457. package/build-module/number-control/index.js.map +1 -1
  458. package/build-module/panel/body.js +2 -2
  459. package/build-module/panel/body.js.map +1 -1
  460. package/build-module/popover/index.js +3 -3
  461. package/build-module/popover/index.js.map +1 -1
  462. package/build-module/popover/utils.js +6 -6
  463. package/build-module/popover/utils.js.map +1 -1
  464. package/build-module/radio-group/index.js +1 -1
  465. package/build-module/radio-group/index.js.map +1 -1
  466. package/build-module/range-control/styles/range-control-styles.js +29 -29
  467. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  468. package/build-module/resizable-box/index.js.map +1 -1
  469. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  470. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  471. package/build-module/sandbox/index.js +5 -5
  472. package/build-module/sandbox/index.js.map +1 -1
  473. package/build-module/sandbox/index.native.js +1 -1
  474. package/build-module/sandbox/index.native.js.map +1 -1
  475. package/build-module/scrollable/component.js +1 -1
  476. package/build-module/scrollable/component.js.map +1 -1
  477. package/build-module/select-control/index.js +2 -2
  478. package/build-module/select-control/index.js.map +1 -1
  479. package/build-module/select-control/styles/select-control-styles.js +5 -5
  480. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  481. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  482. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  483. package/build-module/slot-fill/bubbles-virtually/slot.js +1 -1
  484. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  485. package/build-module/slot-fill/fill.js +1 -1
  486. package/build-module/slot-fill/fill.js.map +1 -1
  487. package/build-module/slot-fill/provider.js +1 -1
  488. package/build-module/slot-fill/provider.js.map +1 -1
  489. package/build-module/snackbar/index.js +1 -1
  490. package/build-module/snackbar/index.js.map +1 -1
  491. package/build-module/snackbar/list.js +1 -1
  492. package/build-module/snackbar/list.js.map +1 -1
  493. package/build-module/spacer/component.js.map +1 -1
  494. package/build-module/style-provider/index.js +2 -2
  495. package/build-module/style-provider/index.js.map +1 -1
  496. package/build-module/surface/component.js +1 -1
  497. package/build-module/surface/component.js.map +1 -1
  498. package/build-module/text/component.js +1 -1
  499. package/build-module/text/component.js.map +1 -1
  500. package/build-module/text-control/index.js +2 -2
  501. package/build-module/text-control/index.js.map +1 -1
  502. package/build-module/toggle-group-control/toggle-group-control/component.js +2 -2
  503. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  504. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  505. package/build-module/toggle-group-control/toggle-group-control-option/styles.js +8 -8
  506. package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
  507. package/build-module/toolbar/index.js +1 -1
  508. package/build-module/toolbar/index.js.map +1 -1
  509. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  510. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  511. package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
  512. package/build-module/tooltip/index.js +3 -3
  513. package/build-module/tooltip/index.js.map +1 -1
  514. package/build-module/tooltip/index.native.js +7 -7
  515. package/build-module/tooltip/index.native.js.map +1 -1
  516. package/build-module/tree-grid/index.js +51 -7
  517. package/build-module/tree-grid/index.js.map +1 -1
  518. package/build-module/truncate/component.js +1 -1
  519. package/build-module/truncate/component.js.map +1 -1
  520. package/build-module/truncate/utils.js +1 -1
  521. package/build-module/truncate/utils.js.map +1 -1
  522. package/build-module/ui/context/context-connect.js +9 -16
  523. package/build-module/ui/context/context-connect.js.map +1 -1
  524. package/build-module/ui/context/context-system-provider.js +2 -2
  525. package/build-module/ui/context/context-system-provider.js.map +1 -1
  526. package/build-module/ui/context/index.js.map +1 -1
  527. package/build-module/ui/control-group/component.js +1 -1
  528. package/build-module/ui/control-group/component.js.map +1 -1
  529. package/build-module/ui/control-label/component.js +1 -1
  530. package/build-module/ui/control-label/component.js.map +1 -1
  531. package/build-module/ui/form-group/form-group.js +1 -1
  532. package/build-module/ui/form-group/form-group.js.map +1 -1
  533. package/build-module/ui/shortcut/component.js.map +1 -1
  534. package/build-module/ui/spinner/component.js +1 -1
  535. package/build-module/ui/spinner/component.js.map +1 -1
  536. package/build-module/ui/tooltip/component.js +1 -1
  537. package/build-module/ui/tooltip/component.js.map +1 -1
  538. package/build-module/ui/tooltip/content.js +1 -1
  539. package/build-module/ui/tooltip/content.js.map +1 -1
  540. package/build-module/ui/utils/colors.js +2 -2
  541. package/build-module/ui/utils/colors.js.map +1 -1
  542. package/build-module/ui/utils/space.js +2 -2
  543. package/build-module/ui/utils/space.js.map +1 -1
  544. package/build-module/unit-control/index.js +39 -30
  545. package/build-module/unit-control/index.js.map +1 -1
  546. package/build-module/unit-control/index.native.js +5 -3
  547. package/build-module/unit-control/index.native.js.map +1 -1
  548. package/build-module/unit-control/unit-select-control.js +1 -1
  549. package/build-module/unit-control/unit-select-control.js.map +1 -1
  550. package/build-module/unit-control/utils.js +92 -100
  551. package/build-module/unit-control/utils.js.map +1 -1
  552. package/build-module/utils/breakpoint-values.js +1 -1
  553. package/build-module/utils/breakpoint-values.js.map +1 -1
  554. package/build-module/utils/colors-values.js +1 -1
  555. package/build-module/utils/colors-values.js.map +1 -1
  556. package/build-module/v-stack/component.js +1 -1
  557. package/build-module/v-stack/component.js.map +1 -1
  558. package/build-module/visually-hidden/component.js +1 -1
  559. package/build-module/visually-hidden/component.js.map +1 -1
  560. package/build-module/z-stack/component.js.map +1 -1
  561. package/build-style/style-rtl.css +8 -0
  562. package/build-style/style.css +8 -0
  563. package/build-types/base-field/hook.d.ts +2 -1
  564. package/build-types/base-field/hook.d.ts.map +1 -1
  565. package/build-types/card/card/hook.d.ts +2 -1
  566. package/build-types/card/card/hook.d.ts.map +1 -1
  567. package/build-types/card/card-body/hook.d.ts +2 -1
  568. package/build-types/card/card-body/hook.d.ts.map +1 -1
  569. package/build-types/card/card-divider/hook.d.ts +2 -3
  570. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  571. package/build-types/card/card-footer/hook.d.ts +2 -1
  572. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  573. package/build-types/card/card-header/hook.d.ts +2 -1
  574. package/build-types/card/card-header/hook.d.ts.map +1 -1
  575. package/build-types/card/card-media/hook.d.ts +2 -1
  576. package/build-types/card/card-media/hook.d.ts.map +1 -1
  577. package/build-types/color-picker/styles.d.ts +2 -4
  578. package/build-types/color-picker/styles.d.ts.map +1 -1
  579. package/build-types/confirm-dialog/component.d.ts +10 -6
  580. package/build-types/confirm-dialog/component.d.ts.map +1 -1
  581. package/build-types/confirm-dialog/types.d.ts +2 -0
  582. package/build-types/confirm-dialog/types.d.ts.map +1 -1
  583. package/build-types/divider/component.d.ts +2 -2
  584. package/build-types/divider/component.d.ts.map +1 -1
  585. package/build-types/divider/stories/index.d.ts +10 -0
  586. package/build-types/divider/stories/index.d.ts.map +1 -0
  587. package/build-types/divider/types.d.ts +1 -1
  588. package/build-types/divider/types.d.ts.map +1 -1
  589. package/build-types/elevation/hook.d.ts +2 -1
  590. package/build-types/elevation/hook.d.ts.map +1 -1
  591. package/build-types/flex/flex/hook.d.ts +2 -1
  592. package/build-types/flex/flex/hook.d.ts.map +1 -1
  593. package/build-types/flex/flex-block/hook.d.ts +2 -1
  594. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  595. package/build-types/flex/flex-item/hook.d.ts +2 -1
  596. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  597. package/build-types/flyout/flyout/hook.d.ts +2 -2
  598. package/build-types/grid/hook.d.ts +2 -1
  599. package/build-types/grid/hook.d.ts.map +1 -1
  600. package/build-types/h-stack/hook.d.ts +3 -2
  601. package/build-types/h-stack/hook.d.ts.map +1 -1
  602. package/build-types/heading/component.d.ts +3 -3
  603. package/build-types/heading/component.d.ts.map +1 -1
  604. package/build-types/heading/hook.d.ts +2 -1
  605. package/build-types/heading/hook.d.ts.map +1 -1
  606. package/build-types/heading/stories/index.d.ts +12 -0
  607. package/build-types/heading/stories/index.d.ts.map +1 -0
  608. package/build-types/input-control/index.d.ts +3 -3
  609. package/build-types/input-control/index.d.ts.map +1 -1
  610. package/build-types/input-control/input-base.d.ts +2 -2
  611. package/build-types/input-control/input-base.d.ts.map +1 -1
  612. package/build-types/input-control/input-field.d.ts +1 -3
  613. package/build-types/input-control/input-field.d.ts.map +1 -1
  614. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  615. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  616. package/build-types/input-control/types.d.ts +1 -1
  617. package/build-types/input-control/types.d.ts.map +1 -1
  618. package/build-types/item-group/item/hook.d.ts +2 -1
  619. package/build-types/item-group/item/hook.d.ts.map +1 -1
  620. package/build-types/item-group/item-group/hook.d.ts +2 -1
  621. package/build-types/item-group/item-group/hook.d.ts.map +1 -1
  622. package/build-types/navigator/index.d.ts +2 -0
  623. package/build-types/navigator/index.d.ts.map +1 -1
  624. package/build-types/navigator/navigator-back-button/component.d.ts +38 -0
  625. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -0
  626. package/build-types/navigator/navigator-back-button/hook.d.ts +283 -0
  627. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -0
  628. package/build-types/navigator/navigator-back-button/index.d.ts +2 -0
  629. package/build-types/navigator/navigator-back-button/index.d.ts.map +1 -0
  630. package/build-types/navigator/navigator-button/component.d.ts +37 -0
  631. package/build-types/navigator/navigator-button/component.d.ts.map +1 -0
  632. package/build-types/navigator/navigator-button/hook.d.ts +283 -0
  633. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -0
  634. package/build-types/navigator/navigator-button/index.d.ts +2 -0
  635. package/build-types/navigator/navigator-button/index.d.ts.map +1 -0
  636. package/build-types/navigator/navigator-provider/component.d.ts +10 -20
  637. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  638. package/build-types/navigator/navigator-screen/component.d.ts +10 -20
  639. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  640. package/build-types/navigator/types.d.ts +21 -0
  641. package/build-types/navigator/types.d.ts.map +1 -1
  642. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  643. package/build-types/resizable-box/index.d.ts +2 -2
  644. package/build-types/resizable-box/index.d.ts.map +1 -1
  645. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
  646. package/build-types/scrollable/hook.d.ts +2 -1
  647. package/build-types/scrollable/hook.d.ts.map +1 -1
  648. package/build-types/select-control/index.d.ts +1 -3
  649. package/build-types/select-control/index.d.ts.map +1 -1
  650. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  651. package/build-types/spacer/hook.d.ts +2 -1
  652. package/build-types/spacer/hook.d.ts.map +1 -1
  653. package/build-types/surface/hook.d.ts +2 -1
  654. package/build-types/surface/hook.d.ts.map +1 -1
  655. package/build-types/text/hook.d.ts +2 -1
  656. package/build-types/text/hook.d.ts.map +1 -1
  657. package/build-types/text/types.d.ts +1 -2
  658. package/build-types/text/types.d.ts.map +1 -1
  659. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -1
  660. package/build-types/tools-panel/tools-panel/hook.d.ts +2 -1
  661. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  662. package/build-types/tools-panel/tools-panel-header/hook.d.ts +2 -1
  663. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  664. package/build-types/tools-panel/tools-panel-item/hook.d.ts +2 -1
  665. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  666. package/build-types/truncate/hook.d.ts +2 -1
  667. package/build-types/truncate/hook.d.ts.map +1 -1
  668. package/build-types/ui/context/context-connect.d.ts +18 -16
  669. package/build-types/ui/context/context-connect.d.ts.map +1 -1
  670. package/build-types/ui/context/index.d.ts +4 -4
  671. package/build-types/ui/context/index.d.ts.map +1 -1
  672. package/build-types/ui/context/wordpress-component.d.ts +3 -6
  673. package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
  674. package/build-types/ui/control-group/hook.d.ts +2 -1
  675. package/build-types/ui/control-group/hook.d.ts.map +1 -1
  676. package/build-types/ui/control-label/hook.d.ts +2 -1
  677. package/build-types/ui/control-label/hook.d.ts.map +1 -1
  678. package/build-types/ui/form-group/use-form-group.d.ts +6 -4
  679. package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
  680. package/build-types/unit-control/index.d.ts +3 -5
  681. package/build-types/unit-control/index.d.ts.map +1 -1
  682. package/build-types/unit-control/types.d.ts +4 -6
  683. package/build-types/unit-control/types.d.ts.map +1 -1
  684. package/build-types/unit-control/utils.d.ts +47 -38
  685. package/build-types/unit-control/utils.d.ts.map +1 -1
  686. package/build-types/v-stack/hook.d.ts +2 -1
  687. package/build-types/v-stack/hook.d.ts.map +1 -1
  688. package/build-types/z-stack/component.d.ts.map +1 -1
  689. package/package.json +19 -18
  690. package/src/alignment-matrix-control/README.md +4 -0
  691. package/src/alignment-matrix-control/stories/index.js +1 -1
  692. package/src/alignment-matrix-control/utils.js +1 -1
  693. package/src/angle-picker-control/angle-circle.js +1 -1
  694. package/src/animation/index.js +0 -1
  695. package/src/autocomplete/get-default-use-items.js +3 -3
  696. package/src/base-control/stories/index.js +65 -22
  697. package/src/base-field/hook.js +1 -1
  698. package/src/box-control/icon.js +1 -1
  699. package/src/box-control/index.js +5 -5
  700. package/src/box-control/stories/index.js +4 -1
  701. package/src/box-control/test/index.js +27 -7
  702. package/src/box-control/unit-control.js +1 -1
  703. package/src/box-control/utils.js +13 -9
  704. package/src/button/index.js +5 -5
  705. package/src/button/index.native.js +7 -7
  706. package/src/button/style.scss +1 -0
  707. package/src/card/card/component.js +1 -1
  708. package/src/card/card-body/component.js +1 -1
  709. package/src/card/card-divider/component.js +1 -1
  710. package/src/card/card-footer/component.js +1 -1
  711. package/src/card/card-header/component.js +1 -1
  712. package/src/card/card-media/component.js +1 -1
  713. package/src/color-palette/index.native.js +92 -75
  714. package/src/color-palette/style.native.scss +10 -5
  715. package/src/color-palette/style.scss +1 -0
  716. package/src/color-picker/color-display.tsx +1 -1
  717. package/src/color-picker/component.tsx +2 -2
  718. package/src/color-picker/hex-input.tsx +9 -9
  719. package/src/color-picker/styles.ts +1 -1
  720. package/src/color-picker/test/index.js +1 -1
  721. package/src/combobox-control/index.js +1 -1
  722. package/src/combobox-control/style.scss +1 -0
  723. package/src/confirm-dialog/README.md +56 -45
  724. package/src/confirm-dialog/component.tsx +6 -4
  725. package/src/confirm-dialog/stories/index.js +19 -0
  726. package/src/confirm-dialog/test/index.js +28 -0
  727. package/src/confirm-dialog/types.ts +2 -0
  728. package/src/date-time/style.scss +4 -0
  729. package/src/date-time/time.js +16 -5
  730. package/src/dimension-control/test/index.test.js +1 -1
  731. package/src/disabled/test/index.js +1 -1
  732. package/src/divider/component.tsx +5 -5
  733. package/src/divider/stories/index.tsx +70 -0
  734. package/src/divider/types.ts +3 -1
  735. package/src/draggable/index.js +3 -3
  736. package/src/draggable/stories/index.js +1 -1
  737. package/src/elevation/component.js +1 -1
  738. package/src/flex/flex/component.js +1 -1
  739. package/src/flex/flex-block/component.js +1 -1
  740. package/src/flex/flex-item/component.js +1 -1
  741. package/src/flyout/flyout/README.md +1 -1
  742. package/src/flyout/flyout/component.js +1 -1
  743. package/src/flyout/flyout-content/component.js +1 -1
  744. package/src/flyout/test/index.js +1 -1
  745. package/src/focal-point-picker/README.md +7 -0
  746. package/src/focal-point-picker/index.js +12 -7
  747. package/src/focal-point-picker/index.native.js +7 -7
  748. package/src/focal-point-picker/stories/index.js +30 -0
  749. package/src/focal-point-picker/test/index.js +44 -0
  750. package/src/focal-point-picker/tooltip/index.native.js +1 -1
  751. package/src/font-size-picker/README.md +1 -2
  752. package/src/font-size-picker/index.js +1 -2
  753. package/src/font-size-picker/stories/index.js +87 -108
  754. package/src/form-file-upload/README.md +1 -1
  755. package/src/form-file-upload/stories/index.js +51 -0
  756. package/src/form-token-field/index.js +6 -6
  757. package/src/form-token-field/style.scss +1 -0
  758. package/src/form-token-field/suggestions-list.js +2 -2
  759. package/src/form-token-field/test/index.js +6 -6
  760. package/src/grid/component.js +1 -1
  761. package/src/h-stack/component.js +1 -1
  762. package/src/heading/component.tsx +6 -6
  763. package/src/heading/hook.ts +1 -1
  764. package/src/heading/stories/index.tsx +37 -0
  765. package/src/higher-order/with-filters/test/index.js +1 -1
  766. package/src/higher-order/with-focus-outside/test/index.js +1 -1
  767. package/src/higher-order/with-notices/index.js +1 -1
  768. package/src/higher-order/with-notices/test/index.js +3 -3
  769. package/src/index.js +6 -4
  770. package/src/index.native.js +9 -5
  771. package/src/input-control/index.tsx +2 -2
  772. package/src/input-control/input-base.tsx +3 -3
  773. package/src/input-control/input-field.tsx +16 -15
  774. package/src/input-control/reducer/reducer.ts +3 -0
  775. package/src/input-control/stories/index.js +1 -1
  776. package/src/input-control/styles/input-control-styles.tsx +1 -0
  777. package/src/input-control/test/index.js +4 -4
  778. package/src/input-control/types.ts +1 -1
  779. package/src/isolated-event-container/index.js +1 -1
  780. package/src/item-group/item/component.tsx +2 -2
  781. package/src/item-group/item-group/component.tsx +2 -2
  782. package/src/item-group/test/index.js +0 -1
  783. package/src/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
  784. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
  785. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -1
  786. package/src/mobile/bottom-sheet/cell.native.js +1 -1
  787. package/src/mobile/bottom-sheet/index.native.js +11 -11
  788. package/src/mobile/bottom-sheet/link-cell.native.js +1 -1
  789. package/src/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
  790. package/src/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
  791. package/src/mobile/color-settings/palette.screen.native.js +39 -9
  792. package/src/mobile/color-settings/style.native.scss +4 -0
  793. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +27 -0
  794. package/src/mobile/global-styles-context/test/utils.native.js +2 -2
  795. package/src/mobile/global-styles-context/utils.native.js +85 -16
  796. package/src/mobile/gradient/index.native.js +2 -2
  797. package/src/mobile/html-text-input/container.ios.js +3 -3
  798. package/src/mobile/html-text-input/index.native.js +1 -1
  799. package/src/mobile/html-text-input/test/index.native.js +14 -14
  800. package/src/mobile/image/index.native.js +1 -1
  801. package/src/mobile/image/style.native.scss +1 -0
  802. package/src/mobile/keyboard-aware-flat-list/index.android.js +1 -1
  803. package/src/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
  804. package/src/mobile/link-picker/index.native.js +3 -3
  805. package/src/mobile/link-picker/link-picker-results.native.js +8 -8
  806. package/src/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
  807. package/src/mobile/link-settings/index.native.js +1 -2
  808. package/src/mobile/link-settings/test/edit.native.js +15 -15
  809. package/src/modal/aria-helper.js +1 -1
  810. package/src/modal/index.js +2 -2
  811. package/src/navigable-container/container.js +2 -2
  812. package/src/navigable-container/tabbable.js +1 -1
  813. package/src/navigable-container/test/menu.js +5 -5
  814. package/src/navigable-container/test/tabbable.js +2 -2
  815. package/src/navigation/item/index.js +1 -1
  816. package/src/navigation/menu/index.js +1 -1
  817. package/src/navigation/stories/controlled-state.js +2 -2
  818. package/src/navigation/stories/index.js +1 -1
  819. package/src/navigator/index.ts +2 -0
  820. package/src/navigator/navigator-back-button/README.md +31 -0
  821. package/src/navigator/navigator-back-button/component.tsx +62 -0
  822. package/src/navigator/navigator-back-button/hook.ts +40 -0
  823. package/src/navigator/navigator-back-button/index.ts +1 -0
  824. package/src/navigator/navigator-button/README.md +38 -0
  825. package/src/navigator/navigator-button/component.tsx +61 -0
  826. package/src/navigator/navigator-button/hook.ts +55 -0
  827. package/src/navigator/navigator-button/index.ts +1 -0
  828. package/src/navigator/navigator-provider/README.md +20 -33
  829. package/src/navigator/navigator-provider/component.tsx +13 -23
  830. package/src/navigator/navigator-screen/README.md +1 -1
  831. package/src/navigator/navigator-screen/component.tsx +16 -25
  832. package/src/navigator/stories/index.js +24 -37
  833. package/src/navigator/test/index.js +105 -51
  834. package/src/navigator/types.ts +27 -1
  835. package/src/number-control/index.js +1 -1
  836. package/src/number-control/stories/index.js +1 -1
  837. package/src/panel/body.js +2 -2
  838. package/src/popover/index.js +3 -3
  839. package/src/popover/utils.js +6 -6
  840. package/src/radio/stories/index.js +1 -1
  841. package/src/radio-group/index.js +1 -1
  842. package/src/radio-group/stories/index.js +4 -1
  843. package/src/range-control/stories/index.js +1 -1
  844. package/src/range-control/styles/range-control-styles.js +1 -1
  845. package/src/range-control/test/index.js +2 -2
  846. package/src/resizable-box/index.tsx +2 -2
  847. package/src/resizable-box/resize-tooltip/index.tsx +2 -2
  848. package/src/resizable-box/resize-tooltip/label.tsx +2 -2
  849. package/src/sandbox/index.js +5 -5
  850. package/src/sandbox/index.native.js +1 -1
  851. package/src/scrollable/component.js +1 -1
  852. package/src/select-control/index.tsx +3 -4
  853. package/src/select-control/styles/select-control-styles.ts +1 -0
  854. package/src/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  855. package/src/slot-fill/bubbles-virtually/slot.js +1 -2
  856. package/src/slot-fill/fill.js +1 -1
  857. package/src/slot-fill/provider.js +1 -1
  858. package/src/snackbar/index.js +1 -1
  859. package/src/snackbar/list.js +1 -1
  860. package/src/spacer/component.tsx +2 -2
  861. package/src/style-provider/index.js +2 -2
  862. package/src/surface/component.js +1 -1
  863. package/src/tab-panel/test/index.js +1 -1
  864. package/src/text/component.js +1 -1
  865. package/src/text/test/index.js +2 -2
  866. package/src/text/types.ts +6 -8
  867. package/src/text-control/index.js +2 -2
  868. package/src/text-highlight/test/index.js +4 -4
  869. package/src/toggle-control/test/index.js +3 -3
  870. package/src/toggle-group-control/stories/index.js +1 -1
  871. package/src/toggle-group-control/test/__snapshots__/index.js.snap +1 -0
  872. package/src/toggle-group-control/toggle-group-control/component.tsx +4 -4
  873. package/src/toggle-group-control/toggle-group-control-option/component.tsx +2 -2
  874. package/src/toggle-group-control/toggle-group-control-option/styles.ts +1 -0
  875. package/src/toolbar/index.js +1 -1
  876. package/src/toolbar-group/test/index.js +2 -2
  877. package/src/tools-panel/stories/index.js +0 -1
  878. package/src/tools-panel/tools-panel/component.tsx +2 -2
  879. package/src/tools-panel/tools-panel-header/component.tsx +2 -2
  880. package/src/tools-panel/tools-panel-item/component.tsx +2 -2
  881. package/src/tooltip/index.js +3 -3
  882. package/src/tooltip/index.native.js +7 -7
  883. package/src/tooltip/test/index.js +2 -2
  884. package/src/tooltip/test/index.native.js +2 -2
  885. package/src/tree-grid/README.md +24 -1
  886. package/src/tree-grid/index.js +66 -7
  887. package/src/tree-grid/stories/index.js +4 -1
  888. package/src/tree-grid/test/__snapshots__/index.js.snap +1 -14
  889. package/src/tree-grid/test/index.js +259 -8
  890. package/src/truncate/component.js +1 -1
  891. package/src/truncate/utils.js +1 -1
  892. package/src/ui/context/{context-connect.js → context-connect.ts} +27 -16
  893. package/src/ui/context/context-system-provider.js +2 -2
  894. package/src/ui/context/{index.js → index.ts} +0 -0
  895. package/src/ui/context/wordpress-component.ts +3 -2
  896. package/src/ui/control-group/component.js +1 -1
  897. package/src/ui/control-label/component.js +1 -1
  898. package/src/ui/form-group/form-group.js +1 -1
  899. package/src/ui/shortcut/component.tsx +2 -2
  900. package/src/ui/spinner/component.js +1 -1
  901. package/src/ui/tooltip/component.js +1 -1
  902. package/src/ui/tooltip/content.js +1 -1
  903. package/src/ui/tooltip/test/index.js +4 -4
  904. package/src/ui/utils/colors.js +2 -2
  905. package/src/ui/utils/space.ts +2 -2
  906. package/src/unit-control/README.md +1 -1
  907. package/src/unit-control/index.native.js +5 -3
  908. package/src/unit-control/index.tsx +66 -37
  909. package/src/unit-control/stories/index.js +1 -1
  910. package/src/unit-control/test/index.js +102 -3
  911. package/src/unit-control/test/utils.js +56 -15
  912. package/src/unit-control/types.ts +5 -8
  913. package/src/unit-control/unit-select-control.tsx +1 -1
  914. package/src/unit-control/utils.ts +128 -125
  915. package/src/utils/breakpoint-values.js +1 -1
  916. package/src/utils/colors-values.js +1 -1
  917. package/src/utils/hooks/test/use-controlled-state.js +1 -1
  918. package/src/utils/hooks/test/use-controlled-value.js +3 -3
  919. package/src/utils/hooks/test/use-latest-ref.js +1 -1
  920. package/src/utils/test/math.js +2 -2
  921. package/src/utils/test/rtl.js +12 -12
  922. package/src/v-stack/component.js +1 -1
  923. package/src/visually-hidden/component.js +1 -1
  924. package/src/z-stack/component.tsx +2 -2
  925. package/tsconfig.json +1 -1
  926. package/tsconfig.tsbuildinfo +1 -1
  927. package/src/divider/stories/index.js +0 -64
  928. package/src/heading/stories/index.js +0 -24
  929. package/src/tools-panel/stories/typography-panel.js +0 -215
package/CHANGELOG.md CHANGED
@@ -2,6 +2,31 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 19.6.0-next.0 (2022-03-09)
6
+
7
+ ### Enhancements
8
+
9
+ - `ConfirmDialog`: Add support for custom label text on the confirmation and cancelation buttons ([#38994](https://github.com/WordPress/gutenberg/pull/38994))
10
+ - `InputControl`: Allow `onBlur` for empty values to commit the change when `isPressEnterToChange` is true, and move reset behavior to the ESCAPE key. ([#39109](https://github.com/WordPress/gutenberg/pull/39109)).
11
+
12
+ ### Bug Fix
13
+
14
+ - Normalize `font-family` on `Button`, `ColorPalette`, `ComoboboxControl`, `DateTimePicker`, `FormTokenField`, `InputControl`, `SelectControl`, and `ToggleGroupControl` ([#38969](https://github.com/WordPress/gutenberg/pull/38969)).
15
+ - Fix input value selection of `InputControl`-based controls in Firefox and Safari with axial constraint of drag gesture ([#38968](https://github.com/WordPress/gutenberg/pull/38968)).
16
+ - Fix `UnitControl`'s behavior around updating the unit when a new `value` is passed (i.e. in controlled mode). ([#39148](https://github.com/WordPress/gutenberg/pull/39148)).
17
+
18
+ ## 19.5.0 (2022-02-23)
19
+
20
+ ### Bug Fix
21
+
22
+ - Fix spin buttons of number inputs in Safari ([#38840](https://github.com/WordPress/gutenberg/pull/38840))
23
+ - Show tooltip on toggle custom size button in FontSizePicker ([#38985](https://github.com/WordPress/gutenberg/pull/38985))
24
+
25
+ ### Enhancements
26
+
27
+ - `TreeGrid`: Add tests for `onCollapseRow`, `onExpandRow`, and `onFocusRow` callback functions. ([#38942](https://github.com/WordPress/gutenberg/pull/38942)).
28
+ - `TreeGrid`: Update callback tests to use `TreeGridRow` and `TreeGridCell` sub-components. ([#39002](https://github.com/WordPress/gutenberg/pull/39002)).
29
+
5
30
  ## 19.4.0 (2022-02-10)
6
31
 
7
32
  ### Bug Fix
@@ -18,12 +43,17 @@
18
43
  ### Enhancements
19
44
 
20
45
  - Update the visual design of the `Spinner` component. ([#37551](https://github.com/WordPress/gutenberg/pull/37551))
21
- - `TreeGrid` accessibility enhancements around the expand/collapse functionality. ([#38358](https://github.com/WordPress/gutenberg/pull/38358))
22
- - `TreeGrid` accessibility: improve browser support for Left Arrow focus to parent row in child row. ([#38639](https://github.com/WordPress/gutenberg/pull/38639))
46
+ - `TreeGrid` accessibility enhancements around the expand/collapse functionality. ([#38358](https://github.com/WordPress/gutenberg/pull/38358))
47
+ - `TreeGrid` accessibility: improve browser support for Left Arrow focus to parent row in child row. ([#38639](https://github.com/WordPress/gutenberg/pull/38639))
48
+ - `TreeGrid` accessibility: Add Home/End keys for better keyboard navigation. ([#38679](https://github.com/WordPress/gutenberg/pull/38679))
49
+ - Add `resolvePoint` prop to `FocalPointPicker` to allow updating the value of the picker after a user interaction ([#38247](https://github.com/WordPress/gutenberg/pull/38247))
50
+ - `TreeGrid`: Allow SHIFT key to be held, and add `onFocusRow` callback to the `TreeGrid` component, fired when focus is shifted from one row to another via Up and Down arrow keys. ([#38314](https://github.com/WordPress/gutenberg/pull/38314))
23
51
 
24
52
  ### Experimental
25
53
 
26
54
  - `Navigator`: rename `push`/`pop` to `goTo`/`goBack` ([#38582](https://github.com/WordPress/gutenberg/pull/38582))
55
+ - `Navigator`: add `NavigatorButton` and `NavigatorBackButton` components ([#38634](https://github.com/WordPress/gutenberg/pull/38634))
56
+ - `UnitControl`: tidy up utilities and types. In particular, change the type of parsed quantities to `number` (previously it could have been a `string` too). ([#38987](https://github.com/WordPress/gutenberg/pull/38987]))
27
57
 
28
58
  ## 19.3.0 (2022-01-27)
29
59
 
@@ -31,10 +61,11 @@
31
61
 
32
62
  - Refine `ExternalLink` to be same size as the text, to appear more as a glyph than an icon. ([#37859](https://github.com/WordPress/gutenberg/pull/37859))
33
63
  - Updated `ToolsPanel` header icon to only show "plus" icon when all items are optional and all are currently hidden ([#38262](https://github.com/WordPress/gutenberg/pull/38262))
34
- - `TreeGrid`: Fix keyboard navigation for expand/collapse table rows in Firefox ([#37983](https://github.com/WordPress/gutenberg/pull/37983))
64
+ - `TreeGrid`: Fix keyboard navigation for expand/collapse table rows in Firefox ([#37983](https://github.com/WordPress/gutenberg/pull/37983))
35
65
 
36
66
  ### Bug Fix
37
67
 
68
+ - Update the `HexInput` component to accept a pasted value that contains a starting #
38
69
  - Update `ToggleGroupControl` background active state to use a simple background color instead of animated backdrop ([38008](https://github.com/WordPress/gutenberg/pull/38008))
39
70
  - Update label spacing for the `BoxControl`, `CustomGradientPicker`, `FormTokenField`, `InputControl`, and `ToolsPanel` components to use a bottom margin of `8px` for consistency. ([#37844](https://github.com/WordPress/gutenberg/pull/37844))
40
71
  - Add missing styles to the `BaseControl.VisualLabel` component. ([#37747](https://github.com/WordPress/gutenberg/pull/37747))
package/CONTRIBUTING.md CHANGED
@@ -32,7 +32,11 @@ In these situations, one possible approach is to "soft-deprecate" a given legacy
32
32
 
33
33
  When adding new components or new props to existing components, it's recommended to prefix them with `__unstable` or `__experimental` until they're stable enough to be exposed as part of the public API.
34
34
 
35
- Learn more on [How to preserve backward compatibility for a React Component](/docs/contributors/code/backward-compatibility.md#how-to-preserve-backward-compatibility-for-a-react-component) and [Experimental and Unstable APIs](/docs/contributors/code/coding-guidelines.md#experimental-and-unstable-apis).
35
+ ### Learn more
36
+
37
+ - [How to preserve backward compatibility for a React Component](/docs/contributors/code/backward-compatibility.md#how-to-preserve-backward-compatibility-for-a-react-component)
38
+ - [Experimental and Unstable APIs](/docs/contributors/code/coding-guidelines.md#experimental-and-unstable-apis)
39
+ - [Deprecating styles](#deprecating-styles)
36
40
 
37
41
  <!-- ## Polymorphic Components (i.e. the `as` prop)
38
42
 
@@ -141,7 +145,7 @@ function useExampleComponent( props: PolymorphicComponentProps< ExampleProps, 'd
141
145
  // in `component.tsx`
142
146
  function Example(
143
147
  props: PolymorphicComponentProps< ExampleProps, 'div' >,
144
- forwardedRef: Ref< any >
148
+ forwardedRef: React.ForwardedRef< any >
145
149
  ) {
146
150
  const exampleProps = useExampleComponent( props );
147
151
 
@@ -180,6 +184,69 @@ All new component should be styled using [Emotion](https://emotion.sh/docs/intro
180
184
 
181
185
  Note: Instead of using Emotion's standard `cx` function, the custom [`useCx` hook](/packages/components/src/utils/hooks/use-cx.ts) should be used instead.
182
186
 
187
+
188
+ ### Deprecating styles
189
+
190
+ Changing the styles of a non-experimental component must be done with care. To prevent serious breakage in third-party usage, in some cases we may want a grace period before fully removing the old styles. This can be done by temporarily placing the new styles behind a feature flag prop prefixed by `__next`, accompanied by a `deprecate()` warning in the console. The feature flag should be opt-in (false by default), and have a reasonably descriptive name (**not** `__nextHasNewStyles`). A descriptive name allows for multiple deprecations to proceed in parallel, separated by concerns or by deprecation version.
191
+
192
+ ```jsx
193
+ // component.tsx
194
+ import deprecated from '@wordpress/deprecated';
195
+ import { Wrapper } from './styles.ts';
196
+
197
+ function MyComponent({ __nextHasNoOuterMargins = false }) {
198
+ if ( ! __nextHasNoOuterMargins ) {
199
+ deprecated( 'Outer margin styles for wp.components.MyComponent', {
200
+ since: '6.0',
201
+ version: '6.2', // Set a reasonable grace period depending on impact
202
+ hint:
203
+ 'Set the `__nextHasNoOuterMargins` prop to true to start opting into the new styles, which will become the default in a future version.',
204
+ } );
205
+ }
206
+ return <Wrapper __nextHasNoOuterMargins={__nextHasNoOuterMargins} />
207
+ }
208
+ ```
209
+
210
+ Styles should be structured so the deprecated styles are cleanly encapsulated, and can be easily removed when the deprecation version arrives.
211
+
212
+ ```js
213
+ // styles.ts
214
+ const deprecatedMargins = ({ __nextHasNoOuterMargins }) => {
215
+ if ( ! __nextHasNoOuterMargins ) {
216
+ return css`
217
+ margin: 8px;
218
+ `;
219
+ }
220
+ };
221
+
222
+ export const Wrapper = styled.div`
223
+ margin: 0;
224
+
225
+ ${deprecatedMargins}
226
+ `;
227
+ ```
228
+
229
+ Once deprecated, code examples in docs/stories should include the opt-in prop set to `true` so that new consumers are encouraged to adopt it from the start.
230
+
231
+ Remember to [add a **Needs Dev Note** label](/docs/contributors/code/backward-compatibility.md##dev-notes) to the pull request so third-party developers can be informed of the deprecation.
232
+
233
+ When the grace period is over and the deprecation version arrives, the `__next*` prop, deprecation notice, and deprecated styles should all be completely removed from the codebase.
234
+
235
+ #### Criteria for putting styles changes behind a feature flag
236
+
237
+ Not all style changes justify a formal deprecation process. The main thing to look for is whether the changes could cause layouts to break in an obvious or harmful way, given that the component is being used in a standard fashion.
238
+
239
+ ##### DOES need formal deprecation
240
+
241
+ - Removing an outer margin.
242
+ - Substantial changes to width/height, such as adding or removing a size restriction.
243
+
244
+ ##### DOES NOT need formal deprecation
245
+
246
+ - Breakage only occurs in non-standard usage, such as when the consumer is overriding component internals.
247
+ - Minor layout shifts of a few pixels.
248
+ - Internal layout changes of a higher-level component.
249
+
183
250
  ## Context system
184
251
 
185
252
  The `@wordpress/components` context system is based on [React's `Context` API](https://reactjs.org/docs/context.html), and is a way for components to adapt to the "context" they're being rendered in.
@@ -32,7 +32,7 @@ const ALIGNMENT_LABEL = {
32
32
  'bottom left': (0, _i18n.__)('Bottom Left'),
33
33
  'bottom center': (0, _i18n.__)('Bottom Center'),
34
34
  'bottom right': (0, _i18n.__)('Bottom Right')
35
- }; // Transforms GRID into a flat Array of values
35
+ }; // Transforms GRID into a flat Array of values.
36
36
 
37
37
  exports.ALIGNMENT_LABEL = ALIGNMENT_LABEL;
38
38
  const ALIGNMENTS = (0, _lodash.flattenDeep)(GRID);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/alignment-matrix-control/utils.js"],"names":["GRID","ALIGNMENT_LABEL","ALIGNMENTS","transformValue","value","nextValue","replace","getItemId","prefixId","valueId","getAlignmentIndex","alignment","item","index","indexOf","undefined"],"mappings":";;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGO,MAAMA,IAAI,GAAG,CACnB,CAAE,UAAF,EAAc,YAAd,EAA4B,WAA5B,CADmB,EAEnB,CAAE,aAAF,EAAiB,eAAjB,EAAkC,cAAlC,CAFmB,EAGnB,CAAE,aAAF,EAAiB,eAAjB,EAAkC,cAAlC,CAHmB,CAAb,C,CAMP;;;AACO,MAAMC,eAAe,GAAG;AAC9B,cAAY,cAAI,UAAJ,CADkB;AAE9B,gBAAc,cAAI,YAAJ,CAFgB;AAG9B,eAAa,cAAI,WAAJ,CAHiB;AAI9B,iBAAe,cAAI,aAAJ,CAJe;AAK9B,mBAAiB,cAAI,eAAJ,CALa;AAM9B,kBAAgB,cAAI,cAAJ,CANc;AAO9B,iBAAe,cAAI,aAAJ,CAPe;AAQ9B,mBAAiB,cAAI,eAAJ,CARa;AAS9B,kBAAgB,cAAI,cAAJ;AATc,CAAxB,C,CAYP;;;AACO,MAAMC,UAAU,GAAG,yBAAaF,IAAb,CAAnB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACO,SAASG,cAAT,CAAyBC,KAAzB,EAAiC;AACvC,QAAMC,SAAS,GAAGD,KAAK,KAAK,QAAV,GAAqB,eAArB,GAAuCA,KAAzD;AAEA,SAAOC,SAAS,CAACC,OAAV,CAAmB,GAAnB,EAAwB,GAAxB,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,SAAT,CAAoBC,QAApB,EAA8BJ,KAA9B,EAAsC;AAC5C,QAAMK,OAAO,GAAGN,cAAc,CAAEC,KAAF,CAAd,CAAwBE,OAAxB,CAAiC,GAAjC,EAAsC,GAAtC,CAAhB;AAEA,SAAQ,GAAGE,QAAU,IAAIC,OAAS,EAAlC;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,iBAAT,GAAmD;AAAA,MAAvBC,SAAuB,uEAAX,QAAW;AACzD,QAAMC,IAAI,GAAGT,cAAc,CAAEQ,SAAF,CAAd,CAA4BL,OAA5B,CAAqC,GAArC,EAA0C,GAA1C,CAAb;AACA,QAAMO,KAAK,GAAGX,UAAU,CAACY,OAAX,CAAoBF,IAApB,CAAd;AAEA,SAAOC,KAAK,GAAG,CAAC,CAAT,GAAaA,KAAb,GAAqBE,SAA5B;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { flattenDeep } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport const GRID = [\n\t[ 'top left', 'top center', 'top right' ],\n\t[ 'center left', 'center center', 'center right' ],\n\t[ 'bottom left', 'bottom center', 'bottom right' ],\n];\n\n// Stored as map as i18n __() only accepts strings (not variables)\nexport const ALIGNMENT_LABEL = {\n\t'top left': __( 'Top Left' ),\n\t'top center': __( 'Top Center' ),\n\t'top right': __( 'Top Right' ),\n\t'center left': __( 'Center Left' ),\n\t'center center': __( 'Center Center' ),\n\t'center right': __( 'Center Right' ),\n\t'bottom left': __( 'Bottom Left' ),\n\t'bottom center': __( 'Bottom Center' ),\n\t'bottom right': __( 'Bottom Right' ),\n};\n\n// Transforms GRID into a flat Array of values\nexport const ALIGNMENTS = flattenDeep( GRID );\n\n/**\n * Parses and transforms an incoming value to better match the alignment values\n *\n * @param {string} value An alignment value to parse.\n *\n * @return {string} The parsed value.\n */\nexport function transformValue( value ) {\n\tconst nextValue = value === 'center' ? 'center center' : value;\n\n\treturn nextValue.replace( '-', ' ' );\n}\n\n/**\n * Creates an item ID based on a prefix ID and an alignment value.\n *\n * @param {string} prefixId An ID to prefix.\n * @param {string} value An alignment value.\n *\n * @return {string} The item id.\n */\nexport function getItemId( prefixId, value ) {\n\tconst valueId = transformValue( value ).replace( ' ', '-' );\n\n\treturn `${ prefixId }-${ valueId }`;\n}\n\n/**\n * Retrieves the alignment index from a value.\n *\n * @param {string} alignment Value to check.\n *\n * @return {number} The index of a matching alignment.\n */\nexport function getAlignmentIndex( alignment = 'center' ) {\n\tconst item = transformValue( alignment ).replace( '-', ' ' );\n\tconst index = ALIGNMENTS.indexOf( item );\n\n\treturn index > -1 ? index : undefined;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/alignment-matrix-control/utils.js"],"names":["GRID","ALIGNMENT_LABEL","ALIGNMENTS","transformValue","value","nextValue","replace","getItemId","prefixId","valueId","getAlignmentIndex","alignment","item","index","indexOf","undefined"],"mappings":";;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGO,MAAMA,IAAI,GAAG,CACnB,CAAE,UAAF,EAAc,YAAd,EAA4B,WAA5B,CADmB,EAEnB,CAAE,aAAF,EAAiB,eAAjB,EAAkC,cAAlC,CAFmB,EAGnB,CAAE,aAAF,EAAiB,eAAjB,EAAkC,cAAlC,CAHmB,CAAb,C,CAMP;;;AACO,MAAMC,eAAe,GAAG;AAC9B,cAAY,cAAI,UAAJ,CADkB;AAE9B,gBAAc,cAAI,YAAJ,CAFgB;AAG9B,eAAa,cAAI,WAAJ,CAHiB;AAI9B,iBAAe,cAAI,aAAJ,CAJe;AAK9B,mBAAiB,cAAI,eAAJ,CALa;AAM9B,kBAAgB,cAAI,cAAJ,CANc;AAO9B,iBAAe,cAAI,aAAJ,CAPe;AAQ9B,mBAAiB,cAAI,eAAJ,CARa;AAS9B,kBAAgB,cAAI,cAAJ;AATc,CAAxB,C,CAYP;;;AACO,MAAMC,UAAU,GAAG,yBAAaF,IAAb,CAAnB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACO,SAASG,cAAT,CAAyBC,KAAzB,EAAiC;AACvC,QAAMC,SAAS,GAAGD,KAAK,KAAK,QAAV,GAAqB,eAArB,GAAuCA,KAAzD;AAEA,SAAOC,SAAS,CAACC,OAAV,CAAmB,GAAnB,EAAwB,GAAxB,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,SAAT,CAAoBC,QAApB,EAA8BJ,KAA9B,EAAsC;AAC5C,QAAMK,OAAO,GAAGN,cAAc,CAAEC,KAAF,CAAd,CAAwBE,OAAxB,CAAiC,GAAjC,EAAsC,GAAtC,CAAhB;AAEA,SAAQ,GAAGE,QAAU,IAAIC,OAAS,EAAlC;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,iBAAT,GAAmD;AAAA,MAAvBC,SAAuB,uEAAX,QAAW;AACzD,QAAMC,IAAI,GAAGT,cAAc,CAAEQ,SAAF,CAAd,CAA4BL,OAA5B,CAAqC,GAArC,EAA0C,GAA1C,CAAb;AACA,QAAMO,KAAK,GAAGX,UAAU,CAACY,OAAX,CAAoBF,IAApB,CAAd;AAEA,SAAOC,KAAK,GAAG,CAAC,CAAT,GAAaA,KAAb,GAAqBE,SAA5B;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { flattenDeep } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport const GRID = [\n\t[ 'top left', 'top center', 'top right' ],\n\t[ 'center left', 'center center', 'center right' ],\n\t[ 'bottom left', 'bottom center', 'bottom right' ],\n];\n\n// Stored as map as i18n __() only accepts strings (not variables)\nexport const ALIGNMENT_LABEL = {\n\t'top left': __( 'Top Left' ),\n\t'top center': __( 'Top Center' ),\n\t'top right': __( 'Top Right' ),\n\t'center left': __( 'Center Left' ),\n\t'center center': __( 'Center Center' ),\n\t'center right': __( 'Center Right' ),\n\t'bottom left': __( 'Bottom Left' ),\n\t'bottom center': __( 'Bottom Center' ),\n\t'bottom right': __( 'Bottom Right' ),\n};\n\n// Transforms GRID into a flat Array of values.\nexport const ALIGNMENTS = flattenDeep( GRID );\n\n/**\n * Parses and transforms an incoming value to better match the alignment values\n *\n * @param {string} value An alignment value to parse.\n *\n * @return {string} The parsed value.\n */\nexport function transformValue( value ) {\n\tconst nextValue = value === 'center' ? 'center center' : value;\n\n\treturn nextValue.replace( '-', ' ' );\n}\n\n/**\n * Creates an item ID based on a prefix ID and an alignment value.\n *\n * @param {string} prefixId An ID to prefix.\n * @param {string} value An alignment value.\n *\n * @return {string} The item id.\n */\nexport function getItemId( prefixId, value ) {\n\tconst valueId = transformValue( value ).replace( ' ', '-' );\n\n\treturn `${ prefixId }-${ valueId }`;\n}\n\n/**\n * Retrieves the alignment index from a value.\n *\n * @param {string} alignment Value to check.\n *\n * @return {number} The index of a matching alignment.\n */\nexport function getAlignmentIndex( alignment = 'center' ) {\n\tconst item = transformValue( alignment ).replace( '-', ' ' );\n\tconst index = ALIGNMENTS.indexOf( item );\n\n\treturn index > -1 ? index : undefined;\n}\n"]}
@@ -50,7 +50,7 @@ function AngleCircle(_ref) {
50
50
  } = angleCircleRef.current; // Prevent (drag) mouse events from selecting and accidentally
51
51
  // triggering actions from other elements.
52
52
 
53
- event.preventDefault(); // Ensure the input isn't focused as preventDefault would leave it
53
+ event.preventDefault(); // Ensure the input isn't focused as preventDefault would leave it.
54
54
 
55
55
  ownerDocument.activeElement.blur();
56
56
  onChange(getAngle(centerX, centerY, event.clientX, event.clientY));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/angle-picker-control/angle-circle.js"],"names":["AngleCircle","value","onChange","props","angleCircleRef","angleCircleCenter","previousCursorValue","setAngleCircleCenter","rect","current","getBoundingClientRect","x","width","y","height","changeAngleToPosition","event","centerX","centerY","ownerDocument","preventDefault","activeElement","blur","getAngle","clientX","clientY","startDrag","isDragging","onDragStart","onDragMove","onDragEnd","undefined","document","body","style","cursor","transform","pointX","pointY","angleInRadians","Math","atan2","angleInDeg","round","PI"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __experimentalUseDragging as useDragging } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tCircleRoot,\n\tCircleIndicatorWrapper,\n\tCircleIndicator,\n} from './styles/angle-picker-control-styles';\n\nfunction AngleCircle( { value, onChange, ...props } ) {\n\tconst angleCircleRef = useRef();\n\tconst angleCircleCenter = useRef();\n\tconst previousCursorValue = useRef();\n\n\tconst setAngleCircleCenter = () => {\n\t\tconst rect = angleCircleRef.current.getBoundingClientRect();\n\t\tangleCircleCenter.current = {\n\t\t\tx: rect.x + rect.width / 2,\n\t\t\ty: rect.y + rect.height / 2,\n\t\t};\n\t};\n\n\tconst changeAngleToPosition = ( event ) => {\n\t\tconst { x: centerX, y: centerY } = angleCircleCenter.current;\n\t\tconst { ownerDocument } = angleCircleRef.current;\n\t\t// Prevent (drag) mouse events from selecting and accidentally\n\t\t// triggering actions from other elements.\n\t\tevent.preventDefault();\n\t\t// Ensure the input isn't focused as preventDefault would leave it\n\t\townerDocument.activeElement.blur();\n\t\tonChange( getAngle( centerX, centerY, event.clientX, event.clientY ) );\n\t};\n\n\tconst { startDrag, isDragging } = useDragging( {\n\t\tonDragStart: ( event ) => {\n\t\t\tsetAngleCircleCenter();\n\t\t\tchangeAngleToPosition( event );\n\t\t},\n\t\tonDragMove: changeAngleToPosition,\n\t\tonDragEnd: changeAngleToPosition,\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( isDragging ) {\n\t\t\tif ( previousCursorValue.current === undefined ) {\n\t\t\t\tpreviousCursorValue.current = document.body.style.cursor;\n\t\t\t}\n\t\t\tdocument.body.style.cursor = 'grabbing';\n\t\t} else {\n\t\t\tdocument.body.style.cursor = previousCursorValue.current || null;\n\t\t\tpreviousCursorValue.current = undefined;\n\t\t}\n\t}, [ isDragging ] );\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t<CircleRoot\n\t\t\tref={ angleCircleRef }\n\t\t\tonMouseDown={ startDrag }\n\t\t\tclassName=\"components-angle-picker-control__angle-circle\"\n\t\t\tstyle={ isDragging ? { cursor: 'grabbing' } : undefined }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<CircleIndicatorWrapper\n\t\t\t\tstyle={\n\t\t\t\t\tvalue ? { transform: `rotate(${ value }deg)` } : undefined\n\t\t\t\t}\n\t\t\t\tclassName=\"components-angle-picker-control__angle-circle-indicator-wrapper\"\n\t\t\t>\n\t\t\t\t<CircleIndicator className=\"components-angle-picker-control__angle-circle-indicator\" />\n\t\t\t</CircleIndicatorWrapper>\n\t\t</CircleRoot>\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t);\n}\n\nfunction getAngle( centerX, centerY, pointX, pointY ) {\n\tconst y = pointY - centerY;\n\tconst x = pointX - centerX;\n\n\tconst angleInRadians = Math.atan2( y, x );\n\tconst angleInDeg = Math.round( angleInRadians * ( 180 / Math.PI ) ) + 90;\n\tif ( angleInDeg < 0 ) {\n\t\treturn 360 + angleInDeg;\n\t}\n\treturn angleInDeg;\n}\n\nexport default AngleCircle;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/angle-picker-control/angle-circle.js"],"names":["AngleCircle","value","onChange","props","angleCircleRef","angleCircleCenter","previousCursorValue","setAngleCircleCenter","rect","current","getBoundingClientRect","x","width","y","height","changeAngleToPosition","event","centerX","centerY","ownerDocument","preventDefault","activeElement","blur","getAngle","clientX","clientY","startDrag","isDragging","onDragStart","onDragMove","onDragEnd","undefined","document","body","style","cursor","transform","pointX","pointY","angleInRadians","Math","atan2","angleInDeg","round","PI"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __experimentalUseDragging as useDragging } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tCircleRoot,\n\tCircleIndicatorWrapper,\n\tCircleIndicator,\n} from './styles/angle-picker-control-styles';\n\nfunction AngleCircle( { value, onChange, ...props } ) {\n\tconst angleCircleRef = useRef();\n\tconst angleCircleCenter = useRef();\n\tconst previousCursorValue = useRef();\n\n\tconst setAngleCircleCenter = () => {\n\t\tconst rect = angleCircleRef.current.getBoundingClientRect();\n\t\tangleCircleCenter.current = {\n\t\t\tx: rect.x + rect.width / 2,\n\t\t\ty: rect.y + rect.height / 2,\n\t\t};\n\t};\n\n\tconst changeAngleToPosition = ( event ) => {\n\t\tconst { x: centerX, y: centerY } = angleCircleCenter.current;\n\t\tconst { ownerDocument } = angleCircleRef.current;\n\t\t// Prevent (drag) mouse events from selecting and accidentally\n\t\t// triggering actions from other elements.\n\t\tevent.preventDefault();\n\t\t// Ensure the input isn't focused as preventDefault would leave it.\n\t\townerDocument.activeElement.blur();\n\t\tonChange( getAngle( centerX, centerY, event.clientX, event.clientY ) );\n\t};\n\n\tconst { startDrag, isDragging } = useDragging( {\n\t\tonDragStart: ( event ) => {\n\t\t\tsetAngleCircleCenter();\n\t\t\tchangeAngleToPosition( event );\n\t\t},\n\t\tonDragMove: changeAngleToPosition,\n\t\tonDragEnd: changeAngleToPosition,\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( isDragging ) {\n\t\t\tif ( previousCursorValue.current === undefined ) {\n\t\t\t\tpreviousCursorValue.current = document.body.style.cursor;\n\t\t\t}\n\t\t\tdocument.body.style.cursor = 'grabbing';\n\t\t} else {\n\t\t\tdocument.body.style.cursor = previousCursorValue.current || null;\n\t\t\tpreviousCursorValue.current = undefined;\n\t\t}\n\t}, [ isDragging ] );\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t<CircleRoot\n\t\t\tref={ angleCircleRef }\n\t\t\tonMouseDown={ startDrag }\n\t\t\tclassName=\"components-angle-picker-control__angle-circle\"\n\t\t\tstyle={ isDragging ? { cursor: 'grabbing' } : undefined }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<CircleIndicatorWrapper\n\t\t\t\tstyle={\n\t\t\t\t\tvalue ? { transform: `rotate(${ value }deg)` } : undefined\n\t\t\t\t}\n\t\t\t\tclassName=\"components-angle-picker-control__angle-circle-indicator-wrapper\"\n\t\t\t>\n\t\t\t\t<CircleIndicator className=\"components-angle-picker-control__angle-circle-indicator\" />\n\t\t\t</CircleIndicatorWrapper>\n\t\t</CircleRoot>\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t);\n}\n\nfunction getAngle( centerX, centerY, pointX, pointY ) {\n\tconst y = pointY - centerY;\n\tconst x = pointX - centerX;\n\n\tconst angleInRadians = Math.atan2( y, x );\n\tconst angleInDeg = Math.round( angleInRadians * ( 180 / Math.PI ) ) + 90;\n\tif ( angleInDeg < 0 ) {\n\t\treturn 360 + angleInDeg;\n\t}\n\treturn angleInDeg;\n}\n\nexport default AngleCircle;\n"]}
@@ -9,12 +9,6 @@ Object.defineProperty(exports, "__unstableAnimatePresence", {
9
9
  return _framerMotion.AnimatePresence;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "__unstableAnimateSharedLayout", {
13
- enumerable: true,
14
- get: function () {
15
- return _framerMotion.AnimateSharedLayout;
16
- }
17
- });
18
12
  Object.defineProperty(exports, "__unstableMotion", {
19
13
  enumerable: true,
20
14
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/animation/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AASA","sourcesContent":["/**\n * Framer Motion is used to create animated, interactive interfaces. The package is roughly ~30kb so\n * this should ideally be loaded once across all Gutenberg packages. To give ourselves more flexibility\n * in trying animation options, we avoid making this public API.\n *\n * @see https://www.framer.com/docs/animation/\n */\n\n// eslint-disable-next-line no-restricted-imports\nexport {\n\tmotion as __unstableMotion,\n\tAnimatePresence as __unstableAnimatePresence,\n\tAnimateSharedLayout as __unstableAnimateSharedLayout,\n} from 'framer-motion';\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/animation/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AASA","sourcesContent":["/**\n * Framer Motion is used to create animated, interactive interfaces. The package is roughly ~30kb so\n * this should ideally be loaded once across all Gutenberg packages. To give ourselves more flexibility\n * in trying animation options, we avoid making this public API.\n *\n * @see https://www.framer.com/docs/animation/\n */\n\n// eslint-disable-next-line no-restricted-imports\nexport {\n\tmotion as __unstableMotion,\n\tAnimatePresence as __unstableAnimatePresence,\n} from 'framer-motion';\n"]}
@@ -22,7 +22,7 @@ function filterOptions(search) {
22
22
  const filtered = [];
23
23
 
24
24
  for (let i = 0; i < options.length; i++) {
25
- const option = options[i]; // Merge label into keywords
25
+ const option = options[i]; // Merge label into keywords.
26
26
 
27
27
  let {
28
28
  keywords = []
@@ -38,7 +38,7 @@ function filterOptions(search) {
38
38
  continue;
39
39
  }
40
40
 
41
- filtered.push(option); // Abort early if max reached
41
+ filtered.push(option); // Abort early if max reached.
42
42
 
43
43
  if (filtered.length === maxResults) {
44
44
  break;
@@ -80,7 +80,7 @@ function getDefaultUseItems(autocompleter) {
80
80
  label: autocompleter.getOptionLabel(optionData),
81
81
  keywords: autocompleter.getOptionKeywords ? autocompleter.getOptionKeywords(optionData) : [],
82
82
  isDisabled: autocompleter.isOptionDisabled ? autocompleter.isOptionDisabled(optionData) : false
83
- })); // create a regular expression to filter the options
83
+ })); // Create a regular expression to filter the options.
84
84
 
85
85
  const search = new RegExp('(?:\\b|\\s|^)' + (0, _lodash.escapeRegExp)(filterValue), 'i');
86
86
  setItems(filterOptions(search, keyedOptions));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/autocomplete/get-default-use-items.js"],"names":["filterOptions","search","options","maxResults","filtered","i","length","option","keywords","label","isMatch","some","keyword","test","push","getDefaultUseItems","autocompleter","filterValue","items","setItems","isDebounced","loadOptions","promise","Promise","resolve","then","optionsData","canceled","keyedOptions","map","optionData","optionIndex","key","name","value","getOptionLabel","getOptionKeywords","isDisabled","isOptionDisabled","RegExp","cancel"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce, deburr, escapeRegExp } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useLayoutEffect, useState } from '@wordpress/element';\n\nfunction filterOptions( search, options = [], maxResults = 10 ) {\n\tconst filtered = [];\n\tfor ( let i = 0; i < options.length; i++ ) {\n\t\tconst option = options[ i ];\n\n\t\t// Merge label into keywords\n\t\tlet { keywords = [] } = option;\n\t\tif ( 'string' === typeof option.label ) {\n\t\t\tkeywords = [ ...keywords, option.label ];\n\t\t}\n\n\t\tconst isMatch = keywords.some( ( keyword ) =>\n\t\t\tsearch.test( deburr( keyword ) )\n\t\t);\n\t\tif ( ! isMatch ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tfiltered.push( option );\n\n\t\t// Abort early if max reached\n\t\tif ( filtered.length === maxResults ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn filtered;\n}\n\nexport default function getDefaultUseItems( autocompleter ) {\n\treturn ( filterValue ) => {\n\t\tconst [ items, setItems ] = useState( [] );\n\t\t/*\n\t\t * We support both synchronous and asynchronous retrieval of completer options\n\t\t * but internally treat all as async so we maintain a single, consistent code path.\n\t\t *\n\t\t * Because networks can be slow, and the internet is wonderfully unpredictable,\n\t\t * we don't want two promises updating the state at once. This ensures that only\n\t\t * the most recent promise will act on `optionsData`. This doesn't use the state\n\t\t * because `setState` is batched, and so there's no guarantee that setting\n\t\t * `activePromise` in the state would result in it actually being in `this.state`\n\t\t * before the promise resolves and we check to see if this is the active promise or not.\n\t\t */\n\t\tuseLayoutEffect( () => {\n\t\t\tconst { options, isDebounced } = autocompleter;\n\t\t\tconst loadOptions = debounce(\n\t\t\t\t() => {\n\t\t\t\t\tconst promise = Promise.resolve(\n\t\t\t\t\t\ttypeof options === 'function'\n\t\t\t\t\t\t\t? options( filterValue )\n\t\t\t\t\t\t\t: options\n\t\t\t\t\t).then( ( optionsData ) => {\n\t\t\t\t\t\tif ( promise.canceled ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst keyedOptions = optionsData.map(\n\t\t\t\t\t\t\t( optionData, optionIndex ) => ( {\n\t\t\t\t\t\t\t\tkey: `${ autocompleter.name }-${ optionIndex }`,\n\t\t\t\t\t\t\t\tvalue: optionData,\n\t\t\t\t\t\t\t\tlabel: autocompleter.getOptionLabel(\n\t\t\t\t\t\t\t\t\toptionData\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tkeywords: autocompleter.getOptionKeywords\n\t\t\t\t\t\t\t\t\t? autocompleter.getOptionKeywords(\n\t\t\t\t\t\t\t\t\t\t\toptionData\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: [],\n\t\t\t\t\t\t\t\tisDisabled: autocompleter.isOptionDisabled\n\t\t\t\t\t\t\t\t\t? autocompleter.isOptionDisabled(\n\t\t\t\t\t\t\t\t\t\t\toptionData\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: false,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// create a regular expression to filter the options\n\t\t\t\t\t\tconst search = new RegExp(\n\t\t\t\t\t\t\t'(?:\\\\b|\\\\s|^)' + escapeRegExp( filterValue ),\n\t\t\t\t\t\t\t'i'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetItems( filterOptions( search, keyedOptions ) );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn promise;\n\t\t\t\t},\n\t\t\t\tisDebounced ? 250 : 0\n\t\t\t);\n\n\t\t\tconst promise = loadOptions();\n\n\t\t\treturn () => {\n\t\t\t\tloadOptions.cancel();\n\t\t\t\tif ( promise ) {\n\t\t\t\t\tpromise.canceled = true;\n\t\t\t\t}\n\t\t\t};\n\t\t}, [ filterValue ] );\n\n\t\treturn [ items ];\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/autocomplete/get-default-use-items.js"],"names":["filterOptions","search","options","maxResults","filtered","i","length","option","keywords","label","isMatch","some","keyword","test","push","getDefaultUseItems","autocompleter","filterValue","items","setItems","isDebounced","loadOptions","promise","Promise","resolve","then","optionsData","canceled","keyedOptions","map","optionData","optionIndex","key","name","value","getOptionLabel","getOptionKeywords","isDisabled","isOptionDisabled","RegExp","cancel"],"mappings":";;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGA,SAASA,aAAT,CAAwBC,MAAxB,EAAgE;AAAA,MAAhCC,OAAgC,uEAAtB,EAAsB;AAAA,MAAlBC,UAAkB,uEAAL,EAAK;AAC/D,QAAMC,QAAQ,GAAG,EAAjB;;AACA,OAAM,IAAIC,CAAC,GAAG,CAAd,EAAiBA,CAAC,GAAGH,OAAO,CAACI,MAA7B,EAAqCD,CAAC,EAAtC,EAA2C;AAC1C,UAAME,MAAM,GAAGL,OAAO,CAAEG,CAAF,CAAtB,CAD0C,CAG1C;;AACA,QAAI;AAAEG,MAAAA,QAAQ,GAAG;AAAb,QAAoBD,MAAxB;;AACA,QAAK,aAAa,OAAOA,MAAM,CAACE,KAAhC,EAAwC;AACvCD,MAAAA,QAAQ,GAAG,CAAE,GAAGA,QAAL,EAAeD,MAAM,CAACE,KAAtB,CAAX;AACA;;AAED,UAAMC,OAAO,GAAGF,QAAQ,CAACG,IAAT,CAAiBC,OAAF,IAC9BX,MAAM,CAACY,IAAP,CAAa,oBAAQD,OAAR,CAAb,CADe,CAAhB;;AAGA,QAAK,CAAEF,OAAP,EAAiB;AAChB;AACA;;AAEDN,IAAAA,QAAQ,CAACU,IAAT,CAAeP,MAAf,EAhB0C,CAkB1C;;AACA,QAAKH,QAAQ,CAACE,MAAT,KAAoBH,UAAzB,EAAsC;AACrC;AACA;AACD;;AAED,SAAOC,QAAP;AACA;;AAEc,SAASW,kBAAT,CAA6BC,aAA7B,EAA6C;AAC3D,SAASC,WAAF,IAAmB;AACzB,UAAM,CAAEC,KAAF,EAASC,QAAT,IAAsB,uBAAU,EAAV,CAA5B;AACA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACE,kCAAiB,MAAM;AACtB,YAAM;AAAEjB,QAAAA,OAAF;AAAWkB,QAAAA;AAAX,UAA2BJ,aAAjC;AACA,YAAMK,WAAW,GAAG,sBACnB,MAAM;AACL,cAAMC,OAAO,GAAGC,OAAO,CAACC,OAAR,CACf,OAAOtB,OAAP,KAAmB,UAAnB,GACGA,OAAO,CAAEe,WAAF,CADV,GAEGf,OAHY,EAIduB,IAJc,CAINC,WAAF,IAAmB;AAC1B,cAAKJ,OAAO,CAACK,QAAb,EAAwB;AACvB;AACA;;AACD,gBAAMC,YAAY,GAAGF,WAAW,CAACG,GAAZ,CACpB,CAAEC,UAAF,EAAcC,WAAd,MAAiC;AAChCC,YAAAA,GAAG,EAAG,GAAGhB,aAAa,CAACiB,IAAM,IAAIF,WAAa,EADd;AAEhCG,YAAAA,KAAK,EAAEJ,UAFyB;AAGhCrB,YAAAA,KAAK,EAAEO,aAAa,CAACmB,cAAd,CACNL,UADM,CAHyB;AAMhCtB,YAAAA,QAAQ,EAAEQ,aAAa,CAACoB,iBAAd,GACPpB,aAAa,CAACoB,iBAAd,CACAN,UADA,CADO,GAIP,EAV6B;AAWhCO,YAAAA,UAAU,EAAErB,aAAa,CAACsB,gBAAd,GACTtB,aAAa,CAACsB,gBAAd,CACAR,UADA,CADS,GAIT;AAf6B,WAAjC,CADoB,CAArB,CAJ0B,CAwB1B;;AACA,gBAAM7B,MAAM,GAAG,IAAIsC,MAAJ,CACd,kBAAkB,0BAActB,WAAd,CADJ,EAEd,GAFc,CAAf;AAIAE,UAAAA,QAAQ,CAAEnB,aAAa,CAAEC,MAAF,EAAU2B,YAAV,CAAf,CAAR;AACA,SAlCe,CAAhB;AAoCA,eAAON,OAAP;AACA,OAvCkB,EAwCnBF,WAAW,GAAG,GAAH,GAAS,CAxCD,CAApB;AA2CA,YAAME,OAAO,GAAGD,WAAW,EAA3B;AAEA,aAAO,MAAM;AACZA,QAAAA,WAAW,CAACmB,MAAZ;;AACA,YAAKlB,OAAL,EAAe;AACdA,UAAAA,OAAO,CAACK,QAAR,GAAmB,IAAnB;AACA;AACD,OALD;AAMA,KArDD,EAqDG,CAAEV,WAAF,CArDH;AAuDA,WAAO,CAAEC,KAAF,CAAP;AACA,GArED;AAsEA","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce, deburr, escapeRegExp } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useLayoutEffect, useState } from '@wordpress/element';\n\nfunction filterOptions( search, options = [], maxResults = 10 ) {\n\tconst filtered = [];\n\tfor ( let i = 0; i < options.length; i++ ) {\n\t\tconst option = options[ i ];\n\n\t\t// Merge label into keywords.\n\t\tlet { keywords = [] } = option;\n\t\tif ( 'string' === typeof option.label ) {\n\t\t\tkeywords = [ ...keywords, option.label ];\n\t\t}\n\n\t\tconst isMatch = keywords.some( ( keyword ) =>\n\t\t\tsearch.test( deburr( keyword ) )\n\t\t);\n\t\tif ( ! isMatch ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tfiltered.push( option );\n\n\t\t// Abort early if max reached.\n\t\tif ( filtered.length === maxResults ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn filtered;\n}\n\nexport default function getDefaultUseItems( autocompleter ) {\n\treturn ( filterValue ) => {\n\t\tconst [ items, setItems ] = useState( [] );\n\t\t/*\n\t\t * We support both synchronous and asynchronous retrieval of completer options\n\t\t * but internally treat all as async so we maintain a single, consistent code path.\n\t\t *\n\t\t * Because networks can be slow, and the internet is wonderfully unpredictable,\n\t\t * we don't want two promises updating the state at once. This ensures that only\n\t\t * the most recent promise will act on `optionsData`. This doesn't use the state\n\t\t * because `setState` is batched, and so there's no guarantee that setting\n\t\t * `activePromise` in the state would result in it actually being in `this.state`\n\t\t * before the promise resolves and we check to see if this is the active promise or not.\n\t\t */\n\t\tuseLayoutEffect( () => {\n\t\t\tconst { options, isDebounced } = autocompleter;\n\t\t\tconst loadOptions = debounce(\n\t\t\t\t() => {\n\t\t\t\t\tconst promise = Promise.resolve(\n\t\t\t\t\t\ttypeof options === 'function'\n\t\t\t\t\t\t\t? options( filterValue )\n\t\t\t\t\t\t\t: options\n\t\t\t\t\t).then( ( optionsData ) => {\n\t\t\t\t\t\tif ( promise.canceled ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst keyedOptions = optionsData.map(\n\t\t\t\t\t\t\t( optionData, optionIndex ) => ( {\n\t\t\t\t\t\t\t\tkey: `${ autocompleter.name }-${ optionIndex }`,\n\t\t\t\t\t\t\t\tvalue: optionData,\n\t\t\t\t\t\t\t\tlabel: autocompleter.getOptionLabel(\n\t\t\t\t\t\t\t\t\toptionData\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tkeywords: autocompleter.getOptionKeywords\n\t\t\t\t\t\t\t\t\t? autocompleter.getOptionKeywords(\n\t\t\t\t\t\t\t\t\t\t\toptionData\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: [],\n\t\t\t\t\t\t\t\tisDisabled: autocompleter.isOptionDisabled\n\t\t\t\t\t\t\t\t\t? autocompleter.isOptionDisabled(\n\t\t\t\t\t\t\t\t\t\t\toptionData\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: false,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Create a regular expression to filter the options.\n\t\t\t\t\t\tconst search = new RegExp(\n\t\t\t\t\t\t\t'(?:\\\\b|\\\\s|^)' + escapeRegExp( filterValue ),\n\t\t\t\t\t\t\t'i'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetItems( filterOptions( search, keyedOptions ) );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn promise;\n\t\t\t\t},\n\t\t\t\tisDebounced ? 250 : 0\n\t\t\t);\n\n\t\t\tconst promise = loadOptions();\n\n\t\t\treturn () => {\n\t\t\t\tloadOptions.cancel();\n\t\t\t\tif ( promise ) {\n\t\t\t\t\tpromise.canceled = true;\n\t\t\t\t}\n\t\t\t};\n\t\t}, [ filterValue ] );\n\n\t\treturn [ items ];\n\t};\n}\n"]}
@@ -48,7 +48,7 @@ function useBaseField(props) {
48
48
  hasError = false,
49
49
  isInline = false,
50
50
  isSubtle = false,
51
- // extract these because useFlex doesn't accept it
51
+ // Extract these because useFlex doesn't accept it.
52
52
  defaultValue,
53
53
  disabled,
54
54
  ...flexProps
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/base-field/hook.js"],"names":["useBaseField","props","className","hasError","isInline","isSubtle","defaultValue","disabled","flexProps","styles","controlGroupStyles","cx","classes","BaseField","subtle","error","inline"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;;;;;AAZA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACO,SAASA,YAAT,CAAuBC,KAAvB,EAA+B;AACrC,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,QAAQ,GAAG,KAFN;AAGLC,IAAAA,QAAQ,GAAG,KAHN;AAILC,IAAAA,QAAQ,GAAG,KAJN;AAKL;AACAC,IAAAA,YANK;AAOLC,IAAAA,QAPK;AAQL,OAAGC;AARE,MASF,+BAAkBP,KAAlB,EAAyB,WAAzB,CATJ;AAWA,QAAM;AAAEQ,IAAAA,MAAM,EAAEC;AAAV,MAAiC,2CAAvC;AACA,QAAMC,EAAE,GAAG,mBAAX;AAEA,QAAMC,OAAO,GAAG,sBACf,MACCD,EAAE,CACDF,MAAM,CAACI,SADN,EAEDH,kBAFC,EAGDL,QAAQ,IAAII,MAAM,CAACK,MAHlB,EAIDX,QAAQ,IAAIM,MAAM,CAACM,KAJlB,EAKDX,QAAQ,IAAIK,MAAM,CAACO,MALlB,EAMDd,SANC,CAFY,EAUf,CAAEA,SAAF,EAAaQ,kBAAb,EAAiCC,EAAjC,EAAqCR,QAArC,EAA+CC,QAA/C,EAAyDC,QAAzD,CAVe,CAAhB;AAaA,SAAO,EACN,GAAG,mBAAS,EAAE,GAAGG,SAAL;AAAgBN,MAAAA,SAAS,EAAEU;AAA3B,KAAT,CADG;AAENL,IAAAA,QAFM;AAGND,IAAAA;AAHM,GAAP;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport { useControlGroupContext } from '../ui/control-group';\nimport { useFlex } from '../flex';\nimport * as styles from './styles';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @typedef OwnProps\n * @property {boolean} [hasError=false] Renders an error.\n * @property {boolean} [disabled] Whether the field is disabled.\n * @property {boolean} [isInline=false] Renders as an inline element (layout).\n * @property {boolean} [isSubtle=false] Renders a subtle variant.\n */\n\n/** @typedef {import('../flex/types').FlexProps & OwnProps} Props */\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<Props, 'div'>} props\n */\nexport function useBaseField( props ) {\n\tconst {\n\t\tclassName,\n\t\thasError = false,\n\t\tisInline = false,\n\t\tisSubtle = false,\n\t\t// extract these because useFlex doesn't accept it\n\t\tdefaultValue,\n\t\tdisabled,\n\t\t...flexProps\n\t} = useContextSystem( props, 'BaseField' );\n\n\tconst { styles: controlGroupStyles } = useControlGroupContext();\n\tconst cx = useCx();\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tstyles.BaseField,\n\t\t\t\tcontrolGroupStyles,\n\t\t\t\tisSubtle && styles.subtle,\n\t\t\t\thasError && styles.error,\n\t\t\t\tisInline && styles.inline,\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className, controlGroupStyles, cx, hasError, isInline, isSubtle ]\n\t);\n\n\treturn {\n\t\t...useFlex( { ...flexProps, className: classes } ),\n\t\tdisabled,\n\t\tdefaultValue,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/base-field/hook.js"],"names":["useBaseField","props","className","hasError","isInline","isSubtle","defaultValue","disabled","flexProps","styles","controlGroupStyles","cx","classes","BaseField","subtle","error","inline"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;;;;;AAZA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACO,SAASA,YAAT,CAAuBC,KAAvB,EAA+B;AACrC,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,QAAQ,GAAG,KAFN;AAGLC,IAAAA,QAAQ,GAAG,KAHN;AAILC,IAAAA,QAAQ,GAAG,KAJN;AAKL;AACAC,IAAAA,YANK;AAOLC,IAAAA,QAPK;AAQL,OAAGC;AARE,MASF,+BAAkBP,KAAlB,EAAyB,WAAzB,CATJ;AAWA,QAAM;AAAEQ,IAAAA,MAAM,EAAEC;AAAV,MAAiC,2CAAvC;AACA,QAAMC,EAAE,GAAG,mBAAX;AAEA,QAAMC,OAAO,GAAG,sBACf,MACCD,EAAE,CACDF,MAAM,CAACI,SADN,EAEDH,kBAFC,EAGDL,QAAQ,IAAII,MAAM,CAACK,MAHlB,EAIDX,QAAQ,IAAIM,MAAM,CAACM,KAJlB,EAKDX,QAAQ,IAAIK,MAAM,CAACO,MALlB,EAMDd,SANC,CAFY,EAUf,CAAEA,SAAF,EAAaQ,kBAAb,EAAiCC,EAAjC,EAAqCR,QAArC,EAA+CC,QAA/C,EAAyDC,QAAzD,CAVe,CAAhB;AAaA,SAAO,EACN,GAAG,mBAAS,EAAE,GAAGG,SAAL;AAAgBN,MAAAA,SAAS,EAAEU;AAA3B,KAAT,CADG;AAENL,IAAAA,QAFM;AAGND,IAAAA;AAHM,GAAP;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport { useControlGroupContext } from '../ui/control-group';\nimport { useFlex } from '../flex';\nimport * as styles from './styles';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/**\n * @typedef OwnProps\n * @property {boolean} [hasError=false] Renders an error.\n * @property {boolean} [disabled] Whether the field is disabled.\n * @property {boolean} [isInline=false] Renders as an inline element (layout).\n * @property {boolean} [isSubtle=false] Renders a subtle variant.\n */\n\n/** @typedef {import('../flex/types').FlexProps & OwnProps} Props */\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<Props, 'div'>} props\n */\nexport function useBaseField( props ) {\n\tconst {\n\t\tclassName,\n\t\thasError = false,\n\t\tisInline = false,\n\t\tisSubtle = false,\n\t\t// Extract these because useFlex doesn't accept it.\n\t\tdefaultValue,\n\t\tdisabled,\n\t\t...flexProps\n\t} = useContextSystem( props, 'BaseField' );\n\n\tconst { styles: controlGroupStyles } = useControlGroupContext();\n\tconst cx = useCx();\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tstyles.BaseField,\n\t\t\t\tcontrolGroupStyles,\n\t\t\t\tisSubtle && styles.subtle,\n\t\t\t\thasError && styles.error,\n\t\t\t\tisInline && styles.inline,\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className, controlGroupStyles, cx, hasError, isInline, isSubtle ]\n\t);\n\n\treturn {\n\t\t...useFlex( { ...flexProps, className: classes } ),\n\t\tdisabled,\n\t\tdefaultValue,\n\t};\n}\n"]}
@@ -39,7 +39,7 @@ function BoxControlIcon(_ref) {
39
39
  const top = hasSide('top') || hasSide('vertical');
40
40
  const right = hasSide('right') || hasSide('horizontal');
41
41
  const bottom = hasSide('bottom') || hasSide('vertical');
42
- const left = hasSide('left') || hasSide('horizontal'); // Simulates SVG Icon scaling
42
+ const left = hasSide('left') || hasSide('horizontal'); // Simulates SVG Icon scaling.
43
43
 
44
44
  const scale = size / BASE_ICON_SIZE;
45
45
  return (0, _element.createElement)(_boxControlIconStyles.Root, (0, _extends2.default)({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/box-control/icon.js"],"names":["BASE_ICON_SIZE","BoxControlIcon","size","side","sides","props","isSideDisabled","value","length","includes","hasSide","top","right","bottom","left","scale","transform"],"mappings":";;;;;;;;;;;;;AAGA;;AAHA;AACA;AACA;AAUA,MAAMA,cAAc,GAAG,EAAvB;;AAEe,SAASC,cAAT,OAKX;AAAA,MALoC;AACvCC,IAAAA,IAAI,GAAG,EADgC;AAEvCC,IAAAA,IAAI,GAAG,KAFgC;AAGvCC,IAAAA,KAHuC;AAIvC,OAAGC;AAJoC,GAKpC;;AACH,QAAMC,cAAc,GAAKC,KAAF,IACtB,CAAAH,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEI,MAAP,KAAiB,CAAEJ,KAAK,CAACK,QAAN,CAAgBF,KAAhB,CADpB;;AAGA,QAAMG,OAAO,GAAKH,KAAF,IAAa;AAC5B,QAAKD,cAAc,CAAEC,KAAF,CAAnB,EAA+B;AAC9B,aAAO,KAAP;AACA;;AAED,WAAOJ,IAAI,KAAK,KAAT,IAAkBA,IAAI,KAAKI,KAAlC;AACA,GAND;;AAQA,QAAMI,GAAG,GAAGD,OAAO,CAAE,KAAF,CAAP,IAAoBA,OAAO,CAAE,UAAF,CAAvC;AACA,QAAME,KAAK,GAAGF,OAAO,CAAE,OAAF,CAAP,IAAsBA,OAAO,CAAE,YAAF,CAA3C;AACA,QAAMG,MAAM,GAAGH,OAAO,CAAE,QAAF,CAAP,IAAuBA,OAAO,CAAE,UAAF,CAA7C;AACA,QAAMI,IAAI,GAAGJ,OAAO,CAAE,MAAF,CAAP,IAAqBA,OAAO,CAAE,YAAF,CAAzC,CAfG,CAiBH;;AACA,QAAMK,KAAK,GAAGb,IAAI,GAAGF,cAArB;AAEA,SACC,4BAAC,0BAAD;AAAM,IAAA,KAAK,EAAG;AAAEgB,MAAAA,SAAS,EAAG,SAASD,KAAO;AAA9B;AAAd,KAAwDV,KAAxD,GACC,4BAAC,6BAAD,QACC,4BAAC,+BAAD;AAAW,IAAA,SAAS,EAAGM;AAAvB,IADD,EAEC,4BAAC,iCAAD;AAAa,IAAA,SAAS,EAAGC;AAAzB,IAFD,EAGC,4BAAC,kCAAD;AAAc,IAAA,SAAS,EAAGC;AAA1B,IAHD,EAIC,4BAAC,gCAAD;AAAY,IAAA,SAAS,EAAGC;AAAxB,IAJD,CADD,CADD;AAUA","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tRoot,\n\tViewbox,\n\tTopStroke,\n\tRightStroke,\n\tBottomStroke,\n\tLeftStroke,\n} from './styles/box-control-icon-styles';\n\nconst BASE_ICON_SIZE = 24;\n\nexport default function BoxControlIcon( {\n\tsize = 24,\n\tside = 'all',\n\tsides,\n\t...props\n} ) {\n\tconst isSideDisabled = ( value ) =>\n\t\tsides?.length && ! sides.includes( value );\n\n\tconst hasSide = ( value ) => {\n\t\tif ( isSideDisabled( value ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn side === 'all' || side === value;\n\t};\n\n\tconst top = hasSide( 'top' ) || hasSide( 'vertical' );\n\tconst right = hasSide( 'right' ) || hasSide( 'horizontal' );\n\tconst bottom = hasSide( 'bottom' ) || hasSide( 'vertical' );\n\tconst left = hasSide( 'left' ) || hasSide( 'horizontal' );\n\n\t// Simulates SVG Icon scaling\n\tconst scale = size / BASE_ICON_SIZE;\n\n\treturn (\n\t\t<Root style={ { transform: `scale(${ scale })` } } { ...props }>\n\t\t\t<Viewbox>\n\t\t\t\t<TopStroke isFocused={ top } />\n\t\t\t\t<RightStroke isFocused={ right } />\n\t\t\t\t<BottomStroke isFocused={ bottom } />\n\t\t\t\t<LeftStroke isFocused={ left } />\n\t\t\t</Viewbox>\n\t\t</Root>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/box-control/icon.js"],"names":["BASE_ICON_SIZE","BoxControlIcon","size","side","sides","props","isSideDisabled","value","length","includes","hasSide","top","right","bottom","left","scale","transform"],"mappings":";;;;;;;;;;;;;AAGA;;AAHA;AACA;AACA;AAUA,MAAMA,cAAc,GAAG,EAAvB;;AAEe,SAASC,cAAT,OAKX;AAAA,MALoC;AACvCC,IAAAA,IAAI,GAAG,EADgC;AAEvCC,IAAAA,IAAI,GAAG,KAFgC;AAGvCC,IAAAA,KAHuC;AAIvC,OAAGC;AAJoC,GAKpC;;AACH,QAAMC,cAAc,GAAKC,KAAF,IACtB,CAAAH,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEI,MAAP,KAAiB,CAAEJ,KAAK,CAACK,QAAN,CAAgBF,KAAhB,CADpB;;AAGA,QAAMG,OAAO,GAAKH,KAAF,IAAa;AAC5B,QAAKD,cAAc,CAAEC,KAAF,CAAnB,EAA+B;AAC9B,aAAO,KAAP;AACA;;AAED,WAAOJ,IAAI,KAAK,KAAT,IAAkBA,IAAI,KAAKI,KAAlC;AACA,GAND;;AAQA,QAAMI,GAAG,GAAGD,OAAO,CAAE,KAAF,CAAP,IAAoBA,OAAO,CAAE,UAAF,CAAvC;AACA,QAAME,KAAK,GAAGF,OAAO,CAAE,OAAF,CAAP,IAAsBA,OAAO,CAAE,YAAF,CAA3C;AACA,QAAMG,MAAM,GAAGH,OAAO,CAAE,QAAF,CAAP,IAAuBA,OAAO,CAAE,UAAF,CAA7C;AACA,QAAMI,IAAI,GAAGJ,OAAO,CAAE,MAAF,CAAP,IAAqBA,OAAO,CAAE,YAAF,CAAzC,CAfG,CAiBH;;AACA,QAAMK,KAAK,GAAGb,IAAI,GAAGF,cAArB;AAEA,SACC,4BAAC,0BAAD;AAAM,IAAA,KAAK,EAAG;AAAEgB,MAAAA,SAAS,EAAG,SAASD,KAAO;AAA9B;AAAd,KAAwDV,KAAxD,GACC,4BAAC,6BAAD,QACC,4BAAC,+BAAD;AAAW,IAAA,SAAS,EAAGM;AAAvB,IADD,EAEC,4BAAC,iCAAD;AAAa,IAAA,SAAS,EAAGC;AAAzB,IAFD,EAGC,4BAAC,kCAAD;AAAc,IAAA,SAAS,EAAGC;AAA1B,IAHD,EAIC,4BAAC,gCAAD;AAAY,IAAA,SAAS,EAAGC;AAAxB,IAJD,CADD,CADD;AAUA","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tRoot,\n\tViewbox,\n\tTopStroke,\n\tRightStroke,\n\tBottomStroke,\n\tLeftStroke,\n} from './styles/box-control-icon-styles';\n\nconst BASE_ICON_SIZE = 24;\n\nexport default function BoxControlIcon( {\n\tsize = 24,\n\tside = 'all',\n\tsides,\n\t...props\n} ) {\n\tconst isSideDisabled = ( value ) =>\n\t\tsides?.length && ! sides.includes( value );\n\n\tconst hasSide = ( value ) => {\n\t\tif ( isSideDisabled( value ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn side === 'all' || side === value;\n\t};\n\n\tconst top = hasSide( 'top' ) || hasSide( 'vertical' );\n\tconst right = hasSide( 'right' ) || hasSide( 'horizontal' );\n\tconst bottom = hasSide( 'bottom' ) || hasSide( 'vertical' );\n\tconst left = hasSide( 'left' ) || hasSide( 'horizontal' );\n\n\t// Simulates SVG Icon scaling.\n\tconst scale = size / BASE_ICON_SIZE;\n\n\treturn (\n\t\t<Root style={ { transform: `scale(${ scale })` } } { ...props }>\n\t\t\t<Viewbox>\n\t\t\t\t<TopStroke isFocused={ top } />\n\t\t\t\t<RightStroke isFocused={ right } />\n\t\t\t\t<BottomStroke isFocused={ bottom } />\n\t\t\t\t<LeftStroke isFocused={ left } />\n\t\t\t</Viewbox>\n\t\t</Root>\n\t);\n}\n"]}
@@ -90,10 +90,10 @@ function BoxControl(_ref) {
90
90
  // behaviour. Filtering CSS only values prevents invalid style values.
91
91
 
92
92
  const [selectedUnits, setSelectedUnits] = (0, _element.useState)({
93
- top: (0, _utils.parseUnit)(valuesProp === null || valuesProp === void 0 ? void 0 : valuesProp.top)[1],
94
- right: (0, _utils.parseUnit)(valuesProp === null || valuesProp === void 0 ? void 0 : valuesProp.right)[1],
95
- bottom: (0, _utils.parseUnit)(valuesProp === null || valuesProp === void 0 ? void 0 : valuesProp.bottom)[1],
96
- left: (0, _utils.parseUnit)(valuesProp === null || valuesProp === void 0 ? void 0 : valuesProp.left)[1]
93
+ top: (0, _utils.parseQuantityAndUnitFromRawValue)(valuesProp === null || valuesProp === void 0 ? void 0 : valuesProp.top)[1],
94
+ right: (0, _utils.parseQuantityAndUnitFromRawValue)(valuesProp === null || valuesProp === void 0 ? void 0 : valuesProp.right)[1],
95
+ bottom: (0, _utils.parseQuantityAndUnitFromRawValue)(valuesProp === null || valuesProp === void 0 ? void 0 : valuesProp.bottom)[1],
96
+ left: (0, _utils.parseQuantityAndUnitFromRawValue)(valuesProp === null || valuesProp === void 0 ? void 0 : valuesProp.left)[1]
97
97
  });
98
98
  const id = useUniqueId(idProp);
99
99
  const headingId = `${id}-heading`;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/box-control/index.js"],"names":["defaultInputProps","min","useUniqueId","idProp","instanceId","BoxControl","id","inputProps","onChange","noop","onChangeShowVisualizer","label","values","valuesProp","units","sides","splitOnAxis","allowReset","resetValues","DEFAULT_VALUES","setValues","fallback","inputValues","hasInitialValue","hasOneSide","length","isDirty","setIsDirty","isLinked","setIsLinked","side","setSide","selectedUnits","setSelectedUnits","top","right","bottom","left","headingId","toggleLinked","handleOnFocus","event","nextSide","handleOnChange","nextValues","handleOnHoverOn","next","DEFAULT_VISUALIZER_VALUES","handleOnHoverOff","handleOnReset","inputControlProps","onFocus","onHoverOn","onHoverOff","__Visualizer","Visualizer"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { FlexItem, FlexBlock } from '../flex';\nimport AllInputControl from './all-input-control';\nimport InputControls from './input-controls';\nimport AxialInputControls from './axial-input-controls';\nimport BoxControlIcon from './icon';\nimport { Text } from '../text';\nimport LinkedButton from './linked-button';\nimport Visualizer from './visualizer';\nimport {\n\tRoot,\n\tHeader,\n\tHeaderControlWrapper,\n} from './styles/box-control-styles';\nimport { parseUnit } from '../unit-control/utils';\nimport {\n\tDEFAULT_VALUES,\n\tDEFAULT_VISUALIZER_VALUES,\n\tgetInitialSide,\n\tisValuesMixed,\n\tisValuesDefined,\n} from './utils';\nimport { useControlledState } from '../utils/hooks';\n\nconst defaultInputProps = {\n\tmin: 0,\n};\n\nfunction useUniqueId( idProp ) {\n\tconst instanceId = useInstanceId( BoxControl, 'inspector-box-control' );\n\n\treturn idProp || instanceId;\n}\nexport default function BoxControl( {\n\tid: idProp,\n\tinputProps = defaultInputProps,\n\tonChange = noop,\n\tonChangeShowVisualizer = noop,\n\tlabel = __( 'Box Control' ),\n\tvalues: valuesProp,\n\tunits,\n\tsides,\n\tsplitOnAxis = false,\n\tallowReset = true,\n\tresetValues = DEFAULT_VALUES,\n} ) {\n\tconst [ values, setValues ] = useControlledState( valuesProp, {\n\t\tfallback: DEFAULT_VALUES,\n\t} );\n\tconst inputValues = values || DEFAULT_VALUES;\n\tconst hasInitialValue = isValuesDefined( valuesProp );\n\tconst hasOneSide = sides?.length === 1;\n\n\tconst [ isDirty, setIsDirty ] = useState( hasInitialValue );\n\tconst [ isLinked, setIsLinked ] = useState(\n\t\t! hasInitialValue || ! isValuesMixed( inputValues ) || hasOneSide\n\t);\n\n\tconst [ side, setSide ] = useState(\n\t\tgetInitialSide( isLinked, splitOnAxis )\n\t);\n\n\t// Tracking selected units via internal state allows filtering of CSS unit\n\t// only values from being saved while maintaining preexisting unit selection\n\t// behaviour. Filtering CSS only values prevents invalid style values.\n\tconst [ selectedUnits, setSelectedUnits ] = useState( {\n\t\ttop: parseUnit( valuesProp?.top )[ 1 ],\n\t\tright: parseUnit( valuesProp?.right )[ 1 ],\n\t\tbottom: parseUnit( valuesProp?.bottom )[ 1 ],\n\t\tleft: parseUnit( valuesProp?.left )[ 1 ],\n\t} );\n\n\tconst id = useUniqueId( idProp );\n\tconst headingId = `${ id }-heading`;\n\n\tconst toggleLinked = () => {\n\t\tsetIsLinked( ! isLinked );\n\t\tsetSide( getInitialSide( ! isLinked, splitOnAxis ) );\n\t};\n\n\tconst handleOnFocus = ( event, { side: nextSide } ) => {\n\t\tsetSide( nextSide );\n\t};\n\n\tconst handleOnChange = ( nextValues ) => {\n\t\tonChange( nextValues );\n\t\tsetValues( nextValues );\n\t\tsetIsDirty( true );\n\t};\n\n\tconst handleOnHoverOn = ( next = {} ) => {\n\t\tonChangeShowVisualizer( { ...DEFAULT_VISUALIZER_VALUES, ...next } );\n\t};\n\n\tconst handleOnHoverOff = ( next = {} ) => {\n\t\tonChangeShowVisualizer( { ...DEFAULT_VISUALIZER_VALUES, ...next } );\n\t};\n\n\tconst handleOnReset = () => {\n\t\tonChange( resetValues );\n\t\tsetValues( resetValues );\n\t\tsetSelectedUnits( resetValues );\n\t\tsetIsDirty( false );\n\t};\n\n\tconst inputControlProps = {\n\t\t...inputProps,\n\t\tonChange: handleOnChange,\n\t\tonFocus: handleOnFocus,\n\t\tonHoverOn: handleOnHoverOn,\n\t\tonHoverOff: handleOnHoverOff,\n\t\tisLinked,\n\t\tunits,\n\t\tselectedUnits,\n\t\tsetSelectedUnits,\n\t\tsides,\n\t\tvalues: inputValues,\n\t};\n\n\treturn (\n\t\t<Root id={ id } role=\"region\" aria-labelledby={ headingId }>\n\t\t\t<Header className=\"component-box-control__header\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tid={ headingId }\n\t\t\t\t\t\tclassName=\"component-box-control__label\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Text>\n\t\t\t\t</FlexItem>\n\t\t\t\t{ allowReset && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"component-box-control__reset-button\"\n\t\t\t\t\t\t\tisSecondary\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\tdisabled={ ! isDirty }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</Header>\n\t\t\t<HeaderControlWrapper className=\"component-box-control__header-control-wrapper\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<BoxControlIcon side={ side } sides={ sides } />\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isLinked && (\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<AllInputControl\n\t\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\t\t{ ...inputControlProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t) }\n\t\t\t\t{ ! isLinked && splitOnAxis && (\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<AxialInputControls { ...inputControlProps } />\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t) }\n\t\t\t\t{ ! hasOneSide && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<LinkedButton\n\t\t\t\t\t\t\tonClick={ toggleLinked }\n\t\t\t\t\t\t\tisLinked={ isLinked }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HeaderControlWrapper>\n\t\t\t{ ! isLinked && ! splitOnAxis && (\n\t\t\t\t<InputControls { ...inputControlProps } />\n\t\t\t) }\n\t\t</Root>\n\t);\n}\n\nBoxControl.__Visualizer = Visualizer;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/box-control/index.js"],"names":["defaultInputProps","min","useUniqueId","idProp","instanceId","BoxControl","id","inputProps","onChange","noop","onChangeShowVisualizer","label","values","valuesProp","units","sides","splitOnAxis","allowReset","resetValues","DEFAULT_VALUES","setValues","fallback","inputValues","hasInitialValue","hasOneSide","length","isDirty","setIsDirty","isLinked","setIsLinked","side","setSide","selectedUnits","setSelectedUnits","top","right","bottom","left","headingId","toggleLinked","handleOnFocus","event","nextSide","handleOnChange","nextValues","handleOnHoverOn","next","DEFAULT_VISUALIZER_VALUES","handleOnHoverOff","handleOnReset","inputControlProps","onFocus","onHoverOn","onHoverOff","__Visualizer","Visualizer"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { FlexItem, FlexBlock } from '../flex';\nimport AllInputControl from './all-input-control';\nimport InputControls from './input-controls';\nimport AxialInputControls from './axial-input-controls';\nimport BoxControlIcon from './icon';\nimport { Text } from '../text';\nimport LinkedButton from './linked-button';\nimport Visualizer from './visualizer';\nimport {\n\tRoot,\n\tHeader,\n\tHeaderControlWrapper,\n} from './styles/box-control-styles';\nimport { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';\nimport {\n\tDEFAULT_VALUES,\n\tDEFAULT_VISUALIZER_VALUES,\n\tgetInitialSide,\n\tisValuesMixed,\n\tisValuesDefined,\n} from './utils';\nimport { useControlledState } from '../utils/hooks';\n\nconst defaultInputProps = {\n\tmin: 0,\n};\n\nfunction useUniqueId( idProp ) {\n\tconst instanceId = useInstanceId( BoxControl, 'inspector-box-control' );\n\n\treturn idProp || instanceId;\n}\nexport default function BoxControl( {\n\tid: idProp,\n\tinputProps = defaultInputProps,\n\tonChange = noop,\n\tonChangeShowVisualizer = noop,\n\tlabel = __( 'Box Control' ),\n\tvalues: valuesProp,\n\tunits,\n\tsides,\n\tsplitOnAxis = false,\n\tallowReset = true,\n\tresetValues = DEFAULT_VALUES,\n} ) {\n\tconst [ values, setValues ] = useControlledState( valuesProp, {\n\t\tfallback: DEFAULT_VALUES,\n\t} );\n\tconst inputValues = values || DEFAULT_VALUES;\n\tconst hasInitialValue = isValuesDefined( valuesProp );\n\tconst hasOneSide = sides?.length === 1;\n\n\tconst [ isDirty, setIsDirty ] = useState( hasInitialValue );\n\tconst [ isLinked, setIsLinked ] = useState(\n\t\t! hasInitialValue || ! isValuesMixed( inputValues ) || hasOneSide\n\t);\n\n\tconst [ side, setSide ] = useState(\n\t\tgetInitialSide( isLinked, splitOnAxis )\n\t);\n\n\t// Tracking selected units via internal state allows filtering of CSS unit\n\t// only values from being saved while maintaining preexisting unit selection\n\t// behaviour. Filtering CSS only values prevents invalid style values.\n\tconst [ selectedUnits, setSelectedUnits ] = useState( {\n\t\ttop: parseQuantityAndUnitFromRawValue( valuesProp?.top )[ 1 ],\n\t\tright: parseQuantityAndUnitFromRawValue( valuesProp?.right )[ 1 ],\n\t\tbottom: parseQuantityAndUnitFromRawValue( valuesProp?.bottom )[ 1 ],\n\t\tleft: parseQuantityAndUnitFromRawValue( valuesProp?.left )[ 1 ],\n\t} );\n\n\tconst id = useUniqueId( idProp );\n\tconst headingId = `${ id }-heading`;\n\n\tconst toggleLinked = () => {\n\t\tsetIsLinked( ! isLinked );\n\t\tsetSide( getInitialSide( ! isLinked, splitOnAxis ) );\n\t};\n\n\tconst handleOnFocus = ( event, { side: nextSide } ) => {\n\t\tsetSide( nextSide );\n\t};\n\n\tconst handleOnChange = ( nextValues ) => {\n\t\tonChange( nextValues );\n\t\tsetValues( nextValues );\n\t\tsetIsDirty( true );\n\t};\n\n\tconst handleOnHoverOn = ( next = {} ) => {\n\t\tonChangeShowVisualizer( { ...DEFAULT_VISUALIZER_VALUES, ...next } );\n\t};\n\n\tconst handleOnHoverOff = ( next = {} ) => {\n\t\tonChangeShowVisualizer( { ...DEFAULT_VISUALIZER_VALUES, ...next } );\n\t};\n\n\tconst handleOnReset = () => {\n\t\tonChange( resetValues );\n\t\tsetValues( resetValues );\n\t\tsetSelectedUnits( resetValues );\n\t\tsetIsDirty( false );\n\t};\n\n\tconst inputControlProps = {\n\t\t...inputProps,\n\t\tonChange: handleOnChange,\n\t\tonFocus: handleOnFocus,\n\t\tonHoverOn: handleOnHoverOn,\n\t\tonHoverOff: handleOnHoverOff,\n\t\tisLinked,\n\t\tunits,\n\t\tselectedUnits,\n\t\tsetSelectedUnits,\n\t\tsides,\n\t\tvalues: inputValues,\n\t};\n\n\treturn (\n\t\t<Root id={ id } role=\"region\" aria-labelledby={ headingId }>\n\t\t\t<Header className=\"component-box-control__header\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tid={ headingId }\n\t\t\t\t\t\tclassName=\"component-box-control__label\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Text>\n\t\t\t\t</FlexItem>\n\t\t\t\t{ allowReset && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"component-box-control__reset-button\"\n\t\t\t\t\t\t\tisSecondary\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\tdisabled={ ! isDirty }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</Header>\n\t\t\t<HeaderControlWrapper className=\"component-box-control__header-control-wrapper\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<BoxControlIcon side={ side } sides={ sides } />\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isLinked && (\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<AllInputControl\n\t\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\t\t{ ...inputControlProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t) }\n\t\t\t\t{ ! isLinked && splitOnAxis && (\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<AxialInputControls { ...inputControlProps } />\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t) }\n\t\t\t\t{ ! hasOneSide && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<LinkedButton\n\t\t\t\t\t\t\tonClick={ toggleLinked }\n\t\t\t\t\t\t\tisLinked={ isLinked }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HeaderControlWrapper>\n\t\t\t{ ! isLinked && ! splitOnAxis && (\n\t\t\t\t<InputControls { ...inputControlProps } />\n\t\t\t) }\n\t\t</Root>\n\t);\n}\n\nBoxControl.__Visualizer = Visualizer;\n"]}
@@ -13,7 +13,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
 
14
14
  var _lodash = require("lodash");
15
15
 
16
- var _reactUseGesture = require("react-use-gesture");
16
+ var _react = require("@use-gesture/react");
17
17
 
18
18
  var _tooltip = _interopRequireDefault(require("../tooltip"));
19
19
 
@@ -37,7 +37,7 @@ function BoxUnitControl(_ref) {
37
37
  value,
38
38
  ...props
39
39
  } = _ref;
40
- const bindHoverGesture = (0, _reactUseGesture.useHover)(_ref2 => {
40
+ const bindHoverGesture = (0, _react.useHover)(_ref2 => {
41
41
  let {
42
42
  event,
43
43
  ...state
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/box-control/unit-control.js"],"names":["BoxUnitControl","isFirst","isLast","isOnly","onHoverOn","noop","onHoverOff","label","value","props","bindHoverGesture","event","state","hovering","Tooltip","children","text"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAVA;AACA;AACA;;AAIA;AACA;AACA;AAIe,SAASA,cAAT,OASX;AAAA,MAToC;AACvCC,IAAAA,OADuC;AAEvCC,IAAAA,MAFuC;AAGvCC,IAAAA,MAHuC;AAIvCC,IAAAA,SAAS,GAAGC,YAJ2B;AAKvCC,IAAAA,UAAU,GAAGD,YAL0B;AAMvCE,IAAAA,KANuC;AAOvCC,IAAAA,KAPuC;AAQvC,OAAGC;AARoC,GASpC;AACH,QAAMC,gBAAgB,GAAG,+BAAU,SAA2B;AAAA,QAAzB;AAAEC,MAAAA,KAAF;AAAS,SAAGC;AAAZ,KAAyB;;AAC7D,QAAKA,KAAK,CAACC,QAAX,EAAsB;AACrBT,MAAAA,SAAS,CAAEO,KAAF,EAASC,KAAT,CAAT;AACA,KAFD,MAEO;AACNN,MAAAA,UAAU,CAAEK,KAAF,EAASC,KAAT,CAAV;AACA;AACD,GANwB,CAAzB;AAQA,SACC,4BAAC,oCAAD,EAAyBF,gBAAgB,EAAzC,EACC,4BAAC,OAAD;AAAS,IAAA,IAAI,EAAGH;AAAhB,KACC,4BAAC,6BAAD;AACC,kBAAaA,KADd;AAEC,IAAA,SAAS,EAAC,qCAFX;AAGC,IAAA,cAAc,MAHf;AAIC,IAAA,OAAO,EAAGN,OAJX;AAKC,IAAA,MAAM,EAAGC,MALV;AAMC,IAAA,MAAM,EAAGC,MANV;AAOC,IAAA,oBAAoB,MAPrB;AAQC,IAAA,wBAAwB,EAAG,KAR5B;AASC,IAAA,KAAK,EAAGK;AATT,KAUMC,KAVN,EADD,CADD,CADD;AAkBA;;AAED,SAASK,OAAT,QAAuC;AAAA,MAArB;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAqB;AACtC,MAAK,CAAEA,IAAP,EAAc,OAAOD,QAAP;AAEd;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACC,SACC,4BAAC,gBAAD;AAAa,IAAA,IAAI,EAAGC,IAApB;AAA2B,IAAA,QAAQ,EAAC;AAApC,KACC,yCAAOD,QAAP,CADD,CADD;AAKA","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport { useHover } from 'react-use-gesture';\n\n/**\n * Internal dependencies\n */\nimport BaseTooltip from '../tooltip';\nimport { UnitControlWrapper, UnitControl } from './styles/box-control-styles';\n\nexport default function BoxUnitControl( {\n\tisFirst,\n\tisLast,\n\tisOnly,\n\tonHoverOn = noop,\n\tonHoverOff = noop,\n\tlabel,\n\tvalue,\n\t...props\n} ) {\n\tconst bindHoverGesture = useHover( ( { event, ...state } ) => {\n\t\tif ( state.hovering ) {\n\t\t\tonHoverOn( event, state );\n\t\t} else {\n\t\t\tonHoverOff( event, state );\n\t\t}\n\t} );\n\n\treturn (\n\t\t<UnitControlWrapper { ...bindHoverGesture() }>\n\t\t\t<Tooltip text={ label }>\n\t\t\t\t<UnitControl\n\t\t\t\t\taria-label={ label }\n\t\t\t\t\tclassName=\"component-box-control__unit-control\"\n\t\t\t\t\thideHTMLArrows\n\t\t\t\t\tisFirst={ isFirst }\n\t\t\t\t\tisLast={ isLast }\n\t\t\t\t\tisOnly={ isOnly }\n\t\t\t\t\tisPressEnterToChange\n\t\t\t\t\tisResetValueOnUnitChange={ false }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\t{ ...props }\n\t\t\t\t/>\n\t\t\t</Tooltip>\n\t\t</UnitControlWrapper>\n\t);\n}\n\nfunction Tooltip( { children, text } ) {\n\tif ( ! text ) return children;\n\n\t/**\n\t * Wrapping the children in a `<div />` as Tooltip as it attempts\n\t * to render the <UnitControl />. Using a plain `<div />` appears to\n\t * resolve this issue.\n\t *\n\t * Originally discovered and referenced here:\n\t * https://github.com/WordPress/gutenberg/pull/24966#issuecomment-685875026\n\t */\n\treturn (\n\t\t<BaseTooltip text={ text } position=\"top\">\n\t\t\t<div>{ children }</div>\n\t\t</BaseTooltip>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/box-control/unit-control.js"],"names":["BoxUnitControl","isFirst","isLast","isOnly","onHoverOn","noop","onHoverOff","label","value","props","bindHoverGesture","event","state","hovering","Tooltip","children","text"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAVA;AACA;AACA;;AAIA;AACA;AACA;AAIe,SAASA,cAAT,OASX;AAAA,MAToC;AACvCC,IAAAA,OADuC;AAEvCC,IAAAA,MAFuC;AAGvCC,IAAAA,MAHuC;AAIvCC,IAAAA,SAAS,GAAGC,YAJ2B;AAKvCC,IAAAA,UAAU,GAAGD,YAL0B;AAMvCE,IAAAA,KANuC;AAOvCC,IAAAA,KAPuC;AAQvC,OAAGC;AARoC,GASpC;AACH,QAAMC,gBAAgB,GAAG,qBAAU,SAA2B;AAAA,QAAzB;AAAEC,MAAAA,KAAF;AAAS,SAAGC;AAAZ,KAAyB;;AAC7D,QAAKA,KAAK,CAACC,QAAX,EAAsB;AACrBT,MAAAA,SAAS,CAAEO,KAAF,EAASC,KAAT,CAAT;AACA,KAFD,MAEO;AACNN,MAAAA,UAAU,CAAEK,KAAF,EAASC,KAAT,CAAV;AACA;AACD,GANwB,CAAzB;AAQA,SACC,4BAAC,oCAAD,EAAyBF,gBAAgB,EAAzC,EACC,4BAAC,OAAD;AAAS,IAAA,IAAI,EAAGH;AAAhB,KACC,4BAAC,6BAAD;AACC,kBAAaA,KADd;AAEC,IAAA,SAAS,EAAC,qCAFX;AAGC,IAAA,cAAc,MAHf;AAIC,IAAA,OAAO,EAAGN,OAJX;AAKC,IAAA,MAAM,EAAGC,MALV;AAMC,IAAA,MAAM,EAAGC,MANV;AAOC,IAAA,oBAAoB,MAPrB;AAQC,IAAA,wBAAwB,EAAG,KAR5B;AASC,IAAA,KAAK,EAAGK;AATT,KAUMC,KAVN,EADD,CADD,CADD;AAkBA;;AAED,SAASK,OAAT,QAAuC;AAAA,MAArB;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAqB;AACtC,MAAK,CAAEA,IAAP,EAAc,OAAOD,QAAP;AAEd;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACC,SACC,4BAAC,gBAAD;AAAa,IAAA,IAAI,EAAGC,IAApB;AAA2B,IAAA,QAAQ,EAAC;AAApC,KACC,yCAAOD,QAAP,CADD,CADD;AAKA","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport { useHover } from '@use-gesture/react';\n\n/**\n * Internal dependencies\n */\nimport BaseTooltip from '../tooltip';\nimport { UnitControlWrapper, UnitControl } from './styles/box-control-styles';\n\nexport default function BoxUnitControl( {\n\tisFirst,\n\tisLast,\n\tisOnly,\n\tonHoverOn = noop,\n\tonHoverOff = noop,\n\tlabel,\n\tvalue,\n\t...props\n} ) {\n\tconst bindHoverGesture = useHover( ( { event, ...state } ) => {\n\t\tif ( state.hovering ) {\n\t\t\tonHoverOn( event, state );\n\t\t} else {\n\t\t\tonHoverOff( event, state );\n\t\t}\n\t} );\n\n\treturn (\n\t\t<UnitControlWrapper { ...bindHoverGesture() }>\n\t\t\t<Tooltip text={ label }>\n\t\t\t\t<UnitControl\n\t\t\t\t\taria-label={ label }\n\t\t\t\t\tclassName=\"component-box-control__unit-control\"\n\t\t\t\t\thideHTMLArrows\n\t\t\t\t\tisFirst={ isFirst }\n\t\t\t\t\tisLast={ isLast }\n\t\t\t\t\tisOnly={ isOnly }\n\t\t\t\t\tisPressEnterToChange\n\t\t\t\t\tisResetValueOnUnitChange={ false }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\t{ ...props }\n\t\t\t\t/>\n\t\t\t</Tooltip>\n\t\t</UnitControlWrapper>\n\t);\n}\n\nfunction Tooltip( { children, text } ) {\n\tif ( ! text ) return children;\n\n\t/**\n\t * Wrapping the children in a `<div />` as Tooltip as it attempts\n\t * to render the <UnitControl />. Using a plain `<div />` appears to\n\t * resolve this issue.\n\t *\n\t * Originally discovered and referenced here:\n\t * https://github.com/WordPress/gutenberg/pull/24966#issuecomment-685875026\n\t */\n\treturn (\n\t\t<BaseTooltip text={ text } position=\"top\">\n\t\t\t<div>{ children }</div>\n\t\t</BaseTooltip>\n\t);\n}\n"]}
@@ -40,10 +40,10 @@ const LABELS = {
40
40
  };
41
41
  exports.LABELS = LABELS;
42
42
  const DEFAULT_VALUES = {
43
- top: null,
44
- right: null,
45
- bottom: null,
46
- left: null
43
+ top: undefined,
44
+ right: undefined,
45
+ bottom: undefined,
46
+ left: undefined
47
47
  };
48
48
  exports.DEFAULT_VALUES = DEFAULT_VALUES;
49
49
  const DEFAULT_VISUALIZER_VALUES = {
@@ -81,9 +81,13 @@ function getAllValue() {
81
81
  let values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
82
82
  let availableSides = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ALL_SIDES;
83
83
  const sides = normalizeSides(availableSides);
84
- const parsedValues = sides.map(side => (0, _utils.parseUnit)(values[side]));
85
- const allValues = parsedValues.map(value => value[0]);
86
- const allUnits = parsedValues.map(value => value[1]);
84
+ const parsedQuantitiesAndUnits = sides.map(side => (0, _utils.parseQuantityAndUnitFromRawValue)(values[side]));
85
+ const allValues = parsedQuantitiesAndUnits.map(value => {
86
+ var _value$;
87
+
88
+ return (_value$ = value[0]) !== null && _value$ !== void 0 ? _value$ : '';
89
+ });
90
+ const allUnits = parsedQuantitiesAndUnits.map(value => value[1]);
87
91
  const value = allValues.every(v => v === allValues[0]) ? allValues[0] : '';
88
92
  const unit = mode(allUnits);
89
93
  /**
@@ -96,7 +100,7 @@ function getAllValue() {
96
100
  * simple truthy check.
97
101
  */
98
102
 
99
- const allValue = (0, _lodash.isNumber)(value) ? `${value}${unit}` : null;
103
+ const allValue = (0, _lodash.isNumber)(value) ? `${value}${unit}` : undefined;
100
104
  return allValue;
101
105
  }
102
106
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/box-control/utils.js"],"names":["LABELS","all","top","bottom","left","right","mixed","vertical","horizontal","DEFAULT_VALUES","DEFAULT_VISUALIZER_VALUES","ALL_SIDES","mode","arr","sort","a","b","filter","v","length","pop","getAllValue","values","availableSides","sides","normalizeSides","parsedValues","map","side","allValues","value","allUnits","every","unit","allValue","getAllUnitFallback","selectedUnits","undefined","filteredUnits","Object","Boolean","isValuesMixed","isMixed","isNaN","parseFloat","isValuesDefined","test","getInitialSide","isLinked","splitOnAxis","initialSide","filteredSides","includes","push","newSides"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty, isNumber } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { parseUnit } from '../unit-control/utils';\n\nexport const LABELS = {\n\tall: __( 'All' ),\n\ttop: __( 'Top' ),\n\tbottom: __( 'Bottom' ),\n\tleft: __( 'Left' ),\n\tright: __( 'Right' ),\n\tmixed: __( 'Mixed' ),\n\tvertical: __( 'Vertical' ),\n\thorizontal: __( 'Horizontal' ),\n};\n\nexport const DEFAULT_VALUES = {\n\ttop: null,\n\tright: null,\n\tbottom: null,\n\tleft: null,\n};\n\nexport const DEFAULT_VISUALIZER_VALUES = {\n\ttop: false,\n\tright: false,\n\tbottom: false,\n\tleft: false,\n};\n\nexport const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];\n\n/**\n * Gets an items with the most occurrence within an array\n * https://stackoverflow.com/a/20762713\n *\n * @param {Array<any>} arr Array of items to check.\n * @return {any} The item with the most occurrences.\n */\nfunction mode( arr ) {\n\treturn arr\n\t\t.sort(\n\t\t\t( a, b ) =>\n\t\t\t\tarr.filter( ( v ) => v === a ).length -\n\t\t\t\tarr.filter( ( v ) => v === b ).length\n\t\t)\n\t\t.pop();\n}\n\n/**\n * Gets the 'all' input value and unit from values data.\n *\n * @param {Object} values Box values.\n * @param {Array} availableSides Available box sides to evaluate.\n *\n * @return {string} A value + unit for the 'all' input.\n */\nexport function getAllValue( values = {}, availableSides = ALL_SIDES ) {\n\tconst sides = normalizeSides( availableSides );\n\tconst parsedValues = sides.map( ( side ) => parseUnit( values[ side ] ) );\n\tconst allValues = parsedValues.map( ( value ) => value[ 0 ] );\n\tconst allUnits = parsedValues.map( ( value ) => value[ 1 ] );\n\n\tconst value = allValues.every( ( v ) => v === allValues[ 0 ] )\n\t\t? allValues[ 0 ]\n\t\t: '';\n\tconst unit = mode( allUnits );\n\n\t/**\n\t * The isNumber check is important. On reset actions, the incoming value\n\t * may be null or an empty string.\n\t *\n\t * Also, the value may also be zero (0), which is considered a valid unit value.\n\t *\n\t * isNumber() is more specific for these cases, rather than relying on a\n\t * simple truthy check.\n\t */\n\tconst allValue = isNumber( value ) ? `${ value }${ unit }` : null;\n\n\treturn allValue;\n}\n\n/**\n * Determine the most common unit selection to use as a fallback option.\n *\n * @param {Object} selectedUnits Current unit selections for individual sides.\n * @return {string} Most common unit selection.\n */\nexport function getAllUnitFallback( selectedUnits ) {\n\tif ( ! selectedUnits || typeof selectedUnits !== 'object' ) {\n\t\treturn undefined;\n\t}\n\n\tconst filteredUnits = Object.values( selectedUnits ).filter( Boolean );\n\n\treturn mode( filteredUnits );\n}\n\n/**\n * Checks to determine if values are mixed.\n *\n * @param {Object} values Box values.\n * @param {Array} sides Available box sides to evaluate.\n *\n * @return {boolean} Whether values are mixed.\n */\nexport function isValuesMixed( values = {}, sides = ALL_SIDES ) {\n\tconst allValue = getAllValue( values, sides );\n\tconst isMixed = isNaN( parseFloat( allValue ) );\n\n\treturn isMixed;\n}\n\n/**\n * Checks to determine if values are defined.\n *\n * @param {Object} values Box values.\n *\n * @return {boolean} Whether values are mixed.\n */\nexport function isValuesDefined( values ) {\n\treturn (\n\t\tvalues !== undefined &&\n\t\t! isEmpty(\n\t\t\tObject.values( values ).filter(\n\t\t\t\t// Switching units when input is empty causes values only\n\t\t\t\t// containing units. This gives false positive on mixed values\n\t\t\t\t// unless filtered.\n\t\t\t\t( value ) => !! value && /\\d/.test( value )\n\t\t\t)\n\t\t)\n\t);\n}\n\n/**\n * Get initial selected side, factoring in whether the sides are linked,\n * and whether the vertical / horizontal directions are grouped via splitOnAxis.\n *\n * @param {boolean} isLinked Whether the box control's fields are linked.\n * @param {boolean} splitOnAxis Whether splitting by horizontal or vertical axis.\n * @return {string} The initial side.\n */\nexport function getInitialSide( isLinked, splitOnAxis ) {\n\tlet initialSide = 'all';\n\n\tif ( ! isLinked ) {\n\t\tinitialSide = splitOnAxis ? 'vertical' : 'top';\n\t}\n\n\treturn initialSide;\n}\n\n/**\n * Normalizes provided sides configuration to an array containing only top,\n * right, bottom and left. This essentially just maps `horizontal` or `vertical`\n * to their appropriate sides to facilitate correctly determining value for\n * all input control.\n *\n * @param {Array} sides Available sides for box control.\n * @return {Array} Normalized sides configuration.\n */\nexport function normalizeSides( sides ) {\n\tconst filteredSides = [];\n\n\tif ( ! sides?.length ) {\n\t\treturn ALL_SIDES;\n\t}\n\n\tif ( sides.includes( 'vertical' ) ) {\n\t\tfilteredSides.push( ...[ 'top', 'bottom' ] );\n\t} else if ( sides.includes( 'horizontal' ) ) {\n\t\tfilteredSides.push( ...[ 'left', 'right' ] );\n\t} else {\n\t\tconst newSides = ALL_SIDES.filter( ( side ) => sides.includes( side ) );\n\t\tfilteredSides.push( ...newSides );\n\t}\n\n\treturn filteredSides;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/box-control/utils.js"],"names":["LABELS","all","top","bottom","left","right","mixed","vertical","horizontal","DEFAULT_VALUES","undefined","DEFAULT_VISUALIZER_VALUES","ALL_SIDES","mode","arr","sort","a","b","filter","v","length","pop","getAllValue","values","availableSides","sides","normalizeSides","parsedQuantitiesAndUnits","map","side","allValues","value","allUnits","every","unit","allValue","getAllUnitFallback","selectedUnits","filteredUnits","Object","Boolean","isValuesMixed","isMixed","isNaN","parseFloat","isValuesDefined","test","getInitialSide","isLinked","splitOnAxis","initialSide","filteredSides","includes","push","newSides"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty, isNumber } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';\n\nexport const LABELS = {\n\tall: __( 'All' ),\n\ttop: __( 'Top' ),\n\tbottom: __( 'Bottom' ),\n\tleft: __( 'Left' ),\n\tright: __( 'Right' ),\n\tmixed: __( 'Mixed' ),\n\tvertical: __( 'Vertical' ),\n\thorizontal: __( 'Horizontal' ),\n};\n\nexport const DEFAULT_VALUES = {\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\nexport const DEFAULT_VISUALIZER_VALUES = {\n\ttop: false,\n\tright: false,\n\tbottom: false,\n\tleft: false,\n};\n\nexport const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];\n\n/**\n * Gets an items with the most occurrence within an array\n * https://stackoverflow.com/a/20762713\n *\n * @param {Array<any>} arr Array of items to check.\n * @return {any} The item with the most occurrences.\n */\nfunction mode( arr ) {\n\treturn arr\n\t\t.sort(\n\t\t\t( a, b ) =>\n\t\t\t\tarr.filter( ( v ) => v === a ).length -\n\t\t\t\tarr.filter( ( v ) => v === b ).length\n\t\t)\n\t\t.pop();\n}\n\n/**\n * Gets the 'all' input value and unit from values data.\n *\n * @param {Object} values Box values.\n * @param {Array} availableSides Available box sides to evaluate.\n *\n * @return {string} A value + unit for the 'all' input.\n */\nexport function getAllValue( values = {}, availableSides = ALL_SIDES ) {\n\tconst sides = normalizeSides( availableSides );\n\tconst parsedQuantitiesAndUnits = sides.map( ( side ) =>\n\t\tparseQuantityAndUnitFromRawValue( values[ side ] )\n\t);\n\tconst allValues = parsedQuantitiesAndUnits.map(\n\t\t( value ) => value[ 0 ] ?? ''\n\t);\n\tconst allUnits = parsedQuantitiesAndUnits.map( ( value ) => value[ 1 ] );\n\n\tconst value = allValues.every( ( v ) => v === allValues[ 0 ] )\n\t\t? allValues[ 0 ]\n\t\t: '';\n\tconst unit = mode( allUnits );\n\n\t/**\n\t * The isNumber check is important. On reset actions, the incoming value\n\t * may be null or an empty string.\n\t *\n\t * Also, the value may also be zero (0), which is considered a valid unit value.\n\t *\n\t * isNumber() is more specific for these cases, rather than relying on a\n\t * simple truthy check.\n\t */\n\tconst allValue = isNumber( value ) ? `${ value }${ unit }` : undefined;\n\n\treturn allValue;\n}\n\n/**\n * Determine the most common unit selection to use as a fallback option.\n *\n * @param {Object} selectedUnits Current unit selections for individual sides.\n * @return {string} Most common unit selection.\n */\nexport function getAllUnitFallback( selectedUnits ) {\n\tif ( ! selectedUnits || typeof selectedUnits !== 'object' ) {\n\t\treturn undefined;\n\t}\n\n\tconst filteredUnits = Object.values( selectedUnits ).filter( Boolean );\n\n\treturn mode( filteredUnits );\n}\n\n/**\n * Checks to determine if values are mixed.\n *\n * @param {Object} values Box values.\n * @param {Array} sides Available box sides to evaluate.\n *\n * @return {boolean} Whether values are mixed.\n */\nexport function isValuesMixed( values = {}, sides = ALL_SIDES ) {\n\tconst allValue = getAllValue( values, sides );\n\tconst isMixed = isNaN( parseFloat( allValue ) );\n\n\treturn isMixed;\n}\n\n/**\n * Checks to determine if values are defined.\n *\n * @param {Object} values Box values.\n *\n * @return {boolean} Whether values are mixed.\n */\nexport function isValuesDefined( values ) {\n\treturn (\n\t\tvalues !== undefined &&\n\t\t! isEmpty(\n\t\t\tObject.values( values ).filter(\n\t\t\t\t// Switching units when input is empty causes values only\n\t\t\t\t// containing units. This gives false positive on mixed values\n\t\t\t\t// unless filtered.\n\t\t\t\t( value ) => !! value && /\\d/.test( value )\n\t\t\t)\n\t\t)\n\t);\n}\n\n/**\n * Get initial selected side, factoring in whether the sides are linked,\n * and whether the vertical / horizontal directions are grouped via splitOnAxis.\n *\n * @param {boolean} isLinked Whether the box control's fields are linked.\n * @param {boolean} splitOnAxis Whether splitting by horizontal or vertical axis.\n * @return {string} The initial side.\n */\nexport function getInitialSide( isLinked, splitOnAxis ) {\n\tlet initialSide = 'all';\n\n\tif ( ! isLinked ) {\n\t\tinitialSide = splitOnAxis ? 'vertical' : 'top';\n\t}\n\n\treturn initialSide;\n}\n\n/**\n * Normalizes provided sides configuration to an array containing only top,\n * right, bottom and left. This essentially just maps `horizontal` or `vertical`\n * to their appropriate sides to facilitate correctly determining value for\n * all input control.\n *\n * @param {Array} sides Available sides for box control.\n * @return {Array} Normalized sides configuration.\n */\nexport function normalizeSides( sides ) {\n\tconst filteredSides = [];\n\n\tif ( ! sides?.length ) {\n\t\treturn ALL_SIDES;\n\t}\n\n\tif ( sides.includes( 'vertical' ) ) {\n\t\tfilteredSides.push( ...[ 'top', 'bottom' ] );\n\t} else if ( sides.includes( 'horizontal' ) ) {\n\t\tfilteredSides.push( ...[ 'left', 'right' ] );\n\t} else {\n\t\tconst newSides = ALL_SIDES.filter( ( side ) => sides.includes( side ) );\n\t\tfilteredSides.push( ...newSides );\n\t}\n\n\treturn filteredSides;\n}\n"]}
@@ -155,11 +155,11 @@ function Button(props, ref) {
155
155
  } // Should show the tooltip if...
156
156
 
157
157
 
158
- const shouldShowTooltip = !trulyDisabled && ( // an explicit tooltip is passed or...
159
- showTooltip && label || // there's a shortcut or...
160
- shortcut || // there's a label and...
161
- !!label && ( // the children are empty and...
162
- !children || (0, _lodash.isArray)(children) && !children.length) && // the tooltip is not explicitly disabled.
158
+ const shouldShowTooltip = !trulyDisabled && ( // An explicit tooltip is passed or...
159
+ showTooltip && label || // There's a shortcut or...
160
+ shortcut || // There's a label and...
161
+ !!label && ( // The children are empty and...
162
+ !children || (0, _lodash.isArray)(children) && !children.length) && // The tooltip is not explicitly disabled.
163
163
  false !== showTooltip);
164
164
  const descriptionId = describedBy ? instanceId : null;
165
165
  const describedById = additionalProps['aria-describedby'] || descriptionId;