@wordpress/components 24.0.0 → 25.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1491) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/CONTRIBUTING.md +10 -0
  3. package/build/alignment-matrix-control/cell.js +5 -6
  4. package/build/alignment-matrix-control/cell.js.map +1 -1
  5. package/build/alignment-matrix-control/icon.js +8 -9
  6. package/build/alignment-matrix-control/icon.js.map +1 -1
  7. package/build/alignment-matrix-control/index.js +10 -11
  8. package/build/alignment-matrix-control/index.js.map +1 -1
  9. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +6 -8
  10. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  11. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +6 -8
  12. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  13. package/build/alignment-matrix-control/utils.js +1 -2
  14. package/build/alignment-matrix-control/utils.js.map +1 -1
  15. package/build/angle-picker-control/angle-circle.js +6 -9
  16. package/build/angle-picker-control/angle-circle.js.map +1 -1
  17. package/build/angle-picker-control/styles/angle-picker-control-styles.js +3 -4
  18. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  19. package/build/animate/index.js +5 -6
  20. package/build/animate/index.js.map +1 -1
  21. package/build/autocomplete/autocompleter-ui.js +29 -33
  22. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  23. package/build/autocomplete/autocompleter-ui.native.js +15 -22
  24. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  25. package/build/autocomplete/background-view.android.js +3 -4
  26. package/build/autocomplete/background-view.android.js.map +1 -1
  27. package/build/autocomplete/background-view.ios.js +3 -4
  28. package/build/autocomplete/background-view.ios.js.map +1 -1
  29. package/build/autocomplete/get-default-use-items.js +1 -3
  30. package/build/autocomplete/get-default-use-items.js.map +1 -1
  31. package/build/autocomplete/index.js +18 -23
  32. package/build/autocomplete/index.js.map +1 -1
  33. package/build/base-control/index.js +14 -16
  34. package/build/base-control/index.js.map +1 -1
  35. package/build/base-control/index.native.js +5 -6
  36. package/build/base-control/index.native.js.map +1 -1
  37. package/build/base-control/styles/base-control-styles.js +6 -8
  38. package/build/base-control/styles/base-control-styles.js.map +1 -1
  39. package/build/border-box-control/border-box-control/hook.js +5 -5
  40. package/build/border-box-control/border-box-control/hook.js.map +1 -1
  41. package/build/border-box-control/border-box-control-split-controls/component.js +4 -4
  42. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  43. package/build/border-box-control/styles.js +3 -3
  44. package/build/border-box-control/styles.js.map +1 -1
  45. package/build/border-box-control/utils.js +5 -8
  46. package/build/border-box-control/utils.js.map +1 -1
  47. package/build/border-control/border-control/component.js +1 -1
  48. package/build/border-control/border-control/component.js.map +1 -1
  49. package/build/border-control/border-control/hook.js +5 -5
  50. package/build/border-control/border-control/hook.js.map +1 -1
  51. package/build/border-control/border-control-dropdown/component.js +70 -67
  52. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  53. package/build/border-control/border-control-dropdown/hook.js +4 -4
  54. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  55. package/build/box-control/all-input-control.js +11 -12
  56. package/build/box-control/all-input-control.js.map +1 -1
  57. package/build/box-control/axial-input-controls.js +12 -14
  58. package/build/box-control/axial-input-controls.js.map +1 -1
  59. package/build/box-control/icon.js +7 -9
  60. package/build/box-control/icon.js.map +1 -1
  61. package/build/box-control/index.js +22 -24
  62. package/build/box-control/index.js.map +1 -1
  63. package/build/box-control/input-controls.js +15 -18
  64. package/build/box-control/input-controls.js.map +1 -1
  65. package/build/box-control/linked-button.js +4 -5
  66. package/build/box-control/linked-button.js.map +1 -1
  67. package/build/box-control/styles/box-control-icon-styles.js +3 -4
  68. package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
  69. package/build/box-control/styles/box-control-styles.js +9 -12
  70. package/build/box-control/styles/box-control-styles.js.map +1 -1
  71. package/build/box-control/styles/box-control-visualizer-styles.js +7 -11
  72. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  73. package/build/box-control/unit-control.js +18 -22
  74. package/build/box-control/unit-control.js.map +1 -1
  75. package/build/box-control/utils.js +4 -10
  76. package/build/box-control/utils.js.map +1 -1
  77. package/build/button/deprecated.js +7 -8
  78. package/build/button/deprecated.js.map +1 -1
  79. package/build/button/index.js +15 -16
  80. package/build/button/index.js.map +1 -1
  81. package/build/button/index.native.js +5 -7
  82. package/build/button/index.native.js.map +1 -1
  83. package/build/card/card/hook.js +5 -6
  84. package/build/card/card/hook.js.map +1 -1
  85. package/build/circular-option-picker/index.js +27 -33
  86. package/build/circular-option-picker/index.js.map +1 -1
  87. package/build/clipboard-button/index.js +8 -9
  88. package/build/clipboard-button/index.js.map +1 -1
  89. package/build/color-control/index.native.js +7 -8
  90. package/build/color-control/index.native.js.map +1 -1
  91. package/build/color-indicator/index.native.js +10 -12
  92. package/build/color-indicator/index.native.js.map +1 -1
  93. package/build/color-palette/index.js +63 -72
  94. package/build/color-palette/index.js.map +1 -1
  95. package/build/color-palette/index.native.js +33 -47
  96. package/build/color-palette/index.native.js.map +1 -1
  97. package/build/color-palette/utils.js +2 -5
  98. package/build/color-palette/utils.js.map +1 -1
  99. package/build/color-picker/color-input.js +6 -7
  100. package/build/color-picker/color-input.js.map +1 -1
  101. package/build/color-picker/hex-input.js +8 -12
  102. package/build/color-picker/hex-input.js.map +1 -1
  103. package/build/color-picker/hsl-input.js +5 -6
  104. package/build/color-picker/hsl-input.js.map +1 -1
  105. package/build/color-picker/index.native.js +23 -30
  106. package/build/color-picker/index.native.js.map +1 -1
  107. package/build/color-picker/input-with-slider.js +8 -10
  108. package/build/color-picker/input-with-slider.js.map +1 -1
  109. package/build/color-picker/picker.js +5 -6
  110. package/build/color-picker/picker.js.map +1 -1
  111. package/build/color-picker/rgb-input.js +5 -6
  112. package/build/color-picker/rgb-input.js.map +1 -1
  113. package/build/color-picker/styles.js +8 -8
  114. package/build/color-picker/styles.js.map +1 -1
  115. package/build/color-picker/use-deprecated-props.js +1 -3
  116. package/build/color-picker/use-deprecated-props.js.map +1 -1
  117. package/build/combobox-control/index.js +3 -6
  118. package/build/combobox-control/index.js.map +1 -1
  119. package/build/combobox-control/styles.js +3 -6
  120. package/build/combobox-control/styles.js.map +1 -1
  121. package/build/confirm-dialog/component.js +1 -1
  122. package/build/confirm-dialog/component.js.map +1 -1
  123. package/build/custom-gradient-picker/gradient-bar/control-points.js +116 -131
  124. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  125. package/build/custom-gradient-picker/gradient-bar/index.js +12 -14
  126. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  127. package/build/custom-gradient-picker/gradient-bar/utils.js +4 -6
  128. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  129. package/build/custom-gradient-picker/index.js +19 -22
  130. package/build/custom-gradient-picker/index.js.map +1 -1
  131. package/build/custom-gradient-picker/index.native.js +7 -8
  132. package/build/custom-gradient-picker/index.native.js.map +1 -1
  133. package/build/custom-gradient-picker/serializer.js +15 -21
  134. package/build/custom-gradient-picker/serializer.js.map +1 -1
  135. package/build/custom-gradient-picker/utils.js +6 -9
  136. package/build/custom-gradient-picker/utils.js.map +1 -1
  137. package/build/custom-select-control/index.js +14 -21
  138. package/build/custom-select-control/index.js.map +1 -1
  139. package/build/dashicon/index.js +7 -8
  140. package/build/dashicon/index.js.map +1 -1
  141. package/build/dashicon/index.native.js +4 -5
  142. package/build/dashicon/index.native.js.map +1 -1
  143. package/build/date-time/date/index.js +24 -26
  144. package/build/date-time/date/index.js.map +1 -1
  145. package/build/date-time/date-time/index.js +11 -93
  146. package/build/date-time/date-time/index.js.map +1 -1
  147. package/build/date-time/date-time/styles.js +4 -19
  148. package/build/date-time/date-time/styles.js.map +1 -1
  149. package/build/date-time/time/index.js +11 -14
  150. package/build/date-time/time/index.js.map +1 -1
  151. package/build/dimension-control/index.js +8 -11
  152. package/build/dimension-control/index.js.map +1 -1
  153. package/build/disabled/index.js +6 -7
  154. package/build/disabled/index.js.map +1 -1
  155. package/build/disabled/index.native.js +3 -4
  156. package/build/disabled/index.native.js.map +1 -1
  157. package/build/divider/styles.js +21 -29
  158. package/build/divider/styles.js.map +1 -1
  159. package/build/draggable/index.js +14 -19
  160. package/build/draggable/index.js.map +1 -1
  161. package/build/draggable/index.native.js +17 -19
  162. package/build/draggable/index.native.js.map +1 -1
  163. package/build/drop-zone/index.js +11 -16
  164. package/build/drop-zone/index.js.map +1 -1
  165. package/build/drop-zone/provider.js +3 -4
  166. package/build/drop-zone/provider.js.map +1 -1
  167. package/build/dropdown/index.js +19 -23
  168. package/build/dropdown/index.js.map +1 -1
  169. package/build/dropdown/styles.js +3 -4
  170. package/build/dropdown/styles.js.map +1 -1
  171. package/build/dropdown-menu/index.js +96 -26
  172. package/build/dropdown-menu/index.js.map +1 -1
  173. package/build/dropdown-menu/index.native.js +22 -30
  174. package/build/dropdown-menu/index.native.js.map +1 -1
  175. package/build/dropdown-menu/types.js +6 -0
  176. package/build/dropdown-menu/types.js.map +1 -0
  177. package/build/dropdown-menu-v2/index.js +230 -0
  178. package/build/dropdown-menu-v2/index.js.map +1 -0
  179. package/build/dropdown-menu-v2/styles.js +184 -0
  180. package/build/dropdown-menu-v2/styles.js.map +1 -0
  181. package/build/dropdown-menu-v2/types.js +6 -0
  182. package/build/dropdown-menu-v2/types.js.map +1 -0
  183. package/build/duotone-picker/color-list-picker/index.js +16 -18
  184. package/build/duotone-picker/color-list-picker/index.js.map +1 -1
  185. package/build/duotone-picker/custom-duotone-bar.js +4 -5
  186. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  187. package/build/duotone-picker/duotone-picker.js +15 -17
  188. package/build/duotone-picker/duotone-picker.js.map +1 -1
  189. package/build/duotone-picker/duotone-swatch.js +3 -4
  190. package/build/duotone-picker/duotone-swatch.js.map +1 -1
  191. package/build/duotone-picker/utils.js +14 -27
  192. package/build/duotone-picker/utils.js.map +1 -1
  193. package/build/external-link/index.js +1 -1
  194. package/build/external-link/index.js.map +1 -1
  195. package/build/external-link/index.native.js +4 -5
  196. package/build/external-link/index.native.js.map +1 -1
  197. package/build/focal-point-picker/controls.js +11 -10
  198. package/build/focal-point-picker/controls.js.map +1 -1
  199. package/build/focal-point-picker/focal-point.js +5 -6
  200. package/build/focal-point-picker/focal-point.js.map +1 -1
  201. package/build/focal-point-picker/focal-point.native.js +5 -6
  202. package/build/focal-point-picker/focal-point.native.js.map +1 -1
  203. package/build/focal-point-picker/grid.js +4 -5
  204. package/build/focal-point-picker/grid.js.map +1 -1
  205. package/build/focal-point-picker/index.js +33 -37
  206. package/build/focal-point-picker/index.js.map +1 -1
  207. package/build/focal-point-picker/index.native.js +10 -12
  208. package/build/focal-point-picker/index.native.js.map +1 -1
  209. package/build/focal-point-picker/media.js +11 -13
  210. package/build/focal-point-picker/media.js.map +1 -1
  211. package/build/focal-point-picker/styles/focal-point-picker-style.js +9 -14
  212. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  213. package/build/focal-point-picker/styles/focal-point-style.js +3 -6
  214. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  215. package/build/focal-point-picker/tooltip/index.native.js +16 -21
  216. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  217. package/build/focal-point-picker/utils.js +2 -4
  218. package/build/focal-point-picker/utils.js.map +1 -1
  219. package/build/focusable-iframe/index.js +4 -5
  220. package/build/focusable-iframe/index.js.map +1 -1
  221. package/build/font-size-picker/font-size-picker-select.js +3 -5
  222. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  223. package/build/font-size-picker/index.js +13 -19
  224. package/build/font-size-picker/index.js.map +1 -1
  225. package/build/font-size-picker/index.native.js +6 -7
  226. package/build/font-size-picker/index.native.js.map +1 -1
  227. package/build/font-size-picker/styles.js +24 -8
  228. package/build/font-size-picker/styles.js.map +1 -1
  229. package/build/footer-message-control/index.native.js +2 -3
  230. package/build/footer-message-control/index.native.js.map +1 -1
  231. package/build/form-file-upload/index.js +10 -13
  232. package/build/form-file-upload/index.js.map +1 -1
  233. package/build/form-token-field/index.js +4 -19
  234. package/build/form-token-field/index.js.map +1 -1
  235. package/build/form-token-field/styles.js +4 -7
  236. package/build/form-token-field/styles.js.map +1 -1
  237. package/build/form-token-field/suggestions-list.js +14 -15
  238. package/build/form-token-field/suggestions-list.js.map +1 -1
  239. package/build/form-token-field/token-input.js +2 -2
  240. package/build/form-token-field/token-input.js.map +1 -1
  241. package/build/form-token-field/token.js +14 -15
  242. package/build/form-token-field/token.js.map +1 -1
  243. package/build/gradient-picker/index.js +51 -58
  244. package/build/gradient-picker/index.js.map +1 -1
  245. package/build/guide/icons.js +13 -16
  246. package/build/guide/icons.js.map +1 -1
  247. package/build/guide/index.js +9 -12
  248. package/build/guide/index.js.map +1 -1
  249. package/build/guide/page-control.js +5 -6
  250. package/build/guide/page-control.js.map +1 -1
  251. package/build/h-stack/utils.js +1 -3
  252. package/build/h-stack/utils.js.map +1 -1
  253. package/build/higher-order/navigate-regions/index.js +16 -22
  254. package/build/higher-order/navigate-regions/index.js.map +1 -1
  255. package/build/higher-order/with-focus-outside/index.js +1 -1
  256. package/build/higher-order/with-focus-outside/index.js.map +1 -1
  257. package/build/higher-order/with-focus-outside/index.native.js +1 -1
  258. package/build/higher-order/with-focus-outside/index.native.js.map +1 -1
  259. package/build/higher-order/with-focus-return/index.js +13 -17
  260. package/build/higher-order/with-focus-return/index.js.map +1 -1
  261. package/build/icon/index.js +5 -7
  262. package/build/icon/index.js.map +1 -1
  263. package/build/index.native.js +0 -9
  264. package/build/index.native.js.map +1 -1
  265. package/build/input-control/backdrop.js +4 -5
  266. package/build/input-control/backdrop.js.map +1 -1
  267. package/build/input-control/index.js +22 -23
  268. package/build/input-control/index.js.map +1 -1
  269. package/build/input-control/input-base.js +16 -17
  270. package/build/input-control/input-base.js.map +1 -1
  271. package/build/input-control/input-field.js +26 -29
  272. package/build/input-control/input-field.js.map +1 -1
  273. package/build/input-control/label.js +6 -7
  274. package/build/input-control/label.js.map +1 -1
  275. package/build/input-control/reducer/reducer.js +2 -6
  276. package/build/input-control/reducer/reducer.js.map +1 -1
  277. package/build/input-control/styles/input-control-styles.js +62 -64
  278. package/build/input-control/styles/input-control-styles.js.map +1 -1
  279. package/build/input-control/utils.js +1 -3
  280. package/build/input-control/utils.js.map +1 -1
  281. package/build/keyboard-shortcuts/index.js +21 -26
  282. package/build/keyboard-shortcuts/index.js.map +1 -1
  283. package/build/menu-items-choice/index.js +6 -7
  284. package/build/menu-items-choice/index.js.map +1 -1
  285. package/build/mobile/audio-player/index.native.js +7 -8
  286. package/build/mobile/audio-player/index.native.js.map +1 -1
  287. package/build/mobile/badge/index.native.js +5 -6
  288. package/build/mobile/badge/index.native.js.map +1 -1
  289. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +10 -12
  290. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  291. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -13
  292. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  293. package/build/mobile/bottom-sheet/button.native.js +18 -21
  294. package/build/mobile/bottom-sheet/button.native.js.map +1 -1
  295. package/build/mobile/bottom-sheet/cell.native.js +23 -11
  296. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  297. package/build/mobile/bottom-sheet/color-cell.native.js +3 -1
  298. package/build/mobile/bottom-sheet/color-cell.native.js.map +1 -1
  299. package/build/mobile/bottom-sheet/footer-message-cell.native.js +4 -5
  300. package/build/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  301. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -5
  302. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  303. package/build/mobile/bottom-sheet/index.native.js +19 -30
  304. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  305. package/build/mobile/bottom-sheet/link-cell.native.js +6 -7
  306. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  307. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -6
  308. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  309. package/build/mobile/bottom-sheet/lock-icon/index.native.js +33 -0
  310. package/build/mobile/bottom-sheet/lock-icon/index.native.js.map +1 -0
  311. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js +6 -7
  312. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  313. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js +3 -4
  314. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  315. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +12 -15
  316. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  317. package/build/mobile/bottom-sheet/nav-bar/heading.native.js +3 -4
  318. package/build/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  319. package/build/mobile/bottom-sheet/nav-bar/index.native.js +3 -4
  320. package/build/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  321. package/build/mobile/bottom-sheet/radio-cell.native.js +4 -3
  322. package/build/mobile/bottom-sheet/radio-cell.native.js.map +1 -1
  323. package/build/mobile/bottom-sheet/range-cell.native.js +7 -3
  324. package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  325. package/build/mobile/bottom-sheet/range-text-input.native.js +5 -6
  326. package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  327. package/build/mobile/bottom-sheet/ripple.native.js +10 -11
  328. package/build/mobile/bottom-sheet/ripple.native.js.map +1 -1
  329. package/build/mobile/bottom-sheet/stepper-cell/index.native.js +5 -4
  330. package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  331. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js +11 -12
  332. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  333. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js +11 -12
  334. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  335. package/build/mobile/bottom-sheet/sub-sheet/index.native.js +6 -7
  336. package/build/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  337. package/build/mobile/bottom-sheet/switch-cell.native.js +8 -2
  338. package/build/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
  339. package/build/mobile/bottom-sheet-select-control/index.native.js +11 -10
  340. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  341. package/build/mobile/bottom-sheet-text-control/index.native.js +13 -12
  342. package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  343. package/build/mobile/color-settings/index.native.js +12 -13
  344. package/build/mobile/color-settings/index.native.js.map +1 -1
  345. package/build/mobile/color-settings/utils.native.js +2 -2
  346. package/build/mobile/color-settings/utils.native.js.map +1 -1
  347. package/build/mobile/cycle-select-control/index.native.js +11 -12
  348. package/build/mobile/cycle-select-control/index.native.js.map +1 -1
  349. package/build/mobile/focal-point-settings-panel/index.native.js +6 -7
  350. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  351. package/build/mobile/global-styles-context/index.native.js +6 -14
  352. package/build/mobile/global-styles-context/index.native.js.map +1 -1
  353. package/build/mobile/global-styles-context/utils.native.js +69 -112
  354. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  355. package/build/mobile/gradient/index.native.js +26 -33
  356. package/build/mobile/gradient/index.native.js.map +1 -1
  357. package/build/mobile/html-text-input/index.native.js +3 -3
  358. package/build/mobile/html-text-input/index.native.js.map +1 -1
  359. package/build/mobile/image/image-editing-button.native.js +22 -26
  360. package/build/mobile/image/image-editing-button.native.js.map +1 -1
  361. package/build/mobile/image/index.native.js +31 -34
  362. package/build/mobile/image/index.native.js.map +1 -1
  363. package/build/mobile/keyboard-avoiding-view/index.ios.js +22 -29
  364. package/build/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  365. package/build/mobile/keyboard-aware-flat-list/index.android.js +5 -6
  366. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  367. package/build/mobile/keyboard-aware-flat-list/index.ios.js +9 -10
  368. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  369. package/build/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +9 -14
  370. package/build/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js.map +1 -1
  371. package/build/mobile/layout-animation/index.native.js +1 -3
  372. package/build/mobile/layout-animation/index.native.js.map +1 -1
  373. package/build/mobile/link-picker/index.native.js +12 -16
  374. package/build/mobile/link-picker/index.native.js.map +1 -1
  375. package/build/mobile/link-picker/link-picker-results.native.js +34 -48
  376. package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
  377. package/build/mobile/link-picker/link-picker-screen.native.js +7 -10
  378. package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  379. package/build/mobile/link-settings/image-link-destinations-screen.native.js +8 -9
  380. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  381. package/build/mobile/link-settings/index.native.js +57 -58
  382. package/build/mobile/link-settings/index.native.js.map +1 -1
  383. package/build/mobile/media-edit/index.native.js +2 -2
  384. package/build/mobile/media-edit/index.native.js.map +1 -1
  385. package/build/mobile/picker/index.ios.js +3 -6
  386. package/build/mobile/picker/index.ios.js.map +1 -1
  387. package/build/mobile/segmented-control/index.native.js +16 -20
  388. package/build/mobile/segmented-control/index.native.js.map +1 -1
  389. package/build/mobile/utils/alignments.native.js +2 -6
  390. package/build/mobile/utils/alignments.native.js.map +1 -1
  391. package/build/mobile/utils/index.native.js +1 -2
  392. package/build/mobile/utils/index.native.js.map +1 -1
  393. package/build/mobile/utils/use-unit-converter-to-mobile.native.js +4 -7
  394. package/build/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  395. package/build/modal/index.js +3 -4
  396. package/build/modal/index.js.map +1 -1
  397. package/build/navigable-container/container.js +2 -6
  398. package/build/navigable-container/container.js.map +1 -1
  399. package/build/navigable-container/menu.js +5 -7
  400. package/build/navigable-container/menu.js.map +1 -1
  401. package/build/navigable-container/tabbable.js +4 -6
  402. package/build/navigable-container/tabbable.js.map +1 -1
  403. package/build/navigation/back-button/index.js +8 -11
  404. package/build/navigation/back-button/index.js.map +1 -1
  405. package/build/navigation/group/index.js +5 -6
  406. package/build/navigation/group/index.js.map +1 -1
  407. package/build/navigation/index.js +8 -11
  408. package/build/navigation/index.js.map +1 -1
  409. package/build/navigation/item/base.js +1 -3
  410. package/build/navigation/item/base.js.map +1 -1
  411. package/build/navigation/menu/menu-title-search.js +11 -14
  412. package/build/navigation/menu/menu-title-search.js.map +1 -1
  413. package/build/navigation/menu/menu-title.js +8 -11
  414. package/build/navigation/menu/menu-title.js.map +1 -1
  415. package/build/navigation/menu/search-no-results-found.js +3 -4
  416. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  417. package/build/navigator/navigator-back-button/hook.js +1 -1
  418. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  419. package/build/navigator/navigator-button/hook.js +1 -1
  420. package/build/navigator/navigator-button/hook.js.map +1 -1
  421. package/build/navigator/navigator-provider/component.js +2 -6
  422. package/build/navigator/navigator-provider/component.js.map +1 -1
  423. package/build/navigator/navigator-screen/component.js +1 -1
  424. package/build/navigator/navigator-screen/component.js.map +1 -1
  425. package/build/notice/index.js +25 -29
  426. package/build/notice/index.js.map +1 -1
  427. package/build/notice/index.native.js +13 -18
  428. package/build/notice/index.native.js.map +1 -1
  429. package/build/notice/list.js +6 -8
  430. package/build/notice/list.js.map +1 -1
  431. package/build/number-control/index.js +24 -26
  432. package/build/number-control/index.js.map +1 -1
  433. package/build/number-control/styles/number-control-styles.js +6 -10
  434. package/build/number-control/styles/number-control-styles.js.map +1 -1
  435. package/build/palette-edit/index.js +83 -94
  436. package/build/palette-edit/index.js.map +1 -1
  437. package/build/panel/actions.native.js +8 -10
  438. package/build/panel/actions.native.js.map +1 -1
  439. package/build/panel/body.js +7 -10
  440. package/build/panel/body.js.map +1 -1
  441. package/build/panel/body.native.js +6 -7
  442. package/build/panel/body.native.js.map +1 -1
  443. package/build/panel/bottom-separator-cover.native.js +3 -4
  444. package/build/panel/bottom-separator-cover.native.js.map +1 -1
  445. package/build/panel/header.js +4 -5
  446. package/build/panel/header.js.map +1 -1
  447. package/build/panel/index.js +5 -6
  448. package/build/panel/index.js.map +1 -1
  449. package/build/panel/row.js +4 -5
  450. package/build/panel/row.js.map +1 -1
  451. package/build/popover/index.js +27 -31
  452. package/build/popover/index.js.map +1 -1
  453. package/build/popover/limit-shift.js +70 -75
  454. package/build/popover/limit-shift.js.map +1 -1
  455. package/build/popover/overlay-middlewares.js +7 -9
  456. package/build/popover/overlay-middlewares.js.map +1 -1
  457. package/build/popover/utils.js +26 -34
  458. package/build/popover/utils.js.map +1 -1
  459. package/build/private-apis.js +16 -1
  460. package/build/private-apis.js.map +1 -1
  461. package/build/query-controls/author-select.js +7 -8
  462. package/build/query-controls/author-select.js.map +1 -1
  463. package/build/query-controls/category-select.js +8 -9
  464. package/build/query-controls/category-select.js.map +1 -1
  465. package/build/query-controls/index.js +16 -17
  466. package/build/query-controls/index.js.map +1 -1
  467. package/build/query-controls/index.native.js +13 -14
  468. package/build/query-controls/index.native.js.map +1 -1
  469. package/build/radio-control/index.js +1 -1
  470. package/build/radio-control/index.js.map +1 -1
  471. package/build/radio-control/index.native.js +6 -7
  472. package/build/radio-control/index.native.js.map +1 -1
  473. package/build/radio-group/index.js +8 -9
  474. package/build/radio-group/index.js.map +1 -1
  475. package/build/radio-group/radio/index.js +5 -6
  476. package/build/radio-group/radio/index.js.map +1 -1
  477. package/build/range-control/index.js +1 -3
  478. package/build/range-control/index.js.map +1 -1
  479. package/build/range-control/index.native.js +23 -22
  480. package/build/range-control/index.native.js.map +1 -1
  481. package/build/range-control/rail.js +7 -9
  482. package/build/range-control/rail.js.map +1 -1
  483. package/build/range-control/styles/range-control-styles.js +37 -52
  484. package/build/range-control/styles/range-control-styles.js.map +1 -1
  485. package/build/range-control/tooltip.js +4 -5
  486. package/build/range-control/tooltip.js.map +1 -1
  487. package/build/resizable-box/index.js +8 -9
  488. package/build/resizable-box/index.js.map +1 -1
  489. package/build/resizable-box/resize-tooltip/index.js +12 -13
  490. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  491. package/build/resizable-box/resize-tooltip/label.js +6 -7
  492. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  493. package/build/resizable-box/resize-tooltip/utils.js +16 -19
  494. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  495. package/build/responsive-wrapper/index.js +6 -8
  496. package/build/responsive-wrapper/index.js.map +1 -1
  497. package/build/sandbox/index.js +16 -23
  498. package/build/sandbox/index.js.map +1 -1
  499. package/build/sandbox/index.native.js +20 -26
  500. package/build/sandbox/index.native.js.map +1 -1
  501. package/build/search-control/index.js +14 -17
  502. package/build/search-control/index.js.map +1 -1
  503. package/build/search-control/index.native.js +7 -8
  504. package/build/search-control/index.native.js.map +1 -1
  505. package/build/select-control/index.js +9 -19
  506. package/build/select-control/index.js.map +1 -1
  507. package/build/select-control/index.native.js +11 -12
  508. package/build/select-control/index.native.js.map +1 -1
  509. package/build/select-control/styles/select-control-styles.js +19 -25
  510. package/build/select-control/styles/select-control-styles.js.map +1 -1
  511. package/build/slot-fill/bubbles-virtually/fill.js +4 -5
  512. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  513. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -7
  514. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  515. package/build/slot-fill/bubbles-virtually/slot.js +6 -7
  516. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  517. package/build/slot-fill/fill.js +4 -5
  518. package/build/slot-fill/fill.js.map +1 -1
  519. package/build/slot-fill/index.js +8 -11
  520. package/build/slot-fill/index.js.map +1 -1
  521. package/build/slot-fill/index.native.js +4 -5
  522. package/build/slot-fill/index.native.js.map +1 -1
  523. package/build/slot-fill/provider.js +2 -2
  524. package/build/slot-fill/provider.js.map +1 -1
  525. package/build/slot-fill/slot.js +9 -12
  526. package/build/slot-fill/slot.js.map +1 -1
  527. package/build/snackbar/index.js +26 -31
  528. package/build/snackbar/index.js.map +1 -1
  529. package/build/snackbar/list.js +7 -8
  530. package/build/snackbar/list.js.map +1 -1
  531. package/build/spinner/index.js +4 -5
  532. package/build/spinner/index.js.map +1 -1
  533. package/build/style-provider/index.native.js +3 -4
  534. package/build/style-provider/index.native.js.map +1 -1
  535. package/build/surface/styles.js +6 -7
  536. package/build/surface/styles.js.map +1 -1
  537. package/build/tab-panel/index.js +35 -40
  538. package/build/tab-panel/index.js.map +1 -1
  539. package/build/text/styles/text-mixins.native.js +1 -3
  540. package/build/text/styles/text-mixins.native.js.map +1 -1
  541. package/build/text/utils.js +16 -17
  542. package/build/text/utils.js.map +1 -1
  543. package/build/text-control/index.native.js +12 -13
  544. package/build/text-control/index.native.js.map +1 -1
  545. package/build/textarea-control/index.native.js +7 -8
  546. package/build/textarea-control/index.native.js.map +1 -1
  547. package/build/theme/color-algorithms.js +1 -2
  548. package/build/theme/color-algorithms.js.map +1 -1
  549. package/build/theme/index.js +6 -7
  550. package/build/theme/index.js.map +1 -1
  551. package/build/theme/styles.js +4 -8
  552. package/build/theme/styles.js.map +1 -1
  553. package/build/toggle-control/index.js +9 -11
  554. package/build/toggle-control/index.js.map +1 -1
  555. package/build/toggle-control/index.native.js +9 -10
  556. package/build/toggle-control/index.native.js.map +1 -1
  557. package/build/toggle-group-control/toggle-group-control/as-button-group.js +9 -10
  558. package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  559. package/build/toggle-group-control/toggle-group-control/as-radio-group.js +9 -10
  560. package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  561. package/build/toggle-group-control/toggle-group-control/styles.js +11 -14
  562. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  563. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -8
  564. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  565. package/build/toggle-group-control/toggle-group-control-option-base/component.js +5 -7
  566. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  567. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +11 -15
  568. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  569. package/build/toolbar/toolbar/index.js +23 -9
  570. package/build/toolbar/toolbar/index.js.map +1 -1
  571. package/build/toolbar/toolbar/toolbar-container.js +4 -5
  572. package/build/toolbar/toolbar/toolbar-container.js.map +1 -1
  573. package/build/toolbar/toolbar/toolbar-container.native.js +3 -6
  574. package/build/toolbar/toolbar/toolbar-container.native.js.map +1 -1
  575. package/build/toolbar/toolbar-button/index.js +10 -11
  576. package/build/toolbar/toolbar-button/index.js.map +1 -1
  577. package/build/toolbar/toolbar-button/toolbar-button-container.js +6 -9
  578. package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  579. package/build/toolbar/toolbar-group/index.js +9 -12
  580. package/build/toolbar/toolbar-group/index.js.map +1 -1
  581. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js +5 -6
  582. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  583. package/build/toolbar/toolbar-group/toolbar-group-collapsed.native.js +6 -7
  584. package/build/toolbar/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  585. package/build/toolbar/toolbar-group/toolbar-group-container.js +7 -10
  586. package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  587. package/build/toolbar/toolbar-group/toolbar-group-container.native.js +7 -10
  588. package/build/toolbar/toolbar-group/toolbar-group-container.native.js.map +1 -1
  589. package/build/toolbar/toolbar-item/index.js +5 -6
  590. package/build/toolbar/toolbar-item/index.js.map +1 -1
  591. package/build/toolbar/toolbar-item/index.native.js +4 -6
  592. package/build/toolbar/toolbar-item/index.native.js.map +1 -1
  593. package/build/tools-panel/tools-panel/hook.js +17 -25
  594. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  595. package/build/tools-panel/tools-panel-header/component.js +14 -24
  596. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  597. package/build/tools-panel/tools-panel-item/hook.js +5 -7
  598. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  599. package/build/tooltip/index.js +36 -43
  600. package/build/tooltip/index.js.map +1 -1
  601. package/build/tooltip/index.native.js +14 -19
  602. package/build/tooltip/index.native.js.map +1 -1
  603. package/build/tree-grid/cell.js +5 -6
  604. package/build/tree-grid/cell.js.map +1 -1
  605. package/build/tree-grid/index.js +12 -15
  606. package/build/tree-grid/index.js.map +1 -1
  607. package/build/tree-grid/item.js +4 -5
  608. package/build/tree-grid/item.js.map +1 -1
  609. package/build/tree-grid/roving-tab-index-item.js +6 -7
  610. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  611. package/build/tree-grid/roving-tab-index.js +3 -4
  612. package/build/tree-grid/roving-tab-index.js.map +1 -1
  613. package/build/tree-grid/row.js +8 -9
  614. package/build/tree-grid/row.js.map +1 -1
  615. package/build/tree-select/index.js +9 -11
  616. package/build/tree-select/index.js.map +1 -1
  617. package/build/truncate/utils.js +1 -3
  618. package/build/truncate/utils.js.map +1 -1
  619. package/build/ui/context/context-connect.js +1 -1
  620. package/build/ui/context/context-connect.js.map +1 -1
  621. package/build/ui/context/context-system-provider.js +7 -9
  622. package/build/ui/context/context-system-provider.js.map +1 -1
  623. package/build/ui/context/index.js +7 -0
  624. package/build/ui/context/index.js.map +1 -1
  625. package/build/ui/context/use-context-system.js +1 -1
  626. package/build/ui/context/use-context-system.js.map +1 -1
  627. package/build/ui/control-group/hook.js +1 -1
  628. package/build/ui/control-group/hook.js.map +1 -1
  629. package/build/ui/form-group/form-group-content.js +12 -13
  630. package/build/ui/form-group/form-group-content.js.map +1 -1
  631. package/build/ui/form-group/form-group-help.js +3 -4
  632. package/build/ui/form-group/form-group-help.js.map +1 -1
  633. package/build/ui/form-group/form-group-label.js +7 -8
  634. package/build/ui/form-group/form-group-label.js.map +1 -1
  635. package/build/ui/tooltip/component.js +1 -1
  636. package/build/ui/tooltip/component.js.map +1 -1
  637. package/build/ui/utils/colors.js +1 -3
  638. package/build/ui/utils/colors.js.map +1 -1
  639. package/build/ui/utils/font-size.js +2 -6
  640. package/build/ui/utils/font-size.js.map +1 -1
  641. package/build/ui/utils/get-high-dpi.js +1 -5
  642. package/build/ui/utils/get-high-dpi.js.map +1 -1
  643. package/build/ui/utils/space.js +1 -3
  644. package/build/ui/utils/space.js.map +1 -1
  645. package/build/ui/utils/use-responsive-value.js +2 -4
  646. package/build/ui/utils/use-responsive-value.js.map +1 -1
  647. package/build/unit-control/index.js +8 -8
  648. package/build/unit-control/index.js.map +1 -1
  649. package/build/unit-control/index.native.js +22 -23
  650. package/build/unit-control/index.native.js.map +1 -1
  651. package/build/unit-control/styles/unit-control-styles.js +6 -8
  652. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  653. package/build/unit-control/unit-select-control.js +11 -13
  654. package/build/unit-control/unit-select-control.js.map +1 -1
  655. package/build/unit-control/utils.js +12 -19
  656. package/build/unit-control/utils.js.map +1 -1
  657. package/build/utils/browsers.js +2 -10
  658. package/build/utils/browsers.js.map +1 -1
  659. package/build/utils/colors.js +1 -3
  660. package/build/utils/colors.js.map +1 -1
  661. package/build/utils/config-values.js +1 -0
  662. package/build/utils/config-values.js.map +1 -1
  663. package/build/utils/hooks/use-controlled-state.js +1 -2
  664. package/build/utils/hooks/use-controlled-state.js.map +1 -1
  665. package/build/utils/hooks/use-controlled-value.js +5 -6
  666. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  667. package/build/utils/hooks/use-cx.js +1 -5
  668. package/build/utils/hooks/use-cx.js.map +1 -1
  669. package/build/utils/math.js +5 -17
  670. package/build/utils/math.js.map +1 -1
  671. package/build/utils/reduce-motion.js +1 -2
  672. package/build/utils/reduce-motion.js.map +1 -1
  673. package/build/utils/rtl.js +3 -9
  674. package/build/utils/rtl.js.map +1 -1
  675. package/build/utils/values.js +2 -6
  676. package/build/utils/values.js.map +1 -1
  677. package/build/z-stack/styles.js +14 -23
  678. package/build/z-stack/styles.js.map +1 -1
  679. package/build-module/alignment-matrix-control/cell.js +5 -6
  680. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  681. package/build-module/alignment-matrix-control/icon.js +8 -9
  682. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  683. package/build-module/alignment-matrix-control/index.js +10 -11
  684. package/build-module/alignment-matrix-control/index.js.map +1 -1
  685. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +6 -8
  686. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  687. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +6 -8
  688. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  689. package/build-module/alignment-matrix-control/utils.js +1 -2
  690. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  691. package/build-module/angle-picker-control/angle-circle.js +6 -9
  692. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  693. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +3 -4
  694. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  695. package/build-module/animate/index.js +5 -6
  696. package/build-module/animate/index.js.map +1 -1
  697. package/build-module/autocomplete/autocompleter-ui.js +29 -33
  698. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  699. package/build-module/autocomplete/autocompleter-ui.native.js +15 -22
  700. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  701. package/build-module/autocomplete/background-view.android.js +3 -4
  702. package/build-module/autocomplete/background-view.android.js.map +1 -1
  703. package/build-module/autocomplete/background-view.ios.js +3 -4
  704. package/build-module/autocomplete/background-view.ios.js.map +1 -1
  705. package/build-module/autocomplete/get-default-use-items.js +1 -3
  706. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  707. package/build-module/autocomplete/index.js +18 -23
  708. package/build-module/autocomplete/index.js.map +1 -1
  709. package/build-module/base-control/index.js +14 -16
  710. package/build-module/base-control/index.js.map +1 -1
  711. package/build-module/base-control/index.native.js +5 -6
  712. package/build-module/base-control/index.native.js.map +1 -1
  713. package/build-module/base-control/styles/base-control-styles.js +6 -8
  714. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  715. package/build-module/border-box-control/border-box-control/hook.js +5 -5
  716. package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
  717. package/build-module/border-box-control/border-box-control-split-controls/component.js +4 -4
  718. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  719. package/build-module/border-box-control/styles.js +3 -3
  720. package/build-module/border-box-control/styles.js.map +1 -1
  721. package/build-module/border-box-control/utils.js +5 -8
  722. package/build-module/border-box-control/utils.js.map +1 -1
  723. package/build-module/border-control/border-control/component.js +1 -1
  724. package/build-module/border-control/border-control/component.js.map +1 -1
  725. package/build-module/border-control/border-control/hook.js +5 -5
  726. package/build-module/border-control/border-control/hook.js.map +1 -1
  727. package/build-module/border-control/border-control-dropdown/component.js +70 -67
  728. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  729. package/build-module/border-control/border-control-dropdown/hook.js +4 -4
  730. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  731. package/build-module/box-control/all-input-control.js +11 -12
  732. package/build-module/box-control/all-input-control.js.map +1 -1
  733. package/build-module/box-control/axial-input-controls.js +12 -14
  734. package/build-module/box-control/axial-input-controls.js.map +1 -1
  735. package/build-module/box-control/icon.js +7 -9
  736. package/build-module/box-control/icon.js.map +1 -1
  737. package/build-module/box-control/index.js +22 -24
  738. package/build-module/box-control/index.js.map +1 -1
  739. package/build-module/box-control/input-controls.js +15 -18
  740. package/build-module/box-control/input-controls.js.map +1 -1
  741. package/build-module/box-control/linked-button.js +4 -5
  742. package/build-module/box-control/linked-button.js.map +1 -1
  743. package/build-module/box-control/styles/box-control-icon-styles.js +3 -4
  744. package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
  745. package/build-module/box-control/styles/box-control-styles.js +9 -12
  746. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  747. package/build-module/box-control/styles/box-control-visualizer-styles.js +7 -11
  748. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  749. package/build-module/box-control/unit-control.js +18 -22
  750. package/build-module/box-control/unit-control.js.map +1 -1
  751. package/build-module/box-control/utils.js +4 -10
  752. package/build-module/box-control/utils.js.map +1 -1
  753. package/build-module/button/deprecated.js +7 -8
  754. package/build-module/button/deprecated.js.map +1 -1
  755. package/build-module/button/index.js +15 -16
  756. package/build-module/button/index.js.map +1 -1
  757. package/build-module/button/index.native.js +5 -7
  758. package/build-module/button/index.native.js.map +1 -1
  759. package/build-module/card/card/hook.js +5 -6
  760. package/build-module/card/card/hook.js.map +1 -1
  761. package/build-module/circular-option-picker/index.js +27 -33
  762. package/build-module/circular-option-picker/index.js.map +1 -1
  763. package/build-module/clipboard-button/index.js +8 -9
  764. package/build-module/clipboard-button/index.js.map +1 -1
  765. package/build-module/color-control/index.native.js +7 -8
  766. package/build-module/color-control/index.native.js.map +1 -1
  767. package/build-module/color-indicator/index.native.js +10 -12
  768. package/build-module/color-indicator/index.native.js.map +1 -1
  769. package/build-module/color-palette/index.js +63 -72
  770. package/build-module/color-palette/index.js.map +1 -1
  771. package/build-module/color-palette/index.native.js +33 -47
  772. package/build-module/color-palette/index.native.js.map +1 -1
  773. package/build-module/color-palette/utils.js +2 -5
  774. package/build-module/color-palette/utils.js.map +1 -1
  775. package/build-module/color-picker/color-input.js +6 -7
  776. package/build-module/color-picker/color-input.js.map +1 -1
  777. package/build-module/color-picker/hex-input.js +8 -12
  778. package/build-module/color-picker/hex-input.js.map +1 -1
  779. package/build-module/color-picker/hsl-input.js +5 -6
  780. package/build-module/color-picker/hsl-input.js.map +1 -1
  781. package/build-module/color-picker/index.native.js +23 -30
  782. package/build-module/color-picker/index.native.js.map +1 -1
  783. package/build-module/color-picker/input-with-slider.js +8 -10
  784. package/build-module/color-picker/input-with-slider.js.map +1 -1
  785. package/build-module/color-picker/picker.js +5 -6
  786. package/build-module/color-picker/picker.js.map +1 -1
  787. package/build-module/color-picker/rgb-input.js +5 -6
  788. package/build-module/color-picker/rgb-input.js.map +1 -1
  789. package/build-module/color-picker/styles.js +8 -8
  790. package/build-module/color-picker/styles.js.map +1 -1
  791. package/build-module/color-picker/use-deprecated-props.js +1 -3
  792. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  793. package/build-module/combobox-control/index.js +3 -6
  794. package/build-module/combobox-control/index.js.map +1 -1
  795. package/build-module/combobox-control/styles.js +3 -6
  796. package/build-module/combobox-control/styles.js.map +1 -1
  797. package/build-module/confirm-dialog/component.js +1 -1
  798. package/build-module/confirm-dialog/component.js.map +1 -1
  799. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +114 -129
  800. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  801. package/build-module/custom-gradient-picker/gradient-bar/index.js +12 -14
  802. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  803. package/build-module/custom-gradient-picker/gradient-bar/utils.js +4 -6
  804. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  805. package/build-module/custom-gradient-picker/index.js +19 -22
  806. package/build-module/custom-gradient-picker/index.js.map +1 -1
  807. package/build-module/custom-gradient-picker/index.native.js +7 -8
  808. package/build-module/custom-gradient-picker/index.native.js.map +1 -1
  809. package/build-module/custom-gradient-picker/serializer.js +15 -21
  810. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  811. package/build-module/custom-gradient-picker/utils.js +6 -9
  812. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  813. package/build-module/custom-select-control/index.js +14 -21
  814. package/build-module/custom-select-control/index.js.map +1 -1
  815. package/build-module/dashicon/index.js +7 -8
  816. package/build-module/dashicon/index.js.map +1 -1
  817. package/build-module/dashicon/index.native.js +4 -5
  818. package/build-module/dashicon/index.native.js.map +1 -1
  819. package/build-module/date-time/date/index.js +24 -26
  820. package/build-module/date-time/date/index.js.map +1 -1
  821. package/build-module/date-time/date-time/index.js +14 -90
  822. package/build-module/date-time/date-time/index.js.map +1 -1
  823. package/build-module/date-time/date-time/styles.js +3 -17
  824. package/build-module/date-time/date-time/styles.js.map +1 -1
  825. package/build-module/date-time/time/index.js +11 -14
  826. package/build-module/date-time/time/index.js.map +1 -1
  827. package/build-module/dimension-control/index.js +8 -11
  828. package/build-module/dimension-control/index.js.map +1 -1
  829. package/build-module/disabled/index.js +6 -7
  830. package/build-module/disabled/index.js.map +1 -1
  831. package/build-module/disabled/index.native.js +3 -4
  832. package/build-module/disabled/index.native.js.map +1 -1
  833. package/build-module/divider/styles.js +21 -29
  834. package/build-module/divider/styles.js.map +1 -1
  835. package/build-module/draggable/index.js +14 -19
  836. package/build-module/draggable/index.js.map +1 -1
  837. package/build-module/draggable/index.native.js +17 -19
  838. package/build-module/draggable/index.native.js.map +1 -1
  839. package/build-module/drop-zone/index.js +11 -16
  840. package/build-module/drop-zone/index.js.map +1 -1
  841. package/build-module/drop-zone/provider.js +3 -4
  842. package/build-module/drop-zone/provider.js.map +1 -1
  843. package/build-module/dropdown/index.js +19 -23
  844. package/build-module/dropdown/index.js.map +1 -1
  845. package/build-module/dropdown/styles.js +3 -4
  846. package/build-module/dropdown/styles.js.map +1 -1
  847. package/build-module/dropdown-menu/index.js +96 -25
  848. package/build-module/dropdown-menu/index.js.map +1 -1
  849. package/build-module/dropdown-menu/index.native.js +22 -30
  850. package/build-module/dropdown-menu/index.native.js.map +1 -1
  851. package/build-module/dropdown-menu/types.js +2 -0
  852. package/build-module/dropdown-menu/types.js.map +1 -0
  853. package/build-module/dropdown-menu-v2/index.js +182 -0
  854. package/build-module/dropdown-menu-v2/index.js.map +1 -0
  855. package/build-module/dropdown-menu-v2/styles.js +161 -0
  856. package/build-module/dropdown-menu-v2/styles.js.map +1 -0
  857. package/build-module/dropdown-menu-v2/types.js +2 -0
  858. package/build-module/dropdown-menu-v2/types.js.map +1 -0
  859. package/build-module/duotone-picker/color-list-picker/index.js +16 -18
  860. package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
  861. package/build-module/duotone-picker/custom-duotone-bar.js +4 -5
  862. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  863. package/build-module/duotone-picker/duotone-picker.js +15 -17
  864. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  865. package/build-module/duotone-picker/duotone-swatch.js +3 -4
  866. package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
  867. package/build-module/duotone-picker/utils.js +14 -27
  868. package/build-module/duotone-picker/utils.js.map +1 -1
  869. package/build-module/external-link/index.js +1 -1
  870. package/build-module/external-link/index.js.map +1 -1
  871. package/build-module/external-link/index.native.js +4 -5
  872. package/build-module/external-link/index.native.js.map +1 -1
  873. package/build-module/focal-point-picker/controls.js +11 -10
  874. package/build-module/focal-point-picker/controls.js.map +1 -1
  875. package/build-module/focal-point-picker/focal-point.js +5 -6
  876. package/build-module/focal-point-picker/focal-point.js.map +1 -1
  877. package/build-module/focal-point-picker/focal-point.native.js +5 -6
  878. package/build-module/focal-point-picker/focal-point.native.js.map +1 -1
  879. package/build-module/focal-point-picker/grid.js +4 -5
  880. package/build-module/focal-point-picker/grid.js.map +1 -1
  881. package/build-module/focal-point-picker/index.js +33 -37
  882. package/build-module/focal-point-picker/index.js.map +1 -1
  883. package/build-module/focal-point-picker/index.native.js +10 -12
  884. package/build-module/focal-point-picker/index.native.js.map +1 -1
  885. package/build-module/focal-point-picker/media.js +11 -13
  886. package/build-module/focal-point-picker/media.js.map +1 -1
  887. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +9 -14
  888. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  889. package/build-module/focal-point-picker/styles/focal-point-style.js +3 -6
  890. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  891. package/build-module/focal-point-picker/tooltip/index.native.js +16 -21
  892. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  893. package/build-module/focal-point-picker/utils.js +2 -4
  894. package/build-module/focal-point-picker/utils.js.map +1 -1
  895. package/build-module/focusable-iframe/index.js +4 -5
  896. package/build-module/focusable-iframe/index.js.map +1 -1
  897. package/build-module/font-size-picker/font-size-picker-select.js +3 -5
  898. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  899. package/build-module/font-size-picker/index.js +14 -18
  900. package/build-module/font-size-picker/index.js.map +1 -1
  901. package/build-module/font-size-picker/index.native.js +6 -7
  902. package/build-module/font-size-picker/index.native.js.map +1 -1
  903. package/build-module/font-size-picker/styles.js +20 -7
  904. package/build-module/font-size-picker/styles.js.map +1 -1
  905. package/build-module/footer-message-control/index.native.js +2 -3
  906. package/build-module/footer-message-control/index.native.js.map +1 -1
  907. package/build-module/form-file-upload/index.js +10 -13
  908. package/build-module/form-file-upload/index.js.map +1 -1
  909. package/build-module/form-token-field/index.js +4 -19
  910. package/build-module/form-token-field/index.js.map +1 -1
  911. package/build-module/form-token-field/styles.js +4 -7
  912. package/build-module/form-token-field/styles.js.map +1 -1
  913. package/build-module/form-token-field/suggestions-list.js +14 -15
  914. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  915. package/build-module/form-token-field/token-input.js +2 -2
  916. package/build-module/form-token-field/token-input.js.map +1 -1
  917. package/build-module/form-token-field/token.js +14 -15
  918. package/build-module/form-token-field/token.js.map +1 -1
  919. package/build-module/gradient-picker/index.js +51 -58
  920. package/build-module/gradient-picker/index.js.map +1 -1
  921. package/build-module/guide/icons.js +13 -16
  922. package/build-module/guide/icons.js.map +1 -1
  923. package/build-module/guide/index.js +9 -12
  924. package/build-module/guide/index.js.map +1 -1
  925. package/build-module/guide/page-control.js +5 -6
  926. package/build-module/guide/page-control.js.map +1 -1
  927. package/build-module/h-stack/utils.js +1 -3
  928. package/build-module/h-stack/utils.js.map +1 -1
  929. package/build-module/higher-order/navigate-regions/index.js +16 -22
  930. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  931. package/build-module/higher-order/with-focus-outside/index.js +1 -1
  932. package/build-module/higher-order/with-focus-outside/index.js.map +1 -1
  933. package/build-module/higher-order/with-focus-outside/index.native.js +1 -1
  934. package/build-module/higher-order/with-focus-outside/index.native.js.map +1 -1
  935. package/build-module/higher-order/with-focus-return/index.js +13 -17
  936. package/build-module/higher-order/with-focus-return/index.js.map +1 -1
  937. package/build-module/icon/index.js +5 -7
  938. package/build-module/icon/index.js.map +1 -1
  939. package/build-module/index.native.js +0 -1
  940. package/build-module/index.native.js.map +1 -1
  941. package/build-module/input-control/backdrop.js +4 -5
  942. package/build-module/input-control/backdrop.js.map +1 -1
  943. package/build-module/input-control/index.js +22 -23
  944. package/build-module/input-control/index.js.map +1 -1
  945. package/build-module/input-control/input-base.js +16 -17
  946. package/build-module/input-control/input-base.js.map +1 -1
  947. package/build-module/input-control/input-field.js +26 -29
  948. package/build-module/input-control/input-field.js.map +1 -1
  949. package/build-module/input-control/label.js +6 -7
  950. package/build-module/input-control/label.js.map +1 -1
  951. package/build-module/input-control/reducer/reducer.js +2 -6
  952. package/build-module/input-control/reducer/reducer.js.map +1 -1
  953. package/build-module/input-control/styles/input-control-styles.js +62 -64
  954. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  955. package/build-module/input-control/utils.js +1 -3
  956. package/build-module/input-control/utils.js.map +1 -1
  957. package/build-module/keyboard-shortcuts/index.js +21 -26
  958. package/build-module/keyboard-shortcuts/index.js.map +1 -1
  959. package/build-module/menu-items-choice/index.js +6 -7
  960. package/build-module/menu-items-choice/index.js.map +1 -1
  961. package/build-module/mobile/audio-player/index.native.js +7 -8
  962. package/build-module/mobile/audio-player/index.native.js.map +1 -1
  963. package/build-module/mobile/badge/index.native.js +5 -6
  964. package/build-module/mobile/badge/index.native.js.map +1 -1
  965. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +10 -12
  966. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  967. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -13
  968. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  969. package/build-module/mobile/bottom-sheet/button.native.js +18 -21
  970. package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
  971. package/build-module/mobile/bottom-sheet/cell.native.js +22 -11
  972. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  973. package/build-module/mobile/bottom-sheet/color-cell.native.js +3 -1
  974. package/build-module/mobile/bottom-sheet/color-cell.native.js.map +1 -1
  975. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js +4 -5
  976. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  977. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -5
  978. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  979. package/build-module/mobile/bottom-sheet/index.native.js +19 -30
  980. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  981. package/build-module/mobile/bottom-sheet/link-cell.native.js +6 -7
  982. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  983. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -6
  984. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  985. package/build-module/mobile/bottom-sheet/lock-icon/index.native.js +21 -0
  986. package/build-module/mobile/bottom-sheet/lock-icon/index.native.js.map +1 -0
  987. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js +6 -7
  988. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  989. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js +3 -4
  990. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  991. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +12 -15
  992. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  993. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js +3 -4
  994. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  995. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js +3 -4
  996. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  997. package/build-module/mobile/bottom-sheet/radio-cell.native.js +3 -2
  998. package/build-module/mobile/bottom-sheet/radio-cell.native.js.map +1 -1
  999. package/build-module/mobile/bottom-sheet/range-cell.native.js +6 -3
  1000. package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  1001. package/build-module/mobile/bottom-sheet/range-text-input.native.js +5 -6
  1002. package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  1003. package/build-module/mobile/bottom-sheet/ripple.native.js +10 -11
  1004. package/build-module/mobile/bottom-sheet/ripple.native.js.map +1 -1
  1005. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js +5 -4
  1006. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  1007. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js +11 -12
  1008. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  1009. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js +11 -12
  1010. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  1011. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js +6 -7
  1012. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  1013. package/build-module/mobile/bottom-sheet/switch-cell.native.js +7 -2
  1014. package/build-module/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
  1015. package/build-module/mobile/bottom-sheet-select-control/index.native.js +11 -10
  1016. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  1017. package/build-module/mobile/bottom-sheet-text-control/index.native.js +13 -12
  1018. package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  1019. package/build-module/mobile/color-settings/index.native.js +12 -13
  1020. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  1021. package/build-module/mobile/color-settings/utils.native.js +2 -2
  1022. package/build-module/mobile/color-settings/utils.native.js.map +1 -1
  1023. package/build-module/mobile/cycle-select-control/index.native.js +11 -12
  1024. package/build-module/mobile/cycle-select-control/index.native.js.map +1 -1
  1025. package/build-module/mobile/focal-point-settings-panel/index.native.js +6 -7
  1026. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  1027. package/build-module/mobile/global-styles-context/index.native.js +6 -14
  1028. package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
  1029. package/build-module/mobile/global-styles-context/utils.native.js +69 -112
  1030. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  1031. package/build-module/mobile/gradient/index.native.js +26 -33
  1032. package/build-module/mobile/gradient/index.native.js.map +1 -1
  1033. package/build-module/mobile/html-text-input/index.native.js +3 -3
  1034. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  1035. package/build-module/mobile/image/image-editing-button.native.js +22 -26
  1036. package/build-module/mobile/image/image-editing-button.native.js.map +1 -1
  1037. package/build-module/mobile/image/index.native.js +31 -34
  1038. package/build-module/mobile/image/index.native.js.map +1 -1
  1039. package/build-module/mobile/keyboard-avoiding-view/index.ios.js +22 -29
  1040. package/build-module/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  1041. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +5 -6
  1042. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  1043. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +9 -10
  1044. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  1045. package/build-module/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js +9 -14
  1046. package/build-module/mobile/keyboard-aware-flat-list/use-keyboard-offset.native.js.map +1 -1
  1047. package/build-module/mobile/layout-animation/index.native.js +1 -2
  1048. package/build-module/mobile/layout-animation/index.native.js.map +1 -1
  1049. package/build-module/mobile/link-picker/index.native.js +12 -16
  1050. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  1051. package/build-module/mobile/link-picker/link-picker-results.native.js +34 -48
  1052. package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
  1053. package/build-module/mobile/link-picker/link-picker-screen.native.js +7 -9
  1054. package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  1055. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +8 -9
  1056. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
  1057. package/build-module/mobile/link-settings/index.native.js +57 -58
  1058. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  1059. package/build-module/mobile/media-edit/index.native.js +2 -2
  1060. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  1061. package/build-module/mobile/picker/index.ios.js +3 -6
  1062. package/build-module/mobile/picker/index.ios.js.map +1 -1
  1063. package/build-module/mobile/segmented-control/index.native.js +16 -20
  1064. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  1065. package/build-module/mobile/utils/alignments.native.js +2 -6
  1066. package/build-module/mobile/utils/alignments.native.js.map +1 -1
  1067. package/build-module/mobile/utils/index.native.js +1 -2
  1068. package/build-module/mobile/utils/index.native.js.map +1 -1
  1069. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js +4 -7
  1070. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  1071. package/build-module/modal/index.js +3 -4
  1072. package/build-module/modal/index.js.map +1 -1
  1073. package/build-module/navigable-container/container.js +2 -6
  1074. package/build-module/navigable-container/container.js.map +1 -1
  1075. package/build-module/navigable-container/menu.js +5 -7
  1076. package/build-module/navigable-container/menu.js.map +1 -1
  1077. package/build-module/navigable-container/tabbable.js +4 -6
  1078. package/build-module/navigable-container/tabbable.js.map +1 -1
  1079. package/build-module/navigation/back-button/index.js +8 -11
  1080. package/build-module/navigation/back-button/index.js.map +1 -1
  1081. package/build-module/navigation/group/index.js +5 -6
  1082. package/build-module/navigation/group/index.js.map +1 -1
  1083. package/build-module/navigation/index.js +8 -11
  1084. package/build-module/navigation/index.js.map +1 -1
  1085. package/build-module/navigation/item/base.js +1 -3
  1086. package/build-module/navigation/item/base.js.map +1 -1
  1087. package/build-module/navigation/menu/menu-title-search.js +11 -14
  1088. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  1089. package/build-module/navigation/menu/menu-title.js +8 -11
  1090. package/build-module/navigation/menu/menu-title.js.map +1 -1
  1091. package/build-module/navigation/menu/search-no-results-found.js +3 -4
  1092. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  1093. package/build-module/navigator/navigator-back-button/hook.js +1 -1
  1094. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  1095. package/build-module/navigator/navigator-button/hook.js +1 -1
  1096. package/build-module/navigator/navigator-button/hook.js.map +1 -1
  1097. package/build-module/navigator/navigator-provider/component.js +2 -6
  1098. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  1099. package/build-module/navigator/navigator-screen/component.js +1 -1
  1100. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  1101. package/build-module/notice/index.js +25 -29
  1102. package/build-module/notice/index.js.map +1 -1
  1103. package/build-module/notice/index.native.js +13 -18
  1104. package/build-module/notice/index.native.js.map +1 -1
  1105. package/build-module/notice/list.js +6 -8
  1106. package/build-module/notice/list.js.map +1 -1
  1107. package/build-module/number-control/index.js +24 -26
  1108. package/build-module/number-control/index.js.map +1 -1
  1109. package/build-module/number-control/styles/number-control-styles.js +6 -10
  1110. package/build-module/number-control/styles/number-control-styles.js.map +1 -1
  1111. package/build-module/palette-edit/index.js +83 -94
  1112. package/build-module/palette-edit/index.js.map +1 -1
  1113. package/build-module/panel/actions.native.js +8 -10
  1114. package/build-module/panel/actions.native.js.map +1 -1
  1115. package/build-module/panel/body.js +7 -10
  1116. package/build-module/panel/body.js.map +1 -1
  1117. package/build-module/panel/body.native.js +6 -7
  1118. package/build-module/panel/body.native.js.map +1 -1
  1119. package/build-module/panel/bottom-separator-cover.native.js +3 -4
  1120. package/build-module/panel/bottom-separator-cover.native.js.map +1 -1
  1121. package/build-module/panel/header.js +4 -5
  1122. package/build-module/panel/header.js.map +1 -1
  1123. package/build-module/panel/index.js +5 -6
  1124. package/build-module/panel/index.js.map +1 -1
  1125. package/build-module/panel/row.js +4 -5
  1126. package/build-module/panel/row.js.map +1 -1
  1127. package/build-module/popover/index.js +25 -31
  1128. package/build-module/popover/index.js.map +1 -1
  1129. package/build-module/popover/limit-shift.js +66 -71
  1130. package/build-module/popover/limit-shift.js.map +1 -1
  1131. package/build-module/popover/overlay-middlewares.js +7 -9
  1132. package/build-module/popover/overlay-middlewares.js.map +1 -1
  1133. package/build-module/popover/utils.js +26 -34
  1134. package/build-module/popover/utils.js.map +1 -1
  1135. package/build-module/private-apis.js +14 -1
  1136. package/build-module/private-apis.js.map +1 -1
  1137. package/build-module/query-controls/author-select.js +7 -8
  1138. package/build-module/query-controls/author-select.js.map +1 -1
  1139. package/build-module/query-controls/category-select.js +8 -9
  1140. package/build-module/query-controls/category-select.js.map +1 -1
  1141. package/build-module/query-controls/index.js +16 -17
  1142. package/build-module/query-controls/index.js.map +1 -1
  1143. package/build-module/query-controls/index.native.js +13 -14
  1144. package/build-module/query-controls/index.native.js.map +1 -1
  1145. package/build-module/radio-control/index.js +1 -1
  1146. package/build-module/radio-control/index.js.map +1 -1
  1147. package/build-module/radio-control/index.native.js +6 -7
  1148. package/build-module/radio-control/index.native.js.map +1 -1
  1149. package/build-module/radio-group/index.js +8 -9
  1150. package/build-module/radio-group/index.js.map +1 -1
  1151. package/build-module/radio-group/radio/index.js +5 -6
  1152. package/build-module/radio-group/radio/index.js.map +1 -1
  1153. package/build-module/range-control/index.js +1 -3
  1154. package/build-module/range-control/index.js.map +1 -1
  1155. package/build-module/range-control/index.native.js +23 -22
  1156. package/build-module/range-control/index.native.js.map +1 -1
  1157. package/build-module/range-control/rail.js +7 -9
  1158. package/build-module/range-control/rail.js.map +1 -1
  1159. package/build-module/range-control/styles/range-control-styles.js +37 -52
  1160. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  1161. package/build-module/range-control/tooltip.js +4 -5
  1162. package/build-module/range-control/tooltip.js.map +1 -1
  1163. package/build-module/resizable-box/index.js +8 -9
  1164. package/build-module/resizable-box/index.js.map +1 -1
  1165. package/build-module/resizable-box/resize-tooltip/index.js +12 -13
  1166. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  1167. package/build-module/resizable-box/resize-tooltip/label.js +6 -7
  1168. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  1169. package/build-module/resizable-box/resize-tooltip/utils.js +16 -19
  1170. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  1171. package/build-module/responsive-wrapper/index.js +6 -8
  1172. package/build-module/responsive-wrapper/index.js.map +1 -1
  1173. package/build-module/sandbox/index.js +16 -23
  1174. package/build-module/sandbox/index.js.map +1 -1
  1175. package/build-module/sandbox/index.native.js +20 -26
  1176. package/build-module/sandbox/index.native.js.map +1 -1
  1177. package/build-module/search-control/index.js +14 -17
  1178. package/build-module/search-control/index.js.map +1 -1
  1179. package/build-module/search-control/index.native.js +7 -8
  1180. package/build-module/search-control/index.native.js.map +1 -1
  1181. package/build-module/select-control/index.js +9 -19
  1182. package/build-module/select-control/index.js.map +1 -1
  1183. package/build-module/select-control/index.native.js +11 -12
  1184. package/build-module/select-control/index.native.js.map +1 -1
  1185. package/build-module/select-control/styles/select-control-styles.js +19 -25
  1186. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  1187. package/build-module/slot-fill/bubbles-virtually/fill.js +4 -5
  1188. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  1189. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -7
  1190. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  1191. package/build-module/slot-fill/bubbles-virtually/slot.js +6 -7
  1192. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  1193. package/build-module/slot-fill/fill.js +4 -5
  1194. package/build-module/slot-fill/fill.js.map +1 -1
  1195. package/build-module/slot-fill/index.js +8 -11
  1196. package/build-module/slot-fill/index.js.map +1 -1
  1197. package/build-module/slot-fill/index.native.js +4 -5
  1198. package/build-module/slot-fill/index.native.js.map +1 -1
  1199. package/build-module/slot-fill/provider.js +2 -2
  1200. package/build-module/slot-fill/provider.js.map +1 -1
  1201. package/build-module/slot-fill/slot.js +9 -12
  1202. package/build-module/slot-fill/slot.js.map +1 -1
  1203. package/build-module/snackbar/index.js +26 -31
  1204. package/build-module/snackbar/index.js.map +1 -1
  1205. package/build-module/snackbar/list.js +7 -8
  1206. package/build-module/snackbar/list.js.map +1 -1
  1207. package/build-module/spinner/index.js +4 -5
  1208. package/build-module/spinner/index.js.map +1 -1
  1209. package/build-module/style-provider/index.native.js +3 -4
  1210. package/build-module/style-provider/index.native.js.map +1 -1
  1211. package/build-module/surface/styles.js +6 -7
  1212. package/build-module/surface/styles.js.map +1 -1
  1213. package/build-module/tab-panel/index.js +36 -40
  1214. package/build-module/tab-panel/index.js.map +1 -1
  1215. package/build-module/text/styles/text-mixins.native.js +1 -3
  1216. package/build-module/text/styles/text-mixins.native.js.map +1 -1
  1217. package/build-module/text/utils.js +16 -17
  1218. package/build-module/text/utils.js.map +1 -1
  1219. package/build-module/text-control/index.native.js +12 -13
  1220. package/build-module/text-control/index.native.js.map +1 -1
  1221. package/build-module/textarea-control/index.native.js +7 -8
  1222. package/build-module/textarea-control/index.native.js.map +1 -1
  1223. package/build-module/theme/color-algorithms.js +1 -2
  1224. package/build-module/theme/color-algorithms.js.map +1 -1
  1225. package/build-module/theme/index.js +6 -7
  1226. package/build-module/theme/index.js.map +1 -1
  1227. package/build-module/theme/styles.js +4 -8
  1228. package/build-module/theme/styles.js.map +1 -1
  1229. package/build-module/toggle-control/index.js +9 -11
  1230. package/build-module/toggle-control/index.js.map +1 -1
  1231. package/build-module/toggle-control/index.native.js +9 -10
  1232. package/build-module/toggle-control/index.native.js.map +1 -1
  1233. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js +9 -10
  1234. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  1235. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +9 -10
  1236. package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
  1237. package/build-module/toggle-group-control/toggle-group-control/styles.js +11 -14
  1238. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  1239. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -8
  1240. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  1241. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +5 -7
  1242. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  1243. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +11 -15
  1244. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  1245. package/build-module/toolbar/toolbar/index.js +20 -8
  1246. package/build-module/toolbar/toolbar/index.js.map +1 -1
  1247. package/build-module/toolbar/toolbar/toolbar-container.js +4 -5
  1248. package/build-module/toolbar/toolbar/toolbar-container.js.map +1 -1
  1249. package/build-module/toolbar/toolbar/toolbar-container.native.js +3 -6
  1250. package/build-module/toolbar/toolbar/toolbar-container.native.js.map +1 -1
  1251. package/build-module/toolbar/toolbar-button/index.js +10 -11
  1252. package/build-module/toolbar/toolbar-button/index.js.map +1 -1
  1253. package/build-module/toolbar/toolbar-button/toolbar-button-container.js +6 -9
  1254. package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  1255. package/build-module/toolbar/toolbar-group/index.js +9 -12
  1256. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  1257. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js +5 -6
  1258. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  1259. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.native.js +6 -7
  1260. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  1261. package/build-module/toolbar/toolbar-group/toolbar-group-container.js +7 -10
  1262. package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  1263. package/build-module/toolbar/toolbar-group/toolbar-group-container.native.js +7 -10
  1264. package/build-module/toolbar/toolbar-group/toolbar-group-container.native.js.map +1 -1
  1265. package/build-module/toolbar/toolbar-item/index.js +5 -6
  1266. package/build-module/toolbar/toolbar-item/index.js.map +1 -1
  1267. package/build-module/toolbar/toolbar-item/index.native.js +4 -6
  1268. package/build-module/toolbar/toolbar-item/index.native.js.map +1 -1
  1269. package/build-module/tools-panel/tools-panel/hook.js +17 -25
  1270. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  1271. package/build-module/tools-panel/tools-panel-header/component.js +14 -24
  1272. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  1273. package/build-module/tools-panel/tools-panel-item/hook.js +5 -7
  1274. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  1275. package/build-module/tooltip/index.js +36 -43
  1276. package/build-module/tooltip/index.js.map +1 -1
  1277. package/build-module/tooltip/index.native.js +14 -19
  1278. package/build-module/tooltip/index.native.js.map +1 -1
  1279. package/build-module/tree-grid/cell.js +5 -6
  1280. package/build-module/tree-grid/cell.js.map +1 -1
  1281. package/build-module/tree-grid/index.js +12 -15
  1282. package/build-module/tree-grid/index.js.map +1 -1
  1283. package/build-module/tree-grid/item.js +4 -5
  1284. package/build-module/tree-grid/item.js.map +1 -1
  1285. package/build-module/tree-grid/roving-tab-index-item.js +6 -7
  1286. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  1287. package/build-module/tree-grid/roving-tab-index.js +3 -4
  1288. package/build-module/tree-grid/roving-tab-index.js.map +1 -1
  1289. package/build-module/tree-grid/row.js +8 -9
  1290. package/build-module/tree-grid/row.js.map +1 -1
  1291. package/build-module/tree-select/index.js +9 -11
  1292. package/build-module/tree-select/index.js.map +1 -1
  1293. package/build-module/truncate/utils.js +1 -3
  1294. package/build-module/truncate/utils.js.map +1 -1
  1295. package/build-module/ui/context/context-connect.js +1 -1
  1296. package/build-module/ui/context/context-connect.js.map +1 -1
  1297. package/build-module/ui/context/context-system-provider.js +7 -9
  1298. package/build-module/ui/context/context-system-provider.js.map +1 -1
  1299. package/build-module/ui/context/index.js +1 -1
  1300. package/build-module/ui/context/index.js.map +1 -1
  1301. package/build-module/ui/context/use-context-system.js +1 -1
  1302. package/build-module/ui/context/use-context-system.js.map +1 -1
  1303. package/build-module/ui/control-group/hook.js +1 -1
  1304. package/build-module/ui/control-group/hook.js.map +1 -1
  1305. package/build-module/ui/form-group/form-group-content.js +12 -13
  1306. package/build-module/ui/form-group/form-group-content.js.map +1 -1
  1307. package/build-module/ui/form-group/form-group-help.js +3 -4
  1308. package/build-module/ui/form-group/form-group-help.js.map +1 -1
  1309. package/build-module/ui/form-group/form-group-label.js +7 -8
  1310. package/build-module/ui/form-group/form-group-label.js.map +1 -1
  1311. package/build-module/ui/tooltip/component.js +1 -1
  1312. package/build-module/ui/tooltip/component.js.map +1 -1
  1313. package/build-module/ui/utils/colors.js +1 -3
  1314. package/build-module/ui/utils/colors.js.map +1 -1
  1315. package/build-module/ui/utils/font-size.js +2 -6
  1316. package/build-module/ui/utils/font-size.js.map +1 -1
  1317. package/build-module/ui/utils/get-high-dpi.js +1 -5
  1318. package/build-module/ui/utils/get-high-dpi.js.map +1 -1
  1319. package/build-module/ui/utils/space.js +1 -3
  1320. package/build-module/ui/utils/space.js.map +1 -1
  1321. package/build-module/ui/utils/use-responsive-value.js +2 -4
  1322. package/build-module/ui/utils/use-responsive-value.js.map +1 -1
  1323. package/build-module/unit-control/index.js +8 -8
  1324. package/build-module/unit-control/index.js.map +1 -1
  1325. package/build-module/unit-control/index.native.js +22 -23
  1326. package/build-module/unit-control/index.native.js.map +1 -1
  1327. package/build-module/unit-control/styles/unit-control-styles.js +6 -8
  1328. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  1329. package/build-module/unit-control/unit-select-control.js +11 -13
  1330. package/build-module/unit-control/unit-select-control.js.map +1 -1
  1331. package/build-module/unit-control/utils.js +12 -19
  1332. package/build-module/unit-control/utils.js.map +1 -1
  1333. package/build-module/utils/browsers.js +2 -10
  1334. package/build-module/utils/browsers.js.map +1 -1
  1335. package/build-module/utils/colors.js +1 -3
  1336. package/build-module/utils/colors.js.map +1 -1
  1337. package/build-module/utils/config-values.js +1 -0
  1338. package/build-module/utils/config-values.js.map +1 -1
  1339. package/build-module/utils/hooks/use-controlled-state.js +1 -2
  1340. package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
  1341. package/build-module/utils/hooks/use-controlled-value.js +5 -6
  1342. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  1343. package/build-module/utils/hooks/use-cx.js +1 -5
  1344. package/build-module/utils/hooks/use-cx.js.map +1 -1
  1345. package/build-module/utils/math.js +5 -17
  1346. package/build-module/utils/math.js.map +1 -1
  1347. package/build-module/utils/reduce-motion.js +1 -2
  1348. package/build-module/utils/reduce-motion.js.map +1 -1
  1349. package/build-module/utils/rtl.js +3 -9
  1350. package/build-module/utils/rtl.js.map +1 -1
  1351. package/build-module/utils/values.js +2 -6
  1352. package/build-module/utils/values.js.map +1 -1
  1353. package/build-module/z-stack/styles.js +14 -23
  1354. package/build-module/z-stack/styles.js.map +1 -1
  1355. package/build-style/style-rtl.css +57 -27
  1356. package/build-style/style.css +59 -29
  1357. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  1358. package/build-types/button/deprecated.d.ts +6 -0
  1359. package/build-types/button/deprecated.d.ts.map +1 -1
  1360. package/build-types/button/index.d.ts.map +1 -1
  1361. package/build-types/button/stories/e2e/index.d.ts +14 -0
  1362. package/build-types/button/stories/e2e/index.d.ts.map +1 -0
  1363. package/build-types/button/types.d.ts +9 -0
  1364. package/build-types/button/types.d.ts.map +1 -1
  1365. package/build-types/color-palette/index.d.ts.map +1 -1
  1366. package/build-types/color-picker/styles.d.ts.map +1 -1
  1367. package/build-types/date-time/date-time/index.d.ts +3 -4
  1368. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  1369. package/build-types/date-time/date-time/styles.d.ts +0 -4
  1370. package/build-types/date-time/date-time/styles.d.ts.map +1 -1
  1371. package/build-types/date-time/stories/date-time.d.ts.map +1 -1
  1372. package/build-types/date-time/types.d.ts +0 -14
  1373. package/build-types/date-time/types.d.ts.map +1 -1
  1374. package/build-types/dropdown-menu/index.d.ts +83 -1
  1375. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  1376. package/build-types/dropdown-menu/stories/index.d.ts +13 -0
  1377. package/build-types/dropdown-menu/stories/index.d.ts.map +1 -0
  1378. package/build-types/dropdown-menu/test/index.d.ts +2 -0
  1379. package/build-types/dropdown-menu/test/index.d.ts.map +1 -0
  1380. package/build-types/dropdown-menu/types.d.ts +134 -0
  1381. package/build-types/dropdown-menu/types.d.ts.map +1 -0
  1382. package/build-types/dropdown-menu-v2/index.d.ts +17 -0
  1383. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -0
  1384. package/build-types/dropdown-menu-v2/stories/index.d.ts +11 -0
  1385. package/build-types/dropdown-menu-v2/stories/index.d.ts.map +1 -0
  1386. package/build-types/dropdown-menu-v2/styles.d.ts +42 -0
  1387. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -0
  1388. package/build-types/dropdown-menu-v2/test/index.d.ts +2 -0
  1389. package/build-types/dropdown-menu-v2/test/index.d.ts.map +1 -0
  1390. package/build-types/dropdown-menu-v2/types.d.ts +252 -0
  1391. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -0
  1392. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  1393. package/build-types/font-size-picker/index.d.ts.map +1 -1
  1394. package/build-types/font-size-picker/styles.d.ts +11 -0
  1395. package/build-types/font-size-picker/styles.d.ts.map +1 -1
  1396. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  1397. package/build-types/modal/index.d.ts.map +1 -1
  1398. package/build-types/navigator/navigator-back-button/component.d.ts +1 -0
  1399. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
  1400. package/build-types/navigator/navigator-back-button/hook.d.ts +1 -0
  1401. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  1402. package/build-types/navigator/navigator-button/component.d.ts +1 -0
  1403. package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
  1404. package/build-types/navigator/navigator-button/hook.d.ts +1 -0
  1405. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  1406. package/build-types/navigator/navigator-to-parent-button/component.d.ts +1 -0
  1407. package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
  1408. package/build-types/popover/index.d.ts +6 -0
  1409. package/build-types/popover/index.d.ts.map +1 -1
  1410. package/build-types/private-apis.d.ts.map +1 -1
  1411. package/build-types/tab-panel/index.d.ts +1 -38
  1412. package/build-types/tab-panel/index.d.ts.map +1 -1
  1413. package/build-types/tab-panel/stories/index.d.ts +4 -3
  1414. package/build-types/tab-panel/stories/index.d.ts.map +1 -1
  1415. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  1416. package/build-types/toolbar/stories/index.d.ts.map +1 -1
  1417. package/build-types/toolbar/toolbar/index.d.ts.map +1 -1
  1418. package/build-types/toolbar/toolbar-button/index.d.ts +6 -0
  1419. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
  1420. package/build-types/ui/context/get-styled-class-name-from-key.d.ts +1 -10
  1421. package/build-types/ui/context/get-styled-class-name-from-key.d.ts.map +1 -1
  1422. package/build-types/ui/context/index.d.ts +1 -1
  1423. package/build-types/ui/context/index.d.ts.map +1 -1
  1424. package/build-types/utils/config-values.d.ts +1 -0
  1425. package/package.json +21 -20
  1426. package/src/border-control/border-control-dropdown/component.tsx +23 -12
  1427. package/src/border-control/test/index.js +6 -6
  1428. package/src/button/index.tsx +2 -0
  1429. package/src/button/stories/e2e/index.tsx +58 -0
  1430. package/src/button/style.scss +17 -15
  1431. package/src/button/types.ts +9 -0
  1432. package/src/color-palette/index.tsx +47 -46
  1433. package/src/color-palette/style.scss +57 -19
  1434. package/src/color-palette/test/__snapshots__/index.tsx.snap +66 -50
  1435. package/src/color-palette/test/index.tsx +76 -13
  1436. package/src/color-picker/styles.ts +7 -2
  1437. package/src/date-time/README.md +0 -16
  1438. package/src/date-time/date-time/index.tsx +17 -155
  1439. package/src/date-time/date-time/styles.ts +0 -4
  1440. package/src/date-time/stories/date-time.tsx +0 -4
  1441. package/src/date-time/types.ts +0 -16
  1442. package/src/dropdown-menu/README.md +12 -22
  1443. package/src/dropdown-menu/{index.js → index.tsx} +111 -25
  1444. package/src/dropdown-menu/stories/{index.js → index.tsx} +14 -22
  1445. package/src/dropdown-menu/test/{index.js → index.tsx} +6 -5
  1446. package/src/dropdown-menu/types.ts +143 -0
  1447. package/src/dropdown-menu-v2/README.md +392 -0
  1448. package/src/dropdown-menu-v2/index.tsx +293 -0
  1449. package/src/dropdown-menu-v2/stories/index.tsx +217 -0
  1450. package/src/dropdown-menu-v2/styles.ts +276 -0
  1451. package/src/dropdown-menu-v2/test/index.tsx +816 -0
  1452. package/src/dropdown-menu-v2/types.ts +265 -0
  1453. package/src/focal-point-picker/controls.tsx +2 -0
  1454. package/src/focal-point-picker/test/index.js +9 -3
  1455. package/src/font-size-picker/index.tsx +5 -5
  1456. package/src/font-size-picker/styles.ts +9 -0
  1457. package/src/index.native.js +0 -1
  1458. package/src/input-control/styles/input-control-styles.tsx +7 -0
  1459. package/src/mobile/bottom-sheet/cell.native.js +34 -5
  1460. package/src/mobile/bottom-sheet/color-cell.native.js +3 -2
  1461. package/src/mobile/bottom-sheet/lock-icon/index.native.js +19 -0
  1462. package/src/mobile/bottom-sheet/lock-icon/styles.native.scss +8 -0
  1463. package/src/mobile/bottom-sheet/radio-cell.native.js +2 -1
  1464. package/src/mobile/bottom-sheet/range-cell.native.js +5 -1
  1465. package/src/mobile/bottom-sheet/stepper-cell/index.native.js +2 -0
  1466. package/src/mobile/bottom-sheet/styles.native.scss +15 -1
  1467. package/src/mobile/bottom-sheet/switch-cell.native.js +10 -2
  1468. package/src/mobile/bottom-sheet-select-control/index.native.js +3 -1
  1469. package/src/mobile/bottom-sheet-text-control/index.native.js +3 -1
  1470. package/src/modal/index.tsx +1 -6
  1471. package/src/popover/index.tsx +1 -1
  1472. package/src/private-apis.ts +24 -0
  1473. package/src/range-control/index.native.js +3 -0
  1474. package/src/search-control/style.scss +2 -0
  1475. package/src/slot-fill/README.md +26 -1
  1476. package/src/tab-panel/index.tsx +18 -12
  1477. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +6 -2
  1478. package/src/toggle-group-control/toggle-group-control/styles.ts +6 -1
  1479. package/src/toolbar/stories/index.tsx +25 -28
  1480. package/src/toolbar/toolbar/index.tsx +24 -7
  1481. package/src/tooltip/style.scss +2 -2
  1482. package/src/ui/context/index.ts +1 -0
  1483. package/src/utils/config-values.js +1 -0
  1484. package/src/view/README.md +2 -2
  1485. package/tsconfig.tsbuildinfo +1 -1
  1486. package/build/mobile/readable-content-view/index.native.js +0 -97
  1487. package/build/mobile/readable-content-view/index.native.js.map +0 -1
  1488. package/build-module/mobile/readable-content-view/index.native.js +0 -81
  1489. package/build-module/mobile/readable-content-view/index.native.js.map +0 -1
  1490. package/src/mobile/readable-content-view/index.native.js +0 -85
  1491. package/src/mobile/readable-content-view/style.native.scss +0 -30
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/resizable-box/index.tsx"],"names":["HANDLE_CLASS_NAME","SIDE_HANDLE_CLASS_NAME","CORNER_HANDLE_CLASS_NAME","HANDLE_CLASSES","top","right","bottom","left","topLeft","topRight","bottomRight","bottomLeft","HANDLE_STYLES_OVERRIDES","width","undefined","height","HANDLE_STYLES","UnforwardedResizableBox","ref","className","children","showHandle","__experimentalShowTooltip","showTooltip","__experimentalTooltipProps","tooltipProps","props","ResizableBox"],"mappings":";;;;;;;;;AAGA;;;;AAKA;;AACA;;AAOA;;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAGA,MAAMA,iBAAiB,GAAG,kCAA1B;AACA,MAAMC,sBAAsB,GAAG,uCAA/B;AACA,MAAMC,wBAAwB,GAAG,yCAAjC;AAEA,MAAMC,cAAc,GAAG;AACtBC,EAAAA,GAAG,EAAE,yBACJJ,iBADI,EAEJC,sBAFI,EAGJ,sCAHI,CADiB;AAMtBI,EAAAA,KAAK,EAAE,yBACNL,iBADM,EAENC,sBAFM,EAGN,wCAHM,CANe;AAWtBK,EAAAA,MAAM,EAAE,yBACPN,iBADO,EAEPC,sBAFO,EAGP,yCAHO,CAXc;AAgBtBM,EAAAA,IAAI,EAAE,yBACLP,iBADK,EAELC,sBAFK,EAGL,uCAHK,CAhBgB;AAqBtBO,EAAAA,OAAO,EAAE,yBACRR,iBADQ,EAERE,wBAFQ,EAGR,sCAHQ,EAIR,uCAJQ,CArBa;AA2BtBO,EAAAA,QAAQ,EAAE,yBACTT,iBADS,EAETE,wBAFS,EAGT,sCAHS,EAIT,wCAJS,CA3BY;AAiCtBQ,EAAAA,WAAW,EAAE,yBACZV,iBADY,EAEZE,wBAFY,EAGZ,yCAHY,EAIZ,wCAJY,CAjCS;AAuCtBS,EAAAA,UAAU,EAAE,yBACXX,iBADW,EAEXE,wBAFW,EAGX,yCAHW,EAIX,uCAJW;AAvCU,CAAvB,C,CA+CA;;AACA,MAAMU,uBAAuB,GAAG;AAC/BC,EAAAA,KAAK,EAAEC,SADwB;AAE/BC,EAAAA,MAAM,EAAED,SAFuB;AAG/BV,EAAAA,GAAG,EAAEU,SAH0B;AAI/BT,EAAAA,KAAK,EAAES,SAJwB;AAK/BR,EAAAA,MAAM,EAAEQ,SALuB;AAM/BP,EAAAA,IAAI,EAAEO;AANyB,CAAhC;AAQA,MAAME,aAAa,GAAG;AACrBZ,EAAAA,GAAG,EAAEQ,uBADgB;AAErBP,EAAAA,KAAK,EAAEO,uBAFc;AAGrBN,EAAAA,MAAM,EAAEM,uBAHa;AAIrBL,EAAAA,IAAI,EAAEK,uBAJe;AAKrBJ,EAAAA,OAAO,EAAEI,uBALY;AAMrBH,EAAAA,QAAQ,EAAEG,uBANW;AAOrBF,EAAAA,WAAW,EAAEE,uBAPQ;AAQrBD,EAAAA,UAAU,EAAEC;AARS,CAAtB;;AAkBA,SAASK,uBAAT,OASCC,GATD,EAUe;AAAA,MATd;AACCC,IAAAA,SADD;AAECC,IAAAA,QAFD;AAGCC,IAAAA,UAAU,GAAG,IAHd;AAICC,IAAAA,yBAAyB,EAAEC,WAAW,GAAG,KAJ1C;AAKCC,IAAAA,0BAA0B,EAAEC,YAAY,GAAG,EAL5C;AAMC,OAAGC;AANJ,GASc;AACd,SACC,4BAAC,sBAAD;AACC,IAAA,SAAS,EAAG,yBACX,qCADW,EAEXL,UAAU,IAAI,iBAFH,EAGXF,SAHW,CADb;AAMC,IAAA,aAAa,EAAGhB,cANjB;AAOC,IAAA,YAAY,EAAGa,aAPhB;AAQC,IAAA,GAAG,EAAGE;AARP,KASMQ,KATN,GAWGN,QAXH,EAYGG,WAAW,IAAI,4BAAC,sBAAD,EAAoBE,YAApB,CAZlB,CADD;AAgBA;;AAEM,MAAME,YAAY,GAAG,yBAAYV,uBAAZ,CAArB;;eAEQU,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { Resizable } from 're-resizable';\nimport type { ResizableProps } from 're-resizable';\nimport type { ReactNode, ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport ResizeTooltip from './resize-tooltip';\n\nconst HANDLE_CLASS_NAME = 'components-resizable-box__handle';\nconst SIDE_HANDLE_CLASS_NAME = 'components-resizable-box__side-handle';\nconst CORNER_HANDLE_CLASS_NAME = 'components-resizable-box__corner-handle';\n\nconst HANDLE_CLASSES = {\n\ttop: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top'\n\t),\n\tright: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottom: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom'\n\t),\n\tleft: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-left'\n\t),\n\ttopLeft: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top',\n\t\t'components-resizable-box__handle-left'\n\t),\n\ttopRight: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top',\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottomRight: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom',\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottomLeft: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom',\n\t\t'components-resizable-box__handle-left'\n\t),\n};\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDES = {\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\nconst HANDLE_STYLES = {\n\ttop: HANDLE_STYLES_OVERRIDES,\n\tright: HANDLE_STYLES_OVERRIDES,\n\tbottom: HANDLE_STYLES_OVERRIDES,\n\tleft: HANDLE_STYLES_OVERRIDES,\n\ttopLeft: HANDLE_STYLES_OVERRIDES,\n\ttopRight: HANDLE_STYLES_OVERRIDES,\n\tbottomRight: HANDLE_STYLES_OVERRIDES,\n\tbottomLeft: HANDLE_STYLES_OVERRIDES,\n};\n\ntype ResizableBoxProps = ResizableProps & {\n\tchildren: ReactNode;\n\tshowHandle?: boolean;\n\t__experimentalShowTooltip?: boolean;\n\t__experimentalTooltipProps?: Parameters< typeof ResizeTooltip >[ 0 ];\n};\n\nfunction UnforwardedResizableBox(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tshowHandle = true,\n\t\t__experimentalShowTooltip: showTooltip = false,\n\t\t__experimentalTooltipProps: tooltipProps = {},\n\t\t...props\n\t}: ResizableBoxProps,\n\tref: ForwardedRef< Resizable >\n): JSX.Element {\n\treturn (\n\t\t<Resizable\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-resizable-box__container',\n\t\t\t\tshowHandle && 'has-show-handle',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\thandleClasses={ HANDLE_CLASSES }\n\t\t\thandleStyles={ HANDLE_STYLES }\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t\t{ showTooltip && <ResizeTooltip { ...tooltipProps } /> }\n\t\t</Resizable>\n\t);\n}\n\nexport const ResizableBox = forwardRef( UnforwardedResizableBox );\n\nexport default ResizableBox;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/resizable-box/index.tsx"],"names":["HANDLE_CLASS_NAME","SIDE_HANDLE_CLASS_NAME","CORNER_HANDLE_CLASS_NAME","HANDLE_CLASSES","top","right","bottom","left","topLeft","topRight","bottomRight","bottomLeft","HANDLE_STYLES_OVERRIDES","width","undefined","height","HANDLE_STYLES","UnforwardedResizableBox","className","children","showHandle","__experimentalShowTooltip","showTooltip","__experimentalTooltipProps","tooltipProps","props","ref","ResizableBox"],"mappings":";;;;;;;;;AAGA;;;;AAKA;;AACA;;AAOA;;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAGA,MAAMA,iBAAiB,GAAG,kCAA1B;AACA,MAAMC,sBAAsB,GAAG,uCAA/B;AACA,MAAMC,wBAAwB,GAAG,yCAAjC;AAEA,MAAMC,cAAc,GAAG;AACtBC,EAAAA,GAAG,EAAE,yBACJJ,iBADI,EAEJC,sBAFI,EAGJ,sCAHI,CADiB;AAMtBI,EAAAA,KAAK,EAAE,yBACNL,iBADM,EAENC,sBAFM,EAGN,wCAHM,CANe;AAWtBK,EAAAA,MAAM,EAAE,yBACPN,iBADO,EAEPC,sBAFO,EAGP,yCAHO,CAXc;AAgBtBM,EAAAA,IAAI,EAAE,yBACLP,iBADK,EAELC,sBAFK,EAGL,uCAHK,CAhBgB;AAqBtBO,EAAAA,OAAO,EAAE,yBACRR,iBADQ,EAERE,wBAFQ,EAGR,sCAHQ,EAIR,uCAJQ,CArBa;AA2BtBO,EAAAA,QAAQ,EAAE,yBACTT,iBADS,EAETE,wBAFS,EAGT,sCAHS,EAIT,wCAJS,CA3BY;AAiCtBQ,EAAAA,WAAW,EAAE,yBACZV,iBADY,EAEZE,wBAFY,EAGZ,yCAHY,EAIZ,wCAJY,CAjCS;AAuCtBS,EAAAA,UAAU,EAAE,yBACXX,iBADW,EAEXE,wBAFW,EAGX,yCAHW,EAIX,uCAJW;AAvCU,CAAvB,C,CA+CA;;AACA,MAAMU,uBAAuB,GAAG;AAC/BC,EAAAA,KAAK,EAAEC,SADwB;AAE/BC,EAAAA,MAAM,EAAED,SAFuB;AAG/BV,EAAAA,GAAG,EAAEU,SAH0B;AAI/BT,EAAAA,KAAK,EAAES,SAJwB;AAK/BR,EAAAA,MAAM,EAAEQ,SALuB;AAM/BP,EAAAA,IAAI,EAAEO;AANyB,CAAhC;AAQA,MAAME,aAAa,GAAG;AACrBZ,EAAAA,GAAG,EAAEQ,uBADgB;AAErBP,EAAAA,KAAK,EAAEO,uBAFc;AAGrBN,EAAAA,MAAM,EAAEM,uBAHa;AAIrBL,EAAAA,IAAI,EAAEK,uBAJe;AAKrBJ,EAAAA,OAAO,EAAEI,uBALY;AAMrBH,EAAAA,QAAQ,EAAEG,uBANW;AAOrBF,EAAAA,WAAW,EAAEE,uBAPQ;AAQrBD,EAAAA,UAAU,EAAEC;AARS,CAAtB;;AAkBA,SAASK,uBAAT,CACC;AACCC,EAAAA,SADD;AAECC,EAAAA,QAFD;AAGCC,EAAAA,UAAU,GAAG,IAHd;AAICC,EAAAA,yBAAyB,EAAEC,WAAW,GAAG,KAJ1C;AAKCC,EAAAA,0BAA0B,EAAEC,YAAY,GAAG,EAL5C;AAMC,KAAGC;AANJ,CADD,EASCC,GATD,EAUe;AACd,SACC,4BAAC,sBAAD;AACC,IAAA,SAAS,EAAG,yBACX,qCADW,EAEXN,UAAU,IAAI,iBAFH,EAGXF,SAHW,CADb;AAMC,IAAA,aAAa,EAAGf,cANjB;AAOC,IAAA,YAAY,EAAGa,aAPhB;AAQC,IAAA,GAAG,EAAGU;AARP,KASMD,KATN,GAWGN,QAXH,EAYGG,WAAW,IAAI,4BAAC,sBAAD,EAAoBE,YAApB,CAZlB,CADD;AAgBA;;AAEM,MAAMG,YAAY,GAAG,yBAAYV,uBAAZ,CAArB;;eAEQU,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { Resizable } from 're-resizable';\nimport type { ResizableProps } from 're-resizable';\nimport type { ReactNode, ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport ResizeTooltip from './resize-tooltip';\n\nconst HANDLE_CLASS_NAME = 'components-resizable-box__handle';\nconst SIDE_HANDLE_CLASS_NAME = 'components-resizable-box__side-handle';\nconst CORNER_HANDLE_CLASS_NAME = 'components-resizable-box__corner-handle';\n\nconst HANDLE_CLASSES = {\n\ttop: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top'\n\t),\n\tright: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottom: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom'\n\t),\n\tleft: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-left'\n\t),\n\ttopLeft: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top',\n\t\t'components-resizable-box__handle-left'\n\t),\n\ttopRight: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top',\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottomRight: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom',\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottomLeft: classnames(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom',\n\t\t'components-resizable-box__handle-left'\n\t),\n};\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDES = {\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\nconst HANDLE_STYLES = {\n\ttop: HANDLE_STYLES_OVERRIDES,\n\tright: HANDLE_STYLES_OVERRIDES,\n\tbottom: HANDLE_STYLES_OVERRIDES,\n\tleft: HANDLE_STYLES_OVERRIDES,\n\ttopLeft: HANDLE_STYLES_OVERRIDES,\n\ttopRight: HANDLE_STYLES_OVERRIDES,\n\tbottomRight: HANDLE_STYLES_OVERRIDES,\n\tbottomLeft: HANDLE_STYLES_OVERRIDES,\n};\n\ntype ResizableBoxProps = ResizableProps & {\n\tchildren: ReactNode;\n\tshowHandle?: boolean;\n\t__experimentalShowTooltip?: boolean;\n\t__experimentalTooltipProps?: Parameters< typeof ResizeTooltip >[ 0 ];\n};\n\nfunction UnforwardedResizableBox(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tshowHandle = true,\n\t\t__experimentalShowTooltip: showTooltip = false,\n\t\t__experimentalTooltipProps: tooltipProps = {},\n\t\t...props\n\t}: ResizableBoxProps,\n\tref: ForwardedRef< Resizable >\n): JSX.Element {\n\treturn (\n\t\t<Resizable\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-resizable-box__container',\n\t\t\t\tshowHandle && 'has-show-handle',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\thandleClasses={ HANDLE_CLASSES }\n\t\t\thandleStyles={ HANDLE_STYLES }\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t\t{ showTooltip && <ResizeTooltip { ...tooltipProps } /> }\n\t\t</Resizable>\n\t);\n}\n\nexport const ResizableBox = forwardRef( UnforwardedResizableBox );\n\nexport default ResizableBox;\n"]}
@@ -32,19 +32,18 @@ var _resizeTooltip = require("./styles/resize-tooltip.styles");
32
32
  */
33
33
  const noop = () => {};
34
34
 
35
- function ResizeTooltip(_ref, ref) {
36
- let {
37
- axis,
38
- className,
39
- fadeTimeout = 180,
40
- isVisible = true,
41
- labelRef,
42
- onResize = noop,
43
- position = _utils.POSITIONS.bottom,
44
- showPx = true,
45
- zIndex = 1000,
46
- ...props
47
- } = _ref;
35
+ function ResizeTooltip({
36
+ axis,
37
+ className,
38
+ fadeTimeout = 180,
39
+ isVisible = true,
40
+ labelRef,
41
+ onResize = noop,
42
+ position = _utils.POSITIONS.bottom,
43
+ showPx = true,
44
+ zIndex = 1000,
45
+ ...props
46
+ }, ref) {
48
47
  const {
49
48
  label,
50
49
  resizeListener
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/resizable-box/resize-tooltip/index.tsx"],"names":["noop","ResizeTooltip","ref","axis","className","fadeTimeout","isVisible","labelRef","onResize","position","POSITIONS","bottom","showPx","zIndex","props","label","resizeListener","classes","ForwardedComponent"],"mappings":";;;;;;;;;AASA;;;;AANA;;AAWA;;AACA;;AACA;;AAhBA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AAkBA,MAAMA,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEA,SAASC,aAAT,OAaCC,GAbD,EAcsB;AAAA,MAbrB;AACCC,IAAAA,IADD;AAECC,IAAAA,SAFD;AAGCC,IAAAA,WAAW,GAAG,GAHf;AAICC,IAAAA,SAAS,GAAG,IAJb;AAKCC,IAAAA,QALD;AAMCC,IAAAA,QAAQ,GAAGR,IANZ;AAOCS,IAAAA,QAAQ,GAAGC,iBAAUC,MAPtB;AAQCC,IAAAA,MAAM,GAAG,IARV;AASCC,IAAAA,MAAM,GAAG,IATV;AAUC,OAAGC;AAVJ,GAaqB;AACrB,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAA4B,2BAAgB;AACjDb,IAAAA,IADiD;AAEjDE,IAAAA,WAFiD;AAGjDG,IAAAA,QAHiD;AAIjDI,IAAAA,MAJiD;AAKjDH,IAAAA;AALiD,GAAhB,CAAlC;AAQA,MAAK,CAAEH,SAAP,EAAmB,OAAO,IAAP;AAEnB,QAAMW,OAAO,GAAG,yBAAY,2BAAZ,EAAyCb,SAAzC,CAAhB;AAEA,SACC,4BAAC,mBAAD;AAAM,mBAAY,MAAlB;AAAyB,IAAA,SAAS,EAAGa,OAArC;AAA+C,IAAA,GAAG,EAAGf;AAArD,KAAgEY,KAAhE,GACGE,cADH,EAEC,4BAAC,cAAD;AACC,mBAAcF,KAAK,CAAE,aAAF,CADpB;AAEC,IAAA,KAAK,EAAGC,KAFT;AAGC,IAAA,QAAQ,EAAGN,QAHZ;AAIC,IAAA,GAAG,EAAGF,QAJP;AAKC,IAAA,MAAM,EAAGM;AALV,IAFD,CADD;AAYA;;AAED,MAAMK,kBAAkB,GAAG,yBAAYjB,aAAZ,CAA3B;eAEeiB,kB","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { Ref, ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Label from './label';\nimport { useResizeLabel, Axis, Position, POSITIONS } from './utils';\nimport { Root } from './styles/resize-tooltip.styles';\n\ntype ResizeTooltipProps = React.ComponentProps< typeof Root > & {\n\t'aria-hidden'?: boolean;\n\taxis?: Axis;\n\tclassName?: string;\n\tfadeTimeout?: number;\n\tisVisible?: boolean;\n\tlabelRef?: Ref< HTMLDivElement >;\n\tonResize?: Parameters< typeof useResizeLabel >[ 0 ][ 'onResize' ];\n\tposition?: Position;\n\tshowPx?: boolean;\n\tzIndex?: number;\n};\n\nconst noop = () => {};\n\nfunction ResizeTooltip(\n\t{\n\t\taxis,\n\t\tclassName,\n\t\tfadeTimeout = 180,\n\t\tisVisible = true,\n\t\tlabelRef,\n\t\tonResize = noop,\n\t\tposition = POSITIONS.bottom,\n\t\tshowPx = true,\n\t\tzIndex = 1000,\n\t\t...props\n\t}: ResizeTooltipProps,\n\tref: ForwardedRef< HTMLDivElement >\n): JSX.Element | null {\n\tconst { label, resizeListener } = useResizeLabel( {\n\t\taxis,\n\t\tfadeTimeout,\n\t\tonResize,\n\t\tshowPx,\n\t\tposition,\n\t} );\n\n\tif ( ! isVisible ) return null;\n\n\tconst classes = classnames( 'components-resize-tooltip', className );\n\n\treturn (\n\t\t<Root aria-hidden=\"true\" className={ classes } ref={ ref } { ...props }>\n\t\t\t{ resizeListener }\n\t\t\t<Label\n\t\t\t\taria-hidden={ props[ 'aria-hidden' ] }\n\t\t\t\tlabel={ label }\n\t\t\t\tposition={ position }\n\t\t\t\tref={ labelRef }\n\t\t\t\tzIndex={ zIndex }\n\t\t\t/>\n\t\t</Root>\n\t);\n}\n\nconst ForwardedComponent = forwardRef( ResizeTooltip );\n\nexport default ForwardedComponent;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/resizable-box/resize-tooltip/index.tsx"],"names":["noop","ResizeTooltip","axis","className","fadeTimeout","isVisible","labelRef","onResize","position","POSITIONS","bottom","showPx","zIndex","props","ref","label","resizeListener","classes","ForwardedComponent"],"mappings":";;;;;;;;;AASA;;;;AANA;;AAWA;;AACA;;AACA;;AAhBA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AAkBA,MAAMA,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEA,SAASC,aAAT,CACC;AACCC,EAAAA,IADD;AAECC,EAAAA,SAFD;AAGCC,EAAAA,WAAW,GAAG,GAHf;AAICC,EAAAA,SAAS,GAAG,IAJb;AAKCC,EAAAA,QALD;AAMCC,EAAAA,QAAQ,GAAGP,IANZ;AAOCQ,EAAAA,QAAQ,GAAGC,iBAAUC,MAPtB;AAQCC,EAAAA,MAAM,GAAG,IARV;AASCC,EAAAA,MAAM,GAAG,IATV;AAUC,KAAGC;AAVJ,CADD,EAaCC,GAbD,EAcsB;AACrB,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAA4B,2BAAgB;AACjDd,IAAAA,IADiD;AAEjDE,IAAAA,WAFiD;AAGjDG,IAAAA,QAHiD;AAIjDI,IAAAA,MAJiD;AAKjDH,IAAAA;AALiD,GAAhB,CAAlC;AAQA,MAAK,CAAEH,SAAP,EAAmB,OAAO,IAAP;AAEnB,QAAMY,OAAO,GAAG,yBAAY,2BAAZ,EAAyCd,SAAzC,CAAhB;AAEA,SACC,4BAAC,mBAAD;AAAM,mBAAY,MAAlB;AAAyB,IAAA,SAAS,EAAGc,OAArC;AAA+C,IAAA,GAAG,EAAGH;AAArD,KAAgED,KAAhE,GACGG,cADH,EAEC,4BAAC,cAAD;AACC,mBAAcH,KAAK,CAAE,aAAF,CADpB;AAEC,IAAA,KAAK,EAAGE,KAFT;AAGC,IAAA,QAAQ,EAAGP,QAHZ;AAIC,IAAA,GAAG,EAAGF,QAJP;AAKC,IAAA,MAAM,EAAGM;AALV,IAFD,CADD;AAYA;;AAED,MAAMM,kBAAkB,GAAG,yBAAYjB,aAAZ,CAA3B;eAEeiB,kB","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { Ref, ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Label from './label';\nimport { useResizeLabel, Axis, Position, POSITIONS } from './utils';\nimport { Root } from './styles/resize-tooltip.styles';\n\ntype ResizeTooltipProps = React.ComponentProps< typeof Root > & {\n\t'aria-hidden'?: boolean;\n\taxis?: Axis;\n\tclassName?: string;\n\tfadeTimeout?: number;\n\tisVisible?: boolean;\n\tlabelRef?: Ref< HTMLDivElement >;\n\tonResize?: Parameters< typeof useResizeLabel >[ 0 ][ 'onResize' ];\n\tposition?: Position;\n\tshowPx?: boolean;\n\tzIndex?: number;\n};\n\nconst noop = () => {};\n\nfunction ResizeTooltip(\n\t{\n\t\taxis,\n\t\tclassName,\n\t\tfadeTimeout = 180,\n\t\tisVisible = true,\n\t\tlabelRef,\n\t\tonResize = noop,\n\t\tposition = POSITIONS.bottom,\n\t\tshowPx = true,\n\t\tzIndex = 1000,\n\t\t...props\n\t}: ResizeTooltipProps,\n\tref: ForwardedRef< HTMLDivElement >\n): JSX.Element | null {\n\tconst { label, resizeListener } = useResizeLabel( {\n\t\taxis,\n\t\tfadeTimeout,\n\t\tonResize,\n\t\tshowPx,\n\t\tposition,\n\t} );\n\n\tif ( ! isVisible ) return null;\n\n\tconst classes = classnames( 'components-resize-tooltip', className );\n\n\treturn (\n\t\t<Root aria-hidden=\"true\" className={ classes } ref={ ref } { ...props }>\n\t\t\t{ resizeListener }\n\t\t\t<Label\n\t\t\t\taria-hidden={ props[ 'aria-hidden' ] }\n\t\t\t\tlabel={ label }\n\t\t\t\tposition={ position }\n\t\t\t\tref={ labelRef }\n\t\t\t\tzIndex={ zIndex }\n\t\t\t/>\n\t\t</Root>\n\t);\n}\n\nconst ForwardedComponent = forwardRef( ResizeTooltip );\n\nexport default ForwardedComponent;\n"]}
@@ -31,13 +31,12 @@ var _resizeTooltip = require("./styles/resize-tooltip.styles");
31
31
  const CORNER_OFFSET = 4;
32
32
  const CURSOR_OFFSET_TOP = CORNER_OFFSET * 2.5;
33
33
 
34
- function Label(_ref, ref) {
35
- let {
36
- label,
37
- position = _utils.POSITIONS.corner,
38
- zIndex = 1000,
39
- ...props
40
- } = _ref;
34
+ function Label({
35
+ label,
36
+ position = _utils.POSITIONS.corner,
37
+ zIndex = 1000,
38
+ ...props
39
+ }, ref) {
41
40
  const showLabel = !!label;
42
41
  const isBottom = position === _utils.POSITIONS.bottom;
43
42
  const isCorner = position === _utils.POSITIONS.corner;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/resizable-box/resize-tooltip/label.tsx"],"names":["CORNER_OFFSET","CURSOR_OFFSET_TOP","Label","ref","label","position","POSITIONS","corner","zIndex","props","showLabel","isBottom","bottom","isCorner","style","opacity","undefined","labelStyle","left","transform","top","right","ForwardedComponent"],"mappings":";;;;;;;;;AAQA;;;;AACA;;AAKA;;AACA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AAQA,MAAMA,aAAa,GAAG,CAAtB;AACA,MAAMC,iBAAiB,GAAGD,aAAa,GAAG,GAA1C;;AAWA,SAASE,KAAT,OAECC,GAFD,EAGsB;AAAA,MAFrB;AAAEC,IAAAA,KAAF;AAASC,IAAAA,QAAQ,GAAGC,iBAAUC,MAA9B;AAAsCC,IAAAA,MAAM,GAAG,IAA/C;AAAqD,OAAGC;AAAxD,GAEqB;AACrB,QAAMC,SAAS,GAAG,CAAC,CAAEN,KAArB;AAEA,QAAMO,QAAQ,GAAGN,QAAQ,KAAKC,iBAAUM,MAAxC;AACA,QAAMC,QAAQ,GAAGR,QAAQ,KAAKC,iBAAUC,MAAxC;AAEA,MAAK,CAAEG,SAAP,EAAmB,OAAO,IAAP;AAEnB,MAAII,KAA0B,GAAG;AAChCC,IAAAA,OAAO,EAAEL,SAAS,GAAG,CAAH,GAAOM,SADO;AAEhCR,IAAAA;AAFgC,GAAjC;AAKA,MAAIS,UAAU,GAAG,EAAjB;;AAEA,MAAKN,QAAL,EAAgB;AACfG,IAAAA,KAAK,GAAG,EACP,GAAGA,KADI;AAEPT,MAAAA,QAAQ,EAAE,UAFH;AAGPO,MAAAA,MAAM,EAAEX,iBAAiB,GAAG,CAAC,CAHtB;AAIPiB,MAAAA,IAAI,EAAE,KAJC;AAKPC,MAAAA,SAAS,EAAE;AALJ,KAAR;AAQAF,IAAAA,UAAU,GAAG;AACZE,MAAAA,SAAS,EAAG;AADA,KAAb;AAGA;;AAED,MAAKN,QAAL,EAAgB;AACfC,IAAAA,KAAK,GAAG,EACP,GAAGA,KADI;AAEPT,MAAAA,QAAQ,EAAE,UAFH;AAGPe,MAAAA,GAAG,EAAEpB,aAHE;AAIPqB,MAAAA,KAAK,EAAE,qBAAUL,SAAV,GAAsBhB,aAJtB;AAKPkB,MAAAA,IAAI,EAAE,qBAAUlB,aAAV,GAA0BgB;AALzB,KAAR;AAOA;;AAED,SACC,4BAAC,6BAAD;AACC,mBAAY,MADb;AAEC,IAAA,SAAS,EAAC,+CAFX;AAGC,IAAA,GAAG,EAAGb,GAHP;AAIC,IAAA,KAAK,EAAGW;AAJT,KAKML,KALN,GAOC,4BAAC,sBAAD;AACC,IAAA,SAAS,EAAC,uCADX;AAEC,IAAA,KAAK,EAAGQ;AAFT,KAIC,4BAAC,wBAAD;AAAW,IAAA,EAAE,EAAC;AAAd,KAAuBb,KAAvB,CAJD,CAPD,CADD;AAgBA;;AAED,MAAMkB,kBAAkB,GAAG,yBAAYpB,KAAZ,CAA3B;eAEeoB,kB","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { Position, POSITIONS } from './utils';\nimport {\n\tTooltipWrapper,\n\tTooltip,\n\tLabelText,\n} from './styles/resize-tooltip.styles';\n\nconst CORNER_OFFSET = 4;\nconst CURSOR_OFFSET_TOP = CORNER_OFFSET * 2.5;\n\ntype LabelProps = React.DetailedHTMLProps<\n\tReact.HTMLAttributes< HTMLDivElement >,\n\tHTMLDivElement\n> & {\n\tlabel?: string;\n\tposition: Position;\n\tzIndex: number;\n};\n\nfunction Label(\n\t{ label, position = POSITIONS.corner, zIndex = 1000, ...props }: LabelProps,\n\tref: ForwardedRef< HTMLDivElement >\n): JSX.Element | null {\n\tconst showLabel = !! label;\n\n\tconst isBottom = position === POSITIONS.bottom;\n\tconst isCorner = position === POSITIONS.corner;\n\n\tif ( ! showLabel ) return null;\n\n\tlet style: React.CSSProperties = {\n\t\topacity: showLabel ? 1 : undefined,\n\t\tzIndex,\n\t};\n\n\tlet labelStyle = {};\n\n\tif ( isBottom ) {\n\t\tstyle = {\n\t\t\t...style,\n\t\t\tposition: 'absolute',\n\t\t\tbottom: CURSOR_OFFSET_TOP * -1,\n\t\t\tleft: '50%',\n\t\t\ttransform: 'translate(-50%, 0)',\n\t\t};\n\n\t\tlabelStyle = {\n\t\t\ttransform: `translate(0, 100%)`,\n\t\t};\n\t}\n\n\tif ( isCorner ) {\n\t\tstyle = {\n\t\t\t...style,\n\t\t\tposition: 'absolute',\n\t\t\ttop: CORNER_OFFSET,\n\t\t\tright: isRTL() ? undefined : CORNER_OFFSET,\n\t\t\tleft: isRTL() ? CORNER_OFFSET : undefined,\n\t\t};\n\t}\n\n\treturn (\n\t\t<TooltipWrapper\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName=\"components-resizable-tooltip__tooltip-wrapper\"\n\t\t\tref={ ref }\n\t\t\tstyle={ style }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<Tooltip\n\t\t\t\tclassName=\"components-resizable-tooltip__tooltip\"\n\t\t\t\tstyle={ labelStyle }\n\t\t\t>\n\t\t\t\t<LabelText as=\"span\">{ label }</LabelText>\n\t\t\t</Tooltip>\n\t\t</TooltipWrapper>\n\t);\n}\n\nconst ForwardedComponent = forwardRef( Label );\n\nexport default ForwardedComponent;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/resizable-box/resize-tooltip/label.tsx"],"names":["CORNER_OFFSET","CURSOR_OFFSET_TOP","Label","label","position","POSITIONS","corner","zIndex","props","ref","showLabel","isBottom","bottom","isCorner","style","opacity","undefined","labelStyle","left","transform","top","right","ForwardedComponent"],"mappings":";;;;;;;;;AAQA;;;;AACA;;AAKA;;AACA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AAQA,MAAMA,aAAa,GAAG,CAAtB;AACA,MAAMC,iBAAiB,GAAGD,aAAa,GAAG,GAA1C;;AAWA,SAASE,KAAT,CACC;AAAEC,EAAAA,KAAF;AAASC,EAAAA,QAAQ,GAAGC,iBAAUC,MAA9B;AAAsCC,EAAAA,MAAM,GAAG,IAA/C;AAAqD,KAAGC;AAAxD,CADD,EAECC,GAFD,EAGsB;AACrB,QAAMC,SAAS,GAAG,CAAC,CAAEP,KAArB;AAEA,QAAMQ,QAAQ,GAAGP,QAAQ,KAAKC,iBAAUO,MAAxC;AACA,QAAMC,QAAQ,GAAGT,QAAQ,KAAKC,iBAAUC,MAAxC;AAEA,MAAK,CAAEI,SAAP,EAAmB,OAAO,IAAP;AAEnB,MAAII,KAA0B,GAAG;AAChCC,IAAAA,OAAO,EAAEL,SAAS,GAAG,CAAH,GAAOM,SADO;AAEhCT,IAAAA;AAFgC,GAAjC;AAKA,MAAIU,UAAU,GAAG,EAAjB;;AAEA,MAAKN,QAAL,EAAgB;AACfG,IAAAA,KAAK,GAAG,EACP,GAAGA,KADI;AAEPV,MAAAA,QAAQ,EAAE,UAFH;AAGPQ,MAAAA,MAAM,EAAEX,iBAAiB,GAAG,CAAC,CAHtB;AAIPiB,MAAAA,IAAI,EAAE,KAJC;AAKPC,MAAAA,SAAS,EAAE;AALJ,KAAR;AAQAF,IAAAA,UAAU,GAAG;AACZE,MAAAA,SAAS,EAAG;AADA,KAAb;AAGA;;AAED,MAAKN,QAAL,EAAgB;AACfC,IAAAA,KAAK,GAAG,EACP,GAAGA,KADI;AAEPV,MAAAA,QAAQ,EAAE,UAFH;AAGPgB,MAAAA,GAAG,EAAEpB,aAHE;AAIPqB,MAAAA,KAAK,EAAE,qBAAUL,SAAV,GAAsBhB,aAJtB;AAKPkB,MAAAA,IAAI,EAAE,qBAAUlB,aAAV,GAA0BgB;AALzB,KAAR;AAOA;;AAED,SACC,4BAAC,6BAAD;AACC,mBAAY,MADb;AAEC,IAAA,SAAS,EAAC,+CAFX;AAGC,IAAA,GAAG,EAAGP,GAHP;AAIC,IAAA,KAAK,EAAGK;AAJT,KAKMN,KALN,GAOC,4BAAC,sBAAD;AACC,IAAA,SAAS,EAAC,uCADX;AAEC,IAAA,KAAK,EAAGS;AAFT,KAIC,4BAAC,wBAAD;AAAW,IAAA,EAAE,EAAC;AAAd,KAAuBd,KAAvB,CAJD,CAPD,CADD;AAgBA;;AAED,MAAMmB,kBAAkB,GAAG,yBAAYpB,KAAZ,CAA3B;eAEeoB,kB","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { Position, POSITIONS } from './utils';\nimport {\n\tTooltipWrapper,\n\tTooltip,\n\tLabelText,\n} from './styles/resize-tooltip.styles';\n\nconst CORNER_OFFSET = 4;\nconst CURSOR_OFFSET_TOP = CORNER_OFFSET * 2.5;\n\ntype LabelProps = React.DetailedHTMLProps<\n\tReact.HTMLAttributes< HTMLDivElement >,\n\tHTMLDivElement\n> & {\n\tlabel?: string;\n\tposition: Position;\n\tzIndex: number;\n};\n\nfunction Label(\n\t{ label, position = POSITIONS.corner, zIndex = 1000, ...props }: LabelProps,\n\tref: ForwardedRef< HTMLDivElement >\n): JSX.Element | null {\n\tconst showLabel = !! label;\n\n\tconst isBottom = position === POSITIONS.bottom;\n\tconst isCorner = position === POSITIONS.corner;\n\n\tif ( ! showLabel ) return null;\n\n\tlet style: React.CSSProperties = {\n\t\topacity: showLabel ? 1 : undefined,\n\t\tzIndex,\n\t};\n\n\tlet labelStyle = {};\n\n\tif ( isBottom ) {\n\t\tstyle = {\n\t\t\t...style,\n\t\t\tposition: 'absolute',\n\t\t\tbottom: CURSOR_OFFSET_TOP * -1,\n\t\t\tleft: '50%',\n\t\t\ttransform: 'translate(-50%, 0)',\n\t\t};\n\n\t\tlabelStyle = {\n\t\t\ttransform: `translate(0, 100%)`,\n\t\t};\n\t}\n\n\tif ( isCorner ) {\n\t\tstyle = {\n\t\t\t...style,\n\t\t\tposition: 'absolute',\n\t\t\ttop: CORNER_OFFSET,\n\t\t\tright: isRTL() ? undefined : CORNER_OFFSET,\n\t\t\tleft: isRTL() ? CORNER_OFFSET : undefined,\n\t\t};\n\t}\n\n\treturn (\n\t\t<TooltipWrapper\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName=\"components-resizable-tooltip__tooltip-wrapper\"\n\t\t\tref={ ref }\n\t\t\tstyle={ style }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<Tooltip\n\t\t\t\tclassName=\"components-resizable-tooltip__tooltip\"\n\t\t\t\tstyle={ labelStyle }\n\t\t\t>\n\t\t\t\t<LabelText as=\"span\">{ label }</LabelText>\n\t\t\t</Tooltip>\n\t\t</TooltipWrapper>\n\t);\n}\n\nconst ForwardedComponent = forwardRef( Label );\n\nexport default ForwardedComponent;\n"]}
@@ -34,15 +34,13 @@ exports.POSITIONS = POSITIONS;
34
34
  *
35
35
  * @return Properties for hook.
36
36
  */
37
- function useResizeLabel(_ref) {
38
- let {
39
- axis,
40
- fadeTimeout = 180,
41
- onResize = noop,
42
- position = POSITIONS.bottom,
43
- showPx = false
44
- } = _ref;
45
-
37
+ function useResizeLabel({
38
+ axis,
39
+ fadeTimeout = 180,
40
+ onResize = noop,
41
+ position = POSITIONS.bottom,
42
+ showPx = false
43
+ }) {
46
44
  /*
47
45
  * The width/height values derive from this special useResizeObserver hook.
48
46
  * This custom hook uses the ResizeObserver API to listen for resize events.
@@ -168,16 +166,15 @@ function useResizeLabel(_ref) {
168
166
  *
169
167
  * @return The rendered label.
170
168
  */
171
- function getSizeLabel(_ref2) {
172
- let {
173
- axis,
174
- height,
175
- moveX = false,
176
- moveY = false,
177
- position = POSITIONS.bottom,
178
- showPx = false,
179
- width
180
- } = _ref2;
169
+ function getSizeLabel({
170
+ axis,
171
+ height,
172
+ moveX = false,
173
+ moveY = false,
174
+ position = POSITIONS.bottom,
175
+ showPx = false,
176
+ width
177
+ }) {
181
178
  if (!moveX && !moveY) return undefined;
182
179
  /*
183
180
  * Corner position...
@@ -1 +1 @@
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","debounceUnsetMoveXY","unsetMoveXY","current","window","clearTimeout","setTimeout","isRendered","didWidthChange","didHeightChange","label","getSizeLabel","undefined","labelUnit"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, 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 debounceUnsetMoveXY = useCallback( () => {\n\t\tconst unsetMoveXY = () => {\n\t\t\t/*\n\t\t\t * If axis is controlled, we will avoid resetting the moveX and moveY values.\n\t\t\t * This will allow for the preferred axis values to persist in the label.\n\t\t\t */\n\t\t\tif ( isAxisControlled ) return;\n\t\t\tsetMoveX( false );\n\t\t\tsetMoveY( false );\n\t\t};\n\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}, [ fadeTimeout, isAxisControlled ] );\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, onResize, debounceUnsetMoveXY ] );\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","debounceUnsetMoveXY","unsetMoveXY","current","window","clearTimeout","setTimeout","isRendered","didWidthChange","didHeightChange","label","getSizeLabel","undefined","labelUnit"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, 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 debounceUnsetMoveXY = useCallback( () => {\n\t\tconst unsetMoveXY = () => {\n\t\t\t/*\n\t\t\t * If axis is controlled, we will avoid resetting the moveX and moveY values.\n\t\t\t * This will allow for the preferred axis values to persist in the label.\n\t\t\t */\n\t\t\tif ( isAxisControlled ) return;\n\t\t\tsetMoveX( false );\n\t\t\tsetMoveY( false );\n\t\t};\n\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}, [ fadeTimeout, isAxisControlled ] );\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, onResize, debounceUnsetMoveXY ] );\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"]}
@@ -35,14 +35,12 @@ var _classnames = _interopRequireDefault(require("classnames"));
35
35
  * );
36
36
  * ```
37
37
  */
38
- function ResponsiveWrapper(_ref) {
39
- let {
40
- naturalWidth,
41
- naturalHeight,
42
- children,
43
- isInline = false
44
- } = _ref;
45
-
38
+ function ResponsiveWrapper({
39
+ naturalWidth,
40
+ naturalHeight,
41
+ children,
42
+ isInline = false
43
+ }) {
46
44
  if (_element.Children.count(children) !== 1) {
47
45
  return null;
48
46
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/responsive-wrapper/index.tsx"],"names":["ResponsiveWrapper","naturalWidth","naturalHeight","children","isInline","Children","count","TagName","aspectRatio","className","props","style"],"mappings":";;;;;;;;;AAQA;;AALA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,iBAAT,OAK4B;AAAA,MALA;AAC3BC,IAAAA,YAD2B;AAE3BC,IAAAA,aAF2B;AAG3BC,IAAAA,QAH2B;AAI3BC,IAAAA,QAAQ,GAAG;AAJgB,GAKA;;AAC3B,MAAKC,kBAASC,KAAT,CAAgBH,QAAhB,MAA+B,CAApC,EAAwC;AACvC,WAAO,IAAP;AACA;;AAED,QAAMI,OAAO,GAAGH,QAAQ,GAAG,MAAH,GAAY,KAApC;AACA,MAAII,WAAJ;;AACA,MAAKP,YAAY,IAAIC,aAArB,EAAqC;AACpCM,IAAAA,WAAW,GAAI,GAAGP,YAAc,MAAMC,aAAe,EAArD;AACA;;AAED,SACC,4BAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KACC,yCACG,2BAAcC,QAAd,EAAwB;AACzBM,IAAAA,SAAS,EAAE,yBACV,wCADU,EAEVN,QAAQ,CAACO,KAAT,CAAeD,SAFL,CADc;AAKzBE,IAAAA,KAAK,EAAE,EACN,GAAGR,QAAQ,CAACO,KAAT,CAAeC,KADZ;AAENH,MAAAA;AAFM;AALkB,GAAxB,CADH,CADD,CADD;AAgBA;;eAEcR,iB","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { cloneElement, Children } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { ResponsiveWrapperProps } from './types';\n\n/**\n * A wrapper component that maintains its aspect ratio when resized.\n *\n * ```jsx\n * import { ResponsiveWrapper } from '@wordpress/components';\n *\n * const MyResponsiveWrapper = () => (\n * \t<ResponsiveWrapper naturalWidth={ 2000 } naturalHeight={ 680 }>\n * \t\t<img\n * \t\t\tsrc=\"https://s.w.org/style/images/about/WordPress-logotype-standard.png\"\n * \t\t\talt=\"WordPress\"\n * \t\t/>\n * \t</ResponsiveWrapper>\n * );\n * ```\n */\nfunction ResponsiveWrapper( {\n\tnaturalWidth,\n\tnaturalHeight,\n\tchildren,\n\tisInline = false,\n}: ResponsiveWrapperProps ) {\n\tif ( Children.count( children ) !== 1 ) {\n\t\treturn null;\n\t}\n\n\tconst TagName = isInline ? 'span' : 'div';\n\tlet aspectRatio;\n\tif ( naturalWidth && naturalHeight ) {\n\t\taspectRatio = `${ naturalWidth } / ${ naturalHeight }`;\n\t}\n\n\treturn (\n\t\t<TagName className=\"components-responsive-wrapper\">\n\t\t\t<div>\n\t\t\t\t{ cloneElement( children, {\n\t\t\t\t\tclassName: classnames(\n\t\t\t\t\t\t'components-responsive-wrapper__content',\n\t\t\t\t\t\tchildren.props.className\n\t\t\t\t\t),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...children.props.style,\n\t\t\t\t\t\taspectRatio,\n\t\t\t\t\t},\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</TagName>\n\t);\n}\n\nexport default ResponsiveWrapper;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/responsive-wrapper/index.tsx"],"names":["ResponsiveWrapper","naturalWidth","naturalHeight","children","isInline","Children","count","TagName","aspectRatio","className","props","style"],"mappings":";;;;;;;;;AAQA;;AALA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,iBAAT,CAA4B;AAC3BC,EAAAA,YAD2B;AAE3BC,EAAAA,aAF2B;AAG3BC,EAAAA,QAH2B;AAI3BC,EAAAA,QAAQ,GAAG;AAJgB,CAA5B,EAK4B;AAC3B,MAAKC,kBAASC,KAAT,CAAgBH,QAAhB,MAA+B,CAApC,EAAwC;AACvC,WAAO,IAAP;AACA;;AAED,QAAMI,OAAO,GAAGH,QAAQ,GAAG,MAAH,GAAY,KAApC;AACA,MAAII,WAAJ;;AACA,MAAKP,YAAY,IAAIC,aAArB,EAAqC;AACpCM,IAAAA,WAAW,GAAI,GAAGP,YAAc,MAAMC,aAAe,EAArD;AACA;;AAED,SACC,4BAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KACC,yCACG,2BAAcC,QAAd,EAAwB;AACzBM,IAAAA,SAAS,EAAE,yBACV,wCADU,EAEVN,QAAQ,CAACO,KAAT,CAAeD,SAFL,CADc;AAKzBE,IAAAA,KAAK,EAAE,EACN,GAAGR,QAAQ,CAACO,KAAT,CAAeC,KADZ;AAENH,MAAAA;AAFM;AALkB,GAAxB,CADH,CADD,CADD;AAgBA;;eAEcR,iB","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { cloneElement, Children } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { ResponsiveWrapperProps } from './types';\n\n/**\n * A wrapper component that maintains its aspect ratio when resized.\n *\n * ```jsx\n * import { ResponsiveWrapper } from '@wordpress/components';\n *\n * const MyResponsiveWrapper = () => (\n * \t<ResponsiveWrapper naturalWidth={ 2000 } naturalHeight={ 680 }>\n * \t\t<img\n * \t\t\tsrc=\"https://s.w.org/style/images/about/WordPress-logotype-standard.png\"\n * \t\t\talt=\"WordPress\"\n * \t\t/>\n * \t</ResponsiveWrapper>\n * );\n * ```\n */\nfunction ResponsiveWrapper( {\n\tnaturalWidth,\n\tnaturalHeight,\n\tchildren,\n\tisInline = false,\n}: ResponsiveWrapperProps ) {\n\tif ( Children.count( children ) !== 1 ) {\n\t\treturn null;\n\t}\n\n\tconst TagName = isInline ? 'span' : 'div';\n\tlet aspectRatio;\n\tif ( naturalWidth && naturalHeight ) {\n\t\taspectRatio = `${ naturalWidth } / ${ naturalHeight }`;\n\t}\n\n\treturn (\n\t\t<TagName className=\"components-responsive-wrapper\">\n\t\t\t<div>\n\t\t\t\t{ cloneElement( children, {\n\t\t\t\t\tclassName: classnames(\n\t\t\t\t\t\t'components-responsive-wrapper__content',\n\t\t\t\t\t\tchildren.props.className\n\t\t\t\t\t),\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...children.props.style,\n\t\t\t\t\t\taspectRatio,\n\t\t\t\t\t},\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</TagName>\n\t);\n}\n\nexport default ResponsiveWrapper;\n"]}
@@ -101,32 +101,27 @@ const style = `
101
101
  * ```
102
102
  */
103
103
 
104
- function SandBox(_ref) {
105
- let {
106
- html = '',
107
- title = '',
108
- type,
109
- styles = [],
110
- scripts = [],
111
- onFocus
112
- } = _ref;
104
+ function SandBox({
105
+ html = '',
106
+ title = '',
107
+ type,
108
+ styles = [],
109
+ scripts = [],
110
+ onFocus
111
+ }) {
113
112
  const ref = (0, _element.useRef)();
114
113
  const [width, setWidth] = (0, _element.useState)(0);
115
114
  const [height, setHeight] = (0, _element.useState)(0);
116
115
 
117
116
  function isFrameAccessible() {
118
117
  try {
119
- var _ref$current, _ref$current$contentD;
120
-
121
- return !!((_ref$current = ref.current) !== null && _ref$current !== void 0 && (_ref$current$contentD = _ref$current.contentDocument) !== null && _ref$current$contentD !== void 0 && _ref$current$contentD.body);
118
+ return !!ref.current?.contentDocument?.body;
122
119
  } catch (e) {
123
120
  return false;
124
121
  }
125
122
  }
126
123
 
127
- function trySandBox() {
128
- let forceRerender = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
129
-
124
+ function trySandBox(forceRerender = false) {
130
125
  if (!isFrameAccessible()) {
131
126
  return;
132
127
  }
@@ -136,7 +131,7 @@ function SandBox(_ref) {
136
131
  ownerDocument
137
132
  } = ref.current;
138
133
 
139
- if (!forceRerender && null !== (contentDocument === null || contentDocument === void 0 ? void 0 : contentDocument.body.getAttribute('data-resizable-iframe-connected'))) {
134
+ if (!forceRerender && null !== contentDocument?.body.getAttribute('data-resizable-iframe-connected')) {
140
135
  return;
141
136
  } // Put the html snippet into a html document, and then write it to the iframe's document
142
137
  // we can use this in the future to inject custom styles or scripts.
@@ -181,8 +176,6 @@ function SandBox(_ref) {
181
176
  }
182
177
 
183
178
  (0, _element.useEffect)(() => {
184
- var _iframe$ownerDocument;
185
-
186
179
  trySandBox();
187
180
 
188
181
  function tryNoForceSandBox() {
@@ -216,16 +209,16 @@ function SandBox(_ref) {
216
209
  }
217
210
 
218
211
  const iframe = ref.current;
219
- const defaultView = iframe === null || iframe === void 0 ? void 0 : (_iframe$ownerDocument = iframe.ownerDocument) === null || _iframe$ownerDocument === void 0 ? void 0 : _iframe$ownerDocument.defaultView; // This used to be registered using <iframe onLoad={} />, but it made the iframe blank
212
+ const defaultView = iframe?.ownerDocument?.defaultView; // This used to be registered using <iframe onLoad={} />, but it made the iframe blank
220
213
  // after reordering the containing block. See these two issues for more details:
221
214
  // https://github.com/WordPress/gutenberg/issues/6146
222
215
  // https://github.com/facebook/react/issues/18752
223
216
 
224
- iframe === null || iframe === void 0 ? void 0 : iframe.addEventListener('load', tryNoForceSandBox, false);
225
- defaultView === null || defaultView === void 0 ? void 0 : defaultView.addEventListener('message', checkMessageForResize);
217
+ iframe?.addEventListener('load', tryNoForceSandBox, false);
218
+ defaultView?.addEventListener('message', checkMessageForResize);
226
219
  return () => {
227
- iframe === null || iframe === void 0 ? void 0 : iframe.removeEventListener('load', tryNoForceSandBox, false);
228
- defaultView === null || defaultView === void 0 ? void 0 : defaultView.addEventListener('message', checkMessageForResize);
220
+ iframe?.removeEventListener('load', tryNoForceSandBox, false);
221
+ defaultView?.addEventListener('message', checkMessageForResize);
229
222
  }; // Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.
230
223
  // See https://github.com/WordPress/gutenberg/pull/44378
231
224
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/sandbox/index.tsx"],"names":["observeAndResizeJS","MutationObserver","window","document","body","parent","sendResize","clientBoundingRect","getBoundingClientRect","postMessage","action","width","height","observer","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","addEventListener","removeViewportStyles","ruleOrNode","style","forEach","test","Array","prototype","call","querySelectorAll","styleSheets","stylesheet","cssRules","rules","position","setAttribute","SandBox","html","title","type","styles","scripts","onFocus","ref","setWidth","setHeight","isFrameAccessible","current","contentDocument","e","trySandBox","forceRerender","ownerDocument","getAttribute","htmlDoc","documentElement","lang","__html","map","i","toString","src","open","write","close","tryNoForceSandBox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","defaultView","removeEventListener","Math","ceil"],"mappings":";;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;AAcA,MAAMA,kBAAkB,GAAG,YAAY;AACtC,QAAM;AAAEC,IAAAA;AAAF,MAAuBC,MAA7B;;AAEA,MAAK,CAAED,gBAAF,IAAsB,CAAEE,QAAQ,CAACC,IAAjC,IAAyC,CAAEF,MAAM,CAACG,MAAvD,EAAgE;AAC/D;AACA;;AAED,WAASC,UAAT,GAAsB;AACrB,UAAMC,kBAAkB,GAAGJ,QAAQ,CAACC,IAAT,CAAcI,qBAAd,EAA3B;AAEAN,IAAAA,MAAM,CAACG,MAAP,CAAcI,WAAd,CACC;AACCC,MAAAA,MAAM,EAAE,QADT;AAECC,MAAAA,KAAK,EAAEJ,kBAAkB,CAACI,KAF3B;AAGCC,MAAAA,MAAM,EAAEL,kBAAkB,CAACK;AAH5B,KADD,EAMC,GAND;AAQA;;AAED,QAAMC,QAAQ,GAAG,IAAIZ,gBAAJ,CAAsBK,UAAtB,CAAjB;AACAO,EAAAA,QAAQ,CAACC,OAAT,CAAkBX,QAAQ,CAACC,IAA3B,EAAiC;AAChCW,IAAAA,UAAU,EAAE,IADoB;AAEhCC,IAAAA,iBAAiB,EAAE,KAFa;AAGhCC,IAAAA,aAAa,EAAE,IAHiB;AAIhCC,IAAAA,qBAAqB,EAAE,KAJS;AAKhCC,IAAAA,SAAS,EAAE,IALqB;AAMhCC,IAAAA,OAAO,EAAE;AANuB,GAAjC;AASAlB,EAAAA,MAAM,CAACmB,gBAAP,CAAyB,MAAzB,EAAiCf,UAAjC,EAA6C,IAA7C,EA9BsC,CAgCtC;AACA;AACA;;AACA,WAASgB,oBAAT,CAA+BC,UAA/B,EAAmE;AAClE,QAAKA,UAAU,CAACC,KAAhB,EAAwB;AAEtB,OAAE,OAAF,EAAW,QAAX,EAAqB,WAArB,EAAkC,WAAlC,CADD,CAEGC,OAFH,CAEY,UAAWD,KAAX,EAAmB;AAC9B,YACC,0BAA0BE,IAA1B,CAAgCH,UAAU,CAACC,KAAX,CAAkBA,KAAlB,CAAhC,CADD,EAEE;AACDD,UAAAA,UAAU,CAACC,KAAX,CAAkBA,KAAlB,IAA4B,EAA5B;AACA;AACD,OARD;AASA;AACD;;AAEDG,EAAAA,KAAK,CAACC,SAAN,CAAgBH,OAAhB,CAAwBI,IAAxB,CACC1B,QAAQ,CAAC2B,gBAAT,CAA2B,SAA3B,CADD,EAECR,oBAFD;AAIAK,EAAAA,KAAK,CAACC,SAAN,CAAgBH,OAAhB,CAAwBI,IAAxB,CACC1B,QAAQ,CAAC4B,WADV,EAEC,UAAWC,UAAX,EAAwB;AACvBL,IAAAA,KAAK,CAACC,SAAN,CAAgBH,OAAhB,CAAwBI,IAAxB,CACCG,UAAU,CAACC,QAAX,IAAuBD,UAAU,CAACE,KADnC,EAECZ,oBAFD;AAIA,GAPF;AAUAnB,EAAAA,QAAQ,CAACC,IAAT,CAAcoB,KAAd,CAAoBW,QAApB,GAA+B,UAA/B;AACAhC,EAAAA,QAAQ,CAACC,IAAT,CAAcoB,KAAd,CAAoBb,KAApB,GAA4B,MAA5B;AACAR,EAAAA,QAAQ,CAACC,IAAT,CAAcgC,YAAd,CAA4B,iCAA5B,EAA+D,EAA/D;AAEA9B,EAAAA,UAAU,GAnE4B,CAqEtC;AACA;;AACAJ,EAAAA,MAAM,CAACmB,gBAAP,CAAyB,QAAzB,EAAmCf,UAAnC,EAA+C,IAA/C;AACA,CAxED,C,CA0EA;;;AACA,MAAMkB,KAAK,GAAI;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CArBA;AAuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASa,OAAT,OAOkB;AAAA,MAPA;AACjBC,IAAAA,IAAI,GAAG,EADU;AAEjBC,IAAAA,KAAK,GAAG,EAFS;AAGjBC,IAAAA,IAHiB;AAIjBC,IAAAA,MAAM,GAAG,EAJQ;AAKjBC,IAAAA,OAAO,GAAG,EALO;AAMjBC,IAAAA;AANiB,GAOA;AACjB,QAAMC,GAAG,GAAG,sBAAZ;AACA,QAAM,CAAEjC,KAAF,EAASkC,QAAT,IAAsB,uBAAU,CAAV,CAA5B;AACA,QAAM,CAAEjC,MAAF,EAAUkC,SAAV,IAAwB,uBAAU,CAAV,CAA9B;;AAEA,WAASC,iBAAT,GAA6B;AAC5B,QAAI;AAAA;;AACH,aAAO,CAAC,kBAAEH,GAAG,CAACI,OAAN,kEAAE,aAAaC,eAAf,kDAAE,sBAA8B7C,IAAhC,CAAR;AACA,KAFD,CAEE,OAAQ8C,CAAR,EAAY;AACb,aAAO,KAAP;AACA;AACD;;AAED,WAASC,UAAT,GAA6C;AAAA,QAAxBC,aAAwB,uEAAR,KAAQ;;AAC5C,QAAK,CAAEL,iBAAiB,EAAxB,EAA6B;AAC5B;AACA;;AAED,UAAM;AAAEE,MAAAA,eAAF;AAAmBI,MAAAA;AAAnB,QACLT,GAAG,CAACI,OADL;;AAKA,QACC,CAAEI,aAAF,IACA,UACCH,eADD,aACCA,eADD,uBACCA,eAAe,CAAE7C,IAAjB,CAAsBkD,YAAtB,CACC,iCADD,CADD,CAFD,EAME;AACD;AACA,KAlB2C,CAoB5C;AACA;AACA;AACA;;;AACA,UAAMC,OAAO,GACZ;AACC,MAAA,IAAI,EAAGF,aAAa,CAACG,eAAd,CAA8BC,IADtC;AAEC,MAAA,SAAS,EAAGjB;AAFb,OAIC,0CACC,2CAASD,KAAT,CADD,EAEC;AAAO,MAAA,uBAAuB,EAAG;AAAEmB,QAAAA,MAAM,EAAElC;AAAV;AAAjC,MAFD,EAGGiB,MAAM,CAACkB,GAAP,CAAY,CAAEzB,KAAF,EAAS0B,CAAT,KACb;AACC,MAAA,GAAG,EAAGA,CADP;AAEC,MAAA,uBAAuB,EAAG;AAAEF,QAAAA,MAAM,EAAExB;AAAV;AAF3B,MADC,CAHH,CAJD,EAcC;AACC,yCAAgC,iCADjC;AAEC,MAAA,SAAS,EAAGM;AAFb,OAIC;AAAK,MAAA,uBAAuB,EAAG;AAAEkB,QAAAA,MAAM,EAAEpB;AAAV;AAA/B,MAJD,EAKC;AACC,MAAA,IAAI,EAAC,iBADN;AAEC,MAAA,uBAAuB,EAAG;AACzBoB,QAAAA,MAAM,EAAG,IAAI1D,kBAAkB,CAAC6D,QAAnB,EAA+B;AADnB;AAF3B,MALD,EAWGnB,OAAO,CAACiB,GAAR,CAAeG,GAAF,IACd;AAAQ,MAAA,GAAG,EAAGA,GAAd;AAAoB,MAAA,GAAG,EAAGA;AAA1B,MADC,CAXH,CAdD,CADD,CAxB4C,CAyD5C;AACA;AACA;;AACAb,IAAAA,eAAe,CAACc,IAAhB;AACAd,IAAAA,eAAe,CAACe,KAAhB,CAAuB,oBAAoB,6BAAgBT,OAAhB,CAA3C;AACAN,IAAAA,eAAe,CAACgB,KAAhB;AACA;;AAED,0BAAW,MAAM;AAAA;;AAChBd,IAAAA,UAAU;;AAEV,aAASe,iBAAT,GAA6B;AAC5Bf,MAAAA,UAAU,CAAE,KAAF,CAAV;AACA;;AAED,aAASgB,qBAAT,CAAgCC,KAAhC,EAAsD;AACrD,YAAMC,MAAM,GAAGzB,GAAG,CAACI,OAAnB,CADqD,CAGrD;;AACA,UAAK,CAAEqB,MAAF,IAAYA,MAAM,CAACC,aAAP,KAAyBF,KAAK,CAACG,MAAhD,EAAyD;AACxD;AACA,OANoD,CAQrD;;;AACA,UAAIC,IAAI,GAAGJ,KAAK,CAACI,IAAN,IAAc,EAAzB;;AAEA,UAAK,aAAa,OAAOA,IAAzB,EAAgC;AAC/B,YAAI;AACHA,UAAAA,IAAI,GAAGC,IAAI,CAACC,KAAL,CAAYF,IAAZ,CAAP;AACA,SAFD,CAEE,OAAQtB,CAAR,EAAY,CAAE;AAChB,OAfoD,CAiBrD;AACA;;;AACA,UAAK,aAAasB,IAAI,CAAC9D,MAAvB,EAAgC;AAC/B;AACA;;AAEDmC,MAAAA,QAAQ,CAAE2B,IAAI,CAAC7D,KAAP,CAAR;AACAmC,MAAAA,SAAS,CAAE0B,IAAI,CAAC5D,MAAP,CAAT;AACA;;AAED,UAAMyD,MAAM,GAAGzB,GAAG,CAACI,OAAnB;AACA,UAAM2B,WAAW,GAAGN,MAAH,aAAGA,MAAH,gDAAGA,MAAM,CAAEhB,aAAX,0DAAG,sBAAuBsB,WAA3C,CAnCgB,CAqChB;AACA;AACA;AACA;;AACAN,IAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEhD,gBAAR,CAA0B,MAA1B,EAAkC6C,iBAAlC,EAAqD,KAArD;AACAS,IAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEtD,gBAAb,CAA+B,SAA/B,EAA0C8C,qBAA1C;AAEA,WAAO,MAAM;AACZE,MAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEO,mBAAR,CAA6B,MAA7B,EAAqCV,iBAArC,EAAwD,KAAxD;AACAS,MAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEtD,gBAAb,CAA+B,SAA/B,EAA0C8C,qBAA1C;AACA,KAHD,CA5CgB,CAgDhB;AACA;AACA;AACA,GAnDD,EAmDG,EAnDH;AAqDA,0BAAW,MAAM;AAChBhB,IAAAA,UAAU,GADM,CAEhB;AACA;AACA;AACA,GALD,EAKG,CAAEZ,KAAF,EAASE,MAAT,EAAiBC,OAAjB,CALH;AAOA,0BAAW,MAAM;AAChBS,IAAAA,UAAU,CAAE,IAAF,CAAV,CADgB,CAEhB;AACA;AACA;AACA,GALD,EAKG,CAAEb,IAAF,EAAQE,IAAR,CALH;AAOA,SACC;AACC,IAAA,GAAG,EAAG,2BAAc,CAAEI,GAAF,EAAO,kCAAP,CAAd,CADP;AAEC,IAAA,KAAK,EAAGL,KAFT;AAGC,IAAA,SAAS,EAAC,oBAHX;AAIC,IAAA,OAAO,EAAC,oDAJT;AAKC,IAAA,OAAO,EAAGI,OALX;AAMC,IAAA,KAAK,EAAGkC,IAAI,CAACC,IAAL,CAAWnE,KAAX,CANT;AAOC,IAAA,MAAM,EAAGkE,IAAI,CAACC,IAAL,CAAWlE,MAAX;AAPV,IADD;AAWA;;eAEcyB,O","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useFocusableIframe, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport type { SandBoxProps } from './types';\n\nconst observeAndResizeJS = function () {\n\tconst { MutationObserver } = window;\n\n\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\treturn;\n\t}\n\n\tfunction sendResize() {\n\t\tconst clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\twindow.parent.postMessage(\n\t\t\t{\n\t\t\t\taction: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n\t\t\t},\n\t\t\t'*'\n\t\t);\n\t}\n\n\tconst observer = new MutationObserver( sendResize );\n\tobserver.observe( document.body, {\n\t\tattributes: true,\n\t\tattributeOldValue: false,\n\t\tcharacterData: true,\n\t\tcharacterDataOldValue: false,\n\t\tchildList: true,\n\t\tsubtree: true,\n\t} );\n\n\twindow.addEventListener( 'load', sendResize, true );\n\n\t// Hack: Remove viewport unit styles, as these are relative\n\t// the iframe root and interfere with our mechanism for\n\t// determining the unconstrained page bounds.\n\tfunction removeViewportStyles( ruleOrNode: ElementCSSInlineStyle ) {\n\t\tif ( ruleOrNode.style ) {\n\t\t\t(\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ] as const\n\t\t\t ).forEach( function ( style ) {\n\t\t\t\tif (\n\t\t\t\t\t/^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] )\n\t\t\t\t) {\n\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tArray.prototype.forEach.call(\n\t\tdocument.querySelectorAll( '[style]' ),\n\t\tremoveViewportStyles\n\t);\n\tArray.prototype.forEach.call(\n\t\tdocument.styleSheets,\n\t\tfunction ( stylesheet ) {\n\t\t\tArray.prototype.forEach.call(\n\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\tremoveViewportStyles\n\t\t\t);\n\t\t}\n\t);\n\n\tdocument.body.style.position = 'absolute';\n\tdocument.body.style.width = '100%';\n\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\tsendResize();\n\n\t// Resize events can change the width of elements with 100% width, but we don't\n\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\twindow.addEventListener( 'resize', sendResize, true );\n};\n\n// TODO: These styles shouldn't be coupled with WordPress.\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div {\n\t\twidth: 100%;\n\t}\n\thtml.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio > div,\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\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\n/**\n * This component provides an isolated environment for arbitrary HTML via iframes.\n *\n * ```jsx\n * import { SandBox } from '@wordpress/components';\n *\n * const MySandBox = () => (\n * \t<SandBox html=\"<p>Content</p>\" title=\"SandBox\" type=\"embed\" />\n * );\n * ```\n */\nfunction SandBox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n}: SandBoxProps ) {\n\tconst ref = useRef< HTMLIFrameElement >();\n\tconst [ width, setWidth ] = useState( 0 );\n\tconst [ height, setHeight ] = useState( 0 );\n\n\tfunction isFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! ref.current?.contentDocument?.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfunction trySandBox( forceRerender = false ) {\n\t\tif ( ! isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { contentDocument, ownerDocument } =\n\t\t\tref.current as HTMLIFrameElement & {\n\t\t\t\tcontentDocument: Document;\n\t\t\t};\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !==\n\t\t\t\tcontentDocument?.body.getAttribute(\n\t\t\t\t\t'data-resizable-iframe-connected'\n\t\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Put the html snippet into a html document, and then write it to the iframe's document\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\n\t\t\t\tlang={ ownerDocument.documentElement.lang }\n\t\t\t\tclassName={ type }\n\t\t\t>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\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: `(${ observeAndResizeJS.toString() })();`,\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\n\t\t// Writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected.\n\t\tcontentDocument.open();\n\t\tcontentDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tcontentDocument.close();\n\t}\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\n\t\tfunction tryNoForceSandBox() {\n\t\t\ttrySandBox( false );\n\t\t}\n\n\t\tfunction checkMessageForResize( event: MessageEvent ) {\n\t\t\tconst iframe = ref.current;\n\n\t\t\t// Verify that the mounted element is the source of the message.\n\t\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Attempt to parse the message data as JSON if passed as string.\n\t\t\tlet data = event.data || {};\n\n\t\t\tif ( 'string' === typeof data ) {\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse( data );\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\t// Update the state only if the message is formatted as we expect,\n\t\t\t// i.e. as an object with a 'resize' action.\n\t\t\tif ( 'resize' !== data.action ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetWidth( data.width );\n\t\t\tsetHeight( data.height );\n\t\t}\n\n\t\tconst iframe = ref.current;\n\t\tconst defaultView = iframe?.ownerDocument?.defaultView;\n\n\t\t// This used to be registered using <iframe onLoad={} />, but it made the iframe blank\n\t\t// after reordering the containing block. See these two issues for more details:\n\t\t// https://github.com/WordPress/gutenberg/issues/6146\n\t\t// https://github.com/facebook/react/issues/18752\n\t\tiframe?.addEventListener( 'load', tryNoForceSandBox, false );\n\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tiframe?.removeEventListener( 'load', tryNoForceSandBox, false );\n\t\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\t\t};\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ title, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandBox( true );\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ html, type ] );\n\n\treturn (\n\t\t<iframe\n\t\t\tref={ useMergeRefs( [ ref, useFocusableIframe() ] ) }\n\t\t\ttitle={ title }\n\t\t\tclassName=\"components-sandbox\"\n\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\tonFocus={ onFocus }\n\t\t\twidth={ Math.ceil( width ) }\n\t\t\theight={ Math.ceil( height ) }\n\t\t/>\n\t);\n}\n\nexport default SandBox;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/sandbox/index.tsx"],"names":["observeAndResizeJS","MutationObserver","window","document","body","parent","sendResize","clientBoundingRect","getBoundingClientRect","postMessage","action","width","height","observer","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","addEventListener","removeViewportStyles","ruleOrNode","style","forEach","test","Array","prototype","call","querySelectorAll","styleSheets","stylesheet","cssRules","rules","position","setAttribute","SandBox","html","title","type","styles","scripts","onFocus","ref","setWidth","setHeight","isFrameAccessible","current","contentDocument","e","trySandBox","forceRerender","ownerDocument","getAttribute","htmlDoc","documentElement","lang","__html","map","i","toString","src","open","write","close","tryNoForceSandBox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","defaultView","removeEventListener","Math","ceil"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useFocusableIframe, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport type { SandBoxProps } from './types';\n\nconst observeAndResizeJS = function () {\n\tconst { MutationObserver } = window;\n\n\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\treturn;\n\t}\n\n\tfunction sendResize() {\n\t\tconst clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\twindow.parent.postMessage(\n\t\t\t{\n\t\t\t\taction: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n\t\t\t},\n\t\t\t'*'\n\t\t);\n\t}\n\n\tconst observer = new MutationObserver( sendResize );\n\tobserver.observe( document.body, {\n\t\tattributes: true,\n\t\tattributeOldValue: false,\n\t\tcharacterData: true,\n\t\tcharacterDataOldValue: false,\n\t\tchildList: true,\n\t\tsubtree: true,\n\t} );\n\n\twindow.addEventListener( 'load', sendResize, true );\n\n\t// Hack: Remove viewport unit styles, as these are relative\n\t// the iframe root and interfere with our mechanism for\n\t// determining the unconstrained page bounds.\n\tfunction removeViewportStyles( ruleOrNode: ElementCSSInlineStyle ) {\n\t\tif ( ruleOrNode.style ) {\n\t\t\t(\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ] as const\n\t\t\t ).forEach( function ( style ) {\n\t\t\t\tif (\n\t\t\t\t\t/^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] )\n\t\t\t\t) {\n\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tArray.prototype.forEach.call(\n\t\tdocument.querySelectorAll( '[style]' ),\n\t\tremoveViewportStyles\n\t);\n\tArray.prototype.forEach.call(\n\t\tdocument.styleSheets,\n\t\tfunction ( stylesheet ) {\n\t\t\tArray.prototype.forEach.call(\n\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\tremoveViewportStyles\n\t\t\t);\n\t\t}\n\t);\n\n\tdocument.body.style.position = 'absolute';\n\tdocument.body.style.width = '100%';\n\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\tsendResize();\n\n\t// Resize events can change the width of elements with 100% width, but we don't\n\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\twindow.addEventListener( 'resize', sendResize, true );\n};\n\n// TODO: These styles shouldn't be coupled with WordPress.\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div {\n\t\twidth: 100%;\n\t}\n\thtml.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio > div,\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\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\n/**\n * This component provides an isolated environment for arbitrary HTML via iframes.\n *\n * ```jsx\n * import { SandBox } from '@wordpress/components';\n *\n * const MySandBox = () => (\n * \t<SandBox html=\"<p>Content</p>\" title=\"SandBox\" type=\"embed\" />\n * );\n * ```\n */\nfunction SandBox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n}: SandBoxProps ) {\n\tconst ref = useRef< HTMLIFrameElement >();\n\tconst [ width, setWidth ] = useState( 0 );\n\tconst [ height, setHeight ] = useState( 0 );\n\n\tfunction isFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! ref.current?.contentDocument?.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfunction trySandBox( forceRerender = false ) {\n\t\tif ( ! isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { contentDocument, ownerDocument } =\n\t\t\tref.current as HTMLIFrameElement & {\n\t\t\t\tcontentDocument: Document;\n\t\t\t};\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !==\n\t\t\t\tcontentDocument?.body.getAttribute(\n\t\t\t\t\t'data-resizable-iframe-connected'\n\t\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Put the html snippet into a html document, and then write it to the iframe's document\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\n\t\t\t\tlang={ ownerDocument.documentElement.lang }\n\t\t\t\tclassName={ type }\n\t\t\t>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\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: `(${ observeAndResizeJS.toString() })();`,\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\n\t\t// Writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected.\n\t\tcontentDocument.open();\n\t\tcontentDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tcontentDocument.close();\n\t}\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\n\t\tfunction tryNoForceSandBox() {\n\t\t\ttrySandBox( false );\n\t\t}\n\n\t\tfunction checkMessageForResize( event: MessageEvent ) {\n\t\t\tconst iframe = ref.current;\n\n\t\t\t// Verify that the mounted element is the source of the message.\n\t\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Attempt to parse the message data as JSON if passed as string.\n\t\t\tlet data = event.data || {};\n\n\t\t\tif ( 'string' === typeof data ) {\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse( data );\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\t// Update the state only if the message is formatted as we expect,\n\t\t\t// i.e. as an object with a 'resize' action.\n\t\t\tif ( 'resize' !== data.action ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetWidth( data.width );\n\t\t\tsetHeight( data.height );\n\t\t}\n\n\t\tconst iframe = ref.current;\n\t\tconst defaultView = iframe?.ownerDocument?.defaultView;\n\n\t\t// This used to be registered using <iframe onLoad={} />, but it made the iframe blank\n\t\t// after reordering the containing block. See these two issues for more details:\n\t\t// https://github.com/WordPress/gutenberg/issues/6146\n\t\t// https://github.com/facebook/react/issues/18752\n\t\tiframe?.addEventListener( 'load', tryNoForceSandBox, false );\n\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tiframe?.removeEventListener( 'load', tryNoForceSandBox, false );\n\t\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\t\t};\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ title, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandBox( true );\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ html, type ] );\n\n\treturn (\n\t\t<iframe\n\t\t\tref={ useMergeRefs( [ ref, useFocusableIframe() ] ) }\n\t\t\ttitle={ title }\n\t\t\tclassName=\"components-sandbox\"\n\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\tonFocus={ onFocus }\n\t\t\twidth={ Math.ceil( width ) }\n\t\t\theight={ Math.ceil( height ) }\n\t\t/>\n\t);\n}\n\nexport default SandBox;\n"]}
@@ -173,23 +173,22 @@ const style = `
173
173
  }
174
174
  `;
175
175
  const EMPTY_ARRAY = [];
176
- const Sandbox = (0, _element.forwardRef)(function Sandbox(_ref, ref) {
177
- let {
178
- containerStyle,
179
- customJS,
180
- html = '',
181
- lang = 'en',
182
- providerUrl = '',
183
- scripts = EMPTY_ARRAY,
184
- styles = EMPTY_ARRAY,
185
- title = '',
186
- type,
187
- url,
188
- onWindowEvents = {},
189
- viewportProps = '',
190
- onLoadEnd = () => {},
191
- testID
192
- } = _ref;
176
+ const Sandbox = (0, _element.forwardRef)(function Sandbox({
177
+ containerStyle,
178
+ customJS,
179
+ html = '',
180
+ lang = 'en',
181
+ providerUrl = '',
182
+ scripts = EMPTY_ARRAY,
183
+ styles = EMPTY_ARRAY,
184
+ title = '',
185
+ type,
186
+ url,
187
+ onWindowEvents = {},
188
+ viewportProps = '',
189
+ onLoadEnd = () => {},
190
+ testID
191
+ }, ref) {
193
192
  const colorScheme = (0, _compose.usePreferredColorScheme)();
194
193
  const [height, setHeight] = (0, _element.useState)(0);
195
194
  const [contentHtml, setContentHtml] = (0, _element.useState)(getHtmlDoc());
@@ -255,8 +254,7 @@ const Sandbox = (0, _element.forwardRef)(function Sandbox(_ref, ref) {
255
254
  return injectedJS;
256
255
  }, [customJS, onWindowEvents]);
257
256
 
258
- function updateContentHtml() {
259
- let forceRerender = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
257
+ function updateContentHtml(forceRerender = false) {
260
258
  const newContentHtml = getHtmlDoc();
261
259
 
262
260
  if (forceRerender && contentHtml === newContentHtml) {
@@ -284,9 +282,7 @@ const Sandbox = (0, _element.forwardRef)(function Sandbox(_ref, ref) {
284
282
  }
285
283
 
286
284
  const onMessage = (0, _element.useCallback)(message => {
287
- var _message$nativeEvent, _data;
288
-
289
- let data = message === null || message === void 0 ? void 0 : (_message$nativeEvent = message.nativeEvent) === null || _message$nativeEvent === void 0 ? void 0 : _message$nativeEvent.data;
285
+ let data = message?.nativeEvent?.data;
290
286
 
291
287
  try {
292
288
  data = JSON.parse(data);
@@ -295,15 +291,13 @@ const Sandbox = (0, _element.forwardRef)(function Sandbox(_ref, ref) {
295
291
  } // check for resize event
296
292
 
297
293
 
298
- if ('resize' === ((_data = data) === null || _data === void 0 ? void 0 : _data.action)) {
294
+ if ('resize' === data?.action) {
299
295
  setHeight(data.height);
300
296
  } // Forward the event to parent event listeners
301
297
 
302
298
 
303
299
  Object.keys(onWindowEvents).forEach(eventType => {
304
- var _data2;
305
-
306
- if (((_data2 = data) === null || _data2 === void 0 ? void 0 : _data2.type) === eventType) {
300
+ if (data?.type === eventType) {
307
301
  try {
308
302
  onWindowEvents[eventType](data);
309
303
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/sandbox/index.native.js"],"names":["observeAndResizeJS","style","EMPTY_ARRAY","Sandbox","ref","containerStyle","customJS","html","lang","providerUrl","scripts","styles","title","type","url","onWindowEvents","viewportProps","onLoadEnd","testID","colorScheme","height","setHeight","contentHtml","setContentHtml","getHtmlDoc","windowSize","Dimensions","get","isLandscape","setIsLandscape","width","wasLandscape","key","Platform","select","android","ios","addViewportProps","trim","replace","htmlDoc","__html","map","rules","i","src","getInjectedJavaScript","injectedJS","Object","keys","forEach","eventType","updateContentHtml","forceRerender","newContentHtml","setImmediate","getSizeStyle","contentHeight","Math","ceil","aspectRatio","onChangeDimensions","dimensions","window","onMessage","message","data","nativeEvent","JSON","parse","e","action","console","warn","dimensionsChangeSubscription","addEventListener","remove","current","sandboxStyles","baseUrl","isAndroid","workaroundStyles","webView","StyleSheet","create","opacity"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAeA;;AAKA;;AAxBA;AACA;AACA;;AAIA;AACA;AACA;;AAaA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CA7EA;AA+EA,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,MAAMC,OAAO,GAAG,yBAAY,SAASA,OAAT,OAiB3BC,GAjB2B,EAkB1B;AAAA,MAjBD;AACCC,IAAAA,cADD;AAECC,IAAAA,QAFD;AAGCC,IAAAA,IAAI,GAAG,EAHR;AAICC,IAAAA,IAAI,GAAG,IAJR;AAKCC,IAAAA,WAAW,GAAG,EALf;AAMCC,IAAAA,OAAO,GAAGR,WANX;AAOCS,IAAAA,MAAM,GAAGT,WAPV;AAQCU,IAAAA,KAAK,GAAG,EART;AASCC,IAAAA,IATD;AAUCC,IAAAA,GAVD;AAWCC,IAAAA,cA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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\tforwardRef,\n\tuseCallback,\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\tconst { MutationObserver } = window;\n\n\t\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tconst 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\t\t\twindow.ReactNativeWebView.postMessage(\n\t\t\t\tJSON.stringify( {\n\t\t\t\t\taction: 'resize',\n\t\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\t\theight: clientBoundingRect.height,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tconst observer = 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 (\n\t\t\t\t\tstyle\n\t\t\t\t) {\n\t\t\t\t\tif (\n\t\t\t\t\t\t/^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] )\n\t\t\t\t\t) {\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(\n\t\t\tdocument.querySelectorAll( '[style]' ),\n\t\t\tremoveViewportStyles\n\t\t);\n\t\tArray.prototype.forEach.call(\n\t\t\tdocument.styleSheets,\n\t\t\tfunction ( stylesheet ) {\n\t\t\t\tArray.prototype.forEach.call(\n\t\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\t\tremoveViewportStyles\n\t\t\t\t);\n\t\t\t}\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\t\twindow.addEventListener( 'orientationchange', sendResize, true );\n\t})();\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\nconst Sandbox = forwardRef( function Sandbox(\n\t{\n\t\tcontainerStyle,\n\t\tcustomJS,\n\t\thtml = '',\n\t\tlang = 'en',\n\t\tproviderUrl = '',\n\t\tscripts = EMPTY_ARRAY,\n\t\tstyles = EMPTY_ARRAY,\n\t\ttitle = '',\n\t\ttype,\n\t\turl,\n\t\tonWindowEvents = {},\n\t\tviewportProps = '',\n\t\tonLoadEnd = () => {},\n\t\ttestID,\n\t},\n\tref\n) {\n\tconst colorScheme = usePreferredColorScheme();\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\n\t\t// Avoid comma issues with props.viewportProps.\n\t\tconst addViewportProps = viewportProps\n\t\t\t.trim()\n\t\t\t.replace( /(^[^,])/, ', $1' );\n\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${ addViewportProps }` }\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{ 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\tconst getInjectedJavaScript = useCallback( () => {\n\t\t// Allow parent to override the resize observers with prop.customJS (legacy support)\n\t\tlet injectedJS = customJS || observeAndResizeJS;\n\n\t\t// Add any event listeners that were passed in.\n\t\tObject.keys( onWindowEvents ).forEach( ( eventType ) => {\n\t\t\tinjectedJS += `\n\t\t\t\twindow.addEventListener( '${ eventType }', function( event ) {\n\t\t\t\t\twindow.ReactNativeWebView.postMessage( JSON.stringify( { type: '${ eventType }', ...event.data } ) );\n\t\t\t\t});`;\n\t\t} );\n\n\t\treturn injectedJS;\n\t}, [ customJS, onWindowEvents ] );\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 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\tconst onMessage = useCallback(\n\t\t( message ) => {\n\t\t\tlet data = message?.nativeEvent?.data;\n\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// check for resize event\n\t\t\tif ( 'resize' === data?.action ) {\n\t\t\t\tsetHeight( data.height );\n\t\t\t}\n\n\t\t\t// Forward the event to parent event listeners\n\t\t\tObject.keys( onWindowEvents ).forEach( ( eventType ) => {\n\t\t\t\tif ( data?.type === eventType ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tonWindowEvents[ eventType ]( data );\n\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t`Error handling event ${ eventType }`,\n\t\t\t\t\t\t\te\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\t[ onWindowEvents ]\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\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\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\tinjectedJavaScript={ getInjectedJavaScript() }\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={ onMessage }\n\t\t\tscrollEnabled={ false }\n\t\t\tsetBuiltInZoomControls={ false }\n\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\tshowsVerticalScrollIndicator={ false }\n\t\t\tmediaPlaybackRequiresUserAction={ false }\n\t\t\tonLoadEnd={ onLoadEnd }\n\t\t\ttestID={ testID }\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"]}
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","onWindowEvents","viewportProps","onLoadEnd","testID","ref","colorScheme","height","setHeight","contentHtml","setContentHtml","getHtmlDoc","windowSize","Dimensions","get","isLandscape","setIsLandscape","width","wasLandscape","key","Platform","select","android","ios","addViewportProps","trim","replace","htmlDoc","__html","map","rules","i","src","getInjectedJavaScript","injectedJS","Object","keys","forEach","eventType","updateContentHtml","forceRerender","newContentHtml","setImmediate","getSizeStyle","contentHeight","Math","ceil","aspectRatio","onChangeDimensions","dimensions","window","onMessage","message","data","nativeEvent","JSON","parse","e","action","console","warn","dimensionsChangeSubscription","addEventListener","remove","current","sandboxStyles","baseUrl","isAndroid","workaroundStyles","webView","StyleSheet","create","opacity"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAeA;;AAKA;;AAxBA;AACA;AACA;;AAIA;AACA;AACA;;AAaA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CA7EA;AA+EA,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,MAAMC,OAAO,GAAG,yBAAY,SAASA,OAAT,CAC3B;AACCC,EAAAA,cADD;AAECC,EAAAA,QAFD;AAGCC,EAAAA,IAAI,GAAG,EAHR;AAICC,EAAAA,IAAI,GAAG,IAJR;AAKCC,EAAAA,WAAW,GAAG,EALf;AAMCC,EAAAA,OAAO,GAAGP,WANX;AAOCQ,EAAAA,MAAM,GAAGR,WAPV;AAQCS,EAAAA,KAAK,GAAG,EART;AASCC,EAAAA,IATD;AAUCC,EAAAA,GAVD;AAWCC,EAAAA,cAAc,GAAG,EAXlB;AAYCC,EAAAA,a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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\tforwardRef,\n\tuseCallback,\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\tconst { MutationObserver } = window;\n\n\t\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tconst 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\t\t\twindow.ReactNativeWebView.postMessage(\n\t\t\t\tJSON.stringify( {\n\t\t\t\t\taction: 'resize',\n\t\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\t\theight: clientBoundingRect.height,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tconst observer = 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 (\n\t\t\t\t\tstyle\n\t\t\t\t) {\n\t\t\t\t\tif (\n\t\t\t\t\t\t/^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] )\n\t\t\t\t\t) {\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(\n\t\t\tdocument.querySelectorAll( '[style]' ),\n\t\t\tremoveViewportStyles\n\t\t);\n\t\tArray.prototype.forEach.call(\n\t\t\tdocument.styleSheets,\n\t\t\tfunction ( stylesheet ) {\n\t\t\t\tArray.prototype.forEach.call(\n\t\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\t\tremoveViewportStyles\n\t\t\t\t);\n\t\t\t}\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\t\twindow.addEventListener( 'orientationchange', sendResize, true );\n\t})();\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\nconst Sandbox = forwardRef( function Sandbox(\n\t{\n\t\tcontainerStyle,\n\t\tcustomJS,\n\t\thtml = '',\n\t\tlang = 'en',\n\t\tproviderUrl = '',\n\t\tscripts = EMPTY_ARRAY,\n\t\tstyles = EMPTY_ARRAY,\n\t\ttitle = '',\n\t\ttype,\n\t\turl,\n\t\tonWindowEvents = {},\n\t\tviewportProps = '',\n\t\tonLoadEnd = () => {},\n\t\ttestID,\n\t},\n\tref\n) {\n\tconst colorScheme = usePreferredColorScheme();\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\n\t\t// Avoid comma issues with props.viewportProps.\n\t\tconst addViewportProps = viewportProps\n\t\t\t.trim()\n\t\t\t.replace( /(^[^,])/, ', $1' );\n\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${ addViewportProps }` }\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{ 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\tconst getInjectedJavaScript = useCallback( () => {\n\t\t// Allow parent to override the resize observers with prop.customJS (legacy support)\n\t\tlet injectedJS = customJS || observeAndResizeJS;\n\n\t\t// Add any event listeners that were passed in.\n\t\tObject.keys( onWindowEvents ).forEach( ( eventType ) => {\n\t\t\tinjectedJS += `\n\t\t\t\twindow.addEventListener( '${ eventType }', function( event ) {\n\t\t\t\t\twindow.ReactNativeWebView.postMessage( JSON.stringify( { type: '${ eventType }', ...event.data } ) );\n\t\t\t\t});`;\n\t\t} );\n\n\t\treturn injectedJS;\n\t}, [ customJS, onWindowEvents ] );\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 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\tconst onMessage = useCallback(\n\t\t( message ) => {\n\t\t\tlet data = message?.nativeEvent?.data;\n\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// check for resize event\n\t\t\tif ( 'resize' === data?.action ) {\n\t\t\t\tsetHeight( data.height );\n\t\t\t}\n\n\t\t\t// Forward the event to parent event listeners\n\t\t\tObject.keys( onWindowEvents ).forEach( ( eventType ) => {\n\t\t\t\tif ( data?.type === eventType ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tonWindowEvents[ eventType ]( data );\n\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t`Error handling event ${ eventType }`,\n\t\t\t\t\t\t\te\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\t[ onWindowEvents ]\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\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\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\tinjectedJavaScript={ getInjectedJavaScript() }\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={ onMessage }\n\t\t\tscrollEnabled={ false }\n\t\t\tsetBuiltInZoomControls={ false }\n\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\tshowsVerticalScrollIndicator={ false }\n\t\t\tmediaPlaybackRequiresUserAction={ false }\n\t\t\tonLoadEnd={ onLoadEnd }\n\t\t\ttestID={ testID }\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"]}