@wordpress/components 19.13.0 → 19.16.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 (1183) hide show
  1. package/CHANGELOG.md +139 -12
  2. package/build/alignment-matrix-control/utils.js +1 -7
  3. package/build/alignment-matrix-control/utils.js.map +1 -1
  4. package/build/angle-picker-control/index.js +2 -2
  5. package/build/angle-picker-control/index.js.map +1 -1
  6. package/build/autocomplete/autocompleter-ui.js +4 -2
  7. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  8. package/build/autocomplete/autocompleter-ui.native.js +9 -3
  9. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  10. package/build/autocomplete/get-default-use-items.js +5 -1
  11. package/build/autocomplete/get-default-use-items.js.map +1 -1
  12. package/build/autocomplete/index.js +9 -3
  13. package/build/autocomplete/index.js.map +1 -1
  14. package/build/base-control/styles/base-control-styles.js +8 -8
  15. package/build/base-control/styles/base-control-styles.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-split-controls/component.js +2 -1
  19. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  20. package/build/border-control/border-control/component.js +78 -29
  21. package/build/border-control/border-control/component.js.map +1 -1
  22. package/build/border-control/border-control/hook.js +4 -7
  23. package/build/border-control/border-control/hook.js.map +1 -1
  24. package/build/border-control/border-control-dropdown/component.js +13 -7
  25. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  26. package/build/border-control/border-control-dropdown/hook.js +0 -4
  27. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  28. package/build/border-control/styles.js +33 -56
  29. package/build/border-control/styles.js.map +1 -1
  30. package/build/box-control/axial-input-controls.js +1 -1
  31. package/build/box-control/axial-input-controls.js.map +1 -1
  32. package/build/box-control/index.js +1 -1
  33. package/build/box-control/index.js.map +1 -1
  34. package/build/box-control/utils.js +5 -11
  35. package/build/box-control/utils.js.map +1 -1
  36. package/build/color-indicator/index.js +27 -10
  37. package/build/color-indicator/index.js.map +1 -1
  38. package/build/color-indicator/types.js +6 -0
  39. package/build/color-indicator/types.js.map +1 -0
  40. package/build/color-palette/index.js +16 -3
  41. package/build/color-palette/index.js.map +1 -1
  42. package/build/color-picker/component.js +6 -9
  43. package/build/color-picker/component.js.map +1 -1
  44. package/build/color-picker/hex-input.js +7 -5
  45. package/build/color-picker/hex-input.js.map +1 -1
  46. package/build/color-picker/index.native.js +35 -34
  47. package/build/color-picker/index.native.js.map +1 -1
  48. package/build/color-picker/input-with-slider.js +7 -5
  49. package/build/color-picker/input-with-slider.js.map +1 -1
  50. package/build/color-picker/styles.js +42 -43
  51. package/build/color-picker/styles.js.map +1 -1
  52. package/build/color-picker/use-deprecated-props.js +22 -31
  53. package/build/color-picker/use-deprecated-props.js.map +1 -1
  54. package/build/combobox-control/index.js +19 -13
  55. package/build/combobox-control/index.js.map +1 -1
  56. package/build/combobox-control/styles.js +39 -0
  57. package/build/combobox-control/styles.js.map +1 -0
  58. package/build/custom-gradient-picker/index.js +8 -8
  59. package/build/custom-gradient-picker/index.js.map +1 -1
  60. package/build/custom-gradient-picker/index.native.js +8 -9
  61. package/build/custom-gradient-picker/index.native.js.map +1 -1
  62. package/build/custom-gradient-picker/serializer.js +4 -7
  63. package/build/custom-gradient-picker/serializer.js.map +1 -1
  64. package/build/custom-select-control/index.js +26 -8
  65. package/build/custom-select-control/index.js.map +1 -1
  66. package/build/date-time/date/index.js +3 -1
  67. package/build/date-time/date/index.js.map +1 -1
  68. package/build/date-time/date-time/index.js +3 -1
  69. package/build/date-time/date-time/index.js.map +1 -1
  70. package/build/divider/component.js +0 -1
  71. package/build/divider/component.js.map +1 -1
  72. package/build/divider/index.js.map +1 -1
  73. package/build/divider/styles.js +5 -5
  74. package/build/divider/styles.js.map +1 -1
  75. package/build/dropdown/dropdown-content-wrapper.js +60 -0
  76. package/build/dropdown/dropdown-content-wrapper.js.map +1 -0
  77. package/build/dropdown/styles.js +42 -0
  78. package/build/dropdown/styles.js.map +1 -0
  79. package/build/dropdown/types.js +6 -0
  80. package/build/dropdown/types.js.map +1 -0
  81. package/build/dropdown-menu/index.js +5 -5
  82. package/build/dropdown-menu/index.js.map +1 -1
  83. package/build/dropdown-menu/index.native.js +5 -5
  84. package/build/dropdown-menu/index.native.js.map +1 -1
  85. package/build/duotone-picker/duotone-picker.js +42 -29
  86. package/build/duotone-picker/duotone-picker.js.map +1 -1
  87. package/build/elevation/component.js +15 -15
  88. package/build/elevation/component.js.map +1 -1
  89. package/build/elevation/hook.js +15 -27
  90. package/build/elevation/hook.js.map +1 -1
  91. package/build/elevation/index.js.map +1 -1
  92. package/build/elevation/styles.js +1 -1
  93. package/build/elevation/styles.js.map +1 -1
  94. package/build/external-link/index.js +1 -3
  95. package/build/external-link/index.js.map +1 -1
  96. package/build/flex/flex/component.js +11 -17
  97. package/build/flex/flex/component.js.map +1 -1
  98. package/build/flex/flex-block/component.js +9 -3
  99. package/build/flex/flex-block/component.js.map +1 -1
  100. package/build/flex/flex-item/component.js +9 -3
  101. package/build/flex/flex-item/component.js.map +1 -1
  102. package/build/focal-point-picker/grid.js +2 -7
  103. package/build/focal-point-picker/grid.js.map +1 -1
  104. package/build/focal-point-picker/index.native.js +12 -12
  105. package/build/focal-point-picker/index.native.js.map +1 -1
  106. package/build/focal-point-picker/tooltip/index.native.js +11 -12
  107. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  108. package/build/form-toggle/index.js +28 -5
  109. package/build/form-toggle/index.js.map +1 -1
  110. package/build/form-toggle/types.js +6 -0
  111. package/build/form-toggle/types.js.map +1 -0
  112. package/build/form-token-field/index.js +22 -7
  113. package/build/form-token-field/index.js.map +1 -1
  114. package/build/form-token-field/styles.js +40 -0
  115. package/build/form-token-field/styles.js.map +1 -0
  116. package/build/form-token-field/suggestions-list.js +2 -7
  117. package/build/form-token-field/suggestions-list.js.map +1 -1
  118. package/build/grid/component.js +7 -8
  119. package/build/grid/component.js.map +1 -1
  120. package/build/grid/hook.js +1 -5
  121. package/build/grid/hook.js.map +1 -1
  122. package/build/grid/index.js.map +1 -1
  123. package/build/grid/utils.js +4 -7
  124. package/build/grid/utils.js.map +1 -1
  125. package/build/h-stack/component.js +5 -9
  126. package/build/h-stack/component.js.map +1 -1
  127. package/build/h-stack/hook.js +8 -10
  128. package/build/h-stack/hook.js.map +1 -1
  129. package/build/h-stack/index.js.map +1 -1
  130. package/build/h-stack/utils.js +8 -19
  131. package/build/h-stack/utils.js.map +1 -1
  132. package/build/heading/component.js +0 -1
  133. package/build/heading/component.js.map +1 -1
  134. package/build/heading/hook.js.map +1 -1
  135. package/build/heading/types.js +6 -0
  136. package/build/heading/types.js.map +1 -0
  137. package/build/icon/index.js.map +1 -1
  138. package/build/index.js +24 -0
  139. package/build/index.js.map +1 -1
  140. package/build/input-control/index.js +7 -0
  141. package/build/input-control/index.js.map +1 -1
  142. package/build/input-control/input-base.js +23 -1
  143. package/build/input-control/input-base.js.map +1 -1
  144. package/build/input-control/input-prefix-wrapper.js +54 -0
  145. package/build/input-control/input-prefix-wrapper.js.map +1 -0
  146. package/build/input-control/input-suffix-wrapper.js +54 -0
  147. package/build/input-control/input-suffix-wrapper.js.map +1 -0
  148. package/build/input-control/styles/input-control-styles.js +61 -42
  149. package/build/input-control/styles/input-control-styles.js.map +1 -1
  150. package/build/menu-item/index.js +1 -3
  151. package/build/menu-item/index.js.map +1 -1
  152. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  153. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  154. package/build/mobile/focal-point-settings-panel/index.native.js +1 -1
  155. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  156. package/build/mobile/image/index.native.js +9 -4
  157. package/build/mobile/image/index.native.js.map +1 -1
  158. package/build/mobile/link-picker/index.native.js +4 -4
  159. package/build/mobile/link-picker/index.native.js.map +1 -1
  160. package/build/mobile/media-edit/index.native.js +1 -7
  161. package/build/mobile/media-edit/index.native.js.map +1 -1
  162. package/build/mobile/segmented-control/index.native.js +2 -4
  163. package/build/mobile/segmented-control/index.native.js.map +1 -1
  164. package/build/modal/index.js +17 -3
  165. package/build/modal/index.js.map +1 -1
  166. package/build/navigation/group/index.js +4 -7
  167. package/build/navigation/group/index.js.map +1 -1
  168. package/build/navigation/index.js +4 -1
  169. package/build/navigation/index.js.map +1 -1
  170. package/build/navigation/item/base.js +6 -3
  171. package/build/navigation/item/base.js.map +1 -1
  172. package/build/navigation/item/use-navigation-tree-item.js +2 -1
  173. package/build/navigation/item/use-navigation-tree-item.js.map +1 -1
  174. package/build/navigation/menu/menu-title-search.js +1 -7
  175. package/build/navigation/menu/menu-title-search.js.map +1 -1
  176. package/build/navigation/menu/search-no-results-found.js +1 -7
  177. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  178. package/build/navigation/use-navigation-tree-nodes.js +18 -10
  179. package/build/navigation/use-navigation-tree-nodes.js.map +1 -1
  180. package/build/navigation/utils.js +4 -2
  181. package/build/navigation/utils.js.map +1 -1
  182. package/build/popover/index.js +17 -14
  183. package/build/popover/index.js.map +1 -1
  184. package/build/radio-control/index.js +1 -3
  185. package/build/radio-control/index.js.map +1 -1
  186. package/build/range-control/index.js +57 -43
  187. package/build/range-control/index.js.map +1 -1
  188. package/build/range-control/input-range.js +5 -7
  189. package/build/range-control/input-range.js.map +1 -1
  190. package/build/range-control/mark.js +5 -7
  191. package/build/range-control/mark.js.map +1 -1
  192. package/build/range-control/rail.js +10 -16
  193. package/build/range-control/rail.js.map +1 -1
  194. package/build/range-control/styles/range-control-styles.js +62 -62
  195. package/build/range-control/styles/range-control-styles.js.map +1 -1
  196. package/build/range-control/tooltip.js +5 -7
  197. package/build/range-control/tooltip.js.map +1 -1
  198. package/build/range-control/types.js +6 -0
  199. package/build/range-control/types.js.map +1 -0
  200. package/build/range-control/utils.js +21 -32
  201. package/build/range-control/utils.js.map +1 -1
  202. package/build/resizable-box/resize-tooltip/utils.js +2 -7
  203. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  204. package/build/sandbox/index.native.js +13 -2
  205. package/build/sandbox/index.native.js.map +1 -1
  206. package/build/scroll-lock/index.js +35 -6
  207. package/build/scroll-lock/index.js.map +1 -1
  208. package/build/scrollable/component.js +7 -8
  209. package/build/scrollable/component.js.map +1 -1
  210. package/build/scrollable/hook.js +0 -8
  211. package/build/scrollable/hook.js.map +1 -1
  212. package/build/scrollable/index.js.map +1 -1
  213. package/build/scrollable/styles.js +7 -7
  214. package/build/scrollable/styles.js.map +1 -1
  215. package/build/select-control/index.js +1 -3
  216. package/build/select-control/index.js.map +1 -1
  217. package/build/select-control/styles/select-control-styles.js +31 -11
  218. package/build/select-control/styles/select-control-styles.js.map +1 -1
  219. package/build/shortcut/index.js +6 -21
  220. package/build/shortcut/index.js.map +1 -1
  221. package/build/shortcut/types.js +6 -0
  222. package/build/shortcut/types.js.map +1 -0
  223. package/build/slot-fill/index.native.js +6 -8
  224. package/build/slot-fill/index.native.js.map +1 -1
  225. package/build/slot-fill/provider.js +4 -8
  226. package/build/slot-fill/provider.js.map +1 -1
  227. package/build/slot-fill/slot.js +4 -8
  228. package/build/slot-fill/slot.js.map +1 -1
  229. package/build/spacer/component.js +8 -6
  230. package/build/spacer/component.js.map +1 -1
  231. package/build/spacer/hook.js +2 -2
  232. package/build/spacer/hook.js.map +1 -1
  233. package/build/spacer/index.js.map +1 -1
  234. package/build/spinner/index.js +26 -13
  235. package/build/spinner/index.js.map +1 -1
  236. package/build/spinner/styles.js +10 -10
  237. package/build/spinner/styles.js.map +1 -1
  238. package/build/text-highlight/index.js +22 -5
  239. package/build/text-highlight/index.js.map +1 -1
  240. package/build/text-highlight/types.js +6 -0
  241. package/build/text-highlight/types.js.map +1 -0
  242. package/build/tip/index.js +5 -11
  243. package/build/tip/index.js.map +1 -1
  244. package/build/tip/types.js +6 -0
  245. package/build/tip/types.js.map +1 -0
  246. package/build/toggle-group-control/toggle-group-control/component.js +4 -1
  247. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  248. package/build/toggle-group-control/toggle-group-control/styles.js +20 -4
  249. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  250. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +7 -9
  251. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  252. package/build/toolbar-group/index.js +3 -3
  253. package/build/toolbar-group/index.js.map +1 -1
  254. package/build/tooltip/index.js +51 -14
  255. package/build/tooltip/index.js.map +1 -1
  256. package/build/tree-select/index.js +4 -4
  257. package/build/tree-select/index.js.map +1 -1
  258. package/build/truncate/component.js +7 -8
  259. package/build/truncate/component.js.map +1 -1
  260. package/build/truncate/hook.js +3 -10
  261. package/build/truncate/hook.js.map +1 -1
  262. package/build/truncate/index.js.map +1 -1
  263. package/build/truncate/styles.js +1 -1
  264. package/build/truncate/styles.js.map +1 -1
  265. package/build/truncate/utils.js +3 -16
  266. package/build/truncate/utils.js.map +1 -1
  267. package/build/ui/context/use-context-system.js +7 -2
  268. package/build/ui/context/use-context-system.js.map +1 -1
  269. package/build/ui/utils/get-valid-children.js.map +1 -1
  270. package/build/ui/utils/space.js +7 -1
  271. package/build/ui/utils/space.js.map +1 -1
  272. package/build/unit-control/styles/unit-control-styles.js +10 -26
  273. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  274. package/build/utils/math.js +17 -7
  275. package/build/utils/math.js.map +1 -1
  276. package/build/v-stack/component.js +9 -9
  277. package/build/v-stack/component.js.map +1 -1
  278. package/build/v-stack/hook.js +0 -5
  279. package/build/v-stack/hook.js.map +1 -1
  280. package/build/v-stack/index.js.map +1 -1
  281. package/build/visually-hidden/component.js +12 -13
  282. package/build/visually-hidden/component.js.map +1 -1
  283. package/build/visually-hidden/index.js.map +1 -1
  284. package/build/visually-hidden/styles.js +3 -1
  285. package/build/visually-hidden/styles.js.map +1 -1
  286. package/build/visually-hidden/types.js +6 -0
  287. package/build/visually-hidden/types.js.map +1 -0
  288. package/build-module/alignment-matrix-control/utils.js +1 -6
  289. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  290. package/build-module/angle-picker-control/index.js +2 -2
  291. package/build-module/angle-picker-control/index.js.map +1 -1
  292. package/build-module/autocomplete/autocompleter-ui.js +4 -2
  293. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  294. package/build-module/autocomplete/autocompleter-ui.native.js +9 -3
  295. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  296. package/build-module/autocomplete/get-default-use-items.js +3 -2
  297. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  298. package/build-module/autocomplete/index.js +7 -4
  299. package/build-module/autocomplete/index.js.map +1 -1
  300. package/build-module/base-control/styles/base-control-styles.js +8 -8
  301. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  302. package/build-module/border-box-control/border-box-control/component.js +2 -1
  303. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  304. package/build-module/border-box-control/border-box-control-split-controls/component.js +2 -1
  305. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  306. package/build-module/border-control/border-control/component.js +75 -28
  307. package/build-module/border-control/border-control/component.js.map +1 -1
  308. package/build-module/border-control/border-control/hook.js +4 -7
  309. package/build-module/border-control/border-control/hook.js.map +1 -1
  310. package/build-module/border-control/border-control-dropdown/component.js +12 -7
  311. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  312. package/build-module/border-control/border-control-dropdown/hook.js +0 -4
  313. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  314. package/build-module/border-control/styles.js +33 -49
  315. package/build-module/border-control/styles.js.map +1 -1
  316. package/build-module/box-control/axial-input-controls.js +1 -1
  317. package/build-module/box-control/axial-input-controls.js.map +1 -1
  318. package/build-module/box-control/index.js +1 -1
  319. package/build-module/box-control/index.js.map +1 -1
  320. package/build-module/box-control/utils.js +5 -10
  321. package/build-module/box-control/utils.js.map +1 -1
  322. package/build-module/color-indicator/index.js +29 -8
  323. package/build-module/color-indicator/index.js.map +1 -1
  324. package/build-module/color-indicator/types.js +2 -0
  325. package/build-module/color-indicator/types.js.map +1 -0
  326. package/build-module/color-palette/index.js +12 -2
  327. package/build-module/color-palette/index.js.map +1 -1
  328. package/build-module/color-picker/component.js +7 -8
  329. package/build-module/color-picker/component.js.map +1 -1
  330. package/build-module/color-picker/hex-input.js +6 -4
  331. package/build-module/color-picker/hex-input.js.map +1 -1
  332. package/build-module/color-picker/index.native.js +36 -35
  333. package/build-module/color-picker/index.native.js.map +1 -1
  334. package/build-module/color-picker/input-with-slider.js +7 -5
  335. package/build-module/color-picker/input-with-slider.js.map +1 -1
  336. package/build-module/color-picker/styles.js +29 -39
  337. package/build-module/color-picker/styles.js.map +1 -1
  338. package/build-module/color-picker/use-deprecated-props.js +22 -31
  339. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  340. package/build-module/combobox-control/index.js +19 -13
  341. package/build-module/combobox-control/index.js.map +1 -1
  342. package/build-module/combobox-control/styles.js +27 -0
  343. package/build-module/combobox-control/styles.js.map +1 -0
  344. package/build-module/custom-gradient-picker/index.js +8 -7
  345. package/build-module/custom-gradient-picker/index.js.map +1 -1
  346. package/build-module/custom-gradient-picker/index.native.js +8 -8
  347. package/build-module/custom-gradient-picker/index.native.js.map +1 -1
  348. package/build-module/custom-gradient-picker/serializer.js +4 -6
  349. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  350. package/build-module/custom-select-control/index.js +26 -10
  351. package/build-module/custom-select-control/index.js.map +1 -1
  352. package/build-module/date-time/date/index.js +3 -1
  353. package/build-module/date-time/date/index.js.map +1 -1
  354. package/build-module/date-time/date-time/index.js +3 -1
  355. package/build-module/date-time/date-time/index.js.map +1 -1
  356. package/build-module/divider/component.js +0 -1
  357. package/build-module/divider/component.js.map +1 -1
  358. package/build-module/divider/index.js.map +1 -1
  359. package/build-module/divider/styles.js +5 -5
  360. package/build-module/divider/styles.js.map +1 -1
  361. package/build-module/dropdown/dropdown-content-wrapper.js +47 -0
  362. package/build-module/dropdown/dropdown-content-wrapper.js.map +1 -0
  363. package/build-module/dropdown/styles.js +31 -0
  364. package/build-module/dropdown/styles.js.map +1 -0
  365. package/build-module/dropdown/types.js +2 -0
  366. package/build-module/dropdown/types.js.map +1 -0
  367. package/build-module/dropdown-menu/index.js +5 -4
  368. package/build-module/dropdown-menu/index.js.map +1 -1
  369. package/build-module/dropdown-menu/index.native.js +5 -4
  370. package/build-module/dropdown-menu/index.native.js.map +1 -1
  371. package/build-module/duotone-picker/duotone-picker.js +42 -29
  372. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  373. package/build-module/elevation/component.js +15 -15
  374. package/build-module/elevation/component.js.map +1 -1
  375. package/build-module/elevation/hook.js +14 -26
  376. package/build-module/elevation/hook.js.map +1 -1
  377. package/build-module/elevation/index.js.map +1 -1
  378. package/build-module/elevation/styles.js +1 -1
  379. package/build-module/elevation/styles.js.map +1 -1
  380. package/build-module/external-link/index.js +1 -2
  381. package/build-module/external-link/index.js.map +1 -1
  382. package/build-module/flex/flex/component.js +11 -17
  383. package/build-module/flex/flex/component.js.map +1 -1
  384. package/build-module/flex/flex-block/component.js +9 -3
  385. package/build-module/flex/flex-block/component.js.map +1 -1
  386. package/build-module/flex/flex-item/component.js +9 -3
  387. package/build-module/flex/flex-item/component.js.map +1 -1
  388. package/build-module/focal-point-picker/grid.js +2 -6
  389. package/build-module/focal-point-picker/grid.js.map +1 -1
  390. package/build-module/focal-point-picker/index.native.js +9 -9
  391. package/build-module/focal-point-picker/index.native.js.map +1 -1
  392. package/build-module/focal-point-picker/tooltip/index.native.js +11 -12
  393. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  394. package/build-module/form-toggle/index.js +30 -6
  395. package/build-module/form-toggle/index.js.map +1 -1
  396. package/build-module/form-toggle/types.js +2 -0
  397. package/build-module/form-toggle/types.js.map +1 -0
  398. package/build-module/form-token-field/index.js +20 -6
  399. package/build-module/form-token-field/index.js.map +1 -1
  400. package/build-module/form-token-field/styles.js +28 -0
  401. package/build-module/form-token-field/styles.js.map +1 -0
  402. package/build-module/form-token-field/suggestions-list.js +2 -7
  403. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  404. package/build-module/grid/component.js +7 -8
  405. package/build-module/grid/component.js.map +1 -1
  406. package/build-module/grid/hook.js +1 -5
  407. package/build-module/grid/hook.js.map +1 -1
  408. package/build-module/grid/index.js.map +1 -1
  409. package/build-module/grid/utils.js +3 -8
  410. package/build-module/grid/utils.js.map +1 -1
  411. package/build-module/h-stack/component.js +3 -7
  412. package/build-module/h-stack/component.js.map +1 -1
  413. package/build-module/h-stack/hook.js +10 -12
  414. package/build-module/h-stack/hook.js.map +1 -1
  415. package/build-module/h-stack/index.js.map +1 -1
  416. package/build-module/h-stack/utils.js +8 -20
  417. package/build-module/h-stack/utils.js.map +1 -1
  418. package/build-module/heading/component.js +0 -1
  419. package/build-module/heading/component.js.map +1 -1
  420. package/build-module/heading/hook.js.map +1 -1
  421. package/build-module/heading/types.js +2 -0
  422. package/build-module/heading/types.js.map +1 -0
  423. package/build-module/icon/index.js.map +1 -1
  424. package/build-module/index.js +3 -0
  425. package/build-module/index.js.map +1 -1
  426. package/build-module/input-control/index.js +6 -0
  427. package/build-module/input-control/index.js.map +1 -1
  428. package/build-module/input-control/input-base.js +24 -3
  429. package/build-module/input-control/input-base.js.map +1 -1
  430. package/build-module/input-control/input-prefix-wrapper.js +41 -0
  431. package/build-module/input-control/input-prefix-wrapper.js.map +1 -0
  432. package/build-module/input-control/input-suffix-wrapper.js +41 -0
  433. package/build-module/input-control/input-suffix-wrapper.js.map +1 -0
  434. package/build-module/input-control/styles/input-control-styles.js +57 -41
  435. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  436. package/build-module/menu-item/index.js +1 -2
  437. package/build-module/menu-item/index.js.map +1 -1
  438. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  439. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  440. package/build-module/mobile/focal-point-settings-panel/index.native.js +2 -2
  441. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  442. package/build-module/mobile/image/index.native.js +10 -6
  443. package/build-module/mobile/image/index.native.js.map +1 -1
  444. package/build-module/mobile/link-picker/index.native.js +4 -3
  445. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  446. package/build-module/mobile/media-edit/index.native.js +1 -6
  447. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  448. package/build-module/mobile/segmented-control/index.native.js +2 -3
  449. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  450. package/build-module/modal/index.js +19 -5
  451. package/build-module/modal/index.js.map +1 -1
  452. package/build-module/navigation/group/index.js +3 -6
  453. package/build-module/navigation/group/index.js.map +1 -1
  454. package/build-module/navigation/index.js +4 -1
  455. package/build-module/navigation/index.js.map +1 -1
  456. package/build-module/navigation/item/base.js +5 -2
  457. package/build-module/navigation/item/base.js.map +1 -1
  458. package/build-module/navigation/item/use-navigation-tree-item.js +2 -1
  459. package/build-module/navigation/item/use-navigation-tree-item.js.map +1 -1
  460. package/build-module/navigation/menu/menu-title-search.js +1 -6
  461. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  462. package/build-module/navigation/menu/search-no-results-found.js +1 -6
  463. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  464. package/build-module/navigation/use-navigation-tree-nodes.js +18 -9
  465. package/build-module/navigation/use-navigation-tree-nodes.js.map +1 -1
  466. package/build-module/navigation/utils.js +2 -2
  467. package/build-module/navigation/utils.js.map +1 -1
  468. package/build-module/popover/index.js +17 -14
  469. package/build-module/popover/index.js.map +1 -1
  470. package/build-module/radio-control/index.js +1 -2
  471. package/build-module/radio-control/index.js.map +1 -1
  472. package/build-module/range-control/index.js +55 -41
  473. package/build-module/range-control/index.js.map +1 -1
  474. package/build-module/range-control/input-range.js +5 -6
  475. package/build-module/range-control/input-range.js.map +1 -1
  476. package/build-module/range-control/mark.js +5 -6
  477. package/build-module/range-control/mark.js.map +1 -1
  478. package/build-module/range-control/rail.js +10 -15
  479. package/build-module/range-control/rail.js.map +1 -1
  480. package/build-module/range-control/styles/range-control-styles.js +62 -64
  481. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  482. package/build-module/range-control/tooltip.js +5 -6
  483. package/build-module/range-control/tooltip.js.map +1 -1
  484. package/build-module/range-control/types.js +2 -0
  485. package/build-module/range-control/types.js.map +1 -0
  486. package/build-module/range-control/utils.js +22 -33
  487. package/build-module/range-control/utils.js.map +1 -1
  488. package/build-module/resizable-box/resize-tooltip/utils.js +2 -6
  489. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  490. package/build-module/sandbox/index.native.js +13 -3
  491. package/build-module/sandbox/index.native.js.map +1 -1
  492. package/build-module/scroll-lock/index.js +32 -6
  493. package/build-module/scroll-lock/index.js.map +1 -1
  494. package/build-module/scrollable/component.js +7 -8
  495. package/build-module/scrollable/component.js.map +1 -1
  496. package/build-module/scrollable/hook.js +0 -8
  497. package/build-module/scrollable/hook.js.map +1 -1
  498. package/build-module/scrollable/index.js.map +1 -1
  499. package/build-module/scrollable/styles.js +7 -7
  500. package/build-module/scrollable/styles.js.map +1 -1
  501. package/build-module/select-control/index.js +1 -2
  502. package/build-module/select-control/index.js.map +1 -1
  503. package/build-module/select-control/styles/select-control-styles.js +31 -11
  504. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  505. package/build-module/shortcut/index.js +6 -20
  506. package/build-module/shortcut/index.js.map +1 -1
  507. package/build-module/shortcut/types.js +2 -0
  508. package/build-module/shortcut/types.js.map +1 -0
  509. package/build-module/slot-fill/index.native.js +6 -7
  510. package/build-module/slot-fill/index.native.js.map +1 -1
  511. package/build-module/slot-fill/provider.js +4 -7
  512. package/build-module/slot-fill/provider.js.map +1 -1
  513. package/build-module/slot-fill/slot.js +4 -7
  514. package/build-module/slot-fill/slot.js.map +1 -1
  515. package/build-module/spacer/component.js +6 -5
  516. package/build-module/spacer/component.js.map +1 -1
  517. package/build-module/spacer/hook.js +2 -2
  518. package/build-module/spacer/hook.js.map +1 -1
  519. package/build-module/spacer/index.js.map +1 -1
  520. package/build-module/spinner/index.js +22 -13
  521. package/build-module/spinner/index.js.map +1 -1
  522. package/build-module/spinner/styles.js +10 -10
  523. package/build-module/spinner/styles.js.map +1 -1
  524. package/build-module/text-highlight/index.js +23 -6
  525. package/build-module/text-highlight/index.js.map +1 -1
  526. package/build-module/text-highlight/types.js +2 -0
  527. package/build-module/text-highlight/types.js.map +1 -0
  528. package/build-module/tip/index.js +6 -10
  529. package/build-module/tip/index.js.map +1 -1
  530. package/build-module/tip/types.js +2 -0
  531. package/build-module/tip/types.js.map +1 -0
  532. package/build-module/toggle-group-control/toggle-group-control/component.js +4 -1
  533. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  534. package/build-module/toggle-group-control/toggle-group-control/styles.js +15 -3
  535. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  536. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +6 -7
  537. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  538. package/build-module/toolbar-group/index.js +3 -2
  539. package/build-module/toolbar-group/index.js.map +1 -1
  540. package/build-module/tooltip/index.js +53 -16
  541. package/build-module/tooltip/index.js.map +1 -1
  542. package/build-module/tree-select/index.js +5 -5
  543. package/build-module/tree-select/index.js.map +1 -1
  544. package/build-module/truncate/component.js +7 -8
  545. package/build-module/truncate/component.js.map +1 -1
  546. package/build-module/truncate/hook.js +3 -10
  547. package/build-module/truncate/hook.js.map +1 -1
  548. package/build-module/truncate/index.js.map +1 -1
  549. package/build-module/truncate/styles.js +1 -1
  550. package/build-module/truncate/styles.js.map +1 -1
  551. package/build-module/truncate/utils.js +3 -16
  552. package/build-module/truncate/utils.js.map +1 -1
  553. package/build-module/ui/context/use-context-system.js +7 -2
  554. package/build-module/ui/context/use-context-system.js.map +1 -1
  555. package/build-module/ui/utils/get-valid-children.js.map +1 -1
  556. package/build-module/ui/utils/space.js +7 -1
  557. package/build-module/ui/utils/space.js.map +1 -1
  558. package/build-module/unit-control/styles/unit-control-styles.js +10 -27
  559. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  560. package/build-module/utils/math.js +15 -6
  561. package/build-module/utils/math.js.map +1 -1
  562. package/build-module/v-stack/component.js +9 -9
  563. package/build-module/v-stack/component.js.map +1 -1
  564. package/build-module/v-stack/hook.js +0 -5
  565. package/build-module/v-stack/hook.js.map +1 -1
  566. package/build-module/v-stack/index.js.map +1 -1
  567. package/build-module/visually-hidden/component.js +12 -13
  568. package/build-module/visually-hidden/component.js.map +1 -1
  569. package/build-module/visually-hidden/index.js.map +1 -1
  570. package/build-module/visually-hidden/styles.js +3 -1
  571. package/build-module/visually-hidden/styles.js.map +1 -1
  572. package/build-module/visually-hidden/types.js +2 -0
  573. package/build-module/visually-hidden/types.js.map +1 -0
  574. package/build-style/style-rtl.css +41 -45
  575. package/build-style/style.css +41 -43
  576. package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
  577. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  578. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  579. package/build-types/border-control/border-control/component.d.ts +36 -2
  580. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  581. package/build-types/border-control/border-control/hook.d.ts +2 -2
  582. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  583. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  584. package/build-types/border-control/border-control-dropdown/hook.d.ts +0 -1
  585. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  586. package/build-types/border-control/stories/index.d.ts +33 -0
  587. package/build-types/border-control/stories/index.d.ts.map +1 -0
  588. package/build-types/border-control/styles.d.ts +1 -4
  589. package/build-types/border-control/styles.d.ts.map +1 -1
  590. package/build-types/card/card-divider/hook.d.ts +1 -1
  591. package/build-types/color-indicator/index.d.ts +16 -5
  592. package/build-types/color-indicator/index.d.ts.map +1 -1
  593. package/build-types/color-indicator/stories/index.d.ts +12 -0
  594. package/build-types/color-indicator/stories/index.d.ts.map +1 -0
  595. package/build-types/color-indicator/test/index.d.ts +2 -0
  596. package/build-types/color-indicator/test/index.d.ts.map +1 -0
  597. package/build-types/color-indicator/types.d.ts +12 -0
  598. package/build-types/color-indicator/types.d.ts.map +1 -0
  599. package/build-types/color-palette/index.d.ts +1 -0
  600. package/build-types/color-palette/index.d.ts.map +1 -1
  601. package/build-types/color-palette/styles.d.ts +4 -2
  602. package/build-types/color-palette/styles.d.ts.map +1 -1
  603. package/build-types/color-picker/component.d.ts.map +1 -1
  604. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  605. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  606. package/build-types/color-picker/styles.d.ts +47 -31
  607. package/build-types/color-picker/styles.d.ts.map +1 -1
  608. package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -1
  609. package/build-types/date-time/date/index.d.ts +1 -1
  610. package/build-types/date-time/date/index.d.ts.map +1 -1
  611. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  612. package/build-types/date-time/types.d.ts +6 -0
  613. package/build-types/date-time/types.d.ts.map +1 -1
  614. package/build-types/divider/component.d.ts +2 -3
  615. package/build-types/divider/component.d.ts.map +1 -1
  616. package/build-types/divider/index.d.ts +1 -1
  617. package/build-types/divider/index.d.ts.map +1 -1
  618. package/build-types/divider/styles.d.ts +6 -2
  619. package/build-types/divider/styles.d.ts.map +1 -1
  620. package/build-types/divider/test/index.d.ts +2 -0
  621. package/build-types/divider/test/index.d.ts.map +1 -0
  622. package/build-types/divider/types.d.ts +18 -10
  623. package/build-types/divider/types.d.ts.map +1 -1
  624. package/build-types/dropdown/dropdown-content-wrapper.d.ts +23 -0
  625. package/build-types/dropdown/dropdown-content-wrapper.d.ts.map +1 -0
  626. package/build-types/dropdown/styles.d.ts +7 -0
  627. package/build-types/dropdown/styles.d.ts.map +1 -0
  628. package/build-types/dropdown/types.d.ts +9 -0
  629. package/build-types/dropdown/types.d.ts.map +1 -0
  630. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  631. package/build-types/elevation/component.d.ts +11 -10
  632. package/build-types/elevation/component.d.ts.map +1 -1
  633. package/build-types/elevation/hook.d.ts +6 -7
  634. package/build-types/elevation/hook.d.ts.map +1 -1
  635. package/build-types/elevation/index.d.ts +2 -2
  636. package/build-types/elevation/index.d.ts.map +1 -1
  637. package/build-types/elevation/stories/index.d.ts +22 -0
  638. package/build-types/elevation/stories/index.d.ts.map +1 -0
  639. package/build-types/elevation/styles.d.ts +1 -1
  640. package/build-types/elevation/styles.d.ts.map +1 -1
  641. package/build-types/elevation/test/index.d.ts +2 -0
  642. package/build-types/elevation/test/index.d.ts.map +1 -0
  643. package/build-types/elevation/types.d.ts +12 -19
  644. package/build-types/elevation/types.d.ts.map +1 -1
  645. package/build-types/external-link/index.d.ts.map +1 -1
  646. package/build-types/flex/flex/component.d.ts +11 -17
  647. package/build-types/flex/flex/component.d.ts.map +1 -1
  648. package/build-types/flex/flex-block/component.d.ts +9 -3
  649. package/build-types/flex/flex-block/component.d.ts.map +1 -1
  650. package/build-types/flex/flex-item/component.d.ts +9 -3
  651. package/build-types/flex/flex-item/component.d.ts.map +1 -1
  652. package/build-types/flex/types.d.ts +4 -1
  653. package/build-types/flex/types.d.ts.map +1 -1
  654. package/build-types/form-toggle/index.d.ts +29 -0
  655. package/build-types/form-toggle/index.d.ts.map +1 -0
  656. package/build-types/form-toggle/stories/index.d.ts +12 -0
  657. package/build-types/form-toggle/stories/index.d.ts.map +1 -0
  658. package/build-types/form-toggle/test/index.d.ts +2 -0
  659. package/build-types/form-toggle/test/index.d.ts.map +1 -0
  660. package/build-types/form-toggle/types.d.ts +22 -0
  661. package/build-types/form-toggle/types.d.ts.map +1 -0
  662. package/build-types/form-token-field/index.d.ts.map +1 -1
  663. package/build-types/form-token-field/styles.d.ts +14 -0
  664. package/build-types/form-token-field/styles.d.ts.map +1 -0
  665. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
  666. package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts +3 -0
  667. package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts.map +1 -1
  668. package/build-types/form-token-field/types.d.ts +7 -0
  669. package/build-types/form-token-field/types.d.ts.map +1 -1
  670. package/build-types/grid/component.d.ts +3 -3
  671. package/build-types/grid/component.d.ts.map +1 -1
  672. package/build-types/grid/hook.d.ts +5 -2
  673. package/build-types/grid/hook.d.ts.map +1 -1
  674. package/build-types/grid/index.d.ts +2 -2
  675. package/build-types/grid/index.d.ts.map +1 -1
  676. package/build-types/grid/stories/index.d.ts +9 -0
  677. package/build-types/grid/stories/index.d.ts.map +1 -0
  678. package/build-types/grid/test/grid.d.ts +2 -0
  679. package/build-types/grid/test/grid.d.ts.map +1 -0
  680. package/build-types/grid/types.d.ts +16 -15
  681. package/build-types/grid/types.d.ts.map +1 -1
  682. package/build-types/grid/utils.d.ts +50 -69
  683. package/build-types/grid/utils.d.ts.map +1 -1
  684. package/build-types/h-stack/component.d.ts +3 -2
  685. package/build-types/h-stack/component.d.ts.map +1 -1
  686. package/build-types/h-stack/hook.d.ts +5 -3
  687. package/build-types/h-stack/hook.d.ts.map +1 -1
  688. package/build-types/h-stack/index.d.ts +2 -2
  689. package/build-types/h-stack/index.d.ts.map +1 -1
  690. package/build-types/h-stack/stories/index.d.ts +9 -0
  691. package/build-types/h-stack/stories/index.d.ts.map +1 -0
  692. package/build-types/h-stack/test/index.d.ts +2 -0
  693. package/build-types/h-stack/test/index.d.ts.map +1 -0
  694. package/build-types/h-stack/utils.d.ts +8 -4
  695. package/build-types/h-stack/utils.d.ts.map +1 -1
  696. package/build-types/heading/component.d.ts +1 -2
  697. package/build-types/heading/component.d.ts.map +1 -1
  698. package/build-types/heading/hook.d.ts +1 -28
  699. package/build-types/heading/hook.d.ts.map +1 -1
  700. package/build-types/heading/stories/index.d.ts.map +1 -1
  701. package/build-types/heading/test/index.d.ts +2 -0
  702. package/build-types/heading/test/index.d.ts.map +1 -0
  703. package/build-types/heading/types.d.ts +16 -0
  704. package/build-types/heading/types.d.ts.map +1 -0
  705. package/build-types/icon/index.d.ts +1 -1
  706. package/build-types/icon/index.d.ts.map +1 -1
  707. package/build-types/input-control/index.d.ts +1 -1
  708. package/build-types/input-control/index.d.ts.map +1 -1
  709. package/build-types/input-control/input-base.d.ts +1 -1
  710. package/build-types/input-control/input-base.d.ts.map +1 -1
  711. package/build-types/input-control/input-prefix-wrapper.d.ts +19 -0
  712. package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -0
  713. package/build-types/input-control/input-suffix-wrapper.d.ts +19 -0
  714. package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -0
  715. package/build-types/input-control/stories/index.d.ts +10 -0
  716. package/build-types/input-control/stories/index.d.ts.map +1 -1
  717. package/build-types/input-control/styles/input-control-styles.d.ts +21 -0
  718. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  719. package/build-types/input-control/types.d.ts +45 -3
  720. package/build-types/input-control/types.d.ts.map +1 -1
  721. package/build-types/menu-item/index.d.ts.map +1 -1
  722. package/build-types/popover/index.d.ts.map +1 -1
  723. package/build-types/radio-control/index.d.ts.map +1 -1
  724. package/build-types/range-control/index.d.ts +54 -29
  725. package/build-types/range-control/index.d.ts.map +1 -1
  726. package/build-types/range-control/input-range.d.ts +7 -10
  727. package/build-types/range-control/input-range.d.ts.map +1 -1
  728. package/build-types/range-control/mark.d.ts +4 -7
  729. package/build-types/range-control/mark.d.ts.map +1 -1
  730. package/build-types/range-control/rail.d.ts +4 -9
  731. package/build-types/range-control/rail.d.ts.map +1 -1
  732. package/build-types/range-control/stories/index.d.ts +48 -0
  733. package/build-types/range-control/stories/index.d.ts.map +1 -0
  734. package/build-types/range-control/styles/range-control-styles.d.ts +32 -40
  735. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  736. package/build-types/range-control/test/index.d.ts +2 -0
  737. package/build-types/range-control/test/index.d.ts.map +1 -0
  738. package/build-types/range-control/tooltip.d.ts +4 -11
  739. package/build-types/range-control/tooltip.d.ts.map +1 -1
  740. package/build-types/range-control/types.d.ts +304 -0
  741. package/build-types/range-control/types.d.ts.map +1 -0
  742. package/build-types/range-control/utils.d.ts +15 -33
  743. package/build-types/range-control/utils.d.ts.map +1 -1
  744. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  745. package/build-types/scroll-lock/index.d.ts +32 -3
  746. package/build-types/scroll-lock/index.d.ts.map +1 -1
  747. package/build-types/scroll-lock/stories/index.d.ts +9 -0
  748. package/build-types/scroll-lock/stories/index.d.ts.map +1 -0
  749. package/build-types/scroll-lock/test/index.d.ts +2 -0
  750. package/build-types/scroll-lock/test/index.d.ts.map +1 -0
  751. package/build-types/scrollable/component.d.ts +3 -3
  752. package/build-types/scrollable/component.d.ts.map +1 -1
  753. package/build-types/scrollable/hook.d.ts +5 -2
  754. package/build-types/scrollable/hook.d.ts.map +1 -1
  755. package/build-types/scrollable/index.d.ts +2 -2
  756. package/build-types/scrollable/index.d.ts.map +1 -1
  757. package/build-types/scrollable/stories/index.d.ts +9 -0
  758. package/build-types/scrollable/stories/index.d.ts.map +1 -0
  759. package/build-types/scrollable/styles.d.ts +7 -7
  760. package/build-types/scrollable/styles.d.ts.map +1 -1
  761. package/build-types/scrollable/test/index.d.ts +2 -0
  762. package/build-types/scrollable/test/index.d.ts.map +1 -0
  763. package/build-types/scrollable/types.d.ts +9 -6
  764. package/build-types/scrollable/types.d.ts.map +1 -1
  765. package/build-types/select-control/index.d.ts.map +1 -1
  766. package/build-types/select-control/styles/select-control-styles.d.ts +1 -1
  767. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  768. package/build-types/select-control/types.d.ts +1 -1
  769. package/build-types/select-control/types.d.ts.map +1 -1
  770. package/build-types/shortcut/index.d.ts +5 -24
  771. package/build-types/shortcut/index.d.ts.map +1 -1
  772. package/build-types/shortcut/test/index.d.ts +2 -0
  773. package/build-types/shortcut/test/index.d.ts.map +1 -0
  774. package/build-types/shortcut/types.d.ts +14 -0
  775. package/build-types/shortcut/types.d.ts.map +1 -0
  776. package/build-types/slot-fill/provider.d.ts.map +1 -1
  777. package/build-types/slot-fill/slot.d.ts.map +1 -1
  778. package/build-types/spacer/component.d.ts +6 -5
  779. package/build-types/spacer/component.d.ts.map +1 -1
  780. package/build-types/spacer/hook.d.ts +2 -2
  781. package/build-types/spacer/hook.d.ts.map +1 -1
  782. package/build-types/spacer/index.d.ts +1 -1
  783. package/build-types/spacer/index.d.ts.map +1 -1
  784. package/build-types/spacer/stories/index.d.ts +12 -0
  785. package/build-types/spacer/stories/index.d.ts.map +1 -0
  786. package/build-types/spacer/test/index.d.ts +2 -0
  787. package/build-types/spacer/test/index.d.ts.map +1 -0
  788. package/build-types/spacer/types.d.ts +41 -29
  789. package/build-types/spacer/types.d.ts.map +1 -1
  790. package/build-types/spinner/index.d.ts +16 -15
  791. package/build-types/spinner/index.d.ts.map +1 -1
  792. package/build-types/spinner/stories/index.d.ts +13 -0
  793. package/build-types/spinner/stories/index.d.ts.map +1 -0
  794. package/build-types/spinner/styles.d.ts +4 -3
  795. package/build-types/spinner/styles.d.ts.map +1 -1
  796. package/build-types/text/types.d.ts +1 -1
  797. package/build-types/text/types.d.ts.map +1 -1
  798. package/build-types/text-highlight/index.d.ts +23 -0
  799. package/build-types/text-highlight/index.d.ts.map +1 -0
  800. package/build-types/text-highlight/stories/index.d.ts +12 -0
  801. package/build-types/text-highlight/stories/index.d.ts.map +1 -0
  802. package/build-types/text-highlight/test/index.d.ts +2 -0
  803. package/build-types/text-highlight/test/index.d.ts.map +1 -0
  804. package/build-types/text-highlight/types.d.ts +17 -0
  805. package/build-types/text-highlight/types.d.ts.map +1 -0
  806. package/build-types/tip/index.d.ts +5 -14
  807. package/build-types/tip/index.d.ts.map +1 -1
  808. package/build-types/tip/stories/index.d.ts +12 -0
  809. package/build-types/tip/stories/index.d.ts.map +1 -0
  810. package/build-types/tip/types.d.ts +11 -0
  811. package/build-types/tip/types.d.ts.map +1 -0
  812. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +5 -1
  813. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  814. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +0 -1
  815. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  816. package/build-types/toggle-group-control/types.d.ts +6 -0
  817. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  818. package/build-types/tooltip/index.d.ts.map +1 -1
  819. package/build-types/tree-select/index.d.ts.map +1 -1
  820. package/build-types/tree-select/types.d.ts +1 -0
  821. package/build-types/tree-select/types.d.ts.map +1 -1
  822. package/build-types/truncate/component.d.ts +3 -3
  823. package/build-types/truncate/component.d.ts.map +1 -1
  824. package/build-types/truncate/hook.d.ts +5 -2
  825. package/build-types/truncate/hook.d.ts.map +1 -1
  826. package/build-types/truncate/index.d.ts +2 -2
  827. package/build-types/truncate/index.d.ts.map +1 -1
  828. package/build-types/truncate/stories/index.d.ts +13 -0
  829. package/build-types/truncate/stories/index.d.ts.map +1 -0
  830. package/build-types/truncate/styles.d.ts +1 -1
  831. package/build-types/truncate/styles.d.ts.map +1 -1
  832. package/build-types/truncate/test/index.d.ts +2 -0
  833. package/build-types/truncate/test/index.d.ts.map +1 -0
  834. package/build-types/truncate/types.d.ts +22 -11
  835. package/build-types/truncate/types.d.ts.map +1 -1
  836. package/build-types/truncate/utils.d.ts +17 -28
  837. package/build-types/truncate/utils.d.ts.map +1 -1
  838. package/build-types/ui/context/use-context-system.d.ts.map +1 -1
  839. package/build-types/ui/form-group/form-group.d.ts +1 -1
  840. package/build-types/ui/form-group/types.d.ts +1 -1
  841. package/build-types/ui/form-group/types.d.ts.map +1 -1
  842. package/build-types/ui/form-group/use-form-group.d.ts +5 -5
  843. package/build-types/ui/utils/get-valid-children.d.ts +2 -2
  844. package/build-types/ui/utils/get-valid-children.d.ts.map +1 -1
  845. package/build-types/ui/utils/space.d.ts +7 -1
  846. package/build-types/ui/utils/space.d.ts.map +1 -1
  847. package/build-types/unit-control/index.d.ts +2 -2
  848. package/build-types/unit-control/index.d.ts.map +1 -1
  849. package/build-types/unit-control/styles/unit-control-styles.d.ts +0 -1
  850. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  851. package/build-types/unit-control/types.d.ts +1 -1
  852. package/build-types/unit-control/types.d.ts.map +1 -1
  853. package/build-types/utils/math.d.ts +10 -0
  854. package/build-types/utils/math.d.ts.map +1 -1
  855. package/build-types/v-stack/component.d.ts +5 -4
  856. package/build-types/v-stack/component.d.ts.map +1 -1
  857. package/build-types/v-stack/hook.d.ts +5 -3
  858. package/build-types/v-stack/hook.d.ts.map +1 -1
  859. package/build-types/v-stack/index.d.ts +2 -2
  860. package/build-types/v-stack/index.d.ts.map +1 -1
  861. package/build-types/v-stack/stories/index.d.ts +9 -0
  862. package/build-types/v-stack/stories/index.d.ts.map +1 -0
  863. package/build-types/v-stack/test/index.d.ts +2 -0
  864. package/build-types/v-stack/test/index.d.ts.map +1 -0
  865. package/build-types/v-stack/types.d.ts +21 -1
  866. package/build-types/v-stack/types.d.ts.map +1 -1
  867. package/build-types/visually-hidden/component.d.ts +8 -10
  868. package/build-types/visually-hidden/component.d.ts.map +1 -1
  869. package/build-types/visually-hidden/index.d.ts +1 -1
  870. package/build-types/visually-hidden/index.d.ts.map +1 -1
  871. package/build-types/visually-hidden/stories/index.d.ts +14 -0
  872. package/build-types/visually-hidden/stories/index.d.ts.map +1 -0
  873. package/build-types/visually-hidden/styles.d.ts +5 -2
  874. package/build-types/visually-hidden/styles.d.ts.map +1 -1
  875. package/build-types/visually-hidden/test/index.d.ts +2 -0
  876. package/build-types/visually-hidden/test/index.d.ts.map +1 -0
  877. package/build-types/visually-hidden/types.d.ts +11 -0
  878. package/build-types/visually-hidden/types.d.ts.map +1 -0
  879. package/package.json +18 -17
  880. package/src/alignment-matrix-control/utils.js +1 -6
  881. package/src/angle-picker-control/index.js +1 -2
  882. package/src/autocomplete/autocompleter-ui.js +4 -1
  883. package/src/autocomplete/autocompleter-ui.native.js +8 -2
  884. package/src/autocomplete/get-default-use-items.js +3 -2
  885. package/src/autocomplete/index.js +7 -10
  886. package/src/base-control/styles/base-control-styles.ts +5 -0
  887. package/src/border-box-control/border-box-control/component.tsx +1 -0
  888. package/src/border-box-control/border-box-control-split-controls/component.tsx +1 -0
  889. package/src/border-control/border-control/component.tsx +82 -36
  890. package/src/border-control/border-control/hook.ts +5 -10
  891. package/src/border-control/border-control-dropdown/component.tsx +50 -45
  892. package/src/border-control/border-control-dropdown/hook.ts +0 -5
  893. package/src/border-control/stories/index.tsx +153 -0
  894. package/src/border-control/styles.ts +23 -69
  895. package/src/border-control/test/index.js +19 -8
  896. package/src/box-control/axial-input-controls.js +1 -1
  897. package/src/box-control/index.js +1 -1
  898. package/src/box-control/utils.js +9 -16
  899. package/src/button/README.md +1 -1
  900. package/src/card/test/__snapshots__/index.js.snap +8 -8
  901. package/src/color-indicator/README.md +7 -9
  902. package/src/color-indicator/index.tsx +47 -0
  903. package/src/color-indicator/stories/index.tsx +37 -0
  904. package/src/color-indicator/test/__snapshots__/index.tsx.snap +11 -0
  905. package/src/color-indicator/test/{index.js → index.tsx} +4 -4
  906. package/src/color-indicator/types.ts +12 -0
  907. package/src/color-palette/index.js +24 -9
  908. package/src/color-palette/style.scss +5 -0
  909. package/src/color-palette/test/utils.ts +19 -1
  910. package/src/color-picker/component.tsx +12 -11
  911. package/src/color-picker/hex-input.tsx +5 -3
  912. package/src/color-picker/index.native.js +20 -27
  913. package/src/color-picker/input-with-slider.tsx +6 -3
  914. package/src/color-picker/styles.ts +20 -17
  915. package/src/color-picker/use-deprecated-props.ts +24 -43
  916. package/src/combobox-control/index.js +20 -13
  917. package/src/combobox-control/stories/index.js +3 -2
  918. package/src/combobox-control/style.scss +1 -1
  919. package/src/combobox-control/styles.ts +27 -0
  920. package/src/confirm-dialog/README.md +1 -1
  921. package/src/custom-gradient-picker/index.js +4 -11
  922. package/src/custom-gradient-picker/index.native.js +3 -11
  923. package/src/custom-gradient-picker/serializer.js +5 -11
  924. package/src/custom-select-control/index.js +44 -26
  925. package/src/custom-select-control/stories/index.js +7 -2
  926. package/src/custom-select-control/style.scss +4 -29
  927. package/src/date-time/README.md +7 -0
  928. package/src/date-time/date/index.tsx +2 -0
  929. package/src/date-time/date-time/index.tsx +2 -0
  930. package/src/date-time/types.ts +7 -0
  931. package/src/dimension-control/README.md +5 -2
  932. package/src/dimension-control/test/index.test.js +7 -7
  933. package/src/divider/README.md +12 -5
  934. package/src/divider/component.tsx +2 -3
  935. package/src/divider/index.ts +1 -1
  936. package/src/divider/stories/index.tsx +4 -4
  937. package/src/divider/styles.ts +7 -7
  938. package/src/divider/test/__snapshots__/{index.js.snap → index.tsx.snap} +7 -7
  939. package/src/divider/test/index.tsx +40 -0
  940. package/src/divider/types.ts +21 -15
  941. package/src/draggable/README.md +1 -1
  942. package/src/dropdown/dropdown-content-wrapper.tsx +59 -0
  943. package/src/dropdown/stories/index.js +60 -69
  944. package/src/dropdown/styles.ts +38 -0
  945. package/src/dropdown/types.ts +8 -0
  946. package/src/dropdown-menu/index.js +3 -4
  947. package/src/dropdown-menu/index.native.js +3 -5
  948. package/src/duotone-picker/duotone-picker.js +58 -37
  949. package/src/duotone-picker/style.scss +19 -0
  950. package/src/elevation/README.md +16 -14
  951. package/src/elevation/component.tsx +48 -0
  952. package/src/elevation/{hook.js → hook.ts} +29 -26
  953. package/src/elevation/{index.js → index.ts} +0 -0
  954. package/src/elevation/stories/index.tsx +85 -0
  955. package/src/elevation/{styles.js → styles.ts} +0 -0
  956. package/src/elevation/test/__snapshots__/{index.js.snap → index.tsx.snap} +19 -13
  957. package/src/elevation/test/index.tsx +64 -0
  958. package/src/elevation/types.ts +12 -19
  959. package/src/external-link/index.tsx +10 -4
  960. package/src/flex/flex/README.md +3 -12
  961. package/src/flex/flex/component.js +11 -17
  962. package/src/flex/flex-block/README.md +0 -4
  963. package/src/flex/flex-block/component.js +9 -3
  964. package/src/flex/flex-item/README.md +1 -5
  965. package/src/flex/flex-item/component.js +9 -3
  966. package/src/flex/stories/index.js +1 -1
  967. package/src/flex/types.ts +4 -1
  968. package/src/focal-point-picker/grid.js +2 -5
  969. package/src/focal-point-picker/index.native.js +9 -9
  970. package/src/focal-point-picker/tooltip/index.native.js +10 -11
  971. package/src/form-toggle/README.md +10 -11
  972. package/src/form-toggle/index.tsx +71 -0
  973. package/src/form-toggle/stories/index.tsx +52 -0
  974. package/src/form-toggle/test/__snapshots__/index.tsx.snap +54 -0
  975. package/src/form-toggle/test/index.tsx +102 -0
  976. package/src/form-toggle/types.ts +22 -0
  977. package/src/form-token-field/index.tsx +45 -24
  978. package/src/form-token-field/style.scss +2 -7
  979. package/src/form-token-field/styles.ts +32 -0
  980. package/src/form-token-field/suggestions-list.tsx +2 -4
  981. package/src/form-token-field/test/index.js +7 -10
  982. package/src/form-token-field/test/lib/token-field-wrapper.tsx +2 -2
  983. package/src/form-token-field/types.ts +7 -0
  984. package/src/grid/README.md +33 -19
  985. package/src/grid/{component.js → component.tsx} +13 -9
  986. package/src/grid/{hook.js → hook.ts} +5 -5
  987. package/src/grid/{index.js → index.ts} +0 -0
  988. package/src/grid/stories/index.tsx +72 -0
  989. package/src/grid/test/{grid.js → grid.tsx} +4 -4
  990. package/src/grid/types.ts +16 -17
  991. package/src/grid/{utils.js → utils.ts} +9 -7
  992. package/src/guide/style.scss +1 -0
  993. package/src/h-stack/{component.js → component.tsx} +8 -8
  994. package/src/h-stack/{hook.js → hook.tsx} +21 -16
  995. package/src/h-stack/{index.js → index.ts} +0 -0
  996. package/src/h-stack/stories/index.tsx +92 -0
  997. package/src/h-stack/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  998. package/src/h-stack/test/{index.js → index.tsx} +0 -0
  999. package/src/h-stack/{utils.js → utils.ts} +16 -16
  1000. package/src/heading/README.md +4 -3
  1001. package/src/heading/component.tsx +2 -2
  1002. package/src/heading/hook.ts +1 -42
  1003. package/src/heading/stories/index.tsx +5 -1
  1004. package/src/heading/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1005. package/src/heading/test/index.tsx +68 -0
  1006. package/src/heading/types.ts +29 -0
  1007. package/src/higher-order/navigate-regions/README.md +4 -1
  1008. package/src/icon/index.tsx +1 -1
  1009. package/src/index.js +3 -0
  1010. package/src/input-control/index.tsx +6 -0
  1011. package/src/input-control/input-base.tsx +28 -12
  1012. package/src/input-control/input-prefix-wrapper.tsx +48 -0
  1013. package/src/input-control/input-suffix-wrapper.tsx +48 -0
  1014. package/src/input-control/stories/index.tsx +15 -2
  1015. package/src/input-control/styles/input-control-styles.tsx +25 -11
  1016. package/src/input-control/test/index.js +106 -31
  1017. package/src/input-control/types.ts +52 -3
  1018. package/src/menu-item/index.js +1 -2
  1019. package/src/mobile/bottom-sheet/keyboard-avoiding-view.native.js +2 -7
  1020. package/src/mobile/focal-point-settings-panel/index.native.js +2 -2
  1021. package/src/mobile/image/index.native.js +12 -6
  1022. package/src/mobile/link-picker/index.native.js +2 -3
  1023. package/src/mobile/media-edit/index.native.js +2 -7
  1024. package/src/mobile/segmented-control/index.native.js +6 -5
  1025. package/src/modal/index.js +21 -2
  1026. package/src/modal/stories/index.js +17 -1
  1027. package/src/modal/style.scss +14 -19
  1028. package/src/navigation/group/index.js +8 -3
  1029. package/src/navigation/index.js +3 -0
  1030. package/src/navigation/item/base.js +5 -3
  1031. package/src/navigation/item/use-navigation-tree-item.js +2 -0
  1032. package/src/navigation/menu/menu-title-search.js +3 -6
  1033. package/src/navigation/menu/search-no-results-found.js +3 -6
  1034. package/src/navigation/use-navigation-tree-nodes.js +11 -10
  1035. package/src/navigation/utils.js +2 -2
  1036. package/src/number-control/stories/index.js +24 -24
  1037. package/src/popover/README.md +2 -2
  1038. package/src/popover/index.js +20 -13
  1039. package/src/popover/stories/index.js +2 -0
  1040. package/src/popover/style.scss +1 -1
  1041. package/src/radio-control/index.tsx +1 -2
  1042. package/src/range-control/README.md +108 -80
  1043. package/src/range-control/{index.js → index.tsx} +79 -49
  1044. package/src/range-control/{input-range.js → input-range.tsx} +11 -7
  1045. package/src/range-control/{mark.js → mark.tsx} +15 -9
  1046. package/src/range-control/{rail.js → rail.tsx} +40 -23
  1047. package/src/range-control/stories/index.tsx +244 -0
  1048. package/src/range-control/styles/{range-control-styles.js → range-control-styles.ts} +28 -24
  1049. package/src/range-control/test/index.tsx +341 -0
  1050. package/src/range-control/{tooltip.js → tooltip.tsx} +19 -14
  1051. package/src/range-control/types.ts +328 -0
  1052. package/src/range-control/utils.ts +135 -0
  1053. package/src/resizable-box/resize-tooltip/utils.ts +2 -3
  1054. package/src/sandbox/index.native.js +14 -1
  1055. package/src/scroll-lock/README.md +1 -1
  1056. package/src/scroll-lock/{index.js → index.tsx} +34 -7
  1057. package/src/scroll-lock/stories/index.tsx +96 -0
  1058. package/src/scroll-lock/test/index.tsx +26 -0
  1059. package/src/scrollable/README.md +14 -8
  1060. package/src/scrollable/{component.js → component.tsx} +13 -10
  1061. package/src/scrollable/{hook.js → hook.ts} +5 -7
  1062. package/src/scrollable/{index.js → index.ts} +0 -0
  1063. package/src/scrollable/stories/{index.js → index.tsx} +29 -34
  1064. package/src/scrollable/{styles.js → styles.ts} +0 -0
  1065. package/src/scrollable/test/__snapshots__/{index.js.snap → index.tsx.snap} +1 -0
  1066. package/src/scrollable/test/index.tsx +34 -0
  1067. package/src/scrollable/types.ts +10 -5
  1068. package/src/select-control/index.tsx +1 -2
  1069. package/src/select-control/styles/select-control-styles.ts +33 -9
  1070. package/src/select-control/test/select-control.tsx +22 -15
  1071. package/src/select-control/types.ts +1 -0
  1072. package/src/shortcut/index.tsx +32 -0
  1073. package/src/shortcut/test/__snapshots__/index.tsx.snap +15 -0
  1074. package/src/shortcut/test/index.tsx +41 -0
  1075. package/src/shortcut/types.ts +10 -0
  1076. package/src/slot-fill/index.native.js +2 -7
  1077. package/src/slot-fill/provider.js +3 -7
  1078. package/src/slot-fill/slot.js +21 -24
  1079. package/src/slot-fill/test/slot.js +2 -3
  1080. package/src/spacer/README.md +43 -37
  1081. package/src/spacer/component.tsx +8 -7
  1082. package/src/spacer/hook.ts +4 -2
  1083. package/src/spacer/index.ts +1 -1
  1084. package/src/spacer/stories/index.tsx +70 -0
  1085. package/src/spacer/test/__snapshots__/{index.js.snap → index.tsx.snap} +1 -0
  1086. package/src/spacer/test/index.tsx +149 -0
  1087. package/src/spacer/types.ts +41 -29
  1088. package/src/spinner/{index.js → index.tsx} +23 -9
  1089. package/src/spinner/stories/index.tsx +32 -0
  1090. package/src/spinner/{styles.js → styles.ts} +0 -0
  1091. package/src/style.scss +1 -0
  1092. package/src/tab-panel/README.md +1 -1
  1093. package/src/text/types.ts +1 -1
  1094. package/src/text-highlight/README.md +6 -6
  1095. package/src/text-highlight/index.tsx +49 -0
  1096. package/src/text-highlight/stories/index.tsx +33 -0
  1097. package/src/text-highlight/test/index.tsx +93 -0
  1098. package/src/text-highlight/types.ts +16 -0
  1099. package/src/tip/index.tsx +22 -0
  1100. package/src/tip/stories/index.tsx +33 -0
  1101. package/src/tip/types.ts +11 -0
  1102. package/src/toggle-group-control/stories/index.js +19 -3
  1103. package/src/toggle-group-control/test/__snapshots__/index.js.snap +4 -4
  1104. package/src/toggle-group-control/toggle-group-control/component.tsx +3 -3
  1105. package/src/toggle-group-control/toggle-group-control/styles.ts +22 -2
  1106. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +0 -4
  1107. package/src/toggle-group-control/types.ts +6 -0
  1108. package/src/toolbar-group/index.js +1 -2
  1109. package/src/tools-panel/tools-panel/README.md +94 -21
  1110. package/src/tooltip/index.js +56 -10
  1111. package/src/tooltip/stories/index.js +28 -13
  1112. package/src/tooltip/style.scss +1 -1
  1113. package/src/tree-select/index.tsx +7 -6
  1114. package/src/tree-select/types.ts +4 -0
  1115. package/src/truncate/README.md +16 -12
  1116. package/src/truncate/{component.js → component.tsx} +13 -9
  1117. package/src/truncate/{hook.js → hook.ts} +8 -10
  1118. package/src/truncate/{index.js → index.ts} +0 -0
  1119. package/src/truncate/stories/index.tsx +49 -0
  1120. package/src/truncate/{styles.js → styles.ts} +0 -0
  1121. package/src/truncate/test/{index.js → index.tsx} +4 -4
  1122. package/src/truncate/types.ts +28 -10
  1123. package/src/truncate/{utils.js → utils.ts} +19 -19
  1124. package/src/ui/context/test/context-system-provider.js +101 -1
  1125. package/src/ui/context/use-context-system.js +7 -2
  1126. package/src/ui/form-group/types.ts +1 -1
  1127. package/src/ui/utils/get-valid-children.ts +4 -2
  1128. package/src/ui/utils/space.ts +7 -1
  1129. package/src/unit-control/styles/unit-control-styles.ts +15 -13
  1130. package/src/unit-control/test/__snapshots__/index.tsx.snap +4 -4
  1131. package/src/unit-control/types.ts +1 -1
  1132. package/src/utils/math.js +14 -5
  1133. package/src/utils/test/math.js +22 -1
  1134. package/src/v-stack/README.md +6 -18
  1135. package/src/v-stack/{component.js → component.tsx} +15 -10
  1136. package/src/v-stack/{hook.js → hook.ts} +5 -6
  1137. package/src/v-stack/{index.js → index.ts} +0 -0
  1138. package/src/v-stack/stories/index.tsx +41 -0
  1139. package/src/v-stack/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1140. package/src/v-stack/test/{index.js → index.tsx} +0 -0
  1141. package/src/v-stack/types.ts +21 -1
  1142. package/src/visually-hidden/{component.js → component.tsx} +23 -15
  1143. package/src/visually-hidden/{index.js → index.ts} +0 -0
  1144. package/src/visually-hidden/stories/index.tsx +66 -0
  1145. package/src/visually-hidden/{styles.js → styles.ts} +6 -2
  1146. package/src/visually-hidden/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1147. package/src/visually-hidden/test/index.tsx +17 -0
  1148. package/src/visually-hidden/types.ts +11 -0
  1149. package/tsconfig.json +2 -0
  1150. package/tsconfig.tsbuildinfo +1 -1
  1151. package/src/border-control/stories/index.js +0 -119
  1152. package/src/color-indicator/index.js +0 -16
  1153. package/src/color-indicator/stories/index.js +0 -22
  1154. package/src/color-indicator/test/__snapshots__/index.js.snap +0 -13
  1155. package/src/divider/test/index.js +0 -41
  1156. package/src/elevation/component.js +0 -43
  1157. package/src/elevation/stories/index.js +0 -148
  1158. package/src/elevation/test/index.js +0 -51
  1159. package/src/form-toggle/index.js +0 -38
  1160. package/src/form-toggle/stories/index.js +0 -28
  1161. package/src/form-toggle/test/index.js +0 -74
  1162. package/src/grid/stories/index.js +0 -49
  1163. package/src/h-stack/stories/index.js +0 -22
  1164. package/src/heading/test/index.js +0 -67
  1165. package/src/range-control/stories/index.js +0 -180
  1166. package/src/range-control/test/index.js +0 -320
  1167. package/src/range-control/utils.js +0 -134
  1168. package/src/scroll-lock/stories/index.js +0 -71
  1169. package/src/scroll-lock/test/index.js +0 -53
  1170. package/src/scrollable/test/index.js +0 -31
  1171. package/src/shortcut/index.js +0 -41
  1172. package/src/shortcut/test/index.js +0 -37
  1173. package/src/spacer/stories/index.js +0 -59
  1174. package/src/spacer/test/index.js +0 -146
  1175. package/src/spinner/stories/index.js +0 -43
  1176. package/src/text-highlight/index.js +0 -28
  1177. package/src/text-highlight/stories/index.js +0 -28
  1178. package/src/text-highlight/test/index.js +0 -120
  1179. package/src/tip/index.js +0 -24
  1180. package/src/tip/stories/index.js +0 -26
  1181. package/src/truncate/stories/index.js +0 -38
  1182. package/src/visually-hidden/stories/index.js +0 -42
  1183. package/src/visually-hidden/test/index.js +0 -19
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/range-control/styles/range-control-styles.js"],"names":["rangeHeightValue","railHeight","rangeHeight","height","minHeight","thumbSize","Root","wrapperColor","color","colorProp","COLORS","ui","borderFocus","wrapperMargin","marks","marginBottom","Wrapper","blue","medium","focus","BeforeIconWrapper","marginRight","AfterIconWrapper","marginLeft","railBackgroundColor","disabled","railColor","background","lightGray","Rail","trackBackgroundColor","trackColor","Track","MarksWrapper","markFill","isFilled","backgroundColor","Mark","markLabelFill","darkGray","MarkLabel","thumbColor","css","ThumbWrapper","transform","thumbFocus","isFocused","Thumb","InputRange","tooltipShow","show","opacity","tooltipPosition","position","isBottom","Tooltip","InputNumber","NumberControl","ActionRightWrapper"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\n\n/**\n * Internal dependencies\n */\nimport NumberControl from '../../number-control';\nimport { COLORS, reduceMotion, rtl } from '../../utils';\nimport { space } from '../../ui/utils/space';\n\nconst rangeHeightValue = 30;\nconst railHeight = 4;\nconst rangeHeight = () =>\n\tcss( { height: rangeHeightValue, minHeight: rangeHeightValue } );\nconst thumbSize = 12;\n\nexport const Root = styled.div`\n\t-webkit-tap-highlight-color: transparent;\n\tbox-sizing: border-box;\n\talign-items: flex-start;\n\tdisplay: inline-flex;\n\tjustify-content: flex-start;\n\tpadding: 0;\n\tposition: relative;\n\ttouch-action: none;\n\twidth: 100%;\n`;\n\nconst wrapperColor = ( { color: colorProp = COLORS.ui.borderFocus } ) => {\n\treturn css( { color: colorProp } );\n};\nconst wrapperMargin = ( { marks } ) =>\n\tcss( { marginBottom: marks ? 16 : null } );\n\nexport const Wrapper = styled.div`\n\tbox-sizing: border-box;\n\tcolor: ${ COLORS.blue.medium.focus };\n\tdisplay: block;\n\tflex: 1;\n\tposition: relative;\n\twidth: 100%;\n\n\t${ wrapperColor };\n\t${ rangeHeight };\n\t${ wrapperMargin };\n`;\n\nexport const BeforeIconWrapper = styled.span`\n\tmargin-top: ${ railHeight }px;\n\n\t${ rtl( { marginRight: 6 } ) }\n`;\n\nexport const AfterIconWrapper = styled.span`\n\tmargin-top: ${ railHeight }px;\n\n\t${ rtl( { marginLeft: 6 } ) }\n`;\n\nconst railBackgroundColor = ( { disabled, railColor } ) => {\n\tlet background = railColor || null;\n\n\tif ( disabled ) {\n\t\tbackground = COLORS.lightGray[ 400 ];\n\t}\n\n\treturn css( {\n\t\tbackground,\n\t} );\n};\n\nexport const Rail = styled.span`\n\tbackground-color: ${ COLORS.lightGray[ 600 ] };\n\tbox-sizing: border-box;\n\tleft: 0;\n\tpointer-events: none;\n\tright: 0;\n\tdisplay: block;\n\theight: ${ railHeight }px;\n\tposition: absolute;\n\tmargin-top: ${ ( rangeHeightValue - railHeight ) / 2 }px;\n\ttop: 0;\n\tborder-radius: ${ railHeight }px;\n\n\t${ railBackgroundColor };\n`;\n\nconst trackBackgroundColor = ( { disabled, trackColor } ) => {\n\tlet background = trackColor || 'currentColor';\n\n\tif ( disabled ) {\n\t\tbackground = COLORS.lightGray[ 800 ];\n\t}\n\n\treturn css( {\n\t\tbackground,\n\t} );\n};\n\nexport const Track = styled.span`\n\tbackground-color: currentColor;\n\tborder-radius: ${ railHeight }px;\n\tbox-sizing: border-box;\n\theight: ${ railHeight }px;\n\tpointer-events: none;\n\tdisplay: block;\n\tposition: absolute;\n\tmargin-top: ${ ( rangeHeightValue - railHeight ) / 2 }px;\n\ttop: 0;\n\n\t${ trackBackgroundColor };\n`;\n\nexport const MarksWrapper = styled.span`\n\tbox-sizing: border-box;\n\tdisplay: block;\n\tpointer-events: none;\n\tposition: relative;\n\twidth: 100%;\n\tuser-select: none;\n`;\n\nconst markFill = ( { disabled, isFilled } ) => {\n\tlet backgroundColor = isFilled ? 'currentColor' : COLORS.lightGray[ 600 ];\n\n\tif ( disabled ) {\n\t\tbackgroundColor = COLORS.lightGray[ 800 ];\n\t}\n\n\treturn css( {\n\t\tbackgroundColor,\n\t} );\n};\n\nexport const Mark = styled.span`\n\tbox-sizing: border-box;\n\theight: ${ thumbSize }px;\n\tleft: 0;\n\tposition: absolute;\n\ttop: -4px;\n\twidth: 1px;\n\n\t${ markFill };\n`;\n\nconst markLabelFill = ( { isFilled } ) => {\n\treturn css( {\n\t\tcolor: isFilled ? COLORS.darkGray[ 300 ] : COLORS.lightGray[ 600 ],\n\t} );\n};\n\nexport const MarkLabel = styled.span`\n\tbox-sizing: border-box;\n\tcolor: ${ COLORS.lightGray[ 600 ] };\n\tleft: 0;\n\tfont-size: 11px;\n\tposition: absolute;\n\ttop: 12px;\n\ttransform: translateX( -50% );\n\twhite-space: nowrap;\n\n\t${ markLabelFill };\n`;\n\nconst thumbColor = ( { disabled } ) =>\n\tdisabled\n\t\t? css`\n\t\t\t\tbackground-color: ${ COLORS.lightGray[ 800 ] };\n\t\t `\n\t\t: css`\n\t\t\t\tbackground-color: var( --wp-admin-theme-color );\n\t\t `;\n\nexport const ThumbWrapper = styled.span`\n\talign-items: center;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\theight: ${ thumbSize }px;\n\tjustify-content: center;\n\tmargin-top: ${ ( rangeHeightValue - thumbSize ) / 2 }px;\n\toutline: 0;\n\tpointer-events: none;\n\tposition: absolute;\n\ttop: 0;\n\tuser-select: none;\n\twidth: ${ thumbSize }px;\n\tborder-radius: 50%;\n\n\t${ thumbColor };\n\t${ rtl( { marginLeft: -10 } ) };\n\t${ rtl(\n\t\t{ transform: 'translateX( 4.5px )' },\n\t\t{ transform: 'translateX( -4.5px )' }\n\t) };\n`;\n\nconst thumbFocus = ( { isFocused } ) => {\n\treturn isFocused\n\t\t? css`\n\t\t\t\t&::before {\n\t\t\t\t\tcontent: ' ';\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tbackground-color: var( --wp-admin-theme-color );\n\t\t\t\t\topacity: 0.4;\n\t\t\t\t\tborder-radius: 50%;\n\t\t\t\t\theight: ${ thumbSize + 8 }px;\n\t\t\t\t\twidth: ${ thumbSize + 8 }px;\n\t\t\t\t\ttop: -4px;\n\t\t\t\t\tleft: -4px;\n\t\t\t\t}\n\t\t `\n\t\t: '';\n};\n\nexport const Thumb = styled.span`\n\talign-items: center;\n\tborder-radius: 50%;\n\tbox-sizing: border-box;\n\theight: 100%;\n\toutline: 0;\n\tposition: absolute;\n\tuser-select: none;\n\twidth: 100%;\n\n\t${ thumbColor };\n\t${ thumbFocus };\n`;\n\nexport const InputRange = styled.input`\n\tbox-sizing: border-box;\n\tcursor: pointer;\n\tdisplay: block;\n\theight: 100%;\n\tleft: 0;\n\tmargin: 0 -${ thumbSize / 2 }px;\n\topacity: 0;\n\toutline: none;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\twidth: calc( 100% + ${ thumbSize }px );\n`;\n\nconst tooltipShow = ( { show } ) => {\n\treturn css( {\n\t\topacity: show ? 1 : 0,\n\t} );\n};\n\nconst tooltipPosition = ( { position } ) => {\n\tconst isBottom = position === 'bottom';\n\n\tif ( isBottom ) {\n\t\treturn css`\n\t\t\tbottom: -80%;\n\t\t`;\n\t}\n\n\treturn css`\n\t\ttop: -80%;\n\t`;\n};\n\nexport const Tooltip = styled.span`\n\tbackground: rgba( 0, 0, 0, 0.8 );\n\tborder-radius: 2px;\n\tbox-sizing: border-box;\n\tcolor: white;\n\tdisplay: inline-block;\n\tfont-size: 12px;\n\tmin-width: 32px;\n\topacity: 0;\n\tpadding: 4px 8px;\n\tpointer-events: none;\n\tposition: absolute;\n\ttext-align: center;\n\ttransition: opacity 120ms ease;\n\tuser-select: none;\n\tline-height: 1.4;\n\n\t${ tooltipShow };\n\t${ tooltipPosition };\n\t${ reduceMotion( 'transition' ) };\n\t${ rtl(\n\t\t{ transform: 'translateX(-50%)' },\n\t\t{ transform: 'translateX(50%)' }\n\t) }\n`;\n\n// @todo: Refactor RangeControl with latest HStack configuration\n// @wordpress/components/ui/hstack.\nexport const InputNumber = styled( NumberControl )`\n\tbox-sizing: border-box;\n\tdisplay: inline-block;\n\tfont-size: 13px;\n\tmargin-top: 0;\n\twidth: ${ space( 16 ) } !important;\n\n\tinput[type='number']& {\n\t\t${ rangeHeight };\n\t}\n\n\t${ rtl( { marginLeft: `${ space( 4 ) } !important` } ) }\n`;\n\nexport const ActionRightWrapper = styled.span`\n\tbox-sizing: border-box;\n\tdisplay: block;\n\tmargin-top: 0;\n\n\tbutton,\n\tbutton.is-small {\n\t\tmargin-left: 0;\n\t\t${ rangeHeight };\n\t}\n\n\t${ rtl( { marginLeft: 8 } ) }\n`;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/range-control/styles/range-control-styles.ts"],"names":["rangeHeightValue","railHeight","rangeHeight","height","minHeight","thumbSize","Root","wrapperColor","color","COLORS","ui","borderFocus","wrapperMargin","marks","marginBottom","undefined","Wrapper","blue","medium","focus","BeforeIconWrapper","marginRight","AfterIconWrapper","marginLeft","railBackgroundColor","disabled","railColor","background","lightGray","Rail","trackBackgroundColor","trackColor","Track","MarksWrapper","markFill","isFilled","backgroundColor","Mark","markLabelFill","darkGray","MarkLabel","thumbColor","css","ThumbWrapper","transform","thumbFocus","isFocused","Thumb","InputRange","tooltipShow","show","opacity","tooltipPosition","position","isBottom","Tooltip","InputNumber","NumberControl","ActionRightWrapper"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\n\n/**\n * Internal dependencies\n */\nimport NumberControl from '../../number-control';\nimport { COLORS, reduceMotion, rtl } from '../../utils';\nimport { space } from '../../ui/utils/space';\n\nimport type {\n\tRangeMarkProps,\n\tRailProps,\n\tThumbProps,\n\tTooltipProps,\n\tTrackProps,\n\tWrapperProps,\n} from '../types';\n\nconst rangeHeightValue = 30;\nconst railHeight = 4;\nconst rangeHeight = () =>\n\tcss( { height: rangeHeightValue, minHeight: rangeHeightValue } );\nconst thumbSize = 12;\n\nexport const Root = styled.div`\n\t-webkit-tap-highlight-color: transparent;\n\tbox-sizing: border-box;\n\talign-items: flex-start;\n\tdisplay: inline-flex;\n\tjustify-content: flex-start;\n\tpadding: 0;\n\tposition: relative;\n\ttouch-action: none;\n\twidth: 100%;\n`;\n\nconst wrapperColor = ( { color = COLORS.ui.borderFocus }: WrapperProps ) =>\n\tcss( { color } );\n\nconst wrapperMargin = ( { marks }: WrapperProps ) =>\n\tcss( { marginBottom: marks ? 16 : undefined } );\n\nexport const Wrapper = styled.div< WrapperProps >`\n\tbox-sizing: border-box;\n\tcolor: ${ COLORS.blue.medium.focus };\n\tdisplay: block;\n\tflex: 1;\n\tposition: relative;\n\twidth: 100%;\n\n\t${ wrapperColor };\n\t${ rangeHeight };\n\t${ wrapperMargin };\n`;\n\nexport const BeforeIconWrapper = styled.span`\n\tmargin-top: ${ railHeight }px;\n\n\t${ rtl( { marginRight: 6 } ) }\n`;\n\nexport const AfterIconWrapper = styled.span`\n\tmargin-top: ${ railHeight }px;\n\n\t${ rtl( { marginLeft: 6 } ) }\n`;\n\nconst railBackgroundColor = ( { disabled, railColor }: RailProps ) => {\n\tlet background = railColor || '';\n\n\tif ( disabled ) {\n\t\tbackground = COLORS.lightGray[ 400 ];\n\t}\n\n\treturn css( { background } );\n};\n\nexport const Rail = styled.span`\n\tbackground-color: ${ COLORS.lightGray[ 600 ] };\n\tbox-sizing: border-box;\n\tleft: 0;\n\tpointer-events: none;\n\tright: 0;\n\tdisplay: block;\n\theight: ${ railHeight }px;\n\tposition: absolute;\n\tmargin-top: ${ ( rangeHeightValue - railHeight ) / 2 }px;\n\ttop: 0;\n\tborder-radius: ${ railHeight }px;\n\n\t${ railBackgroundColor };\n`;\n\nconst trackBackgroundColor = ( { disabled, trackColor }: TrackProps ) => {\n\tlet background = trackColor || 'currentColor';\n\n\tif ( disabled ) {\n\t\tbackground = COLORS.lightGray[ 800 ];\n\t}\n\n\treturn css( { background } );\n};\n\nexport const Track = styled.span`\n\tbackground-color: currentColor;\n\tborder-radius: ${ railHeight }px;\n\tbox-sizing: border-box;\n\theight: ${ railHeight }px;\n\tpointer-events: none;\n\tdisplay: block;\n\tposition: absolute;\n\tmargin-top: ${ ( rangeHeightValue - railHeight ) / 2 }px;\n\ttop: 0;\n\n\t${ trackBackgroundColor };\n`;\n\nexport const MarksWrapper = styled.span`\n\tbox-sizing: border-box;\n\tdisplay: block;\n\tpointer-events: none;\n\tposition: relative;\n\twidth: 100%;\n\tuser-select: none;\n`;\n\nconst markFill = ( { disabled, isFilled }: RangeMarkProps ) => {\n\tlet backgroundColor = isFilled ? 'currentColor' : COLORS.lightGray[ 600 ];\n\n\tif ( disabled ) {\n\t\tbackgroundColor = COLORS.lightGray[ 800 ];\n\t}\n\n\treturn css( {\n\t\tbackgroundColor,\n\t} );\n};\n\nexport const Mark = styled.span`\n\tbox-sizing: border-box;\n\theight: ${ thumbSize }px;\n\tleft: 0;\n\tposition: absolute;\n\ttop: -4px;\n\twidth: 1px;\n\n\t${ markFill };\n`;\n\nconst markLabelFill = ( { isFilled }: RangeMarkProps ) => {\n\treturn css( {\n\t\tcolor: isFilled ? COLORS.darkGray[ 300 ] : COLORS.lightGray[ 600 ],\n\t} );\n};\n\nexport const MarkLabel = styled.span`\n\tbox-sizing: border-box;\n\tcolor: ${ COLORS.lightGray[ 600 ] };\n\tleft: 0;\n\tfont-size: 11px;\n\tposition: absolute;\n\ttop: 12px;\n\ttransform: translateX( -50% );\n\twhite-space: nowrap;\n\n\t${ markLabelFill };\n`;\n\nconst thumbColor = ( { disabled }: ThumbProps ) =>\n\tdisabled\n\t\t? css`\n\t\t\t\tbackground-color: ${ COLORS.lightGray[ 800 ] };\n\t\t `\n\t\t: css`\n\t\t\t\tbackground-color: var( --wp-admin-theme-color );\n\t\t `;\n\nexport const ThumbWrapper = styled.span`\n\talign-items: center;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\theight: ${ thumbSize }px;\n\tjustify-content: center;\n\tmargin-top: ${ ( rangeHeightValue - thumbSize ) / 2 }px;\n\toutline: 0;\n\tpointer-events: none;\n\tposition: absolute;\n\ttop: 0;\n\tuser-select: none;\n\twidth: ${ thumbSize }px;\n\tborder-radius: 50%;\n\n\t${ thumbColor };\n\t${ rtl( { marginLeft: -10 } ) };\n\t${ rtl(\n\t\t{ transform: 'translateX( 4.5px )' },\n\t\t{ transform: 'translateX( -4.5px )' }\n\t) };\n`;\n\nconst thumbFocus = ( { isFocused }: ThumbProps ) => {\n\treturn isFocused\n\t\t? css`\n\t\t\t\t&::before {\n\t\t\t\t\tcontent: ' ';\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tbackground-color: var( --wp-admin-theme-color );\n\t\t\t\t\topacity: 0.4;\n\t\t\t\t\tborder-radius: 50%;\n\t\t\t\t\theight: ${ thumbSize + 8 }px;\n\t\t\t\t\twidth: ${ thumbSize + 8 }px;\n\t\t\t\t\ttop: -4px;\n\t\t\t\t\tleft: -4px;\n\t\t\t\t}\n\t\t `\n\t\t: '';\n};\n\nexport const Thumb = styled.span< ThumbProps >`\n\talign-items: center;\n\tborder-radius: 50%;\n\tbox-sizing: border-box;\n\theight: 100%;\n\toutline: 0;\n\tposition: absolute;\n\tuser-select: none;\n\twidth: 100%;\n\n\t${ thumbColor };\n\t${ thumbFocus };\n`;\n\nexport const InputRange = styled.input`\n\tbox-sizing: border-box;\n\tcursor: pointer;\n\tdisplay: block;\n\theight: 100%;\n\tleft: 0;\n\tmargin: 0 -${ thumbSize / 2 }px;\n\topacity: 0;\n\toutline: none;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\twidth: calc( 100% + ${ thumbSize }px );\n`;\n\nconst tooltipShow = ( { show }: TooltipProps ) => {\n\treturn css( {\n\t\topacity: show ? 1 : 0,\n\t} );\n};\n\nconst tooltipPosition = ( { position }: TooltipProps ) => {\n\tconst isBottom = position === 'bottom';\n\n\tif ( isBottom ) {\n\t\treturn css`\n\t\t\tbottom: -80%;\n\t\t`;\n\t}\n\n\treturn css`\n\t\ttop: -80%;\n\t`;\n};\n\nexport const Tooltip = styled.span< TooltipProps >`\n\tbackground: rgba( 0, 0, 0, 0.8 );\n\tborder-radius: 2px;\n\tbox-sizing: border-box;\n\tcolor: white;\n\tdisplay: inline-block;\n\tfont-size: 12px;\n\tmin-width: 32px;\n\topacity: 0;\n\tpadding: 4px 8px;\n\tpointer-events: none;\n\tposition: absolute;\n\ttext-align: center;\n\ttransition: opacity 120ms ease;\n\tuser-select: none;\n\tline-height: 1.4;\n\n\t${ tooltipShow };\n\t${ tooltipPosition };\n\t${ reduceMotion( 'transition' ) };\n\t${ rtl(\n\t\t{ transform: 'translateX(-50%)' },\n\t\t{ transform: 'translateX(50%)' }\n\t) }\n`;\n\n// @todo: Refactor RangeControl with latest HStack configuration\n// @wordpress/components/ui/hstack.\nexport const InputNumber = styled( NumberControl )`\n\tbox-sizing: border-box;\n\tdisplay: inline-block;\n\tfont-size: 13px;\n\tmargin-top: 0;\n\twidth: ${ space( 16 ) } !important;\n\n\tinput[type='number']& {\n\t\t${ rangeHeight };\n\t}\n\n\t${ rtl( { marginLeft: `${ space( 4 ) } !important` } ) }\n`;\n\nexport const ActionRightWrapper = styled.span`\n\tbox-sizing: border-box;\n\tdisplay: block;\n\tmargin-top: 0;\n\n\tbutton,\n\tbutton.is-small {\n\t\tmargin-left: 0;\n\t\t${ rangeHeight };\n\t}\n\n\t${ rtl( { marginLeft: 8 } ) }\n`;\n"]}
@@ -15,8 +15,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
15
15
 
16
16
  var _rangeControlStyles = require("./styles/range-control-styles");
17
17
 
18
- // @ts-nocheck
19
-
20
18
  /**
21
19
  * External dependencies
22
20
  */
@@ -28,8 +26,8 @@ var _rangeControlStyles = require("./styles/range-control-styles");
28
26
  /**
29
27
  * Internal dependencies
30
28
  */
31
- function SimpleTooltip(_ref) {
32
- let {
29
+ function SimpleTooltip(props) {
30
+ const {
33
31
  className,
34
32
  inputRef,
35
33
  tooltipPosition,
@@ -39,7 +37,7 @@ function SimpleTooltip(_ref) {
39
37
  renderTooltipContent = v => v,
40
38
  zIndex = 100,
41
39
  ...restProps
42
- } = _ref;
40
+ } = props;
43
41
  const position = useTooltipPosition({
44
42
  inputRef,
45
43
  tooltipPosition
@@ -58,11 +56,11 @@ function SimpleTooltip(_ref) {
58
56
  }), renderTooltipContent(value));
59
57
  }
60
58
 
61
- function useTooltipPosition(_ref2) {
59
+ function useTooltipPosition(_ref) {
62
60
  let {
63
61
  inputRef,
64
62
  tooltipPosition
65
- } = _ref2;
63
+ } = _ref;
66
64
  const [position, setPosition] = (0, _element.useState)();
67
65
  const setTooltipPosition = (0, _element.useCallback)(() => {
68
66
  if (inputRef && inputRef.current) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/range-control/tooltip.js"],"names":["SimpleTooltip","className","inputRef","tooltipPosition","show","style","value","renderTooltipContent","v","zIndex","restProps","position","useTooltipPosition","classes","styles","setPosition","setTooltipPosition","current","window","addEventListener","removeEventListener"],"mappings":";;;;;;;;;AASA;;;;AALA;;AAUA;;AAdA;;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAGe,SAASA,aAAT,OAUX;AAAA,MAVmC;AACtCC,IAAAA,SADsC;AAEtCC,IAAAA,QAFsC;AAGtCC,IAAAA,eAHsC;AAItCC,IAAAA,IAAI,GAAG,KAJ+B;AAKtCC,IAAAA,KAAK,GAAG,EAL8B;AAMtCC,IAAAA,KAAK,GAAG,CAN8B;AAOtCC,IAAAA,oBAAoB,GAAKC,CAAF,IAASA,CAPM;AAQtCC,IAAAA,MAAM,GAAG,GAR6B;AAStC,OAAGC;AATmC,GAUnC;AACH,QAAMC,QAAQ,GAAGC,kBAAkB,CAAE;AAAEV,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAF,CAAnC;AACA,QAAMU,OAAO,GAAG,yBAAY,2BAAZ,EAAyCZ,SAAzC,CAAhB;AACA,QAAMa,MAAM,GAAG,EACd,GAAGT,KADW;AAEdI,IAAAA;AAFc,GAAf;AAKA,SACC,4BAAC,2BAAD,6BACMC,SADN;AAEC,mBAAcN,IAFf;AAGC,IAAA,SAAS,EAAGS,OAHb;AAIC,IAAA,QAAQ,EAAGF,QAJZ;AAKC,IAAA,IAAI,EAAGP,IALR;AAMC,IAAA,IAAI,EAAC,SANN;AAOC,IAAA,KAAK,EAAGU;AAPT,MASGP,oBAAoB,CAAED,KAAF,CATvB,CADD;AAaA;;AAED,SAASM,kBAAT,QAA6D;AAAA,MAAhC;AAAEV,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAgC;AAC5D,QAAM,CAAEQ,QAAF,EAAYI,WAAZ,IAA4B,wBAAlC;AAEA,QAAMC,kBAAkB,GAAG,0BAAa,MAAM;AAC7C,QAAKd,QAAQ,IAAIA,QAAQ,CAACe,OAA1B,EAAoC;AACnCF,MAAAA,WAAW,CAAEZ,eAAF,CAAX;AACA;AACD,GAJ0B,EAIxB,CAAEA,eAAF,CAJwB,CAA3B;AAMA,0BAAW,MAAM;AAChBa,IAAAA,kBAAkB;AAClB,GAFD,EAEG,CAAEA,kBAAF,CAFH;AAIA,0BAAW,MAAM;AAChBE,IAAAA,MAAM,CAACC,gBAAP,CAAyB,QAAzB,EAAmCH,kBAAnC;AAEA,WAAO,MAAM;AACZE,MAAAA,MAAM,CAACE,mBAAP,CAA4B,QAA5B,EAAsCJ,kBAAtC;AACA,KAFD;AAGA,GAND;AAQA,SAAOL,QAAP;AACA","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Tooltip } from './styles/range-control-styles';\n\nexport default function SimpleTooltip( {\n\tclassName,\n\tinputRef,\n\ttooltipPosition,\n\tshow = false,\n\tstyle = {},\n\tvalue = 0,\n\trenderTooltipContent = ( v ) => v,\n\tzIndex = 100,\n\t...restProps\n} ) {\n\tconst position = useTooltipPosition( { inputRef, tooltipPosition } );\n\tconst classes = classnames( 'components-simple-tooltip', className );\n\tconst styles = {\n\t\t...style,\n\t\tzIndex,\n\t};\n\n\treturn (\n\t\t<Tooltip\n\t\t\t{ ...restProps }\n\t\t\taria-hidden={ show }\n\t\t\tclassName={ classes }\n\t\t\tposition={ position }\n\t\t\tshow={ show }\n\t\t\trole=\"tooltip\"\n\t\t\tstyle={ styles }\n\t\t>\n\t\t\t{ renderTooltipContent( value ) }\n\t\t</Tooltip>\n\t);\n}\n\nfunction useTooltipPosition( { inputRef, tooltipPosition } ) {\n\tconst [ position, setPosition ] = useState();\n\n\tconst setTooltipPosition = useCallback( () => {\n\t\tif ( inputRef && inputRef.current ) {\n\t\t\tsetPosition( tooltipPosition );\n\t\t}\n\t}, [ tooltipPosition ] );\n\n\tuseEffect( () => {\n\t\tsetTooltipPosition();\n\t}, [ setTooltipPosition ] );\n\n\tuseEffect( () => {\n\t\twindow.addEventListener( 'resize', setTooltipPosition );\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener( 'resize', setTooltipPosition );\n\t\t};\n\t} );\n\n\treturn position;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/range-control/tooltip.tsx"],"names":["SimpleTooltip","props","className","inputRef","tooltipPosition","show","style","value","renderTooltipContent","v","zIndex","restProps","position","useTooltipPosition","classes","styles","setPosition","setTooltipPosition","current","window","addEventListener","removeEventListener"],"mappings":";;;;;;;;;AAQA;;;;AALA;;AAUA;;AAbA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAMe,SAASA,aAAT,CACdC,KADc,EAEb;AACD,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,eAHK;AAILC,IAAAA,IAAI,GAAG,KAJF;AAKLC,IAAAA,KAAK,GAAG,EALH;AAMLC,IAAAA,KAAK,GAAG,CANH;AAOLC,IAAAA,oBAAoB,GAAKC,CAAF,IAASA,CAP3B;AAQLC,IAAAA,MAAM,GAAG,GARJ;AASL,OAAGC;AATE,MAUFV,KAVJ;AAWA,QAAMW,QAAQ,GAAGC,kBAAkB,CAAE;AAAEV,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAF,CAAnC;AACA,QAAMU,OAAO,GAAG,yBAAY,2BAAZ,EAAyCZ,SAAzC,CAAhB;AACA,QAAMa,MAAM,GAAG,EACd,GAAGT,KADW;AAEdI,IAAAA;AAFc,GAAf;AAKA,SACC,4BAAC,2BAAD,6BACMC,SADN;AAEC,mBAAcN,IAFf;AAGC,IAAA,SAAS,EAAGS,OAHb;AAIC,IAAA,QAAQ,EAAGF,QAJZ;AAKC,IAAA,IAAI,EAAGP,IALR;AAMC,IAAA,IAAI,EAAC,SANN;AAOC,IAAA,KAAK,EAAGU;AAPT,MASGP,oBAAoB,CAAED,KAAF,CATvB,CADD;AAaA;;AAED,SAASM,kBAAT,OAA2E;AAAA,MAA9C;AAAEV,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAA8C;AAC1E,QAAM,CAAEQ,QAAF,EAAYI,WAAZ,IAA4B,wBAAlC;AAEA,QAAMC,kBAAkB,GAAG,0BAAa,MAAM;AAC7C,QAAKd,QAAQ,IAAIA,QAAQ,CAACe,OAA1B,EAAoC;AACnCF,MAAAA,WAAW,CAAEZ,eAAF,CAAX;AACA;AACD,GAJ0B,EAIxB,CAAEA,eAAF,CAJwB,CAA3B;AAMA,0BAAW,MAAM;AAChBa,IAAAA,kBAAkB;AAClB,GAFD,EAEG,CAAEA,kBAAF,CAFH;AAIA,0BAAW,MAAM;AAChBE,IAAAA,MAAM,CAACC,gBAAP,CAAyB,QAAzB,EAAmCH,kBAAnC;AAEA,WAAO,MAAM;AACZE,MAAAA,MAAM,CAACE,mBAAP,CAA4B,QAA5B,EAAsCJ,kBAAtC;AACA,KAFD;AAGA,GAND;AAQA,SAAOL,QAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Tooltip } from './styles/range-control-styles';\n\nimport type { TooltipProps } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\n\nexport default function SimpleTooltip(\n\tprops: WordPressComponentProps< TooltipProps, 'span' >\n) {\n\tconst {\n\t\tclassName,\n\t\tinputRef,\n\t\ttooltipPosition,\n\t\tshow = false,\n\t\tstyle = {},\n\t\tvalue = 0,\n\t\trenderTooltipContent = ( v ) => v,\n\t\tzIndex = 100,\n\t\t...restProps\n\t} = props;\n\tconst position = useTooltipPosition( { inputRef, tooltipPosition } );\n\tconst classes = classnames( 'components-simple-tooltip', className );\n\tconst styles = {\n\t\t...style,\n\t\tzIndex,\n\t};\n\n\treturn (\n\t\t<Tooltip\n\t\t\t{ ...restProps }\n\t\t\taria-hidden={ show }\n\t\t\tclassName={ classes }\n\t\t\tposition={ position }\n\t\t\tshow={ show }\n\t\t\trole=\"tooltip\"\n\t\t\tstyle={ styles }\n\t\t>\n\t\t\t{ renderTooltipContent( value ) }\n\t\t</Tooltip>\n\t);\n}\n\nfunction useTooltipPosition( { inputRef, tooltipPosition }: TooltipProps ) {\n\tconst [ position, setPosition ] = useState< string >();\n\n\tconst setTooltipPosition = useCallback( () => {\n\t\tif ( inputRef && inputRef.current ) {\n\t\t\tsetPosition( tooltipPosition );\n\t\t}\n\t}, [ tooltipPosition ] );\n\n\tuseEffect( () => {\n\t\tsetTooltipPosition();\n\t}, [ setTooltipPosition ] );\n\n\tuseEffect( () => {\n\t\twindow.addEventListener( 'resize', setTooltipPosition );\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener( 'resize', setTooltipPosition );\n\t\t};\n\t} );\n\n\treturn position;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -7,13 +7,11 @@ exports.floatClamp = floatClamp;
7
7
  exports.useControlledRangeValue = useControlledRangeValue;
8
8
  exports.useDebouncedHoverInteraction = useDebouncedHoverInteraction;
9
9
 
10
- var _lodash = require("lodash");
11
-
12
10
  var _element = require("@wordpress/element");
13
11
 
14
12
  var _hooks = require("../utils/hooks");
15
13
 
16
- // @ts-nocheck
14
+ var _math = require("../utils/math");
17
15
 
18
16
  /**
19
17
  * External dependencies
@@ -30,11 +28,11 @@ const noop = () => {};
30
28
  /**
31
29
  * A float supported clamp function for a specific value.
32
30
  *
33
- * @param {number|null} value The value to clamp.
34
- * @param {number} min The minimum value.
35
- * @param {number} max The maximum value.
31
+ * @param value The value to clamp.
32
+ * @param min The minimum value.
33
+ * @param max The maximum value.
36
34
  *
37
- * @return {number} A (float) number
35
+ * @return A (float) number
38
36
  */
39
37
 
40
38
 
@@ -43,30 +41,25 @@ function floatClamp(value, min, max) {
43
41
  return null;
44
42
  }
45
43
 
46
- return parseFloat((0, _lodash.clamp)(value, min, max));
44
+ return parseFloat(`${(0, _math.clamp)(value, min, max)}`);
47
45
  }
48
46
  /**
49
47
  * Hook to store a clamped value, derived from props.
50
48
  *
51
- * @param {Object} settings Hook settings.
52
- * @param {number} settings.min The minimum value.
53
- * @param {number} settings.max The maximum value.
54
- * @param {number} settings.value The current value.
55
- * @param {any} settings.initial The initial value.
56
- *
57
- * @return {[*, Function]} The controlled value and the value setter.
49
+ * @param settings
50
+ * @return The controlled value and the value setter.
58
51
  */
59
52
 
60
53
 
61
- function useControlledRangeValue(_ref) {
62
- let {
54
+ function useControlledRangeValue(settings) {
55
+ const {
63
56
  min,
64
57
  max,
65
58
  value: valueProp,
66
59
  initial
67
- } = _ref;
60
+ } = settings;
68
61
  const [state, setInternalState] = (0, _hooks.useControlledState)(floatClamp(valueProp, min, max), {
69
- initial,
62
+ initial: floatClamp(initial !== null && initial !== void 0 ? initial : null, min, max),
70
63
  fallback: null
71
64
  });
72
65
  const setState = (0, _element.useCallback)(nextValue => {
@@ -75,37 +68,33 @@ function useControlledRangeValue(_ref) {
75
68
  } else {
76
69
  setInternalState(floatClamp(nextValue, min, max));
77
70
  }
78
- }, [min, max]);
71
+ }, [min, max]); // `state` can't be an empty string because we specified a fallback value of
72
+ // `null` in `useControlledState`
73
+
79
74
  return [state, setState];
80
75
  }
81
76
  /**
82
77
  * Hook to encapsulate the debouncing "hover" to better handle the showing
83
78
  * and hiding of the Tooltip.
84
79
  *
85
- * @param {Object} settings Hook settings.
86
- * @param {Function} [settings.onShow=noop] A callback function invoked when the element is shown.
87
- * @param {Function} [settings.onHide=noop] A callback function invoked when the element is hidden.
88
- * @param {Function} [settings.onMouseMove=noop] A callback function invoked when the mouse is moved.
89
- * @param {Function} [settings.onMouseLeave=noop] A callback function invoked when the mouse is moved out of the element.
90
- * @param {number} [settings.timeout=300] Timeout before the element is shown or hidden.
91
- *
92
- * @return {Object} Bound properties for use on a React.Node.
80
+ * @param settings
81
+ * @return Bound properties for use on a React.Node.
93
82
  */
94
83
 
95
84
 
96
- function useDebouncedHoverInteraction(_ref2) {
97
- let {
85
+ function useDebouncedHoverInteraction(settings) {
86
+ const {
98
87
  onHide = noop,
99
88
  onMouseLeave = noop,
100
89
  onMouseMove = noop,
101
90
  onShow = noop,
102
91
  timeout = 300
103
- } = _ref2;
92
+ } = settings;
104
93
  const [show, setShow] = (0, _element.useState)(false);
105
94
  const timeoutRef = (0, _element.useRef)();
106
95
  const setDebouncedTimeout = (0, _element.useCallback)(callback => {
107
96
  window.clearTimeout(timeoutRef.current);
108
- timeoutRef.current = setTimeout(callback, timeout);
97
+ timeoutRef.current = window.setTimeout(callback, timeout);
109
98
  }, [timeout]);
110
99
  const handleOnMouseMove = (0, _element.useCallback)(event => {
111
100
  onMouseMove(event);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/range-control/utils.js"],"names":["noop","floatClamp","value","min","max","parseFloat","useControlledRangeValue","valueProp","initial","state","setInternalState","fallback","setState","nextValue","useDebouncedHoverInteraction","onHide","onMouseLeave","onMouseMove","onShow","timeout","show","setShow","timeoutRef","setDebouncedTimeout","callback","window","clearTimeout","current","setTimeout","handleOnMouseMove","event","handleOnMouseLeave"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport { clamp } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useRef, useEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useControlledState } from '../utils/hooks';\n\nconst noop = () => {};\n\n/**\n * A float supported clamp function for a specific value.\n *\n * @param {number|null} value The value to clamp.\n * @param {number} min The minimum value.\n * @param {number} max The maximum value.\n *\n * @return {number} A (float) number\n */\nexport function floatClamp( value, min, max ) {\n\tif ( typeof value !== 'number' ) {\n\t\treturn null;\n\t}\n\n\treturn parseFloat( clamp( value, min, max ) );\n}\n\n/**\n * Hook to store a clamped value, derived from props.\n *\n * @param {Object} settings Hook settings.\n * @param {number} settings.min The minimum value.\n * @param {number} settings.max The maximum value.\n * @param {number} settings.value The current value.\n * @param {any} settings.initial The initial value.\n *\n * @return {[*, Function]} The controlled value and the value setter.\n */\nexport function useControlledRangeValue( {\n\tmin,\n\tmax,\n\tvalue: valueProp,\n\tinitial,\n} ) {\n\tconst [ state, setInternalState ] = useControlledState(\n\t\tfloatClamp( valueProp, min, max ),\n\t\t{ initial, fallback: null }\n\t);\n\n\tconst setState = useCallback(\n\t\t( nextValue ) => {\n\t\t\tif ( nextValue === null ) {\n\t\t\t\tsetInternalState( null );\n\t\t\t} else {\n\t\t\t\tsetInternalState( floatClamp( nextValue, min, max ) );\n\t\t\t}\n\t\t},\n\t\t[ min, max ]\n\t);\n\n\treturn [ state, setState ];\n}\n\n/**\n * Hook to encapsulate the debouncing \"hover\" to better handle the showing\n * and hiding of the Tooltip.\n *\n * @param {Object} settings Hook settings.\n * @param {Function} [settings.onShow=noop] A callback function invoked when the element is shown.\n * @param {Function} [settings.onHide=noop] A callback function invoked when the element is hidden.\n * @param {Function} [settings.onMouseMove=noop] A callback function invoked when the mouse is moved.\n * @param {Function} [settings.onMouseLeave=noop] A callback function invoked when the mouse is moved out of the element.\n * @param {number} [settings.timeout=300] Timeout before the element is shown or hidden.\n *\n * @return {Object} Bound properties for use on a React.Node.\n */\nexport function useDebouncedHoverInteraction( {\n\tonHide = noop,\n\tonMouseLeave = noop,\n\tonMouseMove = noop,\n\tonShow = noop,\n\ttimeout = 300,\n} ) {\n\tconst [ show, setShow ] = useState( false );\n\tconst timeoutRef = useRef();\n\n\tconst setDebouncedTimeout = useCallback(\n\t\t( callback ) => {\n\t\t\twindow.clearTimeout( timeoutRef.current );\n\n\t\t\ttimeoutRef.current = setTimeout( callback, timeout );\n\t\t},\n\t\t[ timeout ]\n\t);\n\n\tconst handleOnMouseMove = useCallback( ( event ) => {\n\t\tonMouseMove( event );\n\n\t\tsetDebouncedTimeout( () => {\n\t\t\tif ( ! show ) {\n\t\t\t\tsetShow( true );\n\t\t\t\tonShow();\n\t\t\t}\n\t\t} );\n\t}, [] );\n\n\tconst handleOnMouseLeave = useCallback( ( event ) => {\n\t\tonMouseLeave( event );\n\n\t\tsetDebouncedTimeout( () => {\n\t\t\tsetShow( false );\n\t\t\tonHide();\n\t\t} );\n\t}, [] );\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\twindow.clearTimeout( timeoutRef.current );\n\t\t};\n\t} );\n\n\treturn {\n\t\tonMouseMove: handleOnMouseMove,\n\t\tonMouseLeave: handleOnMouseLeave,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/range-control/utils.ts"],"names":["noop","floatClamp","value","min","max","parseFloat","useControlledRangeValue","settings","valueProp","initial","state","setInternalState","fallback","setState","nextValue","useDebouncedHoverInteraction","onHide","onMouseLeave","onMouseMove","onShow","timeout","show","setShow","timeoutRef","setDebouncedTimeout","callback","window","clearTimeout","current","setTimeout","handleOnMouseMove","event","handleOnMouseLeave"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { MouseEventHandler } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useRef, useEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useControlledState } from '../utils/hooks';\nimport { clamp } from '../utils/math';\n\nimport type {\n\tUseControlledRangeValueArgs,\n\tUseDebouncedHoverInteractionArgs,\n} from './types';\n\nconst noop = () => {};\n\n/**\n * A float supported clamp function for a specific value.\n *\n * @param value The value to clamp.\n * @param min The minimum value.\n * @param max The maximum value.\n *\n * @return A (float) number\n */\nexport function floatClamp( value: number | null, min: number, max: number ) {\n\tif ( typeof value !== 'number' ) {\n\t\treturn null;\n\t}\n\n\treturn parseFloat( `${ clamp( value, min, max ) }` );\n}\n\n/**\n * Hook to store a clamped value, derived from props.\n *\n * @param settings\n * @return The controlled value and the value setter.\n */\nexport function useControlledRangeValue(\n\tsettings: UseControlledRangeValueArgs\n) {\n\tconst { min, max, value: valueProp, initial } = settings;\n\tconst [ state, setInternalState ] = useControlledState(\n\t\tfloatClamp( valueProp, min, max ),\n\t\t{\n\t\t\tinitial: floatClamp( initial ?? null, min, max ),\n\t\t\tfallback: null,\n\t\t}\n\t);\n\n\tconst setState = useCallback(\n\t\t( nextValue: number | null ) => {\n\t\t\tif ( nextValue === null ) {\n\t\t\t\tsetInternalState( null );\n\t\t\t} else {\n\t\t\t\tsetInternalState( floatClamp( nextValue, min, max ) );\n\t\t\t}\n\t\t},\n\t\t[ min, max ]\n\t);\n\n\t// `state` can't be an empty string because we specified a fallback value of\n\t// `null` in `useControlledState`\n\treturn [ state as Exclude< typeof state, '' >, setState ] as const;\n}\n\n/**\n * Hook to encapsulate the debouncing \"hover\" to better handle the showing\n * and hiding of the Tooltip.\n *\n * @param settings\n * @return Bound properties for use on a React.Node.\n */\nexport function useDebouncedHoverInteraction(\n\tsettings: UseDebouncedHoverInteractionArgs\n) {\n\tconst {\n\t\tonHide = noop,\n\t\tonMouseLeave = noop as MouseEventHandler,\n\t\tonMouseMove = noop as MouseEventHandler,\n\t\tonShow = noop,\n\t\ttimeout = 300,\n\t} = settings;\n\n\tconst [ show, setShow ] = useState( false );\n\tconst timeoutRef = useRef< number | undefined >();\n\n\tconst setDebouncedTimeout = useCallback(\n\t\t( callback ) => {\n\t\t\twindow.clearTimeout( timeoutRef.current );\n\n\t\t\ttimeoutRef.current = window.setTimeout( callback, timeout );\n\t\t},\n\t\t[ timeout ]\n\t);\n\n\tconst handleOnMouseMove = useCallback( ( event ) => {\n\t\tonMouseMove( event );\n\n\t\tsetDebouncedTimeout( () => {\n\t\t\tif ( ! show ) {\n\t\t\t\tsetShow( true );\n\t\t\t\tonShow();\n\t\t\t}\n\t\t} );\n\t}, [] );\n\n\tconst handleOnMouseLeave = useCallback( ( event ) => {\n\t\tonMouseLeave( event );\n\n\t\tsetDebouncedTimeout( () => {\n\t\t\tsetShow( false );\n\t\t\tonHide();\n\t\t} );\n\t}, [] );\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\twindow.clearTimeout( timeoutRef.current );\n\t\t};\n\t} );\n\n\treturn {\n\t\tonMouseMove: handleOnMouseMove,\n\t\tonMouseLeave: handleOnMouseLeave,\n\t};\n}\n"]}
@@ -13,11 +13,6 @@ var _compose = require("@wordpress/compose");
13
13
  /**
14
14
  * WordPress dependencies
15
15
  */
16
- const {
17
- clearTimeout,
18
- setTimeout
19
- } = window;
20
-
21
16
  const noop = () => {};
22
17
 
23
18
  const POSITIONS = {
@@ -97,10 +92,10 @@ function useResizeLabel(_ref) {
97
92
 
98
93
  const debounceUnsetMoveXY = () => {
99
94
  if (moveTimeoutRef.current) {
100
- clearTimeout(moveTimeoutRef.current);
95
+ window.clearTimeout(moveTimeoutRef.current);
101
96
  }
102
97
 
103
- moveTimeoutRef.current = setTimeout(unsetMoveXY, fadeTimeout);
98
+ moveTimeoutRef.current = window.setTimeout(unsetMoveXY, fadeTimeout);
104
99
  };
105
100
 
106
101
  (0, _element.useEffect)(() => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/resizable-box/resize-tooltip/utils.ts"],"names":["clearTimeout","setTimeout","window","noop","POSITIONS","bottom","corner","useResizeLabel","axis","fadeTimeout","onResize","position","showPx","resizeListener","sizes","isAxisControlled","moveX","setMoveX","moveY","setMoveY","width","height","heightRef","widthRef","moveTimeoutRef","unsetMoveXY","debounceUnsetMoveXY","current","isRendered","didWidthChange","didHeightChange","label","getSizeLabel","undefined","labelUnit"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\n\nconst { clearTimeout, setTimeout } = window;\nconst noop = () => {};\n\nexport type Axis = 'x' | 'y';\n\nexport const POSITIONS = {\n\tbottom: 'bottom',\n\tcorner: 'corner',\n} as const;\n\nexport type Position = typeof POSITIONS[ keyof typeof POSITIONS ];\n\ninterface UseResizeLabelProps {\n\t/** The label value. */\n\tlabel?: string;\n\t/** Element to be rendered for resize listening events. */\n\tresizeListener: JSX.Element;\n}\n\ninterface UseResizeLabelArgs {\n\taxis?: Axis;\n\tfadeTimeout: number;\n\tonResize( data: { width: number | null; height: number | null } ): void;\n\tposition: Position;\n\tshowPx: boolean;\n}\n\n/**\n * Custom hook that manages resize listener events. It also provides a label\n * based on current resize width x height values.\n *\n * @param props\n * @param props.axis Only shows the label corresponding to the axis.\n * @param props.fadeTimeout Duration (ms) before deactivating the resize label.\n * @param props.onResize Callback when a resize occurs. Provides { width, height } callback.\n * @param props.position Adjusts label value.\n * @param props.showPx Whether to add `PX` to the label.\n *\n * @return Properties for hook.\n */\nexport function useResizeLabel( {\n\taxis,\n\tfadeTimeout = 180,\n\tonResize = noop,\n\tposition = POSITIONS.bottom,\n\tshowPx = false,\n}: UseResizeLabelArgs ): UseResizeLabelProps {\n\t/*\n\t * The width/height values derive from this special useResizeObserver hook.\n\t * This custom hook uses the ResizeObserver API to listen for resize events.\n\t */\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\n\t/*\n\t * Indicates if the x/y axis is preferred.\n\t * If set, we will avoid resetting the moveX and moveY values.\n\t * This will allow for the preferred axis values to persist in the label.\n\t */\n\tconst isAxisControlled = !! axis;\n\n\t/*\n\t * The moveX and moveY values are used to track whether the label should\n\t * display width, height, or width x height.\n\t */\n\tconst [ moveX, setMoveX ] = useState( false );\n\tconst [ moveY, setMoveY ] = useState( false );\n\n\t/*\n\t * Cached dimension values to check for width/height updates from the\n\t * sizes property from useResizeAware()\n\t */\n\tconst { width, height } = sizes;\n\tconst heightRef = useRef( height );\n\tconst widthRef = useRef( width );\n\n\t/*\n\t * This timeout is used with setMoveX and setMoveY to determine of\n\t * both width and height values have changed at (roughly) the same time.\n\t */\n\tconst moveTimeoutRef = useRef< number >();\n\n\tconst unsetMoveXY = () => {\n\t\t/*\n\t\t * If axis is controlled, we will avoid resetting the moveX and moveY values.\n\t\t * This will allow for the preferred axis values to persist in the label.\n\t\t */\n\t\tif ( isAxisControlled ) return;\n\t\tsetMoveX( false );\n\t\tsetMoveY( false );\n\t};\n\n\tconst debounceUnsetMoveXY = () => {\n\t\tif ( moveTimeoutRef.current ) {\n\t\t\tclearTimeout( moveTimeoutRef.current );\n\t\t}\n\n\t\tmoveTimeoutRef.current = setTimeout( unsetMoveXY, fadeTimeout );\n\t};\n\n\tuseEffect( () => {\n\t\t/*\n\t\t * On the initial render of useResizeAware, the height and width values are\n\t\t * null. They are calculated then set using via an internal useEffect hook.\n\t\t */\n\t\tconst isRendered = width !== null || height !== null;\n\n\t\tif ( ! isRendered ) return;\n\n\t\tconst didWidthChange = width !== widthRef.current;\n\t\tconst didHeightChange = height !== heightRef.current;\n\n\t\tif ( ! didWidthChange && ! didHeightChange ) return;\n\n\t\t/*\n\t\t * After the initial render, the useResizeAware will set the first\n\t\t * width and height values. We'll sync those values with our\n\t\t * width and height refs. However, we shouldn't render our Tooltip\n\t\t * label on this first cycle.\n\t\t */\n\t\tif ( width && ! widthRef.current && height && ! heightRef.current ) {\n\t\t\twidthRef.current = width;\n\t\t\theightRef.current = height;\n\t\t\treturn;\n\t\t}\n\n\t\t/*\n\t\t * After the first cycle, we can track width and height changes.\n\t\t */\n\t\tif ( didWidthChange ) {\n\t\t\tsetMoveX( true );\n\t\t\twidthRef.current = width;\n\t\t}\n\n\t\tif ( didHeightChange ) {\n\t\t\tsetMoveY( true );\n\t\t\theightRef.current = height;\n\t\t}\n\n\t\tonResize( { width, height } );\n\t\tdebounceUnsetMoveXY();\n\t}, [ width, height ] );\n\n\tconst label = getSizeLabel( {\n\t\taxis,\n\t\theight,\n\t\tmoveX,\n\t\tmoveY,\n\t\tposition,\n\t\tshowPx,\n\t\twidth,\n\t} );\n\n\treturn {\n\t\tlabel,\n\t\tresizeListener,\n\t};\n}\n\ninterface GetSizeLabelArgs {\n\taxis?: Axis;\n\theight: number | null;\n\tmoveX: boolean;\n\tmoveY: boolean;\n\tposition: Position;\n\tshowPx: boolean;\n\twidth: number | null;\n}\n\n/**\n * Gets the resize label based on width and height values (as well as recent changes).\n *\n * @param props\n * @param props.axis Only shows the label corresponding to the axis.\n * @param props.height Height value.\n * @param props.moveX Recent width (x axis) changes.\n * @param props.moveY Recent width (y axis) changes.\n * @param props.position Adjusts label value.\n * @param props.showPx Whether to add `PX` to the label.\n * @param props.width Width value.\n *\n * @return The rendered label.\n */\nfunction getSizeLabel( {\n\taxis,\n\theight,\n\tmoveX = false,\n\tmoveY = false,\n\tposition = POSITIONS.bottom,\n\tshowPx = false,\n\twidth,\n}: GetSizeLabelArgs ): string | undefined {\n\tif ( ! moveX && ! moveY ) return undefined;\n\n\t/*\n\t * Corner position...\n\t * We want the label to appear like width x height.\n\t */\n\tif ( position === POSITIONS.corner ) {\n\t\treturn `${ width } x ${ height }`;\n\t}\n\n\t/*\n\t * Other POSITIONS...\n\t * The label will combine both width x height values if both\n\t * values have recently been changed.\n\t *\n\t * Otherwise, only width or height will be displayed.\n\t * The `PX` unit will be added, if specified by the `showPx` prop.\n\t */\n\tconst labelUnit = showPx ? ' px' : '';\n\n\tif ( axis ) {\n\t\tif ( axis === 'x' && moveX ) {\n\t\t\treturn `${ width }${ labelUnit }`;\n\t\t}\n\t\tif ( axis === 'y' && moveY ) {\n\t\t\treturn `${ height }${ labelUnit }`;\n\t\t}\n\t}\n\n\tif ( moveX && moveY ) {\n\t\treturn `${ width } x ${ height }`;\n\t}\n\tif ( moveX ) {\n\t\treturn `${ width }${ labelUnit }`;\n\t}\n\tif ( moveY ) {\n\t\treturn `${ height }${ labelUnit }`;\n\t}\n\n\treturn undefined;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/resizable-box/resize-tooltip/utils.ts"],"names":["noop","POSITIONS","bottom","corner","useResizeLabel","axis","fadeTimeout","onResize","position","showPx","resizeListener","sizes","isAxisControlled","moveX","setMoveX","moveY","setMoveY","width","height","heightRef","widthRef","moveTimeoutRef","unsetMoveXY","debounceUnsetMoveXY","current","window","clearTimeout","setTimeout","isRendered","didWidthChange","didHeightChange","label","getSizeLabel","undefined","labelUnit"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\n\nconst noop = () => {};\n\nexport type Axis = 'x' | 'y';\n\nexport const POSITIONS = {\n\tbottom: 'bottom',\n\tcorner: 'corner',\n} as const;\n\nexport type Position = typeof POSITIONS[ keyof typeof POSITIONS ];\n\ninterface UseResizeLabelProps {\n\t/** The label value. */\n\tlabel?: string;\n\t/** Element to be rendered for resize listening events. */\n\tresizeListener: JSX.Element;\n}\n\ninterface UseResizeLabelArgs {\n\taxis?: Axis;\n\tfadeTimeout: number;\n\tonResize( data: { width: number | null; height: number | null } ): void;\n\tposition: Position;\n\tshowPx: boolean;\n}\n\n/**\n * Custom hook that manages resize listener events. It also provides a label\n * based on current resize width x height values.\n *\n * @param props\n * @param props.axis Only shows the label corresponding to the axis.\n * @param props.fadeTimeout Duration (ms) before deactivating the resize label.\n * @param props.onResize Callback when a resize occurs. Provides { width, height } callback.\n * @param props.position Adjusts label value.\n * @param props.showPx Whether to add `PX` to the label.\n *\n * @return Properties for hook.\n */\nexport function useResizeLabel( {\n\taxis,\n\tfadeTimeout = 180,\n\tonResize = noop,\n\tposition = POSITIONS.bottom,\n\tshowPx = false,\n}: UseResizeLabelArgs ): UseResizeLabelProps {\n\t/*\n\t * The width/height values derive from this special useResizeObserver hook.\n\t * This custom hook uses the ResizeObserver API to listen for resize events.\n\t */\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\n\t/*\n\t * Indicates if the x/y axis is preferred.\n\t * If set, we will avoid resetting the moveX and moveY values.\n\t * This will allow for the preferred axis values to persist in the label.\n\t */\n\tconst isAxisControlled = !! axis;\n\n\t/*\n\t * The moveX and moveY values are used to track whether the label should\n\t * display width, height, or width x height.\n\t */\n\tconst [ moveX, setMoveX ] = useState( false );\n\tconst [ moveY, setMoveY ] = useState( false );\n\n\t/*\n\t * Cached dimension values to check for width/height updates from the\n\t * sizes property from useResizeAware()\n\t */\n\tconst { width, height } = sizes;\n\tconst heightRef = useRef( height );\n\tconst widthRef = useRef( width );\n\n\t/*\n\t * This timeout is used with setMoveX and setMoveY to determine of\n\t * both width and height values have changed at (roughly) the same time.\n\t */\n\tconst moveTimeoutRef = useRef< number >();\n\n\tconst unsetMoveXY = () => {\n\t\t/*\n\t\t * If axis is controlled, we will avoid resetting the moveX and moveY values.\n\t\t * This will allow for the preferred axis values to persist in the label.\n\t\t */\n\t\tif ( isAxisControlled ) return;\n\t\tsetMoveX( false );\n\t\tsetMoveY( false );\n\t};\n\n\tconst debounceUnsetMoveXY = () => {\n\t\tif ( moveTimeoutRef.current ) {\n\t\t\twindow.clearTimeout( moveTimeoutRef.current );\n\t\t}\n\n\t\tmoveTimeoutRef.current = window.setTimeout( unsetMoveXY, fadeTimeout );\n\t};\n\n\tuseEffect( () => {\n\t\t/*\n\t\t * On the initial render of useResizeAware, the height and width values are\n\t\t * null. They are calculated then set using via an internal useEffect hook.\n\t\t */\n\t\tconst isRendered = width !== null || height !== null;\n\n\t\tif ( ! isRendered ) return;\n\n\t\tconst didWidthChange = width !== widthRef.current;\n\t\tconst didHeightChange = height !== heightRef.current;\n\n\t\tif ( ! didWidthChange && ! didHeightChange ) return;\n\n\t\t/*\n\t\t * After the initial render, the useResizeAware will set the first\n\t\t * width and height values. We'll sync those values with our\n\t\t * width and height refs. However, we shouldn't render our Tooltip\n\t\t * label on this first cycle.\n\t\t */\n\t\tif ( width && ! widthRef.current && height && ! heightRef.current ) {\n\t\t\twidthRef.current = width;\n\t\t\theightRef.current = height;\n\t\t\treturn;\n\t\t}\n\n\t\t/*\n\t\t * After the first cycle, we can track width and height changes.\n\t\t */\n\t\tif ( didWidthChange ) {\n\t\t\tsetMoveX( true );\n\t\t\twidthRef.current = width;\n\t\t}\n\n\t\tif ( didHeightChange ) {\n\t\t\tsetMoveY( true );\n\t\t\theightRef.current = height;\n\t\t}\n\n\t\tonResize( { width, height } );\n\t\tdebounceUnsetMoveXY();\n\t}, [ width, height ] );\n\n\tconst label = getSizeLabel( {\n\t\taxis,\n\t\theight,\n\t\tmoveX,\n\t\tmoveY,\n\t\tposition,\n\t\tshowPx,\n\t\twidth,\n\t} );\n\n\treturn {\n\t\tlabel,\n\t\tresizeListener,\n\t};\n}\n\ninterface GetSizeLabelArgs {\n\taxis?: Axis;\n\theight: number | null;\n\tmoveX: boolean;\n\tmoveY: boolean;\n\tposition: Position;\n\tshowPx: boolean;\n\twidth: number | null;\n}\n\n/**\n * Gets the resize label based on width and height values (as well as recent changes).\n *\n * @param props\n * @param props.axis Only shows the label corresponding to the axis.\n * @param props.height Height value.\n * @param props.moveX Recent width (x axis) changes.\n * @param props.moveY Recent width (y axis) changes.\n * @param props.position Adjusts label value.\n * @param props.showPx Whether to add `PX` to the label.\n * @param props.width Width value.\n *\n * @return The rendered label.\n */\nfunction getSizeLabel( {\n\taxis,\n\theight,\n\tmoveX = false,\n\tmoveY = false,\n\tposition = POSITIONS.bottom,\n\tshowPx = false,\n\twidth,\n}: GetSizeLabelArgs ): string | undefined {\n\tif ( ! moveX && ! moveY ) return undefined;\n\n\t/*\n\t * Corner position...\n\t * We want the label to appear like width x height.\n\t */\n\tif ( position === POSITIONS.corner ) {\n\t\treturn `${ width } x ${ height }`;\n\t}\n\n\t/*\n\t * Other POSITIONS...\n\t * The label will combine both width x height values if both\n\t * values have recently been changed.\n\t *\n\t * Otherwise, only width or height will be displayed.\n\t * The `PX` unit will be added, if specified by the `showPx` prop.\n\t */\n\tconst labelUnit = showPx ? ' px' : '';\n\n\tif ( axis ) {\n\t\tif ( axis === 'x' && moveX ) {\n\t\t\treturn `${ width }${ labelUnit }`;\n\t\t}\n\t\tif ( axis === 'y' && moveY ) {\n\t\t\treturn `${ height }${ labelUnit }`;\n\t\t}\n\t}\n\n\tif ( moveX && moveY ) {\n\t\treturn `${ width } x ${ height }`;\n\t}\n\tif ( moveX ) {\n\t\treturn `${ width }${ labelUnit }`;\n\t}\n\tif ( moveY ) {\n\t\treturn `${ height }${ labelUnit }`;\n\t}\n\n\treturn undefined;\n}\n"]}
@@ -183,7 +183,7 @@ function Sandbox(_ref) {
183
183
  // - Light/dark mode changes
184
184
  // For this purpose, the key prop used in the WebView will be updated with the value of the actions.
185
185
 
186
- const key = _reactNative.Platform.select({
186
+ const key = _element.Platform.select({
187
187
  android: `${url}-${isLandscape ? 'landscape' : 'portrait'}-${colorScheme}`,
188
188
  ios: url
189
189
  });
@@ -303,7 +303,7 @@ function Sandbox(_ref) {
303
303
  // Reference: https://github.com/react-native-webview/react-native-webview/blob/master/docs/Reference.md#source
304
304
  ,
305
305
  originWhitelist: ['*'],
306
- style: [_style.default['sandbox-webview__content'], getSizeStyle()],
306
+ style: [_style.default['sandbox-webview__content'], getSizeStyle(), _element.Platform.isAndroid && workaroundStyles.webView],
307
307
  onMessage: checkMessageForResize,
308
308
  scrollEnabled: false,
309
309
  setBuiltInZoomControls: false,
@@ -312,6 +312,17 @@ function Sandbox(_ref) {
312
312
  });
313
313
  }
314
314
 
315
+ const workaroundStyles = _reactNative.StyleSheet.create({
316
+ webView: {
317
+ /**
318
+ * The slight opacity below is a workaround for an Android crash caused from combining Android
319
+ * 12's new scroll overflow behavior and webviews.
320
+ * https://github.com/react-native-webview/react-native-webview/issues/1915#issuecomment-808869253
321
+ */
322
+ opacity: 0.99
323
+ }
324
+ });
325
+
315
326
  var _default = (0, _element.memo)(Sandbox);
316
327
 
317
328
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/sandbox/index.native.js"],"names":["observeAndResizeJS","style","EMPTY_ARRAY","Sandbox","containerStyle","customJS","html","lang","providerUrl","scripts","styles","title","type","url","colorScheme","ref","height","setHeight","contentHtml","setContentHtml","getHtmlDoc","windowSize","Dimensions","get","isLandscape","setIsLandscape","width","wasLandscape","key","Platform","select","android","ios","htmlDoc","__html","map","rules","i","src","updateContentHtml","forceRerender","newContentHtml","setImmediate","checkMessageForResize","event","data","nativeEvent","JSON","parse","e","action","getSizeStyle","contentHeight","Math","ceil","aspectRatio","onChangeDimensions","dimensions","window","dimensionsChangeSubscription","addEventListener","remove","current","sandboxStyles","baseUrl"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAYA;;AAKA;;AArBA;AACA;AACA;;AAIA;AACA;AACA;;AAUA;AACA;AACA;AAGA,MAAMA,kBAAkB,GAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OA5DA;AA8DA,MAAMC,KAAK,GAAI;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAjEA;AAmEA,MAAMC,WAAW,GAAG,EAApB;;AAEA,SAASC,OAAT,OAWI;AAAA,MAXc;AACjBC,IAAAA,cADiB;AAEjBC,IAAAA,QAFiB;AAGjBC,IAAAA,IAAI,GAAG,EAHU;AAIjBC,IAAAA,IAAI,GAAG,IAJU;AAKjBC,IAAAA,WAAW,GAAG,EALG;AAMjBC,IAAAA,OAAO,GAAGP,WANO;AAOjBQ,IAAAA,MAAM,GAAGR,WAPQ;AAQjBS,IAAAA,KAAK,GAAG,EARS;AASjBC,IAAAA,IATiB;AAUjBC,IAAAA;AAViB,GAWd;AACH,QAAMC,WAAW,GAAG,uCAApB;AACA,QAAMC,GAAG,GAAG,sBAAZ;AACA,QAAM,CAAEC,MAAF,EAAUC,SAAV,IAAwB,uBAAU,CAAV,CAA9B;AACA,QAAM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","sourcesContent":["/**\n * External dependencies\n */\nimport { Dimensions, Platform } from 'react-native';\nimport { WebView } from 'react-native-webview';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tmemo,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { usePreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport sandboxStyles from './style.scss';\n\nconst observeAndResizeJS = `\n\t( function() {\n\t\tvar observer;\n\n\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tvar clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\t// The function postMessage is exposed by the react-native-webview library\n\t\t\t// to communicate between React Native and the WebView, in this case,\n\t\t\t// we use it for notifying resize changes.\n window.ReactNativeWebView.postMessage(JSON.stringify( {\n action: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n }));\n\t\t}\n\n\t\tobserver = new MutationObserver( sendResize );\n\t\tobserver.observe( document.body, {\n\t\t\tattributes: true,\n\t\t\tattributeOldValue: false,\n\t\t\tcharacterData: true,\n\t\t\tcharacterDataOldValue: false,\n\t\t\tchildList: true,\n\t\t\tsubtree: true\n\t\t} );\n\n\t\twindow.addEventListener( 'load', sendResize, true );\n\n\t\t// Hack: Remove viewport unit styles, as these are relative\n\t\t// the iframe root and interfere with our mechanism for\n\t\t// determining the unconstrained page bounds.\n\t\tfunction removeViewportStyles( ruleOrNode ) {\n\t\t\tif( ruleOrNode.style ) {\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ].forEach( function( style ) {\n\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\n\t\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tArray.prototype.forEach.call( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\n\t\t} );\n\n\t\tdocument.body.style.position = 'absolute';\n\t\tdocument.body.style.width = '100%';\n\t\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\t\tsendResize();\n\n\t\t// Resize events can change the width of elements with 100% width, but we don't\n\t\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\t\twindow.addEventListener( 'resize', sendResize, true );\n} )();`;\n\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div,\n\tbody > div iframe {\n\t\twidth: 100%;\n\t}\n\tbody > div > * {\n\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\tmargin-bottom: 0 !important;\n\t}\n\n\t.wp-block-embed__wrapper {\n\t\tposition: relative;\n\t}\n\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\n\t/**\n\t * Add responsiveness to embeds with aspect ratios.\n\t *\n\t * These styles have been copied from the web version (https://github.com/WordPress/gutenberg/blob/7901895ca20cf61e402925e31571d659dab64721/packages/block-library/src/embed/style.scss#L42-L89) and\n\t * adapted for the native version.\n\t */\n\t.wp-has-aspect-ratio.wp-block-embed__wrapper::before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tpadding-top: 50%; // Default to 2:1 aspect ratio.\n\t}\n\t.wp-has-aspect-ratio iframe {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t.wp-embed-aspect-21-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 42.85%; // 9 / 21 * 100\n\t}\n\t.wp-embed-aspect-18-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 50%; // 9 / 18 * 100\n\t}\n\t.wp-embed-aspect-16-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 56.25%; // 9 / 16 * 100\n\t}\n\t.wp-embed-aspect-4-3.wp-block-embed__wrapper::before {\n\t\tpadding-top: 75%; // 3 / 4 * 100\n\t}\n\t.wp-embed-aspect-1-1.wp-block-embed__wrapper::before {\n\t\tpadding-top: 100%; // 1 / 1 * 100\n\t}\n\t.wp-embed-aspect-9-16.wp-block-embed__wrapper::before {\n\t\tpadding-top: 177.77%; // 16 / 9 * 100\n\t}\n\t.wp-embed-aspect-1-2.wp-block-embed__wrapper::before {\n\t\tpadding-top: 200%; // 2 / 1 * 100\n\t}\n`;\n\nconst EMPTY_ARRAY = [];\n\nfunction Sandbox( {\n\tcontainerStyle,\n\tcustomJS,\n\thtml = '',\n\tlang = 'en',\n\tproviderUrl = '',\n\tscripts = EMPTY_ARRAY,\n\tstyles = EMPTY_ARRAY,\n\ttitle = '',\n\ttype,\n\turl,\n} ) {\n\tconst colorScheme = usePreferredColorScheme();\n\tconst ref = useRef();\n\tconst [ height, setHeight ] = useState( 0 );\n\tconst [ contentHtml, setContentHtml ] = useState( getHtmlDoc() );\n\n\tconst windowSize = Dimensions.get( 'window' );\n\tconst [ isLandscape, setIsLandscape ] = useState(\n\t\twindowSize.width >= windowSize.height\n\t);\n\tconst wasLandscape = useRef( isLandscape );\n\t// On Android, we need to recreate the WebView on any of the following actions, otherwise it disappears:\n\t// - Device rotation\n\t// - Light/dark mode changes\n\t// For this purpose, the key prop used in the WebView will be updated with the value of the actions.\n\tconst key = Platform.select( {\n\t\tandroid: `${ url }-${\n\t\t\tisLandscape ? 'landscape' : 'portrait'\n\t\t}-${ colorScheme }`,\n\t\tios: url,\n\t} );\n\n\tfunction getHtmlDoc() {\n\t\t// Put the html snippet into a html document, and update the state to refresh the WebView,\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html lang={ lang }>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<meta\n\t\t\t\t\t\tname=\"viewport\"\n\t\t\t\t\t\tcontent=\"width=device-width, initial-scale=1\"\n\t\t\t\t\t></meta>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t\t{ styles.map( ( rules, i ) => (\n\t\t\t\t\t\t<style\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: rules } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</head>\n\t\t\t\t<body\n\t\t\t\t\tdata-resizable-iframe-connected=\"data-resizable-iframe-connected\"\n\t\t\t\t\tclassName={ type }\n\t\t\t\t>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: html } } />\n\t\t\t\t\t<script\n\t\t\t\t\t\ttype=\"text/javascript\"\n\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t__html: customJS || observeAndResizeJS,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ scripts.map( ( src ) => (\n\t\t\t\t\t\t<script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\t\treturn '<!DOCTYPE html>' + renderToString( htmlDoc );\n\t}\n\n\tfunction updateContentHtml( forceRerender = false ) {\n\t\tconst newContentHtml = getHtmlDoc();\n\n\t\tif ( forceRerender && contentHtml === newContentHtml ) {\n\t\t\t// The re-render is forced by updating the state with empty HTML,\n\t\t\t// waiting for the JS code to be executed with \"setImmediate\" and then\n\t\t\t// setting the content HTML again.\n\t\t\tsetContentHtml( '' );\n\t\t\tsetImmediate( () => setContentHtml( newContentHtml ) );\n\t\t} else {\n\t\t\tsetContentHtml( newContentHtml );\n\t\t}\n\t}\n\n\tfunction checkMessageForResize( event ) {\n\t\t// Attempt to parse the message data as JSON if passed as string.\n\t\tlet data = event.nativeEvent.data || {};\n\n\t\tif ( 'string' === typeof data ) {\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {}\n\t\t}\n\n\t\t// Update the state only if the message is formatted as we expect,\n\t\t// i.e. as an object with a 'resize' action.\n\t\tif ( 'resize' !== data.action ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetHeight( data.height );\n\t}\n\n\tfunction getSizeStyle() {\n\t\tconst contentHeight = Math.ceil( height );\n\n\t\treturn contentHeight ? { height: contentHeight } : { aspectRatio: 1 };\n\t}\n\n\tfunction onChangeDimensions( dimensions ) {\n\t\tsetIsLandscape( dimensions.window.width >= dimensions.window.height );\n\t}\n\n\tuseEffect( () => {\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonChangeDimensions\n\t\t);\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tupdateContentHtml();\n\t}, [ html, title, type, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\t// When device orientation changes we have to recalculate the size,\n\t\t// for this purpose we reset the current size value.\n\t\tif ( wasLandscape.current !== isLandscape ) {\n\t\t\tsetHeight( 0 );\n\t\t}\n\t\twasLandscape.current = isLandscape;\n\t}, [ isLandscape ] );\n\n\treturn (\n\t\t<WebView\n\t\t\tcontainerStyle={ [\n\t\t\t\tsandboxStyles[ 'sandbox-webview__container' ],\n\t\t\t\tcontainerStyle,\n\t\t\t] }\n\t\t\tkey={ key }\n\t\t\tref={ ref }\n\t\t\tsource={ { baseUrl: providerUrl, html: contentHtml } }\n\t\t\t// Wildcard value is required for static HTML\n\t\t\t// Reference: https://github.com/react-native-webview/react-native-webview/blob/master/docs/Reference.md#source\n\t\t\toriginWhitelist={ [ '*' ] }\n\t\t\tstyle={ [\n\t\t\t\tsandboxStyles[ 'sandbox-webview__content' ],\n\t\t\t\tgetSizeStyle(),\n\t\t\t] }\n\t\t\tonMessage={ checkMessageForResize }\n\t\t\tscrollEnabled={ false }\n\t\t\tsetBuiltInZoomControls={ false }\n\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\tshowsVerticalScrollIndicator={ false }\n\t\t/>\n\t);\n}\n\nexport default memo( Sandbox );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/sandbox/index.native.js"],"names":["observeAndResizeJS","style","EMPTY_ARRAY","Sandbox","containerStyle","customJS","html","lang","providerUrl","scripts","styles","title","type","url","colorScheme","ref","height","setHeight","contentHtml","setContentHtml","getHtmlDoc","windowSize","Dimensions","get","isLandscape","setIsLandscape","width","wasLandscape","key","Platform","select","android","ios","htmlDoc","__html","map","rules","i","src","updateContentHtml","forceRerender","newContentHtml","setImmediate","checkMessageForResize","event","data","nativeEvent","JSON","parse","e","action","getSizeStyle","contentHeight","Math","ceil","aspectRatio","onChangeDimensions","dimensions","window","dimensionsChangeSubscription","addEventListener","remove","current","sandboxStyles","baseUrl","isAndroid","workaroundStyles","webView","StyleSheet","create","opacity"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAaA;;AAKA;;AAtBA;AACA;AACA;;AAIA;AACA;AACA;;AAWA;AACA;AACA;AAGA,MAAMA,kBAAkB,GAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OA5DA;AA8DA,MAAMC,KAAK,GAAI;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAjEA;AAmEA,MAAMC,WAAW,GAAG,EAApB;;AAEA,SAASC,OAAT,OAWI;AAAA,MAXc;AACjBC,IAAAA,cADiB;AAEjBC,IAAAA,QAFiB;AAGjBC,IAAAA,IAAI,GAAG,EAHU;AAIjBC,IAAAA,IAAI,GAAG,IAJU;AAKjBC,IAAAA,WAAW,GAAG,EALG;AAMjBC,IAAAA,OAAO,GAAGP,WANO;AAOjBQ,IAAAA,MAAM,GAAGR,WAPQ;AAQjBS,IAAAA,KAAK,GAAG,EARS;AASjBC,IAAAA,IATiB;AAUjBC,IAAAA;AAViB,GAWd;AACH,QAAMC,WAAW,GAAG,uCAApB;AACA,QAAMC,GAAG,GAAG,sBAAZ;AACA,QAAM,CAAEC,MAAF,EAAUC,SAAV,IAAwB,uBAAU,CAAV,CAA9B;AACA,QAAM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","sourcesContent":["/**\n * External dependencies\n */\nimport { Dimensions, StyleSheet } from 'react-native';\nimport { WebView } from 'react-native-webview';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPlatform,\n\trenderToString,\n\tmemo,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { usePreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport sandboxStyles from './style.scss';\n\nconst observeAndResizeJS = `\n\t( function() {\n\t\tvar observer;\n\n\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tvar clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\t// The function postMessage is exposed by the react-native-webview library\n\t\t\t// to communicate between React Native and the WebView, in this case,\n\t\t\t// we use it for notifying resize changes.\n window.ReactNativeWebView.postMessage(JSON.stringify( {\n action: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n }));\n\t\t}\n\n\t\tobserver = new MutationObserver( sendResize );\n\t\tobserver.observe( document.body, {\n\t\t\tattributes: true,\n\t\t\tattributeOldValue: false,\n\t\t\tcharacterData: true,\n\t\t\tcharacterDataOldValue: false,\n\t\t\tchildList: true,\n\t\t\tsubtree: true\n\t\t} );\n\n\t\twindow.addEventListener( 'load', sendResize, true );\n\n\t\t// Hack: Remove viewport unit styles, as these are relative\n\t\t// the iframe root and interfere with our mechanism for\n\t\t// determining the unconstrained page bounds.\n\t\tfunction removeViewportStyles( ruleOrNode ) {\n\t\t\tif( ruleOrNode.style ) {\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ].forEach( function( style ) {\n\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\n\t\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tArray.prototype.forEach.call( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\n\t\t} );\n\n\t\tdocument.body.style.position = 'absolute';\n\t\tdocument.body.style.width = '100%';\n\t\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\t\tsendResize();\n\n\t\t// Resize events can change the width of elements with 100% width, but we don't\n\t\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\t\twindow.addEventListener( 'resize', sendResize, true );\n} )();`;\n\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div,\n\tbody > div iframe {\n\t\twidth: 100%;\n\t}\n\tbody > div > * {\n\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\tmargin-bottom: 0 !important;\n\t}\n\n\t.wp-block-embed__wrapper {\n\t\tposition: relative;\n\t}\n\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\n\t/**\n\t * Add responsiveness to embeds with aspect ratios.\n\t *\n\t * These styles have been copied from the web version (https://github.com/WordPress/gutenberg/blob/7901895ca20cf61e402925e31571d659dab64721/packages/block-library/src/embed/style.scss#L42-L89) and\n\t * adapted for the native version.\n\t */\n\t.wp-has-aspect-ratio.wp-block-embed__wrapper::before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tpadding-top: 50%; // Default to 2:1 aspect ratio.\n\t}\n\t.wp-has-aspect-ratio iframe {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t.wp-embed-aspect-21-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 42.85%; // 9 / 21 * 100\n\t}\n\t.wp-embed-aspect-18-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 50%; // 9 / 18 * 100\n\t}\n\t.wp-embed-aspect-16-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 56.25%; // 9 / 16 * 100\n\t}\n\t.wp-embed-aspect-4-3.wp-block-embed__wrapper::before {\n\t\tpadding-top: 75%; // 3 / 4 * 100\n\t}\n\t.wp-embed-aspect-1-1.wp-block-embed__wrapper::before {\n\t\tpadding-top: 100%; // 1 / 1 * 100\n\t}\n\t.wp-embed-aspect-9-16.wp-block-embed__wrapper::before {\n\t\tpadding-top: 177.77%; // 16 / 9 * 100\n\t}\n\t.wp-embed-aspect-1-2.wp-block-embed__wrapper::before {\n\t\tpadding-top: 200%; // 2 / 1 * 100\n\t}\n`;\n\nconst EMPTY_ARRAY = [];\n\nfunction Sandbox( {\n\tcontainerStyle,\n\tcustomJS,\n\thtml = '',\n\tlang = 'en',\n\tproviderUrl = '',\n\tscripts = EMPTY_ARRAY,\n\tstyles = EMPTY_ARRAY,\n\ttitle = '',\n\ttype,\n\turl,\n} ) {\n\tconst colorScheme = usePreferredColorScheme();\n\tconst ref = useRef();\n\tconst [ height, setHeight ] = useState( 0 );\n\tconst [ contentHtml, setContentHtml ] = useState( getHtmlDoc() );\n\n\tconst windowSize = Dimensions.get( 'window' );\n\tconst [ isLandscape, setIsLandscape ] = useState(\n\t\twindowSize.width >= windowSize.height\n\t);\n\tconst wasLandscape = useRef( isLandscape );\n\t// On Android, we need to recreate the WebView on any of the following actions, otherwise it disappears:\n\t// - Device rotation\n\t// - Light/dark mode changes\n\t// For this purpose, the key prop used in the WebView will be updated with the value of the actions.\n\tconst key = Platform.select( {\n\t\tandroid: `${ url }-${\n\t\t\tisLandscape ? 'landscape' : 'portrait'\n\t\t}-${ colorScheme }`,\n\t\tios: url,\n\t} );\n\n\tfunction getHtmlDoc() {\n\t\t// Put the html snippet into a html document, and update the state to refresh the WebView,\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html lang={ lang }>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<meta\n\t\t\t\t\t\tname=\"viewport\"\n\t\t\t\t\t\tcontent=\"width=device-width, initial-scale=1\"\n\t\t\t\t\t></meta>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t\t{ styles.map( ( rules, i ) => (\n\t\t\t\t\t\t<style\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: rules } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</head>\n\t\t\t\t<body\n\t\t\t\t\tdata-resizable-iframe-connected=\"data-resizable-iframe-connected\"\n\t\t\t\t\tclassName={ type }\n\t\t\t\t>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: html } } />\n\t\t\t\t\t<script\n\t\t\t\t\t\ttype=\"text/javascript\"\n\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t__html: customJS || observeAndResizeJS,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ scripts.map( ( src ) => (\n\t\t\t\t\t\t<script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\t\treturn '<!DOCTYPE html>' + renderToString( htmlDoc );\n\t}\n\n\tfunction updateContentHtml( forceRerender = false ) {\n\t\tconst newContentHtml = getHtmlDoc();\n\n\t\tif ( forceRerender && contentHtml === newContentHtml ) {\n\t\t\t// The re-render is forced by updating the state with empty HTML,\n\t\t\t// waiting for the JS code to be executed with \"setImmediate\" and then\n\t\t\t// setting the content HTML again.\n\t\t\tsetContentHtml( '' );\n\t\t\tsetImmediate( () => setContentHtml( newContentHtml ) );\n\t\t} else {\n\t\t\tsetContentHtml( newContentHtml );\n\t\t}\n\t}\n\n\tfunction checkMessageForResize( event ) {\n\t\t// Attempt to parse the message data as JSON if passed as string.\n\t\tlet data = event.nativeEvent.data || {};\n\n\t\tif ( 'string' === typeof data ) {\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {}\n\t\t}\n\n\t\t// Update the state only if the message is formatted as we expect,\n\t\t// i.e. as an object with a 'resize' action.\n\t\tif ( 'resize' !== data.action ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetHeight( data.height );\n\t}\n\n\tfunction getSizeStyle() {\n\t\tconst contentHeight = Math.ceil( height );\n\n\t\treturn contentHeight ? { height: contentHeight } : { aspectRatio: 1 };\n\t}\n\n\tfunction onChangeDimensions( dimensions ) {\n\t\tsetIsLandscape( dimensions.window.width >= dimensions.window.height );\n\t}\n\n\tuseEffect( () => {\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonChangeDimensions\n\t\t);\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tupdateContentHtml();\n\t}, [ html, title, type, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\t// When device orientation changes we have to recalculate the size,\n\t\t// for this purpose we reset the current size value.\n\t\tif ( wasLandscape.current !== isLandscape ) {\n\t\t\tsetHeight( 0 );\n\t\t}\n\t\twasLandscape.current = isLandscape;\n\t}, [ isLandscape ] );\n\n\treturn (\n\t\t<WebView\n\t\t\tcontainerStyle={ [\n\t\t\t\tsandboxStyles[ 'sandbox-webview__container' ],\n\t\t\t\tcontainerStyle,\n\t\t\t] }\n\t\t\tkey={ key }\n\t\t\tref={ ref }\n\t\t\tsource={ { baseUrl: providerUrl, html: contentHtml } }\n\t\t\t// Wildcard value is required for static HTML\n\t\t\t// Reference: https://github.com/react-native-webview/react-native-webview/blob/master/docs/Reference.md#source\n\t\t\toriginWhitelist={ [ '*' ] }\n\t\t\tstyle={ [\n\t\t\t\tsandboxStyles[ 'sandbox-webview__content' ],\n\t\t\t\tgetSizeStyle(),\n\t\t\t\tPlatform.isAndroid && workaroundStyles.webView,\n\t\t\t] }\n\t\t\tonMessage={ checkMessageForResize }\n\t\t\tscrollEnabled={ false }\n\t\t\tsetBuiltInZoomControls={ false }\n\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\tshowsVerticalScrollIndicator={ false }\n\t\t/>\n\t);\n}\n\nconst workaroundStyles = StyleSheet.create( {\n\twebView: {\n\t\t/**\n\t\t * The slight opacity below is a workaround for an Android crash caused from combining Android\n\t\t * 12's new scroll overflow behavior and webviews.\n\t\t * https://github.com/react-native-webview/react-native-webview/issues/1915#issuecomment-808869253\n\t\t */\n\t\topacity: 0.99,\n\t},\n} );\n\nexport default memo( Sandbox );\n"]}
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = ScrollLock;
6
+ exports.ScrollLock = ScrollLock;
7
+ exports.default = void 0;
7
8
 
8
9
  var _element = require("@wordpress/element");
9
10
 
@@ -19,9 +20,6 @@ var _element = require("@wordpress/element");
19
20
  * as preventing default on certain touchmove events.
20
21
  */
21
22
  let previousScrollTop = 0;
22
- /**
23
- * @param {boolean} locked
24
- */
25
23
 
26
24
  function setLocked(locked) {
27
25
  const scrollingElement = document.scrollingElement || document.body;
@@ -42,9 +40,37 @@ function setLocked(locked) {
42
40
 
43
41
  let lockCounter = 0;
44
42
  /**
45
- * A component that will lock scrolling when it is mounted and unlock scrolling when it is unmounted.
43
+ * ScrollLock is a content-free React component for declaratively preventing
44
+ * scroll bleed from modal UI to the page body. This component applies a
45
+ * `lockscroll` class to the `document.documentElement` and
46
+ * `document.scrollingElement` elements to stop the body from scrolling. When it
47
+ * is present, the lock is applied.
48
+ *
49
+ * ```jsx
50
+ * import { ScrollLock, Button } from '@wordpress/components';
51
+ * import { useState } from '@wordpress/element';
46
52
  *
47
- * @return {null} Render nothing.
53
+ * const MyScrollLock = () => {
54
+ * const [ isScrollLocked, setIsScrollLocked ] = useState( false );
55
+ *
56
+ * const toggleLock = () => {
57
+ * setIsScrollLocked( ( locked ) => ! locked ) );
58
+ * };
59
+ *
60
+ * return (
61
+ * <div>
62
+ * <Button variant="secondary" onClick={ toggleLock }>
63
+ * Toggle scroll lock
64
+ * </Button>
65
+ * { isScrollLocked && <ScrollLock /> }
66
+ * <p>
67
+ * Scroll locked:
68
+ * <strong>{ isScrollLocked ? 'Yes' : 'No' }</strong>
69
+ * </p>
70
+ * </div>
71
+ * );
72
+ * };
73
+ * ```
48
74
  */
49
75
 
50
76
  function ScrollLock() {
@@ -64,4 +90,7 @@ function ScrollLock() {
64
90
  }, []);
65
91
  return null;
66
92
  }
93
+
94
+ var _default = ScrollLock;
95
+ exports.default = _default;
67
96
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/scroll-lock/index.js"],"names":["previousScrollTop","setLocked","locked","scrollingElement","document","body","scrollTop","methodName","classList","documentElement","lockCounter","ScrollLock"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIA,iBAAiB,GAAG,CAAxB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,CAAoBC,MAApB,EAA6B;AAC5B,QAAMC,gBAAgB,GAAGC,QAAQ,CAACD,gBAAT,IAA6BC,QAAQ,CAACC,IAA/D;;AAEA,MAAKH,MAAL,EAAc;AACbF,IAAAA,iBAAiB,GAAGG,gBAAgB,CAACG,SAArC;AACA;;AAED,QAAMC,UAAU,GAAGL,MAAM,GAAG,KAAH,GAAW,QAApC;AACAC,EAAAA,gBAAgB,CAACK,SAAjB,CAA4BD,UAA5B,EAA0C,YAA1C,EAR4B,CAU5B;;AACAH,EAAAA,QAAQ,CAACK,eAAT,CAAyBD,SAAzB,CAAoCD,UAApC,EAAkD,YAAlD;;AAEA,MAAK,CAAEL,MAAP,EAAgB;AACfC,IAAAA,gBAAgB,CAACG,SAAjB,GAA6BN,iBAA7B;AACA;AACD;;AAED,IAAIU,WAAW,GAAG,CAAlB;AAEA;AACA;AACA;AACA;AACA;;AACe,SAASC,UAAT,GAAsB;AACpC,0BAAW,MAAM;AAChB,QAAKD,WAAW,KAAK,CAArB,EAAyB;AACxBT,MAAAA,SAAS,CAAE,IAAF,CAAT;AACA;;AAED,MAAES,WAAF;AAEA,WAAO,MAAM;AACZ,UAAKA,WAAW,KAAK,CAArB,EAAyB;AACxBT,QAAAA,SAAS,CAAE,KAAF,CAAT;AACA;;AAED,QAAES,WAAF;AACA,KAND;AAOA,GAdD,EAcG,EAdH;AAgBA,SAAO,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\n\n/*\n * Setting `overflow: hidden` on html and body elements resets body scroll in iOS.\n * Save scroll top so we can restore it after locking scroll.\n *\n * NOTE: It would be cleaner and possibly safer to find a localized solution such\n * as preventing default on certain touchmove events.\n */\nlet previousScrollTop = 0;\n\n/**\n * @param {boolean} locked\n */\nfunction setLocked( locked ) {\n\tconst scrollingElement = document.scrollingElement || document.body;\n\n\tif ( locked ) {\n\t\tpreviousScrollTop = scrollingElement.scrollTop;\n\t}\n\n\tconst methodName = locked ? 'add' : 'remove';\n\tscrollingElement.classList[ methodName ]( 'lockscroll' );\n\n\t// Adding the class to the document element seems to be necessary in iOS.\n\tdocument.documentElement.classList[ methodName ]( 'lockscroll' );\n\n\tif ( ! locked ) {\n\t\tscrollingElement.scrollTop = previousScrollTop;\n\t}\n}\n\nlet lockCounter = 0;\n\n/**\n * A component that will lock scrolling when it is mounted and unlock scrolling when it is unmounted.\n *\n * @return {null} Render nothing.\n */\nexport default function ScrollLock() {\n\tuseEffect( () => {\n\t\tif ( lockCounter === 0 ) {\n\t\t\tsetLocked( true );\n\t\t}\n\n\t\t++lockCounter;\n\n\t\treturn () => {\n\t\t\tif ( lockCounter === 1 ) {\n\t\t\t\tsetLocked( false );\n\t\t\t}\n\n\t\t\t--lockCounter;\n\t\t};\n\t}, [] );\n\n\treturn null;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/scroll-lock/index.tsx"],"names":["previousScrollTop","setLocked","locked","scrollingElement","document","body","scrollTop","methodName","classList","documentElement","lockCounter","ScrollLock"],"mappings":";;;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIA,iBAAiB,GAAG,CAAxB;;AAEA,SAASC,SAAT,CAAoBC,MAApB,EAAsC;AACrC,QAAMC,gBAAgB,GAAGC,QAAQ,CAACD,gBAAT,IAA6BC,QAAQ,CAACC,IAA/D;;AAEA,MAAKH,MAAL,EAAc;AACbF,IAAAA,iBAAiB,GAAGG,gBAAgB,CAACG,SAArC;AACA;;AAED,QAAMC,UAAU,GAAGL,MAAM,GAAG,KAAH,GAAW,QAApC;AACAC,EAAAA,gBAAgB,CAACK,SAAjB,CAA4BD,UAA5B,EAA0C,YAA1C,EARqC,CAUrC;;AACAH,EAAAA,QAAQ,CAACK,eAAT,CAAyBD,SAAzB,CAAoCD,UAApC,EAAkD,YAAlD;;AAEA,MAAK,CAAEL,MAAP,EAAgB;AACfC,IAAAA,gBAAgB,CAACG,SAAjB,GAA6BN,iBAA7B;AACA;AACD;;AAED,IAAIU,WAAW,GAAG,CAAlB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASC,UAAT,GAA4B;AAClC,0BAAW,MAAM;AAChB,QAAKD,WAAW,KAAK,CAArB,EAAyB;AACxBT,MAAAA,SAAS,CAAE,IAAF,CAAT;AACA;;AAED,MAAES,WAAF;AAEA,WAAO,MAAM;AACZ,UAAKA,WAAW,KAAK,CAArB,EAAyB;AACxBT,QAAAA,SAAS,CAAE,KAAF,CAAT;AACA;;AAED,QAAES,WAAF;AACA,KAND;AAOA,GAdD,EAcG,EAdH;AAgBA,SAAO,IAAP;AACA;;eAEcC,U","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\n\n/*\n * Setting `overflow: hidden` on html and body elements resets body scroll in iOS.\n * Save scroll top so we can restore it after locking scroll.\n *\n * NOTE: It would be cleaner and possibly safer to find a localized solution such\n * as preventing default on certain touchmove events.\n */\nlet previousScrollTop = 0;\n\nfunction setLocked( locked: boolean ) {\n\tconst scrollingElement = document.scrollingElement || document.body;\n\n\tif ( locked ) {\n\t\tpreviousScrollTop = scrollingElement.scrollTop;\n\t}\n\n\tconst methodName = locked ? 'add' : 'remove';\n\tscrollingElement.classList[ methodName ]( 'lockscroll' );\n\n\t// Adding the class to the document element seems to be necessary in iOS.\n\tdocument.documentElement.classList[ methodName ]( 'lockscroll' );\n\n\tif ( ! locked ) {\n\t\tscrollingElement.scrollTop = previousScrollTop;\n\t}\n}\n\nlet lockCounter = 0;\n\n/**\n * ScrollLock is a content-free React component for declaratively preventing\n * scroll bleed from modal UI to the page body. This component applies a\n * `lockscroll` class to the `document.documentElement` and\n * `document.scrollingElement` elements to stop the body from scrolling. When it\n * is present, the lock is applied.\n *\n * ```jsx\n * import { ScrollLock, Button } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyScrollLock = () => {\n * const [ isScrollLocked, setIsScrollLocked ] = useState( false );\n *\n * const toggleLock = () => {\n * setIsScrollLocked( ( locked ) => ! locked ) );\n * };\n *\n * return (\n * <div>\n * <Button variant=\"secondary\" onClick={ toggleLock }>\n * Toggle scroll lock\n * </Button>\n * { isScrollLocked && <ScrollLock /> }\n * <p>\n * Scroll locked:\n * <strong>{ isScrollLocked ? 'Yes' : 'No' }</strong>\n * </p>\n * </div>\n * );\n * };\n * ```\n */\nexport function ScrollLock(): null {\n\tuseEffect( () => {\n\t\tif ( lockCounter === 0 ) {\n\t\t\tsetLocked( true );\n\t\t}\n\n\t\t++lockCounter;\n\n\t\treturn () => {\n\t\t\tif ( lockCounter === 1 ) {\n\t\t\t\tsetLocked( false );\n\t\t\t}\n\n\t\t\t--lockCounter;\n\t\t};\n\t}, [] );\n\n\treturn null;\n}\n\nexport default ScrollLock;\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.Scrollable = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
@@ -18,14 +18,13 @@ var _view = require("../view");
18
18
  var _hook = require("./hook");
19
19
 
20
20
  /**
21
- * Internal dependencies
21
+ * External dependencies
22
22
  */
23
23
 
24
24
  /**
25
- * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props
26
- * @param {import('react').ForwardedRef<any>} forwardedRef
25
+ * Internal dependencies
27
26
  */
28
- function Scrollable(props, forwardedRef) {
27
+ function UnconnectedScrollable(props, forwardedRef) {
29
28
  const scrollableProps = (0, _hook.useScrollable)(props);
30
29
  return (0, _element.createElement)(_view.View, (0, _extends2.default)({}, scrollableProps, {
31
30
  ref: forwardedRef
@@ -34,7 +33,6 @@ function Scrollable(props, forwardedRef) {
34
33
  /**
35
34
  * `Scrollable` is a layout component that content in a scrollable container.
36
35
  *
37
- * @example
38
36
  * ```jsx
39
37
  * import { __experimentalScrollable as Scrollable } from `@wordpress/components`;
40
38
  *
@@ -49,7 +47,8 @@ function Scrollable(props, forwardedRef) {
49
47
  */
50
48
 
51
49
 
52
- const ConnectedScrollable = (0, _context.contextConnect)(Scrollable, 'Scrollable');
53
- var _default = ConnectedScrollable;
50
+ const Scrollable = (0, _context.contextConnect)(UnconnectedScrollable, 'Scrollable');
51
+ exports.Scrollable = Scrollable;
52
+ var _default = Scrollable;
54
53
  exports.default = _default;
55
54
  //# sourceMappingURL=component.js.map