@wordpress/block-editor 12.5.0 → 12.6.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.
- package/CHANGELOG.md +2 -0
- package/README.md +0 -4
- package/build/components/block-draggable/index.js +6 -3
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +2 -2
- package/build/components/block-draggable/index.native.js.map +1 -1
- package/build/components/block-edit/edit.js +25 -13
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-list/block-outline.native.js +14 -18
- package/build/components/block-list/block-outline.native.js.map +1 -1
- package/build/components/block-list/block.native.js +21 -42
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-mover/index.native.js +1 -1
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +1 -4
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-settings/button.native.js +2 -2
- package/build/components/block-settings/button.native.js.map +1 -1
- package/build/components/{block-mobile-toolbar/block-actions-menu.native.js → block-toolbar/block-toolbar-menu.native.js} +7 -5
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -0
- package/build/components/block-toolbar/index.js +4 -3
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/index.native.js +62 -3
- package/build/components/block-toolbar/index.native.js.map +1 -1
- package/build/components/colors-gradients/control.js +4 -2
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/global-styles/color-panel.js +21 -15
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +13 -2
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/get-block-css-selector.js +4 -8
- package/build/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build/components/global-styles/hooks.js +13 -23
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +18 -3
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +12 -18
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +6 -6
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/iframe/index.js +36 -48
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/iframe/use-compatibility-styles.js +5 -0
- package/build/components/iframe/use-compatibility-styles.js.map +1 -1
- package/build/components/index.js +1 -10
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +3 -1
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +3 -1
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +33 -7
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/index.js +2 -4
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +21 -32
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/reusable-block-rename-hint.js +23 -3
- package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
- package/build/components/link-control/index.js +4 -1
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-item.js +1 -1
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/list-view/use-list-view-client-ids.js +2 -2
- package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +65 -31
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/preview-options/index.js +2 -2
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/rich-text/content.js +0 -36
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/get-rich-text-values.js +118 -0
- package/build/components/rich-text/get-rich-text-values.js.map +1 -0
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -1
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/axial.js +6 -2
- package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/separated.js +5 -1
- package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/single.js +5 -1
- package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js +1 -1
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/use-block-display-information/index.js +7 -3
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js +49 -8
- package/build/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build/components/use-setting/index.js +5 -9
- package/build/components/use-setting/index.js.map +1 -1
- package/build/hooks/margin.js +1 -1
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +1 -1
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/utils.js +1 -7
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +7 -3
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +1 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/private-selectors.js +5 -6
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +0 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +19 -8
- package/build/store/selectors.js.map +1 -1
- package/build/utils/object.js +38 -2
- package/build/utils/object.js.map +1 -1
- package/build-module/components/block-draggable/index.js +6 -3
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js +2 -2
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- package/build-module/components/block-edit/edit.js +27 -10
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-list/block-outline.native.js +14 -18
- package/build-module/components/block-list/block-outline.native.js.map +1 -1
- package/build-module/components/block-list/block.native.js +24 -43
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +3 -3
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +1 -4
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-settings/button.native.js +3 -3
- package/build-module/components/block-settings/button.native.js.map +1 -1
- package/build-module/components/{block-mobile-toolbar/block-actions-menu.native.js → block-toolbar/block-toolbar-menu.native.js} +9 -7
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -0
- package/build-module/components/block-toolbar/index.js +4 -3
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.native.js +60 -4
- package/build-module/components/block-toolbar/index.native.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +3 -2
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +21 -15
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +13 -2
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/get-block-css-selector.js +4 -8
- package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +12 -22
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +18 -3
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +13 -18
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +5 -5
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/iframe/index.js +37 -49
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/iframe/use-compatibility-styles.js +5 -0
- package/build-module/components/iframe/use-compatibility-styles.js.map +1 -1
- package/build-module/components/index.js +0 -5
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +3 -1
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +3 -1
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +30 -7
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/index.js +2 -4
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +22 -33
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/reusable-block-rename-hint.js +22 -3
- package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -1
- package/build-module/components/link-control/index.js +4 -1
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-item.js +1 -1
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/list-view/use-list-view-client-ids.js +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +66 -33
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/preview-options/index.js +2 -2
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/rich-text/content.js +1 -36
- package/build-module/components/rich-text/content.js.map +1 -1
- package/build-module/components/rich-text/get-rich-text-values.js +105 -0
- package/build-module/components/rich-text/get-rich-text-values.js.map +1 -0
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -1
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/axial.js +7 -3
- package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/separated.js +6 -2
- package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/single.js +6 -2
- package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js +1 -1
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +7 -3
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js +50 -8
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build-module/components/use-setting/index.js +5 -9
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/hooks/margin.js +1 -1
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +1 -1
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/utils.js +2 -7
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +5 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +2 -2
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-selectors.js +3 -3
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +0 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +16 -6
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/object.js +34 -2
- package/build-module/utils/object.js.map +1 -1
- package/build-style/content-rtl.css +2 -1
- package/build-style/content.css +2 -1
- package/build-style/style-rtl.css +7 -1
- package/build-style/style.css +7 -1
- package/package.json +32 -32
- package/src/components/block-controls/README.md +89 -0
- package/src/components/block-draggable/index.js +13 -4
- package/src/components/block-draggable/index.native.js +7 -3
- package/src/components/block-draggable/test/index.native.js +0 -54
- package/src/components/block-edit/edit.js +26 -9
- package/src/components/block-edit/test/edit.js +1 -1
- package/src/components/block-list/block-outline.native.js +26 -25
- package/src/components/block-list/block.native.js +24 -38
- package/src/components/block-list/block.native.scss +18 -40
- package/src/components/block-list/style.native.scss +3 -3
- package/src/components/block-mover/index.native.js +3 -3
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +16 -6
- package/src/components/block-removal-warning-modal/index.js +0 -3
- package/src/components/block-settings/button.native.js +12 -6
- package/src/components/{block-mobile-toolbar/block-actions-menu.native.js → block-toolbar/block-toolbar-menu.native.js} +15 -10
- package/src/components/block-toolbar/index.js +2 -3
- package/src/components/block-toolbar/index.native.js +86 -6
- package/src/components/{block-mobile-toolbar/test/block-actions-menu.native.js → block-toolbar/test/block-toolbar-menu.native.js} +20 -54
- package/src/components/block-toolbar/test/index.native.js +42 -0
- package/src/components/button-block-appender/styles.native.scss +2 -2
- package/src/components/caption/README.md +49 -0
- package/src/components/colors-gradients/control.js +3 -2
- package/src/components/global-styles/color-panel.js +23 -16
- package/src/components/global-styles/dimensions-panel.js +8 -2
- package/src/components/global-styles/get-block-css-selector.js +5 -9
- package/src/components/global-styles/hooks.js +20 -26
- package/src/components/global-styles/typography-panel.js +17 -5
- package/src/components/global-styles/use-global-styles-output.js +36 -18
- package/src/components/global-styles/utils.js +15 -6
- package/src/components/iframe/index.js +30 -56
- package/src/components/iframe/use-compatibility-styles.js +5 -0
- package/src/components/index.js +0 -5
- package/src/components/inner-blocks/README.md +10 -0
- package/src/components/inner-blocks/index.js +4 -0
- package/src/components/inner-blocks/index.native.js +4 -0
- package/src/components/inner-blocks/use-nested-settings-update.js +32 -5
- package/src/components/inserter/index.js +2 -3
- package/src/components/inserter/index.native.js +17 -36
- package/src/components/inserter/reusable-block-rename-hint.js +18 -1
- package/src/components/inserter/style.native.scss +10 -15
- package/src/components/link-control/index.js +4 -1
- package/src/components/link-control/search-item.js +1 -1
- package/src/components/link-control/style.scss +8 -1
- package/src/components/link-control/test/index.js +26 -0
- package/src/components/list-view/use-list-view-client-ids.js +2 -2
- package/src/components/media-placeholder/index.native.js +108 -59
- package/src/components/media-placeholder/styles.native.scss +59 -24
- package/src/components/preview-options/README.md +18 -17
- package/src/components/preview-options/index.js +2 -2
- package/src/components/rich-text/content.js +1 -46
- package/src/components/rich-text/get-rich-text-values.js +105 -0
- package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -1
- package/src/components/spacing-sizes-control/input-controls/axial.js +17 -2
- package/src/components/spacing-sizes-control/input-controls/separated.js +17 -2
- package/src/components/spacing-sizes-control/input-controls/single.js +12 -2
- package/src/components/spacing-sizes-control/utils.js +1 -1
- package/src/components/text-transform-control/README.md +44 -0
- package/src/components/use-block-display-information/index.js +12 -5
- package/src/components/use-block-drop-zone/index.native.js +65 -28
- package/src/components/use-setting/index.js +8 -8
- package/src/hooks/margin.js +4 -1
- package/src/hooks/padding.js +4 -1
- package/src/hooks/utils.js +5 -7
- package/src/private-apis.js +7 -1
- package/src/store/actions.js +1 -2
- package/src/store/private-selectors.js +3 -6
- package/src/store/reducer.js +0 -1
- package/src/store/selectors.js +33 -5
- package/src/store/test/actions.js +3 -0
- package/src/store/test/private-selectors.js +5 -5
- package/src/store/test/reducer.js +14 -7
- package/src/store/test/selectors.js +1 -1
- package/src/utils/object.js +32 -2
- package/src/utils/test/object.js +36 -0
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +0 -1
- package/build/components/block-mobile-toolbar/index.native.js +0 -135
- package/build/components/block-mobile-toolbar/index.native.js.map +0 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +0 -1
- package/build-module/components/block-mobile-toolbar/index.native.js +0 -116
- package/build-module/components/block-mobile-toolbar/index.native.js.map +0 -1
- package/src/components/block-mobile-toolbar/index.native.js +0 -127
- package/src/components/block-mobile-toolbar/style.native.scss +0 -16
- /package/src/components/{block-mobile-toolbar/test/__snapshots__/block-actions-menu.native.js.snap → block-toolbar/test/__snapshots__/block-toolbar-menu.native.js.snap} +0 -0
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { Pressable,
|
|
4
|
+
import { Pressable, View } from 'react-native';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
-
import { useCallback, useMemo,
|
|
9
|
+
import { useCallback, useMemo, useState } from '@wordpress/element';
|
|
10
10
|
import {
|
|
11
11
|
GlobalStylesContext,
|
|
12
12
|
getMergedGlobalStyles,
|
|
13
13
|
useMobileGlobalStylesColors,
|
|
14
|
-
alignmentHelpers,
|
|
15
14
|
useGlobalStyles,
|
|
16
15
|
} from '@wordpress/components';
|
|
17
16
|
import {
|
|
@@ -36,9 +35,7 @@ import { compose, ifCondition, pure } from '@wordpress/compose';
|
|
|
36
35
|
import BlockEdit from '../block-edit';
|
|
37
36
|
import BlockDraggable from '../block-draggable';
|
|
38
37
|
import BlockInvalidWarning from './block-invalid-warning';
|
|
39
|
-
import BlockMobileToolbar from '../block-mobile-toolbar';
|
|
40
38
|
import BlockOutline from './block-outline';
|
|
41
|
-
import styles from './block.scss';
|
|
42
39
|
import { store as blockEditorStore } from '../../store';
|
|
43
40
|
import { useLayout } from './layout';
|
|
44
41
|
import useSetting from '../use-setting';
|
|
@@ -63,27 +60,21 @@ function getWrapperProps( value, getWrapperPropsFunction ) {
|
|
|
63
60
|
|
|
64
61
|
function BlockWrapper( {
|
|
65
62
|
accessibilityLabel,
|
|
66
|
-
|
|
67
|
-
blockWidth,
|
|
63
|
+
blockCategory,
|
|
68
64
|
children,
|
|
69
65
|
clientId,
|
|
70
66
|
draggingClientId,
|
|
71
67
|
draggingEnabled,
|
|
68
|
+
hasInnerBlocks,
|
|
72
69
|
isDescendentBlockSelected,
|
|
73
|
-
|
|
70
|
+
isRootList,
|
|
74
71
|
isSelected,
|
|
75
|
-
isStackedHorizontally,
|
|
76
72
|
isTouchable,
|
|
77
73
|
marginHorizontal,
|
|
78
74
|
marginVertical,
|
|
79
|
-
|
|
75
|
+
name,
|
|
80
76
|
onFocus,
|
|
81
77
|
} ) {
|
|
82
|
-
const { width: screenWidth } = useWindowDimensions();
|
|
83
|
-
const anchorNodeRef = useRef();
|
|
84
|
-
const { isFullWidth } = alignmentHelpers;
|
|
85
|
-
const isScreenWidthEqual = blockWidth === screenWidth;
|
|
86
|
-
const isFullWidthToolbar = isFullWidth( align ) || isScreenWidthEqual;
|
|
87
78
|
const blockWrapperStyles = { flex: 1 };
|
|
88
79
|
const blockWrapperStyle = [
|
|
89
80
|
blockWrapperStyles,
|
|
@@ -104,9 +95,11 @@ function BlockWrapper( {
|
|
|
104
95
|
style={ blockWrapperStyle }
|
|
105
96
|
>
|
|
106
97
|
<BlockOutline
|
|
98
|
+
blockCategory={ blockCategory }
|
|
99
|
+
hasInnerBlocks={ hasInnerBlocks }
|
|
100
|
+
isRootList={ isRootList }
|
|
107
101
|
isSelected={ isSelected }
|
|
108
|
-
|
|
109
|
-
screenWidth={ screenWidth }
|
|
102
|
+
name={ name }
|
|
110
103
|
/>
|
|
111
104
|
<BlockDraggable
|
|
112
105
|
clientId={ clientId }
|
|
@@ -116,19 +109,6 @@ function BlockWrapper( {
|
|
|
116
109
|
>
|
|
117
110
|
{ children }
|
|
118
111
|
</BlockDraggable>
|
|
119
|
-
<View style={ styles.neutralToolbar } ref={ anchorNodeRef }>
|
|
120
|
-
{ isSelected && (
|
|
121
|
-
<BlockMobileToolbar
|
|
122
|
-
anchorNodeRef={ anchorNodeRef.current }
|
|
123
|
-
blockWidth={ blockWidth }
|
|
124
|
-
clientId={ clientId }
|
|
125
|
-
draggingClientId={ draggingClientId }
|
|
126
|
-
isFullWidth={ isFullWidthToolbar }
|
|
127
|
-
isStackedHorizontally={ isStackedHorizontally }
|
|
128
|
-
onDelete={ onDeleteBlock }
|
|
129
|
-
/>
|
|
130
|
-
) }
|
|
131
|
-
</View>
|
|
132
112
|
</Pressable>
|
|
133
113
|
);
|
|
134
114
|
}
|
|
@@ -159,9 +139,11 @@ function BlockListBlock( {
|
|
|
159
139
|
} ) {
|
|
160
140
|
const {
|
|
161
141
|
baseGlobalStyles,
|
|
142
|
+
blockCategory,
|
|
162
143
|
blockType,
|
|
163
144
|
draggingClientId,
|
|
164
145
|
draggingEnabled,
|
|
146
|
+
hasInnerBlocks,
|
|
165
147
|
isDescendantOfParentSelected,
|
|
166
148
|
isDescendentBlockSelected,
|
|
167
149
|
isParentSelected,
|
|
@@ -178,6 +160,7 @@ function BlockListBlock( {
|
|
|
178
160
|
hasSelectedInnerBlock,
|
|
179
161
|
} = select( blockEditorStore );
|
|
180
162
|
const currentBlockType = getBlockType( name || 'core/missing' );
|
|
163
|
+
const currentBlockCategory = currentBlockType?.category;
|
|
181
164
|
const blockOrder = getBlockIndex( clientId );
|
|
182
165
|
const descendentBlockSelected = hasSelectedInnerBlock(
|
|
183
166
|
clientId,
|
|
@@ -194,13 +177,15 @@ function BlockListBlock( {
|
|
|
194
177
|
const selectedParents = clientId ? parents : [];
|
|
195
178
|
const descendantOfParentSelected =
|
|
196
179
|
selectedParents.includes( rootClientId );
|
|
197
|
-
const
|
|
180
|
+
const blockHasInnerBlocks = getBlockCount( clientId ) > 0;
|
|
198
181
|
|
|
199
182
|
// For blocks with inner blocks, we only enable the dragging in the nested
|
|
200
183
|
// blocks if any of them are selected. This way we prevent the long-press
|
|
201
184
|
// gesture from being disabled for elements within the block UI.
|
|
202
185
|
const isDraggingEnabled =
|
|
203
|
-
!
|
|
186
|
+
! blockHasInnerBlocks ||
|
|
187
|
+
isSelected ||
|
|
188
|
+
! descendentBlockSelected;
|
|
204
189
|
// Dragging nested blocks is not supported yet. For this reason, the block to be dragged
|
|
205
190
|
// will be the top in the hierarchy.
|
|
206
191
|
const currentDraggingClientId =
|
|
@@ -211,9 +196,11 @@ function BlockListBlock( {
|
|
|
211
196
|
|
|
212
197
|
return {
|
|
213
198
|
baseGlobalStyles: globalStylesBaseStyles,
|
|
199
|
+
blockCategory: currentBlockCategory,
|
|
214
200
|
blockType: currentBlockType,
|
|
215
201
|
draggingClientId: currentDraggingClientId,
|
|
216
202
|
draggingEnabled: isDraggingEnabled,
|
|
203
|
+
hasInnerBlocks: blockHasInnerBlocks,
|
|
217
204
|
isDescendantOfParentSelected: descendantOfParentSelected,
|
|
218
205
|
isDescendentBlockSelected: descendentBlockSelected,
|
|
219
206
|
isParentSelected: parentSelected,
|
|
@@ -295,7 +282,6 @@ function BlockListBlock( {
|
|
|
295
282
|
),
|
|
296
283
|
] );
|
|
297
284
|
|
|
298
|
-
const { align } = attributes;
|
|
299
285
|
const isFocused = isSelected || isDescendentBlockSelected;
|
|
300
286
|
const isTouchable =
|
|
301
287
|
isSelected ||
|
|
@@ -312,20 +298,20 @@ function BlockListBlock( {
|
|
|
312
298
|
return (
|
|
313
299
|
<BlockWrapper
|
|
314
300
|
accessibilityLabel={ accessibilityLabel }
|
|
315
|
-
|
|
316
|
-
blockWidth={ blockWidth }
|
|
301
|
+
blockCategory={ blockCategory }
|
|
317
302
|
clientId={ clientId }
|
|
318
303
|
draggingClientId={ draggingClientId }
|
|
319
304
|
draggingEnabled={ draggingEnabled }
|
|
320
|
-
|
|
305
|
+
hasInnerBlocks={ hasInnerBlocks }
|
|
321
306
|
isDescendentBlockSelected={ isDescendentBlockSelected }
|
|
322
|
-
|
|
307
|
+
isFocused={ isFocused }
|
|
308
|
+
isRootList={ ! rootClientId }
|
|
323
309
|
isSelected={ isSelected }
|
|
324
310
|
isStackedHorizontally={ isStackedHorizontally }
|
|
325
311
|
isTouchable={ isTouchable }
|
|
326
312
|
marginHorizontal={ marginHorizontal }
|
|
327
313
|
marginVertical={ marginVertical }
|
|
328
|
-
|
|
314
|
+
name={ name }
|
|
329
315
|
onFocus={ onFocus }
|
|
330
316
|
>
|
|
331
317
|
{ () =>
|
|
@@ -3,29 +3,11 @@
|
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
.solidBorderColor {
|
|
6
|
-
border-color: $blue-
|
|
6
|
+
border-color: $blue-40;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
.solidBorderColorDark {
|
|
10
|
-
border-color: $blue-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.dashedBorderColor {
|
|
14
|
-
border-color: $gray;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.dashedBorderColorDark {
|
|
18
|
-
border-color: $gray-70;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.borderFullWidth {
|
|
22
|
-
left: 0;
|
|
23
|
-
right: 0;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.containerBorderFullWidth {
|
|
27
|
-
left: -$solid-border-space * 0.5;
|
|
28
|
-
right: -$solid-border-space * 0.5;
|
|
10
|
+
border-color: $blue-50;
|
|
29
11
|
}
|
|
30
12
|
|
|
31
13
|
.dimmed {
|
|
@@ -51,32 +33,28 @@
|
|
|
51
33
|
min-height: 50px;
|
|
52
34
|
}
|
|
53
35
|
|
|
54
|
-
.neutralToolbar {
|
|
55
|
-
margin-left: -$block-edge-to-content;
|
|
56
|
-
margin-right: -$block-edge-to-content;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
36
|
.solidBorder {
|
|
60
37
|
position: absolute;
|
|
61
|
-
top:
|
|
62
|
-
bottom:
|
|
63
|
-
left:
|
|
64
|
-
right:
|
|
65
|
-
border-width:
|
|
66
|
-
border-radius:
|
|
38
|
+
top: -6px;
|
|
39
|
+
bottom: -6px;
|
|
40
|
+
left: -6px;
|
|
41
|
+
right: -6px;
|
|
42
|
+
border-width: 2px;
|
|
43
|
+
border-radius: 2px;
|
|
67
44
|
border-style: solid;
|
|
68
45
|
z-index: 1;
|
|
69
46
|
}
|
|
70
47
|
|
|
71
|
-
.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
48
|
+
.solidBorderCompact {
|
|
49
|
+
top: 0;
|
|
50
|
+
bottom: 0;
|
|
51
|
+
left: 0;
|
|
52
|
+
right: 0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.solidBorderTextContent {
|
|
56
|
+
left: 0;
|
|
57
|
+
right: 0;
|
|
80
58
|
}
|
|
81
59
|
|
|
82
60
|
.fullWidthPadding {
|
|
@@ -66,12 +66,12 @@
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
.defaultBlock {
|
|
69
|
-
margin: $block-edge-to-content;
|
|
69
|
+
margin: $block-edge-to-content * 0.5 $block-edge-to-content;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
.defaultAppender {
|
|
73
|
-
margin-top: $
|
|
74
|
-
margin-bottom: $
|
|
73
|
+
margin-top: $grid-unit;
|
|
74
|
+
margin-bottom: $grid-unit;
|
|
75
75
|
width: 100%;
|
|
76
76
|
}
|
|
77
77
|
|
|
@@ -7,7 +7,7 @@ import { Platform } from 'react-native';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { __ } from '@wordpress/i18n';
|
|
10
|
-
import { Picker, ToolbarButton } from '@wordpress/components';
|
|
10
|
+
import { Picker, ToolbarButton, ToolbarGroup } from '@wordpress/components';
|
|
11
11
|
import { withInstanceId, compose } from '@wordpress/compose';
|
|
12
12
|
import { withSelect, withDispatch } from '@wordpress/data';
|
|
13
13
|
import { useCallback, useEffect, useRef, useState } from '@wordpress/element';
|
|
@@ -107,7 +107,7 @@ export const BlockMover = ( {
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
return (
|
|
110
|
-
|
|
110
|
+
<ToolbarGroup>
|
|
111
111
|
<ToolbarButton
|
|
112
112
|
title={ ! isFirst ? backwardButtonTitle : firstBlockTitle }
|
|
113
113
|
isDisabled={ isFirst }
|
|
@@ -136,7 +136,7 @@ export const BlockMover = ( {
|
|
|
136
136
|
leftAlign={ true }
|
|
137
137
|
hideCancelButton={ Platform.OS !== 'ios' }
|
|
138
138
|
/>
|
|
139
|
-
|
|
139
|
+
</ToolbarGroup>
|
|
140
140
|
);
|
|
141
141
|
};
|
|
142
142
|
|
|
@@ -43,7 +43,19 @@ exports[`Block Mover Picker moving blocks moves blocks up and down 1`] = `
|
|
|
43
43
|
`;
|
|
44
44
|
|
|
45
45
|
exports[`Block Mover Picker should render without crashing and match snapshot 1`] = `
|
|
46
|
-
|
|
46
|
+
<View
|
|
47
|
+
style={
|
|
48
|
+
[
|
|
49
|
+
{
|
|
50
|
+
"height": 44,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"borderLeftWidth": 0.5,
|
|
54
|
+
},
|
|
55
|
+
undefined,
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
>
|
|
47
59
|
<View>
|
|
48
60
|
<View
|
|
49
61
|
accessibilityHint="Double tap to move the block to the left"
|
|
@@ -99,7 +111,6 @@ exports[`Block Mover Picker should render without crashing and match snapshot 1`
|
|
|
99
111
|
}
|
|
100
112
|
>
|
|
101
113
|
<Svg
|
|
102
|
-
colorScheme="light"
|
|
103
114
|
height={24}
|
|
104
115
|
style={{}}
|
|
105
116
|
viewBox="0 0 24 24"
|
|
@@ -111,7 +122,7 @@ exports[`Block Mover Picker should render without crashing and match snapshot 1`
|
|
|
111
122
|
</View>
|
|
112
123
|
</View>
|
|
113
124
|
</View>
|
|
114
|
-
</View
|
|
125
|
+
</View>
|
|
115
126
|
<View>
|
|
116
127
|
<View
|
|
117
128
|
accessibilityHint="Double tap to move the block to the right"
|
|
@@ -167,7 +178,6 @@ exports[`Block Mover Picker should render without crashing and match snapshot 1`
|
|
|
167
178
|
}
|
|
168
179
|
>
|
|
169
180
|
<Svg
|
|
170
|
-
colorScheme="light"
|
|
171
181
|
height={24}
|
|
172
182
|
style={{}}
|
|
173
183
|
viewBox="0 0 24 24"
|
|
@@ -179,6 +189,6 @@ exports[`Block Mover Picker should render without crashing and match snapshot 1`
|
|
|
179
189
|
</View>
|
|
180
190
|
</View>
|
|
181
191
|
</View>
|
|
182
|
-
</View
|
|
183
|
-
|
|
192
|
+
</View>
|
|
193
|
+
</View>
|
|
184
194
|
`;
|
|
@@ -50,9 +50,6 @@ export function BlockRemovalWarningModal( { rules } ) {
|
|
|
50
50
|
<Modal
|
|
51
51
|
title={ __( 'Are you sure?' ) }
|
|
52
52
|
onRequestClose={ clearBlockRemovalPrompt }
|
|
53
|
-
style={ {
|
|
54
|
-
maxWidth: '40rem',
|
|
55
|
-
} }
|
|
56
53
|
>
|
|
57
54
|
{ blockNamesForPrompt.length === 1 ? (
|
|
58
55
|
<p>{ rules[ blockNamesForPrompt[ 0 ] ] }</p>
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
createSlotFill,
|
|
6
|
+
ToolbarButton,
|
|
7
|
+
ToolbarGroup,
|
|
8
|
+
} from '@wordpress/components';
|
|
5
9
|
import { __ } from '@wordpress/i18n';
|
|
6
10
|
import { withDispatch } from '@wordpress/data';
|
|
7
11
|
import { cog } from '@wordpress/icons';
|
|
@@ -9,11 +13,13 @@ import { cog } from '@wordpress/icons';
|
|
|
9
13
|
const { Fill, Slot } = createSlotFill( 'SettingsToolbarButton' );
|
|
10
14
|
|
|
11
15
|
const SettingsButton = ( { openGeneralSidebar } ) => (
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
<ToolbarGroup>
|
|
17
|
+
<ToolbarButton
|
|
18
|
+
title={ __( 'Open Settings' ) }
|
|
19
|
+
icon={ cog }
|
|
20
|
+
onClick={ openGeneralSidebar }
|
|
21
|
+
/>
|
|
22
|
+
</ToolbarGroup>
|
|
17
23
|
);
|
|
18
24
|
|
|
19
25
|
const SettingsButtonFill = ( props ) => (
|
|
@@ -9,6 +9,7 @@ import { Platform, findNodeHandle } from 'react-native';
|
|
|
9
9
|
import {
|
|
10
10
|
getClipboard,
|
|
11
11
|
setClipboard,
|
|
12
|
+
ToolbarGroup,
|
|
12
13
|
ToolbarButton,
|
|
13
14
|
Picker,
|
|
14
15
|
} from '@wordpress/components';
|
|
@@ -99,9 +100,11 @@ const BlockActionsMenu = ( {
|
|
|
99
100
|
} = getMoversSetup( isStackedHorizontally, moversOptions );
|
|
100
101
|
|
|
101
102
|
// Check if selected block is Groupable and/or Ungroupable.
|
|
102
|
-
const convertToGroupButtonProps = useConvertToGroupButtonProps(
|
|
103
|
-
selectedBlockClientId
|
|
104
|
-
|
|
103
|
+
const convertToGroupButtonProps = useConvertToGroupButtonProps(
|
|
104
|
+
// `selectedBlockClientId` can be undefined in some cases where this
|
|
105
|
+
// component gets re-rendered right after the block is removed.
|
|
106
|
+
selectedBlockClientId ? [ selectedBlockClientId ] : []
|
|
107
|
+
);
|
|
105
108
|
const { isGroupable, isUngroupable } = convertToGroupButtonProps;
|
|
106
109
|
const showConvertToGroupButton =
|
|
107
110
|
( isGroupable || isUngroupable ) && canRemove;
|
|
@@ -254,11 +257,13 @@ const BlockActionsMenu = ( {
|
|
|
254
257
|
// End early if there are no options to show.
|
|
255
258
|
if ( ! options.length ) {
|
|
256
259
|
return (
|
|
257
|
-
<
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
260
|
+
<ToolbarGroup>
|
|
261
|
+
<ToolbarButton
|
|
262
|
+
title={ __( 'Open Block Actions Menu' ) }
|
|
263
|
+
icon={ moreHorizontalMobile }
|
|
264
|
+
disabled={ true }
|
|
265
|
+
/>
|
|
266
|
+
</ToolbarGroup>
|
|
262
267
|
);
|
|
263
268
|
}
|
|
264
269
|
|
|
@@ -294,7 +299,7 @@ const BlockActionsMenu = ( {
|
|
|
294
299
|
anchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;
|
|
295
300
|
|
|
296
301
|
return (
|
|
297
|
-
|
|
302
|
+
<ToolbarGroup>
|
|
298
303
|
<ToolbarButton
|
|
299
304
|
title={ __( 'Open Block Actions Menu' ) }
|
|
300
305
|
onClick={ onPickerPresent }
|
|
@@ -324,7 +329,7 @@ const BlockActionsMenu = ( {
|
|
|
324
329
|
selectedBlock={ getBlocksByClientId( selectedBlockClientId ) }
|
|
325
330
|
selectedBlockClientId={ selectedBlockClientId }
|
|
326
331
|
/>
|
|
327
|
-
|
|
332
|
+
</ToolbarGroup>
|
|
328
333
|
);
|
|
329
334
|
};
|
|
330
335
|
|
|
@@ -35,9 +35,9 @@ import __unstableBlockNameContext from './block-name-context';
|
|
|
35
35
|
import { unlock } from '../../lock-unlock';
|
|
36
36
|
|
|
37
37
|
const BlockToolbar = ( { hideDragHandle } ) => {
|
|
38
|
+
const { getSelectedBlockClientId } = useSelect( blockEditorStore );
|
|
38
39
|
const {
|
|
39
40
|
blockClientIds,
|
|
40
|
-
blockClientId,
|
|
41
41
|
blockType,
|
|
42
42
|
hasFixedToolbar,
|
|
43
43
|
isDistractionFree,
|
|
@@ -61,7 +61,6 @@ const BlockToolbar = ( { hideDragHandle } ) => {
|
|
|
61
61
|
|
|
62
62
|
return {
|
|
63
63
|
blockClientIds: selectedBlockClientIds,
|
|
64
|
-
blockClientId: selectedBlockClientId,
|
|
65
64
|
blockType:
|
|
66
65
|
selectedBlockClientId &&
|
|
67
66
|
getBlockType( getBlockName( selectedBlockClientId ) ),
|
|
@@ -91,7 +90,7 @@ const BlockToolbar = ( { hideDragHandle } ) => {
|
|
|
91
90
|
if ( isFocused && isDistractionFree ) {
|
|
92
91
|
return;
|
|
93
92
|
}
|
|
94
|
-
toggleBlockHighlight(
|
|
93
|
+
toggleBlockHighlight( getSelectedBlockClientId(), isFocused );
|
|
95
94
|
},
|
|
96
95
|
}
|
|
97
96
|
);
|
|
@@ -1,23 +1,60 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { useSelect } from '@wordpress/data';
|
|
4
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
5
|
+
import { useCallback } from '@wordpress/element';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Internal dependencies
|
|
8
9
|
*/
|
|
10
|
+
import BlockActionsMenu from './block-toolbar-menu';
|
|
9
11
|
import BlockControls from '../block-controls';
|
|
12
|
+
import BlockMover from '../block-mover';
|
|
10
13
|
import UngroupButton from '../ungroup-button';
|
|
14
|
+
import { BlockSettingsButton } from '../block-settings';
|
|
11
15
|
import { store as blockEditorStore } from '../../store';
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
const REMOVE_EMPY_PARENT_BLOCKS = [
|
|
18
|
+
'core/buttons',
|
|
19
|
+
'core/columns',
|
|
20
|
+
'core/social-links',
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export default function BlockToolbar( { anchorNodeRef } ) {
|
|
24
|
+
const {
|
|
25
|
+
rootClientId,
|
|
26
|
+
blockClientId,
|
|
27
|
+
isSelected,
|
|
28
|
+
isValidAndVisual,
|
|
29
|
+
isStackedHorizontally,
|
|
30
|
+
parentBlockName,
|
|
31
|
+
parentNumberOfInnerBlocks,
|
|
32
|
+
} = useSelect( ( select ) => {
|
|
33
|
+
const {
|
|
34
|
+
getBlockListSettings,
|
|
35
|
+
getBlockMode,
|
|
36
|
+
getBlockName,
|
|
37
|
+
getBlockCount,
|
|
38
|
+
getBlockRootClientId,
|
|
39
|
+
getSelectedBlockClientIds,
|
|
40
|
+
isBlockValid,
|
|
41
|
+
} = select( blockEditorStore );
|
|
17
42
|
const selectedBlockClientIds = getSelectedBlockClientIds();
|
|
43
|
+
const selectedBlockClientId = selectedBlockClientIds[ 0 ];
|
|
44
|
+
const blockRootClientId = getBlockRootClientId( selectedBlockClientId );
|
|
45
|
+
const blockListSettings = getBlockListSettings( blockRootClientId );
|
|
46
|
+
const orientation = blockListSettings?.orientation;
|
|
47
|
+
const isBlockStackedHorizontally = orientation === 'horizontal';
|
|
48
|
+
const parentName = getBlockName( blockRootClientId );
|
|
49
|
+
const numberOfInnerBlocks = getBlockCount( blockRootClientId );
|
|
18
50
|
|
|
19
51
|
return {
|
|
52
|
+
rootClientId: blockRootClientId,
|
|
53
|
+
blockClientId: selectedBlockClientId,
|
|
20
54
|
isSelected: selectedBlockClientIds.length > 0,
|
|
55
|
+
isStackedHorizontally: isBlockStackedHorizontally,
|
|
56
|
+
parentBlockName: parentName,
|
|
57
|
+
parentNumberOfInnerBlocks: numberOfInnerBlocks,
|
|
21
58
|
isValidAndVisual:
|
|
22
59
|
selectedBlockClientIds.length === 1
|
|
23
60
|
? isBlockValid( selectedBlockClientIds[ 0 ] ) &&
|
|
@@ -26,6 +63,28 @@ export default function BlockToolbar() {
|
|
|
26
63
|
};
|
|
27
64
|
}, [] );
|
|
28
65
|
|
|
66
|
+
const { removeBlock } = useDispatch( blockEditorStore );
|
|
67
|
+
const onRemove = useCallback( () => {
|
|
68
|
+
// Temp: remove parent block for specific cases where they don't
|
|
69
|
+
// have inner blocks, ideally we should match the behavior as in
|
|
70
|
+
// the Web editor and show a placeholder instead of removing the parent.
|
|
71
|
+
if (
|
|
72
|
+
REMOVE_EMPY_PARENT_BLOCKS.includes( parentBlockName ) &&
|
|
73
|
+
parentNumberOfInnerBlocks === 1
|
|
74
|
+
) {
|
|
75
|
+
removeBlock( rootClientId );
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
removeBlock( blockClientId );
|
|
80
|
+
}, [
|
|
81
|
+
blockClientId,
|
|
82
|
+
parentBlockName,
|
|
83
|
+
parentNumberOfInnerBlocks,
|
|
84
|
+
removeBlock,
|
|
85
|
+
rootClientId,
|
|
86
|
+
] );
|
|
87
|
+
|
|
29
88
|
if ( ! isSelected ) {
|
|
30
89
|
return null;
|
|
31
90
|
}
|
|
@@ -34,11 +93,32 @@ export default function BlockToolbar() {
|
|
|
34
93
|
<>
|
|
35
94
|
{ isValidAndVisual && (
|
|
36
95
|
<>
|
|
37
|
-
<
|
|
96
|
+
<BlockSettingsButton.Slot>
|
|
97
|
+
{ /* Render only one settings icon even if we have more than one fill - need for hooks with controls. */ }
|
|
98
|
+
{ ( fills = [ null ] ) => {
|
|
99
|
+
if ( ! fills?.length > 0 ) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
return fills[ 0 ];
|
|
103
|
+
} }
|
|
104
|
+
</BlockSettingsButton.Slot>
|
|
38
105
|
<BlockControls.Slot group="block" />
|
|
39
106
|
<BlockControls.Slot />
|
|
40
107
|
<BlockControls.Slot group="inline" />
|
|
41
108
|
<BlockControls.Slot group="other" />
|
|
109
|
+
<UngroupButton />
|
|
110
|
+
|
|
111
|
+
<BlockMover
|
|
112
|
+
clientIds={ [ blockClientId ] }
|
|
113
|
+
isStackedHorizontally={ isStackedHorizontally }
|
|
114
|
+
/>
|
|
115
|
+
|
|
116
|
+
<BlockActionsMenu
|
|
117
|
+
clientId={ blockClientId }
|
|
118
|
+
isStackedHorizontally={ isStackedHorizontally }
|
|
119
|
+
onDelete={ onRemove }
|
|
120
|
+
anchorNodeRef={ anchorNodeRef }
|
|
121
|
+
/>
|
|
42
122
|
</>
|
|
43
123
|
) }
|
|
44
124
|
</>
|