@wordpress/block-editor 14.7.1-next.082ed6819.0 → 14.8.1-next.cd6172eb0.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 (262) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/autocompleters/block.js +2 -4
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/autocompleters/link.js +2 -4
  5. package/build/autocompleters/link.js.map +1 -1
  6. package/build/components/block-canvas/index.js +3 -6
  7. package/build/components/block-canvas/index.js.map +1 -1
  8. package/build/components/block-list/block.js +6 -5
  9. package/build/components/block-list/block.js.map +1 -1
  10. package/build/components/block-list/index.js +0 -1
  11. package/build/components/block-list/index.js.map +1 -1
  12. package/build/components/block-list/use-block-props/index.js +7 -2
  13. package/build/components/block-list/use-block-props/index.js.map +1 -1
  14. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +34 -0
  15. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +1 -0
  16. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +98 -5
  17. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  18. package/build/components/block-patterns-list/index.js +13 -4
  19. package/build/components/block-patterns-list/index.js.map +1 -1
  20. package/build/components/block-popover/inbetween.js +4 -0
  21. package/build/components/block-popover/inbetween.js.map +1 -1
  22. package/build/components/block-settings-menu/block-settings-dropdown.js +7 -4
  23. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  24. package/build/components/block-settings-menu-controls/index.js +1 -1
  25. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  26. package/build/components/block-switcher/index.js +12 -22
  27. package/build/components/block-switcher/index.js.map +1 -1
  28. package/build/components/block-switcher/use-transformed-patterns.js +0 -1
  29. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  30. package/build/components/block-switcher/utils.js +0 -1
  31. package/build/components/block-switcher/utils.js.map +1 -1
  32. package/build/components/block-toolbar/index.js +17 -9
  33. package/build/components/block-toolbar/index.js.map +1 -1
  34. package/build/components/block-variation-transforms/index.js +0 -1
  35. package/build/components/block-variation-transforms/index.js.map +1 -1
  36. package/build/components/date-format-picker/index.js +0 -1
  37. package/build/components/date-format-picker/index.js.map +1 -1
  38. package/build/components/font-appearance-control/index.js +1 -0
  39. package/build/components/font-appearance-control/index.js.map +1 -1
  40. package/build/components/font-family/index.js +10 -0
  41. package/build/components/font-family/index.js.map +1 -1
  42. package/build/components/global-styles/dimensions-panel.js +17 -16
  43. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  44. package/build/components/global-styles/get-global-styles-changes.js +0 -1
  45. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  46. package/build/components/iframe/index.js +12 -216
  47. package/build/components/iframe/index.js.map +1 -1
  48. package/build/components/iframe/use-scale-canvas.js +398 -0
  49. package/build/components/iframe/use-scale-canvas.js.map +1 -0
  50. package/build/components/image-editor/use-save-image.js +22 -3
  51. package/build/components/image-editor/use-save-image.js.map +1 -1
  52. package/build/components/inserter/block-patterns-tab/index.js +0 -10
  53. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  54. package/build/components/inserter/menu.js +2 -1
  55. package/build/components/inserter/menu.js.map +1 -1
  56. package/build/components/inserter-draggable-blocks/index.js +19 -10
  57. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  58. package/build/components/letter-spacing-control/index.js +10 -0
  59. package/build/components/letter-spacing-control/index.js.map +1 -1
  60. package/build/components/line-height-control/index.js +1 -0
  61. package/build/components/line-height-control/index.js.map +1 -1
  62. package/build/components/media-placeholder/index.js +18 -18
  63. package/build/components/media-placeholder/index.js.map +1 -1
  64. package/build/components/observe-typing/index.js +0 -1
  65. package/build/components/observe-typing/index.js.map +1 -1
  66. package/build/components/recursion-provider/index.js +0 -1
  67. package/build/components/recursion-provider/index.js.map +1 -1
  68. package/build/components/rich-text/index.js +5 -1
  69. package/build/components/rich-text/index.js.map +1 -1
  70. package/build/components/rich-text/native/use-format-types.js +0 -1
  71. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  72. package/build/components/rich-text/use-format-types.js +0 -1
  73. package/build/components/rich-text/use-format-types.js.map +1 -1
  74. package/build/components/spacing-sizes-control/utils.js +0 -1
  75. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  76. package/build/components/typewriter/index.js +0 -1
  77. package/build/components/typewriter/index.js.map +1 -1
  78. package/build/components/use-block-drop-zone/index.js +11 -2
  79. package/build/components/use-block-drop-zone/index.js.map +1 -1
  80. package/build/components/use-moving-animation/index.js +15 -2
  81. package/build/components/use-moving-animation/index.js.map +1 -1
  82. package/build/components/use-resize-canvas/index.js +1 -1
  83. package/build/components/use-resize-canvas/index.js.map +1 -1
  84. package/build/components/writing-flow/use-drag-selection.js +11 -0
  85. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  86. package/build/components/writing-flow/use-tab-nav.js +6 -2
  87. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  88. package/build/hooks/block-bindings.js +4 -3
  89. package/build/hooks/block-bindings.js.map +1 -1
  90. package/build/hooks/gap.js +1 -1
  91. package/build/hooks/gap.js.map +1 -1
  92. package/build/hooks/generated-class-name.js +0 -1
  93. package/build/hooks/generated-class-name.js.map +1 -1
  94. package/build/store/private-selectors.js +1 -7
  95. package/build/store/private-selectors.js.map +1 -1
  96. package/build/store/reducer.js +478 -2
  97. package/build/store/reducer.js.map +1 -1
  98. package/build/store/selectors.js +12 -55
  99. package/build/store/selectors.js.map +1 -1
  100. package/build/utils/object.js +0 -1
  101. package/build/utils/object.js.map +1 -1
  102. package/build-module/autocompleters/block.js +2 -4
  103. package/build-module/autocompleters/block.js.map +1 -1
  104. package/build-module/autocompleters/link.js +2 -4
  105. package/build-module/autocompleters/link.js.map +1 -1
  106. package/build-module/components/block-canvas/index.js +3 -6
  107. package/build-module/components/block-canvas/index.js.map +1 -1
  108. package/build-module/components/block-list/block.js +8 -7
  109. package/build-module/components/block-list/block.js.map +1 -1
  110. package/build-module/components/block-list/index.js +0 -1
  111. package/build-module/components/block-list/index.js.map +1 -1
  112. package/build-module/components/block-list/use-block-props/index.js +7 -2
  113. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  114. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +28 -0
  115. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +1 -0
  116. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +97 -5
  117. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  118. package/build-module/components/block-patterns-list/index.js +13 -4
  119. package/build-module/components/block-patterns-list/index.js.map +1 -1
  120. package/build-module/components/block-popover/inbetween.js +4 -0
  121. package/build-module/components/block-popover/inbetween.js.map +1 -1
  122. package/build-module/components/block-settings-menu/block-settings-dropdown.js +7 -4
  123. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  124. package/build-module/components/block-settings-menu-controls/index.js +1 -1
  125. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  126. package/build-module/components/block-switcher/index.js +13 -23
  127. package/build-module/components/block-switcher/index.js.map +1 -1
  128. package/build-module/components/block-switcher/use-transformed-patterns.js +0 -1
  129. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  130. package/build-module/components/block-switcher/utils.js +0 -1
  131. package/build-module/components/block-switcher/utils.js.map +1 -1
  132. package/build-module/components/block-toolbar/index.js +17 -9
  133. package/build-module/components/block-toolbar/index.js.map +1 -1
  134. package/build-module/components/block-variation-transforms/index.js +0 -1
  135. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  136. package/build-module/components/date-format-picker/index.js +0 -1
  137. package/build-module/components/date-format-picker/index.js.map +1 -1
  138. package/build-module/components/font-appearance-control/index.js +1 -0
  139. package/build-module/components/font-appearance-control/index.js.map +1 -1
  140. package/build-module/components/font-family/index.js +10 -0
  141. package/build-module/components/font-family/index.js.map +1 -1
  142. package/build-module/components/global-styles/dimensions-panel.js +17 -16
  143. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  144. package/build-module/components/global-styles/get-global-styles-changes.js +0 -1
  145. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  146. package/build-module/components/iframe/index.js +14 -218
  147. package/build-module/components/iframe/index.js.map +1 -1
  148. package/build-module/components/iframe/use-scale-canvas.js +392 -0
  149. package/build-module/components/iframe/use-scale-canvas.js.map +1 -0
  150. package/build-module/components/image-editor/use-save-image.js +22 -3
  151. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  152. package/build-module/components/inserter/block-patterns-tab/index.js +1 -11
  153. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  154. package/build-module/components/inserter/menu.js +2 -1
  155. package/build-module/components/inserter/menu.js.map +1 -1
  156. package/build-module/components/inserter-draggable-blocks/index.js +20 -11
  157. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  158. package/build-module/components/letter-spacing-control/index.js +9 -0
  159. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  160. package/build-module/components/line-height-control/index.js +1 -0
  161. package/build-module/components/line-height-control/index.js.map +1 -1
  162. package/build-module/components/media-placeholder/index.js +18 -18
  163. package/build-module/components/media-placeholder/index.js.map +1 -1
  164. package/build-module/components/observe-typing/index.js +0 -1
  165. package/build-module/components/observe-typing/index.js.map +1 -1
  166. package/build-module/components/recursion-provider/index.js +0 -1
  167. package/build-module/components/recursion-provider/index.js.map +1 -1
  168. package/build-module/components/rich-text/index.js +5 -1
  169. package/build-module/components/rich-text/index.js.map +1 -1
  170. package/build-module/components/rich-text/native/use-format-types.js +0 -1
  171. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  172. package/build-module/components/rich-text/use-format-types.js +0 -1
  173. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  174. package/build-module/components/spacing-sizes-control/utils.js +0 -1
  175. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  176. package/build-module/components/typewriter/index.js +0 -1
  177. package/build-module/components/typewriter/index.js.map +1 -1
  178. package/build-module/components/use-block-drop-zone/index.js +11 -2
  179. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  180. package/build-module/components/use-moving-animation/index.js +15 -2
  181. package/build-module/components/use-moving-animation/index.js.map +1 -1
  182. package/build-module/components/use-resize-canvas/index.js +1 -1
  183. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  184. package/build-module/components/writing-flow/use-drag-selection.js +11 -0
  185. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  186. package/build-module/components/writing-flow/use-tab-nav.js +6 -2
  187. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  188. package/build-module/hooks/block-bindings.js +4 -3
  189. package/build-module/hooks/block-bindings.js.map +1 -1
  190. package/build-module/hooks/gap.js +1 -1
  191. package/build-module/hooks/gap.js.map +1 -1
  192. package/build-module/hooks/generated-class-name.js +0 -1
  193. package/build-module/hooks/generated-class-name.js.map +1 -1
  194. package/build-module/store/private-selectors.js +1 -6
  195. package/build-module/store/private-selectors.js.map +1 -1
  196. package/build-module/store/reducer.js +479 -3
  197. package/build-module/store/reducer.js.map +1 -1
  198. package/build-module/store/selectors.js +12 -55
  199. package/build-module/store/selectors.js.map +1 -1
  200. package/build-module/utils/object.js +0 -1
  201. package/build-module/utils/object.js.map +1 -1
  202. package/build-style/content-rtl.css +24 -26
  203. package/build-style/content.css +24 -26
  204. package/build-style/style-rtl.css +51 -16
  205. package/build-style/style.css +51 -16
  206. package/package.json +32 -32
  207. package/src/autocompleters/block.js +2 -4
  208. package/src/autocompleters/link.js +2 -4
  209. package/src/components/alignment-control/stories/aliginment-toolbar.story.js +47 -0
  210. package/src/components/alignment-control/stories/index.story.js +51 -0
  211. package/src/components/alignment-control/test/__snapshots__/index.js.snap +5 -5
  212. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +4 -4
  213. package/src/components/block-canvas/index.js +3 -5
  214. package/src/components/block-canvas/style.scss +2 -1
  215. package/src/components/block-draggable/content.scss +11 -5
  216. package/src/components/block-list/block.js +7 -13
  217. package/src/components/block-list/content.scss +6 -0
  218. package/src/components/block-list/use-block-props/index.js +7 -0
  219. package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +25 -0
  220. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +112 -8
  221. package/src/components/block-patterns-list/index.js +12 -1
  222. package/src/components/block-patterns-list/style.scss +16 -5
  223. package/src/components/block-popover/inbetween.js +4 -0
  224. package/src/components/block-settings-menu/block-settings-dropdown.js +6 -1
  225. package/src/components/block-settings-menu-controls/index.js +2 -1
  226. package/src/components/block-switcher/index.js +19 -21
  227. package/src/components/block-switcher/style.scss +0 -9
  228. package/src/components/block-title/test/index.js +2 -0
  229. package/src/components/block-toolbar/index.js +16 -6
  230. package/src/components/block-tools/style.scss +44 -0
  231. package/src/components/block-vertical-alignment-control/test/__snapshots__/index.js.snap +3 -3
  232. package/src/components/color-palette/test/__snapshots__/control.js.snap +2 -2
  233. package/src/components/font-appearance-control/index.js +1 -0
  234. package/src/components/font-family/index.js +10 -0
  235. package/src/components/font-family/style.scss +5 -0
  236. package/src/components/global-styles/dimensions-panel.js +16 -16
  237. package/src/components/iframe/content.scss +40 -42
  238. package/src/components/iframe/index.js +13 -313
  239. package/src/components/iframe/use-scale-canvas.js +490 -0
  240. package/src/components/image-editor/use-save-image.js +27 -2
  241. package/src/components/inserter/block-patterns-tab/index.js +1 -17
  242. package/src/components/inserter/menu.js +8 -1
  243. package/src/components/inserter-draggable-blocks/index.js +19 -29
  244. package/src/components/letter-spacing-control/README.md +2 -1
  245. package/src/components/letter-spacing-control/index.js +17 -0
  246. package/src/components/line-height-control/index.js +1 -0
  247. package/src/components/media-placeholder/index.js +25 -28
  248. package/src/components/rich-text/index.js +5 -0
  249. package/src/components/use-block-drop-zone/index.js +18 -1
  250. package/src/components/use-moving-animation/index.js +15 -0
  251. package/src/components/use-resize-canvas/index.js +1 -1
  252. package/src/components/writing-flow/use-drag-selection.js +11 -0
  253. package/src/components/writing-flow/use-tab-nav.js +9 -6
  254. package/src/hooks/block-bindings.js +8 -4
  255. package/src/hooks/gap.js +1 -1
  256. package/src/store/private-selectors.js +2 -17
  257. package/src/store/reducer.js +639 -2
  258. package/src/store/selectors.js +19 -69
  259. package/src/store/test/private-selectors.js +1 -0
  260. package/src/store/test/reducer.js +849 -0
  261. package/src/store/test/selectors.js +4 -110
  262. package/src/style.scss +1 -0
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -2469,13 +2468,6 @@ export function __unstableIsWithinBlockOverlay(state, clientId) {
2469
2468
  }
2470
2469
  return false;
2471
2470
  }
2472
- function isWithinBlock(state, clientId, parentClientId) {
2473
- let parent = state.blocks.parents.get(clientId);
2474
- while (!!parent && parent !== parentClientId) {
2475
- parent = state.blocks.parents.get(parent);
2476
- }
2477
- return parent === parentClientId;
2478
- }
2479
2471
 
2480
2472
  /**
2481
2473
  * @typedef {import('../components/block-editing-mode').BlockEditingMode} BlockEditingMode
@@ -2515,55 +2507,20 @@ export const getBlockEditingMode = createRegistrySelector(select => (state, clie
2515
2507
  if (clientId === null) {
2516
2508
  clientId = '';
2517
2509
  }
2510
+ const isNavMode = isNavigationMode(state);
2518
2511
 
2519
- // In zoom-out mode, override the behavior set by
2520
- // __unstableSetBlockEditingMode to only allow editing the top-level
2521
- // sections.
2522
- if (isZoomOut(state)) {
2523
- const sectionRootClientId = getSectionRootClientId(state);
2524
- if (clientId === '' /* ROOT_CONTAINER_CLIENT_ID */) {
2525
- return sectionRootClientId ? 'disabled' : 'contentOnly';
2526
- }
2527
- if (clientId === sectionRootClientId) {
2528
- return 'contentOnly';
2529
- }
2530
- const sectionsClientIds = getBlockOrder(state, sectionRootClientId);
2531
-
2532
- // Sections are always contentOnly.
2533
- if (sectionsClientIds?.includes(clientId)) {
2534
- return 'contentOnly';
2535
- }
2536
- return 'disabled';
2512
+ // If the editor is currently not in navigation mode, check if the clientId
2513
+ // has an editing mode set in the regular derived map.
2514
+ // There may be an editing mode set here for synced patterns or in zoomed out
2515
+ // mode.
2516
+ if (!isNavMode && state.derivedBlockEditingModes?.has(clientId)) {
2517
+ return state.derivedBlockEditingModes.get(clientId);
2537
2518
  }
2538
- const editorMode = __unstableGetEditorMode(state);
2539
- if (editorMode === 'navigation') {
2540
- const sectionRootClientId = getSectionRootClientId(state);
2541
-
2542
- // The root section is "default mode"
2543
- if (clientId === sectionRootClientId) {
2544
- return 'default';
2545
- }
2546
-
2547
- // Sections should always be contentOnly in navigation mode.
2548
- const sectionsClientIds = getBlockOrder(state, sectionRootClientId);
2549
- if (sectionsClientIds.includes(clientId)) {
2550
- return 'contentOnly';
2551
- }
2552
2519
 
2553
- // Blocks outside sections should be disabled.
2554
- const isWithinSectionRoot = isWithinBlock(state, clientId, sectionRootClientId);
2555
- if (!isWithinSectionRoot) {
2556
- return 'disabled';
2557
- }
2558
-
2559
- // The rest of the blocks depend on whether they are content blocks or not.
2560
- // This "flattens" the sections tree.
2561
- const name = getBlockName(state, clientId);
2562
- const {
2563
- hasContentRoleAttribute
2564
- } = unlock(select(blocksStore));
2565
- const isContent = hasContentRoleAttribute(name);
2566
- return isContent ? 'contentOnly' : 'disabled';
2520
+ // If the editor *is* in navigation mode, the block editing mode states
2521
+ // are stored in the derivedNavModeBlockEditingModes map.
2522
+ if (isNavMode && state.derivedNavModeBlockEditingModes?.has(clientId)) {
2523
+ return state.derivedNavModeBlockEditingModes.get(clientId);
2567
2524
  }
2568
2525
 
2569
2526
  // In normal mode, consider that an explicitely set editing mode takes over.
@@ -2573,7 +2530,7 @@ export const getBlockEditingMode = createRegistrySelector(select => (state, clie
2573
2530
  }
2574
2531
 
2575
2532
  // In normal mode, top level is default mode.
2576
- if (!clientId) {
2533
+ if (clientId === '') {
2577
2534
  return 'default';
2578
2535
  }
2579
2536
  const rootClientId = getBlockRootClientId(state, clientId);