@wordpress/components 19.11.0 → 19.14.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 (1322) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/CONTRIBUTING.md +94 -12
  3. package/README.md +1 -1
  4. package/build/alignment-matrix-control/index.js +8 -5
  5. package/build/alignment-matrix-control/index.js.map +1 -1
  6. package/build/alignment-matrix-control/utils.js +1 -7
  7. package/build/alignment-matrix-control/utils.js.map +1 -1
  8. package/build/angle-picker-control/index.js +2 -2
  9. package/build/angle-picker-control/index.js.map +1 -1
  10. package/build/autocomplete/autocompleter-ui.js +3 -1
  11. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  12. package/build/autocomplete/autocompleter-ui.native.js +8 -2
  13. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  14. package/build/autocomplete/index.js +14 -10
  15. package/build/autocomplete/index.js.map +1 -1
  16. package/build/border-box-control/border-box-control/component.js +2 -1
  17. package/build/border-box-control/border-box-control/component.js.map +1 -1
  18. package/build/border-box-control/border-box-control/hook.js +2 -2
  19. package/build/border-box-control/border-box-control/hook.js.map +1 -1
  20. package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  21. package/build/border-box-control/border-box-control-split-controls/component.js +4 -1
  22. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  23. package/build/border-box-control/border-box-control-split-controls/hook.js +13 -4
  24. package/build/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  25. package/build/border-box-control/border-box-control-visualizer/hook.js +6 -2
  26. package/build/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  27. package/build/border-box-control/styles.js +21 -11
  28. package/build/border-box-control/styles.js.map +1 -1
  29. package/build/border-box-control/utils.js.map +1 -1
  30. package/build/border-control/border-control/component.js +40 -4
  31. package/build/border-control/border-control/component.js.map +1 -1
  32. package/build/border-control/border-control/hook.js +2 -2
  33. package/build/border-control/border-control/hook.js.map +1 -1
  34. package/build/box-control/all-input-control.js +6 -10
  35. package/build/box-control/all-input-control.js.map +1 -1
  36. package/build/box-control/axial-input-controls.js.map +1 -1
  37. package/build/box-control/index.js +3 -7
  38. package/build/box-control/index.js.map +1 -1
  39. package/build/box-control/input-controls.js +6 -10
  40. package/build/box-control/input-controls.js.map +1 -1
  41. package/build/box-control/unit-control.js +4 -4
  42. package/build/box-control/unit-control.js.map +1 -1
  43. package/build/box-control/utils.js +3 -3
  44. package/build/box-control/utils.js.map +1 -1
  45. package/build/button/index.native.js +1 -3
  46. package/build/button/index.native.js.map +1 -1
  47. package/build/checkbox-control/index.js.map +1 -1
  48. package/build/color-indicator/index.js +27 -10
  49. package/build/color-indicator/index.js.map +1 -1
  50. package/build/color-indicator/types.js +6 -0
  51. package/build/color-indicator/types.js.map +1 -0
  52. package/build/color-palette/index.js +11 -3
  53. package/build/color-palette/index.js.map +1 -1
  54. package/build/color-palette/index.native.js +4 -1
  55. package/build/color-palette/index.native.js.map +1 -1
  56. package/build/color-picker/color-copy-button.js +87 -0
  57. package/build/color-picker/color-copy-button.js.map +1 -0
  58. package/build/color-picker/component.js +10 -23
  59. package/build/color-picker/component.js.map +1 -1
  60. package/build/color-picker/hex-input.js +18 -1
  61. package/build/color-picker/hex-input.js.map +1 -1
  62. package/build/color-picker/index.native.js.map +1 -1
  63. package/build/color-picker/input-with-slider.js +1 -2
  64. package/build/color-picker/input-with-slider.js.map +1 -1
  65. package/build/color-picker/styles.js +37 -19
  66. package/build/color-picker/styles.js.map +1 -1
  67. package/build/combobox-control/index.js +4 -2
  68. package/build/combobox-control/index.js.map +1 -1
  69. package/build/confirm-dialog/component.js.map +1 -1
  70. package/build/custom-gradient-bar/constants.js +1 -3
  71. package/build/custom-gradient-bar/constants.js.map +1 -1
  72. package/build/custom-gradient-bar/control-points.js +15 -8
  73. package/build/custom-gradient-bar/control-points.js.map +1 -1
  74. package/build/custom-gradient-bar/index.js +5 -5
  75. package/build/custom-gradient-bar/index.js.map +1 -1
  76. package/build/custom-gradient-bar/utils.js +5 -7
  77. package/build/custom-gradient-bar/utils.js.map +1 -1
  78. package/build/custom-gradient-picker/index.js +8 -8
  79. package/build/custom-gradient-picker/index.js.map +1 -1
  80. package/build/custom-gradient-picker/index.native.js +8 -9
  81. package/build/custom-gradient-picker/index.native.js.map +1 -1
  82. package/build/custom-gradient-picker/serializer.js +4 -7
  83. package/build/custom-gradient-picker/serializer.js.map +1 -1
  84. package/build/custom-gradient-picker/utils.js +1 -1
  85. package/build/custom-gradient-picker/utils.js.map +1 -1
  86. package/build/custom-select-control/index.js.map +1 -1
  87. package/build/date-time/{date.js → date/index.js} +57 -16
  88. package/build/date-time/date/index.js.map +1 -0
  89. package/build/date-time/date/styles.js +70 -0
  90. package/build/date-time/date/styles.js.map +1 -0
  91. package/build/date-time/{utils.js → date/utils.js} +0 -0
  92. package/build/date-time/date/utils.js.map +1 -0
  93. package/build/date-time/date-time/index.js +177 -0
  94. package/build/date-time/date-time/index.js.map +1 -0
  95. package/build/date-time/date-time/styles.js +32 -0
  96. package/build/date-time/date-time/styles.js.map +1 -0
  97. package/build/date-time/index.js +2 -109
  98. package/build/date-time/index.js.map +1 -1
  99. package/build/date-time/time/index.js +322 -0
  100. package/build/date-time/time/index.js.map +1 -0
  101. package/build/date-time/time/styles.js +139 -0
  102. package/build/date-time/time/styles.js.map +1 -0
  103. package/build/date-time/{timezone.js → time/timezone.js} +4 -2
  104. package/build/date-time/time/timezone.js.map +1 -0
  105. package/build/dimension-control/index.js +1 -3
  106. package/build/dimension-control/index.js.map +1 -1
  107. package/build/divider/styles.js +5 -5
  108. package/build/divider/styles.js.map +1 -1
  109. package/build/draggable/index.js.map +1 -1
  110. package/build/draggable/index.native.js +16 -6
  111. package/build/draggable/index.native.js.map +1 -1
  112. package/build/drop-zone/provider.js.map +1 -1
  113. package/build/dropdown/index.js +6 -3
  114. package/build/dropdown/index.js.map +1 -1
  115. package/build/dropdown-menu/index.js +13 -2
  116. package/build/dropdown-menu/index.js.map +1 -1
  117. package/build/dropdown-menu/index.native.js +13 -2
  118. package/build/dropdown-menu/index.native.js.map +1 -1
  119. package/build/duotone-picker/duotone-picker.js +42 -29
  120. package/build/duotone-picker/duotone-picker.js.map +1 -1
  121. package/build/elevation/hook.js +13 -13
  122. package/build/elevation/hook.js.map +1 -1
  123. package/build/external-link/index.js +20 -8
  124. package/build/external-link/index.js.map +1 -1
  125. package/build/external-link/styles/external-link-styles.js +3 -3
  126. package/build/external-link/styles/external-link-styles.js.map +1 -1
  127. package/build/external-link/types.js +6 -0
  128. package/build/external-link/types.js.map +1 -0
  129. package/build/flex/flex/hook.js +9 -5
  130. package/build/flex/flex/hook.js.map +1 -1
  131. package/build/focal-point-picker/controls.js +3 -7
  132. package/build/focal-point-picker/controls.js.map +1 -1
  133. package/build/focal-point-picker/index.js.map +1 -1
  134. package/build/focal-point-picker/index.native.js +4 -4
  135. package/build/focal-point-picker/index.native.js.map +1 -1
  136. package/build/focal-point-picker/media.js +4 -8
  137. package/build/focal-point-picker/media.js.map +1 -1
  138. package/build/font-size-picker/index.js +1 -1
  139. package/build/font-size-picker/index.js.map +1 -1
  140. package/build/form-toggle/index.js +34 -9
  141. package/build/form-toggle/index.js.map +1 -1
  142. package/build/form-toggle/types.js +6 -0
  143. package/build/form-toggle/types.js.map +1 -0
  144. package/build/form-token-field/index.js +328 -359
  145. package/build/form-token-field/index.js.map +1 -1
  146. package/build/form-token-field/suggestions-list.js +26 -20
  147. package/build/form-token-field/suggestions-list.js.map +1 -1
  148. package/build/form-token-field/token-input.js +39 -53
  149. package/build/form-token-field/token-input.js.map +1 -1
  150. package/build/form-token-field/token.js +3 -3
  151. package/build/form-token-field/token.js.map +1 -1
  152. package/build/form-token-field/types.js +6 -0
  153. package/build/form-token-field/types.js.map +1 -0
  154. package/build/gradient-picker/index.js.map +1 -1
  155. package/build/h-stack/utils.js +3 -3
  156. package/build/h-stack/utils.js.map +1 -1
  157. package/build/heading/component.js +0 -1
  158. package/build/heading/component.js.map +1 -1
  159. package/build/heading/hook.js.map +1 -1
  160. package/build/heading/types.js +6 -0
  161. package/build/heading/types.js.map +1 -0
  162. package/build/higher-order/navigate-regions/index.js.map +1 -1
  163. package/build/higher-order/with-focus-return/index.js.map +1 -1
  164. package/build/higher-order/with-spoken-messages/index.js.map +1 -1
  165. package/build/icon/index.js.map +1 -1
  166. package/build/input-control/index.js +14 -9
  167. package/build/input-control/index.js.map +1 -1
  168. package/build/input-control/input-field.js +11 -36
  169. package/build/input-control/input-field.js.map +1 -1
  170. package/build/input-control/reducer/reducer.js +36 -24
  171. package/build/input-control/reducer/reducer.js.map +1 -1
  172. package/build/input-control/reducer/state.js +0 -1
  173. package/build/input-control/reducer/state.js.map +1 -1
  174. package/build/input-control/utils.js +46 -1
  175. package/build/input-control/utils.js.map +1 -1
  176. package/build/menu-items-choice/index.js +3 -7
  177. package/build/menu-items-choice/index.js.map +1 -1
  178. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  179. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  180. package/build/mobile/bottom-sheet/cycle-picker-cell.native.js +1 -7
  181. package/build/mobile/bottom-sheet/cycle-picker-cell.native.js.map +1 -1
  182. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  183. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  184. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  185. package/build/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  186. package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  187. package/build/mobile/color-settings/index.native.js.map +1 -1
  188. package/build/mobile/global-styles-context/index.native.js.map +1 -1
  189. package/build/mobile/gradient/index.native.js.map +1 -1
  190. package/build/mobile/html-text-input/index.native.js.map +1 -1
  191. package/build/mobile/inserter-button/index.native.js.map +1 -1
  192. package/build/mobile/link-picker/index.native.js +4 -4
  193. package/build/mobile/link-picker/index.native.js.map +1 -1
  194. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  195. package/build/mobile/media-edit/index.native.js.map +1 -1
  196. package/build/mobile/segmented-control/index.native.js +3 -5
  197. package/build/mobile/segmented-control/index.native.js.map +1 -1
  198. package/build/modal/index.js +1 -1
  199. package/build/modal/index.js.map +1 -1
  200. package/build/navigable-container/container.js +4 -2
  201. package/build/navigable-container/container.js.map +1 -1
  202. package/build/navigation/context.js +12 -16
  203. package/build/navigation/context.js.map +1 -1
  204. package/build/navigation/group/index.js +4 -7
  205. package/build/navigation/group/index.js.map +1 -1
  206. package/build/navigation/index.js +3 -3
  207. package/build/navigation/index.js.map +1 -1
  208. package/build/navigation/item/base.js +3 -3
  209. package/build/navigation/item/base.js.map +1 -1
  210. package/build/navigation/item/index.js +3 -3
  211. package/build/navigation/item/index.js.map +1 -1
  212. package/build/navigation/item/use-navigation-tree-item.js +2 -1
  213. package/build/navigation/item/use-navigation-tree-item.js.map +1 -1
  214. package/build/navigation/menu/menu-title-search.js +1 -7
  215. package/build/navigation/menu/menu-title-search.js.map +1 -1
  216. package/build/navigation/menu/search-no-results-found.js +1 -7
  217. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  218. package/build/navigation/use-navigation-tree-nodes.js +18 -10
  219. package/build/navigation/use-navigation-tree-nodes.js.map +1 -1
  220. package/build/navigation/utils.js +4 -2
  221. package/build/navigation/utils.js.map +1 -1
  222. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  223. package/build/navigator/navigator-button/hook.js.map +1 -1
  224. package/build/navigator/navigator-provider/component.js +1 -1
  225. package/build/navigator/navigator-provider/component.js.map +1 -1
  226. package/build/navigator/navigator-screen/component.js +1 -1
  227. package/build/navigator/navigator-screen/component.js.map +1 -1
  228. package/build/notice/index.js +5 -5
  229. package/build/notice/index.js.map +1 -1
  230. package/build/notice/list.js +4 -2
  231. package/build/notice/list.js.map +1 -1
  232. package/build/panel/body.js +3 -3
  233. package/build/panel/body.js.map +1 -1
  234. package/build/placeholder/index.js +26 -12
  235. package/build/placeholder/index.js.map +1 -1
  236. package/build/popover/index.js +40 -33
  237. package/build/popover/index.js.map +1 -1
  238. package/build/radio-control/index.js +43 -7
  239. package/build/radio-control/index.js.map +1 -1
  240. package/build/radio-control/types.js +6 -0
  241. package/build/radio-control/types.js.map +1 -0
  242. package/build/range-control/index.js +11 -9
  243. package/build/range-control/index.js.map +1 -1
  244. package/build/range-control/input-range.js +6 -10
  245. package/build/range-control/input-range.js.map +1 -1
  246. package/build/range-control/utils.js +10 -12
  247. package/build/range-control/utils.js.map +1 -1
  248. package/build/resizable-box/resize-tooltip/index.js +3 -3
  249. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  250. package/build/resizable-box/resize-tooltip/utils.js +4 -7
  251. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  252. package/build/responsive-wrapper/index.js.map +1 -1
  253. package/build/search-control/index.js +4 -6
  254. package/build/search-control/index.js.map +1 -1
  255. package/build/select-control/index.js +8 -4
  256. package/build/select-control/index.js.map +1 -1
  257. package/build/slot-fill/fill.js +1 -7
  258. package/build/slot-fill/fill.js.map +1 -1
  259. package/build/slot-fill/slot.js +14 -3
  260. package/build/slot-fill/slot.js.map +1 -1
  261. package/build/snackbar/index.js +7 -7
  262. package/build/snackbar/index.js.map +1 -1
  263. package/build/snackbar/list.js +3 -1
  264. package/build/snackbar/list.js.map +1 -1
  265. package/build/spacer/component.js +5 -5
  266. package/build/spacer/component.js.map +1 -1
  267. package/build/spacer/hook.js +11 -3
  268. package/build/spacer/hook.js.map +1 -1
  269. package/build/spinner/index.js +26 -13
  270. package/build/spinner/index.js.map +1 -1
  271. package/build/spinner/styles.js +10 -10
  272. package/build/spinner/styles.js.map +1 -1
  273. package/build/surface/component.js +7 -7
  274. package/build/surface/component.js.map +1 -1
  275. package/build/surface/hook.js +8 -11
  276. package/build/surface/hook.js.map +1 -1
  277. package/build/surface/index.js.map +1 -1
  278. package/build/surface/styles.js +8 -48
  279. package/build/surface/styles.js.map +1 -1
  280. package/build/tab-panel/index.js +3 -1
  281. package/build/tab-panel/index.js.map +1 -1
  282. package/build/text/hook.js +4 -4
  283. package/build/text/hook.js.map +1 -1
  284. package/build/text/utils.js.map +1 -1
  285. package/build/textarea-control/index.js +40 -6
  286. package/build/textarea-control/index.js.map +1 -1
  287. package/build/textarea-control/styles/textarea-control-styles.js +3 -3
  288. package/build/textarea-control/styles/textarea-control-styles.js.map +1 -1
  289. package/build/textarea-control/types.js +6 -0
  290. package/build/textarea-control/types.js.map +1 -0
  291. package/build/toggle-control/index.js +1 -3
  292. package/build/toggle-control/index.js.map +1 -1
  293. package/build/toggle-control/index.native.js +1 -7
  294. package/build/toggle-control/index.native.js.map +1 -1
  295. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  296. package/build/toolbar/index.js.map +1 -1
  297. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  298. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  299. package/build/tooltip/index.js +2 -1
  300. package/build/tooltip/index.js.map +1 -1
  301. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  302. package/build/tree-select/index.js +57 -4
  303. package/build/tree-select/index.js.map +1 -1
  304. package/build/tree-select/types.js +6 -0
  305. package/build/tree-select/types.js.map +1 -0
  306. package/build/truncate/component.js +7 -8
  307. package/build/truncate/component.js.map +1 -1
  308. package/build/truncate/hook.js +3 -10
  309. package/build/truncate/hook.js.map +1 -1
  310. package/build/truncate/index.js.map +1 -1
  311. package/build/truncate/styles.js +1 -1
  312. package/build/truncate/styles.js.map +1 -1
  313. package/build/truncate/utils.js +3 -16
  314. package/build/truncate/utils.js.map +1 -1
  315. package/build/ui/form-group/form-group-content.js.map +1 -1
  316. package/build/unit-control/index.js.map +1 -1
  317. package/build/utils/hooks/index.js +0 -8
  318. package/build/utils/hooks/index.js.map +1 -1
  319. package/build/utils/math.js +17 -7
  320. package/build/utils/math.js.map +1 -1
  321. package/build/utils/unit-values.js.map +1 -1
  322. package/build/utils/values.js.map +1 -1
  323. package/build/v-stack/component.js +9 -9
  324. package/build/v-stack/component.js.map +1 -1
  325. package/build/v-stack/hook.js +0 -5
  326. package/build/v-stack/hook.js.map +1 -1
  327. package/build/v-stack/index.js.map +1 -1
  328. package/build/z-stack/component.js +22 -3
  329. package/build/z-stack/component.js.map +1 -1
  330. package/build/z-stack/types.js +6 -0
  331. package/build/z-stack/types.js.map +1 -0
  332. package/build-module/alignment-matrix-control/index.js +7 -3
  333. package/build-module/alignment-matrix-control/index.js.map +1 -1
  334. package/build-module/alignment-matrix-control/utils.js +1 -6
  335. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  336. package/build-module/angle-picker-control/index.js +1 -1
  337. package/build-module/angle-picker-control/index.js.map +1 -1
  338. package/build-module/autocomplete/autocompleter-ui.js +3 -1
  339. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  340. package/build-module/autocomplete/autocompleter-ui.native.js +8 -2
  341. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  342. package/build-module/autocomplete/index.js +15 -11
  343. package/build-module/autocomplete/index.js.map +1 -1
  344. package/build-module/border-box-control/border-box-control/component.js +2 -1
  345. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  346. package/build-module/border-box-control/border-box-control/hook.js +2 -2
  347. package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
  348. package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  349. package/build-module/border-box-control/border-box-control-split-controls/component.js +4 -1
  350. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  351. package/build-module/border-box-control/border-box-control-split-controls/hook.js +11 -4
  352. package/build-module/border-box-control/border-box-control-split-controls/hook.js.map +1 -1
  353. package/build-module/border-box-control/border-box-control-visualizer/hook.js +4 -2
  354. package/build-module/border-box-control/border-box-control-visualizer/hook.js.map +1 -1
  355. package/build-module/border-box-control/styles.js +13 -8
  356. package/build-module/border-box-control/styles.js.map +1 -1
  357. package/build-module/border-box-control/utils.js.map +1 -1
  358. package/build-module/border-control/border-control/component.js +38 -3
  359. package/build-module/border-control/border-control/component.js.map +1 -1
  360. package/build-module/border-control/border-control/hook.js +2 -2
  361. package/build-module/border-control/border-control/hook.js.map +1 -1
  362. package/build-module/box-control/all-input-control.js +3 -5
  363. package/build-module/box-control/all-input-control.js.map +1 -1
  364. package/build-module/box-control/axial-input-controls.js.map +1 -1
  365. package/build-module/box-control/index.js +2 -5
  366. package/build-module/box-control/index.js.map +1 -1
  367. package/build-module/box-control/input-controls.js +3 -5
  368. package/build-module/box-control/input-controls.js.map +1 -1
  369. package/build-module/box-control/unit-control.js +3 -1
  370. package/build-module/box-control/unit-control.js.map +1 -1
  371. package/build-module/box-control/utils.js +4 -4
  372. package/build-module/box-control/utils.js.map +1 -1
  373. package/build-module/button/index.native.js +1 -2
  374. package/build-module/button/index.native.js.map +1 -1
  375. package/build-module/checkbox-control/index.js.map +1 -1
  376. package/build-module/color-indicator/index.js +29 -8
  377. package/build-module/color-indicator/index.js.map +1 -1
  378. package/build-module/color-indicator/types.js +2 -0
  379. package/build-module/color-indicator/types.js.map +1 -0
  380. package/build-module/color-palette/index.js +9 -6
  381. package/build-module/color-palette/index.js.map +1 -1
  382. package/build-module/color-palette/index.native.js +4 -1
  383. package/build-module/color-palette/index.native.js.map +1 -1
  384. package/build-module/color-picker/color-copy-button.js +73 -0
  385. package/build-module/color-picker/color-copy-button.js.map +1 -0
  386. package/build-module/color-picker/component.js +11 -21
  387. package/build-module/color-picker/component.js.map +1 -1
  388. package/build-module/color-picker/hex-input.js +18 -1
  389. package/build-module/color-picker/hex-input.js.map +1 -1
  390. package/build-module/color-picker/index.native.js.map +1 -1
  391. package/build-module/color-picker/input-with-slider.js +1 -2
  392. package/build-module/color-picker/input-with-slider.js.map +1 -1
  393. package/build-module/color-picker/styles.js +30 -16
  394. package/build-module/color-picker/styles.js.map +1 -1
  395. package/build-module/combobox-control/index.js +5 -2
  396. package/build-module/combobox-control/index.js.map +1 -1
  397. package/build-module/confirm-dialog/component.js.map +1 -1
  398. package/build-module/custom-gradient-bar/constants.js +0 -1
  399. package/build-module/custom-gradient-bar/constants.js.map +1 -1
  400. package/build-module/custom-gradient-bar/control-points.js +16 -9
  401. package/build-module/custom-gradient-bar/control-points.js.map +1 -1
  402. package/build-module/custom-gradient-bar/index.js +6 -6
  403. package/build-module/custom-gradient-bar/index.js.map +1 -1
  404. package/build-module/custom-gradient-bar/utils.js +6 -8
  405. package/build-module/custom-gradient-bar/utils.js.map +1 -1
  406. package/build-module/custom-gradient-picker/index.js +8 -7
  407. package/build-module/custom-gradient-picker/index.js.map +1 -1
  408. package/build-module/custom-gradient-picker/index.native.js +8 -8
  409. package/build-module/custom-gradient-picker/index.native.js.map +1 -1
  410. package/build-module/custom-gradient-picker/serializer.js +4 -6
  411. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  412. package/build-module/custom-gradient-picker/utils.js +1 -1
  413. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  414. package/build-module/custom-select-control/index.js.map +1 -1
  415. package/build-module/date-time/{date.js → date/index.js} +51 -16
  416. package/build-module/date-time/date/index.js.map +1 -0
  417. package/build-module/date-time/date/styles.js +61 -0
  418. package/build-module/date-time/date/styles.js.map +1 -0
  419. package/build-module/date-time/{utils.js → date/utils.js} +0 -0
  420. package/build-module/date-time/date/utils.js.map +1 -0
  421. package/build-module/date-time/date-time/index.js +147 -0
  422. package/build-module/date-time/date-time/index.js.map +1 -0
  423. package/build-module/date-time/date-time/styles.js +22 -0
  424. package/build-module/date-time/date-time/styles.js.map +1 -0
  425. package/build-module/date-time/index.js +1 -105
  426. package/build-module/date-time/index.js.map +1 -1
  427. package/build-module/date-time/time/index.js +302 -0
  428. package/build-module/date-time/time/index.js.map +1 -0
  429. package/build-module/date-time/time/styles.js +118 -0
  430. package/build-module/date-time/time/styles.js.map +1 -0
  431. package/build-module/date-time/{timezone.js → time/timezone.js} +3 -2
  432. package/build-module/date-time/time/timezone.js.map +1 -0
  433. package/build-module/dimension-control/index.js +1 -2
  434. package/build-module/dimension-control/index.js.map +1 -1
  435. package/build-module/divider/styles.js +5 -5
  436. package/build-module/divider/styles.js.map +1 -1
  437. package/build-module/draggable/index.js.map +1 -1
  438. package/build-module/draggable/index.native.js +16 -6
  439. package/build-module/draggable/index.native.js.map +1 -1
  440. package/build-module/drop-zone/provider.js.map +1 -1
  441. package/build-module/dropdown/index.js +6 -3
  442. package/build-module/dropdown/index.js.map +1 -1
  443. package/build-module/dropdown-menu/index.js +12 -1
  444. package/build-module/dropdown-menu/index.js.map +1 -1
  445. package/build-module/dropdown-menu/index.native.js +12 -1
  446. package/build-module/dropdown-menu/index.native.js.map +1 -1
  447. package/build-module/duotone-picker/duotone-picker.js +42 -29
  448. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  449. package/build-module/elevation/hook.js +12 -12
  450. package/build-module/elevation/hook.js.map +1 -1
  451. package/build-module/external-link/index.js +22 -7
  452. package/build-module/external-link/index.js.map +1 -1
  453. package/build-module/external-link/styles/external-link-styles.js +3 -3
  454. package/build-module/external-link/styles/external-link-styles.js.map +1 -1
  455. package/build-module/external-link/types.js +2 -0
  456. package/build-module/external-link/types.js.map +1 -0
  457. package/build-module/flex/flex/hook.js +7 -5
  458. package/build-module/flex/flex/hook.js.map +1 -1
  459. package/build-module/focal-point-picker/controls.js +3 -5
  460. package/build-module/focal-point-picker/controls.js.map +1 -1
  461. package/build-module/focal-point-picker/index.js.map +1 -1
  462. package/build-module/focal-point-picker/index.native.js +1 -1
  463. package/build-module/focal-point-picker/index.native.js.map +1 -1
  464. package/build-module/focal-point-picker/media.js +3 -5
  465. package/build-module/focal-point-picker/media.js.map +1 -1
  466. package/build-module/font-size-picker/index.js +1 -1
  467. package/build-module/font-size-picker/index.js.map +1 -1
  468. package/build-module/form-toggle/index.js +31 -7
  469. package/build-module/form-toggle/index.js.map +1 -1
  470. package/build-module/form-toggle/types.js +2 -0
  471. package/build-module/form-toggle/types.js.map +1 -0
  472. package/build-module/form-token-field/index.js +329 -361
  473. package/build-module/form-token-field/index.js.map +1 -1
  474. package/build-module/form-token-field/suggestions-list.js +32 -23
  475. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  476. package/build-module/form-token-field/token-input.js +43 -58
  477. package/build-module/form-token-field/token-input.js.map +1 -1
  478. package/build-module/form-token-field/token.js +3 -1
  479. package/build-module/form-token-field/token.js.map +1 -1
  480. package/build-module/form-token-field/types.js +2 -0
  481. package/build-module/form-token-field/types.js.map +1 -0
  482. package/build-module/gradient-picker/index.js.map +1 -1
  483. package/build-module/h-stack/utils.js +3 -3
  484. package/build-module/h-stack/utils.js.map +1 -1
  485. package/build-module/heading/component.js +0 -1
  486. package/build-module/heading/component.js.map +1 -1
  487. package/build-module/heading/hook.js.map +1 -1
  488. package/build-module/heading/types.js +2 -0
  489. package/build-module/heading/types.js.map +1 -0
  490. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  491. package/build-module/higher-order/with-focus-return/index.js.map +1 -1
  492. package/build-module/higher-order/with-spoken-messages/index.js.map +1 -1
  493. package/build-module/icon/index.js.map +1 -1
  494. package/build-module/input-control/index.js +10 -5
  495. package/build-module/input-control/index.js.map +1 -1
  496. package/build-module/input-control/input-field.js +3 -26
  497. package/build-module/input-control/input-field.js.map +1 -1
  498. package/build-module/input-control/reducer/reducer.js +38 -26
  499. package/build-module/input-control/reducer/reducer.js.map +1 -1
  500. package/build-module/input-control/reducer/state.js +0 -1
  501. package/build-module/input-control/reducer/state.js.map +1 -1
  502. package/build-module/input-control/utils.js +49 -3
  503. package/build-module/input-control/utils.js.map +1 -1
  504. package/build-module/menu-items-choice/index.js +3 -5
  505. package/build-module/menu-items-choice/index.js.map +1 -1
  506. package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
  507. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  508. package/build-module/mobile/bottom-sheet/cycle-picker-cell.native.js +1 -6
  509. package/build-module/mobile/bottom-sheet/cycle-picker-cell.native.js.map +1 -1
  510. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  511. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  512. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  513. package/build-module/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  514. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  515. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  516. package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
  517. package/build-module/mobile/gradient/index.native.js.map +1 -1
  518. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  519. package/build-module/mobile/inserter-button/index.native.js.map +1 -1
  520. package/build-module/mobile/link-picker/index.native.js +4 -3
  521. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  522. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  523. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  524. package/build-module/mobile/segmented-control/index.native.js +3 -4
  525. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  526. package/build-module/modal/index.js +1 -1
  527. package/build-module/modal/index.js.map +1 -1
  528. package/build-module/navigable-container/container.js +5 -2
  529. package/build-module/navigable-container/container.js.map +1 -1
  530. package/build-module/navigation/context.js +3 -5
  531. package/build-module/navigation/context.js.map +1 -1
  532. package/build-module/navigation/group/index.js +3 -6
  533. package/build-module/navigation/group/index.js.map +1 -1
  534. package/build-module/navigation/index.js +3 -1
  535. package/build-module/navigation/index.js.map +1 -1
  536. package/build-module/navigation/item/base.js +2 -2
  537. package/build-module/navigation/item/base.js.map +1 -1
  538. package/build-module/navigation/item/index.js +3 -1
  539. package/build-module/navigation/item/index.js.map +1 -1
  540. package/build-module/navigation/item/use-navigation-tree-item.js +2 -1
  541. package/build-module/navigation/item/use-navigation-tree-item.js.map +1 -1
  542. package/build-module/navigation/menu/menu-title-search.js +1 -6
  543. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  544. package/build-module/navigation/menu/search-no-results-found.js +1 -6
  545. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  546. package/build-module/navigation/use-navigation-tree-nodes.js +18 -9
  547. package/build-module/navigation/use-navigation-tree-nodes.js.map +1 -1
  548. package/build-module/navigation/utils.js +2 -2
  549. package/build-module/navigation/utils.js.map +1 -1
  550. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  551. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  552. package/build-module/navigator/navigator-provider/component.js +1 -1
  553. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  554. package/build-module/navigator/navigator-screen/component.js +1 -1
  555. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  556. package/build-module/notice/index.js +2 -1
  557. package/build-module/notice/index.js.map +1 -1
  558. package/build-module/notice/list.js +4 -1
  559. package/build-module/notice/list.js.map +1 -1
  560. package/build-module/panel/body.js +3 -1
  561. package/build-module/panel/body.js.map +1 -1
  562. package/build-module/placeholder/index.js +24 -11
  563. package/build-module/placeholder/index.js.map +1 -1
  564. package/build-module/popover/index.js +40 -33
  565. package/build-module/popover/index.js.map +1 -1
  566. package/build-module/radio-control/index.js +40 -7
  567. package/build-module/radio-control/index.js.map +1 -1
  568. package/build-module/radio-control/types.js +2 -0
  569. package/build-module/radio-control/types.js.map +1 -0
  570. package/build-module/range-control/index.js +4 -2
  571. package/build-module/range-control/index.js.map +1 -1
  572. package/build-module/range-control/input-range.js +2 -5
  573. package/build-module/range-control/input-range.js.map +1 -1
  574. package/build-module/range-control/utils.js +4 -5
  575. package/build-module/range-control/utils.js.map +1 -1
  576. package/build-module/resizable-box/resize-tooltip/index.js +2 -1
  577. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  578. package/build-module/resizable-box/resize-tooltip/utils.js +3 -5
  579. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  580. package/build-module/responsive-wrapper/index.js.map +1 -1
  581. package/build-module/search-control/index.js +6 -7
  582. package/build-module/search-control/index.js.map +1 -1
  583. package/build-module/select-control/index.js +6 -2
  584. package/build-module/select-control/index.js.map +1 -1
  585. package/build-module/slot-fill/fill.js +1 -6
  586. package/build-module/slot-fill/fill.js.map +1 -1
  587. package/build-module/slot-fill/slot.js +12 -2
  588. package/build-module/slot-fill/slot.js.map +1 -1
  589. package/build-module/snackbar/index.js +3 -1
  590. package/build-module/snackbar/index.js.map +1 -1
  591. package/build-module/snackbar/list.js +4 -1
  592. package/build-module/snackbar/list.js.map +1 -1
  593. package/build-module/spacer/component.js +3 -4
  594. package/build-module/spacer/component.js.map +1 -1
  595. package/build-module/spacer/hook.js +10 -2
  596. package/build-module/spacer/hook.js.map +1 -1
  597. package/build-module/spinner/index.js +22 -13
  598. package/build-module/spinner/index.js.map +1 -1
  599. package/build-module/spinner/styles.js +10 -10
  600. package/build-module/spinner/styles.js.map +1 -1
  601. package/build-module/surface/component.js +7 -7
  602. package/build-module/surface/component.js.map +1 -1
  603. package/build-module/surface/hook.js +8 -11
  604. package/build-module/surface/hook.js.map +1 -1
  605. package/build-module/surface/index.js.map +1 -1
  606. package/build-module/surface/styles.js +8 -48
  607. package/build-module/surface/styles.js.map +1 -1
  608. package/build-module/tab-panel/index.js +3 -1
  609. package/build-module/tab-panel/index.js.map +1 -1
  610. package/build-module/text/hook.js +4 -4
  611. package/build-module/text/hook.js.map +1 -1
  612. package/build-module/text/utils.js.map +1 -1
  613. package/build-module/textarea-control/index.js +36 -5
  614. package/build-module/textarea-control/index.js.map +1 -1
  615. package/build-module/textarea-control/styles/textarea-control-styles.js +3 -3
  616. package/build-module/textarea-control/styles/textarea-control-styles.js.map +1 -1
  617. package/build-module/textarea-control/types.js +2 -0
  618. package/build-module/textarea-control/types.js.map +1 -0
  619. package/build-module/toggle-control/index.js +1 -2
  620. package/build-module/toggle-control/index.js.map +1 -1
  621. package/build-module/toggle-control/index.native.js +1 -6
  622. package/build-module/toggle-control/index.native.js.map +1 -1
  623. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  624. package/build-module/toolbar/index.js.map +1 -1
  625. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  626. package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
  627. package/build-module/tooltip/index.js +2 -1
  628. package/build-module/tooltip/index.js.map +1 -1
  629. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  630. package/build-module/tree-select/index.js +53 -3
  631. package/build-module/tree-select/index.js.map +1 -1
  632. package/build-module/tree-select/types.js +2 -0
  633. package/build-module/tree-select/types.js.map +1 -0
  634. package/build-module/truncate/component.js +7 -8
  635. package/build-module/truncate/component.js.map +1 -1
  636. package/build-module/truncate/hook.js +3 -10
  637. package/build-module/truncate/hook.js.map +1 -1
  638. package/build-module/truncate/index.js.map +1 -1
  639. package/build-module/truncate/styles.js +1 -1
  640. package/build-module/truncate/styles.js.map +1 -1
  641. package/build-module/truncate/utils.js +3 -16
  642. package/build-module/truncate/utils.js.map +1 -1
  643. package/build-module/ui/form-group/form-group-content.js.map +1 -1
  644. package/build-module/unit-control/index.js.map +1 -1
  645. package/build-module/utils/hooks/index.js +0 -1
  646. package/build-module/utils/hooks/index.js.map +1 -1
  647. package/build-module/utils/math.js +15 -6
  648. package/build-module/utils/math.js.map +1 -1
  649. package/build-module/utils/unit-values.js.map +1 -1
  650. package/build-module/utils/values.js.map +1 -1
  651. package/build-module/v-stack/component.js +9 -9
  652. package/build-module/v-stack/component.js.map +1 -1
  653. package/build-module/v-stack/hook.js +0 -5
  654. package/build-module/v-stack/hook.js.map +1 -1
  655. package/build-module/v-stack/index.js.map +1 -1
  656. package/build-module/z-stack/component.js +21 -2
  657. package/build-module/z-stack/component.js.map +1 -1
  658. package/build-module/z-stack/types.js +2 -0
  659. package/build-module/z-stack/types.js.map +1 -0
  660. package/build-style/style-rtl.css +61 -191
  661. package/build-style/style.css +61 -195
  662. package/build-types/base-control/stories/index.d.ts.map +1 -1
  663. package/build-types/base-field/hook.d.ts +0 -1
  664. package/build-types/base-field/hook.d.ts.map +1 -1
  665. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  666. package/build-types/border-box-control/border-box-control/hook.d.ts +0 -1
  667. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  668. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -1
  669. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +0 -1
  670. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
  671. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  672. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +1 -1
  673. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  674. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +0 -1
  675. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
  676. package/build-types/border-box-control/styles.d.ts +3 -2
  677. package/build-types/border-box-control/styles.d.ts.map +1 -1
  678. package/build-types/border-box-control/utils.d.ts.map +1 -1
  679. package/build-types/border-control/border-control/component.d.ts +36 -2
  680. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  681. package/build-types/border-control/border-control/hook.d.ts +0 -1
  682. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  683. package/build-types/border-control/border-control-dropdown/hook.d.ts +0 -1
  684. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  685. package/build-types/border-control/border-control-style-picker/hook.d.ts +0 -1
  686. package/build-types/border-control/border-control-style-picker/hook.d.ts.map +1 -1
  687. package/build-types/border-control/stories/index.d.ts +33 -0
  688. package/build-types/border-control/stories/index.d.ts.map +1 -0
  689. package/build-types/button-group/index.d.ts +1 -1
  690. package/build-types/button-group/index.d.ts.map +1 -1
  691. package/build-types/card/card/hook.d.ts +0 -1
  692. package/build-types/card/card/hook.d.ts.map +1 -1
  693. package/build-types/card/card-body/hook.d.ts +0 -1
  694. package/build-types/card/card-body/hook.d.ts.map +1 -1
  695. package/build-types/card/card-divider/hook.d.ts +0 -1
  696. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  697. package/build-types/card/card-footer/hook.d.ts +0 -1
  698. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  699. package/build-types/card/card-header/hook.d.ts +0 -1
  700. package/build-types/card/card-header/hook.d.ts.map +1 -1
  701. package/build-types/card/card-media/hook.d.ts +0 -1
  702. package/build-types/card/card-media/hook.d.ts.map +1 -1
  703. package/build-types/card/types.d.ts +1 -1
  704. package/build-types/card/types.d.ts.map +1 -1
  705. package/build-types/checkbox-control/index.d.ts.map +1 -1
  706. package/build-types/checkbox-control/stories/index.d.ts.map +1 -1
  707. package/build-types/checkbox-control/test/index.d.ts +2 -0
  708. package/build-types/checkbox-control/test/index.d.ts.map +1 -0
  709. package/build-types/color-indicator/index.d.ts +16 -5
  710. package/build-types/color-indicator/index.d.ts.map +1 -1
  711. package/build-types/color-indicator/stories/index.d.ts +12 -0
  712. package/build-types/color-indicator/stories/index.d.ts.map +1 -0
  713. package/build-types/color-indicator/test/index.d.ts +2 -0
  714. package/build-types/color-indicator/test/index.d.ts.map +1 -0
  715. package/build-types/color-indicator/types.d.ts +12 -0
  716. package/build-types/color-indicator/types.d.ts.map +1 -0
  717. package/build-types/color-palette/index.d.ts +1 -0
  718. package/build-types/color-palette/index.d.ts.map +1 -1
  719. package/build-types/color-palette/styles.d.ts +4 -2
  720. package/build-types/color-palette/styles.d.ts.map +1 -1
  721. package/build-types/{date-time → color-palette}/test/utils.d.ts +0 -0
  722. package/build-types/color-palette/test/utils.d.ts.map +1 -0
  723. package/build-types/color-picker/color-copy-button.d.ts +4 -0
  724. package/build-types/color-picker/color-copy-button.d.ts.map +1 -0
  725. package/build-types/color-picker/component.d.ts.map +1 -1
  726. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  727. package/build-types/color-picker/styles.d.ts +25 -8
  728. package/build-types/color-picker/styles.d.ts.map +1 -1
  729. package/build-types/color-picker/types.d.ts +8 -0
  730. package/build-types/color-picker/types.d.ts.map +1 -1
  731. package/build-types/confirm-dialog/component.d.ts.map +1 -1
  732. package/build-types/date-time/{date.d.ts → date/index.d.ts} +4 -3
  733. package/build-types/date-time/date/index.d.ts.map +1 -0
  734. package/build-types/date-time/date/styles.d.ts +23 -0
  735. package/build-types/date-time/date/styles.d.ts.map +1 -0
  736. package/build-types/date-time/date/test/index.d.ts +2 -0
  737. package/build-types/date-time/date/test/index.d.ts.map +1 -0
  738. package/build-types/date-time/date/test/utils.d.ts +2 -0
  739. package/build-types/date-time/date/test/utils.d.ts.map +1 -0
  740. package/build-types/date-time/{utils.d.ts → date/utils.d.ts} +0 -0
  741. package/build-types/date-time/date/utils.d.ts.map +1 -0
  742. package/build-types/date-time/date-time/index.d.ts +33 -0
  743. package/build-types/date-time/date-time/index.d.ts.map +1 -0
  744. package/build-types/date-time/date-time/styles.d.ts +6 -0
  745. package/build-types/date-time/date-time/styles.d.ts.map +1 -0
  746. package/build-types/date-time/index.d.ts +2 -28
  747. package/build-types/date-time/index.d.ts.map +1 -1
  748. package/build-types/date-time/stories/{index.d.ts → date-time.d.ts} +2 -2
  749. package/build-types/date-time/stories/date-time.d.ts.map +1 -0
  750. package/build-types/date-time/stories/date.d.ts.map +1 -1
  751. package/build-types/date-time/{time.d.ts → time/index.d.ts} +2 -2
  752. package/build-types/date-time/time/index.d.ts.map +1 -0
  753. package/build-types/date-time/time/styles.d.ts +111 -0
  754. package/build-types/date-time/time/styles.d.ts.map +1 -0
  755. package/build-types/date-time/time/test/index.d.ts +2 -0
  756. package/build-types/date-time/time/test/index.d.ts.map +1 -0
  757. package/build-types/date-time/{timezone.d.ts → time/timezone.d.ts} +0 -0
  758. package/build-types/date-time/time/timezone.d.ts.map +1 -0
  759. package/build-types/date-time/types.d.ts +20 -15
  760. package/build-types/date-time/types.d.ts.map +1 -1
  761. package/build-types/divider/styles.d.ts.map +1 -1
  762. package/build-types/dropdown/index.d.ts.map +1 -1
  763. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  764. package/build-types/elevation/hook.d.ts +0 -1
  765. package/build-types/elevation/hook.d.ts.map +1 -1
  766. package/build-types/external-link/index.d.ts +17 -0
  767. package/build-types/external-link/index.d.ts.map +1 -0
  768. package/build-types/external-link/stories/index.d.ts +12 -0
  769. package/build-types/external-link/stories/index.d.ts.map +1 -0
  770. package/build-types/external-link/styles/external-link-styles.d.ts +10 -0
  771. package/build-types/external-link/styles/external-link-styles.d.ts.map +1 -0
  772. package/build-types/external-link/types.d.ts +15 -0
  773. package/build-types/external-link/types.d.ts.map +1 -0
  774. package/build-types/flex/flex/hook.d.ts +0 -1
  775. package/build-types/flex/flex/hook.d.ts.map +1 -1
  776. package/build-types/flex/flex-block/hook.d.ts +0 -1
  777. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  778. package/build-types/flex/flex-item/hook.d.ts +0 -1
  779. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  780. package/build-types/form-toggle/index.d.ts +29 -0
  781. package/build-types/form-toggle/index.d.ts.map +1 -0
  782. package/build-types/form-toggle/stories/index.d.ts +12 -0
  783. package/build-types/form-toggle/stories/index.d.ts.map +1 -0
  784. package/build-types/form-toggle/test/index.d.ts +2 -0
  785. package/build-types/form-toggle/test/index.d.ts.map +1 -0
  786. package/build-types/form-toggle/types.d.ts +22 -0
  787. package/build-types/form-toggle/types.d.ts.map +1 -0
  788. package/build-types/form-token-field/index.d.ts +15 -0
  789. package/build-types/form-token-field/index.d.ts.map +1 -0
  790. package/build-types/form-token-field/stories/index.d.ts +13 -0
  791. package/build-types/form-token-field/stories/index.d.ts.map +1 -0
  792. package/build-types/form-token-field/suggestions-list.d.ts +10 -0
  793. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -0
  794. package/build-types/form-token-field/test/lib/fixtures.d.ts +26 -0
  795. package/build-types/form-token-field/test/lib/fixtures.d.ts.map +1 -0
  796. package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts +21 -0
  797. package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts.map +1 -0
  798. package/build-types/form-token-field/token-input.d.ts +12 -0
  799. package/build-types/form-token-field/token-input.d.ts.map +1 -0
  800. package/build-types/form-token-field/token.d.ts +4 -0
  801. package/build-types/form-token-field/token.d.ts.map +1 -0
  802. package/build-types/form-token-field/types.d.ts +176 -0
  803. package/build-types/form-token-field/types.d.ts.map +1 -0
  804. package/build-types/grid/hook.d.ts +0 -1
  805. package/build-types/grid/hook.d.ts.map +1 -1
  806. package/build-types/h-stack/hook.d.ts +0 -1
  807. package/build-types/h-stack/hook.d.ts.map +1 -1
  808. package/build-types/heading/component.d.ts +1 -2
  809. package/build-types/heading/component.d.ts.map +1 -1
  810. package/build-types/heading/hook.d.ts +1 -29
  811. package/build-types/heading/hook.d.ts.map +1 -1
  812. package/build-types/heading/stories/index.d.ts.map +1 -1
  813. package/build-types/heading/test/index.d.ts +2 -0
  814. package/build-types/heading/test/index.d.ts.map +1 -0
  815. package/build-types/heading/types.d.ts +16 -0
  816. package/build-types/heading/types.d.ts.map +1 -0
  817. package/build-types/higher-order/with-focus-outside/index.d.ts +1 -1
  818. package/build-types/input-control/index.d.ts +1 -1
  819. package/build-types/input-control/index.d.ts.map +1 -1
  820. package/build-types/input-control/input-field.d.ts +1 -1
  821. package/build-types/input-control/input-field.d.ts.map +1 -1
  822. package/build-types/input-control/reducer/reducer.d.ts +5 -3
  823. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  824. package/build-types/input-control/reducer/state.d.ts +2 -2
  825. package/build-types/input-control/reducer/state.d.ts.map +1 -1
  826. package/build-types/input-control/stories/index.d.ts +5 -5
  827. package/build-types/input-control/stories/index.d.ts.map +1 -1
  828. package/build-types/input-control/utils.d.ts +17 -0
  829. package/build-types/input-control/utils.d.ts.map +1 -1
  830. package/build-types/item-group/item/hook.d.ts +0 -1
  831. package/build-types/item-group/item/hook.d.ts.map +1 -1
  832. package/build-types/item-group/item-group/hook.d.ts +0 -1
  833. package/build-types/item-group/item-group/hook.d.ts.map +1 -1
  834. package/build-types/navigator/navigator-back-button/hook.d.ts +0 -1
  835. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  836. package/build-types/navigator/navigator-button/hook.d.ts +0 -1
  837. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  838. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  839. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  840. package/build-types/popover/index.d.ts +1 -0
  841. package/build-types/popover/index.d.ts.map +1 -1
  842. package/build-types/radio-control/index.d.ts +31 -0
  843. package/build-types/radio-control/index.d.ts.map +1 -0
  844. package/build-types/radio-control/stories/index.d.ts +12 -0
  845. package/build-types/radio-control/stories/index.d.ts.map +1 -0
  846. package/build-types/radio-control/types.d.ts +29 -0
  847. package/build-types/radio-control/types.d.ts.map +1 -0
  848. package/build-types/range-control/index.d.ts +5 -5
  849. package/build-types/range-control/index.d.ts.map +1 -1
  850. package/build-types/range-control/input-range.d.ts +4 -4
  851. package/build-types/range-control/input-range.d.ts.map +1 -1
  852. package/build-types/range-control/utils.d.ts.map +1 -1
  853. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
  854. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  855. package/build-types/scrollable/hook.d.ts +0 -1
  856. package/build-types/scrollable/hook.d.ts.map +1 -1
  857. package/build-types/select-control/index.d.ts +1 -1
  858. package/build-types/select-control/index.d.ts.map +1 -1
  859. package/build-types/select-control/stories/index.d.ts +3 -3
  860. package/build-types/select-control/stories/index.d.ts.map +1 -1
  861. package/build-types/select-control/types.d.ts +1 -1
  862. package/build-types/select-control/types.d.ts.map +1 -1
  863. package/build-types/slot-fill/fill.d.ts.map +1 -1
  864. package/build-types/slot-fill/slot.d.ts.map +1 -1
  865. package/build-types/spacer/component.d.ts +2 -3
  866. package/build-types/spacer/component.d.ts.map +1 -1
  867. package/build-types/spacer/hook.d.ts +0 -1
  868. package/build-types/spacer/hook.d.ts.map +1 -1
  869. package/build-types/spacer/stories/index.d.ts +12 -0
  870. package/build-types/spacer/stories/index.d.ts.map +1 -0
  871. package/build-types/spinner/index.d.ts +16 -15
  872. package/build-types/spinner/index.d.ts.map +1 -1
  873. package/build-types/spinner/stories/index.d.ts +13 -0
  874. package/build-types/spinner/stories/index.d.ts.map +1 -0
  875. package/build-types/spinner/styles.d.ts +4 -3
  876. package/build-types/spinner/styles.d.ts.map +1 -1
  877. package/build-types/surface/component.d.ts +3 -2
  878. package/build-types/surface/component.d.ts.map +1 -1
  879. package/build-types/surface/hook.d.ts +4 -5
  880. package/build-types/surface/hook.d.ts.map +1 -1
  881. package/build-types/surface/index.d.ts +2 -2
  882. package/build-types/surface/index.d.ts.map +1 -1
  883. package/build-types/surface/stories/index.d.ts +12 -0
  884. package/build-types/surface/stories/index.d.ts.map +1 -0
  885. package/build-types/surface/styles.d.ts +10 -21
  886. package/build-types/surface/styles.d.ts.map +1 -1
  887. package/build-types/surface/test/index.d.ts +2 -0
  888. package/build-types/surface/test/index.d.ts.map +1 -0
  889. package/build-types/surface/types.d.ts +1 -1
  890. package/build-types/surface/types.d.ts.map +1 -1
  891. package/build-types/text/hook.d.ts +0 -1
  892. package/build-types/text/hook.d.ts.map +1 -1
  893. package/build-types/text/types.d.ts +1 -1
  894. package/build-types/text/types.d.ts.map +1 -1
  895. package/build-types/text/utils.d.ts.map +1 -1
  896. package/build-types/text-control/index.d.ts +1 -1
  897. package/build-types/text-control/index.d.ts.map +1 -1
  898. package/build-types/text-control/stories/index.d.ts.map +1 -1
  899. package/build-types/textarea-control/index.d.ts +29 -0
  900. package/build-types/textarea-control/index.d.ts.map +1 -0
  901. package/build-types/textarea-control/stories/index.d.ts +12 -0
  902. package/build-types/textarea-control/stories/index.d.ts.map +1 -0
  903. package/build-types/textarea-control/styles/textarea-control-styles.d.ts +6 -0
  904. package/build-types/textarea-control/styles/textarea-control-styles.d.ts.map +1 -0
  905. package/build-types/textarea-control/types.d.ts +26 -0
  906. package/build-types/textarea-control/types.d.ts.map +1 -0
  907. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +1 -1
  908. package/build-types/tools-panel/tools-panel/hook.d.ts +0 -1
  909. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  910. package/build-types/tools-panel/tools-panel-header/hook.d.ts +0 -1
  911. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  912. package/build-types/tools-panel/tools-panel-item/hook.d.ts +0 -1
  913. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  914. package/build-types/tooltip/index.d.ts.map +1 -1
  915. package/build-types/tree-select/index.d.ts +53 -0
  916. package/build-types/tree-select/index.d.ts.map +1 -0
  917. package/build-types/tree-select/stories/index.d.ts +12 -0
  918. package/build-types/tree-select/stories/index.d.ts.map +1 -0
  919. package/build-types/tree-select/types.d.ts +30 -0
  920. package/build-types/tree-select/types.d.ts.map +1 -0
  921. package/build-types/truncate/component.d.ts +3 -3
  922. package/build-types/truncate/component.d.ts.map +1 -1
  923. package/build-types/truncate/hook.d.ts +5 -3
  924. package/build-types/truncate/hook.d.ts.map +1 -1
  925. package/build-types/truncate/index.d.ts +2 -2
  926. package/build-types/truncate/index.d.ts.map +1 -1
  927. package/build-types/truncate/stories/index.d.ts +13 -0
  928. package/build-types/truncate/stories/index.d.ts.map +1 -0
  929. package/build-types/truncate/styles.d.ts +1 -1
  930. package/build-types/truncate/styles.d.ts.map +1 -1
  931. package/build-types/truncate/test/index.d.ts +2 -0
  932. package/build-types/truncate/test/index.d.ts.map +1 -0
  933. package/build-types/truncate/types.d.ts +22 -11
  934. package/build-types/truncate/types.d.ts.map +1 -1
  935. package/build-types/truncate/utils.d.ts +17 -28
  936. package/build-types/truncate/utils.d.ts.map +1 -1
  937. package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
  938. package/build-types/ui/control-group/hook.d.ts +0 -1
  939. package/build-types/ui/control-group/hook.d.ts.map +1 -1
  940. package/build-types/ui/control-label/hook.d.ts +0 -1
  941. package/build-types/ui/control-label/hook.d.ts.map +1 -1
  942. package/build-types/ui/form-group/use-form-group.d.ts +2 -4
  943. package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
  944. package/build-types/unit-control/index.d.ts +1 -1
  945. package/build-types/unit-control/index.d.ts.map +1 -1
  946. package/build-types/unit-control/stories/index.d.ts.map +1 -1
  947. package/build-types/utils/hooks/index.d.ts +0 -1
  948. package/build-types/utils/math.d.ts +10 -0
  949. package/build-types/utils/math.d.ts.map +1 -1
  950. package/build-types/utils/unit-values.d.ts.map +1 -1
  951. package/build-types/utils/values.d.ts.map +1 -1
  952. package/build-types/v-stack/component.d.ts +5 -4
  953. package/build-types/v-stack/component.d.ts.map +1 -1
  954. package/build-types/v-stack/hook.d.ts +5 -4
  955. package/build-types/v-stack/hook.d.ts.map +1 -1
  956. package/build-types/v-stack/index.d.ts +2 -2
  957. package/build-types/v-stack/index.d.ts.map +1 -1
  958. package/build-types/v-stack/stories/index.d.ts +9 -0
  959. package/build-types/v-stack/stories/index.d.ts.map +1 -0
  960. package/build-types/v-stack/test/index.d.ts +2 -0
  961. package/build-types/v-stack/test/index.d.ts.map +1 -0
  962. package/build-types/v-stack/types.d.ts +21 -1
  963. package/build-types/v-stack/types.d.ts.map +1 -1
  964. package/build-types/z-stack/component.d.ts +18 -28
  965. package/build-types/z-stack/component.d.ts.map +1 -1
  966. package/build-types/z-stack/stories/index.d.ts +6 -0
  967. package/build-types/z-stack/stories/index.d.ts.map +1 -0
  968. package/build-types/z-stack/types.d.ts +33 -0
  969. package/build-types/z-stack/types.d.ts.map +1 -0
  970. package/package.json +19 -18
  971. package/src/alignment-matrix-control/index.js +6 -3
  972. package/src/alignment-matrix-control/utils.js +1 -6
  973. package/src/angle-picker-control/index.js +1 -1
  974. package/src/autocomplete/autocompleter-ui.js +3 -0
  975. package/src/autocomplete/autocompleter-ui.native.js +6 -0
  976. package/src/autocomplete/index.js +16 -8
  977. package/src/base-control/stories/index.tsx +2 -3
  978. package/src/border-box-control/border-box-control/component.tsx +1 -0
  979. package/src/border-box-control/border-box-control/hook.ts +2 -2
  980. package/src/border-box-control/border-box-control-linked-button/component.tsx +2 -5
  981. package/src/border-box-control/border-box-control-split-controls/component.tsx +3 -0
  982. package/src/border-box-control/border-box-control-split-controls/hook.ts +18 -4
  983. package/src/border-box-control/border-box-control-visualizer/hook.ts +5 -2
  984. package/src/border-box-control/styles.ts +6 -2
  985. package/src/border-box-control/utils.ts +5 -2
  986. package/src/border-control/border-control/component.tsx +41 -4
  987. package/src/border-control/border-control/hook.ts +10 -5
  988. package/src/border-control/stories/index.tsx +150 -0
  989. package/src/box-control/all-input-control.js +2 -4
  990. package/src/box-control/axial-input-controls.js +4 -6
  991. package/src/box-control/index.js +2 -5
  992. package/src/box-control/input-controls.js +33 -36
  993. package/src/box-control/test/index.js +120 -109
  994. package/src/box-control/unit-control.js +2 -1
  995. package/src/box-control/utils.js +4 -4
  996. package/src/button/index.native.js +1 -2
  997. package/src/card/stories/index.js +10 -5
  998. package/src/card/types.ts +1 -1
  999. package/src/checkbox-control/index.tsx +2 -3
  1000. package/src/checkbox-control/stories/index.tsx +2 -3
  1001. package/src/checkbox-control/test/__snapshots__/index.tsx.snap +42 -0
  1002. package/src/checkbox-control/test/index.tsx +110 -0
  1003. package/src/color-indicator/README.md +7 -9
  1004. package/src/color-indicator/index.tsx +47 -0
  1005. package/src/color-indicator/stories/index.tsx +37 -0
  1006. package/src/color-indicator/test/__snapshots__/index.tsx.snap +11 -0
  1007. package/src/color-indicator/test/{index.js → index.tsx} +4 -4
  1008. package/src/color-indicator/types.ts +12 -0
  1009. package/src/color-palette/index.js +16 -5
  1010. package/src/color-palette/index.native.js +3 -0
  1011. package/src/color-palette/stories/index.js +25 -1
  1012. package/src/color-palette/test/utils.ts +24 -0
  1013. package/src/color-picker/color-copy-button.tsx +76 -0
  1014. package/src/color-picker/component.tsx +18 -37
  1015. package/src/color-picker/hex-input.tsx +16 -0
  1016. package/src/color-picker/index.native.js +7 -4
  1017. package/src/color-picker/input-with-slider.tsx +2 -2
  1018. package/src/color-picker/styles.ts +25 -2
  1019. package/src/color-picker/types.ts +9 -0
  1020. package/src/combobox-control/index.js +4 -2
  1021. package/src/confirm-dialog/component.tsx +7 -8
  1022. package/src/custom-gradient-bar/constants.js +2 -2
  1023. package/src/custom-gradient-bar/control-points.js +20 -16
  1024. package/src/custom-gradient-bar/index.js +11 -11
  1025. package/src/custom-gradient-bar/test/utils.js +79 -0
  1026. package/src/custom-gradient-bar/utils.js +6 -18
  1027. package/src/custom-gradient-picker/index.js +4 -11
  1028. package/src/custom-gradient-picker/index.native.js +3 -11
  1029. package/src/custom-gradient-picker/serializer.js +5 -11
  1030. package/src/custom-gradient-picker/style.scss +1 -3
  1031. package/src/custom-gradient-picker/utils.js +5 -4
  1032. package/src/custom-select-control/index.js +2 -1
  1033. package/src/custom-select-control/stories/index.js +1 -2
  1034. package/src/date-time/README.md +23 -0
  1035. package/src/date-time/{datepicker.scss → date/datepicker.scss} +0 -0
  1036. package/src/date-time/{date.tsx → date/index.tsx} +42 -17
  1037. package/src/date-time/date/style.scss +85 -0
  1038. package/src/date-time/date/styles.ts +55 -0
  1039. package/src/date-time/{test/date.tsx → date/test/index.tsx} +2 -2
  1040. package/src/date-time/{test → date/test}/utils.ts +0 -0
  1041. package/src/date-time/{utils.ts → date/utils.ts} +0 -0
  1042. package/src/date-time/date-time/index.tsx +217 -0
  1043. package/src/date-time/date-time/styles.ts +8 -0
  1044. package/src/date-time/index.ts +9 -0
  1045. package/src/date-time/stories/{index.tsx → date-time.tsx} +5 -7
  1046. package/src/date-time/stories/date.tsx +2 -3
  1047. package/src/date-time/style.scss +1 -262
  1048. package/src/date-time/time/index.tsx +356 -0
  1049. package/src/date-time/time/styles.ts +119 -0
  1050. package/src/date-time/{test/time.tsx → time/test/index.tsx} +97 -50
  1051. package/src/date-time/{timezone.tsx → time/timezone.tsx} +5 -2
  1052. package/src/date-time/types.ts +23 -18
  1053. package/src/dimension-control/README.md +5 -2
  1054. package/src/dimension-control/index.js +1 -2
  1055. package/src/dimension-control/test/index.test.js +7 -7
  1056. package/src/divider/styles.ts +2 -3
  1057. package/src/draggable/index.js +3 -3
  1058. package/src/draggable/index.native.js +26 -7
  1059. package/src/draggable/test/index.native.js +130 -0
  1060. package/src/drop-zone/provider.js +1 -2
  1061. package/src/dropdown/index.js +7 -3
  1062. package/src/dropdown-menu/index.js +11 -1
  1063. package/src/dropdown-menu/index.native.js +11 -1
  1064. package/src/duotone-picker/duotone-picker.js +58 -37
  1065. package/src/duotone-picker/style.scss +19 -0
  1066. package/src/elevation/hook.js +8 -8
  1067. package/src/external-link/README.md +18 -0
  1068. package/src/external-link/{index.js → index.tsx} +26 -6
  1069. package/src/external-link/stories/index.tsx +36 -0
  1070. package/src/external-link/styles/{external-link-styles.js → external-link-styles.ts} +0 -0
  1071. package/src/external-link/types.ts +15 -0
  1072. package/src/flex/flex/README.md +5 -10
  1073. package/src/flex/flex/hook.js +4 -1
  1074. package/src/flex/flex-item/README.md +1 -1
  1075. package/src/focal-point-picker/controls.js +1 -5
  1076. package/src/focal-point-picker/index.js +2 -8
  1077. package/src/focal-point-picker/index.native.js +1 -1
  1078. package/src/focal-point-picker/media.js +2 -5
  1079. package/src/font-size-picker/index.js +3 -1
  1080. package/src/form-toggle/README.md +10 -11
  1081. package/src/form-toggle/index.tsx +71 -0
  1082. package/src/form-toggle/stories/index.tsx +52 -0
  1083. package/src/form-toggle/test/__snapshots__/index.tsx.snap +54 -0
  1084. package/src/form-toggle/test/index.tsx +102 -0
  1085. package/src/form-toggle/types.ts +22 -0
  1086. package/src/form-token-field/index.tsx +694 -0
  1087. package/src/form-token-field/stories/index.tsx +103 -0
  1088. package/src/form-token-field/style.scss +2 -1
  1089. package/src/form-token-field/{suggestions-list.js → suggestions-list.tsx} +45 -29
  1090. package/src/form-token-field/test/index.js +70 -40
  1091. package/src/form-token-field/test/lib/token-field-wrapper.tsx +71 -0
  1092. package/src/form-token-field/token-input.tsx +76 -0
  1093. package/src/form-token-field/{token.js → token.tsx} +4 -2
  1094. package/src/form-token-field/types.ts +178 -0
  1095. package/src/gradient-picker/index.js +4 -3
  1096. package/src/h-stack/utils.js +3 -3
  1097. package/src/heading/README.md +4 -3
  1098. package/src/heading/component.tsx +2 -2
  1099. package/src/heading/hook.ts +6 -46
  1100. package/src/heading/stories/index.tsx +5 -1
  1101. package/src/heading/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1102. package/src/heading/test/index.tsx +68 -0
  1103. package/src/heading/types.ts +29 -0
  1104. package/src/higher-order/navigate-regions/index.js +7 -5
  1105. package/src/higher-order/with-filters/test/index.js +43 -36
  1106. package/src/higher-order/with-focus-return/index.js +14 -13
  1107. package/src/higher-order/with-spoken-messages/index.js +8 -7
  1108. package/src/higher-order/with-spoken-messages/test/index.js +1 -1
  1109. package/src/icon/index.tsx +2 -2
  1110. package/src/input-control/index.tsx +10 -3
  1111. package/src/input-control/input-field.tsx +12 -31
  1112. package/src/input-control/reducer/reducer.ts +63 -47
  1113. package/src/input-control/reducer/state.ts +2 -3
  1114. package/src/input-control/test/index.js +106 -31
  1115. package/src/input-control/utils.ts +56 -2
  1116. package/src/item-group/stories/index.js +2 -1
  1117. package/src/menu-item/test/index.js +2 -1
  1118. package/src/menu-items-choice/index.js +2 -5
  1119. package/src/mobile/bottom-sheet/bottom-sheet-context.native.js +2 -4
  1120. package/src/mobile/bottom-sheet/cell.native.js +2 -3
  1121. package/src/mobile/bottom-sheet/cycle-picker-cell.native.js +3 -5
  1122. package/src/mobile/bottom-sheet/index.native.js +14 -17
  1123. package/src/mobile/bottom-sheet/keyboard-avoiding-view.native.js +2 -7
  1124. package/src/mobile/bottom-sheet/picker-cell.native.js +2 -7
  1125. package/src/mobile/bottom-sheet/stepper-cell/index.native.js +4 -6
  1126. package/src/mobile/color-settings/index.native.js +2 -4
  1127. package/src/mobile/global-styles-context/index.native.js +8 -7
  1128. package/src/mobile/gradient/index.native.js +12 -9
  1129. package/src/mobile/gradient/test/index.native.js +1 -3
  1130. package/src/mobile/html-text-input/index.native.js +2 -3
  1131. package/src/mobile/inserter-button/index.native.js +2 -6
  1132. package/src/mobile/link-picker/index.native.js +2 -3
  1133. package/src/mobile/link-settings/image-link-destinations-screen.native.js +6 -2
  1134. package/src/mobile/media-edit/index.native.js +2 -3
  1135. package/src/mobile/segmented-control/index.native.js +9 -9
  1136. package/src/mobile/utils/test/index.native.js +3 -12
  1137. package/src/modal/index.js +1 -1
  1138. package/src/navigable-container/container.js +3 -2
  1139. package/src/navigable-container/test/menu.js +1 -2
  1140. package/src/navigable-container/test/tabbable.js +1 -2
  1141. package/src/navigation/context.js +2 -5
  1142. package/src/navigation/group/index.js +8 -3
  1143. package/src/navigation/index.js +2 -1
  1144. package/src/navigation/item/base.js +3 -2
  1145. package/src/navigation/item/index.js +2 -1
  1146. package/src/navigation/item/use-navigation-tree-item.js +2 -0
  1147. package/src/navigation/menu/menu-title-search.js +3 -6
  1148. package/src/navigation/menu/search-no-results-found.js +3 -6
  1149. package/src/navigation/stories/controlled-state.js +1 -1
  1150. package/src/navigation/stories/more-examples.js +2 -3
  1151. package/src/navigation/test/index.js +252 -52
  1152. package/src/navigation/use-navigation-tree-nodes.js +11 -10
  1153. package/src/navigation/utils.js +2 -2
  1154. package/src/navigator/navigator-back-button/hook.ts +14 -12
  1155. package/src/navigator/navigator-button/hook.ts +14 -13
  1156. package/src/navigator/navigator-provider/component.tsx +2 -6
  1157. package/src/navigator/navigator-screen/component.tsx +3 -3
  1158. package/src/notice/index.js +2 -1
  1159. package/src/notice/list.js +3 -1
  1160. package/src/number-control/stories/index.js +24 -24
  1161. package/src/panel/body.js +2 -1
  1162. package/src/placeholder/README.md +7 -6
  1163. package/src/placeholder/index.js +27 -10
  1164. package/src/placeholder/style.scss +23 -0
  1165. package/src/popover/index.js +42 -27
  1166. package/src/query-controls/README.md +1 -1
  1167. package/src/radio-control/README.md +17 -23
  1168. package/src/radio-control/index.tsx +107 -0
  1169. package/src/radio-control/stories/index.tsx +72 -0
  1170. package/src/radio-control/types.ts +32 -0
  1171. package/src/range-control/index.js +4 -2
  1172. package/src/range-control/input-range.js +2 -5
  1173. package/src/range-control/utils.js +3 -4
  1174. package/src/resizable-box/resize-tooltip/index.tsx +2 -1
  1175. package/src/resizable-box/resize-tooltip/utils.ts +1 -5
  1176. package/src/responsive-wrapper/index.js +2 -4
  1177. package/src/sandbox/test/index.js +4 -6
  1178. package/src/search-control/index.js +6 -7
  1179. package/src/select-control/README.md +11 -0
  1180. package/src/select-control/index.tsx +9 -2
  1181. package/src/select-control/stories/index.tsx +3 -4
  1182. package/src/select-control/types.ts +1 -1
  1183. package/src/slot-fill/README.md +1 -1
  1184. package/src/slot-fill/fill.js +1 -5
  1185. package/src/slot-fill/slot.js +12 -2
  1186. package/src/slot-fill/test/slot.js +2 -3
  1187. package/src/snackbar/index.js +1 -1
  1188. package/src/snackbar/list.js +2 -1
  1189. package/src/spacer/component.tsx +3 -4
  1190. package/src/spacer/hook.ts +13 -13
  1191. package/src/spacer/stories/index.tsx +70 -0
  1192. package/src/spinner/{index.js → index.tsx} +23 -9
  1193. package/src/spinner/stories/index.tsx +32 -0
  1194. package/src/spinner/{styles.js → styles.ts} +0 -0
  1195. package/src/style.scss +1 -0
  1196. package/src/surface/README.md +15 -15
  1197. package/src/surface/{component.js → component.tsx} +13 -7
  1198. package/src/surface/{hook.js → hook.ts} +13 -12
  1199. package/src/surface/{index.js → index.ts} +0 -0
  1200. package/src/surface/stories/index.tsx +40 -0
  1201. package/src/surface/{styles.js → styles.ts} +15 -44
  1202. package/src/surface/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1203. package/src/surface/test/{index.js → index.tsx} +2 -1
  1204. package/src/surface/types.ts +1 -1
  1205. package/src/tab-panel/index.js +3 -1
  1206. package/src/text/hook.js +4 -1
  1207. package/src/text/types.ts +1 -1
  1208. package/src/text/utils.js +2 -3
  1209. package/src/text-control/stories/index.tsx +4 -6
  1210. package/src/textarea-control/README.md +14 -20
  1211. package/src/textarea-control/index.tsx +86 -0
  1212. package/src/textarea-control/stories/index.tsx +58 -0
  1213. package/src/textarea-control/styles/{textarea-control-styles.js → textarea-control-styles.ts} +0 -0
  1214. package/src/textarea-control/types.ts +30 -0
  1215. package/src/toggle-control/index.js +1 -2
  1216. package/src/toggle-control/index.native.js +2 -6
  1217. package/src/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx +2 -4
  1218. package/src/toolbar/index.js +1 -2
  1219. package/src/tools-panel/tools-panel/hook.ts +2 -4
  1220. package/src/tools-panel/tools-panel-header/hook.ts +2 -5
  1221. package/src/tooltip/index.js +1 -0
  1222. package/src/tree-grid/roving-tab-index-item.js +2 -4
  1223. package/src/tree-grid/test/index.js +2 -3
  1224. package/src/tree-select/README.md +2 -2
  1225. package/src/tree-select/index.tsx +99 -0
  1226. package/src/tree-select/stories/index.tsx +80 -0
  1227. package/src/tree-select/types.ts +35 -0
  1228. package/src/truncate/README.md +16 -12
  1229. package/src/truncate/{component.js → component.tsx} +13 -9
  1230. package/src/truncate/{hook.js → hook.ts} +8 -10
  1231. package/src/truncate/{index.js → index.ts} +0 -0
  1232. package/src/truncate/stories/index.tsx +49 -0
  1233. package/src/truncate/{styles.js → styles.ts} +0 -0
  1234. package/src/truncate/test/{index.js → index.tsx} +4 -4
  1235. package/src/truncate/types.ts +28 -10
  1236. package/src/truncate/{utils.js → utils.ts} +19 -19
  1237. package/src/ui/context/wordpress-component.ts +4 -5
  1238. package/src/ui/form-group/form-group-content.js +4 -4
  1239. package/src/unit-control/index.tsx +7 -9
  1240. package/src/unit-control/stories/index.tsx +8 -12
  1241. package/src/unit-control/test/index.tsx +4 -7
  1242. package/src/utils/hooks/index.js +0 -1
  1243. package/src/utils/hooks/stories/use-cx.js +8 -7
  1244. package/src/utils/hooks/test/use-controlled-state.js +2 -1
  1245. package/src/utils/math.js +14 -5
  1246. package/src/utils/test/math.js +22 -1
  1247. package/src/utils/unit-values.ts +2 -1
  1248. package/src/utils/values.js +2 -3
  1249. package/src/v-stack/README.md +6 -18
  1250. package/src/v-stack/{component.js → component.tsx} +15 -10
  1251. package/src/v-stack/{hook.js → hook.ts} +5 -6
  1252. package/src/v-stack/{index.js → index.ts} +0 -0
  1253. package/src/v-stack/stories/index.tsx +41 -0
  1254. package/src/v-stack/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1255. package/src/v-stack/test/{index.js → index.tsx} +0 -0
  1256. package/src/v-stack/types.ts +21 -1
  1257. package/src/z-stack/README.md +14 -3
  1258. package/src/z-stack/component.tsx +24 -29
  1259. package/src/z-stack/stories/index.tsx +76 -0
  1260. package/src/z-stack/types.ts +33 -0
  1261. package/tsconfig.json +7 -0
  1262. package/tsconfig.tsbuildinfo +1 -1
  1263. package/build/color-picker/color-display.js +0 -184
  1264. package/build/color-picker/color-display.js.map +0 -1
  1265. package/build/date-time/date.js.map +0 -1
  1266. package/build/date-time/time.js +0 -289
  1267. package/build/date-time/time.js.map +0 -1
  1268. package/build/date-time/timezone.js.map +0 -1
  1269. package/build/date-time/utils.js.map +0 -1
  1270. package/build/utils/hooks/use-combined-ref.js +0 -32
  1271. package/build/utils/hooks/use-combined-ref.js.map +0 -1
  1272. package/build-module/color-picker/color-display.js +0 -170
  1273. package/build-module/color-picker/color-display.js.map +0 -1
  1274. package/build-module/date-time/date.js.map +0 -1
  1275. package/build-module/date-time/time.js +0 -271
  1276. package/build-module/date-time/time.js.map +0 -1
  1277. package/build-module/date-time/timezone.js.map +0 -1
  1278. package/build-module/date-time/utils.js.map +0 -1
  1279. package/build-module/utils/hooks/use-combined-ref.js +0 -28
  1280. package/build-module/utils/hooks/use-combined-ref.js.map +0 -1
  1281. package/build-types/color-picker/color-display.d.ts +0 -14
  1282. package/build-types/color-picker/color-display.d.ts.map +0 -1
  1283. package/build-types/date-time/date.d.ts.map +0 -1
  1284. package/build-types/date-time/stories/index.d.ts.map +0 -1
  1285. package/build-types/date-time/test/date.d.ts +0 -2
  1286. package/build-types/date-time/test/date.d.ts.map +0 -1
  1287. package/build-types/date-time/test/time.d.ts +0 -2
  1288. package/build-types/date-time/test/time.d.ts.map +0 -1
  1289. package/build-types/date-time/test/utils.d.ts.map +0 -1
  1290. package/build-types/date-time/time.d.ts.map +0 -1
  1291. package/build-types/date-time/timezone.d.ts.map +0 -1
  1292. package/build-types/date-time/utils.d.ts.map +0 -1
  1293. package/build-types/utils/hooks/use-combined-ref.d.ts +0 -8
  1294. package/build-types/utils/hooks/use-combined-ref.d.ts.map +0 -1
  1295. package/src/border-control/stories/index.js +0 -119
  1296. package/src/color-indicator/index.js +0 -16
  1297. package/src/color-indicator/stories/index.js +0 -22
  1298. package/src/color-indicator/test/__snapshots__/index.js.snap +0 -13
  1299. package/src/color-picker/color-display.tsx +0 -169
  1300. package/src/date-time/index.tsx +0 -196
  1301. package/src/date-time/time.tsx +0 -321
  1302. package/src/external-link/stories/index.js +0 -23
  1303. package/src/form-toggle/index.js +0 -37
  1304. package/src/form-toggle/stories/index.js +0 -28
  1305. package/src/form-toggle/test/index.js +0 -75
  1306. package/src/form-token-field/index.js +0 -725
  1307. package/src/form-token-field/stories/index.js +0 -102
  1308. package/src/form-token-field/test/lib/token-field-wrapper.js +0 -56
  1309. package/src/form-token-field/token-input.js +0 -81
  1310. package/src/heading/test/index.js +0 -67
  1311. package/src/radio-control/index.js +0 -69
  1312. package/src/radio-control/stories/index.js +0 -41
  1313. package/src/spacer/stories/index.js +0 -59
  1314. package/src/spinner/stories/index.js +0 -43
  1315. package/src/surface/stories/index.js +0 -46
  1316. package/src/textarea-control/index.js +0 -45
  1317. package/src/textarea-control/stories/index.js +0 -48
  1318. package/src/tree-select/index.js +0 -48
  1319. package/src/tree-select/stories/index.js +0 -80
  1320. package/src/truncate/stories/index.js +0 -38
  1321. package/src/utils/hooks/use-combined-ref.ts +0 -28
  1322. package/src/z-stack/stories/index.js +0 -70
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-box-control/utils.ts"],"names":["sides","borderProps","isEmptyBorder","border","some","prop","undefined","isDefinedBorder","hasSplitBorders","allSidesEmpty","every","side","isCompleteBorder","Object","keys","indexOf","hasMixedBorders","borders","shorthandBorders","map","getShorthandBorderStyle","getSplitBorders","top","right","bottom","left","getBorderDiff","original","updated","diff","color","style","width","getCommonBorder","colors","styles","widths","forEach","push","allColorsMatch","value","allStylesMatch","allWidthsMatch","fallbackBorder","fallbackColor","fallbackStyle","fallbackWidth","hasVisibleBorder","borderStyle","filter","Boolean","join"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { CSSProperties } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { Border } from '../border-control/types';\nimport type { AnyBorder, Borders, BorderProp, BorderSide } from './types';\n\nconst sides: BorderSide[] = [ 'top', 'right', 'bottom', 'left' ];\nconst borderProps: BorderProp[] = [ 'color', 'style', 'width' ];\n\nexport const isEmptyBorder = ( border?: Border ) => {\n\tif ( ! border ) {\n\t\treturn true;\n\t}\n\treturn ! borderProps.some( ( prop ) => border[ prop ] !== undefined );\n};\n\nexport const isDefinedBorder = ( border: AnyBorder ) => {\n\t// No border, no worries :)\n\tif ( ! border ) {\n\t\treturn false;\n\t}\n\n\t// If we have individual borders per side within the border object we\n\t// need to check whether any of those side borders have been set.\n\tif ( hasSplitBorders( border ) ) {\n\t\tconst allSidesEmpty = sides.every( ( side ) =>\n\t\t\tisEmptyBorder( ( border as Borders )[ side ] )\n\t\t);\n\n\t\treturn ! allSidesEmpty;\n\t}\n\n\t// If we have a top-level border only, check if that is empty. e.g.\n\t// { color: undefined, style: undefined, width: undefined }\n\t// Border radius can still be set within the border object as it is\n\t// handled separately.\n\treturn ! isEmptyBorder( border as Border );\n};\n\nexport const isCompleteBorder = ( border?: Border ) => {\n\tif ( ! border ) {\n\t\treturn false;\n\t}\n\n\treturn borderProps.every( ( prop ) => border[ prop ] !== undefined );\n};\n\nexport const hasSplitBorders = ( border: AnyBorder = {} ) => {\n\treturn Object.keys( border ).some(\n\t\t( side ) => sides.indexOf( side as BorderSide ) !== -1\n\t);\n};\n\nexport const hasMixedBorders = ( borders: AnyBorder ) => {\n\tif ( ! hasSplitBorders( borders ) ) {\n\t\treturn false;\n\t}\n\n\tconst shorthandBorders = sides.map( ( side: BorderSide ) =>\n\t\tgetShorthandBorderStyle( ( borders as Borders )?.[ side ] )\n\t);\n\n\treturn ! shorthandBorders.every(\n\t\t( border ) => border === shorthandBorders[ 0 ]\n\t);\n};\n\nexport const getSplitBorders = ( border?: Border ) => {\n\tif ( ! border || isEmptyBorder( border ) ) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\ttop: border,\n\t\tright: border,\n\t\tbottom: border,\n\t\tleft: border,\n\t};\n};\n\nexport const getBorderDiff = ( original: Border, updated: Border ) => {\n\tconst diff: Border = {};\n\n\tif ( original.color !== updated.color ) {\n\t\tdiff.color = updated.color;\n\t}\n\n\tif ( original.style !== updated.style ) {\n\t\tdiff.style = updated.style;\n\t}\n\n\tif ( original.width !== updated.width ) {\n\t\tdiff.width = updated.width;\n\t}\n\n\treturn diff;\n};\n\nexport const getCommonBorder = ( borders?: Borders ) => {\n\tif ( ! borders ) {\n\t\treturn undefined;\n\t}\n\n\tconst colors: ( CSSProperties[ 'borderColor' ] | undefined )[] = [];\n\tconst styles: ( CSSProperties[ 'borderStyle' ] | undefined )[] = [];\n\tconst widths: ( CSSProperties[ 'borderWidth' ] | undefined )[] = [];\n\n\tsides.forEach( ( side ) => {\n\t\tcolors.push( borders[ side ]?.color );\n\t\tstyles.push( borders[ side ]?.style );\n\t\twidths.push( borders[ side ]?.width );\n\t} );\n\n\tconst allColorsMatch = colors.every( ( value ) => value === colors[ 0 ] );\n\tconst allStylesMatch = styles.every( ( value ) => value === styles[ 0 ] );\n\tconst allWidthsMatch = widths.every( ( value ) => value === widths[ 0 ] );\n\n\treturn {\n\t\tcolor: allColorsMatch ? colors[ 0 ] : undefined,\n\t\tstyle: allStylesMatch ? styles[ 0 ] : undefined,\n\t\twidth: allWidthsMatch ? widths[ 0 ] : undefined,\n\t};\n};\n\nexport const getShorthandBorderStyle = (\n\tborder?: Border,\n\tfallbackBorder?: Border\n) => {\n\tif ( isEmptyBorder( border ) ) {\n\t\treturn fallbackBorder;\n\t}\n\n\tconst { color: fallbackColor, style: fallbackStyle, width: fallbackWidth } =\n\t\tfallbackBorder || {};\n\n\tconst {\n\t\tcolor = fallbackColor,\n\t\tstyle = fallbackStyle,\n\t\twidth = fallbackWidth,\n\t} = border as Border;\n\n\tconst hasVisibleBorder = ( !! width && width !== '0' ) || !! color;\n\tconst borderStyle = hasVisibleBorder ? style || 'solid' : style;\n\n\treturn [ width, borderStyle, color ].filter( Boolean ).join( ' ' );\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-box-control/utils.ts"],"names":["sides","borderProps","isEmptyBorder","border","some","prop","undefined","isDefinedBorder","hasSplitBorders","allSidesEmpty","every","side","isCompleteBorder","Object","keys","indexOf","hasMixedBorders","borders","shorthandBorders","map","getShorthandBorderStyle","getSplitBorders","top","right","bottom","left","getBorderDiff","original","updated","diff","color","style","width","getCommonBorder","colors","styles","widths","forEach","push","allColorsMatch","value","allStylesMatch","allWidthsMatch","fallbackBorder","fallbackColor","fallbackStyle","fallbackWidth","hasVisibleBorder","borderStyle","filter","Boolean","join"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { CSSProperties } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { Border } from '../border-control/types';\nimport type { AnyBorder, Borders, BorderProp, BorderSide } from './types';\n\nconst sides: BorderSide[] = [ 'top', 'right', 'bottom', 'left' ];\nconst borderProps: BorderProp[] = [ 'color', 'style', 'width' ];\n\nexport const isEmptyBorder = ( border?: Border ) => {\n\tif ( ! border ) {\n\t\treturn true;\n\t}\n\treturn ! borderProps.some( ( prop ) => border[ prop ] !== undefined );\n};\n\nexport const isDefinedBorder = ( border: AnyBorder ) => {\n\t// No border, no worries :)\n\tif ( ! border ) {\n\t\treturn false;\n\t}\n\n\t// If we have individual borders per side within the border object we\n\t// need to check whether any of those side borders have been set.\n\tif ( hasSplitBorders( border ) ) {\n\t\tconst allSidesEmpty = sides.every( ( side ) =>\n\t\t\tisEmptyBorder( ( border as Borders )[ side ] )\n\t\t);\n\n\t\treturn ! allSidesEmpty;\n\t}\n\n\t// If we have a top-level border only, check if that is empty. e.g.\n\t// { color: undefined, style: undefined, width: undefined }\n\t// Border radius can still be set within the border object as it is\n\t// handled separately.\n\treturn ! isEmptyBorder( border as Border );\n};\n\nexport const isCompleteBorder = ( border?: Border ) => {\n\tif ( ! border ) {\n\t\treturn false;\n\t}\n\n\treturn borderProps.every( ( prop ) => border[ prop ] !== undefined );\n};\n\nexport const hasSplitBorders = ( border: AnyBorder = {} ) => {\n\treturn Object.keys( border ).some(\n\t\t( side ) => sides.indexOf( side as BorderSide ) !== -1\n\t);\n};\n\nexport const hasMixedBorders = ( borders: AnyBorder ) => {\n\tif ( ! hasSplitBorders( borders ) ) {\n\t\treturn false;\n\t}\n\n\tconst shorthandBorders = sides.map( ( side: BorderSide ) =>\n\t\tgetShorthandBorderStyle( ( borders as Borders )?.[ side ] )\n\t);\n\n\treturn ! shorthandBorders.every(\n\t\t( border ) => border === shorthandBorders[ 0 ]\n\t);\n};\n\nexport const getSplitBorders = ( border?: Border ) => {\n\tif ( ! border || isEmptyBorder( border ) ) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\ttop: border,\n\t\tright: border,\n\t\tbottom: border,\n\t\tleft: border,\n\t};\n};\n\nexport const getBorderDiff = ( original: Border, updated: Border ) => {\n\tconst diff: Border = {};\n\n\tif ( original.color !== updated.color ) {\n\t\tdiff.color = updated.color;\n\t}\n\n\tif ( original.style !== updated.style ) {\n\t\tdiff.style = updated.style;\n\t}\n\n\tif ( original.width !== updated.width ) {\n\t\tdiff.width = updated.width;\n\t}\n\n\treturn diff;\n};\n\nexport const getCommonBorder = ( borders?: Borders ) => {\n\tif ( ! borders ) {\n\t\treturn undefined;\n\t}\n\n\tconst colors: ( CSSProperties[ 'borderColor' ] | undefined )[] = [];\n\tconst styles: ( CSSProperties[ 'borderStyle' ] | undefined )[] = [];\n\tconst widths: ( CSSProperties[ 'borderWidth' ] | undefined )[] = [];\n\n\tsides.forEach( ( side ) => {\n\t\tcolors.push( borders[ side ]?.color );\n\t\tstyles.push( borders[ side ]?.style );\n\t\twidths.push( borders[ side ]?.width );\n\t} );\n\n\tconst allColorsMatch = colors.every( ( value ) => value === colors[ 0 ] );\n\tconst allStylesMatch = styles.every( ( value ) => value === styles[ 0 ] );\n\tconst allWidthsMatch = widths.every( ( value ) => value === widths[ 0 ] );\n\n\treturn {\n\t\tcolor: allColorsMatch ? colors[ 0 ] : undefined,\n\t\tstyle: allStylesMatch ? styles[ 0 ] : undefined,\n\t\twidth: allWidthsMatch ? widths[ 0 ] : undefined,\n\t};\n};\n\nexport const getShorthandBorderStyle = (\n\tborder?: Border,\n\tfallbackBorder?: Border\n) => {\n\tif ( isEmptyBorder( border ) ) {\n\t\treturn fallbackBorder;\n\t}\n\n\tconst {\n\t\tcolor: fallbackColor,\n\t\tstyle: fallbackStyle,\n\t\twidth: fallbackWidth,\n\t} = fallbackBorder || {};\n\n\tconst {\n\t\tcolor = fallbackColor,\n\t\tstyle = fallbackStyle,\n\t\twidth = fallbackWidth,\n\t} = border as Border;\n\n\tconst hasVisibleBorder = ( !! width && width !== '0' ) || !! color;\n\tconst borderStyle = hasVisibleBorder ? style || 'solid' : style;\n\n\treturn [ width, borderStyle, color ].filter( Boolean ).join( ' ' );\n};\n"]}
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.default = exports.BorderControl = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
@@ -47,7 +47,7 @@ const BorderLabel = props => {
47
47
  }, label) : (0, _element.createElement)(_baseControlStyles.StyledLabel, null, label);
48
48
  };
49
49
 
50
- const BorderControl = (props, forwardedRef) => {
50
+ const UnconnectedBorderControl = (props, forwardedRef) => {
51
51
  const {
52
52
  colors,
53
53
  disableCustomColors,
@@ -114,8 +114,44 @@ const BorderControl = (props, forwardedRef) => {
114
114
  withInputField: false
115
115
  })));
116
116
  };
117
+ /**
118
+ * The `BorderControl` brings together internal sub-components which allow users to
119
+ * set the various properties of a border. The first sub-component, a
120
+ * `BorderDropdown` contains options representing border color and style. The
121
+ * border width is controlled via a `UnitControl` and an optional `RangeControl`.
122
+ *
123
+ * Border radius is not covered by this control as it may be desired separate to
124
+ * color, style, and width. For example, the border radius may be absorbed under
125
+ * a "shape" abstraction.
126
+ *
127
+ * ```jsx
128
+ * import { __experimentalBorderControl as BorderControl } from '@wordpress/components';
129
+ * import { __ } from '@wordpress/i18n';
130
+ *
131
+ * const colors = [
132
+ * { name: 'Blue 20', color: '#72aee6' },
133
+ * // ...
134
+ * ];
135
+ *
136
+ * const MyBorderControl = () => {
137
+ * const [ border, setBorder ] = useState();
138
+ * const onChange = ( newBorder ) => setBorder( newBorder );
139
+ *
140
+ * return (
141
+ * <BorderControl
142
+ * colors={ colors }
143
+ * label={ __( 'Border' ) }
144
+ * onChange={ onChange }
145
+ * value={ border }
146
+ * />
147
+ * );
148
+ * };
149
+ * ```
150
+ */
151
+
117
152
 
118
- const ConnectedBorderControl = (0, _context.contextConnect)(BorderControl, 'BorderControl');
119
- var _default = ConnectedBorderControl;
153
+ const BorderControl = (0, _context.contextConnect)(UnconnectedBorderControl, 'BorderControl');
154
+ exports.BorderControl = BorderControl;
155
+ var _default = BorderControl;
120
156
  exports.default = _default;
121
157
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-control/border-control/component.tsx"],"names":["BorderLabel","props","label","hideLabelFromVision","BorderControl","forwardedRef","colors","disableCustomColors","enableAlpha","enableStyle","innerWrapperClassName","onBorderChange","onSliderChange","onWidthChange","placeholder","__unstablePopoverProps","previousStyleSelection","showDropdownHeader","sliderClassName","value","border","widthControlClassName","widthUnit","widthValue","withSlider","__experimentalHasMultipleOrigins","__experimentalIsRenderedInSidebar","__next36pxDefaultSize","otherProps","width","includes","undefined","ConnectedBorderControl"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport BorderControlDropdown from '../border-control-dropdown';\nimport UnitControl from '../../unit-control';\nimport RangeControl from '../../range-control';\nimport { HStack } from '../../h-stack';\nimport { StyledLabel } from '../../base-control/styles/base-control-styles';\nimport { View } from '../../view';\nimport { VisuallyHidden } from '../../visually-hidden';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport { useBorderControl } from './hook';\n\nimport type { BorderControlProps, LabelProps } from '../types';\n\nconst BorderLabel = ( props: LabelProps ) => {\n\tconst { label, hideLabelFromVision } = props;\n\n\tif ( ! label ) {\n\t\treturn null;\n\t}\n\n\treturn hideLabelFromVision ? (\n\t\t<VisuallyHidden as=\"label\">{ label }</VisuallyHidden>\n\t) : (\n\t\t<StyledLabel>{ label }</StyledLabel>\n\t);\n};\n\nconst BorderControl = (\n\tprops: WordPressComponentProps< BorderControlProps, 'div' >,\n\tforwardedRef: React.ForwardedRef< any >\n) => {\n\tconst {\n\t\tcolors,\n\t\tdisableCustomColors,\n\t\tenableAlpha,\n\t\tenableStyle = true,\n\t\thideLabelFromVision,\n\t\tinnerWrapperClassName,\n\t\tlabel,\n\t\tonBorderChange,\n\t\tonSliderChange,\n\t\tonWidthChange,\n\t\tplaceholder,\n\t\t__unstablePopoverProps,\n\t\tpreviousStyleSelection,\n\t\tshowDropdownHeader,\n\t\tsliderClassName,\n\t\tvalue: border,\n\t\twidthControlClassName,\n\t\twidthUnit,\n\t\twidthValue,\n\t\twithSlider,\n\t\t__experimentalHasMultipleOrigins,\n\t\t__experimentalIsRenderedInSidebar,\n\t\t__next36pxDefaultSize,\n\t\t...otherProps\n\t} = useBorderControl( props );\n\n\treturn (\n\t\t<View { ...otherProps } ref={ forwardedRef }>\n\t\t\t<BorderLabel\n\t\t\t\tlabel={ label }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t/>\n\t\t\t<HStack spacing={ 3 }>\n\t\t\t\t<HStack className={ innerWrapperClassName } alignment=\"stretch\">\n\t\t\t\t\t<BorderControlDropdown\n\t\t\t\t\t\tborder={ border }\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t__unstablePopoverProps={ __unstablePopoverProps }\n\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\tenableStyle={ enableStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpreviousStyleSelection={ previousStyleSelection }\n\t\t\t\t\t\tshowDropdownHeader={ showDropdownHeader }\n\t\t\t\t\t\t__experimentalHasMultipleOrigins={\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\t/>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tclassName={ widthControlClassName }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tonChange={ onWidthChange }\n\t\t\t\t\t\tvalue={ border?.width || '' }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ withSlider && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tclassName={ sliderClassName }\n\t\t\t\t\t\tinitialPosition={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tonChange={ onSliderChange }\n\t\t\t\t\t\tstep={ [ 'px', '%' ].includes( widthUnit ) ? 1 : 0.1 }\n\t\t\t\t\t\tvalue={ widthValue || undefined }\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</View>\n\t);\n};\n\nconst ConnectedBorderControl = contextConnect( BorderControl, 'BorderControl' );\n\nexport default ConnectedBorderControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-control/border-control/component.tsx"],"names":["BorderLabel","props","label","hideLabelFromVision","UnconnectedBorderControl","forwardedRef","colors","disableCustomColors","enableAlpha","enableStyle","innerWrapperClassName","onBorderChange","onSliderChange","onWidthChange","placeholder","__unstablePopoverProps","previousStyleSelection","showDropdownHeader","sliderClassName","value","border","widthControlClassName","widthUnit","widthValue","withSlider","__experimentalHasMultipleOrigins","__experimentalIsRenderedInSidebar","__next36pxDefaultSize","otherProps","width","includes","undefined","BorderControl"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport BorderControlDropdown from '../border-control-dropdown';\nimport UnitControl from '../../unit-control';\nimport RangeControl from '../../range-control';\nimport { HStack } from '../../h-stack';\nimport { StyledLabel } from '../../base-control/styles/base-control-styles';\nimport { View } from '../../view';\nimport { VisuallyHidden } from '../../visually-hidden';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport { useBorderControl } from './hook';\n\nimport type { BorderControlProps, LabelProps } from '../types';\n\nconst BorderLabel = ( props: LabelProps ) => {\n\tconst { label, hideLabelFromVision } = props;\n\n\tif ( ! label ) {\n\t\treturn null;\n\t}\n\n\treturn hideLabelFromVision ? (\n\t\t<VisuallyHidden as=\"label\">{ label }</VisuallyHidden>\n\t) : (\n\t\t<StyledLabel>{ label }</StyledLabel>\n\t);\n};\n\nconst UnconnectedBorderControl = (\n\tprops: WordPressComponentProps< BorderControlProps, 'div', false >,\n\tforwardedRef: React.ForwardedRef< any >\n) => {\n\tconst {\n\t\tcolors,\n\t\tdisableCustomColors,\n\t\tenableAlpha,\n\t\tenableStyle = true,\n\t\thideLabelFromVision,\n\t\tinnerWrapperClassName,\n\t\tlabel,\n\t\tonBorderChange,\n\t\tonSliderChange,\n\t\tonWidthChange,\n\t\tplaceholder,\n\t\t__unstablePopoverProps,\n\t\tpreviousStyleSelection,\n\t\tshowDropdownHeader,\n\t\tsliderClassName,\n\t\tvalue: border,\n\t\twidthControlClassName,\n\t\twidthUnit,\n\t\twidthValue,\n\t\twithSlider,\n\t\t__experimentalHasMultipleOrigins,\n\t\t__experimentalIsRenderedInSidebar,\n\t\t__next36pxDefaultSize,\n\t\t...otherProps\n\t} = useBorderControl( props );\n\n\treturn (\n\t\t<View { ...otherProps } ref={ forwardedRef }>\n\t\t\t<BorderLabel\n\t\t\t\tlabel={ label }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t/>\n\t\t\t<HStack spacing={ 3 }>\n\t\t\t\t<HStack className={ innerWrapperClassName } alignment=\"stretch\">\n\t\t\t\t\t<BorderControlDropdown\n\t\t\t\t\t\tborder={ border }\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t__unstablePopoverProps={ __unstablePopoverProps }\n\t\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\tenableStyle={ enableStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpreviousStyleSelection={ previousStyleSelection }\n\t\t\t\t\t\tshowDropdownHeader={ showDropdownHeader }\n\t\t\t\t\t\t__experimentalHasMultipleOrigins={\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\t/>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tclassName={ widthControlClassName }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tonChange={ onWidthChange }\n\t\t\t\t\t\tvalue={ border?.width || '' }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ withSlider && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tclassName={ sliderClassName }\n\t\t\t\t\t\tinitialPosition={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tonChange={ onSliderChange }\n\t\t\t\t\t\tstep={ [ 'px', '%' ].includes( widthUnit ) ? 1 : 0.1 }\n\t\t\t\t\t\tvalue={ widthValue || undefined }\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</View>\n\t);\n};\n\n/**\n * The `BorderControl` brings together internal sub-components which allow users to\n * set the various properties of a border. The first sub-component, a\n * `BorderDropdown` contains options representing border color and style. The\n * border width is controlled via a `UnitControl` and an optional `RangeControl`.\n *\n * Border radius is not covered by this control as it may be desired separate to\n * color, style, and width. For example, the border radius may be absorbed under\n * a \"shape\" abstraction.\n *\n * ```jsx\n * import { __experimentalBorderControl as BorderControl } from '@wordpress/components';\n * import { __ } from '@wordpress/i18n';\n *\n * const colors = [\n * \t{ name: 'Blue 20', color: '#72aee6' },\n * \t// ...\n * ];\n *\n * const MyBorderControl = () => {\n * \tconst [ border, setBorder ] = useState();\n * \tconst onChange = ( newBorder ) => setBorder( newBorder );\n *\n * \treturn (\n * \t\t<BorderControl\n * \t\t\tcolors={ colors }\n * \t\t\tlabel={ __( 'Border' ) }\n * \t\t\tonChange={ onChange }\n * \t\t\tvalue={ border }\n * \t\t/>\n * \t);\n * };\n * ```\n */\nexport const BorderControl = contextConnect(\n\tUnconnectedBorderControl,\n\t'BorderControl'\n);\n\nexport default BorderControl;\n"]}
@@ -59,7 +59,7 @@ function useBorderControl(props) {
59
59
  }
60
60
 
61
61
  onChange(newBorder);
62
- }, [onChange, shouldSanitizeBorder, sanitizeBorder]);
62
+ }, [onChange, shouldSanitizeBorder]);
63
63
  const onWidthChange = (0, _element.useCallback)(newWidth => {
64
64
  const newWidthValue = newWidth === '' ? undefined : newWidth;
65
65
  const [parsedValue] = (0, _utils.parseQuantityAndUnitFromRawValue)(newWidth);
@@ -94,7 +94,7 @@ function useBorderControl(props) {
94
94
  }
95
95
 
96
96
  onBorderChange(updatedBorder);
97
- }, [border, hadPreviousZeroWidth, onBorderChange]);
97
+ }, [border, hadPreviousZeroWidth, colorSelection, styleSelection, onBorderChange]);
98
98
  const onSliderChange = (0, _element.useCallback)(value => {
99
99
  onWidthChange(`${value}${widthUnit}`);
100
100
  }, [onWidthChange, widthUnit]); // Generate class names.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/border-control/border-control/hook.ts"],"names":["sanitizeBorder","border","hasNoWidth","width","undefined","hasNoColor","color","useBorderControl","props","className","isCompact","onChange","shouldSanitizeBorder","value","__next36pxDefaultSize","otherProps","widthValue","originalWidthUnit","widthUnit","hadPreviousZeroWidth","colorSelection","setColorSelection","styleSelection","setStyleSelection","onBorderChange","newBorder","onWidthChange","newWidth","newWidthValue","parsedValue","hasZeroWidth","updatedBorder","style","onSliderChange","cx","classes","styles","borderControl","innerWrapperClassName","wrapperWidth","widthStyle","heightStyle","wrapperHeight","innerWrapper","widthControlClassName","borderWidthControl","sliderClassName","borderSlider","previousStyleSelection"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { parseQuantityAndUnitFromRawValue } from '../../unit-control/utils';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\n\nimport type { Border, BorderControlProps } from '../types';\n\nconst sanitizeBorder = ( border?: Border ) => {\n\tconst hasNoWidth = border?.width === undefined || border.width === '';\n\tconst hasNoColor = border?.color === undefined;\n\n\t// If width and color are undefined, unset any style selection as well.\n\tif ( hasNoWidth && hasNoColor ) {\n\t\treturn undefined;\n\t}\n\n\treturn border;\n};\n\nexport function useBorderControl(\n\tprops: WordPressComponentProps< BorderControlProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tisCompact,\n\t\tonChange,\n\t\tshouldSanitizeBorder = true,\n\t\tvalue: border,\n\t\twidth,\n\t\t__next36pxDefaultSize = false,\n\t\t...otherProps\n\t} = useContextSystem( props, 'BorderControl' );\n\n\tconst [ widthValue, originalWidthUnit ] = parseQuantityAndUnitFromRawValue(\n\t\tborder?.width\n\t);\n\tconst widthUnit = originalWidthUnit || 'px';\n\tconst hadPreviousZeroWidth = widthValue === 0;\n\n\tconst [ colorSelection, setColorSelection ] = useState< string >();\n\tconst [ styleSelection, setStyleSelection ] = useState< string >();\n\n\tconst onBorderChange = useCallback(\n\t\t( newBorder?: Border ) => {\n\t\t\tif ( shouldSanitizeBorder ) {\n\t\t\t\treturn onChange( sanitizeBorder( newBorder ) );\n\t\t\t}\n\n\t\t\tonChange( newBorder );\n\t\t},\n\t\t[ onChange, shouldSanitizeBorder, sanitizeBorder ]\n\t);\n\n\tconst onWidthChange = useCallback(\n\t\t( newWidth?: string ) => {\n\t\t\tconst newWidthValue = newWidth === '' ? undefined : newWidth;\n\t\t\tconst [ parsedValue ] = parseQuantityAndUnitFromRawValue(\n\t\t\t\tnewWidth\n\t\t\t);\n\t\t\tconst hasZeroWidth = parsedValue === 0;\n\n\t\t\tconst updatedBorder = { ...border, width: newWidthValue };\n\n\t\t\t// Setting the border width explicitly to zero will also set the\n\t\t\t// border style to `none` and clear the border color.\n\t\t\tif ( hasZeroWidth && ! hadPreviousZeroWidth ) {\n\t\t\t\t// Before clearing the color and style selections, keep track of\n\t\t\t\t// the current selections so they can be restored when the width\n\t\t\t\t// changes to a non-zero value.\n\t\t\t\tsetColorSelection( border?.color );\n\t\t\t\tsetStyleSelection( border?.style );\n\n\t\t\t\t// Clear the color and style border properties.\n\t\t\t\tupdatedBorder.color = undefined;\n\t\t\t\tupdatedBorder.style = 'none';\n\t\t\t}\n\n\t\t\t// Selection has changed from zero border width to non-zero width.\n\t\t\tif ( ! hasZeroWidth && hadPreviousZeroWidth ) {\n\t\t\t\t// Restore previous border color and style selections if width\n\t\t\t\t// is now not zero.\n\t\t\t\tif ( updatedBorder.color === undefined ) {\n\t\t\t\t\tupdatedBorder.color = colorSelection;\n\t\t\t\t}\n\t\t\t\tif ( updatedBorder.style === 'none' ) {\n\t\t\t\t\tupdatedBorder.style = styleSelection;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tonBorderChange( updatedBorder );\n\t\t},\n\t\t[ border, hadPreviousZeroWidth, onBorderChange ]\n\t);\n\n\tconst onSliderChange = useCallback(\n\t\t( value: string ) => {\n\t\t\tonWidthChange( `${ value }${ widthUnit }` );\n\t\t},\n\t\t[ onWidthChange, widthUnit ]\n\t);\n\n\t// Generate class names.\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx( styles.borderControl, className );\n\t}, [ className, cx ] );\n\n\tconst innerWrapperClassName = useMemo( () => {\n\t\tconst wrapperWidth = isCompact ? '90px' : width;\n\t\tconst widthStyle =\n\t\t\t!! wrapperWidth && styles.wrapperWidth( wrapperWidth );\n\t\tconst heightStyle = styles.wrapperHeight( __next36pxDefaultSize );\n\n\t\treturn cx( styles.innerWrapper(), widthStyle, heightStyle );\n\t}, [ isCompact, width, cx, __next36pxDefaultSize ] );\n\n\tconst widthControlClassName = useMemo( () => {\n\t\treturn cx( styles.borderWidthControl() );\n\t}, [ cx ] );\n\n\tconst sliderClassName = useMemo( () => {\n\t\treturn cx( styles.borderSlider() );\n\t}, [ cx ] );\n\n\treturn {\n\t\t...otherProps,\n\t\tclassName: classes,\n\t\tinnerWrapperClassName,\n\t\tonBorderChange,\n\t\tonSliderChange,\n\t\tonWidthChange,\n\t\tpreviousStyleSelection: styleSelection,\n\t\tsliderClassName,\n\t\tvalue: border,\n\t\twidthControlClassName,\n\t\twidthUnit,\n\t\twidthValue,\n\t\t__next36pxDefaultSize,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/border-control/border-control/hook.ts"],"names":["sanitizeBorder","border","hasNoWidth","width","undefined","hasNoColor","color","useBorderControl","props","className","isCompact","onChange","shouldSanitizeBorder","value","__next36pxDefaultSize","otherProps","widthValue","originalWidthUnit","widthUnit","hadPreviousZeroWidth","colorSelection","setColorSelection","styleSelection","setStyleSelection","onBorderChange","newBorder","onWidthChange","newWidth","newWidthValue","parsedValue","hasZeroWidth","updatedBorder","style","onSliderChange","cx","classes","styles","borderControl","innerWrapperClassName","wrapperWidth","widthStyle","heightStyle","wrapperHeight","innerWrapper","widthControlClassName","borderWidthControl","sliderClassName","borderSlider","previousStyleSelection"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { parseQuantityAndUnitFromRawValue } from '../../unit-control/utils';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\n\nimport type { Border, BorderControlProps } from '../types';\n\nconst sanitizeBorder = ( border?: Border ) => {\n\tconst hasNoWidth = border?.width === undefined || border.width === '';\n\tconst hasNoColor = border?.color === undefined;\n\n\t// If width and color are undefined, unset any style selection as well.\n\tif ( hasNoWidth && hasNoColor ) {\n\t\treturn undefined;\n\t}\n\n\treturn border;\n};\n\nexport function useBorderControl(\n\tprops: WordPressComponentProps< BorderControlProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tisCompact,\n\t\tonChange,\n\t\tshouldSanitizeBorder = true,\n\t\tvalue: border,\n\t\twidth,\n\t\t__next36pxDefaultSize = false,\n\t\t...otherProps\n\t} = useContextSystem( props, 'BorderControl' );\n\n\tconst [ widthValue, originalWidthUnit ] = parseQuantityAndUnitFromRawValue(\n\t\tborder?.width\n\t);\n\tconst widthUnit = originalWidthUnit || 'px';\n\tconst hadPreviousZeroWidth = widthValue === 0;\n\n\tconst [ colorSelection, setColorSelection ] = useState< string >();\n\tconst [ styleSelection, setStyleSelection ] = useState< string >();\n\n\tconst onBorderChange = useCallback(\n\t\t( newBorder?: Border ) => {\n\t\t\tif ( shouldSanitizeBorder ) {\n\t\t\t\treturn onChange( sanitizeBorder( newBorder ) );\n\t\t\t}\n\n\t\t\tonChange( newBorder );\n\t\t},\n\t\t[ onChange, shouldSanitizeBorder ]\n\t);\n\n\tconst onWidthChange = useCallback(\n\t\t( newWidth?: string ) => {\n\t\t\tconst newWidthValue = newWidth === '' ? undefined : newWidth;\n\t\t\tconst [ parsedValue ] =\n\t\t\t\tparseQuantityAndUnitFromRawValue( newWidth );\n\t\t\tconst hasZeroWidth = parsedValue === 0;\n\n\t\t\tconst updatedBorder = { ...border, width: newWidthValue };\n\n\t\t\t// Setting the border width explicitly to zero will also set the\n\t\t\t// border style to `none` and clear the border color.\n\t\t\tif ( hasZeroWidth && ! hadPreviousZeroWidth ) {\n\t\t\t\t// Before clearing the color and style selections, keep track of\n\t\t\t\t// the current selections so they can be restored when the width\n\t\t\t\t// changes to a non-zero value.\n\t\t\t\tsetColorSelection( border?.color );\n\t\t\t\tsetStyleSelection( border?.style );\n\n\t\t\t\t// Clear the color and style border properties.\n\t\t\t\tupdatedBorder.color = undefined;\n\t\t\t\tupdatedBorder.style = 'none';\n\t\t\t}\n\n\t\t\t// Selection has changed from zero border width to non-zero width.\n\t\t\tif ( ! hasZeroWidth && hadPreviousZeroWidth ) {\n\t\t\t\t// Restore previous border color and style selections if width\n\t\t\t\t// is now not zero.\n\t\t\t\tif ( updatedBorder.color === undefined ) {\n\t\t\t\t\tupdatedBorder.color = colorSelection;\n\t\t\t\t}\n\t\t\t\tif ( updatedBorder.style === 'none' ) {\n\t\t\t\t\tupdatedBorder.style = styleSelection;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tonBorderChange( updatedBorder );\n\t\t},\n\t\t[\n\t\t\tborder,\n\t\t\thadPreviousZeroWidth,\n\t\t\tcolorSelection,\n\t\t\tstyleSelection,\n\t\t\tonBorderChange,\n\t\t]\n\t);\n\n\tconst onSliderChange = useCallback(\n\t\t( value: string ) => {\n\t\t\tonWidthChange( `${ value }${ widthUnit }` );\n\t\t},\n\t\t[ onWidthChange, widthUnit ]\n\t);\n\n\t// Generate class names.\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\treturn cx( styles.borderControl, className );\n\t}, [ className, cx ] );\n\n\tconst innerWrapperClassName = useMemo( () => {\n\t\tconst wrapperWidth = isCompact ? '90px' : width;\n\t\tconst widthStyle =\n\t\t\t!! wrapperWidth && styles.wrapperWidth( wrapperWidth );\n\t\tconst heightStyle = styles.wrapperHeight( __next36pxDefaultSize );\n\n\t\treturn cx( styles.innerWrapper(), widthStyle, heightStyle );\n\t}, [ isCompact, width, cx, __next36pxDefaultSize ] );\n\n\tconst widthControlClassName = useMemo( () => {\n\t\treturn cx( styles.borderWidthControl() );\n\t}, [ cx ] );\n\n\tconst sliderClassName = useMemo( () => {\n\t\treturn cx( styles.borderSlider() );\n\t}, [ cx ] );\n\n\treturn {\n\t\t...otherProps,\n\t\tclassName: classes,\n\t\tinnerWrapperClassName,\n\t\tonBorderChange,\n\t\tonSliderChange,\n\t\tonWidthChange,\n\t\tpreviousStyleSelection: styleSelection,\n\t\tsliderClassName,\n\t\tvalue: border,\n\t\twidthControlClassName,\n\t\twidthUnit,\n\t\twidthValue,\n\t\t__next36pxDefaultSize,\n\t};\n}\n"]}
@@ -11,25 +11,21 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
14
- var _lodash = require("lodash");
15
-
16
14
  var _unitControl = _interopRequireDefault(require("./unit-control"));
17
15
 
18
16
  var _utils = require("./utils");
19
17
 
20
- /**
21
- * External dependencies
22
- */
23
-
24
18
  /**
25
19
  * Internal dependencies
26
20
  */
21
+ const noop = () => {};
22
+
27
23
  function AllInputControl(_ref) {
28
24
  let {
29
- onChange = _lodash.noop,
30
- onFocus = _lodash.noop,
31
- onHoverOn = _lodash.noop,
32
- onHoverOff = _lodash.noop,
25
+ onChange = noop,
26
+ onFocus = noop,
27
+ onHoverOn = noop,
28
+ onHoverOff = noop,
33
29
  values,
34
30
  sides,
35
31
  selectedUnits,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/box-control/all-input-control.js"],"names":["AllInputControl","onChange","noop","onFocus","onHoverOn","onHoverOff","values","sides","selectedUnits","setSelectedUnits","props","allValue","hasValues","isMixed","allPlaceholder","LABELS","mixed","handleOnFocus","event","side","applyValueToSides","currentValues","newValue","newValues","length","forEach","top","bottom","left","right","ALL_SIDES","handleOnChange","next","isNumeric","isNaN","parseFloat","nextValue","undefined","nextValues","handleOnUnitChange","unit","newUnits","handleOnHoverOn","handleOnHoverOff"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n/**\n * Internal dependencies\n */\nimport UnitControl from './unit-control';\nimport {\n\tALL_SIDES,\n\tLABELS,\n\tgetAllValue,\n\tisValuesMixed,\n\tisValuesDefined,\n} from './utils';\n\nexport default function AllInputControl( {\n\tonChange = noop,\n\tonFocus = noop,\n\tonHoverOn = noop,\n\tonHoverOff = noop,\n\tvalues,\n\tsides,\n\tselectedUnits,\n\tsetSelectedUnits,\n\t...props\n} ) {\n\tconst allValue = getAllValue( values, selectedUnits, sides );\n\tconst hasValues = isValuesDefined( values );\n\tconst isMixed = hasValues && isValuesMixed( values, selectedUnits, sides );\n\tconst allPlaceholder = isMixed ? LABELS.mixed : null;\n\n\tconst handleOnFocus = ( event ) => {\n\t\tonFocus( event, { side: 'all' } );\n\t};\n\n\t// Applies a value to an object representing top, right, bottom and left\n\t// sides while taking into account any custom side configuration.\n\tconst applyValueToSides = ( currentValues, newValue ) => {\n\t\tconst newValues = { ...currentValues };\n\n\t\tif ( sides?.length ) {\n\t\t\tsides.forEach( ( side ) => {\n\t\t\t\tif ( side === 'vertical' ) {\n\t\t\t\t\tnewValues.top = newValue;\n\t\t\t\t\tnewValues.bottom = newValue;\n\t\t\t\t} else if ( side === 'horizontal' ) {\n\t\t\t\t\tnewValues.left = newValue;\n\t\t\t\t\tnewValues.right = newValue;\n\t\t\t\t} else {\n\t\t\t\t\tnewValues[ side ] = newValue;\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\tALL_SIDES.forEach( ( side ) => ( newValues[ side ] = newValue ) );\n\t\t}\n\n\t\treturn newValues;\n\t};\n\n\tconst handleOnChange = ( next ) => {\n\t\tconst isNumeric = ! isNaN( parseFloat( next ) );\n\t\tconst nextValue = isNumeric ? next : undefined;\n\t\tconst nextValues = applyValueToSides( values, nextValue );\n\n\t\tonChange( nextValues );\n\t};\n\n\t// Set selected unit so it can be used as fallback by unlinked controls\n\t// when individual sides do not have a value containing a unit.\n\tconst handleOnUnitChange = ( unit ) => {\n\t\tconst newUnits = applyValueToSides( selectedUnits, unit );\n\t\tsetSelectedUnits( newUnits );\n\t};\n\n\tconst handleOnHoverOn = () => {\n\t\tonHoverOn( {\n\t\t\ttop: true,\n\t\t\tbottom: true,\n\t\t\tleft: true,\n\t\t\tright: true,\n\t\t} );\n\t};\n\n\tconst handleOnHoverOff = () => {\n\t\tonHoverOff( {\n\t\t\ttop: false,\n\t\t\tbottom: false,\n\t\t\tleft: false,\n\t\t\tright: false,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<UnitControl\n\t\t\t{ ...props }\n\t\t\tdisableUnits={ isMixed }\n\t\t\tisOnly\n\t\t\tvalue={ allValue }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ handleOnUnitChange }\n\t\t\tonFocus={ handleOnFocus }\n\t\t\tonHoverOn={ handleOnHoverOn }\n\t\t\tonHoverOff={ handleOnHoverOff }\n\t\t\tplaceholder={ allPlaceholder }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/box-control/all-input-control.js"],"names":["noop","AllInputControl","onChange","onFocus","onHoverOn","onHoverOff","values","sides","selectedUnits","setSelectedUnits","props","allValue","hasValues","isMixed","allPlaceholder","LABELS","mixed","handleOnFocus","event","side","applyValueToSides","currentValues","newValue","newValues","length","forEach","top","bottom","left","right","ALL_SIDES","handleOnChange","next","isNumeric","isNaN","parseFloat","nextValue","undefined","nextValues","handleOnUnitChange","unit","newUnits","handleOnHoverOn","handleOnHoverOff"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport UnitControl from './unit-control';\nimport {\n\tALL_SIDES,\n\tLABELS,\n\tgetAllValue,\n\tisValuesMixed,\n\tisValuesDefined,\n} from './utils';\n\nconst noop = () => {};\n\nexport default function AllInputControl( {\n\tonChange = noop,\n\tonFocus = noop,\n\tonHoverOn = noop,\n\tonHoverOff = noop,\n\tvalues,\n\tsides,\n\tselectedUnits,\n\tsetSelectedUnits,\n\t...props\n} ) {\n\tconst allValue = getAllValue( values, selectedUnits, sides );\n\tconst hasValues = isValuesDefined( values );\n\tconst isMixed = hasValues && isValuesMixed( values, selectedUnits, sides );\n\tconst allPlaceholder = isMixed ? LABELS.mixed : null;\n\n\tconst handleOnFocus = ( event ) => {\n\t\tonFocus( event, { side: 'all' } );\n\t};\n\n\t// Applies a value to an object representing top, right, bottom and left\n\t// sides while taking into account any custom side configuration.\n\tconst applyValueToSides = ( currentValues, newValue ) => {\n\t\tconst newValues = { ...currentValues };\n\n\t\tif ( sides?.length ) {\n\t\t\tsides.forEach( ( side ) => {\n\t\t\t\tif ( side === 'vertical' ) {\n\t\t\t\t\tnewValues.top = newValue;\n\t\t\t\t\tnewValues.bottom = newValue;\n\t\t\t\t} else if ( side === 'horizontal' ) {\n\t\t\t\t\tnewValues.left = newValue;\n\t\t\t\t\tnewValues.right = newValue;\n\t\t\t\t} else {\n\t\t\t\t\tnewValues[ side ] = newValue;\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\tALL_SIDES.forEach( ( side ) => ( newValues[ side ] = newValue ) );\n\t\t}\n\n\t\treturn newValues;\n\t};\n\n\tconst handleOnChange = ( next ) => {\n\t\tconst isNumeric = ! isNaN( parseFloat( next ) );\n\t\tconst nextValue = isNumeric ? next : undefined;\n\t\tconst nextValues = applyValueToSides( values, nextValue );\n\n\t\tonChange( nextValues );\n\t};\n\n\t// Set selected unit so it can be used as fallback by unlinked controls\n\t// when individual sides do not have a value containing a unit.\n\tconst handleOnUnitChange = ( unit ) => {\n\t\tconst newUnits = applyValueToSides( selectedUnits, unit );\n\t\tsetSelectedUnits( newUnits );\n\t};\n\n\tconst handleOnHoverOn = () => {\n\t\tonHoverOn( {\n\t\t\ttop: true,\n\t\t\tbottom: true,\n\t\t\tleft: true,\n\t\t\tright: true,\n\t\t} );\n\t};\n\n\tconst handleOnHoverOff = () => {\n\t\tonHoverOff( {\n\t\t\ttop: false,\n\t\t\tbottom: false,\n\t\t\tleft: false,\n\t\t\tright: false,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<UnitControl\n\t\t\t{ ...props }\n\t\t\tdisableUnits={ isMixed }\n\t\t\tisOnly\n\t\t\tvalue={ allValue }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ handleOnUnitChange }\n\t\t\tonFocus={ handleOnFocus }\n\t\t\tonHoverOn={ handleOnHoverOn }\n\t\t\tonHoverOff={ handleOnHoverOff }\n\t\t\tplaceholder={ allPlaceholder }\n\t\t/>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/box-control/axial-input-controls.js"],"names":["groupedSides","AxialInputControls","onChange","onFocus","onHoverOn","onHoverOff","values","selectedUnits","setSelectedUnits","sides","props","createHandleOnFocus","side","event","createHandleOnHoverOn","top","bottom","left","right","createHandleOnHoverOff","createHandleOnChange","next","nextValues","isNumeric","isNaN","parseFloat","nextValue","undefined","createHandleOnUnitChange","newUnits","filteredSides","length","filter","includes","first","last","only","map","parsedQuantity","parsedUnit","selectedUnit","join","LABELS"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';\nimport UnitControl from './unit-control';\nimport { LABELS } from './utils';\nimport { Layout } from './styles/box-control-styles';\n\nconst groupedSides = [ 'vertical', 'horizontal' ];\n\nexport default function AxialInputControls( {\n\tonChange,\n\tonFocus,\n\tonHoverOn,\n\tonHoverOff,\n\tvalues,\n\tselectedUnits,\n\tsetSelectedUnits,\n\tsides,\n\t...props\n} ) {\n\tconst createHandleOnFocus = ( side ) => ( event ) => {\n\t\tif ( ! onFocus ) {\n\t\t\treturn;\n\t\t}\n\t\tonFocus( event, { side } );\n\t};\n\n\tconst createHandleOnHoverOn = ( side ) => () => {\n\t\tif ( ! onHoverOn ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( side === 'vertical' ) {\n\t\t\tonHoverOn( {\n\t\t\t\ttop: true,\n\t\t\t\tbottom: true,\n\t\t\t} );\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tonHoverOn( {\n\t\t\t\tleft: true,\n\t\t\t\tright: true,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst createHandleOnHoverOff = ( side ) => () => {\n\t\tif ( ! onHoverOff ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( side === 'vertical' ) {\n\t\t\tonHoverOff( {\n\t\t\t\ttop: false,\n\t\t\t\tbottom: false,\n\t\t\t} );\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tonHoverOff( {\n\t\t\t\tleft: false,\n\t\t\t\tright: false,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst createHandleOnChange = ( side ) => ( next ) => {\n\t\tif ( ! onChange ) {\n\t\t\treturn;\n\t\t}\n\t\tconst nextValues = { ...values };\n\t\tconst isNumeric = ! isNaN( parseFloat( next ) );\n\t\tconst nextValue = isNumeric ? next : undefined;\n\n\t\tif ( side === 'vertical' ) {\n\t\t\tnextValues.top = nextValue;\n\t\t\tnextValues.bottom = nextValue;\n\t\t}\n\n\t\tif ( side === 'horizontal' ) {\n\t\t\tnextValues.left = nextValue;\n\t\t\tnextValues.right = nextValue;\n\t\t}\n\n\t\tonChange( nextValues );\n\t};\n\n\tconst createHandleOnUnitChange = ( side ) => ( next ) => {\n\t\tconst newUnits = { ...selectedUnits };\n\n\t\tif ( side === 'vertical' ) {\n\t\t\tnewUnits.top = next;\n\t\t\tnewUnits.bottom = next;\n\t\t}\n\n\t\tif ( side === 'horizontal' ) {\n\t\t\tnewUnits.left = next;\n\t\t\tnewUnits.right = next;\n\t\t}\n\n\t\tsetSelectedUnits( newUnits );\n\t};\n\n\t// Filter sides if custom configuration provided, maintaining default order.\n\tconst filteredSides = sides?.length\n\t\t? groupedSides.filter( ( side ) => sides.includes( side ) )\n\t\t: groupedSides;\n\n\tconst first = filteredSides[ 0 ];\n\tconst last = filteredSides[ filteredSides.length - 1 ];\n\tconst only = first === last;\n\n\treturn (\n\t\t<Layout\n\t\t\tgap={ 0 }\n\t\t\talign=\"top\"\n\t\t\tclassName=\"component-box-control__vertical-horizontal-input-controls\"\n\t\t>\n\t\t\t{ filteredSides.map( ( side ) => {\n\t\t\t\tconst [\n\t\t\t\t\tparsedQuantity,\n\t\t\t\t\tparsedUnit,\n\t\t\t\t] = parseQuantityAndUnitFromRawValue(\n\t\t\t\t\tside === 'vertical' ? values.top : values.left\n\t\t\t\t);\n\t\t\t\tconst selectedUnit =\n\t\t\t\t\tside === 'vertical'\n\t\t\t\t\t\t? selectedUnits.top\n\t\t\t\t\t\t: selectedUnits.left;\n\t\t\t\treturn (\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\tisFirst={ first === side }\n\t\t\t\t\t\tisLast={ last === side }\n\t\t\t\t\t\tisOnly={ only === side }\n\t\t\t\t\t\tvalue={ [\n\t\t\t\t\t\t\tparsedQuantity,\n\t\t\t\t\t\t\tselectedUnit ?? parsedUnit,\n\t\t\t\t\t\t].join( '' ) }\n\t\t\t\t\t\tonChange={ createHandleOnChange( side ) }\n\t\t\t\t\t\tonUnitChange={ createHandleOnUnitChange( side ) }\n\t\t\t\t\t\tonFocus={ createHandleOnFocus( side ) }\n\t\t\t\t\t\tonHoverOn={ createHandleOnHoverOn( side ) }\n\t\t\t\t\t\tonHoverOff={ createHandleOnHoverOff( side ) }\n\t\t\t\t\t\tlabel={ LABELS[ side ] }\n\t\t\t\t\t\tkey={ side }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Layout>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/box-control/axial-input-controls.js"],"names":["groupedSides","AxialInputControls","onChange","onFocus","onHoverOn","onHoverOff","values","selectedUnits","setSelectedUnits","sides","props","createHandleOnFocus","side","event","createHandleOnHoverOn","top","bottom","left","right","createHandleOnHoverOff","createHandleOnChange","next","nextValues","isNumeric","isNaN","parseFloat","nextValue","undefined","createHandleOnUnitChange","newUnits","filteredSides","length","filter","includes","first","last","only","map","parsedQuantity","parsedUnit","selectedUnit","join","LABELS"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';\nimport UnitControl from './unit-control';\nimport { LABELS } from './utils';\nimport { Layout } from './styles/box-control-styles';\n\nconst groupedSides = [ 'vertical', 'horizontal' ];\n\nexport default function AxialInputControls( {\n\tonChange,\n\tonFocus,\n\tonHoverOn,\n\tonHoverOff,\n\tvalues,\n\tselectedUnits,\n\tsetSelectedUnits,\n\tsides,\n\t...props\n} ) {\n\tconst createHandleOnFocus = ( side ) => ( event ) => {\n\t\tif ( ! onFocus ) {\n\t\t\treturn;\n\t\t}\n\t\tonFocus( event, { side } );\n\t};\n\n\tconst createHandleOnHoverOn = ( side ) => () => {\n\t\tif ( ! onHoverOn ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( side === 'vertical' ) {\n\t\t\tonHoverOn( {\n\t\t\t\ttop: true,\n\t\t\t\tbottom: true,\n\t\t\t} );\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tonHoverOn( {\n\t\t\t\tleft: true,\n\t\t\t\tright: true,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst createHandleOnHoverOff = ( side ) => () => {\n\t\tif ( ! onHoverOff ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( side === 'vertical' ) {\n\t\t\tonHoverOff( {\n\t\t\t\ttop: false,\n\t\t\t\tbottom: false,\n\t\t\t} );\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tonHoverOff( {\n\t\t\t\tleft: false,\n\t\t\t\tright: false,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst createHandleOnChange = ( side ) => ( next ) => {\n\t\tif ( ! onChange ) {\n\t\t\treturn;\n\t\t}\n\t\tconst nextValues = { ...values };\n\t\tconst isNumeric = ! isNaN( parseFloat( next ) );\n\t\tconst nextValue = isNumeric ? next : undefined;\n\n\t\tif ( side === 'vertical' ) {\n\t\t\tnextValues.top = nextValue;\n\t\t\tnextValues.bottom = nextValue;\n\t\t}\n\n\t\tif ( side === 'horizontal' ) {\n\t\t\tnextValues.left = nextValue;\n\t\t\tnextValues.right = nextValue;\n\t\t}\n\n\t\tonChange( nextValues );\n\t};\n\n\tconst createHandleOnUnitChange = ( side ) => ( next ) => {\n\t\tconst newUnits = { ...selectedUnits };\n\n\t\tif ( side === 'vertical' ) {\n\t\t\tnewUnits.top = next;\n\t\t\tnewUnits.bottom = next;\n\t\t}\n\n\t\tif ( side === 'horizontal' ) {\n\t\t\tnewUnits.left = next;\n\t\t\tnewUnits.right = next;\n\t\t}\n\n\t\tsetSelectedUnits( newUnits );\n\t};\n\n\t// Filter sides if custom configuration provided, maintaining default order.\n\tconst filteredSides = sides?.length\n\t\t? groupedSides.filter( ( side ) => sides.includes( side ) )\n\t\t: groupedSides;\n\n\tconst first = filteredSides[ 0 ];\n\tconst last = filteredSides[ filteredSides.length - 1 ];\n\tconst only = first === last;\n\n\treturn (\n\t\t<Layout\n\t\t\tgap={ 0 }\n\t\t\talign=\"top\"\n\t\t\tclassName=\"component-box-control__vertical-horizontal-input-controls\"\n\t\t>\n\t\t\t{ filteredSides.map( ( side ) => {\n\t\t\t\tconst [ parsedQuantity, parsedUnit ] =\n\t\t\t\t\tparseQuantityAndUnitFromRawValue(\n\t\t\t\t\t\tside === 'vertical' ? values.top : values.left\n\t\t\t\t\t);\n\t\t\t\tconst selectedUnit =\n\t\t\t\t\tside === 'vertical'\n\t\t\t\t\t\t? selectedUnits.top\n\t\t\t\t\t\t: selectedUnits.left;\n\t\t\t\treturn (\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\tisFirst={ first === side }\n\t\t\t\t\t\tisLast={ last === side }\n\t\t\t\t\t\tisOnly={ only === side }\n\t\t\t\t\t\tvalue={ [\n\t\t\t\t\t\t\tparsedQuantity,\n\t\t\t\t\t\t\tselectedUnit ?? parsedUnit,\n\t\t\t\t\t\t].join( '' ) }\n\t\t\t\t\t\tonChange={ createHandleOnChange( side ) }\n\t\t\t\t\t\tonUnitChange={ createHandleOnUnitChange( side ) }\n\t\t\t\t\t\tonFocus={ createHandleOnFocus( side ) }\n\t\t\t\t\t\tonHoverOn={ createHandleOnHoverOn( side ) }\n\t\t\t\t\t\tonHoverOff={ createHandleOnHoverOff( side ) }\n\t\t\t\t\t\tlabel={ LABELS[ side ] }\n\t\t\t\t\t\tkey={ side }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Layout>\n\t);\n}\n"]}
@@ -11,8 +11,6 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
14
- var _lodash = require("lodash");
15
-
16
14
  var _compose = require("@wordpress/compose");
17
15
 
18
16
  var _i18n = require("@wordpress/i18n");
@@ -41,10 +39,6 @@ var _utils2 = require("./utils");
41
39
 
42
40
  var _hooks = require("../utils/hooks");
43
41
 
44
- /**
45
- * External dependencies
46
- */
47
-
48
42
  /**
49
43
  * WordPress dependencies
50
44
  */
@@ -56,6 +50,8 @@ const defaultInputProps = {
56
50
  min: 0
57
51
  };
58
52
 
53
+ const noop = () => {};
54
+
59
55
  function useUniqueId(idProp) {
60
56
  const instanceId = (0, _compose.useInstanceId)(BoxControl, 'inspector-box-control');
61
57
  return idProp || instanceId;
@@ -65,7 +61,7 @@ function BoxControl(_ref) {
65
61
  let {
66
62
  id: idProp,
67
63
  inputProps = defaultInputProps,
68
- onChange = _lodash.noop,
64
+ onChange = noop,
69
65
  label = (0, _i18n.__)('Box Control'),
70
66
  values: valuesProp,
71
67
  units,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/box-control/index.js"],"names":["defaultInputProps","min","useUniqueId","idProp","instanceId","BoxControl","id","inputProps","onChange","noop","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","handleOnReset","inputControlProps","onFocus"],"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 {\n\tRoot,\n\tHeader,\n\tHeaderControlWrapper,\n} from './styles/box-control-styles';\nimport { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';\nimport {\n\tDEFAULT_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\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 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\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"]}
1
+ {"version":3,"sources":["@wordpress/components/src/box-control/index.js"],"names":["defaultInputProps","min","noop","useUniqueId","idProp","instanceId","BoxControl","id","inputProps","onChange","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","handleOnReset","inputControlProps","onFocus"],"mappings":";;;;;;;;;AAIA;;;;AADA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAMA;;AA9BA;AACA;AACA;;AAKA;AACA;AACA;AAuBA,MAAMA,iBAAiB,GAAG;AACzBC,EAAAA,GAAG,EAAE;AADoB,CAA1B;;AAIA,MAAMC,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEA,SAASC,WAAT,CAAsBC,MAAtB,EAA+B;AAC9B,QAAMC,UAAU,GAAG,4BAAeC,UAAf,EAA2B,uBAA3B,CAAnB;AAEA,SAAOF,MAAM,IAAIC,UAAjB;AACA;;AACc,SAASC,UAAT,OAWX;AAAA,MAXgC;AACnCC,IAAAA,EAAE,EAAEH,MAD+B;AAEnCI,IAAAA,UAAU,GAAGR,iBAFsB;AAGnCS,IAAAA,QAAQ,GAAGP,IAHwB;AAInCQ,IAAAA,KAAK,GAAG,cAAI,aAAJ,CAJ2B;AAKnCC,IAAAA,MAAM,EAAEC,UAL2B;AAMnCC,IAAAA,KANmC;AAOnCC,IAAAA,KAPmC;AAQnCC,IAAAA,WAAW,GAAG,KARqB;AASnCC,IAAAA,UAAU,GAAG,IATsB;AAUnCC,IAAAA,WAAW,GAAGC;AAVqB,GAWhC;AACH,QAAM,CAAEP,MAAF,EAAUQ,SAAV,IAAwB,+BAAoBP,UAApB,EAAgC;AAC7DQ,IAAAA,QAAQ,EAAEF;AADmD,GAAhC,CAA9B;AAGA,QAAMG,WAAW,GAAGV,MAAM,IAAIO,sBAA9B;AACA,QAAMI,eAAe,GAAG,6BAAiBV,UAAjB,CAAxB;AACA,QAAMW,UAAU,GAAG,CAAAT,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEU,MAAP,MAAkB,CAArC;AAEA,QAAM,CAAEC,OAAF,EAAWC,UAAX,IAA0B,uBAAUJ,eAAV,CAAhC;AACA,QAAM,CAAEK,QAAF,EAAYC,WAAZ,IAA4B,uBACjC,CAAEN,eAAF,IAAqB,CAAE,2BAAeD,WAAf,CAAvB,IAAuDE,UADtB,CAAlC;AAIA,QAAM,CAAEM,IAAF,EAAQC,OAAR,IAAoB,uBACzB,4BAAgBH,QAAhB,EAA0BZ,WAA1B,CADyB,CAA1B,CAbG,CAiBH;AACA;AACA;;AACA,QAAM,CAAEgB,aAAF,EAAiBC,gBAAjB,IAAsC,uBAAU;AACrDC,IAAAA,GAAG,EAAE,6CAAkCrB,UAAlC,aAAkCA,UAAlC,uBAAkCA,UAAU,CAAEqB,GAA9C,EAAqD,CAArD,CADgD;AAErDC,IAAAA,KAAK,EAAE,6CAAkCtB,UAAlC,aAAkCA,UAAlC,uBAAkCA,UAAU,CAAEsB,KAA9C,EAAuD,CAAvD,CAF8C;AAGrDC,IAAAA,MAAM,EAAE,6CAAkCvB,UAAlC,aAAkCA,UAAlC,uBAAkCA,UAAU,CAAEuB,MAA9C,EAAwD,CAAxD,CAH6C;AAIrDC,IAAAA,IAAI,EAAE,6CAAkCxB,UAAlC,aAAkCA,UAAlC,uBAAkCA,UAAU,CAAEwB,IAA9C,EAAsD,CAAtD;AAJ+C,GAAV,CAA5C;AAOA,QAAM7B,EAAE,GAAGJ,WAAW,CAAEC,MAAF,CAAtB;AACA,QAAMiC,SAAS,GAAI,GAAG9B,EAAI,UAA1B;;AAEA,QAAM+B,YAAY,GAAG,MAAM;AAC1BV,IAAAA,WAAW,CAAE,CAAED,QAAJ,CAAX;AACAG,IAAAA,OAAO,CAAE,4BAAgB,CAAEH,QAAlB,EAA4BZ,WAA5B,CAAF,CAAP;AACA,GAHD;;AAKA,QAAMwB,aAAa,GAAG,CAAEC,KAAF,YAAiC;AAAA,QAAxB;AAAEX,MAAAA,IAAI,EAAEY;AAAR,KAAwB;AACtDX,IAAAA,OAAO,CAAEW,QAAF,CAAP;AACA,GAFD;;AAIA,QAAMC,cAAc,GAAKC,UAAF,IAAkB;AACxClC,IAAAA,QAAQ,CAAEkC,UAAF,CAAR;AACAxB,IAAAA,SAAS,CAAEwB,UAAF,CAAT;AACAjB,IAAAA,UAAU,CAAE,IAAF,CAAV;AACA,GAJD;;AAMA,QAAMkB,aAAa,GAAG,MAAM;AAC3BnC,IAAAA,QAAQ,CAAEQ,WAAF,CAAR;AACAE,IAAAA,SAAS,CAAEF,WAAF,CAAT;AACAe,IAAAA,gBAAgB,CAAEf,WAAF,CAAhB;AACAS,IAAAA,UAAU,CAAE,KAAF,CAAV;AACA,GALD;;AAOA,QAAMmB,iBAAiB,GAAG,EACzB,GAAGrC,UADsB;AAEzBC,IAAAA,QAAQ,EAAEiC,cAFe;AAGzBI,IAAAA,OAAO,EAAEP,aAHgB;AAIzBZ,IAAAA,QAJyB;AAKzBd,IAAAA,KALyB;AAMzBkB,IAAAA,aANyB;AAOzBC,IAAAA,gBAPyB;AAQzBlB,IAAAA,KARyB;AASzBH,IAAAA,MAAM,EAAEU;AATiB,GAA1B;AAYA,SACC,4BAAC,sBAAD;AAAM,IAAA,EAAE,EAAGd,EAAX;AAAgB,IAAA,IAAI,EAAC,QAArB;AAA8B,uBAAkB8B;AAAhD,KACC,4BAAC,wBAAD;AAAQ,IAAA,SAAS,EAAC;AAAlB,KACC,4BAAC,cAAD,QACC,4BAAC,UAAD;AACC,IAAA,EAAE,EAAGA,SADN;AAEC,IAAA,SAAS,EAAC;AAFX,KAIG3B,KAJH,CADD,CADD,EASGM,UAAU,IACX,4BAAC,cAAD,QACC,4BAAC,eAAD;AACC,IAAA,SAAS,EAAC,qCADX;AAEC,IAAA,WAAW,MAFZ;AAGC,IAAA,OAAO,MAHR;AAIC,IAAA,OAAO,EAAG4B,aAJX;AAKC,IAAA,QAAQ,EAAG,CAAEnB;AALd,KAOG,cAAI,OAAJ,CAPH,CADD,CAVF,CADD,EAwBC,4BAAC,sCAAD;AAAsB,IAAA,SAAS,EAAC;AAAhC,KACC,4BAAC,cAAD,QACC,4BAAC,aAAD;AAAgB,IAAA,IAAI,EAAGI,IAAvB;AAA8B,IAAA,KAAK,EAAGf;AAAtC,IADD,CADD,EAIGa,QAAQ,IACT,4BAAC,eAAD,QACC,4BAAC,wBAAD;AACC,kBAAajB;AADd,KAEMmC,iBAFN,EADD,CALF,EAYG,CAAElB,QAAF,IAAcZ,WAAd,IACD,4BAAC,eAAD,QACC,4BAAC,2BAAD,EAAyB8B,iBAAzB,CADD,CAbF,EAiBG,CAAEtB,UAAF,IACD,4BAAC,cAAD,QACC,4BAAC,qBAAD;AACC,IAAA,OAAO,EAAGe,YADX;AAEC,IAAA,QAAQ,EAAGX;AAFZ,IADD,CAlBF,CAxBD,EAkDG,CAAEA,QAAF,IAAc,CAAEZ,WAAhB,IACD,4BAAC,sBAAD,EAAoB8B,iBAApB,CAnDF,CADD;AAwDA","sourcesContent":["/**\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 {\n\tRoot,\n\tHeader,\n\tHeaderControlWrapper,\n} from './styles/box-control-styles';\nimport { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';\nimport {\n\tDEFAULT_VALUES,\n\tgetInitialSide,\n\tisValuesMixed,\n\tisValuesDefined,\n} from './utils';\nimport { useControlledState } from '../utils/hooks';\n\nconst defaultInputProps = {\n\tmin: 0,\n};\n\nconst noop = () => {};\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\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 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\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"]}
@@ -11,8 +11,6 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
14
- var _lodash = require("lodash");
15
-
16
14
  var _unitControl = _interopRequireDefault(require("./unit-control"));
17
15
 
18
16
  var _utils = require("../unit-control/utils");
@@ -21,19 +19,17 @@ var _utils2 = require("./utils");
21
19
 
22
20
  var _boxControlStyles = require("./styles/box-control-styles");
23
21
 
24
- /**
25
- * External dependencies
26
- */
27
-
28
22
  /**
29
23
  * Internal dependencies
30
24
  */
25
+ const noop = () => {};
26
+
31
27
  function BoxInputControls(_ref) {
32
28
  let {
33
- onChange = _lodash.noop,
34
- onFocus = _lodash.noop,
35
- onHoverOn = _lodash.noop,
36
- onHoverOff = _lodash.noop,
29
+ onChange = noop,
30
+ onFocus = noop,
31
+ onHoverOn = noop,
32
+ onHoverOff = noop,
37
33
  values,
38
34
  selectedUnits,
39
35
  setSelectedUnits,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/box-control/input-controls.js"],"names":["BoxInputControls","onChange","noop","onFocus","onHoverOn","onHoverOff","values","selectedUnits","setSelectedUnits","sides","props","createHandleOnFocus","side","event","createHandleOnHoverOn","createHandleOnHoverOff","handleOnChange","nextValues","createHandleOnChange","next","altKey","isNumeric","isNaN","parseFloat","nextValue","undefined","bottom","top","right","left","createHandleOnUnitChange","newUnits","filteredSides","length","ALL_SIDES","filter","includes","first","last","only","map","parsedQuantity","parsedUnit","computedUnit","join","LABELS"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport UnitControl from './unit-control';\nimport { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';\nimport { ALL_SIDES, LABELS } from './utils';\nimport { LayoutContainer, Layout } from './styles/box-control-styles';\n\nexport default function BoxInputControls( {\n\tonChange = noop,\n\tonFocus = noop,\n\tonHoverOn = noop,\n\tonHoverOff = noop,\n\tvalues,\n\tselectedUnits,\n\tsetSelectedUnits,\n\tsides,\n\t...props\n} ) {\n\tconst createHandleOnFocus = ( side ) => ( event ) => {\n\t\tonFocus( event, { side } );\n\t};\n\n\tconst createHandleOnHoverOn = ( side ) => () => {\n\t\tonHoverOn( { [ side ]: true } );\n\t};\n\n\tconst createHandleOnHoverOff = ( side ) => () => {\n\t\tonHoverOff( { [ side ]: false } );\n\t};\n\n\tconst handleOnChange = ( nextValues ) => {\n\t\tonChange( nextValues );\n\t};\n\n\tconst createHandleOnChange = ( side ) => ( next, { event } ) => {\n\t\tconst { altKey } = event;\n\t\tconst nextValues = { ...values };\n\t\tconst isNumeric = ! isNaN( parseFloat( next ) );\n\t\tconst nextValue = isNumeric ? next : undefined;\n\n\t\tnextValues[ side ] = nextValue;\n\n\t\t/**\n\t\t * Supports changing pair sides. For example, holding the ALT key\n\t\t * when changing the TOP will also update BOTTOM.\n\t\t */\n\t\tif ( altKey ) {\n\t\t\tswitch ( side ) {\n\t\t\t\tcase 'top':\n\t\t\t\t\tnextValues.bottom = nextValue;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'bottom':\n\t\t\t\t\tnextValues.top = nextValue;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'left':\n\t\t\t\t\tnextValues.right = nextValue;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'right':\n\t\t\t\t\tnextValues.left = nextValue;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\thandleOnChange( nextValues );\n\t};\n\n\tconst createHandleOnUnitChange = ( side ) => ( next ) => {\n\t\tconst newUnits = { ...selectedUnits };\n\t\tnewUnits[ side ] = next;\n\t\tsetSelectedUnits( newUnits );\n\t};\n\n\t// Filter sides if custom configuration provided, maintaining default order.\n\tconst filteredSides = sides?.length\n\t\t? ALL_SIDES.filter( ( side ) => sides.includes( side ) )\n\t\t: ALL_SIDES;\n\n\tconst first = filteredSides[ 0 ];\n\tconst last = filteredSides[ filteredSides.length - 1 ];\n\tconst only = first === last && first;\n\n\treturn (\n\t\t<LayoutContainer className=\"component-box-control__input-controls-wrapper\">\n\t\t\t<Layout\n\t\t\t\tgap={ 0 }\n\t\t\t\talign=\"top\"\n\t\t\t\tclassName=\"component-box-control__input-controls\"\n\t\t\t>\n\t\t\t\t{ filteredSides.map( ( side ) => {\n\t\t\t\t\tconst [\n\t\t\t\t\t\tparsedQuantity,\n\t\t\t\t\t\tparsedUnit,\n\t\t\t\t\t] = parseQuantityAndUnitFromRawValue( values[ side ] );\n\n\t\t\t\t\tconst computedUnit = values[ side ]\n\t\t\t\t\t\t? parsedUnit\n\t\t\t\t\t\t: selectedUnits[ side ];\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tisFirst={ first === side }\n\t\t\t\t\t\t\tisLast={ last === side }\n\t\t\t\t\t\t\tisOnly={ only === side }\n\t\t\t\t\t\t\tvalue={ [ parsedQuantity, computedUnit ].join(\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ createHandleOnChange( side ) }\n\t\t\t\t\t\t\tonUnitChange={ createHandleOnUnitChange( side ) }\n\t\t\t\t\t\t\tonFocus={ createHandleOnFocus( side ) }\n\t\t\t\t\t\t\tonHoverOn={ createHandleOnHoverOn( side ) }\n\t\t\t\t\t\t\tonHoverOff={ createHandleOnHoverOff( side ) }\n\t\t\t\t\t\t\tlabel={ LABELS[ side ] }\n\t\t\t\t\t\t\tkey={ `box-control-${ side }` }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Layout>\n\t\t</LayoutContainer>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/box-control/input-controls.js"],"names":["noop","BoxInputControls","onChange","onFocus","onHoverOn","onHoverOff","values","selectedUnits","setSelectedUnits","sides","props","createHandleOnFocus","side","event","createHandleOnHoverOn","createHandleOnHoverOff","handleOnChange","nextValues","createHandleOnChange","next","altKey","isNumeric","isNaN","parseFloat","nextValue","undefined","bottom","top","right","left","createHandleOnUnitChange","newUnits","filteredSides","length","ALL_SIDES","filter","includes","first","last","only","map","parsedQuantity","parsedUnit","computedUnit","join","LABELS"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport UnitControl from './unit-control';\nimport { parseQuantityAndUnitFromRawValue } from '../unit-control/utils';\nimport { ALL_SIDES, LABELS } from './utils';\nimport { LayoutContainer, Layout } from './styles/box-control-styles';\n\nconst noop = () => {};\n\nexport default function BoxInputControls( {\n\tonChange = noop,\n\tonFocus = noop,\n\tonHoverOn = noop,\n\tonHoverOff = noop,\n\tvalues,\n\tselectedUnits,\n\tsetSelectedUnits,\n\tsides,\n\t...props\n} ) {\n\tconst createHandleOnFocus = ( side ) => ( event ) => {\n\t\tonFocus( event, { side } );\n\t};\n\n\tconst createHandleOnHoverOn = ( side ) => () => {\n\t\tonHoverOn( { [ side ]: true } );\n\t};\n\n\tconst createHandleOnHoverOff = ( side ) => () => {\n\t\tonHoverOff( { [ side ]: false } );\n\t};\n\n\tconst handleOnChange = ( nextValues ) => {\n\t\tonChange( nextValues );\n\t};\n\n\tconst createHandleOnChange =\n\t\t( side ) =>\n\t\t( next, { event } ) => {\n\t\t\tconst { altKey } = event;\n\t\t\tconst nextValues = { ...values };\n\t\t\tconst isNumeric = ! isNaN( parseFloat( next ) );\n\t\t\tconst nextValue = isNumeric ? next : undefined;\n\n\t\t\tnextValues[ side ] = nextValue;\n\n\t\t\t/**\n\t\t\t * Supports changing pair sides. For example, holding the ALT key\n\t\t\t * when changing the TOP will also update BOTTOM.\n\t\t\t */\n\t\t\tif ( altKey ) {\n\t\t\t\tswitch ( side ) {\n\t\t\t\t\tcase 'top':\n\t\t\t\t\t\tnextValues.bottom = nextValue;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bottom':\n\t\t\t\t\t\tnextValues.top = nextValue;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'left':\n\t\t\t\t\t\tnextValues.right = nextValue;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'right':\n\t\t\t\t\t\tnextValues.left = nextValue;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thandleOnChange( nextValues );\n\t\t};\n\n\tconst createHandleOnUnitChange = ( side ) => ( next ) => {\n\t\tconst newUnits = { ...selectedUnits };\n\t\tnewUnits[ side ] = next;\n\t\tsetSelectedUnits( newUnits );\n\t};\n\n\t// Filter sides if custom configuration provided, maintaining default order.\n\tconst filteredSides = sides?.length\n\t\t? ALL_SIDES.filter( ( side ) => sides.includes( side ) )\n\t\t: ALL_SIDES;\n\n\tconst first = filteredSides[ 0 ];\n\tconst last = filteredSides[ filteredSides.length - 1 ];\n\tconst only = first === last && first;\n\n\treturn (\n\t\t<LayoutContainer className=\"component-box-control__input-controls-wrapper\">\n\t\t\t<Layout\n\t\t\t\tgap={ 0 }\n\t\t\t\talign=\"top\"\n\t\t\t\tclassName=\"component-box-control__input-controls\"\n\t\t\t>\n\t\t\t\t{ filteredSides.map( ( side ) => {\n\t\t\t\t\tconst [ parsedQuantity, parsedUnit ] =\n\t\t\t\t\t\tparseQuantityAndUnitFromRawValue( values[ side ] );\n\n\t\t\t\t\tconst computedUnit = values[ side ]\n\t\t\t\t\t\t? parsedUnit\n\t\t\t\t\t\t: selectedUnits[ side ];\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\tisFirst={ first === side }\n\t\t\t\t\t\t\tisLast={ last === side }\n\t\t\t\t\t\t\tisOnly={ only === side }\n\t\t\t\t\t\t\tvalue={ [ parsedQuantity, computedUnit ].join(\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ createHandleOnChange( side ) }\n\t\t\t\t\t\t\tonUnitChange={ createHandleOnUnitChange( side ) }\n\t\t\t\t\t\t\tonFocus={ createHandleOnFocus( side ) }\n\t\t\t\t\t\t\tonHoverOn={ createHandleOnHoverOn( side ) }\n\t\t\t\t\t\t\tonHoverOff={ createHandleOnHoverOff( side ) }\n\t\t\t\t\t\t\tlabel={ LABELS[ side ] }\n\t\t\t\t\t\t\tkey={ `box-control-${ side }` }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Layout>\n\t\t</LayoutContainer>\n\t);\n}\n"]}
@@ -11,8 +11,6 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
14
- var _lodash = require("lodash");
15
-
16
14
  var _react = require("@use-gesture/react");
17
15
 
18
16
  var _tooltip = _interopRequireDefault(require("../tooltip"));
@@ -26,13 +24,15 @@ var _boxControlStyles = require("./styles/box-control-styles");
26
24
  /**
27
25
  * Internal dependencies
28
26
  */
27
+ const noop = () => {};
28
+
29
29
  function BoxUnitControl(_ref) {
30
30
  let {
31
31
  isFirst,
32
32
  isLast,
33
33
  isOnly,
34
- onHoverOn = _lodash.noop,
35
- onHoverOff = _lodash.noop,
34
+ onHoverOn = noop,
35
+ onHoverOff = noop,
36
36
  label,
37
37
  value,
38
38
  ...props
@@ -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,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"]}
1
+ {"version":3,"sources":["@wordpress/components/src/box-control/unit-control.js"],"names":["noop","BoxUnitControl","isFirst","isLast","isOnly","onHoverOn","onHoverOff","label","value","props","bindHoverGesture","event","state","hovering","Tooltip","children","text"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIA,MAAMA,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEe,SAASC,cAAT,OASX;AAAA,MAToC;AACvCC,IAAAA,OADuC;AAEvCC,IAAAA,MAFuC;AAGvCC,IAAAA,MAHuC;AAIvCC,IAAAA,SAAS,GAAGL,IAJ2B;AAKvCM,IAAAA,UAAU,GAAGN,IAL0B;AAMvCO,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;AACrBR,MAAAA,SAAS,CAAEM,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,EAAGL,OAJX;AAKC,IAAA,MAAM,EAAGC,MALV;AAMC,IAAA,MAAM,EAAGC,MANV;AAOC,IAAA,oBAAoB,MAPrB;AAQC,IAAA,wBAAwB,EAAG,KAR5B;AASC,IAAA,KAAK,EAAGI;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 { useHover } from '@use-gesture/react';\n\n/**\n * Internal dependencies\n */\nimport BaseTooltip from '../tooltip';\nimport { UnitControlWrapper, UnitControl } from './styles/box-control-styles';\n\nconst noop = () => {};\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"]}
@@ -85,18 +85,18 @@ function getAllValue() {
85
85
  const allParsedUnits = parsedQuantitiesAndUnits.map(value => value[1]);
86
86
  const commonQuantity = allParsedQuantities.every(v => v === allParsedQuantities[0]) ? allParsedQuantities[0] : '';
87
87
  /**
88
- * The isNumber check is important. On reset actions, the incoming value
88
+ * The typeof === 'number' check is important. On reset actions, the incoming value
89
89
  * may be null or an empty string.
90
90
  *
91
91
  * Also, the value may also be zero (0), which is considered a valid unit value.
92
92
  *
93
- * isNumber() is more specific for these cases, rather than relying on a
93
+ * typeof === 'number' is more specific for these cases, rather than relying on a
94
94
  * simple truthy check.
95
95
  */
96
96
 
97
97
  let commonUnit;
98
98
 
99
- if ((0, _lodash.isNumber)(commonQuantity)) {
99
+ if (typeof commonQuantity === 'number') {
100
100
  commonUnit = mode(allParsedUnits);
101
101
  } else {
102
102
  var _getAllUnitFallback;