@wordpress/block-editor 12.10.2 → 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 (1275) 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/hooks.js +1 -1
  322. package/build/components/global-styles/hooks.js.map +1 -1
  323. package/build/components/global-styles/image-settings-panel.js +4 -4
  324. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  325. package/build/components/global-styles/typography-panel.js +22 -21
  326. package/build/components/global-styles/typography-panel.js.map +1 -1
  327. package/build/components/global-styles/use-global-styles-output.js +17 -5
  328. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  329. package/build/components/global-styles/utils.js +22 -0
  330. package/build/components/global-styles/utils.js.map +1 -1
  331. package/build/components/gradients/with-gradient.js +2 -2
  332. package/build/components/gradients/with-gradient.js.map +1 -1
  333. package/build/components/height-control/index.js +9 -8
  334. package/build/components/height-control/index.js.map +1 -1
  335. package/build/components/iframe/index.js +6 -5
  336. package/build/components/iframe/index.js.map +1 -1
  337. package/build/components/image-editor/aspect-ratio-dropdown.js +7 -7
  338. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  339. package/build/components/image-editor/context.js +2 -1
  340. package/build/components/image-editor/context.js.map +1 -1
  341. package/build/components/image-editor/cropper.js +4 -4
  342. package/build/components/image-editor/cropper.js.map +1 -1
  343. package/build/components/image-editor/form-controls.js +3 -3
  344. package/build/components/image-editor/form-controls.js.map +1 -1
  345. package/build/components/image-editor/index.js +5 -5
  346. package/build/components/image-editor/index.js.map +1 -1
  347. package/build/components/image-editor/rotation-button.js +2 -2
  348. package/build/components/image-editor/rotation-button.js.map +1 -1
  349. package/build/components/image-editor/zoom-dropdown.js +4 -4
  350. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  351. package/build/components/image-size-control/index.js +9 -9
  352. package/build/components/image-size-control/index.js.map +1 -1
  353. package/build/components/index.js +1 -1
  354. package/build/components/index.js.map +1 -1
  355. package/build/components/inner-blocks/button-block-appender.js +2 -2
  356. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  357. package/build/components/inner-blocks/constants.native.js +13 -0
  358. package/build/components/inner-blocks/constants.native.js.map +1 -0
  359. package/build/components/inner-blocks/default-block-appender.js +2 -2
  360. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  361. package/build/components/inner-blocks/index.js +9 -8
  362. package/build/components/inner-blocks/index.js.map +1 -1
  363. package/build/components/inner-blocks/index.native.js +21 -8
  364. package/build/components/inner-blocks/index.native.js.map +1 -1
  365. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +95 -0
  366. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -0
  367. package/build/components/inner-blocks/with-client-id.js +2 -2
  368. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  369. package/build/components/inserter/block-patterns-explorer/explorer.js +7 -6
  370. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  371. package/build/components/inserter/block-patterns-explorer/patterns-list.js +6 -5
  372. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  373. package/build/components/inserter/block-patterns-explorer/sidebar.js +8 -8
  374. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  375. package/build/components/inserter/block-patterns-filter.js +21 -19
  376. package/build/components/inserter/block-patterns-filter.js.map +1 -1
  377. package/build/components/inserter/block-patterns-tab.js +19 -18
  378. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  379. package/build/components/inserter/block-types-tab.js +10 -9
  380. package/build/components/inserter/block-types-tab.js.map +1 -1
  381. package/build/components/inserter/block-types-tab.native.js +2 -1
  382. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  383. package/build/components/inserter/index.js +9 -8
  384. package/build/components/inserter/index.js.map +1 -1
  385. package/build/components/inserter/index.native.js +11 -10
  386. package/build/components/inserter/index.native.js.map +1 -1
  387. package/build/components/inserter/library.js +3 -2
  388. package/build/components/inserter/library.js.map +1 -1
  389. package/build/components/inserter/media-tab/hooks.js +4 -33
  390. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  391. package/build/components/inserter/media-tab/media-list.js +3 -3
  392. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  393. package/build/components/inserter/media-tab/media-panel.js +7 -6
  394. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  395. package/build/components/inserter/media-tab/media-preview.js +18 -17
  396. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  397. package/build/components/inserter/media-tab/media-tab.js +12 -11
  398. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  399. package/build/components/inserter/media-tab/utils.js +2 -2
  400. package/build/components/inserter/media-tab/utils.js.map +1 -1
  401. package/build/components/inserter/menu.js +19 -18
  402. package/build/components/inserter/menu.js.map +1 -1
  403. package/build/components/inserter/menu.native.js +9 -8
  404. package/build/components/inserter/menu.native.js.map +1 -1
  405. package/build/components/inserter/mobile-tab-navigation.js +12 -12
  406. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  407. package/build/components/inserter/no-results.js +4 -4
  408. package/build/components/inserter/no-results.js.map +1 -1
  409. package/build/components/inserter/no-results.native.js +4 -4
  410. package/build/components/inserter/no-results.native.js.map +1 -1
  411. package/build/components/inserter/panel.js +5 -5
  412. package/build/components/inserter/panel.js.map +1 -1
  413. package/build/components/inserter/preview-panel.js +8 -7
  414. package/build/components/inserter/preview-panel.js.map +1 -1
  415. package/build/components/inserter/quick-inserter.js +7 -6
  416. package/build/components/inserter/quick-inserter.js.map +1 -1
  417. package/build/components/inserter/reusable-block-rename-hint.js +5 -4
  418. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
  419. package/build/components/inserter/reusable-blocks-tab.native.js +3 -2
  420. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  421. package/build/components/inserter/search-results.js +11 -10
  422. package/build/components/inserter/search-results.js.map +1 -1
  423. package/build/components/inserter/search-results.native.js +4 -3
  424. package/build/components/inserter/search-results.native.js.map +1 -1
  425. package/build/components/inserter/tabs.js +2 -1
  426. package/build/components/inserter/tabs.js.map +1 -1
  427. package/build/components/inserter/tabs.native.js +7 -6
  428. package/build/components/inserter/tabs.native.js.map +1 -1
  429. package/build/components/inserter/tips.js +6 -5
  430. package/build/components/inserter/tips.js.map +1 -1
  431. package/build/components/inserter-draggable-blocks/index.js +3 -3
  432. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  433. package/build/components/inserter-list-item/index.js +9 -8
  434. package/build/components/inserter-list-item/index.js.map +1 -1
  435. package/build/components/inserter-listbox/group.js +2 -1
  436. package/build/components/inserter-listbox/group.js.map +1 -1
  437. package/build/components/inserter-listbox/index.js +2 -2
  438. package/build/components/inserter-listbox/index.js.map +1 -1
  439. package/build/components/inserter-listbox/item.js +5 -4
  440. package/build/components/inserter-listbox/item.js.map +1 -1
  441. package/build/components/inserter-listbox/row.js +2 -1
  442. package/build/components/inserter-listbox/row.js.map +1 -1
  443. package/build/components/inspector-controls/block-support-slot-container.js +3 -2
  444. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  445. package/build/components/inspector-controls/block-support-tools-panel.js +3 -2
  446. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  447. package/build/components/inspector-controls/fill.js +7 -6
  448. package/build/components/inspector-controls/fill.js.map +1 -1
  449. package/build/components/inspector-controls/fill.native.js +4 -3
  450. package/build/components/inspector-controls/fill.native.js.map +1 -1
  451. package/build/components/inspector-controls/index.js +3 -3
  452. package/build/components/inspector-controls/index.js.map +1 -1
  453. package/build/components/inspector-controls/slot.js +5 -4
  454. package/build/components/inspector-controls/slot.js.map +1 -1
  455. package/build/components/inspector-controls/slot.native.js +2 -2
  456. package/build/components/inspector-controls/slot.native.js.map +1 -1
  457. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +3 -3
  458. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  459. package/build/components/inspector-controls-tabs/index.js +5 -5
  460. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  461. package/build/components/inspector-controls-tabs/position-controls-panel.js +5 -4
  462. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  463. package/build/components/inspector-controls-tabs/settings-tab-hint.js +5 -4
  464. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  465. package/build/components/inspector-controls-tabs/settings-tab.js +2 -2
  466. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  467. package/build/components/inspector-controls-tabs/styles-tab.js +11 -11
  468. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  469. package/build/components/inspector-popover-header/index.js +8 -8
  470. package/build/components/inspector-popover-header/index.js.map +1 -1
  471. package/build/components/justify-content-control/index.js +3 -3
  472. package/build/components/justify-content-control/index.js.map +1 -1
  473. package/build/components/justify-content-control/ui.js +2 -2
  474. package/build/components/justify-content-control/ui.js.map +1 -1
  475. package/build/components/letter-spacing-control/index.js +3 -3
  476. package/build/components/letter-spacing-control/index.js.map +1 -1
  477. package/build/components/line-height-control/index.js +3 -3
  478. package/build/components/line-height-control/index.js.map +1 -1
  479. package/build/components/line-height-control/index.native.js +2 -2
  480. package/build/components/line-height-control/index.native.js.map +1 -1
  481. package/build/components/link-control/index.js +18 -17
  482. package/build/components/link-control/index.js.map +1 -1
  483. package/build/components/link-control/link-preview.js +20 -20
  484. package/build/components/link-control/link-preview.js.map +1 -1
  485. package/build/components/link-control/search-create-button.js +4 -3
  486. package/build/components/link-control/search-create-button.js.map +1 -1
  487. package/build/components/link-control/search-input.js +5 -4
  488. package/build/components/link-control/search-input.js.map +1 -1
  489. package/build/components/link-control/search-item.js +41 -6
  490. package/build/components/link-control/search-item.js.map +1 -1
  491. package/build/components/link-control/search-results.js +7 -7
  492. package/build/components/link-control/search-results.js.map +1 -1
  493. package/build/components/link-control/settings-drawer.js +5 -4
  494. package/build/components/link-control/settings-drawer.js.map +1 -1
  495. package/build/components/link-control/settings.js +4 -4
  496. package/build/components/link-control/settings.js.map +1 -1
  497. package/build/components/list-view/appender.js +5 -4
  498. package/build/components/list-view/appender.js.map +1 -1
  499. package/build/components/list-view/aria-referenced-text.js +2 -1
  500. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  501. package/build/components/list-view/block-contents.js +5 -4
  502. package/build/components/list-view/block-contents.js.map +1 -1
  503. package/build/components/list-view/block-select-button.js +16 -15
  504. package/build/components/list-view/block-select-button.js.map +1 -1
  505. package/build/components/list-view/block.js +15 -45
  506. package/build/components/list-view/block.js.map +1 -1
  507. package/build/components/list-view/branch.js +17 -9
  508. package/build/components/list-view/branch.js.map +1 -1
  509. package/build/components/list-view/drop-indicator.js +4 -3
  510. package/build/components/list-view/drop-indicator.js.map +1 -1
  511. package/build/components/list-view/expander.js +3 -3
  512. package/build/components/list-view/expander.js.map +1 -1
  513. package/build/components/list-view/index.js +16 -10
  514. package/build/components/list-view/index.js.map +1 -1
  515. package/build/components/list-view/leaf.js +3 -2
  516. package/build/components/list-view/leaf.js.map +1 -1
  517. package/build/components/list-view/utils.js +35 -0
  518. package/build/components/list-view/utils.js.map +1 -1
  519. package/build/components/media-placeholder/index.js +22 -21
  520. package/build/components/media-placeholder/index.js.map +1 -1
  521. package/build/components/media-placeholder/index.native.js +13 -12
  522. package/build/components/media-placeholder/index.native.js.map +1 -1
  523. package/build/components/media-replace-flow/index.js +14 -13
  524. package/build/components/media-replace-flow/index.js.map +1 -1
  525. package/build/components/media-replace-flow/index.native.js +2 -2
  526. package/build/components/media-replace-flow/index.native.js.map +1 -1
  527. package/build/components/media-upload/{constants.js → constants.native.js} +2 -4
  528. package/build/components/media-upload/constants.native.js.map +1 -0
  529. package/build/components/media-upload/index.js +1 -1
  530. package/build/components/media-upload/index.js.map +1 -1
  531. package/build/components/media-upload/index.native.js +12 -11
  532. package/build/components/media-upload/index.native.js.map +1 -1
  533. package/build/components/media-upload-progress/index.native.js +5 -4
  534. package/build/components/media-upload-progress/index.native.js.map +1 -1
  535. package/build/components/multi-selection-inspector/index.js +6 -6
  536. package/build/components/multi-selection-inspector/index.js.map +1 -1
  537. package/build/components/navigable-toolbar/index.js +4 -3
  538. package/build/components/navigable-toolbar/index.js.map +1 -1
  539. package/build/components/observe-typing/index.js +2 -2
  540. package/build/components/observe-typing/index.js.map +1 -1
  541. package/build/components/panel-color-settings/index.js +2 -2
  542. package/build/components/panel-color-settings/index.js.map +1 -1
  543. package/build/components/plain-text/index.js +4 -3
  544. package/build/components/plain-text/index.js.map +1 -1
  545. package/build/components/plain-text/index.native.js +4 -3
  546. package/build/components/plain-text/index.native.js.map +1 -1
  547. package/build/components/preview-options/index.js +5 -5
  548. package/build/components/preview-options/index.js.map +1 -1
  549. package/build/components/provider/block-refs-provider.js +2 -1
  550. package/build/components/provider/block-refs-provider.js.map +1 -1
  551. package/build/components/provider/index.js +4 -3
  552. package/build/components/provider/index.js.map +1 -1
  553. package/build/components/provider/index.native.js +3 -2
  554. package/build/components/provider/index.native.js.map +1 -1
  555. package/build/components/provider/use-block-sync.js +1 -1
  556. package/build/components/provider/use-block-sync.js.map +1 -1
  557. package/build/components/provider/with-registry-provider.js +4 -3
  558. package/build/components/provider/with-registry-provider.js.map +1 -1
  559. package/build/components/publish-date-time-picker/index.js +5 -4
  560. package/build/components/publish-date-time-picker/index.js.map +1 -1
  561. package/build/components/recursion-provider/index.js +2 -1
  562. package/build/components/recursion-provider/index.js.map +1 -1
  563. package/build/components/resizable-box-popover/index.js +3 -3
  564. package/build/components/resizable-box-popover/index.js.map +1 -1
  565. package/build/components/resolution-tool/index.js +3 -3
  566. package/build/components/resolution-tool/index.js.map +1 -1
  567. package/build/components/responsive-block-control/index.js +10 -9
  568. package/build/components/responsive-block-control/index.js.map +1 -1
  569. package/build/components/responsive-block-control/label.js +3 -3
  570. package/build/components/responsive-block-control/label.js.map +1 -1
  571. package/build/components/rich-text/content.js +3 -2
  572. package/build/components/rich-text/content.js.map +1 -1
  573. package/build/components/rich-text/embed-handler-picker.native.js +2 -1
  574. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  575. package/build/components/rich-text/format-edit.js +4 -3
  576. package/build/components/rich-text/format-edit.js.map +1 -1
  577. package/build/components/rich-text/format-toolbar/index.js +4 -4
  578. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  579. package/build/components/rich-text/format-toolbar/index.native.js +3 -3
  580. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  581. package/build/components/rich-text/format-toolbar-container.js +9 -9
  582. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  583. package/build/components/rich-text/format-toolbar-container.native.js +3 -3
  584. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  585. package/build/components/rich-text/get-rich-text-values.js +2 -1
  586. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  587. package/build/components/rich-text/index.js +9 -8
  588. package/build/components/rich-text/index.js.map +1 -1
  589. package/build/components/rich-text/index.native.js +8 -15
  590. package/build/components/rich-text/index.native.js.map +1 -1
  591. package/build/components/rich-text/multiline.js +3 -2
  592. package/build/components/rich-text/multiline.js.map +1 -1
  593. package/build/components/rich-text/toolbar-button.js +3 -3
  594. package/build/components/rich-text/toolbar-button.js.map +1 -1
  595. package/build/components/rich-text/use-paste-handler.js +5 -87
  596. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  597. package/build/components/rich-text/utils.js +2 -5
  598. package/build/components/rich-text/utils.js.map +1 -1
  599. package/build/components/skip-to-selected-block/index.js +2 -2
  600. package/build/components/skip-to-selected-block/index.js.map +1 -1
  601. package/build/components/spacing-sizes-control/index.js +9 -8
  602. package/build/components/spacing-sizes-control/index.js.map +1 -1
  603. package/build/components/spacing-sizes-control/input-controls/axial.js +3 -3
  604. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  605. package/build/components/spacing-sizes-control/input-controls/separated.js +3 -3
  606. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  607. package/build/components/spacing-sizes-control/input-controls/single.js +2 -2
  608. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  609. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +9 -8
  610. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  611. package/build/components/spacing-sizes-control/sides-dropdown/index.js +6 -6
  612. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  613. package/build/components/text-decoration-control/index.js +6 -6
  614. package/build/components/text-decoration-control/index.js.map +1 -1
  615. package/build/components/text-transform-control/index.js +6 -6
  616. package/build/components/text-transform-control/index.js.map +1 -1
  617. package/build/components/tool-selector/index.js +13 -11
  618. package/build/components/tool-selector/index.js.map +1 -1
  619. package/build/components/typewriter/index.js +3 -3
  620. package/build/components/typewriter/index.js.map +1 -1
  621. package/build/components/ungroup-button/index.native.js +2 -2
  622. package/build/components/ungroup-button/index.native.js.map +1 -1
  623. package/build/components/unit-control/index.js +2 -2
  624. package/build/components/unit-control/index.js.map +1 -1
  625. package/build/components/unsupported-block-details/index.native.js +127 -0
  626. package/build/components/unsupported-block-details/index.native.js.map +1 -0
  627. package/build/components/url-input/button.js +9 -8
  628. package/build/components/url-input/button.js.map +1 -1
  629. package/build/components/url-input/index.js +9 -8
  630. package/build/components/url-input/index.js.map +1 -1
  631. package/build/components/url-input/index.native.js +2 -2
  632. package/build/components/url-input/index.native.js.map +1 -1
  633. package/build/components/url-popover/image-url-input-ui.js +19 -18
  634. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  635. package/build/components/url-popover/index.js +8 -7
  636. package/build/components/url-popover/index.js.map +1 -1
  637. package/build/components/url-popover/link-editor.js +4 -4
  638. package/build/components/url-popover/link-editor.js.map +1 -1
  639. package/build/components/url-popover/link-viewer-url.js +3 -3
  640. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  641. package/build/components/url-popover/link-viewer.js +4 -4
  642. package/build/components/url-popover/link-viewer.js.map +1 -1
  643. package/build/components/use-on-block-drop/index.js +2 -2
  644. package/build/components/use-on-block-drop/index.js.map +1 -1
  645. package/build/components/use-unsupported-block-editor/index.native.js +57 -0
  646. package/build/components/use-unsupported-block-editor/index.native.js.map +1 -0
  647. package/build/components/video-player/gridicon-play.native.js +3 -3
  648. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  649. package/build/components/video-player/index.native.js +6 -5
  650. package/build/components/video-player/index.native.js.map +1 -1
  651. package/build/components/warning/index.js +10 -9
  652. package/build/components/warning/index.js.map +1 -1
  653. package/build/components/warning/index.native.js +6 -6
  654. package/build/components/warning/index.native.js.map +1 -1
  655. package/build/components/writing-flow/index.js +7 -5
  656. package/build/components/writing-flow/index.js.map +1 -1
  657. package/build/components/writing-flow/use-clipboard-handler.js +179 -0
  658. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -0
  659. package/build/components/writing-flow/use-tab-nav.js +4 -3
  660. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  661. package/build/components/writing-mode-control/index.js +6 -6
  662. package/build/components/writing-mode-control/index.js.map +1 -1
  663. package/build/hooks/align.js +6 -6
  664. package/build/hooks/align.js.map +1 -1
  665. package/build/hooks/anchor.js +10 -9
  666. package/build/hooks/anchor.js.map +1 -1
  667. package/build/hooks/background.js +17 -16
  668. package/build/hooks/background.js.map +1 -1
  669. package/build/hooks/block-hooks.js +11 -10
  670. package/build/hooks/block-hooks.js.map +1 -1
  671. package/build/hooks/block-rename-ui.js +22 -18
  672. package/build/hooks/block-rename-ui.js.map +1 -1
  673. package/build/hooks/border.js +6 -5
  674. package/build/hooks/border.js.map +1 -1
  675. package/build/hooks/color.js +7 -6
  676. package/build/hooks/color.js.map +1 -1
  677. package/build/hooks/content-lock-ui.js +9 -8
  678. package/build/hooks/content-lock-ui.js.map +1 -1
  679. package/build/hooks/contrast-checker.js +2 -1
  680. package/build/hooks/contrast-checker.js.map +1 -1
  681. package/build/hooks/custom-class-name.js +7 -7
  682. package/build/hooks/custom-class-name.js.map +1 -1
  683. package/build/hooks/custom-fields.js +8 -8
  684. package/build/hooks/custom-fields.js.map +1 -1
  685. package/build/hooks/dimensions.js +5 -4
  686. package/build/hooks/dimensions.js.map +1 -1
  687. package/build/hooks/duotone.js +10 -9
  688. package/build/hooks/duotone.js.map +1 -1
  689. package/build/hooks/font-size.js +5 -5
  690. package/build/hooks/font-size.js.map +1 -1
  691. package/build/hooks/layout.js +14 -13
  692. package/build/hooks/layout.js.map +1 -1
  693. package/build/hooks/line-height.js +3 -3
  694. package/build/hooks/line-height.js.map +1 -1
  695. package/build/hooks/margin.js +3 -2
  696. package/build/hooks/margin.js.map +1 -1
  697. package/build/hooks/padding.js +3 -2
  698. package/build/hooks/padding.js.map +1 -1
  699. package/build/hooks/position.js +10 -9
  700. package/build/hooks/position.js.map +1 -1
  701. package/build/hooks/style.js +11 -10
  702. package/build/hooks/style.js.map +1 -1
  703. package/build/hooks/typography.js +4 -3
  704. package/build/hooks/typography.js.map +1 -1
  705. package/build/hooks/typography.native.js +4 -4
  706. package/build/hooks/typography.native.js.map +1 -1
  707. package/build/layouts/constrained.js +11 -11
  708. package/build/layouts/constrained.js.map +1 -1
  709. package/build/layouts/flex.js +18 -18
  710. package/build/layouts/flex.js.map +1 -1
  711. package/build/layouts/grid.js +10 -10
  712. package/build/layouts/grid.js.map +1 -1
  713. package/build/private-apis.js +2 -0
  714. package/build/private-apis.js.map +1 -1
  715. package/build/store/actions.js +8 -12
  716. package/build/store/actions.js.map +1 -1
  717. package/build/store/private-selectors.js +55 -1
  718. package/build/store/private-selectors.js.map +1 -1
  719. package/build/store/reducer.js +19 -1
  720. package/build/store/reducer.js.map +1 -1
  721. package/build/store/selectors.js +1 -1
  722. package/build/store/selectors.js.map +1 -1
  723. package/build/utils/pasting.js +46 -0
  724. package/build/utils/pasting.js.map +1 -1
  725. package/build/utils/transform-styles/transforms/wrap.js +5 -0
  726. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  727. package/build/utils/use-notify-copy.js +53 -0
  728. package/build/utils/use-notify-copy.js.map +1 -0
  729. package/build-module/autocompleters/block.js +1 -1
  730. package/build-module/autocompleters/link.js +1 -1
  731. package/build-module/components/alignment-control/index.js +1 -1
  732. package/build-module/components/alignment-control/ui.js +1 -1
  733. package/build-module/components/autocomplete/index.js +1 -1
  734. package/build-module/components/block-actions/index.js +1 -1
  735. package/build-module/components/block-actions/index.js.map +1 -1
  736. package/build-module/components/block-alignment-control/index.js +1 -1
  737. package/build-module/components/block-alignment-control/ui.js +1 -1
  738. package/build-module/components/block-alignment-control/ui.native.js +1 -1
  739. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  740. package/build-module/components/block-breadcrumb/index.js +2 -2
  741. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  742. package/build-module/components/block-canvas/index.js +7 -9
  743. package/build-module/components/block-canvas/index.js.map +1 -1
  744. package/build-module/components/block-caption/index.native.js +1 -1
  745. package/build-module/components/block-card/index.js +1 -1
  746. package/build-module/components/block-compare/block-view.js +1 -1
  747. package/build-module/components/block-compare/index.js +1 -1
  748. package/build-module/components/block-context/index.js +1 -1
  749. package/build-module/components/block-controls/fill.js +1 -1
  750. package/build-module/components/block-controls/index.js +1 -1
  751. package/build-module/components/block-controls/slot.js +1 -1
  752. package/build-module/components/block-controls/slot.native.js +1 -1
  753. package/build-module/components/block-draggable/draggable-chip.js +1 -1
  754. package/build-module/components/block-draggable/draggable-chip.native.js +1 -1
  755. package/build-module/components/block-draggable/dropping-insertion-point.native.js +1 -1
  756. package/build-module/components/block-draggable/index.js +1 -1
  757. package/build-module/components/block-draggable/index.native.js +1 -1
  758. package/build-module/components/block-edit/edit.js +1 -1
  759. package/build-module/components/block-edit/edit.native.js +1 -1
  760. package/build-module/components/block-edit/index.js +1 -1
  761. package/build-module/components/block-edit-visually-button/index.js +1 -1
  762. package/build-module/components/block-full-height-alignment-control/index.js +1 -1
  763. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +3 -3
  764. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  765. package/build-module/components/block-heading-level-dropdown/index.js +3 -3
  766. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  767. package/build-module/components/block-heading-level-dropdown/index.native.js +3 -3
  768. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  769. package/build-module/components/block-icon/index.js +1 -1
  770. package/build-module/components/block-icon/index.native.js +1 -1
  771. package/build-module/components/block-info-slot-fill/index.js +1 -1
  772. package/build-module/components/block-inspector/index.js +1 -1
  773. package/build-module/components/block-list/block-crash-warning.js +1 -1
  774. package/build-module/components/block-list/block-html.js +1 -1
  775. package/build-module/components/block-list/block-invalid-warning.js +1 -1
  776. package/build-module/components/block-list/block-invalid-warning.native.js +1 -1
  777. package/build-module/components/block-list/block-list-item-cell.native.js +1 -1
  778. package/build-module/components/block-list/block-list-item.native.js +3 -3
  779. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  780. package/build-module/components/block-list/block-outline.native.js +1 -1
  781. package/build-module/components/block-list/block-selection-button.native.js +1 -1
  782. package/build-module/components/block-list/block.js +1 -1
  783. package/build-module/components/block-list/block.native.js +1 -1
  784. package/build-module/components/block-list/grid-item.native.js +1 -1
  785. package/build-module/components/block-list/index.js +1 -1
  786. package/build-module/components/block-list/index.native.js +1 -1
  787. package/build-module/components/block-list/insertion-point.native.js +1 -1
  788. package/build-module/components/block-list/layout.js +1 -1
  789. package/build-module/components/block-list/subdirectory-icon.js +1 -1
  790. package/build-module/components/block-list-appender/index.js +1 -1
  791. package/build-module/components/block-list-appender/index.native.js +1 -1
  792. package/build-module/components/block-lock/menu-item.js +1 -1
  793. package/build-module/components/block-lock/modal.js +1 -1
  794. package/build-module/components/block-lock/toolbar.js +1 -1
  795. package/build-module/components/block-media-update-progress/index.native.js +1 -1
  796. package/build-module/components/block-mover/button.js +1 -1
  797. package/build-module/components/block-mover/index.js +1 -1
  798. package/build-module/components/block-mover/index.native.js +1 -1
  799. package/build-module/components/block-navigation/dropdown.js +1 -1
  800. package/build-module/components/block-parent-selector/index.js +2 -2
  801. package/build-module/components/block-parent-selector/index.js.map +1 -1
  802. package/build-module/components/block-pattern-setup/index.js +1 -1
  803. package/build-module/components/block-pattern-setup/setup-toolbar.js +1 -1
  804. package/build-module/components/block-patterns-list/index.js +1 -1
  805. package/build-module/components/block-patterns-paging/index.js +1 -1
  806. package/build-module/components/block-popover/drop-zone.js +1 -1
  807. package/build-module/components/block-popover/inbetween.js +1 -1
  808. package/build-module/components/block-popover/index.js +1 -1
  809. package/build-module/components/block-preview/auto.js +1 -1
  810. package/build-module/components/block-preview/index.js +2 -2
  811. package/build-module/components/block-preview/index.js.map +1 -1
  812. package/build-module/components/block-quick-navigation/index.js +1 -1
  813. package/build-module/components/block-removal-warning-modal/index.js +1 -1
  814. package/build-module/components/block-selection-clearer/index.js +1 -1
  815. package/build-module/components/block-settings/button.native.js +1 -1
  816. package/build-module/components/block-settings/container.native.js +1 -1
  817. package/build-module/components/block-settings-menu/block-html-convert-button.js +20 -17
  818. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  819. package/build-module/components/block-settings-menu/block-mode-toggle.js +1 -1
  820. package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -1
  821. package/build-module/components/block-settings-menu/index.js +1 -1
  822. package/build-module/components/block-settings-menu-controls/index.js +2 -2
  823. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  824. package/build-module/components/block-styles/index.js +1 -1
  825. package/build-module/components/block-styles/index.native.js +1 -1
  826. package/build-module/components/block-styles/menu-items.js +1 -1
  827. package/build-module/components/block-styles/preview-panel.js +1 -1
  828. package/build-module/components/block-styles/preview.native.js +1 -1
  829. package/build-module/components/block-switcher/block-styles-menu.js +1 -1
  830. package/build-module/components/block-switcher/block-transformations-menu.js +1 -1
  831. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -1
  832. package/build-module/components/block-switcher/block-variation-transformations.js +1 -1
  833. package/build-module/components/block-switcher/index.js +6 -6
  834. package/build-module/components/block-switcher/index.js.map +1 -1
  835. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -1
  836. package/build-module/components/block-switcher/preview-block-popover.js +1 -1
  837. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -1
  838. package/build-module/components/block-toolbar/index.js +1 -1
  839. package/build-module/components/block-toolbar/index.native.js +1 -1
  840. package/build-module/components/block-tools/back-compat.js +1 -1
  841. package/build-module/components/block-tools/block-contextual-toolbar.js +1 -1
  842. package/build-module/components/block-tools/block-selection-button.js +2 -2
  843. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  844. package/build-module/components/block-tools/index.js +1 -1
  845. package/build-module/components/block-tools/insertion-point.js +1 -1
  846. package/build-module/components/block-tools/selected-block-popover.js +1 -1
  847. package/build-module/components/block-tools/zoom-out-mode-inserters.js +1 -1
  848. package/build-module/components/block-types-list/index.js +1 -1
  849. package/build-module/components/block-types-list/index.native.js +1 -1
  850. package/build-module/components/block-variation-picker/index.js +1 -1
  851. package/build-module/components/block-variation-picker/index.native.js +1 -1
  852. package/build-module/components/block-variation-transforms/index.js +1 -1
  853. package/build-module/components/block-vertical-alignment-control/icons.js +1 -1
  854. package/build-module/components/block-vertical-alignment-control/index.js +1 -1
  855. package/build-module/components/block-vertical-alignment-control/ui.js +1 -1
  856. package/build-module/components/border-radius-control/all-input-control.js +1 -1
  857. package/build-module/components/border-radius-control/index.js +2 -2
  858. package/build-module/components/border-radius-control/index.js.map +1 -1
  859. package/build-module/components/border-radius-control/input-controls.js +1 -1
  860. package/build-module/components/border-radius-control/linked-button.js +1 -1
  861. package/build-module/components/button-block-appender/index.js +1 -1
  862. package/build-module/components/button-block-appender/index.native.js +1 -1
  863. package/build-module/components/caption/index.native.js +1 -1
  864. package/build-module/components/child-layout-control/index.js +2 -2
  865. package/build-module/components/child-layout-control/index.js.map +1 -1
  866. package/build-module/components/color-palette/control.js +1 -1
  867. package/build-module/components/color-palette/with-color-context.js +1 -1
  868. package/build-module/components/color-style-selector/index.js +1 -1
  869. package/build-module/components/colors/with-colors.js +2 -2
  870. package/build-module/components/colors/with-colors.js.map +1 -1
  871. package/build-module/components/colors-gradients/control.js +1 -1
  872. package/build-module/components/colors-gradients/dropdown.js +1 -1
  873. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -1
  874. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -1
  875. package/build-module/components/contrast-checker/index.js +1 -1
  876. package/build-module/components/contrast-checker/index.native.js +1 -1
  877. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  878. package/build-module/components/convert-to-group-buttons/toolbar.js +1 -1
  879. package/build-module/components/copy-handler/index.js +25 -205
  880. package/build-module/components/copy-handler/index.js.map +1 -1
  881. package/build-module/components/date-format-picker/index.js +1 -1
  882. package/build-module/components/default-block-appender/index.js +1 -1
  883. package/build-module/components/default-block-appender/index.native.js +1 -1
  884. package/build-module/components/default-style-picker/index.js +1 -1
  885. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +1 -1
  886. package/build-module/components/dimensions-tool/index.js +2 -2
  887. package/build-module/components/dimensions-tool/index.js.map +1 -1
  888. package/build-module/components/dimensions-tool/scale-tool.js +2 -2
  889. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  890. package/build-module/components/dimensions-tool/width-height-tool.js +3 -3
  891. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  892. package/build-module/components/duotone-control/index.js +10 -2
  893. package/build-module/components/duotone-control/index.js.map +1 -1
  894. package/build-module/components/editable-text/index.js +1 -1
  895. package/build-module/components/editor-styles/index.js +1 -1
  896. package/build-module/components/floating-toolbar/index.native.js +1 -1
  897. package/build-module/components/floating-toolbar/nav-up-icon.js +1 -1
  898. package/build-module/components/font-appearance-control/index.js +2 -2
  899. package/build-module/components/font-appearance-control/index.js.map +1 -1
  900. package/build-module/components/font-family/index.js +1 -1
  901. package/build-module/components/font-sizes/font-size-picker.js +1 -1
  902. package/build-module/components/font-sizes/with-font-sizes.js +1 -1
  903. package/build-module/components/global-styles/advanced-panel.js +1 -1
  904. package/build-module/components/global-styles/border-panel.js +1 -1
  905. package/build-module/components/global-styles/color-panel.js +1 -1
  906. package/build-module/components/global-styles/color-panel.native.js +1 -1
  907. package/build-module/components/global-styles/dimensions-panel.js +1 -1
  908. package/build-module/components/global-styles/effects-panel.js +1 -1
  909. package/build-module/components/global-styles/filters-panel.js +1 -1
  910. package/build-module/components/global-styles/hooks.js +1 -1
  911. package/build-module/components/global-styles/hooks.js.map +1 -1
  912. package/build-module/components/global-styles/image-settings-panel.js +1 -1
  913. package/build-module/components/global-styles/typography-panel.js +1 -1
  914. package/build-module/components/global-styles/use-global-styles-output.js +17 -6
  915. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  916. package/build-module/components/global-styles/utils.js +21 -0
  917. package/build-module/components/global-styles/utils.js.map +1 -1
  918. package/build-module/components/gradients/with-gradient.js +1 -1
  919. package/build-module/components/height-control/index.js +2 -2
  920. package/build-module/components/height-control/index.js.map +1 -1
  921. package/build-module/components/iframe/index.js +1 -1
  922. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -1
  923. package/build-module/components/image-editor/context.js +1 -1
  924. package/build-module/components/image-editor/cropper.js +1 -1
  925. package/build-module/components/image-editor/form-controls.js +1 -1
  926. package/build-module/components/image-editor/index.js +1 -1
  927. package/build-module/components/image-editor/rotation-button.js +1 -1
  928. package/build-module/components/image-editor/zoom-dropdown.js +1 -1
  929. package/build-module/components/image-size-control/index.js +1 -1
  930. package/build-module/components/index.js +1 -1
  931. package/build-module/components/index.js.map +1 -1
  932. package/build-module/components/inner-blocks/button-block-appender.js +1 -1
  933. package/build-module/components/inner-blocks/constants.native.js +6 -0
  934. package/build-module/components/inner-blocks/constants.native.js.map +1 -0
  935. package/build-module/components/inner-blocks/default-block-appender.js +1 -1
  936. package/build-module/components/inner-blocks/index.js +1 -1
  937. package/build-module/components/inner-blocks/index.native.js +13 -1
  938. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  939. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +86 -0
  940. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -0
  941. package/build-module/components/inner-blocks/with-client-id.js +1 -1
  942. package/build-module/components/inserter/block-patterns-explorer/explorer.js +1 -1
  943. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +1 -1
  944. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +1 -1
  945. package/build-module/components/inserter/block-patterns-filter.js +14 -13
  946. package/build-module/components/inserter/block-patterns-filter.js.map +1 -1
  947. package/build-module/components/inserter/block-patterns-tab.js +2 -2
  948. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  949. package/build-module/components/inserter/block-types-tab.js +1 -1
  950. package/build-module/components/inserter/block-types-tab.native.js +1 -1
  951. package/build-module/components/inserter/index.js +3 -3
  952. package/build-module/components/inserter/index.js.map +1 -1
  953. package/build-module/components/inserter/index.native.js +3 -3
  954. package/build-module/components/inserter/index.native.js.map +1 -1
  955. package/build-module/components/inserter/library.js +1 -1
  956. package/build-module/components/inserter/media-tab/hooks.js +5 -34
  957. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  958. package/build-module/components/inserter/media-tab/media-list.js +1 -1
  959. package/build-module/components/inserter/media-tab/media-panel.js +1 -1
  960. package/build-module/components/inserter/media-tab/media-preview.js +1 -1
  961. package/build-module/components/inserter/media-tab/media-tab.js +1 -1
  962. package/build-module/components/inserter/media-tab/utils.js +1 -1
  963. package/build-module/components/inserter/menu.js +1 -1
  964. package/build-module/components/inserter/menu.native.js +1 -1
  965. package/build-module/components/inserter/mobile-tab-navigation.js +1 -1
  966. package/build-module/components/inserter/no-results.js +1 -1
  967. package/build-module/components/inserter/no-results.native.js +1 -1
  968. package/build-module/components/inserter/panel.js +1 -1
  969. package/build-module/components/inserter/preview-panel.js +1 -1
  970. package/build-module/components/inserter/quick-inserter.js +1 -1
  971. package/build-module/components/inserter/reusable-block-rename-hint.js +1 -1
  972. package/build-module/components/inserter/reusable-blocks-tab.native.js +1 -1
  973. package/build-module/components/inserter/search-results.js +1 -1
  974. package/build-module/components/inserter/search-results.native.js +1 -1
  975. package/build-module/components/inserter/tabs.js +1 -1
  976. package/build-module/components/inserter/tabs.native.js +1 -1
  977. package/build-module/components/inserter/tips.js +1 -1
  978. package/build-module/components/inserter-draggable-blocks/index.js +1 -1
  979. package/build-module/components/inserter-list-item/index.js +1 -1
  980. package/build-module/components/inserter-listbox/group.js +1 -1
  981. package/build-module/components/inserter-listbox/index.js +1 -1
  982. package/build-module/components/inserter-listbox/item.js +1 -1
  983. package/build-module/components/inserter-listbox/row.js +1 -1
  984. package/build-module/components/inspector-controls/block-support-slot-container.js +1 -1
  985. package/build-module/components/inspector-controls/block-support-tools-panel.js +1 -1
  986. package/build-module/components/inspector-controls/fill.js +1 -1
  987. package/build-module/components/inspector-controls/fill.native.js +1 -1
  988. package/build-module/components/inspector-controls/index.js +1 -1
  989. package/build-module/components/inspector-controls/slot.js +1 -1
  990. package/build-module/components/inspector-controls/slot.native.js +1 -1
  991. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
  992. package/build-module/components/inspector-controls-tabs/index.js +1 -1
  993. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -1
  994. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
  995. package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -1
  996. package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -1
  997. package/build-module/components/inspector-popover-header/index.js +1 -1
  998. package/build-module/components/justify-content-control/index.js +1 -1
  999. package/build-module/components/justify-content-control/ui.js +1 -1
  1000. package/build-module/components/letter-spacing-control/index.js +2 -2
  1001. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  1002. package/build-module/components/line-height-control/index.js +1 -1
  1003. package/build-module/components/line-height-control/index.native.js +1 -1
  1004. package/build-module/components/link-control/index.js +1 -1
  1005. package/build-module/components/link-control/link-preview.js +1 -1
  1006. package/build-module/components/link-control/search-create-button.js +1 -1
  1007. package/build-module/components/link-control/search-input.js +1 -1
  1008. package/build-module/components/link-control/search-item.js +38 -3
  1009. package/build-module/components/link-control/search-item.js.map +1 -1
  1010. package/build-module/components/link-control/search-results.js +1 -1
  1011. package/build-module/components/link-control/settings-drawer.js +1 -1
  1012. package/build-module/components/link-control/settings.js +1 -1
  1013. package/build-module/components/list-view/appender.js +1 -1
  1014. package/build-module/components/list-view/aria-referenced-text.js +1 -1
  1015. package/build-module/components/list-view/block-contents.js +1 -1
  1016. package/build-module/components/list-view/block-select-button.js +1 -1
  1017. package/build-module/components/list-view/block.js +4 -35
  1018. package/build-module/components/list-view/block.js.map +1 -1
  1019. package/build-module/components/list-view/branch.js +9 -2
  1020. package/build-module/components/list-view/branch.js.map +1 -1
  1021. package/build-module/components/list-view/drop-indicator.js +1 -1
  1022. package/build-module/components/list-view/expander.js +1 -1
  1023. package/build-module/components/list-view/index.js +9 -4
  1024. package/build-module/components/list-view/index.js.map +1 -1
  1025. package/build-module/components/list-view/leaf.js +1 -1
  1026. package/build-module/components/list-view/utils.js +34 -0
  1027. package/build-module/components/list-view/utils.js.map +1 -1
  1028. package/build-module/components/media-placeholder/index.js +1 -1
  1029. package/build-module/components/media-placeholder/index.native.js +1 -1
  1030. package/build-module/components/media-replace-flow/index.js +1 -1
  1031. package/build-module/components/media-replace-flow/index.native.js +1 -1
  1032. package/build-module/components/media-upload/{constants.js → constants.native.js} +1 -2
  1033. package/build-module/components/media-upload/constants.native.js.map +1 -0
  1034. package/build-module/components/media-upload/index.js +1 -1
  1035. package/build-module/components/media-upload/index.js.map +1 -1
  1036. package/build-module/components/media-upload/index.native.js +7 -7
  1037. package/build-module/components/media-upload/index.native.js.map +1 -1
  1038. package/build-module/components/media-upload-progress/index.native.js +1 -1
  1039. package/build-module/components/multi-selection-inspector/index.js +1 -1
  1040. package/build-module/components/navigable-toolbar/index.js +1 -1
  1041. package/build-module/components/observe-typing/index.js +1 -1
  1042. package/build-module/components/panel-color-settings/index.js +1 -1
  1043. package/build-module/components/plain-text/index.js +1 -1
  1044. package/build-module/components/plain-text/index.native.js +1 -1
  1045. package/build-module/components/preview-options/index.js +1 -1
  1046. package/build-module/components/provider/block-refs-provider.js +1 -1
  1047. package/build-module/components/provider/index.js +1 -1
  1048. package/build-module/components/provider/index.native.js +1 -1
  1049. package/build-module/components/provider/use-block-sync.js +1 -1
  1050. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1051. package/build-module/components/provider/with-registry-provider.js +1 -1
  1052. package/build-module/components/publish-date-time-picker/index.js +1 -1
  1053. package/build-module/components/recursion-provider/index.js +1 -1
  1054. package/build-module/components/resizable-box-popover/index.js +1 -1
  1055. package/build-module/components/resolution-tool/index.js +1 -1
  1056. package/build-module/components/responsive-block-control/index.js +1 -1
  1057. package/build-module/components/responsive-block-control/label.js +1 -1
  1058. package/build-module/components/rich-text/content.js +1 -1
  1059. package/build-module/components/rich-text/embed-handler-picker.native.js +1 -1
  1060. package/build-module/components/rich-text/format-edit.js +1 -1
  1061. package/build-module/components/rich-text/format-toolbar/index.js +1 -1
  1062. package/build-module/components/rich-text/format-toolbar/index.native.js +1 -1
  1063. package/build-module/components/rich-text/format-toolbar-container.js +1 -1
  1064. package/build-module/components/rich-text/format-toolbar-container.native.js +1 -1
  1065. package/build-module/components/rich-text/get-rich-text-values.js +1 -1
  1066. package/build-module/components/rich-text/index.js +1 -1
  1067. package/build-module/components/rich-text/index.native.js +2 -10
  1068. package/build-module/components/rich-text/index.native.js.map +1 -1
  1069. package/build-module/components/rich-text/multiline.js +1 -1
  1070. package/build-module/components/rich-text/toolbar-button.js +1 -1
  1071. package/build-module/components/rich-text/use-paste-handler.js +7 -89
  1072. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1073. package/build-module/components/rich-text/utils.js +1 -3
  1074. package/build-module/components/rich-text/utils.js.map +1 -1
  1075. package/build-module/components/skip-to-selected-block/index.js +1 -1
  1076. package/build-module/components/spacing-sizes-control/index.js +1 -1
  1077. package/build-module/components/spacing-sizes-control/input-controls/axial.js +1 -1
  1078. package/build-module/components/spacing-sizes-control/input-controls/separated.js +1 -1
  1079. package/build-module/components/spacing-sizes-control/input-controls/single.js +1 -1
  1080. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  1081. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  1082. package/build-module/components/text-decoration-control/index.js +2 -2
  1083. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1084. package/build-module/components/text-transform-control/index.js +2 -2
  1085. package/build-module/components/text-transform-control/index.js.map +1 -1
  1086. package/build-module/components/tool-selector/index.js +3 -2
  1087. package/build-module/components/tool-selector/index.js.map +1 -1
  1088. package/build-module/components/typewriter/index.js +2 -2
  1089. package/build-module/components/typewriter/index.js.map +1 -1
  1090. package/build-module/components/ungroup-button/index.native.js +1 -1
  1091. package/build-module/components/unit-control/index.js +1 -1
  1092. package/build-module/components/unsupported-block-details/index.native.js +118 -0
  1093. package/build-module/components/unsupported-block-details/index.native.js.map +1 -0
  1094. package/build-module/components/url-input/button.js +1 -1
  1095. package/build-module/components/url-input/index.js +1 -1
  1096. package/build-module/components/url-input/index.native.js +1 -1
  1097. package/build-module/components/url-popover/image-url-input-ui.js +1 -1
  1098. package/build-module/components/url-popover/index.js +1 -1
  1099. package/build-module/components/url-popover/link-editor.js +1 -1
  1100. package/build-module/components/url-popover/link-viewer-url.js +1 -1
  1101. package/build-module/components/url-popover/link-viewer.js +1 -1
  1102. package/build-module/components/use-on-block-drop/index.js +2 -2
  1103. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  1104. package/build-module/components/use-unsupported-block-editor/index.native.js +51 -0
  1105. package/build-module/components/use-unsupported-block-editor/index.native.js.map +1 -0
  1106. package/build-module/components/video-player/gridicon-play.native.js +1 -1
  1107. package/build-module/components/video-player/index.native.js +1 -1
  1108. package/build-module/components/warning/index.js +1 -1
  1109. package/build-module/components/warning/index.native.js +1 -1
  1110. package/build-module/components/writing-flow/index.js +5 -4
  1111. package/build-module/components/writing-flow/index.js.map +1 -1
  1112. package/build-module/components/writing-flow/use-clipboard-handler.js +172 -0
  1113. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -0
  1114. package/build-module/components/writing-flow/use-tab-nav.js +1 -1
  1115. package/build-module/components/writing-mode-control/index.js +2 -2
  1116. package/build-module/components/writing-mode-control/index.js.map +1 -1
  1117. package/build-module/hooks/align.js +1 -1
  1118. package/build-module/hooks/anchor.js +3 -3
  1119. package/build-module/hooks/anchor.js.map +1 -1
  1120. package/build-module/hooks/background.js +1 -1
  1121. package/build-module/hooks/block-hooks.js +1 -1
  1122. package/build-module/hooks/block-rename-ui.js +6 -3
  1123. package/build-module/hooks/block-rename-ui.js.map +1 -1
  1124. package/build-module/hooks/border.js +1 -1
  1125. package/build-module/hooks/color.js +1 -1
  1126. package/build-module/hooks/content-lock-ui.js +1 -1
  1127. package/build-module/hooks/contrast-checker.js +1 -1
  1128. package/build-module/hooks/custom-class-name.js +3 -3
  1129. package/build-module/hooks/custom-class-name.js.map +1 -1
  1130. package/build-module/hooks/custom-fields.js +3 -3
  1131. package/build-module/hooks/custom-fields.js.map +1 -1
  1132. package/build-module/hooks/dimensions.js +1 -1
  1133. package/build-module/hooks/duotone.js +1 -1
  1134. package/build-module/hooks/font-size.js +2 -2
  1135. package/build-module/hooks/font-size.js.map +1 -1
  1136. package/build-module/hooks/layout.js +1 -1
  1137. package/build-module/hooks/line-height.js +2 -2
  1138. package/build-module/hooks/line-height.js.map +1 -1
  1139. package/build-module/hooks/margin.js +1 -1
  1140. package/build-module/hooks/padding.js +1 -1
  1141. package/build-module/hooks/position.js +3 -3
  1142. package/build-module/hooks/position.js.map +1 -1
  1143. package/build-module/hooks/style.js +1 -1
  1144. package/build-module/hooks/typography.js +1 -1
  1145. package/build-module/hooks/typography.native.js +1 -1
  1146. package/build-module/layouts/constrained.js +1 -1
  1147. package/build-module/layouts/flex.js +1 -1
  1148. package/build-module/layouts/grid.js +1 -1
  1149. package/build-module/private-apis.js +2 -0
  1150. package/build-module/private-apis.js.map +1 -1
  1151. package/build-module/store/actions.js +8 -12
  1152. package/build-module/store/actions.js.map +1 -1
  1153. package/build-module/store/private-selectors.js +52 -0
  1154. package/build-module/store/private-selectors.js.map +1 -1
  1155. package/build-module/store/reducer.js +18 -1
  1156. package/build-module/store/reducer.js.map +1 -1
  1157. package/build-module/store/selectors.js +1 -1
  1158. package/build-module/store/selectors.js.map +1 -1
  1159. package/build-module/utils/pasting.js +47 -0
  1160. package/build-module/utils/pasting.js.map +1 -1
  1161. package/build-module/utils/transform-styles/transforms/wrap.js +5 -0
  1162. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  1163. package/build-module/utils/use-notify-copy.js +46 -0
  1164. package/build-module/utils/use-notify-copy.js.map +1 -0
  1165. package/build-style/content-rtl.css +10 -11
  1166. package/build-style/content.css +10 -11
  1167. package/build-style/default-editor-styles-rtl.css +1 -1
  1168. package/build-style/default-editor-styles.css +1 -1
  1169. package/build-style/style-rtl.css +11 -12
  1170. package/build-style/style.css +11 -12
  1171. package/package.json +31 -32
  1172. package/src/components/block-actions/index.js +1 -1
  1173. package/src/components/block-breadcrumb/index.js +1 -1
  1174. package/src/components/block-canvas/index.js +6 -12
  1175. package/src/components/block-context/README.md +1 -1
  1176. package/src/components/block-heading-level-dropdown/heading-level-icon.js +2 -2
  1177. package/src/components/block-heading-level-dropdown/index.js +2 -2
  1178. package/src/components/block-heading-level-dropdown/index.native.js +2 -2
  1179. package/src/components/block-list/block-list-item.native.js +2 -2
  1180. package/src/components/block-parent-selector/index.js +1 -1
  1181. package/src/components/block-preview/index.js +1 -1
  1182. package/src/components/block-settings-menu/block-html-convert-button.js +28 -19
  1183. package/src/components/block-settings-menu-controls/index.js +1 -1
  1184. package/src/components/block-switcher/index.js +17 -18
  1185. package/src/components/block-switcher/test/__snapshots__/index.js.snap +2 -2
  1186. package/src/components/block-tools/block-selection-button.js +1 -1
  1187. package/src/components/border-radius-control/index.js +1 -1
  1188. package/src/components/child-layout-control/index.js +1 -1
  1189. package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
  1190. package/src/components/colors/with-colors.js +1 -1
  1191. package/src/components/copy-handler/README.md +2 -0
  1192. package/src/components/copy-handler/index.js +21 -291
  1193. package/src/components/dimensions-tool/index.js +1 -1
  1194. package/src/components/dimensions-tool/scale-tool.js +1 -1
  1195. package/src/components/dimensions-tool/width-height-tool.js +1 -1
  1196. package/src/components/duotone-control/index.js +14 -2
  1197. package/src/components/editable-text/README.md +2 -2
  1198. package/src/components/font-appearance-control/index.js +1 -1
  1199. package/src/components/font-family/README.md +1 -1
  1200. package/src/components/global-styles/hooks.js +1 -1
  1201. package/src/components/global-styles/test/use-global-styles-output.js +39 -0
  1202. package/src/components/global-styles/use-global-styles-output.js +26 -6
  1203. package/src/components/global-styles/utils.js +21 -0
  1204. package/src/components/height-control/README.md +1 -1
  1205. package/src/components/height-control/index.js +1 -1
  1206. package/src/components/image-size-control/README.md +2 -2
  1207. package/src/components/index.js +1 -1
  1208. package/src/components/inner-blocks/constants.native.js +5 -0
  1209. package/src/components/inner-blocks/index.native.js +15 -0
  1210. package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +100 -0
  1211. package/src/components/inserter/block-patterns-filter.js +22 -10
  1212. package/src/components/inserter/block-patterns-tab.js +0 -3
  1213. package/src/components/inserter/index.js +2 -2
  1214. package/src/components/inserter/index.native.js +2 -2
  1215. package/src/components/inserter/media-tab/hooks.js +10 -44
  1216. package/src/components/inserter/style.scss +1 -1
  1217. package/src/components/letter-spacing-control/index.js +1 -1
  1218. package/src/components/link-control/search-item.js +55 -2
  1219. package/src/components/list-view/block.js +3 -43
  1220. package/src/components/list-view/branch.js +11 -1
  1221. package/src/components/list-view/index.js +8 -4
  1222. package/src/components/list-view/utils.js +37 -0
  1223. package/src/components/media-placeholder/README.md +3 -3
  1224. package/src/components/media-upload/{constants.js → constants.native.js} +0 -1
  1225. package/src/components/media-upload/index.js +1 -1
  1226. package/src/components/media-upload/index.native.js +9 -5
  1227. package/src/components/panel-color-settings/README.md +5 -1
  1228. package/src/components/plain-text/README.md +1 -1
  1229. package/src/components/provider/README.md +1 -1
  1230. package/src/components/provider/use-block-sync.js +1 -1
  1231. package/src/components/publish-date-time-picker/README.md +1 -1
  1232. package/src/components/responsive-block-control/README.md +1 -3
  1233. package/src/components/rich-text/README.md +3 -3
  1234. package/src/components/rich-text/index.native.js +0 -13
  1235. package/src/components/rich-text/use-paste-handler.js +5 -99
  1236. package/src/components/rich-text/utils.js +0 -3
  1237. package/src/components/text-decoration-control/index.js +1 -1
  1238. package/src/components/text-transform-control/index.js +1 -1
  1239. package/src/components/tool-selector/index.js +1 -1
  1240. package/src/components/typewriter/index.js +1 -1
  1241. package/src/components/unit-control/README.md +1 -1
  1242. package/src/components/unsupported-block-details/index.native.js +183 -0
  1243. package/src/components/unsupported-block-details/style.native.scss +56 -0
  1244. package/src/components/url-input/README.md +4 -4
  1245. package/src/components/use-on-block-drop/index.js +2 -2
  1246. package/src/components/use-unsupported-block-editor/index.native.js +59 -0
  1247. package/src/components/writing-flow/index.js +4 -2
  1248. package/src/components/writing-flow/use-clipboard-handler.js +242 -0
  1249. package/src/components/writing-mode-control/index.js +1 -1
  1250. package/src/hooks/anchor.js +2 -2
  1251. package/src/hooks/block-rename-ui.js +14 -10
  1252. package/src/hooks/custom-class-name.js +2 -2
  1253. package/src/hooks/custom-fields.js +2 -2
  1254. package/src/hooks/font-size.js +1 -1
  1255. package/src/hooks/line-height.js +1 -1
  1256. package/src/hooks/position.js +2 -2
  1257. package/src/private-apis.js +2 -0
  1258. package/src/store/actions.js +7 -11
  1259. package/src/store/private-selectors.js +72 -0
  1260. package/src/store/reducer.js +17 -0
  1261. package/src/store/selectors.js +1 -1
  1262. package/src/store/test/actions.js +10 -16
  1263. package/src/utils/pasting.js +51 -0
  1264. package/src/utils/transform-styles/transforms/test/__snapshots__/wrap.js.snap +13 -6
  1265. package/src/utils/transform-styles/transforms/test/wrap.js +9 -0
  1266. package/src/utils/transform-styles/transforms/wrap.js +5 -0
  1267. package/src/utils/use-notify-copy.js +63 -0
  1268. package/tsconfig.tsbuildinfo +1 -1
  1269. package/build/components/block-settings-menu/block-convert-button.js +0 -27
  1270. package/build/components/block-settings-menu/block-convert-button.js.map +0 -1
  1271. package/build/components/media-upload/constants.js.map +0 -1
  1272. package/build-module/components/block-settings-menu/block-convert-button.js +0 -20
  1273. package/build-module/components/block-settings-menu/block-convert-button.js.map +0 -1
  1274. package/build-module/components/media-upload/constants.js.map +0 -1
  1275. package/src/components/block-settings-menu/block-convert-button.js +0 -14
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","Platform","useRef","useCallback","forwardRef","useDispatch","useSelect","pasteHandler","children","childrenSource","getBlockTransforms","findTransform","isUnmodifiedDefaultBlock","useInstanceId","useMergeRefs","__experimentalRichText","RichText","__unstableCreateElement","isEmpty","insert","create","split","toHTMLString","slice","isURL","Autocomplete","useBlockEditContext","RemoveBrowserShortcuts","filePasteHandler","FormatToolbarContainer","store","blockEditorStore","addActiveFormats","getMultilineTag","getAllowedFormats","isShortcode","createLinkInParagraph","EmbedHandlerPicker","Content","classes","RichTextWrapper","tagName","start","reversed","value","originalValue","onChange","originalOnChange","isSelected","originalIsSelected","multiline","inlineToolbar","wrapperClassName","autocompleters","onReplace","placeholder","allowedFormats","withoutInteractiveFormatting","onRemove","onMerge","onSplit","__unstableOnSplitAtEnd","onSplitAtEnd","__unstableOnSplitMiddle","onSplitMiddle","identifier","preserveWhiteSpace","__unstablePastePlainText","pastePlainText","__unstableEmbedURLOnPaste","__unstableDisableFormats","disableFormats","disableLineBreaks","unstableOnFocus","__unstableAllowPrefixTransformations","__unstableMultilineRootTag","__unstableMobileNoFocusOnMount","deleteEnter","placeholderTextColor","textAlign","selectionColor","tagsToEliminate","disableEditingMenu","fontSize","fontFamily","fontWeight","fontStyle","minWidth","maxWidth","onBlur","setRef","disableSuggestions","disableAutocorrection","containerWidth","onEnter","onCustomEnter","props","forwardedRef","instanceId","fallbackRef","clientId","blockIsSelected","embedHandlerPickerRef","selector","select","getSelectionStart","getSelectionEnd","getSettings","didAutomaticChange","getBlock","isMultiSelecting","hasMultiSelection","selectionStart","selectionEnd","__experimentalUndo","undo","undefined","attributeKey","extraProps","OS","block","shouldBlurOnUnmount","offset","disabled","__unstableMarkLastChangeAsPersistent","enterFormattedText","exitFormattedText","selectionChange","__unstableMarkAutomaticChange","multilineTag","adjustedAllowedFormats","hasFormats","length","adjustedValue","adjustedOnChange","Array","isArray","toHTML","newValue","fromDOM","document","childNodes","onSelectionChange","selectionChangeStart","selectionChangeEnd","onDelete","isReverse","splitValue","record","pastedBlocks","blocks","before","after","hasPastedBlocks","lastPastedBlockIndex","isAfterOriginal","push","indexToSelect","initialPosition","shiftKey","canSplit","transforms","filter","type","transformation","item","regExp","test","text","transform","content","splitStart","end","splitEnd","canSplitAtEnd","onPaste","html","plainText","isInternal","files","activeFormats","pastedValue","multilineWrapperTags","HTML","mode","window","console","log","isPastedURL","trim","presentEmbedHandlerPicker","current","presentPicker","createEmbed","createLink","valueToInsert","canPasteEmbed","name","inputRule","valueToFormat","startPosition","characterBefore","trimmedTextBefore","prefixTransforms","prefix","mergedRef","createElement","ref","__unstableIsSelected","__unstableInputRule","__unstableMultilineTag","__unstableOnEnterFormattedText","__unstableOnExitFormattedText","__unstableOnCreateUndoLevel","__unstableDidAutomaticChange","__unstableUndo","id","style","nestedIsSelected","onFocus","editableProps","editableTagName","TagName","Fragment","inline","anchorRef","completers","contentRef","listBoxId","activeId","onKeyDown","className","event","ForwardedRichTextContainer","defaultProps","format","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent"],"sources":["@wordpress/block-editor/src/components/rich-text/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useRef, useCallback, forwardRef } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tpasteHandler,\n\tchildren as childrenSource,\n\tgetBlockTransforms,\n\tfindTransform,\n\tisUnmodifiedDefaultBlock,\n} from '@wordpress/blocks';\nimport { useInstanceId, useMergeRefs } from '@wordpress/compose';\nimport {\n\t__experimentalRichText as RichText,\n\t__unstableCreateElement,\n\tisEmpty,\n\tinsert,\n\tcreate,\n\tsplit,\n\ttoHTMLString,\n\tslice,\n} from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport Autocomplete from '../autocomplete';\nimport { useBlockEditContext } from '../block-edit';\nimport { RemoveBrowserShortcuts } from './remove-browser-shortcuts';\nimport { filePasteHandler } from './file-paste-handler';\nimport FormatToolbarContainer from './format-toolbar-container';\nimport { store as blockEditorStore } from '../../store';\nimport {\n\taddActiveFormats,\n\tgetMultilineTag,\n\tgetAllowedFormats,\n\tisShortcode,\n\tcreateLinkInParagraph,\n} from './utils';\nimport EmbedHandlerPicker from './embed-handler-picker';\nimport { Content } from './content';\n\nconst classes = 'block-editor-rich-text__editable';\n\nfunction RichTextWrapper(\n\t{\n\t\tchildren,\n\t\ttagName,\n\t\tstart,\n\t\treversed,\n\t\tvalue: originalValue,\n\t\tonChange: originalOnChange,\n\t\tisSelected: originalIsSelected,\n\t\tmultiline,\n\t\tinlineToolbar,\n\t\twrapperClassName,\n\t\tautocompleters,\n\t\tonReplace,\n\t\tplaceholder,\n\t\tallowedFormats,\n\t\twithoutInteractiveFormatting,\n\t\tonRemove,\n\t\tonMerge,\n\t\tonSplit,\n\t\t__unstableOnSplitAtEnd: onSplitAtEnd,\n\t\t__unstableOnSplitMiddle: onSplitMiddle,\n\t\tidentifier,\n\t\tpreserveWhiteSpace,\n\t\t__unstablePastePlainText: pastePlainText,\n\t\t__unstableEmbedURLOnPaste,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tdisableLineBreaks,\n\t\tunstableOnFocus,\n\t\t__unstableAllowPrefixTransformations,\n\t\t__unstableMultilineRootTag,\n\t\t// Native props.\n\t\t__unstableMobileNoFocusOnMount,\n\t\tdeleteEnter,\n\t\tplaceholderTextColor,\n\t\ttextAlign,\n\t\tselectionColor,\n\t\ttagsToEliminate,\n\t\tdisableEditingMenu,\n\t\tfontSize,\n\t\tfontFamily,\n\t\tfontWeight,\n\t\tfontStyle,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tonBlur,\n\t\tsetRef,\n\t\tdisableSuggestions,\n\t\tdisableAutocorrection,\n\t\tcontainerWidth,\n\t\tonEnter: onCustomEnter,\n\t\t...props\n\t},\n\tforwardedRef\n) {\n\tconst instanceId = useInstanceId( RichTextWrapper );\n\n\tidentifier = identifier || instanceId;\n\n\tconst fallbackRef = useRef();\n\tconst { clientId, isSelected: blockIsSelected } = useBlockEditContext();\n\tconst embedHandlerPickerRef = useRef();\n\tconst selector = ( select ) => {\n\t\tconst {\n\t\t\tgetSelectionStart,\n\t\t\tgetSelectionEnd,\n\t\t\tgetSettings,\n\t\t\tdidAutomaticChange,\n\t\t\tgetBlock,\n\t\t\tisMultiSelecting,\n\t\t\thasMultiSelection,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectionStart = getSelectionStart();\n\t\tconst selectionEnd = getSelectionEnd();\n\t\tconst { __experimentalUndo: undo } = getSettings();\n\n\t\tlet isSelected;\n\n\t\tif ( originalIsSelected === undefined ) {\n\t\t\tisSelected =\n\t\t\t\tselectionStart.clientId === clientId &&\n\t\t\t\tselectionStart.attributeKey === identifier;\n\t\t} else if ( originalIsSelected ) {\n\t\t\tisSelected = selectionStart.clientId === clientId;\n\t\t}\n\n\t\tlet extraProps = {};\n\t\tif ( Platform.OS === 'native' ) {\n\t\t\t// If the block of this RichText is unmodified then it's a candidate for replacing when adding a new block.\n\t\t\t// In order to fix https://github.com/wordpress-mobile/gutenberg-mobile/issues/1126, let's blur on unmount in that case.\n\t\t\t// This apparently assumes functionality the BlockHlder actually.\n\t\t\tconst block = clientId && getBlock( clientId );\n\t\t\tconst shouldBlurOnUnmount =\n\t\t\t\tblock && isSelected && isUnmodifiedDefaultBlock( block );\n\t\t\textraProps = {\n\t\t\t\tshouldBlurOnUnmount,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tselectionStart: isSelected ? selectionStart.offset : undefined,\n\t\t\tselectionEnd: isSelected ? selectionEnd.offset : undefined,\n\t\t\tisSelected,\n\t\t\tdidAutomaticChange: didAutomaticChange(),\n\t\t\tdisabled: isMultiSelecting() || hasMultiSelection(),\n\t\t\tundo,\n\t\t\t...extraProps,\n\t\t};\n\t};\n\t// This selector must run on every render so the right selection state is\n\t// retrieved from the store on merge.\n\t// To do: fix this somehow.\n\tconst {\n\t\tselectionStart,\n\t\tselectionEnd,\n\t\tisSelected,\n\t\tdidAutomaticChange,\n\t\tdisabled,\n\t\tundo,\n\t\tshouldBlurOnUnmount,\n\t} = useSelect( selector );\n\tconst {\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tenterFormattedText,\n\t\texitFormattedText,\n\t\tselectionChange,\n\t\t__unstableMarkAutomaticChange,\n\t} = useDispatch( blockEditorStore );\n\tconst multilineTag = getMultilineTag( multiline );\n\tconst adjustedAllowedFormats = getAllowedFormats( {\n\t\tallowedFormats,\n\t\tdisableFormats,\n\t} );\n\tconst hasFormats =\n\t\t! adjustedAllowedFormats || adjustedAllowedFormats.length > 0;\n\tlet adjustedValue = originalValue;\n\tlet adjustedOnChange = originalOnChange;\n\n\t// Handle deprecated format.\n\tif ( Array.isArray( originalValue ) ) {\n\t\tadjustedValue = childrenSource.toHTML( originalValue );\n\t\tadjustedOnChange = ( newValue ) =>\n\t\t\toriginalOnChange(\n\t\t\t\tchildrenSource.fromDOM(\n\t\t\t\t\t__unstableCreateElement( document, newValue ).childNodes\n\t\t\t\t)\n\t\t\t);\n\t}\n\n\tconst onSelectionChange = useCallback(\n\t\t( selectionChangeStart, selectionChangeEnd ) => {\n\t\t\tselectionChange(\n\t\t\t\tclientId,\n\t\t\t\tidentifier,\n\t\t\t\tselectionChangeStart,\n\t\t\t\tselectionChangeEnd\n\t\t\t);\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[ clientId, identifier ]\n\t);\n\n\tconst onDelete = useCallback(\n\t\t( { value, isReverse } ) => {\n\t\t\tif ( onMerge ) {\n\t\t\t\tonMerge( ! isReverse );\n\t\t\t}\n\n\t\t\t// Only handle remove on Backspace. This serves dual-purpose of being\n\t\t\t// an intentional user interaction distinguishing between Backspace and\n\t\t\t// Delete to remove the empty field, but also to avoid merge & remove\n\t\t\t// causing destruction of two fields (merge, then removed merged).\n\t\t\tif ( onRemove && isEmpty( value ) && isReverse ) {\n\t\t\t\tonRemove( ! isReverse );\n\t\t\t}\n\t\t},\n\t\t[ onMerge, onRemove ]\n\t);\n\n\t/**\n\t * Signals to the RichText owner that the block can be replaced with two\n\t * blocks as a result of splitting the block by pressing enter, or with\n\t * blocks as a result of splitting the block by pasting block content in the\n\t * instance.\n\t *\n\t * @param {Object} record The rich text value to split.\n\t * @param {Array} pastedBlocks The pasted blocks to insert, if any.\n\t */\n\tconst splitValue = useCallback(\n\t\t( record, pastedBlocks = [] ) => {\n\t\t\tif ( ! onReplace || ! onSplit ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst blocks = [];\n\t\t\tconst [ before, after ] = split( record );\n\t\t\tconst hasPastedBlocks = pastedBlocks.length > 0;\n\t\t\tlet lastPastedBlockIndex = -1;\n\n\t\t\t// Consider the after value to be the original it is not empty and\n\t\t\t// the before value *is* empty.\n\t\t\tconst isAfterOriginal = isEmpty( before ) && ! isEmpty( after );\n\n\t\t\t// Create a block with the content before the caret if there's no pasted\n\t\t\t// blocks, or if there are pasted blocks and the value is not empty.\n\t\t\t// We do not want a leading empty block on paste, but we do if split\n\t\t\t// with e.g. the enter key.\n\t\t\tif ( ! hasPastedBlocks || ! isEmpty( before ) ) {\n\t\t\t\tblocks.push(\n\t\t\t\t\tonSplit(\n\t\t\t\t\t\ttoHTMLString( {\n\t\t\t\t\t\t\tvalue: before,\n\t\t\t\t\t\t\tmultilineTag,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\t! isAfterOriginal\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tlastPastedBlockIndex += 1;\n\t\t\t}\n\n\t\t\tif ( hasPastedBlocks ) {\n\t\t\t\tblocks.push( ...pastedBlocks );\n\t\t\t\tlastPastedBlockIndex += pastedBlocks.length;\n\t\t\t} else if ( onSplitMiddle ) {\n\t\t\t\tblocks.push( onSplitMiddle() );\n\t\t\t}\n\n\t\t\t// If there's pasted blocks, append a block with non empty content\n\t\t\t// after the caret. Otherwise, do append an empty block if there\n\t\t\t// is no `onSplitMiddle` prop, but if there is and the content is\n\t\t\t// empty, the middle block is enough to set focus in.\n\t\t\tif (\n\t\t\t\thasPastedBlocks\n\t\t\t\t\t? ! isEmpty( after )\n\t\t\t\t\t: ! onSplitMiddle || ! isEmpty( after )\n\t\t\t) {\n\t\t\t\tblocks.push(\n\t\t\t\t\tonSplit(\n\t\t\t\t\t\ttoHTMLString( {\n\t\t\t\t\t\t\tvalue: after,\n\t\t\t\t\t\t\tmultilineTag,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\tisAfterOriginal\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// If there are pasted blocks, set the selection to the last one.\n\t\t\t// Otherwise, set the selection to the second block.\n\t\t\tconst indexToSelect = hasPastedBlocks ? lastPastedBlockIndex : 1;\n\n\t\t\t// If there are pasted blocks, move the caret to the end of the selected block\n\t\t\t// Otherwise, retain the default value.\n\t\t\tconst initialPosition = hasPastedBlocks ? -1 : 0;\n\n\t\t\tonReplace( blocks, indexToSelect, initialPosition );\n\t\t},\n\t\t[ onReplace, onSplit, multilineTag, onSplitMiddle ]\n\t);\n\n\tconst onEnter = useCallback(\n\t\t( { value, onChange, shiftKey } ) => {\n\t\t\tconst canSplit = onReplace && onSplit;\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst transforms = getBlockTransforms( 'from' ).filter(\n\t\t\t\t\t( { type } ) => type === 'enter'\n\t\t\t\t);\n\t\t\t\tconst transformation = findTransform( transforms, ( item ) => {\n\t\t\t\t\treturn item.regExp.test( value.text );\n\t\t\t\t} );\n\n\t\t\t\tif ( transformation ) {\n\t\t\t\t\tonReplace( [\n\t\t\t\t\t\ttransformation.transform( { content: value.text } ),\n\t\t\t\t\t] );\n\t\t\t\t\t__unstableMarkAutomaticChange();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( onCustomEnter ) {\n\t\t\t\tonCustomEnter();\n\t\t\t}\n\n\t\t\tconst { text, start: splitStart, end: splitEnd } = value;\n\t\t\tconst canSplitAtEnd =\n\t\t\t\tonSplitAtEnd &&\n\t\t\t\tsplitStart === splitEnd &&\n\t\t\t\tsplitEnd === text.length;\n\n\t\t\tif ( shiftKey || ( ! canSplit && ! canSplitAtEnd ) ) {\n\t\t\t\tif ( ! disableLineBreaks ) {\n\t\t\t\t\tonChange( insert( value, '\\n' ) );\n\t\t\t\t}\n\t\t\t} else if ( ! canSplit && canSplitAtEnd ) {\n\t\t\t\tonSplitAtEnd();\n\t\t\t} else if ( canSplit ) {\n\t\t\t\tsplitValue( value );\n\t\t\t}\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tonReplace,\n\t\t\tonSplit,\n\t\t\t__unstableMarkAutomaticChange,\n\t\t\tmultiline,\n\t\t\tsplitValue,\n\t\t\tonSplitAtEnd,\n\t\t]\n\t);\n\n\tconst onPaste = useCallback(\n\t\t( {\n\t\t\tvalue,\n\t\t\tonChange,\n\t\t\thtml,\n\t\t\tplainText,\n\t\t\tisInternal,\n\t\t\tfiles,\n\t\t\tactiveFormats,\n\t\t} ) => {\n\t\t\t// If the data comes from a rich text instance, we can directly use it\n\t\t\t// without filtering the data. The filters are only meant for externally\n\t\t\t// pasted content and remove inline styles.\n\t\t\tif ( isInternal ) {\n\t\t\t\tconst pastedValue = create( {\n\t\t\t\t\thtml,\n\t\t\t\t\tmultilineTag,\n\t\t\t\t\tmultilineWrapperTags:\n\t\t\t\t\t\tmultilineTag === 'li' ? [ 'ul', 'ol' ] : undefined,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\t\t\t\taddActiveFormats( pastedValue, activeFormats );\n\t\t\t\tonChange( insert( value, pastedValue ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( pastePlainText ) {\n\t\t\t\tonChange( insert( value, create( { text: plainText } ) ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only process file if no HTML is present.\n\t\t\t// Note: a pasted file may have the URL as plain text.\n\t\t\tif ( files && files.length && ! html ) {\n\t\t\t\tconst content = pasteHandler( {\n\t\t\t\t\tHTML: filePasteHandler( files ),\n\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\ttagName,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\n\t\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\twindow.console.log( 'Received items:\\n\\n', files );\n\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( content );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( value, content );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet mode = onReplace && onSplit ? 'AUTO' : 'INLINE';\n\n\t\t\t// Force the blocks mode when the user is pasting\n\t\t\t// on a new line & the content resembles a shortcode.\n\t\t\t// Otherwise it's going to be detected as inline\n\t\t\t// and the shortcode won't be replaced.\n\t\t\tif (\n\t\t\t\tmode === 'AUTO' &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisShortcode( plainText )\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tconst isPastedURL = isURL( plainText.trim() );\n\t\t\tconst presentEmbedHandlerPicker = () =>\n\t\t\t\tembedHandlerPickerRef.current?.presentPicker( {\n\t\t\t\t\tcreateEmbed: () =>\n\t\t\t\t\t\tonReplace( content, content.length - 1, -1 ),\n\t\t\t\t\tcreateLink: () =>\n\t\t\t\t\t\tcreateLinkInParagraph( plainText.trim(), onReplace ),\n\t\t\t\t} );\n\n\t\t\tif (\n\t\t\t\t__unstableEmbedURLOnPaste &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisPastedURL\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tconst content = pasteHandler( {\n\t\t\t\tHTML: html,\n\t\t\t\tplainText,\n\t\t\t\tmode,\n\t\t\t\ttagName,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t} );\n\n\t\t\tif ( typeof content === 'string' ) {\n\t\t\t\tconst valueToInsert = create( { html: content } );\n\t\t\t\taddActiveFormats( valueToInsert, activeFormats );\n\t\t\t\tonChange( insert( value, valueToInsert ) );\n\t\t\t} else if ( content.length > 0 ) {\n\t\t\t\t// When an URL is pasted in an empty paragraph then the EmbedHandlerPicker should showcase options allowing the transformation of that URL\n\t\t\t\t// into either an Embed block or a link within the target paragraph. If the paragraph is non-empty, the URL is pasted as text.\n\t\t\t\tconst canPasteEmbed =\n\t\t\t\t\tisPastedURL &&\n\t\t\t\t\tcontent.length === 1 &&\n\t\t\t\t\tcontent[ 0 ].name === 'core/embed';\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tif ( canPasteEmbed ) {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tinsert( value, create( { text: plainText } ) )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( __unstableEmbedURLOnPaste ) {\n\t\t\t\t\t\t\tpresentEmbedHandlerPicker();\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\tonReplace( content, content.length - 1, -1 );\n\t\t\t\t} else {\n\t\t\t\t\tif ( canPasteEmbed ) {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tinsert( value, create( { text: plainText } ) )\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\tsplitValue( value, content );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\ttagName,\n\t\t\tonReplace,\n\t\t\tonSplit,\n\t\t\tsplitValue,\n\t\t\t__unstableEmbedURLOnPaste,\n\t\t\tmultilineTag,\n\t\t\tpreserveWhiteSpace,\n\t\t\tpastePlainText,\n\t\t]\n\t);\n\n\tconst inputRule = useCallback(\n\t\t( value, valueToFormat ) => {\n\t\t\tif ( ! onReplace ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { start: startPosition, text } = value;\n\t\t\tconst characterBefore = text.slice(\n\t\t\t\tstartPosition - 1,\n\t\t\t\tstartPosition\n\t\t\t);\n\n\t\t\t// The character right before the caret must be a plain space.\n\t\t\tif ( characterBefore !== ' ' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst trimmedTextBefore = text.slice( 0, startPosition ).trim();\n\t\t\tconst prefixTransforms = getBlockTransforms( 'from' ).filter(\n\t\t\t\t( { type } ) => type === 'prefix'\n\t\t\t);\n\t\t\tconst transformation = findTransform(\n\t\t\t\tprefixTransforms,\n\t\t\t\t( { prefix } ) => {\n\t\t\t\t\treturn trimmedTextBefore === prefix;\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( ! transformation ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst content = valueToFormat(\n\t\t\t\tslice( value, startPosition, text.length )\n\t\t\t);\n\t\t\tconst block = transformation.transform( content );\n\n\t\t\tonReplace( [ block ] );\n\t\t\t__unstableMarkAutomaticChange();\n\t\t},\n\t\t[ onReplace, __unstableMarkAutomaticChange ]\n\t);\n\n\tconst mergedRef = useMergeRefs( [ forwardedRef, fallbackRef ] );\n\n\treturn (\n\t\t<RichText\n\t\t\tclientId={ clientId }\n\t\t\tidentifier={ identifier }\n\t\t\tref={ mergedRef }\n\t\t\tvalue={ adjustedValue }\n\t\t\tonChange={ adjustedOnChange }\n\t\t\tselectionStart={ selectionStart }\n\t\t\tselectionEnd={ selectionEnd }\n\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\ttagName={ tagName }\n\t\t\tstart={ start }\n\t\t\treversed={ reversed }\n\t\t\tplaceholder={ placeholder }\n\t\t\tallowedFormats={ adjustedAllowedFormats }\n\t\t\twithoutInteractiveFormatting={ withoutInteractiveFormatting }\n\t\t\tonEnter={ onEnter }\n\t\t\tonDelete={ onDelete }\n\t\t\tonPaste={ onPaste }\n\t\t\t__unstableIsSelected={ isSelected }\n\t\t\t__unstableInputRule={ inputRule }\n\t\t\t__unstableMultilineTag={ multilineTag }\n\t\t\t__unstableOnEnterFormattedText={ enterFormattedText }\n\t\t\t__unstableOnExitFormattedText={ exitFormattedText }\n\t\t\t__unstableOnCreateUndoLevel={ __unstableMarkLastChangeAsPersistent }\n\t\t\t__unstableMarkAutomaticChange={ __unstableMarkAutomaticChange }\n\t\t\t__unstableDidAutomaticChange={ didAutomaticChange }\n\t\t\t__unstableUndo={ undo }\n\t\t\t__unstableDisableFormats={ disableFormats }\n\t\t\tpreserveWhiteSpace={ preserveWhiteSpace }\n\t\t\tdisabled={ disabled }\n\t\t\tunstableOnFocus={ unstableOnFocus }\n\t\t\t__unstableAllowPrefixTransformations={\n\t\t\t\t__unstableAllowPrefixTransformations\n\t\t\t}\n\t\t\t__unstableMultilineRootTag={ __unstableMultilineRootTag }\n\t\t\t// Native props.\n\t\t\tblockIsSelected={\n\t\t\t\toriginalIsSelected !== undefined\n\t\t\t\t\t? originalIsSelected\n\t\t\t\t\t: blockIsSelected\n\t\t\t}\n\t\t\tshouldBlurOnUnmount={ shouldBlurOnUnmount }\n\t\t\t__unstableMobileNoFocusOnMount={ __unstableMobileNoFocusOnMount }\n\t\t\tdeleteEnter={ deleteEnter }\n\t\t\tplaceholderTextColor={ placeholderTextColor }\n\t\t\ttextAlign={ textAlign }\n\t\t\tselectionColor={ selectionColor }\n\t\t\ttagsToEliminate={ tagsToEliminate }\n\t\t\tdisableEditingMenu={ disableEditingMenu }\n\t\t\tfontSize={ fontSize }\n\t\t\tfontFamily={ fontFamily }\n\t\t\tfontWeight={ fontWeight }\n\t\t\tfontStyle={ fontStyle }\n\t\t\tminWidth={ minWidth }\n\t\t\tmaxWidth={ maxWidth }\n\t\t\tonBlur={ onBlur }\n\t\t\tsetRef={ setRef }\n\t\t\tdisableSuggestions={ disableSuggestions }\n\t\t\tdisableAutocorrection={ disableAutocorrection }\n\t\t\tcontainerWidth={ containerWidth }\n\t\t\t// Props to be set on the editable container are destructured on the\n\t\t\t// element itself for web (see below), but passed through rich text\n\t\t\t// for native.\n\t\t\tid={ props.id }\n\t\t\tstyle={ props.style }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tisSelected: nestedIsSelected,\n\t\t\t\tvalue,\n\t\t\t\tonChange,\n\t\t\t\tonFocus,\n\t\t\t\teditableProps,\n\t\t\t\teditableTagName: TagName,\n\t\t\t} ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ children && children( { value, onChange, onFocus } ) }\n\t\t\t\t\t{ nestedIsSelected && hasFormats && (\n\t\t\t\t\t\t<FormatToolbarContainer\n\t\t\t\t\t\t\tinline={ inlineToolbar }\n\t\t\t\t\t\t\tanchorRef={ fallbackRef.current }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ nestedIsSelected && <RemoveBrowserShortcuts /> }\n\t\t\t\t\t<Autocomplete\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\tcompleters={ autocompleters }\n\t\t\t\t\t\trecord={ value }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tisSelected={ nestedIsSelected }\n\t\t\t\t\t\tcontentRef={ fallbackRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { listBoxId, activeId, onKeyDown } ) => (\n\t\t\t\t\t\t\t<TagName\n\t\t\t\t\t\t\t\t{ ...editableProps }\n\t\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\tprops.style\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t...props.style,\n\t\t\t\t\t\t\t\t\t\t\t\t...editableProps.style,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: editableProps.style\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t\tprops.className,\n\t\t\t\t\t\t\t\t\teditableProps.className\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\taria-autocomplete={\n\t\t\t\t\t\t\t\t\tlistBoxId ? 'list' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-owns={ listBoxId }\n\t\t\t\t\t\t\t\taria-activedescendant={ activeId }\n\t\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\tonKeyDown( event );\n\t\t\t\t\t\t\t\t\teditableProps.onKeyDown( event );\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</Autocomplete>\n\t\t\t\t\t<EmbedHandlerPicker ref={ embedHandlerPickerRef } />\n\t\t\t\t</>\n\t\t\t) }\n\t\t</RichText>\n\t);\n}\n\nconst ForwardedRichTextContainer = forwardRef( RichTextWrapper );\n\nForwardedRichTextContainer.Content = Content;\n\nForwardedRichTextContainer.isEmpty = ( value ) => {\n\treturn ! value || value.length === 0;\n};\n\nForwardedRichTextContainer.Content.defaultProps = {\n\tformat: 'string',\n\tvalue: '',\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md\n */\nexport default ForwardedRichTextContainer;\nexport { RichTextShortcut } from './shortcut';\nexport { RichTextToolbarButton } from './toolbar-button';\nexport { __unstableRichTextInputEvent } from './input-event';\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,QAAQ,EAAEC,MAAM,EAAEC,WAAW,EAAEC,UAAU,QAAQ,oBAAoB;AAC9E,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SACCC,YAAY,EACZC,QAAQ,IAAIC,cAAc,EAC1BC,kBAAkB,EAClBC,aAAa,EACbC,wBAAwB,QAClB,mBAAmB;AAC1B,SAASC,aAAa,EAAEC,YAAY,QAAQ,oBAAoB;AAChE,SACCC,sBAAsB,IAAIC,QAAQ,EAClCC,uBAAuB,EACvBC,OAAO,EACPC,MAAM,EACNC,MAAM,EACNC,KAAK,EACLC,YAAY,EACZC,KAAK,QACC,sBAAsB;AAC7B,SAASC,KAAK,QAAQ,gBAAgB;;AAEtC;AACA;AACA;AACA,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,SAASC,mBAAmB,QAAQ,eAAe;AACnD,SAASC,sBAAsB,QAAQ,4BAA4B;AACnE,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,OAAOC,sBAAsB,MAAM,4BAA4B;AAC/D,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,SACCC,gBAAgB,EAChBC,eAAe,EACfC,iBAAiB,EACjBC,WAAW,EACXC,qBAAqB,QACf,SAAS;AAChB,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,SAASC,OAAO,QAAQ,WAAW;AAEnC,MAAMC,OAAO,GAAG,kCAAkC;AAElD,SAASC,eAAeA,CACvB;EACChC,QAAQ;EACRiC,OAAO;EACPC,KAAK;EACLC,QAAQ;EACRC,KAAK,EAAEC,aAAa;EACpBC,QAAQ,EAAEC,gBAAgB;EAC1BC,UAAU,EAAEC,kBAAkB;EAC9BC,SAAS;EACTC,aAAa;EACbC,gBAAgB;EAChBC,cAAc;EACdC,SAAS;EACTC,WAAW;EACXC,cAAc;EACdC,4BAA4B;EAC5BC,QAAQ;EACRC,OAAO;EACPC,OAAO;EACPC,sBAAsB,EAAEC,YAAY;EACpCC,uBAAuB,EAAEC,aAAa;EACtCC,UAAU;EACVC,kBAAkB;EAClBC,wBAAwB,EAAEC,cAAc;EACxCC,yBAAyB;EACzBC,wBAAwB,EAAEC,cAAc;EACxCC,iBAAiB;EACjBC,eAAe;EACfC,oCAAoC;EACpCC,0BAA0B;EAC1B;EACAC,8BAA8B;EAC9BC,WAAW;EACXC,oBAAoB;EACpBC,SAAS;EACTC,cAAc;EACdC,eAAe;EACfC,kBAAkB;EAClBC,QAAQ;EACRC,UAAU;EACVC,UAAU;EACVC,SAAS;EACTC,QAAQ;EACRC,QAAQ;EACRC,MAAM;EACNC,MAAM;EACNC,kBAAkB;EAClBC,qBAAqB;EACrBC,cAAc;EACdC,OAAO,EAAEC,aAAa;EACtB,GAAGC;AACJ,CAAC,EACDC,YAAY,EACX;EACD,MAAMC,UAAU,GAAGrF,aAAa,CAAE2B,eAAgB,CAAC;EAEnDyB,UAAU,GAAGA,UAAU,IAAIiC,UAAU;EAErC,MAAMC,WAAW,GAAGjG,MAAM,CAAC,CAAC;EAC5B,MAAM;IAAEkG,QAAQ;IAAEpD,UAAU,EAAEqD;EAAgB,CAAC,GAAG3E,mBAAmB,CAAC,CAAC;EACvE,MAAM4E,qBAAqB,GAAGpG,MAAM,CAAC,CAAC;EACtC,MAAMqG,QAAQ,GAAKC,MAAM,IAAM;IAC9B,MAAM;MACLC,iBAAiB;MACjBC,eAAe;MACfC,WAAW;MACXC,kBAAkB;MAClBC,QAAQ;MACRC,gBAAgB;MAChBC;IACD,CAAC,GAAGP,MAAM,CAAEzE,gBAAiB,CAAC;IAE9B,MAAMiF,cAAc,GAAGP,iBAAiB,CAAC,CAAC;IAC1C,MAAMQ,YAAY,GAAGP,eAAe,CAAC,CAAC;IACtC,MAAM;MAAEQ,kBAAkB,EAAEC;IAAK,CAAC,GAAGR,WAAW,CAAC,CAAC;IAElD,IAAI3D,UAAU;IAEd,IAAKC,kBAAkB,KAAKmE,SAAS,EAAG;MACvCpE,UAAU,GACTgE,cAAc,CAACZ,QAAQ,KAAKA,QAAQ,IACpCY,cAAc,CAACK,YAAY,KAAKpD,UAAU;IAC5C,CAAC,MAAM,IAAKhB,kBAAkB,EAAG;MAChCD,UAAU,GAAGgE,cAAc,CAACZ,QAAQ,KAAKA,QAAQ;IAClD;IAEA,IAAIkB,UAAU,GAAG,CAAC,CAAC;IACnB,IAAKrH,QAAQ,CAACsH,EAAE,KAAK,QAAQ,EAAG;MAC/B;MACA;MACA;MACA,MAAMC,KAAK,GAAGpB,QAAQ,IAAIS,QAAQ,CAAET,QAAS,CAAC;MAC9C,MAAMqB,mBAAmB,GACxBD,KAAK,IAAIxE,UAAU,IAAIpC,wBAAwB,CAAE4G,KAAM,CAAC;MACzDF,UAAU,GAAG;QACZG;MACD,CAAC;IACF;IAEA,OAAO;MACNT,cAAc,EAAEhE,UAAU,GAAGgE,cAAc,CAACU,MAAM,GAAGN,SAAS;MAC9DH,YAAY,EAAEjE,UAAU,GAAGiE,YAAY,CAACS,MAAM,GAAGN,SAAS;MAC1DpE,UAAU;MACV4D,kBAAkB,EAAEA,kBAAkB,CAAC,CAAC;MACxCe,QAAQ,EAAEb,gBAAgB,CAAC,CAAC,IAAIC,iBAAiB,CAAC,CAAC;MACnDI,IAAI;MACJ,GAAGG;IACJ,CAAC;EACF,CAAC;EACD;EACA;EACA;EACA,MAAM;IACLN,cAAc;IACdC,YAAY;IACZjE,UAAU;IACV4D,kBAAkB;IAClBe,QAAQ;IACRR,IAAI;IACJM;EACD,CAAC,GAAGnH,SAAS,CAAEiG,QAAS,CAAC;EACzB,MAAM;IACLqB,oCAAoC;IACpCC,kBAAkB;IAClBC,iBAAiB;IACjBC,eAAe;IACfC;EACD,CAAC,GAAG3H,WAAW,CAAE0B,gBAAiB,CAAC;EACnC,MAAMkG,YAAY,GAAGhG,eAAe,CAAEiB,SAAU,CAAC;EACjD,MAAMgF,sBAAsB,GAAGhG,iBAAiB,CAAE;IACjDsB,cAAc;IACde;EACD,CAAE,CAAC;EACH,MAAM4D,UAAU,GACf,CAAED,sBAAsB,IAAIA,sBAAsB,CAACE,MAAM,GAAG,CAAC;EAC9D,IAAIC,aAAa,GAAGxF,aAAa;EACjC,IAAIyF,gBAAgB,GAAGvF,gBAAgB;;EAEvC;EACA,IAAKwF,KAAK,CAACC,OAAO,CAAE3F,aAAc,CAAC,EAAG;IACrCwF,aAAa,GAAG5H,cAAc,CAACgI,MAAM,CAAE5F,aAAc,CAAC;IACtDyF,gBAAgB,GAAKI,QAAQ,IAC5B3F,gBAAgB,CACftC,cAAc,CAACkI,OAAO,CACrB1H,uBAAuB,CAAE2H,QAAQ,EAAEF,QAAS,CAAC,CAACG,UAC/C,CACD,CAAC;EACH;EAEA,MAAMC,iBAAiB,GAAG3I,WAAW,CACpC,CAAE4I,oBAAoB,EAAEC,kBAAkB,KAAM;IAC/CjB,eAAe,CACd3B,QAAQ,EACRnC,UAAU,EACV8E,oBAAoB,EACpBC,kBACD,CAAC;EACF,CAAC;EACD;EACA,CAAE5C,QAAQ,EAAEnC,UAAU,CACvB,CAAC;EAED,MAAMgF,QAAQ,GAAG9I,WAAW,CAC3B,CAAE;IAAEyC,KAAK;IAAEsG;EAAU,CAAC,KAAM;IAC3B,IAAKvF,OAAO,EAAG;MACdA,OAAO,CAAE,CAAEuF,SAAU,CAAC;IACvB;;IAEA;IACA;IACA;IACA;IACA,IAAKxF,QAAQ,IAAIxC,OAAO,CAAE0B,KAAM,CAAC,IAAIsG,SAAS,EAAG;MAChDxF,QAAQ,CAAE,CAAEwF,SAAU,CAAC;IACxB;EACD,CAAC,EACD,CAAEvF,OAAO,EAAED,QAAQ,CACpB,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,MAAMyF,UAAU,GAAGhJ,WAAW,CAC7B,CAAEiJ,MAAM,EAAEC,YAAY,GAAG,EAAE,KAAM;IAChC,IAAK,CAAE/F,SAAS,IAAI,CAAEM,OAAO,EAAG;MAC/B;IACD;IAEA,MAAM0F,MAAM,GAAG,EAAE;IACjB,MAAM,CAAEC,MAAM,EAAEC,KAAK,CAAE,GAAGnI,KAAK,CAAE+H,MAAO,CAAC;IACzC,MAAMK,eAAe,GAAGJ,YAAY,CAACjB,MAAM,GAAG,CAAC;IAC/C,IAAIsB,oBAAoB,GAAG,CAAC,CAAC;;IAE7B;IACA;IACA,MAAMC,eAAe,GAAGzI,OAAO,CAAEqI,MAAO,CAAC,IAAI,CAAErI,OAAO,CAAEsI,KAAM,CAAC;;IAE/D;IACA;IACA;IACA;IACA,IAAK,CAAEC,eAAe,IAAI,CAAEvI,OAAO,CAAEqI,MAAO,CAAC,EAAG;MAC/CD,MAAM,CAACM,IAAI,CACVhG,OAAO,CACNtC,YAAY,CAAE;QACbsB,KAAK,EAAE2G,MAAM;QACbtB;MACD,CAAE,CAAC,EACH,CAAE0B,eACH,CACD,CAAC;MACDD,oBAAoB,IAAI,CAAC;IAC1B;IAEA,IAAKD,eAAe,EAAG;MACtBH,MAAM,CAACM,IAAI,CAAE,GAAGP,YAAa,CAAC;MAC9BK,oBAAoB,IAAIL,YAAY,CAACjB,MAAM;IAC5C,CAAC,MAAM,IAAKpE,aAAa,EAAG;MAC3BsF,MAAM,CAACM,IAAI,CAAE5F,aAAa,CAAC,CAAE,CAAC;IAC/B;;IAEA;IACA;IACA;IACA;IACA,IACCyF,eAAe,GACZ,CAAEvI,OAAO,CAAEsI,KAAM,CAAC,GAClB,CAAExF,aAAa,IAAI,CAAE9C,OAAO,CAAEsI,KAAM,CAAC,EACvC;MACDF,MAAM,CAACM,IAAI,CACVhG,OAAO,CACNtC,YAAY,CAAE;QACbsB,KAAK,EAAE4G,KAAK;QACZvB;MACD,CAAE,CAAC,EACH0B,eACD,CACD,CAAC;IACF;;IAEA;IACA;IACA,MAAME,aAAa,GAAGJ,eAAe,GAAGC,oBAAoB,GAAG,CAAC;;IAEhE;IACA;IACA,MAAMI,eAAe,GAAGL,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC;IAEhDnG,SAAS,CAAEgG,MAAM,EAAEO,aAAa,EAAEC,eAAgB,CAAC;EACpD,CAAC,EACD,CAAExG,SAAS,EAAEM,OAAO,EAAEqE,YAAY,EAAEjE,aAAa,CAClD,CAAC;EAED,MAAM8B,OAAO,GAAG3F,WAAW,CAC1B,CAAE;IAAEyC,KAAK;IAAEE,QAAQ;IAAEiH;EAAS,CAAC,KAAM;IACpC,MAAMC,QAAQ,GAAG1G,SAAS,IAAIM,OAAO;IAErC,IAAKN,SAAS,EAAG;MAChB,MAAM2G,UAAU,GAAGvJ,kBAAkB,CAAE,MAAO,CAAC,CAACwJ,MAAM,CACrD,CAAE;QAAEC;MAAK,CAAC,KAAMA,IAAI,KAAK,OAC1B,CAAC;MACD,MAAMC,cAAc,GAAGzJ,aAAa,CAAEsJ,UAAU,EAAII,IAAI,IAAM;QAC7D,OAAOA,IAAI,CAACC,MAAM,CAACC,IAAI,CAAE3H,KAAK,CAAC4H,IAAK,CAAC;MACtC,CAAE,CAAC;MAEH,IAAKJ,cAAc,EAAG;QACrB9G,SAAS,CAAE,CACV8G,cAAc,CAACK,SAAS,CAAE;UAAEC,OAAO,EAAE9H,KAAK,CAAC4H;QAAK,CAAE,CAAC,CAClD,CAAC;QACHxC,6BAA6B,CAAC,CAAC;MAChC;IACD;IAEA,IAAKjC,aAAa,EAAG;MACpBA,aAAa,CAAC,CAAC;IAChB;IAEA,MAAM;MAAEyE,IAAI;MAAE9H,KAAK,EAAEiI,UAAU;MAAEC,GAAG,EAAEC;IAAS,CAAC,GAAGjI,KAAK;IACxD,MAAMkI,aAAa,GAClBhH,YAAY,IACZ6G,UAAU,KAAKE,QAAQ,IACvBA,QAAQ,KAAKL,IAAI,CAACpC,MAAM;IAEzB,IAAK2B,QAAQ,IAAM,CAAEC,QAAQ,IAAI,CAAEc,aAAe,EAAG;MACpD,IAAK,CAAEtG,iBAAiB,EAAG;QAC1B1B,QAAQ,CAAE3B,MAAM,CAAEyB,KAAK,EAAE,IAAK,CAAE,CAAC;MAClC;IACD,CAAC,MAAM,IAAK,CAAEoH,QAAQ,IAAIc,aAAa,EAAG;MACzChH,YAAY,CAAC,CAAC;IACf,CAAC,MAAM,IAAKkG,QAAQ,EAAG;MACtBb,UAAU,CAAEvG,KAAM,CAAC;IACpB;EACD,CAAC;EACD;EACA,CACCU,SAAS,EACTM,OAAO,EACPoE,6BAA6B,EAC7B9E,SAAS,EACTiG,UAAU,EACVrF,YAAY,CAEd,CAAC;EAED,MAAMiH,OAAO,GAAG5K,WAAW,CAC1B,CAAE;IACDyC,KAAK;IACLE,QAAQ;IACRkI,IAAI;IACJC,SAAS;IACTC,UAAU;IACVC,KAAK;IACLC;EACD,CAAC,KAAM;IACN;IACA;IACA;IACA,IAAKF,UAAU,EAAG;MACjB,MAAMG,WAAW,GAAGjK,MAAM,CAAE;QAC3B4J,IAAI;QACJ/C,YAAY;QACZqD,oBAAoB,EACnBrD,YAAY,KAAK,IAAI,GAAG,CAAE,IAAI,EAAE,IAAI,CAAE,GAAGb,SAAS;QACnDlD;MACD,CAAE,CAAC;MACHlC,gBAAgB,CAAEqJ,WAAW,EAAED,aAAc,CAAC;MAC9CtI,QAAQ,CAAE3B,MAAM,CAAEyB,KAAK,EAAEyI,WAAY,CAAE,CAAC;MACxC;IACD;IAEA,IAAKjH,cAAc,EAAG;MACrBtB,QAAQ,CAAE3B,MAAM,CAAEyB,KAAK,EAAExB,MAAM,CAAE;QAAEoJ,IAAI,EAAES;MAAU,CAAE,CAAE,CAAE,CAAC;MAC1D;IACD;;IAEA;IACA;IACA,IAAKE,KAAK,IAAIA,KAAK,CAAC/C,MAAM,IAAI,CAAE4C,IAAI,EAAG;MACtC,MAAMN,OAAO,GAAGnK,YAAY,CAAE;QAC7BgL,IAAI,EAAE3J,gBAAgB,CAAEuJ,KAAM,CAAC;QAC/BK,IAAI,EAAE,QAAQ;QACd/I,OAAO;QACPyB;MACD,CAAE,CAAC;;MAEH;MACA;MACAuH,MAAM,CAACC,OAAO,CAACC,GAAG,CAAE,qBAAqB,EAAER,KAAM,CAAC;MAElD,IAAK7H,SAAS,IAAIpC,OAAO,CAAE0B,KAAM,CAAC,EAAG;QACpCU,SAAS,CAAEoH,OAAQ,CAAC;MACrB,CAAC,MAAM;QACNvB,UAAU,CAAEvG,KAAK,EAAE8H,OAAQ,CAAC;MAC7B;MAEA;IACD;IAEA,IAAIc,IAAI,GAAGlI,SAAS,IAAIM,OAAO,GAAG,MAAM,GAAG,QAAQ;;IAEnD;IACA;IACA;IACA;IACA,IACC4H,IAAI,KAAK,MAAM,IACftK,OAAO,CAAE0B,KAAM,CAAC,IAChBT,WAAW,CAAE8I,SAAU,CAAC,EACvB;MACDO,IAAI,GAAG,QAAQ;IAChB;IAEA,MAAMI,WAAW,GAAGpK,KAAK,CAAEyJ,SAAS,CAACY,IAAI,CAAC,CAAE,CAAC;IAC7C,MAAMC,yBAAyB,GAAGA,CAAA,KACjCxF,qBAAqB,CAACyF,OAAO,EAAEC,aAAa,CAAE;MAC7CC,WAAW,EAAEA,CAAA,KACZ3I,SAAS,CAAEoH,OAAO,EAAEA,OAAO,CAACtC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAE,CAAC;MAC7C8D,UAAU,EAAEA,CAAA,KACX9J,qBAAqB,CAAE6I,SAAS,CAACY,IAAI,CAAC,CAAC,EAAEvI,SAAU;IACrD,CAAE,CAAC;IAEJ,IACCe,yBAAyB,IACzBnD,OAAO,CAAE0B,KAAM,CAAC,IAChBgJ,WAAW,EACV;MACDJ,IAAI,GAAG,QAAQ;IAChB;IAEA,MAAMd,OAAO,GAAGnK,YAAY,CAAE;MAC7BgL,IAAI,EAAEP,IAAI;MACVC,SAAS;MACTO,IAAI;MACJ/I,OAAO;MACPyB;IACD,CAAE,CAAC;IAEH,IAAK,OAAOwG,OAAO,KAAK,QAAQ,EAAG;MAClC,MAAMyB,aAAa,GAAG/K,MAAM,CAAE;QAAE4J,IAAI,EAAEN;MAAQ,CAAE,CAAC;MACjD1I,gBAAgB,CAAEmK,aAAa,EAAEf,aAAc,CAAC;MAChDtI,QAAQ,CAAE3B,MAAM,CAAEyB,KAAK,EAAEuJ,aAAc,CAAE,CAAC;IAC3C,CAAC,MAAM,IAAKzB,OAAO,CAACtC,MAAM,GAAG,CAAC,EAAG;MAChC;MACA;MACA,MAAMgE,aAAa,GAClBR,WAAW,IACXlB,OAAO,CAACtC,MAAM,KAAK,CAAC,IACpBsC,OAAO,CAAE,CAAC,CAAE,CAAC2B,IAAI,KAAK,YAAY;MACnC,IAAK/I,SAAS,IAAIpC,OAAO,CAAE0B,KAAM,CAAC,EAAG;QACpC,IAAKwJ,aAAa,EAAG;UACpBtJ,QAAQ,CACP3B,MAAM,CAAEyB,KAAK,EAAExB,MAAM,CAAE;YAAEoJ,IAAI,EAAES;UAAU,CAAE,CAAE,CAC9C,CAAC;UACD,IAAK5G,yBAAyB,EAAG;YAChCyH,yBAAyB,CAAC,CAAC;UAC5B;UACA;QACD;QACAxI,SAAS,CAAEoH,OAAO,EAAEA,OAAO,CAACtC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAE,CAAC;MAC7C,CAAC,MAAM;QACN,IAAKgE,aAAa,EAAG;UACpBtJ,QAAQ,CACP3B,MAAM,CAAEyB,KAAK,EAAExB,MAAM,CAAE;YAAEoJ,IAAI,EAAES;UAAU,CAAE,CAAE,CAC9C,CAAC;UACD;QACD;QACA9B,UAAU,CAAEvG,KAAK,EAAE8H,OAAQ,CAAC;MAC7B;IACD;EACD,CAAC,EACD,CACCjI,OAAO,EACPa,SAAS,EACTM,OAAO,EACPuF,UAAU,EACV9E,yBAAyB,EACzB4D,YAAY,EACZ/D,kBAAkB,EAClBE,cAAc,CAEhB,CAAC;EAED,MAAMkI,SAAS,GAAGnM,WAAW,CAC5B,CAAEyC,KAAK,EAAE2J,aAAa,KAAM;IAC3B,IAAK,CAAEjJ,SAAS,EAAG;MAClB;IACD;IAEA,MAAM;MAAEZ,KAAK,EAAE8J,aAAa;MAAEhC;IAAK,CAAC,GAAG5H,KAAK;IAC5C,MAAM6J,eAAe,GAAGjC,IAAI,CAACjJ,KAAK,CACjCiL,aAAa,GAAG,CAAC,EACjBA,aACD,CAAC;;IAED;IACA,IAAKC,eAAe,KAAK,GAAG,EAAG;MAC9B;IACD;IAEA,MAAMC,iBAAiB,GAAGlC,IAAI,CAACjJ,KAAK,CAAE,CAAC,EAAEiL,aAAc,CAAC,CAACX,IAAI,CAAC,CAAC;IAC/D,MAAMc,gBAAgB,GAAGjM,kBAAkB,CAAE,MAAO,CAAC,CAACwJ,MAAM,CAC3D,CAAE;MAAEC;IAAK,CAAC,KAAMA,IAAI,KAAK,QAC1B,CAAC;IACD,MAAMC,cAAc,GAAGzJ,aAAa,CACnCgM,gBAAgB,EAChB,CAAE;MAAEC;IAAO,CAAC,KAAM;MACjB,OAAOF,iBAAiB,KAAKE,MAAM;IACpC,CACD,CAAC;IAED,IAAK,CAAExC,cAAc,EAAG;MACvB;IACD;IAEA,MAAMM,OAAO,GAAG6B,aAAa,CAC5BhL,KAAK,CAAEqB,KAAK,EAAE4J,aAAa,EAAEhC,IAAI,CAACpC,MAAO,CAC1C,CAAC;IACD,MAAMZ,KAAK,GAAG4C,cAAc,CAACK,SAAS,CAAEC,OAAQ,CAAC;IAEjDpH,SAAS,CAAE,CAAEkE,KAAK,CAAG,CAAC;IACtBQ,6BAA6B,CAAC,CAAC;EAChC,CAAC,EACD,CAAE1E,SAAS,EAAE0E,6BAA6B,CAC3C,CAAC;EAED,MAAM6E,SAAS,GAAG/L,YAAY,CAAE,CAAEmF,YAAY,EAAEE,WAAW,CAAG,CAAC;EAE/D,OACC2G,aAAA,CAAC9L,QAAQ;IACRoF,QAAQ,EAAGA,QAAU;IACrBnC,UAAU,EAAGA,UAAY;IACzB8I,GAAG,EAAGF,SAAW;IACjBjK,KAAK,EAAGyF,aAAe;IACvBvF,QAAQ,EAAGwF,gBAAkB;IAC7BtB,cAAc,EAAGA,cAAgB;IACjCC,YAAY,EAAGA,YAAc;IAC7B6B,iBAAiB,EAAGA,iBAAmB;IACvCrG,OAAO,EAAGA,OAAS;IACnBC,KAAK,EAAGA,KAAO;IACfC,QAAQ,EAAGA,QAAU;IACrBY,WAAW,EAAGA,WAAa;IAC3BC,cAAc,EAAG0E,sBAAwB;IACzCzE,4BAA4B,EAAGA,4BAA8B;IAC7DqC,OAAO,EAAGA,OAAS;IACnBmD,QAAQ,EAAGA,QAAU;IACrB8B,OAAO,EAAGA,OAAS;IACnBiC,oBAAoB,EAAGhK,UAAY;IACnCiK,mBAAmB,EAAGX,SAAW;IACjCY,sBAAsB,EAAGjF,YAAc;IACvCkF,8BAA8B,EAAGtF,kBAAoB;IACrDuF,6BAA6B,EAAGtF,iBAAmB;IACnDuF,2BAA2B,EAAGzF,oCAAsC;IACpEI,6BAA6B,EAAGA,6BAA+B;IAC/DsF,4BAA4B,EAAG1G,kBAAoB;IACnD2G,cAAc,EAAGpG,IAAM;IACvB7C,wBAAwB,EAAGC,cAAgB;IAC3CL,kBAAkB,EAAGA,kBAAoB;IACzCyD,QAAQ,EAAGA,QAAU;IACrBlD,eAAe,EAAGA,eAAiB;IACnCC,oCAAoC,EACnCA,oCACA;IACDC,0BAA0B,EAAGA;IAC7B;IAAA;IACA0B,eAAe,EACdpD,kBAAkB,KAAKmE,SAAS,GAC7BnE,kBAAkB,GAClBoD,eACH;IACDoB,mBAAmB,EAAGA,mBAAqB;IAC3C7C,8BAA8B,EAAGA,8BAAgC;IACjEC,WAAW,EAAGA,WAAa;IAC3BC,oBAAoB,EAAGA,oBAAsB;IAC7CC,SAAS,EAAGA,SAAW;IACvBC,cAAc,EAAGA,cAAgB;IACjCC,eAAe,EAAGA,eAAiB;IACnCC,kBAAkB,EAAGA,kBAAoB;IACzCC,QAAQ,EAAGA,QAAU;IACrBC,UAAU,EAAGA,UAAY;IACzBC,UAAU,EAAGA,UAAY;IACzBC,SAAS,EAAGA,SAAW;IACvBC,QAAQ,EAAGA,QAAU;IACrBC,QAAQ,EAAGA,QAAU;IACrBC,MAAM,EAAGA,MAAQ;IACjBC,MAAM,EAAGA,MAAQ;IACjBC,kBAAkB,EAAGA,kBAAoB;IACzCC,qBAAqB,EAAGA,qBAAuB;IAC/CC,cAAc,EAAGA;IACjB;IACA;IACA;IAAA;IACA2H,EAAE,EAAGxH,KAAK,CAACwH,EAAI;IACfC,KAAK,EAAGzH,KAAK,CAACyH;EAAO,GAEnB,CAAE;IACHzK,UAAU,EAAE0K,gBAAgB;IAC5B9K,KAAK;IACLE,QAAQ;IACR6K,OAAO;IACPC,aAAa;IACbC,eAAe,EAAEC;EAClB,CAAC,KACAhB,aAAA,CAAAiB,QAAA,QACGvN,QAAQ,IAAIA,QAAQ,CAAE;IAAEoC,KAAK;IAAEE,QAAQ;IAAE6K;EAAQ,CAAE,CAAC,EACpDD,gBAAgB,IAAIvF,UAAU,IAC/B2E,aAAA,CAACjL,sBAAsB;IACtBmM,MAAM,EAAG7K,aAAe;IACxB8K,SAAS,EAAG9H,WAAW,CAAC4F;EAAS,CACjC,CACD,EACC2B,gBAAgB,IAAIZ,aAAA,CAACnL,sBAAsB,MAAE,CAAC,EAChDmL,aAAA,CAACrL,YAAY;IACZ6B,SAAS,EAAGA,SAAW;IACvB4K,UAAU,EAAG7K,cAAgB;IAC7B+F,MAAM,EAAGxG,KAAO;IAChBE,QAAQ,EAAGA,QAAU;IACrBE,UAAU,EAAG0K,gBAAkB;IAC/BS,UAAU,EAAGhI;EAAa,GAExB,CAAE;IAAEiI,SAAS;IAAEC,QAAQ;IAAEC;EAAU,CAAC,KACrCxB,aAAA,CAACgB,OAAO;IAAA,GACFF,aAAa;IAAA,GACb5H,KAAK;IACVyH,KAAK,EACJzH,KAAK,CAACyH,KAAK,GACR;MACA,GAAGzH,KAAK,CAACyH,KAAK;MACd,GAAGG,aAAa,CAACH;IACjB,CAAC,GACDG,aAAa,CAACH,KACjB;IACDc,SAAS,EAAGvO,UAAU,CACrBuC,OAAO,EACPyD,KAAK,CAACuI,SAAS,EACfX,aAAa,CAACW,SACf,CAAG;IACH,qBACCH,SAAS,GAAG,MAAM,GAAGhH,SACrB;IACD,aAAYgH,SAAW;IACvB,yBAAwBC,QAAU;IAClCC,SAAS,EAAKE,KAAK,IAAM;MACxBF,SAAS,CAAEE,KAAM,CAAC;MAClBZ,aAAa,CAACU,SAAS,CAAEE,KAAM,CAAC;IACjC;EAAG,CACH,CAEW,CAAC,EACf1B,aAAA,CAACzK,kBAAkB;IAAC0K,GAAG,EAAGzG;EAAuB,CAAE,CAClD,CAEM,CAAC;AAEb;AAEA,MAAMmI,0BAA0B,GAAGrO,UAAU,CAAEoC,eAAgB,CAAC;AAEhEiM,0BAA0B,CAACnM,OAAO,GAAGA,OAAO;AAE5CmM,0BAA0B,CAACvN,OAAO,GAAK0B,KAAK,IAAM;EACjD,OAAO,CAAEA,KAAK,IAAIA,KAAK,CAACwF,MAAM,KAAK,CAAC;AACrC,CAAC;AAEDqG,0BAA0B,CAACnM,OAAO,CAACoM,YAAY,GAAG;EACjDC,MAAM,EAAE,QAAQ;EAChB/L,KAAK,EAAE;AACR,CAAC;;AAED;AACA;AACA;AACA,eAAe6L,0BAA0B;AACzC,SAASG,gBAAgB,QAAQ,YAAY;AAC7C,SAASC,qBAAqB,QAAQ,kBAAkB;AACxD,SAASC,4BAA4B,QAAQ,eAAe"}
1
+ {"version":3,"names":["classnames","Platform","useRef","useCallback","forwardRef","useDispatch","useSelect","pasteHandler","children","childrenSource","getBlockTransforms","findTransform","isUnmodifiedDefaultBlock","useInstanceId","useMergeRefs","__experimentalRichText","RichText","__unstableCreateElement","isEmpty","insert","create","split","toHTMLString","slice","isURL","Autocomplete","useBlockEditContext","RemoveBrowserShortcuts","filePasteHandler","FormatToolbarContainer","store","blockEditorStore","addActiveFormats","getMultilineTag","getAllowedFormats","createLinkInParagraph","EmbedHandlerPicker","Content","classes","RichTextWrapper","tagName","start","reversed","value","originalValue","onChange","originalOnChange","isSelected","originalIsSelected","multiline","inlineToolbar","wrapperClassName","autocompleters","onReplace","placeholder","allowedFormats","withoutInteractiveFormatting","onRemove","onMerge","onSplit","__unstableOnSplitAtEnd","onSplitAtEnd","__unstableOnSplitMiddle","onSplitMiddle","identifier","preserveWhiteSpace","__unstablePastePlainText","pastePlainText","__unstableEmbedURLOnPaste","__unstableDisableFormats","disableFormats","disableLineBreaks","unstableOnFocus","__unstableAllowPrefixTransformations","__unstableMultilineRootTag","__unstableMobileNoFocusOnMount","deleteEnter","placeholderTextColor","textAlign","selectionColor","tagsToEliminate","disableEditingMenu","fontSize","fontFamily","fontWeight","fontStyle","minWidth","maxWidth","onBlur","setRef","disableSuggestions","disableAutocorrection","containerWidth","onEnter","onCustomEnter","props","forwardedRef","instanceId","fallbackRef","clientId","blockIsSelected","embedHandlerPickerRef","selector","select","getSelectionStart","getSelectionEnd","getSettings","didAutomaticChange","getBlock","isMultiSelecting","hasMultiSelection","selectionStart","selectionEnd","__experimentalUndo","undo","undefined","attributeKey","extraProps","OS","block","shouldBlurOnUnmount","offset","disabled","__unstableMarkLastChangeAsPersistent","enterFormattedText","exitFormattedText","selectionChange","__unstableMarkAutomaticChange","multilineTag","adjustedAllowedFormats","hasFormats","length","adjustedValue","adjustedOnChange","Array","isArray","toHTML","newValue","fromDOM","document","childNodes","onSelectionChange","selectionChangeStart","selectionChangeEnd","onDelete","isReverse","splitValue","record","pastedBlocks","blocks","before","after","hasPastedBlocks","lastPastedBlockIndex","isAfterOriginal","push","indexToSelect","initialPosition","shiftKey","canSplit","transforms","filter","type","transformation","item","regExp","test","text","transform","content","splitStart","end","splitEnd","canSplitAtEnd","onPaste","html","plainText","isInternal","files","activeFormats","pastedValue","multilineWrapperTags","HTML","mode","window","console","log","isPastedURL","trim","presentEmbedHandlerPicker","current","presentPicker","createEmbed","createLink","valueToInsert","canPasteEmbed","name","inputRule","valueToFormat","startPosition","characterBefore","trimmedTextBefore","prefixTransforms","prefix","mergedRef","createElement","ref","__unstableIsSelected","__unstableInputRule","__unstableMultilineTag","__unstableOnEnterFormattedText","__unstableOnExitFormattedText","__unstableOnCreateUndoLevel","__unstableDidAutomaticChange","__unstableUndo","id","style","nestedIsSelected","onFocus","editableProps","editableTagName","TagName","Fragment","inline","anchorRef","completers","contentRef","listBoxId","activeId","onKeyDown","className","event","ForwardedRichTextContainer","defaultProps","format","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent"],"sources":["@wordpress/block-editor/src/components/rich-text/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useRef, useCallback, forwardRef } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tpasteHandler,\n\tchildren as childrenSource,\n\tgetBlockTransforms,\n\tfindTransform,\n\tisUnmodifiedDefaultBlock,\n} from '@wordpress/blocks';\nimport { useInstanceId, useMergeRefs } from '@wordpress/compose';\nimport {\n\t__experimentalRichText as RichText,\n\t__unstableCreateElement,\n\tisEmpty,\n\tinsert,\n\tcreate,\n\tsplit,\n\ttoHTMLString,\n\tslice,\n} from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport Autocomplete from '../autocomplete';\nimport { useBlockEditContext } from '../block-edit';\nimport { RemoveBrowserShortcuts } from './remove-browser-shortcuts';\nimport { filePasteHandler } from './file-paste-handler';\nimport FormatToolbarContainer from './format-toolbar-container';\nimport { store as blockEditorStore } from '../../store';\nimport {\n\taddActiveFormats,\n\tgetMultilineTag,\n\tgetAllowedFormats,\n\tcreateLinkInParagraph,\n} from './utils';\nimport EmbedHandlerPicker from './embed-handler-picker';\nimport { Content } from './content';\n\nconst classes = 'block-editor-rich-text__editable';\n\nfunction RichTextWrapper(\n\t{\n\t\tchildren,\n\t\ttagName,\n\t\tstart,\n\t\treversed,\n\t\tvalue: originalValue,\n\t\tonChange: originalOnChange,\n\t\tisSelected: originalIsSelected,\n\t\tmultiline,\n\t\tinlineToolbar,\n\t\twrapperClassName,\n\t\tautocompleters,\n\t\tonReplace,\n\t\tplaceholder,\n\t\tallowedFormats,\n\t\twithoutInteractiveFormatting,\n\t\tonRemove,\n\t\tonMerge,\n\t\tonSplit,\n\t\t__unstableOnSplitAtEnd: onSplitAtEnd,\n\t\t__unstableOnSplitMiddle: onSplitMiddle,\n\t\tidentifier,\n\t\tpreserveWhiteSpace,\n\t\t__unstablePastePlainText: pastePlainText,\n\t\t__unstableEmbedURLOnPaste,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tdisableLineBreaks,\n\t\tunstableOnFocus,\n\t\t__unstableAllowPrefixTransformations,\n\t\t__unstableMultilineRootTag,\n\t\t// Native props.\n\t\t__unstableMobileNoFocusOnMount,\n\t\tdeleteEnter,\n\t\tplaceholderTextColor,\n\t\ttextAlign,\n\t\tselectionColor,\n\t\ttagsToEliminate,\n\t\tdisableEditingMenu,\n\t\tfontSize,\n\t\tfontFamily,\n\t\tfontWeight,\n\t\tfontStyle,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tonBlur,\n\t\tsetRef,\n\t\tdisableSuggestions,\n\t\tdisableAutocorrection,\n\t\tcontainerWidth,\n\t\tonEnter: onCustomEnter,\n\t\t...props\n\t},\n\tforwardedRef\n) {\n\tconst instanceId = useInstanceId( RichTextWrapper );\n\n\tidentifier = identifier || instanceId;\n\n\tconst fallbackRef = useRef();\n\tconst { clientId, isSelected: blockIsSelected } = useBlockEditContext();\n\tconst embedHandlerPickerRef = useRef();\n\tconst selector = ( select ) => {\n\t\tconst {\n\t\t\tgetSelectionStart,\n\t\t\tgetSelectionEnd,\n\t\t\tgetSettings,\n\t\t\tdidAutomaticChange,\n\t\t\tgetBlock,\n\t\t\tisMultiSelecting,\n\t\t\thasMultiSelection,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectionStart = getSelectionStart();\n\t\tconst selectionEnd = getSelectionEnd();\n\t\tconst { __experimentalUndo: undo } = getSettings();\n\n\t\tlet isSelected;\n\n\t\tif ( originalIsSelected === undefined ) {\n\t\t\tisSelected =\n\t\t\t\tselectionStart.clientId === clientId &&\n\t\t\t\tselectionStart.attributeKey === identifier;\n\t\t} else if ( originalIsSelected ) {\n\t\t\tisSelected = selectionStart.clientId === clientId;\n\t\t}\n\n\t\tlet extraProps = {};\n\t\tif ( Platform.OS === 'native' ) {\n\t\t\t// If the block of this RichText is unmodified then it's a candidate for replacing when adding a new block.\n\t\t\t// In order to fix https://github.com/wordpress-mobile/gutenberg-mobile/issues/1126, let's blur on unmount in that case.\n\t\t\t// This apparently assumes functionality the BlockHlder actually.\n\t\t\tconst block = clientId && getBlock( clientId );\n\t\t\tconst shouldBlurOnUnmount =\n\t\t\t\tblock && isSelected && isUnmodifiedDefaultBlock( block );\n\t\t\textraProps = {\n\t\t\t\tshouldBlurOnUnmount,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tselectionStart: isSelected ? selectionStart.offset : undefined,\n\t\t\tselectionEnd: isSelected ? selectionEnd.offset : undefined,\n\t\t\tisSelected,\n\t\t\tdidAutomaticChange: didAutomaticChange(),\n\t\t\tdisabled: isMultiSelecting() || hasMultiSelection(),\n\t\t\tundo,\n\t\t\t...extraProps,\n\t\t};\n\t};\n\t// This selector must run on every render so the right selection state is\n\t// retrieved from the store on merge.\n\t// To do: fix this somehow.\n\tconst {\n\t\tselectionStart,\n\t\tselectionEnd,\n\t\tisSelected,\n\t\tdidAutomaticChange,\n\t\tdisabled,\n\t\tundo,\n\t\tshouldBlurOnUnmount,\n\t} = useSelect( selector );\n\tconst {\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tenterFormattedText,\n\t\texitFormattedText,\n\t\tselectionChange,\n\t\t__unstableMarkAutomaticChange,\n\t} = useDispatch( blockEditorStore );\n\tconst multilineTag = getMultilineTag( multiline );\n\tconst adjustedAllowedFormats = getAllowedFormats( {\n\t\tallowedFormats,\n\t\tdisableFormats,\n\t} );\n\tconst hasFormats =\n\t\t! adjustedAllowedFormats || adjustedAllowedFormats.length > 0;\n\tlet adjustedValue = originalValue;\n\tlet adjustedOnChange = originalOnChange;\n\n\t// Handle deprecated format.\n\tif ( Array.isArray( originalValue ) ) {\n\t\tadjustedValue = childrenSource.toHTML( originalValue );\n\t\tadjustedOnChange = ( newValue ) =>\n\t\t\toriginalOnChange(\n\t\t\t\tchildrenSource.fromDOM(\n\t\t\t\t\t__unstableCreateElement( document, newValue ).childNodes\n\t\t\t\t)\n\t\t\t);\n\t}\n\n\tconst onSelectionChange = useCallback(\n\t\t( selectionChangeStart, selectionChangeEnd ) => {\n\t\t\tselectionChange(\n\t\t\t\tclientId,\n\t\t\t\tidentifier,\n\t\t\t\tselectionChangeStart,\n\t\t\t\tselectionChangeEnd\n\t\t\t);\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[ clientId, identifier ]\n\t);\n\n\tconst onDelete = useCallback(\n\t\t( { value, isReverse } ) => {\n\t\t\tif ( onMerge ) {\n\t\t\t\tonMerge( ! isReverse );\n\t\t\t}\n\n\t\t\t// Only handle remove on Backspace. This serves dual-purpose of being\n\t\t\t// an intentional user interaction distinguishing between Backspace and\n\t\t\t// Delete to remove the empty field, but also to avoid merge & remove\n\t\t\t// causing destruction of two fields (merge, then removed merged).\n\t\t\tif ( onRemove && isEmpty( value ) && isReverse ) {\n\t\t\t\tonRemove( ! isReverse );\n\t\t\t}\n\t\t},\n\t\t[ onMerge, onRemove ]\n\t);\n\n\t/**\n\t * Signals to the RichText owner that the block can be replaced with two\n\t * blocks as a result of splitting the block by pressing enter, or with\n\t * blocks as a result of splitting the block by pasting block content in the\n\t * instance.\n\t *\n\t * @param {Object} record The rich text value to split.\n\t * @param {Array} pastedBlocks The pasted blocks to insert, if any.\n\t */\n\tconst splitValue = useCallback(\n\t\t( record, pastedBlocks = [] ) => {\n\t\t\tif ( ! onReplace || ! onSplit ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst blocks = [];\n\t\t\tconst [ before, after ] = split( record );\n\t\t\tconst hasPastedBlocks = pastedBlocks.length > 0;\n\t\t\tlet lastPastedBlockIndex = -1;\n\n\t\t\t// Consider the after value to be the original it is not empty and\n\t\t\t// the before value *is* empty.\n\t\t\tconst isAfterOriginal = isEmpty( before ) && ! isEmpty( after );\n\n\t\t\t// Create a block with the content before the caret if there's no pasted\n\t\t\t// blocks, or if there are pasted blocks and the value is not empty.\n\t\t\t// We do not want a leading empty block on paste, but we do if split\n\t\t\t// with e.g. the enter key.\n\t\t\tif ( ! hasPastedBlocks || ! isEmpty( before ) ) {\n\t\t\t\tblocks.push(\n\t\t\t\t\tonSplit(\n\t\t\t\t\t\ttoHTMLString( {\n\t\t\t\t\t\t\tvalue: before,\n\t\t\t\t\t\t\tmultilineTag,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\t! isAfterOriginal\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tlastPastedBlockIndex += 1;\n\t\t\t}\n\n\t\t\tif ( hasPastedBlocks ) {\n\t\t\t\tblocks.push( ...pastedBlocks );\n\t\t\t\tlastPastedBlockIndex += pastedBlocks.length;\n\t\t\t} else if ( onSplitMiddle ) {\n\t\t\t\tblocks.push( onSplitMiddle() );\n\t\t\t}\n\n\t\t\t// If there's pasted blocks, append a block with non empty content\n\t\t\t// after the caret. Otherwise, do append an empty block if there\n\t\t\t// is no `onSplitMiddle` prop, but if there is and the content is\n\t\t\t// empty, the middle block is enough to set focus in.\n\t\t\tif (\n\t\t\t\thasPastedBlocks\n\t\t\t\t\t? ! isEmpty( after )\n\t\t\t\t\t: ! onSplitMiddle || ! isEmpty( after )\n\t\t\t) {\n\t\t\t\tblocks.push(\n\t\t\t\t\tonSplit(\n\t\t\t\t\t\ttoHTMLString( {\n\t\t\t\t\t\t\tvalue: after,\n\t\t\t\t\t\t\tmultilineTag,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\tisAfterOriginal\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// If there are pasted blocks, set the selection to the last one.\n\t\t\t// Otherwise, set the selection to the second block.\n\t\t\tconst indexToSelect = hasPastedBlocks ? lastPastedBlockIndex : 1;\n\n\t\t\t// If there are pasted blocks, move the caret to the end of the selected block\n\t\t\t// Otherwise, retain the default value.\n\t\t\tconst initialPosition = hasPastedBlocks ? -1 : 0;\n\n\t\t\tonReplace( blocks, indexToSelect, initialPosition );\n\t\t},\n\t\t[ onReplace, onSplit, multilineTag, onSplitMiddle ]\n\t);\n\n\tconst onEnter = useCallback(\n\t\t( { value, onChange, shiftKey } ) => {\n\t\t\tconst canSplit = onReplace && onSplit;\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst transforms = getBlockTransforms( 'from' ).filter(\n\t\t\t\t\t( { type } ) => type === 'enter'\n\t\t\t\t);\n\t\t\t\tconst transformation = findTransform( transforms, ( item ) => {\n\t\t\t\t\treturn item.regExp.test( value.text );\n\t\t\t\t} );\n\n\t\t\t\tif ( transformation ) {\n\t\t\t\t\tonReplace( [\n\t\t\t\t\t\ttransformation.transform( { content: value.text } ),\n\t\t\t\t\t] );\n\t\t\t\t\t__unstableMarkAutomaticChange();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( onCustomEnter ) {\n\t\t\t\tonCustomEnter();\n\t\t\t}\n\n\t\t\tconst { text, start: splitStart, end: splitEnd } = value;\n\t\t\tconst canSplitAtEnd =\n\t\t\t\tonSplitAtEnd &&\n\t\t\t\tsplitStart === splitEnd &&\n\t\t\t\tsplitEnd === text.length;\n\n\t\t\tif ( shiftKey || ( ! canSplit && ! canSplitAtEnd ) ) {\n\t\t\t\tif ( ! disableLineBreaks ) {\n\t\t\t\t\tonChange( insert( value, '\\n' ) );\n\t\t\t\t}\n\t\t\t} else if ( ! canSplit && canSplitAtEnd ) {\n\t\t\t\tonSplitAtEnd();\n\t\t\t} else if ( canSplit ) {\n\t\t\t\tsplitValue( value );\n\t\t\t}\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tonReplace,\n\t\t\tonSplit,\n\t\t\t__unstableMarkAutomaticChange,\n\t\t\tmultiline,\n\t\t\tsplitValue,\n\t\t\tonSplitAtEnd,\n\t\t]\n\t);\n\n\tconst onPaste = useCallback(\n\t\t( {\n\t\t\tvalue,\n\t\t\tonChange,\n\t\t\thtml,\n\t\t\tplainText,\n\t\t\tisInternal,\n\t\t\tfiles,\n\t\t\tactiveFormats,\n\t\t} ) => {\n\t\t\t// If the data comes from a rich text instance, we can directly use it\n\t\t\t// without filtering the data. The filters are only meant for externally\n\t\t\t// pasted content and remove inline styles.\n\t\t\tif ( isInternal ) {\n\t\t\t\tconst pastedValue = create( {\n\t\t\t\t\thtml,\n\t\t\t\t\tmultilineTag,\n\t\t\t\t\tmultilineWrapperTags:\n\t\t\t\t\t\tmultilineTag === 'li' ? [ 'ul', 'ol' ] : undefined,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\t\t\t\taddActiveFormats( pastedValue, activeFormats );\n\t\t\t\tonChange( insert( value, pastedValue ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( pastePlainText ) {\n\t\t\t\tonChange( insert( value, create( { text: plainText } ) ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only process file if no HTML is present.\n\t\t\t// Note: a pasted file may have the URL as plain text.\n\t\t\tif ( files && files.length && ! html ) {\n\t\t\t\tconst content = pasteHandler( {\n\t\t\t\t\tHTML: filePasteHandler( files ),\n\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\ttagName,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\n\t\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\twindow.console.log( 'Received items:\\n\\n', files );\n\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( content );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( value, content );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet mode = onReplace && onSplit ? 'AUTO' : 'INLINE';\n\n\t\t\tconst isPastedURL = isURL( plainText.trim() );\n\t\t\tconst presentEmbedHandlerPicker = () =>\n\t\t\t\tembedHandlerPickerRef.current?.presentPicker( {\n\t\t\t\t\tcreateEmbed: () =>\n\t\t\t\t\t\tonReplace( content, content.length - 1, -1 ),\n\t\t\t\t\tcreateLink: () =>\n\t\t\t\t\t\tcreateLinkInParagraph( plainText.trim(), onReplace ),\n\t\t\t\t} );\n\n\t\t\tif (\n\t\t\t\t__unstableEmbedURLOnPaste &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisPastedURL\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tconst content = pasteHandler( {\n\t\t\t\tHTML: html,\n\t\t\t\tplainText,\n\t\t\t\tmode,\n\t\t\t\ttagName,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t} );\n\n\t\t\tif ( typeof content === 'string' ) {\n\t\t\t\tconst valueToInsert = create( { html: content } );\n\t\t\t\taddActiveFormats( valueToInsert, activeFormats );\n\t\t\t\tonChange( insert( value, valueToInsert ) );\n\t\t\t} else if ( content.length > 0 ) {\n\t\t\t\t// When an URL is pasted in an empty paragraph then the EmbedHandlerPicker should showcase options allowing the transformation of that URL\n\t\t\t\t// into either an Embed block or a link within the target paragraph. If the paragraph is non-empty, the URL is pasted as text.\n\t\t\t\tconst canPasteEmbed =\n\t\t\t\t\tisPastedURL &&\n\t\t\t\t\tcontent.length === 1 &&\n\t\t\t\t\tcontent[ 0 ].name === 'core/embed';\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tif ( canPasteEmbed ) {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tinsert( value, create( { text: plainText } ) )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( __unstableEmbedURLOnPaste ) {\n\t\t\t\t\t\t\tpresentEmbedHandlerPicker();\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\tonReplace( content, content.length - 1, -1 );\n\t\t\t\t} else {\n\t\t\t\t\tif ( canPasteEmbed ) {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tinsert( value, create( { text: plainText } ) )\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\tsplitValue( value, content );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\ttagName,\n\t\t\tonReplace,\n\t\t\tonSplit,\n\t\t\tsplitValue,\n\t\t\t__unstableEmbedURLOnPaste,\n\t\t\tmultilineTag,\n\t\t\tpreserveWhiteSpace,\n\t\t\tpastePlainText,\n\t\t]\n\t);\n\n\tconst inputRule = useCallback(\n\t\t( value, valueToFormat ) => {\n\t\t\tif ( ! onReplace ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { start: startPosition, text } = value;\n\t\t\tconst characterBefore = text.slice(\n\t\t\t\tstartPosition - 1,\n\t\t\t\tstartPosition\n\t\t\t);\n\n\t\t\t// The character right before the caret must be a plain space.\n\t\t\tif ( characterBefore !== ' ' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst trimmedTextBefore = text.slice( 0, startPosition ).trim();\n\t\t\tconst prefixTransforms = getBlockTransforms( 'from' ).filter(\n\t\t\t\t( { type } ) => type === 'prefix'\n\t\t\t);\n\t\t\tconst transformation = findTransform(\n\t\t\t\tprefixTransforms,\n\t\t\t\t( { prefix } ) => {\n\t\t\t\t\treturn trimmedTextBefore === prefix;\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( ! transformation ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst content = valueToFormat(\n\t\t\t\tslice( value, startPosition, text.length )\n\t\t\t);\n\t\t\tconst block = transformation.transform( content );\n\n\t\t\tonReplace( [ block ] );\n\t\t\t__unstableMarkAutomaticChange();\n\t\t},\n\t\t[ onReplace, __unstableMarkAutomaticChange ]\n\t);\n\n\tconst mergedRef = useMergeRefs( [ forwardedRef, fallbackRef ] );\n\n\treturn (\n\t\t<RichText\n\t\t\tclientId={ clientId }\n\t\t\tidentifier={ identifier }\n\t\t\tref={ mergedRef }\n\t\t\tvalue={ adjustedValue }\n\t\t\tonChange={ adjustedOnChange }\n\t\t\tselectionStart={ selectionStart }\n\t\t\tselectionEnd={ selectionEnd }\n\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\ttagName={ tagName }\n\t\t\tstart={ start }\n\t\t\treversed={ reversed }\n\t\t\tplaceholder={ placeholder }\n\t\t\tallowedFormats={ adjustedAllowedFormats }\n\t\t\twithoutInteractiveFormatting={ withoutInteractiveFormatting }\n\t\t\tonEnter={ onEnter }\n\t\t\tonDelete={ onDelete }\n\t\t\tonPaste={ onPaste }\n\t\t\t__unstableIsSelected={ isSelected }\n\t\t\t__unstableInputRule={ inputRule }\n\t\t\t__unstableMultilineTag={ multilineTag }\n\t\t\t__unstableOnEnterFormattedText={ enterFormattedText }\n\t\t\t__unstableOnExitFormattedText={ exitFormattedText }\n\t\t\t__unstableOnCreateUndoLevel={ __unstableMarkLastChangeAsPersistent }\n\t\t\t__unstableMarkAutomaticChange={ __unstableMarkAutomaticChange }\n\t\t\t__unstableDidAutomaticChange={ didAutomaticChange }\n\t\t\t__unstableUndo={ undo }\n\t\t\t__unstableDisableFormats={ disableFormats }\n\t\t\tpreserveWhiteSpace={ preserveWhiteSpace }\n\t\t\tdisabled={ disabled }\n\t\t\tunstableOnFocus={ unstableOnFocus }\n\t\t\t__unstableAllowPrefixTransformations={\n\t\t\t\t__unstableAllowPrefixTransformations\n\t\t\t}\n\t\t\t__unstableMultilineRootTag={ __unstableMultilineRootTag }\n\t\t\t// Native props.\n\t\t\tblockIsSelected={\n\t\t\t\toriginalIsSelected !== undefined\n\t\t\t\t\t? originalIsSelected\n\t\t\t\t\t: blockIsSelected\n\t\t\t}\n\t\t\tshouldBlurOnUnmount={ shouldBlurOnUnmount }\n\t\t\t__unstableMobileNoFocusOnMount={ __unstableMobileNoFocusOnMount }\n\t\t\tdeleteEnter={ deleteEnter }\n\t\t\tplaceholderTextColor={ placeholderTextColor }\n\t\t\ttextAlign={ textAlign }\n\t\t\tselectionColor={ selectionColor }\n\t\t\ttagsToEliminate={ tagsToEliminate }\n\t\t\tdisableEditingMenu={ disableEditingMenu }\n\t\t\tfontSize={ fontSize }\n\t\t\tfontFamily={ fontFamily }\n\t\t\tfontWeight={ fontWeight }\n\t\t\tfontStyle={ fontStyle }\n\t\t\tminWidth={ minWidth }\n\t\t\tmaxWidth={ maxWidth }\n\t\t\tonBlur={ onBlur }\n\t\t\tsetRef={ setRef }\n\t\t\tdisableSuggestions={ disableSuggestions }\n\t\t\tdisableAutocorrection={ disableAutocorrection }\n\t\t\tcontainerWidth={ containerWidth }\n\t\t\t// Props to be set on the editable container are destructured on the\n\t\t\t// element itself for web (see below), but passed through rich text\n\t\t\t// for native.\n\t\t\tid={ props.id }\n\t\t\tstyle={ props.style }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tisSelected: nestedIsSelected,\n\t\t\t\tvalue,\n\t\t\t\tonChange,\n\t\t\t\tonFocus,\n\t\t\t\teditableProps,\n\t\t\t\teditableTagName: TagName,\n\t\t\t} ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ children && children( { value, onChange, onFocus } ) }\n\t\t\t\t\t{ nestedIsSelected && hasFormats && (\n\t\t\t\t\t\t<FormatToolbarContainer\n\t\t\t\t\t\t\tinline={ inlineToolbar }\n\t\t\t\t\t\t\tanchorRef={ fallbackRef.current }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ nestedIsSelected && <RemoveBrowserShortcuts /> }\n\t\t\t\t\t<Autocomplete\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\tcompleters={ autocompleters }\n\t\t\t\t\t\trecord={ value }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tisSelected={ nestedIsSelected }\n\t\t\t\t\t\tcontentRef={ fallbackRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { listBoxId, activeId, onKeyDown } ) => (\n\t\t\t\t\t\t\t<TagName\n\t\t\t\t\t\t\t\t{ ...editableProps }\n\t\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\tprops.style\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t...props.style,\n\t\t\t\t\t\t\t\t\t\t\t\t...editableProps.style,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: editableProps.style\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t\tprops.className,\n\t\t\t\t\t\t\t\t\teditableProps.className\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\taria-autocomplete={\n\t\t\t\t\t\t\t\t\tlistBoxId ? 'list' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-owns={ listBoxId }\n\t\t\t\t\t\t\t\taria-activedescendant={ activeId }\n\t\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\tonKeyDown( event );\n\t\t\t\t\t\t\t\t\teditableProps.onKeyDown( event );\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</Autocomplete>\n\t\t\t\t\t<EmbedHandlerPicker ref={ embedHandlerPickerRef } />\n\t\t\t\t</>\n\t\t\t) }\n\t\t</RichText>\n\t);\n}\n\nconst ForwardedRichTextContainer = forwardRef( RichTextWrapper );\n\nForwardedRichTextContainer.Content = Content;\n\nForwardedRichTextContainer.isEmpty = ( value ) => {\n\treturn ! value || value.length === 0;\n};\n\nForwardedRichTextContainer.Content.defaultProps = {\n\tformat: 'string',\n\tvalue: '',\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md\n */\nexport default ForwardedRichTextContainer;\nexport { RichTextShortcut } from './shortcut';\nexport { RichTextToolbarButton } from './toolbar-button';\nexport { __unstableRichTextInputEvent } from './input-event';\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -3,7 +3,6 @@
3
3
  */
4
4
  import { useRef } from '@wordpress/element';
5
5
  import { useRefEffect } from '@wordpress/compose';
6
- import { getFilesFromDataTransfer } from '@wordpress/dom';
7
6
  import { pasteHandler, findTransform, getBlockTransforms } from '@wordpress/blocks';
8
7
  import { isEmpty, insert, create } from '@wordpress/rich-text';
9
8
  import { isURL } from '@wordpress/url';
@@ -11,9 +10,9 @@ import { isURL } from '@wordpress/url';
11
10
  /**
12
11
  * Internal dependencies
13
12
  */
14
- import { addActiveFormats, isShortcode } from './utils';
13
+ import { addActiveFormats } from './utils';
15
14
  import { splitValue } from './split-value';
16
- import { shouldDismissPastedFiles } from '../../utils/pasting';
15
+ import { getPasteEventData } from '../../utils/pasting';
17
16
 
18
17
  /** @typedef {import('@wordpress/rich-text').RichTextValue} RichTextValue */
19
18
 
@@ -39,33 +38,10 @@ export function usePasteHandler(props) {
39
38
  return;
40
39
  }
41
40
  const {
42
- clipboardData
43
- } = event;
44
- let plainText = '';
45
- let html = '';
46
-
47
- // IE11 only supports `Text` as an argument for `getData` and will
48
- // otherwise throw an invalid argument error, so we try the standard
49
- // arguments first, then fallback to `Text` if they fail.
50
- try {
51
- plainText = clipboardData.getData('text/plain');
52
- html = clipboardData.getData('text/html');
53
- } catch (error1) {
54
- try {
55
- html = clipboardData.getData('Text');
56
- } catch (error2) {
57
- // Some browsers like UC Browser paste plain text by default and
58
- // don't support clipboardData at all, so allow default
59
- // behaviour.
60
- return;
61
- }
62
- }
63
-
64
- // Remove Windows-specific metadata appended within copied HTML text.
65
- html = removeWindowsFragments(html);
66
-
67
- // Strip meta tag.
68
- html = removeCharsetMetaTag(html);
41
+ plainText,
42
+ html,
43
+ files
44
+ } = getPasteEventData(event);
69
45
  event.preventDefault();
70
46
 
71
47
  // Allows us to ask for this information when we get a report.
@@ -91,8 +67,7 @@ export function usePasteHandler(props) {
91
67
  onChange(transformed);
92
68
  return;
93
69
  }
94
- const files = [...getFilesFromDataTransfer(clipboardData)];
95
- const isInternal = clipboardData.getData('rich-text') === 'true';
70
+ const isInternal = event.clipboardData.getData('rich-text') === 'true';
96
71
 
97
72
  // If the data comes from a rich text instance, we can directly use it
98
73
  // without filtering the data. The filters are only meant for externally
@@ -116,14 +91,6 @@ export function usePasteHandler(props) {
116
91
  // Allows us to ask for this information when we get a report.
117
92
  // eslint-disable-next-line no-console
118
93
  window.console.log('Received items:\n\n', files);
119
- }
120
-
121
- // Process any attached files, unless we infer that the files in
122
- // question are redundant "screenshots" of the actual HTML payload,
123
- // as created by certain office-type programs.
124
- //
125
- // @see shouldDismissPastedFiles
126
- if (files?.length && !shouldDismissPastedFiles(files, html, plainText)) {
127
94
  const fromTransforms = getBlockTransforms('from');
128
95
  const blocks = files.reduce((accumulator, file) => {
129
96
  const transformation = findTransform(fromTransforms, transform => transform.type === 'files' && transform.isMatch([file]));
@@ -148,14 +115,6 @@ export function usePasteHandler(props) {
148
115
  return;
149
116
  }
150
117
  let mode = onReplace && onSplit ? 'AUTO' : 'INLINE';
151
-
152
- // Force the blocks mode when the user is pasting
153
- // on a new line & the content resembles a shortcode.
154
- // Otherwise it's going to be detected as inline
155
- // and the shortcode won't be replaced.
156
- if (mode === 'AUTO' && isEmpty(value) && isShortcode(plainText)) {
157
- mode = 'BLOCKS';
158
- }
159
118
  if (__unstableEmbedURLOnPaste && isEmpty(value) && isURL(plainText.trim())) {
160
119
  mode = 'BLOCKS';
161
120
  }
@@ -191,45 +150,4 @@ export function usePasteHandler(props) {
191
150
  };
192
151
  }, []);
193
152
  }
194
-
195
- /**
196
- * Normalizes a given string of HTML to remove the Windows-specific "Fragment"
197
- * comments and any preceding and trailing content.
198
- *
199
- * @param {string} html the html to be normalized
200
- * @return {string} the normalized html
201
- */
202
- function removeWindowsFragments(html) {
203
- const startStr = '<!--StartFragment-->';
204
- const startIdx = html.indexOf(startStr);
205
- if (startIdx > -1) {
206
- html = html.substring(startIdx + startStr.length);
207
- } else {
208
- // No point looking for EndFragment
209
- return html;
210
- }
211
- const endStr = '<!--EndFragment-->';
212
- const endIdx = html.indexOf(endStr);
213
- if (endIdx > -1) {
214
- html = html.substring(0, endIdx);
215
- }
216
- return html;
217
- }
218
-
219
- /**
220
- * Removes the charset meta tag inserted by Chromium.
221
- * See:
222
- * - https://github.com/WordPress/gutenberg/issues/33585
223
- * - https://bugs.chromium.org/p/chromium/issues/detail?id=1264616#c4
224
- *
225
- * @param {string} html the html to be stripped of the meta tag.
226
- * @return {string} the cleaned html
227
- */
228
- function removeCharsetMetaTag(html) {
229
- const metaTag = `<meta charset='utf-8'>`;
230
- if (html.startsWith(metaTag)) {
231
- return html.slice(metaTag.length);
232
- }
233
- return html;
234
- }
235
153
  //# sourceMappingURL=use-paste-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useRefEffect","getFilesFromDataTransfer","pasteHandler","findTransform","getBlockTransforms","isEmpty","insert","create","isURL","addActiveFormats","isShortcode","splitValue","shouldDismissPastedFiles","usePasteHandler","props","propsRef","current","element","_onPaste","event","isSelected","disableFormats","onChange","value","formatTypes","tagName","onReplace","onSplit","__unstableEmbedURLOnPaste","preserveWhiteSpace","pastePlainText","clipboardData","plainText","html","getData","error1","error2","removeWindowsFragments","removeCharsetMetaTag","preventDefault","window","console","log","transformed","reduce","accumlator","__unstablePasteRule","files","isInternal","pastedValue","activeFormats","text","length","fromTransforms","blocks","accumulator","file","transformation","transform","type","isMatch","push","flat","pastedBlocks","mode","trim","content","HTML","valueToInsert","addEventListener","removeEventListener","startStr","startIdx","indexOf","substring","endStr","endIdx","metaTag","startsWith","slice"],"sources":["@wordpress/block-editor/src/components/rich-text/use-paste-handler.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport { getFilesFromDataTransfer } from '@wordpress/dom';\nimport {\n\tpasteHandler,\n\tfindTransform,\n\tgetBlockTransforms,\n} from '@wordpress/blocks';\nimport { isEmpty, insert, create } from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { addActiveFormats, isShortcode } from './utils';\nimport { splitValue } from './split-value';\nimport { shouldDismissPastedFiles } from '../../utils/pasting';\n\n/** @typedef {import('@wordpress/rich-text').RichTextValue} RichTextValue */\n\nexport function usePasteHandler( props ) {\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction _onPaste( event ) {\n\t\t\tconst {\n\t\t\t\tisSelected,\n\t\t\t\tdisableFormats,\n\t\t\t\tonChange,\n\t\t\t\tvalue,\n\t\t\t\tformatTypes,\n\t\t\t\ttagName,\n\t\t\t\tonReplace,\n\t\t\t\tonSplit,\n\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t\tpastePlainText,\n\t\t\t} = propsRef.current;\n\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { clipboardData } = event;\n\n\t\t\tlet plainText = '';\n\t\t\tlet html = '';\n\n\t\t\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t\t// arguments first, then fallback to `Text` if they fail.\n\t\t\ttry {\n\t\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t\t} catch ( error1 ) {\n\t\t\t\ttry {\n\t\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t\t} catch ( error2 ) {\n\t\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t\t// behaviour.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove Windows-specific metadata appended within copied HTML text.\n\t\t\thtml = removeWindowsFragments( html );\n\n\t\t\t// Strip meta tag.\n\t\t\thtml = removeCharsetMetaTag( html );\n\n\t\t\tevent.preventDefault();\n\n\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\t\tif ( disableFormats ) {\n\t\t\t\tonChange( insert( value, plainText ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst transformed = formatTypes.reduce(\n\t\t\t\t( accumlator, { __unstablePasteRule } ) => {\n\t\t\t\t\t// Only allow one transform.\n\t\t\t\t\tif ( __unstablePasteRule && accumlator === value ) {\n\t\t\t\t\t\taccumlator = __unstablePasteRule( value, {\n\t\t\t\t\t\t\thtml,\n\t\t\t\t\t\t\tplainText,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn accumlator;\n\t\t\t\t},\n\t\t\t\tvalue\n\t\t\t);\n\n\t\t\tif ( transformed !== value ) {\n\t\t\t\tonChange( transformed );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst files = [ ...getFilesFromDataTransfer( clipboardData ) ];\n\t\t\tconst isInternal = clipboardData.getData( 'rich-text' ) === 'true';\n\n\t\t\t// If the data comes from a rich text instance, we can directly use it\n\t\t\t// without filtering the data. The filters are only meant for externally\n\t\t\t// pasted content and remove inline styles.\n\t\t\tif ( isInternal ) {\n\t\t\t\tconst pastedValue = create( {\n\t\t\t\t\thtml,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\t\t\t\taddActiveFormats( pastedValue, value.activeFormats );\n\t\t\t\tonChange( insert( value, pastedValue ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( pastePlainText ) {\n\t\t\t\tonChange( insert( value, create( { text: plainText } ) ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( files?.length ) {\n\t\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\twindow.console.log( 'Received items:\\n\\n', files );\n\t\t\t}\n\n\t\t\t// Process any attached files, unless we infer that the files in\n\t\t\t// question are redundant \"screenshots\" of the actual HTML payload,\n\t\t\t// as created by certain office-type programs.\n\t\t\t//\n\t\t\t// @see shouldDismissPastedFiles\n\t\t\tif (\n\t\t\t\tfiles?.length &&\n\t\t\t\t! shouldDismissPastedFiles( files, html, plainText )\n\t\t\t) {\n\t\t\t\tconst fromTransforms = getBlockTransforms( 'from' );\n\t\t\t\tconst blocks = files\n\t\t\t\t\t.reduce( ( accumulator, file ) => {\n\t\t\t\t\t\tconst transformation = findTransform(\n\t\t\t\t\t\t\tfromTransforms,\n\t\t\t\t\t\t\t( transform ) =>\n\t\t\t\t\t\t\t\ttransform.type === 'files' &&\n\t\t\t\t\t\t\t\ttransform.isMatch( [ file ] )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( transformation ) {\n\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\ttransformation.transform( [ file ] )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}, [] )\n\t\t\t\t\t.flat();\n\t\t\t\tif ( ! blocks.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( blocks );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpastedBlocks: blocks,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet mode = onReplace && onSplit ? 'AUTO' : 'INLINE';\n\n\t\t\t// Force the blocks mode when the user is pasting\n\t\t\t// on a new line & the content resembles a shortcode.\n\t\t\t// Otherwise it's going to be detected as inline\n\t\t\t// and the shortcode won't be replaced.\n\t\t\tif (\n\t\t\t\tmode === 'AUTO' &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisShortcode( plainText )\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t__unstableEmbedURLOnPaste &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisURL( plainText.trim() )\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tconst content = pasteHandler( {\n\t\t\t\tHTML: html,\n\t\t\t\tplainText,\n\t\t\t\tmode,\n\t\t\t\ttagName,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t} );\n\n\t\t\tif ( typeof content === 'string' ) {\n\t\t\t\tconst valueToInsert = create( { html: content } );\n\t\t\t\taddActiveFormats( valueToInsert, value.activeFormats );\n\t\t\t\tonChange( insert( value, valueToInsert ) );\n\t\t\t} else if ( content.length > 0 ) {\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( content, content.length - 1, -1 );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpastedBlocks: content,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\telement.addEventListener( 'paste', _onPaste );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'paste', _onPaste );\n\t\t};\n\t}, [] );\n}\n\n/**\n * Normalizes a given string of HTML to remove the Windows-specific \"Fragment\"\n * comments and any preceding and trailing content.\n *\n * @param {string} html the html to be normalized\n * @return {string} the normalized html\n */\nfunction removeWindowsFragments( html ) {\n\tconst startStr = '<!--StartFragment-->';\n\tconst startIdx = html.indexOf( startStr );\n\tif ( startIdx > -1 ) {\n\t\thtml = html.substring( startIdx + startStr.length );\n\t} else {\n\t\t// No point looking for EndFragment\n\t\treturn html;\n\t}\n\n\tconst endStr = '<!--EndFragment-->';\n\tconst endIdx = html.indexOf( endStr );\n\tif ( endIdx > -1 ) {\n\t\thtml = html.substring( 0, endIdx );\n\t}\n\n\treturn html;\n}\n\n/**\n * Removes the charset meta tag inserted by Chromium.\n * See:\n * - https://github.com/WordPress/gutenberg/issues/33585\n * - https://bugs.chromium.org/p/chromium/issues/detail?id=1264616#c4\n *\n * @param {string} html the html to be stripped of the meta tag.\n * @return {string} the cleaned html\n */\nfunction removeCharsetMetaTag( html ) {\n\tconst metaTag = `<meta charset='utf-8'>`;\n\n\tif ( html.startsWith( metaTag ) ) {\n\t\treturn html.slice( metaTag.length );\n\t}\n\n\treturn html;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useRef","useRefEffect","pasteHandler","findTransform","getBlockTransforms","isEmpty","insert","create","isURL","addActiveFormats","splitValue","getPasteEventData","usePasteHandler","props","propsRef","current","element","_onPaste","event","isSelected","disableFormats","onChange","value","formatTypes","tagName","onReplace","onSplit","__unstableEmbedURLOnPaste","preserveWhiteSpace","pastePlainText","plainText","html","files","preventDefault","window","console","log","transformed","reduce","accumlator","__unstablePasteRule","isInternal","clipboardData","getData","pastedValue","activeFormats","text","length","fromTransforms","blocks","accumulator","file","transformation","transform","type","isMatch","push","flat","pastedBlocks","mode","trim","content","HTML","valueToInsert","addEventListener","removeEventListener"],"sources":["@wordpress/block-editor/src/components/rich-text/use-paste-handler.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport {\n\tpasteHandler,\n\tfindTransform,\n\tgetBlockTransforms,\n} from '@wordpress/blocks';\nimport { isEmpty, insert, create } from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { addActiveFormats } from './utils';\nimport { splitValue } from './split-value';\nimport { getPasteEventData } from '../../utils/pasting';\n\n/** @typedef {import('@wordpress/rich-text').RichTextValue} RichTextValue */\n\nexport function usePasteHandler( props ) {\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction _onPaste( event ) {\n\t\t\tconst {\n\t\t\t\tisSelected,\n\t\t\t\tdisableFormats,\n\t\t\t\tonChange,\n\t\t\t\tvalue,\n\t\t\t\tformatTypes,\n\t\t\t\ttagName,\n\t\t\t\tonReplace,\n\t\t\t\tonSplit,\n\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t\tpastePlainText,\n\t\t\t} = propsRef.current;\n\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { plainText, html, files } = getPasteEventData( event );\n\n\t\t\tevent.preventDefault();\n\n\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\t\tif ( disableFormats ) {\n\t\t\t\tonChange( insert( value, plainText ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst transformed = formatTypes.reduce(\n\t\t\t\t( accumlator, { __unstablePasteRule } ) => {\n\t\t\t\t\t// Only allow one transform.\n\t\t\t\t\tif ( __unstablePasteRule && accumlator === value ) {\n\t\t\t\t\t\taccumlator = __unstablePasteRule( value, {\n\t\t\t\t\t\t\thtml,\n\t\t\t\t\t\t\tplainText,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn accumlator;\n\t\t\t\t},\n\t\t\t\tvalue\n\t\t\t);\n\n\t\t\tif ( transformed !== value ) {\n\t\t\t\tonChange( transformed );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isInternal =\n\t\t\t\tevent.clipboardData.getData( 'rich-text' ) === 'true';\n\n\t\t\t// If the data comes from a rich text instance, we can directly use it\n\t\t\t// without filtering the data. The filters are only meant for externally\n\t\t\t// pasted content and remove inline styles.\n\t\t\tif ( isInternal ) {\n\t\t\t\tconst pastedValue = create( {\n\t\t\t\t\thtml,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\t\t\t\taddActiveFormats( pastedValue, value.activeFormats );\n\t\t\t\tonChange( insert( value, pastedValue ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( pastePlainText ) {\n\t\t\t\tonChange( insert( value, create( { text: plainText } ) ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( files?.length ) {\n\t\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\twindow.console.log( 'Received items:\\n\\n', files );\n\n\t\t\t\tconst fromTransforms = getBlockTransforms( 'from' );\n\t\t\t\tconst blocks = files\n\t\t\t\t\t.reduce( ( accumulator, file ) => {\n\t\t\t\t\t\tconst transformation = findTransform(\n\t\t\t\t\t\t\tfromTransforms,\n\t\t\t\t\t\t\t( transform ) =>\n\t\t\t\t\t\t\t\ttransform.type === 'files' &&\n\t\t\t\t\t\t\t\ttransform.isMatch( [ file ] )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( transformation ) {\n\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\ttransformation.transform( [ file ] )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}, [] )\n\t\t\t\t\t.flat();\n\t\t\t\tif ( ! blocks.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( blocks );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpastedBlocks: blocks,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet mode = onReplace && onSplit ? 'AUTO' : 'INLINE';\n\n\t\t\tif (\n\t\t\t\t__unstableEmbedURLOnPaste &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisURL( plainText.trim() )\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tconst content = pasteHandler( {\n\t\t\t\tHTML: html,\n\t\t\t\tplainText,\n\t\t\t\tmode,\n\t\t\t\ttagName,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t} );\n\n\t\t\tif ( typeof content === 'string' ) {\n\t\t\t\tconst valueToInsert = create( { html: content } );\n\t\t\t\taddActiveFormats( valueToInsert, value.activeFormats );\n\t\t\t\tonChange( insert( value, valueToInsert ) );\n\t\t\t} else if ( content.length > 0 ) {\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( content, content.length - 1, -1 );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tpastedBlocks: content,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\telement.addEventListener( 'paste', _onPaste );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'paste', _onPaste );\n\t\t};\n\t}, [] );\n}\n"],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { regexp } from '@wordpress/shortcode';
6
5
  import { renderToString } from '@wordpress/element';
7
6
  import { createBlock } from '@wordpress/blocks';
8
7
  export function addActiveFormats(value, activeFormats) {
@@ -37,7 +36,6 @@ export function getAllowedFormats({
37
36
  return allowedFormats;
38
37
  }
39
38
  getAllowedFormats.EMPTY_ARRAY = [];
40
- export const isShortcode = text => regexp('.*').test(text);
41
39
 
42
40
  /**
43
41
  * Creates a link from pasted URL.
@@ -1 +1 @@
1
- {"version":3,"names":["regexp","renderToString","createBlock","addActiveFormats","value","activeFormats","length","index","formats","getMultilineTag","multiline","getAllowedFormats","allowedFormats","disableFormats","EMPTY_ARRAY","isShortcode","text","test","createLinkInParagraph","url","onReplace","link","createElement","href","content"],"sources":["@wordpress/block-editor/src/components/rich-text/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { regexp } from '@wordpress/shortcode';\nimport { renderToString } from '@wordpress/element';\nimport { createBlock } from '@wordpress/blocks';\n\nexport function addActiveFormats( value, activeFormats ) {\n\tif ( activeFormats?.length ) {\n\t\tlet index = value.formats.length;\n\n\t\twhile ( index-- ) {\n\t\t\tvalue.formats[ index ] = [\n\t\t\t\t...activeFormats,\n\t\t\t\t...( value.formats[ index ] || [] ),\n\t\t\t];\n\t\t}\n\t}\n}\n\n/**\n * Get the multiline tag based on the multiline prop.\n *\n * @param {?(string|boolean)} multiline The multiline prop.\n *\n * @return {string | undefined} The multiline tag.\n */\nexport function getMultilineTag( multiline ) {\n\tif ( multiline !== true && multiline !== 'p' && multiline !== 'li' ) {\n\t\treturn;\n\t}\n\n\treturn multiline === true ? 'p' : multiline;\n}\n\nexport function getAllowedFormats( { allowedFormats, disableFormats } ) {\n\tif ( disableFormats ) {\n\t\treturn getAllowedFormats.EMPTY_ARRAY;\n\t}\n\n\treturn allowedFormats;\n}\n\ngetAllowedFormats.EMPTY_ARRAY = [];\n\nexport const isShortcode = ( text ) => regexp( '.*' ).test( text );\n\n/**\n * Creates a link from pasted URL.\n * Creates a paragraph block containing a link to the URL, and calls `onReplace`.\n *\n * @param {string} url The URL that could not be embedded.\n * @param {Function} onReplace Function to call with the created fallback block.\n */\nexport function createLinkInParagraph( url, onReplace ) {\n\tconst link = <a href={ url }>{ url }</a>;\n\tonReplace(\n\t\tcreateBlock( 'core/paragraph', { content: renderToString( link ) } )\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,OAAO,SAASC,gBAAgBA,CAAEC,KAAK,EAAEC,aAAa,EAAG;EACxD,IAAKA,aAAa,EAAEC,MAAM,EAAG;IAC5B,IAAIC,KAAK,GAAGH,KAAK,CAACI,OAAO,CAACF,MAAM;IAEhC,OAAQC,KAAK,EAAE,EAAG;MACjBH,KAAK,CAACI,OAAO,CAAED,KAAK,CAAE,GAAG,CACxB,GAAGF,aAAa,EAChB,IAAKD,KAAK,CAACI,OAAO,CAAED,KAAK,CAAE,IAAI,EAAE,CAAE,CACnC;IACF;EACD;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAAEC,SAAS,EAAG;EAC5C,IAAKA,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK,GAAG,IAAIA,SAAS,KAAK,IAAI,EAAG;IACpE;EACD;EAEA,OAAOA,SAAS,KAAK,IAAI,GAAG,GAAG,GAAGA,SAAS;AAC5C;AAEA,OAAO,SAASC,iBAAiBA,CAAE;EAAEC,cAAc;EAAEC;AAAe,CAAC,EAAG;EACvE,IAAKA,cAAc,EAAG;IACrB,OAAOF,iBAAiB,CAACG,WAAW;EACrC;EAEA,OAAOF,cAAc;AACtB;AAEAD,iBAAiB,CAACG,WAAW,GAAG,EAAE;AAElC,OAAO,MAAMC,WAAW,GAAKC,IAAI,IAAMhB,MAAM,CAAE,IAAK,CAAC,CAACiB,IAAI,CAAED,IAAK,CAAC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,qBAAqBA,CAAEC,GAAG,EAAEC,SAAS,EAAG;EACvD,MAAMC,IAAI,GAAGC,aAAA;IAAGC,IAAI,EAAGJ;EAAK,GAAGA,GAAQ,CAAC;EACxCC,SAAS,CACRlB,WAAW,CAAE,gBAAgB,EAAE;IAAEsB,OAAO,EAAEvB,cAAc,CAAEoB,IAAK;EAAE,CAAE,CACpE,CAAC;AACF"}
1
+ {"version":3,"names":["renderToString","createBlock","addActiveFormats","value","activeFormats","length","index","formats","getMultilineTag","multiline","getAllowedFormats","allowedFormats","disableFormats","EMPTY_ARRAY","createLinkInParagraph","url","onReplace","link","createElement","href","content"],"sources":["@wordpress/block-editor/src/components/rich-text/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { renderToString } from '@wordpress/element';\nimport { createBlock } from '@wordpress/blocks';\n\nexport function addActiveFormats( value, activeFormats ) {\n\tif ( activeFormats?.length ) {\n\t\tlet index = value.formats.length;\n\n\t\twhile ( index-- ) {\n\t\t\tvalue.formats[ index ] = [\n\t\t\t\t...activeFormats,\n\t\t\t\t...( value.formats[ index ] || [] ),\n\t\t\t];\n\t\t}\n\t}\n}\n\n/**\n * Get the multiline tag based on the multiline prop.\n *\n * @param {?(string|boolean)} multiline The multiline prop.\n *\n * @return {string | undefined} The multiline tag.\n */\nexport function getMultilineTag( multiline ) {\n\tif ( multiline !== true && multiline !== 'p' && multiline !== 'li' ) {\n\t\treturn;\n\t}\n\n\treturn multiline === true ? 'p' : multiline;\n}\n\nexport function getAllowedFormats( { allowedFormats, disableFormats } ) {\n\tif ( disableFormats ) {\n\t\treturn getAllowedFormats.EMPTY_ARRAY;\n\t}\n\n\treturn allowedFormats;\n}\n\ngetAllowedFormats.EMPTY_ARRAY = [];\n\n/**\n * Creates a link from pasted URL.\n * Creates a paragraph block containing a link to the URL, and calls `onReplace`.\n *\n * @param {string} url The URL that could not be embedded.\n * @param {Function} onReplace Function to call with the created fallback block.\n */\nexport function createLinkInParagraph( url, onReplace ) {\n\tconst link = <a href={ url }>{ url }</a>;\n\tonReplace(\n\t\tcreateBlock( 'core/paragraph', { content: renderToString( link ) } )\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,cAAc,QAAQ,oBAAoB;AACnD,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,OAAO,SAASC,gBAAgBA,CAAEC,KAAK,EAAEC,aAAa,EAAG;EACxD,IAAKA,aAAa,EAAEC,MAAM,EAAG;IAC5B,IAAIC,KAAK,GAAGH,KAAK,CAACI,OAAO,CAACF,MAAM;IAEhC,OAAQC,KAAK,EAAE,EAAG;MACjBH,KAAK,CAACI,OAAO,CAAED,KAAK,CAAE,GAAG,CACxB,GAAGF,aAAa,EAChB,IAAKD,KAAK,CAACI,OAAO,CAAED,KAAK,CAAE,IAAI,EAAE,CAAE,CACnC;IACF;EACD;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,eAAeA,CAAEC,SAAS,EAAG;EAC5C,IAAKA,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK,GAAG,IAAIA,SAAS,KAAK,IAAI,EAAG;IACpE;EACD;EAEA,OAAOA,SAAS,KAAK,IAAI,GAAG,GAAG,GAAGA,SAAS;AAC5C;AAEA,OAAO,SAASC,iBAAiBA,CAAE;EAAEC,cAAc;EAAEC;AAAe,CAAC,EAAG;EACvE,IAAKA,cAAc,EAAG;IACrB,OAAOF,iBAAiB,CAACG,WAAW;EACrC;EAEA,OAAOF,cAAc;AACtB;AAEAD,iBAAiB,CAACG,WAAW,GAAG,EAAE;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAEC,GAAG,EAAEC,SAAS,EAAG;EACvD,MAAMC,IAAI,GAAGC,aAAA;IAAGC,IAAI,EAAGJ;EAAK,GAAGA,GAAQ,CAAC;EACxCC,SAAS,CACRf,WAAW,CAAE,gBAAgB,EAAE;IAAEmB,OAAO,EAAEpB,cAAc,CAAEiB,IAAK;EAAE,CAAE,CACpE,CAAC;AACF"}
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * Internal dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * Internal dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * Internal dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -32,7 +32,7 @@ const TEXT_DECORATIONS = [{
32
32
  * @param {Function} props.onChange Handles change in text decoration selection.
33
33
  * @param {string} [props.className] Additional class name to apply.
34
34
  *
35
- * @return {WPElement} Text decoration control.
35
+ * @return {Element} Text decoration control.
36
36
  */
37
37
  export default function TextDecorationControl({
38
38
  value,
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","BaseControl","Button","reset","formatStrikethrough","formatUnderline","__","TEXT_DECORATIONS","name","value","icon","TextDecorationControl","onChange","className","createElement","VisualLabel","as","map","textDecoration","key","label","isPressed","onClick","undefined"],"sources":["@wordpress/block-editor/src/components/text-decoration-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 { reset, formatStrikethrough, formatUnderline } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nconst TEXT_DECORATIONS = [\n\t{\n\t\tname: __( 'None' ),\n\t\tvalue: 'none',\n\t\ticon: reset,\n\t},\n\t{\n\t\tname: __( 'Underline' ),\n\t\tvalue: 'underline',\n\t\ticon: formatUnderline,\n\t},\n\t{\n\t\tname: __( 'Strikethrough' ),\n\t\tvalue: 'line-through',\n\t\ticon: formatStrikethrough,\n\t},\n];\n\n/**\n * Control to facilitate text decoration selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.value Currently selected text decoration.\n * @param {Function} props.onChange Handles change in text decoration selection.\n * @param {string} [props.className] Additional class name to apply.\n *\n * @return {WPElement} Text decoration control.\n */\nexport default function TextDecorationControl( {\n\tvalue,\n\tonChange,\n\tclassName,\n} ) {\n\treturn (\n\t\t<fieldset\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-text-decoration-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{ __( 'Decoration' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<div className=\"block-editor-text-decoration-control__buttons\">\n\t\t\t\t{ TEXT_DECORATIONS.map( ( textDecoration ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ textDecoration.value }\n\t\t\t\t\t\t\ticon={ textDecoration.icon }\n\t\t\t\t\t\t\tlabel={ textDecoration.name }\n\t\t\t\t\t\t\tisPressed={ textDecoration.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\ttextDecoration.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: textDecoration.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":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,WAAW,EAAEC,MAAM,QAAQ,uBAAuB;AAC3D,SAASC,KAAK,EAAEC,mBAAmB,EAAEC,eAAe,QAAQ,kBAAkB;AAC9E,SAASC,EAAE,QAAQ,iBAAiB;AAEpC,MAAMC,gBAAgB,GAAG,CACxB;EACCC,IAAI,EAAEF,EAAE,CAAE,MAAO,CAAC;EAClBG,KAAK,EAAE,MAAM;EACbC,IAAI,EAAEP;AACP,CAAC,EACD;EACCK,IAAI,EAAEF,EAAE,CAAE,WAAY,CAAC;EACvBG,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAEL;AACP,CAAC,EACD;EACCG,IAAI,EAAEF,EAAE,CAAE,eAAgB,CAAC;EAC3BG,KAAK,EAAE,cAAc;EACrBC,IAAI,EAAEN;AACP,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASO,qBAAqBA,CAAE;EAC9CF,KAAK;EACLG,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,OACCC,aAAA;IACCD,SAAS,EAAGb,UAAU,CACrB,sCAAsC,EACtCa,SACD;EAAG,GAEHC,aAAA,CAACb,WAAW,CAACc,WAAW;IAACC,EAAE,EAAC;EAAQ,GACjCV,EAAE,CAAE,YAAa,CACK,CAAC,EAC1BQ,aAAA;IAAKD,SAAS,EAAC;EAA+C,GAC3DN,gBAAgB,CAACU,GAAG,CAAIC,cAAc,IAAM;IAC7C,OACCJ,aAAA,CAACZ,MAAM;MACNiB,GAAG,EAAGD,cAAc,CAACT,KAAO;MAC5BC,IAAI,EAAGQ,cAAc,CAACR,IAAM;MAC5BU,KAAK,EAAGF,cAAc,CAACV,IAAM;MAC7Ba,SAAS,EAAGH,cAAc,CAACT,KAAK,KAAKA,KAAO;MAC5Ca,OAAO,EAAGA,CAAA,KAAM;QACfV,QAAQ,CACPM,cAAc,CAACT,KAAK,KAAKA,KAAK,GAC3Bc,SAAS,GACTL,cAAc,CAACT,KACnB,CAAC;MACF;IAAG,CACH,CAAC;EAEJ,CAAE,CACE,CACI,CAAC;AAEb"}
1
+ {"version":3,"names":["classnames","BaseControl","Button","reset","formatStrikethrough","formatUnderline","__","TEXT_DECORATIONS","name","value","icon","TextDecorationControl","onChange","className","createElement","VisualLabel","as","map","textDecoration","key","label","isPressed","onClick","undefined"],"sources":["@wordpress/block-editor/src/components/text-decoration-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 { reset, formatStrikethrough, formatUnderline } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nconst TEXT_DECORATIONS = [\n\t{\n\t\tname: __( 'None' ),\n\t\tvalue: 'none',\n\t\ticon: reset,\n\t},\n\t{\n\t\tname: __( 'Underline' ),\n\t\tvalue: 'underline',\n\t\ticon: formatUnderline,\n\t},\n\t{\n\t\tname: __( 'Strikethrough' ),\n\t\tvalue: 'line-through',\n\t\ticon: formatStrikethrough,\n\t},\n];\n\n/**\n * Control to facilitate text decoration selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.value Currently selected text decoration.\n * @param {Function} props.onChange Handles change in text decoration selection.\n * @param {string} [props.className] Additional class name to apply.\n *\n * @return {Element} Text decoration control.\n */\nexport default function TextDecorationControl( {\n\tvalue,\n\tonChange,\n\tclassName,\n} ) {\n\treturn (\n\t\t<fieldset\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-text-decoration-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{ __( 'Decoration' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<div className=\"block-editor-text-decoration-control__buttons\">\n\t\t\t\t{ TEXT_DECORATIONS.map( ( textDecoration ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ textDecoration.value }\n\t\t\t\t\t\t\ticon={ textDecoration.icon }\n\t\t\t\t\t\t\tlabel={ textDecoration.name }\n\t\t\t\t\t\t\tisPressed={ textDecoration.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\ttextDecoration.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: textDecoration.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":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,WAAW,EAAEC,MAAM,QAAQ,uBAAuB;AAC3D,SAASC,KAAK,EAAEC,mBAAmB,EAAEC,eAAe,QAAQ,kBAAkB;AAC9E,SAASC,EAAE,QAAQ,iBAAiB;AAEpC,MAAMC,gBAAgB,GAAG,CACxB;EACCC,IAAI,EAAEF,EAAE,CAAE,MAAO,CAAC;EAClBG,KAAK,EAAE,MAAM;EACbC,IAAI,EAAEP;AACP,CAAC,EACD;EACCK,IAAI,EAAEF,EAAE,CAAE,WAAY,CAAC;EACvBG,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAEL;AACP,CAAC,EACD;EACCG,IAAI,EAAEF,EAAE,CAAE,eAAgB,CAAC;EAC3BG,KAAK,EAAE,cAAc;EACrBC,IAAI,EAAEN;AACP,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASO,qBAAqBA,CAAE;EAC9CF,KAAK;EACLG,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,OACCC,aAAA;IACCD,SAAS,EAAGb,UAAU,CACrB,sCAAsC,EACtCa,SACD;EAAG,GAEHC,aAAA,CAACb,WAAW,CAACc,WAAW;IAACC,EAAE,EAAC;EAAQ,GACjCV,EAAE,CAAE,YAAa,CACK,CAAC,EAC1BQ,aAAA;IAAKD,SAAS,EAAC;EAA+C,GAC3DN,gBAAgB,CAACU,GAAG,CAAIC,cAAc,IAAM;IAC7C,OACCJ,aAAA,CAACZ,MAAM;MACNiB,GAAG,EAAGD,cAAc,CAACT,KAAO;MAC5BC,IAAI,EAAGQ,cAAc,CAACR,IAAM;MAC5BU,KAAK,EAAGF,cAAc,CAACV,IAAM;MAC7Ba,SAAS,EAAGH,cAAc,CAACT,KAAK,KAAKA,KAAO;MAC5Ca,OAAO,EAAGA,CAAA,KAAM;QACfV,QAAQ,CACPM,cAAc,CAACT,KAAK,KAAKA,KAAK,GAC3Bc,SAAS,GACTL,cAAc,CAACT,KACnB,CAAC;MACF;IAAG,CACH,CAAC;EAEJ,CAAE,CACE,CACI,CAAC;AAEb"}
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -36,7 +36,7 @@ const TEXT_TRANSFORMS = [{
36
36
  * @param {string} props.value Currently selected text transform.
37
37
  * @param {Function} props.onChange Handles change in text transform selection.
38
38
  *
39
- * @return {WPElement} Text transform control.
39
+ * @return {Element} Text transform control.
40
40
  */
41
41
  export default function TextTransformControl({
42
42
  className,
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","BaseControl","Button","__","reset","formatCapitalize","formatLowercase","formatUppercase","TEXT_TRANSFORMS","name","value","icon","TextTransformControl","className","onChange","createElement","VisualLabel","as","map","textTransform","key","label","isPressed","onClick","undefined"],"sources":["@wordpress/block-editor/src/components/text-transform-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 { __ } from '@wordpress/i18n';\nimport {\n\treset,\n\tformatCapitalize,\n\tformatLowercase,\n\tformatUppercase,\n} from '@wordpress/icons';\n\nconst TEXT_TRANSFORMS = [\n\t{\n\t\tname: __( 'None' ),\n\t\tvalue: 'none',\n\t\ticon: reset,\n\t},\n\t{\n\t\tname: __( 'Uppercase' ),\n\t\tvalue: 'uppercase',\n\t\ticon: formatUppercase,\n\t},\n\t{\n\t\tname: __( 'Lowercase' ),\n\t\tvalue: 'lowercase',\n\t\ticon: formatLowercase,\n\t},\n\t{\n\t\tname: __( 'Capitalize' ),\n\t\tvalue: 'capitalize',\n\t\ticon: formatCapitalize,\n\t},\n];\n\n/**\n * Control to facilitate text transform 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 text transform.\n * @param {Function} props.onChange Handles change in text transform selection.\n *\n * @return {WPElement} Text transform control.\n */\nexport default function TextTransformControl( { className, value, onChange } ) {\n\treturn (\n\t\t<fieldset\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-text-transform-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{ __( 'Letter case' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<div className=\"block-editor-text-transform-control__buttons\">\n\t\t\t\t{ TEXT_TRANSFORMS.map( ( textTransform ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ textTransform.value }\n\t\t\t\t\t\t\ticon={ textTransform.icon }\n\t\t\t\t\t\t\tlabel={ textTransform.name }\n\t\t\t\t\t\t\tisPressed={ textTransform.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\ttextTransform.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: textTransform.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":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,WAAW,EAAEC,MAAM,QAAQ,uBAAuB;AAC3D,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,KAAK,EACLC,gBAAgB,EAChBC,eAAe,EACfC,eAAe,QACT,kBAAkB;AAEzB,MAAMC,eAAe,GAAG,CACvB;EACCC,IAAI,EAAEN,EAAE,CAAE,MAAO,CAAC;EAClBO,KAAK,EAAE,MAAM;EACbC,IAAI,EAAEP;AACP,CAAC,EACD;EACCK,IAAI,EAAEN,EAAE,CAAE,WAAY,CAAC;EACvBO,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAEJ;AACP,CAAC,EACD;EACCE,IAAI,EAAEN,EAAE,CAAE,WAAY,CAAC;EACvBO,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAEL;AACP,CAAC,EACD;EACCG,IAAI,EAAEN,EAAE,CAAE,YAAa,CAAC;EACxBO,KAAK,EAAE,YAAY;EACnBC,IAAI,EAAEN;AACP,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASO,oBAAoBA,CAAE;EAAEC,SAAS;EAAEH,KAAK;EAAEI;AAAS,CAAC,EAAG;EAC9E,OACCC,aAAA;IACCF,SAAS,EAAGb,UAAU,CACrB,qCAAqC,EACrCa,SACD;EAAG,GAEHE,aAAA,CAACd,WAAW,CAACe,WAAW;IAACC,EAAE,EAAC;EAAQ,GACjCd,EAAE,CAAE,aAAc,CACI,CAAC,EAC1BY,aAAA;IAAKF,SAAS,EAAC;EAA8C,GAC1DL,eAAe,CAACU,GAAG,CAAIC,aAAa,IAAM;IAC3C,OACCJ,aAAA,CAACb,MAAM;MACNkB,GAAG,EAAGD,aAAa,CAACT,KAAO;MAC3BC,IAAI,EAAGQ,aAAa,CAACR,IAAM;MAC3BU,KAAK,EAAGF,aAAa,CAACV,IAAM;MAC5Ba,SAAS,EAAGH,aAAa,CAACT,KAAK,KAAKA,KAAO;MAC3Ca,OAAO,EAAGA,CAAA,KAAM;QACfT,QAAQ,CACPK,aAAa,CAACT,KAAK,KAAKA,KAAK,GAC1Bc,SAAS,GACTL,aAAa,CAACT,KAClB,CAAC;MACF;IAAG,CACH,CAAC;EAEJ,CAAE,CACE,CACI,CAAC;AAEb"}
1
+ {"version":3,"names":["classnames","BaseControl","Button","__","reset","formatCapitalize","formatLowercase","formatUppercase","TEXT_TRANSFORMS","name","value","icon","TextTransformControl","className","onChange","createElement","VisualLabel","as","map","textTransform","key","label","isPressed","onClick","undefined"],"sources":["@wordpress/block-editor/src/components/text-transform-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 { __ } from '@wordpress/i18n';\nimport {\n\treset,\n\tformatCapitalize,\n\tformatLowercase,\n\tformatUppercase,\n} from '@wordpress/icons';\n\nconst TEXT_TRANSFORMS = [\n\t{\n\t\tname: __( 'None' ),\n\t\tvalue: 'none',\n\t\ticon: reset,\n\t},\n\t{\n\t\tname: __( 'Uppercase' ),\n\t\tvalue: 'uppercase',\n\t\ticon: formatUppercase,\n\t},\n\t{\n\t\tname: __( 'Lowercase' ),\n\t\tvalue: 'lowercase',\n\t\ticon: formatLowercase,\n\t},\n\t{\n\t\tname: __( 'Capitalize' ),\n\t\tvalue: 'capitalize',\n\t\ticon: formatCapitalize,\n\t},\n];\n\n/**\n * Control to facilitate text transform 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 text transform.\n * @param {Function} props.onChange Handles change in text transform selection.\n *\n * @return {Element} Text transform control.\n */\nexport default function TextTransformControl( { className, value, onChange } ) {\n\treturn (\n\t\t<fieldset\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-text-transform-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{ __( 'Letter case' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<div className=\"block-editor-text-transform-control__buttons\">\n\t\t\t\t{ TEXT_TRANSFORMS.map( ( textTransform ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ textTransform.value }\n\t\t\t\t\t\t\ticon={ textTransform.icon }\n\t\t\t\t\t\t\tlabel={ textTransform.name }\n\t\t\t\t\t\t\tisPressed={ textTransform.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\ttextTransform.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: textTransform.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":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,WAAW,EAAEC,MAAM,QAAQ,uBAAuB;AAC3D,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,KAAK,EACLC,gBAAgB,EAChBC,eAAe,EACfC,eAAe,QACT,kBAAkB;AAEzB,MAAMC,eAAe,GAAG,CACvB;EACCC,IAAI,EAAEN,EAAE,CAAE,MAAO,CAAC;EAClBO,KAAK,EAAE,MAAM;EACbC,IAAI,EAAEP;AACP,CAAC,EACD;EACCK,IAAI,EAAEN,EAAE,CAAE,WAAY,CAAC;EACvBO,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAEJ;AACP,CAAC,EACD;EACCE,IAAI,EAAEN,EAAE,CAAE,WAAY,CAAC;EACvBO,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAEL;AACP,CAAC,EACD;EACCG,IAAI,EAAEN,EAAE,CAAE,YAAa,CAAC;EACxBO,KAAK,EAAE,YAAY;EACnBC,IAAI,EAAEN;AACP,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASO,oBAAoBA,CAAE;EAAEC,SAAS;EAAEH,KAAK;EAAEI;AAAS,CAAC,EAAG;EAC9E,OACCC,aAAA;IACCF,SAAS,EAAGb,UAAU,CACrB,qCAAqC,EACrCa,SACD;EAAG,GAEHE,aAAA,CAACd,WAAW,CAACe,WAAW;IAACC,EAAE,EAAC;EAAQ,GACjCd,EAAE,CAAE,aAAc,CACI,CAAC,EAC1BY,aAAA;IAAKF,SAAS,EAAC;EAA8C,GAC1DL,eAAe,CAACU,GAAG,CAAIC,aAAa,IAAM;IAC3C,OACCJ,aAAA,CAACb,MAAM;MACNkB,GAAG,EAAGD,aAAa,CAACT,KAAO;MAC3BC,IAAI,EAAGQ,aAAa,CAACR,IAAM;MAC3BU,KAAK,EAAGF,aAAa,CAACV,IAAM;MAC5Ba,SAAS,EAAGH,aAAa,CAACT,KAAK,KAAKA,KAAO;MAC3Ca,OAAO,EAAGA,CAAA,KAAM;QACfT,QAAQ,CACPK,aAAa,CAACT,KAAK,KAAKA,KAAK,GAC1Bc,SAAS,GACTL,aAAa,CAACT,KAClB,CAAC;MACF;IAAG,CACH,CAAC;EAEJ,CAAE,CACE,CACI,CAAC;AAEb"}
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -40,7 +40,8 @@ function ToolSelector(props, ref) {
40
40
  label: __('Tools')
41
41
  }),
42
42
  popoverProps: {
43
- placement: 'bottom-start'
43
+ placement: 'bottom-start',
44
+ variant: undefined
44
45
  },
45
46
  renderContent: () => createElement(Fragment, null, createElement(NavigableMenu, {
46
47
  role: "menu",