@wordpress/block-editor 13.3.0 → 13.4.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 (311) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +0 -4
  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-inspector/index.js +6 -3
  10. package/build/components/block-inspector/index.js.map +1 -1
  11. package/build/components/block-list/use-block-props/index.js +3 -1
  12. package/build/components/block-list/use-block-props/index.js.map +1 -1
  13. package/build/components/block-list/use-block-props/use-block-refs.js +9 -2
  14. package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  15. package/build/components/block-list/use-block-props/use-is-hovered.js +25 -9
  16. package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  17. package/build/components/block-list/use-in-between-inserter.js +3 -2
  18. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  19. package/build/components/block-lock/modal.js +2 -0
  20. package/build/components/block-lock/modal.js.map +1 -1
  21. package/build/components/block-removal-warning-modal/index.js +2 -0
  22. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  23. package/build/components/block-switcher/index.js +1 -1
  24. package/build/components/block-switcher/index.js.map +1 -1
  25. package/build/components/block-switcher/pattern-transformations-menu.js +11 -12
  26. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  27. package/build/components/block-switcher/preview-block-popover.js +20 -17
  28. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  29. package/build/components/block-toolbar/shuffle.js +5 -2
  30. package/build/components/block-toolbar/shuffle.js.map +1 -1
  31. package/build/components/block-tools/use-show-block-tools.js +7 -8
  32. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  33. package/build/components/block-tools/zoom-out-mode-inserter-button.js +45 -0
  34. package/build/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -0
  35. package/build/components/block-tools/zoom-out-mode-inserters.js +27 -27
  36. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  37. package/build/components/block-tools/zoom-out-popover.js +2 -1
  38. package/build/components/block-tools/zoom-out-popover.js.map +1 -1
  39. package/build/components/block-tools/zoom-out-toolbar.js +1 -1
  40. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  41. package/build/components/date-format-picker/index.js +2 -11
  42. package/build/components/date-format-picker/index.js.map +1 -1
  43. package/build/components/default-block-appender/index.js +7 -4
  44. package/build/components/default-block-appender/index.js.map +1 -1
  45. package/build/components/font-appearance-control/index.js +2 -7
  46. package/build/components/font-appearance-control/index.js.map +1 -1
  47. package/build/components/global-styles/background-panel.js +8 -1
  48. package/build/components/global-styles/background-panel.js.map +1 -1
  49. package/build/components/global-styles/hooks.js +5 -1
  50. package/build/components/global-styles/hooks.js.map +1 -1
  51. package/build/components/global-styles/typography-panel.js +26 -43
  52. package/build/components/global-styles/typography-panel.js.map +1 -1
  53. package/build/components/global-styles/typography-utils.js +78 -7
  54. package/build/components/global-styles/typography-utils.js.map +1 -1
  55. package/build/components/global-styles/use-global-styles-output.js +24 -5
  56. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  57. package/build/components/grid/grid-item-movers.js +89 -44
  58. package/build/components/grid/grid-item-movers.js.map +1 -1
  59. package/build/components/grid/grid-visualizer.js +1 -1
  60. package/build/components/grid/grid-visualizer.js.map +1 -1
  61. package/build/components/grid/use-grid-layout-sync.js +40 -28
  62. package/build/components/grid/use-grid-layout-sync.js.map +1 -1
  63. package/build/components/index.js +1 -9
  64. package/build/components/index.js.map +1 -1
  65. package/build/components/inner-blocks/index.js +1 -1
  66. package/build/components/inner-blocks/index.js.map +1 -1
  67. package/build/components/inserter/block-patterns-tab/patterns-filter.js +20 -23
  68. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  69. package/build/components/inserter/media-tab/media-panel.js +1 -0
  70. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  71. package/build/components/inserter/menu.js +1 -1
  72. package/build/components/inserter/menu.js.map +1 -1
  73. package/build/components/inserter/preview-panel.js +20 -3
  74. package/build/components/inserter/preview-panel.js.map +1 -1
  75. package/build/components/inserter-draggable-blocks/index.js +10 -3
  76. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  77. package/build/components/inspector-controls-tabs/settings-tab.js +1 -2
  78. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  79. package/build/components/list-view/block-select-button.js +2 -6
  80. package/build/components/list-view/block-select-button.js.map +1 -1
  81. package/build/components/list-view/block.js +2 -2
  82. package/build/components/list-view/block.js.map +1 -1
  83. package/build/components/list-view/utils.js +3 -1
  84. package/build/components/list-view/utils.js.map +1 -1
  85. package/build/components/rich-text/format-toolbar/index.js +1 -1
  86. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  87. package/build/components/rich-text/index.js +1 -1
  88. package/build/components/rich-text/index.js.map +1 -1
  89. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
  90. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  91. package/build/components/url-popover/image-url-input-ui.js +3 -3
  92. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  93. package/build/hooks/grid-visualizer.js +5 -8
  94. package/build/hooks/grid-visualizer.js.map +1 -1
  95. package/build/hooks/layout-child.js +9 -2
  96. package/build/hooks/layout-child.js.map +1 -1
  97. package/build/hooks/position.js +3 -7
  98. package/build/hooks/position.js.map +1 -1
  99. package/build/hooks/use-bindings-attributes.js +81 -50
  100. package/build/hooks/use-bindings-attributes.js.map +1 -1
  101. package/build/layouts/constrained.js +6 -2
  102. package/build/layouts/constrained.js.map +1 -1
  103. package/build/layouts/grid.js +2 -0
  104. package/build/layouts/grid.js.map +1 -1
  105. package/build/private-apis.js +0 -3
  106. package/build/private-apis.js.map +1 -1
  107. package/build/store/actions.js +18 -1
  108. package/build/store/actions.js.map +1 -1
  109. package/build/store/reducer.js +19 -1
  110. package/build/store/reducer.js.map +1 -1
  111. package/build/store/selectors.js +13 -1
  112. package/build/store/selectors.js.map +1 -1
  113. package/build-module/components/alignment-control/ui.js +2 -2
  114. package/build-module/components/alignment-control/ui.js.map +1 -1
  115. package/build-module/components/block-alignment-control/ui.js +1 -1
  116. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  117. package/build-module/components/block-alignment-control/ui.native.js +1 -1
  118. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  119. package/build-module/components/block-inspector/index.js +6 -3
  120. package/build-module/components/block-inspector/index.js.map +1 -1
  121. package/build-module/components/block-list/use-block-props/index.js +3 -1
  122. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  123. package/build-module/components/block-list/use-block-props/use-block-refs.js +11 -4
  124. package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  125. package/build-module/components/block-list/use-block-props/use-is-hovered.js +26 -9
  126. package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  127. package/build-module/components/block-list/use-in-between-inserter.js +3 -2
  128. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  129. package/build-module/components/block-lock/modal.js +2 -0
  130. package/build-module/components/block-lock/modal.js.map +1 -1
  131. package/build-module/components/block-removal-warning-modal/index.js +2 -0
  132. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  133. package/build-module/components/block-switcher/index.js +1 -1
  134. package/build-module/components/block-switcher/index.js.map +1 -1
  135. package/build-module/components/block-switcher/pattern-transformations-menu.js +12 -13
  136. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  137. package/build-module/components/block-switcher/preview-block-popover.js +20 -17
  138. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  139. package/build-module/components/block-toolbar/shuffle.js +5 -2
  140. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  141. package/build-module/components/block-tools/use-show-block-tools.js +7 -8
  142. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  143. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js +37 -0
  144. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -0
  145. package/build-module/components/block-tools/zoom-out-mode-inserters.js +28 -28
  146. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  147. package/build-module/components/block-tools/zoom-out-popover.js +2 -1
  148. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
  149. package/build-module/components/block-tools/zoom-out-toolbar.js +1 -1
  150. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  151. package/build-module/components/date-format-picker/index.js +4 -12
  152. package/build-module/components/date-format-picker/index.js.map +1 -1
  153. package/build-module/components/default-block-appender/index.js +7 -4
  154. package/build-module/components/default-block-appender/index.js.map +1 -1
  155. package/build-module/components/font-appearance-control/index.js +3 -6
  156. package/build-module/components/font-appearance-control/index.js.map +1 -1
  157. package/build-module/components/global-styles/background-panel.js +8 -1
  158. package/build-module/components/global-styles/background-panel.js.map +1 -1
  159. package/build-module/components/global-styles/hooks.js +5 -1
  160. package/build-module/components/global-styles/hooks.js.map +1 -1
  161. package/build-module/components/global-styles/typography-panel.js +27 -44
  162. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  163. package/build-module/components/global-styles/typography-utils.js +76 -7
  164. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  165. package/build-module/components/global-styles/use-global-styles-output.js +24 -5
  166. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  167. package/build-module/components/grid/grid-item-movers.js +92 -46
  168. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  169. package/build-module/components/grid/grid-visualizer.js +1 -1
  170. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  171. package/build-module/components/grid/use-grid-layout-sync.js +41 -29
  172. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
  173. package/build-module/components/index.js +0 -5
  174. package/build-module/components/index.js.map +1 -1
  175. package/build-module/components/inner-blocks/index.js +1 -1
  176. package/build-module/components/inner-blocks/index.js.map +1 -1
  177. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +20 -23
  178. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  179. package/build-module/components/inserter/media-tab/media-panel.js +1 -0
  180. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  181. package/build-module/components/inserter/menu.js +1 -1
  182. package/build-module/components/inserter/menu.js.map +1 -1
  183. package/build-module/components/inserter/preview-panel.js +20 -3
  184. package/build-module/components/inserter/preview-panel.js.map +1 -1
  185. package/build-module/components/inserter-draggable-blocks/index.js +10 -3
  186. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  187. package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -2
  188. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  189. package/build-module/components/list-view/block-select-button.js +3 -7
  190. package/build-module/components/list-view/block-select-button.js.map +1 -1
  191. package/build-module/components/list-view/block.js +2 -2
  192. package/build-module/components/list-view/block.js.map +1 -1
  193. package/build-module/components/list-view/utils.js +3 -1
  194. package/build-module/components/list-view/utils.js.map +1 -1
  195. package/build-module/components/rich-text/format-toolbar/index.js +1 -1
  196. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  197. package/build-module/components/rich-text/index.js +1 -1
  198. package/build-module/components/rich-text/index.js.map +1 -1
  199. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
  200. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  201. package/build-module/components/url-popover/image-url-input-ui.js +3 -3
  202. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  203. package/build-module/hooks/grid-visualizer.js +5 -8
  204. package/build-module/hooks/grid-visualizer.js.map +1 -1
  205. package/build-module/hooks/layout-child.js +9 -2
  206. package/build-module/hooks/layout-child.js.map +1 -1
  207. package/build-module/hooks/position.js +3 -7
  208. package/build-module/hooks/position.js.map +1 -1
  209. package/build-module/hooks/use-bindings-attributes.js +81 -51
  210. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  211. package/build-module/layouts/constrained.js +6 -2
  212. package/build-module/layouts/constrained.js.map +1 -1
  213. package/build-module/layouts/grid.js +2 -0
  214. package/build-module/layouts/grid.js.map +1 -1
  215. package/build-module/private-apis.js +0 -3
  216. package/build-module/private-apis.js.map +1 -1
  217. package/build-module/store/actions.js +15 -0
  218. package/build-module/store/actions.js.map +1 -1
  219. package/build-module/store/reducer.js +18 -1
  220. package/build-module/store/reducer.js.map +1 -1
  221. package/build-module/store/selectors.js +10 -0
  222. package/build-module/store/selectors.js.map +1 -1
  223. package/build-style/content-rtl.css +6 -6
  224. package/build-style/content.css +6 -6
  225. package/build-style/style-rtl.css +167 -103
  226. package/build-style/style.css +167 -103
  227. package/build-types/components/block-context/index.d.ts +2 -2
  228. package/build-types/components/block-context/index.d.ts.map +1 -1
  229. package/build-types/utils/dom.d.ts.map +1 -1
  230. package/package.json +31 -31
  231. package/src/components/alignment-control/ui.js +2 -2
  232. package/src/components/block-alignment-control/ui.js +1 -1
  233. package/src/components/block-alignment-control/ui.native.js +1 -1
  234. package/src/components/block-context/README.md +4 -4
  235. package/src/components/block-inspector/index.js +8 -4
  236. package/src/components/block-list/content.scss +2 -16
  237. package/src/components/block-list/use-block-props/index.js +1 -1
  238. package/src/components/block-list/use-block-props/use-block-refs.js +19 -3
  239. package/src/components/block-list/use-block-props/use-is-hovered.js +26 -11
  240. package/src/components/block-list/use-in-between-inserter.js +5 -1
  241. package/src/components/block-lock/modal.js +10 -2
  242. package/src/components/block-lock/style.scss +4 -8
  243. package/src/components/block-patterns-paging/style.scss +0 -23
  244. package/src/components/block-removal-warning-modal/index.js +10 -2
  245. package/src/components/block-switcher/index.js +1 -1
  246. package/src/components/block-switcher/pattern-transformations-menu.js +17 -15
  247. package/src/components/block-switcher/preview-block-popover.js +20 -14
  248. package/src/components/block-switcher/style.scss +8 -17
  249. package/src/components/block-toolbar/shuffle.js +8 -1
  250. package/src/components/block-tools/style.scss +8 -0
  251. package/src/components/block-tools/use-show-block-tools.js +12 -9
  252. package/src/components/block-tools/zoom-out-mode-inserter-button.js +47 -0
  253. package/src/components/block-tools/zoom-out-mode-inserters.js +43 -33
  254. package/src/components/block-tools/zoom-out-popover.js +1 -0
  255. package/src/components/block-tools/zoom-out-toolbar.js +1 -1
  256. package/src/components/date-format-picker/index.js +2 -11
  257. package/src/components/default-block-appender/index.js +11 -4
  258. package/src/components/font-appearance-control/index.js +1 -5
  259. package/src/components/global-styles/background-panel.js +21 -1
  260. package/src/components/global-styles/hooks.js +5 -1
  261. package/src/components/global-styles/style.scss +12 -0
  262. package/src/components/global-styles/test/typography-utils.js +325 -0
  263. package/src/components/global-styles/test/use-global-styles-output.js +3 -1
  264. package/src/components/global-styles/typography-panel.js +36 -44
  265. package/src/components/global-styles/typography-utils.js +103 -7
  266. package/src/components/global-styles/use-global-styles-output.js +22 -2
  267. package/src/components/grid/grid-item-movers.js +139 -69
  268. package/src/components/grid/grid-visualizer.js +1 -1
  269. package/src/components/grid/style.scss +114 -0
  270. package/src/components/grid/use-grid-layout-sync.js +66 -27
  271. package/src/components/iframe/content.scss +1 -1
  272. package/src/components/index.js +0 -5
  273. package/src/components/inner-blocks/index.js +4 -1
  274. package/src/components/inserter/block-patterns-tab/patterns-filter.js +40 -44
  275. package/src/components/inserter/media-tab/media-panel.js +1 -0
  276. package/src/components/inserter/menu.js +1 -1
  277. package/src/components/inserter/preview-panel.js +27 -4
  278. package/src/components/inserter/style.scss +57 -43
  279. package/src/components/inserter-draggable-blocks/index.js +11 -3
  280. package/src/components/inspector-controls-tabs/settings-tab.js +0 -2
  281. package/src/components/inspector-controls-tabs/style.scss +0 -21
  282. package/src/components/list-view/block-select-button.js +3 -13
  283. package/src/components/list-view/block.js +10 -3
  284. package/src/components/list-view/style.scss +2 -1
  285. package/src/components/list-view/utils.js +13 -2
  286. package/src/components/rich-text/format-toolbar/index.js +1 -1
  287. package/src/components/rich-text/index.js +1 -1
  288. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -1
  289. package/src/components/url-popover/image-url-input-ui.js +3 -3
  290. package/src/components/url-popover/style.scss +1 -0
  291. package/src/hooks/grid-visualizer.js +5 -7
  292. package/src/hooks/layout-child.js +12 -3
  293. package/src/hooks/position.js +3 -13
  294. package/src/hooks/use-bindings-attributes.js +89 -59
  295. package/src/layouts/constrained.js +10 -2
  296. package/src/layouts/grid.js +2 -0
  297. package/src/private-apis.js +0 -6
  298. package/src/store/actions.js +15 -0
  299. package/src/store/reducer.js +18 -0
  300. package/src/store/selectors.js +10 -0
  301. package/tsconfig.tsbuildinfo +1 -1
  302. package/build/components/inserter/reusable-block-rename-hint.js +0 -71
  303. package/build/components/inserter/reusable-block-rename-hint.js.map +0 -1
  304. package/build/components/inspector-controls-tabs/settings-tab-hint.js +0 -53
  305. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +0 -1
  306. package/build-module/components/inserter/reusable-block-rename-hint.js +0 -64
  307. package/build-module/components/inserter/reusable-block-rename-hint.js.map +0 -1
  308. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +0 -47
  309. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +0 -1
  310. package/src/components/inserter/reusable-block-rename-hint.js +0 -69
  311. package/src/components/inspector-controls-tabs/settings-tab-hint.js +0 -52
@@ -1 +1 @@
1
- {"version":3,"names":["__","ToolbarButton","arrowLeft","arrowUp","arrowDown","arrowRight","useDispatch","BlockControls","useGetNumberOfBlocksBeforeCell","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","GridItemMovers","layout","parentLayout","onChange","gridClientId","blockClientId","_layout$columnStart","_layout$rowStart","_layout$columnSpan","_layout$rowSpan","moveBlocksToPosition","__unstableMarkNextChangeAsNotPersistent","columnStart","rowStart","columnSpan","rowSpan","columnEnd","rowEnd","columnCount","rowCount","getNumberOfBlocksBeforeCell","group","children","icon","label","disabled","onClick"],"sources":["@wordpress/block-editor/src/components/grid/grid-item-movers.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ToolbarButton } from '@wordpress/components';\nimport { arrowLeft, arrowUp, arrowDown, arrowRight } from '@wordpress/icons';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockControls from '../block-controls';\nimport { useGetNumberOfBlocksBeforeCell } from './use-get-number-of-blocks-before-cell';\nimport { store as blockEditorStore } from '../../store';\n\nexport function GridItemMovers( {\n\tlayout,\n\tparentLayout,\n\tonChange,\n\tgridClientId,\n\tblockClientId,\n} ) {\n\tconst { moveBlocksToPosition, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst columnStart = layout?.columnStart ?? 1;\n\tconst rowStart = layout?.rowStart ?? 1;\n\tconst columnSpan = layout?.columnSpan ?? 1;\n\tconst rowSpan = layout?.rowSpan ?? 1;\n\tconst columnEnd = columnStart + columnSpan - 1;\n\tconst rowEnd = rowStart + rowSpan - 1;\n\tconst columnCount = parentLayout?.columnCount;\n\tconst rowCount = parentLayout?.rowCount;\n\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\tgridClientId,\n\t\tcolumnCount\n\t);\n\n\treturn (\n\t\t<BlockControls group=\"parent\">\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ arrowUp }\n\t\t\t\tlabel={ __( 'Move block up' ) }\n\t\t\t\tdisabled={ rowStart <= 1 }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\trowStart: rowStart - 1,\n\t\t\t\t\t} );\n\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t[ blockClientId ],\n\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\tgetNumberOfBlocksBeforeCell( columnStart, rowStart - 1 )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ arrowDown }\n\t\t\t\tlabel={ __( 'Move block down' ) }\n\t\t\t\tdisabled={ rowCount && rowEnd >= rowCount }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\trowStart: rowStart + 1,\n\t\t\t\t\t} );\n\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t[ blockClientId ],\n\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\tgetNumberOfBlocksBeforeCell( columnStart, rowStart + 1 )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ arrowLeft }\n\t\t\t\tlabel={ __( 'Move block left' ) }\n\t\t\t\tdisabled={ columnStart <= 1 }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\tcolumnStart: columnStart - 1,\n\t\t\t\t\t} );\n\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t[ blockClientId ],\n\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\tgetNumberOfBlocksBeforeCell( columnStart - 1, rowStart )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ arrowRight }\n\t\t\t\tlabel={ __( 'Move block right' ) }\n\t\t\t\tdisabled={ columnCount && columnEnd >= columnCount }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\tcolumnStart: columnStart + 1,\n\t\t\t\t\t} );\n\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t[ blockClientId ],\n\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\tgetNumberOfBlocksBeforeCell( columnStart + 1, rowStart )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","VisuallyHidden","ToolbarButton","ToolbarGroup","chevronLeft","chevronUp","chevronDown","chevronRight","useDispatch","useInstanceId","BlockControls","useGetNumberOfBlocksBeforeCell","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GridItemMovers","layout","parentLayout","onChange","gridClientId","blockClientId","_layout$columnStart","_layout$rowStart","_layout$columnSpan","_layout$rowSpan","moveBlocksToPosition","__unstableMarkNextChangeAsNotPersistent","columnStart","rowStart","columnSpan","rowSpan","columnEnd","rowEnd","columnCount","rowCount","getNumberOfBlocksBeforeCell","group","children","className","GridItemMover","icon","label","description","isDisabled","onClick","instanceId","descriptionId","disabled","accessibleWhenDisabled","id"],"sources":["@wordpress/block-editor/src/components/grid/grid-item-movers.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tVisuallyHidden,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport {\n\tchevronLeft,\n\tchevronUp,\n\tchevronDown,\n\tchevronRight,\n} from '@wordpress/icons';\nimport { useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockControls from '../block-controls';\nimport { useGetNumberOfBlocksBeforeCell } from './use-get-number-of-blocks-before-cell';\nimport { store as blockEditorStore } from '../../store';\n\nexport function GridItemMovers( {\n\tlayout,\n\tparentLayout,\n\tonChange,\n\tgridClientId,\n\tblockClientId,\n} ) {\n\tconst { moveBlocksToPosition, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst columnStart = layout?.columnStart ?? 1;\n\tconst rowStart = layout?.rowStart ?? 1;\n\tconst columnSpan = layout?.columnSpan ?? 1;\n\tconst rowSpan = layout?.rowSpan ?? 1;\n\tconst columnEnd = columnStart + columnSpan - 1;\n\tconst rowEnd = rowStart + rowSpan - 1;\n\tconst columnCount = parentLayout?.columnCount;\n\tconst rowCount = parentLayout?.rowCount;\n\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\tgridClientId,\n\t\tcolumnCount\n\t);\n\n\treturn (\n\t\t<BlockControls group=\"parent\">\n\t\t\t<ToolbarGroup className=\"block-editor-grid-item-mover__move-button-container\">\n\t\t\t\t<GridItemMover\n\t\t\t\t\tclassName=\"is-left-button\"\n\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\tlabel={ __( 'Move left' ) }\n\t\t\t\t\tdescription={ __( 'Move left' ) }\n\t\t\t\t\tisDisabled={ columnStart <= 1 }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\tcolumnStart: columnStart - 1,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t[ blockClientId ],\n\t\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\t\tgetNumberOfBlocksBeforeCell(\n\t\t\t\t\t\t\t\tcolumnStart - 1,\n\t\t\t\t\t\t\t\trowStart\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-grid-item-mover__move-vertical-button-container\">\n\t\t\t\t\t<GridItemMover\n\t\t\t\t\t\tclassName=\"is-up-button\"\n\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\tlabel={ __( 'Move up' ) }\n\t\t\t\t\t\tdescription={ __( 'Move up' ) }\n\t\t\t\t\t\tisDisabled={ rowStart <= 1 }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\trowStart: rowStart - 1,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t[ blockClientId ],\n\t\t\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\t\t\tgetNumberOfBlocksBeforeCell(\n\t\t\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\t\t\trowStart - 1\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<GridItemMover\n\t\t\t\t\t\tclassName=\"is-down-button\"\n\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\tlabel={ __( 'Move down' ) }\n\t\t\t\t\t\tdescription={ __( 'Move down' ) }\n\t\t\t\t\t\tisDisabled={ rowCount && rowEnd >= rowCount }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\trowStart: rowStart + 1,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t[ blockClientId ],\n\t\t\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\t\t\tgetNumberOfBlocksBeforeCell(\n\t\t\t\t\t\t\t\t\tcolumnStart,\n\t\t\t\t\t\t\t\t\trowStart + 1\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<GridItemMover\n\t\t\t\t\tclassName=\"is-right-button\"\n\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\tlabel={ __( 'Move right' ) }\n\t\t\t\t\tdescription={ __( 'Move right' ) }\n\t\t\t\t\tisDisabled={ columnCount && columnEnd >= columnCount }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\tcolumnStart: columnStart + 1,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t[ blockClientId ],\n\t\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\t\tgridClientId,\n\t\t\t\t\t\t\tgetNumberOfBlocksBeforeCell(\n\t\t\t\t\t\t\t\tcolumnStart + 1,\n\t\t\t\t\t\t\t\trowStart\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n}\n\nfunction GridItemMover( {\n\tclassName,\n\ticon,\n\tlabel,\n\tisDisabled,\n\tonClick,\n\tdescription,\n} ) {\n\tconst instanceId = useInstanceId( GridItemMover );\n\tconst descriptionId = `block-editor-grid-item-mover-button__description-${ instanceId }`;\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-grid-item-mover-button',\n\t\t\t\t\tclassName\n\t\t\t\t) }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\tonClick={ isDisabled ? null : onClick }\n\t\t\t\tdisabled={ isDisabled }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t/>\n\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t{ description }\n\t\t\t</VisuallyHidden>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -79,7 +79,7 @@ const GridVisualizerGrid = forwardRef(({
79
79
  'is-dropping-allowed': isDroppingAllowed
80
80
  }),
81
81
  clientId: gridClientId,
82
- __unstablePopoverSlot: "block-toolbar",
82
+ __unstablePopoverSlot: "__unstable-block-tools-after",
83
83
  children: /*#__PURE__*/_jsx("div", {
84
84
  ref: ref,
85
85
  className: "block-editor-grid-visualizer__grid",
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useState","useEffect","forwardRef","useMemo","useSelect","useDispatch","__experimentalUseDropZone","useDropZone","__unstableUseBlockElement","useBlockElement","BlockPopoverCover","range","GridRect","getGridInfo","store","blockEditorStore","useGetNumberOfBlocksBeforeCell","ButtonBlockAppender","jsx","_jsx","GridVisualizer","clientId","contentRef","parentLayout","isDistractionFree","select","getSettings","gridElement","isManualGrid","isManualPlacement","window","__experimentalEnableGridInteractivity","GridVisualizerGrid","gridClientId","ref","gridInfo","setGridInfo","isDroppingAllowed","setIsDroppingAllowed","observers","element","children","observer","ResizeObserver","observe","push","disconnect","onGlobalDrag","onGlobalDragEnd","document","addEventListener","removeEventListener","className","__unstablePopoverSlot","style","ManualGridVisualizer","Array","from","length","numItems","_","i","GridVisualizerCell","color","currentColor","highlightedRect","setHighlightedRect","gridItems","getBlocks","occupiedRects","rects","block","columnStart","rowStart","columnSpan","rowSpan","attributes","layout","numRows","map","row","numColumns","column","_highlightedRect$cont","isCellOccupied","some","rect","contains","isHighlighted","GridVisualizerDropZone","GridVisualizerAppender","boxShadow","useGridVisualizerDropZone","getBlockAttributes","getBlockRootClientId","updateBlockAttributes","moveBlocksToPosition","__unstableMarkNextChangeAsNotPersistent","getNumberOfBlocksBeforeCell","useDropZoneWithValidation","validateDrag","srcClientId","isInBounds","containsRect","onDragEnter","onDragLeave","prevHighlightedRect","onDrop","rootClientId","onSelect","getDraggedBlockClientIds"],"sources":["@wordpress/block-editor/src/components/grid/grid-visualizer.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, forwardRef, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __experimentalUseDropZone as useDropZone } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport BlockPopoverCover from '../block-popover/cover';\nimport { range, GridRect, getGridInfo } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport { useGetNumberOfBlocksBeforeCell } from './use-get-number-of-blocks-before-cell';\nimport ButtonBlockAppender from '../button-block-appender';\n\nexport function GridVisualizer( { clientId, contentRef, parentLayout } ) {\n\tconst isDistractionFree = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().isDistractionFree,\n\t\t[]\n\t);\n\tconst gridElement = useBlockElement( clientId );\n\n\tif ( isDistractionFree || ! gridElement ) {\n\t\treturn null;\n\t}\n\n\tconst isManualGrid =\n\t\tparentLayout?.isManualPlacement &&\n\t\twindow.__experimentalEnableGridInteractivity;\n\treturn (\n\t\t<GridVisualizerGrid\n\t\t\tgridClientId={ clientId }\n\t\t\tgridElement={ gridElement }\n\t\t\tisManualGrid={ isManualGrid }\n\t\t\tref={ contentRef }\n\t\t/>\n\t);\n}\n\nconst GridVisualizerGrid = forwardRef(\n\t( { gridClientId, gridElement, isManualGrid }, ref ) => {\n\t\tconst [ gridInfo, setGridInfo ] = useState( () =>\n\t\t\tgetGridInfo( gridElement )\n\t\t);\n\t\tconst [ isDroppingAllowed, setIsDroppingAllowed ] = useState( false );\n\n\t\tuseEffect( () => {\n\t\t\tconst observers = [];\n\t\t\tfor ( const element of [ gridElement, ...gridElement.children ] ) {\n\t\t\t\tconst observer = new window.ResizeObserver( () => {\n\t\t\t\t\tsetGridInfo( getGridInfo( gridElement ) );\n\t\t\t\t} );\n\t\t\t\tobserver.observe( element );\n\t\t\t\tobservers.push( observer );\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tfor ( const observer of observers ) {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t}\n\t\t\t};\n\t\t}, [ gridElement ] );\n\n\t\tuseEffect( () => {\n\t\t\tfunction onGlobalDrag() {\n\t\t\t\tsetIsDroppingAllowed( true );\n\t\t\t}\n\t\t\tfunction onGlobalDragEnd() {\n\t\t\t\tsetIsDroppingAllowed( false );\n\t\t\t}\n\t\t\tdocument.addEventListener( 'drag', onGlobalDrag );\n\t\t\tdocument.addEventListener( 'dragend', onGlobalDragEnd );\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener( 'drag', onGlobalDrag );\n\t\t\t\tdocument.removeEventListener( 'dragend', onGlobalDragEnd );\n\t\t\t};\n\t\t}, [] );\n\n\t\treturn (\n\t\t\t<BlockPopoverCover\n\t\t\t\tclassName={ clsx( 'block-editor-grid-visualizer', {\n\t\t\t\t\t'is-dropping-allowed': isDroppingAllowed,\n\t\t\t\t} ) }\n\t\t\t\tclientId={ gridClientId }\n\t\t\t\t__unstablePopoverSlot=\"block-toolbar\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tclassName=\"block-editor-grid-visualizer__grid\"\n\t\t\t\t\tstyle={ gridInfo.style }\n\t\t\t\t>\n\t\t\t\t\t{ isManualGrid ? (\n\t\t\t\t\t\t<ManualGridVisualizer\n\t\t\t\t\t\t\tgridClientId={ gridClientId }\n\t\t\t\t\t\t\tgridInfo={ gridInfo }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tArray.from( { length: gridInfo.numItems }, ( _, i ) => (\n\t\t\t\t\t\t\t<GridVisualizerCell\n\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\tcolor={ gridInfo.currentColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) )\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</BlockPopoverCover>\n\t\t);\n\t}\n);\n\nfunction ManualGridVisualizer( { gridClientId, gridInfo } ) {\n\tconst [ highlightedRect, setHighlightedRect ] = useState( null );\n\n\tconst gridItems = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlocks( gridClientId ),\n\t\t[ gridClientId ]\n\t);\n\tconst occupiedRects = useMemo( () => {\n\t\tconst rects = [];\n\t\tfor ( const block of gridItems ) {\n\t\t\tconst {\n\t\t\t\tcolumnStart,\n\t\t\t\trowStart,\n\t\t\t\tcolumnSpan = 1,\n\t\t\t\trowSpan = 1,\n\t\t\t} = block.attributes.style?.layout || {};\n\t\t\tif ( ! columnStart || ! rowStart ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\trects.push(\n\t\t\t\tnew GridRect( {\n\t\t\t\t\tcolumnStart,\n\t\t\t\t\trowStart,\n\t\t\t\t\tcolumnSpan,\n\t\t\t\t\trowSpan,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t\treturn rects;\n\t}, [ gridItems ] );\n\n\treturn range( 1, gridInfo.numRows ).map( ( row ) =>\n\t\trange( 1, gridInfo.numColumns ).map( ( column ) => {\n\t\t\tconst isCellOccupied = occupiedRects.some( ( rect ) =>\n\t\t\t\trect.contains( column, row )\n\t\t\t);\n\t\t\tconst isHighlighted =\n\t\t\t\thighlightedRect?.contains( column, row ) ?? false;\n\t\t\treturn (\n\t\t\t\t<GridVisualizerCell\n\t\t\t\t\tkey={ `${ row }-${ column }` }\n\t\t\t\t\tcolor={ gridInfo.currentColor }\n\t\t\t\t\tclassName={ isHighlighted && 'is-highlighted' }\n\t\t\t\t>\n\t\t\t\t\t{ isCellOccupied ? (\n\t\t\t\t\t\t<GridVisualizerDropZone\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\trow={ row }\n\t\t\t\t\t\t\tgridClientId={ gridClientId }\n\t\t\t\t\t\t\tgridInfo={ gridInfo }\n\t\t\t\t\t\t\tsetHighlightedRect={ setHighlightedRect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<GridVisualizerAppender\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\trow={ row }\n\t\t\t\t\t\t\tgridClientId={ gridClientId }\n\t\t\t\t\t\t\tgridInfo={ gridInfo }\n\t\t\t\t\t\t\tsetHighlightedRect={ setHighlightedRect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</GridVisualizerCell>\n\t\t\t);\n\t\t} )\n\t);\n}\n\nfunction GridVisualizerCell( { color, children, className } ) {\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-grid-visualizer__cell',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\tboxShadow: `inset 0 0 0 1px color-mix(in srgb, ${ color } 20%, #0000)`,\n\t\t\t\tcolor,\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction useGridVisualizerDropZone(\n\tcolumn,\n\trow,\n\tgridClientId,\n\tgridInfo,\n\tsetHighlightedRect\n) {\n\tconst { getBlockAttributes, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tmoveBlocksToPosition,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\tgridClientId,\n\t\tgridInfo.numColumns\n\t);\n\n\treturn useDropZoneWithValidation( {\n\t\tvalidateDrag( srcClientId ) {\n\t\t\tconst attributes = getBlockAttributes( srcClientId );\n\t\t\tconst rect = new GridRect( {\n\t\t\t\tcolumnStart: column,\n\t\t\t\trowStart: row,\n\t\t\t\tcolumnSpan: attributes.style?.layout?.columnSpan,\n\t\t\t\trowSpan: attributes.style?.layout?.rowSpan,\n\t\t\t} );\n\t\t\tconst isInBounds = new GridRect( {\n\t\t\t\tcolumnSpan: gridInfo.numColumns,\n\t\t\t\trowSpan: gridInfo.numRows,\n\t\t\t} ).containsRect( rect );\n\t\t\treturn isInBounds;\n\t\t},\n\t\tonDragEnter( srcClientId ) {\n\t\t\tconst attributes = getBlockAttributes( srcClientId );\n\t\t\tsetHighlightedRect(\n\t\t\t\tnew GridRect( {\n\t\t\t\t\tcolumnStart: column,\n\t\t\t\t\trowStart: row,\n\t\t\t\t\tcolumnSpan: attributes.style?.layout?.columnSpan,\n\t\t\t\t\trowSpan: attributes.style?.layout?.rowSpan,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tonDragLeave() {\n\t\t\t// onDragEnter can be called before onDragLeave if the user moves\n\t\t\t// their mouse quickly, so only clear the highlight if it was set\n\t\t\t// by this cell.\n\t\t\tsetHighlightedRect( ( prevHighlightedRect ) =>\n\t\t\t\tprevHighlightedRect?.columnStart === column &&\n\t\t\t\tprevHighlightedRect?.rowStart === row\n\t\t\t\t\t? null\n\t\t\t\t\t: prevHighlightedRect\n\t\t\t);\n\t\t},\n\t\tonDrop( srcClientId ) {\n\t\t\tsetHighlightedRect( null );\n\t\t\tconst attributes = getBlockAttributes( srcClientId );\n\t\t\tupdateBlockAttributes( srcClientId, {\n\t\t\t\tstyle: {\n\t\t\t\t\t...attributes.style,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...attributes.style?.layout,\n\t\t\t\t\t\tcolumnStart: column,\n\t\t\t\t\t\trowStart: row,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tmoveBlocksToPosition(\n\t\t\t\t[ srcClientId ],\n\t\t\t\tgetBlockRootClientId( srcClientId ),\n\t\t\t\tgridClientId,\n\t\t\t\tgetNumberOfBlocksBeforeCell( column, row )\n\t\t\t);\n\t\t},\n\t} );\n}\n\nfunction GridVisualizerDropZone( {\n\tcolumn,\n\trow,\n\tgridClientId,\n\tgridInfo,\n\tsetHighlightedRect,\n} ) {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-grid-visualizer__drop-zone\"\n\t\t\tref={ useGridVisualizerDropZone(\n\t\t\t\tcolumn,\n\t\t\t\trow,\n\t\t\t\tgridClientId,\n\t\t\t\tgridInfo,\n\t\t\t\tsetHighlightedRect\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction GridVisualizerAppender( {\n\tcolumn,\n\trow,\n\tgridClientId,\n\tgridInfo,\n\tsetHighlightedRect,\n} ) {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tmoveBlocksToPosition,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\tgridClientId,\n\t\tgridInfo.numColumns\n\t);\n\n\treturn (\n\t\t<ButtonBlockAppender\n\t\t\trootClientId={ gridClientId }\n\t\t\tclassName=\"block-editor-grid-visualizer__appender\"\n\t\t\tref={ useGridVisualizerDropZone(\n\t\t\t\tcolumn,\n\t\t\t\trow,\n\t\t\t\tgridClientId,\n\t\t\t\tgridInfo,\n\t\t\t\tsetHighlightedRect\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\tcolor: gridInfo.currentColor,\n\t\t\t} }\n\t\t\tonSelect={ ( block ) => {\n\t\t\t\tif ( ! block ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tupdateBlockAttributes( block.clientId, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tcolumnStart: column,\n\t\t\t\t\t\t\trowStart: row,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t[ block.clientId ],\n\t\t\t\t\tgridClientId,\n\t\t\t\t\tgridClientId,\n\t\t\t\t\tgetNumberOfBlocksBeforeCell( column, row )\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction useDropZoneWithValidation( {\n\tvalidateDrag,\n\tonDragEnter,\n\tonDragLeave,\n\tonDrop,\n} ) {\n\tconst { getDraggedBlockClientIds } = useSelect( blockEditorStore );\n\treturn useDropZone( {\n\t\tonDragEnter() {\n\t\t\tconst [ srcClientId ] = getDraggedBlockClientIds();\n\t\t\tif ( srcClientId && validateDrag( srcClientId ) ) {\n\t\t\t\tonDragEnter( srcClientId );\n\t\t\t}\n\t\t},\n\t\tonDragLeave() {\n\t\t\tonDragLeave();\n\t\t},\n\t\tonDrop() {\n\t\t\tconst [ srcClientId ] = getDraggedBlockClientIds();\n\t\t\tif ( srcClientId && validateDrag( srcClientId ) ) {\n\t\t\t\tonDrop( srcClientId );\n\t\t\t}\n\t\t},\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useState","useEffect","forwardRef","useMemo","useSelect","useDispatch","__experimentalUseDropZone","useDropZone","__unstableUseBlockElement","useBlockElement","BlockPopoverCover","range","GridRect","getGridInfo","store","blockEditorStore","useGetNumberOfBlocksBeforeCell","ButtonBlockAppender","jsx","_jsx","GridVisualizer","clientId","contentRef","parentLayout","isDistractionFree","select","getSettings","gridElement","isManualGrid","isManualPlacement","window","__experimentalEnableGridInteractivity","GridVisualizerGrid","gridClientId","ref","gridInfo","setGridInfo","isDroppingAllowed","setIsDroppingAllowed","observers","element","children","observer","ResizeObserver","observe","push","disconnect","onGlobalDrag","onGlobalDragEnd","document","addEventListener","removeEventListener","className","__unstablePopoverSlot","style","ManualGridVisualizer","Array","from","length","numItems","_","i","GridVisualizerCell","color","currentColor","highlightedRect","setHighlightedRect","gridItems","getBlocks","occupiedRects","rects","block","columnStart","rowStart","columnSpan","rowSpan","attributes","layout","numRows","map","row","numColumns","column","_highlightedRect$cont","isCellOccupied","some","rect","contains","isHighlighted","GridVisualizerDropZone","GridVisualizerAppender","boxShadow","useGridVisualizerDropZone","getBlockAttributes","getBlockRootClientId","updateBlockAttributes","moveBlocksToPosition","__unstableMarkNextChangeAsNotPersistent","getNumberOfBlocksBeforeCell","useDropZoneWithValidation","validateDrag","srcClientId","isInBounds","containsRect","onDragEnter","onDragLeave","prevHighlightedRect","onDrop","rootClientId","onSelect","getDraggedBlockClientIds"],"sources":["@wordpress/block-editor/src/components/grid/grid-visualizer.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, forwardRef, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __experimentalUseDropZone as useDropZone } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport BlockPopoverCover from '../block-popover/cover';\nimport { range, GridRect, getGridInfo } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport { useGetNumberOfBlocksBeforeCell } from './use-get-number-of-blocks-before-cell';\nimport ButtonBlockAppender from '../button-block-appender';\n\nexport function GridVisualizer( { clientId, contentRef, parentLayout } ) {\n\tconst isDistractionFree = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().isDistractionFree,\n\t\t[]\n\t);\n\tconst gridElement = useBlockElement( clientId );\n\n\tif ( isDistractionFree || ! gridElement ) {\n\t\treturn null;\n\t}\n\n\tconst isManualGrid =\n\t\tparentLayout?.isManualPlacement &&\n\t\twindow.__experimentalEnableGridInteractivity;\n\treturn (\n\t\t<GridVisualizerGrid\n\t\t\tgridClientId={ clientId }\n\t\t\tgridElement={ gridElement }\n\t\t\tisManualGrid={ isManualGrid }\n\t\t\tref={ contentRef }\n\t\t/>\n\t);\n}\n\nconst GridVisualizerGrid = forwardRef(\n\t( { gridClientId, gridElement, isManualGrid }, ref ) => {\n\t\tconst [ gridInfo, setGridInfo ] = useState( () =>\n\t\t\tgetGridInfo( gridElement )\n\t\t);\n\t\tconst [ isDroppingAllowed, setIsDroppingAllowed ] = useState( false );\n\n\t\tuseEffect( () => {\n\t\t\tconst observers = [];\n\t\t\tfor ( const element of [ gridElement, ...gridElement.children ] ) {\n\t\t\t\tconst observer = new window.ResizeObserver( () => {\n\t\t\t\t\tsetGridInfo( getGridInfo( gridElement ) );\n\t\t\t\t} );\n\t\t\t\tobserver.observe( element );\n\t\t\t\tobservers.push( observer );\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tfor ( const observer of observers ) {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t}\n\t\t\t};\n\t\t}, [ gridElement ] );\n\n\t\tuseEffect( () => {\n\t\t\tfunction onGlobalDrag() {\n\t\t\t\tsetIsDroppingAllowed( true );\n\t\t\t}\n\t\t\tfunction onGlobalDragEnd() {\n\t\t\t\tsetIsDroppingAllowed( false );\n\t\t\t}\n\t\t\tdocument.addEventListener( 'drag', onGlobalDrag );\n\t\t\tdocument.addEventListener( 'dragend', onGlobalDragEnd );\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener( 'drag', onGlobalDrag );\n\t\t\t\tdocument.removeEventListener( 'dragend', onGlobalDragEnd );\n\t\t\t};\n\t\t}, [] );\n\n\t\treturn (\n\t\t\t<BlockPopoverCover\n\t\t\t\tclassName={ clsx( 'block-editor-grid-visualizer', {\n\t\t\t\t\t'is-dropping-allowed': isDroppingAllowed,\n\t\t\t\t} ) }\n\t\t\t\tclientId={ gridClientId }\n\t\t\t\t__unstablePopoverSlot=\"__unstable-block-tools-after\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tclassName=\"block-editor-grid-visualizer__grid\"\n\t\t\t\t\tstyle={ gridInfo.style }\n\t\t\t\t>\n\t\t\t\t\t{ isManualGrid ? (\n\t\t\t\t\t\t<ManualGridVisualizer\n\t\t\t\t\t\t\tgridClientId={ gridClientId }\n\t\t\t\t\t\t\tgridInfo={ gridInfo }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tArray.from( { length: gridInfo.numItems }, ( _, i ) => (\n\t\t\t\t\t\t\t<GridVisualizerCell\n\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\tcolor={ gridInfo.currentColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) )\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</BlockPopoverCover>\n\t\t);\n\t}\n);\n\nfunction ManualGridVisualizer( { gridClientId, gridInfo } ) {\n\tconst [ highlightedRect, setHighlightedRect ] = useState( null );\n\n\tconst gridItems = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlocks( gridClientId ),\n\t\t[ gridClientId ]\n\t);\n\tconst occupiedRects = useMemo( () => {\n\t\tconst rects = [];\n\t\tfor ( const block of gridItems ) {\n\t\t\tconst {\n\t\t\t\tcolumnStart,\n\t\t\t\trowStart,\n\t\t\t\tcolumnSpan = 1,\n\t\t\t\trowSpan = 1,\n\t\t\t} = block.attributes.style?.layout || {};\n\t\t\tif ( ! columnStart || ! rowStart ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\trects.push(\n\t\t\t\tnew GridRect( {\n\t\t\t\t\tcolumnStart,\n\t\t\t\t\trowStart,\n\t\t\t\t\tcolumnSpan,\n\t\t\t\t\trowSpan,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t\treturn rects;\n\t}, [ gridItems ] );\n\n\treturn range( 1, gridInfo.numRows ).map( ( row ) =>\n\t\trange( 1, gridInfo.numColumns ).map( ( column ) => {\n\t\t\tconst isCellOccupied = occupiedRects.some( ( rect ) =>\n\t\t\t\trect.contains( column, row )\n\t\t\t);\n\t\t\tconst isHighlighted =\n\t\t\t\thighlightedRect?.contains( column, row ) ?? false;\n\t\t\treturn (\n\t\t\t\t<GridVisualizerCell\n\t\t\t\t\tkey={ `${ row }-${ column }` }\n\t\t\t\t\tcolor={ gridInfo.currentColor }\n\t\t\t\t\tclassName={ isHighlighted && 'is-highlighted' }\n\t\t\t\t>\n\t\t\t\t\t{ isCellOccupied ? (\n\t\t\t\t\t\t<GridVisualizerDropZone\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\trow={ row }\n\t\t\t\t\t\t\tgridClientId={ gridClientId }\n\t\t\t\t\t\t\tgridInfo={ gridInfo }\n\t\t\t\t\t\t\tsetHighlightedRect={ setHighlightedRect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<GridVisualizerAppender\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\trow={ row }\n\t\t\t\t\t\t\tgridClientId={ gridClientId }\n\t\t\t\t\t\t\tgridInfo={ gridInfo }\n\t\t\t\t\t\t\tsetHighlightedRect={ setHighlightedRect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</GridVisualizerCell>\n\t\t\t);\n\t\t} )\n\t);\n}\n\nfunction GridVisualizerCell( { color, children, className } ) {\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-grid-visualizer__cell',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\tboxShadow: `inset 0 0 0 1px color-mix(in srgb, ${ color } 20%, #0000)`,\n\t\t\t\tcolor,\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction useGridVisualizerDropZone(\n\tcolumn,\n\trow,\n\tgridClientId,\n\tgridInfo,\n\tsetHighlightedRect\n) {\n\tconst { getBlockAttributes, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tmoveBlocksToPosition,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\tgridClientId,\n\t\tgridInfo.numColumns\n\t);\n\n\treturn useDropZoneWithValidation( {\n\t\tvalidateDrag( srcClientId ) {\n\t\t\tconst attributes = getBlockAttributes( srcClientId );\n\t\t\tconst rect = new GridRect( {\n\t\t\t\tcolumnStart: column,\n\t\t\t\trowStart: row,\n\t\t\t\tcolumnSpan: attributes.style?.layout?.columnSpan,\n\t\t\t\trowSpan: attributes.style?.layout?.rowSpan,\n\t\t\t} );\n\t\t\tconst isInBounds = new GridRect( {\n\t\t\t\tcolumnSpan: gridInfo.numColumns,\n\t\t\t\trowSpan: gridInfo.numRows,\n\t\t\t} ).containsRect( rect );\n\t\t\treturn isInBounds;\n\t\t},\n\t\tonDragEnter( srcClientId ) {\n\t\t\tconst attributes = getBlockAttributes( srcClientId );\n\t\t\tsetHighlightedRect(\n\t\t\t\tnew GridRect( {\n\t\t\t\t\tcolumnStart: column,\n\t\t\t\t\trowStart: row,\n\t\t\t\t\tcolumnSpan: attributes.style?.layout?.columnSpan,\n\t\t\t\t\trowSpan: attributes.style?.layout?.rowSpan,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tonDragLeave() {\n\t\t\t// onDragEnter can be called before onDragLeave if the user moves\n\t\t\t// their mouse quickly, so only clear the highlight if it was set\n\t\t\t// by this cell.\n\t\t\tsetHighlightedRect( ( prevHighlightedRect ) =>\n\t\t\t\tprevHighlightedRect?.columnStart === column &&\n\t\t\t\tprevHighlightedRect?.rowStart === row\n\t\t\t\t\t? null\n\t\t\t\t\t: prevHighlightedRect\n\t\t\t);\n\t\t},\n\t\tonDrop( srcClientId ) {\n\t\t\tsetHighlightedRect( null );\n\t\t\tconst attributes = getBlockAttributes( srcClientId );\n\t\t\tupdateBlockAttributes( srcClientId, {\n\t\t\t\tstyle: {\n\t\t\t\t\t...attributes.style,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...attributes.style?.layout,\n\t\t\t\t\t\tcolumnStart: column,\n\t\t\t\t\t\trowStart: row,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tmoveBlocksToPosition(\n\t\t\t\t[ srcClientId ],\n\t\t\t\tgetBlockRootClientId( srcClientId ),\n\t\t\t\tgridClientId,\n\t\t\t\tgetNumberOfBlocksBeforeCell( column, row )\n\t\t\t);\n\t\t},\n\t} );\n}\n\nfunction GridVisualizerDropZone( {\n\tcolumn,\n\trow,\n\tgridClientId,\n\tgridInfo,\n\tsetHighlightedRect,\n} ) {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-grid-visualizer__drop-zone\"\n\t\t\tref={ useGridVisualizerDropZone(\n\t\t\t\tcolumn,\n\t\t\t\trow,\n\t\t\t\tgridClientId,\n\t\t\t\tgridInfo,\n\t\t\t\tsetHighlightedRect\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction GridVisualizerAppender( {\n\tcolumn,\n\trow,\n\tgridClientId,\n\tgridInfo,\n\tsetHighlightedRect,\n} ) {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tmoveBlocksToPosition,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst getNumberOfBlocksBeforeCell = useGetNumberOfBlocksBeforeCell(\n\t\tgridClientId,\n\t\tgridInfo.numColumns\n\t);\n\n\treturn (\n\t\t<ButtonBlockAppender\n\t\t\trootClientId={ gridClientId }\n\t\t\tclassName=\"block-editor-grid-visualizer__appender\"\n\t\t\tref={ useGridVisualizerDropZone(\n\t\t\t\tcolumn,\n\t\t\t\trow,\n\t\t\t\tgridClientId,\n\t\t\t\tgridInfo,\n\t\t\t\tsetHighlightedRect\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\tcolor: gridInfo.currentColor,\n\t\t\t} }\n\t\t\tonSelect={ ( block ) => {\n\t\t\t\tif ( ! block ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tupdateBlockAttributes( block.clientId, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tcolumnStart: column,\n\t\t\t\t\t\t\trowStart: row,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t[ block.clientId ],\n\t\t\t\t\tgridClientId,\n\t\t\t\t\tgridClientId,\n\t\t\t\t\tgetNumberOfBlocksBeforeCell( column, row )\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction useDropZoneWithValidation( {\n\tvalidateDrag,\n\tonDragEnter,\n\tonDragLeave,\n\tonDrop,\n} ) {\n\tconst { getDraggedBlockClientIds } = useSelect( blockEditorStore );\n\treturn useDropZone( {\n\t\tonDragEnter() {\n\t\t\tconst [ srcClientId ] = getDraggedBlockClientIds();\n\t\t\tif ( srcClientId && validateDrag( srcClientId ) ) {\n\t\t\t\tonDragEnter( srcClientId );\n\t\t\t}\n\t\t},\n\t\tonDragLeave() {\n\t\t\tonDragLeave();\n\t\t},\n\t\tonDrop() {\n\t\t\tconst [ srcClientId ] = getDraggedBlockClientIds();\n\t\t\tif ( srcClientId && validateDrag( srcClientId ) ) {\n\t\t\t\tonDrop( srcClientId );\n\t\t\t}\n\t\t},\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,8 @@
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
@@ -14,16 +15,19 @@ export function useGridLayoutSync({
14
15
  }) {
15
16
  const {
16
17
  gridLayout,
17
- blockOrder
18
+ blockOrder,
19
+ selectedBlockLayout
18
20
  } = useSelect(select => {
19
21
  var _getBlockAttributes$l;
20
22
  const {
21
23
  getBlockAttributes,
22
24
  getBlockOrder
23
25
  } = select(blockEditorStore);
26
+ const selectedBlock = select(blockEditorStore).getSelectedBlock();
24
27
  return {
25
28
  gridLayout: (_getBlockAttributes$l = getBlockAttributes(gridClientId).layout) !== null && _getBlockAttributes$l !== void 0 ? _getBlockAttributes$l : {},
26
- blockOrder: getBlockOrder(gridClientId)
29
+ blockOrder: getBlockOrder(gridClientId),
30
+ selectedBlockLayout: selectedBlock?.attributes.style?.layout
27
31
  };
28
32
  }, [gridClientId]);
29
33
  const {
@@ -33,29 +37,26 @@ export function useGridLayoutSync({
33
37
  updateBlockAttributes,
34
38
  __unstableMarkNextChangeAsNotPersistent
35
39
  } = useDispatch(blockEditorStore);
40
+ const selectedBlockRect = useMemo(() => selectedBlockLayout ? new GridRect(selectedBlockLayout) : null, [selectedBlockLayout]);
41
+ const previouslySelectedBlockRect = usePrevious(selectedBlockRect);
36
42
  useEffect(() => {
37
43
  const updates = {};
38
- const {
39
- columnCount,
40
- rowCount,
41
- isManualPlacement
42
- } = gridLayout;
43
- if (isManualPlacement) {
44
- const rects = [];
44
+ if (gridLayout.isManualPlacement) {
45
+ const occupiedRects = [];
45
46
 
46
47
  // Respect the position of blocks that already have a columnStart and rowStart value.
47
48
  for (const clientId of blockOrder) {
48
- const attributes = getBlockAttributes(clientId);
49
+ var _getBlockAttributes$s;
49
50
  const {
50
51
  columnStart,
51
52
  rowStart,
52
53
  columnSpan = 1,
53
54
  rowSpan = 1
54
- } = attributes.style?.layout || {};
55
+ } = (_getBlockAttributes$s = getBlockAttributes(clientId).style?.layout) !== null && _getBlockAttributes$s !== void 0 ? _getBlockAttributes$s : {};
55
56
  if (!columnStart || !rowStart) {
56
57
  continue;
57
58
  }
58
- rects.push(new GridRect({
59
+ occupiedRects.push(new GridRect({
59
60
  columnStart,
60
61
  rowStart,
61
62
  columnSpan,
@@ -65,18 +66,19 @@ export function useGridLayoutSync({
65
66
 
66
67
  // When in manual mode, ensure that every block has a columnStart and rowStart value.
67
68
  for (const clientId of blockOrder) {
69
+ var _attributes$style$lay;
68
70
  const attributes = getBlockAttributes(clientId);
69
71
  const {
70
72
  columnStart,
71
73
  rowStart,
72
74
  columnSpan = 1,
73
75
  rowSpan = 1
74
- } = attributes.style?.layout || {};
76
+ } = (_attributes$style$lay = attributes.style?.layout) !== null && _attributes$style$lay !== void 0 ? _attributes$style$lay : {};
75
77
  if (columnStart && rowStart) {
76
78
  continue;
77
79
  }
78
- const [newColumnStart, newRowStart] = getFirstEmptyCell(rects, columnCount, columnSpan, rowSpan);
79
- rects.push(new GridRect({
80
+ const [newColumnStart, newRowStart] = placeBlock(occupiedRects, gridLayout.columnCount, columnSpan, rowSpan, previouslySelectedBlockRect?.columnEnd, previouslySelectedBlockRect?.rowEnd);
81
+ occupiedRects.push(new GridRect({
80
82
  columnStart: newColumnStart,
81
83
  rowStart: newRowStart,
82
84
  columnSpan,
@@ -95,8 +97,8 @@ export function useGridLayoutSync({
95
97
  }
96
98
 
97
99
  // Ensure there's enough rows to fit all blocks.
98
- const bottomMostRow = Math.max(...rects.map(r => r.rowEnd));
99
- if (!rowCount || rowCount < bottomMostRow) {
100
+ const bottomMostRow = Math.max(...occupiedRects.map(r => r.rowEnd));
101
+ if (!gridLayout.rowCount || gridLayout.rowCount < bottomMostRow) {
100
102
  updates[gridClientId] = {
101
103
  layout: {
102
104
  ...gridLayout,
@@ -107,12 +109,13 @@ export function useGridLayoutSync({
107
109
  } else {
108
110
  // When in auto mode, remove all of the columnStart and rowStart values.
109
111
  for (const clientId of blockOrder) {
112
+ var _attributes$style$lay2;
110
113
  const attributes = getBlockAttributes(clientId);
111
114
  const {
112
115
  columnStart,
113
116
  rowStart,
114
117
  ...layout
115
- } = attributes.style?.layout || {};
118
+ } = (_attributes$style$lay2 = attributes.style?.layout) !== null && _attributes$style$lay2 !== void 0 ? _attributes$style$lay2 : {};
116
119
  // Only update attributes if columnStart or rowStart are set.
117
120
  if (columnStart || rowStart) {
118
121
  updates[clientId] = {
@@ -125,7 +128,7 @@ export function useGridLayoutSync({
125
128
  }
126
129
 
127
130
  // Remove row styles in auto mode
128
- if (rowCount) {
131
+ if (gridLayout.rowCount) {
129
132
  updates[gridClientId] = {
130
133
  layout: {
131
134
  ...gridLayout,
@@ -140,20 +143,29 @@ export function useGridLayoutSync({
140
143
  }
141
144
  }, [
142
145
  // Actual deps to sync:
143
- gridClientId, gridLayout, blockOrder,
144
- // Needed for linter:
146
+ gridClientId, gridLayout, blockOrder, previouslySelectedBlockRect,
147
+ // These won't change, but the linter thinks they might:
145
148
  __unstableMarkNextChangeAsNotPersistent, getBlockAttributes, updateBlockAttributes]);
146
149
  }
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({
150
+
151
+ /**
152
+ * @param {GridRect[]} occupiedRects
153
+ * @param {number} gridColumnCount
154
+ * @param {number} blockColumnSpan
155
+ * @param {number} blockRowSpan
156
+ * @param {number?} startColumn
157
+ * @param {number?} startRow
158
+ */
159
+ function placeBlock(occupiedRects, gridColumnCount, blockColumnSpan, blockRowSpan, startColumn = 1, startRow = 1) {
160
+ for (let row = startRow;; row++) {
161
+ for (let column = row === startRow ? startColumn : 1; column <= gridColumnCount; column++) {
162
+ const candidateRect = new GridRect({
151
163
  columnStart: column,
152
164
  rowStart: row,
153
- columnSpan,
154
- rowSpan
165
+ columnSpan: blockColumnSpan,
166
+ rowSpan: blockRowSpan
155
167
  });
156
- if (!rects.some(r => r.intersectsRect(rect))) {
168
+ if (!occupiedRects.some(r => r.intersectsRect(candidateRect))) {
157
169
  return [column, row];
158
170
  }
159
171
  }
@@ -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","useGridLayoutSync","clientId","gridClientId","gridLayout","blockOrder","selectedBlockLayout","select","_getBlockAttributes$l","getBlockAttributes","getBlockOrder","selectedBlock","getSelectedBlock","layout","attributes","style","updateBlockAttributes","__unstableMarkNextChangeAsNotPersistent","selectedBlockRect","previouslySelectedBlockRect","updates","isManualPlacement","occupiedRects","_getBlockAttributes$s","columnStart","rowStart","columnSpan","rowSpan","push","_attributes$style$lay","newColumnStart","newRowStart","placeBlock","columnCount","columnEnd","rowEnd","bottomMostRow","Math","max","map","r","rowCount","_attributes$style$lay2","undefined","Object","keys","length","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';\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 } = useSelect( 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\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\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 ( 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\tblockOrder,\n\t\tpreviouslySelectedBlockRect,\n\t\t// These won't change, but the linter thinks they might:\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tgetBlockAttributes,\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":[]}
@@ -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, {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useMergeRefs","forwardRef","useMemo","memo","useSelect","getBlockSupport","store","blocksStore","__unstableGetInnerBlocksProps","getInnerBlocksProps","ButtonBlockAppender","DefaultBlockAppender","useNestedSettingsUpdate","useInnerBlockTemplateSync","useBlockContext","BlockListItems","BlockContextProvider","useBlockEditContext","useBlockSync","blockEditorStore","useBlockDropZone","unlock","jsx","_jsx","EMPTY_OBJECT","BlockContext","children","clientId","context","value","BlockListItemsMemo","UncontrolledInnerBlocks","props","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","template","templateLock","wrapperRef","templateInsertUpdatesSelection","__experimentalCaptureToolbars","captureToolbars","__experimentalAppenderTagName","renderAppender","orientation","placeholder","layout","name","blockType","parentLock","defaultLayout","defaultLayoutBlockSupport","allowSizingOnChildren","usedLayout","memoedLayout","items","rootClientId","Object","keys","providesContext","length","ControlledInnerBlocks","ForwardedInnerBlocks","ref","innerBlocksProps","useInnerBlocksProps","className","options","__unstableDisableLayoutClassNames","__unstableDisableDropZone","dropZoneElement","__unstableLayoutClassNames","layoutClassNames","selected","select","getBlockName","isBlockSelected","hasSelectedInnerBlock","__unstableGetEditorMode","getTemplateLock","getBlockRootClientId","getBlockEditingMode","getBlockSettings","isDragging","getSettings","_isDropZoneDisabled","sectionRootClientId","isDropZoneDisabled","hasBlockSupport","getBlockType","blockName","enableClickThrough","blockEditingMode","parentClientId","undefined","hasOverlay","blockDropZoneRef","isManualPlacement","window","__experimentalEnableGridInteractivity","InnerBlocks","onChange","save","Content"],"sources":["@wordpress/block-editor/src/components/inner-blocks/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useMemo, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tgetBlockSupport,\n\tstore as blocksStore,\n\t__unstableGetInnerBlocksProps as getInnerBlocksProps,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ButtonBlockAppender from './button-block-appender';\nimport DefaultBlockAppender from './default-block-appender';\nimport useNestedSettingsUpdate from './use-nested-settings-update';\nimport useInnerBlockTemplateSync from './use-inner-block-template-sync';\nimport useBlockContext from './use-block-context';\nimport { BlockListItems } from '../block-list';\nimport { BlockContextProvider } from '../block-context';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useBlockSync from '../provider/use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_OBJECT = {};\n\nfunction BlockContext( { children, clientId } ) {\n\tconst context = useBlockContext( clientId );\n\treturn (\n\t\t<BlockContextProvider value={ context }>\n\t\t\t{ children }\n\t\t</BlockContextProvider>\n\t);\n}\n\nconst BlockListItemsMemo = memo( BlockListItems );\n\n/**\n * InnerBlocks is a component which allows a single block to have multiple blocks\n * as children. The UncontrolledInnerBlocks component is used whenever the inner\n * blocks are not controlled by another entity. In other words, it is normally\n * used for inner blocks in the post editor\n *\n * @param {Object} props The component props.\n */\nfunction UncontrolledInnerBlocks( props ) {\n\tconst {\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\twrapperRef,\n\t\ttemplateInsertUpdatesSelection,\n\t\t__experimentalCaptureToolbars: captureToolbars,\n\t\t__experimentalAppenderTagName,\n\t\trenderAppender,\n\t\torientation,\n\t\tplaceholder,\n\t\tlayout,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tdefaultLayout,\n\t} = props;\n\n\tuseNestedSettingsUpdate(\n\t\tclientId,\n\t\tparentLock,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplateLock,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout\n\t);\n\n\tuseInnerBlockTemplateSync(\n\t\tclientId,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection\n\t);\n\n\tconst defaultLayoutBlockSupport =\n\t\tgetBlockSupport( name, 'layout' ) ||\n\t\tgetBlockSupport( name, '__experimentalLayout' ) ||\n\t\tEMPTY_OBJECT;\n\n\tconst { allowSizingOnChildren = false } = defaultLayoutBlockSupport;\n\tconst usedLayout = layout || defaultLayoutBlockSupport;\n\n\tconst memoedLayout = useMemo(\n\t\t() => ( {\n\t\t\t// Default layout will know about any content/wide size defined by the theme.\n\t\t\t...defaultLayout,\n\t\t\t...usedLayout,\n\t\t\t...( allowSizingOnChildren && {\n\t\t\t\tallowSizingOnChildren: true,\n\t\t\t} ),\n\t\t} ),\n\t\t[ defaultLayout, usedLayout, allowSizingOnChildren ]\n\t);\n\n\t// For controlled inner blocks, we don't want a change in blocks to\n\t// re-render the blocks list.\n\tconst items = (\n\t\t<BlockListItemsMemo\n\t\t\trootClientId={ clientId }\n\t\t\trenderAppender={ renderAppender }\n\t\t\t__experimentalAppenderTagName={ __experimentalAppenderTagName }\n\t\t\tlayout={ memoedLayout }\n\t\t\twrapperRef={ wrapperRef }\n\t\t\tplaceholder={ placeholder }\n\t\t/>\n\t);\n\n\tif ( Object.keys( blockType.providesContext ).length === 0 ) {\n\t\treturn items;\n\t}\n\n\treturn <BlockContext clientId={ clientId }>{ items }</BlockContext>;\n}\n\n/**\n * The controlled inner blocks component wraps the uncontrolled inner blocks\n * component with the blockSync hook. This keeps the innerBlocks of the block in\n * the block-editor store in sync with the blocks of the controlling entity. An\n * example of an inner block controller is a template part block, which provides\n * its own blocks from the template part entity data source.\n *\n * @param {Object} props The component props.\n */\nfunction ControlledInnerBlocks( props ) {\n\tuseBlockSync( props );\n\treturn <UncontrolledInnerBlocks { ...props } />;\n}\n\nconst ForwardedInnerBlocks = forwardRef( ( props, ref ) => {\n\tconst innerBlocksProps = useInnerBlocksProps( { ref }, props );\n\treturn (\n\t\t<div className=\"block-editor-inner-blocks\">\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n} );\n\n/**\n * This hook is used to lightly mark an element as an inner blocks wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * an inner blocks wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Optional. Inner blocks options.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport function useInnerBlocksProps( props = {}, options = {} ) {\n\tconst {\n\t\t__unstableDisableLayoutClassNames,\n\t\t__unstableDisableDropZone,\n\t\tdropZoneElement,\n\t} = options;\n\tconst {\n\t\tclientId,\n\t\tlayout = null,\n\t\t__unstableLayoutClassNames: layoutClassNames = '',\n\t} = useBlockEditContext();\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockSettings,\n\t\t\t\tisDragging,\n\t\t\t\tgetSettings,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tlet _isDropZoneDisabled;\n\t\t\t// In zoom out mode, we want to disable the drop zone for the sections.\n\t\t\t// The inner blocks belonging to the section drop zone is\n\t\t\t// already disabled by the blocks themselves being disabled.\n\t\t\tif ( __unstableGetEditorMode() === 'zoom-out' ) {\n\t\t\t\tconst { sectionRootClientId } = unlock( getSettings() );\n\t\t\t\t_isDropZoneDisabled = clientId !== sectionRootClientId;\n\t\t\t}\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn { isDropZoneDisabled: _isDropZoneDisabled };\n\t\t\t}\n\n\t\t\tconst { hasBlockSupport, getBlockType } = select( blocksStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst enableClickThrough =\n\t\t\t\t__unstableGetEditorMode() === 'navigation';\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\t\t\tconst parentClientId = getBlockRootClientId( clientId );\n\t\t\tconst [ defaultLayout ] = getBlockSettings( clientId, 'layout' );\n\n\t\t\tif ( _isDropZoneDisabled !== undefined ) {\n\t\t\t\t_isDropZoneDisabled = blockEditingMode === 'disabled';\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t__experimentalCaptureToolbars: hasBlockSupport(\n\t\t\t\t\tblockName,\n\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasOverlay:\n\t\t\t\t\tblockName !== 'core/template' &&\n\t\t\t\t\t! isBlockSelected( clientId ) &&\n\t\t\t\t\t! hasSelectedInnerBlock( clientId, true ) &&\n\t\t\t\t\tenableClickThrough &&\n\t\t\t\t\t! isDragging(),\n\t\t\t\tname: blockName,\n\t\t\t\tblockType: getBlockType( blockName ),\n\t\t\t\tparentLock: getTemplateLock( parentClientId ),\n\t\t\t\tparentClientId,\n\t\t\t\tisDropZoneDisabled: _isDropZoneDisabled,\n\t\t\t\tdefaultLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\t__experimentalCaptureToolbars,\n\t\thasOverlay,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tparentClientId,\n\t\tisDropZoneDisabled,\n\t\tdefaultLayout,\n\t} = selected;\n\n\tconst blockDropZoneRef = useBlockDropZone( {\n\t\tdropZoneElement,\n\t\trootClientId: clientId,\n\t\tparentClientId,\n\t} );\n\n\tconst ref = useMergeRefs( [\n\t\tprops.ref,\n\t\t__unstableDisableDropZone ||\n\t\tisDropZoneDisabled ||\n\t\t( layout?.isManualPlacement &&\n\t\t\twindow.__experimentalEnableGridInteractivity )\n\t\t\t? null\n\t\t\t: blockDropZoneRef,\n\t] );\n\n\tconst innerBlocksProps = {\n\t\t__experimentalCaptureToolbars,\n\t\tlayout,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tdefaultLayout,\n\t\t...options,\n\t};\n\tconst InnerBlocks =\n\t\tinnerBlocksProps.value && innerBlocksProps.onChange\n\t\t\t? ControlledInnerBlocks\n\t\t\t: UncontrolledInnerBlocks;\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: clsx(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-list__layout',\n\t\t\t__unstableDisableLayoutClassNames ? '' : layoutClassNames,\n\t\t\t{\n\t\t\t\t'has-overlay': hasOverlay,\n\t\t\t}\n\t\t),\n\t\tchildren: clientId ? (\n\t\t\t<InnerBlocks { ...innerBlocksProps } clientId={ clientId } />\n\t\t) : (\n\t\t\t<BlockListItems { ...options } />\n\t\t),\n\t};\n}\n\nuseInnerBlocksProps.save = getInnerBlocksProps;\n\n// Expose default appender placeholders as components.\nForwardedInnerBlocks.DefaultBlockAppender = DefaultBlockAppender;\nForwardedInnerBlocks.ButtonBlockAppender = ButtonBlockAppender;\n\nForwardedInnerBlocks.Content = () => useInnerBlocksProps.save().children;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport default ForwardedInnerBlocks;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useMergeRefs","forwardRef","useMemo","memo","useSelect","getBlockSupport","store","blocksStore","__unstableGetInnerBlocksProps","getInnerBlocksProps","ButtonBlockAppender","DefaultBlockAppender","useNestedSettingsUpdate","useInnerBlockTemplateSync","useBlockContext","BlockListItems","BlockContextProvider","useBlockEditContext","useBlockSync","blockEditorStore","useBlockDropZone","unlock","jsx","_jsx","EMPTY_OBJECT","BlockContext","children","clientId","context","value","BlockListItemsMemo","UncontrolledInnerBlocks","props","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","template","templateLock","wrapperRef","templateInsertUpdatesSelection","__experimentalCaptureToolbars","captureToolbars","__experimentalAppenderTagName","renderAppender","orientation","placeholder","layout","name","blockType","parentLock","defaultLayout","defaultLayoutBlockSupport","allowSizingOnChildren","usedLayout","memoedLayout","items","rootClientId","providesContext","Object","keys","length","ControlledInnerBlocks","ForwardedInnerBlocks","ref","innerBlocksProps","useInnerBlocksProps","className","options","__unstableDisableLayoutClassNames","__unstableDisableDropZone","dropZoneElement","__unstableLayoutClassNames","layoutClassNames","selected","select","getBlockName","isBlockSelected","hasSelectedInnerBlock","__unstableGetEditorMode","getTemplateLock","getBlockRootClientId","getBlockEditingMode","getBlockSettings","isDragging","getSettings","_isDropZoneDisabled","sectionRootClientId","isDropZoneDisabled","hasBlockSupport","getBlockType","blockName","enableClickThrough","blockEditingMode","parentClientId","undefined","hasOverlay","blockDropZoneRef","isManualPlacement","window","__experimentalEnableGridInteractivity","InnerBlocks","onChange","save","Content"],"sources":["@wordpress/block-editor/src/components/inner-blocks/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useMemo, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tgetBlockSupport,\n\tstore as blocksStore,\n\t__unstableGetInnerBlocksProps as getInnerBlocksProps,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ButtonBlockAppender from './button-block-appender';\nimport DefaultBlockAppender from './default-block-appender';\nimport useNestedSettingsUpdate from './use-nested-settings-update';\nimport useInnerBlockTemplateSync from './use-inner-block-template-sync';\nimport useBlockContext from './use-block-context';\nimport { BlockListItems } from '../block-list';\nimport { BlockContextProvider } from '../block-context';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useBlockSync from '../provider/use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_OBJECT = {};\n\nfunction BlockContext( { children, clientId } ) {\n\tconst context = useBlockContext( clientId );\n\treturn (\n\t\t<BlockContextProvider value={ context }>\n\t\t\t{ children }\n\t\t</BlockContextProvider>\n\t);\n}\n\nconst BlockListItemsMemo = memo( BlockListItems );\n\n/**\n * InnerBlocks is a component which allows a single block to have multiple blocks\n * as children. The UncontrolledInnerBlocks component is used whenever the inner\n * blocks are not controlled by another entity. In other words, it is normally\n * used for inner blocks in the post editor\n *\n * @param {Object} props The component props.\n */\nfunction UncontrolledInnerBlocks( props ) {\n\tconst {\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\twrapperRef,\n\t\ttemplateInsertUpdatesSelection,\n\t\t__experimentalCaptureToolbars: captureToolbars,\n\t\t__experimentalAppenderTagName,\n\t\trenderAppender,\n\t\torientation,\n\t\tplaceholder,\n\t\tlayout,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tdefaultLayout,\n\t} = props;\n\n\tuseNestedSettingsUpdate(\n\t\tclientId,\n\t\tparentLock,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplateLock,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout\n\t);\n\n\tuseInnerBlockTemplateSync(\n\t\tclientId,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection\n\t);\n\n\tconst defaultLayoutBlockSupport =\n\t\tgetBlockSupport( name, 'layout' ) ||\n\t\tgetBlockSupport( name, '__experimentalLayout' ) ||\n\t\tEMPTY_OBJECT;\n\n\tconst { allowSizingOnChildren = false } = defaultLayoutBlockSupport;\n\tconst usedLayout = layout || defaultLayoutBlockSupport;\n\n\tconst memoedLayout = useMemo(\n\t\t() => ( {\n\t\t\t// Default layout will know about any content/wide size defined by the theme.\n\t\t\t...defaultLayout,\n\t\t\t...usedLayout,\n\t\t\t...( allowSizingOnChildren && {\n\t\t\t\tallowSizingOnChildren: true,\n\t\t\t} ),\n\t\t} ),\n\t\t[ defaultLayout, usedLayout, allowSizingOnChildren ]\n\t);\n\n\t// For controlled inner blocks, we don't want a change in blocks to\n\t// re-render the blocks list.\n\tconst items = (\n\t\t<BlockListItemsMemo\n\t\t\trootClientId={ clientId }\n\t\t\trenderAppender={ renderAppender }\n\t\t\t__experimentalAppenderTagName={ __experimentalAppenderTagName }\n\t\t\tlayout={ memoedLayout }\n\t\t\twrapperRef={ wrapperRef }\n\t\t\tplaceholder={ placeholder }\n\t\t/>\n\t);\n\n\tif (\n\t\t! blockType?.providesContext ||\n\t\tObject.keys( blockType.providesContext ).length === 0\n\t) {\n\t\treturn items;\n\t}\n\n\treturn <BlockContext clientId={ clientId }>{ items }</BlockContext>;\n}\n\n/**\n * The controlled inner blocks component wraps the uncontrolled inner blocks\n * component with the blockSync hook. This keeps the innerBlocks of the block in\n * the block-editor store in sync with the blocks of the controlling entity. An\n * example of an inner block controller is a template part block, which provides\n * its own blocks from the template part entity data source.\n *\n * @param {Object} props The component props.\n */\nfunction ControlledInnerBlocks( props ) {\n\tuseBlockSync( props );\n\treturn <UncontrolledInnerBlocks { ...props } />;\n}\n\nconst ForwardedInnerBlocks = forwardRef( ( props, ref ) => {\n\tconst innerBlocksProps = useInnerBlocksProps( { ref }, props );\n\treturn (\n\t\t<div className=\"block-editor-inner-blocks\">\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n} );\n\n/**\n * This hook is used to lightly mark an element as an inner blocks wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * an inner blocks wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Optional. Inner blocks options.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport function useInnerBlocksProps( props = {}, options = {} ) {\n\tconst {\n\t\t__unstableDisableLayoutClassNames,\n\t\t__unstableDisableDropZone,\n\t\tdropZoneElement,\n\t} = options;\n\tconst {\n\t\tclientId,\n\t\tlayout = null,\n\t\t__unstableLayoutClassNames: layoutClassNames = '',\n\t} = useBlockEditContext();\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockSettings,\n\t\t\t\tisDragging,\n\t\t\t\tgetSettings,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tlet _isDropZoneDisabled;\n\t\t\t// In zoom out mode, we want to disable the drop zone for the sections.\n\t\t\t// The inner blocks belonging to the section drop zone is\n\t\t\t// already disabled by the blocks themselves being disabled.\n\t\t\tif ( __unstableGetEditorMode() === 'zoom-out' ) {\n\t\t\t\tconst { sectionRootClientId } = unlock( getSettings() );\n\t\t\t\t_isDropZoneDisabled = clientId !== sectionRootClientId;\n\t\t\t}\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn { isDropZoneDisabled: _isDropZoneDisabled };\n\t\t\t}\n\n\t\t\tconst { hasBlockSupport, getBlockType } = select( blocksStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst enableClickThrough =\n\t\t\t\t__unstableGetEditorMode() === 'navigation';\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\t\t\tconst parentClientId = getBlockRootClientId( clientId );\n\t\t\tconst [ defaultLayout ] = getBlockSettings( clientId, 'layout' );\n\n\t\t\tif ( _isDropZoneDisabled !== undefined ) {\n\t\t\t\t_isDropZoneDisabled = blockEditingMode === 'disabled';\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t__experimentalCaptureToolbars: hasBlockSupport(\n\t\t\t\t\tblockName,\n\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasOverlay:\n\t\t\t\t\tblockName !== 'core/template' &&\n\t\t\t\t\t! isBlockSelected( clientId ) &&\n\t\t\t\t\t! hasSelectedInnerBlock( clientId, true ) &&\n\t\t\t\t\tenableClickThrough &&\n\t\t\t\t\t! isDragging(),\n\t\t\t\tname: blockName,\n\t\t\t\tblockType: getBlockType( blockName ),\n\t\t\t\tparentLock: getTemplateLock( parentClientId ),\n\t\t\t\tparentClientId,\n\t\t\t\tisDropZoneDisabled: _isDropZoneDisabled,\n\t\t\t\tdefaultLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\t__experimentalCaptureToolbars,\n\t\thasOverlay,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tparentClientId,\n\t\tisDropZoneDisabled,\n\t\tdefaultLayout,\n\t} = selected;\n\n\tconst blockDropZoneRef = useBlockDropZone( {\n\t\tdropZoneElement,\n\t\trootClientId: clientId,\n\t\tparentClientId,\n\t} );\n\n\tconst ref = useMergeRefs( [\n\t\tprops.ref,\n\t\t__unstableDisableDropZone ||\n\t\tisDropZoneDisabled ||\n\t\t( layout?.isManualPlacement &&\n\t\t\twindow.__experimentalEnableGridInteractivity )\n\t\t\t? null\n\t\t\t: blockDropZoneRef,\n\t] );\n\n\tconst innerBlocksProps = {\n\t\t__experimentalCaptureToolbars,\n\t\tlayout,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tdefaultLayout,\n\t\t...options,\n\t};\n\tconst InnerBlocks =\n\t\tinnerBlocksProps.value && innerBlocksProps.onChange\n\t\t\t? ControlledInnerBlocks\n\t\t\t: UncontrolledInnerBlocks;\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: clsx(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-list__layout',\n\t\t\t__unstableDisableLayoutClassNames ? '' : layoutClassNames,\n\t\t\t{\n\t\t\t\t'has-overlay': hasOverlay,\n\t\t\t}\n\t\t),\n\t\tchildren: clientId ? (\n\t\t\t<InnerBlocks { ...innerBlocksProps } clientId={ clientId } />\n\t\t) : (\n\t\t\t<BlockListItems { ...options } />\n\t\t),\n\t};\n}\n\nuseInnerBlocksProps.save = getInnerBlocksProps;\n\n// Expose default appender placeholders as components.\nForwardedInnerBlocks.DefaultBlockAppender = DefaultBlockAppender;\nForwardedInnerBlocks.ButtonBlockAppender = ButtonBlockAppender;\n\nForwardedInnerBlocks.Content = () => useInnerBlocksProps.save().children;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport default ForwardedInnerBlocks;\n"],"mappings":"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","ignoreList":[]}