@wordpress/block-editor 12.10.6 → 12.11.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 (1226) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +13 -11
  3. package/build/autocompleters/block.js +3 -2
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/autocompleters/link.js +3 -3
  6. package/build/autocompleters/link.js.map +1 -1
  7. package/build/components/alignment-control/index.js +3 -3
  8. package/build/components/alignment-control/index.js.map +1 -1
  9. package/build/components/alignment-control/ui.js +2 -2
  10. package/build/components/alignment-control/ui.js.map +1 -1
  11. package/build/components/autocomplete/index.js +3 -2
  12. package/build/components/autocomplete/index.js.map +1 -1
  13. package/build/components/block-actions/index.js +2 -2
  14. package/build/components/block-actions/index.js.map +1 -1
  15. package/build/components/block-alignment-control/index.js +3 -3
  16. package/build/components/block-alignment-control/index.js.map +1 -1
  17. package/build/components/block-alignment-control/ui.js +4 -4
  18. package/build/components/block-alignment-control/ui.js.map +1 -1
  19. package/build/components/block-alignment-control/ui.native.js +2 -2
  20. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  21. package/build/components/block-alignment-matrix-control/index.js +5 -5
  22. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  23. package/build/components/block-breadcrumb/index.js +12 -12
  24. package/build/components/block-breadcrumb/index.js.map +1 -1
  25. package/build/components/block-canvas/index.js +13 -15
  26. package/build/components/block-canvas/index.js.map +1 -1
  27. package/build/components/block-caption/index.native.js +3 -3
  28. package/build/components/block-caption/index.native.js.map +1 -1
  29. package/build/components/block-card/index.js +7 -7
  30. package/build/components/block-card/index.js.map +1 -1
  31. package/build/components/block-compare/block-view.js +9 -8
  32. package/build/components/block-compare/block-view.js.map +1 -1
  33. package/build/components/block-compare/index.js +5 -5
  34. package/build/components/block-compare/index.js.map +1 -1
  35. package/build/components/block-context/index.js +2 -1
  36. package/build/components/block-context/index.js.map +1 -1
  37. package/build/components/block-controls/fill.js +5 -5
  38. package/build/components/block-controls/fill.js.map +1 -1
  39. package/build/components/block-controls/index.js +3 -3
  40. package/build/components/block-controls/index.js.map +1 -1
  41. package/build/components/block-controls/slot.js +3 -2
  42. package/build/components/block-controls/slot.js.map +1 -1
  43. package/build/components/block-controls/slot.native.js +4 -4
  44. package/build/components/block-controls/slot.native.js.map +1 -1
  45. package/build/components/block-draggable/draggable-chip.js +6 -6
  46. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  47. package/build/components/block-draggable/draggable-chip.native.js +4 -4
  48. package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
  49. package/build/components/block-draggable/dropping-insertion-point.native.js +2 -2
  50. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  51. package/build/components/block-draggable/index.js +4 -3
  52. package/build/components/block-draggable/index.js.map +1 -1
  53. package/build/components/block-draggable/index.native.js +9 -8
  54. package/build/components/block-draggable/index.native.js.map +1 -1
  55. package/build/components/block-edit/edit.js +5 -4
  56. package/build/components/block-edit/edit.js.map +1 -1
  57. package/build/components/block-edit/edit.native.js +3 -2
  58. package/build/components/block-edit/edit.native.js.map +1 -1
  59. package/build/components/block-edit/index.js +3 -2
  60. package/build/components/block-edit/index.js.map +1 -1
  61. package/build/components/block-edit-visually-button/index.js +2 -2
  62. package/build/components/block-edit-visually-button/index.js.map +1 -1
  63. package/build/components/block-full-height-alignment-control/index.js +2 -2
  64. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  65. package/build/components/block-heading-level-dropdown/heading-level-icon.js +4 -4
  66. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  67. package/build/components/block-heading-level-dropdown/index.js +6 -6
  68. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  69. package/build/components/block-heading-level-dropdown/index.native.js +6 -6
  70. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  71. package/build/components/block-icon/index.js +4 -3
  72. package/build/components/block-icon/index.js.map +1 -1
  73. package/build/components/block-icon/index.native.js +3 -3
  74. package/build/components/block-icon/index.native.js.map +1 -1
  75. package/build/components/block-info-slot-fill/index.js +3 -3
  76. package/build/components/block-info-slot-fill/index.js.map +1 -1
  77. package/build/components/block-inspector/index.js +34 -34
  78. package/build/components/block-inspector/index.js.map +1 -1
  79. package/build/components/block-list/block-crash-warning.js +2 -2
  80. package/build/components/block-list/block-crash-warning.js.map +1 -1
  81. package/build/components/block-list/block-html.js +3 -2
  82. package/build/components/block-list/block-html.js.map +1 -1
  83. package/build/components/block-list/block-invalid-warning.js +6 -5
  84. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  85. package/build/components/block-list/block-invalid-warning.native.js +3 -3
  86. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  87. package/build/components/block-list/block-list-item-cell.native.js +3 -2
  88. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  89. package/build/components/block-list/block-list-item.native.js +10 -10
  90. package/build/components/block-list/block-list-item.native.js.map +1 -1
  91. package/build/components/block-list/block-outline.native.js +2 -2
  92. package/build/components/block-list/block-outline.native.js.map +1 -1
  93. package/build/components/block-list/block-selection-button.native.js +9 -9
  94. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  95. package/build/components/block-list/block.js +16 -15
  96. package/build/components/block-list/block.js.map +1 -1
  97. package/build/components/block-list/block.native.js +10 -9
  98. package/build/components/block-list/block.native.js.map +1 -1
  99. package/build/components/block-list/grid-item.native.js +2 -2
  100. package/build/components/block-list/grid-item.native.js.map +1 -1
  101. package/build/components/block-list/index.js +14 -13
  102. package/build/components/block-list/index.js.map +1 -1
  103. package/build/components/block-list/index.native.js +21 -20
  104. package/build/components/block-list/index.native.js.map +1 -1
  105. package/build/components/block-list/insertion-point.native.js +5 -5
  106. package/build/components/block-list/insertion-point.native.js.map +1 -1
  107. package/build/components/block-list/layout.js +3 -2
  108. package/build/components/block-list/layout.js.map +1 -1
  109. package/build/components/block-list/subdirectory-icon.js +3 -3
  110. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  111. package/build/components/block-list-appender/index.js +5 -5
  112. package/build/components/block-list-appender/index.js.map +1 -1
  113. package/build/components/block-list-appender/index.native.js +4 -4
  114. package/build/components/block-list-appender/index.native.js.map +1 -1
  115. package/build/components/block-lock/menu-item.js +4 -3
  116. package/build/components/block-lock/menu-item.js.map +1 -1
  117. package/build/components/block-lock/modal.js +21 -20
  118. package/build/components/block-lock/modal.js.map +1 -1
  119. package/build/components/block-lock/toolbar.js +5 -4
  120. package/build/components/block-lock/toolbar.js.map +1 -1
  121. package/build/components/block-media-update-progress/index.native.js +5 -4
  122. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  123. package/build/components/block-mover/button.js +6 -5
  124. package/build/components/block-mover/button.js.map +1 -1
  125. package/build/components/block-mover/index.js +7 -7
  126. package/build/components/block-mover/index.js.map +1 -1
  127. package/build/components/block-mover/index.native.js +5 -4
  128. package/build/components/block-mover/index.native.js.map +1 -1
  129. package/build/components/block-navigation/dropdown.js +8 -7
  130. package/build/components/block-navigation/dropdown.js.map +1 -1
  131. package/build/components/block-parent-selector/index.js +6 -5
  132. package/build/components/block-parent-selector/index.js.map +1 -1
  133. package/build/components/block-pattern-setup/index.js +20 -19
  134. package/build/components/block-pattern-setup/index.js.map +1 -1
  135. package/build/components/block-pattern-setup/setup-toolbar.js +12 -12
  136. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  137. package/build/components/block-patterns-list/index.js +19 -18
  138. package/build/components/block-patterns-list/index.js.map +1 -1
  139. package/build/components/block-patterns-paging/index.js +12 -12
  140. package/build/components/block-patterns-paging/index.js.map +1 -1
  141. package/build/components/block-popover/drop-zone.js +3 -3
  142. package/build/components/block-popover/drop-zone.js.map +1 -1
  143. package/build/components/block-popover/inbetween.js +4 -3
  144. package/build/components/block-popover/inbetween.js.map +1 -1
  145. package/build/components/block-popover/index.js +4 -3
  146. package/build/components/block-popover/index.js.map +1 -1
  147. package/build/components/block-preview/auto.js +9 -8
  148. package/build/components/block-preview/auto.js.map +1 -1
  149. package/build/components/block-preview/index.js +7 -6
  150. package/build/components/block-preview/index.js.map +1 -1
  151. package/build/components/block-quick-navigation/index.js +7 -7
  152. package/build/components/block-quick-navigation/index.js.map +1 -1
  153. package/build/components/block-removal-warning-modal/index.js +7 -6
  154. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  155. package/build/components/block-selection-clearer/index.js +2 -2
  156. package/build/components/block-selection-clearer/index.js.map +1 -1
  157. package/build/components/block-settings/button.native.js +3 -3
  158. package/build/components/block-settings/button.native.js.map +1 -1
  159. package/build/components/block-settings/container.native.js +12 -12
  160. package/build/components/block-settings/container.native.js.map +1 -1
  161. package/build/components/block-settings-menu/block-html-convert-button.js +21 -17
  162. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  163. package/build/components/block-settings-menu/block-mode-toggle.js +2 -2
  164. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  165. package/build/components/block-settings-menu/block-settings-dropdown.js +17 -16
  166. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  167. package/build/components/block-settings-menu/index.js +2 -2
  168. package/build/components/block-settings-menu/index.js.map +1 -1
  169. package/build/components/block-settings-menu-controls/index.js +9 -9
  170. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  171. package/build/components/block-styles/index.js +11 -9
  172. package/build/components/block-styles/index.js.map +1 -1
  173. package/build/components/block-styles/index.native.js +4 -3
  174. package/build/components/block-styles/index.native.js.map +1 -1
  175. package/build/components/block-styles/menu-items.js +4 -4
  176. package/build/components/block-styles/menu-items.js.map +1 -1
  177. package/build/components/block-styles/preview-panel.js +3 -2
  178. package/build/components/block-styles/preview-panel.js.map +1 -1
  179. package/build/components/block-styles/preview.native.js +8 -7
  180. package/build/components/block-styles/preview.native.js.map +1 -1
  181. package/build/components/block-switcher/block-styles-menu.js +3 -3
  182. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  183. package/build/components/block-switcher/block-transformations-menu.js +11 -10
  184. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  185. package/build/components/block-switcher/block-transformations-menu.native.js +2 -2
  186. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  187. package/build/components/block-switcher/block-variation-transformations.js +6 -5
  188. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  189. package/build/components/block-switcher/index.js +17 -17
  190. package/build/components/block-switcher/index.js.map +1 -1
  191. package/build/components/block-switcher/pattern-transformations-menu.js +20 -17
  192. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  193. package/build/components/block-switcher/preview-block-popover.js +7 -7
  194. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  195. package/build/components/block-toolbar/block-toolbar-menu.native.js +6 -5
  196. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  197. package/build/components/block-toolbar/index.js +16 -15
  198. package/build/components/block-toolbar/index.js.map +1 -1
  199. package/build/components/block-toolbar/index.native.js +8 -7
  200. package/build/components/block-toolbar/index.native.js.map +1 -1
  201. package/build/components/block-tools/back-compat.js +3 -2
  202. package/build/components/block-tools/back-compat.js.map +1 -1
  203. package/build/components/block-tools/block-contextual-toolbar.js +6 -5
  204. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  205. package/build/components/block-tools/block-selection-button.js +11 -10
  206. package/build/components/block-tools/block-selection-button.js.map +1 -1
  207. package/build/components/block-tools/index.js +10 -9
  208. package/build/components/block-tools/index.js.map +1 -1
  209. package/build/components/block-tools/insertion-point.js +9 -8
  210. package/build/components/block-tools/insertion-point.js.map +1 -1
  211. package/build/components/block-tools/selected-block-popover.js +9 -8
  212. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  213. package/build/components/block-tools/zoom-out-mode-inserters.js +5 -4
  214. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  215. package/build/components/block-types-list/index.js +4 -4
  216. package/build/components/block-types-list/index.js.map +1 -1
  217. package/build/components/block-types-list/index.native.js +11 -10
  218. package/build/components/block-types-list/index.native.js.map +1 -1
  219. package/build/components/block-variation-picker/index.js +8 -8
  220. package/build/components/block-variation-picker/index.js.map +1 -1
  221. package/build/components/block-variation-picker/index.native.js +8 -8
  222. package/build/components/block-variation-picker/index.native.js.map +1 -1
  223. package/build/components/block-variation-transforms/index.js +10 -9
  224. package/build/components/block-variation-transforms/index.js.map +1 -1
  225. package/build/components/block-vertical-alignment-control/icons.js +11 -11
  226. package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
  227. package/build/components/block-vertical-alignment-control/index.js +3 -3
  228. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  229. package/build/components/block-vertical-alignment-control/ui.js +2 -2
  230. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  231. package/build/components/border-radius-control/all-input-control.js +2 -2
  232. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  233. package/build/components/border-radius-control/index.js +10 -9
  234. package/build/components/border-radius-control/index.js.map +1 -1
  235. package/build/components/border-radius-control/input-controls.js +5 -5
  236. package/build/components/border-radius-control/input-controls.js.map +1 -1
  237. package/build/components/border-radius-control/linked-button.js +3 -3
  238. package/build/components/border-radius-control/linked-button.js.map +1 -1
  239. package/build/components/button-block-appender/index.js +7 -6
  240. package/build/components/button-block-appender/index.js.map +1 -1
  241. package/build/components/button-block-appender/index.native.js +5 -5
  242. package/build/components/button-block-appender/index.native.js.map +1 -1
  243. package/build/components/caption/index.native.js +3 -3
  244. package/build/components/caption/index.native.js.map +1 -1
  245. package/build/components/child-layout-control/index.js +8 -7
  246. package/build/components/child-layout-control/index.js.map +1 -1
  247. package/build/components/color-palette/control.js +2 -2
  248. package/build/components/color-palette/control.js.map +1 -1
  249. package/build/components/color-palette/with-color-context.js +2 -2
  250. package/build/components/color-palette/with-color-context.js.map +1 -1
  251. package/build/components/color-style-selector/index.js +9 -9
  252. package/build/components/color-style-selector/index.js.map +1 -1
  253. package/build/components/colors/with-colors.js +5 -4
  254. package/build/components/colors/with-colors.js.map +1 -1
  255. package/build/components/colors-gradients/control.js +12 -12
  256. package/build/components/colors-gradients/control.js.map +1 -1
  257. package/build/components/colors-gradients/dropdown.js +13 -13
  258. package/build/components/colors-gradients/dropdown.js.map +1 -1
  259. package/build/components/colors-gradients/panel-color-gradient-settings.js +7 -7
  260. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  261. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +5 -4
  262. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  263. package/build/components/contrast-checker/index.js +3 -3
  264. package/build/components/contrast-checker/index.js.map +1 -1
  265. package/build/components/contrast-checker/index.native.js +6 -5
  266. package/build/components/contrast-checker/index.native.js.map +1 -1
  267. package/build/components/convert-to-group-buttons/index.js +3 -3
  268. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  269. package/build/components/convert-to-group-buttons/toolbar.js +4 -4
  270. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  271. package/build/components/copy-handler/index.js +29 -209
  272. package/build/components/copy-handler/index.js.map +1 -1
  273. package/build/components/date-format-picker/index.js +9 -8
  274. package/build/components/date-format-picker/index.js.map +1 -1
  275. package/build/components/default-block-appender/index.js +4 -4
  276. package/build/components/default-block-appender/index.js.map +1 -1
  277. package/build/components/default-block-appender/index.native.js +4 -4
  278. package/build/components/default-block-appender/index.native.js.map +1 -1
  279. package/build/components/default-style-picker/index.js +4 -3
  280. package/build/components/default-style-picker/index.js.map +1 -1
  281. package/build/components/dimensions-tool/aspect-ratio-tool.js +3 -3
  282. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  283. package/build/components/dimensions-tool/index.js +5 -4
  284. package/build/components/dimensions-tool/index.js.map +1 -1
  285. package/build/components/dimensions-tool/scale-tool.js +6 -5
  286. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  287. package/build/components/dimensions-tool/width-height-tool.js +7 -7
  288. package/build/components/dimensions-tool/width-height-tool.js.map +1 -1
  289. package/build/components/duotone-control/index.js +18 -10
  290. package/build/components/duotone-control/index.js.map +1 -1
  291. package/build/components/editable-text/index.js +3 -2
  292. package/build/components/editable-text/index.js.map +1 -1
  293. package/build/components/editor-styles/index.js +5 -4
  294. package/build/components/editor-styles/index.js.map +1 -1
  295. package/build/components/floating-toolbar/index.native.js +8 -7
  296. package/build/components/floating-toolbar/index.native.js.map +1 -1
  297. package/build/components/floating-toolbar/nav-up-icon.js +4 -4
  298. package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
  299. package/build/components/font-appearance-control/index.js +4 -3
  300. package/build/components/font-appearance-control/index.js.map +1 -1
  301. package/build/components/font-family/index.js +2 -2
  302. package/build/components/font-family/index.js.map +1 -1
  303. package/build/components/font-sizes/font-size-picker.js +2 -2
  304. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  305. package/build/components/font-sizes/with-font-sizes.js +4 -3
  306. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  307. package/build/components/global-styles/advanced-panel.js +7 -6
  308. package/build/components/global-styles/advanced-panel.js.map +1 -1
  309. package/build/components/global-styles/border-panel.js +8 -7
  310. package/build/components/global-styles/border-panel.js.map +1 -1
  311. package/build/components/global-styles/color-panel.js +21 -20
  312. package/build/components/global-styles/color-panel.js.map +1 -1
  313. package/build/components/global-styles/color-panel.native.js +4 -3
  314. package/build/components/global-styles/color-panel.native.js.map +1 -1
  315. package/build/components/global-styles/dimensions-panel.js +27 -26
  316. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  317. package/build/components/global-styles/effects-panel.js +23 -22
  318. package/build/components/global-styles/effects-panel.js.map +1 -1
  319. package/build/components/global-styles/filters-panel.js +17 -16
  320. package/build/components/global-styles/filters-panel.js.map +1 -1
  321. package/build/components/global-styles/image-settings-panel.js +4 -4
  322. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  323. package/build/components/global-styles/typography-panel.js +22 -21
  324. package/build/components/global-styles/typography-panel.js.map +1 -1
  325. package/build/components/gradients/with-gradient.js +2 -2
  326. package/build/components/gradients/with-gradient.js.map +1 -1
  327. package/build/components/height-control/index.js +9 -8
  328. package/build/components/height-control/index.js.map +1 -1
  329. package/build/components/iframe/index.js +7 -14
  330. package/build/components/iframe/index.js.map +1 -1
  331. package/build/components/image-editor/aspect-ratio-dropdown.js +7 -7
  332. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  333. package/build/components/image-editor/context.js +2 -1
  334. package/build/components/image-editor/context.js.map +1 -1
  335. package/build/components/image-editor/cropper.js +4 -4
  336. package/build/components/image-editor/cropper.js.map +1 -1
  337. package/build/components/image-editor/form-controls.js +3 -3
  338. package/build/components/image-editor/form-controls.js.map +1 -1
  339. package/build/components/image-editor/index.js +5 -5
  340. package/build/components/image-editor/index.js.map +1 -1
  341. package/build/components/image-editor/rotation-button.js +2 -2
  342. package/build/components/image-editor/rotation-button.js.map +1 -1
  343. package/build/components/image-editor/zoom-dropdown.js +4 -4
  344. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  345. package/build/components/image-size-control/index.js +9 -9
  346. package/build/components/image-size-control/index.js.map +1 -1
  347. package/build/components/index.js +1 -1
  348. package/build/components/index.js.map +1 -1
  349. package/build/components/inner-blocks/button-block-appender.js +2 -2
  350. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  351. package/build/components/inner-blocks/constants.native.js +13 -0
  352. package/build/components/inner-blocks/constants.native.js.map +1 -0
  353. package/build/components/inner-blocks/default-block-appender.js +2 -2
  354. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  355. package/build/components/inner-blocks/index.js +9 -8
  356. package/build/components/inner-blocks/index.js.map +1 -1
  357. package/build/components/inner-blocks/index.native.js +21 -8
  358. package/build/components/inner-blocks/index.native.js.map +1 -1
  359. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +95 -0
  360. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -0
  361. package/build/components/inner-blocks/with-client-id.js +2 -2
  362. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  363. package/build/components/inserter/block-patterns-explorer/explorer.js +7 -6
  364. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  365. package/build/components/inserter/block-patterns-explorer/patterns-list.js +6 -5
  366. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  367. package/build/components/inserter/block-patterns-explorer/sidebar.js +8 -8
  368. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  369. package/build/components/inserter/block-patterns-filter.js +12 -11
  370. package/build/components/inserter/block-patterns-filter.js.map +1 -1
  371. package/build/components/inserter/block-patterns-tab.js +19 -18
  372. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  373. package/build/components/inserter/block-types-tab.js +10 -9
  374. package/build/components/inserter/block-types-tab.js.map +1 -1
  375. package/build/components/inserter/block-types-tab.native.js +2 -1
  376. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  377. package/build/components/inserter/index.js +9 -8
  378. package/build/components/inserter/index.js.map +1 -1
  379. package/build/components/inserter/index.native.js +11 -10
  380. package/build/components/inserter/index.native.js.map +1 -1
  381. package/build/components/inserter/library.js +3 -2
  382. package/build/components/inserter/library.js.map +1 -1
  383. package/build/components/inserter/media-tab/media-list.js +3 -3
  384. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  385. package/build/components/inserter/media-tab/media-panel.js +7 -6
  386. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  387. package/build/components/inserter/media-tab/media-preview.js +18 -17
  388. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  389. package/build/components/inserter/media-tab/media-tab.js +12 -11
  390. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  391. package/build/components/inserter/media-tab/utils.js +2 -2
  392. package/build/components/inserter/media-tab/utils.js.map +1 -1
  393. package/build/components/inserter/menu.js +19 -18
  394. package/build/components/inserter/menu.js.map +1 -1
  395. package/build/components/inserter/menu.native.js +9 -8
  396. package/build/components/inserter/menu.native.js.map +1 -1
  397. package/build/components/inserter/mobile-tab-navigation.js +12 -12
  398. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  399. package/build/components/inserter/no-results.js +4 -4
  400. package/build/components/inserter/no-results.js.map +1 -1
  401. package/build/components/inserter/no-results.native.js +4 -4
  402. package/build/components/inserter/no-results.native.js.map +1 -1
  403. package/build/components/inserter/panel.js +5 -5
  404. package/build/components/inserter/panel.js.map +1 -1
  405. package/build/components/inserter/preview-panel.js +8 -7
  406. package/build/components/inserter/preview-panel.js.map +1 -1
  407. package/build/components/inserter/quick-inserter.js +7 -6
  408. package/build/components/inserter/quick-inserter.js.map +1 -1
  409. package/build/components/inserter/reusable-block-rename-hint.js +5 -4
  410. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
  411. package/build/components/inserter/reusable-blocks-tab.native.js +3 -2
  412. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  413. package/build/components/inserter/search-results.js +11 -10
  414. package/build/components/inserter/search-results.js.map +1 -1
  415. package/build/components/inserter/search-results.native.js +4 -3
  416. package/build/components/inserter/search-results.native.js.map +1 -1
  417. package/build/components/inserter/tabs.js +2 -1
  418. package/build/components/inserter/tabs.js.map +1 -1
  419. package/build/components/inserter/tabs.native.js +7 -6
  420. package/build/components/inserter/tabs.native.js.map +1 -1
  421. package/build/components/inserter/tips.js +6 -5
  422. package/build/components/inserter/tips.js.map +1 -1
  423. package/build/components/inserter-draggable-blocks/index.js +3 -3
  424. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  425. package/build/components/inserter-list-item/index.js +9 -8
  426. package/build/components/inserter-list-item/index.js.map +1 -1
  427. package/build/components/inserter-listbox/group.js +2 -1
  428. package/build/components/inserter-listbox/group.js.map +1 -1
  429. package/build/components/inserter-listbox/index.js +2 -2
  430. package/build/components/inserter-listbox/index.js.map +1 -1
  431. package/build/components/inserter-listbox/item.js +5 -4
  432. package/build/components/inserter-listbox/item.js.map +1 -1
  433. package/build/components/inserter-listbox/row.js +2 -1
  434. package/build/components/inserter-listbox/row.js.map +1 -1
  435. package/build/components/inspector-controls/block-support-slot-container.js +3 -2
  436. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  437. package/build/components/inspector-controls/block-support-tools-panel.js +3 -2
  438. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  439. package/build/components/inspector-controls/fill.js +7 -6
  440. package/build/components/inspector-controls/fill.js.map +1 -1
  441. package/build/components/inspector-controls/fill.native.js +4 -3
  442. package/build/components/inspector-controls/fill.native.js.map +1 -1
  443. package/build/components/inspector-controls/index.js +3 -3
  444. package/build/components/inspector-controls/index.js.map +1 -1
  445. package/build/components/inspector-controls/slot.js +5 -4
  446. package/build/components/inspector-controls/slot.js.map +1 -1
  447. package/build/components/inspector-controls/slot.native.js +2 -2
  448. package/build/components/inspector-controls/slot.native.js.map +1 -1
  449. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +3 -3
  450. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  451. package/build/components/inspector-controls-tabs/index.js +5 -5
  452. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  453. package/build/components/inspector-controls-tabs/position-controls-panel.js +5 -4
  454. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  455. package/build/components/inspector-controls-tabs/settings-tab-hint.js +5 -4
  456. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  457. package/build/components/inspector-controls-tabs/settings-tab.js +2 -2
  458. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  459. package/build/components/inspector-controls-tabs/styles-tab.js +11 -11
  460. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  461. package/build/components/inspector-popover-header/index.js +8 -8
  462. package/build/components/inspector-popover-header/index.js.map +1 -1
  463. package/build/components/justify-content-control/index.js +3 -3
  464. package/build/components/justify-content-control/index.js.map +1 -1
  465. package/build/components/justify-content-control/ui.js +2 -2
  466. package/build/components/justify-content-control/ui.js.map +1 -1
  467. package/build/components/letter-spacing-control/index.js +3 -3
  468. package/build/components/letter-spacing-control/index.js.map +1 -1
  469. package/build/components/line-height-control/index.js +3 -3
  470. package/build/components/line-height-control/index.js.map +1 -1
  471. package/build/components/line-height-control/index.native.js +2 -2
  472. package/build/components/line-height-control/index.native.js.map +1 -1
  473. package/build/components/link-control/index.js +18 -17
  474. package/build/components/link-control/index.js.map +1 -1
  475. package/build/components/link-control/link-preview.js +20 -20
  476. package/build/components/link-control/link-preview.js.map +1 -1
  477. package/build/components/link-control/search-create-button.js +4 -3
  478. package/build/components/link-control/search-create-button.js.map +1 -1
  479. package/build/components/link-control/search-input.js +5 -4
  480. package/build/components/link-control/search-input.js.map +1 -1
  481. package/build/components/link-control/search-item.js +5 -5
  482. package/build/components/link-control/search-item.js.map +1 -1
  483. package/build/components/link-control/search-results.js +7 -7
  484. package/build/components/link-control/search-results.js.map +1 -1
  485. package/build/components/link-control/settings-drawer.js +5 -4
  486. package/build/components/link-control/settings-drawer.js.map +1 -1
  487. package/build/components/link-control/settings.js +4 -4
  488. package/build/components/link-control/settings.js.map +1 -1
  489. package/build/components/list-view/appender.js +5 -4
  490. package/build/components/list-view/appender.js.map +1 -1
  491. package/build/components/list-view/aria-referenced-text.js +2 -1
  492. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  493. package/build/components/list-view/block-contents.js +5 -4
  494. package/build/components/list-view/block-contents.js.map +1 -1
  495. package/build/components/list-view/block-select-button.js +16 -15
  496. package/build/components/list-view/block-select-button.js.map +1 -1
  497. package/build/components/list-view/block.js +14 -13
  498. package/build/components/list-view/block.js.map +1 -1
  499. package/build/components/list-view/branch.js +9 -8
  500. package/build/components/list-view/branch.js.map +1 -1
  501. package/build/components/list-view/drop-indicator.js +4 -3
  502. package/build/components/list-view/drop-indicator.js.map +1 -1
  503. package/build/components/list-view/expander.js +3 -3
  504. package/build/components/list-view/expander.js.map +1 -1
  505. package/build/components/list-view/index.js +8 -7
  506. package/build/components/list-view/index.js.map +1 -1
  507. package/build/components/list-view/leaf.js +3 -2
  508. package/build/components/list-view/leaf.js.map +1 -1
  509. package/build/components/media-placeholder/index.js +22 -21
  510. package/build/components/media-placeholder/index.js.map +1 -1
  511. package/build/components/media-placeholder/index.native.js +13 -12
  512. package/build/components/media-placeholder/index.native.js.map +1 -1
  513. package/build/components/media-replace-flow/index.js +14 -13
  514. package/build/components/media-replace-flow/index.js.map +1 -1
  515. package/build/components/media-replace-flow/index.native.js +2 -2
  516. package/build/components/media-replace-flow/index.native.js.map +1 -1
  517. package/build/components/media-upload/{constants.js → constants.native.js} +2 -4
  518. package/build/components/media-upload/constants.native.js.map +1 -0
  519. package/build/components/media-upload/index.js +1 -1
  520. package/build/components/media-upload/index.js.map +1 -1
  521. package/build/components/media-upload/index.native.js +12 -11
  522. package/build/components/media-upload/index.native.js.map +1 -1
  523. package/build/components/media-upload-progress/index.native.js +5 -4
  524. package/build/components/media-upload-progress/index.native.js.map +1 -1
  525. package/build/components/multi-selection-inspector/index.js +6 -6
  526. package/build/components/multi-selection-inspector/index.js.map +1 -1
  527. package/build/components/navigable-toolbar/index.js +4 -3
  528. package/build/components/navigable-toolbar/index.js.map +1 -1
  529. package/build/components/observe-typing/index.js +2 -2
  530. package/build/components/observe-typing/index.js.map +1 -1
  531. package/build/components/panel-color-settings/index.js +2 -2
  532. package/build/components/panel-color-settings/index.js.map +1 -1
  533. package/build/components/plain-text/index.js +4 -3
  534. package/build/components/plain-text/index.js.map +1 -1
  535. package/build/components/plain-text/index.native.js +4 -3
  536. package/build/components/plain-text/index.native.js.map +1 -1
  537. package/build/components/preview-options/index.js +5 -5
  538. package/build/components/preview-options/index.js.map +1 -1
  539. package/build/components/provider/block-refs-provider.js +2 -1
  540. package/build/components/provider/block-refs-provider.js.map +1 -1
  541. package/build/components/provider/index.js +4 -3
  542. package/build/components/provider/index.js.map +1 -1
  543. package/build/components/provider/index.native.js +3 -2
  544. package/build/components/provider/index.native.js.map +1 -1
  545. package/build/components/provider/use-block-sync.js +1 -1
  546. package/build/components/provider/use-block-sync.js.map +1 -1
  547. package/build/components/provider/with-registry-provider.js +4 -3
  548. package/build/components/provider/with-registry-provider.js.map +1 -1
  549. package/build/components/publish-date-time-picker/index.js +5 -4
  550. package/build/components/publish-date-time-picker/index.js.map +1 -1
  551. package/build/components/recursion-provider/index.js +2 -1
  552. package/build/components/recursion-provider/index.js.map +1 -1
  553. package/build/components/resizable-box-popover/index.js +3 -3
  554. package/build/components/resizable-box-popover/index.js.map +1 -1
  555. package/build/components/resolution-tool/index.js +3 -3
  556. package/build/components/resolution-tool/index.js.map +1 -1
  557. package/build/components/responsive-block-control/index.js +10 -9
  558. package/build/components/responsive-block-control/index.js.map +1 -1
  559. package/build/components/responsive-block-control/label.js +3 -3
  560. package/build/components/responsive-block-control/label.js.map +1 -1
  561. package/build/components/rich-text/content.js +3 -2
  562. package/build/components/rich-text/content.js.map +1 -1
  563. package/build/components/rich-text/embed-handler-picker.native.js +2 -1
  564. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  565. package/build/components/rich-text/format-edit.js +4 -3
  566. package/build/components/rich-text/format-edit.js.map +1 -1
  567. package/build/components/rich-text/format-toolbar/index.js +4 -4
  568. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  569. package/build/components/rich-text/format-toolbar/index.native.js +3 -3
  570. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  571. package/build/components/rich-text/format-toolbar-container.js +9 -9
  572. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  573. package/build/components/rich-text/format-toolbar-container.native.js +3 -3
  574. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  575. package/build/components/rich-text/get-rich-text-values.js +2 -1
  576. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  577. package/build/components/rich-text/index.js +9 -8
  578. package/build/components/rich-text/index.js.map +1 -1
  579. package/build/components/rich-text/index.native.js +8 -15
  580. package/build/components/rich-text/index.native.js.map +1 -1
  581. package/build/components/rich-text/multiline.js +3 -2
  582. package/build/components/rich-text/multiline.js.map +1 -1
  583. package/build/components/rich-text/toolbar-button.js +3 -3
  584. package/build/components/rich-text/toolbar-button.js.map +1 -1
  585. package/build/components/rich-text/use-paste-handler.js +5 -87
  586. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  587. package/build/components/rich-text/utils.js +2 -5
  588. package/build/components/rich-text/utils.js.map +1 -1
  589. package/build/components/skip-to-selected-block/index.js +2 -2
  590. package/build/components/skip-to-selected-block/index.js.map +1 -1
  591. package/build/components/spacing-sizes-control/index.js +9 -8
  592. package/build/components/spacing-sizes-control/index.js.map +1 -1
  593. package/build/components/spacing-sizes-control/input-controls/axial.js +3 -3
  594. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  595. package/build/components/spacing-sizes-control/input-controls/separated.js +3 -3
  596. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  597. package/build/components/spacing-sizes-control/input-controls/single.js +2 -2
  598. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  599. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +9 -8
  600. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  601. package/build/components/spacing-sizes-control/sides-dropdown/index.js +6 -6
  602. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  603. package/build/components/text-decoration-control/index.js +6 -6
  604. package/build/components/text-decoration-control/index.js.map +1 -1
  605. package/build/components/text-transform-control/index.js +6 -6
  606. package/build/components/text-transform-control/index.js.map +1 -1
  607. package/build/components/tool-selector/index.js +11 -10
  608. package/build/components/tool-selector/index.js.map +1 -1
  609. package/build/components/typewriter/index.js +3 -3
  610. package/build/components/typewriter/index.js.map +1 -1
  611. package/build/components/ungroup-button/index.native.js +2 -2
  612. package/build/components/ungroup-button/index.native.js.map +1 -1
  613. package/build/components/unit-control/index.js +2 -2
  614. package/build/components/unit-control/index.js.map +1 -1
  615. package/build/components/unsupported-block-details/index.native.js +127 -0
  616. package/build/components/unsupported-block-details/index.native.js.map +1 -0
  617. package/build/components/url-input/button.js +9 -8
  618. package/build/components/url-input/button.js.map +1 -1
  619. package/build/components/url-input/index.js +9 -8
  620. package/build/components/url-input/index.js.map +1 -1
  621. package/build/components/url-input/index.native.js +2 -2
  622. package/build/components/url-input/index.native.js.map +1 -1
  623. package/build/components/url-popover/image-url-input-ui.js +19 -18
  624. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  625. package/build/components/url-popover/index.js +8 -7
  626. package/build/components/url-popover/index.js.map +1 -1
  627. package/build/components/url-popover/link-editor.js +4 -4
  628. package/build/components/url-popover/link-editor.js.map +1 -1
  629. package/build/components/url-popover/link-viewer-url.js +3 -3
  630. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  631. package/build/components/url-popover/link-viewer.js +4 -4
  632. package/build/components/url-popover/link-viewer.js.map +1 -1
  633. package/build/components/use-on-block-drop/index.js +2 -2
  634. package/build/components/use-on-block-drop/index.js.map +1 -1
  635. package/build/components/use-unsupported-block-editor/index.native.js +57 -0
  636. package/build/components/use-unsupported-block-editor/index.native.js.map +1 -0
  637. package/build/components/video-player/gridicon-play.native.js +3 -3
  638. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  639. package/build/components/video-player/index.native.js +6 -5
  640. package/build/components/video-player/index.native.js.map +1 -1
  641. package/build/components/warning/index.js +10 -9
  642. package/build/components/warning/index.js.map +1 -1
  643. package/build/components/warning/index.native.js +6 -6
  644. package/build/components/warning/index.native.js.map +1 -1
  645. package/build/components/writing-flow/index.js +7 -5
  646. package/build/components/writing-flow/index.js.map +1 -1
  647. package/build/components/writing-flow/use-clipboard-handler.js +179 -0
  648. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -0
  649. package/build/components/writing-flow/use-tab-nav.js +4 -3
  650. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  651. package/build/components/writing-mode-control/index.js +6 -6
  652. package/build/components/writing-mode-control/index.js.map +1 -1
  653. package/build/hooks/align.js +6 -6
  654. package/build/hooks/align.js.map +1 -1
  655. package/build/hooks/anchor.js +10 -9
  656. package/build/hooks/anchor.js.map +1 -1
  657. package/build/hooks/background.js +17 -16
  658. package/build/hooks/background.js.map +1 -1
  659. package/build/hooks/block-hooks.js +11 -10
  660. package/build/hooks/block-hooks.js.map +1 -1
  661. package/build/hooks/block-rename-ui.js +17 -16
  662. package/build/hooks/block-rename-ui.js.map +1 -1
  663. package/build/hooks/border.js +6 -5
  664. package/build/hooks/border.js.map +1 -1
  665. package/build/hooks/color.js +7 -6
  666. package/build/hooks/color.js.map +1 -1
  667. package/build/hooks/content-lock-ui.js +9 -8
  668. package/build/hooks/content-lock-ui.js.map +1 -1
  669. package/build/hooks/contrast-checker.js +2 -1
  670. package/build/hooks/contrast-checker.js.map +1 -1
  671. package/build/hooks/custom-class-name.js +7 -7
  672. package/build/hooks/custom-class-name.js.map +1 -1
  673. package/build/hooks/custom-fields.js +8 -8
  674. package/build/hooks/custom-fields.js.map +1 -1
  675. package/build/hooks/dimensions.js +5 -4
  676. package/build/hooks/dimensions.js.map +1 -1
  677. package/build/hooks/duotone.js +10 -9
  678. package/build/hooks/duotone.js.map +1 -1
  679. package/build/hooks/font-size.js +5 -5
  680. package/build/hooks/font-size.js.map +1 -1
  681. package/build/hooks/layout.js +14 -13
  682. package/build/hooks/layout.js.map +1 -1
  683. package/build/hooks/line-height.js +3 -3
  684. package/build/hooks/line-height.js.map +1 -1
  685. package/build/hooks/margin.js +3 -2
  686. package/build/hooks/margin.js.map +1 -1
  687. package/build/hooks/padding.js +3 -2
  688. package/build/hooks/padding.js.map +1 -1
  689. package/build/hooks/position.js +10 -9
  690. package/build/hooks/position.js.map +1 -1
  691. package/build/hooks/style.js +11 -10
  692. package/build/hooks/style.js.map +1 -1
  693. package/build/hooks/typography.js +4 -3
  694. package/build/hooks/typography.js.map +1 -1
  695. package/build/hooks/typography.native.js +4 -4
  696. package/build/hooks/typography.native.js.map +1 -1
  697. package/build/hooks/utils.js +1 -1
  698. package/build/hooks/utils.js.map +1 -1
  699. package/build/layouts/constrained.js +11 -11
  700. package/build/layouts/constrained.js.map +1 -1
  701. package/build/layouts/flex.js +18 -18
  702. package/build/layouts/flex.js.map +1 -1
  703. package/build/layouts/grid.js +10 -10
  704. package/build/layouts/grid.js.map +1 -1
  705. package/build/lock-unlock.js +1 -1
  706. package/build/lock-unlock.js.map +1 -1
  707. package/build/private-apis.js +2 -0
  708. package/build/private-apis.js.map +1 -1
  709. package/build/store/selectors.js +1 -1
  710. package/build/store/selectors.js.map +1 -1
  711. package/build/utils/pasting.js +46 -0
  712. package/build/utils/pasting.js.map +1 -1
  713. package/build/utils/use-notify-copy.js +53 -0
  714. package/build/utils/use-notify-copy.js.map +1 -0
  715. package/build-module/autocompleters/block.js +1 -1
  716. package/build-module/autocompleters/link.js +1 -1
  717. package/build-module/components/alignment-control/index.js +1 -1
  718. package/build-module/components/alignment-control/ui.js +1 -1
  719. package/build-module/components/autocomplete/index.js +1 -1
  720. package/build-module/components/block-actions/index.js +1 -1
  721. package/build-module/components/block-actions/index.js.map +1 -1
  722. package/build-module/components/block-alignment-control/index.js +1 -1
  723. package/build-module/components/block-alignment-control/ui.js +1 -1
  724. package/build-module/components/block-alignment-control/ui.native.js +1 -1
  725. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  726. package/build-module/components/block-breadcrumb/index.js +2 -2
  727. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  728. package/build-module/components/block-canvas/index.js +7 -9
  729. package/build-module/components/block-canvas/index.js.map +1 -1
  730. package/build-module/components/block-caption/index.native.js +1 -1
  731. package/build-module/components/block-card/index.js +1 -1
  732. package/build-module/components/block-compare/block-view.js +1 -1
  733. package/build-module/components/block-compare/index.js +1 -1
  734. package/build-module/components/block-context/index.js +1 -1
  735. package/build-module/components/block-controls/fill.js +1 -1
  736. package/build-module/components/block-controls/index.js +1 -1
  737. package/build-module/components/block-controls/slot.js +1 -1
  738. package/build-module/components/block-controls/slot.native.js +1 -1
  739. package/build-module/components/block-draggable/draggable-chip.js +1 -1
  740. package/build-module/components/block-draggable/draggable-chip.native.js +1 -1
  741. package/build-module/components/block-draggable/dropping-insertion-point.native.js +1 -1
  742. package/build-module/components/block-draggable/index.js +1 -1
  743. package/build-module/components/block-draggable/index.native.js +1 -1
  744. package/build-module/components/block-edit/edit.js +1 -1
  745. package/build-module/components/block-edit/edit.native.js +1 -1
  746. package/build-module/components/block-edit/index.js +1 -1
  747. package/build-module/components/block-edit-visually-button/index.js +1 -1
  748. package/build-module/components/block-full-height-alignment-control/index.js +1 -1
  749. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +3 -3
  750. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  751. package/build-module/components/block-heading-level-dropdown/index.js +3 -3
  752. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  753. package/build-module/components/block-heading-level-dropdown/index.native.js +3 -3
  754. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  755. package/build-module/components/block-icon/index.js +1 -1
  756. package/build-module/components/block-icon/index.native.js +1 -1
  757. package/build-module/components/block-info-slot-fill/index.js +1 -1
  758. package/build-module/components/block-inspector/index.js +1 -1
  759. package/build-module/components/block-list/block-crash-warning.js +1 -1
  760. package/build-module/components/block-list/block-html.js +1 -1
  761. package/build-module/components/block-list/block-invalid-warning.js +1 -1
  762. package/build-module/components/block-list/block-invalid-warning.native.js +1 -1
  763. package/build-module/components/block-list/block-list-item-cell.native.js +1 -1
  764. package/build-module/components/block-list/block-list-item.native.js +3 -3
  765. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  766. package/build-module/components/block-list/block-outline.native.js +1 -1
  767. package/build-module/components/block-list/block-selection-button.native.js +1 -1
  768. package/build-module/components/block-list/block.js +1 -1
  769. package/build-module/components/block-list/block.native.js +1 -1
  770. package/build-module/components/block-list/grid-item.native.js +1 -1
  771. package/build-module/components/block-list/index.js +1 -1
  772. package/build-module/components/block-list/index.native.js +1 -1
  773. package/build-module/components/block-list/insertion-point.native.js +1 -1
  774. package/build-module/components/block-list/layout.js +1 -1
  775. package/build-module/components/block-list/subdirectory-icon.js +1 -1
  776. package/build-module/components/block-list-appender/index.js +1 -1
  777. package/build-module/components/block-list-appender/index.native.js +1 -1
  778. package/build-module/components/block-lock/menu-item.js +1 -1
  779. package/build-module/components/block-lock/modal.js +1 -1
  780. package/build-module/components/block-lock/toolbar.js +1 -1
  781. package/build-module/components/block-media-update-progress/index.native.js +1 -1
  782. package/build-module/components/block-mover/button.js +1 -1
  783. package/build-module/components/block-mover/index.js +1 -1
  784. package/build-module/components/block-mover/index.native.js +1 -1
  785. package/build-module/components/block-navigation/dropdown.js +1 -1
  786. package/build-module/components/block-parent-selector/index.js +2 -2
  787. package/build-module/components/block-parent-selector/index.js.map +1 -1
  788. package/build-module/components/block-pattern-setup/index.js +1 -1
  789. package/build-module/components/block-pattern-setup/setup-toolbar.js +1 -1
  790. package/build-module/components/block-patterns-list/index.js +1 -1
  791. package/build-module/components/block-patterns-paging/index.js +1 -1
  792. package/build-module/components/block-popover/drop-zone.js +1 -1
  793. package/build-module/components/block-popover/inbetween.js +1 -1
  794. package/build-module/components/block-popover/index.js +1 -1
  795. package/build-module/components/block-preview/auto.js +1 -1
  796. package/build-module/components/block-preview/index.js +2 -2
  797. package/build-module/components/block-preview/index.js.map +1 -1
  798. package/build-module/components/block-quick-navigation/index.js +1 -1
  799. package/build-module/components/block-removal-warning-modal/index.js +1 -1
  800. package/build-module/components/block-selection-clearer/index.js +1 -1
  801. package/build-module/components/block-settings/button.native.js +1 -1
  802. package/build-module/components/block-settings/container.native.js +1 -1
  803. package/build-module/components/block-settings-menu/block-html-convert-button.js +20 -17
  804. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  805. package/build-module/components/block-settings-menu/block-mode-toggle.js +1 -1
  806. package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -1
  807. package/build-module/components/block-settings-menu/index.js +1 -1
  808. package/build-module/components/block-settings-menu-controls/index.js +2 -2
  809. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  810. package/build-module/components/block-styles/index.js +3 -2
  811. package/build-module/components/block-styles/index.js.map +1 -1
  812. package/build-module/components/block-styles/index.native.js +1 -1
  813. package/build-module/components/block-styles/menu-items.js +1 -1
  814. package/build-module/components/block-styles/preview-panel.js +1 -1
  815. package/build-module/components/block-styles/preview.native.js +1 -1
  816. package/build-module/components/block-switcher/block-styles-menu.js +1 -1
  817. package/build-module/components/block-switcher/block-transformations-menu.js +1 -1
  818. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -1
  819. package/build-module/components/block-switcher/block-variation-transformations.js +1 -1
  820. package/build-module/components/block-switcher/index.js +6 -6
  821. package/build-module/components/block-switcher/index.js.map +1 -1
  822. package/build-module/components/block-switcher/pattern-transformations-menu.js +5 -3
  823. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  824. package/build-module/components/block-switcher/preview-block-popover.js +1 -1
  825. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -1
  826. package/build-module/components/block-toolbar/index.js +1 -1
  827. package/build-module/components/block-toolbar/index.native.js +1 -1
  828. package/build-module/components/block-tools/back-compat.js +1 -1
  829. package/build-module/components/block-tools/block-contextual-toolbar.js +1 -1
  830. package/build-module/components/block-tools/block-selection-button.js +2 -2
  831. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  832. package/build-module/components/block-tools/index.js +1 -1
  833. package/build-module/components/block-tools/insertion-point.js +1 -1
  834. package/build-module/components/block-tools/selected-block-popover.js +1 -1
  835. package/build-module/components/block-tools/zoom-out-mode-inserters.js +1 -1
  836. package/build-module/components/block-types-list/index.js +1 -1
  837. package/build-module/components/block-types-list/index.native.js +1 -1
  838. package/build-module/components/block-variation-picker/index.js +1 -1
  839. package/build-module/components/block-variation-picker/index.native.js +1 -1
  840. package/build-module/components/block-variation-transforms/index.js +1 -1
  841. package/build-module/components/block-vertical-alignment-control/icons.js +1 -1
  842. package/build-module/components/block-vertical-alignment-control/index.js +1 -1
  843. package/build-module/components/block-vertical-alignment-control/ui.js +1 -1
  844. package/build-module/components/border-radius-control/all-input-control.js +1 -1
  845. package/build-module/components/border-radius-control/index.js +2 -2
  846. package/build-module/components/border-radius-control/index.js.map +1 -1
  847. package/build-module/components/border-radius-control/input-controls.js +1 -1
  848. package/build-module/components/border-radius-control/linked-button.js +1 -1
  849. package/build-module/components/button-block-appender/index.js +1 -1
  850. package/build-module/components/button-block-appender/index.native.js +1 -1
  851. package/build-module/components/caption/index.native.js +1 -1
  852. package/build-module/components/child-layout-control/index.js +2 -2
  853. package/build-module/components/child-layout-control/index.js.map +1 -1
  854. package/build-module/components/color-palette/control.js +1 -1
  855. package/build-module/components/color-palette/with-color-context.js +1 -1
  856. package/build-module/components/color-style-selector/index.js +1 -1
  857. package/build-module/components/colors/with-colors.js +2 -2
  858. package/build-module/components/colors/with-colors.js.map +1 -1
  859. package/build-module/components/colors-gradients/control.js +1 -1
  860. package/build-module/components/colors-gradients/dropdown.js +1 -1
  861. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -1
  862. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -1
  863. package/build-module/components/contrast-checker/index.js +1 -1
  864. package/build-module/components/contrast-checker/index.native.js +1 -1
  865. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  866. package/build-module/components/convert-to-group-buttons/toolbar.js +1 -1
  867. package/build-module/components/copy-handler/index.js +25 -205
  868. package/build-module/components/copy-handler/index.js.map +1 -1
  869. package/build-module/components/date-format-picker/index.js +1 -1
  870. package/build-module/components/default-block-appender/index.js +1 -1
  871. package/build-module/components/default-block-appender/index.native.js +1 -1
  872. package/build-module/components/default-style-picker/index.js +1 -1
  873. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +1 -1
  874. package/build-module/components/dimensions-tool/index.js +2 -2
  875. package/build-module/components/dimensions-tool/index.js.map +1 -1
  876. package/build-module/components/dimensions-tool/scale-tool.js +2 -2
  877. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  878. package/build-module/components/dimensions-tool/width-height-tool.js +3 -3
  879. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  880. package/build-module/components/duotone-control/index.js +10 -2
  881. package/build-module/components/duotone-control/index.js.map +1 -1
  882. package/build-module/components/editable-text/index.js +1 -1
  883. package/build-module/components/editor-styles/index.js +1 -1
  884. package/build-module/components/floating-toolbar/index.native.js +1 -1
  885. package/build-module/components/floating-toolbar/nav-up-icon.js +1 -1
  886. package/build-module/components/font-appearance-control/index.js +2 -2
  887. package/build-module/components/font-appearance-control/index.js.map +1 -1
  888. package/build-module/components/font-family/index.js +1 -1
  889. package/build-module/components/font-sizes/font-size-picker.js +1 -1
  890. package/build-module/components/font-sizes/with-font-sizes.js +1 -1
  891. package/build-module/components/global-styles/advanced-panel.js +1 -1
  892. package/build-module/components/global-styles/border-panel.js +1 -1
  893. package/build-module/components/global-styles/color-panel.js +1 -1
  894. package/build-module/components/global-styles/color-panel.native.js +1 -1
  895. package/build-module/components/global-styles/dimensions-panel.js +1 -1
  896. package/build-module/components/global-styles/effects-panel.js +1 -1
  897. package/build-module/components/global-styles/filters-panel.js +1 -1
  898. package/build-module/components/global-styles/image-settings-panel.js +1 -1
  899. package/build-module/components/global-styles/typography-panel.js +1 -1
  900. package/build-module/components/gradients/with-gradient.js +1 -1
  901. package/build-module/components/height-control/index.js +2 -2
  902. package/build-module/components/height-control/index.js.map +1 -1
  903. package/build-module/components/iframe/index.js +2 -10
  904. package/build-module/components/iframe/index.js.map +1 -1
  905. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -1
  906. package/build-module/components/image-editor/context.js +1 -1
  907. package/build-module/components/image-editor/cropper.js +1 -1
  908. package/build-module/components/image-editor/form-controls.js +1 -1
  909. package/build-module/components/image-editor/index.js +1 -1
  910. package/build-module/components/image-editor/rotation-button.js +1 -1
  911. package/build-module/components/image-editor/zoom-dropdown.js +1 -1
  912. package/build-module/components/image-size-control/index.js +1 -1
  913. package/build-module/components/index.js +1 -1
  914. package/build-module/components/index.js.map +1 -1
  915. package/build-module/components/inner-blocks/button-block-appender.js +1 -1
  916. package/build-module/components/inner-blocks/constants.native.js +6 -0
  917. package/build-module/components/inner-blocks/constants.native.js.map +1 -0
  918. package/build-module/components/inner-blocks/default-block-appender.js +1 -1
  919. package/build-module/components/inner-blocks/index.js +1 -1
  920. package/build-module/components/inner-blocks/index.native.js +13 -1
  921. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  922. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +86 -0
  923. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -0
  924. package/build-module/components/inner-blocks/with-client-id.js +1 -1
  925. package/build-module/components/inserter/block-patterns-explorer/explorer.js +1 -1
  926. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +1 -1
  927. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +1 -1
  928. package/build-module/components/inserter/block-patterns-filter.js +1 -1
  929. package/build-module/components/inserter/block-patterns-tab.js +1 -1
  930. package/build-module/components/inserter/block-types-tab.js +1 -1
  931. package/build-module/components/inserter/block-types-tab.native.js +1 -1
  932. package/build-module/components/inserter/index.js +3 -3
  933. package/build-module/components/inserter/index.js.map +1 -1
  934. package/build-module/components/inserter/index.native.js +3 -3
  935. package/build-module/components/inserter/index.native.js.map +1 -1
  936. package/build-module/components/inserter/library.js +1 -1
  937. package/build-module/components/inserter/media-tab/media-list.js +1 -1
  938. package/build-module/components/inserter/media-tab/media-panel.js +1 -1
  939. package/build-module/components/inserter/media-tab/media-preview.js +1 -1
  940. package/build-module/components/inserter/media-tab/media-tab.js +1 -1
  941. package/build-module/components/inserter/media-tab/utils.js +1 -1
  942. package/build-module/components/inserter/menu.js +1 -1
  943. package/build-module/components/inserter/menu.native.js +1 -1
  944. package/build-module/components/inserter/mobile-tab-navigation.js +1 -1
  945. package/build-module/components/inserter/no-results.js +1 -1
  946. package/build-module/components/inserter/no-results.native.js +1 -1
  947. package/build-module/components/inserter/panel.js +1 -1
  948. package/build-module/components/inserter/preview-panel.js +1 -1
  949. package/build-module/components/inserter/quick-inserter.js +1 -1
  950. package/build-module/components/inserter/reusable-block-rename-hint.js +1 -1
  951. package/build-module/components/inserter/reusable-blocks-tab.native.js +1 -1
  952. package/build-module/components/inserter/search-results.js +1 -1
  953. package/build-module/components/inserter/search-results.native.js +1 -1
  954. package/build-module/components/inserter/tabs.js +1 -1
  955. package/build-module/components/inserter/tabs.native.js +1 -1
  956. package/build-module/components/inserter/tips.js +1 -1
  957. package/build-module/components/inserter-draggable-blocks/index.js +1 -1
  958. package/build-module/components/inserter-list-item/index.js +1 -1
  959. package/build-module/components/inserter-listbox/group.js +1 -1
  960. package/build-module/components/inserter-listbox/index.js +1 -1
  961. package/build-module/components/inserter-listbox/item.js +1 -1
  962. package/build-module/components/inserter-listbox/row.js +1 -1
  963. package/build-module/components/inspector-controls/block-support-slot-container.js +1 -1
  964. package/build-module/components/inspector-controls/block-support-tools-panel.js +1 -1
  965. package/build-module/components/inspector-controls/fill.js +1 -1
  966. package/build-module/components/inspector-controls/fill.native.js +1 -1
  967. package/build-module/components/inspector-controls/index.js +1 -1
  968. package/build-module/components/inspector-controls/slot.js +1 -1
  969. package/build-module/components/inspector-controls/slot.native.js +1 -1
  970. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
  971. package/build-module/components/inspector-controls-tabs/index.js +1 -1
  972. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -1
  973. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
  974. package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -1
  975. package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -1
  976. package/build-module/components/inspector-popover-header/index.js +1 -1
  977. package/build-module/components/justify-content-control/index.js +1 -1
  978. package/build-module/components/justify-content-control/ui.js +1 -1
  979. package/build-module/components/letter-spacing-control/index.js +2 -2
  980. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  981. package/build-module/components/line-height-control/index.js +1 -1
  982. package/build-module/components/line-height-control/index.native.js +1 -1
  983. package/build-module/components/link-control/index.js +1 -1
  984. package/build-module/components/link-control/link-preview.js +1 -1
  985. package/build-module/components/link-control/search-create-button.js +1 -1
  986. package/build-module/components/link-control/search-input.js +1 -1
  987. package/build-module/components/link-control/search-item.js +1 -1
  988. package/build-module/components/link-control/search-results.js +1 -1
  989. package/build-module/components/link-control/settings-drawer.js +1 -1
  990. package/build-module/components/link-control/settings.js +1 -1
  991. package/build-module/components/list-view/appender.js +1 -1
  992. package/build-module/components/list-view/aria-referenced-text.js +1 -1
  993. package/build-module/components/list-view/block-contents.js +1 -1
  994. package/build-module/components/list-view/block-select-button.js +1 -1
  995. package/build-module/components/list-view/block.js +1 -1
  996. package/build-module/components/list-view/branch.js +1 -1
  997. package/build-module/components/list-view/drop-indicator.js +1 -1
  998. package/build-module/components/list-view/expander.js +1 -1
  999. package/build-module/components/list-view/index.js +1 -1
  1000. package/build-module/components/list-view/leaf.js +1 -1
  1001. package/build-module/components/media-placeholder/index.js +1 -1
  1002. package/build-module/components/media-placeholder/index.native.js +1 -1
  1003. package/build-module/components/media-replace-flow/index.js +1 -1
  1004. package/build-module/components/media-replace-flow/index.native.js +1 -1
  1005. package/build-module/components/media-upload/{constants.js → constants.native.js} +1 -2
  1006. package/build-module/components/media-upload/constants.native.js.map +1 -0
  1007. package/build-module/components/media-upload/index.js +1 -1
  1008. package/build-module/components/media-upload/index.js.map +1 -1
  1009. package/build-module/components/media-upload/index.native.js +7 -7
  1010. package/build-module/components/media-upload/index.native.js.map +1 -1
  1011. package/build-module/components/media-upload-progress/index.native.js +1 -1
  1012. package/build-module/components/multi-selection-inspector/index.js +1 -1
  1013. package/build-module/components/navigable-toolbar/index.js +1 -1
  1014. package/build-module/components/observe-typing/index.js +1 -1
  1015. package/build-module/components/panel-color-settings/index.js +1 -1
  1016. package/build-module/components/plain-text/index.js +1 -1
  1017. package/build-module/components/plain-text/index.native.js +1 -1
  1018. package/build-module/components/preview-options/index.js +1 -1
  1019. package/build-module/components/provider/block-refs-provider.js +1 -1
  1020. package/build-module/components/provider/index.js +1 -1
  1021. package/build-module/components/provider/index.native.js +1 -1
  1022. package/build-module/components/provider/use-block-sync.js +1 -1
  1023. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1024. package/build-module/components/provider/with-registry-provider.js +1 -1
  1025. package/build-module/components/publish-date-time-picker/index.js +1 -1
  1026. package/build-module/components/recursion-provider/index.js +1 -1
  1027. package/build-module/components/resizable-box-popover/index.js +1 -1
  1028. package/build-module/components/resolution-tool/index.js +1 -1
  1029. package/build-module/components/responsive-block-control/index.js +1 -1
  1030. package/build-module/components/responsive-block-control/label.js +1 -1
  1031. package/build-module/components/rich-text/content.js +1 -1
  1032. package/build-module/components/rich-text/embed-handler-picker.native.js +1 -1
  1033. package/build-module/components/rich-text/format-edit.js +1 -1
  1034. package/build-module/components/rich-text/format-toolbar/index.js +1 -1
  1035. package/build-module/components/rich-text/format-toolbar/index.native.js +1 -1
  1036. package/build-module/components/rich-text/format-toolbar-container.js +1 -1
  1037. package/build-module/components/rich-text/format-toolbar-container.native.js +1 -1
  1038. package/build-module/components/rich-text/get-rich-text-values.js +1 -1
  1039. package/build-module/components/rich-text/index.js +1 -1
  1040. package/build-module/components/rich-text/index.native.js +2 -10
  1041. package/build-module/components/rich-text/index.native.js.map +1 -1
  1042. package/build-module/components/rich-text/multiline.js +1 -1
  1043. package/build-module/components/rich-text/toolbar-button.js +1 -1
  1044. package/build-module/components/rich-text/use-paste-handler.js +7 -89
  1045. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1046. package/build-module/components/rich-text/utils.js +1 -3
  1047. package/build-module/components/rich-text/utils.js.map +1 -1
  1048. package/build-module/components/skip-to-selected-block/index.js +1 -1
  1049. package/build-module/components/spacing-sizes-control/index.js +1 -1
  1050. package/build-module/components/spacing-sizes-control/input-controls/axial.js +1 -1
  1051. package/build-module/components/spacing-sizes-control/input-controls/separated.js +1 -1
  1052. package/build-module/components/spacing-sizes-control/input-controls/single.js +1 -1
  1053. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  1054. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  1055. package/build-module/components/text-decoration-control/index.js +2 -2
  1056. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1057. package/build-module/components/text-transform-control/index.js +2 -2
  1058. package/build-module/components/text-transform-control/index.js.map +1 -1
  1059. package/build-module/components/tool-selector/index.js +1 -1
  1060. package/build-module/components/typewriter/index.js +2 -2
  1061. package/build-module/components/typewriter/index.js.map +1 -1
  1062. package/build-module/components/ungroup-button/index.native.js +1 -1
  1063. package/build-module/components/unit-control/index.js +1 -1
  1064. package/build-module/components/unsupported-block-details/index.native.js +118 -0
  1065. package/build-module/components/unsupported-block-details/index.native.js.map +1 -0
  1066. package/build-module/components/url-input/button.js +1 -1
  1067. package/build-module/components/url-input/index.js +1 -1
  1068. package/build-module/components/url-input/index.native.js +1 -1
  1069. package/build-module/components/url-popover/image-url-input-ui.js +1 -1
  1070. package/build-module/components/url-popover/index.js +1 -1
  1071. package/build-module/components/url-popover/link-editor.js +1 -1
  1072. package/build-module/components/url-popover/link-viewer-url.js +1 -1
  1073. package/build-module/components/url-popover/link-viewer.js +1 -1
  1074. package/build-module/components/use-on-block-drop/index.js +2 -2
  1075. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  1076. package/build-module/components/use-unsupported-block-editor/index.native.js +51 -0
  1077. package/build-module/components/use-unsupported-block-editor/index.native.js.map +1 -0
  1078. package/build-module/components/video-player/gridicon-play.native.js +1 -1
  1079. package/build-module/components/video-player/index.native.js +1 -1
  1080. package/build-module/components/warning/index.js +1 -1
  1081. package/build-module/components/warning/index.native.js +1 -1
  1082. package/build-module/components/writing-flow/index.js +5 -4
  1083. package/build-module/components/writing-flow/index.js.map +1 -1
  1084. package/build-module/components/writing-flow/use-clipboard-handler.js +172 -0
  1085. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -0
  1086. package/build-module/components/writing-flow/use-tab-nav.js +1 -1
  1087. package/build-module/components/writing-mode-control/index.js +2 -2
  1088. package/build-module/components/writing-mode-control/index.js.map +1 -1
  1089. package/build-module/hooks/align.js +1 -1
  1090. package/build-module/hooks/anchor.js +3 -3
  1091. package/build-module/hooks/anchor.js.map +1 -1
  1092. package/build-module/hooks/background.js +1 -1
  1093. package/build-module/hooks/block-hooks.js +1 -1
  1094. package/build-module/hooks/block-rename-ui.js +1 -1
  1095. package/build-module/hooks/border.js +1 -1
  1096. package/build-module/hooks/color.js +1 -1
  1097. package/build-module/hooks/content-lock-ui.js +1 -1
  1098. package/build-module/hooks/contrast-checker.js +1 -1
  1099. package/build-module/hooks/custom-class-name.js +3 -3
  1100. package/build-module/hooks/custom-class-name.js.map +1 -1
  1101. package/build-module/hooks/custom-fields.js +3 -3
  1102. package/build-module/hooks/custom-fields.js.map +1 -1
  1103. package/build-module/hooks/dimensions.js +1 -1
  1104. package/build-module/hooks/duotone.js +1 -1
  1105. package/build-module/hooks/font-size.js +2 -2
  1106. package/build-module/hooks/font-size.js.map +1 -1
  1107. package/build-module/hooks/layout.js +1 -1
  1108. package/build-module/hooks/line-height.js +2 -2
  1109. package/build-module/hooks/line-height.js.map +1 -1
  1110. package/build-module/hooks/margin.js +1 -1
  1111. package/build-module/hooks/padding.js +1 -1
  1112. package/build-module/hooks/position.js +3 -3
  1113. package/build-module/hooks/position.js.map +1 -1
  1114. package/build-module/hooks/style.js +1 -1
  1115. package/build-module/hooks/typography.js +1 -1
  1116. package/build-module/hooks/typography.native.js +1 -1
  1117. package/build-module/hooks/utils.js +1 -1
  1118. package/build-module/hooks/utils.js.map +1 -1
  1119. package/build-module/layouts/constrained.js +1 -1
  1120. package/build-module/layouts/flex.js +1 -1
  1121. package/build-module/layouts/grid.js +1 -1
  1122. package/build-module/lock-unlock.js +1 -1
  1123. package/build-module/lock-unlock.js.map +1 -1
  1124. package/build-module/private-apis.js +2 -0
  1125. package/build-module/private-apis.js.map +1 -1
  1126. package/build-module/store/selectors.js +1 -1
  1127. package/build-module/store/selectors.js.map +1 -1
  1128. package/build-module/utils/pasting.js +47 -0
  1129. package/build-module/utils/pasting.js.map +1 -1
  1130. package/build-module/utils/use-notify-copy.js +46 -0
  1131. package/build-module/utils/use-notify-copy.js.map +1 -0
  1132. package/build-style/content-rtl.css +10 -11
  1133. package/build-style/content.css +10 -11
  1134. package/build-style/default-editor-styles-rtl.css +1 -1
  1135. package/build-style/default-editor-styles.css +1 -1
  1136. package/build-style/style-rtl.css +10 -16
  1137. package/build-style/style.css +10 -16
  1138. package/package.json +31 -32
  1139. package/src/components/block-actions/index.js +1 -1
  1140. package/src/components/block-breadcrumb/index.js +1 -1
  1141. package/src/components/block-canvas/index.js +6 -12
  1142. package/src/components/block-context/README.md +1 -1
  1143. package/src/components/block-heading-level-dropdown/heading-level-icon.js +2 -2
  1144. package/src/components/block-heading-level-dropdown/index.js +2 -2
  1145. package/src/components/block-heading-level-dropdown/index.native.js +2 -2
  1146. package/src/components/block-list/block-list-item.native.js +2 -2
  1147. package/src/components/block-parent-selector/index.js +1 -1
  1148. package/src/components/block-preview/index.js +1 -1
  1149. package/src/components/block-settings-menu/block-html-convert-button.js +28 -19
  1150. package/src/components/block-settings-menu-controls/index.js +1 -1
  1151. package/src/components/block-styles/index.js +4 -1
  1152. package/src/components/block-switcher/index.js +17 -18
  1153. package/src/components/block-switcher/pattern-transformations-menu.js +4 -1
  1154. package/src/components/block-switcher/style.scss +0 -6
  1155. package/src/components/block-switcher/test/__snapshots__/index.js.snap +2 -2
  1156. package/src/components/block-tools/block-selection-button.js +1 -1
  1157. package/src/components/border-radius-control/index.js +1 -1
  1158. package/src/components/child-layout-control/index.js +1 -1
  1159. package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
  1160. package/src/components/colors/with-colors.js +1 -1
  1161. package/src/components/copy-handler/README.md +2 -0
  1162. package/src/components/copy-handler/index.js +21 -291
  1163. package/src/components/dimensions-tool/index.js +1 -1
  1164. package/src/components/dimensions-tool/scale-tool.js +1 -1
  1165. package/src/components/dimensions-tool/width-height-tool.js +1 -1
  1166. package/src/components/duotone-control/index.js +14 -2
  1167. package/src/components/editable-text/README.md +2 -2
  1168. package/src/components/font-appearance-control/index.js +1 -1
  1169. package/src/components/font-family/README.md +1 -1
  1170. package/src/components/height-control/README.md +1 -1
  1171. package/src/components/height-control/index.js +1 -1
  1172. package/src/components/iframe/index.js +1 -8
  1173. package/src/components/image-size-control/README.md +2 -2
  1174. package/src/components/index.js +1 -1
  1175. package/src/components/inner-blocks/constants.native.js +5 -0
  1176. package/src/components/inner-blocks/index.native.js +15 -0
  1177. package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +100 -0
  1178. package/src/components/inserter/index.js +2 -2
  1179. package/src/components/inserter/index.native.js +2 -2
  1180. package/src/components/letter-spacing-control/index.js +1 -1
  1181. package/src/components/media-placeholder/README.md +3 -3
  1182. package/src/components/media-upload/{constants.js → constants.native.js} +0 -1
  1183. package/src/components/media-upload/index.js +1 -1
  1184. package/src/components/media-upload/index.native.js +9 -5
  1185. package/src/components/panel-color-settings/README.md +5 -1
  1186. package/src/components/plain-text/README.md +1 -1
  1187. package/src/components/provider/README.md +1 -1
  1188. package/src/components/provider/use-block-sync.js +1 -1
  1189. package/src/components/publish-date-time-picker/README.md +1 -1
  1190. package/src/components/responsive-block-control/README.md +1 -3
  1191. package/src/components/rich-text/README.md +3 -3
  1192. package/src/components/rich-text/index.native.js +0 -13
  1193. package/src/components/rich-text/use-paste-handler.js +5 -99
  1194. package/src/components/rich-text/utils.js +0 -3
  1195. package/src/components/text-decoration-control/index.js +1 -1
  1196. package/src/components/text-transform-control/index.js +1 -1
  1197. package/src/components/typewriter/index.js +1 -1
  1198. package/src/components/unit-control/README.md +1 -1
  1199. package/src/components/unsupported-block-details/index.native.js +183 -0
  1200. package/src/components/unsupported-block-details/style.native.scss +56 -0
  1201. package/src/components/url-input/README.md +4 -4
  1202. package/src/components/use-on-block-drop/index.js +2 -2
  1203. package/src/components/use-unsupported-block-editor/index.native.js +59 -0
  1204. package/src/components/writing-flow/index.js +4 -2
  1205. package/src/components/writing-flow/use-clipboard-handler.js +242 -0
  1206. package/src/components/writing-mode-control/index.js +1 -1
  1207. package/src/hooks/anchor.js +2 -2
  1208. package/src/hooks/custom-class-name.js +2 -2
  1209. package/src/hooks/custom-fields.js +2 -2
  1210. package/src/hooks/font-size.js +1 -1
  1211. package/src/hooks/line-height.js +1 -1
  1212. package/src/hooks/position.js +2 -2
  1213. package/src/hooks/utils.js +0 -2
  1214. package/src/lock-unlock.js +1 -1
  1215. package/src/private-apis.js +2 -0
  1216. package/src/store/selectors.js +1 -1
  1217. package/src/utils/pasting.js +51 -0
  1218. package/src/utils/use-notify-copy.js +63 -0
  1219. package/tsconfig.tsbuildinfo +1 -1
  1220. package/build/components/block-settings-menu/block-convert-button.js +0 -27
  1221. package/build/components/block-settings-menu/block-convert-button.js.map +0 -1
  1222. package/build/components/media-upload/constants.js.map +0 -1
  1223. package/build-module/components/block-settings-menu/block-convert-button.js +0 -20
  1224. package/build-module/components/block-settings-menu/block-convert-button.js.map +0 -1
  1225. package/build-module/components/media-upload/constants.js.map +0 -1
  1226. package/src/components/block-settings-menu/block-convert-button.js +0 -14
@@ -1,9 +1,10 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { __unstableGetInnerBlocksProps as getInnerBlocksProps } from '@wordpress/blocks';
6
6
  import { useRef } from '@wordpress/element';
7
+ import { useSelect } from '@wordpress/data';
7
8
 
8
9
  /**
9
10
  * Internal dependencies
@@ -22,6 +23,9 @@ import { useBlockEditContext } from '../block-edit/context';
22
23
  import useBlockSync from '../provider/use-block-sync';
23
24
  import { BlockContextProvider } from '../block-context';
24
25
  import { defaultLayout, LayoutProvider } from '../block-list/layout';
26
+ import { store as blockEditorStore } from '../../store';
27
+ import WarningMaxDepthExceeded from './warning-max-depth-exceeded';
28
+ import { MAX_NESTING_DEPTH } from './constants';
25
29
 
26
30
  /**
27
31
  * This hook is used to lightly mark an element as an inner blocks wrapper
@@ -97,6 +101,14 @@ function UncontrolledInnerBlocks(props) {
97
101
  const context = useBlockContext(clientId);
98
102
  useNestedSettingsUpdate(clientId, allowedBlocks, prioritizedInserterBlocks, defaultBlock, directInsert, __experimentalDefaultBlock, __experimentalDirectInsert, templateLock, captureToolbars, orientation, layout);
99
103
  useInnerBlockTemplateSync(clientId, template, templateLock, templateInsertUpdatesSelection);
104
+ const nestingLevel = useSelect(select => {
105
+ return select(blockEditorStore).getBlockParents(clientId)?.length;
106
+ }, [clientId]);
107
+ if (nestingLevel >= MAX_NESTING_DEPTH) {
108
+ return createElement(WarningMaxDepthExceeded, {
109
+ clientId: clientId
110
+ });
111
+ }
100
112
  return createElement(LayoutProvider, {
101
113
  value: layout
102
114
  }, createElement(BlockContextProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["__unstableGetInnerBlocksProps","getInnerBlocksProps","useRef","ButtonBlockAppender","DefaultBlockAppender","useNestedSettingsUpdate","useInnerBlockTemplateSync","useBlockContext","BlockList","useBlockEditContext","useBlockSync","BlockContextProvider","defaultLayout","LayoutProvider","useInnerBlocksProps","props","options","fallbackRef","clientId","ref","InnerBlocks","value","onChange","ControlledInnerBlocks","UncontrolledInnerBlocks","children","createElement","wrapperRef","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","template","templateLock","templateInsertUpdatesSelection","__experimentalCaptureToolbars","captureToolbars","orientation","renderAppender","renderFooterAppender","parentWidth","horizontal","contentResizeMode","contentStyle","onAddBlock","onDeleteBlock","marginVertical","marginHorizontal","horizontalAlignment","filterInnerBlocks","blockWidth","layout","gridProperties","context","rootClientId","withFooter","allProps","save","Content"],"sources":["@wordpress/block-editor/src/components/inner-blocks/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableGetInnerBlocksProps as getInnerBlocksProps } from '@wordpress/blocks';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ButtonBlockAppender from './button-block-appender';\nimport DefaultBlockAppender from './default-block-appender';\nimport useNestedSettingsUpdate from './use-nested-settings-update';\nimport useInnerBlockTemplateSync from './use-inner-block-template-sync';\nimport useBlockContext from './use-block-context';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useBlockSync from '../provider/use-block-sync';\nimport { BlockContextProvider } from '../block-context';\nimport { defaultLayout, LayoutProvider } from '../block-list/layout';\n\n/**\n * This hook is used to lightly mark an element as an inner blocks wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * an inner blocks wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Optional. Inner blocks options.\n *\n * @see https://github.com/WordPress/gutenberg/blob/master/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport function useInnerBlocksProps( props = {}, options = {} ) {\n\tconst fallbackRef = useRef();\n\tconst { clientId } = useBlockEditContext();\n\n\tconst ref = props.ref || fallbackRef;\n\tconst InnerBlocks =\n\t\toptions.value && options.onChange\n\t\t\t? ControlledInnerBlocks\n\t\t\t: UncontrolledInnerBlocks;\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tchildren: (\n\t\t\t<InnerBlocks\n\t\t\t\t{ ...options }\n\t\t\t\tclientId={ clientId }\n\t\t\t\twrapperRef={ ref }\n\t\t\t/>\n\t\t),\n\t};\n}\n\n/**\n * InnerBlocks is a component which allows a single block to have multiple blocks\n * as children. The UncontrolledInnerBlocks component is used whenever the inner\n * blocks are not controlled by another entity. In other words, it is normally\n * used for inner blocks in the post editor\n *\n * @param {Object} props The component props.\n */\nfunction UncontrolledInnerBlocks( props ) {\n\tconst {\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection,\n\t\t__experimentalCaptureToolbars: captureToolbars,\n\t\torientation,\n\t\trenderAppender,\n\t\trenderFooterAppender,\n\t\tparentWidth,\n\t\thorizontal,\n\t\tcontentResizeMode,\n\t\tcontentStyle,\n\t\tonAddBlock,\n\t\tonDeleteBlock,\n\t\tmarginVertical,\n\t\tmarginHorizontal,\n\t\thorizontalAlignment,\n\t\tfilterInnerBlocks,\n\t\tblockWidth,\n\t\tlayout = defaultLayout,\n\t\tgridProperties,\n\t} = props;\n\n\tconst context = useBlockContext( clientId );\n\n\tuseNestedSettingsUpdate(\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplateLock,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout\n\t);\n\n\tuseInnerBlockTemplateSync(\n\t\tclientId,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection\n\t);\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t<BlockContextProvider value={ context }>\n\t\t\t\t<BlockList\n\t\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\t\t\trootClientId={ clientId }\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\trenderFooterAppender={ renderFooterAppender }\n\t\t\t\t\twithFooter={ false }\n\t\t\t\t\torientation={ orientation }\n\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\thorizontalAlignment={ horizontalAlignment }\n\t\t\t\t\thorizontal={ horizontal }\n\t\t\t\t\tcontentResizeMode={ contentResizeMode }\n\t\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\t\tfilterInnerBlocks={ filterInnerBlocks }\n\t\t\t\t\tgridProperties={ gridProperties }\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</BlockContextProvider>\n\t\t</LayoutProvider>\n\t);\n}\n\n/**\n * The controlled inner blocks component wraps the uncontrolled inner blocks\n * component with the blockSync hook. This keeps the innerBlocks of the block in\n * the block-editor store in sync with the blocks of the controlling entity. An\n * example of an inner block controller is a template part block, which provides\n * its own blocks from the template part entity data source.\n *\n * @param {Object} props The component props.\n */\nfunction ControlledInnerBlocks( props ) {\n\tuseBlockSync( props );\n\treturn <UncontrolledInnerBlocks { ...props } />;\n}\n\n/**\n * Wrapped InnerBlocks component which detects whether to use the controlled or\n * uncontrolled variations of the InnerBlocks component. This is the component\n * which should be used throughout the application.\n *\n * @param {Object} props The component props.\n */\nconst InnerBlocks = ( props ) => {\n\tconst { clientId } = useBlockEditContext();\n\n\tconst allProps = {\n\t\tclientId,\n\t\t...props,\n\t};\n\n\t// Detects if the InnerBlocks should be controlled by an incoming value.\n\treturn props.value && props.onChange ? (\n\t\t<ControlledInnerBlocks { ...allProps } />\n\t) : (\n\t\t<UncontrolledInnerBlocks { ...allProps } />\n\t);\n};\n\n// Expose default appender placeholders as components.\nInnerBlocks.DefaultBlockAppender = DefaultBlockAppender;\nInnerBlocks.ButtonBlockAppender = ButtonBlockAppender;\n\nuseInnerBlocksProps.save = getInnerBlocksProps;\n\nInnerBlocks.Content = () => useInnerBlocksProps.save().children;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport default InnerBlocks;\n"],"mappings":"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"}
1
+ {"version":3,"names":["__unstableGetInnerBlocksProps","getInnerBlocksProps","useRef","useSelect","ButtonBlockAppender","DefaultBlockAppender","useNestedSettingsUpdate","useInnerBlockTemplateSync","useBlockContext","BlockList","useBlockEditContext","useBlockSync","BlockContextProvider","defaultLayout","LayoutProvider","store","blockEditorStore","WarningMaxDepthExceeded","MAX_NESTING_DEPTH","useInnerBlocksProps","props","options","fallbackRef","clientId","ref","InnerBlocks","value","onChange","ControlledInnerBlocks","UncontrolledInnerBlocks","children","createElement","wrapperRef","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","template","templateLock","templateInsertUpdatesSelection","__experimentalCaptureToolbars","captureToolbars","orientation","renderAppender","renderFooterAppender","parentWidth","horizontal","contentResizeMode","contentStyle","onAddBlock","onDeleteBlock","marginVertical","marginHorizontal","horizontalAlignment","filterInnerBlocks","blockWidth","layout","gridProperties","context","nestingLevel","select","getBlockParents","length","rootClientId","withFooter","allProps","save","Content"],"sources":["@wordpress/block-editor/src/components/inner-blocks/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableGetInnerBlocksProps as getInnerBlocksProps } from '@wordpress/blocks';\nimport { useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport ButtonBlockAppender from './button-block-appender';\nimport DefaultBlockAppender from './default-block-appender';\nimport useNestedSettingsUpdate from './use-nested-settings-update';\nimport useInnerBlockTemplateSync from './use-inner-block-template-sync';\nimport useBlockContext from './use-block-context';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useBlockSync from '../provider/use-block-sync';\nimport { BlockContextProvider } from '../block-context';\nimport { defaultLayout, LayoutProvider } from '../block-list/layout';\nimport { store as blockEditorStore } from '../../store';\nimport WarningMaxDepthExceeded from './warning-max-depth-exceeded';\nimport { MAX_NESTING_DEPTH } from './constants';\n\n/**\n * This hook is used to lightly mark an element as an inner blocks wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * an inner blocks wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Optional. Inner blocks options.\n *\n * @see https://github.com/WordPress/gutenberg/blob/master/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport function useInnerBlocksProps( props = {}, options = {} ) {\n\tconst fallbackRef = useRef();\n\tconst { clientId } = useBlockEditContext();\n\n\tconst ref = props.ref || fallbackRef;\n\tconst InnerBlocks =\n\t\toptions.value && options.onChange\n\t\t\t? ControlledInnerBlocks\n\t\t\t: UncontrolledInnerBlocks;\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tchildren: (\n\t\t\t<InnerBlocks\n\t\t\t\t{ ...options }\n\t\t\t\tclientId={ clientId }\n\t\t\t\twrapperRef={ ref }\n\t\t\t/>\n\t\t),\n\t};\n}\n\n/**\n * InnerBlocks is a component which allows a single block to have multiple blocks\n * as children. The UncontrolledInnerBlocks component is used whenever the inner\n * blocks are not controlled by another entity. In other words, it is normally\n * used for inner blocks in the post editor\n *\n * @param {Object} props The component props.\n */\nfunction UncontrolledInnerBlocks( props ) {\n\tconst {\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection,\n\t\t__experimentalCaptureToolbars: captureToolbars,\n\t\torientation,\n\t\trenderAppender,\n\t\trenderFooterAppender,\n\t\tparentWidth,\n\t\thorizontal,\n\t\tcontentResizeMode,\n\t\tcontentStyle,\n\t\tonAddBlock,\n\t\tonDeleteBlock,\n\t\tmarginVertical,\n\t\tmarginHorizontal,\n\t\thorizontalAlignment,\n\t\tfilterInnerBlocks,\n\t\tblockWidth,\n\t\tlayout = defaultLayout,\n\t\tgridProperties,\n\t} = props;\n\n\tconst context = useBlockContext( clientId );\n\n\tuseNestedSettingsUpdate(\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplateLock,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout\n\t);\n\n\tuseInnerBlockTemplateSync(\n\t\tclientId,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection\n\t);\n\n\tconst nestingLevel = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlockParents( clientId )\n\t\t\t\t?.length;\n\t\t},\n\t\t[ clientId ]\n\t);\n\tif ( nestingLevel >= MAX_NESTING_DEPTH ) {\n\t\treturn <WarningMaxDepthExceeded clientId={ clientId } />;\n\t}\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t<BlockContextProvider value={ context }>\n\t\t\t\t<BlockList\n\t\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\t\t\trootClientId={ clientId }\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\trenderFooterAppender={ renderFooterAppender }\n\t\t\t\t\twithFooter={ false }\n\t\t\t\t\torientation={ orientation }\n\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\thorizontalAlignment={ horizontalAlignment }\n\t\t\t\t\thorizontal={ horizontal }\n\t\t\t\t\tcontentResizeMode={ contentResizeMode }\n\t\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\t\tfilterInnerBlocks={ filterInnerBlocks }\n\t\t\t\t\tgridProperties={ gridProperties }\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</BlockContextProvider>\n\t\t</LayoutProvider>\n\t);\n}\n\n/**\n * The controlled inner blocks component wraps the uncontrolled inner blocks\n * component with the blockSync hook. This keeps the innerBlocks of the block in\n * the block-editor store in sync with the blocks of the controlling entity. An\n * example of an inner block controller is a template part block, which provides\n * its own blocks from the template part entity data source.\n *\n * @param {Object} props The component props.\n */\nfunction ControlledInnerBlocks( props ) {\n\tuseBlockSync( props );\n\treturn <UncontrolledInnerBlocks { ...props } />;\n}\n\n/**\n * Wrapped InnerBlocks component which detects whether to use the controlled or\n * uncontrolled variations of the InnerBlocks component. This is the component\n * which should be used throughout the application.\n *\n * @param {Object} props The component props.\n */\nconst InnerBlocks = ( props ) => {\n\tconst { clientId } = useBlockEditContext();\n\n\tconst allProps = {\n\t\tclientId,\n\t\t...props,\n\t};\n\n\t// Detects if the InnerBlocks should be controlled by an incoming value.\n\treturn props.value && props.onChange ? (\n\t\t<ControlledInnerBlocks { ...allProps } />\n\t) : (\n\t\t<UncontrolledInnerBlocks { ...allProps } />\n\t);\n};\n\n// Expose default appender placeholders as components.\nInnerBlocks.DefaultBlockAppender = DefaultBlockAppender;\nInnerBlocks.ButtonBlockAppender = ButtonBlockAppender;\n\nuseInnerBlocksProps.save = getInnerBlocksProps;\n\nInnerBlocks.Content = () => useInnerBlocksProps.save().children;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport default InnerBlocks;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,6BAA6B,IAAIC,mBAAmB,QAAQ,mBAAmB;AACxF,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,OAAOC,yBAAyB,MAAM,iCAAiC;AACvE,OAAOC,eAAe,MAAM,qBAAqB;;AAEjD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,eAAe;AACrC,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,OAAOC,YAAY,MAAM,4BAA4B;AACrD,SAASC,oBAAoB,QAAQ,kBAAkB;AACvD,SAASC,aAAa,EAAEC,cAAc,QAAQ,sBAAsB;AACpE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,SAASC,iBAAiB,QAAQ,aAAa;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAEC,KAAK,GAAG,CAAC,CAAC,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAG;EAC/D,MAAMC,WAAW,GAAGpB,MAAM,CAAC,CAAC;EAC5B,MAAM;IAAEqB;EAAS,CAAC,GAAGb,mBAAmB,CAAC,CAAC;EAE1C,MAAMc,GAAG,GAAGJ,KAAK,CAACI,GAAG,IAAIF,WAAW;EACpC,MAAMG,WAAW,GAChBJ,OAAO,CAACK,KAAK,IAAIL,OAAO,CAACM,QAAQ,GAC9BC,qBAAqB,GACrBC,uBAAuB;EAE3B,OAAO;IACN,GAAGT,KAAK;IACRI,GAAG;IACHM,QAAQ,EACPC,aAAA,CAACN,WAAW;MAAA,GACNJ,OAAO;MACZE,QAAQ,EAAGA,QAAU;MACrBS,UAAU,EAAGR;IAAK,CAClB;EAEH,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,uBAAuBA,CAAET,KAAK,EAAG;EACzC,MAAM;IACLG,QAAQ;IACRU,aAAa;IACbC,yBAAyB;IACzBC,YAAY;IACZC,YAAY;IACZC,0BAA0B;IAC1BC,0BAA0B;IAC1BC,QAAQ;IACRC,YAAY;IACZC,8BAA8B;IAC9BC,6BAA6B,EAAEC,eAAe;IAC9CC,WAAW;IACXC,cAAc;IACdC,oBAAoB;IACpBC,WAAW;IACXC,UAAU;IACVC,iBAAiB;IACjBC,YAAY;IACZC,UAAU;IACVC,aAAa;IACbC,cAAc;IACdC,gBAAgB;IAChBC,mBAAmB;IACnBC,iBAAiB;IACjBC,UAAU;IACVC,MAAM,GAAG7C,aAAa;IACtB8C;EACD,CAAC,GAAGvC,KAAK;EAET,MAAMwC,OAAO,GAAGpD,eAAe,CAAEe,QAAS,CAAC;EAE3CjB,uBAAuB,CACtBiB,QAAQ,EACRU,aAAa,EACbC,yBAAyB,EACzBC,YAAY,EACZC,YAAY,EACZC,0BAA0B,EAC1BC,0BAA0B,EAC1BE,YAAY,EACZG,eAAe,EACfC,WAAW,EACXc,MACD,CAAC;EAEDnD,yBAAyB,CACxBgB,QAAQ,EACRgB,QAAQ,EACRC,YAAY,EACZC,8BACD,CAAC;EAED,MAAMoB,YAAY,GAAG1D,SAAS,CAC3B2D,MAAM,IAAM;IACb,OAAOA,MAAM,CAAE9C,gBAAiB,CAAC,CAAC+C,eAAe,CAAExC,QAAS,CAAC,EAC1DyC,MAAM;EACV,CAAC,EACD,CAAEzC,QAAQ,CACX,CAAC;EACD,IAAKsC,YAAY,IAAI3C,iBAAiB,EAAG;IACxC,OAAOa,aAAA,CAACd,uBAAuB;MAACM,QAAQ,EAAGA;IAAU,CAAE,CAAC;EACzD;EAEA,OACCQ,aAAA,CAACjB,cAAc;IAACY,KAAK,EAAGgC;EAAQ,GAC/B3B,aAAA,CAACnB,oBAAoB;IAACc,KAAK,EAAGkC;EAAS,GACtC7B,aAAA,CAACtB,SAAS;IACT4C,cAAc,EAAGA,cAAgB;IACjCC,gBAAgB,EAAGA,gBAAkB;IACrCW,YAAY,EAAG1C,QAAU;IACzBsB,cAAc,EAAGA,cAAgB;IACjCC,oBAAoB,EAAGA,oBAAsB;IAC7CoB,UAAU,EAAG,KAAO;IACpBtB,WAAW,EAAGA,WAAa;IAC3BG,WAAW,EAAGA,WAAa;IAC3BQ,mBAAmB,EAAGA,mBAAqB;IAC3CP,UAAU,EAAGA,UAAY;IACzBC,iBAAiB,EAAGA,iBAAmB;IACvCC,YAAY,EAAGA,YAAc;IAC7BC,UAAU,EAAGA,UAAY;IACzBC,aAAa,EAAGA,aAAe;IAC/BI,iBAAiB,EAAGA,iBAAmB;IACvCG,cAAc,EAAGA,cAAgB;IACjCF,UAAU,EAAGA;EAAY,CACzB,CACoB,CACP,CAAC;AAEnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS7B,qBAAqBA,CAAER,KAAK,EAAG;EACvCT,YAAY,CAAES,KAAM,CAAC;EACrB,OAAOW,aAAA,CAACF,uBAAuB;IAAA,GAAMT;EAAK,CAAI,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMK,WAAW,GAAKL,KAAK,IAAM;EAChC,MAAM;IAAEG;EAAS,CAAC,GAAGb,mBAAmB,CAAC,CAAC;EAE1C,MAAMyD,QAAQ,GAAG;IAChB5C,QAAQ;IACR,GAAGH;EACJ,CAAC;;EAED;EACA,OAAOA,KAAK,CAACM,KAAK,IAAIN,KAAK,CAACO,QAAQ,GACnCI,aAAA,CAACH,qBAAqB;IAAA,GAAMuC;EAAQ,CAAI,CAAC,GAEzCpC,aAAA,CAACF,uBAAuB;IAAA,GAAMsC;EAAQ,CAAI,CAC1C;AACF,CAAC;;AAED;AACA1C,WAAW,CAACpB,oBAAoB,GAAGA,oBAAoB;AACvDoB,WAAW,CAACrB,mBAAmB,GAAGA,mBAAmB;AAErDe,mBAAmB,CAACiD,IAAI,GAAGnE,mBAAmB;AAE9CwB,WAAW,CAAC4C,OAAO,GAAG,MAAMlD,mBAAmB,CAACiD,IAAI,CAAC,CAAC,CAACtC,QAAQ;;AAE/D;AACA;AACA;AACA,eAAeL,WAAW"}
@@ -0,0 +1,86 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * External dependencies
4
+ */
5
+ import { TouchableWithoutFeedback, View } from 'react-native';
6
+
7
+ /**
8
+ * WordPress dependencies
9
+ */
10
+ import { __, sprintf } from '@wordpress/i18n';
11
+ import { useState } from '@wordpress/element';
12
+ import { useDispatch, useSelect } from '@wordpress/data';
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+ import Warning from '../warning';
18
+ import UnsupportedBlockDetails from '../unsupported-block-details';
19
+ import { store as blockEditorStore } from '../../store';
20
+ import { MAX_NESTING_DEPTH } from './constants';
21
+ import useUnsupportedBlockEditor from '../use-unsupported-block-editor';
22
+ const WarningMaxDepthExceeded = ({
23
+ clientId
24
+ }) => {
25
+ const [showDetails, setShowDetails] = useState(false);
26
+ const {
27
+ isSelected,
28
+ innerBlocks
29
+ } = useSelect(select => {
30
+ const {
31
+ getBlock,
32
+ isBlockSelected
33
+ } = select(blockEditorStore);
34
+ return {
35
+ innerBlocks: getBlock(clientId)?.innerBlocks || [],
36
+ isSelected: isBlockSelected(clientId)
37
+ };
38
+ }, [clientId]);
39
+ const {
40
+ replaceBlocks
41
+ } = useDispatch(blockEditorStore);
42
+ const {
43
+ isUnsupportedBlockEditorSupported,
44
+ canEnableUnsupportedBlockEditor
45
+ } = useUnsupportedBlockEditor(clientId);
46
+ const onUngroup = () => {
47
+ if (!innerBlocks.length) {
48
+ return;
49
+ }
50
+ replaceBlocks(clientId, innerBlocks);
51
+ };
52
+ let description;
53
+ // When UBE can't be used, the description mentions using the web browser to edit the block.
54
+ if (!isUnsupportedBlockEditorSupported && !canEnableUnsupportedBlockEditor) {
55
+ /* translators: Warning related to having blocks deeply nested. %d: The deepest nesting level. */
56
+ const descriptionFormat = __('Blocks nested deeper than %d levels may not render properly in the mobile editor. For this reason, we recommend flattening the content by ungrouping the block or editing the block using your web browser.');
57
+ description = sprintf(descriptionFormat, MAX_NESTING_DEPTH);
58
+ }
59
+ // Otherwise, the description mentions using the web editor (i.e. UBE).
60
+ else {
61
+ /* translators: Warning related to having blocks deeply nested. %d: The deepest nesting level. */
62
+ const descriptionFormat = __('Blocks nested deeper than %d levels may not render properly in the mobile editor. For this reason, we recommend flattening the content by ungrouping the block or editing the block using the web editor.');
63
+ description = sprintf(descriptionFormat, MAX_NESTING_DEPTH);
64
+ }
65
+ return createElement(TouchableWithoutFeedback, {
66
+ disabled: !isSelected,
67
+ accessibilityLabel: __('Warning message'),
68
+ accessibilityRole: 'button',
69
+ accessibilityHint: __('Tap here to show more details.'),
70
+ onPress: () => setShowDetails(true)
71
+ }, createElement(View, null, createElement(Warning, {
72
+ message: __('Block cannot be rendered because it is deeply nested. Tap here for more details.')
73
+ }), createElement(UnsupportedBlockDetails, {
74
+ clientId: clientId,
75
+ showSheet: showDetails,
76
+ onCloseSheet: () => setShowDetails(false),
77
+ title: __('Deeply nested block'),
78
+ description: description,
79
+ customActions: [{
80
+ label: __('Ungroup block'),
81
+ onPress: onUngroup
82
+ }]
83
+ })));
84
+ };
85
+ export default WarningMaxDepthExceeded;
86
+ //# sourceMappingURL=warning-max-depth-exceeded.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TouchableWithoutFeedback","View","__","sprintf","useState","useDispatch","useSelect","Warning","UnsupportedBlockDetails","store","blockEditorStore","MAX_NESTING_DEPTH","useUnsupportedBlockEditor","WarningMaxDepthExceeded","clientId","showDetails","setShowDetails","isSelected","innerBlocks","select","getBlock","isBlockSelected","replaceBlocks","isUnsupportedBlockEditorSupported","canEnableUnsupportedBlockEditor","onUngroup","length","description","descriptionFormat","createElement","disabled","accessibilityLabel","accessibilityRole","accessibilityHint","onPress","message","showSheet","onCloseSheet","title","customActions","label"],"sources":["@wordpress/block-editor/src/components/inner-blocks/warning-max-depth-exceeded.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport UnsupportedBlockDetails from '../unsupported-block-details';\nimport { store as blockEditorStore } from '../../store';\nimport { MAX_NESTING_DEPTH } from './constants';\nimport useUnsupportedBlockEditor from '../use-unsupported-block-editor';\n\nconst WarningMaxDepthExceeded = ( { clientId } ) => {\n\tconst [ showDetails, setShowDetails ] = useState( false );\n\n\tconst { isSelected, innerBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, isBlockSelected } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlock( clientId )?.innerBlocks || [],\n\t\t\t\tisSelected: isBlockSelected( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\n\tconst {\n\t\tisUnsupportedBlockEditorSupported,\n\t\tcanEnableUnsupportedBlockEditor,\n\t} = useUnsupportedBlockEditor( clientId );\n\n\tconst onUngroup = () => {\n\t\tif ( ! innerBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\treplaceBlocks( clientId, innerBlocks );\n\t};\n\n\tlet description;\n\t// When UBE can't be used, the description mentions using the web browser to edit the block.\n\tif (\n\t\t! isUnsupportedBlockEditorSupported &&\n\t\t! canEnableUnsupportedBlockEditor\n\t) {\n\t\t/* translators: Warning related to having blocks deeply nested. %d: The deepest nesting level. */\n\t\tconst descriptionFormat = __(\n\t\t\t'Blocks nested deeper than %d levels may not render properly in the mobile editor. For this reason, we recommend flattening the content by ungrouping the block or editing the block using your web browser.'\n\t\t);\n\t\tdescription = sprintf( descriptionFormat, MAX_NESTING_DEPTH );\n\t}\n\t// Otherwise, the description mentions using the web editor (i.e. UBE).\n\telse {\n\t\t/* translators: Warning related to having blocks deeply nested. %d: The deepest nesting level. */\n\t\tconst descriptionFormat = __(\n\t\t\t'Blocks nested deeper than %d levels may not render properly in the mobile editor. For this reason, we recommend flattening the content by ungrouping the block or editing the block using the web editor.'\n\t\t);\n\t\tdescription = sprintf( descriptionFormat, MAX_NESTING_DEPTH );\n\t}\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\tdisabled={ ! isSelected }\n\t\t\taccessibilityLabel={ __( 'Warning message' ) }\n\t\t\taccessibilityRole={ 'button' }\n\t\t\taccessibilityHint={ __( 'Tap here to show more details.' ) }\n\t\t\tonPress={ () => setShowDetails( true ) }\n\t\t>\n\t\t\t<View>\n\t\t\t\t<Warning\n\t\t\t\t\tmessage={ __(\n\t\t\t\t\t\t'Block cannot be rendered because it is deeply nested. Tap here for more details.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<UnsupportedBlockDetails\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tshowSheet={ showDetails }\n\t\t\t\t\tonCloseSheet={ () => setShowDetails( false ) }\n\t\t\t\t\ttitle={ __( 'Deeply nested block' ) }\n\t\t\t\t\tdescription={ description }\n\t\t\t\t\tcustomActions={ [\n\t\t\t\t\t\t{ label: __( 'Ungroup block' ), onPress: onUngroup },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n};\n\nexport default WarningMaxDepthExceeded;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,wBAAwB,EAAEC,IAAI,QAAQ,cAAc;;AAE7D;AACA;AACA;AACA,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,SAASC,iBAAiB,QAAQ,aAAa;AAC/C,OAAOC,yBAAyB,MAAM,iCAAiC;AAEvE,MAAMC,uBAAuB,GAAGA,CAAE;EAAEC;AAAS,CAAC,KAAM;EACnD,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAGZ,QAAQ,CAAE,KAAM,CAAC;EAEzD,MAAM;IAAEa,UAAU;IAAEC;EAAY,CAAC,GAAGZ,SAAS,CAC1Ca,MAAM,IAAM;IACb,MAAM;MAAEC,QAAQ;MAAEC;IAAgB,CAAC,GAAGF,MAAM,CAAET,gBAAiB,CAAC;IAChE,OAAO;MACNQ,WAAW,EAAEE,QAAQ,CAAEN,QAAS,CAAC,EAAEI,WAAW,IAAI,EAAE;MACpDD,UAAU,EAAEI,eAAe,CAAEP,QAAS;IACvC,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EACD,MAAM;IAAEQ;EAAc,CAAC,GAAGjB,WAAW,CAAEK,gBAAiB,CAAC;EAEzD,MAAM;IACLa,iCAAiC;IACjCC;EACD,CAAC,GAAGZ,yBAAyB,CAAEE,QAAS,CAAC;EAEzC,MAAMW,SAAS,GAAGA,CAAA,KAAM;IACvB,IAAK,CAAEP,WAAW,CAACQ,MAAM,EAAG;MAC3B;IACD;IAEAJ,aAAa,CAAER,QAAQ,EAAEI,WAAY,CAAC;EACvC,CAAC;EAED,IAAIS,WAAW;EACf;EACA,IACC,CAAEJ,iCAAiC,IACnC,CAAEC,+BAA+B,EAChC;IACD;IACA,MAAMI,iBAAiB,GAAG1B,EAAE,CAC3B,6MACD,CAAC;IACDyB,WAAW,GAAGxB,OAAO,CAAEyB,iBAAiB,EAAEjB,iBAAkB,CAAC;EAC9D;EACA;EAAA,KACK;IACJ;IACA,MAAMiB,iBAAiB,GAAG1B,EAAE,CAC3B,2MACD,CAAC;IACDyB,WAAW,GAAGxB,OAAO,CAAEyB,iBAAiB,EAAEjB,iBAAkB,CAAC;EAC9D;EAEA,OACCkB,aAAA,CAAC7B,wBAAwB;IACxB8B,QAAQ,EAAG,CAAEb,UAAY;IACzBc,kBAAkB,EAAG7B,EAAE,CAAE,iBAAkB,CAAG;IAC9C8B,iBAAiB,EAAG,QAAU;IAC9BC,iBAAiB,EAAG/B,EAAE,CAAE,gCAAiC,CAAG;IAC5DgC,OAAO,EAAGA,CAAA,KAAMlB,cAAc,CAAE,IAAK;EAAG,GAExCa,aAAA,CAAC5B,IAAI,QACJ4B,aAAA,CAACtB,OAAO;IACP4B,OAAO,EAAGjC,EAAE,CACX,kFACD;EAAG,CACH,CAAC,EACF2B,aAAA,CAACrB,uBAAuB;IACvBM,QAAQ,EAAGA,QAAU;IACrBsB,SAAS,EAAGrB,WAAa;IACzBsB,YAAY,EAAGA,CAAA,KAAMrB,cAAc,CAAE,KAAM,CAAG;IAC9CsB,KAAK,EAAGpC,EAAE,CAAE,qBAAsB,CAAG;IACrCyB,WAAW,EAAGA,WAAa;IAC3BY,aAAa,EAAG,CACf;MAAEC,KAAK,EAAEtC,EAAE,CAAE,eAAgB,CAAC;MAAEgC,OAAO,EAAET;IAAU,CAAC;EAClD,CACH,CACI,CACmB,CAAC;AAE7B,CAAC;AAED,eAAeZ,uBAAuB"}
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -95,7 +95,7 @@ class PrivateInserter extends Component {
95
95
  * pressed.
96
96
  * @param {boolean} options.isOpen Whether dropdown is currently open.
97
97
  *
98
- * @return {WPElement} Dropdown toggle element.
98
+ * @return {Element} Dropdown toggle element.
99
99
  */
100
100
  renderToggle({
101
101
  onToggle,
@@ -130,7 +130,7 @@ class PrivateInserter extends Component {
130
130
  * @param {Function} options.onClose Callback to invoke when dropdown is
131
131
  * closed.
132
132
  *
133
- * @return {WPElement} Dropdown content element.
133
+ * @return {Element} Dropdown content element.
134
134
  */
135
135
  renderContent({
136
136
  onClose
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","speak","__","_x","sprintf","Dropdown","Button","forwardRef","Component","withDispatch","withSelect","compose","ifCondition","createBlock","store","blocksStore","plus","InserterMenu","QuickInserter","blockEditorStore","defaultRenderToggle","onToggle","disabled","isOpen","blockTitle","hasSingleBlockType","toggleProps","prioritizePatterns","as","Wrapper","label","labelProp","onClick","rest","handleClick","event","createElement","icon","tooltipPosition","className","PrivateInserter","constructor","arguments","bind","renderToggle","renderContent","props","directInsertBlock","hasItems","onClose","rootClientId","clientId","isAppender","showInserterHelpPanel","__experimentalIsQuick","isQuick","onSelectOrClose","selectBlockOnInsert","onSelect","blocks","firstBlock","Array","isArray","length","render","position","insertOnlyAllowedBlock","contentClassName","popoverProps","shift","expandOnMobile","headerTitle","ComposedPrivateInserter","select","shouldDirectInsert","getBlockRootClientId","hasInserterItems","getAllowedBlocks","getDirectInsertBlock","getSettings","getBlockVariations","undefined","allowedBlocks","settings","name","allowedBlockType","title","__experimentalPreferPatternsOnRoot","dispatch","ownProps","getAdjacentBlockAttributes","attributesToCopy","getBlock","getPreviousBlockClientId","result","adjacentAttributes","parentBlock","innerBlocks","lastInnerBlock","attributes","currentBlock","previousBlock","forEach","attribute","hasOwnProperty","getInsertionIndex","getBlockIndex","getBlockSelectionEnd","getBlockOrder","end","insertBlock","blockToInsert","newAttributes","message","Inserter","ref"],"sources":["@wordpress/block-editor/src/components/inserter/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { Dropdown, Button } from '@wordpress/components';\nimport { forwardRef, Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport QuickInserter from './quick-inserter';\nimport { store as blockEditorStore } from '../../store';\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\tisOpen,\n\tblockTitle,\n\thasSingleBlockType,\n\ttoggleProps = {},\n\tprioritizePatterns,\n} ) => {\n\tconst {\n\t\tas: Wrapper = Button,\n\t\tlabel: labelProp,\n\t\tonClick,\n\t\t...rest\n\t} = toggleProps;\n\n\tlet label = labelProp;\n\tif ( ! label && hasSingleBlockType ) {\n\t\tlabel = sprintf(\n\t\t\t// translators: %s: the name of the block when there is only one\n\t\t\t_x( 'Add %s', 'directly add the only allowed block' ),\n\t\t\tblockTitle\n\t\t);\n\t} else if ( ! label && prioritizePatterns ) {\n\t\tlabel = __( 'Add pattern' );\n\t} else if ( ! label ) {\n\t\tlabel = _x( 'Add block', 'Generic label for block inserter button' );\n\t}\n\n\t// Handle both onClick functions from the toggle and the parent component.\n\tfunction handleClick( event ) {\n\t\tif ( onToggle ) {\n\t\t\tonToggle( event );\n\t\t}\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Wrapper\n\t\t\ticon={ plus }\n\t\t\tlabel={ label }\n\t\t\ttooltipPosition=\"bottom\"\n\t\t\tonClick={ handleClick }\n\t\t\tclassName=\"block-editor-inserter__toggle\"\n\t\t\taria-haspopup={ ! hasSingleBlockType ? 'true' : false }\n\t\t\taria-expanded={ ! hasSingleBlockType ? isOpen : false }\n\t\t\tdisabled={ disabled }\n\t\t\t{ ...rest }\n\t\t/>\n\t);\n};\n\nclass PrivateInserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderToggle = this.renderToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { onToggle } = this.props;\n\n\t\t// Surface toggle callback to parent component.\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown toggle element.\n\t */\n\trenderToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\thasItems,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tprioritizePatterns,\n\t\t} = this.props;\n\n\t\treturn renderToggle( {\n\t\t\tonToggle,\n\t\t\tisOpen,\n\t\t\tdisabled: disabled || ! hasItems,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\tprioritizePatterns,\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t *\n\t * @return {WPElement} Dropdown content element.\n\t */\n\trenderContent( { onClose } ) {\n\t\tconst {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tshowInserterHelpPanel,\n\n\t\t\t// This prop is experimental to give some time for the quick inserter to mature\n\t\t\t// Feel free to make them stable after a few releases.\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tprioritizePatterns,\n\t\t\tonSelectOrClose,\n\t\t\tselectBlockOnInsert,\n\t\t} = this.props;\n\n\t\tif ( isQuick ) {\n\t\t\treturn (\n\t\t\t\t<QuickInserter\n\t\t\t\t\tonSelect={ ( blocks ) => {\n\t\t\t\t\t\tconst firstBlock =\n\t\t\t\t\t\t\tArray.isArray( blocks ) && blocks?.length\n\t\t\t\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t\t\t\t: blocks;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tonSelectOrClose &&\n\t\t\t\t\t\t\ttypeof onSelectOrClose === 'function'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonSelectOrClose( firstBlock );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t\t\tselectBlockOnInsert={ selectBlockOnInsert }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tonSelect={ () => {\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tposition,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\tinsertOnlyAllowedBlock,\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tonSelectOrClose,\n\t\t} = this.props;\n\n\t\tif ( hasSingleBlockType || directInsertBlock ) {\n\t\t\treturn this.renderToggle( { onToggle: insertOnlyAllowedBlock } );\n\t\t}\n\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"block-editor-inserter\"\n\t\t\t\tcontentClassName={ classnames(\n\t\t\t\t\t'block-editor-inserter__popover',\n\t\t\t\t\t{ 'is-quick': isQuick }\n\t\t\t\t) }\n\t\t\t\tpopoverProps={ { position, shift: true } }\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\texpandOnMobile\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t\tonClose={ onSelectOrClose }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport const ComposedPrivateInserter = compose( [\n\twithSelect(\n\t\t( select, { clientId, rootClientId, shouldDirectInsert = true } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasInserterItems,\n\t\t\t\tgetAllowedBlocks,\n\t\t\t\tgetDirectInsertBlock,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst { getBlockVariations } = select( blocksStore );\n\n\t\t\trootClientId =\n\t\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined;\n\n\t\t\tconst allowedBlocks = getAllowedBlocks( rootClientId );\n\n\t\t\tconst directInsertBlock =\n\t\t\t\tshouldDirectInsert && getDirectInsertBlock( rootClientId );\n\n\t\t\tconst settings = getSettings();\n\n\t\t\tconst hasSingleBlockType =\n\t\t\t\tallowedBlocks?.length === 1 &&\n\t\t\t\tgetBlockVariations( allowedBlocks[ 0 ].name, 'inserter' )\n\t\t\t\t\t?.length === 0;\n\n\t\t\tlet allowedBlockType = false;\n\t\t\tif ( hasSingleBlockType ) {\n\t\t\t\tallowedBlockType = allowedBlocks[ 0 ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thasItems: hasInserterItems( rootClientId ),\n\t\t\t\thasSingleBlockType,\n\t\t\t\tblockTitle: allowedBlockType ? allowedBlockType.title : '',\n\t\t\t\tallowedBlockType,\n\t\t\t\tdirectInsertBlock,\n\t\t\t\trootClientId,\n\t\t\t\tprioritizePatterns:\n\t\t\t\t\tsettings.__experimentalPreferPatternsOnRoot &&\n\t\t\t\t\t! rootClientId,\n\t\t\t};\n\t\t}\n\t),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\treturn {\n\t\t\tinsertOnlyAllowedBlock() {\n\t\t\t\tconst {\n\t\t\t\t\trootClientId,\n\t\t\t\t\tclientId,\n\t\t\t\t\tisAppender,\n\t\t\t\t\thasSingleBlockType,\n\t\t\t\t\tallowedBlockType,\n\t\t\t\t\tdirectInsertBlock,\n\t\t\t\t\tonSelectOrClose,\n\t\t\t\t\tselectBlockOnInsert,\n\t\t\t\t} = ownProps;\n\n\t\t\t\tif ( ! hasSingleBlockType && ! directInsertBlock ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction getAdjacentBlockAttributes( attributesToCopy ) {\n\t\t\t\t\tconst { getBlock, getPreviousBlockClientId } =\n\t\t\t\t\t\tselect( blockEditorStore );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! attributesToCopy ||\n\t\t\t\t\t\t( ! clientId && ! rootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t}\n\n\t\t\t\t\tconst result = {};\n\t\t\t\t\tlet adjacentAttributes = {};\n\n\t\t\t\t\t// If there is no clientId, then attempt to get attributes\n\t\t\t\t\t// from the last block within innerBlocks of the root block.\n\t\t\t\t\tif ( ! clientId ) {\n\t\t\t\t\t\tconst parentBlock = getBlock( rootClientId );\n\n\t\t\t\t\t\tif ( parentBlock?.innerBlocks?.length ) {\n\t\t\t\t\t\t\tconst lastInnerBlock =\n\t\t\t\t\t\t\t\tparentBlock.innerBlocks[\n\t\t\t\t\t\t\t\t\tparentBlock.innerBlocks.length - 1\n\t\t\t\t\t\t\t\t];\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tdirectInsertBlock &&\n\t\t\t\t\t\t\t\tdirectInsertBlock?.name === lastInnerBlock.name\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tadjacentAttributes = lastInnerBlock.attributes;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Otherwise, attempt to get attributes from the\n\t\t\t\t\t\t// previous block relative to the current clientId.\n\t\t\t\t\t\tconst currentBlock = getBlock( clientId );\n\t\t\t\t\t\tconst previousBlock = getBlock(\n\t\t\t\t\t\t\tgetPreviousBlockClientId( clientId )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( currentBlock?.name === previousBlock?.name ) {\n\t\t\t\t\t\t\tadjacentAttributes =\n\t\t\t\t\t\t\t\tpreviousBlock?.attributes || {};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Copy over only those attributes flagged to be copied.\n\t\t\t\t\tattributesToCopy.forEach( ( attribute ) => {\n\t\t\t\t\t\tif ( adjacentAttributes.hasOwnProperty( attribute ) ) {\n\t\t\t\t\t\t\tresult[ attribute ] =\n\t\t\t\t\t\t\t\tadjacentAttributes[ attribute ];\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tfunction getInsertionIndex() {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\t\tgetBlockSelectionEnd,\n\t\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\t\t\tif ( clientId ) {\n\t\t\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t\t\t}\n\n\t\t\t\t\t// If there a selected block, we insert after the selected block.\n\t\t\t\t\tconst end = getBlockSelectionEnd();\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isAppender &&\n\t\t\t\t\t\tend &&\n\t\t\t\t\t\tgetBlockRootClientId( end ) === rootClientId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn getBlockIndex( end ) + 1;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Otherwise, we insert at the end of the current rootClientId.\n\t\t\t\t\treturn getBlockOrder( rootClientId ).length;\n\t\t\t\t}\n\n\t\t\t\tconst { insertBlock } = dispatch( blockEditorStore );\n\n\t\t\t\tlet blockToInsert;\n\n\t\t\t\t// Attempt to augment the directInsertBlock with attributes from an adjacent block.\n\t\t\t\t// This ensures styling from nearby blocks is preserved in the newly inserted block.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/37904\n\t\t\t\tif ( directInsertBlock ) {\n\t\t\t\t\tconst newAttributes = getAdjacentBlockAttributes(\n\t\t\t\t\t\tdirectInsertBlock.attributesToCopy\n\t\t\t\t\t);\n\n\t\t\t\t\tblockToInsert = createBlock( directInsertBlock.name, {\n\t\t\t\t\t\t...( directInsertBlock.attributes || {} ),\n\t\t\t\t\t\t...newAttributes,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tblockToInsert = createBlock( allowedBlockType.name );\n\t\t\t\t}\n\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblockToInsert,\n\t\t\t\t\tgetInsertionIndex(),\n\t\t\t\t\trootClientId,\n\t\t\t\t\tselectBlockOnInsert\n\t\t\t\t);\n\n\t\t\t\tif ( onSelectOrClose ) {\n\t\t\t\t\tonSelectOrClose( {\n\t\t\t\t\t\tclientId: blockToInsert?.clientId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tconst message = sprintf(\n\t\t\t\t\t// translators: %s: the name of the block that has been added\n\t\t\t\t\t__( '%s block added' ),\n\t\t\t\t\tallowedBlockType.title\n\t\t\t\t);\n\t\t\t\tspeak( message );\n\t\t\t},\n\t\t};\n\t} ),\n\t// The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as\n\t// a way to detect the global Inserter.\n\tifCondition(\n\t\t( { hasItems, isAppender, rootClientId, clientId } ) =>\n\t\t\thasItems || ( ! isAppender && ! rootClientId && ! clientId )\n\t),\n] )( PrivateInserter );\n\nconst Inserter = forwardRef( ( props, ref ) => {\n\treturn <ComposedPrivateInserter ref={ ref } { ...props } />;\n} );\n\nexport default Inserter;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","speak","__","_x","sprintf","Dropdown","Button","forwardRef","Component","withDispatch","withSelect","compose","ifCondition","createBlock","store","blocksStore","plus","InserterMenu","QuickInserter","blockEditorStore","defaultRenderToggle","onToggle","disabled","isOpen","blockTitle","hasSingleBlockType","toggleProps","prioritizePatterns","as","Wrapper","label","labelProp","onClick","rest","handleClick","event","createElement","icon","tooltipPosition","className","PrivateInserter","constructor","arguments","bind","renderToggle","renderContent","props","directInsertBlock","hasItems","onClose","rootClientId","clientId","isAppender","showInserterHelpPanel","__experimentalIsQuick","isQuick","onSelectOrClose","selectBlockOnInsert","onSelect","blocks","firstBlock","Array","isArray","length","render","position","insertOnlyAllowedBlock","contentClassName","popoverProps","shift","expandOnMobile","headerTitle","ComposedPrivateInserter","select","shouldDirectInsert","getBlockRootClientId","hasInserterItems","getAllowedBlocks","getDirectInsertBlock","getSettings","getBlockVariations","undefined","allowedBlocks","settings","name","allowedBlockType","title","__experimentalPreferPatternsOnRoot","dispatch","ownProps","getAdjacentBlockAttributes","attributesToCopy","getBlock","getPreviousBlockClientId","result","adjacentAttributes","parentBlock","innerBlocks","lastInnerBlock","attributes","currentBlock","previousBlock","forEach","attribute","hasOwnProperty","getInsertionIndex","getBlockIndex","getBlockSelectionEnd","getBlockOrder","end","insertBlock","blockToInsert","newAttributes","message","Inserter","ref"],"sources":["@wordpress/block-editor/src/components/inserter/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { Dropdown, Button } from '@wordpress/components';\nimport { forwardRef, Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport QuickInserter from './quick-inserter';\nimport { store as blockEditorStore } from '../../store';\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\tisOpen,\n\tblockTitle,\n\thasSingleBlockType,\n\ttoggleProps = {},\n\tprioritizePatterns,\n} ) => {\n\tconst {\n\t\tas: Wrapper = Button,\n\t\tlabel: labelProp,\n\t\tonClick,\n\t\t...rest\n\t} = toggleProps;\n\n\tlet label = labelProp;\n\tif ( ! label && hasSingleBlockType ) {\n\t\tlabel = sprintf(\n\t\t\t// translators: %s: the name of the block when there is only one\n\t\t\t_x( 'Add %s', 'directly add the only allowed block' ),\n\t\t\tblockTitle\n\t\t);\n\t} else if ( ! label && prioritizePatterns ) {\n\t\tlabel = __( 'Add pattern' );\n\t} else if ( ! label ) {\n\t\tlabel = _x( 'Add block', 'Generic label for block inserter button' );\n\t}\n\n\t// Handle both onClick functions from the toggle and the parent component.\n\tfunction handleClick( event ) {\n\t\tif ( onToggle ) {\n\t\t\tonToggle( event );\n\t\t}\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Wrapper\n\t\t\ticon={ plus }\n\t\t\tlabel={ label }\n\t\t\ttooltipPosition=\"bottom\"\n\t\t\tonClick={ handleClick }\n\t\t\tclassName=\"block-editor-inserter__toggle\"\n\t\t\taria-haspopup={ ! hasSingleBlockType ? 'true' : false }\n\t\t\taria-expanded={ ! hasSingleBlockType ? isOpen : false }\n\t\t\tdisabled={ disabled }\n\t\t\t{ ...rest }\n\t\t/>\n\t);\n};\n\nclass PrivateInserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderToggle = this.renderToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { onToggle } = this.props;\n\n\t\t// Surface toggle callback to parent component.\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown toggle element.\n\t */\n\trenderToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\thasItems,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tprioritizePatterns,\n\t\t} = this.props;\n\n\t\treturn renderToggle( {\n\t\t\tonToggle,\n\t\t\tisOpen,\n\t\t\tdisabled: disabled || ! hasItems,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\tprioritizePatterns,\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t *\n\t * @return {Element} Dropdown content element.\n\t */\n\trenderContent( { onClose } ) {\n\t\tconst {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tshowInserterHelpPanel,\n\n\t\t\t// This prop is experimental to give some time for the quick inserter to mature\n\t\t\t// Feel free to make them stable after a few releases.\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tprioritizePatterns,\n\t\t\tonSelectOrClose,\n\t\t\tselectBlockOnInsert,\n\t\t} = this.props;\n\n\t\tif ( isQuick ) {\n\t\t\treturn (\n\t\t\t\t<QuickInserter\n\t\t\t\t\tonSelect={ ( blocks ) => {\n\t\t\t\t\t\tconst firstBlock =\n\t\t\t\t\t\t\tArray.isArray( blocks ) && blocks?.length\n\t\t\t\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t\t\t\t: blocks;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tonSelectOrClose &&\n\t\t\t\t\t\t\ttypeof onSelectOrClose === 'function'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonSelectOrClose( firstBlock );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t\t\tselectBlockOnInsert={ selectBlockOnInsert }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tonSelect={ () => {\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tposition,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\tinsertOnlyAllowedBlock,\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tonSelectOrClose,\n\t\t} = this.props;\n\n\t\tif ( hasSingleBlockType || directInsertBlock ) {\n\t\t\treturn this.renderToggle( { onToggle: insertOnlyAllowedBlock } );\n\t\t}\n\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"block-editor-inserter\"\n\t\t\t\tcontentClassName={ classnames(\n\t\t\t\t\t'block-editor-inserter__popover',\n\t\t\t\t\t{ 'is-quick': isQuick }\n\t\t\t\t) }\n\t\t\t\tpopoverProps={ { position, shift: true } }\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\texpandOnMobile\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t\tonClose={ onSelectOrClose }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport const ComposedPrivateInserter = compose( [\n\twithSelect(\n\t\t( select, { clientId, rootClientId, shouldDirectInsert = true } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasInserterItems,\n\t\t\t\tgetAllowedBlocks,\n\t\t\t\tgetDirectInsertBlock,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst { getBlockVariations } = select( blocksStore );\n\n\t\t\trootClientId =\n\t\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined;\n\n\t\t\tconst allowedBlocks = getAllowedBlocks( rootClientId );\n\n\t\t\tconst directInsertBlock =\n\t\t\t\tshouldDirectInsert && getDirectInsertBlock( rootClientId );\n\n\t\t\tconst settings = getSettings();\n\n\t\t\tconst hasSingleBlockType =\n\t\t\t\tallowedBlocks?.length === 1 &&\n\t\t\t\tgetBlockVariations( allowedBlocks[ 0 ].name, 'inserter' )\n\t\t\t\t\t?.length === 0;\n\n\t\t\tlet allowedBlockType = false;\n\t\t\tif ( hasSingleBlockType ) {\n\t\t\t\tallowedBlockType = allowedBlocks[ 0 ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thasItems: hasInserterItems( rootClientId ),\n\t\t\t\thasSingleBlockType,\n\t\t\t\tblockTitle: allowedBlockType ? allowedBlockType.title : '',\n\t\t\t\tallowedBlockType,\n\t\t\t\tdirectInsertBlock,\n\t\t\t\trootClientId,\n\t\t\t\tprioritizePatterns:\n\t\t\t\t\tsettings.__experimentalPreferPatternsOnRoot &&\n\t\t\t\t\t! rootClientId,\n\t\t\t};\n\t\t}\n\t),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\treturn {\n\t\t\tinsertOnlyAllowedBlock() {\n\t\t\t\tconst {\n\t\t\t\t\trootClientId,\n\t\t\t\t\tclientId,\n\t\t\t\t\tisAppender,\n\t\t\t\t\thasSingleBlockType,\n\t\t\t\t\tallowedBlockType,\n\t\t\t\t\tdirectInsertBlock,\n\t\t\t\t\tonSelectOrClose,\n\t\t\t\t\tselectBlockOnInsert,\n\t\t\t\t} = ownProps;\n\n\t\t\t\tif ( ! hasSingleBlockType && ! directInsertBlock ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction getAdjacentBlockAttributes( attributesToCopy ) {\n\t\t\t\t\tconst { getBlock, getPreviousBlockClientId } =\n\t\t\t\t\t\tselect( blockEditorStore );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! attributesToCopy ||\n\t\t\t\t\t\t( ! clientId && ! rootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t}\n\n\t\t\t\t\tconst result = {};\n\t\t\t\t\tlet adjacentAttributes = {};\n\n\t\t\t\t\t// If there is no clientId, then attempt to get attributes\n\t\t\t\t\t// from the last block within innerBlocks of the root block.\n\t\t\t\t\tif ( ! clientId ) {\n\t\t\t\t\t\tconst parentBlock = getBlock( rootClientId );\n\n\t\t\t\t\t\tif ( parentBlock?.innerBlocks?.length ) {\n\t\t\t\t\t\t\tconst lastInnerBlock =\n\t\t\t\t\t\t\t\tparentBlock.innerBlocks[\n\t\t\t\t\t\t\t\t\tparentBlock.innerBlocks.length - 1\n\t\t\t\t\t\t\t\t];\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tdirectInsertBlock &&\n\t\t\t\t\t\t\t\tdirectInsertBlock?.name === lastInnerBlock.name\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tadjacentAttributes = lastInnerBlock.attributes;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Otherwise, attempt to get attributes from the\n\t\t\t\t\t\t// previous block relative to the current clientId.\n\t\t\t\t\t\tconst currentBlock = getBlock( clientId );\n\t\t\t\t\t\tconst previousBlock = getBlock(\n\t\t\t\t\t\t\tgetPreviousBlockClientId( clientId )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( currentBlock?.name === previousBlock?.name ) {\n\t\t\t\t\t\t\tadjacentAttributes =\n\t\t\t\t\t\t\t\tpreviousBlock?.attributes || {};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Copy over only those attributes flagged to be copied.\n\t\t\t\t\tattributesToCopy.forEach( ( attribute ) => {\n\t\t\t\t\t\tif ( adjacentAttributes.hasOwnProperty( attribute ) ) {\n\t\t\t\t\t\t\tresult[ attribute ] =\n\t\t\t\t\t\t\t\tadjacentAttributes[ attribute ];\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tfunction getInsertionIndex() {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\t\tgetBlockSelectionEnd,\n\t\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\t\t\tif ( clientId ) {\n\t\t\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t\t\t}\n\n\t\t\t\t\t// If there a selected block, we insert after the selected block.\n\t\t\t\t\tconst end = getBlockSelectionEnd();\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isAppender &&\n\t\t\t\t\t\tend &&\n\t\t\t\t\t\tgetBlockRootClientId( end ) === rootClientId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn getBlockIndex( end ) + 1;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Otherwise, we insert at the end of the current rootClientId.\n\t\t\t\t\treturn getBlockOrder( rootClientId ).length;\n\t\t\t\t}\n\n\t\t\t\tconst { insertBlock } = dispatch( blockEditorStore );\n\n\t\t\t\tlet blockToInsert;\n\n\t\t\t\t// Attempt to augment the directInsertBlock with attributes from an adjacent block.\n\t\t\t\t// This ensures styling from nearby blocks is preserved in the newly inserted block.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/37904\n\t\t\t\tif ( directInsertBlock ) {\n\t\t\t\t\tconst newAttributes = getAdjacentBlockAttributes(\n\t\t\t\t\t\tdirectInsertBlock.attributesToCopy\n\t\t\t\t\t);\n\n\t\t\t\t\tblockToInsert = createBlock( directInsertBlock.name, {\n\t\t\t\t\t\t...( directInsertBlock.attributes || {} ),\n\t\t\t\t\t\t...newAttributes,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tblockToInsert = createBlock( allowedBlockType.name );\n\t\t\t\t}\n\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblockToInsert,\n\t\t\t\t\tgetInsertionIndex(),\n\t\t\t\t\trootClientId,\n\t\t\t\t\tselectBlockOnInsert\n\t\t\t\t);\n\n\t\t\t\tif ( onSelectOrClose ) {\n\t\t\t\t\tonSelectOrClose( {\n\t\t\t\t\t\tclientId: blockToInsert?.clientId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tconst message = sprintf(\n\t\t\t\t\t// translators: %s: the name of the block that has been added\n\t\t\t\t\t__( '%s block added' ),\n\t\t\t\t\tallowedBlockType.title\n\t\t\t\t);\n\t\t\t\tspeak( message );\n\t\t\t},\n\t\t};\n\t} ),\n\t// The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as\n\t// a way to detect the global Inserter.\n\tifCondition(\n\t\t( { hasItems, isAppender, rootClientId, clientId } ) =>\n\t\t\thasItems || ( ! isAppender && ! rootClientId && ! clientId )\n\t),\n] )( PrivateInserter );\n\nconst Inserter = forwardRef( ( props, ref ) => {\n\treturn <ComposedPrivateInserter ref={ ref } { ...props } />;\n} );\n\nexport default Inserter;\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -187,7 +187,7 @@ export class Inserter extends Component {
187
187
  * pressed.
188
188
  * @param {boolean} options.isOpen Whether dropdown is currently open.
189
189
  *
190
- * @return {WPElement} Dropdown toggle element.
190
+ * @return {Element} Dropdown toggle element.
191
191
  */
192
192
  renderInserterToggle({
193
193
  onToggle,
@@ -246,7 +246,7 @@ export class Inserter extends Component {
246
246
  * closed.
247
247
  * @param {boolean} options.isOpen Whether dropdown is currently open.
248
248
  *
249
- * @return {WPElement} Dropdown content element.
249
+ * @return {Element} Dropdown content element.
250
250
  */
251
251
  renderContent({
252
252
  onClose,
@@ -1 +1 @@
1
- {"version":3,"names":["AccessibilityInfo","Platform","__","_x","Dropdown","ToolbarButton","Picker","Component","withDispatch","withSelect","compose","withPreferredColorScheme","isUnmodifiedDefaultBlock","Icon","plus","plusCircle","plusCircleFilled","insertAfter","insertBefore","setBlockTypeImpressions","styles","InserterMenu","BlockInsertionPoint","store","blockEditorStore","VOICE_OVER_ANNOUNCEMENT_DELAY","defaultRenderToggle","onToggle","disabled","iconStyle","buttonStyle","onLongPress","createElement","title","icon","style","onClick","extraProps","hint","testID","hitSlop","top","bottom","left","right","isDisabled","customContainerStyles","fixedRatio","Inserter","announcementTimeout","constructor","arguments","bind","renderInserterToggle","renderContent","componentWillUnmount","clearTimeout","getInsertionOptions","addBeforeOption","value","label","replaceCurrentOption","addAfterOption","addToBeginningOption","addToEndOption","isAnyBlockSelected","isSelectedBlockReplaceable","props","getInsertionIndex","insertionType","insertionIndexDefault","insertionIndexStart","insertionIndexBefore","insertionIndexAfter","insertionIndexEnd","shouldReplaceBlock","isOpen","blockTypeImpressions","updateSettings","impressionsRemain","Object","values","some","count","decrementedImpressions","entries","reduce","acc","blockName","Math","max","impressions","onInserterToggledAnnouncement","isScreenReaderEnabled","then","isEnabled","isIOS","OS","announcement","setTimeout","announceForAccessibility","renderToggle","getStylesFromColorScheme","showSeparator","onPress","setState","destinationRootClientId","insertionIndex","picker","presentPicker","onPickerSelect","Fragment","ref","instance","options","onChange","hideCancelButton","onClose","clientId","isAppender","state","onSelect","onDismiss","rootClientId","render","headerTitle","dispatch","select","getBlockRootClientId","getBlockSelectionEnd","getBlockOrder","getBlockIndex","getBlock","getSettings","getBlockEditorSettings","end","selectedBlockIndex","endOfRootIndex","length","isSelectedUnmodifiedDefaultBlock","undefined","getDefaultInsertionIndex","__experimentalShouldInsertAtTheTop","shouldInsertAtTheTop"],"sources":["@wordpress/block-editor/src/components/inserter/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Dropdown, ToolbarButton, Picker } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport {\n\tIcon,\n\tplus,\n\tplusCircle,\n\tplusCircleFilled,\n\tinsertAfter,\n\tinsertBefore,\n} from '@wordpress/icons';\nimport { setBlockTypeImpressions } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport InserterMenu from './menu';\nimport BlockInsertionPoint from '../block-list/insertion-point';\nimport { store as blockEditorStore } from '../../store';\n\nconst VOICE_OVER_ANNOUNCEMENT_DELAY = 1000;\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\ticonStyle,\n\tbuttonStyle,\n\tonLongPress,\n} ) => {\n\treturn (\n\t\t<ToolbarButton\n\t\t\ttitle={ _x(\n\t\t\t\t'Add block',\n\t\t\t\t'Generic label for block inserter button'\n\t\t\t) }\n\t\t\ticon={ <Icon icon={ plus } style={ iconStyle } /> }\n\t\t\tonClick={ onToggle }\n\t\t\textraProps={ {\n\t\t\t\thint: __( 'Double tap to add a block' ),\n\t\t\t\t// testID is present to disambiguate this element for native UI tests. It's not\n\t\t\t\t// usually required for components. See: https://github.com/WordPress/gutenberg/pull/18832#issuecomment-561411389.\n\t\t\t\ttestID: 'add-block-button',\n\t\t\t\tonLongPress,\n\t\t\t\thitSlop: { top: 10, bottom: 10, left: 10, right: 10 },\n\t\t\t} }\n\t\t\tisDisabled={ disabled }\n\t\t\tcustomContainerStyles={ buttonStyle }\n\t\t\tfixedRatio={ false }\n\t\t/>\n\t);\n};\n\nexport class Inserter extends Component {\n\tannouncementTimeout;\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderInserterToggle = this.renderInserterToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.announcementTimeout );\n\t}\n\n\tgetInsertionOptions() {\n\t\tconst addBeforeOption = {\n\t\t\tvalue: 'before',\n\t\t\tlabel: __( 'Add Block Before' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst replaceCurrentOption = {\n\t\t\tvalue: 'replace',\n\t\t\tlabel: __( 'Replace Current Block' ),\n\t\t\ticon: plusCircleFilled,\n\t\t};\n\n\t\tconst addAfterOption = {\n\t\t\tvalue: 'after',\n\t\t\tlabel: __( 'Add Block After' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst addToBeginningOption = {\n\t\t\tvalue: 'start',\n\t\t\tlabel: __( 'Add To Beginning' ),\n\t\t\ticon: insertBefore,\n\t\t};\n\n\t\tconst addToEndOption = {\n\t\t\tvalue: 'end',\n\t\t\tlabel: __( 'Add To End' ),\n\t\t\ticon: insertAfter,\n\t\t};\n\n\t\tconst { isAnyBlockSelected, isSelectedBlockReplaceable } = this.props;\n\t\tif ( isAnyBlockSelected ) {\n\t\t\tif ( isSelectedBlockReplaceable ) {\n\t\t\t\treturn [\n\t\t\t\t\taddToBeginningOption,\n\t\t\t\t\taddBeforeOption,\n\t\t\t\t\treplaceCurrentOption,\n\t\t\t\t\taddAfterOption,\n\t\t\t\t\taddToEndOption,\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [\n\t\t\t\taddToBeginningOption,\n\t\t\t\taddBeforeOption,\n\t\t\t\taddAfterOption,\n\t\t\t\taddToEndOption,\n\t\t\t];\n\t\t}\n\t\treturn [ addToBeginningOption, addToEndOption ];\n\t}\n\n\tgetInsertionIndex( insertionType ) {\n\t\tconst {\n\t\t\tinsertionIndexDefault,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexEnd,\n\t\t} = this.props;\n\t\tif ( insertionType === 'start' ) {\n\t\t\treturn insertionIndexStart;\n\t\t}\n\t\tif ( insertionType === 'before' || insertionType === 'replace' ) {\n\t\t\treturn insertionIndexBefore;\n\t\t}\n\t\tif ( insertionType === 'after' ) {\n\t\t\treturn insertionIndexAfter;\n\t\t}\n\t\tif ( insertionType === 'end' ) {\n\t\t\treturn insertionIndexEnd;\n\t\t}\n\t\treturn insertionIndexDefault;\n\t}\n\n\tshouldReplaceBlock( insertionType ) {\n\t\tconst { isSelectedBlockReplaceable } = this.props;\n\t\tif ( insertionType === 'replace' ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( insertionType === 'default' && isSelectedBlockReplaceable ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { blockTypeImpressions, onToggle, updateSettings } = this.props;\n\n\t\tif ( ! isOpen ) {\n\t\t\tconst impressionsRemain = Object.values(\n\t\t\t\tblockTypeImpressions\n\t\t\t).some( ( count ) => count > 0 );\n\n\t\t\tif ( impressionsRemain ) {\n\t\t\t\tconst decrementedImpressions = Object.entries(\n\t\t\t\t\tblockTypeImpressions\n\t\t\t\t).reduce(\n\t\t\t\t\t( acc, [ blockName, count ] ) => ( {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ blockName ]: Math.max( count - 1, 0 ),\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\t// Persist block type impression to JavaScript store.\n\t\t\t\tupdateSettings( {\n\t\t\t\t\timpressions: decrementedImpressions,\n\t\t\t\t} );\n\n\t\t\t\t// Persist block type impression count to native app store.\n\t\t\t\tsetBlockTypeImpressions( decrementedImpressions );\n\t\t\t}\n\t\t}\n\n\t\t// Surface toggle callback to parent component.\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t\tthis.onInserterToggledAnnouncement( isOpen );\n\t}\n\n\tonInserterToggledAnnouncement( isOpen ) {\n\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( isEnabled ) => {\n\t\t\tif ( isEnabled ) {\n\t\t\t\tconst isIOS = Platform.OS === 'ios';\n\t\t\t\tconst announcement = isOpen\n\t\t\t\t\t? __( 'Scrollable block menu opened. Select a block.' )\n\t\t\t\t\t: __( 'Scrollable block menu closed.' );\n\t\t\t\tthis.announcementTimeout = setTimeout(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tAccessibilityInfo.announceForAccessibility(\n\t\t\t\t\t\t\tannouncement\n\t\t\t\t\t\t),\n\t\t\t\t\tisIOS ? VOICE_OVER_ANNOUNCEMENT_DELAY : 0\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown toggle element.\n\t */\n\trenderInserterToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tshowSeparator,\n\t\t} = this.props;\n\t\tif ( showSeparator && isOpen ) {\n\t\t\treturn <BlockInsertionPoint />;\n\t\t}\n\n\t\tconst buttonStyle = getStylesFromColorScheme(\n\t\t\tstyles[ 'inserter-menu__add-block-button' ],\n\t\t\tstyles[ 'inserter-menu__add-block-button--dark' ]\n\t\t);\n\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles[ 'inserter-menu__add-block-button-icon' ],\n\t\t\tstyles[ 'inserter-menu__add-block-button-icon--dark' ]\n\t\t);\n\n\t\tconst onPress = () => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock( 'default' ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( 'default' ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\tconst onLongPress = () => {\n\t\t\tif ( this.picker ) {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t};\n\n\t\tconst onPickerSelect = ( insertionType ) => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock:\n\t\t\t\t\t\tthis.shouldReplaceBlock( insertionType ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( insertionType ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ renderToggle( {\n\t\t\t\t\tonToggle: onPress,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tdisabled,\n\t\t\t\t\ticonStyle,\n\t\t\t\t\tbuttonStyle,\n\t\t\t\t\tonLongPress,\n\t\t\t\t} ) }\n\t\t\t\t<Picker\n\t\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\t\toptions={ this.getInsertionOptions() }\n\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown content element.\n\t */\n\trenderContent( { onClose, isOpen } ) {\n\t\tconst { clientId, isAppender } = this.props;\n\t\tconst { destinationRootClientId, shouldReplaceBlock, insertionIndex } =\n\t\t\tthis.state;\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tisOpen={ isOpen }\n\t\t\t\tonSelect={ onClose }\n\t\t\t\tonDismiss={ onClose }\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshouldReplaceBlock={ shouldReplaceBlock }\n\t\t\t\tinsertionIndex={ insertionIndex }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderInserterToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { updateSettings } = dispatch( blockEditorStore );\n\t\treturn { updateSettings };\n\t} ),\n\twithSelect( ( select, { clientId, isAppender, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockIndex,\n\t\t\tgetBlock,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst end = getBlockSelectionEnd();\n\t\t// `end` argument (id) can refer to the component which is removed\n\t\t// due to pressing `undo` button, that's why we need to check\n\t\t// if `getBlock( end) is valid, otherwise `null` is passed\n\t\tconst isAnyBlockSelected = ! isAppender && end && getBlock( end );\n\t\tconst destinationRootClientId = isAnyBlockSelected\n\t\t\t? getBlockRootClientId( end )\n\t\t\t: rootClientId;\n\t\tconst selectedBlockIndex = getBlockIndex( end );\n\t\tconst endOfRootIndex = getBlockOrder( rootClientId ).length;\n\t\tconst isSelectedUnmodifiedDefaultBlock = isAnyBlockSelected\n\t\t\t? isUnmodifiedDefaultBlock( getBlock( end ) )\n\t\t\t: undefined;\n\n\t\tfunction getDefaultInsertionIndex() {\n\t\t\tconst { __experimentalShouldInsertAtTheTop: shouldInsertAtTheTop } =\n\t\t\t\tgetBlockEditorSettings();\n\n\t\t\t// If post title is selected insert as first block.\n\t\t\tif ( shouldInsertAtTheTop ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\tif ( clientId ) {\n\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t}\n\n\t\t\t// If there is a selected block,\n\t\t\tif ( isAnyBlockSelected ) {\n\t\t\t\t// And the last selected block is unmodified (empty), it will be replaced.\n\t\t\t\tif ( isSelectedUnmodifiedDefaultBlock ) {\n\t\t\t\t\treturn selectedBlockIndex;\n\t\t\t\t}\n\n\t\t\t\t// We insert after the selected block.\n\t\t\t\treturn selectedBlockIndex + 1;\n\t\t\t}\n\n\t\t\t// Otherwise, we insert at the end of the current rootClientId.\n\t\t\treturn endOfRootIndex;\n\t\t}\n\n\t\tconst insertionIndexStart = 0;\n\n\t\tconst insertionIndexBefore = isAnyBlockSelected\n\t\t\t? selectedBlockIndex\n\t\t\t: insertionIndexStart;\n\n\t\tconst insertionIndexAfter = isAnyBlockSelected\n\t\t\t? selectedBlockIndex + 1\n\t\t\t: endOfRootIndex;\n\n\t\tconst insertionIndexEnd = endOfRootIndex;\n\n\t\treturn {\n\t\t\tblockTypeImpressions: getBlockEditorSettings().impressions,\n\t\t\tdestinationRootClientId,\n\t\t\tinsertionIndexDefault: getDefaultInsertionIndex(),\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexEnd,\n\t\t\tisAnyBlockSelected: !! isAnyBlockSelected,\n\t\t\tisSelectedBlockReplaceable: isSelectedUnmodifiedDefaultBlock,\n\t\t};\n\t} ),\n\n\twithPreferredColorScheme,\n] )( Inserter );\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,iBAAiB,EAAEC,QAAQ,QAAQ,cAAc;;AAE1D;AACA;AACA;AACA,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,QAAQ,EAAEC,aAAa,EAAEC,MAAM,QAAQ,uBAAuB;AACvE,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAC1D,SAASC,OAAO,EAAEC,wBAAwB,QAAQ,oBAAoB;AACtE,SAASC,wBAAwB,QAAQ,mBAAmB;AAC5D,SACCC,IAAI,EACJC,IAAI,EACJC,UAAU,EACVC,gBAAgB,EAChBC,WAAW,EACXC,YAAY,QACN,kBAAkB;AACzB,SAASC,uBAAuB,QAAQ,gCAAgC;;AAExE;AACA;AACA;AACA,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,YAAY,MAAM,QAAQ;AACjC,OAAOC,mBAAmB,MAAM,+BAA+B;AAC/D,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AAEvD,MAAMC,6BAA6B,GAAG,IAAI;AAE1C,MAAMC,mBAAmB,GAAGA,CAAE;EAC7BC,QAAQ;EACRC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXC;AACD,CAAC,KAAM;EACN,OACCC,aAAA,CAAC3B,aAAa;IACb4B,KAAK,EAAG9B,EAAE,CACT,WAAW,EACX,yCACD,CAAG;IACH+B,IAAI,EAAGF,aAAA,CAACnB,IAAI;MAACqB,IAAI,EAAGpB,IAAM;MAACqB,KAAK,EAAGN;IAAW,CAAE,CAAG;IACnDO,OAAO,EAAGT,QAAU;IACpBU,UAAU,EAAG;MACZC,IAAI,EAAEpC,EAAE,CAAE,2BAA4B,CAAC;MACvC;MACA;MACAqC,MAAM,EAAE,kBAAkB;MAC1BR,WAAW;MACXS,OAAO,EAAE;QAAEC,GAAG,EAAE,EAAE;QAAEC,MAAM,EAAE,EAAE;QAAEC,IAAI,EAAE,EAAE;QAAEC,KAAK,EAAE;MAAG;IACrD,CAAG;IACHC,UAAU,EAAGjB,QAAU;IACvBkB,qBAAqB,EAAGhB,WAAa;IACrCiB,UAAU,EAAG;EAAO,CACpB,CAAC;AAEJ,CAAC;AAED,OAAO,MAAMC,QAAQ,SAASzC,SAAS,CAAC;EACvC0C,mBAAmB;EAEnBC,WAAWA,CAAA,EAAG;IACb,KAAK,CAAE,GAAGC,SAAU,CAAC;IAErB,IAAI,CAACxB,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACyB,IAAI,CAAE,IAAK,CAAC;IAC1C,IAAI,CAACC,oBAAoB,GAAG,IAAI,CAACA,oBAAoB,CAACD,IAAI,CAAE,IAAK,CAAC;IAClE,IAAI,CAACE,aAAa,GAAG,IAAI,CAACA,aAAa,CAACF,IAAI,CAAE,IAAK,CAAC;EACrD;EAEAG,oBAAoBA,CAAA,EAAG;IACtBC,YAAY,CAAE,IAAI,CAACP,mBAAoB,CAAC;EACzC;EAEAQ,mBAAmBA,CAAA,EAAG;IACrB,MAAMC,eAAe,GAAG;MACvBC,KAAK,EAAE,QAAQ;MACfC,KAAK,EAAE1D,EAAE,CAAE,kBAAmB,CAAC;MAC/BgC,IAAI,EAAEnB;IACP,CAAC;IAED,MAAM8C,oBAAoB,GAAG;MAC5BF,KAAK,EAAE,SAAS;MAChBC,KAAK,EAAE1D,EAAE,CAAE,uBAAwB,CAAC;MACpCgC,IAAI,EAAElB;IACP,CAAC;IAED,MAAM8C,cAAc,GAAG;MACtBH,KAAK,EAAE,OAAO;MACdC,KAAK,EAAE1D,EAAE,CAAE,iBAAkB,CAAC;MAC9BgC,IAAI,EAAEnB;IACP,CAAC;IAED,MAAMgD,oBAAoB,GAAG;MAC5BJ,KAAK,EAAE,OAAO;MACdC,KAAK,EAAE1D,EAAE,CAAE,kBAAmB,CAAC;MAC/BgC,IAAI,EAAEhB;IACP,CAAC;IAED,MAAM8C,cAAc,GAAG;MACtBL,KAAK,EAAE,KAAK;MACZC,KAAK,EAAE1D,EAAE,CAAE,YAAa,CAAC;MACzBgC,IAAI,EAAEjB;IACP,CAAC;IAED,MAAM;MAAEgD,kBAAkB;MAAEC;IAA2B,CAAC,GAAG,IAAI,CAACC,KAAK;IACrE,IAAKF,kBAAkB,EAAG;MACzB,IAAKC,0BAA0B,EAAG;QACjC,OAAO,CACNH,oBAAoB,EACpBL,eAAe,EACfG,oBAAoB,EACpBC,cAAc,EACdE,cAAc,CACd;MACF;MACA,OAAO,CACND,oBAAoB,EACpBL,eAAe,EACfI,cAAc,EACdE,cAAc,CACd;IACF;IACA,OAAO,CAAED,oBAAoB,EAAEC,cAAc,CAAE;EAChD;EAEAI,iBAAiBA,CAAEC,aAAa,EAAG;IAClC,MAAM;MACLC,qBAAqB;MACrBC,mBAAmB;MACnBC,oBAAoB;MACpBC,mBAAmB;MACnBC;IACD,CAAC,GAAG,IAAI,CAACP,KAAK;IACd,IAAKE,aAAa,KAAK,OAAO,EAAG;MAChC,OAAOE,mBAAmB;IAC3B;IACA,IAAKF,aAAa,KAAK,QAAQ,IAAIA,aAAa,KAAK,SAAS,EAAG;MAChE,OAAOG,oBAAoB;IAC5B;IACA,IAAKH,aAAa,KAAK,OAAO,EAAG;MAChC,OAAOI,mBAAmB;IAC3B;IACA,IAAKJ,aAAa,KAAK,KAAK,EAAG;MAC9B,OAAOK,iBAAiB;IACzB;IACA,OAAOJ,qBAAqB;EAC7B;EAEAK,kBAAkBA,CAAEN,aAAa,EAAG;IACnC,MAAM;MAAEH;IAA2B,CAAC,GAAG,IAAI,CAACC,KAAK;IACjD,IAAKE,aAAa,KAAK,SAAS,EAAG;MAClC,OAAO,IAAI;IACZ;IACA,IAAKA,aAAa,KAAK,SAAS,IAAIH,0BAA0B,EAAG;MAChE,OAAO,IAAI;IACZ;IACA,OAAO,KAAK;EACb;EAEAvC,QAAQA,CAAEiD,MAAM,EAAG;IAClB,MAAM;MAAEC,oBAAoB;MAAElD,QAAQ;MAAEmD;IAAe,CAAC,GAAG,IAAI,CAACX,KAAK;IAErE,IAAK,CAAES,MAAM,EAAG;MACf,MAAMG,iBAAiB,GAAGC,MAAM,CAACC,MAAM,CACtCJ,oBACD,CAAC,CAACK,IAAI,CAAIC,KAAK,IAAMA,KAAK,GAAG,CAAE,CAAC;MAEhC,IAAKJ,iBAAiB,EAAG;QACxB,MAAMK,sBAAsB,GAAGJ,MAAM,CAACK,OAAO,CAC5CR,oBACD,CAAC,CAACS,MAAM,CACP,CAAEC,GAAG,EAAE,CAAEC,SAAS,EAAEL,KAAK,CAAE,MAAQ;UAClC,GAAGI,GAAG;UACN,CAAEC,SAAS,GAAIC,IAAI,CAACC,GAAG,CAAEP,KAAK,GAAG,CAAC,EAAE,CAAE;QACvC,CAAC,CAAE,EACH,CAAC,CACF,CAAC;;QAED;QACAL,cAAc,CAAE;UACfa,WAAW,EAAEP;QACd,CAAE,CAAC;;QAEH;QACAjE,uBAAuB,CAAEiE,sBAAuB,CAAC;MAClD;IACD;;IAEA;IACA,IAAKzD,QAAQ,EAAG;MACfA,QAAQ,CAAEiD,MAAO,CAAC;IACnB;IACA,IAAI,CAACgB,6BAA6B,CAAEhB,MAAO,CAAC;EAC7C;EAEAgB,6BAA6BA,CAAEhB,MAAM,EAAG;IACvC5E,iBAAiB,CAAC6F,qBAAqB,CAAC,CAAC,CAACC,IAAI,CAAIC,SAAS,IAAM;MAChE,IAAKA,SAAS,EAAG;QAChB,MAAMC,KAAK,GAAG/F,QAAQ,CAACgG,EAAE,KAAK,KAAK;QACnC,MAAMC,YAAY,GAAGtB,MAAM,GACxB1E,EAAE,CAAE,+CAAgD,CAAC,GACrDA,EAAE,CAAE,+BAAgC,CAAC;QACxC,IAAI,CAAC+C,mBAAmB,GAAGkD,UAAU,CACpC,MACCnG,iBAAiB,CAACoG,wBAAwB,CACzCF,YACD,CAAC,EACFF,KAAK,GAAGvE,6BAA6B,GAAG,CACzC,CAAC;MACF;IACD,CAAE,CAAC;EACJ;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC4B,oBAAoBA,CAAE;IAAE1B,QAAQ;IAAEiD;EAAO,CAAC,EAAG;IAC5C,MAAM;MACLhD,QAAQ;MACRyE,YAAY,GAAG3E,mBAAmB;MAClC4E,wBAAwB;MACxBC;IACD,CAAC,GAAG,IAAI,CAACpC,KAAK;IACd,IAAKoC,aAAa,IAAI3B,MAAM,EAAG;MAC9B,OAAO5C,aAAA,CAACV,mBAAmB,MAAE,CAAC;IAC/B;IAEA,MAAMQ,WAAW,GAAGwE,wBAAwB,CAC3ClF,MAAM,CAAE,iCAAiC,CAAE,EAC3CA,MAAM,CAAE,uCAAuC,CAChD,CAAC;IAED,MAAMS,SAAS,GAAGyE,wBAAwB,CACzClF,MAAM,CAAE,sCAAsC,CAAE,EAChDA,MAAM,CAAE,4CAA4C,CACrD,CAAC;IAED,MAAMoF,OAAO,GAAGA,CAAA,KAAM;MACrB,IAAI,CAACC,QAAQ,CACZ;QACCC,uBAAuB,EAAE,IAAI,CAACvC,KAAK,CAACuC,uBAAuB;QAC3D/B,kBAAkB,EAAE,IAAI,CAACA,kBAAkB,CAAE,SAAU,CAAC;QACxDgC,cAAc,EAAE,IAAI,CAACvC,iBAAiB,CAAE,SAAU;MACnD,CAAC,EACDzC,QACD,CAAC;IACF,CAAC;IAED,MAAMI,WAAW,GAAGA,CAAA,KAAM;MACzB,IAAK,IAAI,CAAC6E,MAAM,EAAG;QAClB,IAAI,CAACA,MAAM,CAACC,aAAa,CAAC,CAAC;MAC5B;IACD,CAAC;IAED,MAAMC,cAAc,GAAKzC,aAAa,IAAM;MAC3C,IAAI,CAACoC,QAAQ,CACZ;QACCC,uBAAuB,EAAE,IAAI,CAACvC,KAAK,CAACuC,uBAAuB;QAC3D/B,kBAAkB,EACjB,IAAI,CAACA,kBAAkB,CAAEN,aAAc,CAAC;QACzCsC,cAAc,EAAE,IAAI,CAACvC,iBAAiB,CAAEC,aAAc;MACvD,CAAC,EACD1C,QACD,CAAC;IACF,CAAC;IAED,OACCK,aAAA,CAAA+E,QAAA,QACGV,YAAY,CAAE;MACf1E,QAAQ,EAAE6E,OAAO;MACjB5B,MAAM;MACNhD,QAAQ;MACRC,SAAS;MACTC,WAAW;MACXC;IACD,CAAE,CAAC,EACHC,aAAA,CAAC1B,MAAM;MACN0G,GAAG,EAAKC,QAAQ,IAAQ,IAAI,CAACL,MAAM,GAAGK,QAAY;MAClDC,OAAO,EAAG,IAAI,CAACzD,mBAAmB,CAAC,CAAG;MACtC0D,QAAQ,EAAGL,cAAgB;MAC3BM,gBAAgB;IAAA,CAChB,CACA,CAAC;EAEL;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC9D,aAAaA,CAAE;IAAE+D,OAAO;IAAEzC;EAAO,CAAC,EAAG;IACpC,MAAM;MAAE0C,QAAQ;MAAEC;IAAW,CAAC,GAAG,IAAI,CAACpD,KAAK;IAC3C,MAAM;MAAEuC,uBAAuB;MAAE/B,kBAAkB;MAAEgC;IAAe,CAAC,GACpE,IAAI,CAACa,KAAK;IACX,OACCxF,aAAA,CAACX,YAAY;MACZuD,MAAM,EAAGA,MAAQ;MACjB6C,QAAQ,EAAGJ,OAAS;MACpBK,SAAS,EAAGL,OAAS;MACrBM,YAAY,EAAGjB,uBAAyB;MACxCY,QAAQ,EAAGA,QAAU;MACrBC,UAAU,EAAGA,UAAY;MACzB5C,kBAAkB,EAAGA,kBAAoB;MACzCgC,cAAc,EAAGA;IAAgB,CACjC,CAAC;EAEJ;EAEAiB,MAAMA,CAAA,EAAG;IACR,OACC5F,aAAA,CAAC5B,QAAQ;MACRuB,QAAQ,EAAG,IAAI,CAACA,QAAU;MAC1BkG,WAAW,EAAG3H,EAAE,CAAE,aAAc,CAAG;MACnCmG,YAAY,EAAG,IAAI,CAAChD,oBAAsB;MAC1CC,aAAa,EAAG,IAAI,CAACA;IAAe,CACpC,CAAC;EAEJ;AACD;AAEA,eAAe5C,OAAO,CAAE,CACvBF,YAAY,CAAIsH,QAAQ,IAAM;EAC7B,MAAM;IAAEhD;EAAe,CAAC,GAAGgD,QAAQ,CAAEtG,gBAAiB,CAAC;EACvD,OAAO;IAAEsD;EAAe,CAAC;AAC1B,CAAE,CAAC,EACHrE,UAAU,CAAE,CAAEsH,MAAM,EAAE;EAAET,QAAQ;EAAEC,UAAU;EAAEI;AAAa,CAAC,KAAM;EACjE,MAAM;IACLK,oBAAoB;IACpBC,oBAAoB;IACpBC,aAAa;IACbC,aAAa;IACbC,QAAQ;IACRC,WAAW,EAAEC;EACd,CAAC,GAAGP,MAAM,CAAEvG,gBAAiB,CAAC;EAE9B,MAAM+G,GAAG,GAAGN,oBAAoB,CAAC,CAAC;EAClC;EACA;EACA;EACA,MAAMhE,kBAAkB,GAAG,CAAEsD,UAAU,IAAIgB,GAAG,IAAIH,QAAQ,CAAEG,GAAI,CAAC;EACjE,MAAM7B,uBAAuB,GAAGzC,kBAAkB,GAC/C+D,oBAAoB,CAAEO,GAAI,CAAC,GAC3BZ,YAAY;EACf,MAAMa,kBAAkB,GAAGL,aAAa,CAAEI,GAAI,CAAC;EAC/C,MAAME,cAAc,GAAGP,aAAa,CAAEP,YAAa,CAAC,CAACe,MAAM;EAC3D,MAAMC,gCAAgC,GAAG1E,kBAAkB,GACxDrD,wBAAwB,CAAEwH,QAAQ,CAAEG,GAAI,CAAE,CAAC,GAC3CK,SAAS;EAEZ,SAASC,wBAAwBA,CAAA,EAAG;IACnC,MAAM;MAAEC,kCAAkC,EAAEC;IAAqB,CAAC,GACjET,sBAAsB,CAAC,CAAC;;IAEzB;IACA,IAAKS,oBAAoB,EAAG;MAC3B,OAAO,CAAC;IACT;;IAEA;IACA,IAAKzB,QAAQ,EAAG;MACf,OAAOa,aAAa,CAAEb,QAAS,CAAC;IACjC;;IAEA;IACA,IAAKrD,kBAAkB,EAAG;MACzB;MACA,IAAK0E,gCAAgC,EAAG;QACvC,OAAOH,kBAAkB;MAC1B;;MAEA;MACA,OAAOA,kBAAkB,GAAG,CAAC;IAC9B;;IAEA;IACA,OAAOC,cAAc;EACtB;EAEA,MAAMlE,mBAAmB,GAAG,CAAC;EAE7B,MAAMC,oBAAoB,GAAGP,kBAAkB,GAC5CuE,kBAAkB,GAClBjE,mBAAmB;EAEtB,MAAME,mBAAmB,GAAGR,kBAAkB,GAC3CuE,kBAAkB,GAAG,CAAC,GACtBC,cAAc;EAEjB,MAAM/D,iBAAiB,GAAG+D,cAAc;EAExC,OAAO;IACN5D,oBAAoB,EAAEyD,sBAAsB,CAAC,CAAC,CAAC3C,WAAW;IAC1De,uBAAuB;IACvBpC,qBAAqB,EAAEuE,wBAAwB,CAAC,CAAC;IACjDrE,oBAAoB;IACpBC,mBAAmB;IACnBF,mBAAmB;IACnBG,iBAAiB;IACjBT,kBAAkB,EAAE,CAAC,CAAEA,kBAAkB;IACzCC,0BAA0B,EAAEyE;EAC7B,CAAC;AACF,CAAE,CAAC,EAEHhI,wBAAwB,CACvB,CAAC,CAAEqC,QAAS,CAAC"}
1
+ {"version":3,"names":["AccessibilityInfo","Platform","__","_x","Dropdown","ToolbarButton","Picker","Component","withDispatch","withSelect","compose","withPreferredColorScheme","isUnmodifiedDefaultBlock","Icon","plus","plusCircle","plusCircleFilled","insertAfter","insertBefore","setBlockTypeImpressions","styles","InserterMenu","BlockInsertionPoint","store","blockEditorStore","VOICE_OVER_ANNOUNCEMENT_DELAY","defaultRenderToggle","onToggle","disabled","iconStyle","buttonStyle","onLongPress","createElement","title","icon","style","onClick","extraProps","hint","testID","hitSlop","top","bottom","left","right","isDisabled","customContainerStyles","fixedRatio","Inserter","announcementTimeout","constructor","arguments","bind","renderInserterToggle","renderContent","componentWillUnmount","clearTimeout","getInsertionOptions","addBeforeOption","value","label","replaceCurrentOption","addAfterOption","addToBeginningOption","addToEndOption","isAnyBlockSelected","isSelectedBlockReplaceable","props","getInsertionIndex","insertionType","insertionIndexDefault","insertionIndexStart","insertionIndexBefore","insertionIndexAfter","insertionIndexEnd","shouldReplaceBlock","isOpen","blockTypeImpressions","updateSettings","impressionsRemain","Object","values","some","count","decrementedImpressions","entries","reduce","acc","blockName","Math","max","impressions","onInserterToggledAnnouncement","isScreenReaderEnabled","then","isEnabled","isIOS","OS","announcement","setTimeout","announceForAccessibility","renderToggle","getStylesFromColorScheme","showSeparator","onPress","setState","destinationRootClientId","insertionIndex","picker","presentPicker","onPickerSelect","Fragment","ref","instance","options","onChange","hideCancelButton","onClose","clientId","isAppender","state","onSelect","onDismiss","rootClientId","render","headerTitle","dispatch","select","getBlockRootClientId","getBlockSelectionEnd","getBlockOrder","getBlockIndex","getBlock","getSettings","getBlockEditorSettings","end","selectedBlockIndex","endOfRootIndex","length","isSelectedUnmodifiedDefaultBlock","undefined","getDefaultInsertionIndex","__experimentalShouldInsertAtTheTop","shouldInsertAtTheTop"],"sources":["@wordpress/block-editor/src/components/inserter/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Dropdown, ToolbarButton, Picker } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport {\n\tIcon,\n\tplus,\n\tplusCircle,\n\tplusCircleFilled,\n\tinsertAfter,\n\tinsertBefore,\n} from '@wordpress/icons';\nimport { setBlockTypeImpressions } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport InserterMenu from './menu';\nimport BlockInsertionPoint from '../block-list/insertion-point';\nimport { store as blockEditorStore } from '../../store';\n\nconst VOICE_OVER_ANNOUNCEMENT_DELAY = 1000;\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\ticonStyle,\n\tbuttonStyle,\n\tonLongPress,\n} ) => {\n\treturn (\n\t\t<ToolbarButton\n\t\t\ttitle={ _x(\n\t\t\t\t'Add block',\n\t\t\t\t'Generic label for block inserter button'\n\t\t\t) }\n\t\t\ticon={ <Icon icon={ plus } style={ iconStyle } /> }\n\t\t\tonClick={ onToggle }\n\t\t\textraProps={ {\n\t\t\t\thint: __( 'Double tap to add a block' ),\n\t\t\t\t// testID is present to disambiguate this element for native UI tests. It's not\n\t\t\t\t// usually required for components. See: https://github.com/WordPress/gutenberg/pull/18832#issuecomment-561411389.\n\t\t\t\ttestID: 'add-block-button',\n\t\t\t\tonLongPress,\n\t\t\t\thitSlop: { top: 10, bottom: 10, left: 10, right: 10 },\n\t\t\t} }\n\t\t\tisDisabled={ disabled }\n\t\t\tcustomContainerStyles={ buttonStyle }\n\t\t\tfixedRatio={ false }\n\t\t/>\n\t);\n};\n\nexport class Inserter extends Component {\n\tannouncementTimeout;\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderInserterToggle = this.renderInserterToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.announcementTimeout );\n\t}\n\n\tgetInsertionOptions() {\n\t\tconst addBeforeOption = {\n\t\t\tvalue: 'before',\n\t\t\tlabel: __( 'Add Block Before' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst replaceCurrentOption = {\n\t\t\tvalue: 'replace',\n\t\t\tlabel: __( 'Replace Current Block' ),\n\t\t\ticon: plusCircleFilled,\n\t\t};\n\n\t\tconst addAfterOption = {\n\t\t\tvalue: 'after',\n\t\t\tlabel: __( 'Add Block After' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst addToBeginningOption = {\n\t\t\tvalue: 'start',\n\t\t\tlabel: __( 'Add To Beginning' ),\n\t\t\ticon: insertBefore,\n\t\t};\n\n\t\tconst addToEndOption = {\n\t\t\tvalue: 'end',\n\t\t\tlabel: __( 'Add To End' ),\n\t\t\ticon: insertAfter,\n\t\t};\n\n\t\tconst { isAnyBlockSelected, isSelectedBlockReplaceable } = this.props;\n\t\tif ( isAnyBlockSelected ) {\n\t\t\tif ( isSelectedBlockReplaceable ) {\n\t\t\t\treturn [\n\t\t\t\t\taddToBeginningOption,\n\t\t\t\t\taddBeforeOption,\n\t\t\t\t\treplaceCurrentOption,\n\t\t\t\t\taddAfterOption,\n\t\t\t\t\taddToEndOption,\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [\n\t\t\t\taddToBeginningOption,\n\t\t\t\taddBeforeOption,\n\t\t\t\taddAfterOption,\n\t\t\t\taddToEndOption,\n\t\t\t];\n\t\t}\n\t\treturn [ addToBeginningOption, addToEndOption ];\n\t}\n\n\tgetInsertionIndex( insertionType ) {\n\t\tconst {\n\t\t\tinsertionIndexDefault,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexEnd,\n\t\t} = this.props;\n\t\tif ( insertionType === 'start' ) {\n\t\t\treturn insertionIndexStart;\n\t\t}\n\t\tif ( insertionType === 'before' || insertionType === 'replace' ) {\n\t\t\treturn insertionIndexBefore;\n\t\t}\n\t\tif ( insertionType === 'after' ) {\n\t\t\treturn insertionIndexAfter;\n\t\t}\n\t\tif ( insertionType === 'end' ) {\n\t\t\treturn insertionIndexEnd;\n\t\t}\n\t\treturn insertionIndexDefault;\n\t}\n\n\tshouldReplaceBlock( insertionType ) {\n\t\tconst { isSelectedBlockReplaceable } = this.props;\n\t\tif ( insertionType === 'replace' ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( insertionType === 'default' && isSelectedBlockReplaceable ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { blockTypeImpressions, onToggle, updateSettings } = this.props;\n\n\t\tif ( ! isOpen ) {\n\t\t\tconst impressionsRemain = Object.values(\n\t\t\t\tblockTypeImpressions\n\t\t\t).some( ( count ) => count > 0 );\n\n\t\t\tif ( impressionsRemain ) {\n\t\t\t\tconst decrementedImpressions = Object.entries(\n\t\t\t\t\tblockTypeImpressions\n\t\t\t\t).reduce(\n\t\t\t\t\t( acc, [ blockName, count ] ) => ( {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ blockName ]: Math.max( count - 1, 0 ),\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\t// Persist block type impression to JavaScript store.\n\t\t\t\tupdateSettings( {\n\t\t\t\t\timpressions: decrementedImpressions,\n\t\t\t\t} );\n\n\t\t\t\t// Persist block type impression count to native app store.\n\t\t\t\tsetBlockTypeImpressions( decrementedImpressions );\n\t\t\t}\n\t\t}\n\n\t\t// Surface toggle callback to parent component.\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t\tthis.onInserterToggledAnnouncement( isOpen );\n\t}\n\n\tonInserterToggledAnnouncement( isOpen ) {\n\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( isEnabled ) => {\n\t\t\tif ( isEnabled ) {\n\t\t\t\tconst isIOS = Platform.OS === 'ios';\n\t\t\t\tconst announcement = isOpen\n\t\t\t\t\t? __( 'Scrollable block menu opened. Select a block.' )\n\t\t\t\t\t: __( 'Scrollable block menu closed.' );\n\t\t\t\tthis.announcementTimeout = setTimeout(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tAccessibilityInfo.announceForAccessibility(\n\t\t\t\t\t\t\tannouncement\n\t\t\t\t\t\t),\n\t\t\t\t\tisIOS ? VOICE_OVER_ANNOUNCEMENT_DELAY : 0\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown toggle element.\n\t */\n\trenderInserterToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tshowSeparator,\n\t\t} = this.props;\n\t\tif ( showSeparator && isOpen ) {\n\t\t\treturn <BlockInsertionPoint />;\n\t\t}\n\n\t\tconst buttonStyle = getStylesFromColorScheme(\n\t\t\tstyles[ 'inserter-menu__add-block-button' ],\n\t\t\tstyles[ 'inserter-menu__add-block-button--dark' ]\n\t\t);\n\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles[ 'inserter-menu__add-block-button-icon' ],\n\t\t\tstyles[ 'inserter-menu__add-block-button-icon--dark' ]\n\t\t);\n\n\t\tconst onPress = () => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock( 'default' ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( 'default' ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\tconst onLongPress = () => {\n\t\t\tif ( this.picker ) {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t};\n\n\t\tconst onPickerSelect = ( insertionType ) => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock:\n\t\t\t\t\t\tthis.shouldReplaceBlock( insertionType ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( insertionType ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ renderToggle( {\n\t\t\t\t\tonToggle: onPress,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tdisabled,\n\t\t\t\t\ticonStyle,\n\t\t\t\t\tbuttonStyle,\n\t\t\t\t\tonLongPress,\n\t\t\t\t} ) }\n\t\t\t\t<Picker\n\t\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\t\toptions={ this.getInsertionOptions() }\n\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown content element.\n\t */\n\trenderContent( { onClose, isOpen } ) {\n\t\tconst { clientId, isAppender } = this.props;\n\t\tconst { destinationRootClientId, shouldReplaceBlock, insertionIndex } =\n\t\t\tthis.state;\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tisOpen={ isOpen }\n\t\t\t\tonSelect={ onClose }\n\t\t\t\tonDismiss={ onClose }\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshouldReplaceBlock={ shouldReplaceBlock }\n\t\t\t\tinsertionIndex={ insertionIndex }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderInserterToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { updateSettings } = dispatch( blockEditorStore );\n\t\treturn { updateSettings };\n\t} ),\n\twithSelect( ( select, { clientId, isAppender, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockIndex,\n\t\t\tgetBlock,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst end = getBlockSelectionEnd();\n\t\t// `end` argument (id) can refer to the component which is removed\n\t\t// due to pressing `undo` button, that's why we need to check\n\t\t// if `getBlock( end) is valid, otherwise `null` is passed\n\t\tconst isAnyBlockSelected = ! isAppender && end && getBlock( end );\n\t\tconst destinationRootClientId = isAnyBlockSelected\n\t\t\t? getBlockRootClientId( end )\n\t\t\t: rootClientId;\n\t\tconst selectedBlockIndex = getBlockIndex( end );\n\t\tconst endOfRootIndex = getBlockOrder( rootClientId ).length;\n\t\tconst isSelectedUnmodifiedDefaultBlock = isAnyBlockSelected\n\t\t\t? isUnmodifiedDefaultBlock( getBlock( end ) )\n\t\t\t: undefined;\n\n\t\tfunction getDefaultInsertionIndex() {\n\t\t\tconst { __experimentalShouldInsertAtTheTop: shouldInsertAtTheTop } =\n\t\t\t\tgetBlockEditorSettings();\n\n\t\t\t// If post title is selected insert as first block.\n\t\t\tif ( shouldInsertAtTheTop ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\tif ( clientId ) {\n\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t}\n\n\t\t\t// If there is a selected block,\n\t\t\tif ( isAnyBlockSelected ) {\n\t\t\t\t// And the last selected block is unmodified (empty), it will be replaced.\n\t\t\t\tif ( isSelectedUnmodifiedDefaultBlock ) {\n\t\t\t\t\treturn selectedBlockIndex;\n\t\t\t\t}\n\n\t\t\t\t// We insert after the selected block.\n\t\t\t\treturn selectedBlockIndex + 1;\n\t\t\t}\n\n\t\t\t// Otherwise, we insert at the end of the current rootClientId.\n\t\t\treturn endOfRootIndex;\n\t\t}\n\n\t\tconst insertionIndexStart = 0;\n\n\t\tconst insertionIndexBefore = isAnyBlockSelected\n\t\t\t? selectedBlockIndex\n\t\t\t: insertionIndexStart;\n\n\t\tconst insertionIndexAfter = isAnyBlockSelected\n\t\t\t? selectedBlockIndex + 1\n\t\t\t: endOfRootIndex;\n\n\t\tconst insertionIndexEnd = endOfRootIndex;\n\n\t\treturn {\n\t\t\tblockTypeImpressions: getBlockEditorSettings().impressions,\n\t\t\tdestinationRootClientId,\n\t\t\tinsertionIndexDefault: getDefaultInsertionIndex(),\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexEnd,\n\t\t\tisAnyBlockSelected: !! isAnyBlockSelected,\n\t\t\tisSelectedBlockReplaceable: isSelectedUnmodifiedDefaultBlock,\n\t\t};\n\t} ),\n\n\twithPreferredColorScheme,\n] )( Inserter );\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,iBAAiB,EAAEC,QAAQ,QAAQ,cAAc;;AAE1D;AACA;AACA;AACA,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,QAAQ,EAAEC,aAAa,EAAEC,MAAM,QAAQ,uBAAuB;AACvE,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAC1D,SAASC,OAAO,EAAEC,wBAAwB,QAAQ,oBAAoB;AACtE,SAASC,wBAAwB,QAAQ,mBAAmB;AAC5D,SACCC,IAAI,EACJC,IAAI,EACJC,UAAU,EACVC,gBAAgB,EAChBC,WAAW,EACXC,YAAY,QACN,kBAAkB;AACzB,SAASC,uBAAuB,QAAQ,gCAAgC;;AAExE;AACA;AACA;AACA,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,YAAY,MAAM,QAAQ;AACjC,OAAOC,mBAAmB,MAAM,+BAA+B;AAC/D,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AAEvD,MAAMC,6BAA6B,GAAG,IAAI;AAE1C,MAAMC,mBAAmB,GAAGA,CAAE;EAC7BC,QAAQ;EACRC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXC;AACD,CAAC,KAAM;EACN,OACCC,aAAA,CAAC3B,aAAa;IACb4B,KAAK,EAAG9B,EAAE,CACT,WAAW,EACX,yCACD,CAAG;IACH+B,IAAI,EAAGF,aAAA,CAACnB,IAAI;MAACqB,IAAI,EAAGpB,IAAM;MAACqB,KAAK,EAAGN;IAAW,CAAE,CAAG;IACnDO,OAAO,EAAGT,QAAU;IACpBU,UAAU,EAAG;MACZC,IAAI,EAAEpC,EAAE,CAAE,2BAA4B,CAAC;MACvC;MACA;MACAqC,MAAM,EAAE,kBAAkB;MAC1BR,WAAW;MACXS,OAAO,EAAE;QAAEC,GAAG,EAAE,EAAE;QAAEC,MAAM,EAAE,EAAE;QAAEC,IAAI,EAAE,EAAE;QAAEC,KAAK,EAAE;MAAG;IACrD,CAAG;IACHC,UAAU,EAAGjB,QAAU;IACvBkB,qBAAqB,EAAGhB,WAAa;IACrCiB,UAAU,EAAG;EAAO,CACpB,CAAC;AAEJ,CAAC;AAED,OAAO,MAAMC,QAAQ,SAASzC,SAAS,CAAC;EACvC0C,mBAAmB;EAEnBC,WAAWA,CAAA,EAAG;IACb,KAAK,CAAE,GAAGC,SAAU,CAAC;IAErB,IAAI,CAACxB,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACyB,IAAI,CAAE,IAAK,CAAC;IAC1C,IAAI,CAACC,oBAAoB,GAAG,IAAI,CAACA,oBAAoB,CAACD,IAAI,CAAE,IAAK,CAAC;IAClE,IAAI,CAACE,aAAa,GAAG,IAAI,CAACA,aAAa,CAACF,IAAI,CAAE,IAAK,CAAC;EACrD;EAEAG,oBAAoBA,CAAA,EAAG;IACtBC,YAAY,CAAE,IAAI,CAACP,mBAAoB,CAAC;EACzC;EAEAQ,mBAAmBA,CAAA,EAAG;IACrB,MAAMC,eAAe,GAAG;MACvBC,KAAK,EAAE,QAAQ;MACfC,KAAK,EAAE1D,EAAE,CAAE,kBAAmB,CAAC;MAC/BgC,IAAI,EAAEnB;IACP,CAAC;IAED,MAAM8C,oBAAoB,GAAG;MAC5BF,KAAK,EAAE,SAAS;MAChBC,KAAK,EAAE1D,EAAE,CAAE,uBAAwB,CAAC;MACpCgC,IAAI,EAAElB;IACP,CAAC;IAED,MAAM8C,cAAc,GAAG;MACtBH,KAAK,EAAE,OAAO;MACdC,KAAK,EAAE1D,EAAE,CAAE,iBAAkB,CAAC;MAC9BgC,IAAI,EAAEnB;IACP,CAAC;IAED,MAAMgD,oBAAoB,GAAG;MAC5BJ,KAAK,EAAE,OAAO;MACdC,KAAK,EAAE1D,EAAE,CAAE,kBAAmB,CAAC;MAC/BgC,IAAI,EAAEhB;IACP,CAAC;IAED,MAAM8C,cAAc,GAAG;MACtBL,KAAK,EAAE,KAAK;MACZC,KAAK,EAAE1D,EAAE,CAAE,YAAa,CAAC;MACzBgC,IAAI,EAAEjB;IACP,CAAC;IAED,MAAM;MAAEgD,kBAAkB;MAAEC;IAA2B,CAAC,GAAG,IAAI,CAACC,KAAK;IACrE,IAAKF,kBAAkB,EAAG;MACzB,IAAKC,0BAA0B,EAAG;QACjC,OAAO,CACNH,oBAAoB,EACpBL,eAAe,EACfG,oBAAoB,EACpBC,cAAc,EACdE,cAAc,CACd;MACF;MACA,OAAO,CACND,oBAAoB,EACpBL,eAAe,EACfI,cAAc,EACdE,cAAc,CACd;IACF;IACA,OAAO,CAAED,oBAAoB,EAAEC,cAAc,CAAE;EAChD;EAEAI,iBAAiBA,CAAEC,aAAa,EAAG;IAClC,MAAM;MACLC,qBAAqB;MACrBC,mBAAmB;MACnBC,oBAAoB;MACpBC,mBAAmB;MACnBC;IACD,CAAC,GAAG,IAAI,CAACP,KAAK;IACd,IAAKE,aAAa,KAAK,OAAO,EAAG;MAChC,OAAOE,mBAAmB;IAC3B;IACA,IAAKF,aAAa,KAAK,QAAQ,IAAIA,aAAa,KAAK,SAAS,EAAG;MAChE,OAAOG,oBAAoB;IAC5B;IACA,IAAKH,aAAa,KAAK,OAAO,EAAG;MAChC,OAAOI,mBAAmB;IAC3B;IACA,IAAKJ,aAAa,KAAK,KAAK,EAAG;MAC9B,OAAOK,iBAAiB;IACzB;IACA,OAAOJ,qBAAqB;EAC7B;EAEAK,kBAAkBA,CAAEN,aAAa,EAAG;IACnC,MAAM;MAAEH;IAA2B,CAAC,GAAG,IAAI,CAACC,KAAK;IACjD,IAAKE,aAAa,KAAK,SAAS,EAAG;MAClC,OAAO,IAAI;IACZ;IACA,IAAKA,aAAa,KAAK,SAAS,IAAIH,0BAA0B,EAAG;MAChE,OAAO,IAAI;IACZ;IACA,OAAO,KAAK;EACb;EAEAvC,QAAQA,CAAEiD,MAAM,EAAG;IAClB,MAAM;MAAEC,oBAAoB;MAAElD,QAAQ;MAAEmD;IAAe,CAAC,GAAG,IAAI,CAACX,KAAK;IAErE,IAAK,CAAES,MAAM,EAAG;MACf,MAAMG,iBAAiB,GAAGC,MAAM,CAACC,MAAM,CACtCJ,oBACD,CAAC,CAACK,IAAI,CAAIC,KAAK,IAAMA,KAAK,GAAG,CAAE,CAAC;MAEhC,IAAKJ,iBAAiB,EAAG;QACxB,MAAMK,sBAAsB,GAAGJ,MAAM,CAACK,OAAO,CAC5CR,oBACD,CAAC,CAACS,MAAM,CACP,CAAEC,GAAG,EAAE,CAAEC,SAAS,EAAEL,KAAK,CAAE,MAAQ;UAClC,GAAGI,GAAG;UACN,CAAEC,SAAS,GAAIC,IAAI,CAACC,GAAG,CAAEP,KAAK,GAAG,CAAC,EAAE,CAAE;QACvC,CAAC,CAAE,EACH,CAAC,CACF,CAAC;;QAED;QACAL,cAAc,CAAE;UACfa,WAAW,EAAEP;QACd,CAAE,CAAC;;QAEH;QACAjE,uBAAuB,CAAEiE,sBAAuB,CAAC;MAClD;IACD;;IAEA;IACA,IAAKzD,QAAQ,EAAG;MACfA,QAAQ,CAAEiD,MAAO,CAAC;IACnB;IACA,IAAI,CAACgB,6BAA6B,CAAEhB,MAAO,CAAC;EAC7C;EAEAgB,6BAA6BA,CAAEhB,MAAM,EAAG;IACvC5E,iBAAiB,CAAC6F,qBAAqB,CAAC,CAAC,CAACC,IAAI,CAAIC,SAAS,IAAM;MAChE,IAAKA,SAAS,EAAG;QAChB,MAAMC,KAAK,GAAG/F,QAAQ,CAACgG,EAAE,KAAK,KAAK;QACnC,MAAMC,YAAY,GAAGtB,MAAM,GACxB1E,EAAE,CAAE,+CAAgD,CAAC,GACrDA,EAAE,CAAE,+BAAgC,CAAC;QACxC,IAAI,CAAC+C,mBAAmB,GAAGkD,UAAU,CACpC,MACCnG,iBAAiB,CAACoG,wBAAwB,CACzCF,YACD,CAAC,EACFF,KAAK,GAAGvE,6BAA6B,GAAG,CACzC,CAAC;MACF;IACD,CAAE,CAAC;EACJ;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC4B,oBAAoBA,CAAE;IAAE1B,QAAQ;IAAEiD;EAAO,CAAC,EAAG;IAC5C,MAAM;MACLhD,QAAQ;MACRyE,YAAY,GAAG3E,mBAAmB;MAClC4E,wBAAwB;MACxBC;IACD,CAAC,GAAG,IAAI,CAACpC,KAAK;IACd,IAAKoC,aAAa,IAAI3B,MAAM,EAAG;MAC9B,OAAO5C,aAAA,CAACV,mBAAmB,MAAE,CAAC;IAC/B;IAEA,MAAMQ,WAAW,GAAGwE,wBAAwB,CAC3ClF,MAAM,CAAE,iCAAiC,CAAE,EAC3CA,MAAM,CAAE,uCAAuC,CAChD,CAAC;IAED,MAAMS,SAAS,GAAGyE,wBAAwB,CACzClF,MAAM,CAAE,sCAAsC,CAAE,EAChDA,MAAM,CAAE,4CAA4C,CACrD,CAAC;IAED,MAAMoF,OAAO,GAAGA,CAAA,KAAM;MACrB,IAAI,CAACC,QAAQ,CACZ;QACCC,uBAAuB,EAAE,IAAI,CAACvC,KAAK,CAACuC,uBAAuB;QAC3D/B,kBAAkB,EAAE,IAAI,CAACA,kBAAkB,CAAE,SAAU,CAAC;QACxDgC,cAAc,EAAE,IAAI,CAACvC,iBAAiB,CAAE,SAAU;MACnD,CAAC,EACDzC,QACD,CAAC;IACF,CAAC;IAED,MAAMI,WAAW,GAAGA,CAAA,KAAM;MACzB,IAAK,IAAI,CAAC6E,MAAM,EAAG;QAClB,IAAI,CAACA,MAAM,CAACC,aAAa,CAAC,CAAC;MAC5B;IACD,CAAC;IAED,MAAMC,cAAc,GAAKzC,aAAa,IAAM;MAC3C,IAAI,CAACoC,QAAQ,CACZ;QACCC,uBAAuB,EAAE,IAAI,CAACvC,KAAK,CAACuC,uBAAuB;QAC3D/B,kBAAkB,EACjB,IAAI,CAACA,kBAAkB,CAAEN,aAAc,CAAC;QACzCsC,cAAc,EAAE,IAAI,CAACvC,iBAAiB,CAAEC,aAAc;MACvD,CAAC,EACD1C,QACD,CAAC;IACF,CAAC;IAED,OACCK,aAAA,CAAA+E,QAAA,QACGV,YAAY,CAAE;MACf1E,QAAQ,EAAE6E,OAAO;MACjB5B,MAAM;MACNhD,QAAQ;MACRC,SAAS;MACTC,WAAW;MACXC;IACD,CAAE,CAAC,EACHC,aAAA,CAAC1B,MAAM;MACN0G,GAAG,EAAKC,QAAQ,IAAQ,IAAI,CAACL,MAAM,GAAGK,QAAY;MAClDC,OAAO,EAAG,IAAI,CAACzD,mBAAmB,CAAC,CAAG;MACtC0D,QAAQ,EAAGL,cAAgB;MAC3BM,gBAAgB;IAAA,CAChB,CACA,CAAC;EAEL;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC9D,aAAaA,CAAE;IAAE+D,OAAO;IAAEzC;EAAO,CAAC,EAAG;IACpC,MAAM;MAAE0C,QAAQ;MAAEC;IAAW,CAAC,GAAG,IAAI,CAACpD,KAAK;IAC3C,MAAM;MAAEuC,uBAAuB;MAAE/B,kBAAkB;MAAEgC;IAAe,CAAC,GACpE,IAAI,CAACa,KAAK;IACX,OACCxF,aAAA,CAACX,YAAY;MACZuD,MAAM,EAAGA,MAAQ;MACjB6C,QAAQ,EAAGJ,OAAS;MACpBK,SAAS,EAAGL,OAAS;MACrBM,YAAY,EAAGjB,uBAAyB;MACxCY,QAAQ,EAAGA,QAAU;MACrBC,UAAU,EAAGA,UAAY;MACzB5C,kBAAkB,EAAGA,kBAAoB;MACzCgC,cAAc,EAAGA;IAAgB,CACjC,CAAC;EAEJ;EAEAiB,MAAMA,CAAA,EAAG;IACR,OACC5F,aAAA,CAAC5B,QAAQ;MACRuB,QAAQ,EAAG,IAAI,CAACA,QAAU;MAC1BkG,WAAW,EAAG3H,EAAE,CAAE,aAAc,CAAG;MACnCmG,YAAY,EAAG,IAAI,CAAChD,oBAAsB;MAC1CC,aAAa,EAAG,IAAI,CAACA;IAAe,CACpC,CAAC;EAEJ;AACD;AAEA,eAAe5C,OAAO,CAAE,CACvBF,YAAY,CAAIsH,QAAQ,IAAM;EAC7B,MAAM;IAAEhD;EAAe,CAAC,GAAGgD,QAAQ,CAAEtG,gBAAiB,CAAC;EACvD,OAAO;IAAEsD;EAAe,CAAC;AAC1B,CAAE,CAAC,EACHrE,UAAU,CAAE,CAAEsH,MAAM,EAAE;EAAET,QAAQ;EAAEC,UAAU;EAAEI;AAAa,CAAC,KAAM;EACjE,MAAM;IACLK,oBAAoB;IACpBC,oBAAoB;IACpBC,aAAa;IACbC,aAAa;IACbC,QAAQ;IACRC,WAAW,EAAEC;EACd,CAAC,GAAGP,MAAM,CAAEvG,gBAAiB,CAAC;EAE9B,MAAM+G,GAAG,GAAGN,oBAAoB,CAAC,CAAC;EAClC;EACA;EACA;EACA,MAAMhE,kBAAkB,GAAG,CAAEsD,UAAU,IAAIgB,GAAG,IAAIH,QAAQ,CAAEG,GAAI,CAAC;EACjE,MAAM7B,uBAAuB,GAAGzC,kBAAkB,GAC/C+D,oBAAoB,CAAEO,GAAI,CAAC,GAC3BZ,YAAY;EACf,MAAMa,kBAAkB,GAAGL,aAAa,CAAEI,GAAI,CAAC;EAC/C,MAAME,cAAc,GAAGP,aAAa,CAAEP,YAAa,CAAC,CAACe,MAAM;EAC3D,MAAMC,gCAAgC,GAAG1E,kBAAkB,GACxDrD,wBAAwB,CAAEwH,QAAQ,CAAEG,GAAI,CAAE,CAAC,GAC3CK,SAAS;EAEZ,SAASC,wBAAwBA,CAAA,EAAG;IACnC,MAAM;MAAEC,kCAAkC,EAAEC;IAAqB,CAAC,GACjET,sBAAsB,CAAC,CAAC;;IAEzB;IACA,IAAKS,oBAAoB,EAAG;MAC3B,OAAO,CAAC;IACT;;IAEA;IACA,IAAKzB,QAAQ,EAAG;MACf,OAAOa,aAAa,CAAEb,QAAS,CAAC;IACjC;;IAEA;IACA,IAAKrD,kBAAkB,EAAG;MACzB;MACA,IAAK0E,gCAAgC,EAAG;QACvC,OAAOH,kBAAkB;MAC1B;;MAEA;MACA,OAAOA,kBAAkB,GAAG,CAAC;IAC9B;;IAEA;IACA,OAAOC,cAAc;EACtB;EAEA,MAAMlE,mBAAmB,GAAG,CAAC;EAE7B,MAAMC,oBAAoB,GAAGP,kBAAkB,GAC5CuE,kBAAkB,GAClBjE,mBAAmB;EAEtB,MAAME,mBAAmB,GAAGR,kBAAkB,GAC3CuE,kBAAkB,GAAG,CAAC,GACtBC,cAAc;EAEjB,MAAM/D,iBAAiB,GAAG+D,cAAc;EAExC,OAAO;IACN5D,oBAAoB,EAAEyD,sBAAsB,CAAC,CAAC,CAAC3C,WAAW;IAC1De,uBAAuB;IACvBpC,qBAAqB,EAAEuE,wBAAwB,CAAC,CAAC;IACjDrE,oBAAoB;IACpBC,mBAAmB;IACnBF,mBAAmB;IACnBG,iBAAiB;IACjBT,kBAAkB,EAAE,CAAC,CAAEA,kBAAkB;IACzCC,0BAA0B,EAAEyE;EAC7B,CAAC;AACF,CAAE,CAAC,EAEHhI,wBAAwB,CACvB,CAAC,CAAEqC,QAAS,CAAC"}
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */