@wordpress/block-editor 12.3.0 → 12.3.1

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 (897) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +12 -0
  3. package/build/autocompleters/block.js +5 -3
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/alignment-control/index.js +4 -6
  6. package/build/components/alignment-control/index.js.map +1 -1
  7. package/build/components/alignment-control/ui.js +5 -9
  8. package/build/components/alignment-control/ui.js.map +1 -1
  9. package/build/components/autocomplete/index.js +2 -4
  10. package/build/components/autocomplete/index.js.map +1 -1
  11. package/build/components/block-actions/index.js +4 -0
  12. package/build/components/block-actions/index.js.map +1 -1
  13. package/build/components/block-alignment-control/constants.js +1 -5
  14. package/build/components/block-alignment-control/constants.js.map +1 -1
  15. package/build/components/block-alignment-control/index.js +4 -6
  16. package/build/components/block-alignment-control/index.js.map +1 -1
  17. package/build/components/block-alignment-control/ui.js +3 -4
  18. package/build/components/block-alignment-control/ui.js.map +1 -1
  19. package/build/components/block-alignment-control/ui.native.js +3 -3
  20. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  21. package/build/components/block-alignment-matrix-control/index.js +0 -1
  22. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  23. package/build/components/block-breadcrumb/index.js +2 -3
  24. package/build/components/block-breadcrumb/index.js.map +1 -1
  25. package/build/components/block-controls/fill.js +2 -1
  26. package/build/components/block-controls/fill.js.map +1 -1
  27. package/build/components/block-controls/index.js +8 -8
  28. package/build/components/block-controls/index.js.map +1 -1
  29. package/build/components/block-controls/slot.js +2 -4
  30. package/build/components/block-controls/slot.js.map +1 -1
  31. package/build/components/block-controls/slot.native.js +4 -2
  32. package/build/components/block-controls/slot.native.js.map +1 -1
  33. package/build/components/block-edit/edit.js +4 -6
  34. package/build/components/block-edit/edit.js.map +1 -1
  35. package/build/components/block-edit/edit.native.js +2 -4
  36. package/build/components/block-edit/edit.native.js.map +1 -1
  37. package/build/components/block-edit/index.js +3 -2
  38. package/build/components/block-edit/index.js.map +1 -1
  39. package/build/components/block-heading-level-dropdown/heading-level-icon.js +47 -0
  40. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  41. package/build/components/block-heading-level-dropdown/index.js +83 -0
  42. package/build/components/block-heading-level-dropdown/index.js.map +1 -0
  43. package/build/components/block-heading-level-dropdown/index.native.js +72 -0
  44. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -0
  45. package/build/components/block-icon/index.native.js +6 -7
  46. package/build/components/block-icon/index.native.js.map +1 -1
  47. package/build/components/block-info-slot-fill/index.js +4 -2
  48. package/build/components/block-info-slot-fill/index.js.map +1 -1
  49. package/build/components/block-inspector/index.js +20 -87
  50. package/build/components/block-inspector/index.js.map +1 -1
  51. package/build/components/block-list/block-list-item.native.js +4 -2
  52. package/build/components/block-list/block-list-item.native.js.map +1 -1
  53. package/build/components/block-list/block.js +6 -4
  54. package/build/components/block-list/block.js.map +1 -1
  55. package/build/components/block-list/block.native.js +1 -0
  56. package/build/components/block-list/block.native.js.map +1 -1
  57. package/build/components/block-list/index.js +7 -4
  58. package/build/components/block-list/index.js.map +1 -1
  59. package/build/components/block-list/index.native.js +8 -9
  60. package/build/components/block-list/index.native.js.map +1 -1
  61. package/build/components/block-list/subdirectory-icon.js +4 -7
  62. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  63. package/build/components/block-list/use-in-between-inserter.js +1 -3
  64. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  65. package/build/components/block-list-appender/index.js +21 -19
  66. package/build/components/block-list-appender/index.js.map +1 -1
  67. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  68. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  69. package/build/components/block-mover/button.js +12 -12
  70. package/build/components/block-mover/button.js.map +1 -1
  71. package/build/components/block-mover/index.js +11 -10
  72. package/build/components/block-mover/index.js.map +1 -1
  73. package/build/components/block-navigation/dropdown.js +4 -6
  74. package/build/components/block-navigation/dropdown.js.map +1 -1
  75. package/build/components/block-parent-selector/index.js +4 -5
  76. package/build/components/block-parent-selector/index.js.map +1 -1
  77. package/build/components/block-pattern-setup/index.js +6 -8
  78. package/build/components/block-pattern-setup/index.js.map +1 -1
  79. package/build/components/block-patterns-list/index.js +6 -8
  80. package/build/components/block-patterns-list/index.js.map +1 -1
  81. package/build/components/block-popover/inbetween.js +4 -6
  82. package/build/components/block-popover/inbetween.js.map +1 -1
  83. package/build/components/block-popover/index.js +4 -6
  84. package/build/components/block-popover/index.js.map +1 -1
  85. package/build/components/block-preview/auto.js +2 -4
  86. package/build/components/block-preview/auto.js.map +1 -1
  87. package/build/components/block-preview/index.js +7 -7
  88. package/build/components/block-preview/index.js.map +1 -1
  89. package/build/components/block-quick-navigation/index.js +83 -0
  90. package/build/components/block-quick-navigation/index.js.map +1 -0
  91. package/build/components/block-removal-warning-modal/index.js +90 -0
  92. package/build/components/block-removal-warning-modal/index.js.map +1 -0
  93. package/build/components/block-selection-clearer/index.js +4 -7
  94. package/build/components/block-selection-clearer/index.js.map +1 -1
  95. package/build/components/block-settings/button.native.js +2 -1
  96. package/build/components/block-settings/button.native.js.map +1 -1
  97. package/build/components/block-settings/container.native.js +6 -6
  98. package/build/components/block-settings/container.native.js.map +1 -1
  99. package/build/components/block-settings-menu/block-settings-dropdown.js +10 -11
  100. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  101. package/build/components/block-settings-menu/index.js +4 -5
  102. package/build/components/block-settings-menu/index.js.map +1 -1
  103. package/build/components/block-settings-menu-controls/index.js +4 -5
  104. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  105. package/build/components/block-switcher/index.js +1 -2
  106. package/build/components/block-switcher/index.js.map +1 -1
  107. package/build/components/block-switcher/pattern-transformations-menu.js +6 -8
  108. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  109. package/build/components/block-toolbar/index.js +4 -5
  110. package/build/components/block-toolbar/index.js.map +1 -1
  111. package/build/components/block-tools/block-contextual-toolbar.js +4 -5
  112. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  113. package/build/components/block-tools/block-selection-button.js +4 -5
  114. package/build/components/block-tools/block-selection-button.js.map +1 -1
  115. package/build/components/block-tools/index.js +13 -6
  116. package/build/components/block-tools/index.js.map +1 -1
  117. package/build/components/block-tools/insertion-point.js +5 -5
  118. package/build/components/block-tools/insertion-point.js.map +1 -1
  119. package/build/components/block-tools/selected-block-popover.js +8 -8
  120. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  121. package/build/components/block-types-list/index.native.js +4 -6
  122. package/build/components/block-types-list/index.native.js.map +1 -1
  123. package/build/components/block-vertical-alignment-control/index.js +4 -6
  124. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  125. package/build/components/block-vertical-alignment-control/ui.js +5 -12
  126. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  127. package/build/components/border-radius-control/all-input-control.js +2 -6
  128. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  129. package/build/components/border-radius-control/input-controls.js +2 -6
  130. package/build/components/border-radius-control/input-controls.js.map +1 -1
  131. package/build/components/border-radius-control/linked-button.js +2 -6
  132. package/build/components/border-radius-control/linked-button.js.map +1 -1
  133. package/build/components/color-palette/control.js +2 -4
  134. package/build/components/color-palette/control.js.map +1 -1
  135. package/build/components/color-palette/with-color-context.js +2 -4
  136. package/build/components/color-palette/with-color-context.js.map +1 -1
  137. package/build/components/colors/utils.js +7 -3
  138. package/build/components/colors/utils.js.map +1 -1
  139. package/build/components/colors/with-colors.js +11 -16
  140. package/build/components/colors/with-colors.js.map +1 -1
  141. package/build/components/colors-gradients/control.js +7 -5
  142. package/build/components/colors-gradients/control.js.map +1 -1
  143. package/build/components/colors-gradients/dropdown.js +12 -11
  144. package/build/components/colors-gradients/dropdown.js.map +1 -1
  145. package/build/components/colors-gradients/panel-color-gradient-settings.js +7 -5
  146. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  147. package/build/components/copy-handler/index.js +5 -6
  148. package/build/components/copy-handler/index.js.map +1 -1
  149. package/build/components/duotone-control/index.js +1 -2
  150. package/build/components/duotone-control/index.js.map +1 -1
  151. package/build/components/editable-text/index.js +6 -7
  152. package/build/components/editable-text/index.js.map +1 -1
  153. package/build/components/font-appearance-control/index.js +2 -6
  154. package/build/components/font-appearance-control/index.js.map +1 -1
  155. package/build/components/font-family/index.js +4 -5
  156. package/build/components/font-family/index.js.map +1 -1
  157. package/build/components/font-sizes/font-size-picker.js +2 -4
  158. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  159. package/build/components/font-sizes/utils.js +3 -3
  160. package/build/components/font-sizes/utils.js.map +1 -1
  161. package/build/components/font-sizes/with-font-sizes.js +7 -7
  162. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  163. package/build/components/global-styles/color-panel.js +15 -16
  164. package/build/components/global-styles/color-panel.js.map +1 -1
  165. package/build/components/global-styles/effects-panel.js +2 -1
  166. package/build/components/global-styles/effects-panel.js.map +1 -1
  167. package/build/components/global-styles/filters-panel.js +2 -1
  168. package/build/components/global-styles/filters-panel.js.map +1 -1
  169. package/build/components/global-styles/index.js +6 -0
  170. package/build/components/global-styles/index.js.map +1 -1
  171. package/build/components/global-styles/typography-panel.js +7 -7
  172. package/build/components/global-styles/typography-panel.js.map +1 -1
  173. package/build/components/global-styles/use-global-styles-output.js +19 -16
  174. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  175. package/build/components/gradients/with-gradient.js +2 -6
  176. package/build/components/gradients/with-gradient.js.map +1 -1
  177. package/build/components/iframe/index.js +5 -7
  178. package/build/components/iframe/index.js.map +1 -1
  179. package/build/components/image-editor/constants.js +1 -2
  180. package/build/components/image-editor/constants.js.map +1 -1
  181. package/build/components/index.js +9 -9
  182. package/build/components/index.js.map +1 -1
  183. package/build/components/index.native.js +9 -0
  184. package/build/components/index.native.js.map +1 -1
  185. package/build/components/inner-blocks/index.js +9 -8
  186. package/build/components/inner-blocks/index.js.map +1 -1
  187. package/build/components/inner-blocks/index.native.js +8 -7
  188. package/build/components/inner-blocks/index.native.js.map +1 -1
  189. package/build/components/inner-blocks/use-nested-settings-update.js +24 -30
  190. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  191. package/build/components/inner-blocks/with-client-id.js +2 -6
  192. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  193. package/build/components/inserter/block-patterns-explorer/explorer.js +2 -1
  194. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  195. package/build/components/inserter/block-patterns-tab.js +33 -5
  196. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  197. package/build/components/inserter/hooks/use-block-types-state.js +4 -3
  198. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  199. package/build/components/inserter/hooks/use-insertion-point.js +1 -1
  200. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  201. package/build/components/inserter/index.js +8 -8
  202. package/build/components/inserter/index.js.map +1 -1
  203. package/build/components/inserter/index.native.js +4 -5
  204. package/build/components/inserter/index.native.js.map +1 -1
  205. package/build/components/inserter/library.js +1 -1
  206. package/build/components/inserter/library.js.map +1 -1
  207. package/build/components/inserter/media-tab/media-list.js +2 -6
  208. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  209. package/build/components/inserter/media-tab/media-preview.js +4 -6
  210. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  211. package/build/components/inserter/media-tab/media-tab.js +1 -1
  212. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  213. package/build/components/inserter/reusable-blocks-tab.js +3 -3
  214. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  215. package/build/components/inserter/tabs.js +3 -3
  216. package/build/components/inserter/tabs.js.map +1 -1
  217. package/build/components/inserter-list-item/index.js +4 -5
  218. package/build/components/inserter-list-item/index.js.map +1 -1
  219. package/build/components/inserter-listbox/group.js +4 -7
  220. package/build/components/inserter-listbox/group.js.map +1 -1
  221. package/build/components/inserter-listbox/item.js +8 -7
  222. package/build/components/inserter-listbox/item.js.map +1 -1
  223. package/build/components/inserter-listbox/row.js +4 -5
  224. package/build/components/inserter-listbox/row.js.map +1 -1
  225. package/build/components/inspector-controls/block-support-slot-container.js +2 -6
  226. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  227. package/build/components/inspector-controls/fill.native.js +2 -1
  228. package/build/components/inspector-controls/fill.native.js.map +1 -1
  229. package/build/components/inspector-controls/index.js +4 -6
  230. package/build/components/inspector-controls/index.js.map +1 -1
  231. package/build/components/inspector-controls/slot.js +4 -6
  232. package/build/components/inspector-controls/slot.js.map +1 -1
  233. package/build/components/inspector-controls/slot.native.js +2 -1
  234. package/build/components/inspector-controls/slot.native.js.map +1 -1
  235. package/build/components/justify-content-control/index.js +4 -6
  236. package/build/components/justify-content-control/index.js.map +1 -1
  237. package/build/components/justify-content-control/ui.js +4 -7
  238. package/build/components/justify-content-control/ui.js.map +1 -1
  239. package/build/components/letter-spacing-control/index.js +2 -4
  240. package/build/components/letter-spacing-control/index.js.map +1 -1
  241. package/build/components/line-height-control/index.js +2 -4
  242. package/build/components/line-height-control/index.js.map +1 -1
  243. package/build/components/link-control/index.js +3 -9
  244. package/build/components/link-control/index.js.map +1 -1
  245. package/build/components/link-control/search-create-button.js +2 -4
  246. package/build/components/link-control/search-create-button.js.map +1 -1
  247. package/build/components/link-control/search-input.js +3 -1
  248. package/build/components/link-control/search-input.js.map +1 -1
  249. package/build/components/link-control/search-item.js +2 -4
  250. package/build/components/link-control/search-item.js.map +1 -1
  251. package/build/components/link-control/search-results.js +2 -4
  252. package/build/components/link-control/search-results.js.map +1 -1
  253. package/build/components/list-view/appender.js +4 -6
  254. package/build/components/list-view/appender.js.map +1 -1
  255. package/build/components/list-view/aria-referenced-text.js +4 -8
  256. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  257. package/build/components/list-view/block-contents.js +4 -5
  258. package/build/components/list-view/block-contents.js.map +1 -1
  259. package/build/components/list-view/block-select-button.js +13 -2
  260. package/build/components/list-view/block-select-button.js.map +1 -1
  261. package/build/components/list-view/branch.js +9 -8
  262. package/build/components/list-view/branch.js.map +1 -1
  263. package/build/components/list-view/drop-indicator.js +62 -11
  264. package/build/components/list-view/drop-indicator.js.map +1 -1
  265. package/build/components/list-view/index.js +4 -6
  266. package/build/components/list-view/index.js.map +1 -1
  267. package/build/components/list-view/leaf.js +4 -5
  268. package/build/components/list-view/leaf.js.map +1 -1
  269. package/build/components/list-view/use-list-view-client-ids.js +2 -22
  270. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  271. package/build/components/list-view/use-list-view-drop-zone.js +46 -34
  272. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  273. package/build/components/media-placeholder/index.js +38 -13
  274. package/build/components/media-placeholder/index.js.map +1 -1
  275. package/build/components/media-replace-flow/index.js +1 -3
  276. package/build/components/media-replace-flow/index.js.map +1 -1
  277. package/build/components/navigable-toolbar/index.js +8 -8
  278. package/build/components/navigable-toolbar/index.js.map +1 -1
  279. package/build/components/panel-color-settings/index.js +4 -5
  280. package/build/components/panel-color-settings/index.js.map +1 -1
  281. package/build/components/plain-text/index.js +8 -8
  282. package/build/components/plain-text/index.js.map +1 -1
  283. package/build/components/plain-text/index.native.js +7 -6
  284. package/build/components/plain-text/index.native.js.map +1 -1
  285. package/build/components/preview-options/index.js +5 -4
  286. package/build/components/preview-options/index.js.map +1 -1
  287. package/build/components/provider/index.js +2 -4
  288. package/build/components/provider/index.js.map +1 -1
  289. package/build/components/provider/with-registry-provider.js +8 -10
  290. package/build/components/provider/with-registry-provider.js.map +1 -1
  291. package/build/components/publish-date-time-picker/index.js +4 -5
  292. package/build/components/publish-date-time-picker/index.js.map +1 -1
  293. package/build/components/resizable-box-popover/index.js +5 -5
  294. package/build/components/resizable-box-popover/index.js.map +1 -1
  295. package/build/components/rich-text/content.js +99 -0
  296. package/build/components/rich-text/content.js.map +1 -0
  297. package/build/components/rich-text/format-toolbar/index.js +1 -2
  298. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  299. package/build/components/rich-text/index.js +8 -42
  300. package/build/components/rich-text/index.js.map +1 -1
  301. package/build/components/rich-text/index.native.js +6 -34
  302. package/build/components/rich-text/index.native.js.map +1 -1
  303. package/build/components/rich-text/toolbar-button.js +2 -6
  304. package/build/components/rich-text/toolbar-button.js.map +1 -1
  305. package/build/components/spacing-sizes-control/index.js +8 -8
  306. package/build/components/spacing-sizes-control/index.js.map +1 -1
  307. package/build/components/tool-selector/index.js +2 -6
  308. package/build/components/tool-selector/index.js.map +1 -1
  309. package/build/components/unit-control/index.js +4 -5
  310. package/build/components/unit-control/index.js.map +1 -1
  311. package/build/components/url-input/index.js +8 -8
  312. package/build/components/url-input/index.js.map +1 -1
  313. package/build/components/url-input/index.native.js +4 -7
  314. package/build/components/url-input/index.native.js.map +1 -1
  315. package/build/components/url-popover/image-url-input-ui.js +21 -14
  316. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  317. package/build/components/url-popover/index.js +4 -5
  318. package/build/components/url-popover/index.js.map +1 -1
  319. package/build/components/url-popover/link-editor.js +4 -5
  320. package/build/components/url-popover/link-editor.js.map +1 -1
  321. package/build/components/url-popover/link-viewer.js +4 -5
  322. package/build/components/url-popover/link-viewer.js.map +1 -1
  323. package/build/components/use-block-display-information/index.js +30 -2
  324. package/build/components/use-block-display-information/index.js.map +1 -1
  325. package/build/components/video-player/index.native.js +2 -4
  326. package/build/components/video-player/index.native.js.map +1 -1
  327. package/build/components/warning/index.native.js +4 -5
  328. package/build/components/warning/index.native.js.map +1 -1
  329. package/build/components/writing-flow/index.js +2 -4
  330. package/build/components/writing-flow/index.js.map +1 -1
  331. package/build/components/writing-flow/use-drag-selection.js +1 -1
  332. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  333. package/build/components/writing-flow/use-tab-nav.js +32 -4
  334. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  335. package/build/hooks/align.js +8 -8
  336. package/build/hooks/align.js.map +1 -1
  337. package/build/hooks/anchor.js +4 -2
  338. package/build/hooks/anchor.js.map +1 -1
  339. package/build/hooks/behaviors.js +75 -37
  340. package/build/hooks/behaviors.js.map +1 -1
  341. package/build/hooks/border.js +4 -5
  342. package/build/hooks/border.js.map +1 -1
  343. package/build/hooks/color.js +4 -5
  344. package/build/hooks/color.js.map +1 -1
  345. package/build/hooks/content-lock-ui.js +8 -10
  346. package/build/hooks/content-lock-ui.js.map +1 -1
  347. package/build/hooks/custom-class-name.js +4 -2
  348. package/build/hooks/custom-class-name.js.map +1 -1
  349. package/build/hooks/dimensions.js +7 -7
  350. package/build/hooks/dimensions.js.map +1 -1
  351. package/build/hooks/duotone.js +5 -5
  352. package/build/hooks/duotone.js.map +1 -1
  353. package/build/hooks/font-family.js +2 -6
  354. package/build/hooks/font-family.js.map +1 -1
  355. package/build/hooks/font-size.js +10 -8
  356. package/build/hooks/font-size.js.map +1 -1
  357. package/build/hooks/layout.js +30 -28
  358. package/build/hooks/layout.js.map +1 -1
  359. package/build/hooks/position.js +24 -16
  360. package/build/hooks/position.js.map +1 -1
  361. package/build/hooks/style.js +8 -5
  362. package/build/hooks/style.js.map +1 -1
  363. package/build/hooks/supports.js +1 -1
  364. package/build/hooks/supports.js.map +1 -1
  365. package/build/hooks/typography.native.js +3 -1
  366. package/build/hooks/typography.native.js.map +1 -1
  367. package/build/hooks/use-typography-props.js +10 -17
  368. package/build/hooks/use-typography-props.js.map +1 -1
  369. package/build/index.js +0 -14
  370. package/build/index.js.map +1 -1
  371. package/build/layouts/constrained.js +3 -1
  372. package/build/layouts/constrained.js.map +1 -1
  373. package/build/layouts/definitions.js +154 -0
  374. package/build/layouts/definitions.js.map +1 -0
  375. package/build/layouts/flex.js +8 -5
  376. package/build/layouts/flex.js.map +1 -1
  377. package/build/layouts/flow.js +3 -1
  378. package/build/layouts/flow.js.map +1 -1
  379. package/build/layouts/grid.js +3 -1
  380. package/build/layouts/grid.js.map +1 -1
  381. package/build/layouts/utils.js +8 -2
  382. package/build/layouts/utils.js.map +1 -1
  383. package/build/private-apis.js +17 -1
  384. package/build/private-apis.js.map +1 -1
  385. package/build/store/actions.js +2 -62
  386. package/build/store/actions.js.map +1 -1
  387. package/build/store/private-actions.js +200 -0
  388. package/build/store/private-actions.js.map +1 -1
  389. package/build/store/private-selectors.js +72 -4
  390. package/build/store/private-selectors.js.map +1 -1
  391. package/build/store/reducer.js +52 -1
  392. package/build/store/reducer.js.map +1 -1
  393. package/build/store/selectors.js +42 -42
  394. package/build/store/selectors.js.map +1 -1
  395. package/build/utils/object.js +39 -0
  396. package/build/utils/object.js.map +1 -1
  397. package/build-module/autocompleters/block.js +5 -3
  398. package/build-module/autocompleters/block.js.map +1 -1
  399. package/build-module/components/alignment-control/index.js +4 -5
  400. package/build-module/components/alignment-control/index.js.map +1 -1
  401. package/build-module/components/alignment-control/ui.js +5 -6
  402. package/build-module/components/alignment-control/ui.js.map +1 -1
  403. package/build-module/components/autocomplete/index.js +2 -3
  404. package/build-module/components/autocomplete/index.js.map +1 -1
  405. package/build-module/components/block-actions/index.js +4 -0
  406. package/build-module/components/block-actions/index.js.map +1 -1
  407. package/build-module/components/block-alignment-control/constants.js +0 -3
  408. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  409. package/build-module/components/block-alignment-control/index.js +4 -5
  410. package/build-module/components/block-alignment-control/index.js.map +1 -1
  411. package/build-module/components/block-alignment-control/ui.js +4 -4
  412. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  413. package/build-module/components/block-alignment-control/ui.native.js +3 -2
  414. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  415. package/build-module/components/block-alignment-matrix-control/index.js +0 -1
  416. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  417. package/build-module/components/block-breadcrumb/index.js +2 -3
  418. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  419. package/build-module/components/block-controls/fill.js +2 -1
  420. package/build-module/components/block-controls/fill.js.map +1 -1
  421. package/build-module/components/block-controls/index.js +8 -7
  422. package/build-module/components/block-controls/index.js.map +1 -1
  423. package/build-module/components/block-controls/slot.js +2 -3
  424. package/build-module/components/block-controls/slot.js.map +1 -1
  425. package/build-module/components/block-controls/slot.native.js +4 -2
  426. package/build-module/components/block-controls/slot.native.js.map +1 -1
  427. package/build-module/components/block-edit/edit.js +4 -5
  428. package/build-module/components/block-edit/edit.js.map +1 -1
  429. package/build-module/components/block-edit/edit.native.js +2 -3
  430. package/build-module/components/block-edit/edit.native.js.map +1 -1
  431. package/build-module/components/block-edit/index.js +3 -2
  432. package/build-module/components/block-edit/index.js.map +1 -1
  433. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +39 -0
  434. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  435. package/build-module/components/block-heading-level-dropdown/index.js +71 -0
  436. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -0
  437. package/build-module/components/block-heading-level-dropdown/index.native.js +60 -0
  438. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -0
  439. package/build-module/components/block-icon/index.native.js +6 -6
  440. package/build-module/components/block-icon/index.native.js.map +1 -1
  441. package/build-module/components/block-info-slot-fill/index.js +4 -2
  442. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  443. package/build-module/components/block-inspector/index.js +20 -88
  444. package/build-module/components/block-inspector/index.js.map +1 -1
  445. package/build-module/components/block-list/block-list-item.native.js +4 -2
  446. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  447. package/build-module/components/block-list/block.js +6 -4
  448. package/build-module/components/block-list/block.js.map +1 -1
  449. package/build-module/components/block-list/block.native.js +1 -0
  450. package/build-module/components/block-list/block.native.js.map +1 -1
  451. package/build-module/components/block-list/index.js +7 -4
  452. package/build-module/components/block-list/index.js.map +1 -1
  453. package/build-module/components/block-list/index.native.js +8 -8
  454. package/build-module/components/block-list/index.native.js.map +1 -1
  455. package/build-module/components/block-list/subdirectory-icon.js +4 -4
  456. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  457. package/build-module/components/block-list/use-in-between-inserter.js +1 -3
  458. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  459. package/build-module/components/block-list-appender/index.js +21 -19
  460. package/build-module/components/block-list-appender/index.js.map +1 -1
  461. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  462. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  463. package/build-module/components/block-mover/button.js +12 -11
  464. package/build-module/components/block-mover/button.js.map +1 -1
  465. package/build-module/components/block-mover/index.js +11 -9
  466. package/build-module/components/block-mover/index.js.map +1 -1
  467. package/build-module/components/block-navigation/dropdown.js +4 -5
  468. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  469. package/build-module/components/block-parent-selector/index.js +4 -4
  470. package/build-module/components/block-parent-selector/index.js.map +1 -1
  471. package/build-module/components/block-pattern-setup/index.js +6 -7
  472. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  473. package/build-module/components/block-patterns-list/index.js +6 -7
  474. package/build-module/components/block-patterns-list/index.js.map +1 -1
  475. package/build-module/components/block-popover/inbetween.js +4 -5
  476. package/build-module/components/block-popover/inbetween.js.map +1 -1
  477. package/build-module/components/block-popover/index.js +4 -5
  478. package/build-module/components/block-popover/index.js.map +1 -1
  479. package/build-module/components/block-preview/auto.js +2 -3
  480. package/build-module/components/block-preview/auto.js.map +1 -1
  481. package/build-module/components/block-preview/index.js +7 -7
  482. package/build-module/components/block-preview/index.js.map +1 -1
  483. package/build-module/components/block-quick-navigation/index.js +69 -0
  484. package/build-module/components/block-quick-navigation/index.js.map +1 -0
  485. package/build-module/components/block-removal-warning-modal/index.js +76 -0
  486. package/build-module/components/block-removal-warning-modal/index.js.map +1 -0
  487. package/build-module/components/block-selection-clearer/index.js +4 -4
  488. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  489. package/build-module/components/block-settings/button.native.js +2 -1
  490. package/build-module/components/block-settings/button.native.js.map +1 -1
  491. package/build-module/components/block-settings/container.native.js +6 -5
  492. package/build-module/components/block-settings/container.native.js.map +1 -1
  493. package/build-module/components/block-settings-menu/block-settings-dropdown.js +10 -10
  494. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  495. package/build-module/components/block-settings-menu/index.js +4 -4
  496. package/build-module/components/block-settings-menu/index.js.map +1 -1
  497. package/build-module/components/block-settings-menu-controls/index.js +4 -4
  498. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  499. package/build-module/components/block-switcher/index.js +1 -2
  500. package/build-module/components/block-switcher/index.js.map +1 -1
  501. package/build-module/components/block-switcher/pattern-transformations-menu.js +6 -7
  502. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  503. package/build-module/components/block-toolbar/index.js +4 -4
  504. package/build-module/components/block-toolbar/index.js.map +1 -1
  505. package/build-module/components/block-tools/block-contextual-toolbar.js +4 -4
  506. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  507. package/build-module/components/block-tools/block-selection-button.js +4 -4
  508. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  509. package/build-module/components/block-tools/index.js +13 -5
  510. package/build-module/components/block-tools/index.js.map +1 -1
  511. package/build-module/components/block-tools/insertion-point.js +5 -4
  512. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  513. package/build-module/components/block-tools/selected-block-popover.js +8 -7
  514. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  515. package/build-module/components/block-types-list/index.native.js +4 -5
  516. package/build-module/components/block-types-list/index.native.js.map +1 -1
  517. package/build-module/components/block-vertical-alignment-control/index.js +4 -5
  518. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  519. package/build-module/components/block-vertical-alignment-control/ui.js +5 -9
  520. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  521. package/build-module/components/border-radius-control/all-input-control.js +2 -3
  522. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  523. package/build-module/components/border-radius-control/input-controls.js +2 -3
  524. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  525. package/build-module/components/border-radius-control/linked-button.js +2 -3
  526. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  527. package/build-module/components/color-palette/control.js +2 -3
  528. package/build-module/components/color-palette/control.js.map +1 -1
  529. package/build-module/components/color-palette/with-color-context.js +2 -3
  530. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  531. package/build-module/components/colors/utils.js +5 -1
  532. package/build-module/components/colors/utils.js.map +1 -1
  533. package/build-module/components/colors/with-colors.js +10 -14
  534. package/build-module/components/colors/with-colors.js.map +1 -1
  535. package/build-module/components/colors-gradients/control.js +7 -4
  536. package/build-module/components/colors-gradients/control.js.map +1 -1
  537. package/build-module/components/colors-gradients/dropdown.js +12 -10
  538. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  539. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +7 -4
  540. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  541. package/build-module/components/copy-handler/index.js +5 -6
  542. package/build-module/components/copy-handler/index.js.map +1 -1
  543. package/build-module/components/duotone-control/index.js +1 -2
  544. package/build-module/components/duotone-control/index.js.map +1 -1
  545. package/build-module/components/editable-text/index.js +6 -6
  546. package/build-module/components/editable-text/index.js.map +1 -1
  547. package/build-module/components/font-appearance-control/index.js +2 -3
  548. package/build-module/components/font-appearance-control/index.js.map +1 -1
  549. package/build-module/components/font-family/index.js +4 -4
  550. package/build-module/components/font-family/index.js.map +1 -1
  551. package/build-module/components/font-sizes/font-size-picker.js +2 -3
  552. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  553. package/build-module/components/font-sizes/utils.js +2 -2
  554. package/build-module/components/font-sizes/utils.js.map +1 -1
  555. package/build-module/components/font-sizes/with-font-sizes.js +7 -6
  556. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  557. package/build-module/components/global-styles/color-panel.js +15 -15
  558. package/build-module/components/global-styles/color-panel.js.map +1 -1
  559. package/build-module/components/global-styles/effects-panel.js +2 -1
  560. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  561. package/build-module/components/global-styles/filters-panel.js +2 -1
  562. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  563. package/build-module/components/global-styles/index.js +1 -1
  564. package/build-module/components/global-styles/index.js.map +1 -1
  565. package/build-module/components/global-styles/typography-panel.js +7 -7
  566. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  567. package/build-module/components/global-styles/use-global-styles-output.js +11 -10
  568. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  569. package/build-module/components/gradients/with-gradient.js +2 -3
  570. package/build-module/components/gradients/with-gradient.js.map +1 -1
  571. package/build-module/components/iframe/index.js +5 -6
  572. package/build-module/components/iframe/index.js.map +1 -1
  573. package/build-module/components/image-editor/constants.js +1 -2
  574. package/build-module/components/image-editor/constants.js.map +1 -1
  575. package/build-module/components/index.js +1 -1
  576. package/build-module/components/index.js.map +1 -1
  577. package/build-module/components/index.native.js +1 -0
  578. package/build-module/components/index.native.js.map +1 -1
  579. package/build-module/components/inner-blocks/index.js +9 -7
  580. package/build-module/components/inner-blocks/index.js.map +1 -1
  581. package/build-module/components/inner-blocks/index.native.js +8 -6
  582. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  583. package/build-module/components/inner-blocks/use-nested-settings-update.js +24 -27
  584. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  585. package/build-module/components/inner-blocks/with-client-id.js +2 -3
  586. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  587. package/build-module/components/inserter/block-patterns-explorer/explorer.js +2 -1
  588. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  589. package/build-module/components/inserter/block-patterns-tab.js +33 -7
  590. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  591. package/build-module/components/inserter/hooks/use-block-types-state.js +4 -3
  592. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  593. package/build-module/components/inserter/hooks/use-insertion-point.js +1 -1
  594. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  595. package/build-module/components/inserter/index.js +8 -7
  596. package/build-module/components/inserter/index.js.map +1 -1
  597. package/build-module/components/inserter/index.native.js +4 -4
  598. package/build-module/components/inserter/index.native.js.map +1 -1
  599. package/build-module/components/inserter/library.js +1 -1
  600. package/build-module/components/inserter/library.js.map +1 -1
  601. package/build-module/components/inserter/media-tab/media-list.js +2 -3
  602. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  603. package/build-module/components/inserter/media-tab/media-preview.js +4 -5
  604. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  605. package/build-module/components/inserter/media-tab/media-tab.js +3 -3
  606. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  607. package/build-module/components/inserter/reusable-blocks-tab.js +3 -3
  608. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  609. package/build-module/components/inserter/tabs.js +3 -3
  610. package/build-module/components/inserter/tabs.js.map +1 -1
  611. package/build-module/components/inserter-list-item/index.js +4 -4
  612. package/build-module/components/inserter-list-item/index.js.map +1 -1
  613. package/build-module/components/inserter-listbox/group.js +4 -4
  614. package/build-module/components/inserter-listbox/group.js.map +1 -1
  615. package/build-module/components/inserter-listbox/item.js +8 -6
  616. package/build-module/components/inserter-listbox/item.js.map +1 -1
  617. package/build-module/components/inserter-listbox/row.js +4 -4
  618. package/build-module/components/inserter-listbox/row.js.map +1 -1
  619. package/build-module/components/inspector-controls/block-support-slot-container.js +2 -3
  620. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  621. package/build-module/components/inspector-controls/fill.native.js +2 -1
  622. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  623. package/build-module/components/inspector-controls/index.js +4 -5
  624. package/build-module/components/inspector-controls/index.js.map +1 -1
  625. package/build-module/components/inspector-controls/slot.js +4 -5
  626. package/build-module/components/inspector-controls/slot.js.map +1 -1
  627. package/build-module/components/inspector-controls/slot.native.js +2 -1
  628. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  629. package/build-module/components/justify-content-control/index.js +4 -5
  630. package/build-module/components/justify-content-control/index.js.map +1 -1
  631. package/build-module/components/justify-content-control/ui.js +4 -4
  632. package/build-module/components/justify-content-control/ui.js.map +1 -1
  633. package/build-module/components/letter-spacing-control/index.js +2 -3
  634. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  635. package/build-module/components/line-height-control/index.js +2 -3
  636. package/build-module/components/line-height-control/index.js.map +1 -1
  637. package/build-module/components/link-control/index.js +3 -9
  638. package/build-module/components/link-control/index.js.map +1 -1
  639. package/build-module/components/link-control/search-create-button.js +2 -3
  640. package/build-module/components/link-control/search-create-button.js.map +1 -1
  641. package/build-module/components/link-control/search-input.js +3 -1
  642. package/build-module/components/link-control/search-input.js.map +1 -1
  643. package/build-module/components/link-control/search-item.js +2 -3
  644. package/build-module/components/link-control/search-item.js.map +1 -1
  645. package/build-module/components/link-control/search-results.js +2 -3
  646. package/build-module/components/link-control/search-results.js.map +1 -1
  647. package/build-module/components/list-view/appender.js +4 -5
  648. package/build-module/components/list-view/appender.js.map +1 -1
  649. package/build-module/components/list-view/aria-referenced-text.js +4 -5
  650. package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
  651. package/build-module/components/list-view/block-contents.js +4 -4
  652. package/build-module/components/list-view/block-contents.js.map +1 -1
  653. package/build-module/components/list-view/block-select-button.js +14 -4
  654. package/build-module/components/list-view/block-select-button.js.map +1 -1
  655. package/build-module/components/list-view/branch.js +9 -7
  656. package/build-module/components/list-view/branch.js.map +1 -1
  657. package/build-module/components/list-view/drop-indicator.js +61 -11
  658. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  659. package/build-module/components/list-view/index.js +4 -5
  660. package/build-module/components/list-view/index.js.map +1 -1
  661. package/build-module/components/list-view/leaf.js +4 -4
  662. package/build-module/components/list-view/leaf.js.map +1 -1
  663. package/build-module/components/list-view/use-list-view-client-ids.js +2 -22
  664. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  665. package/build-module/components/list-view/use-list-view-drop-zone.js +45 -34
  666. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  667. package/build-module/components/media-placeholder/index.js +38 -13
  668. package/build-module/components/media-placeholder/index.js.map +1 -1
  669. package/build-module/components/media-replace-flow/index.js +1 -3
  670. package/build-module/components/media-replace-flow/index.js.map +1 -1
  671. package/build-module/components/navigable-toolbar/index.js +8 -7
  672. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  673. package/build-module/components/panel-color-settings/index.js +4 -4
  674. package/build-module/components/panel-color-settings/index.js.map +1 -1
  675. package/build-module/components/plain-text/index.js +8 -7
  676. package/build-module/components/plain-text/index.js.map +1 -1
  677. package/build-module/components/plain-text/index.native.js +7 -5
  678. package/build-module/components/plain-text/index.native.js.map +1 -1
  679. package/build-module/components/preview-options/index.js +5 -4
  680. package/build-module/components/preview-options/index.js.map +1 -1
  681. package/build-module/components/provider/index.js +2 -3
  682. package/build-module/components/provider/index.js.map +1 -1
  683. package/build-module/components/provider/with-registry-provider.js +8 -7
  684. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  685. package/build-module/components/publish-date-time-picker/index.js +4 -4
  686. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  687. package/build-module/components/resizable-box-popover/index.js +5 -4
  688. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  689. package/build-module/components/rich-text/content.js +85 -0
  690. package/build-module/components/rich-text/content.js.map +1 -0
  691. package/build-module/components/rich-text/format-toolbar/index.js +1 -2
  692. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  693. package/build-module/components/rich-text/index.js +8 -42
  694. package/build-module/components/rich-text/index.js.map +1 -1
  695. package/build-module/components/rich-text/index.native.js +6 -34
  696. package/build-module/components/rich-text/index.native.js.map +1 -1
  697. package/build-module/components/rich-text/toolbar-button.js +2 -3
  698. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  699. package/build-module/components/spacing-sizes-control/index.js +8 -7
  700. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  701. package/build-module/components/tool-selector/index.js +2 -3
  702. package/build-module/components/tool-selector/index.js.map +1 -1
  703. package/build-module/components/unit-control/index.js +4 -4
  704. package/build-module/components/unit-control/index.js.map +1 -1
  705. package/build-module/components/url-input/index.js +8 -7
  706. package/build-module/components/url-input/index.js.map +1 -1
  707. package/build-module/components/url-input/index.native.js +4 -4
  708. package/build-module/components/url-input/index.native.js.map +1 -1
  709. package/build-module/components/url-popover/image-url-input-ui.js +22 -15
  710. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  711. package/build-module/components/url-popover/index.js +4 -4
  712. package/build-module/components/url-popover/index.js.map +1 -1
  713. package/build-module/components/url-popover/link-editor.js +4 -4
  714. package/build-module/components/url-popover/link-editor.js.map +1 -1
  715. package/build-module/components/url-popover/link-viewer.js +4 -4
  716. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  717. package/build-module/components/use-block-display-information/index.js +29 -2
  718. package/build-module/components/use-block-display-information/index.js.map +1 -1
  719. package/build-module/components/video-player/index.native.js +2 -3
  720. package/build-module/components/video-player/index.native.js.map +1 -1
  721. package/build-module/components/warning/index.native.js +4 -4
  722. package/build-module/components/warning/index.native.js.map +1 -1
  723. package/build-module/components/writing-flow/index.js +2 -3
  724. package/build-module/components/writing-flow/index.js.map +1 -1
  725. package/build-module/components/writing-flow/use-drag-selection.js +1 -1
  726. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  727. package/build-module/components/writing-flow/use-tab-nav.js +32 -5
  728. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  729. package/build-module/hooks/align.js +8 -7
  730. package/build-module/hooks/align.js.map +1 -1
  731. package/build-module/hooks/anchor.js +4 -2
  732. package/build-module/hooks/anchor.js.map +1 -1
  733. package/build-module/hooks/behaviors.js +76 -34
  734. package/build-module/hooks/behaviors.js.map +1 -1
  735. package/build-module/hooks/border.js +4 -4
  736. package/build-module/hooks/border.js.map +1 -1
  737. package/build-module/hooks/color.js +4 -4
  738. package/build-module/hooks/color.js.map +1 -1
  739. package/build-module/hooks/content-lock-ui.js +8 -7
  740. package/build-module/hooks/content-lock-ui.js.map +1 -1
  741. package/build-module/hooks/custom-class-name.js +4 -2
  742. package/build-module/hooks/custom-class-name.js.map +1 -1
  743. package/build-module/hooks/dimensions.js +7 -6
  744. package/build-module/hooks/dimensions.js.map +1 -1
  745. package/build-module/hooks/duotone.js +5 -4
  746. package/build-module/hooks/duotone.js.map +1 -1
  747. package/build-module/hooks/font-family.js +1 -5
  748. package/build-module/hooks/font-family.js.map +1 -1
  749. package/build-module/hooks/font-size.js +10 -9
  750. package/build-module/hooks/font-size.js.map +1 -1
  751. package/build-module/hooks/layout.js +26 -24
  752. package/build-module/hooks/layout.js.map +1 -1
  753. package/build-module/hooks/position.js +23 -15
  754. package/build-module/hooks/position.js.map +1 -1
  755. package/build-module/hooks/style.js +8 -4
  756. package/build-module/hooks/style.js.map +1 -1
  757. package/build-module/hooks/supports.js +1 -1
  758. package/build-module/hooks/supports.js.map +1 -1
  759. package/build-module/hooks/typography.native.js +3 -1
  760. package/build-module/hooks/typography.native.js.map +1 -1
  761. package/build-module/hooks/use-typography-props.js +8 -15
  762. package/build-module/hooks/use-typography-props.js.map +1 -1
  763. package/build-module/index.js +1 -1
  764. package/build-module/index.js.map +1 -1
  765. package/build-module/layouts/constrained.js +2 -1
  766. package/build-module/layouts/constrained.js.map +1 -1
  767. package/build-module/layouts/definitions.js +147 -0
  768. package/build-module/layouts/definitions.js.map +1 -0
  769. package/build-module/layouts/flex.js +8 -6
  770. package/build-module/layouts/flex.js.map +1 -1
  771. package/build-module/layouts/flow.js +2 -1
  772. package/build-module/layouts/flow.js.map +1 -1
  773. package/build-module/layouts/grid.js +2 -1
  774. package/build-module/layouts/grid.js.map +1 -1
  775. package/build-module/layouts/utils.js +7 -2
  776. package/build-module/layouts/utils.js.map +1 -1
  777. package/build-module/private-apis.js +12 -1
  778. package/build-module/private-apis.js.map +1 -1
  779. package/build-module/store/actions.js +2 -62
  780. package/build-module/store/actions.js.map +1 -1
  781. package/build-module/store/private-actions.js +186 -0
  782. package/build-module/store/private-actions.js.map +1 -1
  783. package/build-module/store/private-selectors.js +63 -3
  784. package/build-module/store/private-selectors.js.map +1 -1
  785. package/build-module/store/reducer.js +52 -1
  786. package/build-module/store/reducer.js.map +1 -1
  787. package/build-module/store/selectors.js +42 -42
  788. package/build-module/store/selectors.js.map +1 -1
  789. package/build-module/utils/object.js +37 -1
  790. package/build-module/utils/object.js.map +1 -1
  791. package/build-style/style-rtl.css +16 -21
  792. package/build-style/style.css +16 -21
  793. package/package.json +31 -31
  794. package/src/autocompleters/block.js +4 -2
  795. package/src/components/alignment-control/ui.js +1 -2
  796. package/src/components/block-actions/index.js +10 -0
  797. package/src/components/block-alignment-control/constants.js +0 -4
  798. package/src/components/block-alignment-control/ui.js +1 -6
  799. package/src/components/block-alignment-matrix-control/index.js +1 -1
  800. package/src/components/block-breadcrumb/index.js +2 -6
  801. package/src/components/block-edit/index.js +3 -5
  802. package/src/components/block-heading-level-dropdown/README.md +52 -0
  803. package/src/components/block-heading-level-dropdown/heading-level-icon.js +43 -0
  804. package/src/components/block-heading-level-dropdown/index.js +77 -0
  805. package/src/components/block-heading-level-dropdown/index.native.js +63 -0
  806. package/src/components/block-inspector/index.js +18 -92
  807. package/src/components/block-inspector/style.scss +0 -5
  808. package/src/components/block-list/block.native.js +1 -0
  809. package/src/components/block-list/index.js +1 -1
  810. package/src/components/block-list/use-in-between-inserter.js +0 -4
  811. package/src/components/block-list-appender/index.js +29 -22
  812. package/src/components/block-lock/style.scss +11 -4
  813. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  814. package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +2 -2
  815. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +3 -3
  816. package/src/components/block-mover/test/index.native.js +1 -20
  817. package/src/components/block-preview/index.js +7 -14
  818. package/src/components/block-quick-navigation/index.js +81 -0
  819. package/src/components/block-removal-warning-modal/index.js +94 -0
  820. package/src/components/block-settings-menu/block-settings-dropdown.js +15 -13
  821. package/src/components/block-switcher/index.js +1 -2
  822. package/src/components/block-toolbar/style.scss +0 -4
  823. package/src/components/block-tools/index.js +10 -1
  824. package/src/components/block-vertical-alignment-control/ui.js +1 -3
  825. package/src/components/colors/utils.js +5 -1
  826. package/src/components/colors/with-colors.js +1 -5
  827. package/src/components/copy-handler/index.js +5 -5
  828. package/src/components/duotone-control/index.js +0 -1
  829. package/src/components/font-sizes/test/fluid-utils.js +97 -76
  830. package/src/components/font-sizes/utils.js +2 -2
  831. package/src/components/global-styles/color-panel.js +3 -3
  832. package/src/components/global-styles/index.js +1 -0
  833. package/src/components/global-styles/test/use-global-styles-output.js +14 -9
  834. package/src/components/global-styles/typography-panel.js +19 -16
  835. package/src/components/global-styles/use-global-styles-output.js +12 -12
  836. package/src/components/iframe/index.js +1 -1
  837. package/src/components/image-editor/constants.js +0 -1
  838. package/src/components/index.js +1 -1
  839. package/src/components/index.native.js +1 -0
  840. package/src/components/inner-blocks/index.js +4 -2
  841. package/src/components/inner-blocks/index.native.js +1 -1
  842. package/src/components/inner-blocks/use-nested-settings-update.js +31 -36
  843. package/src/components/inserter/block-patterns-tab.js +63 -8
  844. package/src/components/inserter/hooks/use-block-types-state.js +4 -3
  845. package/src/components/inserter/hooks/use-insertion-point.js +1 -0
  846. package/src/components/inserter/library.js +2 -1
  847. package/src/components/inserter/media-tab/media-tab.js +9 -3
  848. package/src/components/inserter/reusable-blocks-tab.js +3 -3
  849. package/src/components/inserter/tabs.js +3 -3
  850. package/src/components/link-control/index.js +2 -9
  851. package/src/components/link-control/search-input.js +1 -0
  852. package/src/components/link-control/test/index.js +40 -51
  853. package/src/components/list-view/block-select-button.js +19 -1
  854. package/src/components/list-view/branch.js +6 -3
  855. package/src/components/list-view/drop-indicator.js +94 -9
  856. package/src/components/list-view/style.scss +13 -12
  857. package/src/components/list-view/test/use-list-view-drop-zone.js +188 -93
  858. package/src/components/list-view/use-list-view-client-ids.js +3 -20
  859. package/src/components/list-view/use-list-view-drop-zone.js +97 -54
  860. package/src/components/media-placeholder/index.js +54 -20
  861. package/src/components/media-replace-flow/index.js +1 -3
  862. package/src/components/preview-options/index.js +3 -2
  863. package/src/components/provider/test/experimental-provider.js +9 -6
  864. package/src/components/rich-text/content.js +85 -0
  865. package/src/components/rich-text/format-toolbar/index.js +1 -2
  866. package/src/components/rich-text/index.js +2 -35
  867. package/src/components/rich-text/index.native.js +3 -33
  868. package/src/components/url-popover/image-url-input-ui.js +15 -15
  869. package/src/components/url-popover/test/__snapshots__/index.js.snap +3 -3
  870. package/src/components/use-block-display-information/index.js +26 -0
  871. package/src/components/writing-flow/use-drag-selection.js +1 -1
  872. package/src/components/writing-flow/use-tab-nav.js +42 -6
  873. package/src/hooks/behaviors.js +82 -39
  874. package/src/hooks/font-family.js +1 -5
  875. package/src/hooks/font-size.js +12 -17
  876. package/src/hooks/layout.js +17 -25
  877. package/src/hooks/position.js +24 -12
  878. package/src/hooks/supports.js +1 -1
  879. package/src/hooks/use-typography-props.js +14 -19
  880. package/src/index.js +0 -2
  881. package/src/layouts/constrained.js +2 -1
  882. package/src/layouts/definitions.js +174 -0
  883. package/src/layouts/flex.js +7 -5
  884. package/src/layouts/flow.js +2 -1
  885. package/src/layouts/grid.js +2 -1
  886. package/src/layouts/test/utils.js +2 -7
  887. package/src/layouts/utils.js +7 -2
  888. package/src/private-apis.js +11 -0
  889. package/src/store/actions.js +7 -56
  890. package/src/store/private-actions.js +193 -0
  891. package/src/store/private-selectors.js +108 -35
  892. package/src/store/reducer.js +44 -0
  893. package/src/store/selectors.js +61 -39
  894. package/src/store/test/private-selectors.js +269 -1
  895. package/src/store/test/selectors.js +18 -17
  896. package/src/utils/object.js +35 -0
  897. package/src/utils/test/object.js +96 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-pattern-setup/index.js"],"names":["useDispatch","cloneBlock","VisuallyHidden","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","useState","useInstanceId","__","store","blockEditorStore","BlockPreview","SetupToolbar","usePatternsSetup","VIEWMODES","SetupContent","viewMode","activeSlide","patterns","onBlockPatternSelect","showTitles","composite","containerClass","carousel","slideClass","Map","map","pattern","index","get","name","BlockPattern","onSelect","baseClassName","blocks","description","viewportWidth","descriptionId","title","undefined","BlockPatternSlide","className","minHeight","BlockPatternSetup","clientId","blockName","filterPatternsFn","initialViewMode","setViewMode","setActiveSlide","replaceBlock","length","onBlockPatternSelectDefault","clonedBlocks","block","onPatternSelectCallback","active"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { cloneBlock } from '@wordpress/blocks';\nimport {\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\n\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockPreview from '../block-preview';\nimport SetupToolbar from './setup-toolbar';\nimport usePatternsSetup from './use-patterns-setup';\nimport { VIEWMODES } from './constants';\n\nconst SetupContent = ( {\n\tviewMode,\n\tactiveSlide,\n\tpatterns,\n\tonBlockPatternSelect,\n\tshowTitles,\n} ) => {\n\tconst composite = useCompositeState();\n\tconst containerClass = 'block-editor-block-pattern-setup__container';\n\tif ( viewMode === VIEWMODES.carousel ) {\n\t\tconst slideClass = new Map( [\n\t\t\t[ activeSlide, 'active-slide' ],\n\t\t\t[ activeSlide - 1, 'previous-slide' ],\n\t\t\t[ activeSlide + 1, 'next-slide' ],\n\t\t] );\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-pattern-setup__carousel\">\n\t\t\t\t<div className={ containerClass }>\n\t\t\t\t\t<ul className=\"carousel-container\">\n\t\t\t\t\t\t{ patterns.map( ( pattern, index ) => (\n\t\t\t\t\t\t\t<BlockPatternSlide\n\t\t\t\t\t\t\t\tclassName={ slideClass.get( index ) || '' }\n\t\t\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div className=\"block-editor-block-pattern-setup__grid\">\n\t\t\t<Composite\n\t\t\t\t{ ...composite }\n\t\t\t\trole=\"listbox\"\n\t\t\t\tclassName={ containerClass }\n\t\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t\t>\n\t\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonSelect={ onBlockPatternSelect }\n\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\tshowTitles={ showTitles }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t</div>\n\t);\n};\n\nfunction BlockPattern( { pattern, onSelect, composite, showTitles } ) {\n\tconst baseClassName = 'block-editor-block-pattern-setup-list';\n\tconst { blocks, description, viewportWidth = 700 } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }__item-description`\n\t);\n\treturn (\n\t\t<div\n\t\t\tclassName={ `${ baseClassName }__list-item` }\n\t\t\taria-label={ pattern.title }\n\t\t\taria-describedby={ pattern.description ? descriptionId : undefined }\n\t\t>\n\t\t\t<CompositeItem\n\t\t\t\trole=\"option\"\n\t\t\t\tas=\"div\"\n\t\t\t\t{ ...composite }\n\t\t\t\tclassName={ `${ baseClassName }__item` }\n\t\t\t\tonClick={ () => onSelect( blocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t/>\n\t\t\t\t{ showTitles && (\n\t\t\t\t\t<div className={ `${ baseClassName }__item-title` }>\n\t\t\t\t\t\t{ pattern.title }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ !! description && (\n\t\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t</CompositeItem>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternSlide( { className, pattern, minHeight } ) {\n\tconst { blocks, title, description } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPatternSlide,\n\t\t'block-editor-block-pattern-setup-list__item-description'\n\t);\n\treturn (\n\t\t<li\n\t\t\tclassName={ `pattern-slide ${ className }` }\n\t\t\taria-label={ title }\n\t\t\taria-describedby={ description ? descriptionId : undefined }\n\t\t>\n\t\t\t<BlockPreview blocks={ blocks } minHeight={ minHeight } />\n\t\t\t{ !! description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\nconst BlockPatternSetup = ( {\n\tclientId,\n\tblockName,\n\tfilterPatternsFn,\n\tonBlockPatternSelect,\n\tinitialViewMode = VIEWMODES.carousel,\n\tshowTitles = false,\n} ) => {\n\tconst [ viewMode, setViewMode ] = useState( initialViewMode );\n\tconst [ activeSlide, setActiveSlide ] = useState( 0 );\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\tconst patterns = usePatternsSetup( clientId, blockName, filterPatternsFn );\n\n\tif ( ! patterns?.length ) {\n\t\treturn null;\n\t}\n\n\tconst onBlockPatternSelectDefault = ( blocks ) => {\n\t\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\t\treplaceBlock( clientId, clonedBlocks );\n\t};\n\tconst onPatternSelectCallback =\n\t\tonBlockPatternSelect || onBlockPatternSelectDefault;\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ `block-editor-block-pattern-setup view-mode-${ viewMode }` }\n\t\t\t>\n\t\t\t\t<SetupContent\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonBlockPatternSelect={ onPatternSelectCallback }\n\t\t\t\t\tshowTitles={ showTitles }\n\t\t\t\t/>\n\t\t\t\t<SetupToolbar\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tsetViewMode={ setViewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\ttotalSlides={ patterns.length }\n\t\t\t\t\thandleNext={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) => active + 1 );\n\t\t\t\t\t} }\n\t\t\t\t\thandlePrevious={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) => active - 1 );\n\t\t\t\t\t} }\n\t\t\t\t\tonBlockPatternSelect={ () => {\n\t\t\t\t\t\tonPatternSelectCallback(\n\t\t\t\t\t\t\tpatterns[ activeSlide ].blocks\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default BlockPatternSetup;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-pattern-setup/index.js"],"names":["useDispatch","cloneBlock","VisuallyHidden","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","useState","useInstanceId","__","store","blockEditorStore","BlockPreview","SetupToolbar","usePatternsSetup","VIEWMODES","SetupContent","viewMode","activeSlide","patterns","onBlockPatternSelect","showTitles","composite","containerClass","carousel","slideClass","Map","map","pattern","index","get","name","BlockPattern","onSelect","baseClassName","blocks","description","viewportWidth","descriptionId","title","undefined","BlockPatternSlide","className","minHeight","BlockPatternSetup","clientId","blockName","filterPatternsFn","initialViewMode","setViewMode","setActiveSlide","replaceBlock","length","onBlockPatternSelectDefault","clonedBlocks","block","onPatternSelectCallback","active"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { cloneBlock } from '@wordpress/blocks';\nimport {\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\n\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockPreview from '../block-preview';\nimport SetupToolbar from './setup-toolbar';\nimport usePatternsSetup from './use-patterns-setup';\nimport { VIEWMODES } from './constants';\n\nconst SetupContent = ( {\n\tviewMode,\n\tactiveSlide,\n\tpatterns,\n\tonBlockPatternSelect,\n\tshowTitles,\n} ) => {\n\tconst composite = useCompositeState();\n\tconst containerClass = 'block-editor-block-pattern-setup__container';\n\tif ( viewMode === VIEWMODES.carousel ) {\n\t\tconst slideClass = new Map( [\n\t\t\t[ activeSlide, 'active-slide' ],\n\t\t\t[ activeSlide - 1, 'previous-slide' ],\n\t\t\t[ activeSlide + 1, 'next-slide' ],\n\t\t] );\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-pattern-setup__carousel\">\n\t\t\t\t<div className={ containerClass }>\n\t\t\t\t\t<ul className=\"carousel-container\">\n\t\t\t\t\t\t{ patterns.map( ( pattern, index ) => (\n\t\t\t\t\t\t\t<BlockPatternSlide\n\t\t\t\t\t\t\t\tclassName={ slideClass.get( index ) || '' }\n\t\t\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div className=\"block-editor-block-pattern-setup__grid\">\n\t\t\t<Composite\n\t\t\t\t{ ...composite }\n\t\t\t\trole=\"listbox\"\n\t\t\t\tclassName={ containerClass }\n\t\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t\t>\n\t\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonSelect={ onBlockPatternSelect }\n\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\tshowTitles={ showTitles }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t</div>\n\t);\n};\n\nfunction BlockPattern( { pattern, onSelect, composite, showTitles } ) {\n\tconst baseClassName = 'block-editor-block-pattern-setup-list';\n\tconst { blocks, description, viewportWidth = 700 } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }__item-description`\n\t);\n\treturn (\n\t\t<div\n\t\t\tclassName={ `${ baseClassName }__list-item` }\n\t\t\taria-label={ pattern.title }\n\t\t\taria-describedby={ pattern.description ? descriptionId : undefined }\n\t\t>\n\t\t\t<CompositeItem\n\t\t\t\trole=\"option\"\n\t\t\t\tas=\"div\"\n\t\t\t\t{ ...composite }\n\t\t\t\tclassName={ `${ baseClassName }__item` }\n\t\t\t\tonClick={ () => onSelect( blocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t/>\n\t\t\t\t{ showTitles && (\n\t\t\t\t\t<div className={ `${ baseClassName }__item-title` }>\n\t\t\t\t\t\t{ pattern.title }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ !! description && (\n\t\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t</CompositeItem>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternSlide( { className, pattern, minHeight } ) {\n\tconst { blocks, title, description } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPatternSlide,\n\t\t'block-editor-block-pattern-setup-list__item-description'\n\t);\n\treturn (\n\t\t<li\n\t\t\tclassName={ `pattern-slide ${ className }` }\n\t\t\taria-label={ title }\n\t\t\taria-describedby={ description ? descriptionId : undefined }\n\t\t>\n\t\t\t<BlockPreview blocks={ blocks } minHeight={ minHeight } />\n\t\t\t{ !! description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\nconst BlockPatternSetup = ( {\n\tclientId,\n\tblockName,\n\tfilterPatternsFn,\n\tonBlockPatternSelect,\n\tinitialViewMode = VIEWMODES.carousel,\n\tshowTitles = false,\n} ) => {\n\tconst [ viewMode, setViewMode ] = useState( initialViewMode );\n\tconst [ activeSlide, setActiveSlide ] = useState( 0 );\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\tconst patterns = usePatternsSetup( clientId, blockName, filterPatternsFn );\n\n\tif ( ! patterns?.length ) {\n\t\treturn null;\n\t}\n\n\tconst onBlockPatternSelectDefault = ( blocks ) => {\n\t\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\t\treplaceBlock( clientId, clonedBlocks );\n\t};\n\tconst onPatternSelectCallback =\n\t\tonBlockPatternSelect || onBlockPatternSelectDefault;\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ `block-editor-block-pattern-setup view-mode-${ viewMode }` }\n\t\t\t>\n\t\t\t\t<SetupContent\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonBlockPatternSelect={ onPatternSelectCallback }\n\t\t\t\t\tshowTitles={ showTitles }\n\t\t\t\t/>\n\t\t\t\t<SetupToolbar\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tsetViewMode={ setViewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\ttotalSlides={ patterns.length }\n\t\t\t\t\thandleNext={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) => active + 1 );\n\t\t\t\t\t} }\n\t\t\t\t\thandlePrevious={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) => active - 1 );\n\t\t\t\t\t} }\n\t\t\t\t\tonBlockPatternSelect={ () => {\n\t\t\t\t\t\tonPatternSelectCallback(\n\t\t\t\t\t\t\tpatterns[ activeSlide ].blocks\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default BlockPatternSetup;\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement, Fragment } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -73,10 +72,10 @@ function BlockPattern({
73
72
  }, createElement(WithToolTip, {
74
73
  showTooltip: showTooltip,
75
74
  title: pattern.title
76
- }, createElement(CompositeItem, _extends({
75
+ }, createElement(CompositeItem, {
77
76
  role: "option",
78
- as: "div"
79
- }, composite, {
77
+ as: "div",
78
+ ...composite,
80
79
  className: "block-editor-block-patterns-list__item",
81
80
  onClick: () => {
82
81
  onClick(pattern, blocks);
@@ -92,7 +91,7 @@ function BlockPattern({
92
91
  onMouseLeave: () => onHover?.(null),
93
92
  "aria-label": pattern.title,
94
93
  "aria-describedby": pattern.description ? descriptionId : undefined
95
- }), createElement(BlockPreview, {
94
+ }, createElement(BlockPreview, {
96
95
  blocks: blocks,
97
96
  viewportWidth: viewportWidth
98
97
  }), !showTooltip && createElement("div", {
@@ -121,11 +120,11 @@ function BlockPatternList({
121
120
  const composite = useCompositeState({
122
121
  orientation
123
122
  });
124
- return createElement(Composite, _extends({}, composite, {
123
+ return createElement(Composite, { ...composite,
125
124
  role: "listbox",
126
125
  className: "block-editor-block-patterns-list",
127
126
  "aria-label": label
128
- }), blockPatterns.map(pattern => {
127
+ }, blockPatterns.map(pattern => {
129
128
  const isShown = shownPatterns.includes(pattern);
130
129
  return isShown ? createElement(BlockPattern, {
131
130
  key: pattern.name,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-patterns-list/index.js"],"names":["useState","VisuallyHidden","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","Tooltip","useInstanceId","__","BlockPreview","InserterDraggableBlocks","WithToolTip","showTooltip","title","children","BlockPattern","isDraggable","pattern","onClick","onHover","composite","isDragging","setIsDragging","blocks","viewportWidth","instanceId","descriptionId","draggable","onDragStart","onDragEnd","event","description","undefined","BlockPatternPlaceholder","BlockPatternList","blockPatterns","shownPatterns","onClickPattern","orientation","label","showTitlesAsTooltip","map","isShown","includes","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n\tTooltip,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport InserterDraggableBlocks from '../inserter-draggable-blocks';\n\nconst WithToolTip = ( { showTooltip, title, children } ) => {\n\tif ( showTooltip ) {\n\t\treturn <Tooltip text={ title }>{ children }</Tooltip>;\n\t}\n\treturn <>{ children }</>;\n};\n\nfunction BlockPattern( {\n\tisDraggable,\n\tpattern,\n\tonClick,\n\tonHover,\n\tcomposite,\n\tshowTooltip,\n} ) {\n\tconst [ isDragging, setIsDragging ] = useState( false );\n\tconst { blocks, viewportWidth } = pattern;\n\tconst instanceId = useInstanceId( BlockPattern );\n\tconst descriptionId = `block-editor-block-patterns-list__item-description-${ instanceId }`;\n\n\treturn (\n\t\t<InserterDraggableBlocks\n\t\t\tisEnabled={ isDraggable }\n\t\t\tblocks={ blocks }\n\t\t\tisPattern={ !! pattern }\n\t\t>\n\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"block-editor-block-patterns-list__list-item\"\n\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\tonDragStart={ ( event ) => {\n\t\t\t\t\t\tsetIsDragging( true );\n\t\t\t\t\t\tif ( onDragStart ) {\n\t\t\t\t\t\t\tonHover?.( null );\n\t\t\t\t\t\t\tonDragStart( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonDragEnd={ ( event ) => {\n\t\t\t\t\t\tsetIsDragging( false );\n\t\t\t\t\t\tif ( onDragEnd ) {\n\t\t\t\t\t\t\tonDragEnd( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<WithToolTip\n\t\t\t\t\t\tshowTooltip={ showTooltip }\n\t\t\t\t\t\ttitle={ pattern.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\tas=\"div\"\n\t\t\t\t\t\t\t{ ...composite }\n\t\t\t\t\t\t\tclassName=\"block-editor-block-patterns-list__item\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonClick( pattern, blocks );\n\t\t\t\t\t\t\t\tonHover?.( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseEnter={ () => {\n\t\t\t\t\t\t\t\tif ( isDragging ) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonHover?.( pattern );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseLeave={ () => onHover?.( null ) }\n\t\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ ! showTooltip && (\n\t\t\t\t\t\t\t\t<div className=\"block-editor-block-patterns-list__item-title\">\n\t\t\t\t\t\t\t\t\t{ pattern.title }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ !! pattern.description && (\n\t\t\t\t\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t\t\t\t\t{ pattern.description }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t</WithToolTip>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</InserterDraggableBlocks>\n\t);\n}\n\nfunction BlockPatternPlaceholder() {\n\treturn (\n\t\t<div className=\"block-editor-block-patterns-list__item is-placeholder\" />\n\t);\n}\n\nfunction BlockPatternList( {\n\tisDraggable,\n\tblockPatterns,\n\tshownPatterns,\n\tonHover,\n\tonClickPattern,\n\torientation,\n\tlabel = __( 'Block Patterns' ),\n\tshowTitlesAsTooltip,\n} ) {\n\tconst composite = useCompositeState( { orientation } );\n\treturn (\n\t\t<Composite\n\t\t\t{ ...composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-patterns-list\"\n\t\t\taria-label={ label }\n\t\t>\n\t\t\t{ blockPatterns.map( ( pattern ) => {\n\t\t\t\tconst isShown = shownPatterns.includes( pattern );\n\t\t\t\treturn isShown ? (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonClick={ onClickPattern }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\tshowTooltip={ showTitlesAsTooltip }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<BlockPatternPlaceholder key={ pattern.name } />\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n\nexport default BlockPatternList;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-patterns-list/index.js"],"names":["useState","VisuallyHidden","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","Tooltip","useInstanceId","__","BlockPreview","InserterDraggableBlocks","WithToolTip","showTooltip","title","children","BlockPattern","isDraggable","pattern","onClick","onHover","composite","isDragging","setIsDragging","blocks","viewportWidth","instanceId","descriptionId","draggable","onDragStart","onDragEnd","event","description","undefined","BlockPatternPlaceholder","BlockPatternList","blockPatterns","shownPatterns","onClickPattern","orientation","label","showTitlesAsTooltip","map","isShown","includes","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n\tTooltip,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport InserterDraggableBlocks from '../inserter-draggable-blocks';\n\nconst WithToolTip = ( { showTooltip, title, children } ) => {\n\tif ( showTooltip ) {\n\t\treturn <Tooltip text={ title }>{ children }</Tooltip>;\n\t}\n\treturn <>{ children }</>;\n};\n\nfunction BlockPattern( {\n\tisDraggable,\n\tpattern,\n\tonClick,\n\tonHover,\n\tcomposite,\n\tshowTooltip,\n} ) {\n\tconst [ isDragging, setIsDragging ] = useState( false );\n\tconst { blocks, viewportWidth } = pattern;\n\tconst instanceId = useInstanceId( BlockPattern );\n\tconst descriptionId = `block-editor-block-patterns-list__item-description-${ instanceId }`;\n\n\treturn (\n\t\t<InserterDraggableBlocks\n\t\t\tisEnabled={ isDraggable }\n\t\t\tblocks={ blocks }\n\t\t\tisPattern={ !! pattern }\n\t\t>\n\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"block-editor-block-patterns-list__list-item\"\n\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\tonDragStart={ ( event ) => {\n\t\t\t\t\t\tsetIsDragging( true );\n\t\t\t\t\t\tif ( onDragStart ) {\n\t\t\t\t\t\t\tonHover?.( null );\n\t\t\t\t\t\t\tonDragStart( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonDragEnd={ ( event ) => {\n\t\t\t\t\t\tsetIsDragging( false );\n\t\t\t\t\t\tif ( onDragEnd ) {\n\t\t\t\t\t\t\tonDragEnd( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<WithToolTip\n\t\t\t\t\t\tshowTooltip={ showTooltip }\n\t\t\t\t\t\ttitle={ pattern.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\tas=\"div\"\n\t\t\t\t\t\t\t{ ...composite }\n\t\t\t\t\t\t\tclassName=\"block-editor-block-patterns-list__item\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonClick( pattern, blocks );\n\t\t\t\t\t\t\t\tonHover?.( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseEnter={ () => {\n\t\t\t\t\t\t\t\tif ( isDragging ) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonHover?.( pattern );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseLeave={ () => onHover?.( null ) }\n\t\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ ! showTooltip && (\n\t\t\t\t\t\t\t\t<div className=\"block-editor-block-patterns-list__item-title\">\n\t\t\t\t\t\t\t\t\t{ pattern.title }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ !! pattern.description && (\n\t\t\t\t\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t\t\t\t\t{ pattern.description }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t</WithToolTip>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</InserterDraggableBlocks>\n\t);\n}\n\nfunction BlockPatternPlaceholder() {\n\treturn (\n\t\t<div className=\"block-editor-block-patterns-list__item is-placeholder\" />\n\t);\n}\n\nfunction BlockPatternList( {\n\tisDraggable,\n\tblockPatterns,\n\tshownPatterns,\n\tonHover,\n\tonClickPattern,\n\torientation,\n\tlabel = __( 'Block Patterns' ),\n\tshowTitlesAsTooltip,\n} ) {\n\tconst composite = useCompositeState( { orientation } );\n\treturn (\n\t\t<Composite\n\t\t\t{ ...composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-patterns-list\"\n\t\t\taria-label={ label }\n\t\t>\n\t\t\t{ blockPatterns.map( ( pattern ) => {\n\t\t\t\tconst isShown = shownPatterns.includes( pattern );\n\t\t\t\treturn isShown ? (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonClick={ onClickPattern }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\tshowTooltip={ showTitlesAsTooltip }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<BlockPatternPlaceholder key={ pattern.name } />\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n\nexport default BlockPatternList;\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -164,7 +163,7 @@ function BlockPopoverInbetween({
164
163
  // See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
165
164
 
166
165
 
167
- return createElement(Popover, _extends({
166
+ return createElement(Popover, {
168
167
  ref: popoverScrollRef,
169
168
  animate: false,
170
169
  anchor: popoverAnchor,
@@ -174,14 +173,14 @@ function BlockPopoverInbetween({
174
173
  __unstableSlotName: __unstablePopoverSlot || null // Forces a remount of the popover when its position changes
175
174
  // This makes sure the popover doesn't animate from its previous position.
176
175
  ,
177
- key: nextClientId + '--' + rootClientId
178
- }, props, {
176
+ key: nextClientId + '--' + rootClientId,
177
+ ...props,
179
178
  className: classnames('block-editor-block-popover', 'block-editor-block-popover__inbetween', props.className),
180
179
  resize: false,
181
180
  flip: false,
182
181
  placement: "overlay",
183
182
  variant: "unstyled"
184
- }), createElement("div", {
183
+ }, createElement("div", {
185
184
  className: "block-editor-block-popover__inbetween-container"
186
185
  }, children));
187
186
  /* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-popover/inbetween.js"],"names":["classnames","useSelect","useMemo","createContext","useReducer","useLayoutEffect","Popover","isRTL","store","blockEditorStore","__unstableUseBlockElement","useBlockElement","usePopoverScroll","MAX_POPOVER_RECOMPUTE_COUNTER","Number","MAX_SAFE_INTEGER","InsertionPointOpenRef","BlockPopoverInbetween","previousClientId","nextClientId","children","__unstablePopoverSlot","__unstableContentRef","props","popoverRecomputeCounter","forcePopoverRecompute","s","orientation","rootClientId","isVisible","select","getBlockListSettings","getBlockRootClientId","isBlockVisible","_rootClientId","previousElement","nextElement","isVertical","popoverAnchor","undefined","ownerDocument","getBoundingClientRect","previousRect","nextRect","left","top","width","height","bottom","right","window","DOMRect","popoverScrollRef","observer","MutationObserver","observe","attributes","disconnect","defaultView","addEventListener","removeEventListener","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tuseMemo,\n\tcreateContext,\n\tuseReducer,\n\tuseLayoutEffect,\n} from '@wordpress/element';\nimport { Popover } from '@wordpress/components';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\n\nconst MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;\n\nexport const InsertionPointOpenRef = createContext();\n\nfunction BlockPopoverInbetween( {\n\tpreviousClientId,\n\tnextClientId,\n\tchildren,\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n\t...props\n} ) {\n\t// This is a temporary hack to get the inbetween inserter to recompute properly.\n\tconst [ popoverRecomputeCounter, forcePopoverRecompute ] = useReducer(\n\t\t// Module is there to make sure that the counter doesn't overflow.\n\t\t( s ) => ( s + 1 ) % MAX_POPOVER_RECOMPUTE_COUNTER,\n\t\t0\n\t);\n\n\tconst { orientation, rootClientId, isVisible } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockListSettings,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tisBlockVisible,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst _rootClientId = getBlockRootClientId(\n\t\t\t\tpreviousClientId ?? nextClientId\n\t\t\t);\n\t\t\treturn {\n\t\t\t\torientation:\n\t\t\t\t\tgetBlockListSettings( _rootClientId )?.orientation ||\n\t\t\t\t\t'vertical',\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tisVisible:\n\t\t\t\t\tisBlockVisible( previousClientId ) &&\n\t\t\t\t\tisBlockVisible( nextClientId ),\n\t\t\t};\n\t\t},\n\t\t[ previousClientId, nextClientId ]\n\t);\n\tconst previousElement = useBlockElement( previousClientId );\n\tconst nextElement = useBlockElement( nextClientId );\n\tconst isVertical = orientation === 'vertical';\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tif (\n\t\t\t// popoverRecomputeCounter is by definition always equal or greater than 0.\n\t\t\t// This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverRecomputeCounter < 0 ||\n\t\t\t( ! previousElement && ! nextElement ) ||\n\t\t\t! isVisible\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst { ownerDocument } = previousElement || nextElement;\n\n\t\treturn {\n\t\t\townerDocument,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst previousRect = previousElement\n\t\t\t\t\t? previousElement.getBoundingClientRect()\n\t\t\t\t\t: null;\n\t\t\t\tconst nextRect = nextElement\n\t\t\t\t\t? nextElement.getBoundingClientRect()\n\t\t\t\t\t: null;\n\n\t\t\t\tlet left = 0;\n\t\t\t\tlet top = 0;\n\t\t\t\tlet width = 0;\n\t\t\t\tlet height = 0;\n\n\t\t\t\tif ( isVertical ) {\n\t\t\t\t\t// vertical\n\t\t\t\t\ttop = previousRect ? previousRect.bottom : nextRect.top;\n\t\t\t\t\twidth = previousRect ? previousRect.width : nextRect.width;\n\t\t\t\t\theight =\n\t\t\t\t\t\tnextRect && previousRect\n\t\t\t\t\t\t\t? nextRect.top - previousRect.bottom\n\t\t\t\t\t\t\t: 0;\n\t\t\t\t\tleft = previousRect ? previousRect.left : nextRect.left;\n\t\t\t\t} else {\n\t\t\t\t\ttop = previousRect ? previousRect.top : nextRect.top;\n\t\t\t\t\theight = previousRect\n\t\t\t\t\t\t? previousRect.height\n\t\t\t\t\t\t: nextRect.height;\n\n\t\t\t\t\tif ( isRTL() ) {\n\t\t\t\t\t\t// non vertical, rtl\n\t\t\t\t\t\tleft = nextRect ? nextRect.right : previousRect.left;\n\t\t\t\t\t\twidth =\n\t\t\t\t\t\t\tpreviousRect && nextRect\n\t\t\t\t\t\t\t\t? previousRect.left - nextRect.right\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// non vertical, ltr\n\t\t\t\t\t\tleft = previousRect\n\t\t\t\t\t\t\t? previousRect.right\n\t\t\t\t\t\t\t: nextRect.left;\n\t\t\t\t\t\twidth =\n\t\t\t\t\t\t\tpreviousRect && nextRect\n\t\t\t\t\t\t\t\t? nextRect.left - previousRect.right\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t};\n\t}, [\n\t\tpreviousElement,\n\t\tnextElement,\n\t\tpopoverRecomputeCounter,\n\t\tisVertical,\n\t\tisVisible,\n\t] );\n\n\tconst popoverScrollRef = usePopoverScroll( __unstableContentRef );\n\n\t// This is only needed for a smooth transition when moving blocks.\n\t// When blocks are moved up/down, their position can be set by\n\t// updating the `transform` property manually (i.e. without using CSS\n\t// transitions or animations). The animation, which can also scroll the block\n\t// editor, can sometimes cause the position of the Popover to get out of sync.\n\t// A MutationObserver is therefore used to make sure that changes to the\n\t// selectedElement's attribute (i.e. `transform`) can be tracked and used to\n\t// trigger the Popover to rerender.\n\tuseLayoutEffect( () => {\n\t\tif ( ! previousElement ) {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new window.MutationObserver( forcePopoverRecompute );\n\t\tobserver.observe( previousElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ previousElement ] );\n\n\tuseLayoutEffect( () => {\n\t\tif ( ! nextElement ) {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new window.MutationObserver( forcePopoverRecompute );\n\t\tobserver.observe( nextElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ nextElement ] );\n\n\tuseLayoutEffect( () => {\n\t\tif ( ! previousElement ) {\n\t\t\treturn;\n\t\t}\n\t\tpreviousElement.ownerDocument.defaultView.addEventListener(\n\t\t\t'resize',\n\t\t\tforcePopoverRecompute\n\t\t);\n\t\treturn () => {\n\t\t\tpreviousElement.ownerDocument.defaultView?.removeEventListener(\n\t\t\t\t'resize',\n\t\t\t\tforcePopoverRecompute\n\t\t\t);\n\t\t};\n\t}, [ previousElement ] );\n\n\t// If there's either a previous or a next element, show the inbetween popover.\n\t// Note that drag and drop uses the inbetween popover to show the drop indicator\n\t// before the first block and after the last block.\n\tif ( ( ! previousElement && ! nextElement ) || ! isVisible ) {\n\t\treturn null;\n\t}\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\t// While ideally it would be enough to capture the\n\t// bubbling focus event from the Inserter, due to the\n\t// characteristics of click focusing of `button`s in\n\t// Firefox and Safari, it is not reliable.\n\t//\n\t// See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n\treturn (\n\t\t<Popover\n\t\t\tref={ popoverScrollRef }\n\t\t\tanimate={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\tfocusOnMount={ false }\n\t\t\t// Render in the old slot if needed for backward compatibility,\n\t\t\t// otherwise render in place (not in the default popover slot).\n\t\t\t__unstableSlotName={ __unstablePopoverSlot || null }\n\t\t\t// Forces a remount of the popover when its position changes\n\t\t\t// This makes sure the popover doesn't animate from its previous position.\n\t\t\tkey={ nextClientId + '--' + rootClientId }\n\t\t\t{ ...props }\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-block-popover',\n\t\t\t\t'block-editor-block-popover__inbetween',\n\t\t\t\tprops.className\n\t\t\t) }\n\t\t\tresize={ false }\n\t\t\tflip={ false }\n\t\t\tplacement=\"overlay\"\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<div className=\"block-editor-block-popover__inbetween-container\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</Popover>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n}\n\nexport default BlockPopoverInbetween;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-popover/inbetween.js"],"names":["classnames","useSelect","useMemo","createContext","useReducer","useLayoutEffect","Popover","isRTL","store","blockEditorStore","__unstableUseBlockElement","useBlockElement","usePopoverScroll","MAX_POPOVER_RECOMPUTE_COUNTER","Number","MAX_SAFE_INTEGER","InsertionPointOpenRef","BlockPopoverInbetween","previousClientId","nextClientId","children","__unstablePopoverSlot","__unstableContentRef","props","popoverRecomputeCounter","forcePopoverRecompute","s","orientation","rootClientId","isVisible","select","getBlockListSettings","getBlockRootClientId","isBlockVisible","_rootClientId","previousElement","nextElement","isVertical","popoverAnchor","undefined","ownerDocument","getBoundingClientRect","previousRect","nextRect","left","top","width","height","bottom","right","window","DOMRect","popoverScrollRef","observer","MutationObserver","observe","attributes","disconnect","defaultView","addEventListener","removeEventListener","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tuseMemo,\n\tcreateContext,\n\tuseReducer,\n\tuseLayoutEffect,\n} from '@wordpress/element';\nimport { Popover } from '@wordpress/components';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\n\nconst MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;\n\nexport const InsertionPointOpenRef = createContext();\n\nfunction BlockPopoverInbetween( {\n\tpreviousClientId,\n\tnextClientId,\n\tchildren,\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n\t...props\n} ) {\n\t// This is a temporary hack to get the inbetween inserter to recompute properly.\n\tconst [ popoverRecomputeCounter, forcePopoverRecompute ] = useReducer(\n\t\t// Module is there to make sure that the counter doesn't overflow.\n\t\t( s ) => ( s + 1 ) % MAX_POPOVER_RECOMPUTE_COUNTER,\n\t\t0\n\t);\n\n\tconst { orientation, rootClientId, isVisible } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockListSettings,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tisBlockVisible,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst _rootClientId = getBlockRootClientId(\n\t\t\t\tpreviousClientId ?? nextClientId\n\t\t\t);\n\t\t\treturn {\n\t\t\t\torientation:\n\t\t\t\t\tgetBlockListSettings( _rootClientId )?.orientation ||\n\t\t\t\t\t'vertical',\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tisVisible:\n\t\t\t\t\tisBlockVisible( previousClientId ) &&\n\t\t\t\t\tisBlockVisible( nextClientId ),\n\t\t\t};\n\t\t},\n\t\t[ previousClientId, nextClientId ]\n\t);\n\tconst previousElement = useBlockElement( previousClientId );\n\tconst nextElement = useBlockElement( nextClientId );\n\tconst isVertical = orientation === 'vertical';\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tif (\n\t\t\t// popoverRecomputeCounter is by definition always equal or greater than 0.\n\t\t\t// This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverRecomputeCounter < 0 ||\n\t\t\t( ! previousElement && ! nextElement ) ||\n\t\t\t! isVisible\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst { ownerDocument } = previousElement || nextElement;\n\n\t\treturn {\n\t\t\townerDocument,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst previousRect = previousElement\n\t\t\t\t\t? previousElement.getBoundingClientRect()\n\t\t\t\t\t: null;\n\t\t\t\tconst nextRect = nextElement\n\t\t\t\t\t? nextElement.getBoundingClientRect()\n\t\t\t\t\t: null;\n\n\t\t\t\tlet left = 0;\n\t\t\t\tlet top = 0;\n\t\t\t\tlet width = 0;\n\t\t\t\tlet height = 0;\n\n\t\t\t\tif ( isVertical ) {\n\t\t\t\t\t// vertical\n\t\t\t\t\ttop = previousRect ? previousRect.bottom : nextRect.top;\n\t\t\t\t\twidth = previousRect ? previousRect.width : nextRect.width;\n\t\t\t\t\theight =\n\t\t\t\t\t\tnextRect && previousRect\n\t\t\t\t\t\t\t? nextRect.top - previousRect.bottom\n\t\t\t\t\t\t\t: 0;\n\t\t\t\t\tleft = previousRect ? previousRect.left : nextRect.left;\n\t\t\t\t} else {\n\t\t\t\t\ttop = previousRect ? previousRect.top : nextRect.top;\n\t\t\t\t\theight = previousRect\n\t\t\t\t\t\t? previousRect.height\n\t\t\t\t\t\t: nextRect.height;\n\n\t\t\t\t\tif ( isRTL() ) {\n\t\t\t\t\t\t// non vertical, rtl\n\t\t\t\t\t\tleft = nextRect ? nextRect.right : previousRect.left;\n\t\t\t\t\t\twidth =\n\t\t\t\t\t\t\tpreviousRect && nextRect\n\t\t\t\t\t\t\t\t? previousRect.left - nextRect.right\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// non vertical, ltr\n\t\t\t\t\t\tleft = previousRect\n\t\t\t\t\t\t\t? previousRect.right\n\t\t\t\t\t\t\t: nextRect.left;\n\t\t\t\t\t\twidth =\n\t\t\t\t\t\t\tpreviousRect && nextRect\n\t\t\t\t\t\t\t\t? nextRect.left - previousRect.right\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t};\n\t}, [\n\t\tpreviousElement,\n\t\tnextElement,\n\t\tpopoverRecomputeCounter,\n\t\tisVertical,\n\t\tisVisible,\n\t] );\n\n\tconst popoverScrollRef = usePopoverScroll( __unstableContentRef );\n\n\t// This is only needed for a smooth transition when moving blocks.\n\t// When blocks are moved up/down, their position can be set by\n\t// updating the `transform` property manually (i.e. without using CSS\n\t// transitions or animations). The animation, which can also scroll the block\n\t// editor, can sometimes cause the position of the Popover to get out of sync.\n\t// A MutationObserver is therefore used to make sure that changes to the\n\t// selectedElement's attribute (i.e. `transform`) can be tracked and used to\n\t// trigger the Popover to rerender.\n\tuseLayoutEffect( () => {\n\t\tif ( ! previousElement ) {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new window.MutationObserver( forcePopoverRecompute );\n\t\tobserver.observe( previousElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ previousElement ] );\n\n\tuseLayoutEffect( () => {\n\t\tif ( ! nextElement ) {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new window.MutationObserver( forcePopoverRecompute );\n\t\tobserver.observe( nextElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ nextElement ] );\n\n\tuseLayoutEffect( () => {\n\t\tif ( ! previousElement ) {\n\t\t\treturn;\n\t\t}\n\t\tpreviousElement.ownerDocument.defaultView.addEventListener(\n\t\t\t'resize',\n\t\t\tforcePopoverRecompute\n\t\t);\n\t\treturn () => {\n\t\t\tpreviousElement.ownerDocument.defaultView?.removeEventListener(\n\t\t\t\t'resize',\n\t\t\t\tforcePopoverRecompute\n\t\t\t);\n\t\t};\n\t}, [ previousElement ] );\n\n\t// If there's either a previous or a next element, show the inbetween popover.\n\t// Note that drag and drop uses the inbetween popover to show the drop indicator\n\t// before the first block and after the last block.\n\tif ( ( ! previousElement && ! nextElement ) || ! isVisible ) {\n\t\treturn null;\n\t}\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\t// While ideally it would be enough to capture the\n\t// bubbling focus event from the Inserter, due to the\n\t// characteristics of click focusing of `button`s in\n\t// Firefox and Safari, it is not reliable.\n\t//\n\t// See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n\treturn (\n\t\t<Popover\n\t\t\tref={ popoverScrollRef }\n\t\t\tanimate={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\tfocusOnMount={ false }\n\t\t\t// Render in the old slot if needed for backward compatibility,\n\t\t\t// otherwise render in place (not in the default popover slot).\n\t\t\t__unstableSlotName={ __unstablePopoverSlot || null }\n\t\t\t// Forces a remount of the popover when its position changes\n\t\t\t// This makes sure the popover doesn't animate from its previous position.\n\t\t\tkey={ nextClientId + '--' + rootClientId }\n\t\t\t{ ...props }\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-block-popover',\n\t\t\t\t'block-editor-block-popover__inbetween',\n\t\t\t\tprops.className\n\t\t\t) }\n\t\t\tresize={ false }\n\t\t\tflip={ false }\n\t\t\tplacement=\"overlay\"\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<div className=\"block-editor-block-popover__inbetween-container\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</Popover>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n}\n\nexport default BlockPopoverInbetween;\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -105,7 +104,7 @@ function BlockPopover({
105
104
  return null;
106
105
  }
107
106
 
108
- return createElement(Popover, _extends({
107
+ return createElement(Popover, {
109
108
  ref: mergedRefs,
110
109
  animate: false,
111
110
  focusOnMount: false,
@@ -116,11 +115,11 @@ function BlockPopover({
116
115
  placement: "top-start",
117
116
  resize: false,
118
117
  flip: false,
119
- shift: shift
120
- }, props, {
118
+ shift: shift,
119
+ ...props,
121
120
  className: classnames('block-editor-block-popover', props.className),
122
121
  variant: "unstyled"
123
- }), __unstableCoverTarget && createElement("div", {
122
+ }, __unstableCoverTarget && createElement("div", {
124
123
  style: style
125
124
  }, children), !__unstableCoverTarget && children);
126
125
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-popover/index.js"],"names":["classnames","useMergeRefs","Popover","forwardRef","useMemo","useReducer","useLayoutEffect","__unstableUseBlockElement","useBlockElement","usePopoverScroll","MAX_POPOVER_RECOMPUTE_COUNTER","Number","MAX_SAFE_INTEGER","BlockPopover","clientId","bottomClientId","children","__unstableRefreshSize","__unstableCoverTarget","__unstablePopoverSlot","__unstableContentRef","shift","props","ref","selectedElement","lastSelectedElement","mergedRefs","popoverDimensionsRecomputeCounter","forceRecomputePopoverDimensions","s","observer","window","MutationObserver","observe","attributes","disconnect","style","position","width","offsetWidth","height","offsetHeight","popoverAnchor","undefined","getBoundingClientRect","selectedBCR","lastSelectedBCR","left","Math","min","Infinity","top","right","max","bottom","DOMRect","ownerDocument","className"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,YAAT,QAA6B,oBAA7B;AACA,SAASC,OAAT,QAAwB,uBAAxB;AACA,SACCC,UADD,EAECC,OAFD,EAGCC,UAHD,EAICC,eAJD,QAKO,oBALP;AAOA;AACA;AACA;;AACA,SAASC,yBAAyB,IAAIC,eAAtC,QAA6D,8CAA7D;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AAEA,MAAMC,6BAA6B,GAAGC,MAAM,CAACC,gBAA7C;;AAEA,SAASC,YAAT,CACC;AACCC,EAAAA,QADD;AAECC,EAAAA,cAFD;AAGCC,EAAAA,QAHD;AAICC,EAAAA,qBAJD;AAKCC,EAAAA,qBAAqB,GAAG,KALzB;AAMCC,EAAAA,qBAND;AAOCC,EAAAA,oBAPD;AAQCC,EAAAA,KAAK,GAAG,IART;AASC,KAAGC;AATJ,CADD,EAYCC,GAZD,EAaE;AACD,QAAMC,eAAe,GAAGhB,eAAe,CAAEM,QAAF,CAAvC;AACA,QAAMW,mBAAmB,GAAGjB,eAAe,CAAEO,cAAF,aAAEA,cAAF,cAAEA,cAAF,GAAoBD,QAApB,CAA3C;AACA,QAAMY,UAAU,GAAGzB,YAAY,CAAE,CAChCsB,GADgC,EAEhCd,gBAAgB,CAAEW,oBAAF,CAFgB,CAAF,CAA/B;AAKA,QAAM,CACLO,iCADK,EAELC,+BAFK,IAGFvB,UAAU,EACb;AACEwB,EAAAA,CAAF,IAAS,CAAEA,CAAC,GAAG,CAAN,IAAYnB,6BAFR,EAGb,CAHa,CAHd,CARC,CAiBD;AACA;AACA;AACA;AACA;AACA;AACA;;AACAJ,EAAAA,eAAe,CAAE,MAAM;AACtB,QAAK,CAAEkB,eAAP,EAAyB;AACxB;AACA;;AAED,UAAMM,QAAQ,GAAG,IAAIC,MAAM,CAACC,gBAAX,CAChBJ,+BADgB,CAAjB;AAGAE,IAAAA,QAAQ,CAACG,OAAT,CAAkBT,eAAlB,EAAmC;AAAEU,MAAAA,UAAU,EAAE;AAAd,KAAnC;AAEA,WAAO,MAAM;AACZJ,MAAAA,QAAQ,CAACK,UAAT;AACA,KAFD;AAGA,GAbc,EAaZ,CAAEX,eAAF,CAbY,CAAf;AAeA,QAAMY,KAAK,GAAGhC,OAAO,CAAE,MAAM;AAC5B,SACC;AACA;AACA;AACAuB,IAAAA,iCAAiC,GAAG,CAApC,IACA,CAAEH,eADF,IAEAC,mBAAmB,KAAKD,eANzB,EAOE;AACD,aAAO,EAAP;AACA;;AAED,WAAO;AACNa,MAAAA,QAAQ,EAAE,UADJ;AAENC,MAAAA,KAAK,EAAEd,eAAe,CAACe,WAFjB;AAGNC,MAAAA,MAAM,EAAEhB,eAAe,CAACiB;AAHlB,KAAP;AAKA,GAjBoB,EAiBlB,CACFjB,eADE,EAEFC,mBAFE,EAGFR,qBAHE,EAIFU,iCAJE,CAjBkB,CAArB;AAwBA,QAAMe,aAAa,GAAGtC,OAAO,CAAE,MAAM;AACpC,SACC;AACA;AACA;AACAuB,IAAAA,iCAAiC,GAAG,CAApC,IACA,CAAEH,eADF,IAEET,cAAc,IAAI,CAAEU,mBANvB,EAOE;AACD,aAAOkB,SAAP;AACA;;AAED,WAAO;AACNC,MAAAA,qBAAqB,GAAG;AAAA;;AACvB,cAAMC,WAAW,GAAGrB,eAAe,CAACoB,qBAAhB,EAApB;AACA,cAAME,eAAe,GACpBrB,mBAAmB,EAAEmB,qBAArB,EADD,CAFuB,CAKvB;AACA;AACA;AACA;;AACA,cAAMG,IAAI,GAAGC,IAAI,CAACC,GAAL,CACZJ,WAAW,CAACE,IADA,2BAEZD,eAAe,EAAEC,IAFL,yEAEaG,QAFb,CAAb;AAIA,cAAMC,GAAG,GAAGH,IAAI,CAACC,GAAL,CACXJ,WAAW,CAACM,GADD,0BAEXL,eAAe,EAAEK,GAFN,uEAEaD,QAFb,CAAZ;AAIA,cAAME,KAAK,GAAGJ,IAAI,CAACK,GAAL,CACbR,WAAW,CAACO,KADC,2BAEbN,eAAe,CAACM,KAFH,yEAEY,CAACF,QAFb,CAAd;AAIA,cAAMI,MAAM,GAAGN,IAAI,CAACK,GAAL,CACdR,WAAW,CAACS,MADE,2BAEdR,eAAe,CAACQ,MAFF,yEAEY,CAACJ,QAFb,CAAf;AAIA,cAAMZ,KAAK,GAAGc,KAAK,GAAGL,IAAtB;AACA,cAAMP,MAAM,GAAGc,MAAM,GAAGH,GAAxB;AAEA,eAAO,IAAIpB,MAAM,CAACwB,OAAX,CAAoBR,IAApB,EAA0BI,GAA1B,EAA+Bb,KAA/B,EAAsCE,MAAtC,CAAP;AACA,OA9BK;;AA+BNgB,MAAAA,aAAa,EAAEhC,eAAe,CAACgC;AA/BzB,KAAP;AAiCA,GA7C4B,EA6C1B,CACFzC,cADE,EAEFU,mBAFE,EAGFD,eAHE,EAIFG,iCAJE,CA7C0B,CAA7B;;AAoDA,MAAK,CAAEH,eAAF,IAAuBT,cAAc,IAAI,CAAEU,mBAAhD,EAAwE;AACvE,WAAO,IAAP;AACA;;AAED,SACC,cAAC,OAAD;AACC,IAAA,GAAG,EAAGC,UADP;AAEC,IAAA,OAAO,EAAG,KAFX;AAGC,IAAA,YAAY,EAAG,KAHhB;AAIC,IAAA,MAAM,EAAGgB,aAJV,CAKC;AACA;AAND;AAOC,IAAA,kBAAkB,EAAGvB,qBAAqB,IAAI,IAP/C;AAQC,IAAA,SAAS,EAAC,WARX;AASC,IAAA,MAAM,EAAG,KATV;AAUC,IAAA,IAAI,EAAG,KAVR;AAWC,IAAA,KAAK,EAAGE;AAXT,KAYMC,KAZN;AAaC,IAAA,SAAS,EAAGtB,UAAU,CACrB,4BADqB,EAErBsB,KAAK,CAACmC,SAFe,CAbvB;AAiBC,IAAA,OAAO,EAAC;AAjBT,MAmBGvC,qBAAqB,IAAI;AAAK,IAAA,KAAK,EAAGkB;AAAb,KAAuBpB,QAAvB,CAnB5B,EAoBG,CAAEE,qBAAF,IAA2BF,QApB9B,CADD;AAwBA;;AAED,eAAeb,UAAU,CAAEU,YAAF,CAAzB","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { Popover } from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n\tuseLayoutEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\n\nconst MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;\n\nfunction BlockPopover(\n\t{\n\t\tclientId,\n\t\tbottomClientId,\n\t\tchildren,\n\t\t__unstableRefreshSize,\n\t\t__unstableCoverTarget = false,\n\t\t__unstablePopoverSlot,\n\t\t__unstableContentRef,\n\t\tshift = true,\n\t\t...props\n\t},\n\tref\n) {\n\tconst selectedElement = useBlockElement( clientId );\n\tconst lastSelectedElement = useBlockElement( bottomClientId ?? clientId );\n\tconst mergedRefs = useMergeRefs( [\n\t\tref,\n\t\tusePopoverScroll( __unstableContentRef ),\n\t] );\n\n\tconst [\n\t\tpopoverDimensionsRecomputeCounter,\n\t\tforceRecomputePopoverDimensions,\n\t] = useReducer(\n\t\t// Module is there to make sure that the counter doesn't overflow.\n\t\t( s ) => ( s + 1 ) % MAX_POPOVER_RECOMPUTE_COUNTER,\n\t\t0\n\t);\n\n\t// When blocks are moved up/down, they are animated to their new position by\n\t// updating the `transform` property manually (i.e. without using CSS\n\t// transitions or animations). The animation, which can also scroll the block\n\t// editor, can sometimes cause the position of the Popover to get out of sync.\n\t// A MutationObserver is therefore used to make sure that changes to the\n\t// selectedElement's attribute (i.e. `transform`) can be tracked and used to\n\t// trigger the Popover to rerender.\n\tuseLayoutEffect( () => {\n\t\tif ( ! selectedElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observer = new window.MutationObserver(\n\t\t\tforceRecomputePopoverDimensions\n\t\t);\n\t\tobserver.observe( selectedElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ selectedElement ] );\n\n\tconst style = useMemo( () => {\n\t\tif (\n\t\t\t// popoverDimensionsRecomputeCounter is by definition always equal or greater\n\t\t\t// than 0. This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverDimensionsRecomputeCounter < 0 ||\n\t\t\t! selectedElement ||\n\t\t\tlastSelectedElement !== selectedElement\n\t\t) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tposition: 'absolute',\n\t\t\twidth: selectedElement.offsetWidth,\n\t\t\theight: selectedElement.offsetHeight,\n\t\t};\n\t}, [\n\t\tselectedElement,\n\t\tlastSelectedElement,\n\t\t__unstableRefreshSize,\n\t\tpopoverDimensionsRecomputeCounter,\n\t] );\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tif (\n\t\t\t// popoverDimensionsRecomputeCounter is by definition always equal or greater\n\t\t\t// than 0. This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverDimensionsRecomputeCounter < 0 ||\n\t\t\t! selectedElement ||\n\t\t\t( bottomClientId && ! lastSelectedElement )\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst selectedBCR = selectedElement.getBoundingClientRect();\n\t\t\t\tconst lastSelectedBCR =\n\t\t\t\t\tlastSelectedElement?.getBoundingClientRect();\n\n\t\t\t\t// Get the biggest rectangle that encompasses completely the currently\n\t\t\t\t// selected element and the last selected element:\n\t\t\t\t// - for top/left coordinates, use the smaller numbers\n\t\t\t\t// - for the bottom/right coordinates, use the largest numbers\n\t\t\t\tconst left = Math.min(\n\t\t\t\t\tselectedBCR.left,\n\t\t\t\t\tlastSelectedBCR?.left ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst top = Math.min(\n\t\t\t\t\tselectedBCR.top,\n\t\t\t\t\tlastSelectedBCR?.top ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst right = Math.max(\n\t\t\t\t\tselectedBCR.right,\n\t\t\t\t\tlastSelectedBCR.right ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst bottom = Math.max(\n\t\t\t\t\tselectedBCR.bottom,\n\t\t\t\t\tlastSelectedBCR.bottom ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst width = right - left;\n\t\t\t\tconst height = bottom - top;\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t\townerDocument: selectedElement.ownerDocument,\n\t\t};\n\t}, [\n\t\tbottomClientId,\n\t\tlastSelectedElement,\n\t\tselectedElement,\n\t\tpopoverDimensionsRecomputeCounter,\n\t] );\n\n\tif ( ! selectedElement || ( bottomClientId && ! lastSelectedElement ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ mergedRefs }\n\t\t\tanimate={ false }\n\t\t\tfocusOnMount={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\t// Render in the old slot if needed for backward compatibility,\n\t\t\t// otherwise render in place (not in the default popover slot).\n\t\t\t__unstableSlotName={ __unstablePopoverSlot || null }\n\t\t\tplacement=\"top-start\"\n\t\t\tresize={ false }\n\t\t\tflip={ false }\n\t\t\tshift={ shift }\n\t\t\t{ ...props }\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-block-popover',\n\t\t\t\tprops.className\n\t\t\t) }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t{ __unstableCoverTarget && <div style={ style }>{ children }</div> }\n\t\t\t{ ! __unstableCoverTarget && children }\n\t\t</Popover>\n\t);\n}\n\nexport default forwardRef( BlockPopover );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-popover/index.js"],"names":["classnames","useMergeRefs","Popover","forwardRef","useMemo","useReducer","useLayoutEffect","__unstableUseBlockElement","useBlockElement","usePopoverScroll","MAX_POPOVER_RECOMPUTE_COUNTER","Number","MAX_SAFE_INTEGER","BlockPopover","clientId","bottomClientId","children","__unstableRefreshSize","__unstableCoverTarget","__unstablePopoverSlot","__unstableContentRef","shift","props","ref","selectedElement","lastSelectedElement","mergedRefs","popoverDimensionsRecomputeCounter","forceRecomputePopoverDimensions","s","observer","window","MutationObserver","observe","attributes","disconnect","style","position","width","offsetWidth","height","offsetHeight","popoverAnchor","undefined","getBoundingClientRect","selectedBCR","lastSelectedBCR","left","Math","min","Infinity","top","right","max","bottom","DOMRect","ownerDocument","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { Popover } from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n\tuseLayoutEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\n\nconst MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;\n\nfunction BlockPopover(\n\t{\n\t\tclientId,\n\t\tbottomClientId,\n\t\tchildren,\n\t\t__unstableRefreshSize,\n\t\t__unstableCoverTarget = false,\n\t\t__unstablePopoverSlot,\n\t\t__unstableContentRef,\n\t\tshift = true,\n\t\t...props\n\t},\n\tref\n) {\n\tconst selectedElement = useBlockElement( clientId );\n\tconst lastSelectedElement = useBlockElement( bottomClientId ?? clientId );\n\tconst mergedRefs = useMergeRefs( [\n\t\tref,\n\t\tusePopoverScroll( __unstableContentRef ),\n\t] );\n\n\tconst [\n\t\tpopoverDimensionsRecomputeCounter,\n\t\tforceRecomputePopoverDimensions,\n\t] = useReducer(\n\t\t// Module is there to make sure that the counter doesn't overflow.\n\t\t( s ) => ( s + 1 ) % MAX_POPOVER_RECOMPUTE_COUNTER,\n\t\t0\n\t);\n\n\t// When blocks are moved up/down, they are animated to their new position by\n\t// updating the `transform` property manually (i.e. without using CSS\n\t// transitions or animations). The animation, which can also scroll the block\n\t// editor, can sometimes cause the position of the Popover to get out of sync.\n\t// A MutationObserver is therefore used to make sure that changes to the\n\t// selectedElement's attribute (i.e. `transform`) can be tracked and used to\n\t// trigger the Popover to rerender.\n\tuseLayoutEffect( () => {\n\t\tif ( ! selectedElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observer = new window.MutationObserver(\n\t\t\tforceRecomputePopoverDimensions\n\t\t);\n\t\tobserver.observe( selectedElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ selectedElement ] );\n\n\tconst style = useMemo( () => {\n\t\tif (\n\t\t\t// popoverDimensionsRecomputeCounter is by definition always equal or greater\n\t\t\t// than 0. This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverDimensionsRecomputeCounter < 0 ||\n\t\t\t! selectedElement ||\n\t\t\tlastSelectedElement !== selectedElement\n\t\t) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tposition: 'absolute',\n\t\t\twidth: selectedElement.offsetWidth,\n\t\t\theight: selectedElement.offsetHeight,\n\t\t};\n\t}, [\n\t\tselectedElement,\n\t\tlastSelectedElement,\n\t\t__unstableRefreshSize,\n\t\tpopoverDimensionsRecomputeCounter,\n\t] );\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tif (\n\t\t\t// popoverDimensionsRecomputeCounter is by definition always equal or greater\n\t\t\t// than 0. This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverDimensionsRecomputeCounter < 0 ||\n\t\t\t! selectedElement ||\n\t\t\t( bottomClientId && ! lastSelectedElement )\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst selectedBCR = selectedElement.getBoundingClientRect();\n\t\t\t\tconst lastSelectedBCR =\n\t\t\t\t\tlastSelectedElement?.getBoundingClientRect();\n\n\t\t\t\t// Get the biggest rectangle that encompasses completely the currently\n\t\t\t\t// selected element and the last selected element:\n\t\t\t\t// - for top/left coordinates, use the smaller numbers\n\t\t\t\t// - for the bottom/right coordinates, use the largest numbers\n\t\t\t\tconst left = Math.min(\n\t\t\t\t\tselectedBCR.left,\n\t\t\t\t\tlastSelectedBCR?.left ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst top = Math.min(\n\t\t\t\t\tselectedBCR.top,\n\t\t\t\t\tlastSelectedBCR?.top ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst right = Math.max(\n\t\t\t\t\tselectedBCR.right,\n\t\t\t\t\tlastSelectedBCR.right ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst bottom = Math.max(\n\t\t\t\t\tselectedBCR.bottom,\n\t\t\t\t\tlastSelectedBCR.bottom ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst width = right - left;\n\t\t\t\tconst height = bottom - top;\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t\townerDocument: selectedElement.ownerDocument,\n\t\t};\n\t}, [\n\t\tbottomClientId,\n\t\tlastSelectedElement,\n\t\tselectedElement,\n\t\tpopoverDimensionsRecomputeCounter,\n\t] );\n\n\tif ( ! selectedElement || ( bottomClientId && ! lastSelectedElement ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ mergedRefs }\n\t\t\tanimate={ false }\n\t\t\tfocusOnMount={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\t// Render in the old slot if needed for backward compatibility,\n\t\t\t// otherwise render in place (not in the default popover slot).\n\t\t\t__unstableSlotName={ __unstablePopoverSlot || null }\n\t\t\tplacement=\"top-start\"\n\t\t\tresize={ false }\n\t\t\tflip={ false }\n\t\t\tshift={ shift }\n\t\t\t{ ...props }\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-block-popover',\n\t\t\t\tprops.className\n\t\t\t) }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t{ __unstableCoverTarget && <div style={ style }>{ children }</div> }\n\t\t\t{ ! __unstableCoverTarget && children }\n\t\t</Popover>\n\t);\n}\n\nexport default forwardRef( BlockPopover );\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement, Fragment } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -109,8 +108,8 @@ export default function AutoBlockPreview(props) {
109
108
  }
110
109
  }, containerResizeListener), createElement("div", {
111
110
  className: "block-editor-block-preview__container"
112
- }, !!containerWidth && createElement(ScaledBlockPreview, _extends({}, props, {
111
+ }, !!containerWidth && createElement(ScaledBlockPreview, { ...props,
113
112
  containerWidth: containerWidth
114
- }))));
113
+ })));
115
114
  }
116
115
  //# sourceMappingURL=auto.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-preview/auto.js"],"names":["useResizeObserver","pure","useRefEffect","useSelect","useMemo","Disabled","BlockList","Iframe","EditorStyles","store","MemoizedBlockList","MAX_HEIGHT","ScaledBlockPreview","viewportWidth","containerWidth","minHeight","additionalStyles","contentResizeListener","height","contentHeight","styles","select","settings","getSettings","editorStyles","css","__unstableType","scale","transform","maxHeight","undefined","bodyElement","ownerDocument","documentElement","classList","add","style","position","width","boxSizing","pointerEvents","AutoBlockPreview","props","containerResizeListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useResizeObserver, pure, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { Disabled } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport Iframe from '../iframe';\nimport EditorStyles from '../editor-styles';\nimport { store } from '../../store';\n\n// This is used to avoid rendering the block list if the sizes change.\nlet MemoizedBlockList;\n\nconst MAX_HEIGHT = 2000;\n\nfunction ScaledBlockPreview( {\n\tviewportWidth,\n\tcontainerWidth,\n\tminHeight,\n\tadditionalStyles = [],\n} ) {\n\tif ( ! viewportWidth ) {\n\t\tviewportWidth = containerWidth;\n\t}\n\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst { styles } = useSelect( ( select ) => {\n\t\tconst settings = select( store ).getSettings();\n\t\treturn {\n\t\t\tstyles: settings.styles,\n\t\t};\n\t}, [] );\n\n\t// Avoid scrollbars for pattern previews.\n\tconst editorStyles = useMemo( () => {\n\t\tif ( styles ) {\n\t\t\treturn [\n\t\t\t\t...styles,\n\t\t\t\t{\n\t\t\t\t\tcss: 'body{height:auto;overflow:hidden;border:none;padding:0;}',\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t\t},\n\t\t\t\t...additionalStyles,\n\t\t\t];\n\t\t}\n\n\t\treturn styles;\n\t}, [ styles, additionalStyles ] );\n\n\t// Initialize on render instead of module top level, to avoid circular dependency issues.\n\tMemoizedBlockList = MemoizedBlockList || pure( BlockList );\n\n\tconst scale = containerWidth / viewportWidth;\n\treturn (\n\t\t<Disabled\n\t\t\tclassName=\"block-editor-block-preview__content\"\n\t\t\tstyle={ {\n\t\t\t\ttransform: `scale(${ scale })`,\n\t\t\t\theight: contentHeight * scale,\n\t\t\t\tmaxHeight:\n\t\t\t\t\tcontentHeight > MAX_HEIGHT ? MAX_HEIGHT * scale : undefined,\n\t\t\t\tminHeight,\n\t\t\t} }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\tcontentRef={ useRefEffect( ( bodyElement ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\townerDocument: { documentElement },\n\t\t\t\t\t} = bodyElement;\n\t\t\t\t\tdocumentElement.classList.add(\n\t\t\t\t\t\t'block-editor-block-preview__content-iframe'\n\t\t\t\t\t);\n\t\t\t\t\tdocumentElement.style.position = 'absolute';\n\t\t\t\t\tdocumentElement.style.width = '100%';\n\n\t\t\t\t\t// Necessary for contentResizeListener to work.\n\t\t\t\t\tbodyElement.style.boxSizing = 'border-box';\n\t\t\t\t\tbodyElement.style.position = 'absolute';\n\t\t\t\t\tbodyElement.style.width = '100%';\n\t\t\t\t}, [] ) }\n\t\t\t\taria-hidden\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tstyle={ {\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\twidth: viewportWidth,\n\t\t\t\t\theight: contentHeight,\n\t\t\t\t\tpointerEvents: 'none',\n\t\t\t\t\t// This is a catch-all max-height for patterns.\n\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/38175.\n\t\t\t\t\tmaxHeight: MAX_HEIGHT,\n\t\t\t\t\tminHeight:\n\t\t\t\t\t\tscale !== 0 && scale < 1 && minHeight\n\t\t\t\t\t\t\t? minHeight / scale\n\t\t\t\t\t\t\t: minHeight,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ editorStyles } />\n\t\t\t\t{ contentResizeListener }\n\t\t\t\t<MemoizedBlockList renderAppender={ false } />\n\t\t\t</Iframe>\n\t\t</Disabled>\n\t);\n}\n\nexport default function AutoBlockPreview( props ) {\n\tconst [ containerResizeListener, { width: containerWidth } ] =\n\t\tuseResizeObserver();\n\n\treturn (\n\t\t<>\n\t\t\t<div style={ { position: 'relative', width: '100%', height: 0 } }>\n\t\t\t\t{ containerResizeListener }\n\t\t\t</div>\n\t\t\t<div className=\"block-editor-block-preview__container\">\n\t\t\t\t{ !! containerWidth && (\n\t\t\t\t\t<ScaledBlockPreview\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\tcontainerWidth={ containerWidth }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-preview/auto.js"],"names":["useResizeObserver","pure","useRefEffect","useSelect","useMemo","Disabled","BlockList","Iframe","EditorStyles","store","MemoizedBlockList","MAX_HEIGHT","ScaledBlockPreview","viewportWidth","containerWidth","minHeight","additionalStyles","contentResizeListener","height","contentHeight","styles","select","settings","getSettings","editorStyles","css","__unstableType","scale","transform","maxHeight","undefined","bodyElement","ownerDocument","documentElement","classList","add","style","position","width","boxSizing","pointerEvents","AutoBlockPreview","props","containerResizeListener"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,iBAAT,EAA4BC,IAA5B,EAAkCC,YAAlC,QAAsD,oBAAtD;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,QAAT,QAAyB,uBAAzB;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,eAAtB;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,SAASC,KAAT,QAAsB,aAAtB,C,CAEA;;AACA,IAAIC,iBAAJ;AAEA,MAAMC,UAAU,GAAG,IAAnB;;AAEA,SAASC,kBAAT,CAA6B;AAC5BC,EAAAA,aAD4B;AAE5BC,EAAAA,cAF4B;AAG5BC,EAAAA,SAH4B;AAI5BC,EAAAA,gBAAgB,GAAG;AAJS,CAA7B,EAKI;AACH,MAAK,CAAEH,aAAP,EAAuB;AACtBA,IAAAA,aAAa,GAAGC,cAAhB;AACA;;AAED,QAAM,CAAEG,qBAAF,EAAyB;AAAEC,IAAAA,MAAM,EAAEC;AAAV,GAAzB,IACLnB,iBAAiB,EADlB;AAEA,QAAM;AAAEoB,IAAAA;AAAF,MAAajB,SAAS,CAAIkB,MAAF,IAAc;AAC3C,UAAMC,QAAQ,GAAGD,MAAM,CAAEZ,KAAF,CAAN,CAAgBc,WAAhB,EAAjB;AACA,WAAO;AACNH,MAAAA,MAAM,EAAEE,QAAQ,CAACF;AADX,KAAP;AAGA,GAL2B,EAKzB,EALyB,CAA5B,CAPG,CAcH;;AACA,QAAMI,YAAY,GAAGpB,OAAO,CAAE,MAAM;AACnC,QAAKgB,MAAL,EAAc;AACb,aAAO,CACN,GAAGA,MADG,EAEN;AACCK,QAAAA,GAAG,EAAE,0DADN;AAECC,QAAAA,cAAc,EAAE;AAFjB,OAFM,EAMN,GAAGV,gBANG,CAAP;AAQA;;AAED,WAAOI,MAAP;AACA,GAb2B,EAazB,CAAEA,MAAF,EAAUJ,gBAAV,CAbyB,CAA5B,CAfG,CA8BH;;AACAN,EAAAA,iBAAiB,GAAGA,iBAAiB,IAAIT,IAAI,CAAEK,SAAF,CAA7C;AAEA,QAAMqB,KAAK,GAAGb,cAAc,GAAGD,aAA/B;AACA,SACC,cAAC,QAAD;AACC,IAAA,SAAS,EAAC,qCADX;AAEC,IAAA,KAAK,EAAG;AACPe,MAAAA,SAAS,EAAG,SAASD,KAAO,GADrB;AAEPT,MAAAA,MAAM,EAAEC,aAAa,GAAGQ,KAFjB;AAGPE,MAAAA,SAAS,EACRV,aAAa,GAAGR,UAAhB,GAA6BA,UAAU,GAAGgB,KAA1C,GAAkDG,SAJ5C;AAKPf,MAAAA;AALO;AAFT,KAUC,cAAC,MAAD;AACC,IAAA,UAAU,EAAGb,YAAY,CAAI6B,WAAF,IAAmB;AAC7C,YAAM;AACLC,QAAAA,aAAa,EAAE;AAAEC,UAAAA;AAAF;AADV,UAEFF,WAFJ;AAGAE,MAAAA,eAAe,CAACC,SAAhB,CAA0BC,GAA1B,CACC,4CADD;AAGAF,MAAAA,eAAe,CAACG,KAAhB,CAAsBC,QAAtB,GAAiC,UAAjC;AACAJ,MAAAA,eAAe,CAACG,KAAhB,CAAsBE,KAAtB,GAA8B,MAA9B,CAR6C,CAU7C;;AACAP,MAAAA,WAAW,CAACK,KAAZ,CAAkBG,SAAlB,GAA8B,YAA9B;AACAR,MAAAA,WAAW,CAACK,KAAZ,CAAkBC,QAAlB,GAA6B,UAA7B;AACAN,MAAAA,WAAW,CAACK,KAAZ,CAAkBE,KAAlB,GAA0B,MAA1B;AACA,KAdwB,EActB,EAdsB,CAD1B;AAgBC,uBAhBD;AAiBC,IAAA,QAAQ,EAAG,CAAC,CAjBb;AAkBC,IAAA,KAAK,EAAG;AACPD,MAAAA,QAAQ,EAAE,UADH;AAEPC,MAAAA,KAAK,EAAEzB,aAFA;AAGPK,MAAAA,MAAM,EAAEC,aAHD;AAIPqB,MAAAA,aAAa,EAAE,MAJR;AAKP;AACA;AACAX,MAAAA,SAAS,EAAElB,UAPJ;AAQPI,MAAAA,SAAS,EACRY,KAAK,KAAK,CAAV,IAAeA,KAAK,GAAG,CAAvB,IAA4BZ,SAA5B,GACGA,SAAS,GAAGY,KADf,GAEGZ;AAXG;AAlBT,KAgCC,cAAC,YAAD;AAAc,IAAA,MAAM,EAAGS;AAAvB,IAhCD,EAiCGP,qBAjCH,EAkCC,cAAC,iBAAD;AAAmB,IAAA,cAAc,EAAG;AAApC,IAlCD,CAVD,CADD;AAiDA;;AAED,eAAe,SAASwB,gBAAT,CAA2BC,KAA3B,EAAmC;AACjD,QAAM,CAAEC,uBAAF,EAA2B;AAAEL,IAAAA,KAAK,EAAExB;AAAT,GAA3B,IACLd,iBAAiB,EADlB;AAGA,SACC,8BACC;AAAK,IAAA,KAAK,EAAG;AAAEqC,MAAAA,QAAQ,EAAE,UAAZ;AAAwBC,MAAAA,KAAK,EAAE,MAA/B;AAAuCpB,MAAAA,MAAM,EAAE;AAA/C;AAAb,KACGyB,uBADH,CADD,EAIC;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,CAAC,CAAE7B,cAAH,IACD,cAAC,kBAAD,OACM4B,KADN;AAEC,IAAA,cAAc,EAAG5B;AAFlB,IAFF,CAJD,CADD;AAeA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useResizeObserver, pure, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { Disabled } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport Iframe from '../iframe';\nimport EditorStyles from '../editor-styles';\nimport { store } from '../../store';\n\n// This is used to avoid rendering the block list if the sizes change.\nlet MemoizedBlockList;\n\nconst MAX_HEIGHT = 2000;\n\nfunction ScaledBlockPreview( {\n\tviewportWidth,\n\tcontainerWidth,\n\tminHeight,\n\tadditionalStyles = [],\n} ) {\n\tif ( ! viewportWidth ) {\n\t\tviewportWidth = containerWidth;\n\t}\n\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst { styles } = useSelect( ( select ) => {\n\t\tconst settings = select( store ).getSettings();\n\t\treturn {\n\t\t\tstyles: settings.styles,\n\t\t};\n\t}, [] );\n\n\t// Avoid scrollbars for pattern previews.\n\tconst editorStyles = useMemo( () => {\n\t\tif ( styles ) {\n\t\t\treturn [\n\t\t\t\t...styles,\n\t\t\t\t{\n\t\t\t\t\tcss: 'body{height:auto;overflow:hidden;border:none;padding:0;}',\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t\t},\n\t\t\t\t...additionalStyles,\n\t\t\t];\n\t\t}\n\n\t\treturn styles;\n\t}, [ styles, additionalStyles ] );\n\n\t// Initialize on render instead of module top level, to avoid circular dependency issues.\n\tMemoizedBlockList = MemoizedBlockList || pure( BlockList );\n\n\tconst scale = containerWidth / viewportWidth;\n\treturn (\n\t\t<Disabled\n\t\t\tclassName=\"block-editor-block-preview__content\"\n\t\t\tstyle={ {\n\t\t\t\ttransform: `scale(${ scale })`,\n\t\t\t\theight: contentHeight * scale,\n\t\t\t\tmaxHeight:\n\t\t\t\t\tcontentHeight > MAX_HEIGHT ? MAX_HEIGHT * scale : undefined,\n\t\t\t\tminHeight,\n\t\t\t} }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\tcontentRef={ useRefEffect( ( bodyElement ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\townerDocument: { documentElement },\n\t\t\t\t\t} = bodyElement;\n\t\t\t\t\tdocumentElement.classList.add(\n\t\t\t\t\t\t'block-editor-block-preview__content-iframe'\n\t\t\t\t\t);\n\t\t\t\t\tdocumentElement.style.position = 'absolute';\n\t\t\t\t\tdocumentElement.style.width = '100%';\n\n\t\t\t\t\t// Necessary for contentResizeListener to work.\n\t\t\t\t\tbodyElement.style.boxSizing = 'border-box';\n\t\t\t\t\tbodyElement.style.position = 'absolute';\n\t\t\t\t\tbodyElement.style.width = '100%';\n\t\t\t\t}, [] ) }\n\t\t\t\taria-hidden\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tstyle={ {\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\twidth: viewportWidth,\n\t\t\t\t\theight: contentHeight,\n\t\t\t\t\tpointerEvents: 'none',\n\t\t\t\t\t// This is a catch-all max-height for patterns.\n\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/38175.\n\t\t\t\t\tmaxHeight: MAX_HEIGHT,\n\t\t\t\t\tminHeight:\n\t\t\t\t\t\tscale !== 0 && scale < 1 && minHeight\n\t\t\t\t\t\t\t? minHeight / scale\n\t\t\t\t\t\t\t: minHeight,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ editorStyles } />\n\t\t\t\t{ contentResizeListener }\n\t\t\t\t<MemoizedBlockList renderAppender={ false } />\n\t\t\t</Iframe>\n\t\t</Disabled>\n\t);\n}\n\nexport default function AutoBlockPreview( props ) {\n\tconst [ containerResizeListener, { width: containerWidth } ] =\n\t\tuseResizeObserver();\n\n\treturn (\n\t\t<>\n\t\t\t<div style={ { position: 'relative', width: '100%', height: 0 } }>\n\t\t\t\t{ containerResizeListener }\n\t\t\t</div>\n\t\t\t<div className=\"block-editor-block-preview__container\">\n\t\t\t\t{ !! containerWidth && (\n\t\t\t\t\t<ScaledBlockPreview\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\tcontainerWidth={ containerWidth }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -90,18 +90,18 @@ export default memo(BlockPreview);
90
90
  * returns. Optionally, you can also pass any other props through this hook, and
91
91
  * they will be merged and returned.
92
92
  *
93
- * @param {Object} options Preview options.
94
- * @param {WPBlock[]} options.blocks Block objects.
95
- * @param {Object} options.props Optional. Props to pass to the element. Must contain
96
- * the ref if one is defined.
97
- * @param {Object} options.__experimentalLayout Layout settings to be used in the preview.
93
+ * @param {Object} options Preview options.
94
+ * @param {WPBlock[]} options.blocks Block objects.
95
+ * @param {Object} options.props Optional. Props to pass to the element. Must contain
96
+ * the ref if one is defined.
97
+ * @param {Object} options.layout Layout settings to be used in the preview.
98
98
  *
99
99
  */
100
100
 
101
101
  export function useBlockPreview({
102
102
  blocks,
103
103
  props = {},
104
- __experimentalLayout
104
+ layout
105
105
  }) {
106
106
  const originalSettings = useSelect(select => select(blockEditorStore).getSettings(), []);
107
107
  const settings = useMemo(() => ({ ...originalSettings,
@@ -115,7 +115,7 @@ export function useBlockPreview({
115
115
  settings: settings
116
116
  }, createElement(BlockListItems, {
117
117
  renderAppender: false,
118
- __experimentalLayout: __experimentalLayout
118
+ layout: layout
119
119
  }));
120
120
  return { ...props,
121
121
  ref,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-preview/index.js"],"names":["classnames","useDisabled","useMergeRefs","useSelect","memo","useMemo","deprecated","ExperimentalBlockEditorProvider","AutoHeightBlockPreview","store","blockEditorStore","BlockListItems","BlockPreview","blocks","viewportWidth","minHeight","additionalStyles","__experimentalMinHeight","__experimentalPadding","since","version","alternative","css","originalSettings","select","getSettings","settings","__unstableIsPreviewMode","renderedBlocks","Array","isArray","length","useBlockPreview","props","__experimentalLayout","disabledRef","ref","children","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useDisabled, useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { memo, useMemo } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { ExperimentalBlockEditorProvider } from '../provider';\nimport AutoHeightBlockPreview from './auto';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockListItems } from '../block-list';\n\nexport function BlockPreview( {\n\tblocks,\n\tviewportWidth = 1200,\n\tminHeight,\n\tadditionalStyles = [],\n\t// Deprecated props:\n\t__experimentalMinHeight,\n\t__experimentalPadding,\n} ) {\n\tif ( __experimentalMinHeight ) {\n\t\tminHeight = __experimentalMinHeight;\n\t\tdeprecated( 'The __experimentalMinHeight prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'minHeight',\n\t\t} );\n\t}\n\tif ( __experimentalPadding ) {\n\t\tadditionalStyles = [\n\t\t\t...additionalStyles,\n\t\t\t{ css: `body { padding: ${ __experimentalPadding }px; }` },\n\t\t];\n\t\tdeprecated( 'The __experimentalPadding prop of BlockPreview', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'additionalStyles',\n\t\t} );\n\t}\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tif ( ! blocks || blocks.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<AutoHeightBlockPreview\n\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t/>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\n/**\n * BlockPreview renders a preview of a block or array of blocks.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-preview/README.md\n *\n * @param {Object} preview options for how the preview should be shown\n * @param {Array|Object} preview.blocks A block instance (object) or an array of blocks to be previewed.\n * @param {number} preview.viewportWidth Width of the preview container in pixels. Controls at what size the blocks will be rendered inside the preview. Default: 700.\n *\n * @return {WPComponent} The component to be rendered.\n */\nexport default memo( BlockPreview );\n\n/**\n * This hook is used to lightly mark an element as a block preview wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * a block preview 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} options Preview options.\n * @param {WPBlock[]} options.blocks Block objects.\n * @param {Object} options.props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options.__experimentalLayout Layout settings to be used in the preview.\n *\n */\nexport function useBlockPreview( {\n\tblocks,\n\tprops = {},\n\t__experimentalLayout,\n} ) {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\tconst disabledRef = useDisabled();\n\tconst ref = useMergeRefs( [ props.ref, disabledRef ] );\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst children = (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<BlockListItems\n\t\t\t\trenderAppender={ false }\n\t\t\t\t__experimentalLayout={ __experimentalLayout }\n\t\t\t/>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: classnames(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-preview__live-content',\n\t\t\t'components-disabled'\n\t\t),\n\t\tchildren: blocks?.length ? children : null,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-preview/index.js"],"names":["classnames","useDisabled","useMergeRefs","useSelect","memo","useMemo","deprecated","ExperimentalBlockEditorProvider","AutoHeightBlockPreview","store","blockEditorStore","BlockListItems","BlockPreview","blocks","viewportWidth","minHeight","additionalStyles","__experimentalMinHeight","__experimentalPadding","since","version","alternative","css","originalSettings","select","getSettings","settings","__unstableIsPreviewMode","renderedBlocks","Array","isArray","length","useBlockPreview","props","layout","disabledRef","ref","children","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useDisabled, useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { memo, useMemo } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { ExperimentalBlockEditorProvider } from '../provider';\nimport AutoHeightBlockPreview from './auto';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockListItems } from '../block-list';\n\nexport function BlockPreview( {\n\tblocks,\n\tviewportWidth = 1200,\n\tminHeight,\n\tadditionalStyles = [],\n\t// Deprecated props:\n\t__experimentalMinHeight,\n\t__experimentalPadding,\n} ) {\n\tif ( __experimentalMinHeight ) {\n\t\tminHeight = __experimentalMinHeight;\n\t\tdeprecated( 'The __experimentalMinHeight prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'minHeight',\n\t\t} );\n\t}\n\tif ( __experimentalPadding ) {\n\t\tadditionalStyles = [\n\t\t\t...additionalStyles,\n\t\t\t{ css: `body { padding: ${ __experimentalPadding }px; }` },\n\t\t];\n\t\tdeprecated( 'The __experimentalPadding prop of BlockPreview', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'additionalStyles',\n\t\t} );\n\t}\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tif ( ! blocks || blocks.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<AutoHeightBlockPreview\n\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t/>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\n/**\n * BlockPreview renders a preview of a block or array of blocks.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-preview/README.md\n *\n * @param {Object} preview options for how the preview should be shown\n * @param {Array|Object} preview.blocks A block instance (object) or an array of blocks to be previewed.\n * @param {number} preview.viewportWidth Width of the preview container in pixels. Controls at what size the blocks will be rendered inside the preview. Default: 700.\n *\n * @return {WPComponent} The component to be rendered.\n */\nexport default memo( BlockPreview );\n\n/**\n * This hook is used to lightly mark an element as a block preview wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * a block preview 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} options Preview options.\n * @param {WPBlock[]} options.blocks Block objects.\n * @param {Object} options.props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options.layout Layout settings to be used in the preview.\n *\n */\nexport function useBlockPreview( { blocks, props = {}, layout } ) {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\tconst disabledRef = useDisabled();\n\tconst ref = useMergeRefs( [ props.ref, disabledRef ] );\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst children = (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<BlockListItems renderAppender={ false } layout={ layout } />\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: classnames(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-preview__live-content',\n\t\t\t'components-disabled'\n\t\t),\n\t\tchildren: blocks?.length ? children : null,\n\t};\n}\n"]}
@@ -0,0 +1,69 @@
1
+ import { createElement } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { useSelect, useDispatch } from '@wordpress/data';
7
+ import { Button, __experimentalVStack as VStack, __experimentalHStack as HStack, FlexItem } from '@wordpress/components';
8
+ import { __experimentalGetBlockLabel, store as blocksStore } from '@wordpress/blocks';
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+
13
+ import { store as blockEditorStore } from '../../store';
14
+ import BlockIcon from '../block-icon';
15
+ export default function BlockQuickNavigation({
16
+ clientIds
17
+ }) {
18
+ if (!clientIds.length) {
19
+ return null;
20
+ }
21
+
22
+ return createElement(VStack, {
23
+ spacing: 1
24
+ }, clientIds.map(clientId => createElement(BlockQuickNavigationItem, {
25
+ key: clientId,
26
+ clientId: clientId
27
+ })));
28
+ }
29
+
30
+ function BlockQuickNavigationItem({
31
+ clientId
32
+ }) {
33
+ const {
34
+ name,
35
+ icon,
36
+ isSelected
37
+ } = useSelect(select => {
38
+ const {
39
+ getBlockName,
40
+ getBlockAttributes,
41
+ isBlockSelected,
42
+ hasSelectedInnerBlock
43
+ } = select(blockEditorStore);
44
+ const {
45
+ getBlockType
46
+ } = select(blocksStore);
47
+ const blockType = getBlockType(getBlockName(clientId));
48
+ const attributes = getBlockAttributes(clientId);
49
+ return {
50
+ name: blockType && __experimentalGetBlockLabel(blockType, attributes, 'list-view'),
51
+ icon: blockType?.icon,
52
+ isSelected: isBlockSelected(clientId) || hasSelectedInnerBlock(clientId,
53
+ /* deep: */
54
+ true)
55
+ };
56
+ }, [clientId]);
57
+ const {
58
+ selectBlock
59
+ } = useDispatch(blockEditorStore);
60
+ return createElement(Button, {
61
+ isPressed: isSelected,
62
+ onClick: () => selectBlock(clientId)
63
+ }, createElement(HStack, {
64
+ justify: "flex-start"
65
+ }, createElement(BlockIcon, {
66
+ icon: icon
67
+ }), createElement(FlexItem, null, name)));
68
+ }
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-quick-navigation/index.js"],"names":["useSelect","useDispatch","Button","__experimentalVStack","VStack","__experimentalHStack","HStack","FlexItem","__experimentalGetBlockLabel","store","blocksStore","blockEditorStore","BlockIcon","BlockQuickNavigation","clientIds","length","map","clientId","BlockQuickNavigationItem","name","icon","isSelected","select","getBlockName","getBlockAttributes","isBlockSelected","hasSelectedInnerBlock","getBlockType","blockType","attributes","selectBlock"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SACCC,MADD,EAECC,oBAAoB,IAAIC,MAFzB,EAGCC,oBAAoB,IAAIC,MAHzB,EAICC,QAJD,QAKO,uBALP;AAMA,SACCC,2BADD,EAECC,KAAK,IAAIC,WAFV,QAGO,mBAHP;AAKA;AACA;AACA;;AACA,SAASD,KAAK,IAAIE,gBAAlB,QAA0C,aAA1C;AACA,OAAOC,SAAP,MAAsB,eAAtB;AAEA,eAAe,SAASC,oBAAT,CAA+B;AAAEC,EAAAA;AAAF,CAA/B,EAA+C;AAC7D,MAAK,CAAEA,SAAS,CAACC,MAAjB,EAA0B;AACzB,WAAO,IAAP;AACA;;AACD,SACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAG;AAAlB,KACGD,SAAS,CAACE,GAAV,CAAiBC,QAAF,IAChB,cAAC,wBAAD;AACC,IAAA,GAAG,EAAGA,QADP;AAEC,IAAA,QAAQ,EAAGA;AAFZ,IADC,CADH,CADD;AAUA;;AAED,SAASC,wBAAT,CAAmC;AAAED,EAAAA;AAAF,CAAnC,EAAkD;AACjD,QAAM;AAAEE,IAAAA,IAAF;AAAQC,IAAAA,IAAR;AAAcC,IAAAA;AAAd,MAA6BrB,SAAS,CACzCsB,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,YADK;AAELC,MAAAA,kBAFK;AAGLC,MAAAA,eAHK;AAILC,MAAAA;AAJK,QAKFJ,MAAM,CAAEX,gBAAF,CALV;AAMA,UAAM;AAAEgB,MAAAA;AAAF,QAAmBL,MAAM,CAAEZ,WAAF,CAA/B;AAEA,UAAMkB,SAAS,GAAGD,YAAY,CAAEJ,YAAY,CAAEN,QAAF,CAAd,CAA9B;AACA,UAAMY,UAAU,GAAGL,kBAAkB,CAAEP,QAAF,CAArC;AAEA,WAAO;AACNE,MAAAA,IAAI,EACHS,SAAS,IACTpB,2BAA2B,CAC1BoB,SAD0B,EAE1BC,UAF0B,EAG1B,WAH0B,CAHtB;AAQNT,MAAAA,IAAI,EAAEQ,SAAS,EAAER,IARX;AASNC,MAAAA,UAAU,EACTI,eAAe,CAAER,QAAF,CAAf,IACAS,qBAAqB,CAAET,QAAF;AAAY;AAAY,UAAxB;AAXhB,KAAP;AAaA,GA1B0C,EA2B3C,CAAEA,QAAF,CA3B2C,CAA5C;AA6BA,QAAM;AAAEa,IAAAA;AAAF,MAAkB7B,WAAW,CAAEU,gBAAF,CAAnC;AAEA,SACC,cAAC,MAAD;AACC,IAAA,SAAS,EAAGU,UADb;AAEC,IAAA,OAAO,EAAG,MAAMS,WAAW,CAAEb,QAAF;AAF5B,KAIC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAC;AAAhB,KACC,cAAC,SAAD;AAAW,IAAA,IAAI,EAAGG;AAAlB,IADD,EAEC,cAAC,QAAD,QAAYD,IAAZ,CAFD,CAJD,CADD;AAWA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n} from '@wordpress/components';\nimport {\n\t__experimentalGetBlockLabel,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\n\nexport default function BlockQuickNavigation( { clientIds } ) {\n\tif ( ! clientIds.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<VStack spacing={ 1 }>\n\t\t\t{ clientIds.map( ( clientId ) => (\n\t\t\t\t<BlockQuickNavigationItem\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</VStack>\n\t);\n}\n\nfunction BlockQuickNavigationItem( { clientId } ) {\n\tconst { name, icon, isSelected } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockType } = select( blocksStore );\n\n\t\t\tconst blockType = getBlockType( getBlockName( clientId ) );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\n\t\t\treturn {\n\t\t\t\tname:\n\t\t\t\t\tblockType &&\n\t\t\t\t\t__experimentalGetBlockLabel(\n\t\t\t\t\t\tblockType,\n\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t'list-view'\n\t\t\t\t\t),\n\t\t\t\ticon: blockType?.icon,\n\t\t\t\tisSelected:\n\t\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\t\thasSelectedInnerBlock( clientId, /* deep: */ true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\treturn (\n\t\t<Button\n\t\t\tisPressed={ isSelected }\n\t\t\tonClick={ () => selectBlock( clientId ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t<FlexItem>{ name }</FlexItem>\n\t\t\t</HStack>\n\t\t</Button>\n\t);\n}\n"]}