@wordpress/block-editor 12.10.3 → 12.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1253) 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 +9 -8
  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 +18 -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 +6 -5
  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 +21 -19
  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/hooks.js +4 -33
  384. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  385. package/build/components/inserter/media-tab/media-list.js +3 -3
  386. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  387. package/build/components/inserter/media-tab/media-panel.js +7 -6
  388. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  389. package/build/components/inserter/media-tab/media-preview.js +18 -17
  390. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  391. package/build/components/inserter/media-tab/media-tab.js +12 -11
  392. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  393. package/build/components/inserter/media-tab/utils.js +2 -2
  394. package/build/components/inserter/media-tab/utils.js.map +1 -1
  395. package/build/components/inserter/menu.js +19 -18
  396. package/build/components/inserter/menu.js.map +1 -1
  397. package/build/components/inserter/menu.native.js +9 -8
  398. package/build/components/inserter/menu.native.js.map +1 -1
  399. package/build/components/inserter/mobile-tab-navigation.js +12 -12
  400. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  401. package/build/components/inserter/no-results.js +4 -4
  402. package/build/components/inserter/no-results.js.map +1 -1
  403. package/build/components/inserter/no-results.native.js +4 -4
  404. package/build/components/inserter/no-results.native.js.map +1 -1
  405. package/build/components/inserter/panel.js +5 -5
  406. package/build/components/inserter/panel.js.map +1 -1
  407. package/build/components/inserter/preview-panel.js +8 -7
  408. package/build/components/inserter/preview-panel.js.map +1 -1
  409. package/build/components/inserter/quick-inserter.js +7 -6
  410. package/build/components/inserter/quick-inserter.js.map +1 -1
  411. package/build/components/inserter/reusable-block-rename-hint.js +5 -4
  412. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
  413. package/build/components/inserter/reusable-blocks-tab.native.js +3 -2
  414. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  415. package/build/components/inserter/search-results.js +11 -10
  416. package/build/components/inserter/search-results.js.map +1 -1
  417. package/build/components/inserter/search-results.native.js +4 -3
  418. package/build/components/inserter/search-results.native.js.map +1 -1
  419. package/build/components/inserter/tabs.js +2 -1
  420. package/build/components/inserter/tabs.js.map +1 -1
  421. package/build/components/inserter/tabs.native.js +7 -6
  422. package/build/components/inserter/tabs.native.js.map +1 -1
  423. package/build/components/inserter/tips.js +6 -5
  424. package/build/components/inserter/tips.js.map +1 -1
  425. package/build/components/inserter-draggable-blocks/index.js +3 -3
  426. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  427. package/build/components/inserter-list-item/index.js +9 -8
  428. package/build/components/inserter-list-item/index.js.map +1 -1
  429. package/build/components/inserter-listbox/group.js +2 -1
  430. package/build/components/inserter-listbox/group.js.map +1 -1
  431. package/build/components/inserter-listbox/index.js +2 -2
  432. package/build/components/inserter-listbox/index.js.map +1 -1
  433. package/build/components/inserter-listbox/item.js +5 -4
  434. package/build/components/inserter-listbox/item.js.map +1 -1
  435. package/build/components/inserter-listbox/row.js +2 -1
  436. package/build/components/inserter-listbox/row.js.map +1 -1
  437. package/build/components/inspector-controls/block-support-slot-container.js +3 -2
  438. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  439. package/build/components/inspector-controls/block-support-tools-panel.js +3 -2
  440. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  441. package/build/components/inspector-controls/fill.js +7 -6
  442. package/build/components/inspector-controls/fill.js.map +1 -1
  443. package/build/components/inspector-controls/fill.native.js +4 -3
  444. package/build/components/inspector-controls/fill.native.js.map +1 -1
  445. package/build/components/inspector-controls/index.js +3 -3
  446. package/build/components/inspector-controls/index.js.map +1 -1
  447. package/build/components/inspector-controls/slot.js +5 -4
  448. package/build/components/inspector-controls/slot.js.map +1 -1
  449. package/build/components/inspector-controls/slot.native.js +2 -2
  450. package/build/components/inspector-controls/slot.native.js.map +1 -1
  451. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +3 -3
  452. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  453. package/build/components/inspector-controls-tabs/index.js +5 -5
  454. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  455. package/build/components/inspector-controls-tabs/position-controls-panel.js +5 -4
  456. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  457. package/build/components/inspector-controls-tabs/settings-tab-hint.js +5 -4
  458. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  459. package/build/components/inspector-controls-tabs/settings-tab.js +2 -2
  460. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  461. package/build/components/inspector-controls-tabs/styles-tab.js +11 -11
  462. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  463. package/build/components/inspector-popover-header/index.js +8 -8
  464. package/build/components/inspector-popover-header/index.js.map +1 -1
  465. package/build/components/justify-content-control/index.js +3 -3
  466. package/build/components/justify-content-control/index.js.map +1 -1
  467. package/build/components/justify-content-control/ui.js +2 -2
  468. package/build/components/justify-content-control/ui.js.map +1 -1
  469. package/build/components/letter-spacing-control/index.js +3 -3
  470. package/build/components/letter-spacing-control/index.js.map +1 -1
  471. package/build/components/line-height-control/index.js +3 -3
  472. package/build/components/line-height-control/index.js.map +1 -1
  473. package/build/components/line-height-control/index.native.js +2 -2
  474. package/build/components/line-height-control/index.native.js.map +1 -1
  475. package/build/components/link-control/index.js +18 -17
  476. package/build/components/link-control/index.js.map +1 -1
  477. package/build/components/link-control/link-preview.js +20 -20
  478. package/build/components/link-control/link-preview.js.map +1 -1
  479. package/build/components/link-control/search-create-button.js +4 -3
  480. package/build/components/link-control/search-create-button.js.map +1 -1
  481. package/build/components/link-control/search-input.js +5 -4
  482. package/build/components/link-control/search-input.js.map +1 -1
  483. package/build/components/link-control/search-item.js +5 -5
  484. package/build/components/link-control/search-item.js.map +1 -1
  485. package/build/components/link-control/search-results.js +7 -7
  486. package/build/components/link-control/search-results.js.map +1 -1
  487. package/build/components/link-control/settings-drawer.js +5 -4
  488. package/build/components/link-control/settings-drawer.js.map +1 -1
  489. package/build/components/link-control/settings.js +4 -4
  490. package/build/components/link-control/settings.js.map +1 -1
  491. package/build/components/list-view/appender.js +5 -4
  492. package/build/components/list-view/appender.js.map +1 -1
  493. package/build/components/list-view/aria-referenced-text.js +2 -1
  494. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  495. package/build/components/list-view/block-contents.js +5 -4
  496. package/build/components/list-view/block-contents.js.map +1 -1
  497. package/build/components/list-view/block-select-button.js +16 -15
  498. package/build/components/list-view/block-select-button.js.map +1 -1
  499. package/build/components/list-view/block.js +15 -45
  500. package/build/components/list-view/block.js.map +1 -1
  501. package/build/components/list-view/branch.js +17 -9
  502. package/build/components/list-view/branch.js.map +1 -1
  503. package/build/components/list-view/drop-indicator.js +4 -3
  504. package/build/components/list-view/drop-indicator.js.map +1 -1
  505. package/build/components/list-view/expander.js +3 -3
  506. package/build/components/list-view/expander.js.map +1 -1
  507. package/build/components/list-view/index.js +16 -10
  508. package/build/components/list-view/index.js.map +1 -1
  509. package/build/components/list-view/leaf.js +3 -2
  510. package/build/components/list-view/leaf.js.map +1 -1
  511. package/build/components/list-view/utils.js +35 -0
  512. package/build/components/list-view/utils.js.map +1 -1
  513. package/build/components/media-placeholder/index.js +22 -21
  514. package/build/components/media-placeholder/index.js.map +1 -1
  515. package/build/components/media-placeholder/index.native.js +13 -12
  516. package/build/components/media-placeholder/index.native.js.map +1 -1
  517. package/build/components/media-replace-flow/index.js +14 -13
  518. package/build/components/media-replace-flow/index.js.map +1 -1
  519. package/build/components/media-replace-flow/index.native.js +2 -2
  520. package/build/components/media-replace-flow/index.native.js.map +1 -1
  521. package/build/components/media-upload/{constants.js → constants.native.js} +2 -4
  522. package/build/components/media-upload/constants.native.js.map +1 -0
  523. package/build/components/media-upload/index.js +1 -1
  524. package/build/components/media-upload/index.js.map +1 -1
  525. package/build/components/media-upload/index.native.js +12 -11
  526. package/build/components/media-upload/index.native.js.map +1 -1
  527. package/build/components/media-upload-progress/index.native.js +5 -4
  528. package/build/components/media-upload-progress/index.native.js.map +1 -1
  529. package/build/components/multi-selection-inspector/index.js +6 -6
  530. package/build/components/multi-selection-inspector/index.js.map +1 -1
  531. package/build/components/navigable-toolbar/index.js +4 -3
  532. package/build/components/navigable-toolbar/index.js.map +1 -1
  533. package/build/components/observe-typing/index.js +2 -2
  534. package/build/components/observe-typing/index.js.map +1 -1
  535. package/build/components/panel-color-settings/index.js +2 -2
  536. package/build/components/panel-color-settings/index.js.map +1 -1
  537. package/build/components/plain-text/index.js +4 -3
  538. package/build/components/plain-text/index.js.map +1 -1
  539. package/build/components/plain-text/index.native.js +4 -3
  540. package/build/components/plain-text/index.native.js.map +1 -1
  541. package/build/components/preview-options/index.js +5 -5
  542. package/build/components/preview-options/index.js.map +1 -1
  543. package/build/components/provider/block-refs-provider.js +2 -1
  544. package/build/components/provider/block-refs-provider.js.map +1 -1
  545. package/build/components/provider/index.js +4 -3
  546. package/build/components/provider/index.js.map +1 -1
  547. package/build/components/provider/index.native.js +3 -2
  548. package/build/components/provider/index.native.js.map +1 -1
  549. package/build/components/provider/use-block-sync.js +1 -1
  550. package/build/components/provider/use-block-sync.js.map +1 -1
  551. package/build/components/provider/with-registry-provider.js +4 -3
  552. package/build/components/provider/with-registry-provider.js.map +1 -1
  553. package/build/components/publish-date-time-picker/index.js +5 -4
  554. package/build/components/publish-date-time-picker/index.js.map +1 -1
  555. package/build/components/recursion-provider/index.js +2 -1
  556. package/build/components/recursion-provider/index.js.map +1 -1
  557. package/build/components/resizable-box-popover/index.js +3 -3
  558. package/build/components/resizable-box-popover/index.js.map +1 -1
  559. package/build/components/resolution-tool/index.js +3 -3
  560. package/build/components/resolution-tool/index.js.map +1 -1
  561. package/build/components/responsive-block-control/index.js +10 -9
  562. package/build/components/responsive-block-control/index.js.map +1 -1
  563. package/build/components/responsive-block-control/label.js +3 -3
  564. package/build/components/responsive-block-control/label.js.map +1 -1
  565. package/build/components/rich-text/content.js +3 -2
  566. package/build/components/rich-text/content.js.map +1 -1
  567. package/build/components/rich-text/embed-handler-picker.native.js +2 -1
  568. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  569. package/build/components/rich-text/format-edit.js +4 -3
  570. package/build/components/rich-text/format-edit.js.map +1 -1
  571. package/build/components/rich-text/format-toolbar/index.js +4 -4
  572. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  573. package/build/components/rich-text/format-toolbar/index.native.js +3 -3
  574. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  575. package/build/components/rich-text/format-toolbar-container.js +9 -9
  576. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  577. package/build/components/rich-text/format-toolbar-container.native.js +3 -3
  578. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  579. package/build/components/rich-text/get-rich-text-values.js +2 -1
  580. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  581. package/build/components/rich-text/index.js +9 -8
  582. package/build/components/rich-text/index.js.map +1 -1
  583. package/build/components/rich-text/index.native.js +8 -15
  584. package/build/components/rich-text/index.native.js.map +1 -1
  585. package/build/components/rich-text/multiline.js +3 -2
  586. package/build/components/rich-text/multiline.js.map +1 -1
  587. package/build/components/rich-text/toolbar-button.js +3 -3
  588. package/build/components/rich-text/toolbar-button.js.map +1 -1
  589. package/build/components/rich-text/use-paste-handler.js +5 -87
  590. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  591. package/build/components/rich-text/utils.js +2 -5
  592. package/build/components/rich-text/utils.js.map +1 -1
  593. package/build/components/skip-to-selected-block/index.js +2 -2
  594. package/build/components/skip-to-selected-block/index.js.map +1 -1
  595. package/build/components/spacing-sizes-control/index.js +9 -8
  596. package/build/components/spacing-sizes-control/index.js.map +1 -1
  597. package/build/components/spacing-sizes-control/input-controls/axial.js +3 -3
  598. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  599. package/build/components/spacing-sizes-control/input-controls/separated.js +3 -3
  600. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  601. package/build/components/spacing-sizes-control/input-controls/single.js +2 -2
  602. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  603. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +9 -8
  604. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  605. package/build/components/spacing-sizes-control/sides-dropdown/index.js +6 -6
  606. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  607. package/build/components/text-decoration-control/index.js +6 -6
  608. package/build/components/text-decoration-control/index.js.map +1 -1
  609. package/build/components/text-transform-control/index.js +6 -6
  610. package/build/components/text-transform-control/index.js.map +1 -1
  611. package/build/components/tool-selector/index.js +11 -10
  612. package/build/components/tool-selector/index.js.map +1 -1
  613. package/build/components/typewriter/index.js +3 -3
  614. package/build/components/typewriter/index.js.map +1 -1
  615. package/build/components/ungroup-button/index.native.js +2 -2
  616. package/build/components/ungroup-button/index.native.js.map +1 -1
  617. package/build/components/unit-control/index.js +2 -2
  618. package/build/components/unit-control/index.js.map +1 -1
  619. package/build/components/unsupported-block-details/index.native.js +127 -0
  620. package/build/components/unsupported-block-details/index.native.js.map +1 -0
  621. package/build/components/url-input/button.js +9 -8
  622. package/build/components/url-input/button.js.map +1 -1
  623. package/build/components/url-input/index.js +9 -8
  624. package/build/components/url-input/index.js.map +1 -1
  625. package/build/components/url-input/index.native.js +2 -2
  626. package/build/components/url-input/index.native.js.map +1 -1
  627. package/build/components/url-popover/image-url-input-ui.js +19 -18
  628. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  629. package/build/components/url-popover/index.js +8 -7
  630. package/build/components/url-popover/index.js.map +1 -1
  631. package/build/components/url-popover/link-editor.js +4 -4
  632. package/build/components/url-popover/link-editor.js.map +1 -1
  633. package/build/components/url-popover/link-viewer-url.js +3 -3
  634. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  635. package/build/components/url-popover/link-viewer.js +4 -4
  636. package/build/components/url-popover/link-viewer.js.map +1 -1
  637. package/build/components/use-on-block-drop/index.js +2 -2
  638. package/build/components/use-on-block-drop/index.js.map +1 -1
  639. package/build/components/use-unsupported-block-editor/index.native.js +57 -0
  640. package/build/components/use-unsupported-block-editor/index.native.js.map +1 -0
  641. package/build/components/video-player/gridicon-play.native.js +3 -3
  642. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  643. package/build/components/video-player/index.native.js +6 -5
  644. package/build/components/video-player/index.native.js.map +1 -1
  645. package/build/components/warning/index.js +10 -9
  646. package/build/components/warning/index.js.map +1 -1
  647. package/build/components/warning/index.native.js +6 -6
  648. package/build/components/warning/index.native.js.map +1 -1
  649. package/build/components/writing-flow/index.js +7 -5
  650. package/build/components/writing-flow/index.js.map +1 -1
  651. package/build/components/writing-flow/use-clipboard-handler.js +179 -0
  652. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -0
  653. package/build/components/writing-flow/use-tab-nav.js +4 -3
  654. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  655. package/build/components/writing-mode-control/index.js +6 -6
  656. package/build/components/writing-mode-control/index.js.map +1 -1
  657. package/build/hooks/align.js +6 -6
  658. package/build/hooks/align.js.map +1 -1
  659. package/build/hooks/anchor.js +10 -9
  660. package/build/hooks/anchor.js.map +1 -1
  661. package/build/hooks/background.js +17 -16
  662. package/build/hooks/background.js.map +1 -1
  663. package/build/hooks/block-hooks.js +11 -10
  664. package/build/hooks/block-hooks.js.map +1 -1
  665. package/build/hooks/block-rename-ui.js +17 -16
  666. package/build/hooks/block-rename-ui.js.map +1 -1
  667. package/build/hooks/border.js +6 -5
  668. package/build/hooks/border.js.map +1 -1
  669. package/build/hooks/color.js +7 -6
  670. package/build/hooks/color.js.map +1 -1
  671. package/build/hooks/content-lock-ui.js +9 -8
  672. package/build/hooks/content-lock-ui.js.map +1 -1
  673. package/build/hooks/contrast-checker.js +2 -1
  674. package/build/hooks/contrast-checker.js.map +1 -1
  675. package/build/hooks/custom-class-name.js +7 -7
  676. package/build/hooks/custom-class-name.js.map +1 -1
  677. package/build/hooks/custom-fields.js +8 -8
  678. package/build/hooks/custom-fields.js.map +1 -1
  679. package/build/hooks/dimensions.js +5 -4
  680. package/build/hooks/dimensions.js.map +1 -1
  681. package/build/hooks/duotone.js +10 -9
  682. package/build/hooks/duotone.js.map +1 -1
  683. package/build/hooks/font-size.js +5 -5
  684. package/build/hooks/font-size.js.map +1 -1
  685. package/build/hooks/layout.js +14 -13
  686. package/build/hooks/layout.js.map +1 -1
  687. package/build/hooks/line-height.js +3 -3
  688. package/build/hooks/line-height.js.map +1 -1
  689. package/build/hooks/margin.js +3 -2
  690. package/build/hooks/margin.js.map +1 -1
  691. package/build/hooks/padding.js +3 -2
  692. package/build/hooks/padding.js.map +1 -1
  693. package/build/hooks/position.js +10 -9
  694. package/build/hooks/position.js.map +1 -1
  695. package/build/hooks/style.js +11 -10
  696. package/build/hooks/style.js.map +1 -1
  697. package/build/hooks/typography.js +4 -3
  698. package/build/hooks/typography.js.map +1 -1
  699. package/build/hooks/typography.native.js +4 -4
  700. package/build/hooks/typography.native.js.map +1 -1
  701. package/build/layouts/constrained.js +11 -11
  702. package/build/layouts/constrained.js.map +1 -1
  703. package/build/layouts/flex.js +18 -18
  704. package/build/layouts/flex.js.map +1 -1
  705. package/build/layouts/grid.js +10 -10
  706. package/build/layouts/grid.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/actions.js +8 -12
  710. package/build/store/actions.js.map +1 -1
  711. package/build/store/private-selectors.js +55 -1
  712. package/build/store/private-selectors.js.map +1 -1
  713. package/build/store/reducer.js +19 -1
  714. package/build/store/reducer.js.map +1 -1
  715. package/build/store/selectors.js +1 -1
  716. package/build/store/selectors.js.map +1 -1
  717. package/build/utils/pasting.js +46 -0
  718. package/build/utils/pasting.js.map +1 -1
  719. package/build/utils/transform-styles/transforms/wrap.js +5 -0
  720. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  721. package/build/utils/use-notify-copy.js +53 -0
  722. package/build/utils/use-notify-copy.js.map +1 -0
  723. package/build-module/autocompleters/block.js +1 -1
  724. package/build-module/autocompleters/link.js +1 -1
  725. package/build-module/components/alignment-control/index.js +1 -1
  726. package/build-module/components/alignment-control/ui.js +1 -1
  727. package/build-module/components/autocomplete/index.js +1 -1
  728. package/build-module/components/block-actions/index.js +1 -1
  729. package/build-module/components/block-actions/index.js.map +1 -1
  730. package/build-module/components/block-alignment-control/index.js +1 -1
  731. package/build-module/components/block-alignment-control/ui.js +1 -1
  732. package/build-module/components/block-alignment-control/ui.native.js +1 -1
  733. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  734. package/build-module/components/block-breadcrumb/index.js +2 -2
  735. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  736. package/build-module/components/block-canvas/index.js +7 -9
  737. package/build-module/components/block-canvas/index.js.map +1 -1
  738. package/build-module/components/block-caption/index.native.js +1 -1
  739. package/build-module/components/block-card/index.js +1 -1
  740. package/build-module/components/block-compare/block-view.js +1 -1
  741. package/build-module/components/block-compare/index.js +1 -1
  742. package/build-module/components/block-context/index.js +1 -1
  743. package/build-module/components/block-controls/fill.js +1 -1
  744. package/build-module/components/block-controls/index.js +1 -1
  745. package/build-module/components/block-controls/slot.js +1 -1
  746. package/build-module/components/block-controls/slot.native.js +1 -1
  747. package/build-module/components/block-draggable/draggable-chip.js +1 -1
  748. package/build-module/components/block-draggable/draggable-chip.native.js +1 -1
  749. package/build-module/components/block-draggable/dropping-insertion-point.native.js +1 -1
  750. package/build-module/components/block-draggable/index.js +1 -1
  751. package/build-module/components/block-draggable/index.native.js +1 -1
  752. package/build-module/components/block-edit/edit.js +1 -1
  753. package/build-module/components/block-edit/edit.native.js +1 -1
  754. package/build-module/components/block-edit/index.js +1 -1
  755. package/build-module/components/block-edit-visually-button/index.js +1 -1
  756. package/build-module/components/block-full-height-alignment-control/index.js +1 -1
  757. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +3 -3
  758. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  759. package/build-module/components/block-heading-level-dropdown/index.js +3 -3
  760. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  761. package/build-module/components/block-heading-level-dropdown/index.native.js +3 -3
  762. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  763. package/build-module/components/block-icon/index.js +1 -1
  764. package/build-module/components/block-icon/index.native.js +1 -1
  765. package/build-module/components/block-info-slot-fill/index.js +1 -1
  766. package/build-module/components/block-inspector/index.js +1 -1
  767. package/build-module/components/block-list/block-crash-warning.js +1 -1
  768. package/build-module/components/block-list/block-html.js +1 -1
  769. package/build-module/components/block-list/block-invalid-warning.js +1 -1
  770. package/build-module/components/block-list/block-invalid-warning.native.js +1 -1
  771. package/build-module/components/block-list/block-list-item-cell.native.js +1 -1
  772. package/build-module/components/block-list/block-list-item.native.js +3 -3
  773. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  774. package/build-module/components/block-list/block-outline.native.js +1 -1
  775. package/build-module/components/block-list/block-selection-button.native.js +1 -1
  776. package/build-module/components/block-list/block.js +1 -1
  777. package/build-module/components/block-list/block.native.js +1 -1
  778. package/build-module/components/block-list/grid-item.native.js +1 -1
  779. package/build-module/components/block-list/index.js +1 -1
  780. package/build-module/components/block-list/index.native.js +1 -1
  781. package/build-module/components/block-list/insertion-point.native.js +1 -1
  782. package/build-module/components/block-list/layout.js +1 -1
  783. package/build-module/components/block-list/subdirectory-icon.js +1 -1
  784. package/build-module/components/block-list-appender/index.js +1 -1
  785. package/build-module/components/block-list-appender/index.native.js +1 -1
  786. package/build-module/components/block-lock/menu-item.js +1 -1
  787. package/build-module/components/block-lock/modal.js +1 -1
  788. package/build-module/components/block-lock/toolbar.js +1 -1
  789. package/build-module/components/block-media-update-progress/index.native.js +1 -1
  790. package/build-module/components/block-mover/button.js +1 -1
  791. package/build-module/components/block-mover/index.js +1 -1
  792. package/build-module/components/block-mover/index.native.js +1 -1
  793. package/build-module/components/block-navigation/dropdown.js +1 -1
  794. package/build-module/components/block-parent-selector/index.js +2 -2
  795. package/build-module/components/block-parent-selector/index.js.map +1 -1
  796. package/build-module/components/block-pattern-setup/index.js +1 -1
  797. package/build-module/components/block-pattern-setup/setup-toolbar.js +1 -1
  798. package/build-module/components/block-patterns-list/index.js +1 -1
  799. package/build-module/components/block-patterns-paging/index.js +1 -1
  800. package/build-module/components/block-popover/drop-zone.js +1 -1
  801. package/build-module/components/block-popover/inbetween.js +1 -1
  802. package/build-module/components/block-popover/index.js +1 -1
  803. package/build-module/components/block-preview/auto.js +1 -1
  804. package/build-module/components/block-preview/index.js +2 -2
  805. package/build-module/components/block-preview/index.js.map +1 -1
  806. package/build-module/components/block-quick-navigation/index.js +1 -1
  807. package/build-module/components/block-removal-warning-modal/index.js +1 -1
  808. package/build-module/components/block-selection-clearer/index.js +1 -1
  809. package/build-module/components/block-settings/button.native.js +1 -1
  810. package/build-module/components/block-settings/container.native.js +1 -1
  811. package/build-module/components/block-settings-menu/block-html-convert-button.js +20 -17
  812. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  813. package/build-module/components/block-settings-menu/block-mode-toggle.js +1 -1
  814. package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -1
  815. package/build-module/components/block-settings-menu/index.js +1 -1
  816. package/build-module/components/block-settings-menu-controls/index.js +2 -2
  817. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  818. package/build-module/components/block-styles/index.js +1 -1
  819. package/build-module/components/block-styles/index.native.js +1 -1
  820. package/build-module/components/block-styles/menu-items.js +1 -1
  821. package/build-module/components/block-styles/preview-panel.js +1 -1
  822. package/build-module/components/block-styles/preview.native.js +1 -1
  823. package/build-module/components/block-switcher/block-styles-menu.js +1 -1
  824. package/build-module/components/block-switcher/block-transformations-menu.js +1 -1
  825. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -1
  826. package/build-module/components/block-switcher/block-variation-transformations.js +1 -1
  827. package/build-module/components/block-switcher/index.js +6 -6
  828. package/build-module/components/block-switcher/index.js.map +1 -1
  829. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -1
  830. package/build-module/components/block-switcher/preview-block-popover.js +1 -1
  831. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -1
  832. package/build-module/components/block-toolbar/index.js +1 -1
  833. package/build-module/components/block-toolbar/index.native.js +1 -1
  834. package/build-module/components/block-tools/back-compat.js +1 -1
  835. package/build-module/components/block-tools/block-contextual-toolbar.js +1 -1
  836. package/build-module/components/block-tools/block-selection-button.js +2 -2
  837. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  838. package/build-module/components/block-tools/index.js +1 -1
  839. package/build-module/components/block-tools/insertion-point.js +1 -1
  840. package/build-module/components/block-tools/selected-block-popover.js +1 -1
  841. package/build-module/components/block-tools/zoom-out-mode-inserters.js +1 -1
  842. package/build-module/components/block-types-list/index.js +1 -1
  843. package/build-module/components/block-types-list/index.native.js +1 -1
  844. package/build-module/components/block-variation-picker/index.js +1 -1
  845. package/build-module/components/block-variation-picker/index.native.js +1 -1
  846. package/build-module/components/block-variation-transforms/index.js +1 -1
  847. package/build-module/components/block-vertical-alignment-control/icons.js +1 -1
  848. package/build-module/components/block-vertical-alignment-control/index.js +1 -1
  849. package/build-module/components/block-vertical-alignment-control/ui.js +1 -1
  850. package/build-module/components/border-radius-control/all-input-control.js +1 -1
  851. package/build-module/components/border-radius-control/index.js +2 -2
  852. package/build-module/components/border-radius-control/index.js.map +1 -1
  853. package/build-module/components/border-radius-control/input-controls.js +1 -1
  854. package/build-module/components/border-radius-control/linked-button.js +1 -1
  855. package/build-module/components/button-block-appender/index.js +1 -1
  856. package/build-module/components/button-block-appender/index.native.js +1 -1
  857. package/build-module/components/caption/index.native.js +1 -1
  858. package/build-module/components/child-layout-control/index.js +2 -2
  859. package/build-module/components/child-layout-control/index.js.map +1 -1
  860. package/build-module/components/color-palette/control.js +1 -1
  861. package/build-module/components/color-palette/with-color-context.js +1 -1
  862. package/build-module/components/color-style-selector/index.js +1 -1
  863. package/build-module/components/colors/with-colors.js +2 -2
  864. package/build-module/components/colors/with-colors.js.map +1 -1
  865. package/build-module/components/colors-gradients/control.js +1 -1
  866. package/build-module/components/colors-gradients/dropdown.js +1 -1
  867. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -1
  868. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -1
  869. package/build-module/components/contrast-checker/index.js +1 -1
  870. package/build-module/components/contrast-checker/index.native.js +1 -1
  871. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  872. package/build-module/components/convert-to-group-buttons/toolbar.js +1 -1
  873. package/build-module/components/copy-handler/index.js +25 -205
  874. package/build-module/components/copy-handler/index.js.map +1 -1
  875. package/build-module/components/date-format-picker/index.js +1 -1
  876. package/build-module/components/default-block-appender/index.js +1 -1
  877. package/build-module/components/default-block-appender/index.native.js +1 -1
  878. package/build-module/components/default-style-picker/index.js +1 -1
  879. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +1 -1
  880. package/build-module/components/dimensions-tool/index.js +2 -2
  881. package/build-module/components/dimensions-tool/index.js.map +1 -1
  882. package/build-module/components/dimensions-tool/scale-tool.js +2 -2
  883. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  884. package/build-module/components/dimensions-tool/width-height-tool.js +3 -3
  885. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  886. package/build-module/components/duotone-control/index.js +10 -2
  887. package/build-module/components/duotone-control/index.js.map +1 -1
  888. package/build-module/components/editable-text/index.js +1 -1
  889. package/build-module/components/editor-styles/index.js +1 -1
  890. package/build-module/components/floating-toolbar/index.native.js +1 -1
  891. package/build-module/components/floating-toolbar/nav-up-icon.js +1 -1
  892. package/build-module/components/font-appearance-control/index.js +2 -2
  893. package/build-module/components/font-appearance-control/index.js.map +1 -1
  894. package/build-module/components/font-family/index.js +1 -1
  895. package/build-module/components/font-sizes/font-size-picker.js +1 -1
  896. package/build-module/components/font-sizes/with-font-sizes.js +1 -1
  897. package/build-module/components/global-styles/advanced-panel.js +1 -1
  898. package/build-module/components/global-styles/border-panel.js +1 -1
  899. package/build-module/components/global-styles/color-panel.js +1 -1
  900. package/build-module/components/global-styles/color-panel.native.js +1 -1
  901. package/build-module/components/global-styles/dimensions-panel.js +1 -1
  902. package/build-module/components/global-styles/effects-panel.js +1 -1
  903. package/build-module/components/global-styles/filters-panel.js +1 -1
  904. package/build-module/components/global-styles/image-settings-panel.js +1 -1
  905. package/build-module/components/global-styles/typography-panel.js +1 -1
  906. package/build-module/components/gradients/with-gradient.js +1 -1
  907. package/build-module/components/height-control/index.js +2 -2
  908. package/build-module/components/height-control/index.js.map +1 -1
  909. package/build-module/components/iframe/index.js +1 -1
  910. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -1
  911. package/build-module/components/image-editor/context.js +1 -1
  912. package/build-module/components/image-editor/cropper.js +1 -1
  913. package/build-module/components/image-editor/form-controls.js +1 -1
  914. package/build-module/components/image-editor/index.js +1 -1
  915. package/build-module/components/image-editor/rotation-button.js +1 -1
  916. package/build-module/components/image-editor/zoom-dropdown.js +1 -1
  917. package/build-module/components/image-size-control/index.js +1 -1
  918. package/build-module/components/index.js +1 -1
  919. package/build-module/components/index.js.map +1 -1
  920. package/build-module/components/inner-blocks/button-block-appender.js +1 -1
  921. package/build-module/components/inner-blocks/constants.native.js +6 -0
  922. package/build-module/components/inner-blocks/constants.native.js.map +1 -0
  923. package/build-module/components/inner-blocks/default-block-appender.js +1 -1
  924. package/build-module/components/inner-blocks/index.js +1 -1
  925. package/build-module/components/inner-blocks/index.native.js +13 -1
  926. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  927. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +86 -0
  928. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -0
  929. package/build-module/components/inner-blocks/with-client-id.js +1 -1
  930. package/build-module/components/inserter/block-patterns-explorer/explorer.js +1 -1
  931. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +1 -1
  932. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +1 -1
  933. package/build-module/components/inserter/block-patterns-filter.js +14 -13
  934. package/build-module/components/inserter/block-patterns-filter.js.map +1 -1
  935. package/build-module/components/inserter/block-patterns-tab.js +2 -2
  936. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  937. package/build-module/components/inserter/block-types-tab.js +1 -1
  938. package/build-module/components/inserter/block-types-tab.native.js +1 -1
  939. package/build-module/components/inserter/index.js +3 -3
  940. package/build-module/components/inserter/index.js.map +1 -1
  941. package/build-module/components/inserter/index.native.js +3 -3
  942. package/build-module/components/inserter/index.native.js.map +1 -1
  943. package/build-module/components/inserter/library.js +1 -1
  944. package/build-module/components/inserter/media-tab/hooks.js +5 -34
  945. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  946. package/build-module/components/inserter/media-tab/media-list.js +1 -1
  947. package/build-module/components/inserter/media-tab/media-panel.js +1 -1
  948. package/build-module/components/inserter/media-tab/media-preview.js +1 -1
  949. package/build-module/components/inserter/media-tab/media-tab.js +1 -1
  950. package/build-module/components/inserter/media-tab/utils.js +1 -1
  951. package/build-module/components/inserter/menu.js +1 -1
  952. package/build-module/components/inserter/menu.native.js +1 -1
  953. package/build-module/components/inserter/mobile-tab-navigation.js +1 -1
  954. package/build-module/components/inserter/no-results.js +1 -1
  955. package/build-module/components/inserter/no-results.native.js +1 -1
  956. package/build-module/components/inserter/panel.js +1 -1
  957. package/build-module/components/inserter/preview-panel.js +1 -1
  958. package/build-module/components/inserter/quick-inserter.js +1 -1
  959. package/build-module/components/inserter/reusable-block-rename-hint.js +1 -1
  960. package/build-module/components/inserter/reusable-blocks-tab.native.js +1 -1
  961. package/build-module/components/inserter/search-results.js +1 -1
  962. package/build-module/components/inserter/search-results.native.js +1 -1
  963. package/build-module/components/inserter/tabs.js +1 -1
  964. package/build-module/components/inserter/tabs.native.js +1 -1
  965. package/build-module/components/inserter/tips.js +1 -1
  966. package/build-module/components/inserter-draggable-blocks/index.js +1 -1
  967. package/build-module/components/inserter-list-item/index.js +1 -1
  968. package/build-module/components/inserter-listbox/group.js +1 -1
  969. package/build-module/components/inserter-listbox/index.js +1 -1
  970. package/build-module/components/inserter-listbox/item.js +1 -1
  971. package/build-module/components/inserter-listbox/row.js +1 -1
  972. package/build-module/components/inspector-controls/block-support-slot-container.js +1 -1
  973. package/build-module/components/inspector-controls/block-support-tools-panel.js +1 -1
  974. package/build-module/components/inspector-controls/fill.js +1 -1
  975. package/build-module/components/inspector-controls/fill.native.js +1 -1
  976. package/build-module/components/inspector-controls/index.js +1 -1
  977. package/build-module/components/inspector-controls/slot.js +1 -1
  978. package/build-module/components/inspector-controls/slot.native.js +1 -1
  979. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
  980. package/build-module/components/inspector-controls-tabs/index.js +1 -1
  981. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -1
  982. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
  983. package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -1
  984. package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -1
  985. package/build-module/components/inspector-popover-header/index.js +1 -1
  986. package/build-module/components/justify-content-control/index.js +1 -1
  987. package/build-module/components/justify-content-control/ui.js +1 -1
  988. package/build-module/components/letter-spacing-control/index.js +2 -2
  989. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  990. package/build-module/components/line-height-control/index.js +1 -1
  991. package/build-module/components/line-height-control/index.native.js +1 -1
  992. package/build-module/components/link-control/index.js +1 -1
  993. package/build-module/components/link-control/link-preview.js +1 -1
  994. package/build-module/components/link-control/search-create-button.js +1 -1
  995. package/build-module/components/link-control/search-input.js +1 -1
  996. package/build-module/components/link-control/search-item.js +1 -1
  997. package/build-module/components/link-control/search-results.js +1 -1
  998. package/build-module/components/link-control/settings-drawer.js +1 -1
  999. package/build-module/components/link-control/settings.js +1 -1
  1000. package/build-module/components/list-view/appender.js +1 -1
  1001. package/build-module/components/list-view/aria-referenced-text.js +1 -1
  1002. package/build-module/components/list-view/block-contents.js +1 -1
  1003. package/build-module/components/list-view/block-select-button.js +1 -1
  1004. package/build-module/components/list-view/block.js +4 -35
  1005. package/build-module/components/list-view/block.js.map +1 -1
  1006. package/build-module/components/list-view/branch.js +9 -2
  1007. package/build-module/components/list-view/branch.js.map +1 -1
  1008. package/build-module/components/list-view/drop-indicator.js +1 -1
  1009. package/build-module/components/list-view/expander.js +1 -1
  1010. package/build-module/components/list-view/index.js +9 -4
  1011. package/build-module/components/list-view/index.js.map +1 -1
  1012. package/build-module/components/list-view/leaf.js +1 -1
  1013. package/build-module/components/list-view/utils.js +34 -0
  1014. package/build-module/components/list-view/utils.js.map +1 -1
  1015. package/build-module/components/media-placeholder/index.js +1 -1
  1016. package/build-module/components/media-placeholder/index.native.js +1 -1
  1017. package/build-module/components/media-replace-flow/index.js +1 -1
  1018. package/build-module/components/media-replace-flow/index.native.js +1 -1
  1019. package/build-module/components/media-upload/{constants.js → constants.native.js} +1 -2
  1020. package/build-module/components/media-upload/constants.native.js.map +1 -0
  1021. package/build-module/components/media-upload/index.js +1 -1
  1022. package/build-module/components/media-upload/index.js.map +1 -1
  1023. package/build-module/components/media-upload/index.native.js +7 -7
  1024. package/build-module/components/media-upload/index.native.js.map +1 -1
  1025. package/build-module/components/media-upload-progress/index.native.js +1 -1
  1026. package/build-module/components/multi-selection-inspector/index.js +1 -1
  1027. package/build-module/components/navigable-toolbar/index.js +1 -1
  1028. package/build-module/components/observe-typing/index.js +1 -1
  1029. package/build-module/components/panel-color-settings/index.js +1 -1
  1030. package/build-module/components/plain-text/index.js +1 -1
  1031. package/build-module/components/plain-text/index.native.js +1 -1
  1032. package/build-module/components/preview-options/index.js +1 -1
  1033. package/build-module/components/provider/block-refs-provider.js +1 -1
  1034. package/build-module/components/provider/index.js +1 -1
  1035. package/build-module/components/provider/index.native.js +1 -1
  1036. package/build-module/components/provider/use-block-sync.js +1 -1
  1037. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1038. package/build-module/components/provider/with-registry-provider.js +1 -1
  1039. package/build-module/components/publish-date-time-picker/index.js +1 -1
  1040. package/build-module/components/recursion-provider/index.js +1 -1
  1041. package/build-module/components/resizable-box-popover/index.js +1 -1
  1042. package/build-module/components/resolution-tool/index.js +1 -1
  1043. package/build-module/components/responsive-block-control/index.js +1 -1
  1044. package/build-module/components/responsive-block-control/label.js +1 -1
  1045. package/build-module/components/rich-text/content.js +1 -1
  1046. package/build-module/components/rich-text/embed-handler-picker.native.js +1 -1
  1047. package/build-module/components/rich-text/format-edit.js +1 -1
  1048. package/build-module/components/rich-text/format-toolbar/index.js +1 -1
  1049. package/build-module/components/rich-text/format-toolbar/index.native.js +1 -1
  1050. package/build-module/components/rich-text/format-toolbar-container.js +1 -1
  1051. package/build-module/components/rich-text/format-toolbar-container.native.js +1 -1
  1052. package/build-module/components/rich-text/get-rich-text-values.js +1 -1
  1053. package/build-module/components/rich-text/index.js +1 -1
  1054. package/build-module/components/rich-text/index.native.js +2 -10
  1055. package/build-module/components/rich-text/index.native.js.map +1 -1
  1056. package/build-module/components/rich-text/multiline.js +1 -1
  1057. package/build-module/components/rich-text/toolbar-button.js +1 -1
  1058. package/build-module/components/rich-text/use-paste-handler.js +7 -89
  1059. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1060. package/build-module/components/rich-text/utils.js +1 -3
  1061. package/build-module/components/rich-text/utils.js.map +1 -1
  1062. package/build-module/components/skip-to-selected-block/index.js +1 -1
  1063. package/build-module/components/spacing-sizes-control/index.js +1 -1
  1064. package/build-module/components/spacing-sizes-control/input-controls/axial.js +1 -1
  1065. package/build-module/components/spacing-sizes-control/input-controls/separated.js +1 -1
  1066. package/build-module/components/spacing-sizes-control/input-controls/single.js +1 -1
  1067. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  1068. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  1069. package/build-module/components/text-decoration-control/index.js +2 -2
  1070. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1071. package/build-module/components/text-transform-control/index.js +2 -2
  1072. package/build-module/components/text-transform-control/index.js.map +1 -1
  1073. package/build-module/components/tool-selector/index.js +1 -1
  1074. package/build-module/components/typewriter/index.js +2 -2
  1075. package/build-module/components/typewriter/index.js.map +1 -1
  1076. package/build-module/components/ungroup-button/index.native.js +1 -1
  1077. package/build-module/components/unit-control/index.js +1 -1
  1078. package/build-module/components/unsupported-block-details/index.native.js +118 -0
  1079. package/build-module/components/unsupported-block-details/index.native.js.map +1 -0
  1080. package/build-module/components/url-input/button.js +1 -1
  1081. package/build-module/components/url-input/index.js +1 -1
  1082. package/build-module/components/url-input/index.native.js +1 -1
  1083. package/build-module/components/url-popover/image-url-input-ui.js +1 -1
  1084. package/build-module/components/url-popover/index.js +1 -1
  1085. package/build-module/components/url-popover/link-editor.js +1 -1
  1086. package/build-module/components/url-popover/link-viewer-url.js +1 -1
  1087. package/build-module/components/url-popover/link-viewer.js +1 -1
  1088. package/build-module/components/use-on-block-drop/index.js +2 -2
  1089. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  1090. package/build-module/components/use-unsupported-block-editor/index.native.js +51 -0
  1091. package/build-module/components/use-unsupported-block-editor/index.native.js.map +1 -0
  1092. package/build-module/components/video-player/gridicon-play.native.js +1 -1
  1093. package/build-module/components/video-player/index.native.js +1 -1
  1094. package/build-module/components/warning/index.js +1 -1
  1095. package/build-module/components/warning/index.native.js +1 -1
  1096. package/build-module/components/writing-flow/index.js +5 -4
  1097. package/build-module/components/writing-flow/index.js.map +1 -1
  1098. package/build-module/components/writing-flow/use-clipboard-handler.js +172 -0
  1099. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -0
  1100. package/build-module/components/writing-flow/use-tab-nav.js +1 -1
  1101. package/build-module/components/writing-mode-control/index.js +2 -2
  1102. package/build-module/components/writing-mode-control/index.js.map +1 -1
  1103. package/build-module/hooks/align.js +1 -1
  1104. package/build-module/hooks/anchor.js +3 -3
  1105. package/build-module/hooks/anchor.js.map +1 -1
  1106. package/build-module/hooks/background.js +1 -1
  1107. package/build-module/hooks/block-hooks.js +1 -1
  1108. package/build-module/hooks/block-rename-ui.js +1 -1
  1109. package/build-module/hooks/border.js +1 -1
  1110. package/build-module/hooks/color.js +1 -1
  1111. package/build-module/hooks/content-lock-ui.js +1 -1
  1112. package/build-module/hooks/contrast-checker.js +1 -1
  1113. package/build-module/hooks/custom-class-name.js +3 -3
  1114. package/build-module/hooks/custom-class-name.js.map +1 -1
  1115. package/build-module/hooks/custom-fields.js +3 -3
  1116. package/build-module/hooks/custom-fields.js.map +1 -1
  1117. package/build-module/hooks/dimensions.js +1 -1
  1118. package/build-module/hooks/duotone.js +1 -1
  1119. package/build-module/hooks/font-size.js +2 -2
  1120. package/build-module/hooks/font-size.js.map +1 -1
  1121. package/build-module/hooks/layout.js +1 -1
  1122. package/build-module/hooks/line-height.js +2 -2
  1123. package/build-module/hooks/line-height.js.map +1 -1
  1124. package/build-module/hooks/margin.js +1 -1
  1125. package/build-module/hooks/padding.js +1 -1
  1126. package/build-module/hooks/position.js +3 -3
  1127. package/build-module/hooks/position.js.map +1 -1
  1128. package/build-module/hooks/style.js +1 -1
  1129. package/build-module/hooks/typography.js +1 -1
  1130. package/build-module/hooks/typography.native.js +1 -1
  1131. package/build-module/layouts/constrained.js +1 -1
  1132. package/build-module/layouts/flex.js +1 -1
  1133. package/build-module/layouts/grid.js +1 -1
  1134. package/build-module/private-apis.js +2 -0
  1135. package/build-module/private-apis.js.map +1 -1
  1136. package/build-module/store/actions.js +8 -12
  1137. package/build-module/store/actions.js.map +1 -1
  1138. package/build-module/store/private-selectors.js +52 -0
  1139. package/build-module/store/private-selectors.js.map +1 -1
  1140. package/build-module/store/reducer.js +18 -1
  1141. package/build-module/store/reducer.js.map +1 -1
  1142. package/build-module/store/selectors.js +1 -1
  1143. package/build-module/store/selectors.js.map +1 -1
  1144. package/build-module/utils/pasting.js +47 -0
  1145. package/build-module/utils/pasting.js.map +1 -1
  1146. package/build-module/utils/transform-styles/transforms/wrap.js +5 -0
  1147. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  1148. package/build-module/utils/use-notify-copy.js +46 -0
  1149. package/build-module/utils/use-notify-copy.js.map +1 -0
  1150. package/build-style/content-rtl.css +10 -11
  1151. package/build-style/content.css +10 -11
  1152. package/build-style/default-editor-styles-rtl.css +1 -1
  1153. package/build-style/default-editor-styles.css +1 -1
  1154. package/build-style/style-rtl.css +11 -12
  1155. package/build-style/style.css +11 -12
  1156. package/package.json +31 -32
  1157. package/src/components/block-actions/index.js +1 -1
  1158. package/src/components/block-breadcrumb/index.js +1 -1
  1159. package/src/components/block-canvas/index.js +6 -12
  1160. package/src/components/block-context/README.md +1 -1
  1161. package/src/components/block-heading-level-dropdown/heading-level-icon.js +2 -2
  1162. package/src/components/block-heading-level-dropdown/index.js +2 -2
  1163. package/src/components/block-heading-level-dropdown/index.native.js +2 -2
  1164. package/src/components/block-list/block-list-item.native.js +2 -2
  1165. package/src/components/block-parent-selector/index.js +1 -1
  1166. package/src/components/block-preview/index.js +1 -1
  1167. package/src/components/block-settings-menu/block-html-convert-button.js +28 -19
  1168. package/src/components/block-settings-menu-controls/index.js +1 -1
  1169. package/src/components/block-switcher/index.js +17 -18
  1170. package/src/components/block-switcher/test/__snapshots__/index.js.snap +2 -2
  1171. package/src/components/block-tools/block-selection-button.js +1 -1
  1172. package/src/components/border-radius-control/index.js +1 -1
  1173. package/src/components/child-layout-control/index.js +1 -1
  1174. package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
  1175. package/src/components/colors/with-colors.js +1 -1
  1176. package/src/components/copy-handler/README.md +2 -0
  1177. package/src/components/copy-handler/index.js +21 -291
  1178. package/src/components/dimensions-tool/index.js +1 -1
  1179. package/src/components/dimensions-tool/scale-tool.js +1 -1
  1180. package/src/components/dimensions-tool/width-height-tool.js +1 -1
  1181. package/src/components/duotone-control/index.js +14 -2
  1182. package/src/components/editable-text/README.md +2 -2
  1183. package/src/components/font-appearance-control/index.js +1 -1
  1184. package/src/components/font-family/README.md +1 -1
  1185. package/src/components/height-control/README.md +1 -1
  1186. package/src/components/height-control/index.js +1 -1
  1187. package/src/components/image-size-control/README.md +2 -2
  1188. package/src/components/index.js +1 -1
  1189. package/src/components/inner-blocks/constants.native.js +5 -0
  1190. package/src/components/inner-blocks/index.native.js +15 -0
  1191. package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +100 -0
  1192. package/src/components/inserter/block-patterns-filter.js +22 -10
  1193. package/src/components/inserter/block-patterns-tab.js +0 -3
  1194. package/src/components/inserter/index.js +2 -2
  1195. package/src/components/inserter/index.native.js +2 -2
  1196. package/src/components/inserter/media-tab/hooks.js +10 -44
  1197. package/src/components/inserter/style.scss +1 -1
  1198. package/src/components/letter-spacing-control/index.js +1 -1
  1199. package/src/components/list-view/block.js +3 -43
  1200. package/src/components/list-view/branch.js +11 -1
  1201. package/src/components/list-view/index.js +8 -4
  1202. package/src/components/list-view/utils.js +37 -0
  1203. package/src/components/media-placeholder/README.md +3 -3
  1204. package/src/components/media-upload/{constants.js → constants.native.js} +0 -1
  1205. package/src/components/media-upload/index.js +1 -1
  1206. package/src/components/media-upload/index.native.js +9 -5
  1207. package/src/components/panel-color-settings/README.md +5 -1
  1208. package/src/components/plain-text/README.md +1 -1
  1209. package/src/components/provider/README.md +1 -1
  1210. package/src/components/provider/use-block-sync.js +1 -1
  1211. package/src/components/publish-date-time-picker/README.md +1 -1
  1212. package/src/components/responsive-block-control/README.md +1 -3
  1213. package/src/components/rich-text/README.md +3 -3
  1214. package/src/components/rich-text/index.native.js +0 -13
  1215. package/src/components/rich-text/use-paste-handler.js +5 -99
  1216. package/src/components/rich-text/utils.js +0 -3
  1217. package/src/components/text-decoration-control/index.js +1 -1
  1218. package/src/components/text-transform-control/index.js +1 -1
  1219. package/src/components/typewriter/index.js +1 -1
  1220. package/src/components/unit-control/README.md +1 -1
  1221. package/src/components/unsupported-block-details/index.native.js +183 -0
  1222. package/src/components/unsupported-block-details/style.native.scss +56 -0
  1223. package/src/components/url-input/README.md +4 -4
  1224. package/src/components/use-on-block-drop/index.js +2 -2
  1225. package/src/components/use-unsupported-block-editor/index.native.js +59 -0
  1226. package/src/components/writing-flow/index.js +4 -2
  1227. package/src/components/writing-flow/use-clipboard-handler.js +242 -0
  1228. package/src/components/writing-mode-control/index.js +1 -1
  1229. package/src/hooks/anchor.js +2 -2
  1230. package/src/hooks/custom-class-name.js +2 -2
  1231. package/src/hooks/custom-fields.js +2 -2
  1232. package/src/hooks/font-size.js +1 -1
  1233. package/src/hooks/line-height.js +1 -1
  1234. package/src/hooks/position.js +2 -2
  1235. package/src/private-apis.js +2 -0
  1236. package/src/store/actions.js +7 -11
  1237. package/src/store/private-selectors.js +72 -0
  1238. package/src/store/reducer.js +17 -0
  1239. package/src/store/selectors.js +1 -1
  1240. package/src/store/test/actions.js +10 -16
  1241. package/src/utils/pasting.js +51 -0
  1242. package/src/utils/transform-styles/transforms/test/__snapshots__/wrap.js.snap +13 -6
  1243. package/src/utils/transform-styles/transforms/test/wrap.js +9 -0
  1244. package/src/utils/transform-styles/transforms/wrap.js +5 -0
  1245. package/src/utils/use-notify-copy.js +63 -0
  1246. package/tsconfig.tsbuildinfo +1 -1
  1247. package/build/components/block-settings-menu/block-convert-button.js +0 -27
  1248. package/build/components/block-settings-menu/block-convert-button.js.map +0 -1
  1249. package/build/components/media-upload/constants.js.map +0 -1
  1250. package/build-module/components/block-settings-menu/block-convert-button.js +0 -20
  1251. package/build-module/components/block-settings-menu/block-convert-button.js.map +0 -1
  1252. package/build-module/components/media-upload/constants.js.map +0 -1
  1253. package/src/components/block-settings-menu/block-convert-button.js +0 -14
@@ -5,8 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _element = require("@wordpress/element");
8
+ var _react = require("react");
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _element = require("@wordpress/element");
10
11
  var _components = require("@wordpress/components");
11
12
  var _i18n = require("@wordpress/i18n");
12
13
  var _icons = require("@wordpress/icons");
@@ -24,23 +25,23 @@ function Warning({
24
25
  children,
25
26
  secondaryActions
26
27
  }) {
27
- return (0, _element.createElement)("div", {
28
+ return (0, _react.createElement)("div", {
28
29
  style: {
29
30
  display: 'contents',
30
31
  all: 'initial'
31
32
  }
32
- }, (0, _element.createElement)("div", {
33
+ }, (0, _react.createElement)("div", {
33
34
  className: (0, _classnames.default)(className, 'block-editor-warning')
34
- }, (0, _element.createElement)("div", {
35
+ }, (0, _react.createElement)("div", {
35
36
  className: "block-editor-warning__contents"
36
- }, (0, _element.createElement)("p", {
37
+ }, (0, _react.createElement)("p", {
37
38
  className: "block-editor-warning__message"
38
- }, children), (_element.Children.count(actions) > 0 || secondaryActions) && (0, _element.createElement)("div", {
39
+ }, children), (_element.Children.count(actions) > 0 || secondaryActions) && (0, _react.createElement)("div", {
39
40
  className: "block-editor-warning__actions"
40
- }, _element.Children.count(actions) > 0 && _element.Children.map(actions, (action, i) => (0, _element.createElement)("span", {
41
+ }, _element.Children.count(actions) > 0 && _element.Children.map(actions, (action, i) => (0, _react.createElement)("span", {
41
42
  key: i,
42
43
  className: "block-editor-warning__action"
43
- }, action)), secondaryActions && (0, _element.createElement)(_components.DropdownMenu, {
44
+ }, action)), secondaryActions && (0, _react.createElement)(_components.DropdownMenu, {
44
45
  className: "block-editor-warning__secondary",
45
46
  icon: _icons.moreVertical,
46
47
  label: (0, _i18n.__)('More options'),
@@ -49,7 +50,7 @@ function Warning({
49
50
  className: 'block-editor-warning__dropdown'
50
51
  },
51
52
  noIcons: true
52
- }, () => (0, _element.createElement)(_components.MenuGroup, null, secondaryActions.map((item, pos) => (0, _element.createElement)(_components.MenuItem, {
53
+ }, () => (0, _react.createElement)(_components.MenuGroup, null, secondaryActions.map((item, pos) => (0, _react.createElement)(_components.MenuItem, {
53
54
  onClick: item.onClick,
54
55
  key: pos
55
56
  }, item.title))))))));
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_components","_i18n","_icons","Warning","className","actions","children","secondaryActions","createElement","style","display","all","classnames","Children","count","map","action","i","key","DropdownMenu","icon","moreVertical","label","__","popoverProps","position","noIcons","MenuGroup","item","pos","MenuItem","onClick","title","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/warning/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Children } from '@wordpress/element';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\n\nfunction Warning( { className, actions, children, secondaryActions } ) {\n\treturn (\n\t\t<div style={ { display: 'contents', all: 'initial' } }>\n\t\t\t<div className={ classnames( className, 'block-editor-warning' ) }>\n\t\t\t\t<div className=\"block-editor-warning__contents\">\n\t\t\t\t\t<p className=\"block-editor-warning__message\">\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t{ ( Children.count( actions ) > 0 || secondaryActions ) && (\n\t\t\t\t\t\t<div className=\"block-editor-warning__actions\">\n\t\t\t\t\t\t\t{ Children.count( actions ) > 0 &&\n\t\t\t\t\t\t\t\tChildren.map( actions, ( action, i ) => (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-warning__action\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ action }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t{ secondaryActions && (\n\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-warning__secondary\"\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'More options' ) }\n\t\t\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\t\t\tposition: 'bottom left',\n\t\t\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-warning__dropdown',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tnoIcons\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t\t{ secondaryActions.map(\n\t\t\t\t\t\t\t\t\t\t\t\t( item, pos ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ item.onClick }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ pos }\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ item.title }\n\t\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/warning/README.md\n */\nexport default Warning;\n"],"mappings":";;;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AALA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAMA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAXA;AACA;AACA;;AAGA;AACA;AACA;;AAMA,SAASM,OAAOA,CAAE;EAAEC,SAAS;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAAiB,CAAC,EAAG;EACtE,OACC,IAAAX,QAAA,CAAAY,aAAA;IAAKC,KAAK,EAAG;MAAEC,OAAO,EAAE,UAAU;MAAEC,GAAG,EAAE;IAAU;EAAG,GACrD,IAAAf,QAAA,CAAAY,aAAA;IAAKJ,SAAS,EAAG,IAAAQ,mBAAU,EAAER,SAAS,EAAE,sBAAuB;EAAG,GACjE,IAAAR,QAAA,CAAAY,aAAA;IAAKJ,SAAS,EAAC;EAAgC,GAC9C,IAAAR,QAAA,CAAAY,aAAA;IAAGJ,SAAS,EAAC;EAA+B,GACzCE,QACA,CAAC,EAEF,CAAEO,iBAAQ,CAACC,KAAK,CAAET,OAAQ,CAAC,GAAG,CAAC,IAAIE,gBAAgB,KACpD,IAAAX,QAAA,CAAAY,aAAA;IAAKJ,SAAS,EAAC;EAA+B,GAC3CS,iBAAQ,CAACC,KAAK,CAAET,OAAQ,CAAC,GAAG,CAAC,IAC9BQ,iBAAQ,CAACE,GAAG,CAAEV,OAAO,EAAE,CAAEW,MAAM,EAAEC,CAAC,KACjC,IAAArB,QAAA,CAAAY,aAAA;IACCU,GAAG,EAAGD,CAAG;IACTb,SAAS,EAAC;EAA8B,GAEtCY,MACG,CACL,CAAC,EACFT,gBAAgB,IACjB,IAAAX,QAAA,CAAAY,aAAA,EAACR,WAAA,CAAAmB,YAAY;IACZf,SAAS,EAAC,iCAAiC;IAC3CgB,IAAI,EAAGC,mBAAc;IACrBC,KAAK,EAAG,IAAAC,QAAE,EAAE,cAAe,CAAG;IAC9BC,YAAY,EAAG;MACdC,QAAQ,EAAE,aAAa;MACvBrB,SAAS,EACR;IACF,CAAG;IACHsB,OAAO;EAAA,GAEL,MACD,IAAA9B,QAAA,CAAAY,aAAA,EAACR,WAAA,CAAA2B,SAAS,QACPpB,gBAAgB,CAACQ,GAAG,CACrB,CAAEa,IAAI,EAAEC,GAAG,KACV,IAAAjC,QAAA,CAAAY,aAAA,EAACR,WAAA,CAAA8B,QAAQ;IACRC,OAAO,EAAGH,IAAI,CAACG,OAAS;IACxBb,GAAG,EAAGW;EAAK,GAETD,IAAI,CAACI,KACE,CAEZ,CACU,CAEC,CAEX,CAEF,CACD,CACD,CAAC;AAER;;AAEA;AACA;AACA;AAFA,IAAAC,QAAA,GAGe9B,OAAO;AAAA+B,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_components","_i18n","_icons","Warning","className","actions","children","secondaryActions","_react","createElement","style","display","all","classnames","Children","count","map","action","i","key","DropdownMenu","icon","moreVertical","label","__","popoverProps","position","noIcons","MenuGroup","item","pos","MenuItem","onClick","title","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/warning/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Children } from '@wordpress/element';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\n\nfunction Warning( { className, actions, children, secondaryActions } ) {\n\treturn (\n\t\t<div style={ { display: 'contents', all: 'initial' } }>\n\t\t\t<div className={ classnames( className, 'block-editor-warning' ) }>\n\t\t\t\t<div className=\"block-editor-warning__contents\">\n\t\t\t\t\t<p className=\"block-editor-warning__message\">\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t{ ( Children.count( actions ) > 0 || secondaryActions ) && (\n\t\t\t\t\t\t<div className=\"block-editor-warning__actions\">\n\t\t\t\t\t\t\t{ Children.count( actions ) > 0 &&\n\t\t\t\t\t\t\t\tChildren.map( actions, ( action, i ) => (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-warning__action\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ action }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t{ secondaryActions && (\n\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-warning__secondary\"\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'More options' ) }\n\t\t\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\t\t\tposition: 'bottom left',\n\t\t\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-warning__dropdown',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tnoIcons\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t\t{ secondaryActions.map(\n\t\t\t\t\t\t\t\t\t\t\t\t( item, pos ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ item.onClick }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ pos }\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ item.title }\n\t\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/warning/README.md\n */\nexport default Warning;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAGA;AACA;AACA;;AAMA,SAASK,OAAOA,CAAE;EAAEC,SAAS;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAAiB,CAAC,EAAG;EACtE,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAKC,KAAK,EAAG;MAAEC,OAAO,EAAE,UAAU;MAAEC,GAAG,EAAE;IAAU;EAAG,GACrD,IAAAJ,MAAA,CAAAC,aAAA;IAAKL,SAAS,EAAG,IAAAS,mBAAU,EAAET,SAAS,EAAE,sBAAuB;EAAG,GACjE,IAAAI,MAAA,CAAAC,aAAA;IAAKL,SAAS,EAAC;EAAgC,GAC9C,IAAAI,MAAA,CAAAC,aAAA;IAAGL,SAAS,EAAC;EAA+B,GACzCE,QACA,CAAC,EAEF,CAAEQ,iBAAQ,CAACC,KAAK,CAAEV,OAAQ,CAAC,GAAG,CAAC,IAAIE,gBAAgB,KACpD,IAAAC,MAAA,CAAAC,aAAA;IAAKL,SAAS,EAAC;EAA+B,GAC3CU,iBAAQ,CAACC,KAAK,CAAEV,OAAQ,CAAC,GAAG,CAAC,IAC9BS,iBAAQ,CAACE,GAAG,CAAEX,OAAO,EAAE,CAAEY,MAAM,EAAEC,CAAC,KACjC,IAAAV,MAAA,CAAAC,aAAA;IACCU,GAAG,EAAGD,CAAG;IACTd,SAAS,EAAC;EAA8B,GAEtCa,MACG,CACL,CAAC,EACFV,gBAAgB,IACjB,IAAAC,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAoB,YAAY;IACZhB,SAAS,EAAC,iCAAiC;IAC3CiB,IAAI,EAAGC,mBAAc;IACrBC,KAAK,EAAG,IAAAC,QAAE,EAAE,cAAe,CAAG;IAC9BC,YAAY,EAAG;MACdC,QAAQ,EAAE,aAAa;MACvBtB,SAAS,EACR;IACF,CAAG;IACHuB,OAAO;EAAA,GAEL,MACD,IAAAnB,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAA4B,SAAS,QACPrB,gBAAgB,CAACS,GAAG,CACrB,CAAEa,IAAI,EAAEC,GAAG,KACV,IAAAtB,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAA+B,QAAQ;IACRC,OAAO,EAAGH,IAAI,CAACG,OAAS;IACxBb,GAAG,EAAGW;EAAK,GAETD,IAAI,CAACI,KACE,CAEZ,CACU,CAEC,CAEX,CAEF,CACD,CACD,CAAC;AAER;;AAEA;AACA;AACA;AAFA,IAAAC,QAAA,GAGe/B,OAAO;AAAAgC,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _element = require("@wordpress/element");
8
+ var _react = require("react");
9
9
  var _reactNative = require("react-native");
10
10
  var _components = require("@wordpress/components");
11
11
  var _compose = require("@wordpress/compose");
@@ -36,17 +36,17 @@ function Warning({
36
36
  const internalIconClass = 'warning-icon' + '-' + preferredColorScheme;
37
37
  const titleStyle = getStylesFromColorScheme(_style.default.title, _style.default.titleDark);
38
38
  const messageStyle = getStylesFromColorScheme(_style.default.message, _style.default.messageDark);
39
- return (0, _element.createElement)(_reactNative.View, {
39
+ return (0, _react.createElement)(_reactNative.View, {
40
40
  style: getStylesFromColorScheme(_style.default.container, _style.default.containerDark),
41
41
  ...viewProps
42
- }, icon && (0, _element.createElement)(_reactNative.View, {
42
+ }, icon && (0, _react.createElement)(_reactNative.View, {
43
43
  style: _style.default.icon
44
- }, (0, _element.createElement)(_components.Icon, {
44
+ }, (0, _react.createElement)(_components.Icon, {
45
45
  className: iconClass || internalIconClass,
46
46
  icon: icon && icon.src ? icon.src : icon
47
- })), title && (0, _element.createElement)(_reactNative.Text, {
47
+ })), title && (0, _react.createElement)(_reactNative.Text, {
48
48
  style: titleStyle
49
- }, title), message && (0, _element.createElement)(_reactNative.Text, {
49
+ }, title), message && (0, _react.createElement)(_reactNative.Text, {
50
50
  style: messageStyle
51
51
  }, message));
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_components","_compose","_blocks","_style","_interopRequireDefault","Warning","title","message","icon","iconClass","preferredColorScheme","getStylesFromColorScheme","viewProps","normalizeIconObject","internalIconClass","titleStyle","styles","titleDark","messageStyle","messageDark","_element","createElement","View","style","container","containerDark","Icon","className","src","Text","_default","withPreferredColorScheme","exports","default"],"sources":["@wordpress/block-editor/src/components/warning/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { normalizeIconObject } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nfunction Warning( {\n\ttitle,\n\tmessage,\n\ticon,\n\ticonClass,\n\tpreferredColorScheme,\n\tgetStylesFromColorScheme,\n\t...viewProps\n} ) {\n\ticon = icon && normalizeIconObject( icon );\n\tconst internalIconClass = 'warning-icon' + '-' + preferredColorScheme;\n\tconst titleStyle = getStylesFromColorScheme(\n\t\tstyles.title,\n\t\tstyles.titleDark\n\t);\n\tconst messageStyle = getStylesFromColorScheme(\n\t\tstyles.message,\n\t\tstyles.messageDark\n\t);\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\tstyles.container,\n\t\t\t\tstyles.containerDark\n\t\t\t) }\n\t\t\t{ ...viewProps }\n\t\t>\n\t\t\t{ icon && (\n\t\t\t\t<View style={ styles.icon }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={ iconClass || internalIconClass }\n\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t{ title && <Text style={ titleStyle }>{ title }</Text> }\n\t\t\t{ message && <Text style={ messageStyle }>{ message }</Text> }\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( Warning );\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAC,sBAAA,CAAAL,OAAA;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAGA,SAASM,OAAOA,CAAE;EACjBC,KAAK;EACLC,OAAO;EACPC,IAAI;EACJC,SAAS;EACTC,oBAAoB;EACpBC,wBAAwB;EACxB,GAAGC;AACJ,CAAC,EAAG;EACHJ,IAAI,GAAGA,IAAI,IAAI,IAAAK,2BAAmB,EAAEL,IAAK,CAAC;EAC1C,MAAMM,iBAAiB,GAAG,cAAc,GAAG,GAAG,GAAGJ,oBAAoB;EACrE,MAAMK,UAAU,GAAGJ,wBAAwB,CAC1CK,cAAM,CAACV,KAAK,EACZU,cAAM,CAACC,SACR,CAAC;EACD,MAAMC,YAAY,GAAGP,wBAAwB,CAC5CK,cAAM,CAACT,OAAO,EACdS,cAAM,CAACG,WACR,CAAC;EAED,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACvB,YAAA,CAAAwB,IAAI;IACJC,KAAK,EAAGZ,wBAAwB,CAC/BK,cAAM,CAACQ,SAAS,EAChBR,cAAM,CAACS,aACR,CAAG;IAAA,GACEb;EAAS,GAEZJ,IAAI,IACL,IAAAY,QAAA,CAAAC,aAAA,EAACvB,YAAA,CAAAwB,IAAI;IAACC,KAAK,EAAGP,cAAM,CAACR;EAAM,GAC1B,IAAAY,QAAA,CAAAC,aAAA,EAACrB,WAAA,CAAA0B,IAAI;IACJC,SAAS,EAAGlB,SAAS,IAAIK,iBAAmB;IAC5CN,IAAI,EAAGA,IAAI,IAAIA,IAAI,CAACoB,GAAG,GAAGpB,IAAI,CAACoB,GAAG,GAAGpB;EAAM,CAC3C,CACI,CACN,EACCF,KAAK,IAAI,IAAAc,QAAA,CAAAC,aAAA,EAACvB,YAAA,CAAA+B,IAAI;IAACN,KAAK,EAAGR;EAAY,GAAGT,KAAa,CAAC,EACpDC,OAAO,IAAI,IAAAa,QAAA,CAAAC,aAAA,EAACvB,YAAA,CAAA+B,IAAI;IAACN,KAAK,EAAGL;EAAc,GAAGX,OAAe,CACtD,CAAC;AAET;AAAC,IAAAuB,QAAA,GAEc,IAAAC,iCAAwB,EAAE1B,OAAQ,CAAC;AAAA2B,OAAA,CAAAC,OAAA,GAAAH,QAAA"}
1
+ {"version":3,"names":["_reactNative","require","_components","_compose","_blocks","_style","_interopRequireDefault","Warning","title","message","icon","iconClass","preferredColorScheme","getStylesFromColorScheme","viewProps","normalizeIconObject","internalIconClass","titleStyle","styles","titleDark","messageStyle","messageDark","_react","createElement","View","style","container","containerDark","Icon","className","src","Text","_default","withPreferredColorScheme","exports","default"],"sources":["@wordpress/block-editor/src/components/warning/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { normalizeIconObject } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nfunction Warning( {\n\ttitle,\n\tmessage,\n\ticon,\n\ticonClass,\n\tpreferredColorScheme,\n\tgetStylesFromColorScheme,\n\t...viewProps\n} ) {\n\ticon = icon && normalizeIconObject( icon );\n\tconst internalIconClass = 'warning-icon' + '-' + preferredColorScheme;\n\tconst titleStyle = getStylesFromColorScheme(\n\t\tstyles.title,\n\t\tstyles.titleDark\n\t);\n\tconst messageStyle = getStylesFromColorScheme(\n\t\tstyles.message,\n\t\tstyles.messageDark\n\t);\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\tstyles.container,\n\t\t\t\tstyles.containerDark\n\t\t\t) }\n\t\t\t{ ...viewProps }\n\t\t>\n\t\t\t{ icon && (\n\t\t\t\t<View style={ styles.icon }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={ iconClass || internalIconClass }\n\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t{ title && <Text style={ titleStyle }>{ title }</Text> }\n\t\t\t{ message && <Text style={ messageStyle }>{ message }</Text> }\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( Warning );\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAC,sBAAA,CAAAL,OAAA;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAGA,SAASM,OAAOA,CAAE;EACjBC,KAAK;EACLC,OAAO;EACPC,IAAI;EACJC,SAAS;EACTC,oBAAoB;EACpBC,wBAAwB;EACxB,GAAGC;AACJ,CAAC,EAAG;EACHJ,IAAI,GAAGA,IAAI,IAAI,IAAAK,2BAAmB,EAAEL,IAAK,CAAC;EAC1C,MAAMM,iBAAiB,GAAG,cAAc,GAAG,GAAG,GAAGJ,oBAAoB;EACrE,MAAMK,UAAU,GAAGJ,wBAAwB,CAC1CK,cAAM,CAACV,KAAK,EACZU,cAAM,CAACC,SACR,CAAC;EACD,MAAMC,YAAY,GAAGP,wBAAwB,CAC5CK,cAAM,CAACT,OAAO,EACdS,cAAM,CAACG,WACR,CAAC;EAED,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACvB,YAAA,CAAAwB,IAAI;IACJC,KAAK,EAAGZ,wBAAwB,CAC/BK,cAAM,CAACQ,SAAS,EAChBR,cAAM,CAACS,aACR,CAAG;IAAA,GACEb;EAAS,GAEZJ,IAAI,IACL,IAAAY,MAAA,CAAAC,aAAA,EAACvB,YAAA,CAAAwB,IAAI;IAACC,KAAK,EAAGP,cAAM,CAACR;EAAM,GAC1B,IAAAY,MAAA,CAAAC,aAAA,EAACrB,WAAA,CAAA0B,IAAI;IACJC,SAAS,EAAGlB,SAAS,IAAIK,iBAAmB;IAC5CN,IAAI,EAAGA,IAAI,IAAIA,IAAI,CAACoB,GAAG,GAAGpB,IAAI,CAACoB,GAAG,GAAGpB;EAAM,CAC3C,CACI,CACN,EACCF,KAAK,IAAI,IAAAc,MAAA,CAAAC,aAAA,EAACvB,YAAA,CAAA+B,IAAI;IAACN,KAAK,EAAGR;EAAY,GAAGT,KAAa,CAAC,EACpDC,OAAO,IAAI,IAAAa,MAAA,CAAAC,aAAA,EAACvB,YAAA,CAAA+B,IAAI;IAACN,KAAK,EAAGL;EAAc,GAAGX,OAAe,CACtD,CAAC;AAET;AAAC,IAAAuB,QAAA,GAEc,IAAAC,iCAAwB,EAAE1B,OAAQ,CAAC;AAAA2B,OAAA,CAAAC,OAAA,GAAAH,QAAA"}
@@ -6,11 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  exports.useWritingFlow = useWritingFlow;
9
- var _element = require("@wordpress/element");
9
+ var _react = require("react");
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _data = require("@wordpress/data");
12
12
  var _i18n = require("@wordpress/i18n");
13
13
  var _compose = require("@wordpress/compose");
14
+ var _element = require("@wordpress/element");
14
15
  var _useMultiSelection = _interopRequireDefault(require("./use-multi-selection"));
15
16
  var _useTabNav = _interopRequireDefault(require("./use-tab-nav"));
16
17
  var _useArrowNav = _interopRequireDefault(require("./use-arrow-nav"));
@@ -19,6 +20,7 @@ var _useDragSelection = _interopRequireDefault(require("./use-drag-selection"));
19
20
  var _useSelectionObserver = _interopRequireDefault(require("./use-selection-observer"));
20
21
  var _useClickSelection = _interopRequireDefault(require("./use-click-selection"));
21
22
  var _useInput = _interopRequireDefault(require("./use-input"));
23
+ var _useClipboardHandler = _interopRequireDefault(require("./use-clipboard-handler"));
22
24
  var _store = require("../../store");
23
25
  /**
24
26
  * External dependencies
@@ -35,7 +37,7 @@ var _store = require("../../store");
35
37
  function useWritingFlow() {
36
38
  const [before, ref, after] = (0, _useTabNav.default)();
37
39
  const hasMultiSelection = (0, _data.useSelect)(select => select(_store.store).hasMultiSelection(), []);
38
- return [before, (0, _compose.useMergeRefs)([ref, (0, _useInput.default)(), (0, _useDragSelection.default)(), (0, _useSelectionObserver.default)(), (0, _useClickSelection.default)(), (0, _useMultiSelection.default)(), (0, _useSelectAll.default)(), (0, _useArrowNav.default)(), (0, _compose.useRefEffect)(node => {
40
+ return [before, (0, _compose.useMergeRefs)([ref, (0, _useClipboardHandler.default)(), (0, _useInput.default)(), (0, _useDragSelection.default)(), (0, _useSelectionObserver.default)(), (0, _useClickSelection.default)(), (0, _useMultiSelection.default)(), (0, _useSelectAll.default)(), (0, _useArrowNav.default)(), (0, _compose.useRefEffect)(node => {
39
41
  node.tabIndex = 0;
40
42
  node.contentEditable = hasMultiSelection;
41
43
  if (!hasMultiSelection) {
@@ -54,7 +56,7 @@ function WritingFlow({
54
56
  ...props
55
57
  }, forwardedRef) {
56
58
  const [before, ref, after] = useWritingFlow();
57
- return (0, _element.createElement)(_element.Fragment, null, before, (0, _element.createElement)("div", {
59
+ return (0, _react.createElement)(_react.Fragment, null, before, (0, _react.createElement)("div", {
58
60
  ...props,
59
61
  ref: (0, _compose.useMergeRefs)([ref, forwardedRef]),
60
62
  className: (0, _classnames.default)(props.className, 'block-editor-writing-flow')
@@ -65,8 +67,8 @@ function WritingFlow({
65
67
  * Handles selection and navigation across blocks. This component should be
66
68
  * wrapped around BlockList.
67
69
  *
68
- * @param {Object} props Component properties.
69
- * @param {WPElement} props.children Children to be rendered.
70
+ * @param {Object} props Component properties.
71
+ * @param {Element} props.children Children to be rendered.
70
72
  */
71
73
  var _default = (0, _element.forwardRef)(WritingFlow);
72
74
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_data","_i18n","_compose","_useMultiSelection","_useTabNav","_useArrowNav","_useSelectAll","_useDragSelection","_useSelectionObserver","_useClickSelection","_useInput","_store","useWritingFlow","before","ref","after","useTabNav","hasMultiSelection","useSelect","select","blockEditorStore","useMergeRefs","useInput","useDragSelection","useSelectionObserver","useClickSelection","useMultiSelection","useSelectAll","useArrowNav","useRefEffect","node","tabIndex","contentEditable","classList","add","setAttribute","__","remove","removeAttribute","WritingFlow","children","props","forwardedRef","createElement","Fragment","className","classNames","_default","forwardRef","exports","default"],"sources":["@wordpress/block-editor/src/components/writing-flow/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useMultiSelection from './use-multi-selection';\nimport useTabNav from './use-tab-nav';\nimport useArrowNav from './use-arrow-nav';\nimport useSelectAll from './use-select-all';\nimport useDragSelection from './use-drag-selection';\nimport useSelectionObserver from './use-selection-observer';\nimport useClickSelection from './use-click-selection';\nimport useInput from './use-input';\nimport { store as blockEditorStore } from '../../store';\n\nexport function useWritingFlow() {\n\tconst [ before, ref, after ] = useTabNav();\n\tconst hasMultiSelection = useSelect(\n\t\t( select ) => select( blockEditorStore ).hasMultiSelection(),\n\t\t[]\n\t);\n\n\treturn [\n\t\tbefore,\n\t\tuseMergeRefs( [\n\t\t\tref,\n\t\t\tuseInput(),\n\t\t\tuseDragSelection(),\n\t\t\tuseSelectionObserver(),\n\t\t\tuseClickSelection(),\n\t\t\tuseMultiSelection(),\n\t\t\tuseSelectAll(),\n\t\t\tuseArrowNav(),\n\t\t\tuseRefEffect(\n\t\t\t\t( node ) => {\n\t\t\t\t\tnode.tabIndex = 0;\n\t\t\t\t\tnode.contentEditable = hasMultiSelection;\n\n\t\t\t\t\tif ( ! hasMultiSelection ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tnode.classList.add( 'has-multi-selection' );\n\t\t\t\t\tnode.setAttribute(\n\t\t\t\t\t\t'aria-label',\n\t\t\t\t\t\t__( 'Multiple selected blocks' )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tnode.classList.remove( 'has-multi-selection' );\n\t\t\t\t\t\tnode.removeAttribute( 'aria-label' );\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t[ hasMultiSelection ]\n\t\t\t),\n\t\t] ),\n\t\tafter,\n\t];\n}\n\nfunction WritingFlow( { children, ...props }, forwardedRef ) {\n\tconst [ before, ref, after ] = useWritingFlow();\n\treturn (\n\t\t<>\n\t\t\t{ before }\n\t\t\t<div\n\t\t\t\t{ ...props }\n\t\t\t\tref={ useMergeRefs( [ ref, forwardedRef ] ) }\n\t\t\t\tclassName={ classNames(\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'block-editor-writing-flow'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t\t{ after }\n\t\t</>\n\t);\n}\n\n/**\n * Handles selection and navigation across blocks. This component should be\n * wrapped around BlockList.\n *\n * @param {Object} props Component properties.\n * @param {WPElement} props.children Children to be rendered.\n */\nexport default forwardRef( WritingFlow );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_i18n","_compose","_element","_useMultiSelection","_useTabNav","_useArrowNav","_useSelectAll","_useDragSelection","_useSelectionObserver","_useClickSelection","_useInput","_useClipboardHandler","_store","useWritingFlow","before","ref","after","useTabNav","hasMultiSelection","useSelect","select","blockEditorStore","useMergeRefs","useClipboardHandler","useInput","useDragSelection","useSelectionObserver","useClickSelection","useMultiSelection","useSelectAll","useArrowNav","useRefEffect","node","tabIndex","contentEditable","classList","add","setAttribute","__","remove","removeAttribute","WritingFlow","children","props","forwardedRef","_react","createElement","Fragment","className","classNames","_default","forwardRef","exports","default"],"sources":["@wordpress/block-editor/src/components/writing-flow/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useMultiSelection from './use-multi-selection';\nimport useTabNav from './use-tab-nav';\nimport useArrowNav from './use-arrow-nav';\nimport useSelectAll from './use-select-all';\nimport useDragSelection from './use-drag-selection';\nimport useSelectionObserver from './use-selection-observer';\nimport useClickSelection from './use-click-selection';\nimport useInput from './use-input';\nimport useClipboardHandler from './use-clipboard-handler';\nimport { store as blockEditorStore } from '../../store';\n\nexport function useWritingFlow() {\n\tconst [ before, ref, after ] = useTabNav();\n\tconst hasMultiSelection = useSelect(\n\t\t( select ) => select( blockEditorStore ).hasMultiSelection(),\n\t\t[]\n\t);\n\n\treturn [\n\t\tbefore,\n\t\tuseMergeRefs( [\n\t\t\tref,\n\t\t\tuseClipboardHandler(),\n\t\t\tuseInput(),\n\t\t\tuseDragSelection(),\n\t\t\tuseSelectionObserver(),\n\t\t\tuseClickSelection(),\n\t\t\tuseMultiSelection(),\n\t\t\tuseSelectAll(),\n\t\t\tuseArrowNav(),\n\t\t\tuseRefEffect(\n\t\t\t\t( node ) => {\n\t\t\t\t\tnode.tabIndex = 0;\n\t\t\t\t\tnode.contentEditable = hasMultiSelection;\n\n\t\t\t\t\tif ( ! hasMultiSelection ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tnode.classList.add( 'has-multi-selection' );\n\t\t\t\t\tnode.setAttribute(\n\t\t\t\t\t\t'aria-label',\n\t\t\t\t\t\t__( 'Multiple selected blocks' )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tnode.classList.remove( 'has-multi-selection' );\n\t\t\t\t\t\tnode.removeAttribute( 'aria-label' );\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t[ hasMultiSelection ]\n\t\t\t),\n\t\t] ),\n\t\tafter,\n\t];\n}\n\nfunction WritingFlow( { children, ...props }, forwardedRef ) {\n\tconst [ before, ref, after ] = useWritingFlow();\n\treturn (\n\t\t<>\n\t\t\t{ before }\n\t\t\t<div\n\t\t\t\t{ ...props }\n\t\t\t\tref={ useMergeRefs( [ ref, forwardedRef ] ) }\n\t\t\t\tclassName={ classNames(\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'block-editor-writing-flow'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t\t{ after }\n\t\t</>\n\t);\n}\n\n/**\n * Handles selection and navigation across blocks. This component should be\n * wrapped around BlockList.\n *\n * @param {Object} props Component properties.\n * @param {Element} props.children Children to be rendered.\n */\nexport default forwardRef( WritingFlow );\n"],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useClipboardHandler;
7
+ var _blocks = require("@wordpress/blocks");
8
+ var _dom = require("@wordpress/dom");
9
+ var _data = require("@wordpress/data");
10
+ var _compose = require("@wordpress/compose");
11
+ var _pasting = require("../../utils/pasting");
12
+ var _store = require("../../store");
13
+ var _useNotifyCopy = require("../../utils/use-notify-copy");
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
22
+ function useClipboardHandler() {
23
+ const {
24
+ getBlocksByClientId,
25
+ getSelectedBlockClientIds,
26
+ hasMultiSelection,
27
+ getSettings,
28
+ __unstableIsFullySelected,
29
+ __unstableIsSelectionCollapsed,
30
+ __unstableIsSelectionMergeable,
31
+ __unstableGetSelectedBlocksWithPartialSelection,
32
+ canInsertBlockType
33
+ } = (0, _data.useSelect)(_store.store);
34
+ const {
35
+ flashBlock,
36
+ removeBlocks,
37
+ replaceBlocks,
38
+ __unstableDeleteSelection,
39
+ __unstableExpandSelection,
40
+ insertBlocks
41
+ } = (0, _data.useDispatch)(_store.store);
42
+ const notifyCopy = (0, _useNotifyCopy.useNotifyCopy)();
43
+ return (0, _compose.useRefEffect)(node => {
44
+ function handler(event) {
45
+ if (event.defaultPrevented) {
46
+ // This was likely already handled in rich-text/use-paste-handler.js.
47
+ return;
48
+ }
49
+ const selectedBlockClientIds = getSelectedBlockClientIds();
50
+ if (selectedBlockClientIds.length === 0) {
51
+ return;
52
+ }
53
+
54
+ // Always handle multiple selected blocks.
55
+ if (!hasMultiSelection()) {
56
+ const {
57
+ target
58
+ } = event;
59
+ const {
60
+ ownerDocument
61
+ } = target;
62
+ // If copying, only consider actual text selection as selection.
63
+ // Otherwise, any focus on an input field is considered.
64
+ const hasSelection = event.type === 'copy' || event.type === 'cut' ? (0, _dom.documentHasUncollapsedSelection)(ownerDocument) : (0, _dom.documentHasSelection)(ownerDocument);
65
+
66
+ // Let native copy behaviour take over in input fields.
67
+ if (hasSelection) {
68
+ return;
69
+ }
70
+ }
71
+ if (!node.contains(event.target.ownerDocument.activeElement)) {
72
+ return;
73
+ }
74
+ event.preventDefault();
75
+ const isSelectionMergeable = __unstableIsSelectionMergeable();
76
+ const shouldHandleWholeBlocks = __unstableIsSelectionCollapsed() || __unstableIsFullySelected();
77
+ const expandSelectionIsNeeded = !shouldHandleWholeBlocks && !isSelectionMergeable;
78
+ if (event.type === 'copy' || event.type === 'cut') {
79
+ if (selectedBlockClientIds.length === 1) {
80
+ flashBlock(selectedBlockClientIds[0]);
81
+ }
82
+ // If we have a partial selection that is not mergeable, just
83
+ // expand the selection to the whole blocks.
84
+ if (expandSelectionIsNeeded) {
85
+ __unstableExpandSelection();
86
+ } else {
87
+ notifyCopy(event.type, selectedBlockClientIds);
88
+ let blocks;
89
+ // Check if we have partial selection.
90
+ if (shouldHandleWholeBlocks) {
91
+ blocks = getBlocksByClientId(selectedBlockClientIds);
92
+ } else {
93
+ const [head, tail] = __unstableGetSelectedBlocksWithPartialSelection();
94
+ const inBetweenBlocks = getBlocksByClientId(selectedBlockClientIds.slice(1, selectedBlockClientIds.length - 1));
95
+ blocks = [head, ...inBetweenBlocks, tail];
96
+ }
97
+ const wrapperBlockName = event.clipboardData.getData('__unstableWrapperBlockName');
98
+ if (wrapperBlockName) {
99
+ blocks = (0, _blocks.createBlock)(wrapperBlockName, JSON.parse(event.clipboardData.getData('__unstableWrapperBlockAttributes')), blocks);
100
+ }
101
+ const serialized = (0, _blocks.serialize)(blocks);
102
+ event.clipboardData.setData('text/plain', toPlainText(serialized));
103
+ event.clipboardData.setData('text/html', serialized);
104
+ }
105
+ }
106
+ if (event.type === 'cut') {
107
+ // We need to also check if at the start we needed to
108
+ // expand the selection, as in this point we might have
109
+ // programmatically fully selected the blocks above.
110
+ if (shouldHandleWholeBlocks && !expandSelectionIsNeeded) {
111
+ removeBlocks(selectedBlockClientIds);
112
+ } else {
113
+ event.target.ownerDocument.activeElement.contentEditable = false;
114
+ __unstableDeleteSelection();
115
+ }
116
+ } else if (event.type === 'paste') {
117
+ const {
118
+ __experimentalCanUserUseUnfilteredHTML: canUserUseUnfilteredHTML
119
+ } = getSettings();
120
+ const {
121
+ plainText,
122
+ html,
123
+ files
124
+ } = (0, _pasting.getPasteEventData)(event);
125
+ let blocks = [];
126
+ if (files.length) {
127
+ const fromTransforms = (0, _blocks.getBlockTransforms)('from');
128
+ blocks = files.reduce((accumulator, file) => {
129
+ const transformation = (0, _blocks.findTransform)(fromTransforms, transform => transform.type === 'files' && transform.isMatch([file]));
130
+ if (transformation) {
131
+ accumulator.push(transformation.transform([file]));
132
+ }
133
+ return accumulator;
134
+ }, []).flat();
135
+ } else {
136
+ blocks = (0, _blocks.pasteHandler)({
137
+ HTML: html,
138
+ plainText,
139
+ mode: 'BLOCKS',
140
+ canUserUseUnfilteredHTML
141
+ });
142
+ }
143
+ if (selectedBlockClientIds.length === 1) {
144
+ const [selectedBlockClientId] = selectedBlockClientIds;
145
+ if (blocks.every(block => canInsertBlockType(block.name, selectedBlockClientId))) {
146
+ insertBlocks(blocks, undefined, selectedBlockClientId);
147
+ return;
148
+ }
149
+ }
150
+ replaceBlocks(selectedBlockClientIds, blocks, blocks.length - 1, -1);
151
+ }
152
+ }
153
+ node.ownerDocument.addEventListener('copy', handler);
154
+ node.ownerDocument.addEventListener('cut', handler);
155
+ node.ownerDocument.addEventListener('paste', handler);
156
+ return () => {
157
+ node.ownerDocument.removeEventListener('copy', handler);
158
+ node.ownerDocument.removeEventListener('cut', handler);
159
+ node.ownerDocument.removeEventListener('paste', handler);
160
+ };
161
+ }, []);
162
+ }
163
+
164
+ /**
165
+ * Given a string of HTML representing serialized blocks, returns the plain
166
+ * text extracted after stripping the HTML of any tags and fixing line breaks.
167
+ *
168
+ * @param {string} html Serialized blocks.
169
+ * @return {string} The plain-text content with any html removed.
170
+ */
171
+ function toPlainText(html) {
172
+ // Manually handle BR tags as line breaks prior to `stripHTML` call
173
+ html = html.replace(/<br>/g, '\n');
174
+ const plainText = (0, _dom.__unstableStripHTML)(html).trim();
175
+
176
+ // Merge any consecutive line breaks
177
+ return plainText.replace(/\n\n+/g, '\n\n');
178
+ }
179
+ //# sourceMappingURL=use-clipboard-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_blocks","require","_dom","_data","_compose","_pasting","_store","_useNotifyCopy","useClipboardHandler","getBlocksByClientId","getSelectedBlockClientIds","hasMultiSelection","getSettings","__unstableIsFullySelected","__unstableIsSelectionCollapsed","__unstableIsSelectionMergeable","__unstableGetSelectedBlocksWithPartialSelection","canInsertBlockType","useSelect","blockEditorStore","flashBlock","removeBlocks","replaceBlocks","__unstableDeleteSelection","__unstableExpandSelection","insertBlocks","useDispatch","notifyCopy","useNotifyCopy","useRefEffect","node","handler","event","defaultPrevented","selectedBlockClientIds","length","target","ownerDocument","hasSelection","type","documentHasUncollapsedSelection","documentHasSelection","contains","activeElement","preventDefault","isSelectionMergeable","shouldHandleWholeBlocks","expandSelectionIsNeeded","blocks","head","tail","inBetweenBlocks","slice","wrapperBlockName","clipboardData","getData","createBlock","JSON","parse","serialized","serialize","setData","toPlainText","contentEditable","__experimentalCanUserUseUnfilteredHTML","canUserUseUnfilteredHTML","plainText","html","files","getPasteEventData","fromTransforms","getBlockTransforms","reduce","accumulator","file","transformation","findTransform","transform","isMatch","push","flat","pasteHandler","HTML","mode","selectedBlockClientId","every","block","name","undefined","addEventListener","removeEventListener","replace","stripHTML","trim"],"sources":["@wordpress/block-editor/src/components/writing-flow/use-clipboard-handler.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tserialize,\n\tpasteHandler,\n\tcreateBlock,\n\tfindTransform,\n\tgetBlockTransforms,\n} from '@wordpress/blocks';\nimport {\n\tdocumentHasSelection,\n\tdocumentHasUncollapsedSelection,\n\t__unstableStripHTML as stripHTML,\n} from '@wordpress/dom';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getPasteEventData } from '../../utils/pasting';\nimport { store as blockEditorStore } from '../../store';\nimport { useNotifyCopy } from '../../utils/use-notify-copy';\n\nexport default function useClipboardHandler() {\n\tconst {\n\t\tgetBlocksByClientId,\n\t\tgetSelectedBlockClientIds,\n\t\thasMultiSelection,\n\t\tgetSettings,\n\t\t__unstableIsFullySelected,\n\t\t__unstableIsSelectionCollapsed,\n\t\t__unstableIsSelectionMergeable,\n\t\t__unstableGetSelectedBlocksWithPartialSelection,\n\t\tcanInsertBlockType,\n\t} = useSelect( blockEditorStore );\n\tconst {\n\t\tflashBlock,\n\t\tremoveBlocks,\n\t\treplaceBlocks,\n\t\t__unstableDeleteSelection,\n\t\t__unstableExpandSelection,\n\t\tinsertBlocks,\n\t} = useDispatch( blockEditorStore );\n\tconst notifyCopy = useNotifyCopy();\n\n\treturn useRefEffect( ( node ) => {\n\t\tfunction handler( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\t// This was likely already handled in rich-text/use-paste-handler.js.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\n\t\t\tif ( selectedBlockClientIds.length === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Always handle multiple selected blocks.\n\t\t\tif ( ! hasMultiSelection() ) {\n\t\t\t\tconst { target } = event;\n\t\t\t\tconst { ownerDocument } = target;\n\t\t\t\t// If copying, only consider actual text selection as selection.\n\t\t\t\t// Otherwise, any focus on an input field is considered.\n\t\t\t\tconst hasSelection =\n\t\t\t\t\tevent.type === 'copy' || event.type === 'cut'\n\t\t\t\t\t\t? documentHasUncollapsedSelection( ownerDocument )\n\t\t\t\t\t\t: documentHasSelection( ownerDocument );\n\n\t\t\t\t// Let native copy behaviour take over in input fields.\n\t\t\t\tif ( hasSelection ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( ! node.contains( event.target.ownerDocument.activeElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\n\t\t\tconst isSelectionMergeable = __unstableIsSelectionMergeable();\n\t\t\tconst shouldHandleWholeBlocks =\n\t\t\t\t__unstableIsSelectionCollapsed() || __unstableIsFullySelected();\n\t\t\tconst expandSelectionIsNeeded =\n\t\t\t\t! shouldHandleWholeBlocks && ! isSelectionMergeable;\n\t\t\tif ( event.type === 'copy' || event.type === 'cut' ) {\n\t\t\t\tif ( selectedBlockClientIds.length === 1 ) {\n\t\t\t\t\tflashBlock( selectedBlockClientIds[ 0 ] );\n\t\t\t\t}\n\t\t\t\t// If we have a partial selection that is not mergeable, just\n\t\t\t\t// expand the selection to the whole blocks.\n\t\t\t\tif ( expandSelectionIsNeeded ) {\n\t\t\t\t\t__unstableExpandSelection();\n\t\t\t\t} else {\n\t\t\t\t\tnotifyCopy( event.type, selectedBlockClientIds );\n\t\t\t\t\tlet blocks;\n\t\t\t\t\t// Check if we have partial selection.\n\t\t\t\t\tif ( shouldHandleWholeBlocks ) {\n\t\t\t\t\t\tblocks = getBlocksByClientId( selectedBlockClientIds );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst [ head, tail ] =\n\t\t\t\t\t\t\t__unstableGetSelectedBlocksWithPartialSelection();\n\t\t\t\t\t\tconst inBetweenBlocks = getBlocksByClientId(\n\t\t\t\t\t\t\tselectedBlockClientIds.slice(\n\t\t\t\t\t\t\t\t1,\n\t\t\t\t\t\t\t\tselectedBlockClientIds.length - 1\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tblocks = [ head, ...inBetweenBlocks, tail ];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst wrapperBlockName = event.clipboardData.getData(\n\t\t\t\t\t\t'__unstableWrapperBlockName'\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( wrapperBlockName ) {\n\t\t\t\t\t\tblocks = createBlock(\n\t\t\t\t\t\t\twrapperBlockName,\n\t\t\t\t\t\t\tJSON.parse(\n\t\t\t\t\t\t\t\tevent.clipboardData.getData(\n\t\t\t\t\t\t\t\t\t'__unstableWrapperBlockAttributes'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tblocks\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst serialized = serialize( blocks );\n\n\t\t\t\t\tevent.clipboardData.setData(\n\t\t\t\t\t\t'text/plain',\n\t\t\t\t\t\ttoPlainText( serialized )\n\t\t\t\t\t);\n\t\t\t\t\tevent.clipboardData.setData( 'text/html', serialized );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( event.type === 'cut' ) {\n\t\t\t\t// We need to also check if at the start we needed to\n\t\t\t\t// expand the selection, as in this point we might have\n\t\t\t\t// programmatically fully selected the blocks above.\n\t\t\t\tif ( shouldHandleWholeBlocks && ! expandSelectionIsNeeded ) {\n\t\t\t\t\tremoveBlocks( selectedBlockClientIds );\n\t\t\t\t} else {\n\t\t\t\t\tevent.target.ownerDocument.activeElement.contentEditable = false;\n\t\t\t\t\t__unstableDeleteSelection();\n\t\t\t\t}\n\t\t\t} else if ( event.type === 'paste' ) {\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalCanUserUseUnfilteredHTML:\n\t\t\t\t\t\tcanUserUseUnfilteredHTML,\n\t\t\t\t} = getSettings();\n\t\t\t\tconst { plainText, html, files } = getPasteEventData( event );\n\t\t\t\tlet blocks = [];\n\n\t\t\t\tif ( files.length ) {\n\t\t\t\t\tconst fromTransforms = getBlockTransforms( 'from' );\n\t\t\t\t\tblocks = files\n\t\t\t\t\t\t.reduce( ( accumulator, file ) => {\n\t\t\t\t\t\t\tconst transformation = findTransform(\n\t\t\t\t\t\t\t\tfromTransforms,\n\t\t\t\t\t\t\t\t( transform ) =>\n\t\t\t\t\t\t\t\t\ttransform.type === 'files' &&\n\t\t\t\t\t\t\t\t\ttransform.isMatch( [ file ] )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( transformation ) {\n\t\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\t\ttransformation.transform( [ file ] )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t\t}, [] )\n\t\t\t\t\t\t.flat();\n\t\t\t\t} else {\n\t\t\t\t\tblocks = pasteHandler( {\n\t\t\t\t\t\tHTML: html,\n\t\t\t\t\t\tplainText,\n\t\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\t\tcanUserUseUnfilteredHTML,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tif ( selectedBlockClientIds.length === 1 ) {\n\t\t\t\t\tconst [ selectedBlockClientId ] = selectedBlockClientIds;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tblocks.every( ( block ) =>\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\tselectedBlockClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tinsertBlocks(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\tselectedBlockClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treplaceBlocks(\n\t\t\t\t\tselectedBlockClientIds,\n\t\t\t\t\tblocks,\n\t\t\t\t\tblocks.length - 1,\n\t\t\t\t\t-1\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tnode.ownerDocument.addEventListener( 'copy', handler );\n\t\tnode.ownerDocument.addEventListener( 'cut', handler );\n\t\tnode.ownerDocument.addEventListener( 'paste', handler );\n\n\t\treturn () => {\n\t\t\tnode.ownerDocument.removeEventListener( 'copy', handler );\n\t\t\tnode.ownerDocument.removeEventListener( 'cut', handler );\n\t\t\tnode.ownerDocument.removeEventListener( 'paste', handler );\n\t\t};\n\t}, [] );\n}\n\n/**\n * Given a string of HTML representing serialized blocks, returns the plain\n * text extracted after stripping the HTML of any tags and fixing line breaks.\n *\n * @param {string} html Serialized blocks.\n * @return {string} The plain-text content with any html removed.\n */\nfunction toPlainText( html ) {\n\t// Manually handle BR tags as line breaks prior to `stripHTML` call\n\thtml = html.replace( /<br>/g, '\\n' );\n\n\tconst plainText = stripHTML( html ).trim();\n\n\t// Merge any consecutive line breaks\n\treturn plainText.replace( /\\n\\n+/g, '\\n\\n' );\n}\n"],"mappings":"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"}
@@ -4,11 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = useTabNav;
7
- var _element = require("@wordpress/element");
7
+ var _react = require("react");
8
8
  var _dom = require("@wordpress/dom");
9
9
  var _keycodes = require("@wordpress/keycodes");
10
10
  var _data = require("@wordpress/data");
11
11
  var _compose = require("@wordpress/compose");
12
+ var _element = require("@wordpress/element");
12
13
  var _store = require("../../store");
13
14
  var _dom2 = require("../../utils/dom");
14
15
  /**
@@ -61,12 +62,12 @@ function useTabNav() {
61
62
  }
62
63
  }
63
64
  }
64
- const before = (0, _element.createElement)("div", {
65
+ const before = (0, _react.createElement)("div", {
65
66
  ref: focusCaptureBeforeRef,
66
67
  tabIndex: focusCaptureTabIndex,
67
68
  onFocus: onFocusCapture
68
69
  });
69
- const after = (0, _element.createElement)("div", {
70
+ const after = (0, _react.createElement)("div", {
70
71
  ref: focusCaptureAfterRef,
71
72
  tabIndex: focusCaptureTabIndex,
72
73
  onFocus: onFocusCapture
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_dom","_keycodes","_data","_compose","_store","_dom2","useTabNav","container","useRef","focusCaptureBeforeRef","focusCaptureAfterRef","lastFocus","hasMultiSelection","getSelectedBlockClientId","getBlockCount","useSelect","blockEditorStore","setNavigationMode","useDispatch","isNavigationMode","select","focusCaptureTabIndex","undefined","noCapture","onFocusCapture","event","current","focus","canvasElement","ownerDocument","target","defaultView","frameElement","isBefore","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","tabbables","tabbable","find","length","next","before","createElement","ref","tabIndex","onFocus","after","useRefEffect","node","onKeyDown","defaultPrevented","keyCode","ESCAPE","preventDefault","TAB","isShift","shiftKey","direction","nextTabbable","currentBlock","closest","isElementPartOfSelectedBlock","isInSameBlock","isInsideRootBlock","isFormElement","preventScroll","onFocusOut","relatedTarget","activeElement","body","preventScrollOnTab","getAttribute","addEventListener","removeEventListener","mergedRefs","useMergeRefs"],"sources":["@wordpress/block-editor/src/components/writing-flow/use-tab-nav.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { focus, isFormElement } from '@wordpress/dom';\nimport { TAB, ESCAPE } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect, useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { isInSameBlock, isInsideRootBlock } from '../../utils/dom';\n\nexport default function useTabNav() {\n\tconst container = useRef();\n\tconst focusCaptureBeforeRef = useRef();\n\tconst focusCaptureAfterRef = useRef();\n\tconst lastFocus = useRef();\n\tconst { hasMultiSelection, getSelectedBlockClientId, getBlockCount } =\n\t\tuseSelect( blockEditorStore );\n\tconst { setNavigationMode } = useDispatch( blockEditorStore );\n\tconst isNavigationMode = useSelect(\n\t\t( select ) => select( blockEditorStore ).isNavigationMode(),\n\t\t[]\n\t);\n\n\t// Don't allow tabbing to this element in Navigation mode.\n\tconst focusCaptureTabIndex = ! isNavigationMode ? '0' : undefined;\n\n\t// Reference that holds the a flag for enabling or disabling\n\t// capturing on the focus capture elements.\n\tconst noCapture = useRef();\n\n\tfunction onFocusCapture( event ) {\n\t\t// Do not capture incoming focus if set by us in WritingFlow.\n\t\tif ( noCapture.current ) {\n\t\t\tnoCapture.current = null;\n\t\t} else if ( hasMultiSelection() ) {\n\t\t\tcontainer.current.focus();\n\t\t} else if ( getSelectedBlockClientId() ) {\n\t\t\tlastFocus.current.focus();\n\t\t} else {\n\t\t\tsetNavigationMode( true );\n\n\t\t\tconst canvasElement =\n\t\t\t\tcontainer.current.ownerDocument === event.target.ownerDocument\n\t\t\t\t\t? container.current\n\t\t\t\t\t: container.current.ownerDocument.defaultView.frameElement;\n\n\t\t\tconst isBefore =\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tevent.target.compareDocumentPosition( canvasElement ) &\n\t\t\t\tevent.target.DOCUMENT_POSITION_FOLLOWING;\n\t\t\tconst tabbables = focus.tabbable.find( container.current );\n\n\t\t\tif ( tabbables.length ) {\n\t\t\t\tconst next = isBefore\n\t\t\t\t\t? tabbables[ 0 ]\n\t\t\t\t\t: tabbables[ tabbables.length - 1 ];\n\n\t\t\t\tnext.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst before = (\n\t\t<div\n\t\t\tref={ focusCaptureBeforeRef }\n\t\t\ttabIndex={ focusCaptureTabIndex }\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst after = (\n\t\t<div\n\t\t\tref={ focusCaptureAfterRef }\n\t\t\ttabIndex={ focusCaptureTabIndex }\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst ref = useRefEffect( ( node ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.keyCode === ESCAPE && ! hasMultiSelection() ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetNavigationMode( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// In Edit mode, Tab should focus the first tabbable element after\n\t\t\t// the content, which is normally the sidebar (with block controls)\n\t\t\t// and Shift+Tab should focus the first tabbable element before the\n\t\t\t// content, which is normally the block toolbar.\n\t\t\t// Arrow keys can be used, and Tab and arrow keys can be used in\n\t\t\t// Navigation mode (press Esc), to navigate through blocks.\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\n\t\t\tif ( ! hasMultiSelection() && ! getSelectedBlockClientId() ) {\n\t\t\t\t// Preserve the behaviour of entering navigation mode when\n\t\t\t\t// tabbing into the content without a block selection.\n\t\t\t\t// `onFocusCapture` already did this previously, but we need to\n\t\t\t\t// do it again here because after clearing block selection,\n\t\t\t\t// focus land on the writing flow container and pressing Tab\n\t\t\t\t// will no longer send focus through the focus capture element.\n\t\t\t\tif ( event.target === node ) setNavigationMode( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst nextTabbable = focus.tabbable[ direction ]( event.target );\n\n\t\t\t// We want to constrain the tabbing to the block and its child blocks.\n\t\t\t// If the preceding form element is within a different block,\n\t\t\t// such as two sibling image blocks in the placeholder state,\n\t\t\t// we want shift + tab from the first form element to move to the image\n\t\t\t// block toolbar and not the previous image block's form element.\n\t\t\tconst currentBlock = event.target.closest( '[data-block]' );\n\t\t\tconst isElementPartOfSelectedBlock =\n\t\t\t\tcurrentBlock &&\n\t\t\t\tnextTabbable &&\n\t\t\t\t( isInSameBlock( currentBlock, nextTabbable ) ||\n\t\t\t\t\tisInsideRootBlock( currentBlock, nextTabbable ) );\n\n\t\t\t// Allow tabbing from the block wrapper to a form element,\n\t\t\t// and between form elements rendered in a block and its child blocks,\n\t\t\t// such as inside a placeholder. Form elements are generally\n\t\t\t// meant to be UI rather than part of the content. Ideally\n\t\t\t// these are not rendered in the content and perhaps in the\n\t\t\t// future they can be rendered in an iframe or shadow DOM.\n\t\t\tif (\n\t\t\t\tisFormElement( nextTabbable ) &&\n\t\t\t\tisElementPartOfSelectedBlock\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst next = isShift ? focusCaptureBeforeRef : focusCaptureAfterRef;\n\n\t\t\t// Disable focus capturing on the focus capture element, so it\n\t\t\t// doesn't refocus this block and so it allows default behaviour\n\t\t\t// (moving focus to the next tabbable element).\n\t\t\tnoCapture.current = true;\n\n\t\t\t// Focusing the focus capture element, which is located above and\n\t\t\t// below the editor, should not scroll the page all the way up or\n\t\t\t// down.\n\t\t\tnext.current.focus( { preventScroll: true } );\n\t\t}\n\n\t\tfunction onFocusOut( event ) {\n\t\t\tlastFocus.current = event.target;\n\n\t\t\tconst { ownerDocument } = node;\n\n\t\t\t// If focus disappears due to there being no blocks, move focus to\n\t\t\t// the writing flow wrapper.\n\t\t\tif (\n\t\t\t\t! event.relatedTarget &&\n\t\t\t\townerDocument.activeElement === ownerDocument.body &&\n\t\t\t\tgetBlockCount() === 0\n\t\t\t) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t}\n\n\t\t// When tabbing back to an element in block list, this event handler prevents scrolling if the\n\t\t// focus capture divs (before/after) are outside of the viewport. (For example shift+tab back to a paragraph\n\t\t// when focus is on a sidebar element. This prevents the scrollable writing area from jumping either to the\n\t\t// top or bottom of the document.\n\t\t//\n\t\t// Note that it isn't possible to disable scrolling in the onFocus event. We need to intercept this\n\t\t// earlier in the keypress handler, and call focus( { preventScroll: true } ) instead.\n\t\t// https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus#parameters\n\t\tfunction preventScrollOnTab( event ) {\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.target?.getAttribute( 'role' ) === 'region' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( container.current === event.target ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\t\t\tconst target = focus.tabbable[ direction ]( event.target );\n\t\t\t// Only do something when the next tabbable is a focus capture div (before/after)\n\t\t\tif (\n\t\t\t\ttarget === focusCaptureBeforeRef.current ||\n\t\t\t\ttarget === focusCaptureAfterRef.current\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttarget.focus( { preventScroll: true } );\n\t\t\t}\n\t\t}\n\n\t\tconst { ownerDocument } = node;\n\t\tconst { defaultView } = ownerDocument;\n\t\tdefaultView.addEventListener( 'keydown', preventScrollOnTab );\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\tnode.addEventListener( 'focusout', onFocusOut );\n\t\treturn () => {\n\t\t\tdefaultView.removeEventListener( 'keydown', preventScrollOnTab );\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\tnode.removeEventListener( 'focusout', onFocusOut );\n\t\t};\n\t}, [] );\n\n\tconst mergedRefs = useMergeRefs( [ container, ref ] );\n\n\treturn [ before, mergedRefs, after ];\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_dom","require","_keycodes","_data","_compose","_element","_store","_dom2","useTabNav","container","useRef","focusCaptureBeforeRef","focusCaptureAfterRef","lastFocus","hasMultiSelection","getSelectedBlockClientId","getBlockCount","useSelect","blockEditorStore","setNavigationMode","useDispatch","isNavigationMode","select","focusCaptureTabIndex","undefined","noCapture","onFocusCapture","event","current","focus","canvasElement","ownerDocument","target","defaultView","frameElement","isBefore","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","tabbables","tabbable","find","length","next","before","_react","createElement","ref","tabIndex","onFocus","after","useRefEffect","node","onKeyDown","defaultPrevented","keyCode","ESCAPE","preventDefault","TAB","isShift","shiftKey","direction","nextTabbable","currentBlock","closest","isElementPartOfSelectedBlock","isInSameBlock","isInsideRootBlock","isFormElement","preventScroll","onFocusOut","relatedTarget","activeElement","body","preventScrollOnTab","getAttribute","addEventListener","removeEventListener","mergedRefs","useMergeRefs"],"sources":["@wordpress/block-editor/src/components/writing-flow/use-tab-nav.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { focus, isFormElement } from '@wordpress/dom';\nimport { TAB, ESCAPE } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect, useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { isInSameBlock, isInsideRootBlock } from '../../utils/dom';\n\nexport default function useTabNav() {\n\tconst container = useRef();\n\tconst focusCaptureBeforeRef = useRef();\n\tconst focusCaptureAfterRef = useRef();\n\tconst lastFocus = useRef();\n\tconst { hasMultiSelection, getSelectedBlockClientId, getBlockCount } =\n\t\tuseSelect( blockEditorStore );\n\tconst { setNavigationMode } = useDispatch( blockEditorStore );\n\tconst isNavigationMode = useSelect(\n\t\t( select ) => select( blockEditorStore ).isNavigationMode(),\n\t\t[]\n\t);\n\n\t// Don't allow tabbing to this element in Navigation mode.\n\tconst focusCaptureTabIndex = ! isNavigationMode ? '0' : undefined;\n\n\t// Reference that holds the a flag for enabling or disabling\n\t// capturing on the focus capture elements.\n\tconst noCapture = useRef();\n\n\tfunction onFocusCapture( event ) {\n\t\t// Do not capture incoming focus if set by us in WritingFlow.\n\t\tif ( noCapture.current ) {\n\t\t\tnoCapture.current = null;\n\t\t} else if ( hasMultiSelection() ) {\n\t\t\tcontainer.current.focus();\n\t\t} else if ( getSelectedBlockClientId() ) {\n\t\t\tlastFocus.current.focus();\n\t\t} else {\n\t\t\tsetNavigationMode( true );\n\n\t\t\tconst canvasElement =\n\t\t\t\tcontainer.current.ownerDocument === event.target.ownerDocument\n\t\t\t\t\t? container.current\n\t\t\t\t\t: container.current.ownerDocument.defaultView.frameElement;\n\n\t\t\tconst isBefore =\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tevent.target.compareDocumentPosition( canvasElement ) &\n\t\t\t\tevent.target.DOCUMENT_POSITION_FOLLOWING;\n\t\t\tconst tabbables = focus.tabbable.find( container.current );\n\n\t\t\tif ( tabbables.length ) {\n\t\t\t\tconst next = isBefore\n\t\t\t\t\t? tabbables[ 0 ]\n\t\t\t\t\t: tabbables[ tabbables.length - 1 ];\n\n\t\t\t\tnext.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst before = (\n\t\t<div\n\t\t\tref={ focusCaptureBeforeRef }\n\t\t\ttabIndex={ focusCaptureTabIndex }\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst after = (\n\t\t<div\n\t\t\tref={ focusCaptureAfterRef }\n\t\t\ttabIndex={ focusCaptureTabIndex }\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst ref = useRefEffect( ( node ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.keyCode === ESCAPE && ! hasMultiSelection() ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetNavigationMode( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// In Edit mode, Tab should focus the first tabbable element after\n\t\t\t// the content, which is normally the sidebar (with block controls)\n\t\t\t// and Shift+Tab should focus the first tabbable element before the\n\t\t\t// content, which is normally the block toolbar.\n\t\t\t// Arrow keys can be used, and Tab and arrow keys can be used in\n\t\t\t// Navigation mode (press Esc), to navigate through blocks.\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\n\t\t\tif ( ! hasMultiSelection() && ! getSelectedBlockClientId() ) {\n\t\t\t\t// Preserve the behaviour of entering navigation mode when\n\t\t\t\t// tabbing into the content without a block selection.\n\t\t\t\t// `onFocusCapture` already did this previously, but we need to\n\t\t\t\t// do it again here because after clearing block selection,\n\t\t\t\t// focus land on the writing flow container and pressing Tab\n\t\t\t\t// will no longer send focus through the focus capture element.\n\t\t\t\tif ( event.target === node ) setNavigationMode( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst nextTabbable = focus.tabbable[ direction ]( event.target );\n\n\t\t\t// We want to constrain the tabbing to the block and its child blocks.\n\t\t\t// If the preceding form element is within a different block,\n\t\t\t// such as two sibling image blocks in the placeholder state,\n\t\t\t// we want shift + tab from the first form element to move to the image\n\t\t\t// block toolbar and not the previous image block's form element.\n\t\t\tconst currentBlock = event.target.closest( '[data-block]' );\n\t\t\tconst isElementPartOfSelectedBlock =\n\t\t\t\tcurrentBlock &&\n\t\t\t\tnextTabbable &&\n\t\t\t\t( isInSameBlock( currentBlock, nextTabbable ) ||\n\t\t\t\t\tisInsideRootBlock( currentBlock, nextTabbable ) );\n\n\t\t\t// Allow tabbing from the block wrapper to a form element,\n\t\t\t// and between form elements rendered in a block and its child blocks,\n\t\t\t// such as inside a placeholder. Form elements are generally\n\t\t\t// meant to be UI rather than part of the content. Ideally\n\t\t\t// these are not rendered in the content and perhaps in the\n\t\t\t// future they can be rendered in an iframe or shadow DOM.\n\t\t\tif (\n\t\t\t\tisFormElement( nextTabbable ) &&\n\t\t\t\tisElementPartOfSelectedBlock\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst next = isShift ? focusCaptureBeforeRef : focusCaptureAfterRef;\n\n\t\t\t// Disable focus capturing on the focus capture element, so it\n\t\t\t// doesn't refocus this block and so it allows default behaviour\n\t\t\t// (moving focus to the next tabbable element).\n\t\t\tnoCapture.current = true;\n\n\t\t\t// Focusing the focus capture element, which is located above and\n\t\t\t// below the editor, should not scroll the page all the way up or\n\t\t\t// down.\n\t\t\tnext.current.focus( { preventScroll: true } );\n\t\t}\n\n\t\tfunction onFocusOut( event ) {\n\t\t\tlastFocus.current = event.target;\n\n\t\t\tconst { ownerDocument } = node;\n\n\t\t\t// If focus disappears due to there being no blocks, move focus to\n\t\t\t// the writing flow wrapper.\n\t\t\tif (\n\t\t\t\t! event.relatedTarget &&\n\t\t\t\townerDocument.activeElement === ownerDocument.body &&\n\t\t\t\tgetBlockCount() === 0\n\t\t\t) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t}\n\n\t\t// When tabbing back to an element in block list, this event handler prevents scrolling if the\n\t\t// focus capture divs (before/after) are outside of the viewport. (For example shift+tab back to a paragraph\n\t\t// when focus is on a sidebar element. This prevents the scrollable writing area from jumping either to the\n\t\t// top or bottom of the document.\n\t\t//\n\t\t// Note that it isn't possible to disable scrolling in the onFocus event. We need to intercept this\n\t\t// earlier in the keypress handler, and call focus( { preventScroll: true } ) instead.\n\t\t// https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus#parameters\n\t\tfunction preventScrollOnTab( event ) {\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.target?.getAttribute( 'role' ) === 'region' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( container.current === event.target ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\t\t\tconst target = focus.tabbable[ direction ]( event.target );\n\t\t\t// Only do something when the next tabbable is a focus capture div (before/after)\n\t\t\tif (\n\t\t\t\ttarget === focusCaptureBeforeRef.current ||\n\t\t\t\ttarget === focusCaptureAfterRef.current\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttarget.focus( { preventScroll: true } );\n\t\t\t}\n\t\t}\n\n\t\tconst { ownerDocument } = node;\n\t\tconst { defaultView } = ownerDocument;\n\t\tdefaultView.addEventListener( 'keydown', preventScrollOnTab );\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\tnode.addEventListener( 'focusout', onFocusOut );\n\t\treturn () => {\n\t\t\tdefaultView.removeEventListener( 'keydown', preventScrollOnTab );\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\tnode.removeEventListener( 'focusout', onFocusOut );\n\t\t};\n\t}, [] );\n\n\tconst mergedRefs = useMergeRefs( [ container, ref ] );\n\n\treturn [ before, mergedRefs, after ];\n}\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = WritingModeControl;
8
- var _element = require("@wordpress/element");
8
+ var _react = require("react");
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _components = require("@wordpress/components");
11
11
  var _i18n = require("@wordpress/i18n");
@@ -36,21 +36,21 @@ const WRITING_MODES = [{
36
36
  * @param {string} props.value Currently selected writing mode.
37
37
  * @param {Function} props.onChange Handles change in the writing mode selection.
38
38
  *
39
- * @return {WPElement} Writing Mode control.
39
+ * @return {Element} Writing Mode control.
40
40
  */
41
41
  function WritingModeControl({
42
42
  className,
43
43
  value,
44
44
  onChange
45
45
  }) {
46
- return (0, _element.createElement)("fieldset", {
46
+ return (0, _react.createElement)("fieldset", {
47
47
  className: (0, _classnames.default)('block-editor-writing-mode-control', className)
48
- }, (0, _element.createElement)(_components.BaseControl.VisualLabel, {
48
+ }, (0, _react.createElement)(_components.BaseControl.VisualLabel, {
49
49
  as: "legend"
50
- }, (0, _i18n.__)('Orientation')), (0, _element.createElement)("div", {
50
+ }, (0, _i18n.__)('Orientation')), (0, _react.createElement)("div", {
51
51
  className: "block-editor-writing-mode-control__buttons"
52
52
  }, WRITING_MODES.map(writingMode => {
53
- return (0, _element.createElement)(_components.Button, {
53
+ return (0, _react.createElement)(_components.Button, {
54
54
  key: writingMode.value,
55
55
  icon: writingMode.icon,
56
56
  label: writingMode.name,
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_icons","WRITING_MODES","name","__","value","icon","textHorizontal","isRTL","textVertical","WritingModeControl","className","onChange","_element","createElement","classnames","BaseControl","VisualLabel","as","map","writingMode","Button","key","label","isPressed","onClick","undefined"],"sources":["@wordpress/block-editor/src/components/writing-mode-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { BaseControl, Button } from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { textHorizontal, textVertical } from '@wordpress/icons';\n\nconst WRITING_MODES = [\n\t{\n\t\tname: __( 'Horizontal' ),\n\t\tvalue: 'horizontal-tb',\n\t\ticon: textHorizontal,\n\t},\n\t{\n\t\tname: __( 'Vertical' ),\n\t\tvalue: isRTL() ? 'vertical-lr' : 'vertical-rl',\n\t\ticon: textVertical,\n\t},\n];\n\n/**\n * Control to facilitate writing mode selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.className Class name to add to the control.\n * @param {string} props.value Currently selected writing mode.\n * @param {Function} props.onChange Handles change in the writing mode selection.\n *\n * @return {WPElement} Writing Mode control.\n */\nexport default function WritingModeControl( { className, value, onChange } ) {\n\treturn (\n\t\t<fieldset\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-writing-mode-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ __( 'Orientation' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<div className=\"block-editor-writing-mode-control__buttons\">\n\t\t\t\t{ WRITING_MODES.map( ( writingMode ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ writingMode.value }\n\t\t\t\t\t\t\ticon={ writingMode.icon }\n\t\t\t\t\t\t\tlabel={ writingMode.name }\n\t\t\t\t\t\t\tisPressed={ writingMode.value === value }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\twritingMode.value === value\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: writingMode.value\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</fieldset>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAGA;AACA;AACA;;AAKA,MAAMI,aAAa,GAAG,CACrB;EACCC,IAAI,EAAE,IAAAC,QAAE,EAAE,YAAa,CAAC;EACxBC,KAAK,EAAE,eAAe;EACtBC,IAAI,EAAEC;AACP,CAAC,EACD;EACCJ,IAAI,EAAE,IAAAC,QAAE,EAAE,UAAW,CAAC;EACtBC,KAAK,EAAE,IAAAG,WAAK,EAAC,CAAC,GAAG,aAAa,GAAG,aAAa;EAC9CF,IAAI,EAAEG;AACP,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,kBAAkBA,CAAE;EAAEC,SAAS;EAAEN,KAAK;EAAEO;AAAS,CAAC,EAAG;EAC5E,OACC,IAAAC,QAAA,CAAAC,aAAA;IACCH,SAAS,EAAG,IAAAI,mBAAU,EACrB,mCAAmC,EACnCJ,SACD;EAAG,GAEH,IAAAE,QAAA,CAAAC,aAAA,EAACf,WAAA,CAAAiB,WAAW,CAACC,WAAW;IAACC,EAAE,EAAC;EAAQ,GACjC,IAAAd,QAAE,EAAE,aAAc,CACI,CAAC,EAC1B,IAAAS,QAAA,CAAAC,aAAA;IAAKH,SAAS,EAAC;EAA4C,GACxDT,aAAa,CAACiB,GAAG,CAAIC,WAAW,IAAM;IACvC,OACC,IAAAP,QAAA,CAAAC,aAAA,EAACf,WAAA,CAAAsB,MAAM;MACNC,GAAG,EAAGF,WAAW,CAACf,KAAO;MACzBC,IAAI,EAAGc,WAAW,CAACd,IAAM;MACzBiB,KAAK,EAAGH,WAAW,CAACjB,IAAM;MAC1BqB,SAAS,EAAGJ,WAAW,CAACf,KAAK,KAAKA,KAAO;MACzCoB,OAAO,EAAGA,CAAA,KAAM;QACfb,QAAQ,CACPQ,WAAW,CAACf,KAAK,KAAKA,KAAK,GACxBqB,SAAS,GACTN,WAAW,CAACf,KAChB,CAAC;MACF;IAAG,CACH,CAAC;EAEJ,CAAE,CACE,CACI,CAAC;AAEb"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_icons","WRITING_MODES","name","__","value","icon","textHorizontal","isRTL","textVertical","WritingModeControl","className","onChange","_react","createElement","classnames","BaseControl","VisualLabel","as","map","writingMode","Button","key","label","isPressed","onClick","undefined"],"sources":["@wordpress/block-editor/src/components/writing-mode-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { BaseControl, Button } from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { textHorizontal, textVertical } from '@wordpress/icons';\n\nconst WRITING_MODES = [\n\t{\n\t\tname: __( 'Horizontal' ),\n\t\tvalue: 'horizontal-tb',\n\t\ticon: textHorizontal,\n\t},\n\t{\n\t\tname: __( 'Vertical' ),\n\t\tvalue: isRTL() ? 'vertical-lr' : 'vertical-rl',\n\t\ticon: textVertical,\n\t},\n];\n\n/**\n * Control to facilitate writing mode selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.className Class name to add to the control.\n * @param {string} props.value Currently selected writing mode.\n * @param {Function} props.onChange Handles change in the writing mode selection.\n *\n * @return {Element} Writing Mode control.\n */\nexport default function WritingModeControl( { className, value, onChange } ) {\n\treturn (\n\t\t<fieldset\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-writing-mode-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ __( 'Orientation' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<div className=\"block-editor-writing-mode-control__buttons\">\n\t\t\t\t{ WRITING_MODES.map( ( writingMode ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ writingMode.value }\n\t\t\t\t\t\t\ticon={ writingMode.icon }\n\t\t\t\t\t\t\tlabel={ writingMode.name }\n\t\t\t\t\t\t\tisPressed={ writingMode.value === value }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\twritingMode.value === value\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: writingMode.value\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</fieldset>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAGA;AACA;AACA;;AAKA,MAAMI,aAAa,GAAG,CACrB;EACCC,IAAI,EAAE,IAAAC,QAAE,EAAE,YAAa,CAAC;EACxBC,KAAK,EAAE,eAAe;EACtBC,IAAI,EAAEC;AACP,CAAC,EACD;EACCJ,IAAI,EAAE,IAAAC,QAAE,EAAE,UAAW,CAAC;EACtBC,KAAK,EAAE,IAAAG,WAAK,EAAC,CAAC,GAAG,aAAa,GAAG,aAAa;EAC9CF,IAAI,EAAEG;AACP,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,kBAAkBA,CAAE;EAAEC,SAAS;EAAEN,KAAK;EAAEO;AAAS,CAAC,EAAG;EAC5E,OACC,IAAAC,MAAA,CAAAC,aAAA;IACCH,SAAS,EAAG,IAAAI,mBAAU,EACrB,mCAAmC,EACnCJ,SACD;EAAG,GAEH,IAAAE,MAAA,CAAAC,aAAA,EAACf,WAAA,CAAAiB,WAAW,CAACC,WAAW;IAACC,EAAE,EAAC;EAAQ,GACjC,IAAAd,QAAE,EAAE,aAAc,CACI,CAAC,EAC1B,IAAAS,MAAA,CAAAC,aAAA;IAAKH,SAAS,EAAC;EAA4C,GACxDT,aAAa,CAACiB,GAAG,CAAIC,WAAW,IAAM;IACvC,OACC,IAAAP,MAAA,CAAAC,aAAA,EAACf,WAAA,CAAAsB,MAAM;MACNC,GAAG,EAAGF,WAAW,CAACf,KAAO;MACzBC,IAAI,EAAGc,WAAW,CAACd,IAAM;MACzBiB,KAAK,EAAGH,WAAW,CAACjB,IAAM;MAC1BqB,SAAS,EAAGJ,WAAW,CAACf,KAAK,KAAKA,KAAO;MACzCoB,OAAO,EAAGA,CAAA,KAAM;QACfb,QAAQ,CACPQ,WAAW,CAACf,KAAK,KAAKA,KAAK,GACxBqB,SAAS,GACTN,WAAW,CAACf,KAChB,CAAC;MACF;IAAG,CACH,CAAC;EAEJ,CAAE,CACE,CACI,CAAC;AAEb"}