@wordpress/block-editor 13.3.0 → 14.0.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 (554) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +11 -5
  3. package/build/components/alignment-control/ui.js +2 -2
  4. package/build/components/alignment-control/ui.js.map +1 -1
  5. package/build/components/block-alignment-control/ui.js +1 -1
  6. package/build/components/block-alignment-control/ui.js.map +1 -1
  7. package/build/components/block-alignment-control/ui.native.js +1 -1
  8. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  9. package/build/components/block-breadcrumb/index.js +3 -1
  10. package/build/components/block-breadcrumb/index.js.map +1 -1
  11. package/build/components/block-draggable/index.js +2 -2
  12. package/build/components/block-draggable/index.js.map +1 -1
  13. package/build/components/block-inspector/index.js +6 -3
  14. package/build/components/block-inspector/index.js.map +1 -1
  15. package/build/components/block-list/use-block-props/index.js +3 -1
  16. package/build/components/block-list/use-block-props/index.js.map +1 -1
  17. package/build/components/block-list/use-block-props/use-block-refs.js +26 -27
  18. package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  19. package/build/components/block-list/use-block-props/use-is-hovered.js +25 -9
  20. package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  21. package/build/components/block-list/use-in-between-inserter.js +3 -2
  22. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  23. package/build/components/block-lock/modal.js +2 -0
  24. package/build/components/block-lock/modal.js.map +1 -1
  25. package/build/components/block-mover/index.js +1 -2
  26. package/build/components/block-mover/index.js.map +1 -1
  27. package/build/components/block-popover/cover.js +1 -1
  28. package/build/components/block-popover/cover.js.map +1 -1
  29. package/build/components/block-popover/inbetween.js +2 -2
  30. package/build/components/block-popover/inbetween.js.map +1 -1
  31. package/build/components/block-popover/index.js +2 -2
  32. package/build/components/block-popover/index.js.map +1 -1
  33. package/build/components/block-removal-warning-modal/index.js +2 -0
  34. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  35. package/build/components/block-switcher/index.js +1 -1
  36. package/build/components/block-switcher/index.js.map +1 -1
  37. package/build/components/block-switcher/pattern-transformations-menu.js +11 -12
  38. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  39. package/build/components/block-switcher/preview-block-popover.js +20 -17
  40. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  41. package/build/components/block-toolbar/shuffle.js +5 -2
  42. package/build/components/block-toolbar/shuffle.js.map +1 -1
  43. package/build/components/block-tools/block-selection-button.js +1 -2
  44. package/build/components/block-tools/block-selection-button.js.map +1 -1
  45. package/build/components/block-tools/index.js +1 -1
  46. package/build/components/block-tools/index.js.map +1 -1
  47. package/build/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  48. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  49. package/build/components/block-tools/use-show-block-tools.js +7 -8
  50. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  51. package/build/components/block-tools/zoom-out-mode-inserter-button.js +45 -0
  52. package/build/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -0
  53. package/build/components/block-tools/zoom-out-mode-inserters.js +35 -36
  54. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  55. package/build/components/block-tools/zoom-out-popover.js +2 -1
  56. package/build/components/block-tools/zoom-out-popover.js.map +1 -1
  57. package/build/components/block-tools/zoom-out-toolbar.js +1 -2
  58. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  59. package/build/components/child-layout-control/index.js +3 -1
  60. package/build/components/child-layout-control/index.js.map +1 -1
  61. package/build/components/date-format-picker/index.js +2 -11
  62. package/build/components/date-format-picker/index.js.map +1 -1
  63. package/build/components/default-block-appender/index.js +7 -4
  64. package/build/components/default-block-appender/index.js.map +1 -1
  65. package/build/components/dimensions-tool/scale-tool.js +1 -0
  66. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  67. package/build/components/font-appearance-control/index.js +2 -7
  68. package/build/components/font-appearance-control/index.js.map +1 -1
  69. package/build/components/font-family/index.js +12 -0
  70. package/build/components/font-family/index.js.map +1 -1
  71. package/build/components/global-styles/background-panel.js +63 -52
  72. package/build/components/global-styles/background-panel.js.map +1 -1
  73. package/build/components/global-styles/hooks.js +5 -1
  74. package/build/components/global-styles/hooks.js.map +1 -1
  75. package/build/components/global-styles/image-settings-panel.js +1 -0
  76. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  77. package/build/components/global-styles/theme-file-uri-utils.js +0 -59
  78. package/build/components/global-styles/theme-file-uri-utils.js.map +1 -1
  79. package/build/components/global-styles/typography-panel.js +26 -44
  80. package/build/components/global-styles/typography-panel.js.map +1 -1
  81. package/build/components/global-styles/typography-utils.js +78 -7
  82. package/build/components/global-styles/typography-utils.js.map +1 -1
  83. package/build/components/global-styles/use-global-styles-output.js +82 -44
  84. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  85. package/build/components/global-styles/utils.js +96 -0
  86. package/build/components/global-styles/utils.js.map +1 -1
  87. package/build/components/grid/grid-item-movers.js +93 -44
  88. package/build/components/grid/grid-item-movers.js.map +1 -1
  89. package/build/components/grid/grid-item-resizer.js +14 -15
  90. package/build/components/grid/grid-item-resizer.js.map +1 -1
  91. package/build/components/grid/grid-visualizer.js +2 -2
  92. package/build/components/grid/grid-visualizer.js.map +1 -1
  93. package/build/components/grid/use-grid-layout-sync.js +93 -45
  94. package/build/components/grid/use-grid-layout-sync.js.map +1 -1
  95. package/build/components/iframe/index.js +4 -8
  96. package/build/components/iframe/index.js.map +1 -1
  97. package/build/components/index.js +1 -9
  98. package/build/components/index.js.map +1 -1
  99. package/build/components/inner-blocks/index.js +1 -1
  100. package/build/components/inner-blocks/index.js.map +1 -1
  101. package/build/components/inserter/block-patterns-tab/patterns-filter.js +20 -23
  102. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  103. package/build/components/inserter/category-tabs/index.js +29 -2
  104. package/build/components/inserter/category-tabs/index.js.map +1 -1
  105. package/build/components/inserter/media-tab/media-panel.js +1 -0
  106. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  107. package/build/components/inserter/menu.js +3 -3
  108. package/build/components/inserter/menu.js.map +1 -1
  109. package/build/components/inserter/preview-panel.js +20 -3
  110. package/build/components/inserter/preview-panel.js.map +1 -1
  111. package/build/components/inserter-draggable-blocks/index.js +10 -3
  112. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  113. package/build/components/inspector-controls-tabs/settings-tab.js +1 -2
  114. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  115. package/build/components/line-height-control/index.js +0 -15
  116. package/build/components/line-height-control/index.js.map +1 -1
  117. package/build/components/link-control/search-input.js +0 -1
  118. package/build/components/link-control/search-input.js.map +1 -1
  119. package/build/components/list-view/block-select-button.js +2 -6
  120. package/build/components/list-view/block-select-button.js.map +1 -1
  121. package/build/components/list-view/block.js +2 -2
  122. package/build/components/list-view/block.js.map +1 -1
  123. package/build/components/list-view/utils.js +3 -1
  124. package/build/components/list-view/utils.js.map +1 -1
  125. package/build/components/media-replace-flow/index.js +3 -1
  126. package/build/components/media-replace-flow/index.js.map +1 -1
  127. package/build/components/resolution-tool/index.js +1 -0
  128. package/build/components/resolution-tool/index.js.map +1 -1
  129. package/build/components/rich-text/format-toolbar/index.js +1 -1
  130. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  131. package/build/components/rich-text/index.js +1 -1
  132. package/build/components/rich-text/index.js.map +1 -1
  133. package/build/components/skip-to-selected-block/index.js +4 -2
  134. package/build/components/skip-to-selected-block/index.js.map +1 -1
  135. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -8
  136. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  137. package/build/components/url-input/button.js +0 -1
  138. package/build/components/url-input/button.js.map +1 -1
  139. package/build/components/url-input/index.js +1 -11
  140. package/build/components/url-input/index.js.map +1 -1
  141. package/build/components/url-popover/image-url-input-ui.js +3 -3
  142. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  143. package/build/components/url-popover/link-editor.js +0 -1
  144. package/build/components/url-popover/link-editor.js.map +1 -1
  145. package/build/components/use-block-drop-zone/index.js +30 -4
  146. package/build/components/use-block-drop-zone/index.js.map +1 -1
  147. package/build/components/use-on-block-drop/index.js +3 -6
  148. package/build/components/use-on-block-drop/index.js.map +1 -1
  149. package/build/components/use-resize-canvas/index.js +1 -3
  150. package/build/components/use-resize-canvas/index.js.map +1 -1
  151. package/build/components/use-settings/index.js +2 -1
  152. package/build/components/use-settings/index.js.map +1 -1
  153. package/build/hooks/block-bindings.js +248 -36
  154. package/build/hooks/block-bindings.js.map +1 -1
  155. package/build/hooks/block-hooks.js +1 -0
  156. package/build/hooks/block-hooks.js.map +1 -1
  157. package/build/hooks/block-style-variation.js +2 -2
  158. package/build/hooks/block-style-variation.js.map +1 -1
  159. package/build/hooks/contrast-checker.js +6 -6
  160. package/build/hooks/contrast-checker.js.map +1 -1
  161. package/build/hooks/duotone.js +3 -3
  162. package/build/hooks/duotone.js.map +1 -1
  163. package/build/hooks/grid-visualizer.js +5 -8
  164. package/build/hooks/grid-visualizer.js.map +1 -1
  165. package/build/hooks/index.js +7 -1
  166. package/build/hooks/index.js.map +1 -1
  167. package/build/hooks/layout-child.js +9 -2
  168. package/build/hooks/layout-child.js.map +1 -1
  169. package/build/hooks/line-height.js +0 -1
  170. package/build/hooks/line-height.js.map +1 -1
  171. package/build/hooks/position.js +3 -7
  172. package/build/hooks/position.js.map +1 -1
  173. package/build/hooks/spacing-visualizer.js +1 -1
  174. package/build/hooks/spacing-visualizer.js.map +1 -1
  175. package/build/hooks/use-bindings-attributes.js +85 -50
  176. package/build/hooks/use-bindings-attributes.js.map +1 -1
  177. package/build/hooks/use-zoom-out.js +1 -1
  178. package/build/hooks/use-zoom-out.js.map +1 -1
  179. package/build/hooks/utils.js +20 -0
  180. package/build/hooks/utils.js.map +1 -1
  181. package/build/index.js +7 -0
  182. package/build/index.js.map +1 -1
  183. package/build/layouts/constrained.js +6 -2
  184. package/build/layouts/constrained.js.map +1 -1
  185. package/build/layouts/grid.js +2 -0
  186. package/build/layouts/grid.js.map +1 -1
  187. package/build/private-apis.js +0 -4
  188. package/build/private-apis.js.map +1 -1
  189. package/build/store/actions.js +27 -2
  190. package/build/store/actions.js.map +1 -1
  191. package/build/store/reducer.js +19 -1
  192. package/build/store/reducer.js.map +1 -1
  193. package/build/store/selectors.js +17 -5
  194. package/build/store/selectors.js.map +1 -1
  195. package/build/utils/get-editor-region.js +1 -1
  196. package/build/utils/get-editor-region.js.map +1 -1
  197. package/build/utils/get-px-from-css-unit.js +1 -1
  198. package/build/utils/get-px-from-css-unit.js.map +1 -1
  199. package/build-module/components/alignment-control/ui.js +2 -2
  200. package/build-module/components/alignment-control/ui.js.map +1 -1
  201. package/build-module/components/block-alignment-control/ui.js +1 -1
  202. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  203. package/build-module/components/block-alignment-control/ui.native.js +1 -1
  204. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  205. package/build-module/components/block-breadcrumb/index.js +4 -2
  206. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  207. package/build-module/components/block-draggable/index.js +3 -3
  208. package/build-module/components/block-draggable/index.js.map +1 -1
  209. package/build-module/components/block-inspector/index.js +6 -3
  210. package/build-module/components/block-inspector/index.js.map +1 -1
  211. package/build-module/components/block-list/use-block-props/index.js +3 -1
  212. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  213. package/build-module/components/block-list/use-block-props/use-block-refs.js +27 -30
  214. package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  215. package/build-module/components/block-list/use-block-props/use-is-hovered.js +26 -9
  216. package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  217. package/build-module/components/block-list/use-in-between-inserter.js +3 -2
  218. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  219. package/build-module/components/block-lock/modal.js +2 -0
  220. package/build-module/components/block-lock/modal.js.map +1 -1
  221. package/build-module/components/block-mover/index.js +1 -2
  222. package/build-module/components/block-mover/index.js.map +1 -1
  223. package/build-module/components/block-popover/cover.js +1 -1
  224. package/build-module/components/block-popover/cover.js.map +1 -1
  225. package/build-module/components/block-popover/inbetween.js +1 -1
  226. package/build-module/components/block-popover/inbetween.js.map +1 -1
  227. package/build-module/components/block-popover/index.js +1 -1
  228. package/build-module/components/block-popover/index.js.map +1 -1
  229. package/build-module/components/block-removal-warning-modal/index.js +2 -0
  230. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  231. package/build-module/components/block-switcher/index.js +1 -1
  232. package/build-module/components/block-switcher/index.js.map +1 -1
  233. package/build-module/components/block-switcher/pattern-transformations-menu.js +12 -13
  234. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  235. package/build-module/components/block-switcher/preview-block-popover.js +20 -17
  236. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  237. package/build-module/components/block-toolbar/shuffle.js +5 -2
  238. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  239. package/build-module/components/block-tools/block-selection-button.js +1 -2
  240. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  241. package/build-module/components/block-tools/index.js +1 -1
  242. package/build-module/components/block-tools/index.js.map +1 -1
  243. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  244. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  245. package/build-module/components/block-tools/use-show-block-tools.js +7 -8
  246. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  247. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js +37 -0
  248. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -0
  249. package/build-module/components/block-tools/zoom-out-mode-inserters.js +37 -38
  250. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  251. package/build-module/components/block-tools/zoom-out-popover.js +2 -1
  252. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
  253. package/build-module/components/block-tools/zoom-out-toolbar.js +1 -2
  254. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  255. package/build-module/components/child-layout-control/index.js +3 -1
  256. package/build-module/components/child-layout-control/index.js.map +1 -1
  257. package/build-module/components/date-format-picker/index.js +4 -12
  258. package/build-module/components/date-format-picker/index.js.map +1 -1
  259. package/build-module/components/default-block-appender/index.js +7 -4
  260. package/build-module/components/default-block-appender/index.js.map +1 -1
  261. package/build-module/components/dimensions-tool/scale-tool.js +1 -0
  262. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  263. package/build-module/components/font-appearance-control/index.js +3 -6
  264. package/build-module/components/font-appearance-control/index.js.map +1 -1
  265. package/build-module/components/font-family/index.js +11 -0
  266. package/build-module/components/font-family/index.js.map +1 -1
  267. package/build-module/components/global-styles/background-panel.js +63 -52
  268. package/build-module/components/global-styles/background-panel.js.map +1 -1
  269. package/build-module/components/global-styles/hooks.js +5 -1
  270. package/build-module/components/global-styles/hooks.js.map +1 -1
  271. package/build-module/components/global-styles/image-settings-panel.js +1 -0
  272. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  273. package/build-module/components/global-styles/theme-file-uri-utils.js +0 -58
  274. package/build-module/components/global-styles/theme-file-uri-utils.js.map +1 -1
  275. package/build-module/components/global-styles/typography-panel.js +27 -45
  276. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  277. package/build-module/components/global-styles/typography-utils.js +76 -7
  278. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  279. package/build-module/components/global-styles/use-global-styles-output.js +81 -43
  280. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  281. package/build-module/components/global-styles/utils.js +92 -0
  282. package/build-module/components/global-styles/utils.js.map +1 -1
  283. package/build-module/components/grid/grid-item-movers.js +96 -46
  284. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  285. package/build-module/components/grid/grid-item-resizer.js +14 -15
  286. package/build-module/components/grid/grid-item-resizer.js.map +1 -1
  287. package/build-module/components/grid/grid-visualizer.js +2 -2
  288. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  289. package/build-module/components/grid/use-grid-layout-sync.js +94 -46
  290. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
  291. package/build-module/components/iframe/index.js +4 -8
  292. package/build-module/components/iframe/index.js.map +1 -1
  293. package/build-module/components/index.js +0 -5
  294. package/build-module/components/index.js.map +1 -1
  295. package/build-module/components/inner-blocks/index.js +1 -1
  296. package/build-module/components/inner-blocks/index.js.map +1 -1
  297. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +20 -23
  298. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  299. package/build-module/components/inserter/category-tabs/index.js +30 -3
  300. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  301. package/build-module/components/inserter/media-tab/media-panel.js +1 -0
  302. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  303. package/build-module/components/inserter/menu.js +3 -3
  304. package/build-module/components/inserter/menu.js.map +1 -1
  305. package/build-module/components/inserter/preview-panel.js +20 -3
  306. package/build-module/components/inserter/preview-panel.js.map +1 -1
  307. package/build-module/components/inserter-draggable-blocks/index.js +10 -3
  308. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  309. package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -2
  310. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  311. package/build-module/components/line-height-control/index.js +0 -14
  312. package/build-module/components/line-height-control/index.js.map +1 -1
  313. package/build-module/components/link-control/search-input.js +0 -1
  314. package/build-module/components/link-control/search-input.js.map +1 -1
  315. package/build-module/components/list-view/block-select-button.js +3 -7
  316. package/build-module/components/list-view/block-select-button.js.map +1 -1
  317. package/build-module/components/list-view/block.js +2 -2
  318. package/build-module/components/list-view/block.js.map +1 -1
  319. package/build-module/components/list-view/utils.js +3 -1
  320. package/build-module/components/list-view/utils.js.map +1 -1
  321. package/build-module/components/media-replace-flow/index.js +3 -1
  322. package/build-module/components/media-replace-flow/index.js.map +1 -1
  323. package/build-module/components/resolution-tool/index.js +1 -0
  324. package/build-module/components/resolution-tool/index.js.map +1 -1
  325. package/build-module/components/rich-text/format-toolbar/index.js +1 -1
  326. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  327. package/build-module/components/rich-text/index.js +1 -1
  328. package/build-module/components/rich-text/index.js.map +1 -1
  329. package/build-module/components/skip-to-selected-block/index.js +5 -3
  330. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  331. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -8
  332. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  333. package/build-module/components/url-input/button.js +0 -1
  334. package/build-module/components/url-input/button.js.map +1 -1
  335. package/build-module/components/url-input/index.js +1 -11
  336. package/build-module/components/url-input/index.js.map +1 -1
  337. package/build-module/components/url-popover/image-url-input-ui.js +3 -3
  338. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  339. package/build-module/components/url-popover/link-editor.js +0 -1
  340. package/build-module/components/url-popover/link-editor.js.map +1 -1
  341. package/build-module/components/use-block-drop-zone/index.js +30 -4
  342. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  343. package/build-module/components/use-on-block-drop/index.js +3 -6
  344. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  345. package/build-module/components/use-resize-canvas/index.js +1 -3
  346. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  347. package/build-module/components/use-settings/index.js +2 -1
  348. package/build-module/components/use-settings/index.js.map +1 -1
  349. package/build-module/hooks/block-bindings.js +253 -40
  350. package/build-module/hooks/block-bindings.js.map +1 -1
  351. package/build-module/hooks/block-hooks.js +1 -0
  352. package/build-module/hooks/block-hooks.js.map +1 -1
  353. package/build-module/hooks/block-style-variation.js +3 -3
  354. package/build-module/hooks/block-style-variation.js.map +1 -1
  355. package/build-module/hooks/contrast-checker.js +7 -7
  356. package/build-module/hooks/contrast-checker.js.map +1 -1
  357. package/build-module/hooks/duotone.js +4 -4
  358. package/build-module/hooks/duotone.js.map +1 -1
  359. package/build-module/hooks/grid-visualizer.js +5 -8
  360. package/build-module/hooks/grid-visualizer.js.map +1 -1
  361. package/build-module/hooks/index.js +2 -1
  362. package/build-module/hooks/index.js.map +1 -1
  363. package/build-module/hooks/layout-child.js +9 -2
  364. package/build-module/hooks/layout-child.js.map +1 -1
  365. package/build-module/hooks/line-height.js +0 -1
  366. package/build-module/hooks/line-height.js.map +1 -1
  367. package/build-module/hooks/position.js +3 -7
  368. package/build-module/hooks/position.js.map +1 -1
  369. package/build-module/hooks/spacing-visualizer.js +1 -1
  370. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  371. package/build-module/hooks/use-bindings-attributes.js +84 -51
  372. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  373. package/build-module/hooks/use-zoom-out.js +1 -1
  374. package/build-module/hooks/use-zoom-out.js.map +1 -1
  375. package/build-module/hooks/utils.js +19 -0
  376. package/build-module/hooks/utils.js.map +1 -1
  377. package/build-module/index.js +1 -1
  378. package/build-module/index.js.map +1 -1
  379. package/build-module/layouts/constrained.js +6 -2
  380. package/build-module/layouts/constrained.js.map +1 -1
  381. package/build-module/layouts/grid.js +2 -0
  382. package/build-module/layouts/grid.js.map +1 -1
  383. package/build-module/private-apis.js +1 -5
  384. package/build-module/private-apis.js.map +1 -1
  385. package/build-module/store/actions.js +24 -1
  386. package/build-module/store/actions.js.map +1 -1
  387. package/build-module/store/reducer.js +18 -1
  388. package/build-module/store/reducer.js.map +1 -1
  389. package/build-module/store/selectors.js +14 -4
  390. package/build-module/store/selectors.js.map +1 -1
  391. package/build-module/utils/get-editor-region.js +1 -1
  392. package/build-module/utils/get-editor-region.js.map +1 -1
  393. package/build-module/utils/get-px-from-css-unit.js +1 -1
  394. package/build-module/utils/get-px-from-css-unit.js.map +1 -1
  395. package/build-style/content-rtl.css +11 -18
  396. package/build-style/content.css +11 -18
  397. package/build-style/default-editor-styles-rtl.css +3 -0
  398. package/build-style/default-editor-styles.css +3 -0
  399. package/build-style/style-rtl.css +242 -136
  400. package/build-style/style.css +242 -136
  401. package/build-types/components/block-context/index.d.ts +2 -2
  402. package/build-types/components/block-context/index.d.ts.map +1 -1
  403. package/build-types/utils/dom.d.ts.map +1 -1
  404. package/package.json +31 -31
  405. package/src/autocompleters/style.scss +4 -0
  406. package/src/components/alignment-control/ui.js +2 -2
  407. package/src/components/block-alignment-control/ui.js +1 -1
  408. package/src/components/block-alignment-control/ui.native.js +1 -1
  409. package/src/components/block-breadcrumb/index.js +4 -2
  410. package/src/components/block-canvas/style.scss +1 -0
  411. package/src/components/block-context/README.md +4 -4
  412. package/src/components/block-draggable/index.js +3 -3
  413. package/src/components/block-inspector/index.js +8 -4
  414. package/src/components/block-list/content.scss +2 -16
  415. package/src/components/block-list/use-block-props/index.js +1 -1
  416. package/src/components/block-list/use-block-props/use-block-refs.js +30 -30
  417. package/src/components/block-list/use-block-props/use-is-hovered.js +26 -11
  418. package/src/components/block-list/use-in-between-inserter.js +5 -1
  419. package/src/components/block-lock/modal.js +10 -2
  420. package/src/components/block-lock/style.scss +4 -8
  421. package/src/components/block-mover/index.js +5 -2
  422. package/src/components/block-patterns-paging/style.scss +0 -23
  423. package/src/components/block-popover/cover.js +1 -1
  424. package/src/components/block-popover/inbetween.js +1 -1
  425. package/src/components/block-popover/index.js +1 -1
  426. package/src/components/block-removal-warning-modal/index.js +10 -2
  427. package/src/components/block-switcher/index.js +1 -1
  428. package/src/components/block-switcher/pattern-transformations-menu.js +17 -15
  429. package/src/components/block-switcher/preview-block-popover.js +20 -14
  430. package/src/components/block-switcher/style.scss +8 -17
  431. package/src/components/block-toolbar/shuffle.js +8 -1
  432. package/src/components/block-tools/block-selection-button.js +1 -2
  433. package/src/components/block-tools/index.js +5 -6
  434. package/src/components/block-tools/style.scss +8 -0
  435. package/src/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  436. package/src/components/block-tools/use-show-block-tools.js +12 -9
  437. package/src/components/block-tools/zoom-out-mode-inserter-button.js +47 -0
  438. package/src/components/block-tools/zoom-out-mode-inserters.js +48 -42
  439. package/src/components/block-tools/zoom-out-popover.js +1 -0
  440. package/src/components/block-tools/zoom-out-toolbar.js +1 -2
  441. package/src/components/button-block-appender/content.scss +1 -1
  442. package/src/components/child-layout-control/index.js +2 -0
  443. package/src/components/color-palette/test/__snapshots__/control.js.snap +2 -2
  444. package/src/components/colors-gradients/test/control.js +3 -2
  445. package/src/components/date-format-picker/index.js +2 -11
  446. package/src/components/default-block-appender/index.js +11 -4
  447. package/src/components/dimensions-tool/scale-tool.js +1 -0
  448. package/src/components/font-appearance-control/index.js +1 -5
  449. package/src/components/font-family/README.md +8 -0
  450. package/src/components/font-family/index.js +16 -0
  451. package/src/components/font-family/stories/index.story.js +54 -0
  452. package/src/components/global-styles/background-panel.js +90 -62
  453. package/src/components/global-styles/hooks.js +5 -1
  454. package/src/components/global-styles/image-settings-panel.js +1 -0
  455. package/src/components/global-styles/style.scss +11 -9
  456. package/src/components/global-styles/test/theme-file-uri-utils.js +1 -26
  457. package/src/components/global-styles/test/typography-utils.js +325 -0
  458. package/src/components/global-styles/test/use-global-styles-output.js +52 -5
  459. package/src/components/global-styles/test/utils.js +120 -0
  460. package/src/components/global-styles/theme-file-uri-utils.js +0 -59
  461. package/src/components/global-styles/typography-panel.js +36 -45
  462. package/src/components/global-styles/typography-utils.js +103 -7
  463. package/src/components/global-styles/use-global-styles-output.js +89 -50
  464. package/src/components/global-styles/utils.js +112 -0
  465. package/src/components/grid/grid-item-movers.js +141 -69
  466. package/src/components/grid/grid-item-resizer.js +11 -17
  467. package/src/components/grid/grid-visualizer.js +2 -2
  468. package/src/components/grid/style.scss +164 -0
  469. package/src/components/grid/use-grid-layout-sync.js +133 -40
  470. package/src/components/iframe/content.scss +3 -3
  471. package/src/components/iframe/index.js +3 -7
  472. package/src/components/index.js +0 -5
  473. package/src/components/inner-blocks/index.js +4 -1
  474. package/src/components/inserter/block-patterns-tab/patterns-filter.js +40 -44
  475. package/src/components/inserter/category-tabs/index.js +35 -2
  476. package/src/components/inserter/media-tab/media-panel.js +1 -0
  477. package/src/components/inserter/menu.js +3 -3
  478. package/src/components/inserter/preview-panel.js +27 -4
  479. package/src/components/inserter/style.scss +66 -47
  480. package/src/components/inserter-draggable-blocks/index.js +11 -3
  481. package/src/components/inspector-controls/README.md +5 -0
  482. package/src/components/inspector-controls-tabs/settings-tab.js +0 -2
  483. package/src/components/inspector-controls-tabs/style.scss +0 -21
  484. package/src/components/line-height-control/README.md +0 -8
  485. package/src/components/line-height-control/index.js +1 -21
  486. package/src/components/line-height-control/stories/index.story.js +0 -1
  487. package/src/components/line-height-control/test/index.js +1 -7
  488. package/src/components/link-control/search-input.js +0 -1
  489. package/src/components/list-view/block-select-button.js +3 -13
  490. package/src/components/list-view/block.js +10 -3
  491. package/src/components/list-view/style.scss +2 -1
  492. package/src/components/list-view/utils.js +13 -2
  493. package/src/components/media-replace-flow/README.md +7 -0
  494. package/src/components/media-replace-flow/index.js +3 -1
  495. package/src/components/resolution-tool/index.js +1 -0
  496. package/src/components/responsive-block-control/test/index.js +5 -1
  497. package/src/components/rich-text/format-toolbar/index.js +1 -1
  498. package/src/components/rich-text/index.js +1 -1
  499. package/src/components/skip-to-selected-block/index.js +5 -3
  500. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +6 -7
  501. package/src/components/tabbed-sidebar/style.scss +1 -19
  502. package/src/components/url-input/README.md +0 -5
  503. package/src/components/url-input/button.js +0 -1
  504. package/src/components/url-input/index.js +1 -15
  505. package/src/components/url-popover/image-url-input-ui.js +3 -3
  506. package/src/components/url-popover/link-editor.js +0 -1
  507. package/src/components/url-popover/style.scss +1 -0
  508. package/src/components/use-block-drop-zone/index.js +66 -14
  509. package/src/components/use-on-block-drop/index.js +1 -9
  510. package/src/components/use-resize-canvas/index.js +1 -3
  511. package/src/components/use-settings/index.js +2 -1
  512. package/src/hooks/block-bindings.js +303 -52
  513. package/src/hooks/block-bindings.scss +13 -2
  514. package/src/hooks/block-hooks.js +1 -0
  515. package/src/hooks/block-hooks.scss +1 -0
  516. package/src/hooks/block-style-variation.js +3 -3
  517. package/src/hooks/contrast-checker.js +7 -7
  518. package/src/hooks/duotone.js +4 -4
  519. package/src/hooks/grid-visualizer.js +5 -7
  520. package/src/hooks/index.js +2 -1
  521. package/src/hooks/layout-child.js +12 -3
  522. package/src/hooks/line-height.js +0 -1
  523. package/src/hooks/position.js +3 -13
  524. package/src/hooks/spacing-visualizer.js +1 -1
  525. package/src/hooks/use-bindings-attributes.js +93 -59
  526. package/src/hooks/use-editor-wrapper-styles.native.scss +1 -0
  527. package/src/hooks/use-zoom-out.js +1 -1
  528. package/src/hooks/utils.js +14 -1
  529. package/src/index.js +1 -0
  530. package/src/layouts/constrained.js +10 -2
  531. package/src/layouts/grid.js +2 -0
  532. package/src/private-apis.js +1 -8
  533. package/src/store/actions.js +28 -5
  534. package/src/store/reducer.js +18 -0
  535. package/src/store/selectors.js +14 -4
  536. package/src/style.scss +1 -1
  537. package/src/utils/get-editor-region.js +1 -1
  538. package/src/utils/get-px-from-css-unit.js +1 -1
  539. package/tsconfig.tsbuildinfo +1 -1
  540. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -30
  541. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +0 -1
  542. package/build/components/inserter/reusable-block-rename-hint.js +0 -71
  543. package/build/components/inserter/reusable-block-rename-hint.js.map +0 -1
  544. package/build/components/inspector-controls-tabs/settings-tab-hint.js +0 -53
  545. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +0 -1
  546. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -23
  547. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +0 -1
  548. package/build-module/components/inserter/reusable-block-rename-hint.js +0 -64
  549. package/build-module/components/inserter/reusable-block-rename-hint.js.map +0 -1
  550. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +0 -47
  551. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +0 -1
  552. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -25
  553. package/src/components/inserter/reusable-block-rename-hint.js +0 -69
  554. package/src/components/inspector-controls-tabs/settings-tab-hint.js +0 -52
@@ -2,60 +2,65 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useDispatch, useSelect } from '@wordpress/data';
5
- import { useEffect } from '@wordpress/element';
5
+ import { useEffect, useMemo } from '@wordpress/element';
6
+ import { usePrevious } from '@wordpress/compose';
6
7
 
7
8
  /**
8
9
  * Internal dependencies
9
10
  */
10
11
  import { store as blockEditorStore } from '../../store';
11
12
  import { GridRect } from './utils';
13
+ import { setImmutably } from '../../utils/object';
12
14
  export function useGridLayoutSync({
13
15
  clientId: gridClientId
14
16
  }) {
15
17
  const {
16
18
  gridLayout,
17
- blockOrder
19
+ blockOrder,
20
+ selectedBlockLayout
18
21
  } = useSelect(select => {
19
22
  var _getBlockAttributes$l;
20
23
  const {
21
24
  getBlockAttributes,
22
25
  getBlockOrder
23
26
  } = select(blockEditorStore);
27
+ const selectedBlock = select(blockEditorStore).getSelectedBlock();
24
28
  return {
25
29
  gridLayout: (_getBlockAttributes$l = getBlockAttributes(gridClientId).layout) !== null && _getBlockAttributes$l !== void 0 ? _getBlockAttributes$l : {},
26
- blockOrder: getBlockOrder(gridClientId)
30
+ blockOrder: getBlockOrder(gridClientId),
31
+ selectedBlockLayout: selectedBlock?.attributes.style?.layout
27
32
  };
28
33
  }, [gridClientId]);
29
34
  const {
30
- getBlockAttributes
35
+ getBlockAttributes,
36
+ getBlockRootClientId
31
37
  } = useSelect(blockEditorStore);
32
38
  const {
33
39
  updateBlockAttributes,
34
40
  __unstableMarkNextChangeAsNotPersistent
35
41
  } = useDispatch(blockEditorStore);
42
+ const selectedBlockRect = useMemo(() => selectedBlockLayout ? new GridRect(selectedBlockLayout) : null, [selectedBlockLayout]);
43
+ const previouslySelectedBlockRect = usePrevious(selectedBlockRect);
44
+ const previousIsManualPlacement = usePrevious(gridLayout.isManualPlacement);
45
+ const previousBlockOrder = usePrevious(blockOrder);
36
46
  useEffect(() => {
37
47
  const updates = {};
38
- const {
39
- columnCount,
40
- rowCount,
41
- isManualPlacement
42
- } = gridLayout;
43
- if (isManualPlacement) {
44
- const rects = [];
48
+ if (gridLayout.isManualPlacement) {
49
+ const occupiedRects = [];
45
50
 
46
51
  // Respect the position of blocks that already have a columnStart and rowStart value.
47
52
  for (const clientId of blockOrder) {
48
- const attributes = getBlockAttributes(clientId);
53
+ var _getBlockAttributes$s;
49
54
  const {
50
55
  columnStart,
51
56
  rowStart,
52
57
  columnSpan = 1,
53
58
  rowSpan = 1
54
- } = attributes.style?.layout || {};
59
+ } = (_getBlockAttributes$s = getBlockAttributes(clientId).style?.layout) !== null && _getBlockAttributes$s !== void 0 ? _getBlockAttributes$s : {};
55
60
  if (!columnStart || !rowStart) {
56
61
  continue;
57
62
  }
58
- rects.push(new GridRect({
63
+ occupiedRects.push(new GridRect({
59
64
  columnStart,
60
65
  rowStart,
61
66
  columnSpan,
@@ -65,18 +70,19 @@ export function useGridLayoutSync({
65
70
 
66
71
  // When in manual mode, ensure that every block has a columnStart and rowStart value.
67
72
  for (const clientId of blockOrder) {
73
+ var _attributes$style$lay;
68
74
  const attributes = getBlockAttributes(clientId);
69
75
  const {
70
76
  columnStart,
71
77
  rowStart,
72
78
  columnSpan = 1,
73
79
  rowSpan = 1
74
- } = attributes.style?.layout || {};
80
+ } = (_attributes$style$lay = attributes.style?.layout) !== null && _attributes$style$lay !== void 0 ? _attributes$style$lay : {};
75
81
  if (columnStart && rowStart) {
76
82
  continue;
77
83
  }
78
- const [newColumnStart, newRowStart] = getFirstEmptyCell(rects, columnCount, columnSpan, rowSpan);
79
- rects.push(new GridRect({
84
+ const [newColumnStart, newRowStart] = placeBlock(occupiedRects, gridLayout.columnCount, columnSpan, rowSpan, previouslySelectedBlockRect?.columnEnd, previouslySelectedBlockRect?.rowEnd);
85
+ occupiedRects.push(new GridRect({
80
86
  columnStart: newColumnStart,
81
87
  rowStart: newRowStart,
82
88
  columnSpan,
@@ -95,8 +101,8 @@ export function useGridLayoutSync({
95
101
  }
96
102
 
97
103
  // Ensure there's enough rows to fit all blocks.
98
- const bottomMostRow = Math.max(...rects.map(r => r.rowEnd));
99
- if (!rowCount || rowCount < bottomMostRow) {
104
+ const bottomMostRow = Math.max(...occupiedRects.map(r => r.rowEnd));
105
+ if (!gridLayout.rowCount || gridLayout.rowCount < bottomMostRow) {
100
106
  updates[gridClientId] = {
101
107
  layout: {
102
108
  ...gridLayout,
@@ -104,28 +110,61 @@ export function useGridLayoutSync({
104
110
  }
105
111
  };
106
112
  }
113
+
114
+ // Unset grid layout attributes for blocks removed from the grid.
115
+ for (const clientId of previousBlockOrder !== null && previousBlockOrder !== void 0 ? previousBlockOrder : []) {
116
+ if (!blockOrder.includes(clientId)) {
117
+ var _attributes$style$lay2;
118
+ const rootClientId = getBlockRootClientId(clientId);
119
+
120
+ // Block was removed from the editor, so nothing to do.
121
+ if (rootClientId === null) {
122
+ continue;
123
+ }
124
+
125
+ // Check if the block is being moved to another grid.
126
+ // If so, do nothing and let the new grid parent handle
127
+ // the attributes.
128
+ const rootAttributes = getBlockAttributes(rootClientId);
129
+ if (rootAttributes?.layout?.type === 'grid') {
130
+ continue;
131
+ }
132
+ const attributes = getBlockAttributes(clientId);
133
+ const {
134
+ columnStart,
135
+ rowStart,
136
+ columnSpan,
137
+ rowSpan,
138
+ ...layout
139
+ } = (_attributes$style$lay2 = attributes.style?.layout) !== null && _attributes$style$lay2 !== void 0 ? _attributes$style$lay2 : {};
140
+ if (columnStart || rowStart || columnSpan || rowSpan) {
141
+ const hasEmptyLayoutAttribute = Object.keys(layout).length === 0;
142
+ updates[clientId] = setImmutably(attributes, ['style', 'layout'], hasEmptyLayoutAttribute ? undefined : layout);
143
+ }
144
+ }
145
+ }
107
146
  } else {
108
- // When in auto mode, remove all of the columnStart and rowStart values.
109
- for (const clientId of blockOrder) {
110
- const attributes = getBlockAttributes(clientId);
111
- const {
112
- columnStart,
113
- rowStart,
114
- ...layout
115
- } = attributes.style?.layout || {};
116
- // Only update attributes if columnStart or rowStart are set.
117
- if (columnStart || rowStart) {
118
- updates[clientId] = {
119
- style: {
120
- ...attributes.style,
121
- layout
122
- }
123
- };
147
+ // Remove all of the columnStart and rowStart values
148
+ // when switching from manual to auto mode,
149
+ if (previousIsManualPlacement === true) {
150
+ for (const clientId of blockOrder) {
151
+ var _attributes$style$lay3;
152
+ const attributes = getBlockAttributes(clientId);
153
+ const {
154
+ columnStart,
155
+ rowStart,
156
+ ...layout
157
+ } = (_attributes$style$lay3 = attributes.style?.layout) !== null && _attributes$style$lay3 !== void 0 ? _attributes$style$lay3 : {};
158
+ // Only update attributes if columnStart or rowStart are set.
159
+ if (columnStart || rowStart) {
160
+ const hasEmptyLayoutAttribute = Object.keys(layout).length === 0;
161
+ updates[clientId] = setImmutably(attributes, ['style', 'layout'], hasEmptyLayoutAttribute ? undefined : layout);
162
+ }
124
163
  }
125
164
  }
126
165
 
127
166
  // Remove row styles in auto mode
128
- if (rowCount) {
167
+ if (gridLayout.rowCount) {
129
168
  updates[gridClientId] = {
130
169
  layout: {
131
170
  ...gridLayout,
@@ -140,20 +179,29 @@ export function useGridLayoutSync({
140
179
  }
141
180
  }, [
142
181
  // Actual deps to sync:
143
- gridClientId, gridLayout, blockOrder,
144
- // Needed for linter:
145
- __unstableMarkNextChangeAsNotPersistent, getBlockAttributes, updateBlockAttributes]);
182
+ gridClientId, gridLayout, previousBlockOrder, blockOrder, previouslySelectedBlockRect, previousIsManualPlacement,
183
+ // These won't change, but the linter thinks they might:
184
+ __unstableMarkNextChangeAsNotPersistent, getBlockAttributes, getBlockRootClientId, updateBlockAttributes]);
146
185
  }
147
- function getFirstEmptyCell(rects, columnCount, columnSpan = 1, rowSpan = 1) {
148
- for (let row = 1;; row++) {
149
- for (let column = 1; column <= columnCount; column++) {
150
- const rect = new GridRect({
186
+
187
+ /**
188
+ * @param {GridRect[]} occupiedRects
189
+ * @param {number} gridColumnCount
190
+ * @param {number} blockColumnSpan
191
+ * @param {number} blockRowSpan
192
+ * @param {number?} startColumn
193
+ * @param {number?} startRow
194
+ */
195
+ function placeBlock(occupiedRects, gridColumnCount, blockColumnSpan, blockRowSpan, startColumn = 1, startRow = 1) {
196
+ for (let row = startRow;; row++) {
197
+ for (let column = row === startRow ? startColumn : 1; column <= gridColumnCount; column++) {
198
+ const candidateRect = new GridRect({
151
199
  columnStart: column,
152
200
  rowStart: row,
153
- columnSpan,
154
- rowSpan
201
+ columnSpan: blockColumnSpan,
202
+ rowSpan: blockRowSpan
155
203
  });
156
- if (!rects.some(r => r.intersectsRect(rect))) {
204
+ if (!occupiedRects.some(r => r.intersectsRect(candidateRect))) {
157
205
  return [column, row];
158
206
  }
159
207
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useDispatch","useSelect","useEffect","store","blockEditorStore","GridRect","useGridLayoutSync","clientId","gridClientId","gridLayout","blockOrder","select","_getBlockAttributes$l","getBlockAttributes","getBlockOrder","layout","updateBlockAttributes","__unstableMarkNextChangeAsNotPersistent","updates","columnCount","rowCount","isManualPlacement","rects","attributes","columnStart","rowStart","columnSpan","rowSpan","style","push","newColumnStart","newRowStart","getFirstEmptyCell","bottomMostRow","Math","max","map","r","rowEnd","undefined","Object","keys","length","row","column","rect","some","intersectsRect"],"sources":["@wordpress/block-editor/src/components/grid/use-grid-layout-sync.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { GridRect } from './utils';\n\nexport function useGridLayoutSync( { clientId: gridClientId } ) {\n\tconst { gridLayout, blockOrder } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes, getBlockOrder } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tgridLayout: getBlockAttributes( gridClientId ).layout ?? {},\n\t\t\t\tblockOrder: getBlockOrder( gridClientId ),\n\t\t\t};\n\t\t},\n\t\t[ gridClientId ]\n\t);\n\n\tconst { getBlockAttributes } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tconst updates = {};\n\n\t\tconst { columnCount, rowCount, isManualPlacement } = gridLayout;\n\n\t\tif ( isManualPlacement ) {\n\t\t\tconst rects = [];\n\n\t\t\t// Respect the position of blocks that already have a columnStart and rowStart value.\n\t\t\tfor ( const clientId of blockOrder ) {\n\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\tconst {\n\t\t\t\t\tcolumnStart,\n\t\t\t\t\trowStart,\n\t\t\t\t\tcolumnSpan = 1,\n\t\t\t\t\trowSpan = 1,\n\t\t\t\t} = attributes.style?.layout || {};\n\t\t\t\tif ( ! columnStart || ! rowStart ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\trects.push(\n\t\t\t\t\tnew GridRect( {\n\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\trowStart,\n\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\trowSpan,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// When in manual mode, ensure that every block has a columnStart and rowStart value.\n\t\t\tfor ( const clientId of blockOrder ) {\n\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\tconst {\n\t\t\t\t\tcolumnStart,\n\t\t\t\t\trowStart,\n\t\t\t\t\tcolumnSpan = 1,\n\t\t\t\t\trowSpan = 1,\n\t\t\t\t} = attributes.style?.layout || {};\n\t\t\t\tif ( columnStart && rowStart ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst [ newColumnStart, newRowStart ] = getFirstEmptyCell(\n\t\t\t\t\trects,\n\t\t\t\t\tcolumnCount,\n\t\t\t\t\tcolumnSpan,\n\t\t\t\t\trowSpan\n\t\t\t\t);\n\t\t\t\trects.push(\n\t\t\t\t\tnew GridRect( {\n\t\t\t\t\t\tcolumnStart: newColumnStart,\n\t\t\t\t\t\trowStart: newRowStart,\n\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\trowSpan,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t\tupdates[ clientId ] = {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...attributes.style,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...attributes.style?.layout,\n\t\t\t\t\t\t\tcolumnStart: newColumnStart,\n\t\t\t\t\t\t\trowStart: newRowStart,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Ensure there's enough rows to fit all blocks.\n\t\t\tconst bottomMostRow = Math.max( ...rects.map( ( r ) => r.rowEnd ) );\n\t\t\tif ( ! rowCount || rowCount < bottomMostRow ) {\n\t\t\t\tupdates[ gridClientId ] = {\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...gridLayout,\n\t\t\t\t\t\trowCount: bottomMostRow,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t} else {\n\t\t\t// When in auto mode, remove all of the columnStart and rowStart values.\n\t\t\tfor ( const clientId of blockOrder ) {\n\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\tconst { columnStart, rowStart, ...layout } =\n\t\t\t\t\tattributes.style?.layout || {};\n\t\t\t\t// Only update attributes if columnStart or rowStart are set.\n\t\t\t\tif ( columnStart || rowStart ) {\n\t\t\t\t\tupdates[ clientId ] = {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...attributes.style,\n\t\t\t\t\t\t\tlayout,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove row styles in auto mode\n\t\t\tif ( rowCount ) {\n\t\t\t\tupdates[ gridClientId ] = {\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...gridLayout,\n\t\t\t\t\t\trowCount: undefined,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( Object.keys( updates ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes(\n\t\t\t\tObject.keys( updates ),\n\t\t\t\tupdates,\n\t\t\t\t/* uniqueByBlock: */ true\n\t\t\t);\n\t\t}\n\t}, [\n\t\t// Actual deps to sync:\n\t\tgridClientId,\n\t\tgridLayout,\n\t\tblockOrder,\n\t\t// Needed for linter:\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tgetBlockAttributes,\n\t\tupdateBlockAttributes,\n\t] );\n}\n\nfunction getFirstEmptyCell( rects, columnCount, columnSpan = 1, rowSpan = 1 ) {\n\tfor ( let row = 1; ; row++ ) {\n\t\tfor ( let column = 1; column <= columnCount; column++ ) {\n\t\t\tconst rect = new GridRect( {\n\t\t\t\tcolumnStart: column,\n\t\t\t\trowStart: row,\n\t\t\t\tcolumnSpan,\n\t\t\t\trowSpan,\n\t\t\t} );\n\t\t\tif ( ! rects.some( ( r ) => r.intersectsRect( rect ) ) ) {\n\t\t\t\treturn [ column, row ];\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useDispatch","useSelect","useEffect","useMemo","usePrevious","store","blockEditorStore","GridRect","setImmutably","useGridLayoutSync","clientId","gridClientId","gridLayout","blockOrder","selectedBlockLayout","select","_getBlockAttributes$l","getBlockAttributes","getBlockOrder","selectedBlock","getSelectedBlock","layout","attributes","style","getBlockRootClientId","updateBlockAttributes","__unstableMarkNextChangeAsNotPersistent","selectedBlockRect","previouslySelectedBlockRect","previousIsManualPlacement","isManualPlacement","previousBlockOrder","updates","occupiedRects","_getBlockAttributes$s","columnStart","rowStart","columnSpan","rowSpan","push","_attributes$style$lay","newColumnStart","newRowStart","placeBlock","columnCount","columnEnd","rowEnd","bottomMostRow","Math","max","map","r","rowCount","includes","_attributes$style$lay2","rootClientId","rootAttributes","type","hasEmptyLayoutAttribute","Object","keys","length","undefined","_attributes$style$lay3","gridColumnCount","blockColumnSpan","blockRowSpan","startColumn","startRow","row","column","candidateRect","some","intersectsRect"],"sources":["@wordpress/block-editor/src/components/grid/use-grid-layout-sync.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { GridRect } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nexport function useGridLayoutSync( { clientId: gridClientId } ) {\n\tconst { gridLayout, blockOrder, selectedBlockLayout } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes, getBlockOrder } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst selectedBlock = select( blockEditorStore ).getSelectedBlock();\n\t\t\treturn {\n\t\t\t\tgridLayout: getBlockAttributes( gridClientId ).layout ?? {},\n\t\t\t\tblockOrder: getBlockOrder( gridClientId ),\n\t\t\t\tselectedBlockLayout: selectedBlock?.attributes.style?.layout,\n\t\t\t};\n\t\t},\n\t\t[ gridClientId ]\n\t);\n\n\tconst { getBlockAttributes, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst selectedBlockRect = useMemo(\n\t\t() =>\n\t\t\tselectedBlockLayout ? new GridRect( selectedBlockLayout ) : null,\n\t\t[ selectedBlockLayout ]\n\t);\n\n\tconst previouslySelectedBlockRect = usePrevious( selectedBlockRect );\n\tconst previousIsManualPlacement = usePrevious(\n\t\tgridLayout.isManualPlacement\n\t);\n\tconst previousBlockOrder = usePrevious( blockOrder );\n\n\tuseEffect( () => {\n\t\tconst updates = {};\n\n\t\tif ( gridLayout.isManualPlacement ) {\n\t\t\tconst occupiedRects = [];\n\n\t\t\t// Respect the position of blocks that already have a columnStart and rowStart value.\n\t\t\tfor ( const clientId of blockOrder ) {\n\t\t\t\tconst {\n\t\t\t\t\tcolumnStart,\n\t\t\t\t\trowStart,\n\t\t\t\t\tcolumnSpan = 1,\n\t\t\t\t\trowSpan = 1,\n\t\t\t\t} = getBlockAttributes( clientId ).style?.layout ?? {};\n\t\t\t\tif ( ! columnStart || ! rowStart ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\toccupiedRects.push(\n\t\t\t\t\tnew GridRect( {\n\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\trowStart,\n\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\trowSpan,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// When in manual mode, ensure that every block has a columnStart and rowStart value.\n\t\t\tfor ( const clientId of blockOrder ) {\n\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\tconst {\n\t\t\t\t\tcolumnStart,\n\t\t\t\t\trowStart,\n\t\t\t\t\tcolumnSpan = 1,\n\t\t\t\t\trowSpan = 1,\n\t\t\t\t} = attributes.style?.layout ?? {};\n\t\t\t\tif ( columnStart && rowStart ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst [ newColumnStart, newRowStart ] = placeBlock(\n\t\t\t\t\toccupiedRects,\n\t\t\t\t\tgridLayout.columnCount,\n\t\t\t\t\tcolumnSpan,\n\t\t\t\t\trowSpan,\n\t\t\t\t\tpreviouslySelectedBlockRect?.columnEnd,\n\t\t\t\t\tpreviouslySelectedBlockRect?.rowEnd\n\t\t\t\t);\n\t\t\t\toccupiedRects.push(\n\t\t\t\t\tnew GridRect( {\n\t\t\t\t\t\tcolumnStart: newColumnStart,\n\t\t\t\t\t\trowStart: newRowStart,\n\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\trowSpan,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t\tupdates[ clientId ] = {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...attributes.style,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...attributes.style?.layout,\n\t\t\t\t\t\t\tcolumnStart: newColumnStart,\n\t\t\t\t\t\t\trowStart: newRowStart,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Ensure there's enough rows to fit all blocks.\n\t\t\tconst bottomMostRow = Math.max(\n\t\t\t\t...occupiedRects.map( ( r ) => r.rowEnd )\n\t\t\t);\n\t\t\tif (\n\t\t\t\t! gridLayout.rowCount ||\n\t\t\t\tgridLayout.rowCount < bottomMostRow\n\t\t\t) {\n\t\t\t\tupdates[ gridClientId ] = {\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...gridLayout,\n\t\t\t\t\t\trowCount: bottomMostRow,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Unset grid layout attributes for blocks removed from the grid.\n\t\t\tfor ( const clientId of previousBlockOrder ?? [] ) {\n\t\t\t\tif ( ! blockOrder.includes( clientId ) ) {\n\t\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\t\t\t// Block was removed from the editor, so nothing to do.\n\t\t\t\t\tif ( rootClientId === null ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Check if the block is being moved to another grid.\n\t\t\t\t\t// If so, do nothing and let the new grid parent handle\n\t\t\t\t\t// the attributes.\n\t\t\t\t\tconst rootAttributes = getBlockAttributes( rootClientId );\n\t\t\t\t\tif ( rootAttributes?.layout?.type === 'grid' ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\t\tconst {\n\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\trowStart,\n\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t...layout\n\t\t\t\t\t} = attributes.style?.layout ?? {};\n\n\t\t\t\t\tif ( columnStart || rowStart || columnSpan || rowSpan ) {\n\t\t\t\t\t\tconst hasEmptyLayoutAttribute =\n\t\t\t\t\t\t\tObject.keys( layout ).length === 0;\n\n\t\t\t\t\t\tupdates[ clientId ] = setImmutably(\n\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t[ 'style', 'layout' ],\n\t\t\t\t\t\t\thasEmptyLayoutAttribute ? undefined : layout\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} else {\n\t\t\t// Remove all of the columnStart and rowStart values\n\t\t\t// when switching from manual to auto mode,\n\t\t\tif ( previousIsManualPlacement === true ) {\n\t\t\t\tfor ( const clientId of blockOrder ) {\n\t\t\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\t\t\tconst { columnStart, rowStart, ...layout } =\n\t\t\t\t\t\tattributes.style?.layout ?? {};\n\t\t\t\t\t// Only update attributes if columnStart or rowStart are set.\n\t\t\t\t\tif ( columnStart || rowStart ) {\n\t\t\t\t\t\tconst hasEmptyLayoutAttribute =\n\t\t\t\t\t\t\tObject.keys( layout ).length === 0;\n\n\t\t\t\t\t\tupdates[ clientId ] = setImmutably(\n\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t[ 'style', 'layout' ],\n\t\t\t\t\t\t\thasEmptyLayoutAttribute ? undefined : layout\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove row styles in auto mode\n\t\t\tif ( gridLayout.rowCount ) {\n\t\t\t\tupdates[ gridClientId ] = {\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...gridLayout,\n\t\t\t\t\t\trowCount: undefined,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( Object.keys( updates ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes(\n\t\t\t\tObject.keys( updates ),\n\t\t\t\tupdates,\n\t\t\t\t/* uniqueByBlock: */ true\n\t\t\t);\n\t\t}\n\t}, [\n\t\t// Actual deps to sync:\n\t\tgridClientId,\n\t\tgridLayout,\n\t\tpreviousBlockOrder,\n\t\tblockOrder,\n\t\tpreviouslySelectedBlockRect,\n\t\tpreviousIsManualPlacement,\n\t\t// These won't change, but the linter thinks they might:\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tgetBlockAttributes,\n\t\tgetBlockRootClientId,\n\t\tupdateBlockAttributes,\n\t] );\n}\n\n/**\n * @param {GridRect[]} occupiedRects\n * @param {number} gridColumnCount\n * @param {number} blockColumnSpan\n * @param {number} blockRowSpan\n * @param {number?} startColumn\n * @param {number?} startRow\n */\nfunction placeBlock(\n\toccupiedRects,\n\tgridColumnCount,\n\tblockColumnSpan,\n\tblockRowSpan,\n\tstartColumn = 1,\n\tstartRow = 1\n) {\n\tfor ( let row = startRow; ; row++ ) {\n\t\tfor (\n\t\t\tlet column = row === startRow ? startColumn : 1;\n\t\t\tcolumn <= gridColumnCount;\n\t\t\tcolumn++\n\t\t) {\n\t\t\tconst candidateRect = new GridRect( {\n\t\t\t\tcolumnStart: column,\n\t\t\t\trowStart: row,\n\t\t\t\tcolumnSpan: blockColumnSpan,\n\t\t\t\trowSpan: blockRowSpan,\n\t\t\t} );\n\t\t\tif (\n\t\t\t\t! occupiedRects.some( ( r ) =>\n\t\t\t\t\tr.intersectsRect( candidateRect )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn [ column, row ];\n\t\t\t}\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -202,10 +202,8 @@ function Iframe({
202
202
  }, []);
203
203
  const isZoomedOut = scale !== 1;
204
204
  useEffect(() => {
205
- if (!isZoomedOut) {
206
- prevContainerWidth.current = containerWidth;
207
- }
208
- }, [containerWidth, isZoomedOut]);
205
+ prevContainerWidth.current = containerWidth;
206
+ }, [containerWidth]);
209
207
  const disabledRef = useDisabled({
210
208
  isDisabled: !readonly
211
209
  });
@@ -255,7 +253,7 @@ function Iframe({
255
253
  return;
256
254
  }
257
255
  iframeDocument.documentElement.classList.add('is-zoomed-out');
258
- const maxWidth = 800;
256
+ const maxWidth = 750;
259
257
  iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-scale', scale === 'default' ? Math.min(containerWidth, maxWidth) / prevContainerWidth.current : scale);
260
258
  iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-frame-size', typeof frameSize === 'number' ? `${frameSize}px` : frameSize);
261
259
  iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-content-height', `${contentHeight}px`);
@@ -280,10 +278,8 @@ function Iframe({
280
278
  children: [shouldRenderFocusCaptureElements && before, /*#__PURE__*/_jsx("iframe", {
281
279
  ...props,
282
280
  style: {
283
- border: 0,
284
281
  ...props.style,
285
- height: props.style?.height,
286
- transition: 'all .3s'
282
+ height: props.style?.height
287
283
  },
288
284
  ref: useMergeRefs([ref, setRef]),
289
285
  tabIndex: tabIndex
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useState","createPortal","forwardRef","useMemo","useEffect","useRef","__","useResizeObserver","useMergeRefs","useRefEffect","useDisabled","__experimentalStyleProvider","StyleProvider","useSelect","useBlockSelectionClearer","useWritingFlow","getCompatibilityStyles","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","bubbleEvent","event","Constructor","frame","init","key","contentDocument","defaultView","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","defaultPrevented","preventDefault","cancelled","dispatchEvent","useBubbleEvents","iframeDocument","frameElement","html","documentElement","eventTypes","handlers","name","prototype","Object","getPrototypeOf","constructorName","constructor","window","addEventListener","removeEventListener","Iframe","contentRef","children","tabIndex","scale","frameSize","readonly","forwardedRef","ref","title","props","resolvedAssets","isPreviewMode","select","getSettings","settings","__unstableResolvedAssets","__unstableIsPreviewMode","styles","scripts","setIframeDocument","prevContainerWidth","bodyClasses","setBodyClasses","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","containerResizeListener","width","containerWidth","setRef","node","_load","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","classList","add","Array","from","body","filter","startsWith","dir","compatStyle","getElementById","id","head","appendChild","cloneNode","console","warn","iframeWindowInnerHeight","setIframeWindowInnerHeight","iframeResizeRef","nodeWindow","innerHeight","onResize","windowInnerWidth","setWindowInnerWidth","windowResizeRef","innerWidth","isZoomedOut","current","disabledRef","isDisabled","bodyRef","src","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","maxWidth","style","setProperty","Math","min","remove","removeProperty","shouldRenderFocusCaptureElements","iframe","border","transition","onKeyDown","currentTarget","target","stopPropagation","nativeEvent","KeyboardEvent","className","document","IframeIfReady","isInitialised","__internalIsInitialized"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n\tuseRef,\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\treadonly,\n\tforwardedRef: ref,\n\ttitle = __( 'Editor canvas' ),\n\t...props\n} ) {\n\tconst { resolvedAssets, isPreviewMode } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = 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 prevContainerWidth = useRef();\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 [ containerResizeListener, { width: containerWidth } ] =\n\t\tuseResizeObserver();\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 [ iframeWindowInnerHeight, setIframeWindowInnerHeight ] = useState();\n\n\tconst iframeResizeRef = useRefEffect( ( node ) => {\n\t\tconst nodeWindow = node.ownerDocument.defaultView;\n\n\t\tsetIframeWindowInnerHeight( nodeWindow.innerHeight );\n\t\tconst onResize = () => {\n\t\t\tsetIframeWindowInnerHeight( nodeWindow.innerHeight );\n\t\t};\n\t\tnodeWindow.addEventListener( 'resize', onResize );\n\t\treturn () => {\n\t\t\tnodeWindow.removeEventListener( 'resize', onResize );\n\t\t};\n\t}, [] );\n\n\tconst [ windowInnerWidth, setWindowInnerWidth ] = useState();\n\n\tconst windowResizeRef = useRefEffect( ( node ) => {\n\t\tconst nodeWindow = node.ownerDocument.defaultView;\n\n\t\tsetWindowInnerWidth( nodeWindow.innerWidth );\n\t\tconst onResize = () => {\n\t\t\tsetWindowInnerWidth( nodeWindow.innerWidth );\n\t\t};\n\t\tnodeWindow.addEventListener( 'resize', onResize );\n\t\treturn () => {\n\t\t\tnodeWindow.removeEventListener( 'resize', onResize );\n\t\t};\n\t}, [] );\n\n\tconst isZoomedOut = scale !== 1;\n\n\tuseEffect( () => {\n\t\tif ( ! isZoomedOut ) {\n\t\t\tprevContainerWidth.current = containerWidth;\n\t\t}\n\t}, [ containerWidth, isZoomedOut ] );\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\t// Avoid resize listeners when not needed, these will trigger\n\t\t// unnecessary re-renders when animating the iframe width, or when\n\t\t// expanding preview iframes.\n\t\tisZoomedOut ? iframeResizeRef : null,\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\t\t\t/* Lowest specificity to not override global styles */\n\t\t\t:where(body) {\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-color: 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\tuseEffect( () => {\n\t\tif ( ! iframeDocument || ! isZoomedOut ) {\n\t\t\treturn;\n\t\t}\n\n\t\tiframeDocument.documentElement.classList.add( 'is-zoomed-out' );\n\n\t\tconst maxWidth = 800;\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-scale',\n\t\t\tscale === 'default'\n\t\t\t\t? Math.min( containerWidth, maxWidth ) /\n\t\t\t\t\t\tprevContainerWidth.current\n\t\t\t\t: scale\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-frame-size',\n\t\t\ttypeof frameSize === 'number' ? `${ frameSize }px` : frameSize\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-content-height',\n\t\t\t`${ contentHeight }px`\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-inner-height',\n\t\t\t`${ iframeWindowInnerHeight }px`\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-container-width',\n\t\t\t`${ containerWidth }px`\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-prev-container-width',\n\t\t\t`${ prevContainerWidth.current }px`\n\t\t);\n\n\t\treturn () => {\n\t\t\tiframeDocument.documentElement.classList.remove( 'is-zoomed-out' );\n\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-scale'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-frame-size'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-content-height'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-inner-height'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-container-width'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-prev-container-width'\n\t\t\t);\n\t\t};\n\t}, [\n\t\tscale,\n\t\tframeSize,\n\t\tiframeDocument,\n\t\tiframeWindowInnerHeight,\n\t\tcontentHeight,\n\t\tcontainerWidth,\n\t\twindowInnerWidth,\n\t\tisZoomedOut,\n\t] );\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\tconst iframe = (\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\t// We should only stop propagation of the React event,\n\t\t\t\t\t\t// the native event should further bubble inside the\n\t\t\t\t\t\t// iframe to the document and window.\n\t\t\t\t\t\t// Alternatively, we could consider redispatching the\n\t\t\t\t\t\t// native event in the iframe.\n\t\t\t\t\t\tconst { stopPropagation } = event.nativeEvent;\n\t\t\t\t\t\tevent.nativeEvent.stopPropagation = () => {};\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tevent.nativeEvent.stopPropagation = 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={ clsx(\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\treturn (\n\t\t<div className=\"block-editor-iframe__container\" ref={ windowResizeRef }>\n\t\t\t{ containerResizeListener }\n\t\t\t<div\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-iframe__scale-container',\n\t\t\t\t\tisZoomedOut && 'is-zoomed-out'\n\t\t\t\t) }\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--wp-block-editor-iframe-zoom-out-container-width':\n\t\t\t\t\t\tisZoomedOut && `${ containerWidth }px`,\n\t\t\t\t\t'--wp-block-editor-iframe-zoom-out-prev-container-width':\n\t\t\t\t\t\tisZoomedOut && `${ prevContainerWidth.current }px`,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ iframe }\n\t\t\t</div>\n\t\t</div>\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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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useState","createPortal","forwardRef","useMemo","useEffect","useRef","__","useResizeObserver","useMergeRefs","useRefEffect","useDisabled","__experimentalStyleProvider","StyleProvider","useSelect","useBlockSelectionClearer","useWritingFlow","getCompatibilityStyles","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","bubbleEvent","event","Constructor","frame","init","key","contentDocument","defaultView","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","defaultPrevented","preventDefault","cancelled","dispatchEvent","useBubbleEvents","iframeDocument","frameElement","html","documentElement","eventTypes","handlers","name","prototype","Object","getPrototypeOf","constructorName","constructor","window","addEventListener","removeEventListener","Iframe","contentRef","children","tabIndex","scale","frameSize","readonly","forwardedRef","ref","title","props","resolvedAssets","isPreviewMode","select","getSettings","settings","__unstableResolvedAssets","__unstableIsPreviewMode","styles","scripts","setIframeDocument","prevContainerWidth","bodyClasses","setBodyClasses","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","containerResizeListener","width","containerWidth","setRef","node","_load","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","classList","add","Array","from","body","filter","startsWith","dir","compatStyle","getElementById","id","head","appendChild","cloneNode","console","warn","iframeWindowInnerHeight","setIframeWindowInnerHeight","iframeResizeRef","nodeWindow","innerHeight","onResize","windowInnerWidth","setWindowInnerWidth","windowResizeRef","innerWidth","isZoomedOut","current","disabledRef","isDisabled","bodyRef","src","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","maxWidth","style","setProperty","Math","min","remove","removeProperty","shouldRenderFocusCaptureElements","iframe","onKeyDown","currentTarget","target","stopPropagation","nativeEvent","KeyboardEvent","className","document","IframeIfReady","isInitialised","__internalIsInitialized"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n\tuseRef,\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\treadonly,\n\tforwardedRef: ref,\n\ttitle = __( 'Editor canvas' ),\n\t...props\n} ) {\n\tconst { resolvedAssets, isPreviewMode } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = 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 prevContainerWidth = useRef();\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 [ containerResizeListener, { width: containerWidth } ] =\n\t\tuseResizeObserver();\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 [ iframeWindowInnerHeight, setIframeWindowInnerHeight ] = useState();\n\n\tconst iframeResizeRef = useRefEffect( ( node ) => {\n\t\tconst nodeWindow = node.ownerDocument.defaultView;\n\n\t\tsetIframeWindowInnerHeight( nodeWindow.innerHeight );\n\t\tconst onResize = () => {\n\t\t\tsetIframeWindowInnerHeight( nodeWindow.innerHeight );\n\t\t};\n\t\tnodeWindow.addEventListener( 'resize', onResize );\n\t\treturn () => {\n\t\t\tnodeWindow.removeEventListener( 'resize', onResize );\n\t\t};\n\t}, [] );\n\n\tconst [ windowInnerWidth, setWindowInnerWidth ] = useState();\n\n\tconst windowResizeRef = useRefEffect( ( node ) => {\n\t\tconst nodeWindow = node.ownerDocument.defaultView;\n\n\t\tsetWindowInnerWidth( nodeWindow.innerWidth );\n\t\tconst onResize = () => {\n\t\t\tsetWindowInnerWidth( nodeWindow.innerWidth );\n\t\t};\n\t\tnodeWindow.addEventListener( 'resize', onResize );\n\t\treturn () => {\n\t\t\tnodeWindow.removeEventListener( 'resize', onResize );\n\t\t};\n\t}, [] );\n\n\tconst isZoomedOut = scale !== 1;\n\n\tuseEffect( () => {\n\t\tprevContainerWidth.current = containerWidth;\n\t}, [ containerWidth ] );\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\t// Avoid resize listeners when not needed, these will trigger\n\t\t// unnecessary re-renders when animating the iframe width, or when\n\t\t// expanding preview iframes.\n\t\tisZoomedOut ? iframeResizeRef : null,\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\t\t\t/* Lowest specificity to not override global styles */\n\t\t\t:where(body) {\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-color: 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\tuseEffect( () => {\n\t\tif ( ! iframeDocument || ! isZoomedOut ) {\n\t\t\treturn;\n\t\t}\n\n\t\tiframeDocument.documentElement.classList.add( 'is-zoomed-out' );\n\n\t\tconst maxWidth = 750;\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-scale',\n\t\t\tscale === 'default'\n\t\t\t\t? Math.min( containerWidth, maxWidth ) /\n\t\t\t\t\t\tprevContainerWidth.current\n\t\t\t\t: scale\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-frame-size',\n\t\t\ttypeof frameSize === 'number' ? `${ frameSize }px` : frameSize\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-content-height',\n\t\t\t`${ contentHeight }px`\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-inner-height',\n\t\t\t`${ iframeWindowInnerHeight }px`\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-container-width',\n\t\t\t`${ containerWidth }px`\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-prev-container-width',\n\t\t\t`${ prevContainerWidth.current }px`\n\t\t);\n\n\t\treturn () => {\n\t\t\tiframeDocument.documentElement.classList.remove( 'is-zoomed-out' );\n\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-scale'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-frame-size'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-content-height'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-inner-height'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-container-width'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-prev-container-width'\n\t\t\t);\n\t\t};\n\t}, [\n\t\tscale,\n\t\tframeSize,\n\t\tiframeDocument,\n\t\tiframeWindowInnerHeight,\n\t\tcontentHeight,\n\t\tcontainerWidth,\n\t\twindowInnerWidth,\n\t\tisZoomedOut,\n\t] );\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\tconst iframe = (\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\t...props.style,\n\t\t\t\t\theight: props.style?.height,\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\t// We should only stop propagation of the React event,\n\t\t\t\t\t\t// the native event should further bubble inside the\n\t\t\t\t\t\t// iframe to the document and window.\n\t\t\t\t\t\t// Alternatively, we could consider redispatching the\n\t\t\t\t\t\t// native event in the iframe.\n\t\t\t\t\t\tconst { stopPropagation } = event.nativeEvent;\n\t\t\t\t\t\tevent.nativeEvent.stopPropagation = () => {};\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tevent.nativeEvent.stopPropagation = 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={ clsx(\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\treturn (\n\t\t<div className=\"block-editor-iframe__container\" ref={ windowResizeRef }>\n\t\t\t{ containerResizeListener }\n\t\t\t<div\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-iframe__scale-container',\n\t\t\t\t\tisZoomedOut && 'is-zoomed-out'\n\t\t\t\t) }\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--wp-block-editor-iframe-zoom-out-container-width':\n\t\t\t\t\t\tisZoomedOut && `${ containerWidth }px`,\n\t\t\t\t\t'--wp-block-editor-iframe-zoom-out-prev-container-width':\n\t\t\t\t\t\tisZoomedOut && `${ prevContainerWidth.current }px`,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ iframe }\n\t\t\t</div>\n\t\t</div>\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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","ignoreList":[]}
@@ -123,9 +123,4 @@ export { useBlockEditingMode } from './block-editing-mode';
123
123
  export { default as BlockEditorProvider } from './provider';
124
124
  export { useSettings, useSetting } from './use-settings';
125
125
  export { useBlockCommands } from './use-block-commands';
126
-
127
- /*
128
- * The following rename hint component can be removed in 6.4.
129
- */
130
- export { default as ReusableBlocksRenameHint } from './inserter/reusable-block-rename-hint';
131
126
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AlignmentControl","AlignmentToolbar","default","Autocomplete","BlockAlignmentControl","BlockAlignmentToolbar","__experimentalBlockFullHeightAligmentControl","__experimentalBlockAlignmentMatrixControl","BlockBreadcrumb","__experimentalUseBlockOverlayActive","BlockContextProvider","BlockCanvas","BlockControls","BlockFormatControls","BlockColorsStyleSelector","BlockEdit","useBlockEditContext","BlockIcon","BlockNavigationDropdown","BlockStyles","HeadingLevelDropdown","__experimentalBlockVariationPicker","__experimentalBlockPatternSetup","__experimentalBlockVariationTransforms","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","__experimentalBorderRadiusControl","ButtonBlockerAppender","ButtonBlockAppender","ColorPalette","ColorPaletteControl","ContrastChecker","__experimentalDateFormatPicker","__experimentalDuotoneControl","__experimentalFontAppearanceControl","__experimentalFontFamilyControl","__experimentalLetterSpacingControl","__experimentalTextDecorationControl","__experimentalTextTransformControl","__experimentalWritingModeControl","__experimentalColorGradientControl","__experimentalColorGradientSettingsDropdown","__experimentalPanelColorGradientSettings","__experimentalUseMultipleOriginColorsAndGradients","HeightControl","__experimentalImageEditor","__experimentalImageSizeControl","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","__experimentalLinkControl","__experimentalLinkControlSearchInput","__experimentalLinkControlSearchResults","__experimentalLinkControlSearchItem","LineHeightControl","__experimentalListView","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MediaUploadCheck","PanelColorSettings","PlainText","__experimentalResponsiveBlockControl","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","ToolSelector","__experimentalUnitControl","URLInput","URLInputButton","URLPopover","__experimentalImageURLInputUI","withColorContext","__experimentalSpacingSizesControl","getSpacingPresetCssVar","isValueSpacingPreset","getCustomValueFromPreset","__unstableBlockSettingsMenuFirstItem","__unstableBlockToolbarLastItem","__unstableBlockNameContext","__unstableInserterMenuExtension","__experimentalPreviewOptions","__experimentalUseResizeCanvas","BlockInspector","BlockList","useBlockProps","BlockMover","BlockPreview","useBlockPreview","__experimentalUseBlockPreview","BlockSelectionClearer","useBlockSelectionClearer","__unstableUseBlockSelectionClearer","BlockSettingsMenu","BlockSettingsMenuControls","BlockTitle","BlockToolbar","BlockTools","CopyHandler","__unstableUseClipboardHandler","DefaultBlockAppender","__unstableEditorStyles","Inserter","__experimentalLibrary","BlockEditorKeyboardShortcuts","MultiSelectScrollIntoView","NavigableToolbar","ObserveTyping","useTypingObserver","__unstableUseTypingObserver","useMouseMoveTypingReset","__unstableUseMouseMoveTypingReset","SkipToSelectedBlock","Typewriter","useTypewriter","__unstableUseTypewriter","Warning","WritingFlow","useBlockDisplayInformation","__unstableIframe","RecursionProvider","DeprecatedExperimentalRecursionProvider","__experimentalRecursionProvider","useHasRecursion","DeprecatedExperimentalUseHasRecursion","__experimentalUseHasRecursion","__experimentalBlockPatternsList","__experimentalPublishDateTimePicker","__experimentalInspectorPopoverHeader","BlockPopover","useBlockEditingMode","BlockEditorProvider","useSettings","useSetting","useBlockCommands","ReusableBlocksRenameHint"],"sources":["@wordpress/block-editor/src/components/index.js"],"sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalUseBlockOverlayActive } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport { default as BlockCanvas } from './block-canvas';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as BlockStyles } from './block-styles';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDateFormatPicker } from './date-format-picker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalWritingModeControl } from './writing-mode-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalUseMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as HeightControl } from './height-control';\nexport { default as __experimentalImageEditor } from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-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 __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as ToolSelector } from './tool-selector';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\nexport { default as __experimentalSpacingSizesControl } from './spacing-sizes-control';\nexport {\n\tgetSpacingPresetCssVar,\n\tisValueSpacingPreset,\n\tgetCustomValueFromPreset,\n} from './spacing-sizes-control/utils';\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableBlockToolbarLastItem } from './block-toolbar/block-toolbar-last-item';\nexport { default as __unstableBlockNameContext } from './block-toolbar/block-name-context';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as BlockMover } from './block-mover';\nexport {\n\tdefault as BlockPreview,\n\tuseBlockPreview as __experimentalUseBlockPreview,\n} from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\t__unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport {\n\tRecursionProvider,\n\tDeprecatedExperimentalRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion,\n\tDeprecatedExperimentalUseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\nexport { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';\nexport { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';\nexport { default as BlockPopover } from './block-popover';\nexport { useBlockEditingMode } from './block-editing-mode';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { useSettings, useSetting } from './use-settings';\nexport { useBlockCommands } from './use-block-commands';\n\n/*\n * The following rename hint component can be removed in 6.4.\n */\nexport { default as ReusableBlocksRenameHint } from './inserter/reusable-block-rename-hint';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AlignmentControl","AlignmentToolbar","default","Autocomplete","BlockAlignmentControl","BlockAlignmentToolbar","__experimentalBlockFullHeightAligmentControl","__experimentalBlockAlignmentMatrixControl","BlockBreadcrumb","__experimentalUseBlockOverlayActive","BlockContextProvider","BlockCanvas","BlockControls","BlockFormatControls","BlockColorsStyleSelector","BlockEdit","useBlockEditContext","BlockIcon","BlockNavigationDropdown","BlockStyles","HeadingLevelDropdown","__experimentalBlockVariationPicker","__experimentalBlockPatternSetup","__experimentalBlockVariationTransforms","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","__experimentalBorderRadiusControl","ButtonBlockerAppender","ButtonBlockAppender","ColorPalette","ColorPaletteControl","ContrastChecker","__experimentalDateFormatPicker","__experimentalDuotoneControl","__experimentalFontAppearanceControl","__experimentalFontFamilyControl","__experimentalLetterSpacingControl","__experimentalTextDecorationControl","__experimentalTextTransformControl","__experimentalWritingModeControl","__experimentalColorGradientControl","__experimentalColorGradientSettingsDropdown","__experimentalPanelColorGradientSettings","__experimentalUseMultipleOriginColorsAndGradients","HeightControl","__experimentalImageEditor","__experimentalImageSizeControl","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","__experimentalLinkControl","__experimentalLinkControlSearchInput","__experimentalLinkControlSearchResults","__experimentalLinkControlSearchItem","LineHeightControl","__experimentalListView","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MediaUploadCheck","PanelColorSettings","PlainText","__experimentalResponsiveBlockControl","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","ToolSelector","__experimentalUnitControl","URLInput","URLInputButton","URLPopover","__experimentalImageURLInputUI","withColorContext","__experimentalSpacingSizesControl","getSpacingPresetCssVar","isValueSpacingPreset","getCustomValueFromPreset","__unstableBlockSettingsMenuFirstItem","__unstableBlockToolbarLastItem","__unstableBlockNameContext","__unstableInserterMenuExtension","__experimentalPreviewOptions","__experimentalUseResizeCanvas","BlockInspector","BlockList","useBlockProps","BlockMover","BlockPreview","useBlockPreview","__experimentalUseBlockPreview","BlockSelectionClearer","useBlockSelectionClearer","__unstableUseBlockSelectionClearer","BlockSettingsMenu","BlockSettingsMenuControls","BlockTitle","BlockToolbar","BlockTools","CopyHandler","__unstableUseClipboardHandler","DefaultBlockAppender","__unstableEditorStyles","Inserter","__experimentalLibrary","BlockEditorKeyboardShortcuts","MultiSelectScrollIntoView","NavigableToolbar","ObserveTyping","useTypingObserver","__unstableUseTypingObserver","useMouseMoveTypingReset","__unstableUseMouseMoveTypingReset","SkipToSelectedBlock","Typewriter","useTypewriter","__unstableUseTypewriter","Warning","WritingFlow","useBlockDisplayInformation","__unstableIframe","RecursionProvider","DeprecatedExperimentalRecursionProvider","__experimentalRecursionProvider","useHasRecursion","DeprecatedExperimentalUseHasRecursion","__experimentalUseHasRecursion","__experimentalBlockPatternsList","__experimentalPublishDateTimePicker","__experimentalInspectorPopoverHeader","BlockPopover","useBlockEditingMode","BlockEditorProvider","useSettings","useSetting","useBlockCommands"],"sources":["@wordpress/block-editor/src/components/index.js"],"sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalUseBlockOverlayActive } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport { default as BlockCanvas } from './block-canvas';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as BlockStyles } from './block-styles';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDateFormatPicker } from './date-format-picker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalWritingModeControl } from './writing-mode-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalUseMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as HeightControl } from './height-control';\nexport { default as __experimentalImageEditor } from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-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 __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as ToolSelector } from './tool-selector';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\nexport { default as __experimentalSpacingSizesControl } from './spacing-sizes-control';\nexport {\n\tgetSpacingPresetCssVar,\n\tisValueSpacingPreset,\n\tgetCustomValueFromPreset,\n} from './spacing-sizes-control/utils';\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableBlockToolbarLastItem } from './block-toolbar/block-toolbar-last-item';\nexport { default as __unstableBlockNameContext } from './block-toolbar/block-name-context';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as BlockMover } from './block-mover';\nexport {\n\tdefault as BlockPreview,\n\tuseBlockPreview as __experimentalUseBlockPreview,\n} from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\t__unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport {\n\tRecursionProvider,\n\tDeprecatedExperimentalRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion,\n\tDeprecatedExperimentalUseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\nexport { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';\nexport { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';\nexport { default as BlockPopover } from './block-popover';\nexport { useBlockEditingMode } from './block-editing-mode';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { useSettings, useSetting } from './use-settings';\nexport { useBlockCommands } from './use-block-commands';\n"],"mappings":"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","ignoreList":[]}
@@ -98,7 +98,7 @@ function UncontrolledInnerBlocks(props) {
98
98
  wrapperRef: wrapperRef,
99
99
  placeholder: placeholder
100
100
  });
101
- if (Object.keys(blockType.providesContext).length === 0) {
101
+ if (!blockType?.providesContext || Object.keys(blockType.providesContext).length === 0) {
102
102
  return items;
103
103
  }
104
104
  return /*#__PURE__*/_jsx(BlockContext, {