@wordpress/block-editor 10.2.0 → 10.3.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 (285) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +41 -0
  3. package/build/components/block-draggable/draggable-chip.js +4 -2
  4. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  5. package/build/components/block-inspector/index.js +4 -4
  6. package/build/components/block-inspector/index.js.map +1 -1
  7. package/build/components/block-list/block-list-compact.native.js +1 -0
  8. package/build/components/block-list/block-list-compact.native.js.map +1 -1
  9. package/build/components/block-list/block.js +72 -14
  10. package/build/components/block-list/block.js.map +1 -1
  11. package/build/components/block-list/block.native.js +79 -12
  12. package/build/components/block-list/block.native.js.map +1 -1
  13. package/build/components/block-list/use-in-between-inserter.js +7 -23
  14. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  15. package/build/components/block-lock/modal.js +9 -6
  16. package/build/components/block-lock/modal.js.map +1 -1
  17. package/build/components/block-parent-selector/index.js +3 -3
  18. package/build/components/block-parent-selector/index.js.map +1 -1
  19. package/build/components/block-patterns-list/index.js +5 -4
  20. package/build/components/block-patterns-list/index.js.map +1 -1
  21. package/build/components/block-popover/drop-zone.js +85 -0
  22. package/build/components/block-popover/drop-zone.js.map +1 -0
  23. package/build/components/block-popover/index.js +2 -1
  24. package/build/components/block-popover/index.js.map +1 -1
  25. package/build/components/block-preview/auto.js +2 -2
  26. package/build/components/block-preview/auto.js.map +1 -1
  27. package/build/components/block-preview/index.js +6 -9
  28. package/build/components/block-preview/index.js.map +1 -1
  29. package/build/components/block-preview/live.js +3 -7
  30. package/build/components/block-preview/live.js.map +1 -1
  31. package/build/components/block-selection-clearer/index.js +9 -1
  32. package/build/components/block-selection-clearer/index.js.map +1 -1
  33. package/build/components/block-settings-menu/block-settings-dropdown.js +17 -11
  34. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  35. package/build/components/block-styles/index.js +18 -42
  36. package/build/components/block-styles/index.js.map +1 -1
  37. package/build/components/block-toolbar/index.js +4 -4
  38. package/build/components/block-toolbar/index.js.map +1 -1
  39. package/build/components/block-tools/back-compat.js +2 -1
  40. package/build/components/block-tools/back-compat.js.map +1 -1
  41. package/build/components/block-tools/insertion-point.js +50 -20
  42. package/build/components/block-tools/insertion-point.js.map +1 -1
  43. package/build/components/block-tools/selected-block-popover.js +15 -3
  44. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  45. package/build/components/colors-gradients/control.js +1 -1
  46. package/build/components/colors-gradients/control.js.map +1 -1
  47. package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -2
  48. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  49. package/build/components/font-sizes/fluid-utils.js +256 -0
  50. package/build/components/font-sizes/fluid-utils.js.map +1 -0
  51. package/build/components/font-sizes/index.js +8 -0
  52. package/build/components/font-sizes/index.js.map +1 -1
  53. package/build/components/index.js +0 -9
  54. package/build/components/index.js.map +1 -1
  55. package/build/components/inner-blocks/use-inner-block-template-sync.js +3 -2
  56. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  57. package/build/components/inserter/block-patterns-tab.js +151 -78
  58. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  59. package/build/components/inserter/menu.js +14 -3
  60. package/build/components/inserter/menu.js.map +1 -1
  61. package/build/components/inserter-draggable-blocks/index.js +4 -2
  62. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  63. package/build/components/list-view/use-list-view-drop-zone.js +1 -14
  64. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  65. package/build/components/preview-options/index.js +2 -3
  66. package/build/components/preview-options/index.js.map +1 -1
  67. package/build/components/spacing-sizes-control/spacing-input-control.js +35 -5
  68. package/build/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
  69. package/build/components/use-block-drop-zone/index.js +98 -57
  70. package/build/components/use-block-drop-zone/index.js.map +1 -1
  71. package/build/components/use-on-block-drop/index.js +12 -12
  72. package/build/components/use-on-block-drop/index.js.map +1 -1
  73. package/build/components/use-on-block-drop/types.js +6 -0
  74. package/build/components/use-on-block-drop/types.js.map +1 -0
  75. package/build/hooks/align.js +1 -3
  76. package/build/hooks/align.js.map +1 -1
  77. package/build/hooks/align.native.js +1 -7
  78. package/build/hooks/align.native.js.map +1 -1
  79. package/build/hooks/font-size.js +60 -0
  80. package/build/hooks/font-size.js.map +1 -1
  81. package/build/hooks/margin.js +6 -5
  82. package/build/hooks/margin.js.map +1 -1
  83. package/build/hooks/padding.js +2 -1
  84. package/build/hooks/padding.js.map +1 -1
  85. package/build/hooks/style.js +126 -4
  86. package/build/hooks/style.js.map +1 -1
  87. package/build/hooks/use-typography-props.js +17 -3
  88. package/build/hooks/use-typography-props.js.map +1 -1
  89. package/build/hooks/utils.js +1 -1
  90. package/build/hooks/utils.js.map +1 -1
  91. package/build/store/actions.js +59 -45
  92. package/build/store/actions.js.map +1 -1
  93. package/build/store/defaults.js +3 -0
  94. package/build/store/defaults.js.map +1 -1
  95. package/build/store/reducer.js +31 -15
  96. package/build/store/reducer.js.map +1 -1
  97. package/build/utils/math.js +14 -0
  98. package/build/utils/math.js.map +1 -1
  99. package/build/utils/pre-parse-patterns.js +19 -2
  100. package/build/utils/pre-parse-patterns.js.map +1 -1
  101. package/build-module/components/block-draggable/draggable-chip.js +7 -3
  102. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  103. package/build-module/components/block-inspector/index.js +4 -4
  104. package/build-module/components/block-inspector/index.js.map +1 -1
  105. package/build-module/components/block-list/block-list-compact.native.js +1 -0
  106. package/build-module/components/block-list/block-list-compact.native.js.map +1 -1
  107. package/build-module/components/block-list/block.js +72 -14
  108. package/build-module/components/block-list/block.js.map +1 -1
  109. package/build-module/components/block-list/block.native.js +80 -13
  110. package/build-module/components/block-list/block.native.js.map +1 -1
  111. package/build-module/components/block-list/use-in-between-inserter.js +8 -24
  112. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  113. package/build-module/components/block-lock/modal.js +10 -8
  114. package/build-module/components/block-lock/modal.js.map +1 -1
  115. package/build-module/components/block-parent-selector/index.js +3 -3
  116. package/build-module/components/block-parent-selector/index.js.map +1 -1
  117. package/build-module/components/block-patterns-list/index.js +5 -4
  118. package/build-module/components/block-patterns-list/index.js.map +1 -1
  119. package/build-module/components/block-popover/drop-zone.js +70 -0
  120. package/build-module/components/block-popover/drop-zone.js.map +1 -0
  121. package/build-module/components/block-popover/index.js +2 -1
  122. package/build-module/components/block-popover/index.js.map +1 -1
  123. package/build-module/components/block-preview/auto.js +1 -1
  124. package/build-module/components/block-preview/auto.js.map +1 -1
  125. package/build-module/components/block-preview/index.js +6 -9
  126. package/build-module/components/block-preview/index.js.map +1 -1
  127. package/build-module/components/block-preview/live.js +3 -6
  128. package/build-module/components/block-preview/live.js.map +1 -1
  129. package/build-module/components/block-selection-clearer/index.js +9 -1
  130. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  131. package/build-module/components/block-settings-menu/block-settings-dropdown.js +18 -12
  132. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  133. package/build-module/components/block-styles/index.js +19 -44
  134. package/build-module/components/block-styles/index.js.map +1 -1
  135. package/build-module/components/block-toolbar/index.js +4 -4
  136. package/build-module/components/block-toolbar/index.js.map +1 -1
  137. package/build-module/components/block-tools/back-compat.js +2 -1
  138. package/build-module/components/block-tools/back-compat.js.map +1 -1
  139. package/build-module/components/block-tools/insertion-point.js +48 -20
  140. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  141. package/build-module/components/block-tools/selected-block-popover.js +15 -3
  142. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  143. package/build-module/components/colors-gradients/control.js +2 -2
  144. package/build-module/components/colors-gradients/control.js.map +1 -1
  145. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +3 -3
  146. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  147. package/build-module/components/font-sizes/fluid-utils.js +245 -0
  148. package/build-module/components/font-sizes/fluid-utils.js.map +1 -0
  149. package/build-module/components/font-sizes/index.js +1 -0
  150. package/build-module/components/font-sizes/index.js.map +1 -1
  151. package/build-module/components/index.js +0 -1
  152. package/build-module/components/index.js.map +1 -1
  153. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +3 -2
  154. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  155. package/build-module/components/inserter/block-patterns-tab.js +148 -81
  156. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  157. package/build-module/components/inserter/menu.js +10 -3
  158. package/build-module/components/inserter/menu.js.map +1 -1
  159. package/build-module/components/inserter-draggable-blocks/index.js +4 -2
  160. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  161. package/build-module/components/list-view/use-list-view-drop-zone.js +1 -14
  162. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  163. package/build-module/components/preview-options/index.js +2 -3
  164. package/build-module/components/preview-options/index.js.map +1 -1
  165. package/build-module/components/spacing-sizes-control/spacing-input-control.js +34 -5
  166. package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
  167. package/build-module/components/use-block-drop-zone/index.js +98 -58
  168. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  169. package/build-module/components/use-on-block-drop/index.js +12 -12
  170. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  171. package/build-module/components/use-on-block-drop/types.js +2 -0
  172. package/build-module/components/use-on-block-drop/types.js.map +1 -0
  173. package/build-module/hooks/align.js +1 -2
  174. package/build-module/hooks/align.js.map +1 -1
  175. package/build-module/hooks/align.native.js +1 -6
  176. package/build-module/hooks/align.native.js.map +1 -1
  177. package/build-module/hooks/font-size.js +59 -1
  178. package/build-module/hooks/font-size.js.map +1 -1
  179. package/build-module/hooks/margin.js +6 -5
  180. package/build-module/hooks/margin.js.map +1 -1
  181. package/build-module/hooks/padding.js +2 -1
  182. package/build-module/hooks/padding.js.map +1 -1
  183. package/build-module/hooks/style.js +124 -3
  184. package/build-module/hooks/style.js.map +1 -1
  185. package/build-module/hooks/use-typography-props.js +17 -4
  186. package/build-module/hooks/use-typography-props.js.map +1 -1
  187. package/build-module/hooks/utils.js +2 -2
  188. package/build-module/hooks/utils.js.map +1 -1
  189. package/build-module/store/actions.js +55 -42
  190. package/build-module/store/actions.js.map +1 -1
  191. package/build-module/store/defaults.js +3 -0
  192. package/build-module/store/defaults.js.map +1 -1
  193. package/build-module/store/reducer.js +32 -16
  194. package/build-module/store/reducer.js.map +1 -1
  195. package/build-module/utils/math.js +12 -0
  196. package/build-module/utils/math.js.map +1 -1
  197. package/build-module/utils/pre-parse-patterns.js +19 -2
  198. package/build-module/utils/pre-parse-patterns.js.map +1 -1
  199. package/build-style/style-rtl.css +243 -144
  200. package/build-style/style.css +243 -144
  201. package/package.json +28 -28
  202. package/src/components/block-breadcrumb/test/index.js +1 -1
  203. package/src/components/block-draggable/draggable-chip.js +4 -2
  204. package/src/components/block-inspector/index.js +8 -7
  205. package/src/components/block-list/block-list-compact.native.js +1 -0
  206. package/src/components/block-list/block.js +111 -7
  207. package/src/components/block-list/block.native.js +123 -9
  208. package/src/components/block-list/style.scss +93 -126
  209. package/src/components/block-list/use-in-between-inserter.js +8 -19
  210. package/src/components/block-lock/modal.js +12 -7
  211. package/src/components/block-mover/style.scss +0 -1
  212. package/src/components/block-parent-selector/index.js +3 -3
  213. package/src/components/block-patterns-list/index.js +9 -5
  214. package/src/components/block-patterns-list/style.scss +7 -3
  215. package/src/components/block-popover/README.md +8 -0
  216. package/src/components/block-popover/drop-zone.js +63 -0
  217. package/src/components/block-popover/index.js +2 -1
  218. package/src/components/block-popover/style.scss +17 -1
  219. package/src/components/block-preview/auto.js +1 -1
  220. package/src/components/block-preview/index.js +7 -8
  221. package/src/components/block-preview/live.js +2 -7
  222. package/src/components/block-preview/test/index.js +1 -7
  223. package/src/components/block-selection-clearer/index.js +7 -2
  224. package/src/components/block-selection-clearer/test/index.js +118 -0
  225. package/src/components/block-settings-menu/block-settings-dropdown.js +25 -11
  226. package/src/components/block-settings-menu/test/block-mode-toggle.js +17 -17
  227. package/src/components/block-styles/index.js +26 -49
  228. package/src/components/block-switcher/test/index.js +2 -2
  229. package/src/components/block-toolbar/index.js +4 -6
  230. package/src/components/block-toolbar/style.scss +38 -14
  231. package/src/components/block-tools/back-compat.js +1 -0
  232. package/src/components/block-tools/insertion-point.js +42 -17
  233. package/src/components/block-tools/selected-block-popover.js +14 -1
  234. package/src/components/button-block-appender/style.scss +4 -2
  235. package/src/components/color-palette/test/__snapshots__/control.js.snap +32 -52
  236. package/src/components/color-palette/test/control.js +11 -15
  237. package/src/components/colors-gradients/control.js +2 -2
  238. package/src/components/colors-gradients/panel-color-gradient-settings.js +3 -4
  239. package/src/components/colors-gradients/test/control.js +49 -77
  240. package/src/components/font-sizes/fluid-utils.js +296 -0
  241. package/src/components/font-sizes/index.js +1 -0
  242. package/src/components/font-sizes/test/fluid-utils.js +168 -0
  243. package/src/components/image-size-control/test/index.js +47 -60
  244. package/src/components/index.js +0 -1
  245. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -2
  246. package/src/components/inserter/block-patterns-tab.js +232 -98
  247. package/src/components/inserter/menu.js +15 -2
  248. package/src/components/inserter/style.scss +94 -9
  249. package/src/components/inserter/test/reusable-blocks-tab.js +6 -6
  250. package/src/components/inserter-draggable-blocks/index.js +12 -2
  251. package/src/components/inserter-list-item/style.scss +20 -1
  252. package/src/components/link-control/test/index.js +1 -1
  253. package/src/components/list-view/use-list-view-drop-zone.js +4 -18
  254. package/src/components/panel-color-settings/test/index.js +4 -4
  255. package/src/components/preview-options/index.js +2 -2
  256. package/src/components/preview-options/style.scss +1 -1
  257. package/src/components/provider/test/use-block-sync.js +131 -165
  258. package/src/components/responsive-block-control/test/index.js +4 -4
  259. package/src/components/spacing-sizes-control/spacing-input-control.js +16 -2
  260. package/src/components/spacing-sizes-control/style.scss +26 -19
  261. package/src/components/use-block-drop-zone/index.js +136 -79
  262. package/src/components/use-block-drop-zone/test/index.js +333 -81
  263. package/src/components/use-on-block-drop/index.js +11 -12
  264. package/src/components/use-on-block-drop/types.ts +1 -0
  265. package/src/hooks/align.js +3 -2
  266. package/src/hooks/align.native.js +5 -8
  267. package/src/hooks/font-size.js +75 -0
  268. package/src/hooks/margin.js +5 -4
  269. package/src/hooks/padding.js +1 -0
  270. package/src/hooks/style.js +122 -3
  271. package/src/hooks/test/style.js +206 -1
  272. package/src/hooks/test/use-typography-props.js +22 -0
  273. package/src/hooks/use-typography-props.js +18 -3
  274. package/src/hooks/utils.js +6 -2
  275. package/src/store/actions.js +20 -12
  276. package/src/store/defaults.js +3 -0
  277. package/src/store/reducer.js +31 -24
  278. package/src/store/test/actions.js +0 -9
  279. package/src/utils/math.js +17 -0
  280. package/src/utils/pre-parse-patterns.js +12 -7
  281. package/build/components/inserter/pattern-panel.js +0 -87
  282. package/build/components/inserter/pattern-panel.js.map +0 -1
  283. package/build-module/components/inserter/pattern-panel.js +0 -74
  284. package/build-module/components/inserter/pattern-panel.js.map +0 -1
  285. package/src/components/inserter/pattern-panel.js +0 -93
@@ -8,9 +8,10 @@ import classnames from 'classnames';
8
8
  * WordPress dependencies
9
9
  */
10
10
 
11
- import { useState, useLayoutEffect } from '@wordpress/element';
11
+ import { useState } from '@wordpress/element';
12
12
  import { debounce, useViewportMatch } from '@wordpress/compose';
13
- import { Button, __experimentalTruncate as Truncate, Slot, Fill } from '@wordpress/components';
13
+ import { Button, __experimentalTruncate as Truncate, Popover } from '@wordpress/components';
14
+ import deprecated from '@wordpress/deprecated';
14
15
  /**
15
16
  * Internal dependencies
16
17
  */
@@ -18,41 +19,15 @@ import { Button, __experimentalTruncate as Truncate, Slot, Fill } from '@wordpre
18
19
  import BlockStylesPreviewPanel from './preview-panel';
19
20
  import useStylesForBlocks from './use-styles-for-block';
20
21
 
21
- function BlockStylesPreviewPanelSlot(_ref) {
22
- let {
23
- scope
24
- } = _ref;
25
- return createElement(Slot, {
26
- name: `BlockStylesPreviewPanel/${scope}`
27
- });
28
- }
29
-
30
- function BlockStylesPreviewPanelFill(_ref2) {
31
- let {
32
- children,
33
- scope,
34
- ...props
35
- } = _ref2;
36
- return createElement(Fill, {
37
- name: `BlockStylesPreviewPanel/${scope}`
38
- }, createElement("div", props, children));
39
- } // Top position (in px) of the Block Styles container
40
- // relative to the editor pane.
41
- // The value is the equivalent of the container's right position.
42
-
43
-
44
- const DEFAULT_POSITION_TOP = 16;
45
-
46
22
  const noop = () => {}; // Block Styles component for the Settings Sidebar.
47
23
 
48
24
 
49
- function BlockStyles(_ref3) {
25
+ function BlockStyles(_ref) {
50
26
  let {
51
27
  clientId,
52
28
  onSwitch = noop,
53
- onHoverClassName = noop,
54
- scope
55
- } = _ref3;
29
+ onHoverClassName = noop
30
+ } = _ref;
56
31
  const {
57
32
  onSelect,
58
33
  stylesToRender,
@@ -64,13 +39,7 @@ function BlockStyles(_ref3) {
64
39
  onSwitch
65
40
  });
66
41
  const [hoveredStyle, setHoveredStyle] = useState(null);
67
- const [containerScrollTop, setContainerScrollTop] = useState(0);
68
42
  const isMobileViewport = useViewportMatch('medium', '<');
69
- useLayoutEffect(() => {
70
- const scrollContainer = document.querySelector('.interface-interface-skeleton__content');
71
- const scrollTop = (scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.scrollTop) || 0;
72
- setContainerScrollTop(scrollTop + DEFAULT_POSITION_TOP);
73
- }, [hoveredStyle]);
74
43
 
75
44
  if (!stylesToRender || stylesToRender.length === 0) {
76
45
  return null;
@@ -120,21 +89,27 @@ function BlockStyles(_ref3) {
120
89
  numberOfLines: 1,
121
90
  className: "block-editor-block-styles__item-text"
122
91
  }, buttonText));
123
- })), hoveredStyle && !isMobileViewport && createElement(BlockStylesPreviewPanelFill, {
124
- scope: scope,
92
+ })), hoveredStyle && !isMobileViewport && createElement(Popover, {
93
+ placement: "left-start",
94
+ offset: 20
95
+ }, createElement("div", {
125
96
  className: "block-editor-block-styles__preview-panel",
126
- style: {
127
- top: containerScrollTop
128
- },
129
97
  onMouseLeave: () => styleItemHandler(null)
130
98
  }, createElement(BlockStylesPreviewPanel, {
131
99
  activeStyle: activeStyle,
132
100
  className: previewClassName,
133
101
  genericPreviewBlock: genericPreviewBlock,
134
102
  style: hoveredStyle
135
- })));
103
+ }))));
136
104
  }
137
105
 
138
- BlockStyles.Slot = BlockStylesPreviewPanelSlot;
139
106
  export default BlockStyles;
107
+
108
+ BlockStyles.Slot = () => {
109
+ deprecated('BlockStyles.Slot', {
110
+ version: '6.4',
111
+ since: '6.2'
112
+ });
113
+ return null;
114
+ };
140
115
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-styles/index.js"],"names":["classnames","useState","useLayoutEffect","debounce","useViewportMatch","Button","__experimentalTruncate","Truncate","Slot","Fill","BlockStylesPreviewPanel","useStylesForBlocks","BlockStylesPreviewPanelSlot","scope","BlockStylesPreviewPanelFill","children","props","DEFAULT_POSITION_TOP","noop","BlockStyles","clientId","onSwitch","onHoverClassName","onSelect","stylesToRender","activeStyle","genericPreviewBlock","className","previewClassName","hoveredStyle","setHoveredStyle","containerScrollTop","setContainerScrollTop","isMobileViewport","scrollContainer","document","querySelector","scrollTop","length","debouncedSetHoveredStyle","onSelectStylePreview","style","cancel","styleItemHandler","item","name","map","buttonText","label","top"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useLayoutEffect } from '@wordpress/element';\nimport { debounce, useViewportMatch } from '@wordpress/compose';\nimport {\n\tButton,\n\t__experimentalTruncate as Truncate,\n\tSlot,\n\tFill,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockStylesPreviewPanel from './preview-panel';\nimport useStylesForBlocks from './use-styles-for-block';\n\nfunction BlockStylesPreviewPanelSlot( { scope } ) {\n\treturn <Slot name={ `BlockStylesPreviewPanel/${ scope }` } />;\n}\n\nfunction BlockStylesPreviewPanelFill( { children, scope, ...props } ) {\n\treturn (\n\t\t<Fill name={ `BlockStylesPreviewPanel/${ scope }` }>\n\t\t\t<div { ...props }>{ children }</div>\n\t\t</Fill>\n\t);\n}\n\n// Top position (in px) of the Block Styles container\n// relative to the editor pane.\n// The value is the equivalent of the container's right position.\nconst DEFAULT_POSITION_TOP = 16;\n\nconst noop = () => {};\n\n// Block Styles component for the Settings Sidebar.\nfunction BlockStyles( {\n\tclientId,\n\tonSwitch = noop,\n\tonHoverClassName = noop,\n\tscope,\n} ) {\n\tconst {\n\t\tonSelect,\n\t\tstylesToRender,\n\t\tactiveStyle,\n\t\tgenericPreviewBlock,\n\t\tclassName: previewClassName,\n\t} = useStylesForBlocks( {\n\t\tclientId,\n\t\tonSwitch,\n\t} );\n\tconst [ hoveredStyle, setHoveredStyle ] = useState( null );\n\tconst [ containerScrollTop, setContainerScrollTop ] = useState( 0 );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tuseLayoutEffect( () => {\n\t\tconst scrollContainer = document.querySelector(\n\t\t\t'.interface-interface-skeleton__content'\n\t\t);\n\t\tconst scrollTop = scrollContainer?.scrollTop || 0;\n\t\tsetContainerScrollTop( scrollTop + DEFAULT_POSITION_TOP );\n\t}, [ hoveredStyle ] );\n\n\tif ( ! stylesToRender || stylesToRender.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst debouncedSetHoveredStyle = debounce( setHoveredStyle, 250 );\n\n\tconst onSelectStylePreview = ( style ) => {\n\t\tonSelect( style );\n\t\tonHoverClassName( null );\n\t\tsetHoveredStyle( null );\n\t\tdebouncedSetHoveredStyle.cancel();\n\t};\n\n\tconst styleItemHandler = ( item ) => {\n\t\tif ( hoveredStyle === item ) {\n\t\t\tdebouncedSetHoveredStyle.cancel();\n\t\t\treturn;\n\t\t}\n\t\tdebouncedSetHoveredStyle( item );\n\t\tonHoverClassName( item?.name ?? null );\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-block-styles\">\n\t\t\t<div className=\"block-editor-block-styles__variants\">\n\t\t\t\t{ stylesToRender.map( ( style ) => {\n\t\t\t\t\tconst buttonText = style.label || style.name;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-block-styles__item',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\tactiveStyle.name === style.name,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tkey={ style.name }\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tlabel={ buttonText }\n\t\t\t\t\t\t\tonMouseEnter={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonFocus={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonBlur={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonClick={ () => onSelectStylePreview( style ) }\n\t\t\t\t\t\t\taria-current={ activeStyle.name === style.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-styles__item-text\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ buttonText }\n\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t\t{ hoveredStyle && ! isMobileViewport && (\n\t\t\t\t<BlockStylesPreviewPanelFill\n\t\t\t\t\tscope={ scope }\n\t\t\t\t\tclassName=\"block-editor-block-styles__preview-panel\"\n\t\t\t\t\tstyle={ { top: containerScrollTop } }\n\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t>\n\t\t\t\t\t<BlockStylesPreviewPanel\n\t\t\t\t\t\tactiveStyle={ activeStyle }\n\t\t\t\t\t\tclassName={ previewClassName }\n\t\t\t\t\t\tgenericPreviewBlock={ genericPreviewBlock }\n\t\t\t\t\t\tstyle={ hoveredStyle }\n\t\t\t\t\t/>\n\t\t\t\t</BlockStylesPreviewPanelFill>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nBlockStyles.Slot = BlockStylesPreviewPanelSlot;\nexport default BlockStyles;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-styles/index.js"],"names":["classnames","useState","debounce","useViewportMatch","Button","__experimentalTruncate","Truncate","Popover","deprecated","BlockStylesPreviewPanel","useStylesForBlocks","noop","BlockStyles","clientId","onSwitch","onHoverClassName","onSelect","stylesToRender","activeStyle","genericPreviewBlock","className","previewClassName","hoveredStyle","setHoveredStyle","isMobileViewport","length","debouncedSetHoveredStyle","onSelectStylePreview","style","cancel","styleItemHandler","item","name","map","buttonText","label","Slot","version","since"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { debounce, useViewportMatch } from '@wordpress/compose';\nimport {\n\tButton,\n\t__experimentalTruncate as Truncate,\n\tPopover,\n} from '@wordpress/components';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport BlockStylesPreviewPanel from './preview-panel';\nimport useStylesForBlocks from './use-styles-for-block';\n\nconst noop = () => {};\n\n// Block Styles component for the Settings Sidebar.\nfunction BlockStyles( { clientId, onSwitch = noop, onHoverClassName = noop } ) {\n\tconst {\n\t\tonSelect,\n\t\tstylesToRender,\n\t\tactiveStyle,\n\t\tgenericPreviewBlock,\n\t\tclassName: previewClassName,\n\t} = useStylesForBlocks( {\n\t\tclientId,\n\t\tonSwitch,\n\t} );\n\tconst [ hoveredStyle, setHoveredStyle ] = useState( null );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tif ( ! stylesToRender || stylesToRender.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst debouncedSetHoveredStyle = debounce( setHoveredStyle, 250 );\n\n\tconst onSelectStylePreview = ( style ) => {\n\t\tonSelect( style );\n\t\tonHoverClassName( null );\n\t\tsetHoveredStyle( null );\n\t\tdebouncedSetHoveredStyle.cancel();\n\t};\n\n\tconst styleItemHandler = ( item ) => {\n\t\tif ( hoveredStyle === item ) {\n\t\t\tdebouncedSetHoveredStyle.cancel();\n\t\t\treturn;\n\t\t}\n\t\tdebouncedSetHoveredStyle( item );\n\t\tonHoverClassName( item?.name ?? null );\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-block-styles\">\n\t\t\t<div className=\"block-editor-block-styles__variants\">\n\t\t\t\t{ stylesToRender.map( ( style ) => {\n\t\t\t\t\tconst buttonText = style.label || style.name;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-block-styles__item',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\tactiveStyle.name === style.name,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tkey={ style.name }\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tlabel={ buttonText }\n\t\t\t\t\t\t\tonMouseEnter={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonFocus={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonBlur={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonClick={ () => onSelectStylePreview( style ) }\n\t\t\t\t\t\t\taria-current={ activeStyle.name === style.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-styles__item-text\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ buttonText }\n\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t\t{ hoveredStyle && ! isMobileViewport && (\n\t\t\t\t<Popover placement=\"left-start\" offset={ 20 }>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"block-editor-block-styles__preview-panel\"\n\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockStylesPreviewPanel\n\t\t\t\t\t\t\tactiveStyle={ activeStyle }\n\t\t\t\t\t\t\tclassName={ previewClassName }\n\t\t\t\t\t\t\tgenericPreviewBlock={ genericPreviewBlock }\n\t\t\t\t\t\t\tstyle={ hoveredStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default BlockStyles;\n\nBlockStyles.Slot = () => {\n\tdeprecated( 'BlockStyles.Slot', {\n\t\tversion: '6.4',\n\t\tsince: '6.2',\n\t} );\n\n\treturn null;\n};\n"]}
@@ -40,7 +40,7 @@ const BlockToolbar = _ref => {
40
40
  blockClientId,
41
41
  blockType,
42
42
  hasFixedToolbar,
43
- hasReducedUI,
43
+ isDistractionFree,
44
44
  isValid,
45
45
  isVisual,
46
46
  isContentLocked
@@ -63,7 +63,7 @@ const BlockToolbar = _ref => {
63
63
  blockClientId: selectedBlockClientId,
64
64
  blockType: selectedBlockClientId && getBlockType(getBlockName(selectedBlockClientId)),
65
65
  hasFixedToolbar: settings.hasFixedToolbar,
66
- hasReducedUI: settings.hasReducedUI,
66
+ isDistractionFree: settings.isDistractionFree,
67
67
  rootClientId: blockRootClientId,
68
68
  isValid: selectedBlockClientIds.every(id => isBlockValid(id)),
69
69
  isVisual: selectedBlockClientIds.every(id => getBlockMode(id) === 'visual'),
@@ -83,7 +83,7 @@ const BlockToolbar = _ref => {
83
83
  ref: nodeRef,
84
84
 
85
85
  onChange(isFocused) {
86
- if (isFocused && hasReducedUI) {
86
+ if (isFocused && isDistractionFree) {
87
87
  return;
88
88
  }
89
89
 
@@ -122,7 +122,7 @@ const BlockToolbar = _ref => {
122
122
  clientId: blockClientIds[0]
123
123
  }), createElement(BlockMover, {
124
124
  clientIds: blockClientIds,
125
- hideDragHandle: hideDragHandle || hasReducedUI
125
+ hideDragHandle: hideDragHandle
126
126
  }))), shouldShowVisualToolbar && isMultiToolbar && createElement(BlockGroupToolbar, null), shouldShowVisualToolbar && createElement(Fragment, null, createElement(BlockControls.Slot, {
127
127
  group: "parent",
128
128
  className: "block-editor-block-toolbar__slot"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"names":["classnames","useSelect","useDispatch","useRef","useViewportMatch","getBlockType","hasBlockSupport","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowMoversGestures","store","blockEditorStore","__unstableBlockNameContext","BlockToolbar","hideDragHandle","blockClientIds","blockClientId","blockType","hasFixedToolbar","hasReducedUI","isValid","isVisual","isContentLocked","select","getBlockName","getBlockMode","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getSettings","__unstableGetContentLockingParent","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","settings","rootClientId","every","id","toggleBlockHighlight","nodeRef","showMovers","gestures","showMoversGestures","ref","onChange","isFocused","displayHeaderToolbar","shouldShowMovers","length","shouldShowVisualToolbar","isMultiToolbar","classes","name"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { getBlockType, hasBlockSupport } from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowMoversGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\n\nconst BlockToolbar = ( { hideDragHandle } ) => {\n\tconst {\n\t\tblockClientIds,\n\t\tblockClientId,\n\t\tblockType,\n\t\thasFixedToolbar,\n\t\thasReducedUI,\n\t\tisValid,\n\t\tisVisual,\n\t\tisContentLocked,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSettings,\n\t\t\t__unstableGetContentLockingParent,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst blockRootClientId = getBlockRootClientId( selectedBlockClientId );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockType:\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) ),\n\t\t\thasFixedToolbar: settings.hasFixedToolbar,\n\t\t\thasReducedUI: settings.hasReducedUI,\n\t\t\trootClientId: blockRootClientId,\n\t\t\tisValid: selectedBlockClientIds.every( ( id ) =>\n\t\t\t\tisBlockValid( id )\n\t\t\t),\n\t\t\tisVisual: selectedBlockClientIds.every(\n\t\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t\t),\n\t\t\tisContentLocked: !! __unstableGetContentLockingParent(\n\t\t\t\tselectedBlockClientId\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\tconst nodeRef = useRef();\n\tconst { showMovers, gestures: showMoversGestures } = useShowMoversGestures(\n\t\t{\n\t\t\tref: nodeRef,\n\t\t\tonChange( isFocused ) {\n\t\t\t\tif ( isFocused && hasReducedUI ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttoggleBlockHighlight( blockClientId, isFocused );\n\t\t\t},\n\t\t}\n\t);\n\n\t// Account for the cases where the block toolbar is rendered within the\n\t// header area and not contextually to the block.\n\tconst displayHeaderToolbar =\n\t\tuseViewportMatch( 'medium', '<' ) || hasFixedToolbar;\n\n\tif ( blockType ) {\n\t\tif ( ! hasBlockSupport( blockType, '__experimentalToolbar', true ) ) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tconst shouldShowMovers = displayHeaderToolbar || showMovers;\n\n\tif ( blockClientIds.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst shouldShowVisualToolbar = isValid && isVisual;\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\n\tconst classes = classnames(\n\t\t'block-editor-block-toolbar',\n\t\tshouldShowMovers && 'is-showing-movers'\n\t);\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t! displayHeaderToolbar &&\n\t\t\t\t! isContentLocked && <BlockParentSelector /> }\n\t\t\t<div ref={ nodeRef } { ...showMoversGestures }>\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t! isContentLocked && (\n\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\tclientId={ blockClientIds[ 0 ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\thideDragHandle={\n\t\t\t\t\t\t\t\t\thideDragHandle || hasReducedUI\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t<BlockGroupToolbar />\n\t\t\t) }\n\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t>\n\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t{ ! isContentLocked && (\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n */\nexport default BlockToolbar;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"names":["classnames","useSelect","useDispatch","useRef","useViewportMatch","getBlockType","hasBlockSupport","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowMoversGestures","store","blockEditorStore","__unstableBlockNameContext","BlockToolbar","hideDragHandle","blockClientIds","blockClientId","blockType","hasFixedToolbar","isDistractionFree","isValid","isVisual","isContentLocked","select","getBlockName","getBlockMode","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getSettings","__unstableGetContentLockingParent","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","settings","rootClientId","every","id","toggleBlockHighlight","nodeRef","showMovers","gestures","showMoversGestures","ref","onChange","isFocused","displayHeaderToolbar","shouldShowMovers","length","shouldShowVisualToolbar","isMultiToolbar","classes","name"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { getBlockType, hasBlockSupport } from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowMoversGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\n\nconst BlockToolbar = ( { hideDragHandle } ) => {\n\tconst {\n\t\tblockClientIds,\n\t\tblockClientId,\n\t\tblockType,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tisValid,\n\t\tisVisual,\n\t\tisContentLocked,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSettings,\n\t\t\t__unstableGetContentLockingParent,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst blockRootClientId = getBlockRootClientId( selectedBlockClientId );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockType:\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) ),\n\t\t\thasFixedToolbar: settings.hasFixedToolbar,\n\t\t\tisDistractionFree: settings.isDistractionFree,\n\t\t\trootClientId: blockRootClientId,\n\t\t\tisValid: selectedBlockClientIds.every( ( id ) =>\n\t\t\t\tisBlockValid( id )\n\t\t\t),\n\t\t\tisVisual: selectedBlockClientIds.every(\n\t\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t\t),\n\t\t\tisContentLocked: !! __unstableGetContentLockingParent(\n\t\t\t\tselectedBlockClientId\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\tconst nodeRef = useRef();\n\tconst { showMovers, gestures: showMoversGestures } = useShowMoversGestures(\n\t\t{\n\t\t\tref: nodeRef,\n\t\t\tonChange( isFocused ) {\n\t\t\t\tif ( isFocused && isDistractionFree ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttoggleBlockHighlight( blockClientId, isFocused );\n\t\t\t},\n\t\t}\n\t);\n\n\t// Account for the cases where the block toolbar is rendered within the\n\t// header area and not contextually to the block.\n\tconst displayHeaderToolbar =\n\t\tuseViewportMatch( 'medium', '<' ) || hasFixedToolbar;\n\n\tif ( blockType ) {\n\t\tif ( ! hasBlockSupport( blockType, '__experimentalToolbar', true ) ) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tconst shouldShowMovers = displayHeaderToolbar || showMovers;\n\n\tif ( blockClientIds.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst shouldShowVisualToolbar = isValid && isVisual;\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\n\tconst classes = classnames(\n\t\t'block-editor-block-toolbar',\n\t\tshouldShowMovers && 'is-showing-movers'\n\t);\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t! displayHeaderToolbar &&\n\t\t\t\t! isContentLocked && <BlockParentSelector /> }\n\t\t\t<div ref={ nodeRef } { ...showMoversGestures }>\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t! isContentLocked && (\n\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\tclientId={ blockClientIds[ 0 ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t<BlockGroupToolbar />\n\t\t\t) }\n\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t>\n\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t{ ! isContentLocked && (\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n */\nexport default BlockToolbar;\n"]}
@@ -25,7 +25,8 @@ export default function BlockToolsBackCompat(_ref) {
25
25
 
26
26
  deprecated('wp.components.Popover.Slot name="block-toolbar"', {
27
27
  alternative: 'wp.blockEditor.BlockTools',
28
- since: '5.8'
28
+ since: '5.8',
29
+ version: '6.3'
29
30
  });
30
31
  return createElement(InsertionPoint, {
31
32
  __unstablePopoverSlot: "block-toolbar"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/back-compat.js"],"names":["useContext","Disabled","deprecated","InsertionPoint","InsertionPointOpenRef","BlockPopover","BlockToolsBackCompat","children","openRef","isDisabled","Context","alternative","since"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AACA,SAASC,QAAT,QAAyB,uBAAzB;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;;AACA,OAAOC,cAAP,IAAyBC,qBAAzB,QAAsD,mBAAtD;AACA,OAAOC,YAAP,MAAyB,0BAAzB;AAEA,eAAe,SAASC,oBAAT,OAA8C;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AAC5D,QAAMC,OAAO,GAAGR,UAAU,CAAEI,qBAAF,CAA1B;AACA,QAAMK,UAAU,GAAGT,UAAU,CAAEC,QAAQ,CAACS,OAAX,CAA7B,CAF4D,CAI5D;;AACA,MAAKF,OAAO,IAAIC,UAAhB,EAA6B;AAC5B,WAAOF,QAAP;AACA;;AAEDL,EAAAA,UAAU,CAAE,iDAAF,EAAqD;AAC9DS,IAAAA,WAAW,EAAE,2BADiD;AAE9DC,IAAAA,KAAK,EAAE;AAFuD,GAArD,CAAV;AAKA,SACC,cAAC,cAAD;AAAgB,IAAA,qBAAqB,EAAC;AAAtC,KACC,cAAC,YAAD;AAAc,IAAA,qBAAqB,EAAC;AAApC,IADD,EAEGL,QAFH,CADD;AAMA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { Disabled } from '@wordpress/components';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport InsertionPoint, { InsertionPointOpenRef } from './insertion-point';\nimport BlockPopover from './selected-block-popover';\n\nexport default function BlockToolsBackCompat( { children } ) {\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst isDisabled = useContext( Disabled.Context );\n\n\t// If context is set, `BlockTools` is a parent component.\n\tif ( openRef || isDisabled ) {\n\t\treturn children;\n\t}\n\n\tdeprecated( 'wp.components.Popover.Slot name=\"block-toolbar\"', {\n\t\talternative: 'wp.blockEditor.BlockTools',\n\t\tsince: '5.8',\n\t} );\n\n\treturn (\n\t\t<InsertionPoint __unstablePopoverSlot=\"block-toolbar\">\n\t\t\t<BlockPopover __unstablePopoverSlot=\"block-toolbar\" />\n\t\t\t{ children }\n\t\t</InsertionPoint>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/back-compat.js"],"names":["useContext","Disabled","deprecated","InsertionPoint","InsertionPointOpenRef","BlockPopover","BlockToolsBackCompat","children","openRef","isDisabled","Context","alternative","since","version"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AACA,SAASC,QAAT,QAAyB,uBAAzB;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;;AACA,OAAOC,cAAP,IAAyBC,qBAAzB,QAAsD,mBAAtD;AACA,OAAOC,YAAP,MAAyB,0BAAzB;AAEA,eAAe,SAASC,oBAAT,OAA8C;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AAC5D,QAAMC,OAAO,GAAGR,UAAU,CAAEI,qBAAF,CAA1B;AACA,QAAMK,UAAU,GAAGT,UAAU,CAAEC,QAAQ,CAACS,OAAX,CAA7B,CAF4D,CAI5D;;AACA,MAAKF,OAAO,IAAIC,UAAhB,EAA6B;AAC5B,WAAOF,QAAP;AACA;;AAEDL,EAAAA,UAAU,CAAE,iDAAF,EAAqD;AAC9DS,IAAAA,WAAW,EAAE,2BADiD;AAE9DC,IAAAA,KAAK,EAAE,KAFuD;AAG9DC,IAAAA,OAAO,EAAE;AAHqD,GAArD,CAAV;AAMA,SACC,cAAC,cAAD;AAAgB,IAAA,qBAAqB,EAAC;AAAtC,KACC,cAAC,YAAD;AAAc,IAAA,qBAAqB,EAAC;AAApC,IADD,EAEGN,QAFH,CADD;AAMA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { Disabled } from '@wordpress/components';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport InsertionPoint, { InsertionPointOpenRef } from './insertion-point';\nimport BlockPopover from './selected-block-popover';\n\nexport default function BlockToolsBackCompat( { children } ) {\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst isDisabled = useContext( Disabled.Context );\n\n\t// If context is set, `BlockTools` is a parent component.\n\tif ( openRef || isDisabled ) {\n\t\treturn children;\n\t}\n\n\tdeprecated( 'wp.components.Popover.Slot name=\"block-toolbar\"', {\n\t\talternative: 'wp.blockEditor.BlockTools',\n\t\tsince: '5.8',\n\t\tversion: '6.3',\n\t} );\n\n\treturn (\n\t\t<InsertionPoint __unstablePopoverSlot=\"block-toolbar\">\n\t\t\t<BlockPopover __unstablePopoverSlot=\"block-toolbar\" />\n\t\t\t{ children }\n\t\t</InsertionPoint>\n\t);\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
1
2
  import { createElement } from "@wordpress/element";
2
3
 
3
4
  /**
@@ -19,16 +20,16 @@ import { useReducedMotion } from '@wordpress/compose';
19
20
  import Inserter from '../inserter';
20
21
  import { store as blockEditorStore } from '../../store';
21
22
  import BlockPopoverInbetween from '../block-popover/inbetween';
23
+ import BlockDropZonePopover from '../block-popover/drop-zone';
22
24
  export const InsertionPointOpenRef = createContext();
23
25
 
24
- function InsertionPointPopover(_ref) {
26
+ function InbetweenInsertionPointPopover(_ref) {
25
27
  let {
26
28
  __unstablePopoverSlot,
27
29
  __unstableContentRef
28
30
  } = _ref;
29
31
  const {
30
- selectBlock,
31
- hideInsertionPoint
32
+ selectBlock
32
33
  } = useDispatch(blockEditorStore);
33
34
  const openRef = useContext(InsertionPointOpenRef);
34
35
  const ref = useRef();
@@ -37,7 +38,9 @@ function InsertionPointPopover(_ref) {
37
38
  previousClientId,
38
39
  nextClientId,
39
40
  rootClientId,
40
- isInserterShown
41
+ isInserterShown,
42
+ isDistractionFree,
43
+ isNavigationMode
41
44
  } = useSelect(select => {
42
45
  var _getBlockListSettings;
43
46
 
@@ -47,7 +50,9 @@ function InsertionPointPopover(_ref) {
47
50
  getBlockInsertionPoint,
48
51
  isBlockBeingDragged,
49
52
  getPreviousBlockClientId,
50
- getNextBlockClientId
53
+ getNextBlockClientId,
54
+ getSettings,
55
+ isNavigationMode: _isNavigationMode
51
56
  } = select(blockEditorStore);
52
57
  const insertionPoint = getBlockInsertionPoint();
53
58
  const order = getBlockOrder(insertionPoint.rootClientId);
@@ -67,11 +72,14 @@ function InsertionPointPopover(_ref) {
67
72
  _nextClientId = getNextBlockClientId(_nextClientId);
68
73
  }
69
74
 
75
+ const settings = getSettings();
70
76
  return {
71
77
  previousClientId: _previousClientId,
72
78
  nextClientId: _nextClientId,
73
79
  orientation: ((_getBlockListSettings = getBlockListSettings(insertionPoint.rootClientId)) === null || _getBlockListSettings === void 0 ? void 0 : _getBlockListSettings.orientation) || 'vertical',
74
80
  rootClientId: insertionPoint.rootClientId,
81
+ isNavigationMode: _isNavigationMode(),
82
+ isDistractionFree: settings.isDistractionFree,
75
83
  isInserterShown: insertionPoint === null || insertionPoint === void 0 ? void 0 : insertionPoint.__unstableWithInserter
76
84
  };
77
85
  }, []);
@@ -90,14 +98,6 @@ function InsertionPointPopover(_ref) {
90
98
  if (event.target !== ref.current) {
91
99
  openRef.current = true;
92
100
  }
93
- }
94
-
95
- function maybeHideInserterPoint(event) {
96
- // Only hide the inserter if it's triggered on the wrapper,
97
- // and the inserter is not open.
98
- if (event.target === ref.current && !openRef.current) {
99
- hideInsertionPoint();
100
- }
101
101
  } // Define animation variants for the line element.
102
102
 
103
103
 
@@ -152,7 +152,7 @@ function InsertionPointPopover(_ref) {
152
152
  opacity: 1,
153
153
  borderRadius: '2px',
154
154
  transition: {
155
- delay: isInserterShown ? 0.1 : 0,
155
+ delay: isInserterShown ? 0.5 : 0,
156
156
  type: 'tween'
157
157
  }
158
158
  },
@@ -160,7 +160,7 @@ function InsertionPointPopover(_ref) {
160
160
  opacity: 1,
161
161
  borderRadius: '2px',
162
162
  transition: {
163
- delay: 0.1,
163
+ delay: 0.5,
164
164
  type: 'tween'
165
165
  }
166
166
  }
@@ -172,10 +172,16 @@ function InsertionPointPopover(_ref) {
172
172
  rest: {
173
173
  scale: 1,
174
174
  transition: {
175
+ delay: 0.4,
175
176
  type: 'tween'
176
177
  }
177
178
  }
178
179
  };
180
+
181
+ if (isDistractionFree && !isNavigationMode) {
182
+ return null;
183
+ }
184
+
179
185
  const className = classnames('block-editor-block-list__insertion-point', 'is-' + orientation);
180
186
  return createElement(BlockPopoverInbetween, {
181
187
  previousClientId: previousClientId,
@@ -195,8 +201,7 @@ function InsertionPointPopover(_ref) {
195
201
  onFocus: onFocus,
196
202
  className: classnames(className, {
197
203
  'is-with-inserter': isInserterShown
198
- }),
199
- onHoverEnd: maybeHideInserterPoint
204
+ })
200
205
  }, createElement(motion.div, {
201
206
  variants: lineVariants,
202
207
  className: "block-editor-block-list__insertion-point-indicator",
@@ -219,9 +224,32 @@ function InsertionPointPopover(_ref) {
219
224
  }
220
225
 
221
226
  export default function InsertionPoint(props) {
222
- const isVisible = useSelect(select => {
223
- return select(blockEditorStore).isBlockInsertionPointVisible();
227
+ const {
228
+ insertionPoint,
229
+ isVisible
230
+ } = useSelect(select => {
231
+ const {
232
+ getBlockInsertionPoint,
233
+ isBlockInsertionPointVisible
234
+ } = select(blockEditorStore);
235
+ return {
236
+ insertionPoint: getBlockInsertionPoint(),
237
+ isVisible: isBlockInsertionPointVisible()
238
+ };
224
239
  }, []);
225
- return isVisible && createElement(InsertionPointPopover, props);
240
+
241
+ if (!isVisible) {
242
+ return null;
243
+ }
244
+ /**
245
+ * Render a popover that overlays the block when the desired operation is to replace it.
246
+ * Otherwise, render a popover in between blocks for the indication of inserting between them.
247
+ */
248
+
249
+
250
+ return insertionPoint.operation === 'replace' ? createElement(BlockDropZonePopover // Force remount to trigger the animation.
251
+ , _extends({
252
+ key: `${insertionPoint.rootClientId}-${insertionPoint.index}`
253
+ }, props)) : createElement(InbetweenInsertionPointPopover, props);
226
254
  }
227
255
  //# sourceMappingURL=insertion-point.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/insertion-point.js"],"names":["classnames","useSelect","useDispatch","useRef","createContext","useContext","__unstableMotion","motion","useReducedMotion","Inserter","store","blockEditorStore","BlockPopoverInbetween","InsertionPointOpenRef","InsertionPointPopover","__unstablePopoverSlot","__unstableContentRef","selectBlock","hideInsertionPoint","openRef","ref","orientation","previousClientId","nextClientId","rootClientId","isInserterShown","select","getBlockOrder","getBlockListSettings","getBlockInsertionPoint","isBlockBeingDragged","getPreviousBlockClientId","getNextBlockClientId","insertionPoint","order","length","_previousClientId","index","_nextClientId","__unstableWithInserter","isVertical","disableMotion","onClick","event","target","current","onFocus","maybeHideInserterPoint","horizontalLine","start","width","top","bottom","x","rest","hover","verticalLine","height","left","right","y","lineVariants","opacity","borderRadius","transition","delay","type","inserterVariants","scale","className","isOpen","InsertionPoint","props","isVisible","isBlockInsertionPointVisible"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, createContext, useContext } from '@wordpress/element';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\nimport { store as blockEditorStore } from '../../store';\nimport BlockPopoverInbetween from '../block-popover/inbetween';\n\nexport const InsertionPointOpenRef = createContext();\n\nfunction InsertionPointPopover( {\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst { selectBlock, hideInsertionPoint } = useDispatch( blockEditorStore );\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst ref = useRef();\n\tconst {\n\t\torientation,\n\t\tpreviousClientId,\n\t\tnextClientId,\n\t\trootClientId,\n\t\tisInserterShown,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockBeingDragged,\n\t\t\tgetPreviousBlockClientId,\n\t\t\tgetNextBlockClientId,\n\t\t} = select( blockEditorStore );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst order = getBlockOrder( insertionPoint.rootClientId );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet _previousClientId = order[ insertionPoint.index - 1 ];\n\t\tlet _nextClientId = order[ insertionPoint.index ];\n\n\t\twhile ( isBlockBeingDragged( _previousClientId ) ) {\n\t\t\t_previousClientId = getPreviousBlockClientId( _previousClientId );\n\t\t}\n\n\t\twhile ( isBlockBeingDragged( _nextClientId ) ) {\n\t\t\t_nextClientId = getNextBlockClientId( _nextClientId );\n\t\t}\n\n\t\treturn {\n\t\t\tpreviousClientId: _previousClientId,\n\t\t\tnextClientId: _nextClientId,\n\t\t\torientation:\n\t\t\t\tgetBlockListSettings( insertionPoint.rootClientId )\n\t\t\t\t\t?.orientation || 'vertical',\n\t\t\trootClientId: insertionPoint.rootClientId,\n\t\t\tisInserterShown: insertionPoint?.__unstableWithInserter,\n\t\t};\n\t}, [] );\n\tconst isVertical = orientation === 'vertical';\n\n\tconst disableMotion = useReducedMotion();\n\n\tfunction onClick( event ) {\n\t\tif ( event.target === ref.current && nextClientId ) {\n\t\t\tselectBlock( nextClientId, -1 );\n\t\t}\n\t}\n\n\tfunction onFocus( event ) {\n\t\t// Only handle click on the wrapper specifically, and not an event\n\t\t// bubbled from the inserter itself.\n\t\tif ( event.target !== ref.current ) {\n\t\t\topenRef.current = true;\n\t\t}\n\t}\n\n\tfunction maybeHideInserterPoint( event ) {\n\t\t// Only hide the inserter if it's triggered on the wrapper,\n\t\t// and the inserter is not open.\n\t\tif ( event.target === ref.current && ! openRef.current ) {\n\t\t\thideInsertionPoint();\n\t\t}\n\t}\n\n\t// Define animation variants for the line element.\n\tconst horizontalLine = {\n\t\tstart: {\n\t\t\twidth: 0,\n\t\t\ttop: '50%',\n\t\t\tbottom: '50%',\n\t\t\tx: 0,\n\t\t},\n\t\trest: {\n\t\t\twidth: 4,\n\t\t\ttop: 0,\n\t\t\tbottom: 0,\n\t\t\tx: -2,\n\t\t},\n\t\thover: {\n\t\t\twidth: 4,\n\t\t\ttop: 0,\n\t\t\tbottom: 0,\n\t\t\tx: -2,\n\t\t},\n\t};\n\tconst verticalLine = {\n\t\tstart: {\n\t\t\theight: 0,\n\t\t\tleft: '50%',\n\t\t\tright: '50%',\n\t\t\ty: 0,\n\t\t},\n\t\trest: {\n\t\t\theight: 4,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\ty: -2,\n\t\t},\n\t\thover: {\n\t\t\theight: 4,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\ty: -2,\n\t\t},\n\t};\n\tconst lineVariants = {\n\t\t// Initial position starts from the center and invisible.\n\t\tstart: {\n\t\t\t...( ! isVertical ? horizontalLine.start : verticalLine.start ),\n\t\t\topacity: 0,\n\t\t},\n\t\t// The line expands to fill the container. If the inserter is visible it\n\t\t// is delayed so it appears orchestrated.\n\t\trest: {\n\t\t\t...( ! isVertical ? horizontalLine.rest : verticalLine.rest ),\n\t\t\topacity: 1,\n\t\t\tborderRadius: '2px',\n\t\t\ttransition: { delay: isInserterShown ? 0.1 : 0, type: 'tween' },\n\t\t},\n\t\thover: {\n\t\t\t...( ! isVertical ? horizontalLine.hover : verticalLine.hover ),\n\t\t\topacity: 1,\n\t\t\tborderRadius: '2px',\n\t\t\ttransition: { delay: 0.1, type: 'tween' },\n\t\t},\n\t};\n\n\tconst inserterVariants = {\n\t\tstart: {\n\t\t\tscale: disableMotion ? 1 : 0,\n\t\t},\n\t\trest: {\n\t\t\tscale: 1,\n\t\t\ttransition: { type: 'tween' },\n\t\t},\n\t};\n\n\tconst className = classnames(\n\t\t'block-editor-block-list__insertion-point',\n\t\t'is-' + orientation\n\t);\n\n\treturn (\n\t\t<BlockPopoverInbetween\n\t\t\tpreviousClientId={ previousClientId }\n\t\t\tnextClientId={ nextClientId }\n\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t>\n\t\t\t<motion.div\n\t\t\t\tlayout={ ! disableMotion }\n\t\t\t\tinitial={ disableMotion ? 'rest' : 'start' }\n\t\t\t\tanimate=\"rest\"\n\t\t\t\twhileHover=\"hover\"\n\t\t\t\twhileTap=\"pressed\"\n\t\t\t\texit=\"start\"\n\t\t\t\tref={ ref }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tonFocus={ onFocus }\n\t\t\t\tclassName={ classnames( className, {\n\t\t\t\t\t'is-with-inserter': isInserterShown,\n\t\t\t\t} ) }\n\t\t\t\tonHoverEnd={ maybeHideInserterPoint }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ lineVariants }\n\t\t\t\t\tclassName=\"block-editor-block-list__insertion-point-indicator\"\n\t\t\t\t\tdata-testid=\"block-list-insertion-point-indicator\"\n\t\t\t\t/>\n\t\t\t\t{ isInserterShown && (\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tvariants={ inserterVariants }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-block-list__insertion-point-inserter'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Inserter\n\t\t\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\t\t\tclientId={ nextClientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t\t\tonToggle={ ( isOpen ) => {\n\t\t\t\t\t\t\t\topenRef.current = isOpen;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectOrClose={ () => {\n\t\t\t\t\t\t\t\topenRef.current = false;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</motion.div>\n\t\t\t\t) }\n\t\t\t</motion.div>\n\t\t</BlockPopoverInbetween>\n\t);\n}\n\nexport default function InsertionPoint( props ) {\n\tconst isVisible = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).isBlockInsertionPointVisible();\n\t}, [] );\n\n\treturn isVisible && <InsertionPointPopover { ...props } />;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/insertion-point.js"],"names":["classnames","useSelect","useDispatch","useRef","createContext","useContext","__unstableMotion","motion","useReducedMotion","Inserter","store","blockEditorStore","BlockPopoverInbetween","BlockDropZonePopover","InsertionPointOpenRef","InbetweenInsertionPointPopover","__unstablePopoverSlot","__unstableContentRef","selectBlock","openRef","ref","orientation","previousClientId","nextClientId","rootClientId","isInserterShown","isDistractionFree","isNavigationMode","select","getBlockOrder","getBlockListSettings","getBlockInsertionPoint","isBlockBeingDragged","getPreviousBlockClientId","getNextBlockClientId","getSettings","_isNavigationMode","insertionPoint","order","length","_previousClientId","index","_nextClientId","settings","__unstableWithInserter","isVertical","disableMotion","onClick","event","target","current","onFocus","horizontalLine","start","width","top","bottom","x","rest","hover","verticalLine","height","left","right","y","lineVariants","opacity","borderRadius","transition","delay","type","inserterVariants","scale","className","isOpen","InsertionPoint","props","isVisible","isBlockInsertionPointVisible","operation"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, createContext, useContext } from '@wordpress/element';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\nimport { store as blockEditorStore } from '../../store';\nimport BlockPopoverInbetween from '../block-popover/inbetween';\nimport BlockDropZonePopover from '../block-popover/drop-zone';\n\nexport const InsertionPointOpenRef = createContext();\n\nfunction InbetweenInsertionPointPopover( {\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst ref = useRef();\n\tconst {\n\t\torientation,\n\t\tpreviousClientId,\n\t\tnextClientId,\n\t\trootClientId,\n\t\tisInserterShown,\n\t\tisDistractionFree,\n\t\tisNavigationMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockBeingDragged,\n\t\t\tgetPreviousBlockClientId,\n\t\t\tgetNextBlockClientId,\n\t\t\tgetSettings,\n\t\t\tisNavigationMode: _isNavigationMode,\n\t\t} = select( blockEditorStore );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst order = getBlockOrder( insertionPoint.rootClientId );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet _previousClientId = order[ insertionPoint.index - 1 ];\n\t\tlet _nextClientId = order[ insertionPoint.index ];\n\n\t\twhile ( isBlockBeingDragged( _previousClientId ) ) {\n\t\t\t_previousClientId = getPreviousBlockClientId( _previousClientId );\n\t\t}\n\n\t\twhile ( isBlockBeingDragged( _nextClientId ) ) {\n\t\t\t_nextClientId = getNextBlockClientId( _nextClientId );\n\t\t}\n\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tpreviousClientId: _previousClientId,\n\t\t\tnextClientId: _nextClientId,\n\t\t\torientation:\n\t\t\t\tgetBlockListSettings( insertionPoint.rootClientId )\n\t\t\t\t\t?.orientation || 'vertical',\n\t\t\trootClientId: insertionPoint.rootClientId,\n\t\t\tisNavigationMode: _isNavigationMode(),\n\t\t\tisDistractionFree: settings.isDistractionFree,\n\t\t\tisInserterShown: insertionPoint?.__unstableWithInserter,\n\t\t};\n\t}, [] );\n\tconst isVertical = orientation === 'vertical';\n\n\tconst disableMotion = useReducedMotion();\n\n\tfunction onClick( event ) {\n\t\tif ( event.target === ref.current && nextClientId ) {\n\t\t\tselectBlock( nextClientId, -1 );\n\t\t}\n\t}\n\n\tfunction onFocus( event ) {\n\t\t// Only handle click on the wrapper specifically, and not an event\n\t\t// bubbled from the inserter itself.\n\t\tif ( event.target !== ref.current ) {\n\t\t\topenRef.current = true;\n\t\t}\n\t}\n\n\t// Define animation variants for the line element.\n\tconst horizontalLine = {\n\t\tstart: {\n\t\t\twidth: 0,\n\t\t\ttop: '50%',\n\t\t\tbottom: '50%',\n\t\t\tx: 0,\n\t\t},\n\t\trest: {\n\t\t\twidth: 4,\n\t\t\ttop: 0,\n\t\t\tbottom: 0,\n\t\t\tx: -2,\n\t\t},\n\t\thover: {\n\t\t\twidth: 4,\n\t\t\ttop: 0,\n\t\t\tbottom: 0,\n\t\t\tx: -2,\n\t\t},\n\t};\n\tconst verticalLine = {\n\t\tstart: {\n\t\t\theight: 0,\n\t\t\tleft: '50%',\n\t\t\tright: '50%',\n\t\t\ty: 0,\n\t\t},\n\t\trest: {\n\t\t\theight: 4,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\ty: -2,\n\t\t},\n\t\thover: {\n\t\t\theight: 4,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\ty: -2,\n\t\t},\n\t};\n\tconst lineVariants = {\n\t\t// Initial position starts from the center and invisible.\n\t\tstart: {\n\t\t\t...( ! isVertical ? horizontalLine.start : verticalLine.start ),\n\t\t\topacity: 0,\n\t\t},\n\t\t// The line expands to fill the container. If the inserter is visible it\n\t\t// is delayed so it appears orchestrated.\n\t\trest: {\n\t\t\t...( ! isVertical ? horizontalLine.rest : verticalLine.rest ),\n\t\t\topacity: 1,\n\t\t\tborderRadius: '2px',\n\t\t\ttransition: { delay: isInserterShown ? 0.5 : 0, type: 'tween' },\n\t\t},\n\t\thover: {\n\t\t\t...( ! isVertical ? horizontalLine.hover : verticalLine.hover ),\n\t\t\topacity: 1,\n\t\t\tborderRadius: '2px',\n\t\t\ttransition: { delay: 0.5, type: 'tween' },\n\t\t},\n\t};\n\n\tconst inserterVariants = {\n\t\tstart: {\n\t\t\tscale: disableMotion ? 1 : 0,\n\t\t},\n\t\trest: {\n\t\t\tscale: 1,\n\t\t\ttransition: { delay: 0.4, type: 'tween' },\n\t\t},\n\t};\n\n\tif ( isDistractionFree && ! isNavigationMode ) {\n\t\treturn null;\n\t}\n\n\tconst className = classnames(\n\t\t'block-editor-block-list__insertion-point',\n\t\t'is-' + orientation\n\t);\n\n\treturn (\n\t\t<BlockPopoverInbetween\n\t\t\tpreviousClientId={ previousClientId }\n\t\t\tnextClientId={ nextClientId }\n\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t>\n\t\t\t<motion.div\n\t\t\t\tlayout={ ! disableMotion }\n\t\t\t\tinitial={ disableMotion ? 'rest' : 'start' }\n\t\t\t\tanimate=\"rest\"\n\t\t\t\twhileHover=\"hover\"\n\t\t\t\twhileTap=\"pressed\"\n\t\t\t\texit=\"start\"\n\t\t\t\tref={ ref }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tonFocus={ onFocus }\n\t\t\t\tclassName={ classnames( className, {\n\t\t\t\t\t'is-with-inserter': isInserterShown,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ lineVariants }\n\t\t\t\t\tclassName=\"block-editor-block-list__insertion-point-indicator\"\n\t\t\t\t\tdata-testid=\"block-list-insertion-point-indicator\"\n\t\t\t\t/>\n\t\t\t\t{ isInserterShown && (\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tvariants={ inserterVariants }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-block-list__insertion-point-inserter'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Inserter\n\t\t\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\t\t\tclientId={ nextClientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t\t\tonToggle={ ( isOpen ) => {\n\t\t\t\t\t\t\t\topenRef.current = isOpen;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectOrClose={ () => {\n\t\t\t\t\t\t\t\topenRef.current = false;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</motion.div>\n\t\t\t\t) }\n\t\t\t</motion.div>\n\t\t</BlockPopoverInbetween>\n\t);\n}\n\nexport default function InsertionPoint( props ) {\n\tconst { insertionPoint, isVisible } = useSelect( ( select ) => {\n\t\tconst { getBlockInsertionPoint, isBlockInsertionPointVisible } =\n\t\t\tselect( blockEditorStore );\n\t\treturn {\n\t\t\tinsertionPoint: getBlockInsertionPoint(),\n\t\t\tisVisible: isBlockInsertionPointVisible(),\n\t\t};\n\t}, [] );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Render a popover that overlays the block when the desired operation is to replace it.\n\t * Otherwise, render a popover in between blocks for the indication of inserting between them.\n\t */\n\treturn insertionPoint.operation === 'replace' ? (\n\t\t<BlockDropZonePopover\n\t\t\t// Force remount to trigger the animation.\n\t\t\tkey={ `${ insertionPoint.rootClientId }-${ insertionPoint.index }` }\n\t\t\t{ ...props }\n\t\t/>\n\t) : (\n\t\t<InbetweenInsertionPointPopover { ...props } />\n\t);\n}\n"]}
@@ -39,6 +39,7 @@ function selector(select) {
39
39
  isMultiSelecting: isMultiSelecting(),
40
40
  isTyping: isTyping(),
41
41
  hasFixedToolbar: getSettings().hasFixedToolbar,
42
+ isDistractionFree: getSettings().isDistractionFree,
42
43
  lastClientId: hasMultiSelection() ? getLastMultiSelectedBlockClientId() : null
43
44
  };
44
45
  }
@@ -48,6 +49,8 @@ function SelectedBlockPopover(_ref) {
48
49
  clientId,
49
50
  rootClientId,
50
51
  isEmptyDefaultBlock,
52
+ showContents,
53
+ // we may need to mount an empty popover because we reuse
51
54
  capturingClientId,
52
55
  __unstablePopoverSlot,
53
56
  __unstableContentRef
@@ -57,6 +60,7 @@ function SelectedBlockPopover(_ref) {
57
60
  isMultiSelecting,
58
61
  isTyping,
59
62
  hasFixedToolbar,
63
+ isDistractionFree,
60
64
  lastClientId
61
65
  } = useSelect(selector, []);
62
66
  const isInsertionPointVisible = useSelect(select => {
@@ -82,7 +86,7 @@ function SelectedBlockPopover(_ref) {
82
86
  const showEmptyBlockSideInserter = !isTyping && editorMode === 'edit' && isEmptyDefaultBlock;
83
87
  const shouldShowBreadcrumb = editorMode === 'navigation' || editorMode === 'zoom-out';
84
88
  const shouldShowContextualToolbar = editorMode === 'edit' && !hasFixedToolbar && isLargeViewport && !isMultiSelecting && !showEmptyBlockSideInserter && !isTyping;
85
- const canFocusHiddenToolbar = editorMode === 'edit' && !shouldShowContextualToolbar && !hasFixedToolbar && !isEmptyDefaultBlock;
89
+ const canFocusHiddenToolbar = editorMode === 'edit' && !shouldShowContextualToolbar && !hasFixedToolbar && !isDistractionFree && !isEmptyDefaultBlock;
86
90
  useShortcut('core/block-editor/focus-toolbar', () => {
87
91
  isToolbarForced.current = true;
88
92
  stopTyping(true);
@@ -113,7 +117,7 @@ function SelectedBlockPopover(_ref) {
113
117
  __unstablePopoverSlot: __unstablePopoverSlot,
114
118
  __unstableContentRef: __unstableContentRef,
115
119
  resize: false
116
- }, popoverProps), shouldShowContextualToolbar && createElement(BlockContextualToolbar // If the toolbar is being shown because of being forced
120
+ }, popoverProps), shouldShowContextualToolbar && showContents && createElement(BlockContextualToolbar // If the toolbar is being shown because of being forced
117
121
  // it should focus the toolbar right after the mount.
118
122
  , {
119
123
  focusOnMount: isToolbarForced.current,
@@ -137,6 +141,8 @@ function wrapperSelector(select) {
137
141
  getBlockRootClientId,
138
142
  getBlock,
139
143
  getBlockParents,
144
+ getSettings,
145
+ isNavigationMode: _isNavigationMode,
140
146
  __experimentalGetBlockListSettingsForBlocks
141
147
  } = select(blockEditorStore);
142
148
  const clientId = getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();
@@ -159,10 +165,13 @@ function wrapperSelector(select) {
159
165
 
160
166
  return (_parentBlockListSetti = parentBlockListSettings[parentClientId]) === null || _parentBlockListSetti === void 0 ? void 0 : _parentBlockListSetti.__experimentalCaptureToolbars;
161
167
  });
168
+ const settings = getSettings();
162
169
  return {
163
170
  clientId,
164
171
  rootClientId: getBlockRootClientId(clientId),
165
172
  name,
173
+ isDistractionFree: settings.isDistractionFree,
174
+ isNavigationMode: _isNavigationMode(),
166
175
  isEmptyDefaultBlock: name && isUnmodifiedDefaultBlock({
167
176
  name,
168
177
  attributes
@@ -187,7 +196,9 @@ export default function WrappedBlockPopover(_ref2) {
187
196
  rootClientId,
188
197
  name,
189
198
  isEmptyDefaultBlock,
190
- capturingClientId
199
+ capturingClientId,
200
+ isDistractionFree,
201
+ isNavigationMode
191
202
  } = selected;
192
203
 
193
204
  if (!name) {
@@ -198,6 +209,7 @@ export default function WrappedBlockPopover(_ref2) {
198
209
  clientId: clientId,
199
210
  rootClientId: rootClientId,
200
211
  isEmptyDefaultBlock: isEmptyDefaultBlock,
212
+ showContents: !isDistractionFree || isNavigationMode,
201
213
  capturingClientId: capturingClientId,
202
214
  __unstablePopoverSlot: __unstablePopoverSlot,
203
215
  __unstableContentRef: __unstableContentRef