@wordpress/components 19.14.0 → 19.15.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 (506) hide show
  1. package/CHANGELOG.md +51 -12
  2. package/build/autocomplete/get-default-use-items.js +5 -1
  3. package/build/autocomplete/get-default-use-items.js.map +1 -1
  4. package/build/autocomplete/index.js +5 -1
  5. package/build/autocomplete/index.js.map +1 -1
  6. package/build/border-control/border-control/hook.js.map +1 -1
  7. package/build/box-control/index.js +1 -1
  8. package/build/box-control/index.js.map +1 -1
  9. package/build/color-picker/hex-input.js +5 -4
  10. package/build/color-picker/hex-input.js.map +1 -1
  11. package/build/color-picker/index.native.js +35 -34
  12. package/build/color-picker/index.native.js.map +1 -1
  13. package/build/color-picker/input-with-slider.js +3 -1
  14. package/build/color-picker/input-with-slider.js.map +1 -1
  15. package/build/color-picker/styles.js +31 -43
  16. package/build/color-picker/styles.js.map +1 -1
  17. package/build/color-picker/use-deprecated-props.js +22 -31
  18. package/build/color-picker/use-deprecated-props.js.map +1 -1
  19. package/build/combobox-control/index.js +14 -6
  20. package/build/combobox-control/index.js.map +1 -1
  21. package/build/combobox-control/styles.js +39 -0
  22. package/build/combobox-control/styles.js.map +1 -0
  23. package/build/dropdown-menu/index.js +5 -5
  24. package/build/dropdown-menu/index.js.map +1 -1
  25. package/build/dropdown-menu/index.native.js +5 -5
  26. package/build/dropdown-menu/index.native.js.map +1 -1
  27. package/build/elevation/hook.js +5 -5
  28. package/build/elevation/hook.js.map +1 -1
  29. package/build/external-link/index.js +1 -3
  30. package/build/external-link/index.js.map +1 -1
  31. package/build/focal-point-picker/grid.js +2 -7
  32. package/build/focal-point-picker/grid.js.map +1 -1
  33. package/build/focal-point-picker/index.native.js +8 -8
  34. package/build/focal-point-picker/index.native.js.map +1 -1
  35. package/build/focal-point-picker/tooltip/index.native.js +11 -12
  36. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  37. package/build/form-token-field/index.js +22 -7
  38. package/build/form-token-field/index.js.map +1 -1
  39. package/build/form-token-field/styles.js +40 -0
  40. package/build/form-token-field/styles.js.map +1 -0
  41. package/build/form-token-field/suggestions-list.js +2 -7
  42. package/build/form-token-field/suggestions-list.js.map +1 -1
  43. package/build/grid/component.js +7 -8
  44. package/build/grid/component.js.map +1 -1
  45. package/build/grid/hook.js +1 -5
  46. package/build/grid/hook.js.map +1 -1
  47. package/build/grid/index.js.map +1 -1
  48. package/build/grid/utils.js +4 -7
  49. package/build/grid/utils.js.map +1 -1
  50. package/build/h-stack/component.js +5 -9
  51. package/build/h-stack/component.js.map +1 -1
  52. package/build/h-stack/hook.js +8 -10
  53. package/build/h-stack/hook.js.map +1 -1
  54. package/build/h-stack/index.js.map +1 -1
  55. package/build/h-stack/utils.js +7 -18
  56. package/build/h-stack/utils.js.map +1 -1
  57. package/build/icon/index.js.map +1 -1
  58. package/build/menu-item/index.js +1 -3
  59. package/build/menu-item/index.js.map +1 -1
  60. package/build/mobile/focal-point-settings-panel/index.native.js +1 -1
  61. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  62. package/build/mobile/image/index.native.js +4 -2
  63. package/build/mobile/image/index.native.js.map +1 -1
  64. package/build/modal/index.js +17 -3
  65. package/build/modal/index.js.map +1 -1
  66. package/build/navigation/index.js +4 -1
  67. package/build/navigation/index.js.map +1 -1
  68. package/build/navigation/item/base.js +3 -0
  69. package/build/navigation/item/base.js.map +1 -1
  70. package/build/popover/index.js +4 -4
  71. package/build/popover/index.js.map +1 -1
  72. package/build/range-control/index.js +54 -40
  73. package/build/range-control/index.js.map +1 -1
  74. package/build/range-control/input-range.js +5 -7
  75. package/build/range-control/input-range.js.map +1 -1
  76. package/build/range-control/mark.js +5 -7
  77. package/build/range-control/mark.js.map +1 -1
  78. package/build/range-control/rail.js +10 -16
  79. package/build/range-control/rail.js.map +1 -1
  80. package/build/range-control/styles/range-control-styles.js +62 -62
  81. package/build/range-control/styles/range-control-styles.js.map +1 -1
  82. package/build/range-control/tooltip.js +5 -7
  83. package/build/range-control/tooltip.js.map +1 -1
  84. package/build/range-control/types.js +6 -0
  85. package/build/range-control/types.js.map +1 -0
  86. package/build/range-control/utils.js +22 -29
  87. package/build/range-control/utils.js.map +1 -1
  88. package/build/resizable-box/resize-tooltip/utils.js +2 -7
  89. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  90. package/build/scrollable/component.js +7 -8
  91. package/build/scrollable/component.js.map +1 -1
  92. package/build/scrollable/hook.js +0 -8
  93. package/build/scrollable/hook.js.map +1 -1
  94. package/build/scrollable/index.js.map +1 -1
  95. package/build/scrollable/styles.js +7 -7
  96. package/build/scrollable/styles.js.map +1 -1
  97. package/build/shortcut/index.js +2 -8
  98. package/build/shortcut/index.js.map +1 -1
  99. package/build/slot-fill/index.native.js +6 -8
  100. package/build/slot-fill/index.native.js.map +1 -1
  101. package/build/slot-fill/provider.js +4 -8
  102. package/build/slot-fill/provider.js.map +1 -1
  103. package/build/slot-fill/slot.js +4 -8
  104. package/build/slot-fill/slot.js.map +1 -1
  105. package/build/spacer/component.js.map +1 -1
  106. package/build/spacer/hook.js +2 -2
  107. package/build/spacer/hook.js.map +1 -1
  108. package/build/spacer/index.js.map +1 -1
  109. package/build/text-highlight/index.js +22 -5
  110. package/build/text-highlight/index.js.map +1 -1
  111. package/build/text-highlight/types.js +6 -0
  112. package/build/text-highlight/types.js.map +1 -0
  113. package/build/tip/index.js +5 -11
  114. package/build/tip/index.js.map +1 -1
  115. package/build/tip/types.js +6 -0
  116. package/build/tip/types.js.map +1 -0
  117. package/build/toolbar-group/index.js +3 -3
  118. package/build/toolbar-group/index.js.map +1 -1
  119. package/build/tree-select/index.js +2 -2
  120. package/build/tree-select/index.js.map +1 -1
  121. package/build/ui/utils/get-valid-children.js.map +1 -1
  122. package/build/visually-hidden/component.js +12 -13
  123. package/build/visually-hidden/component.js.map +1 -1
  124. package/build/visually-hidden/index.js.map +1 -1
  125. package/build/visually-hidden/styles.js +3 -1
  126. package/build/visually-hidden/styles.js.map +1 -1
  127. package/build/visually-hidden/types.js +6 -0
  128. package/build/visually-hidden/types.js.map +1 -0
  129. package/build-module/autocomplete/get-default-use-items.js +3 -2
  130. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  131. package/build-module/autocomplete/index.js +3 -2
  132. package/build-module/autocomplete/index.js.map +1 -1
  133. package/build-module/border-control/border-control/hook.js.map +1 -1
  134. package/build-module/box-control/index.js +1 -1
  135. package/build-module/box-control/index.js.map +1 -1
  136. package/build-module/color-picker/hex-input.js +4 -3
  137. package/build-module/color-picker/hex-input.js.map +1 -1
  138. package/build-module/color-picker/index.native.js +36 -35
  139. package/build-module/color-picker/index.native.js.map +1 -1
  140. package/build-module/color-picker/input-with-slider.js +3 -1
  141. package/build-module/color-picker/input-with-slider.js.map +1 -1
  142. package/build-module/color-picker/styles.js +23 -40
  143. package/build-module/color-picker/styles.js.map +1 -1
  144. package/build-module/color-picker/use-deprecated-props.js +22 -31
  145. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  146. package/build-module/combobox-control/index.js +14 -7
  147. package/build-module/combobox-control/index.js.map +1 -1
  148. package/build-module/combobox-control/styles.js +27 -0
  149. package/build-module/combobox-control/styles.js.map +1 -0
  150. package/build-module/dropdown-menu/index.js +5 -4
  151. package/build-module/dropdown-menu/index.js.map +1 -1
  152. package/build-module/dropdown-menu/index.native.js +5 -4
  153. package/build-module/dropdown-menu/index.native.js.map +1 -1
  154. package/build-module/elevation/hook.js +5 -5
  155. package/build-module/elevation/hook.js.map +1 -1
  156. package/build-module/external-link/index.js +1 -2
  157. package/build-module/external-link/index.js.map +1 -1
  158. package/build-module/focal-point-picker/grid.js +2 -6
  159. package/build-module/focal-point-picker/grid.js.map +1 -1
  160. package/build-module/focal-point-picker/index.native.js +8 -8
  161. package/build-module/focal-point-picker/index.native.js.map +1 -1
  162. package/build-module/focal-point-picker/tooltip/index.native.js +11 -12
  163. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  164. package/build-module/form-token-field/index.js +20 -6
  165. package/build-module/form-token-field/index.js.map +1 -1
  166. package/build-module/form-token-field/styles.js +28 -0
  167. package/build-module/form-token-field/styles.js.map +1 -0
  168. package/build-module/form-token-field/suggestions-list.js +2 -7
  169. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  170. package/build-module/grid/component.js +7 -8
  171. package/build-module/grid/component.js.map +1 -1
  172. package/build-module/grid/hook.js +1 -5
  173. package/build-module/grid/hook.js.map +1 -1
  174. package/build-module/grid/index.js.map +1 -1
  175. package/build-module/grid/utils.js +3 -8
  176. package/build-module/grid/utils.js.map +1 -1
  177. package/build-module/h-stack/component.js +3 -7
  178. package/build-module/h-stack/component.js.map +1 -1
  179. package/build-module/h-stack/hook.js +10 -12
  180. package/build-module/h-stack/hook.js.map +1 -1
  181. package/build-module/h-stack/index.js.map +1 -1
  182. package/build-module/h-stack/utils.js +7 -19
  183. package/build-module/h-stack/utils.js.map +1 -1
  184. package/build-module/icon/index.js.map +1 -1
  185. package/build-module/menu-item/index.js +1 -2
  186. package/build-module/menu-item/index.js.map +1 -1
  187. package/build-module/mobile/focal-point-settings-panel/index.native.js +2 -2
  188. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  189. package/build-module/mobile/image/index.native.js +3 -2
  190. package/build-module/mobile/image/index.native.js.map +1 -1
  191. package/build-module/modal/index.js +19 -5
  192. package/build-module/modal/index.js.map +1 -1
  193. package/build-module/navigation/index.js +4 -1
  194. package/build-module/navigation/index.js.map +1 -1
  195. package/build-module/navigation/item/base.js +3 -0
  196. package/build-module/navigation/item/base.js.map +1 -1
  197. package/build-module/popover/index.js +4 -4
  198. package/build-module/popover/index.js.map +1 -1
  199. package/build-module/range-control/index.js +54 -40
  200. package/build-module/range-control/index.js.map +1 -1
  201. package/build-module/range-control/input-range.js +5 -6
  202. package/build-module/range-control/input-range.js.map +1 -1
  203. package/build-module/range-control/mark.js +5 -6
  204. package/build-module/range-control/mark.js.map +1 -1
  205. package/build-module/range-control/rail.js +10 -15
  206. package/build-module/range-control/rail.js.map +1 -1
  207. package/build-module/range-control/styles/range-control-styles.js +62 -64
  208. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  209. package/build-module/range-control/tooltip.js +5 -6
  210. package/build-module/range-control/tooltip.js.map +1 -1
  211. package/build-module/range-control/types.js +2 -0
  212. package/build-module/range-control/types.js.map +1 -0
  213. package/build-module/range-control/utils.js +22 -29
  214. package/build-module/range-control/utils.js.map +1 -1
  215. package/build-module/resizable-box/resize-tooltip/utils.js +2 -6
  216. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  217. package/build-module/scrollable/component.js +7 -8
  218. package/build-module/scrollable/component.js.map +1 -1
  219. package/build-module/scrollable/hook.js +0 -8
  220. package/build-module/scrollable/hook.js.map +1 -1
  221. package/build-module/scrollable/index.js.map +1 -1
  222. package/build-module/scrollable/styles.js +7 -7
  223. package/build-module/scrollable/styles.js.map +1 -1
  224. package/build-module/shortcut/index.js +2 -7
  225. package/build-module/shortcut/index.js.map +1 -1
  226. package/build-module/slot-fill/index.native.js +6 -7
  227. package/build-module/slot-fill/index.native.js.map +1 -1
  228. package/build-module/slot-fill/provider.js +4 -7
  229. package/build-module/slot-fill/provider.js.map +1 -1
  230. package/build-module/slot-fill/slot.js +4 -7
  231. package/build-module/slot-fill/slot.js.map +1 -1
  232. package/build-module/spacer/component.js.map +1 -1
  233. package/build-module/spacer/hook.js +2 -2
  234. package/build-module/spacer/hook.js.map +1 -1
  235. package/build-module/spacer/index.js.map +1 -1
  236. package/build-module/text-highlight/index.js +23 -6
  237. package/build-module/text-highlight/index.js.map +1 -1
  238. package/build-module/text-highlight/types.js +2 -0
  239. package/build-module/text-highlight/types.js.map +1 -0
  240. package/build-module/tip/index.js +6 -10
  241. package/build-module/tip/index.js.map +1 -1
  242. package/build-module/tip/types.js +2 -0
  243. package/build-module/tip/types.js.map +1 -0
  244. package/build-module/toolbar-group/index.js +3 -2
  245. package/build-module/toolbar-group/index.js.map +1 -1
  246. package/build-module/tree-select/index.js +3 -3
  247. package/build-module/tree-select/index.js.map +1 -1
  248. package/build-module/ui/utils/get-valid-children.js.map +1 -1
  249. package/build-module/visually-hidden/component.js +12 -13
  250. package/build-module/visually-hidden/component.js.map +1 -1
  251. package/build-module/visually-hidden/index.js.map +1 -1
  252. package/build-module/visually-hidden/styles.js +3 -1
  253. package/build-module/visually-hidden/styles.js.map +1 -1
  254. package/build-module/visually-hidden/types.js +2 -0
  255. package/build-module/visually-hidden/types.js.map +1 -0
  256. package/build-style/style-rtl.css +13 -19
  257. package/build-style/style.css +13 -19
  258. package/build-types/border-control/border-control/hook.d.ts +1 -1
  259. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  260. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  261. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  262. package/build-types/color-picker/styles.d.ts +30 -31
  263. package/build-types/color-picker/styles.d.ts.map +1 -1
  264. package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -1
  265. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  266. package/build-types/external-link/index.d.ts.map +1 -1
  267. package/build-types/form-token-field/index.d.ts.map +1 -1
  268. package/build-types/form-token-field/styles.d.ts +14 -0
  269. package/build-types/form-token-field/styles.d.ts.map +1 -0
  270. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
  271. package/build-types/form-token-field/types.d.ts +7 -0
  272. package/build-types/form-token-field/types.d.ts.map +1 -1
  273. package/build-types/grid/component.d.ts +3 -3
  274. package/build-types/grid/component.d.ts.map +1 -1
  275. package/build-types/grid/hook.d.ts +5 -2
  276. package/build-types/grid/hook.d.ts.map +1 -1
  277. package/build-types/grid/index.d.ts +2 -2
  278. package/build-types/grid/index.d.ts.map +1 -1
  279. package/build-types/grid/stories/index.d.ts +9 -0
  280. package/build-types/grid/stories/index.d.ts.map +1 -0
  281. package/build-types/grid/test/grid.d.ts +2 -0
  282. package/build-types/grid/test/grid.d.ts.map +1 -0
  283. package/build-types/grid/types.d.ts +16 -15
  284. package/build-types/grid/types.d.ts.map +1 -1
  285. package/build-types/grid/utils.d.ts +50 -69
  286. package/build-types/grid/utils.d.ts.map +1 -1
  287. package/build-types/h-stack/component.d.ts +3 -2
  288. package/build-types/h-stack/component.d.ts.map +1 -1
  289. package/build-types/h-stack/hook.d.ts +5 -3
  290. package/build-types/h-stack/hook.d.ts.map +1 -1
  291. package/build-types/h-stack/index.d.ts +2 -2
  292. package/build-types/h-stack/index.d.ts.map +1 -1
  293. package/build-types/h-stack/stories/index.d.ts +9 -0
  294. package/build-types/h-stack/stories/index.d.ts.map +1 -0
  295. package/build-types/h-stack/test/index.d.ts +2 -0
  296. package/build-types/h-stack/test/index.d.ts.map +1 -0
  297. package/build-types/h-stack/utils.d.ts +8 -4
  298. package/build-types/h-stack/utils.d.ts.map +1 -1
  299. package/build-types/icon/index.d.ts +1 -1
  300. package/build-types/icon/index.d.ts.map +1 -1
  301. package/build-types/menu-item/index.d.ts.map +1 -1
  302. package/build-types/popover/index.d.ts.map +1 -1
  303. package/build-types/range-control/index.d.ts +54 -29
  304. package/build-types/range-control/index.d.ts.map +1 -1
  305. package/build-types/range-control/input-range.d.ts +7 -10
  306. package/build-types/range-control/input-range.d.ts.map +1 -1
  307. package/build-types/range-control/mark.d.ts +4 -7
  308. package/build-types/range-control/mark.d.ts.map +1 -1
  309. package/build-types/range-control/rail.d.ts +4 -9
  310. package/build-types/range-control/rail.d.ts.map +1 -1
  311. package/build-types/range-control/stories/index.d.ts +48 -0
  312. package/build-types/range-control/stories/index.d.ts.map +1 -0
  313. package/build-types/range-control/styles/range-control-styles.d.ts +32 -40
  314. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  315. package/build-types/range-control/test/index.d.ts +2 -0
  316. package/build-types/range-control/test/index.d.ts.map +1 -0
  317. package/build-types/range-control/tooltip.d.ts +4 -11
  318. package/build-types/range-control/tooltip.d.ts.map +1 -1
  319. package/build-types/range-control/types.d.ts +302 -0
  320. package/build-types/range-control/types.d.ts.map +1 -0
  321. package/build-types/range-control/utils.d.ts +15 -33
  322. package/build-types/range-control/utils.d.ts.map +1 -1
  323. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  324. package/build-types/scrollable/component.d.ts +3 -3
  325. package/build-types/scrollable/component.d.ts.map +1 -1
  326. package/build-types/scrollable/hook.d.ts +5 -2
  327. package/build-types/scrollable/hook.d.ts.map +1 -1
  328. package/build-types/scrollable/index.d.ts +2 -2
  329. package/build-types/scrollable/index.d.ts.map +1 -1
  330. package/build-types/scrollable/stories/index.d.ts +9 -0
  331. package/build-types/scrollable/stories/index.d.ts.map +1 -0
  332. package/build-types/scrollable/styles.d.ts +7 -7
  333. package/build-types/scrollable/styles.d.ts.map +1 -1
  334. package/build-types/scrollable/test/index.d.ts +2 -0
  335. package/build-types/scrollable/test/index.d.ts.map +1 -0
  336. package/build-types/scrollable/types.d.ts +9 -6
  337. package/build-types/scrollable/types.d.ts.map +1 -1
  338. package/build-types/shortcut/index.d.ts.map +1 -1
  339. package/build-types/slot-fill/provider.d.ts.map +1 -1
  340. package/build-types/slot-fill/slot.d.ts.map +1 -1
  341. package/build-types/spacer/component.d.ts +2 -2
  342. package/build-types/spacer/component.d.ts.map +1 -1
  343. package/build-types/spacer/hook.d.ts +2 -2
  344. package/build-types/spacer/hook.d.ts.map +1 -1
  345. package/build-types/spacer/index.d.ts +1 -1
  346. package/build-types/spacer/index.d.ts.map +1 -1
  347. package/build-types/spacer/test/index.d.ts +2 -0
  348. package/build-types/spacer/test/index.d.ts.map +1 -0
  349. package/build-types/spacer/types.d.ts +41 -29
  350. package/build-types/spacer/types.d.ts.map +1 -1
  351. package/build-types/text-highlight/index.d.ts +23 -0
  352. package/build-types/text-highlight/index.d.ts.map +1 -0
  353. package/build-types/text-highlight/stories/index.d.ts +12 -0
  354. package/build-types/text-highlight/stories/index.d.ts.map +1 -0
  355. package/build-types/text-highlight/test/index.d.ts +2 -0
  356. package/build-types/text-highlight/test/index.d.ts.map +1 -0
  357. package/build-types/text-highlight/types.d.ts +17 -0
  358. package/build-types/text-highlight/types.d.ts.map +1 -0
  359. package/build-types/tip/index.d.ts +5 -14
  360. package/build-types/tip/index.d.ts.map +1 -1
  361. package/build-types/tip/stories/index.d.ts +12 -0
  362. package/build-types/tip/stories/index.d.ts.map +1 -0
  363. package/build-types/tip/types.d.ts +11 -0
  364. package/build-types/tip/types.d.ts.map +1 -0
  365. package/build-types/ui/form-group/form-group.d.ts +1 -1
  366. package/build-types/ui/form-group/types.d.ts +1 -1
  367. package/build-types/ui/form-group/types.d.ts.map +1 -1
  368. package/build-types/ui/form-group/use-form-group.d.ts +3 -3
  369. package/build-types/ui/utils/get-valid-children.d.ts +2 -2
  370. package/build-types/ui/utils/get-valid-children.d.ts.map +1 -1
  371. package/build-types/visually-hidden/component.d.ts +8 -10
  372. package/build-types/visually-hidden/component.d.ts.map +1 -1
  373. package/build-types/visually-hidden/index.d.ts +1 -1
  374. package/build-types/visually-hidden/index.d.ts.map +1 -1
  375. package/build-types/visually-hidden/stories/index.d.ts +14 -0
  376. package/build-types/visually-hidden/stories/index.d.ts.map +1 -0
  377. package/build-types/visually-hidden/styles.d.ts +5 -2
  378. package/build-types/visually-hidden/styles.d.ts.map +1 -1
  379. package/build-types/visually-hidden/test/index.d.ts +2 -0
  380. package/build-types/visually-hidden/test/index.d.ts.map +1 -0
  381. package/build-types/visually-hidden/types.d.ts +11 -0
  382. package/build-types/visually-hidden/types.d.ts.map +1 -0
  383. package/package.json +17 -17
  384. package/src/autocomplete/get-default-use-items.js +3 -2
  385. package/src/autocomplete/index.js +3 -2
  386. package/src/border-control/border-control/hook.ts +1 -1
  387. package/src/box-control/index.js +1 -1
  388. package/src/button/README.md +1 -1
  389. package/src/color-picker/hex-input.tsx +3 -2
  390. package/src/color-picker/index.native.js +20 -27
  391. package/src/color-picker/input-with-slider.tsx +2 -0
  392. package/src/color-picker/styles.ts +0 -5
  393. package/src/color-picker/use-deprecated-props.ts +24 -43
  394. package/src/combobox-control/index.js +15 -7
  395. package/src/combobox-control/stories/index.js +3 -2
  396. package/src/combobox-control/style.scss +1 -1
  397. package/src/combobox-control/styles.ts +27 -0
  398. package/src/dropdown-menu/index.js +3 -4
  399. package/src/dropdown-menu/index.native.js +3 -5
  400. package/src/elevation/hook.js +3 -3
  401. package/src/external-link/index.tsx +10 -4
  402. package/src/focal-point-picker/grid.js +2 -5
  403. package/src/focal-point-picker/index.native.js +8 -8
  404. package/src/focal-point-picker/tooltip/index.native.js +10 -11
  405. package/src/form-token-field/index.tsx +45 -24
  406. package/src/form-token-field/style.scss +2 -7
  407. package/src/form-token-field/styles.ts +32 -0
  408. package/src/form-token-field/suggestions-list.tsx +2 -4
  409. package/src/form-token-field/types.ts +7 -0
  410. package/src/grid/README.md +33 -19
  411. package/src/grid/{component.js → component.tsx} +13 -9
  412. package/src/grid/{hook.js → hook.ts} +5 -5
  413. package/src/grid/{index.js → index.ts} +0 -0
  414. package/src/grid/stories/index.tsx +72 -0
  415. package/src/grid/test/{grid.js → grid.tsx} +4 -4
  416. package/src/grid/types.ts +16 -17
  417. package/src/grid/{utils.js → utils.ts} +9 -7
  418. package/src/guide/style.scss +1 -0
  419. package/src/h-stack/{component.js → component.tsx} +8 -8
  420. package/src/h-stack/{hook.js → hook.tsx} +21 -16
  421. package/src/h-stack/{index.js → index.ts} +0 -0
  422. package/src/h-stack/stories/index.tsx +92 -0
  423. package/src/h-stack/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  424. package/src/h-stack/test/{index.js → index.tsx} +0 -0
  425. package/src/h-stack/{utils.js → utils.ts} +14 -14
  426. package/src/higher-order/navigate-regions/README.md +4 -1
  427. package/src/icon/index.tsx +1 -1
  428. package/src/menu-item/index.js +1 -2
  429. package/src/mobile/focal-point-settings-panel/index.native.js +2 -2
  430. package/src/mobile/image/index.native.js +3 -2
  431. package/src/modal/index.js +21 -2
  432. package/src/modal/stories/index.js +17 -1
  433. package/src/modal/style.scss +9 -18
  434. package/src/navigation/index.js +3 -0
  435. package/src/navigation/item/base.js +2 -1
  436. package/src/popover/README.md +2 -2
  437. package/src/popover/index.js +7 -4
  438. package/src/range-control/README.md +107 -79
  439. package/src/range-control/{index.js → index.tsx} +78 -48
  440. package/src/range-control/{input-range.js → input-range.tsx} +11 -7
  441. package/src/range-control/{mark.js → mark.tsx} +15 -9
  442. package/src/range-control/{rail.js → rail.tsx} +40 -23
  443. package/src/range-control/stories/index.tsx +244 -0
  444. package/src/range-control/styles/{range-control-styles.js → range-control-styles.ts} +28 -24
  445. package/src/range-control/test/index.tsx +311 -0
  446. package/src/range-control/{tooltip.js → tooltip.tsx} +19 -14
  447. package/src/range-control/types.ts +326 -0
  448. package/src/range-control/utils.ts +132 -0
  449. package/src/resizable-box/resize-tooltip/utils.ts +2 -3
  450. package/src/scrollable/README.md +14 -8
  451. package/src/scrollable/{component.js → component.tsx} +13 -10
  452. package/src/scrollable/{hook.js → hook.ts} +5 -7
  453. package/src/scrollable/{index.js → index.ts} +0 -0
  454. package/src/scrollable/stories/{index.js → index.tsx} +29 -34
  455. package/src/scrollable/{styles.js → styles.ts} +0 -0
  456. package/src/scrollable/test/__snapshots__/{index.js.snap → index.tsx.snap} +1 -0
  457. package/src/scrollable/test/index.tsx +34 -0
  458. package/src/scrollable/types.ts +10 -5
  459. package/src/select-control/test/select-control.tsx +22 -15
  460. package/src/shortcut/index.js +2 -7
  461. package/src/slot-fill/index.native.js +2 -7
  462. package/src/slot-fill/provider.js +3 -7
  463. package/src/slot-fill/slot.js +21 -24
  464. package/src/spacer/README.md +43 -37
  465. package/src/spacer/component.tsx +2 -2
  466. package/src/spacer/hook.ts +4 -2
  467. package/src/spacer/index.ts +1 -1
  468. package/src/spacer/test/__snapshots__/{index.js.snap → index.tsx.snap} +1 -0
  469. package/src/spacer/test/index.tsx +149 -0
  470. package/src/spacer/types.ts +41 -29
  471. package/src/tab-panel/README.md +1 -1
  472. package/src/text-highlight/README.md +6 -6
  473. package/src/text-highlight/index.tsx +49 -0
  474. package/src/text-highlight/stories/index.tsx +33 -0
  475. package/src/text-highlight/test/index.tsx +93 -0
  476. package/src/text-highlight/types.ts +16 -0
  477. package/src/tip/index.tsx +22 -0
  478. package/src/tip/stories/index.tsx +33 -0
  479. package/src/tip/types.ts +11 -0
  480. package/src/toolbar-group/index.js +1 -2
  481. package/src/tree-select/index.tsx +3 -3
  482. package/src/ui/form-group/types.ts +1 -1
  483. package/src/ui/utils/get-valid-children.ts +4 -2
  484. package/src/visually-hidden/{component.js → component.tsx} +23 -15
  485. package/src/visually-hidden/{index.js → index.ts} +0 -0
  486. package/src/visually-hidden/stories/index.tsx +66 -0
  487. package/src/visually-hidden/{styles.js → styles.ts} +6 -2
  488. package/src/visually-hidden/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  489. package/src/visually-hidden/test/index.tsx +17 -0
  490. package/src/visually-hidden/types.ts +11 -0
  491. package/tsconfig.json +1 -0
  492. package/tsconfig.tsbuildinfo +1 -1
  493. package/src/grid/stories/index.js +0 -49
  494. package/src/h-stack/stories/index.js +0 -22
  495. package/src/range-control/stories/index.js +0 -180
  496. package/src/range-control/test/index.js +0 -320
  497. package/src/range-control/utils.js +0 -131
  498. package/src/scrollable/test/index.js +0 -31
  499. package/src/spacer/test/index.js +0 -146
  500. package/src/text-highlight/index.js +0 -28
  501. package/src/text-highlight/stories/index.js +0 -28
  502. package/src/text-highlight/test/index.js +0 -120
  503. package/src/tip/index.js +0 -24
  504. package/src/tip/stories/index.js +0 -26
  505. package/src/visually-hidden/stories/index.js +0 -42
  506. package/src/visually-hidden/test/index.js +0 -19
@@ -1,49 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { number } from '@storybook/addon-knobs';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import { View } from '../../view';
10
- import { Grid } from '..';
11
-
12
- export default {
13
- component: Grid,
14
- title: 'Components (Experimental)/Grid',
15
- parameters: {
16
- knobs: { disable: false },
17
- },
18
- };
19
-
20
- const Item = ( props ) => (
21
- <View
22
- style={ {
23
- borderRadius: 8,
24
- background: '#eee',
25
- padding: 8,
26
- textAlign: 'center',
27
- } }
28
- { ...props }
29
- />
30
- );
31
-
32
- export const _default = () => {
33
- const props = {
34
- columns: number( 'columns', 4 ),
35
- gap: number( 'gap', 2 ),
36
- };
37
- return (
38
- <Grid alignment="bottom" { ...props }>
39
- <Item>One</Item>
40
- <Item>Two</Item>
41
- <Item>Three</Item>
42
- <Item>Four</Item>
43
- <Item>Five</Item>
44
- <Item>Six</Item>
45
- <Item>Seven</Item>
46
- <Item>Eight</Item>
47
- </Grid>
48
- );
49
- };
@@ -1,22 +0,0 @@
1
- /**
2
- * Internal dependencies
3
- */
4
- import { View } from '../../view';
5
- import { HStack } from '..';
6
-
7
- export default {
8
- component: HStack,
9
- title: 'Components (Experimental)/HStack',
10
- };
11
-
12
- export const _default = () => {
13
- return (
14
- <HStack spacing={ 3 }>
15
- <View>One</View>
16
- <View>Two</View>
17
- <View>Three</View>
18
- <View>Four</View>
19
- <View>Five</View>
20
- </HStack>
21
- );
22
- };
@@ -1,180 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useState } from '@wordpress/element';
5
- import { styles, wordpress } from '@wordpress/icons';
6
-
7
- /**
8
- * Internal dependencies
9
- */
10
- import RangeControl from '../index';
11
-
12
- const ICONS = { styles, wordpress };
13
-
14
- export default {
15
- title: 'Components/RangeControl',
16
- component: RangeControl,
17
- argTypes: {
18
- afterIcon: {
19
- control: { type: 'select' },
20
- options: Object.keys( ICONS ),
21
- mapping: ICONS,
22
- },
23
- allowReset: { control: { type: 'boolean' } },
24
- beforeIcon: {
25
- control: { type: 'select' },
26
- options: Object.keys( ICONS ),
27
- mapping: ICONS,
28
- },
29
- color: { control: { type: 'color' } },
30
- disabled: { control: { type: 'boolean' } },
31
- help: { control: { type: 'text' } },
32
- initialPosition: { control: { type: 'number' } },
33
- marks: { control: { type: 'object' } },
34
- min: { control: { type: 'number' } },
35
- max: { control: { type: 'number' } },
36
- railColor: { control: { type: 'color' } },
37
- showTooltip: { control: { type: 'boolean' } },
38
- step: { control: { type: 'number' } },
39
- trackColor: { control: { type: 'color' } },
40
- withInputField: { control: { type: 'boolean' } },
41
- },
42
- parameters: {
43
- docs: { source: { state: 'open' } },
44
- },
45
- };
46
-
47
- const RangeControlWithState = ( props ) => {
48
- const [ value, setValue ] = useState();
49
-
50
- return <RangeControl { ...props } value={ value } onChange={ setValue } />;
51
- };
52
-
53
- export const Default = RangeControlWithState.bind( {} );
54
- Default.args = {
55
- label: 'Range label',
56
- };
57
-
58
- /**
59
- * The `initialPosition` prop sets the starting position of the slider when no `value` is provided.
60
- */
61
- export const InitialValueZero = RangeControlWithState.bind( {} );
62
- InitialValueZero.args = {
63
- ...Default.args,
64
- initialPosition: 0,
65
- max: 20,
66
- };
67
-
68
- /**
69
- * Setting the `step` prop to `"any"` will allow users to select non-integer values.
70
- * This also overrides both `withInputField` and `showTooltip` props to `false`.
71
- */
72
- export const WithAnyStep = ( props ) => {
73
- const [ value, setValue ] = useState( 1.2345 );
74
-
75
- return (
76
- <>
77
- <RangeControl value={ value } onChange={ setValue } { ...props } />
78
- <p>Current value: { value }</p>
79
- </>
80
- );
81
- };
82
- WithAnyStep.args = {
83
- label: 'Brightness',
84
- step: 'any',
85
- };
86
-
87
- export const WithHelp = RangeControlWithState.bind( {} );
88
- WithHelp.args = {
89
- ...Default.args,
90
- label: 'How many columns should this use?',
91
- help: 'Please select the number of columns you would like this to contain.',
92
- };
93
-
94
- /**
95
- * Set `min` and `max` values to constrain the range of allowed values.
96
- */
97
- export const WithMinimumAndMaximumLimits = RangeControlWithState.bind( {} );
98
- WithMinimumAndMaximumLimits.args = {
99
- ...Default.args,
100
- min: 2,
101
- max: 10,
102
- };
103
-
104
- export const WithIconBefore = RangeControlWithState.bind( {} );
105
- WithIconBefore.args = {
106
- ...Default.args,
107
- beforeIcon: wordpress,
108
- };
109
-
110
- export const WithIconAfter = RangeControlWithState.bind( {} );
111
- WithIconAfter.args = {
112
- ...Default.args,
113
- afterIcon: wordpress,
114
- };
115
-
116
- export const WithReset = RangeControlWithState.bind( {} );
117
- WithReset.args = {
118
- ...Default.args,
119
- allowReset: true,
120
- };
121
-
122
- /**
123
- * Use `marks` to render a visual representation of `step` ticks. Custom mark indicators can be provided by an `Array`.
124
- */
125
- export const WithMarks = ( props ) => {
126
- const marksBase = [
127
- { value: 0, label: '0' },
128
- { value: 1, label: '1' },
129
- { value: 2, label: '2' },
130
- { value: 8, label: '8' },
131
- { value: 10, label: '10' },
132
- ];
133
- const marksWithDecimal = [
134
- ...marksBase,
135
- { value: 3.5, label: '3.5' },
136
- { value: 5.8, label: '5.8' },
137
- ];
138
- const marksWithNegatives = [
139
- ...marksBase,
140
- { value: -1, label: '-1' },
141
- { value: -2, label: '-2' },
142
- { value: -4, label: '-4' },
143
- { value: -8, label: '-8' },
144
- ];
145
- const stepInteger = { min: 0, max: 10, step: 1 };
146
- const stepDecimal = { min: 0, max: 10, step: 0.1 };
147
- const minNegative = { min: -10, max: 10, step: 1 };
148
- const rangeNegative = { min: -10, max: -1, step: 1 };
149
-
150
- const Range = ( localProps ) => {
151
- const label = Array.isArray( localProps.marks )
152
- ? 'Custom'
153
- : 'Automatic';
154
- return <RangeControl { ...{ ...localProps, ...props, label } } />;
155
- };
156
-
157
- return (
158
- <>
159
- <h2>Integer Step</h2>
160
- <Range marks { ...stepInteger } />
161
- <Range marks={ marksBase } { ...stepInteger } />
162
-
163
- <h2>Decimal Step</h2>
164
- <Range marks { ...stepDecimal } />
165
- <Range marks={ marksWithDecimal } { ...stepDecimal } />
166
-
167
- <h2>Negative Minimum</h2>
168
- <Range marks { ...minNegative } />
169
- <Range marks={ marksWithNegatives } { ...minNegative } />
170
-
171
- <h2>Negative Range</h2>
172
- <Range marks { ...rangeNegative } />
173
- <Range marks={ marksWithNegatives } { ...rangeNegative } />
174
-
175
- <h2>Any Step</h2>
176
- <Range marks { ...{ ...stepInteger, step: 'any' } } />
177
- <Range marks={ marksBase } { ...{ ...stepInteger, step: 'any' } } />
178
- </>
179
- );
180
- };
@@ -1,320 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { fireEvent, render } from '@testing-library/react';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import RangeControl from '../';
10
-
11
- const getRangeInput = ( container ) =>
12
- container.querySelector( 'input[type="range"]' );
13
- const getNumberInput = ( container ) =>
14
- container.querySelector( 'input[type="number"]' );
15
- const getResetButton = ( container ) =>
16
- container.querySelector( '.components-range-control__reset' );
17
-
18
- describe( 'RangeControl', () => {
19
- describe( '#render()', () => {
20
- it( 'should trigger change callback with numeric value', () => {
21
- const onChange = jest.fn();
22
-
23
- const { container } = render(
24
- <RangeControl onChange={ onChange } />
25
- );
26
-
27
- const rangeInput = getRangeInput( container );
28
- const numberInput = getNumberInput( container );
29
-
30
- rangeInput.focus();
31
- fireEvent.change( rangeInput, { target: { value: '5' } } );
32
-
33
- numberInput.focus();
34
- fireEvent.change( numberInput, { target: { value: '10' } } );
35
-
36
- expect( onChange ).toHaveBeenCalledWith( 5 );
37
- expect( onChange ).toHaveBeenCalledWith( 10 );
38
- } );
39
-
40
- it( 'should render with icons', () => {
41
- const { container } = render(
42
- <RangeControl
43
- beforeIcon="format-image"
44
- afterIcon="format-video"
45
- />
46
- );
47
-
48
- const beforeIcon = container.querySelector(
49
- '.dashicons-format-image'
50
- );
51
- const afterIcon = container.querySelector(
52
- '.dashicons-format-image'
53
- );
54
-
55
- expect( beforeIcon ).toBeTruthy();
56
- expect( afterIcon ).toBeTruthy();
57
- } );
58
- } );
59
-
60
- describe( 'validation', () => {
61
- it( 'should not apply if new value is lower than minimum', () => {
62
- const { container } = render( <RangeControl min={ 11 } /> );
63
-
64
- const rangeInput = getRangeInput( container );
65
- const numberInput = getNumberInput( container );
66
-
67
- fireEvent.change( numberInput, { target: { value: '10' } } );
68
- fireEvent.blur( numberInput );
69
-
70
- expect( rangeInput.value ).not.toBe( '10' );
71
- } );
72
-
73
- it( 'should not apply if new value is greater than maximum', () => {
74
- const { container } = render( <RangeControl max={ 20 } /> );
75
-
76
- const rangeInput = getRangeInput( container );
77
- const numberInput = getNumberInput( container );
78
-
79
- fireEvent.change( numberInput, { target: { value: '21' } } );
80
- fireEvent.blur( numberInput );
81
-
82
- expect( rangeInput.value ).not.toBe( '21' );
83
- } );
84
-
85
- it( 'should not call onChange if new value is invalid', () => {
86
- const onChange = jest.fn();
87
- const { container } = render(
88
- <RangeControl onChange={ onChange } min={ 10 } max={ 20 } />
89
- );
90
-
91
- const numberInput = getNumberInput( container );
92
-
93
- numberInput.focus();
94
- fireEvent.change( numberInput, { target: { value: '25e' } } );
95
-
96
- expect( onChange ).not.toHaveBeenCalled();
97
- } );
98
-
99
- it( 'should keep invalid values in number input until loss of focus', () => {
100
- const onChange = jest.fn();
101
- const { container } = render(
102
- <RangeControl onChange={ onChange } min={ -1 } max={ 1 } />
103
- );
104
-
105
- const rangeInput = getRangeInput( container );
106
- const numberInput = getNumberInput( container );
107
-
108
- numberInput.focus();
109
- fireEvent.change( numberInput, { target: { value: '-1.1' } } );
110
-
111
- expect( numberInput.value ).toBe( '-1.1' );
112
- expect( rangeInput.value ).toBe( '-1' );
113
-
114
- fireEvent.blur( numberInput );
115
- expect( onChange ).toHaveBeenCalledWith( -1 );
116
- expect( numberInput.value ).toBe( '-1' );
117
- } );
118
-
119
- it( 'should validate when provided a max or min of zero', () => {
120
- const { container } = render(
121
- <RangeControl min={ -100 } max={ 0 } />
122
- );
123
-
124
- const rangeInput = getRangeInput( container );
125
- const numberInput = getNumberInput( container );
126
-
127
- numberInput.focus();
128
- fireEvent.change( numberInput, { target: { value: '1' } } );
129
- fireEvent.blur( numberInput );
130
-
131
- expect( rangeInput.value ).toBe( '0' );
132
- } );
133
-
134
- it( 'should validate when min and max are negative', () => {
135
- const { container } = render(
136
- <RangeControl min={ -100 } max={ -50 } />
137
- );
138
-
139
- const rangeInput = getRangeInput( container );
140
- const numberInput = getNumberInput( container );
141
-
142
- numberInput.focus();
143
-
144
- fireEvent.change( numberInput, { target: { value: '-101' } } );
145
- expect( rangeInput.value ).toBe( '-100' );
146
-
147
- fireEvent.change( numberInput, { target: { value: '-49' } } );
148
- expect( rangeInput.value ).toBe( '-50' );
149
-
150
- fireEvent.change( numberInput, { target: { value: '-50' } } );
151
- expect( rangeInput.value ).toBe( '-50' );
152
- } );
153
-
154
- it( 'should take into account the step starting from min', () => {
155
- const onChange = jest.fn();
156
- const { container } = render(
157
- <RangeControl
158
- onChange={ onChange }
159
- min={ 0.1 }
160
- step={ 0.125 }
161
- />
162
- );
163
-
164
- const rangeInput = getRangeInput( container );
165
- const numberInput = getNumberInput( container );
166
-
167
- numberInput.focus();
168
- fireEvent.change( numberInput, { target: { value: '0.125' } } );
169
-
170
- expect( onChange ).toHaveBeenCalledWith( 0.125 );
171
- expect( rangeInput.value ).toBe( '0.125' );
172
-
173
- fireEvent.change( numberInput, { target: { value: '0.225' } } );
174
-
175
- expect( onChange ).toHaveBeenCalledWith( 0.225 );
176
- expect( rangeInput.value ).toBe( '0.225' );
177
- } );
178
- } );
179
-
180
- describe( 'initialPosition / value', () => {
181
- it( 'should render initial rendered value of 50% of min/max, if no initialPosition or value is defined', () => {
182
- const { container } = render(
183
- <RangeControl min={ 0 } max={ 10 } />
184
- );
185
-
186
- const rangeInput = getRangeInput( container );
187
-
188
- expect( rangeInput.value ).toBe( '5' );
189
- } );
190
-
191
- it( 'should render initialPosition if no value is provided', () => {
192
- const { container } = render(
193
- <RangeControl initialPosition={ 50 } />
194
- );
195
-
196
- const rangeInput = getRangeInput( container );
197
-
198
- expect( rangeInput.value ).toBe( '50' );
199
- } );
200
-
201
- it( 'should render value instead of initialPosition is provided', () => {
202
- const { container } = render(
203
- <RangeControl initialPosition={ 50 } value={ 10 } />
204
- );
205
-
206
- const rangeInput = getRangeInput( container );
207
-
208
- expect( rangeInput.value ).toBe( '10' );
209
- } );
210
- } );
211
-
212
- describe( 'input field', () => {
213
- it( 'should render an input field by default', () => {
214
- const { container } = render( <RangeControl /> );
215
-
216
- const numberInput = getNumberInput( container );
217
-
218
- expect( numberInput ).toBeTruthy();
219
- } );
220
-
221
- it( 'should not render an input field, if disabled', () => {
222
- const { container } = render(
223
- <RangeControl withInputField={ false } />
224
- );
225
-
226
- const numberInput = getNumberInput( container );
227
-
228
- expect( numberInput ).toBeFalsy();
229
- } );
230
-
231
- it( 'should render a zero value into input range and field', () => {
232
- const { container } = render( <RangeControl value={ 0 } /> );
233
-
234
- const rangeInput = getRangeInput( container );
235
- const numberInput = getNumberInput( container );
236
-
237
- expect( rangeInput.value ).toBe( '0' );
238
- expect( numberInput.value ).toBe( '0' );
239
- } );
240
-
241
- it( 'should update both field and range on change', () => {
242
- const { container } = render( <RangeControl /> );
243
-
244
- const rangeInput = getRangeInput( container );
245
- const numberInput = getNumberInput( container );
246
-
247
- rangeInput.focus();
248
- fireEvent.change( rangeInput, { target: { value: 13 } } );
249
-
250
- expect( rangeInput.value ).toBe( '13' );
251
- expect( numberInput.value ).toBe( '13' );
252
-
253
- numberInput.focus();
254
- fireEvent.change( numberInput, { target: { value: 7 } } );
255
-
256
- expect( rangeInput.value ).toBe( '7' );
257
- expect( numberInput.value ).toBe( '7' );
258
- } );
259
-
260
- it( 'should reset input values if next value is removed', () => {
261
- const { container } = render( <RangeControl /> );
262
-
263
- const rangeInput = getRangeInput( container );
264
- const numberInput = getNumberInput( container );
265
-
266
- fireEvent.change( numberInput, { target: { value: '' } } );
267
- fireEvent.blur( numberInput );
268
-
269
- // Reset to 50. Median value of min: 0, max: 100.
270
- expect( rangeInput.value ).toBe( '50' );
271
- // Input field should be blank.
272
- expect( numberInput.value ).toBe( '' );
273
- } );
274
- } );
275
-
276
- describe( 'reset', () => {
277
- it( 'should reset to a custom fallback value, defined by a parent component', () => {
278
- const spy = jest.fn();
279
- const { container } = render(
280
- <RangeControl
281
- initialPosition={ 10 }
282
- allowReset={ true }
283
- onChange={ spy }
284
- resetFallbackValue={ 33 }
285
- />
286
- );
287
-
288
- const resetButton = getResetButton( container );
289
- const rangeInput = getRangeInput( container );
290
- const numberInput = getNumberInput( container );
291
-
292
- fireEvent.click( resetButton );
293
-
294
- expect( rangeInput.value ).toBe( '33' );
295
- expect( numberInput.value ).toBe( '33' );
296
- expect( spy ).toHaveBeenCalledWith( 33 );
297
- } );
298
-
299
- it( 'should reset to a 50% of min/max value, of no initialPosition or value is defined', () => {
300
- const { container } = render(
301
- <RangeControl
302
- initialPosition={ undefined }
303
- min={ 0 }
304
- max={ 100 }
305
- allowReset={ true }
306
- resetFallbackValue={ undefined }
307
- />
308
- );
309
-
310
- const resetButton = getResetButton( container );
311
- const rangeInput = getRangeInput( container );
312
- const numberInput = getNumberInput( container );
313
-
314
- fireEvent.click( resetButton );
315
-
316
- expect( rangeInput.value ).toBe( '50' );
317
- expect( numberInput.value ).toBe( '' );
318
- } );
319
- } );
320
- } );
@@ -1,131 +0,0 @@
1
- // @ts-nocheck
2
-
3
- /**
4
- * WordPress dependencies
5
- */
6
- import { useCallback, useRef, useEffect, useState } from '@wordpress/element';
7
-
8
- /**
9
- * Internal dependencies
10
- */
11
- import { useControlledState } from '../utils/hooks';
12
- import { clamp } from '../utils/math';
13
-
14
- const noop = () => {};
15
-
16
- /**
17
- * A float supported clamp function for a specific value.
18
- *
19
- * @param {number|null} value The value to clamp.
20
- * @param {number} min The minimum value.
21
- * @param {number} max The maximum value.
22
- *
23
- * @return {number} A (float) number
24
- */
25
- export function floatClamp( value, min, max ) {
26
- if ( typeof value !== 'number' ) {
27
- return null;
28
- }
29
-
30
- return parseFloat( clamp( value, min, max ) );
31
- }
32
-
33
- /**
34
- * Hook to store a clamped value, derived from props.
35
- *
36
- * @param {Object} settings Hook settings.
37
- * @param {number} settings.min The minimum value.
38
- * @param {number} settings.max The maximum value.
39
- * @param {number} settings.value The current value.
40
- * @param {any} settings.initial The initial value.
41
- *
42
- * @return {[*, Function]} The controlled value and the value setter.
43
- */
44
- export function useControlledRangeValue( {
45
- min,
46
- max,
47
- value: valueProp,
48
- initial,
49
- } ) {
50
- const [ state, setInternalState ] = useControlledState(
51
- floatClamp( valueProp, min, max ),
52
- { initial, fallback: null }
53
- );
54
-
55
- const setState = useCallback(
56
- ( nextValue ) => {
57
- if ( nextValue === null ) {
58
- setInternalState( null );
59
- } else {
60
- setInternalState( floatClamp( nextValue, min, max ) );
61
- }
62
- },
63
- [ min, max ]
64
- );
65
-
66
- return [ state, setState ];
67
- }
68
-
69
- /**
70
- * Hook to encapsulate the debouncing "hover" to better handle the showing
71
- * and hiding of the Tooltip.
72
- *
73
- * @param {Object} settings Hook settings.
74
- * @param {Function} [settings.onShow=noop] A callback function invoked when the element is shown.
75
- * @param {Function} [settings.onHide=noop] A callback function invoked when the element is hidden.
76
- * @param {Function} [settings.onMouseMove=noop] A callback function invoked when the mouse is moved.
77
- * @param {Function} [settings.onMouseLeave=noop] A callback function invoked when the mouse is moved out of the element.
78
- * @param {number} [settings.timeout=300] Timeout before the element is shown or hidden.
79
- *
80
- * @return {Object} Bound properties for use on a React.Node.
81
- */
82
- export function useDebouncedHoverInteraction( {
83
- onHide = noop,
84
- onMouseLeave = noop,
85
- onMouseMove = noop,
86
- onShow = noop,
87
- timeout = 300,
88
- } ) {
89
- const [ show, setShow ] = useState( false );
90
- const timeoutRef = useRef();
91
-
92
- const setDebouncedTimeout = useCallback(
93
- ( callback ) => {
94
- window.clearTimeout( timeoutRef.current );
95
-
96
- timeoutRef.current = setTimeout( callback, timeout );
97
- },
98
- [ timeout ]
99
- );
100
-
101
- const handleOnMouseMove = useCallback( ( event ) => {
102
- onMouseMove( event );
103
-
104
- setDebouncedTimeout( () => {
105
- if ( ! show ) {
106
- setShow( true );
107
- onShow();
108
- }
109
- } );
110
- }, [] );
111
-
112
- const handleOnMouseLeave = useCallback( ( event ) => {
113
- onMouseLeave( event );
114
-
115
- setDebouncedTimeout( () => {
116
- setShow( false );
117
- onHide();
118
- } );
119
- }, [] );
120
-
121
- useEffect( () => {
122
- return () => {
123
- window.clearTimeout( timeoutRef.current );
124
- };
125
- } );
126
-
127
- return {
128
- onMouseMove: handleOnMouseMove,
129
- onMouseLeave: handleOnMouseLeave,
130
- };
131
- }