@wordpress/block-editor 15.21.0 → 15.22.1-next.v.202606191442.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 (554) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/build/components/block-card/index.cjs +4 -5
  3. package/build/components/block-card/index.cjs.map +2 -2
  4. package/build/components/block-compare/index.cjs +2 -2
  5. package/build/components/block-compare/index.cjs.map +2 -2
  6. package/build/components/block-inspector/index.cjs +3 -4
  7. package/build/components/block-inspector/index.cjs.map +2 -2
  8. package/build/components/block-mover/mover-description.cjs +6 -6
  9. package/build/components/block-mover/mover-description.cjs.map +1 -1
  10. package/build/components/block-patterns-list/index.cjs +1 -1
  11. package/build/components/block-patterns-list/index.cjs.map +2 -2
  12. package/build/components/block-patterns-paging/index.cjs +4 -4
  13. package/build/components/block-patterns-paging/index.cjs.map +2 -2
  14. package/build/components/block-popover/use-popover-scroll.cjs.map +1 -1
  15. package/build/components/block-quick-navigation/index.cjs +7 -5
  16. package/build/components/block-quick-navigation/index.cjs.map +2 -2
  17. package/build/components/block-switcher/block-transformations-menu.cjs +16 -15
  18. package/build/components/block-switcher/block-transformations-menu.cjs.map +2 -2
  19. package/build/components/block-switcher/index.cjs +4 -4
  20. package/build/components/block-switcher/index.cjs.map +2 -2
  21. package/build/components/block-toolbar/edit-section-button.cjs.map +1 -1
  22. package/build/components/block-tools/use-block-toolbar-popover-props.cjs +10 -4
  23. package/build/components/block-tools/use-block-toolbar-popover-props.cjs.map +2 -2
  24. package/build/components/child-layout-control/index.cjs +51 -19
  25. package/build/components/child-layout-control/index.cjs.map +2 -2
  26. package/build/components/dimensions-tool/index.cjs +4 -5
  27. package/build/components/dimensions-tool/index.cjs.map +2 -2
  28. package/build/components/dimensions-tool/scale-tool.cjs +1 -1
  29. package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
  30. package/build/components/global-styles/advanced-panel.cjs +23 -15
  31. package/build/components/global-styles/advanced-panel.cjs.map +2 -2
  32. package/build/components/global-styles/background-panel.cjs +2 -2
  33. package/build/components/global-styles/background-panel.cjs.map +2 -2
  34. package/build/components/global-styles/border-panel.cjs +2 -0
  35. package/build/components/global-styles/border-panel.cjs.map +2 -2
  36. package/build/components/global-styles/dimensions-panel.cjs +2 -2
  37. package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
  38. package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
  39. package/build/components/grid/grid-item-resizer.cjs.map +1 -1
  40. package/build/components/grid/grid-visualizer.cjs.map +1 -1
  41. package/build/components/iframe/index.cjs +6 -3
  42. package/build/components/iframe/index.cjs.map +3 -3
  43. package/build/components/image-editor/use-transform-image.cjs.map +1 -1
  44. package/build/components/inner-blocks/use-inner-block-template-sync.cjs +3 -1
  45. package/build/components/inner-blocks/use-inner-block-template-sync.cjs.map +2 -2
  46. package/build/components/inserter/get-appender-label.cjs.map +1 -1
  47. package/build/components/inserter/hooks/use-patterns-state.cjs +1 -1
  48. package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
  49. package/build/components/inserter/index.cjs +179 -220
  50. package/build/components/inserter/index.cjs.map +3 -3
  51. package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
  52. package/build/components/inserter/search-items.cjs.map +1 -1
  53. package/build/components/inserter/search-results.cjs +1 -1
  54. package/build/components/inserter/search-results.cjs.map +2 -2
  55. package/build/components/inspector-controls/fill.cjs +1 -3
  56. package/build/components/inspector-controls/fill.cjs.map +2 -2
  57. package/build/components/inspector-controls-tabs/index.cjs.map +2 -2
  58. package/build/components/inspector-controls-tabs/styles-tab.cjs +1 -1
  59. package/build/components/inspector-controls-tabs/styles-tab.cjs.map +2 -2
  60. package/build/components/keyboard-shortcuts/index.cjs.map +1 -1
  61. package/build/components/line-height-control/index.cjs.map +1 -1
  62. package/build/components/link-control/index.cjs +1 -1
  63. package/build/components/link-control/index.cjs.map +1 -1
  64. package/build/components/link-control/normalize-url.cjs.map +1 -1
  65. package/build/components/list-view/block-select-button.cjs +10 -12
  66. package/build/components/list-view/block-select-button.cjs.map +2 -2
  67. package/build/components/list-view/block.cjs +2 -1
  68. package/build/components/list-view/block.cjs.map +2 -2
  69. package/build/components/list-view/utils.cjs.map +1 -1
  70. package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
  71. package/build/components/provider/index.cjs.map +1 -1
  72. package/build/components/provider/use-block-sync.cjs +11 -2
  73. package/build/components/provider/use-block-sync.cjs.map +2 -2
  74. package/build/components/rich-text/event-listeners/before-input-rules.cjs +5 -5
  75. package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
  76. package/build/components/rich-text/event-listeners/delete.cjs +4 -4
  77. package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
  78. package/build/components/rich-text/event-listeners/enter.cjs +7 -2
  79. package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
  80. package/build/components/rich-text/event-listeners/input-events.cjs +4 -4
  81. package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
  82. package/build/components/rich-text/event-listeners/input-rules.cjs +17 -4
  83. package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
  84. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +4 -4
  85. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
  86. package/build/components/rich-text/event-listeners/paste-handler.cjs.map +1 -1
  87. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +4 -4
  88. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
  89. package/build/components/rich-text/event-listeners/shortcuts.cjs +4 -4
  90. package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
  91. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +4 -4
  92. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
  93. package/build/components/rich-text/index.cjs +1 -23
  94. package/build/components/rich-text/index.cjs.map +2 -2
  95. package/build/components/rich-text/prevent-event-discovery.cjs +1 -1
  96. package/build/components/rich-text/prevent-event-discovery.cjs.map +1 -1
  97. package/build/components/use-block-commands/index.cjs +5 -5
  98. package/build/components/use-block-commands/index.cjs.map +2 -2
  99. package/build/components/writing-flow/use-tab-nav.cjs.map +1 -1
  100. package/build/hooks/anchor.cjs +12 -16
  101. package/build/hooks/anchor.cjs.map +2 -2
  102. package/build/hooks/background.cjs.map +1 -1
  103. package/build/hooks/block-fields/index.cjs +13 -2
  104. package/build/hooks/block-fields/index.cjs.map +2 -2
  105. package/build/hooks/border.cjs +0 -3
  106. package/build/hooks/border.cjs.map +2 -2
  107. package/build/hooks/color.cjs +1 -4
  108. package/build/hooks/color.cjs.map +2 -2
  109. package/build/hooks/dimensions.cjs +13 -5
  110. package/build/hooks/dimensions.cjs.map +2 -2
  111. package/build/hooks/fit-text.cjs +11 -0
  112. package/build/hooks/fit-text.cjs.map +2 -2
  113. package/build/hooks/layout-child.cjs +27 -2
  114. package/build/hooks/layout-child.cjs.map +2 -2
  115. package/build/hooks/list-view.cjs +10 -7
  116. package/build/hooks/list-view.cjs.map +2 -2
  117. package/build/hooks/position.cjs +19 -22
  118. package/build/hooks/position.cjs.map +2 -2
  119. package/build/hooks/spacing-visualizer.cjs.map +1 -1
  120. package/build/hooks/state-utils.cjs.map +1 -1
  121. package/build/hooks/style.cjs +42 -2
  122. package/build/hooks/style.cjs.map +2 -2
  123. package/build/hooks/supports.cjs +0 -7
  124. package/build/hooks/supports.cjs.map +2 -2
  125. package/build/private-apis.cjs +4 -0
  126. package/build/private-apis.cjs.map +2 -2
  127. package/build/store/actions.cjs +7 -3
  128. package/build/store/actions.cjs.map +2 -2
  129. package/build/store/private-actions.cjs +1 -2
  130. package/build/store/private-actions.cjs.map +2 -2
  131. package/build/store/private-selectors.cjs +42 -2
  132. package/build/store/private-selectors.cjs.map +2 -2
  133. package/build/store/reducer.cjs +14 -6
  134. package/build/store/reducer.cjs.map +2 -2
  135. package/build/store/selectors.cjs +60 -41
  136. package/build/store/selectors.cjs.map +2 -2
  137. package/build/utils/dom.cjs.map +1 -1
  138. package/build/utils/selection.cjs +1 -1
  139. package/build-module/components/block-card/index.mjs +5 -6
  140. package/build-module/components/block-card/index.mjs.map +2 -2
  141. package/build-module/components/block-compare/index.mjs +1 -1
  142. package/build-module/components/block-compare/index.mjs.map +2 -2
  143. package/build-module/components/block-inspector/index.mjs +3 -5
  144. package/build-module/components/block-inspector/index.mjs.map +2 -2
  145. package/build-module/components/block-mover/mover-description.mjs +6 -6
  146. package/build-module/components/block-mover/mover-description.mjs.map +1 -1
  147. package/build-module/components/block-patterns-list/index.mjs +1 -1
  148. package/build-module/components/block-patterns-list/index.mjs.map +2 -2
  149. package/build-module/components/block-patterns-paging/index.mjs +4 -4
  150. package/build-module/components/block-patterns-paging/index.mjs.map +2 -2
  151. package/build-module/components/block-popover/use-popover-scroll.mjs.map +1 -1
  152. package/build-module/components/block-quick-navigation/index.mjs +8 -6
  153. package/build-module/components/block-quick-navigation/index.mjs.map +2 -2
  154. package/build-module/components/block-switcher/block-transformations-menu.mjs +16 -15
  155. package/build-module/components/block-switcher/block-transformations-menu.mjs.map +2 -2
  156. package/build-module/components/block-switcher/index.mjs +4 -4
  157. package/build-module/components/block-switcher/index.mjs.map +2 -2
  158. package/build-module/components/block-toolbar/edit-section-button.mjs.map +1 -1
  159. package/build-module/components/block-tools/use-block-toolbar-popover-props.mjs +10 -4
  160. package/build-module/components/block-tools/use-block-toolbar-popover-props.mjs.map +2 -2
  161. package/build-module/components/child-layout-control/index.mjs +51 -19
  162. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  163. package/build-module/components/dimensions-tool/index.mjs +4 -5
  164. package/build-module/components/dimensions-tool/index.mjs.map +2 -2
  165. package/build-module/components/dimensions-tool/scale-tool.mjs +1 -1
  166. package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
  167. package/build-module/components/global-styles/advanced-panel.mjs +23 -15
  168. package/build-module/components/global-styles/advanced-panel.mjs.map +2 -2
  169. package/build-module/components/global-styles/background-panel.mjs +3 -3
  170. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  171. package/build-module/components/global-styles/border-panel.mjs +2 -0
  172. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  173. package/build-module/components/global-styles/dimensions-panel.mjs +3 -4
  174. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  175. package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
  176. package/build-module/components/grid/grid-item-resizer.mjs.map +1 -1
  177. package/build-module/components/grid/grid-visualizer.mjs.map +1 -1
  178. package/build-module/components/iframe/index.mjs +6 -3
  179. package/build-module/components/iframe/index.mjs.map +2 -2
  180. package/build-module/components/image-editor/use-transform-image.mjs.map +1 -1
  181. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs +3 -1
  182. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs.map +2 -2
  183. package/build-module/components/inserter/get-appender-label.mjs.map +1 -1
  184. package/build-module/components/inserter/hooks/use-patterns-state.mjs +1 -1
  185. package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
  186. package/build-module/components/inserter/index.mjs +185 -222
  187. package/build-module/components/inserter/index.mjs.map +3 -3
  188. package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
  189. package/build-module/components/inserter/search-items.mjs.map +1 -1
  190. package/build-module/components/inserter/search-results.mjs +1 -1
  191. package/build-module/components/inserter/search-results.mjs.map +2 -2
  192. package/build-module/components/inspector-controls/fill.mjs +1 -3
  193. package/build-module/components/inspector-controls/fill.mjs.map +2 -2
  194. package/build-module/components/inspector-controls-tabs/index.mjs.map +2 -2
  195. package/build-module/components/inspector-controls-tabs/styles-tab.mjs +1 -1
  196. package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
  197. package/build-module/components/keyboard-shortcuts/index.mjs.map +1 -1
  198. package/build-module/components/line-height-control/index.mjs.map +1 -1
  199. package/build-module/components/link-control/index.mjs +1 -1
  200. package/build-module/components/link-control/index.mjs.map +1 -1
  201. package/build-module/components/link-control/normalize-url.mjs.map +1 -1
  202. package/build-module/components/list-view/block-select-button.mjs +10 -12
  203. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  204. package/build-module/components/list-view/block.mjs +2 -1
  205. package/build-module/components/list-view/block.mjs.map +2 -2
  206. package/build-module/components/list-view/utils.mjs.map +1 -1
  207. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
  208. package/build-module/components/provider/index.mjs.map +1 -1
  209. package/build-module/components/provider/use-block-sync.mjs +11 -2
  210. package/build-module/components/provider/use-block-sync.mjs.map +2 -2
  211. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs +5 -5
  212. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
  213. package/build-module/components/rich-text/event-listeners/delete.mjs +4 -4
  214. package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
  215. package/build-module/components/rich-text/event-listeners/enter.mjs +7 -2
  216. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  217. package/build-module/components/rich-text/event-listeners/input-events.mjs +4 -4
  218. package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
  219. package/build-module/components/rich-text/event-listeners/input-rules.mjs +17 -4
  220. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  221. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +4 -4
  222. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
  223. package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +1 -1
  224. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +4 -4
  225. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
  226. package/build-module/components/rich-text/event-listeners/shortcuts.mjs +4 -4
  227. package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
  228. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +4 -4
  229. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
  230. package/build-module/components/rich-text/index.mjs +1 -23
  231. package/build-module/components/rich-text/index.mjs.map +2 -2
  232. package/build-module/components/rich-text/prevent-event-discovery.mjs +1 -1
  233. package/build-module/components/rich-text/prevent-event-discovery.mjs.map +1 -1
  234. package/build-module/components/use-block-commands/index.mjs +5 -5
  235. package/build-module/components/use-block-commands/index.mjs.map +2 -2
  236. package/build-module/components/writing-flow/use-tab-nav.mjs.map +1 -1
  237. package/build-module/hooks/anchor.mjs +12 -16
  238. package/build-module/hooks/anchor.mjs.map +2 -2
  239. package/build-module/hooks/background.mjs.map +1 -1
  240. package/build-module/hooks/block-fields/index.mjs +13 -2
  241. package/build-module/hooks/block-fields/index.mjs.map +2 -2
  242. package/build-module/hooks/border.mjs +1 -4
  243. package/build-module/hooks/border.mjs.map +2 -2
  244. package/build-module/hooks/color.mjs +2 -5
  245. package/build-module/hooks/color.mjs.map +2 -2
  246. package/build-module/hooks/dimensions.mjs +13 -6
  247. package/build-module/hooks/dimensions.mjs.map +2 -2
  248. package/build-module/hooks/fit-text.mjs +11 -0
  249. package/build-module/hooks/fit-text.mjs.map +2 -2
  250. package/build-module/hooks/layout-child.mjs +27 -2
  251. package/build-module/hooks/layout-child.mjs.map +2 -2
  252. package/build-module/hooks/list-view.mjs +10 -7
  253. package/build-module/hooks/list-view.mjs.map +2 -2
  254. package/build-module/hooks/position.mjs +20 -23
  255. package/build-module/hooks/position.mjs.map +2 -2
  256. package/build-module/hooks/spacing-visualizer.mjs.map +1 -1
  257. package/build-module/hooks/state-utils.mjs.map +1 -1
  258. package/build-module/hooks/style.mjs +44 -3
  259. package/build-module/hooks/style.mjs.map +2 -2
  260. package/build-module/hooks/supports.mjs +0 -7
  261. package/build-module/hooks/supports.mjs.map +2 -2
  262. package/build-module/private-apis.mjs +8 -0
  263. package/build-module/private-apis.mjs.map +2 -2
  264. package/build-module/store/actions.mjs +7 -3
  265. package/build-module/store/actions.mjs.map +2 -2
  266. package/build-module/store/private-actions.mjs +1 -2
  267. package/build-module/store/private-actions.mjs.map +2 -2
  268. package/build-module/store/private-selectors.mjs +39 -1
  269. package/build-module/store/private-selectors.mjs.map +2 -2
  270. package/build-module/store/reducer.mjs +14 -6
  271. package/build-module/store/reducer.mjs.map +2 -2
  272. package/build-module/store/selectors.mjs +62 -42
  273. package/build-module/store/selectors.mjs.map +2 -2
  274. package/build-module/utils/dom.mjs.map +1 -1
  275. package/build-module/utils/selection.mjs +1 -1
  276. package/build-style/content-rtl.css +12 -0
  277. package/build-style/content.css +12 -0
  278. package/build-style/style-rtl.css +26 -8
  279. package/build-style/style.css +26 -8
  280. package/package.json +54 -46
  281. package/src/components/block-breadcrumb/README.md +2 -2
  282. package/src/components/block-card/index.js +7 -13
  283. package/src/components/block-compare/README.md +6 -6
  284. package/src/components/block-compare/index.js +1 -3
  285. package/src/components/block-inspector/index.js +2 -10
  286. package/src/components/block-patterns-list/index.js +1 -2
  287. package/src/components/block-preview/README.md +1 -1
  288. package/src/components/block-quick-navigation/index.js +7 -7
  289. package/src/components/block-switcher/block-transformations-menu.js +16 -18
  290. package/src/components/block-switcher/index.js +4 -4
  291. package/src/components/block-tools/use-block-toolbar-popover-props.js +10 -4
  292. package/src/components/block-types-list/README.md +0 -19
  293. package/src/components/child-layout-control/index.js +65 -20
  294. package/src/components/child-layout-control/test/index.js +64 -0
  295. package/src/components/dimensions-tool/index.js +4 -9
  296. package/src/components/dimensions-tool/scale-tool.js +1 -2
  297. package/src/components/dimensions-tool/test/index.js +89 -11
  298. package/src/components/global-styles/advanced-panel.js +5 -1
  299. package/src/components/global-styles/background-panel.js +3 -3
  300. package/src/components/global-styles/border-panel.js +2 -0
  301. package/src/components/global-styles/dimensions-panel.js +13 -15
  302. package/src/components/global-styles/shadow-panel-components.js +0 -1
  303. package/src/components/iframe/index.js +8 -3
  304. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -1
  305. package/src/components/inserter/hooks/use-patterns-state.js +1 -1
  306. package/src/components/inserter/index.js +257 -288
  307. package/src/components/inserter/media-tab/media-preview.js +0 -1
  308. package/src/components/inserter/search-results.js +1 -3
  309. package/src/components/inspector-controls/fill.js +6 -8
  310. package/src/components/inspector-controls-tabs/index.js +0 -1
  311. package/src/components/inspector-controls-tabs/styles-tab.js +5 -1
  312. package/src/components/justify-content-control/README.md +1 -1
  313. package/src/components/list-view/block-select-button.js +9 -14
  314. package/src/components/list-view/block.js +1 -0
  315. package/src/components/media-placeholder/README.md +1 -29
  316. package/src/components/media-upload/README.md +0 -19
  317. package/src/components/preset-input-control/custom-value-controls.js +0 -1
  318. package/src/components/provider/test/use-block-sync.js +40 -0
  319. package/src/components/provider/use-block-sync.js +12 -2
  320. package/src/components/rich-text/event-listeners/before-input-rules.js +5 -4
  321. package/src/components/rich-text/event-listeners/delete.js +9 -4
  322. package/src/components/rich-text/event-listeners/enter.js +9 -2
  323. package/src/components/rich-text/event-listeners/input-events.js +13 -4
  324. package/src/components/rich-text/event-listeners/input-rules.js +20 -4
  325. package/src/components/rich-text/event-listeners/insert-replacement-text.js +9 -4
  326. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +9 -4
  327. package/src/components/rich-text/event-listeners/shortcuts.js +13 -4
  328. package/src/components/rich-text/event-listeners/undo-automatic-change.js +5 -4
  329. package/src/components/rich-text/index.js +1 -33
  330. package/src/components/unit-control/README.md +1 -1
  331. package/src/components/url-popover/README.md +1 -1
  332. package/src/components/use-block-commands/index.js +5 -5
  333. package/src/hooks/anchor.js +9 -17
  334. package/src/hooks/block-fields/index.js +27 -2
  335. package/src/hooks/border.js +1 -5
  336. package/src/hooks/color.js +1 -6
  337. package/src/hooks/dimensions.js +15 -8
  338. package/src/hooks/fit-text.js +16 -0
  339. package/src/hooks/layout-child.js +41 -2
  340. package/src/hooks/list-view.js +10 -11
  341. package/src/hooks/position.js +23 -27
  342. package/src/hooks/style.js +80 -2
  343. package/src/hooks/supports.js +0 -9
  344. package/src/hooks/test/dimensions.js +71 -0
  345. package/src/hooks/test/layout-child.js +165 -0
  346. package/src/hooks/test/style.js +126 -4
  347. package/src/private-apis.js +8 -0
  348. package/src/store/actions.js +13 -3
  349. package/src/store/private-actions.js +1 -4
  350. package/src/store/private-selectors.js +89 -0
  351. package/src/store/reducer.js +19 -7
  352. package/src/store/selectors.js +91 -53
  353. package/src/store/test/actions.js +21 -0
  354. package/src/store/test/private-selectors.js +138 -0
  355. package/src/store/test/reducer.js +46 -0
  356. package/src/store/test/selectors.js +77 -0
  357. package/build/components/media-upload-progress/constants.cjs +0 -46
  358. package/build/components/media-upload-progress/constants.cjs.map +0 -7
  359. package/build/components/rich-text/native/format-edit.cjs +0 -60
  360. package/build/components/rich-text/native/format-edit.cjs.map +0 -7
  361. package/build/components/rich-text/native/index.cjs +0 -28
  362. package/build/components/rich-text/native/index.cjs.map +0 -7
  363. package/build/components/rich-text/native/use-format-types.cjs +0 -139
  364. package/build/components/rich-text/native/use-format-types.cjs.map +0 -7
  365. package/build-module/components/media-upload-progress/constants.mjs +0 -16
  366. package/build-module/components/media-upload-progress/constants.mjs.map +0 -7
  367. package/build-module/components/rich-text/native/format-edit.mjs +0 -39
  368. package/build-module/components/rich-text/native/format-edit.mjs.map +0 -7
  369. package/build-module/components/rich-text/native/index.mjs +0 -7
  370. package/build-module/components/rich-text/native/index.mjs.map +0 -7
  371. package/build-module/components/rich-text/native/use-format-types.mjs +0 -114
  372. package/build-module/components/rich-text/native/use-format-types.mjs.map +0 -7
  373. package/src/components/audio-player/audio-url-parser.native.js +0 -20
  374. package/src/components/audio-player/index.native.js +0 -225
  375. package/src/components/audio-player/styles.native.scss +0 -114
  376. package/src/components/audio-player/test/audio-url-parser.native.js +0 -53
  377. package/src/components/block-alignment-control/test/index.native.js +0 -37
  378. package/src/components/block-alignment-control/ui.native.js +0 -86
  379. package/src/components/block-caption/README.md +0 -104
  380. package/src/components/block-caption/index.native.js +0 -89
  381. package/src/components/block-caption/styles.native.scss +0 -7
  382. package/src/components/block-controls/slot.native.js +0 -33
  383. package/src/components/block-draggable/draggable-chip.native.js +0 -49
  384. package/src/components/block-draggable/dropping-insertion-point.native.js +0 -181
  385. package/src/components/block-draggable/dropping-insertion-point.native.scss +0 -8
  386. package/src/components/block-draggable/index.native.js +0 -467
  387. package/src/components/block-draggable/style.native.scss +0 -19
  388. package/src/components/block-draggable/test/__snapshots__/index.native.js.snap +0 -73
  389. package/src/components/block-draggable/test/helpers.native.js +0 -182
  390. package/src/components/block-draggable/test/index.native.js +0 -419
  391. package/src/components/block-draggable/use-scroll-when-dragging.native.js +0 -135
  392. package/src/components/block-edit/edit.native.js +0 -49
  393. package/src/components/block-edit/test/edit.native.js +0 -65
  394. package/src/components/block-heading-level-dropdown/index.native.js +0 -68
  395. package/src/components/block-icon/index.native.js +0 -47
  396. package/src/components/block-icon/style.native.scss +0 -7
  397. package/src/components/block-list/block-crash-boundary.native.js +0 -43
  398. package/src/components/block-list/block-crash-warning.native.js +0 -21
  399. package/src/components/block-list/block-invalid-warning.native.js +0 -70
  400. package/src/components/block-list/block-list-context.native.js +0 -172
  401. package/src/components/block-list/block-list-item-cell.native.js +0 -62
  402. package/src/components/block-list/block-list-item.native.js +0 -209
  403. package/src/components/block-list/block-list-item.native.scss +0 -16
  404. package/src/components/block-list/block-outline.native.js +0 -77
  405. package/src/components/block-list/block-selection-button.native.js +0 -100
  406. package/src/components/block-list/block-selection-button.native.scss +0 -34
  407. package/src/components/block-list/block.native.js +0 -716
  408. package/src/components/block-list/block.native.scss +0 -62
  409. package/src/components/block-list/grid-item.native.js +0 -58
  410. package/src/components/block-list/index.native.js +0 -437
  411. package/src/components/block-list/insertion-point.native.js +0 -36
  412. package/src/components/block-list/style.native.scss +0 -117
  413. package/src/components/block-list/test/block-invalid-warning.native.js +0 -62
  414. package/src/components/block-list/test/block-list-context.native.js +0 -243
  415. package/src/components/block-list/test/block-outline.native.js +0 -255
  416. package/src/components/block-list/test/fixtures/block-list-context.native.js +0 -79
  417. package/src/components/block-list/test/index.native.js +0 -205
  418. package/src/components/block-list/use-block-props/index.native.js +0 -10
  419. package/src/components/block-list/use-scroll-upon-insertion.native.js +0 -52
  420. package/src/components/block-list-appender/index.native.js +0 -70
  421. package/src/components/block-list-appender/style.native.scss +0 -8
  422. package/src/components/block-media-update-progress/README.md +0 -100
  423. package/src/components/block-media-update-progress/index.native.js +0 -299
  424. package/src/components/block-media-update-progress/styles.native.scss +0 -9
  425. package/src/components/block-media-update-progress/test/index.native.js +0 -543
  426. package/src/components/block-mover/index.native.js +0 -193
  427. package/src/components/block-mover/mover-description.native.js +0 -155
  428. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +0 -218
  429. package/src/components/block-mover/test/index.native.js +0 -186
  430. package/src/components/block-settings/button.native.js +0 -41
  431. package/src/components/block-settings/container.native.js +0 -91
  432. package/src/components/block-settings/container.native.scss +0 -4
  433. package/src/components/block-settings/index.native.js +0 -5
  434. package/src/components/block-styles/index.native.js +0 -94
  435. package/src/components/block-styles/preview.native.js +0 -109
  436. package/src/components/block-styles/style.native.scss +0 -64
  437. package/src/components/block-switcher/block-transformations-menu.native.js +0 -91
  438. package/src/components/block-toolbar/block-toolbar-menu.native.js +0 -477
  439. package/src/components/block-toolbar/index.native.js +0 -126
  440. package/src/components/block-toolbar/test/__snapshots__/block-toolbar-menu.native.js.snap +0 -125
  441. package/src/components/block-toolbar/test/block-toolbar-menu.native.js +0 -405
  442. package/src/components/block-toolbar/test/index.native.js +0 -36
  443. package/src/components/block-types-list/index.native.js +0 -175
  444. package/src/components/block-types-list/style.native.scss +0 -25
  445. package/src/components/block-variation-picker/index.native.js +0 -107
  446. package/src/components/block-variation-picker/style.native.scss +0 -32
  447. package/src/components/button-block-appender/index.native.js +0 -92
  448. package/src/components/button-block-appender/styles.native.scss +0 -43
  449. package/src/components/caption/README.md +0 -44
  450. package/src/components/caption/index.native.js +0 -61
  451. package/src/components/colors-gradients/panel-color-gradient-settings.native.js +0 -59
  452. package/src/components/contrast-checker/index.native.js +0 -113
  453. package/src/components/contrast-checker/style.native.scss +0 -26
  454. package/src/components/convert-to-group-buttons/index.native.js +0 -79
  455. package/src/components/default-block-appender/index.native.js +0 -113
  456. package/src/components/default-block-appender/style.native.scss +0 -18
  457. package/src/components/floating-toolbar/floatingToolbar.android.scss +0 -4
  458. package/src/components/floating-toolbar/floatingToolbar.ios.scss +0 -3
  459. package/src/components/floating-toolbar/index.native.js +0 -141
  460. package/src/components/floating-toolbar/styles.native.scss +0 -43
  461. package/src/components/font-sizes/index.native.js +0 -7
  462. package/src/components/global-styles/color-panel.native.js +0 -207
  463. package/src/components/global-styles/test/use-global-styles-context.native.js +0 -435
  464. package/src/components/global-styles/use-global-styles-context.native.js +0 -592
  465. package/src/components/gradients/index.native.js +0 -2
  466. package/src/components/image-link-destinations/index.native.js +0 -152
  467. package/src/components/image-link-destinations/style.native.scss +0 -16
  468. package/src/components/index.native.js +0 -108
  469. package/src/components/inner-blocks/constants.native.js +0 -5
  470. package/src/components/inner-blocks/index.native.js +0 -221
  471. package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +0 -124
  472. package/src/components/inserter/block-types-tab.native.js +0 -76
  473. package/src/components/inserter/hooks/use-block-type-impressions.native.js +0 -47
  474. package/src/components/inserter/hooks/use-clipboard-block.native.js +0 -40
  475. package/src/components/inserter/index.native.js +0 -424
  476. package/src/components/inserter/menu.native.js +0 -237
  477. package/src/components/inserter/no-results.native.js +0 -49
  478. package/src/components/inserter/reusable-blocks-tab.native.js +0 -45
  479. package/src/components/inserter/search-results.native.js +0 -67
  480. package/src/components/inserter/style.native.scss +0 -83
  481. package/src/components/inserter/tabs.native.js +0 -152
  482. package/src/components/inserter/test/__snapshots__/index.native.js.snap +0 -117
  483. package/src/components/inserter/test/fixtures/index.native.js +0 -12
  484. package/src/components/inserter/test/index.native.js +0 -273
  485. package/src/components/inserter/test/reusable-blocks-tab.native.js +0 -62
  486. package/src/components/inserter/test/utils.native.js +0 -37
  487. package/src/components/inserter/utils.native.js +0 -46
  488. package/src/components/inserter-button/index.native.js +0 -108
  489. package/src/components/inserter-button/style.native.scss +0 -72
  490. package/src/components/inspector-controls/fill.native.js +0 -62
  491. package/src/components/inspector-controls/slot.native.js +0 -35
  492. package/src/components/inspector-controls-tabs/advanced-controls-panel.native.js +0 -31
  493. package/src/components/line-height-control/index.native.js +0 -28
  494. package/src/components/media-placeholder/index.native.js +0 -258
  495. package/src/components/media-placeholder/styles.native.scss +0 -108
  496. package/src/components/media-replace-flow/index.native.js +0 -12
  497. package/src/components/media-upload/constants.native.js +0 -14
  498. package/src/components/media-upload/index.native.js +0 -356
  499. package/src/components/media-upload/style.native.scss +0 -4
  500. package/src/components/media-upload/test/index.native.js +0 -172
  501. package/src/components/media-upload-progress/README.md +0 -100
  502. package/src/components/media-upload-progress/constants.js +0 -6
  503. package/src/components/media-upload-progress/index.native.js +0 -233
  504. package/src/components/media-upload-progress/styles.native.scss +0 -15
  505. package/src/components/media-upload-progress/test/index.native.js +0 -220
  506. package/src/components/plain-text/index.native.js +0 -164
  507. package/src/components/plain-text/style.native.scss +0 -10
  508. package/src/components/provider/index.native.js +0 -32
  509. package/src/components/rich-text/embed-handler-picker.native.js +0 -65
  510. package/src/components/rich-text/file-paste-handler.native.js +0 -3
  511. package/src/components/rich-text/format-toolbar/index.native.js +0 -21
  512. package/src/components/rich-text/format-toolbar-container.native.js +0 -16
  513. package/src/components/rich-text/index.native.js +0 -701
  514. package/src/components/rich-text/input-event.native.js +0 -10
  515. package/src/components/rich-text/native/format-edit.js +0 -44
  516. package/src/components/rich-text/native/get-format-colors.native.js +0 -47
  517. package/src/components/rich-text/native/index.js +0 -1
  518. package/src/components/rich-text/native/index.native.js +0 -1389
  519. package/src/components/rich-text/native/style.native.scss +0 -28
  520. package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +0 -79
  521. package/src/components/rich-text/native/test/index.native.js +0 -345
  522. package/src/components/rich-text/native/test/performance/rich-text.native.js +0 -44
  523. package/src/components/rich-text/native/toolbar-button-with-options.native.js +0 -61
  524. package/src/components/rich-text/native/use-format-types.js +0 -146
  525. package/src/components/rich-text/remove-browser-shortcuts.native.js +0 -1
  526. package/src/components/rich-text/shortcut.native.js +0 -10
  527. package/src/components/ungroup-button/README.md +0 -23
  528. package/src/components/ungroup-button/index.native.js +0 -77
  529. package/src/components/unsupported-block-details/index.native.js +0 -187
  530. package/src/components/unsupported-block-details/style.native.scss +0 -56
  531. package/src/components/url-input/index.native.js +0 -33
  532. package/src/components/use-block-drop-zone/index.native.js +0 -207
  533. package/src/components/use-on-block-drop/index.native.js +0 -115
  534. package/src/components/use-unsupported-block-editor/index.native.js +0 -59
  535. package/src/components/video-player/gridicon-play.native.js +0 -13
  536. package/src/components/video-player/index.native.js +0 -133
  537. package/src/components/video-player/styles.native.scss +0 -29
  538. package/src/components/warning/index.native.js +0 -64
  539. package/src/components/warning/style.native.scss +0 -47
  540. package/src/hooks/align.native.js +0 -49
  541. package/src/hooks/custom-class-name.native.js +0 -70
  542. package/src/hooks/index.native.js +0 -36
  543. package/src/hooks/layout.native.js +0 -23
  544. package/src/hooks/test/__snapshots__/align.native.js.snap +0 -73
  545. package/src/hooks/test/__snapshots__/anchor.native.js.snap +0 -7
  546. package/src/hooks/test/align.native.js +0 -134
  547. package/src/hooks/test/anchor.native.js +0 -32
  548. package/src/hooks/test/use-editor-wrapper-styles.native.js +0 -282
  549. package/src/hooks/typography.native.js +0 -60
  550. package/src/hooks/use-editor-wrapper-styles.native.js +0 -250
  551. package/src/hooks/use-editor-wrapper-styles.native.scss +0 -12
  552. package/src/index.native.js +0 -6
  553. package/src/private-apis.native.js +0 -21
  554. package/src/store/defaults.native.js +0 -23
@@ -1,152 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { useNavigation, useRoute } from '@react-navigation/native';
5
- import { StyleSheet } from 'react-native';
6
-
7
- /**
8
- * WordPress dependencies
9
- */
10
- import { __ } from '@wordpress/i18n';
11
- import { Icon, check, chevronRight } from '@wordpress/icons';
12
- import { usePreferredColorSchemeStyle } from '@wordpress/compose';
13
- import { BottomSheet, PanelBody } from '@wordpress/components';
14
-
15
- /**
16
- * Internal dependencies
17
- */
18
- import styles from './style.native.scss';
19
- import { blockSettingsScreens } from '../block-settings';
20
-
21
- const LINK_DESTINATION_NONE = 'none';
22
- const LINK_DESTINATION_MEDIA = 'media';
23
- const LINK_DESTINATION_ATTACHMENT = 'attachment';
24
- const LINK_DESTINATION_CUSTOM = 'custom';
25
-
26
- function LinkDestination( {
27
- children,
28
- isSelected,
29
- label,
30
- onPress,
31
- value,
32
- valueStyle,
33
- } ) {
34
- const optionIcon = usePreferredColorSchemeStyle(
35
- styles.optionIcon,
36
- styles.optionIconDark
37
- );
38
-
39
- return (
40
- <BottomSheet.Cell
41
- icon={ check }
42
- iconStyle={ StyleSheet.flatten( [
43
- optionIcon,
44
- ! isSelected && styles.unselectedOptionIcon,
45
- ] ) }
46
- label={ label }
47
- leftAlign
48
- onPress={ onPress }
49
- value={ value }
50
- valueStyle={ valueStyle }
51
- separatorType="leftMargin"
52
- >
53
- { children }
54
- </BottomSheet.Cell>
55
- );
56
- }
57
-
58
- function ImageLinkDestinationsScreen( props ) {
59
- const navigation = useNavigation();
60
- const route = useRoute();
61
- const { url = '' } = props;
62
- const {
63
- inputValue = url,
64
- imageUrl,
65
- attachmentPageUrl,
66
- linkDestination,
67
- } = route.params || {};
68
-
69
- function goToLinkPicker() {
70
- navigation.navigate( blockSettingsScreens.linkPicker, {
71
- inputValue:
72
- linkDestination === LINK_DESTINATION_CUSTOM ? inputValue : '',
73
- } );
74
- }
75
-
76
- const setLinkDestination = ( newLinkDestination ) => () => {
77
- let newUrl;
78
- switch ( newLinkDestination ) {
79
- case LINK_DESTINATION_MEDIA:
80
- newUrl = imageUrl;
81
- break;
82
- case LINK_DESTINATION_ATTACHMENT:
83
- newUrl = attachmentPageUrl;
84
- break;
85
- default:
86
- newUrl = '';
87
- break;
88
- }
89
-
90
- navigation.navigate( blockSettingsScreens.settings, {
91
- // The `inputValue` name is reused from LinkPicker, as it helps avoid
92
- // bugs from stale values remaining in the React Navigation route
93
- // parameters.
94
- inputValue: newUrl,
95
- // Clear link text value that may be set from LinkPicker.
96
- text: '',
97
- } );
98
- };
99
-
100
- return (
101
- <>
102
- <BottomSheet.NavBar>
103
- <BottomSheet.NavBar.BackButton onPress={ navigation.goBack } />
104
- <BottomSheet.NavBar.Heading>
105
- { __( 'Link To' ) }
106
- </BottomSheet.NavBar.Heading>
107
- </BottomSheet.NavBar>
108
- <PanelBody>
109
- <LinkDestination
110
- isSelected={ linkDestination === LINK_DESTINATION_NONE }
111
- label={ __( 'None' ) }
112
- onPress={ setLinkDestination( LINK_DESTINATION_NONE ) }
113
- />
114
- <LinkDestination
115
- isSelected={ linkDestination === LINK_DESTINATION_MEDIA }
116
- label={ __( 'Media File' ) }
117
- onPress={ setLinkDestination( LINK_DESTINATION_MEDIA ) }
118
- />
119
- { !! attachmentPageUrl && (
120
- <LinkDestination
121
- isSelected={
122
- linkDestination === LINK_DESTINATION_ATTACHMENT
123
- }
124
- label={ __( 'Attachment Page' ) }
125
- onPress={ setLinkDestination(
126
- LINK_DESTINATION_ATTACHMENT
127
- ) }
128
- />
129
- ) }
130
- <LinkDestination
131
- isSelected={ linkDestination === LINK_DESTINATION_CUSTOM }
132
- label={ __( 'Custom URL' ) }
133
- onPress={ goToLinkPicker }
134
- value={
135
- linkDestination === LINK_DESTINATION_CUSTOM
136
- ? inputValue
137
- : ''
138
- }
139
- valueStyle={
140
- linkDestination === LINK_DESTINATION_CUSTOM
141
- ? undefined
142
- : styles.placeholderTextColor
143
- }
144
- >
145
- <Icon icon={ chevronRight }></Icon>
146
- </LinkDestination>
147
- </PanelBody>
148
- </>
149
- );
150
- }
151
-
152
- export default ImageLinkDestinationsScreen;
@@ -1,16 +0,0 @@
1
- // used in both light and dark modes
2
- .placeholderTextColor {
3
- color: #87a6bc;
4
- }
5
-
6
- .optionIcon {
7
- color: $blue-50;
8
- }
9
-
10
- .optionIconDark {
11
- color: $blue-30;
12
- }
13
-
14
- .unselectedOptionIcon {
15
- opacity: 0;
16
- }
@@ -1,108 +0,0 @@
1
- // Block Creation Components.
2
- export {
3
- BlockAlignmentControl,
4
- BlockAlignmentToolbar,
5
- } from './block-alignment-control';
6
- export { BlockContextProvider } from './block-context';
7
- export {
8
- default as BlockControls,
9
- BlockFormatControls,
10
- } from './block-controls';
11
- export { default as BlockEdit, useBlockEditContext } from './block-edit';
12
- export { default as BlockIcon } from './block-icon';
13
- export {
14
- BlockVerticalAlignmentToolbar,
15
- BlockVerticalAlignmentControl,
16
- } from './block-vertical-alignment-control';
17
- export * from './colors';
18
- export * from './gradients';
19
- export * from './font-sizes';
20
- export { AlignmentControl, AlignmentToolbar } from './alignment-control';
21
- export { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';
22
- export {
23
- default as InspectorControls,
24
- InspectorAdvancedControls,
25
- } from './inspector-controls';
26
- export {
27
- JustifyToolbar,
28
- JustifyContentControl,
29
- } from './justify-content-control';
30
- export { default as LineHeightControl } from './line-height-control';
31
- export { default as HeadingLevelDropdown } from './block-heading-level-dropdown';
32
- export { default as PlainText } from './plain-text';
33
- export {
34
- default as RichText,
35
- RichTextShortcut,
36
- RichTextToolbarButton,
37
- __unstableRichTextInputEvent,
38
- } from './rich-text';
39
- export { default as MediaReplaceFlow } from './media-replace-flow';
40
- export { default as MediaPlaceholder } from './media-placeholder';
41
- export { default as MediaUpload } from './media-upload';
42
- export {
43
- MEDIA_TYPE_IMAGE,
44
- MEDIA_TYPE_VIDEO,
45
- MEDIA_TYPE_AUDIO,
46
- MEDIA_TYPE_ANY,
47
- } from './media-upload/constants';
48
- export { default as MediaUploadProgress } from './media-upload-progress';
49
- export {
50
- MEDIA_UPLOAD_STATE_UPLOADING,
51
- MEDIA_UPLOAD_STATE_SUCCEEDED,
52
- MEDIA_UPLOAD_STATE_PAUSED,
53
- MEDIA_UPLOAD_STATE_FAILED,
54
- MEDIA_UPLOAD_STATE_RESET,
55
- } from './media-upload-progress/constants';
56
- export { default as BlockMediaUpdateProgress } from './block-media-update-progress';
57
- export { default as URLInput } from './url-input';
58
- export { default as BlockInvalidWarning } from './block-list/block-invalid-warning';
59
- export { default as BlockCaption } from './block-caption';
60
- export { default as Caption } from './caption';
61
- export { default as PanelColorSettings } from './panel-color-settings';
62
- export { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';
63
- export { useSettings, default as useSetting } from './use-settings';
64
- export {
65
- RecursionProvider,
66
- DeprecatedExperimentalRecursionProvider as __experimentalRecursionProvider,
67
- useHasRecursion,
68
- DeprecatedExperimentalUseHasRecursion as __experimentalUseHasRecursion,
69
- } from './recursion-provider';
70
- export { default as Warning } from './warning';
71
- export { default as ContrastChecker } from './contrast-checker';
72
- export { default as useMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';
73
- export { default as UnsupportedBlockDetails } from './unsupported-block-details';
74
- export {
75
- useGlobalStyles,
76
- getGlobalStyles,
77
- getColorsAndGradients,
78
- useMobileGlobalStylesColors,
79
- } from './global-styles/use-global-styles-context';
80
-
81
- export {
82
- BottomSheetSettings,
83
- BlockSettingsButton,
84
- blockSettingsScreens,
85
- } from './block-settings';
86
- export { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player';
87
- export { default as AudioPlayer } from './audio-player';
88
-
89
- export {
90
- getSpacingPresetCssVar,
91
- getCustomValueFromPreset,
92
- isValueSpacingPreset,
93
- } from './spacing-sizes-control/utils';
94
- // Content Related Components.
95
- export { default as BlockList } from './block-list';
96
- export { default as BlockMover } from './block-mover';
97
- export { default as BlockToolbar } from './block-toolbar';
98
- export { default as BlockVariationPicker } from './block-variation-picker';
99
- export { default as BlockStyles } from './block-styles';
100
- export { default as DefaultBlockAppender } from './default-block-appender';
101
- export { default as __unstableEditorStyles } from './editor-styles';
102
- export { default as Inserter } from './inserter';
103
- export { default as InserterButton } from './inserter-button';
104
- export { useBlockProps } from './block-list/use-block-props';
105
- export { default as FloatingToolbar } from './floating-toolbar';
106
-
107
- // State Related Components.
108
- export { default as BlockEditorProvider } from './provider';
@@ -1,5 +0,0 @@
1
- // Hermes has a limit for the call stack depth to avoid infinite recursion.
2
- // When creating a deep nested structure of inner blocks, the editor might exceed
3
- // this limit and crash. In order to avoid this, we set a maximum depth level where
4
- // we stop rendering blocks.
5
- export const MAX_NESTING_DEPTH = 10;
@@ -1,221 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { __unstableGetInnerBlocksProps as getInnerBlocksProps } from '@wordpress/blocks';
5
- import { useRef } from '@wordpress/element';
6
- import { useSelect } from '@wordpress/data';
7
-
8
- /**
9
- * Internal dependencies
10
- */
11
- import ButtonBlockAppender from './button-block-appender';
12
- import DefaultBlockAppender from './default-block-appender';
13
- import useNestedSettingsUpdate from './use-nested-settings-update';
14
- import useInnerBlockTemplateSync from './use-inner-block-template-sync';
15
- import useBlockContext from './use-block-context';
16
-
17
- /**
18
- * Internal dependencies
19
- */
20
- import BlockList from '../block-list';
21
- import { useBlockEditContext } from '../block-edit/context';
22
- import useBlockSync from '../provider/use-block-sync';
23
- import { BlockContextProvider } from '../block-context';
24
- import { defaultLayout, LayoutProvider } from '../block-list/layout';
25
- import { store as blockEditorStore } from '../../store';
26
- import WarningMaxDepthExceeded from './warning-max-depth-exceeded';
27
- import { MAX_NESTING_DEPTH } from './constants';
28
-
29
- /**
30
- * This hook is used to lightly mark an element as an inner blocks wrapper
31
- * element. Call this hook and pass the returned props to the element to mark as
32
- * an inner blocks wrapper, automatically rendering inner blocks as children. If
33
- * you define a ref for the element, it is important to pass the ref to this
34
- * hook, which the hook in turn will pass to the component through the props it
35
- * returns. Optionally, you can also pass any other props through this hook, and
36
- * they will be merged and returned.
37
- *
38
- * @see https://github.com/WordPress/gutenberg/blob/trunk/packages/block-editor/src/components/inner-blocks/README.md
39
- *
40
- * @param {Object} props Optional. Props to pass to the element. Must contain
41
- * the ref if one is defined.
42
- * @param {Object} options Optional. Inner blocks options.
43
- */
44
- export function useInnerBlocksProps( props = {}, options = {} ) {
45
- const fallbackRef = useRef();
46
- const { clientId } = useBlockEditContext();
47
-
48
- const ref = props.ref || fallbackRef;
49
- const InnerBlocks =
50
- options.value && options.onChange
51
- ? ControlledInnerBlocks
52
- : UncontrolledInnerBlocks;
53
-
54
- return {
55
- ...props,
56
- ref,
57
- children: (
58
- <InnerBlocks
59
- { ...options }
60
- clientId={ clientId }
61
- wrapperRef={ ref }
62
- />
63
- ),
64
- };
65
- }
66
-
67
- /**
68
- * InnerBlocks is a component which allows a single block to have multiple blocks
69
- * as children. The UncontrolledInnerBlocks component is used whenever the inner
70
- * blocks are not controlled by another entity. In other words, it is normally
71
- * used for inner blocks in the post editor
72
- *
73
- * @param {Object} props The component props.
74
- */
75
- function UncontrolledInnerBlocks( props ) {
76
- const {
77
- clientId,
78
- allowedBlocks,
79
- prioritizedInserterBlocks,
80
- defaultBlock,
81
- directInsert,
82
- __experimentalDefaultBlock,
83
- __experimentalDirectInsert,
84
- template,
85
- templateLock,
86
- templateInsertUpdatesSelection,
87
- __experimentalCaptureToolbars: captureToolbars,
88
- orientation,
89
- renderAppender,
90
- renderFooterAppender,
91
- parentWidth,
92
- horizontal,
93
- contentResizeMode,
94
- contentStyle,
95
- onAddBlock,
96
- onDeleteBlock,
97
- marginVertical,
98
- marginHorizontal,
99
- horizontalAlignment,
100
- filterInnerBlocks,
101
- blockWidth,
102
- layout = defaultLayout,
103
- gridProperties,
104
- } = props;
105
-
106
- const context = useBlockContext( clientId );
107
-
108
- const { nestingLevel, parentLock } = useSelect(
109
- ( select ) => {
110
- const { getBlockParents, getTemplateLock, getBlockRootClientId } =
111
- select( blockEditorStore );
112
- return {
113
- nestingLevel: getBlockParents( clientId )?.length,
114
- parentLock: getTemplateLock( getBlockRootClientId( clientId ) ),
115
- };
116
- },
117
- [ clientId ]
118
- );
119
-
120
- useNestedSettingsUpdate(
121
- clientId,
122
- parentLock,
123
- allowedBlocks,
124
- prioritizedInserterBlocks,
125
- defaultBlock,
126
- directInsert,
127
- __experimentalDefaultBlock,
128
- __experimentalDirectInsert,
129
- templateLock,
130
- captureToolbars,
131
- orientation,
132
- layout
133
- );
134
-
135
- useInnerBlockTemplateSync(
136
- clientId,
137
- template,
138
- templateLock,
139
- templateInsertUpdatesSelection
140
- );
141
-
142
- if ( nestingLevel >= MAX_NESTING_DEPTH ) {
143
- return <WarningMaxDepthExceeded clientId={ clientId } />;
144
- }
145
-
146
- return (
147
- <LayoutProvider value={ layout }>
148
- <BlockContextProvider value={ context }>
149
- <BlockList
150
- marginVertical={ marginVertical }
151
- marginHorizontal={ marginHorizontal }
152
- rootClientId={ clientId }
153
- renderAppender={ renderAppender }
154
- renderFooterAppender={ renderFooterAppender }
155
- withFooter={ false }
156
- orientation={ orientation }
157
- parentWidth={ parentWidth }
158
- horizontalAlignment={ horizontalAlignment }
159
- horizontal={ horizontal }
160
- contentResizeMode={ contentResizeMode }
161
- contentStyle={ contentStyle }
162
- onAddBlock={ onAddBlock }
163
- onDeleteBlock={ onDeleteBlock }
164
- filterInnerBlocks={ filterInnerBlocks }
165
- gridProperties={ gridProperties }
166
- blockWidth={ blockWidth }
167
- />
168
- </BlockContextProvider>
169
- </LayoutProvider>
170
- );
171
- }
172
-
173
- /**
174
- * The controlled inner blocks component wraps the uncontrolled inner blocks
175
- * component with the blockSync hook. This keeps the innerBlocks of the block in
176
- * the block-editor store in sync with the blocks of the controlling entity. An
177
- * example of an inner block controller is a template part block, which provides
178
- * its own blocks from the template part entity data source.
179
- *
180
- * @param {Object} props The component props.
181
- */
182
- function ControlledInnerBlocks( props ) {
183
- useBlockSync( props );
184
- return <UncontrolledInnerBlocks { ...props } />;
185
- }
186
-
187
- /**
188
- * Wrapped InnerBlocks component which detects whether to use the controlled or
189
- * uncontrolled variations of the InnerBlocks component. This is the component
190
- * which should be used throughout the application.
191
- *
192
- * @param {Object} props The component props.
193
- */
194
- const InnerBlocks = ( props ) => {
195
- const { clientId } = useBlockEditContext();
196
-
197
- const allProps = {
198
- clientId,
199
- ...props,
200
- };
201
-
202
- // Detects if the InnerBlocks should be controlled by an incoming value.
203
- return props.value && props.onChange ? (
204
- <ControlledInnerBlocks { ...allProps } />
205
- ) : (
206
- <UncontrolledInnerBlocks { ...allProps } />
207
- );
208
- };
209
-
210
- // Expose default appender placeholders as components.
211
- InnerBlocks.DefaultBlockAppender = DefaultBlockAppender;
212
- InnerBlocks.ButtonBlockAppender = ButtonBlockAppender;
213
-
214
- useInnerBlocksProps.save = getInnerBlocksProps;
215
-
216
- InnerBlocks.Content = () => useInnerBlocksProps.save().children;
217
-
218
- /**
219
- * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md
220
- */
221
- export default InnerBlocks;
@@ -1,124 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { TouchableWithoutFeedback, View } from 'react-native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { __, sprintf } from '@wordpress/i18n';
10
- import { useState } from '@wordpress/element';
11
- import { useSelect } from '@wordpress/data';
12
-
13
- /**
14
- * Internal dependencies
15
- */
16
- import Warning from '../warning';
17
- import UnsupportedBlockDetails from '../unsupported-block-details';
18
- import { store as blockEditorStore } from '../../store';
19
- import { MAX_NESTING_DEPTH } from './constants';
20
- import useUnsupportedBlockEditor from '../use-unsupported-block-editor';
21
- import {
22
- useConvertToGroupButtons,
23
- useConvertToGroupButtonProps,
24
- } from '../convert-to-group-buttons';
25
-
26
- const EMPTY_ARRAY = [];
27
-
28
- const WarningMaxDepthExceeded = ( { clientId } ) => {
29
- const [ showDetails, setShowDetails ] = useState( false );
30
-
31
- const isSelected = useSelect(
32
- ( select ) => select( blockEditorStore ).isBlockSelected( clientId ),
33
- [ clientId ]
34
- );
35
-
36
- // We rely on the logic related to the Group/Ungroup buttons used in the block options to
37
- // determine whether to use the Ungroup action.
38
- const convertToGroupButtonProps = useConvertToGroupButtonProps( [
39
- clientId,
40
- ] );
41
- const { isUngroupable } = convertToGroupButtonProps;
42
- const convertToGroupButtons = useConvertToGroupButtons( {
43
- ...convertToGroupButtonProps,
44
- } );
45
- const onUngroup = convertToGroupButtons.ungroup.onSelect;
46
-
47
- const {
48
- isUnsupportedBlockEditorSupported,
49
- canEnableUnsupportedBlockEditor,
50
- } = useUnsupportedBlockEditor( clientId );
51
-
52
- /* translators: Warning related to having blocks deeply nested. %d: The deepest nesting level. */
53
- const descriptionFormat = __(
54
- 'Blocks nested deeper than %d levels may not render properly in the mobile editor.'
55
- );
56
- let description = sprintf( descriptionFormat, MAX_NESTING_DEPTH );
57
- if (
58
- ! isUnsupportedBlockEditorSupported &&
59
- ! canEnableUnsupportedBlockEditor
60
- ) {
61
- // When UBE can't be used, the description mentions using the web browser to edit the block.
62
- description +=
63
- ' ' +
64
- /* translators: Recommendation included in a warning related to having blocks deeply nested. */
65
- __(
66
- 'For this reason, we recommend editing the block using your web browser.'
67
- );
68
- }
69
- // Otherwise, the description mentions using the web editor (i.e. UBE).
70
- else {
71
- description +=
72
- ' ' +
73
- /* translators: Recommendation included in a warning related to having blocks deeply nested. */
74
- __(
75
- 'For this reason, we recommend editing the block using the web editor.'
76
- );
77
- }
78
- // If the block can be flattened, we also suggest to ungroup the block.
79
- if ( isUngroupable ) {
80
- description +=
81
- ' ' +
82
- /* translators: Alternative option included in a warning related to having blocks deeply nested. */
83
- __(
84
- 'Alternatively, you can flatten the content by ungrouping the block.'
85
- );
86
- }
87
-
88
- return (
89
- <TouchableWithoutFeedback
90
- disabled={ ! isSelected }
91
- accessibilityLabel={ __( 'Warning message' ) }
92
- accessibilityRole="button"
93
- accessibilityHint={ __( 'Tap here to show more details.' ) }
94
- onPress={ () => setShowDetails( true ) }
95
- >
96
- <View>
97
- <Warning
98
- message={ __(
99
- 'Block cannot be rendered because it is deeply nested. Tap here for more details.'
100
- ) }
101
- />
102
- <UnsupportedBlockDetails
103
- clientId={ clientId }
104
- showSheet={ showDetails }
105
- onCloseSheet={ () => setShowDetails( false ) }
106
- title={ __( 'Deeply nested block' ) }
107
- description={ description }
108
- customActions={
109
- isUngroupable
110
- ? [
111
- {
112
- label: __( 'Ungroup block' ),
113
- onPress: onUngroup,
114
- },
115
- ]
116
- : EMPTY_ARRAY
117
- }
118
- />
119
- </View>
120
- </TouchableWithoutFeedback>
121
- );
122
- };
123
-
124
- export default WarningMaxDepthExceeded;
@@ -1,76 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useMemo } from '@wordpress/element';
5
- import { __ } from '@wordpress/i18n';
6
-
7
- /**
8
- * Internal dependencies
9
- */
10
- import BlockTypesList from '../block-types-list';
11
- import useClipboardBlock from './hooks/use-clipboard-block';
12
- import useBlockTypeImpressions from './hooks/use-block-type-impressions';
13
- import { createInserterSection, filterInserterItems } from './utils';
14
- import useBlockTypesState from './hooks/use-block-types-state';
15
-
16
- const getBlockNamespace = ( item ) => item.name.split( '/' )[ 0 ];
17
-
18
- function BlockTypesTab( { onSelect, rootClientId, listProps } ) {
19
- const [ rawBlockTypes, , collections ] = useBlockTypesState(
20
- rootClientId,
21
- onSelect,
22
- true
23
- );
24
- const clipboardBlock = useClipboardBlock( rootClientId );
25
- const filteredBlockTypes = filterInserterItems( rawBlockTypes );
26
- const blockTypes = clipboardBlock
27
- ? [ clipboardBlock, ...filteredBlockTypes ]
28
- : filteredBlockTypes;
29
- const { items, trackBlockTypeSelected } =
30
- useBlockTypeImpressions( blockTypes );
31
-
32
- const handleSelect = ( ...args ) => {
33
- trackBlockTypeSelected( ...args );
34
- onSelect( ...args );
35
- };
36
-
37
- const collectionSections = useMemo( () => {
38
- const result = [];
39
- Object.keys( collections ).forEach( ( namespace ) => {
40
- const data = items.filter(
41
- ( item ) => getBlockNamespace( item ) === namespace
42
- );
43
- if ( data.length > 0 ) {
44
- result.push(
45
- createInserterSection( {
46
- key: `collection-${ namespace }`,
47
- metadata: {
48
- icon: collections[ namespace ].icon,
49
- title: collections[ namespace ].title,
50
- },
51
- items: data,
52
- } )
53
- );
54
- }
55
- } );
56
-
57
- return result;
58
- }, [ items, collections ] );
59
-
60
- const sections = [
61
- createInserterSection( { key: 'default', items } ),
62
- ...collectionSections,
63
- ];
64
-
65
- return (
66
- <BlockTypesList
67
- name="Blocks"
68
- sections={ sections }
69
- onSelect={ handleSelect }
70
- listProps={ listProps }
71
- label={ __( 'Blocks menu' ) }
72
- />
73
- );
74
- }
75
-
76
- export default BlockTypesTab;