@wordpress/block-editor 15.21.0 → 15.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/build/components/block-compare/index.cjs +2 -2
  3. package/build/components/block-compare/index.cjs.map +2 -2
  4. package/build/components/block-patterns-list/index.cjs +1 -1
  5. package/build/components/block-patterns-list/index.cjs.map +2 -2
  6. package/build/components/block-switcher/block-transformations-menu.cjs +16 -15
  7. package/build/components/block-switcher/block-transformations-menu.cjs.map +2 -2
  8. package/build/components/block-switcher/index.cjs +4 -4
  9. package/build/components/block-switcher/index.cjs.map +2 -2
  10. package/build/components/global-styles/advanced-panel.cjs +23 -15
  11. package/build/components/global-styles/advanced-panel.cjs.map +2 -2
  12. package/build/components/global-styles/background-panel.cjs +2 -2
  13. package/build/components/global-styles/background-panel.cjs.map +2 -2
  14. package/build/components/global-styles/border-panel.cjs +2 -0
  15. package/build/components/global-styles/border-panel.cjs.map +2 -2
  16. package/build/components/global-styles/dimensions-panel.cjs +1 -1
  17. package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
  18. package/build/components/inner-blocks/use-inner-block-template-sync.cjs +3 -1
  19. package/build/components/inner-blocks/use-inner-block-template-sync.cjs.map +2 -2
  20. package/build/components/inserter/hooks/use-patterns-state.cjs +1 -1
  21. package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
  22. package/build/components/inserter/index.cjs +179 -220
  23. package/build/components/inserter/index.cjs.map +3 -3
  24. package/build/components/inserter/search-results.cjs +1 -1
  25. package/build/components/inserter/search-results.cjs.map +2 -2
  26. package/build/components/list-view/block-select-button.cjs +10 -12
  27. package/build/components/list-view/block-select-button.cjs.map +2 -2
  28. package/build/components/list-view/block.cjs +2 -1
  29. package/build/components/list-view/block.cjs.map +2 -2
  30. package/build/components/provider/use-block-sync.cjs +11 -2
  31. package/build/components/provider/use-block-sync.cjs.map +2 -2
  32. package/build/components/rich-text/event-listeners/before-input-rules.cjs +4 -4
  33. package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
  34. package/build/components/rich-text/event-listeners/delete.cjs +4 -4
  35. package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
  36. package/build/components/rich-text/event-listeners/enter.cjs +7 -2
  37. package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
  38. package/build/components/rich-text/event-listeners/input-events.cjs +4 -4
  39. package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
  40. package/build/components/rich-text/event-listeners/input-rules.cjs +17 -4
  41. package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
  42. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +4 -4
  43. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
  44. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +4 -4
  45. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
  46. package/build/components/rich-text/event-listeners/shortcuts.cjs +4 -4
  47. package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
  48. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +4 -4
  49. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
  50. package/build/components/rich-text/index.cjs +1 -23
  51. package/build/components/rich-text/index.cjs.map +2 -2
  52. package/build/components/use-block-commands/index.cjs +5 -5
  53. package/build/components/use-block-commands/index.cjs.map +2 -2
  54. package/build/hooks/anchor.cjs +11 -15
  55. package/build/hooks/anchor.cjs.map +2 -2
  56. package/build/hooks/border.cjs +0 -3
  57. package/build/hooks/border.cjs.map +2 -2
  58. package/build/hooks/color.cjs +1 -4
  59. package/build/hooks/color.cjs.map +2 -2
  60. package/build/hooks/dimensions.cjs +0 -3
  61. package/build/hooks/dimensions.cjs.map +2 -2
  62. package/build/hooks/fit-text.cjs +11 -0
  63. package/build/hooks/fit-text.cjs.map +2 -2
  64. package/build/hooks/position.cjs +19 -22
  65. package/build/hooks/position.cjs.map +2 -2
  66. package/build/hooks/supports.cjs +0 -7
  67. package/build/hooks/supports.cjs.map +2 -2
  68. package/build/store/actions.cjs +7 -3
  69. package/build/store/actions.cjs.map +2 -2
  70. package/build/store/private-actions.cjs +1 -2
  71. package/build/store/private-actions.cjs.map +2 -2
  72. package/build/store/private-selectors.cjs +23 -0
  73. package/build/store/private-selectors.cjs.map +2 -2
  74. package/build/store/reducer.cjs +14 -6
  75. package/build/store/reducer.cjs.map +2 -2
  76. package/build/store/selectors.cjs +60 -41
  77. package/build/store/selectors.cjs.map +2 -2
  78. package/build-module/components/block-compare/index.mjs +1 -1
  79. package/build-module/components/block-compare/index.mjs.map +2 -2
  80. package/build-module/components/block-patterns-list/index.mjs +1 -1
  81. package/build-module/components/block-patterns-list/index.mjs.map +2 -2
  82. package/build-module/components/block-switcher/block-transformations-menu.mjs +16 -15
  83. package/build-module/components/block-switcher/block-transformations-menu.mjs.map +2 -2
  84. package/build-module/components/block-switcher/index.mjs +4 -4
  85. package/build-module/components/block-switcher/index.mjs.map +2 -2
  86. package/build-module/components/global-styles/advanced-panel.mjs +23 -15
  87. package/build-module/components/global-styles/advanced-panel.mjs.map +2 -2
  88. package/build-module/components/global-styles/background-panel.mjs +3 -3
  89. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  90. package/build-module/components/global-styles/border-panel.mjs +2 -0
  91. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  92. package/build-module/components/global-styles/dimensions-panel.mjs +2 -2
  93. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  94. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs +3 -1
  95. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs.map +2 -2
  96. package/build-module/components/inserter/hooks/use-patterns-state.mjs +1 -1
  97. package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
  98. package/build-module/components/inserter/index.mjs +185 -222
  99. package/build-module/components/inserter/index.mjs.map +3 -3
  100. package/build-module/components/inserter/search-results.mjs +1 -1
  101. package/build-module/components/inserter/search-results.mjs.map +2 -2
  102. package/build-module/components/list-view/block-select-button.mjs +10 -12
  103. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  104. package/build-module/components/list-view/block.mjs +2 -1
  105. package/build-module/components/list-view/block.mjs.map +2 -2
  106. package/build-module/components/provider/use-block-sync.mjs +11 -2
  107. package/build-module/components/provider/use-block-sync.mjs.map +2 -2
  108. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs +4 -4
  109. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
  110. package/build-module/components/rich-text/event-listeners/delete.mjs +4 -4
  111. package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
  112. package/build-module/components/rich-text/event-listeners/enter.mjs +7 -2
  113. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  114. package/build-module/components/rich-text/event-listeners/input-events.mjs +4 -4
  115. package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
  116. package/build-module/components/rich-text/event-listeners/input-rules.mjs +17 -4
  117. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  118. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +4 -4
  119. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
  120. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +4 -4
  121. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
  122. package/build-module/components/rich-text/event-listeners/shortcuts.mjs +4 -4
  123. package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
  124. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +4 -4
  125. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
  126. package/build-module/components/rich-text/index.mjs +1 -23
  127. package/build-module/components/rich-text/index.mjs.map +2 -2
  128. package/build-module/components/use-block-commands/index.mjs +5 -5
  129. package/build-module/components/use-block-commands/index.mjs.map +2 -2
  130. package/build-module/hooks/anchor.mjs +11 -15
  131. package/build-module/hooks/anchor.mjs.map +2 -2
  132. package/build-module/hooks/border.mjs +1 -4
  133. package/build-module/hooks/border.mjs.map +2 -2
  134. package/build-module/hooks/color.mjs +2 -5
  135. package/build-module/hooks/color.mjs.map +2 -2
  136. package/build-module/hooks/dimensions.mjs +1 -4
  137. package/build-module/hooks/dimensions.mjs.map +2 -2
  138. package/build-module/hooks/fit-text.mjs +11 -0
  139. package/build-module/hooks/fit-text.mjs.map +2 -2
  140. package/build-module/hooks/position.mjs +20 -23
  141. package/build-module/hooks/position.mjs.map +2 -2
  142. package/build-module/hooks/supports.mjs +0 -7
  143. package/build-module/hooks/supports.mjs.map +2 -2
  144. package/build-module/store/actions.mjs +7 -3
  145. package/build-module/store/actions.mjs.map +2 -2
  146. package/build-module/store/private-actions.mjs +1 -2
  147. package/build-module/store/private-actions.mjs.map +2 -2
  148. package/build-module/store/private-selectors.mjs +21 -0
  149. package/build-module/store/private-selectors.mjs.map +2 -2
  150. package/build-module/store/reducer.mjs +14 -6
  151. package/build-module/store/reducer.mjs.map +2 -2
  152. package/build-module/store/selectors.mjs +62 -42
  153. package/build-module/store/selectors.mjs.map +2 -2
  154. package/build-style/content-rtl.css +12 -0
  155. package/build-style/content.css +12 -0
  156. package/build-style/style-rtl.css +26 -8
  157. package/build-style/style.css +26 -8
  158. package/package.json +49 -46
  159. package/src/components/block-breadcrumb/README.md +2 -2
  160. package/src/components/block-compare/README.md +6 -6
  161. package/src/components/block-compare/index.js +1 -3
  162. package/src/components/block-patterns-list/index.js +1 -1
  163. package/src/components/block-preview/README.md +1 -1
  164. package/src/components/block-switcher/block-transformations-menu.js +16 -18
  165. package/src/components/block-switcher/index.js +4 -4
  166. package/src/components/block-types-list/README.md +0 -19
  167. package/src/components/global-styles/advanced-panel.js +5 -1
  168. package/src/components/global-styles/background-panel.js +3 -3
  169. package/src/components/global-styles/border-panel.js +2 -0
  170. package/src/components/global-styles/dimensions-panel.js +12 -13
  171. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -1
  172. package/src/components/inserter/hooks/use-patterns-state.js +1 -1
  173. package/src/components/inserter/index.js +257 -288
  174. package/src/components/inserter/search-results.js +1 -3
  175. package/src/components/justify-content-control/README.md +1 -1
  176. package/src/components/list-view/block-select-button.js +9 -13
  177. package/src/components/list-view/block.js +1 -0
  178. package/src/components/media-placeholder/README.md +1 -29
  179. package/src/components/media-upload/README.md +0 -19
  180. package/src/components/provider/test/use-block-sync.js +40 -0
  181. package/src/components/provider/use-block-sync.js +12 -2
  182. package/src/components/rich-text/event-listeners/before-input-rules.js +5 -4
  183. package/src/components/rich-text/event-listeners/delete.js +9 -4
  184. package/src/components/rich-text/event-listeners/enter.js +9 -2
  185. package/src/components/rich-text/event-listeners/input-events.js +13 -4
  186. package/src/components/rich-text/event-listeners/input-rules.js +20 -4
  187. package/src/components/rich-text/event-listeners/insert-replacement-text.js +9 -4
  188. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +9 -4
  189. package/src/components/rich-text/event-listeners/shortcuts.js +13 -4
  190. package/src/components/rich-text/event-listeners/undo-automatic-change.js +5 -4
  191. package/src/components/rich-text/index.js +1 -33
  192. package/src/components/unit-control/README.md +1 -1
  193. package/src/components/url-popover/README.md +1 -1
  194. package/src/components/use-block-commands/index.js +5 -5
  195. package/src/hooks/anchor.js +9 -17
  196. package/src/hooks/border.js +1 -5
  197. package/src/hooks/color.js +1 -6
  198. package/src/hooks/dimensions.js +1 -5
  199. package/src/hooks/fit-text.js +16 -0
  200. package/src/hooks/position.js +23 -27
  201. package/src/hooks/supports.js +0 -9
  202. package/src/store/actions.js +13 -3
  203. package/src/store/private-actions.js +1 -4
  204. package/src/store/private-selectors.js +42 -0
  205. package/src/store/reducer.js +19 -7
  206. package/src/store/selectors.js +91 -53
  207. package/src/store/test/actions.js +21 -0
  208. package/src/store/test/reducer.js +46 -0
  209. package/src/store/test/selectors.js +77 -0
  210. package/build/components/media-upload-progress/constants.cjs +0 -46
  211. package/build/components/media-upload-progress/constants.cjs.map +0 -7
  212. package/build/components/rich-text/native/format-edit.cjs +0 -60
  213. package/build/components/rich-text/native/format-edit.cjs.map +0 -7
  214. package/build/components/rich-text/native/index.cjs +0 -28
  215. package/build/components/rich-text/native/index.cjs.map +0 -7
  216. package/build/components/rich-text/native/use-format-types.cjs +0 -139
  217. package/build/components/rich-text/native/use-format-types.cjs.map +0 -7
  218. package/build-module/components/media-upload-progress/constants.mjs +0 -16
  219. package/build-module/components/media-upload-progress/constants.mjs.map +0 -7
  220. package/build-module/components/rich-text/native/format-edit.mjs +0 -39
  221. package/build-module/components/rich-text/native/format-edit.mjs.map +0 -7
  222. package/build-module/components/rich-text/native/index.mjs +0 -7
  223. package/build-module/components/rich-text/native/index.mjs.map +0 -7
  224. package/build-module/components/rich-text/native/use-format-types.mjs +0 -114
  225. package/build-module/components/rich-text/native/use-format-types.mjs.map +0 -7
  226. package/src/components/audio-player/audio-url-parser.native.js +0 -20
  227. package/src/components/audio-player/index.native.js +0 -225
  228. package/src/components/audio-player/styles.native.scss +0 -114
  229. package/src/components/audio-player/test/audio-url-parser.native.js +0 -53
  230. package/src/components/block-alignment-control/test/index.native.js +0 -37
  231. package/src/components/block-alignment-control/ui.native.js +0 -86
  232. package/src/components/block-caption/README.md +0 -104
  233. package/src/components/block-caption/index.native.js +0 -89
  234. package/src/components/block-caption/styles.native.scss +0 -7
  235. package/src/components/block-controls/slot.native.js +0 -33
  236. package/src/components/block-draggable/draggable-chip.native.js +0 -49
  237. package/src/components/block-draggable/dropping-insertion-point.native.js +0 -181
  238. package/src/components/block-draggable/dropping-insertion-point.native.scss +0 -8
  239. package/src/components/block-draggable/index.native.js +0 -467
  240. package/src/components/block-draggable/style.native.scss +0 -19
  241. package/src/components/block-draggable/test/__snapshots__/index.native.js.snap +0 -73
  242. package/src/components/block-draggable/test/helpers.native.js +0 -182
  243. package/src/components/block-draggable/test/index.native.js +0 -419
  244. package/src/components/block-draggable/use-scroll-when-dragging.native.js +0 -135
  245. package/src/components/block-edit/edit.native.js +0 -49
  246. package/src/components/block-edit/test/edit.native.js +0 -65
  247. package/src/components/block-heading-level-dropdown/index.native.js +0 -68
  248. package/src/components/block-icon/index.native.js +0 -47
  249. package/src/components/block-icon/style.native.scss +0 -7
  250. package/src/components/block-list/block-crash-boundary.native.js +0 -43
  251. package/src/components/block-list/block-crash-warning.native.js +0 -21
  252. package/src/components/block-list/block-invalid-warning.native.js +0 -70
  253. package/src/components/block-list/block-list-context.native.js +0 -172
  254. package/src/components/block-list/block-list-item-cell.native.js +0 -62
  255. package/src/components/block-list/block-list-item.native.js +0 -209
  256. package/src/components/block-list/block-list-item.native.scss +0 -16
  257. package/src/components/block-list/block-outline.native.js +0 -77
  258. package/src/components/block-list/block-selection-button.native.js +0 -100
  259. package/src/components/block-list/block-selection-button.native.scss +0 -34
  260. package/src/components/block-list/block.native.js +0 -716
  261. package/src/components/block-list/block.native.scss +0 -62
  262. package/src/components/block-list/grid-item.native.js +0 -58
  263. package/src/components/block-list/index.native.js +0 -437
  264. package/src/components/block-list/insertion-point.native.js +0 -36
  265. package/src/components/block-list/style.native.scss +0 -117
  266. package/src/components/block-list/test/block-invalid-warning.native.js +0 -62
  267. package/src/components/block-list/test/block-list-context.native.js +0 -243
  268. package/src/components/block-list/test/block-outline.native.js +0 -255
  269. package/src/components/block-list/test/fixtures/block-list-context.native.js +0 -79
  270. package/src/components/block-list/test/index.native.js +0 -205
  271. package/src/components/block-list/use-block-props/index.native.js +0 -10
  272. package/src/components/block-list/use-scroll-upon-insertion.native.js +0 -52
  273. package/src/components/block-list-appender/index.native.js +0 -70
  274. package/src/components/block-list-appender/style.native.scss +0 -8
  275. package/src/components/block-media-update-progress/README.md +0 -100
  276. package/src/components/block-media-update-progress/index.native.js +0 -299
  277. package/src/components/block-media-update-progress/styles.native.scss +0 -9
  278. package/src/components/block-media-update-progress/test/index.native.js +0 -543
  279. package/src/components/block-mover/index.native.js +0 -193
  280. package/src/components/block-mover/mover-description.native.js +0 -155
  281. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +0 -218
  282. package/src/components/block-mover/test/index.native.js +0 -186
  283. package/src/components/block-settings/button.native.js +0 -41
  284. package/src/components/block-settings/container.native.js +0 -91
  285. package/src/components/block-settings/container.native.scss +0 -4
  286. package/src/components/block-settings/index.native.js +0 -5
  287. package/src/components/block-styles/index.native.js +0 -94
  288. package/src/components/block-styles/preview.native.js +0 -109
  289. package/src/components/block-styles/style.native.scss +0 -64
  290. package/src/components/block-switcher/block-transformations-menu.native.js +0 -91
  291. package/src/components/block-toolbar/block-toolbar-menu.native.js +0 -477
  292. package/src/components/block-toolbar/index.native.js +0 -126
  293. package/src/components/block-toolbar/test/__snapshots__/block-toolbar-menu.native.js.snap +0 -125
  294. package/src/components/block-toolbar/test/block-toolbar-menu.native.js +0 -405
  295. package/src/components/block-toolbar/test/index.native.js +0 -36
  296. package/src/components/block-types-list/index.native.js +0 -175
  297. package/src/components/block-types-list/style.native.scss +0 -25
  298. package/src/components/block-variation-picker/index.native.js +0 -107
  299. package/src/components/block-variation-picker/style.native.scss +0 -32
  300. package/src/components/button-block-appender/index.native.js +0 -92
  301. package/src/components/button-block-appender/styles.native.scss +0 -43
  302. package/src/components/caption/README.md +0 -44
  303. package/src/components/caption/index.native.js +0 -61
  304. package/src/components/colors-gradients/panel-color-gradient-settings.native.js +0 -59
  305. package/src/components/contrast-checker/index.native.js +0 -113
  306. package/src/components/contrast-checker/style.native.scss +0 -26
  307. package/src/components/convert-to-group-buttons/index.native.js +0 -79
  308. package/src/components/default-block-appender/index.native.js +0 -113
  309. package/src/components/default-block-appender/style.native.scss +0 -18
  310. package/src/components/floating-toolbar/floatingToolbar.android.scss +0 -4
  311. package/src/components/floating-toolbar/floatingToolbar.ios.scss +0 -3
  312. package/src/components/floating-toolbar/index.native.js +0 -141
  313. package/src/components/floating-toolbar/styles.native.scss +0 -43
  314. package/src/components/font-sizes/index.native.js +0 -7
  315. package/src/components/global-styles/color-panel.native.js +0 -207
  316. package/src/components/global-styles/test/use-global-styles-context.native.js +0 -435
  317. package/src/components/global-styles/use-global-styles-context.native.js +0 -592
  318. package/src/components/gradients/index.native.js +0 -2
  319. package/src/components/image-link-destinations/index.native.js +0 -152
  320. package/src/components/image-link-destinations/style.native.scss +0 -16
  321. package/src/components/index.native.js +0 -108
  322. package/src/components/inner-blocks/constants.native.js +0 -5
  323. package/src/components/inner-blocks/index.native.js +0 -221
  324. package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +0 -124
  325. package/src/components/inserter/block-types-tab.native.js +0 -76
  326. package/src/components/inserter/hooks/use-block-type-impressions.native.js +0 -47
  327. package/src/components/inserter/hooks/use-clipboard-block.native.js +0 -40
  328. package/src/components/inserter/index.native.js +0 -424
  329. package/src/components/inserter/menu.native.js +0 -237
  330. package/src/components/inserter/no-results.native.js +0 -49
  331. package/src/components/inserter/reusable-blocks-tab.native.js +0 -45
  332. package/src/components/inserter/search-results.native.js +0 -67
  333. package/src/components/inserter/style.native.scss +0 -83
  334. package/src/components/inserter/tabs.native.js +0 -152
  335. package/src/components/inserter/test/__snapshots__/index.native.js.snap +0 -117
  336. package/src/components/inserter/test/fixtures/index.native.js +0 -12
  337. package/src/components/inserter/test/index.native.js +0 -273
  338. package/src/components/inserter/test/reusable-blocks-tab.native.js +0 -62
  339. package/src/components/inserter/test/utils.native.js +0 -37
  340. package/src/components/inserter/utils.native.js +0 -46
  341. package/src/components/inserter-button/index.native.js +0 -108
  342. package/src/components/inserter-button/style.native.scss +0 -72
  343. package/src/components/inspector-controls/fill.native.js +0 -62
  344. package/src/components/inspector-controls/slot.native.js +0 -35
  345. package/src/components/inspector-controls-tabs/advanced-controls-panel.native.js +0 -31
  346. package/src/components/line-height-control/index.native.js +0 -28
  347. package/src/components/media-placeholder/index.native.js +0 -258
  348. package/src/components/media-placeholder/styles.native.scss +0 -108
  349. package/src/components/media-replace-flow/index.native.js +0 -12
  350. package/src/components/media-upload/constants.native.js +0 -14
  351. package/src/components/media-upload/index.native.js +0 -356
  352. package/src/components/media-upload/style.native.scss +0 -4
  353. package/src/components/media-upload/test/index.native.js +0 -172
  354. package/src/components/media-upload-progress/README.md +0 -100
  355. package/src/components/media-upload-progress/constants.js +0 -6
  356. package/src/components/media-upload-progress/index.native.js +0 -233
  357. package/src/components/media-upload-progress/styles.native.scss +0 -15
  358. package/src/components/media-upload-progress/test/index.native.js +0 -220
  359. package/src/components/plain-text/index.native.js +0 -164
  360. package/src/components/plain-text/style.native.scss +0 -10
  361. package/src/components/provider/index.native.js +0 -32
  362. package/src/components/rich-text/embed-handler-picker.native.js +0 -65
  363. package/src/components/rich-text/file-paste-handler.native.js +0 -3
  364. package/src/components/rich-text/format-toolbar/index.native.js +0 -21
  365. package/src/components/rich-text/format-toolbar-container.native.js +0 -16
  366. package/src/components/rich-text/index.native.js +0 -701
  367. package/src/components/rich-text/input-event.native.js +0 -10
  368. package/src/components/rich-text/native/format-edit.js +0 -44
  369. package/src/components/rich-text/native/get-format-colors.native.js +0 -47
  370. package/src/components/rich-text/native/index.js +0 -1
  371. package/src/components/rich-text/native/index.native.js +0 -1389
  372. package/src/components/rich-text/native/style.native.scss +0 -28
  373. package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +0 -79
  374. package/src/components/rich-text/native/test/index.native.js +0 -345
  375. package/src/components/rich-text/native/test/performance/rich-text.native.js +0 -44
  376. package/src/components/rich-text/native/toolbar-button-with-options.native.js +0 -61
  377. package/src/components/rich-text/native/use-format-types.js +0 -146
  378. package/src/components/rich-text/remove-browser-shortcuts.native.js +0 -1
  379. package/src/components/rich-text/shortcut.native.js +0 -10
  380. package/src/components/ungroup-button/README.md +0 -23
  381. package/src/components/ungroup-button/index.native.js +0 -77
  382. package/src/components/unsupported-block-details/index.native.js +0 -187
  383. package/src/components/unsupported-block-details/style.native.scss +0 -56
  384. package/src/components/url-input/index.native.js +0 -33
  385. package/src/components/use-block-drop-zone/index.native.js +0 -207
  386. package/src/components/use-on-block-drop/index.native.js +0 -115
  387. package/src/components/use-unsupported-block-editor/index.native.js +0 -59
  388. package/src/components/video-player/gridicon-play.native.js +0 -13
  389. package/src/components/video-player/index.native.js +0 -133
  390. package/src/components/video-player/styles.native.scss +0 -29
  391. package/src/components/warning/index.native.js +0 -64
  392. package/src/components/warning/style.native.scss +0 -47
  393. package/src/hooks/align.native.js +0 -49
  394. package/src/hooks/custom-class-name.native.js +0 -70
  395. package/src/hooks/index.native.js +0 -36
  396. package/src/hooks/layout.native.js +0 -23
  397. package/src/hooks/test/__snapshots__/align.native.js.snap +0 -73
  398. package/src/hooks/test/__snapshots__/anchor.native.js.snap +0 -7
  399. package/src/hooks/test/align.native.js +0 -134
  400. package/src/hooks/test/anchor.native.js +0 -32
  401. package/src/hooks/test/use-editor-wrapper-styles.native.js +0 -282
  402. package/src/hooks/typography.native.js +0 -60
  403. package/src/hooks/use-editor-wrapper-styles.native.js +0 -250
  404. package/src/hooks/use-editor-wrapper-styles.native.scss +0 -12
  405. package/src/index.native.js +0 -6
  406. package/src/private-apis.native.js +0 -21
  407. package/src/store/defaults.native.js +0 -23
@@ -1,701 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import clsx from 'clsx';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { Platform, useRef, useCallback, forwardRef } from '@wordpress/element';
10
- import { useDispatch, useSelect } from '@wordpress/data';
11
- import {
12
- pasteHandler,
13
- children as childrenSource,
14
- getBlockTransforms,
15
- findTransform,
16
- isUnmodifiedDefaultBlock,
17
- } from '@wordpress/blocks';
18
- import { useInstanceId, useMergeRefs } from '@wordpress/compose';
19
- import {
20
- __unstableCreateElement,
21
- isEmpty,
22
- insert,
23
- remove,
24
- create,
25
- split,
26
- toHTMLString,
27
- } from '@wordpress/rich-text';
28
- import { isURL } from '@wordpress/url';
29
-
30
- /**
31
- * Internal dependencies
32
- */
33
- import Autocomplete from '../autocomplete';
34
- import { useBlockEditContext } from '../block-edit';
35
- import { RemoveBrowserShortcuts } from './remove-browser-shortcuts';
36
- import { filePasteHandler } from './file-paste-handler';
37
- import FormatToolbarContainer from './format-toolbar-container';
38
- import { store as blockEditorStore } from '../../store';
39
- import {
40
- addActiveFormats,
41
- getAllowedFormats,
42
- createLinkInParagraph,
43
- } from './utils';
44
- import EmbedHandlerPicker from './embed-handler-picker';
45
- import { Content } from './content';
46
- import RichText from './native';
47
- import { withDeprecations } from './with-deprecations';
48
- import { findSelection } from './event-listeners/input-rules';
49
- import { START_OF_SELECTED_AREA } from '../../utils/selection';
50
-
51
- const classes = 'block-editor-rich-text__editable';
52
-
53
- export function RichTextWrapper(
54
- {
55
- children,
56
- tagName,
57
- start,
58
- reversed,
59
- value: originalValue,
60
- onChange: originalOnChange,
61
- isSelected: originalIsSelected,
62
- inlineToolbar,
63
- wrapperClassName,
64
- autocompleters,
65
- onReplace,
66
- placeholder,
67
- allowedFormats,
68
- withoutInteractiveFormatting,
69
- onRemove,
70
- onMerge,
71
- onSplit,
72
- __unstableOnSplitAtEnd: onSplitAtEnd,
73
- __unstableOnSplitMiddle: onSplitMiddle,
74
- __unstableOnSplitAtDoubleLineEnd: onSplitAtDoubleLineEnd,
75
- identifier,
76
- preserveWhiteSpace,
77
- __unstablePastePlainText: pastePlainText,
78
- __unstableEmbedURLOnPaste,
79
- __unstableDisableFormats: disableFormats,
80
- disableLineBreaks,
81
- unstableOnFocus,
82
- __unstableAllowPrefixTransformations,
83
- // Native props.
84
- __unstableUseSplitSelection,
85
- __unstableMobileNoFocusOnMount,
86
- deleteEnter,
87
- placeholderTextColor,
88
- textAlign,
89
- selectionColor,
90
- tagsToEliminate,
91
- disableEditingMenu,
92
- fontSize,
93
- fontFamily,
94
- fontWeight,
95
- fontStyle,
96
- minWidth,
97
- maxWidth,
98
- onBlur,
99
- disableSuggestions,
100
- disableAutocorrection,
101
- containerWidth,
102
- onEnter: onCustomEnter,
103
- ...props
104
- },
105
- providedRef
106
- ) {
107
- const instanceId = useInstanceId( RichTextWrapper );
108
-
109
- identifier = identifier || instanceId;
110
-
111
- const fallbackRef = useRef();
112
- const { clientId, isSelected: blockIsSelected } = useBlockEditContext();
113
- const embedHandlerPickerRef = useRef();
114
- const selector = ( select ) => {
115
- const {
116
- getSelectionStart,
117
- getSelectionEnd,
118
- getSettings,
119
- didAutomaticChange,
120
- getBlock,
121
- isMultiSelecting,
122
- hasMultiSelection,
123
- getSelectedBlockClientId,
124
- } = select( blockEditorStore );
125
-
126
- const selectionStart = getSelectionStart();
127
- const selectionEnd = getSelectionEnd();
128
- const { __experimentalUndo: undo } = getSettings();
129
-
130
- let isSelected;
131
-
132
- if ( originalIsSelected === undefined ) {
133
- isSelected =
134
- selectionStart.clientId === clientId &&
135
- selectionStart.attributeKey === identifier;
136
- } else if ( originalIsSelected ) {
137
- isSelected = selectionStart.clientId === clientId;
138
- }
139
-
140
- let extraProps = {};
141
- if ( Platform.OS === 'native' ) {
142
- // If the block of this RichText is unmodified then it's a candidate for replacing when adding a new block.
143
- // In order to fix https://github.com/wordpress-mobile/gutenberg-mobile/issues/1126, let's blur on unmount in that case.
144
- // This apparently assumes functionality the BlockHlder actually.
145
- const block = clientId && getBlock( clientId );
146
- const shouldBlurOnUnmount =
147
- block && isSelected && isUnmodifiedDefaultBlock( block );
148
- extraProps = {
149
- shouldBlurOnUnmount,
150
- };
151
- }
152
-
153
- return {
154
- selectionStart: isSelected ? selectionStart.offset : undefined,
155
- selectionEnd: isSelected ? selectionEnd.offset : undefined,
156
- isSelected,
157
- didAutomaticChange: didAutomaticChange(),
158
- disabled: isMultiSelecting() || hasMultiSelection(),
159
- undo,
160
- getSelectedBlockClientId,
161
- ...extraProps,
162
- };
163
- };
164
- // This selector must run on every render so the right selection state is
165
- // retrieved from the store on merge.
166
- // To do: fix this somehow.
167
- const {
168
- selectionStart,
169
- selectionEnd,
170
- isSelected,
171
- getSelectedBlockClientId,
172
- didAutomaticChange,
173
- disabled,
174
- undo,
175
- shouldBlurOnUnmount,
176
- } = useSelect( selector );
177
- const {
178
- __unstableMarkLastChangeAsPersistent,
179
- enterFormattedText,
180
- exitFormattedText,
181
- selectionChange,
182
- __unstableMarkAutomaticChange,
183
- __unstableSplitSelection,
184
- clearSelectedBlock,
185
- } = useDispatch( blockEditorStore );
186
- const adjustedAllowedFormats = getAllowedFormats( {
187
- allowedFormats,
188
- disableFormats,
189
- } );
190
- const hasFormats =
191
- ! adjustedAllowedFormats || adjustedAllowedFormats.length > 0;
192
- let adjustedValue = originalValue;
193
- let adjustedOnChange = originalOnChange;
194
-
195
- // Handle deprecated format.
196
- if ( Array.isArray( originalValue ) ) {
197
- adjustedValue = childrenSource.toHTML( originalValue );
198
- adjustedOnChange = ( newValue ) =>
199
- originalOnChange(
200
- childrenSource.fromDOM(
201
- __unstableCreateElement( document, newValue ).childNodes
202
- )
203
- );
204
- }
205
-
206
- const onSelectionChange = useCallback(
207
- ( selectionChangeStart, selectionChangeEnd ) => {
208
- selectionChange(
209
- clientId,
210
- identifier,
211
- selectionChangeStart,
212
- selectionChangeEnd
213
- );
214
- },
215
- [ clientId, identifier ]
216
- );
217
-
218
- const clearCurrentSelectionOnUnmount = useCallback( () => {
219
- if ( getSelectedBlockClientId() === clientId ) {
220
- clearSelectedBlock();
221
- }
222
- }, [ clearSelectedBlock, clientId, getSelectedBlockClientId ] );
223
-
224
- const onDelete = useCallback(
225
- ( { value, isReverse } ) => {
226
- if ( onMerge ) {
227
- onMerge( ! isReverse );
228
- }
229
-
230
- // Only handle remove on Backspace. This serves dual-purpose of being
231
- // an intentional user interaction distinguishing between Backspace and
232
- // Delete to remove the empty field, but also to avoid merge & remove
233
- // causing destruction of two fields (merge, then removed merged).
234
- else if ( onRemove && isEmpty( value ) && isReverse ) {
235
- onRemove( ! isReverse );
236
- }
237
- },
238
- [ onMerge, onRemove ]
239
- );
240
-
241
- /**
242
- * Signals to the RichText owner that the block can be replaced with two
243
- * blocks as a result of splitting the block by pressing enter, or with
244
- * blocks as a result of splitting the block by pasting block content in the
245
- * instance.
246
- *
247
- * @param {Object} record The rich text value to split.
248
- * @param {Array} pastedBlocks The pasted blocks to insert, if any.
249
- */
250
- const splitValue = useCallback(
251
- ( record, pastedBlocks = [] ) => {
252
- if ( ! onReplace || ! onSplit ) {
253
- return;
254
- }
255
-
256
- const blocks = [];
257
- const [ before, after ] = split( record );
258
- const hasPastedBlocks = pastedBlocks.length > 0;
259
- let lastPastedBlockIndex = -1;
260
-
261
- // Consider the after value to be the original it is not empty and
262
- // the before value *is* empty.
263
- const isAfterOriginal = isEmpty( before ) && ! isEmpty( after );
264
-
265
- // Create a block with the content before the caret if there's no pasted
266
- // blocks, or if there are pasted blocks and the value is not empty.
267
- // We do not want a leading empty block on paste, but we do if split
268
- // with e.g. the enter key.
269
- if ( ! hasPastedBlocks || ! isEmpty( before ) ) {
270
- blocks.push(
271
- onSplit(
272
- toHTMLString( { value: before } ),
273
- ! isAfterOriginal
274
- )
275
- );
276
- lastPastedBlockIndex += 1;
277
- }
278
-
279
- if ( hasPastedBlocks ) {
280
- blocks.push( ...pastedBlocks );
281
- lastPastedBlockIndex += pastedBlocks.length;
282
- } else if ( onSplitMiddle ) {
283
- blocks.push( onSplitMiddle() );
284
- }
285
-
286
- // If there's pasted blocks, append a block with non empty content
287
- // after the caret. Otherwise, do append an empty block if there
288
- // is no `onSplitMiddle` prop, but if there is and the content is
289
- // empty, the middle block is enough to set focus in.
290
- if (
291
- hasPastedBlocks
292
- ? ! isEmpty( after )
293
- : ! onSplitMiddle || ! isEmpty( after )
294
- ) {
295
- blocks.push(
296
- onSplit( toHTMLString( { value: after } ), isAfterOriginal )
297
- );
298
- }
299
-
300
- // If there are pasted blocks, set the selection to the last one.
301
- // Otherwise, set the selection to the second block.
302
- const indexToSelect = hasPastedBlocks ? lastPastedBlockIndex : 1;
303
-
304
- // If there are pasted blocks, move the caret to the end of the selected block
305
- // Otherwise, retain the default value.
306
- const initialPosition = hasPastedBlocks ? -1 : 0;
307
-
308
- onReplace( blocks, indexToSelect, initialPosition );
309
- },
310
- [ onReplace, onSplit, onSplitMiddle ]
311
- );
312
-
313
- const onEnter = useCallback(
314
- ( { value, onChange, shiftKey } ) => {
315
- const canSplit = onReplace && onSplit;
316
-
317
- if ( onReplace ) {
318
- const transforms = getBlockTransforms( 'from' ).filter(
319
- ( { type } ) => type === 'enter'
320
- );
321
- const transformation = findTransform( transforms, ( item ) => {
322
- return item.regExp.test( value.text );
323
- } );
324
-
325
- if ( transformation ) {
326
- onReplace( [
327
- transformation.transform( { content: value.text } ),
328
- ] );
329
- __unstableMarkAutomaticChange();
330
- return;
331
- }
332
- }
333
-
334
- if ( onCustomEnter ) {
335
- onCustomEnter();
336
- }
337
-
338
- const { text, start: splitStart, end: splitEnd } = value;
339
- const canSplitAtEnd =
340
- onSplitAtEnd &&
341
- splitStart === splitEnd &&
342
- splitEnd === text.length;
343
-
344
- if ( shiftKey ) {
345
- if ( ! disableLineBreaks ) {
346
- onChange( insert( value, '\n' ) );
347
- }
348
- } else if ( canSplit ) {
349
- splitValue( value );
350
- } else if ( __unstableUseSplitSelection ) {
351
- __unstableSplitSelection();
352
- } else if ( canSplitAtEnd ) {
353
- onSplitAtEnd();
354
- } else if (
355
- // For some blocks it's desirable to split at the end of the
356
- // block when there are two line breaks at the end of the
357
- // block, so triple Enter exits the block.
358
- onSplitAtDoubleLineEnd &&
359
- splitStart === splitEnd &&
360
- splitEnd === text.length &&
361
- text.slice( -2 ) === '\n\n'
362
- ) {
363
- value.start = value.end - 2;
364
- onChange( remove( value ) );
365
- onSplitAtDoubleLineEnd();
366
- } else if ( ! disableLineBreaks ) {
367
- onChange( insert( value, '\n' ) );
368
- }
369
- },
370
- [
371
- onReplace,
372
- onSplit,
373
- __unstableMarkAutomaticChange,
374
- splitValue,
375
- onSplitAtEnd,
376
- ]
377
- );
378
-
379
- const onPaste = useCallback(
380
- ( {
381
- value,
382
- onChange,
383
- html,
384
- plainText,
385
- isInternal,
386
- files,
387
- activeFormats,
388
- } ) => {
389
- // If the data comes from a rich text instance, we can directly use it
390
- // without filtering the data. The filters are only meant for externally
391
- // pasted content and remove inline styles.
392
- if ( isInternal ) {
393
- const pastedValue = create( {
394
- html,
395
- preserveWhiteSpace,
396
- } );
397
- addActiveFormats( pastedValue, activeFormats );
398
- onChange( insert( value, pastedValue ) );
399
- return;
400
- }
401
-
402
- if ( pastePlainText ) {
403
- onChange( insert( value, create( { text: plainText } ) ) );
404
- return;
405
- }
406
-
407
- // Only process file if no HTML is present.
408
- // Note: a pasted file may have the URL as plain text.
409
- if ( files && files.length && ! html ) {
410
- const content = pasteHandler( {
411
- HTML: filePasteHandler( files ),
412
- mode: 'BLOCKS',
413
- tagName,
414
- preserveWhiteSpace,
415
- } );
416
-
417
- window.console.log( 'Received items:\n\n', files );
418
-
419
- if ( onReplace && isEmpty( value ) ) {
420
- onReplace( content );
421
- } else {
422
- splitValue( value, content );
423
- }
424
-
425
- return;
426
- }
427
-
428
- let mode = onReplace && onSplit ? 'AUTO' : 'INLINE';
429
-
430
- const isPastedURL = isURL( plainText.trim() );
431
- const presentEmbedHandlerPicker = () =>
432
- embedHandlerPickerRef.current?.presentPicker( {
433
- createEmbed: () =>
434
- onReplace( content, content.length - 1, -1 ),
435
- createLink: () =>
436
- createLinkInParagraph( plainText.trim(), onReplace ),
437
- } );
438
-
439
- if (
440
- __unstableEmbedURLOnPaste &&
441
- isEmpty( value ) &&
442
- isPastedURL
443
- ) {
444
- mode = 'BLOCKS';
445
- }
446
-
447
- const content = pasteHandler( {
448
- HTML: html,
449
- plainText,
450
- mode,
451
- tagName,
452
- preserveWhiteSpace,
453
- } );
454
-
455
- if ( typeof content === 'string' ) {
456
- const valueToInsert = create( { html: content } );
457
- addActiveFormats( valueToInsert, activeFormats );
458
- onChange( insert( value, valueToInsert ) );
459
- } else if ( content.length > 0 ) {
460
- // When an URL is pasted in an empty paragraph then the EmbedHandlerPicker should showcase options allowing the transformation of that URL
461
- // into either an Embed block or a link within the target paragraph. If the paragraph is non-empty, the URL is pasted as text.
462
- const canPasteEmbed =
463
- isPastedURL &&
464
- content.length === 1 &&
465
- content[ 0 ].name === 'core/embed';
466
- if ( onReplace && isEmpty( value ) ) {
467
- if ( canPasteEmbed ) {
468
- onChange(
469
- insert( value, create( { text: plainText } ) )
470
- );
471
- if ( __unstableEmbedURLOnPaste ) {
472
- presentEmbedHandlerPicker();
473
- }
474
- return;
475
- }
476
- onReplace( content, content.length - 1, -1, {
477
- source: 'clipboard',
478
- } );
479
- } else {
480
- if ( canPasteEmbed ) {
481
- onChange(
482
- insert( value, create( { text: plainText } ) )
483
- );
484
- return;
485
- }
486
- splitValue( value, content );
487
- }
488
- }
489
- },
490
- [
491
- tagName,
492
- onReplace,
493
- onSplit,
494
- splitValue,
495
- __unstableEmbedURLOnPaste,
496
- preserveWhiteSpace,
497
- pastePlainText,
498
- ]
499
- );
500
-
501
- const inputRule = useCallback(
502
- ( value ) => {
503
- if ( ! onReplace ) {
504
- return;
505
- }
506
-
507
- const { start: startPosition, text } = value;
508
- const characterBefore = text.slice(
509
- startPosition - 1,
510
- startPosition
511
- );
512
-
513
- // The character right before the caret must be a plain space.
514
- if ( characterBefore !== ' ' ) {
515
- return;
516
- }
517
-
518
- const trimmedTextBefore = text.slice( 0, start ).trim();
519
- const prefixTransforms = getBlockTransforms( 'from' ).filter(
520
- ( { type } ) => type === 'prefix'
521
- );
522
- const transformation = findTransform(
523
- prefixTransforms,
524
- ( { prefix } ) => {
525
- return trimmedTextBefore === prefix;
526
- }
527
- );
528
-
529
- if ( ! transformation ) {
530
- return;
531
- }
532
-
533
- const content = toHTMLString( {
534
- value: insert( value, START_OF_SELECTED_AREA, 0, start ),
535
- } );
536
- const block = transformation.transform( content );
537
- const currentSelection = findSelection( [ block ] );
538
- onReplace( [ block ] );
539
- selectionChange( ...currentSelection );
540
- __unstableMarkAutomaticChange();
541
- },
542
- [ onReplace, start, selectionChange, __unstableMarkAutomaticChange ]
543
- );
544
-
545
- const mergedRef = useMergeRefs( [ providedRef, fallbackRef ] );
546
-
547
- return (
548
- <RichText
549
- clientId={ clientId }
550
- identifier={ identifier }
551
- nativeEditorRef={ mergedRef }
552
- value={ adjustedValue }
553
- onChange={ adjustedOnChange }
554
- selectionStart={ selectionStart }
555
- selectionEnd={ selectionEnd }
556
- onSelectionChange={ onSelectionChange }
557
- tagName={ tagName }
558
- start={ start }
559
- reversed={ reversed }
560
- placeholder={ placeholder }
561
- allowedFormats={ adjustedAllowedFormats }
562
- withoutInteractiveFormatting={ withoutInteractiveFormatting }
563
- onEnter={ onEnter }
564
- onDelete={ onDelete }
565
- onPaste={ onPaste }
566
- __unstableIsSelected={ isSelected }
567
- __unstableInputRule={ inputRule }
568
- __unstableOnEnterFormattedText={ enterFormattedText }
569
- __unstableOnExitFormattedText={ exitFormattedText }
570
- __unstableOnCreateUndoLevel={ __unstableMarkLastChangeAsPersistent }
571
- __unstableMarkAutomaticChange={ __unstableMarkAutomaticChange }
572
- __unstableDidAutomaticChange={ didAutomaticChange }
573
- __unstableUndo={ undo }
574
- __unstableDisableFormats={ disableFormats }
575
- preserveWhiteSpace={ preserveWhiteSpace }
576
- disabled={ disabled }
577
- unstableOnFocus={ unstableOnFocus }
578
- __unstableAllowPrefixTransformations={
579
- __unstableAllowPrefixTransformations
580
- }
581
- // Native props.
582
- blockIsSelected={
583
- originalIsSelected !== undefined
584
- ? originalIsSelected
585
- : blockIsSelected
586
- }
587
- shouldBlurOnUnmount={ shouldBlurOnUnmount }
588
- __unstableMobileNoFocusOnMount={ __unstableMobileNoFocusOnMount }
589
- deleteEnter={ deleteEnter }
590
- placeholderTextColor={ placeholderTextColor }
591
- textAlign={ textAlign }
592
- selectionColor={ selectionColor }
593
- tagsToEliminate={ tagsToEliminate }
594
- disableEditingMenu={ disableEditingMenu }
595
- fontSize={ fontSize }
596
- fontFamily={ fontFamily }
597
- fontWeight={ fontWeight }
598
- fontStyle={ fontStyle }
599
- minWidth={ minWidth }
600
- maxWidth={ maxWidth }
601
- onBlur={ onBlur }
602
- disableSuggestions={ disableSuggestions }
603
- disableAutocorrection={ disableAutocorrection }
604
- containerWidth={ containerWidth }
605
- clearCurrentSelectionOnUnmount={ clearCurrentSelectionOnUnmount }
606
- // Props to be set on the editable container are destructured on the
607
- // element itself for web (see below), but passed through rich text
608
- // for native.
609
- id={ props.id }
610
- style={ props.style }
611
- >
612
- { ( {
613
- isSelected: nestedIsSelected,
614
- value,
615
- onChange,
616
- onFocus,
617
- editableProps,
618
- editableTagName: TagName,
619
- } ) => (
620
- <>
621
- { children && children( { value, onChange, onFocus } ) }
622
- { nestedIsSelected && hasFormats && (
623
- <FormatToolbarContainer
624
- inline={ inlineToolbar }
625
- anchorRef={ fallbackRef.current }
626
- />
627
- ) }
628
- { nestedIsSelected && <RemoveBrowserShortcuts /> }
629
- <Autocomplete
630
- onReplace={ onReplace }
631
- completers={ autocompleters }
632
- record={ value }
633
- onChange={ onChange }
634
- isSelected={ nestedIsSelected }
635
- contentRef={ fallbackRef }
636
- >
637
- { ( { listBoxId, activeId, onKeyDown } ) => (
638
- <TagName
639
- { ...editableProps }
640
- { ...props }
641
- style={
642
- props.style
643
- ? {
644
- ...props.style,
645
- ...editableProps.style,
646
- }
647
- : editableProps.style
648
- }
649
- className={ clsx(
650
- classes,
651
- props.className,
652
- editableProps.className
653
- ) }
654
- aria-autocomplete={
655
- listBoxId ? 'list' : undefined
656
- }
657
- aria-owns={ listBoxId }
658
- aria-activedescendant={ activeId }
659
- onKeyDown={ ( event ) => {
660
- onKeyDown( event );
661
- editableProps.onKeyDown( event );
662
- } }
663
- />
664
- ) }
665
- </Autocomplete>
666
- <EmbedHandlerPicker ref={ embedHandlerPickerRef } />
667
- </>
668
- ) }
669
- </RichText>
670
- );
671
- }
672
-
673
- // This export does not actually implement a private API, but was exported
674
- // under this name for interoperability with the web version of the RichText
675
- // component.
676
- export const PrivateRichText = withDeprecations(
677
- forwardRef( RichTextWrapper )
678
- );
679
-
680
- PrivateRichText.Content = Content;
681
-
682
- PrivateRichText.isEmpty = ( value ) => {
683
- return ! value || value.length === 0;
684
- };
685
-
686
- PrivateRichText.Content.defaultProps = {
687
- format: 'string',
688
- value: '',
689
- };
690
-
691
- PrivateRichText.Raw = forwardRef( ( props, ref ) => (
692
- <RichText { ...props } nativeEditorRef={ ref } />
693
- ) );
694
-
695
- /**
696
- * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md
697
- */
698
- export default PrivateRichText;
699
- export { RichTextShortcut } from './shortcut';
700
- export { RichTextToolbarButton } from './toolbar-button';
701
- export { RichTextInputEvent as __unstableRichTextInputEvent } from './input-event';
@@ -1,10 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { Component } from '@wordpress/element';
5
-
6
- export class RichTextInputEvent extends Component {
7
- render() {
8
- return null;
9
- }
10
- }