@wordpress/block-editor 12.20.0 → 12.21.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 (471) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-actions/index.js +45 -32
  3. package/build/components/block-actions/index.js.map +1 -1
  4. package/build/components/block-bindings-toolbar-indicator/index.js +25 -0
  5. package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -0
  6. package/build/components/block-edit/context.js +2 -1
  7. package/build/components/block-edit/context.js.map +1 -1
  8. package/build/components/block-edit/index.js +8 -3
  9. package/build/components/block-edit/index.js.map +1 -1
  10. package/build/components/block-inspector/index.js +5 -4
  11. package/build/components/block-inspector/index.js.map +1 -1
  12. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  13. package/build/components/block-list/block-list-item.native.js +1 -1
  14. package/build/components/block-list/block-list-item.native.js.map +1 -1
  15. package/build/components/block-list/block-outline.native.js +23 -7
  16. package/build/components/block-list/block-outline.native.js.map +1 -1
  17. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  18. package/build/components/block-list/block.native.js +0 -3
  19. package/build/components/block-list/block.native.js.map +1 -1
  20. package/build/components/block-list/use-block-props/index.js +8 -1
  21. package/build/components/block-list/use-block-props/index.js.map +1 -1
  22. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -3
  23. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  24. package/build/components/block-mover/index.native.js.map +1 -1
  25. package/build/components/block-popover/cover.js +68 -0
  26. package/build/components/block-popover/cover.js.map +1 -0
  27. package/build/components/block-popover/drop-zone.js +2 -3
  28. package/build/components/block-popover/drop-zone.js.map +1 -1
  29. package/build/components/block-popover/index.js +1 -19
  30. package/build/components/block-popover/index.js.map +1 -1
  31. package/build/components/block-preview/index.js +2 -1
  32. package/build/components/block-preview/index.js.map +1 -1
  33. package/build/components/block-removal-warning-modal/index.js +2 -4
  34. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  35. package/build/components/block-rename/modal.js.map +1 -1
  36. package/build/components/block-settings-menu/block-settings-dropdown.js +12 -10
  37. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  38. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  39. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  40. package/build/components/block-toolbar/index.js +21 -10
  41. package/build/components/block-toolbar/index.js.map +1 -1
  42. package/build/components/block-toolbar/shuffle.js +89 -0
  43. package/build/components/block-toolbar/shuffle.js.map +1 -0
  44. package/build/components/block-toolbar/use-has-block-toolbar.js +43 -0
  45. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  46. package/build/components/block-tools/block-selection-button.js +5 -1
  47. package/build/components/block-tools/block-selection-button.js.map +1 -1
  48. package/build/components/block-tools/empty-block-inserter.js +2 -5
  49. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  50. package/build/components/block-tools/index.js +9 -26
  51. package/build/components/block-tools/index.js.map +1 -1
  52. package/build/components/block-tools/use-show-block-tools.js +60 -0
  53. package/build/components/block-tools/use-show-block-tools.js.map +1 -0
  54. package/build/components/caption/index.native.js.map +1 -1
  55. package/build/components/child-layout-control/index.js.map +1 -1
  56. package/build/components/color-palette/control.js.map +1 -1
  57. package/build/components/colors-gradients/control.js +1 -1
  58. package/build/components/colors-gradients/control.js.map +1 -1
  59. package/build/components/global-styles/border-panel.js +21 -8
  60. package/build/components/global-styles/border-panel.js.map +1 -1
  61. package/build/components/global-styles/color-panel.js +1 -1
  62. package/build/components/global-styles/color-panel.js.map +1 -1
  63. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  64. package/build/components/global-styles/index.js +6 -0
  65. package/build/components/global-styles/index.js.map +1 -1
  66. package/build/components/global-styles/shadow-panel-components.js +80 -23
  67. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  68. package/build/components/global-styles/typography-utils.js +7 -5
  69. package/build/components/global-styles/typography-utils.js.map +1 -1
  70. package/build/components/global-styles/use-global-styles-output.js +15 -15
  71. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  72. package/build/components/global-styles/utils.js +1 -1
  73. package/build/components/global-styles/utils.js.map +1 -1
  74. package/build/components/grid-visualizer/grid-item-resizer.js +77 -0
  75. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  76. package/build/components/grid-visualizer/grid-visualizer.js +81 -0
  77. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -0
  78. package/build/components/grid-visualizer/index.js +20 -0
  79. package/build/components/grid-visualizer/index.js.map +1 -0
  80. package/build/components/grid-visualizer/utils.js +10 -0
  81. package/build/components/grid-visualizer/utils.js.map +1 -0
  82. package/build/components/iframe/index.js +61 -16
  83. package/build/components/iframe/index.js.map +1 -1
  84. package/build/components/index.native.js +7 -0
  85. package/build/components/index.native.js.map +1 -1
  86. package/build/components/inner-blocks/use-nested-settings-update.js +8 -2
  87. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  88. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  89. package/build/components/inserter/menu.js +9 -3
  90. package/build/components/inserter/menu.js.map +1 -1
  91. package/build/components/inserter/menu.native.js.map +1 -1
  92. package/build/components/inserter/mobile-tab-navigation.js +1 -1
  93. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  94. package/build/components/inserter/search-results.js +3 -2
  95. package/build/components/inserter/search-results.js.map +1 -1
  96. package/build/components/inserter/tabs.js +2 -1
  97. package/build/components/inserter/tabs.js.map +1 -1
  98. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  99. package/build/components/inspector-controls-tabs/index.js +1 -1
  100. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  101. package/build/components/inspector-controls-tabs/styles-tab.js +1 -1
  102. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  103. package/build/components/link-control/link-preview.js +4 -1
  104. package/build/components/link-control/link-preview.js.map +1 -1
  105. package/build/components/link-control/search-input.js.map +1 -1
  106. package/build/components/list-view/block-select-button.js +10 -2
  107. package/build/components/list-view/block-select-button.js.map +1 -1
  108. package/build/components/list-view/branch.js.map +1 -1
  109. package/build/components/list-view/drop-indicator.js.map +1 -1
  110. package/build/components/list-view/index.js.map +1 -1
  111. package/build/components/list-view/use-clipboard-handler.js +2 -1
  112. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  113. package/build/components/panel-color-settings/index.js.map +1 -1
  114. package/build/components/provider/index.js.map +1 -1
  115. package/build/components/resizable-box-popover/index.js +3 -5
  116. package/build/components/resizable-box-popover/index.js.map +1 -1
  117. package/build/components/responsive-block-control/index.js +1 -1
  118. package/build/components/responsive-block-control/index.js.map +1 -1
  119. package/build/components/rich-text/index.js +46 -26
  120. package/build/components/rich-text/index.js.map +1 -1
  121. package/build/components/rich-text/use-enter.js +3 -0
  122. package/build/components/rich-text/use-enter.js.map +1 -1
  123. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  124. package/build/components/url-popover/index.js +3 -3
  125. package/build/components/url-popover/index.js.map +1 -1
  126. package/build/components/writing-flow/use-clipboard-handler.js +2 -1
  127. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  128. package/build/components/writing-flow/utils.js +23 -6
  129. package/build/components/writing-flow/utils.js.map +1 -1
  130. package/build/hooks/background.js.map +1 -1
  131. package/build/hooks/block-hooks.js +34 -8
  132. package/build/hooks/block-hooks.js.map +1 -1
  133. package/build/hooks/border.js +6 -4
  134. package/build/hooks/border.js.map +1 -1
  135. package/build/hooks/dimensions.js +3 -4
  136. package/build/hooks/dimensions.js.map +1 -1
  137. package/build/hooks/font-size.js +6 -7
  138. package/build/hooks/font-size.js.map +1 -1
  139. package/build/hooks/index.js +1 -1
  140. package/build/hooks/index.js.map +1 -1
  141. package/build/hooks/layout-child.js +39 -0
  142. package/build/hooks/layout-child.js.map +1 -1
  143. package/build/hooks/layout.js +11 -4
  144. package/build/hooks/layout.js.map +1 -1
  145. package/build/hooks/line-height.js.map +1 -1
  146. package/build/hooks/spacing-visualizer.js +115 -0
  147. package/build/hooks/spacing-visualizer.js.map +1 -0
  148. package/build/hooks/use-bindings-attributes.js +171 -48
  149. package/build/hooks/use-bindings-attributes.js.map +1 -1
  150. package/build/hooks/use-typography-props.js +1 -2
  151. package/build/hooks/use-typography-props.js.map +1 -1
  152. package/build/layouts/grid.js +6 -2
  153. package/build/layouts/grid.js.map +1 -1
  154. package/build/private-apis.js +7 -3
  155. package/build/private-apis.js.map +1 -1
  156. package/build/store/actions.js +42 -12
  157. package/build/store/actions.js.map +1 -1
  158. package/build/store/private-actions.js +29 -55
  159. package/build/store/private-actions.js.map +1 -1
  160. package/build/store/private-selectors.js +0 -8
  161. package/build/store/private-selectors.js.map +1 -1
  162. package/build/store/reducer.js +3 -20
  163. package/build/store/reducer.js.map +1 -1
  164. package/build/store/selectors.js +27 -15
  165. package/build/store/selectors.js.map +1 -1
  166. package/build/utils/calculate-scale.js +17 -0
  167. package/build/utils/calculate-scale.js.map +1 -0
  168. package/build-module/components/block-actions/index.js +45 -32
  169. package/build-module/components/block-actions/index.js.map +1 -1
  170. package/build-module/components/block-bindings-toolbar-indicator/index.js +18 -0
  171. package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -0
  172. package/build-module/components/block-edit/context.js +1 -0
  173. package/build-module/components/block-edit/context.js.map +1 -1
  174. package/build-module/components/block-edit/index.js +9 -4
  175. package/build-module/components/block-edit/index.js.map +1 -1
  176. package/build-module/components/block-inspector/index.js +6 -5
  177. package/build-module/components/block-inspector/index.js.map +1 -1
  178. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  179. package/build-module/components/block-list/block-list-item.native.js +1 -1
  180. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  181. package/build-module/components/block-list/block-outline.native.js +23 -7
  182. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  183. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  184. package/build-module/components/block-list/block.native.js +0 -3
  185. package/build-module/components/block-list/block.native.js.map +1 -1
  186. package/build-module/components/block-list/use-block-props/index.js +9 -2
  187. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  188. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -3
  189. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  190. package/build-module/components/block-mover/index.native.js.map +1 -1
  191. package/build-module/components/block-popover/cover.js +60 -0
  192. package/build-module/components/block-popover/cover.js.map +1 -0
  193. package/build-module/components/block-popover/drop-zone.js +2 -3
  194. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  195. package/build-module/components/block-popover/index.js +1 -19
  196. package/build-module/components/block-popover/index.js.map +1 -1
  197. package/build-module/components/block-preview/index.js +2 -1
  198. package/build-module/components/block-preview/index.js.map +1 -1
  199. package/build-module/components/block-removal-warning-modal/index.js +3 -5
  200. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  201. package/build-module/components/block-rename/modal.js.map +1 -1
  202. package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -10
  203. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  204. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  205. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  206. package/build-module/components/block-toolbar/index.js +21 -11
  207. package/build-module/components/block-toolbar/index.js.map +1 -1
  208. package/build-module/components/block-toolbar/shuffle.js +82 -0
  209. package/build-module/components/block-toolbar/shuffle.js.map +1 -0
  210. package/build-module/components/block-toolbar/use-has-block-toolbar.js +36 -0
  211. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  212. package/build-module/components/block-tools/block-selection-button.js +5 -1
  213. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  214. package/build-module/components/block-tools/empty-block-inserter.js +2 -5
  215. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  216. package/build-module/components/block-tools/index.js +9 -26
  217. package/build-module/components/block-tools/index.js.map +1 -1
  218. package/build-module/components/block-tools/use-show-block-tools.js +54 -0
  219. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -0
  220. package/build-module/components/caption/index.native.js.map +1 -1
  221. package/build-module/components/child-layout-control/index.js.map +1 -1
  222. package/build-module/components/color-palette/control.js.map +1 -1
  223. package/build-module/components/colors-gradients/control.js +1 -1
  224. package/build-module/components/colors-gradients/control.js.map +1 -1
  225. package/build-module/components/global-styles/border-panel.js +22 -10
  226. package/build-module/components/global-styles/border-panel.js.map +1 -1
  227. package/build-module/components/global-styles/color-panel.js +1 -1
  228. package/build-module/components/global-styles/color-panel.js.map +1 -1
  229. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  230. package/build-module/components/global-styles/index.js +1 -1
  231. package/build-module/components/global-styles/index.js.map +1 -1
  232. package/build-module/components/global-styles/shadow-panel-components.js +82 -24
  233. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  234. package/build-module/components/global-styles/typography-utils.js +7 -5
  235. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  236. package/build-module/components/global-styles/use-global-styles-output.js +16 -16
  237. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  238. package/build-module/components/global-styles/utils.js +2 -2
  239. package/build-module/components/global-styles/utils.js.map +1 -1
  240. package/build-module/components/grid-visualizer/grid-item-resizer.js +69 -0
  241. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  242. package/build-module/components/grid-visualizer/grid-visualizer.js +73 -0
  243. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -0
  244. package/build-module/components/grid-visualizer/index.js +3 -0
  245. package/build-module/components/grid-visualizer/index.js.map +1 -0
  246. package/build-module/components/grid-visualizer/utils.js +4 -0
  247. package/build-module/components/grid-visualizer/utils.js.map +1 -0
  248. package/build-module/components/iframe/index.js +61 -16
  249. package/build-module/components/iframe/index.js.map +1 -1
  250. package/build-module/components/index.native.js +1 -1
  251. package/build-module/components/index.native.js.map +1 -1
  252. package/build-module/components/inner-blocks/use-nested-settings-update.js +8 -2
  253. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  254. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  255. package/build-module/components/inserter/menu.js +9 -3
  256. package/build-module/components/inserter/menu.js.map +1 -1
  257. package/build-module/components/inserter/menu.native.js.map +1 -1
  258. package/build-module/components/inserter/mobile-tab-navigation.js +1 -1
  259. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  260. package/build-module/components/inserter/search-results.js +3 -2
  261. package/build-module/components/inserter/search-results.js.map +1 -1
  262. package/build-module/components/inserter/tabs.js +2 -1
  263. package/build-module/components/inserter/tabs.js.map +1 -1
  264. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  265. package/build-module/components/inspector-controls-tabs/index.js +1 -1
  266. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  267. package/build-module/components/inspector-controls-tabs/styles-tab.js +2 -2
  268. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  269. package/build-module/components/link-control/link-preview.js +5 -2
  270. package/build-module/components/link-control/link-preview.js.map +1 -1
  271. package/build-module/components/link-control/search-input.js.map +1 -1
  272. package/build-module/components/list-view/block-select-button.js +11 -3
  273. package/build-module/components/list-view/block-select-button.js.map +1 -1
  274. package/build-module/components/list-view/branch.js.map +1 -1
  275. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  276. package/build-module/components/list-view/index.js.map +1 -1
  277. package/build-module/components/list-view/use-clipboard-handler.js +3 -2
  278. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  279. package/build-module/components/panel-color-settings/index.js.map +1 -1
  280. package/build-module/components/provider/index.js.map +1 -1
  281. package/build-module/components/resizable-box-popover/index.js +3 -5
  282. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  283. package/build-module/components/responsive-block-control/index.js +1 -1
  284. package/build-module/components/responsive-block-control/index.js.map +1 -1
  285. package/build-module/components/rich-text/index.js +47 -28
  286. package/build-module/components/rich-text/index.js.map +1 -1
  287. package/build-module/components/rich-text/use-enter.js +3 -0
  288. package/build-module/components/rich-text/use-enter.js.map +1 -1
  289. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  290. package/build-module/components/url-popover/index.js +3 -3
  291. package/build-module/components/url-popover/index.js.map +1 -1
  292. package/build-module/components/writing-flow/use-clipboard-handler.js +3 -2
  293. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  294. package/build-module/components/writing-flow/utils.js +22 -7
  295. package/build-module/components/writing-flow/utils.js.map +1 -1
  296. package/build-module/hooks/background.js.map +1 -1
  297. package/build-module/hooks/block-hooks.js +34 -8
  298. package/build-module/hooks/block-hooks.js.map +1 -1
  299. package/build-module/hooks/border.js +7 -5
  300. package/build-module/hooks/border.js.map +1 -1
  301. package/build-module/hooks/dimensions.js +1 -2
  302. package/build-module/hooks/dimensions.js.map +1 -1
  303. package/build-module/hooks/font-size.js +7 -8
  304. package/build-module/hooks/font-size.js.map +1 -1
  305. package/build-module/hooks/index.js +1 -1
  306. package/build-module/hooks/index.js.map +1 -1
  307. package/build-module/hooks/layout-child.js +39 -0
  308. package/build-module/hooks/layout-child.js.map +1 -1
  309. package/build-module/hooks/layout.js +11 -4
  310. package/build-module/hooks/layout.js.map +1 -1
  311. package/build-module/hooks/line-height.js.map +1 -1
  312. package/build-module/hooks/spacing-visualizer.js +106 -0
  313. package/build-module/hooks/spacing-visualizer.js.map +1 -0
  314. package/build-module/hooks/use-bindings-attributes.js +172 -49
  315. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  316. package/build-module/hooks/use-typography-props.js +2 -3
  317. package/build-module/hooks/use-typography-props.js.map +1 -1
  318. package/build-module/layouts/grid.js +6 -2
  319. package/build-module/layouts/grid.js.map +1 -1
  320. package/build-module/private-apis.js +7 -3
  321. package/build-module/private-apis.js.map +1 -1
  322. package/build-module/store/actions.js +42 -12
  323. package/build-module/store/actions.js.map +1 -1
  324. package/build-module/store/private-actions.js +29 -54
  325. package/build-module/store/private-actions.js.map +1 -1
  326. package/build-module/store/private-selectors.js +0 -6
  327. package/build-module/store/private-selectors.js.map +1 -1
  328. package/build-module/store/reducer.js +3 -20
  329. package/build-module/store/reducer.js.map +1 -1
  330. package/build-module/store/selectors.js +23 -13
  331. package/build-module/store/selectors.js.map +1 -1
  332. package/build-module/utils/calculate-scale.js +11 -0
  333. package/build-module/utils/calculate-scale.js.map +1 -0
  334. package/build-style/content-rtl.css +8 -2
  335. package/build-style/content.css +8 -2
  336. package/build-style/default-editor-styles-rtl.css +1 -0
  337. package/build-style/default-editor-styles.css +1 -0
  338. package/build-style/style-rtl.css +113 -22
  339. package/build-style/style.css +113 -22
  340. package/package.json +31 -31
  341. package/src/components/block-actions/index.js +57 -47
  342. package/src/components/block-bindings-toolbar-indicator/index.js +20 -0
  343. package/src/components/block-bindings-toolbar-indicator/style.scss +14 -0
  344. package/src/components/block-draggable/test/index.native.js +2 -2
  345. package/src/components/block-edit/context.js +1 -0
  346. package/src/components/block-edit/index.js +5 -1
  347. package/src/components/block-inspector/index.js +7 -5
  348. package/src/components/block-list/block-invalid-warning.native.js +1 -1
  349. package/src/components/block-list/block-list-item.native.js +1 -1
  350. package/src/components/block-list/block-outline.native.js +36 -21
  351. package/src/components/block-list/block-selection-button.native.js +1 -3
  352. package/src/components/block-list/block.native.js +0 -3
  353. package/src/components/block-list/content.scss +5 -1
  354. package/src/components/block-list/test/block-outline.native.js +255 -0
  355. package/src/components/block-list/use-block-props/index.js +12 -2
  356. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -7
  357. package/src/components/block-mover/index.native.js +1 -1
  358. package/src/components/block-popover/cover.js +63 -0
  359. package/src/components/block-popover/drop-zone.js +3 -4
  360. package/src/components/block-popover/index.js +1 -28
  361. package/src/components/block-preview/index.js +3 -1
  362. package/src/components/block-removal-warning-modal/index.js +5 -19
  363. package/src/components/block-rename/modal.js +1 -1
  364. package/src/components/block-settings-menu/block-settings-dropdown.js +12 -9
  365. package/src/components/block-switcher/block-transformations-menu.native.js +1 -1
  366. package/src/components/block-toolbar/block-toolbar-menu.native.js +2 -2
  367. package/src/components/block-toolbar/index.js +19 -15
  368. package/src/components/block-toolbar/shuffle.js +93 -0
  369. package/src/components/block-toolbar/use-has-block-toolbar.js +49 -0
  370. package/src/components/block-tools/block-selection-button.js +4 -0
  371. package/src/components/block-tools/empty-block-inserter.js +3 -6
  372. package/src/components/block-tools/index.js +13 -36
  373. package/src/components/block-tools/use-show-block-tools.js +73 -0
  374. package/src/components/caption/index.native.js +1 -1
  375. package/src/components/child-layout-control/index.js +1 -1
  376. package/src/components/color-palette/control.js +1 -1
  377. package/src/components/colors-gradients/control.js +1 -1
  378. package/src/components/colors-gradients/test/control.js +2 -2
  379. package/src/components/contrast-checker/test/index.js +10 -10
  380. package/src/components/default-block-appender/content.scss +5 -2
  381. package/src/components/global-styles/border-panel.js +35 -24
  382. package/src/components/global-styles/color-panel.js +1 -1
  383. package/src/components/global-styles/image-settings-panel.js +1 -1
  384. package/src/components/global-styles/index.js +5 -1
  385. package/src/components/global-styles/shadow-panel-components.js +92 -23
  386. package/src/components/global-styles/style.scss +33 -10
  387. package/src/components/global-styles/test/typography-utils.js +231 -81
  388. package/src/components/global-styles/typography-utils.js +10 -7
  389. package/src/components/global-styles/use-global-styles-output.js +14 -16
  390. package/src/components/global-styles/utils.js +2 -8
  391. package/src/components/grid-visualizer/grid-item-resizer.js +100 -0
  392. package/src/components/grid-visualizer/grid-visualizer.js +81 -0
  393. package/src/components/grid-visualizer/index.js +2 -0
  394. package/src/components/grid-visualizer/style.scss +33 -0
  395. package/src/components/grid-visualizer/utils.js +5 -0
  396. package/src/components/iframe/index.js +78 -31
  397. package/src/components/index.native.js +1 -0
  398. package/src/components/inner-blocks/use-nested-settings-update.js +12 -2
  399. package/src/components/inserter/media-tab/media-preview.js +1 -1
  400. package/src/components/inserter/menu.js +10 -4
  401. package/src/components/inserter/menu.native.js +3 -3
  402. package/src/components/inserter/mobile-tab-navigation.js +1 -1
  403. package/src/components/inserter/search-results.js +2 -1
  404. package/src/components/inserter/style.scss +10 -0
  405. package/src/components/inserter/tabs.js +2 -1
  406. package/src/components/inspector-controls/block-support-tools-panel.js +2 -2
  407. package/src/components/inspector-controls-tabs/index.js +1 -1
  408. package/src/components/inspector-controls-tabs/styles-tab.js +2 -2
  409. package/src/components/line-height-control/test/index.js +1 -1
  410. package/src/components/link-control/link-preview.js +9 -2
  411. package/src/components/link-control/search-input.js +1 -1
  412. package/src/components/link-control/style.scss +9 -0
  413. package/src/components/list-view/block-select-button.js +16 -2
  414. package/src/components/list-view/branch.js +1 -1
  415. package/src/components/list-view/drop-indicator.js +1 -1
  416. package/src/components/list-view/index.js +1 -1
  417. package/src/components/list-view/style.scss +8 -0
  418. package/src/components/list-view/use-clipboard-handler.js +3 -2
  419. package/src/components/panel-color-settings/index.js +1 -1
  420. package/src/components/panel-color-settings/test/index.js +3 -3
  421. package/src/components/provider/index.js +1 -4
  422. package/src/components/resizable-box-popover/index.js +4 -6
  423. package/src/components/responsive-block-control/README.md +4 -4
  424. package/src/components/responsive-block-control/index.js +1 -1
  425. package/src/components/responsive-block-control/test/index.js +5 -5
  426. package/src/components/rich-text/index.js +76 -53
  427. package/src/components/rich-text/use-enter.js +4 -0
  428. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
  429. package/src/components/url-popover/index.js +5 -5
  430. package/src/components/url-popover/style.scss +1 -0
  431. package/src/components/writing-flow/use-clipboard-handler.js +3 -2
  432. package/src/components/writing-flow/utils.js +31 -16
  433. package/src/hooks/background.js +1 -1
  434. package/src/hooks/block-hooks.js +47 -9
  435. package/src/hooks/block-hooks.scss +6 -0
  436. package/src/hooks/border.js +16 -4
  437. package/src/hooks/dimensions.js +1 -2
  438. package/src/hooks/font-size.js +7 -12
  439. package/src/hooks/index.js +1 -0
  440. package/src/hooks/layout-child.js +38 -0
  441. package/src/hooks/layout.js +12 -1
  442. package/src/hooks/line-height.js +1 -1
  443. package/src/hooks/spacing-visualizer.js +126 -0
  444. package/src/hooks/{padding.scss → spacing.scss} +1 -1
  445. package/src/hooks/use-bindings-attributes.js +215 -65
  446. package/src/hooks/use-typography-props.js +2 -8
  447. package/src/layouts/grid.js +8 -3
  448. package/src/private-apis.js +6 -2
  449. package/src/store/actions.js +56 -18
  450. package/src/store/private-actions.js +34 -79
  451. package/src/store/private-selectors.js +0 -8
  452. package/src/store/reducer.js +2 -23
  453. package/src/store/selectors.js +41 -46
  454. package/src/store/test/actions.js +0 -4
  455. package/src/style.scss +3 -1
  456. package/src/utils/calculate-scale.js +20 -0
  457. package/build/hooks/margin.js +0 -86
  458. package/build/hooks/margin.js.map +0 -1
  459. package/build/hooks/padding.js +0 -78
  460. package/build/hooks/padding.js.map +0 -1
  461. package/build/utils/use-can-block-toolbar-be-focused.js +0 -46
  462. package/build/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  463. package/build-module/hooks/margin.js +0 -78
  464. package/build-module/hooks/margin.js.map +0 -1
  465. package/build-module/hooks/padding.js +0 -70
  466. package/build-module/hooks/padding.js.map +0 -1
  467. package/build-module/utils/use-can-block-toolbar-be-focused.js +0 -40
  468. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  469. package/src/hooks/margin.js +0 -91
  470. package/src/hooks/padding.js +0 -82
  471. package/src/utils/use-can-block-toolbar-be-focused.js +0 -48
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.GridItemResizer = GridItemResizer;
8
+ var _react = require("react");
9
+ var _components = require("@wordpress/components");
10
+ var _useBlockRefs = require("../block-list/use-block-props/use-block-refs");
11
+ var _cover = _interopRequireDefault(require("../block-popover/cover"));
12
+ var _utils = require("./utils");
13
+ /**
14
+ * WordPress dependencies
15
+ */
16
+
17
+ /**
18
+ * Internal dependencies
19
+ */
20
+
21
+ function GridItemResizer({
22
+ clientId,
23
+ onChange
24
+ }) {
25
+ const blockElement = (0, _useBlockRefs.__unstableUseBlockElement)(clientId);
26
+ if (!blockElement) {
27
+ return null;
28
+ }
29
+ return (0, _react.createElement)(_cover.default, {
30
+ className: "block-editor-grid-item-resizer",
31
+ clientId: clientId,
32
+ __unstablePopoverSlot: "block-toolbar"
33
+ }, (0, _react.createElement)(_components.ResizableBox, {
34
+ className: "block-editor-grid-item-resizer__box",
35
+ size: {
36
+ width: '100%',
37
+ height: '100%'
38
+ },
39
+ enable: {
40
+ bottom: true,
41
+ bottomLeft: false,
42
+ bottomRight: false,
43
+ left: false,
44
+ right: true,
45
+ top: false,
46
+ topLeft: false,
47
+ topRight: false
48
+ },
49
+ onResizeStop: (event, direction, boxElement) => {
50
+ const gridElement = blockElement.parentElement;
51
+ const columnGap = parseFloat((0, _utils.getComputedCSS)(gridElement, 'column-gap'));
52
+ const rowGap = parseFloat((0, _utils.getComputedCSS)(gridElement, 'row-gap'));
53
+ const gridColumnLines = getGridLines((0, _utils.getComputedCSS)(gridElement, 'grid-template-columns'), columnGap);
54
+ const gridRowLines = getGridLines((0, _utils.getComputedCSS)(gridElement, 'grid-template-rows'), rowGap);
55
+ const columnStart = getClosestLine(gridColumnLines, blockElement.offsetLeft);
56
+ const rowStart = getClosestLine(gridRowLines, blockElement.offsetTop);
57
+ const columnEnd = getClosestLine(gridColumnLines, blockElement.offsetLeft + boxElement.offsetWidth);
58
+ const rowEnd = getClosestLine(gridRowLines, blockElement.offsetTop + boxElement.offsetHeight);
59
+ onChange({
60
+ columnSpan: Math.max(columnEnd - columnStart, 1),
61
+ rowSpan: Math.max(rowEnd - rowStart, 1)
62
+ });
63
+ }
64
+ }));
65
+ }
66
+ function getGridLines(template, gap) {
67
+ const lines = [0];
68
+ for (const size of template.split(' ')) {
69
+ const line = parseFloat(size);
70
+ lines.push(lines[lines.length - 1] + line + gap);
71
+ }
72
+ return lines;
73
+ }
74
+ function getClosestLine(lines, position) {
75
+ return lines.reduce((closest, line, index) => Math.abs(line - position) < Math.abs(lines[closest] - position) ? index : closest, 0);
76
+ }
77
+ //# sourceMappingURL=grid-item-resizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_useBlockRefs","_cover","_interopRequireDefault","_utils","GridItemResizer","clientId","onChange","blockElement","useBlockElement","_react","createElement","default","className","__unstablePopoverSlot","ResizableBox","size","width","height","enable","bottom","bottomLeft","bottomRight","left","right","top","topLeft","topRight","onResizeStop","event","direction","boxElement","gridElement","parentElement","columnGap","parseFloat","getComputedCSS","rowGap","gridColumnLines","getGridLines","gridRowLines","columnStart","getClosestLine","offsetLeft","rowStart","offsetTop","columnEnd","offsetWidth","rowEnd","offsetHeight","columnSpan","Math","max","rowSpan","template","gap","lines","split","line","push","length","position","reduce","closest","index","abs"],"sources":["@wordpress/block-editor/src/components/grid-visualizer/grid-item-resizer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ResizableBox } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport BlockPopoverCover from '../block-popover/cover';\nimport { getComputedCSS } from './utils';\n\nexport function GridItemResizer( { clientId, onChange } ) {\n\tconst blockElement = useBlockElement( clientId );\n\tif ( ! blockElement ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<BlockPopoverCover\n\t\t\tclassName=\"block-editor-grid-item-resizer\"\n\t\t\tclientId={ clientId }\n\t\t\t__unstablePopoverSlot=\"block-toolbar\"\n\t\t>\n\t\t\t<ResizableBox\n\t\t\t\tclassName=\"block-editor-grid-item-resizer__box\"\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\theight: '100%',\n\t\t\t\t} }\n\t\t\t\tenable={ {\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\tbottomRight: false,\n\t\t\t\t\tleft: false,\n\t\t\t\t\tright: true,\n\t\t\t\t\ttop: false,\n\t\t\t\t\ttopLeft: false,\n\t\t\t\t\ttopRight: false,\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, boxElement ) => {\n\t\t\t\t\tconst gridElement = blockElement.parentElement;\n\t\t\t\t\tconst columnGap = parseFloat(\n\t\t\t\t\t\tgetComputedCSS( gridElement, 'column-gap' )\n\t\t\t\t\t);\n\t\t\t\t\tconst rowGap = parseFloat(\n\t\t\t\t\t\tgetComputedCSS( gridElement, 'row-gap' )\n\t\t\t\t\t);\n\t\t\t\t\tconst gridColumnLines = getGridLines(\n\t\t\t\t\t\tgetComputedCSS( gridElement, 'grid-template-columns' ),\n\t\t\t\t\t\tcolumnGap\n\t\t\t\t\t);\n\t\t\t\t\tconst gridRowLines = getGridLines(\n\t\t\t\t\t\tgetComputedCSS( gridElement, 'grid-template-rows' ),\n\t\t\t\t\t\trowGap\n\t\t\t\t\t);\n\t\t\t\t\tconst columnStart = getClosestLine(\n\t\t\t\t\t\tgridColumnLines,\n\t\t\t\t\t\tblockElement.offsetLeft\n\t\t\t\t\t);\n\t\t\t\t\tconst rowStart = getClosestLine(\n\t\t\t\t\t\tgridRowLines,\n\t\t\t\t\t\tblockElement.offsetTop\n\t\t\t\t\t);\n\t\t\t\t\tconst columnEnd = getClosestLine(\n\t\t\t\t\t\tgridColumnLines,\n\t\t\t\t\t\tblockElement.offsetLeft + boxElement.offsetWidth\n\t\t\t\t\t);\n\t\t\t\t\tconst rowEnd = getClosestLine(\n\t\t\t\t\t\tgridRowLines,\n\t\t\t\t\t\tblockElement.offsetTop + boxElement.offsetHeight\n\t\t\t\t\t);\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\tcolumnSpan: Math.max( columnEnd - columnStart, 1 ),\n\t\t\t\t\t\trowSpan: Math.max( rowEnd - rowStart, 1 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</BlockPopoverCover>\n\t);\n}\n\nfunction getGridLines( template, gap ) {\n\tconst lines = [ 0 ];\n\tfor ( const size of template.split( ' ' ) ) {\n\t\tconst line = parseFloat( size );\n\t\tlines.push( lines[ lines.length - 1 ] + line + gap );\n\t}\n\treturn lines;\n}\n\nfunction getClosestLine( lines, position ) {\n\treturn lines.reduce(\n\t\t( closest, line, index ) =>\n\t\t\tMath.abs( line - position ) <\n\t\t\tMath.abs( lines[ closest ] - position )\n\t\t\t\t? index\n\t\t\t\t: closest,\n\t\t0\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.GridVisualizer = GridVisualizer;
8
+ var _react = require("react");
9
+ var _element = require("@wordpress/element");
10
+ var _useBlockRefs = require("../block-list/use-block-props/use-block-refs");
11
+ var _cover = _interopRequireDefault(require("../block-popover/cover"));
12
+ var _utils = require("./utils");
13
+ /**
14
+ * WordPress dependencies
15
+ */
16
+
17
+ /**
18
+ * Internal dependencies
19
+ */
20
+
21
+ function GridVisualizer({
22
+ clientId
23
+ }) {
24
+ const blockElement = (0, _useBlockRefs.__unstableUseBlockElement)(clientId);
25
+ if (!blockElement) {
26
+ return null;
27
+ }
28
+ return (0, _react.createElement)(_cover.default, {
29
+ className: "block-editor-grid-visualizer",
30
+ clientId: clientId,
31
+ __unstablePopoverSlot: "block-toolbar"
32
+ }, (0, _react.createElement)(GridVisualizerGrid, {
33
+ blockElement: blockElement
34
+ }));
35
+ }
36
+ function GridVisualizerGrid({
37
+ blockElement
38
+ }) {
39
+ const [gridInfo, setGridInfo] = (0, _element.useState)(() => getGridInfo(blockElement));
40
+ (0, _element.useEffect)(() => {
41
+ const observers = [];
42
+ for (const element of [blockElement, ...blockElement.children]) {
43
+ const observer = new window.ResizeObserver(() => {
44
+ setGridInfo(getGridInfo(blockElement));
45
+ });
46
+ observer.observe(element);
47
+ observers.push(observer);
48
+ }
49
+ return () => {
50
+ for (const observer of observers) {
51
+ observer.disconnect();
52
+ }
53
+ };
54
+ }, [blockElement]);
55
+ return (0, _react.createElement)("div", {
56
+ className: "block-editor-grid-visualizer__grid",
57
+ style: gridInfo.style
58
+ }, Array.from({
59
+ length: gridInfo.numItems
60
+ }, (_, i) => (0, _react.createElement)("div", {
61
+ key: i,
62
+ className: "block-editor-grid-visualizer__item"
63
+ })));
64
+ }
65
+ function getGridInfo(blockElement) {
66
+ const gridTemplateColumns = (0, _utils.getComputedCSS)(blockElement, 'grid-template-columns');
67
+ const gridTemplateRows = (0, _utils.getComputedCSS)(blockElement, 'grid-template-rows');
68
+ const numColumns = gridTemplateColumns.split(' ').length;
69
+ const numRows = gridTemplateRows.split(' ').length;
70
+ const numItems = numColumns * numRows;
71
+ return {
72
+ numItems,
73
+ style: {
74
+ gridTemplateColumns,
75
+ gridTemplateRows,
76
+ gap: (0, _utils.getComputedCSS)(blockElement, 'gap'),
77
+ padding: (0, _utils.getComputedCSS)(blockElement, 'padding')
78
+ }
79
+ };
80
+ }
81
+ //# sourceMappingURL=grid-visualizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","_useBlockRefs","_cover","_interopRequireDefault","_utils","GridVisualizer","clientId","blockElement","useBlockElement","_react","createElement","default","className","__unstablePopoverSlot","GridVisualizerGrid","gridInfo","setGridInfo","useState","getGridInfo","useEffect","observers","element","children","observer","window","ResizeObserver","observe","push","disconnect","style","Array","from","length","numItems","_","i","key","gridTemplateColumns","getComputedCSS","gridTemplateRows","numColumns","split","numRows","gap","padding"],"sources":["@wordpress/block-editor/src/components/grid-visualizer/grid-visualizer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport BlockPopoverCover from '../block-popover/cover';\nimport { getComputedCSS } from './utils';\n\nexport function GridVisualizer( { clientId } ) {\n\tconst blockElement = useBlockElement( clientId );\n\tif ( ! blockElement ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<BlockPopoverCover\n\t\t\tclassName=\"block-editor-grid-visualizer\"\n\t\t\tclientId={ clientId }\n\t\t\t__unstablePopoverSlot=\"block-toolbar\"\n\t\t>\n\t\t\t<GridVisualizerGrid blockElement={ blockElement } />\n\t\t</BlockPopoverCover>\n\t);\n}\n\nfunction GridVisualizerGrid( { blockElement } ) {\n\tconst [ gridInfo, setGridInfo ] = useState( () =>\n\t\tgetGridInfo( blockElement )\n\t);\n\tuseEffect( () => {\n\t\tconst observers = [];\n\t\tfor ( const element of [ blockElement, ...blockElement.children ] ) {\n\t\t\tconst observer = new window.ResizeObserver( () => {\n\t\t\t\tsetGridInfo( getGridInfo( blockElement ) );\n\t\t\t} );\n\t\t\tobserver.observe( element );\n\t\t\tobservers.push( observer );\n\t\t}\n\t\treturn () => {\n\t\t\tfor ( const observer of observers ) {\n\t\t\t\tobserver.disconnect();\n\t\t\t}\n\t\t};\n\t}, [ blockElement ] );\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-grid-visualizer__grid\"\n\t\t\tstyle={ gridInfo.style }\n\t\t>\n\t\t\t{ Array.from( { length: gridInfo.numItems }, ( _, i ) => (\n\t\t\t\t<div key={ i } className=\"block-editor-grid-visualizer__item\" />\n\t\t\t) ) }\n\t\t</div>\n\t);\n}\n\nfunction getGridInfo( blockElement ) {\n\tconst gridTemplateColumns = getComputedCSS(\n\t\tblockElement,\n\t\t'grid-template-columns'\n\t);\n\tconst gridTemplateRows = getComputedCSS(\n\t\tblockElement,\n\t\t'grid-template-rows'\n\t);\n\tconst numColumns = gridTemplateColumns.split( ' ' ).length;\n\tconst numRows = gridTemplateRows.split( ' ' ).length;\n\tconst numItems = numColumns * numRows;\n\treturn {\n\t\tnumItems,\n\t\tstyle: {\n\t\t\tgridTemplateColumns,\n\t\t\tgridTemplateRows,\n\t\t\tgap: getComputedCSS( blockElement, 'gap' ),\n\t\t\tpadding: getComputedCSS( blockElement, 'padding' ),\n\t\t},\n\t};\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAGA;AACA;AACA;;AAKO,SAASK,cAAcA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC9C,MAAMC,YAAY,GAAG,IAAAC,uCAAe,EAAEF,QAAS,CAAC;EAChD,IAAK,CAAEC,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EACA,OACC,IAAAE,MAAA,CAAAC,aAAA,EAACR,MAAA,CAAAS,OAAiB;IACjBC,SAAS,EAAC,8BAA8B;IACxCN,QAAQ,EAAGA,QAAU;IACrBO,qBAAqB,EAAC;EAAe,GAErC,IAAAJ,MAAA,CAAAC,aAAA,EAACI,kBAAkB;IAACP,YAAY,EAAGA;EAAc,CAAE,CACjC,CAAC;AAEtB;AAEA,SAASO,kBAAkBA,CAAE;EAAEP;AAAa,CAAC,EAAG;EAC/C,MAAM,CAAEQ,QAAQ,EAAEC,WAAW,CAAE,GAAG,IAAAC,iBAAQ,EAAE,MAC3CC,WAAW,CAAEX,YAAa,CAC3B,CAAC;EACD,IAAAY,kBAAS,EAAE,MAAM;IAChB,MAAMC,SAAS,GAAG,EAAE;IACpB,KAAM,MAAMC,OAAO,IAAI,CAAEd,YAAY,EAAE,GAAGA,YAAY,CAACe,QAAQ,CAAE,EAAG;MACnE,MAAMC,QAAQ,GAAG,IAAIC,MAAM,CAACC,cAAc,CAAE,MAAM;QACjDT,WAAW,CAAEE,WAAW,CAAEX,YAAa,CAAE,CAAC;MAC3C,CAAE,CAAC;MACHgB,QAAQ,CAACG,OAAO,CAAEL,OAAQ,CAAC;MAC3BD,SAAS,CAACO,IAAI,CAAEJ,QAAS,CAAC;IAC3B;IACA,OAAO,MAAM;MACZ,KAAM,MAAMA,QAAQ,IAAIH,SAAS,EAAG;QACnCG,QAAQ,CAACK,UAAU,CAAC,CAAC;MACtB;IACD,CAAC;EACF,CAAC,EAAE,CAAErB,YAAY,CAAG,CAAC;EACrB,OACC,IAAAE,MAAA,CAAAC,aAAA;IACCE,SAAS,EAAC,oCAAoC;IAC9CiB,KAAK,EAAGd,QAAQ,CAACc;EAAO,GAEtBC,KAAK,CAACC,IAAI,CAAE;IAAEC,MAAM,EAAEjB,QAAQ,CAACkB;EAAS,CAAC,EAAE,CAAEC,CAAC,EAAEC,CAAC,KAClD,IAAA1B,MAAA,CAAAC,aAAA;IAAK0B,GAAG,EAAGD,CAAG;IAACvB,SAAS,EAAC;EAAoC,CAAE,CAC9D,CACE,CAAC;AAER;AAEA,SAASM,WAAWA,CAAEX,YAAY,EAAG;EACpC,MAAM8B,mBAAmB,GAAG,IAAAC,qBAAc,EACzC/B,YAAY,EACZ,uBACD,CAAC;EACD,MAAMgC,gBAAgB,GAAG,IAAAD,qBAAc,EACtC/B,YAAY,EACZ,oBACD,CAAC;EACD,MAAMiC,UAAU,GAAGH,mBAAmB,CAACI,KAAK,CAAE,GAAI,CAAC,CAACT,MAAM;EAC1D,MAAMU,OAAO,GAAGH,gBAAgB,CAACE,KAAK,CAAE,GAAI,CAAC,CAACT,MAAM;EACpD,MAAMC,QAAQ,GAAGO,UAAU,GAAGE,OAAO;EACrC,OAAO;IACNT,QAAQ;IACRJ,KAAK,EAAE;MACNQ,mBAAmB;MACnBE,gBAAgB;MAChBI,GAAG,EAAE,IAAAL,qBAAc,EAAE/B,YAAY,EAAE,KAAM,CAAC;MAC1CqC,OAAO,EAAE,IAAAN,qBAAc,EAAE/B,YAAY,EAAE,SAAU;IAClD;EACD,CAAC;AACF"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "GridItemResizer", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _gridItemResizer.GridItemResizer;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "GridVisualizer", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _gridVisualizer.GridVisualizer;
16
+ }
17
+ });
18
+ var _gridVisualizer = require("./grid-visualizer");
19
+ var _gridItemResizer = require("./grid-item-resizer");
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_gridVisualizer","require","_gridItemResizer"],"sources":["@wordpress/block-editor/src/components/grid-visualizer/index.js"],"sourcesContent":["export { GridVisualizer } from './grid-visualizer';\nexport { GridItemResizer } from './grid-item-resizer';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getComputedCSS = getComputedCSS;
7
+ function getComputedCSS(element, property) {
8
+ return element.ownerDocument.defaultView.getComputedStyle(element).getPropertyValue(property);
9
+ }
10
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getComputedCSS","element","property","ownerDocument","defaultView","getComputedStyle","getPropertyValue"],"sources":["@wordpress/block-editor/src/components/grid-visualizer/utils.js"],"sourcesContent":["export function getComputedCSS( element, property ) {\n\treturn element.ownerDocument.defaultView\n\t\t.getComputedStyle( element )\n\t\t.getPropertyValue( property );\n}\n"],"mappings":";;;;;;AAAO,SAASA,cAAcA,CAAEC,OAAO,EAAEC,QAAQ,EAAG;EACnD,OAAOD,OAAO,CAACE,aAAa,CAACC,WAAW,CACtCC,gBAAgB,CAAEJ,OAAQ,CAAC,CAC3BK,gBAAgB,CAAEJ,QAAS,CAAC;AAC/B"}
@@ -16,6 +16,7 @@ var _blockSelectionClearer = require("../block-selection-clearer");
16
16
  var _writingFlow = require("../writing-flow");
17
17
  var _getCompatibilityStyles = require("./get-compatibility-styles");
18
18
  var _store = require("../../store");
19
+ var _calculateScale = _interopRequireDefault(require("../../utils/calculate-scale"));
19
20
  /**
20
21
  * External dependencies
21
22
  */
@@ -100,21 +101,26 @@ function Iframe({
100
101
  contentRef,
101
102
  children,
102
103
  tabIndex = 0,
103
- scale = 1,
104
- frameSize = 0,
105
- expand = false,
104
+ shouldZoom = false,
106
105
  readonly,
107
106
  forwardedRef: ref,
107
+ title = (0, _i18n.__)('Editor canvas'),
108
108
  ...props
109
109
  }) {
110
110
  const {
111
111
  resolvedAssets,
112
- isPreviewMode
112
+ isPreviewMode,
113
+ isZoomOutMode
113
114
  } = (0, _data.useSelect)(select => {
114
- const settings = select(_store.store).getSettings();
115
+ const {
116
+ getSettings,
117
+ __unstableGetEditorMode
118
+ } = select(_store.store);
119
+ const settings = getSettings();
115
120
  return {
116
121
  resolvedAssets: settings.__unstableResolvedAssets,
117
- isPreviewMode: settings.__unstableIsPreviewMode
122
+ isPreviewMode: settings.__unstableIsPreviewMode,
123
+ isZoomOutMode: __unstableGetEditorMode() === 'zoom-out'
118
124
  };
119
125
  }, []);
120
126
  const {
@@ -126,8 +132,21 @@ function Iframe({
126
132
  const clearerRef = (0, _blockSelectionClearer.useBlockSelectionClearer)();
127
133
  const [before, writingFlowRef, after] = (0, _writingFlow.useWritingFlow)();
128
134
  const [contentResizeListener, {
129
- height: contentHeight
135
+ height: contentHeight,
136
+ width: contentWidth
130
137
  }] = (0, _compose.useResizeObserver)();
138
+
139
+ // When zoom-out mode is enabled, the iframe is scaled down to fit the
140
+ // content within the viewport.
141
+ // At 1000px wide, the iframe is scaled to 45%.
142
+ // At 400px wide, the iframe is scaled to 90%.
143
+ const scale = isZoomOutMode && shouldZoom ? (0, _calculateScale.default)({
144
+ maxWidth: 1000,
145
+ minWidth: 400,
146
+ maxScale: 0.45,
147
+ minScale: 0.9
148
+ }, contentWidth) : 1;
149
+ const frameSize = isZoomOutMode ? 100 : 0;
131
150
  const setRef = (0, _compose.useRefEffect)(node => {
132
151
  node._load = () => {
133
152
  setIframeDocument(node.contentDocument);
@@ -146,6 +165,7 @@ function Iframe({
146
165
  documentElement
147
166
  } = contentDocument;
148
167
  iFrameDocument = contentDocument;
168
+ documentElement.classList.add('block-editor-iframe__html');
149
169
  clearerRef(documentElement);
150
170
 
151
171
  // Ideally ALL classes that are added through get_body_class should
@@ -187,7 +207,19 @@ function Iframe({
187
207
  <head>
188
208
  <meta charset="utf-8">
189
209
  <script>window.frameElement._load()</script>
190
- <style>html{height:auto!important;min-height:100%;}body{margin:0}</style>
210
+ <style>
211
+ html{
212
+ height: auto !important;
213
+ min-height: 100%;
214
+ }
215
+
216
+ body {
217
+ margin: 0;
218
+ /* Default background color in case zoom out mode background
219
+ colors the html element */
220
+ background: white;
221
+ }
222
+ </style>
191
223
  ${styles}
192
224
  ${scripts}
193
225
  </head>
@@ -207,15 +239,28 @@ function Iframe({
207
239
  // is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the
208
240
  // top or bottom margin is 0.55 / 2 ((1 - scale) / 2).
209
241
  const marginFromScaling = contentHeight * (1 - scale) / 2;
210
- return (0, _react.createElement)(_react.Fragment, null, tabIndex >= 0 && before, (0, _react.createElement)("iframe", {
242
+ (0, _element.useEffect)(() => {
243
+ if (iframeDocument && scale !== 1) {
244
+ iframeDocument.documentElement.style.transform = `scale( ${scale} )`;
245
+ iframeDocument.documentElement.style.marginTop = `${frameSize}px`;
246
+ iframeDocument.documentElement.style.marginBottom = `${-marginFromScaling * 2 + frameSize}px`;
247
+ return () => {
248
+ iframeDocument.documentElement.style.transform = '';
249
+ iframeDocument.documentElement.style.marginTop = '';
250
+ iframeDocument.documentElement.style.marginBottom = '';
251
+ };
252
+ }
253
+ }, [scale, frameSize, marginFromScaling, iframeDocument]);
254
+
255
+ // Make sure to not render the before and after focusable div elements in view
256
+ // mode. They're only needed to capture focus in edit mode.
257
+ const shouldRenderFocusCaptureElements = tabIndex >= 0 && !isPreviewMode;
258
+ return (0, _react.createElement)(_react.Fragment, null, shouldRenderFocusCaptureElements && before, (0, _react.createElement)("iframe", {
211
259
  ...props,
212
260
  style: {
213
261
  border: 0,
214
262
  ...props.style,
215
- height: expand ? contentHeight : props.style?.height,
216
- marginTop: scale !== 1 ? -marginFromScaling + frameSize : props.style?.marginTop,
217
- marginBottom: scale !== 1 ? -marginFromScaling + frameSize : props.style?.marginBottom,
218
- transform: scale !== 1 ? `scale( ${scale} )` : props.style?.transform,
263
+ height: props.style?.height,
219
264
  transition: 'all .3s'
220
265
  },
221
266
  ref: (0, _compose.useMergeRefs)([ref, setRef]),
@@ -225,7 +270,7 @@ function Iframe({
225
270
  // content.
226
271
  ,
227
272
  src: src,
228
- title: (0, _i18n.__)('Editor canvas'),
273
+ title: title,
229
274
  onKeyDown: event => {
230
275
  if (props.onKeyDown) {
231
276
  props.onKeyDown(event);
@@ -236,7 +281,7 @@ function Iframe({
236
281
  // though by doing so we also trigger another React event,
237
282
  // so we need to stop the propagation of this event to avoid
238
283
  // duplication.
239
- else if (event.currentTarget.ownerDocument !== event.target.ownerDocument) {
284
+ if (event.currentTarget.ownerDocument !== event.target.ownerDocument) {
240
285
  event.stopPropagation();
241
286
  bubbleEvent(event, window.KeyboardEvent, event.currentTarget);
242
287
  }
@@ -250,7 +295,7 @@ function Iframe({
250
295
  className: (0, _classnames.default)('block-editor-iframe__body', 'editor-styles-wrapper', ...bodyClasses)
251
296
  }, contentResizeListener, (0, _react.createElement)(_components.__experimentalStyleProvider, {
252
297
  document: iframeDocument
253
- }, children)), iframeDocument.documentElement)), tabIndex >= 0 && after);
298
+ }, children)), iframeDocument.documentElement)), shouldRenderFocusCaptureElements && after);
254
299
  }
255
300
  function IframeIfReady(props, ref) {
256
301
  const isInitialised = (0, _data.useSelect)(select => select(_store.store).getSettings().__internalIsInitialized, []);
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_i18n","_compose","_components","_data","_blockSelectionClearer","_writingFlow","_getCompatibilityStyles","_store","bubbleEvent","event","Constructor","frame","init","key","contentDocument","defaultView","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","defaultPrevented","preventDefault","cancelled","dispatchEvent","useBubbleEvents","iframeDocument","useRefEffect","frameElement","html","documentElement","eventTypes","handlers","name","prototype","Object","getPrototypeOf","constructorName","constructor","window","addEventListener","removeEventListener","Iframe","contentRef","children","tabIndex","scale","frameSize","expand","readonly","forwardedRef","ref","props","resolvedAssets","isPreviewMode","useSelect","select","settings","blockEditorStore","getSettings","__unstableResolvedAssets","__unstableIsPreviewMode","styles","scripts","setIframeDocument","useState","bodyClasses","setBodyClasses","clearerRef","useBlockSelectionClearer","before","writingFlowRef","after","useWritingFlow","contentResizeListener","height","contentHeight","useResizeObserver","setRef","node","_load","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","Array","from","body","classList","filter","startsWith","dir","compatStyle","getCompatibilityStyles","getElementById","id","head","appendChild","cloneNode","console","warn","disabledRef","useDisabled","isDisabled","bodyRef","useMergeRefs","src","cleanup","useMemo","_src","URL","createObjectURL","Blob","revokeObjectURL","useEffect","marginFromScaling","_react","createElement","Fragment","style","border","marginTop","marginBottom","transform","transition","title","__","onKeyDown","currentTarget","target","stopPropagation","KeyboardEvent","createPortal","className","classnames","__experimentalStyleProvider","document","IframeIfReady","isInitialised","__internalIsInitialized","_default","exports","default","forwardRef"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { getCompatibilityStyles } from './get-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\n\nfunction bubbleEvent( event, Constructor, frame ) {\n\tconst init = {};\n\n\tfor ( const key in event ) {\n\t\tinit[ key ] = event[ key ];\n\t}\n\n\t// Check if the event is a MouseEvent generated within the iframe.\n\t// If so, adjust the coordinates to be relative to the position of\n\t// the iframe. This ensures that components such as Draggable\n\t// receive coordinates relative to the window, instead of relative\n\t// to the iframe. Without this, the Draggable event handler would\n\t// result in components \"jumping\" position as soon as the user\n\t// drags over the iframe.\n\tif ( event instanceof frame.contentDocument.defaultView.MouseEvent ) {\n\t\tconst rect = frame.getBoundingClientRect();\n\t\tinit.clientX += rect.left;\n\t\tinit.clientY += rect.top;\n\t}\n\n\tconst newEvent = new Constructor( event.type, init );\n\tif ( init.defaultPrevented ) {\n\t\tnewEvent.preventDefault();\n\t}\n\tconst cancelled = ! frame.dispatchEvent( newEvent );\n\n\tif ( cancelled ) {\n\t\tevent.preventDefault();\n\t}\n}\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} iframeDocument Document to attach listeners to.\n */\nfunction useBubbleEvents( iframeDocument ) {\n\treturn useRefEffect( () => {\n\t\tconst { defaultView } = iframeDocument;\n\t\tif ( ! defaultView ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { frameElement } = defaultView;\n\t\tconst html = iframeDocument.documentElement;\n\t\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\t\tconst handlers = {};\n\t\tfor ( const name of eventTypes ) {\n\t\t\thandlers[ name ] = ( event ) => {\n\t\t\t\tconst prototype = Object.getPrototypeOf( event );\n\t\t\t\tconst constructorName = prototype.constructor.name;\n\t\t\t\tconst Constructor = window[ constructorName ];\n\t\t\t\tbubbleEvent( event, Constructor, frameElement );\n\t\t\t};\n\t\t\thtml.addEventListener( name, handlers[ name ] );\n\t\t}\n\n\t\treturn () => {\n\t\t\tfor ( const name of eventTypes ) {\n\t\t\t\thtml.removeEventListener( name, handlers[ name ] );\n\t\t\t}\n\t\t};\n\t} );\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tscale = 1,\n\tframeSize = 0,\n\texpand = false,\n\treadonly,\n\tforwardedRef: ref,\n\t...props\n} ) {\n\tconst { resolvedAssets, isPreviewMode } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tresolvedAssets: settings.__unstableResolvedAssets,\n\t\t\tisPreviewMode: settings.__unstableIsPreviewMode,\n\t\t};\n\t}, [] );\n\tconst { styles = '', scripts = '' } = resolvedAssets;\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tnode._load = () => {\n\t\t\tsetIframeDocument( node.contentDocument );\n\t\t};\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction onLoad() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\n\t\t\tfor ( const compatStyle of getCompatibilityStyles() ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\tif ( ! isPreviewMode ) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\t\tcompatStyle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tdelete node._load;\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tuseBubbleEvents( iframeDocument ),\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html = `<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<script>window.frameElement._load()</script>\n\t\t<style>html{height:auto!important;min-height:100%;}body{margin:0}</style>\n\t\t${ styles }\n\t\t${ scripts }\n\t</head>\n\t<body>\n\t\t<script>document.currentScript.parentElement.remove()</script>\n\t</body>\n</html>`;\n\n\tconst [ src, cleanup ] = useMemo( () => {\n\t\tconst _src = URL.createObjectURL(\n\t\t\tnew window.Blob( [ html ], { type: 'text/html' } )\n\t\t);\n\t\treturn [ _src, () => URL.revokeObjectURL( _src ) ];\n\t}, [ html ] );\n\n\tuseEffect( () => cleanup, [ cleanup ] );\n\n\t// We need to counter the margin created by scaling the iframe. If the scale\n\t// is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the\n\t// top or bottom margin is 0.55 / 2 ((1 - scale) / 2).\n\tconst marginFromScaling = ( contentHeight * ( 1 - scale ) ) / 2;\n\n\treturn (\n\t\t<>\n\t\t\t{ tabIndex >= 0 && before }\n\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\tborder: 0,\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: expand ? contentHeight : props.style?.height,\n\t\t\t\t\tmarginTop:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginTop,\n\t\t\t\t\tmarginBottom:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginBottom,\n\t\t\t\t\ttransform:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? `scale( ${ scale } )`\n\t\t\t\t\t\t\t: props.style?.transform,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ __( 'Editor canvas' ) }\n\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\tif ( props.onKeyDown ) {\n\t\t\t\t\t\tprops.onKeyDown( event );\n\t\t\t\t\t}\n\t\t\t\t\t// If the event originates from inside the iframe, it means\n\t\t\t\t\t// it bubbled through the portal, but only with React\n\t\t\t\t\t// events. We need to to bubble native events as well,\n\t\t\t\t\t// though by doing so we also trigger another React event,\n\t\t\t\t\t// so we need to stop the propagation of this event to avoid\n\t\t\t\t\t// duplication.\n\t\t\t\t\telse if (\n\t\t\t\t\t\tevent.currentTarget.ownerDocument !==\n\t\t\t\t\t\tevent.target.ownerDocument\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tbubbleEvent(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\twindow.KeyboardEvent,\n\t\t\t\t\t\t\tevent.currentTarget\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\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t// We want to prevent React events from bubbling throught the iframe\n\t\t\t\t\t\t// we bubble these manually.\n\t\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t</body>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ tabIndex >= 0 && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_i18n","_compose","_components","_data","_blockSelectionClearer","_writingFlow","_getCompatibilityStyles","_store","_calculateScale","bubbleEvent","event","Constructor","frame","init","key","contentDocument","defaultView","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","defaultPrevented","preventDefault","cancelled","dispatchEvent","useBubbleEvents","iframeDocument","useRefEffect","frameElement","html","documentElement","eventTypes","handlers","name","prototype","Object","getPrototypeOf","constructorName","constructor","window","addEventListener","removeEventListener","Iframe","contentRef","children","tabIndex","shouldZoom","readonly","forwardedRef","ref","title","__","props","resolvedAssets","isPreviewMode","isZoomOutMode","useSelect","select","getSettings","__unstableGetEditorMode","blockEditorStore","settings","__unstableResolvedAssets","__unstableIsPreviewMode","styles","scripts","setIframeDocument","useState","bodyClasses","setBodyClasses","clearerRef","useBlockSelectionClearer","before","writingFlowRef","after","useWritingFlow","contentResizeListener","height","contentHeight","width","contentWidth","useResizeObserver","scale","calculateScale","maxWidth","minWidth","maxScale","minScale","frameSize","setRef","node","_load","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","classList","add","Array","from","body","filter","startsWith","dir","compatStyle","getCompatibilityStyles","getElementById","id","head","appendChild","cloneNode","console","warn","disabledRef","useDisabled","isDisabled","bodyRef","useMergeRefs","src","cleanup","useMemo","_src","URL","createObjectURL","Blob","revokeObjectURL","useEffect","marginFromScaling","style","transform","marginTop","marginBottom","shouldRenderFocusCaptureElements","_react","createElement","Fragment","border","transition","onKeyDown","currentTarget","target","stopPropagation","KeyboardEvent","createPortal","className","classnames","__experimentalStyleProvider","document","IframeIfReady","isInitialised","__internalIsInitialized","_default","exports","default","forwardRef"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { getCompatibilityStyles } from './get-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\nimport calculateScale from '../../utils/calculate-scale';\nfunction bubbleEvent( event, Constructor, frame ) {\n\tconst init = {};\n\n\tfor ( const key in event ) {\n\t\tinit[ key ] = event[ key ];\n\t}\n\n\t// Check if the event is a MouseEvent generated within the iframe.\n\t// If so, adjust the coordinates to be relative to the position of\n\t// the iframe. This ensures that components such as Draggable\n\t// receive coordinates relative to the window, instead of relative\n\t// to the iframe. Without this, the Draggable event handler would\n\t// result in components \"jumping\" position as soon as the user\n\t// drags over the iframe.\n\tif ( event instanceof frame.contentDocument.defaultView.MouseEvent ) {\n\t\tconst rect = frame.getBoundingClientRect();\n\t\tinit.clientX += rect.left;\n\t\tinit.clientY += rect.top;\n\t}\n\n\tconst newEvent = new Constructor( event.type, init );\n\tif ( init.defaultPrevented ) {\n\t\tnewEvent.preventDefault();\n\t}\n\tconst cancelled = ! frame.dispatchEvent( newEvent );\n\n\tif ( cancelled ) {\n\t\tevent.preventDefault();\n\t}\n}\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} iframeDocument Document to attach listeners to.\n */\nfunction useBubbleEvents( iframeDocument ) {\n\treturn useRefEffect( () => {\n\t\tconst { defaultView } = iframeDocument;\n\t\tif ( ! defaultView ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { frameElement } = defaultView;\n\t\tconst html = iframeDocument.documentElement;\n\t\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\t\tconst handlers = {};\n\t\tfor ( const name of eventTypes ) {\n\t\t\thandlers[ name ] = ( event ) => {\n\t\t\t\tconst prototype = Object.getPrototypeOf( event );\n\t\t\t\tconst constructorName = prototype.constructor.name;\n\t\t\t\tconst Constructor = window[ constructorName ];\n\t\t\t\tbubbleEvent( event, Constructor, frameElement );\n\t\t\t};\n\t\t\thtml.addEventListener( name, handlers[ name ] );\n\t\t}\n\n\t\treturn () => {\n\t\t\tfor ( const name of eventTypes ) {\n\t\t\t\thtml.removeEventListener( name, handlers[ name ] );\n\t\t\t}\n\t\t};\n\t} );\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tshouldZoom = false,\n\treadonly,\n\tforwardedRef: ref,\n\ttitle = __( 'Editor canvas' ),\n\t...props\n} ) {\n\tconst { resolvedAssets, isPreviewMode, isZoomOutMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, __unstableGetEditorMode } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst settings = getSettings();\n\t\t\treturn {\n\t\t\t\tresolvedAssets: settings.__unstableResolvedAssets,\n\t\t\t\tisPreviewMode: settings.__unstableIsPreviewMode,\n\t\t\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { styles = '', scripts = '' } = resolvedAssets;\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [\n\t\tcontentResizeListener,\n\t\t{ height: contentHeight, width: contentWidth },\n\t] = useResizeObserver();\n\n\t// When zoom-out mode is enabled, the iframe is scaled down to fit the\n\t// content within the viewport.\n\t// At 1000px wide, the iframe is scaled to 45%.\n\t// At 400px wide, the iframe is scaled to 90%.\n\tconst scale =\n\t\tisZoomOutMode && shouldZoom\n\t\t\t? calculateScale(\n\t\t\t\t\t{\n\t\t\t\t\t\tmaxWidth: 1000,\n\t\t\t\t\t\tminWidth: 400,\n\t\t\t\t\t\tmaxScale: 0.45,\n\t\t\t\t\t\tminScale: 0.9,\n\t\t\t\t\t},\n\t\t\t\t\tcontentWidth\n\t\t\t )\n\t\t\t: 1;\n\tconst frameSize = isZoomOutMode ? 100 : 0;\n\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tnode._load = () => {\n\t\t\tsetIframeDocument( node.contentDocument );\n\t\t};\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction onLoad() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tdocumentElement.classList.add( 'block-editor-iframe__html' );\n\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\n\t\t\tfor ( const compatStyle of getCompatibilityStyles() ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\tif ( ! isPreviewMode ) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\t\tcompatStyle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tdelete node._load;\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tuseBubbleEvents( iframeDocument ),\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html = `<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<script>window.frameElement._load()</script>\n\t\t<style>\n\t\t\thtml{\n\t\t\t\theight: auto !important;\n\t\t\t\tmin-height: 100%;\n\t\t\t}\n\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t\t/* Default background color in case zoom out mode background\n\t\t\t\tcolors the html element */\n\t\t\t\tbackground: white;\n\t\t\t}\n\t\t</style>\n\t\t${ styles }\n\t\t${ scripts }\n\t</head>\n\t<body>\n\t\t<script>document.currentScript.parentElement.remove()</script>\n\t</body>\n</html>`;\n\n\tconst [ src, cleanup ] = useMemo( () => {\n\t\tconst _src = URL.createObjectURL(\n\t\t\tnew window.Blob( [ html ], { type: 'text/html' } )\n\t\t);\n\t\treturn [ _src, () => URL.revokeObjectURL( _src ) ];\n\t}, [ html ] );\n\n\tuseEffect( () => cleanup, [ cleanup ] );\n\n\t// We need to counter the margin created by scaling the iframe. If the scale\n\t// is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the\n\t// top or bottom margin is 0.55 / 2 ((1 - scale) / 2).\n\tconst marginFromScaling = ( contentHeight * ( 1 - scale ) ) / 2;\n\n\tuseEffect( () => {\n\t\tif ( iframeDocument && scale !== 1 ) {\n\t\t\tiframeDocument.documentElement.style.transform = `scale( ${ scale } )`;\n\t\t\tiframeDocument.documentElement.style.marginTop = `${ frameSize }px`;\n\t\t\tiframeDocument.documentElement.style.marginBottom = `${\n\t\t\t\t-marginFromScaling * 2 + frameSize\n\t\t\t}px`;\n\t\t\treturn () => {\n\t\t\t\tiframeDocument.documentElement.style.transform = '';\n\t\t\t\tiframeDocument.documentElement.style.marginTop = '';\n\t\t\t\tiframeDocument.documentElement.style.marginBottom = '';\n\t\t\t};\n\t\t}\n\t}, [ scale, frameSize, marginFromScaling, iframeDocument ] );\n\n\t// Make sure to not render the before and after focusable div elements in view\n\t// mode. They're only needed to capture focus in edit mode.\n\tconst shouldRenderFocusCaptureElements = tabIndex >= 0 && ! isPreviewMode;\n\n\treturn (\n\t\t<>\n\t\t\t{ shouldRenderFocusCaptureElements && before }\n\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\tborder: 0,\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: props.style?.height,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ title }\n\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\tif ( props.onKeyDown ) {\n\t\t\t\t\t\tprops.onKeyDown( event );\n\t\t\t\t\t}\n\t\t\t\t\t// If the event originates from inside the iframe, it means\n\t\t\t\t\t// it bubbled through the portal, but only with React\n\t\t\t\t\t// events. We need to to bubble native events as well,\n\t\t\t\t\t// though by doing so we also trigger another React event,\n\t\t\t\t\t// so we need to stop the propagation of this event to avoid\n\t\t\t\t\t// duplication.\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.currentTarget.ownerDocument !==\n\t\t\t\t\t\tevent.target.ownerDocument\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tbubbleEvent(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\twindow.KeyboardEvent,\n\t\t\t\t\t\t\tevent.currentTarget\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\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t// We want to prevent React events from bubbling throught the iframe\n\t\t\t\t\t\t// we bubble these manually.\n\t\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t</body>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ shouldRenderFocusCaptureElements && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"],"mappings":"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"}
@@ -40,6 +40,7 @@ var _exportNames = {
40
40
  MediaUploadProgress: true,
41
41
  MEDIA_UPLOAD_STATE_UPLOADING: true,
42
42
  MEDIA_UPLOAD_STATE_SUCCEEDED: true,
43
+ MEDIA_UPLOAD_STATE_PAUSED: true,
43
44
  MEDIA_UPLOAD_STATE_FAILED: true,
44
45
  MEDIA_UPLOAD_STATE_RESET: true,
45
46
  BlockMediaUpdateProgress: true,
@@ -320,6 +321,12 @@ Object.defineProperty(exports, "MEDIA_UPLOAD_STATE_FAILED", {
320
321
  return _constants2.MEDIA_UPLOAD_STATE_FAILED;
321
322
  }
322
323
  });
324
+ Object.defineProperty(exports, "MEDIA_UPLOAD_STATE_PAUSED", {
325
+ enumerable: true,
326
+ get: function () {
327
+ return _constants2.MEDIA_UPLOAD_STATE_PAUSED;
328
+ }
329
+ });
323
330
  Object.defineProperty(exports, "MEDIA_UPLOAD_STATE_RESET", {
324
331
  enumerable: true,
325
332
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"names":["_blockAlignmentControl","require","_blockContext","_blockControls","_interopRequireWildcard","_blockEdit","_blockIcon","_interopRequireDefault","_blockVerticalAlignmentControl","_colors","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_gradients","_fontSizes","_alignmentControl","_innerBlocks","_inspectorControls","_justifyContentControl","_lineHeightControl","_blockHeadingLevelDropdown","_plainText","_richText","_mediaReplaceFlow","_mediaPlaceholder","_mediaUpload","_constants","_mediaUploadProgress","_constants2","_blockMediaUpdateProgress","_urlInput","_blockInvalidWarning","_blockCaption","_caption","_panelColorSettings","_panelColorGradientSettings","_useSettings","_recursionProvider","_warning","_contrastChecker","_useMultipleOriginColorsAndGradients","_unsupportedBlockDetails","_blockSettings","_videoPlayer","_utils","_blockList","_blockMover","_blockToolbar","_blockVariationPicker","_blockStyles","_defaultBlockAppender","_editorStyles","_inserter","_inserterButton","_useBlockProps","_floatingToolbar","_provider","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set"],"sources":["@wordpress/block-editor/src/components/index.native.js"],"sourcesContent":["// Block Creation Components.\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as PlainText } from './plain-text';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n} from './media-upload/constants';\nexport { default as MediaUploadProgress } from './media-upload-progress';\nexport {\n\tMEDIA_UPLOAD_STATE_UPLOADING,\n\tMEDIA_UPLOAD_STATE_SUCCEEDED,\n\tMEDIA_UPLOAD_STATE_FAILED,\n\tMEDIA_UPLOAD_STATE_RESET,\n} from './media-upload-progress/constants';\nexport { default as BlockMediaUpdateProgress } from './block-media-update-progress';\nexport { default as URLInput } from './url-input';\nexport { default as BlockInvalidWarning } from './block-list/block-invalid-warning';\nexport { default as BlockCaption } from './block-caption';\nexport { default as Caption } from './caption';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { useSettings, default as useSetting } from './use-settings';\nexport {\n\tRecursionProvider,\n\tDeprecatedExperimentalRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion,\n\tDeprecatedExperimentalUseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as Warning } from './warning';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as useMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as UnsupportedBlockDetails } from './unsupported-block-details';\n\nexport {\n\tBottomSheetSettings,\n\tBlockSettingsButton,\n\tblockSettingsScreens,\n} from './block-settings';\nexport { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player';\n\nexport {\n\tgetSpacingPresetCssVar,\n\tgetCustomValueFromPreset,\n\tisValueSpacingPreset,\n} from './spacing-sizes-control/utils';\n// Content Related Components.\nexport { default as BlockList } from './block-list';\nexport { default as BlockMover } from './block-mover';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockVariationPicker } from './block-variation-picker';\nexport { default as BlockStyles } from './block-styles';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as InserterButton } from './inserter-button';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as FloatingToolbar } from './floating-toolbar';\n\n// State Related Components.\nexport { default as BlockEditorProvider } from './provider';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_blockAlignmentControl","require","_blockContext","_blockControls","_interopRequireWildcard","_blockEdit","_blockIcon","_interopRequireDefault","_blockVerticalAlignmentControl","_colors","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_gradients","_fontSizes","_alignmentControl","_innerBlocks","_inspectorControls","_justifyContentControl","_lineHeightControl","_blockHeadingLevelDropdown","_plainText","_richText","_mediaReplaceFlow","_mediaPlaceholder","_mediaUpload","_constants","_mediaUploadProgress","_constants2","_blockMediaUpdateProgress","_urlInput","_blockInvalidWarning","_blockCaption","_caption","_panelColorSettings","_panelColorGradientSettings","_useSettings","_recursionProvider","_warning","_contrastChecker","_useMultipleOriginColorsAndGradients","_unsupportedBlockDetails","_blockSettings","_videoPlayer","_utils","_blockList","_blockMover","_blockToolbar","_blockVariationPicker","_blockStyles","_defaultBlockAppender","_editorStyles","_inserter","_inserterButton","_useBlockProps","_floatingToolbar","_provider","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set"],"sources":["@wordpress/block-editor/src/components/index.native.js"],"sourcesContent":["// Block Creation Components.\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as PlainText } from './plain-text';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n} from './media-upload/constants';\nexport { default as MediaUploadProgress } from './media-upload-progress';\nexport {\n\tMEDIA_UPLOAD_STATE_UPLOADING,\n\tMEDIA_UPLOAD_STATE_SUCCEEDED,\n\tMEDIA_UPLOAD_STATE_PAUSED,\n\tMEDIA_UPLOAD_STATE_FAILED,\n\tMEDIA_UPLOAD_STATE_RESET,\n} from './media-upload-progress/constants';\nexport { default as BlockMediaUpdateProgress } from './block-media-update-progress';\nexport { default as URLInput } from './url-input';\nexport { default as BlockInvalidWarning } from './block-list/block-invalid-warning';\nexport { default as BlockCaption } from './block-caption';\nexport { default as Caption } from './caption';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { useSettings, default as useSetting } from './use-settings';\nexport {\n\tRecursionProvider,\n\tDeprecatedExperimentalRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion,\n\tDeprecatedExperimentalUseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as Warning } from './warning';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as useMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as UnsupportedBlockDetails } from './unsupported-block-details';\n\nexport {\n\tBottomSheetSettings,\n\tBlockSettingsButton,\n\tblockSettingsScreens,\n} from './block-settings';\nexport { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player';\n\nexport {\n\tgetSpacingPresetCssVar,\n\tgetCustomValueFromPreset,\n\tisValueSpacingPreset,\n} from './spacing-sizes-control/utils';\n// Content Related Components.\nexport { default as BlockList } from './block-list';\nexport { default as BlockMover } from './block-mover';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockVariationPicker } from './block-variation-picker';\nexport { default as BlockStyles } from './block-styles';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as InserterButton } from './inserter-button';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as FloatingToolbar } from './floating-toolbar';\n\n// State Related Components.\nexport { default as BlockEditorProvider } from './provider';\n"],"mappings":"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"}
@@ -43,11 +43,11 @@ function useShallowMemo(value) {
43
43
  * in inner blocks.
44
44
  * @param {string[]} prioritizedInserterBlocks Block names and/or block variations to be prioritized in the inserter, in the format {blockName}/{variationName}.
45
45
  * @param {?WPDirectInsertBlock} defaultBlock The default block to insert: [ blockName, { blockAttributes } ].
46
- * @param {?Function|boolean} directInsert If a default block should be inserted directly by the appender.
46
+ * @param {?boolean} directInsert If a default block should be inserted directly by the appender.
47
47
  *
48
48
  * @param {?WPDirectInsertBlock} __experimentalDefaultBlock A deprecated prop for the default block to insert: [ blockName, { blockAttributes } ]. Use `defaultBlock` instead.
49
49
  *
50
- * @param {?Function|boolean} __experimentalDirectInsert A deprecated prop for whether a default block should be inserted directly by the appender. Use `directInsert` instead.
50
+ * @param {?boolean} __experimentalDirectInsert A deprecated prop for whether a default block should be inserted directly by the appender. Use `directInsert` instead.
51
51
  *
52
52
  * @param {string} [templateLock] The template lock specified for the inner
53
53
  * blocks component. (e.g. "all")
@@ -120,6 +120,12 @@ function useNestedSettingsUpdate(clientId, parentLock, allowedBlocks, prioritize
120
120
  if (directInsert !== undefined) {
121
121
  newSettings.directInsert = directInsert;
122
122
  }
123
+ if (newSettings.directInsert !== undefined && typeof newSettings.directInsert !== 'boolean') {
124
+ (0, _deprecated.default)('Using `Function` as a `directInsert` argument', {
125
+ alternative: '`boolean` values',
126
+ since: '6.5'
127
+ });
128
+ }
123
129
 
124
130
  // Batch updates to block list settings to avoid triggering cascading renders
125
131
  // for each container block included in a tree and optimize initial render.