@wordpress/block-editor 11.0.0 → 11.1.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 +9 -1
- package/README.md +2 -1
- package/build/components/alignment-control/ui.js +1 -7
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/use-available-alignments.js +4 -3
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-icon/index.js +4 -2
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-inspector/index.js +55 -4
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list-appender/index.js +46 -34
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-list-appender/index.native.js +39 -34
- package/build/components/block-list-appender/index.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +18 -18
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/index.native.js +1 -1
- package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +14 -7
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +1 -3
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-styles/utils.js +7 -10
- package/build/components/block-styles/utils.js.map +1 -1
- package/build/components/block-toolbar/index.native.js +6 -8
- package/build/components/block-toolbar/index.native.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +1 -3
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-variation-picker/index.js +1 -1
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/colors/utils.js +2 -6
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors-gradients/control.js +0 -3
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +0 -2
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -19
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +4 -3
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build/components/copy-handler/index.js +37 -9
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js +5 -2
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/font-sizes/utils.js +10 -4
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +11 -6
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/gradients/use-gradient.js +2 -8
- package/build/components/gradients/use-gradient.js.map +1 -1
- package/build/components/iframe/index.js +13 -95
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/iframe/use-compatibility-styles.js +93 -0
- package/build/components/iframe/use-compatibility-styles.js.map +1 -0
- package/build/components/inner-blocks/index.js +6 -2
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +4 -3
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/index.js +13 -4
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/media-tab/hooks.js +8 -5
- package/build/components/inserter/media-tab/hooks.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +6 -3
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/search-items.js +15 -14
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/inserter/search-results.js +4 -2
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/list-view/block-select-button.js +1 -1
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/off-canvas-editor/appender.js +21 -26
- package/build/components/off-canvas-editor/appender.js.map +1 -1
- package/build/components/off-canvas-editor/block-select-button.js +3 -2
- package/build/components/off-canvas-editor/block-select-button.js.map +1 -1
- package/build/components/off-canvas-editor/block.js +57 -45
- package/build/components/off-canvas-editor/block.js.map +1 -1
- package/build/components/off-canvas-editor/index.js +5 -1
- package/build/components/off-canvas-editor/index.js.map +1 -1
- package/build/components/off-canvas-editor/use-inserted-block.js +58 -0
- package/build/components/off-canvas-editor/use-inserted-block.js.map +1 -0
- package/build/components/responsive-block-control/label.js.map +1 -1
- package/build/components/rich-text/format-edit.js +12 -10
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +21 -12
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +0 -1
- package/build/components/spacing-sizes-control/index.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/typewriter/index.js +1 -1
- package/build/components/typewriter/index.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +2 -2
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/writing-flow/index.js +1 -1
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/hooks/border.js +0 -1
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color-panel.js +0 -1
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color.js +1 -2
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/font-family.js +4 -4
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +5 -3
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/use-typography-props.js +11 -8
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/store/reducer.js +21 -7
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +1 -1
- package/build/store/selectors.js.map +1 -1
- package/build/utils/pasting.js +6 -11
- package/build/utils/pasting.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +1 -6
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +4 -3
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-icon/index.js +4 -2
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +56 -5
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +46 -34
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.native.js +39 -32
- package/build-module/components/block-list-appender/index.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +18 -18
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/index.native.js +1 -1
- package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +14 -7
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js +1 -2
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-styles/utils.js +7 -9
- package/build-module/components/block-styles/utils.js.map +1 -1
- package/build-module/components/block-toolbar/index.native.js +6 -8
- package/build-module/components/block-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +1 -2
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +1 -1
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/colors/utils.js +3 -7
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +0 -3
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +0 -2
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +4 -19
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +4 -2
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build-module/components/copy-handler/index.js +38 -10
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js +5 -2
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/font-sizes/utils.js +11 -5
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +12 -7
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/gradients/use-gradient.js +2 -7
- package/build-module/components/gradients/use-gradient.js.map +1 -1
- package/build-module/components/iframe/index.js +12 -95
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/iframe/use-compatibility-styles.js +85 -0
- package/build-module/components/iframe/use-compatibility-styles.js.map +1 -0
- package/build-module/components/inner-blocks/index.js +6 -2
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +4 -3
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/index.js +13 -4
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/hooks.js +8 -5
- package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +6 -3
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/search-items.js +15 -13
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter/search-results.js +4 -2
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +1 -1
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/off-canvas-editor/appender.js +21 -27
- package/build-module/components/off-canvas-editor/appender.js.map +1 -1
- package/build-module/components/off-canvas-editor/block-select-button.js +3 -2
- package/build-module/components/off-canvas-editor/block-select-button.js.map +1 -1
- package/build-module/components/off-canvas-editor/block.js +58 -46
- package/build-module/components/off-canvas-editor/block.js.map +1 -1
- package/build-module/components/off-canvas-editor/index.js +5 -1
- package/build-module/components/off-canvas-editor/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/use-inserted-block.js +47 -0
- package/build-module/components/off-canvas-editor/use-inserted-block.js.map +1 -0
- package/build-module/components/responsive-block-control/label.js +1 -2
- package/build-module/components/responsive-block-control/label.js.map +1 -1
- package/build-module/components/rich-text/format-edit.js +12 -9
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +22 -12
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +0 -1
- package/build-module/components/spacing-sizes-control/index.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/typewriter/index.js +1 -1
- package/build-module/components/typewriter/index.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +3 -3
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/writing-flow/index.js +1 -1
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/hooks/border.js +0 -1
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color-panel.js +0 -1
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color.js +1 -2
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/font-family.js +5 -5
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +5 -3
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +11 -8
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/store/reducer.js +21 -6
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +2 -2
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/pasting.js +6 -10
- package/build-module/utils/pasting.js.map +1 -1
- package/build-style/content-rtl.css +3 -3
- package/build-style/content.css +3 -3
- package/build-style/default-editor-styles-rtl.css +3 -3
- package/build-style/default-editor-styles.css +3 -3
- package/build-style/style-rtl.css +35 -11
- package/build-style/style.css +35 -11
- package/package.json +29 -29
- package/src/components/alignment-control/test/index.js +2 -0
- package/src/components/alignment-control/ui.js +1 -7
- package/src/components/block-alignment-control/test/index.js +2 -0
- package/src/components/block-alignment-control/use-available-alignments.js +4 -3
- package/src/components/block-icon/index.js +4 -2
- package/src/components/block-icon/test/index.js +9 -5
- package/src/components/block-inspector/index.js +77 -4
- package/src/components/block-inspector/style.scss +7 -0
- package/src/components/block-list-appender/index.js +65 -54
- package/src/components/block-list-appender/index.native.js +45 -34
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +18 -22
- package/src/components/block-mobile-toolbar/index.native.js +1 -1
- package/src/components/block-mobile-toolbar/test/__snapshots__/block-actions-menu.native.js.snap +125 -0
- package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +439 -0
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +42 -0
- package/src/components/block-mover/test/index.native.js +157 -1
- package/src/components/block-pattern-setup/index.js +15 -6
- package/src/components/block-pattern-setup/style.scss +29 -1
- package/src/components/block-styles/index.native.js +1 -2
- package/src/components/block-styles/utils.js +5 -7
- package/src/components/block-switcher/test/index.js +3 -2
- package/src/components/block-toolbar/index.native.js +8 -11
- package/src/components/block-tools/selected-block-popover.js +1 -3
- package/src/components/block-variation-picker/index.js +5 -1
- package/src/components/block-vertical-alignment-control/test/index.js +2 -0
- package/src/components/colors/test/with-colors.js +2 -0
- package/src/components/colors/utils.js +5 -3
- package/src/components/colors-gradients/control.js +0 -7
- package/src/components/colors-gradients/dropdown.js +0 -2
- package/src/components/colors-gradients/panel-color-gradient-settings.js +4 -22
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +4 -2
- package/src/components/copy-handler/index.js +53 -7
- package/src/components/default-block-appender/test/index.js +2 -0
- package/src/components/font-sizes/fluid-utils.js +7 -1
- package/src/components/font-sizes/utils.js +5 -3
- package/src/components/font-sizes/with-font-sizes.js +4 -4
- package/src/components/gradients/use-gradient.js +2 -7
- package/src/components/iframe/index.js +8 -103
- package/src/components/iframe/use-compatibility-styles.js +95 -0
- package/src/components/image-size-control/test/index.js +147 -79
- package/src/components/inner-blocks/index.js +4 -2
- package/src/components/inserter/hooks/use-insertion-point.js +3 -2
- package/src/components/inserter/index.js +15 -2
- package/src/components/inserter/media-tab/hooks.js +5 -4
- package/src/components/inserter/quick-inserter.js +3 -0
- package/src/components/inserter/search-items.js +1 -2
- package/src/components/inserter/search-results.js +2 -0
- package/src/components/link-control/test/index.js +18 -4
- package/src/components/list-view/block-select-button.js +1 -1
- package/src/components/list-view/style.scss +1 -7
- package/src/components/media-replace-flow/test/index.js +2 -0
- package/src/components/off-canvas-editor/appender.js +30 -25
- package/src/components/off-canvas-editor/block-select-button.js +6 -2
- package/src/components/off-canvas-editor/block.js +93 -76
- package/src/components/off-canvas-editor/index.js +9 -0
- package/src/components/off-canvas-editor/style.scss +5 -1
- package/src/components/off-canvas-editor/test/use-inserted-block.js +108 -0
- package/src/components/off-canvas-editor/use-inserted-block.js +47 -0
- package/src/components/responsive-block-control/label.js +2 -3
- package/src/components/responsive-block-control/test/index.js +4 -2
- package/src/components/rich-text/format-edit.js +6 -10
- package/src/components/rich-text/index.js +1 -0
- package/src/components/rich-text/use-paste-handler.js +33 -14
- package/src/components/spacing-sizes-control/index.js +0 -1
- package/src/components/spacing-sizes-control/utils.js +1 -1
- package/src/components/typewriter/index.js +3 -1
- package/src/components/url-input/test/button.js +2 -0
- package/src/components/url-popover/image-url-input-ui.js +5 -4
- package/src/components/url-popover/test/index.js +21 -5
- package/src/components/warning/test/index.js +2 -0
- package/src/components/writing-flow/index.js +1 -1
- package/src/hooks/border.js +0 -1
- package/src/hooks/color-panel.js +0 -1
- package/src/hooks/color.js +0 -2
- package/src/hooks/font-family.js +3 -5
- package/src/hooks/font-size.js +13 -4
- package/src/hooks/test/use-typography-props.js +26 -0
- package/src/hooks/use-typography-props.js +15 -7
- package/src/store/reducer.js +13 -6
- package/src/store/selectors.js +2 -3
- package/src/utils/pasting.js +3 -9
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/colors-gradients/use-common-single-multiple-selects.js +0 -21
- package/build/components/colors-gradients/use-common-single-multiple-selects.js.map +0 -1
- package/build/components/rich-text/file-paste-handler.js +0 -21
- package/build/components/rich-text/file-paste-handler.js.map +0 -1
- package/build-module/components/colors-gradients/use-common-single-multiple-selects.js +0 -11
- package/build-module/components/colors-gradients/use-common-single-multiple-selects.js.map +0 -1
- package/build-module/components/rich-text/file-paste-handler.js +0 -13
- package/build-module/components/rich-text/file-paste-handler.js.map +0 -1
- package/src/components/colors-gradients/use-common-single-multiple-selects.js +0 -11
- package/src/components/rich-text/file-paste-handler.js +0 -13
|
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { useSelect } from '@wordpress/data';
|
|
7
7
|
import { getDefaultBlockName } from '@wordpress/blocks';
|
|
8
8
|
/**
|
|
9
9
|
* Internal dependencies
|
|
@@ -13,15 +13,45 @@ import DefaultBlockAppender from '../default-block-appender';
|
|
|
13
13
|
import styles from './style.scss';
|
|
14
14
|
import { store as blockEditorStore } from '../../store';
|
|
15
15
|
|
|
16
|
-
function
|
|
16
|
+
function DefaultAppender(_ref) {
|
|
17
17
|
let {
|
|
18
|
+
rootClientId,
|
|
19
|
+
showSeparator
|
|
20
|
+
} = _ref;
|
|
21
|
+
const {
|
|
18
22
|
blockClientIds,
|
|
23
|
+
canInsertDefaultBlock
|
|
24
|
+
} = useSelect(select => {
|
|
25
|
+
const {
|
|
26
|
+
getBlockOrder,
|
|
27
|
+
canInsertBlockType
|
|
28
|
+
} = select(blockEditorStore);
|
|
29
|
+
return {
|
|
30
|
+
blockClientIds: getBlockOrder(rootClientId),
|
|
31
|
+
canInsertDefaultBlock: canInsertBlockType(getDefaultBlockName(), rootClientId)
|
|
32
|
+
};
|
|
33
|
+
}, [rootClientId]);
|
|
34
|
+
|
|
35
|
+
if (!canInsertDefaultBlock) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return createElement(DefaultBlockAppender, {
|
|
40
|
+
rootClientId: rootClientId,
|
|
41
|
+
lastBlockClientId: blockClientIds[blockClientIds.length - 1],
|
|
42
|
+
containerStyle: styles.blockListAppender,
|
|
43
|
+
placeholder: blockClientIds.length > 0 ? '' : null,
|
|
44
|
+
showSeparator: showSeparator
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export default function BlockListAppender(_ref2) {
|
|
49
|
+
let {
|
|
19
50
|
rootClientId,
|
|
20
|
-
canInsertDefaultBlock,
|
|
21
|
-
isLocked,
|
|
22
51
|
renderAppender: CustomAppender,
|
|
23
52
|
showSeparator
|
|
24
|
-
} =
|
|
53
|
+
} = _ref2;
|
|
54
|
+
const isLocked = useSelect(select => !!select(blockEditorStore).getTemplateLock(rootClientId), [rootClientId]);
|
|
25
55
|
|
|
26
56
|
if (isLocked) {
|
|
27
57
|
return null;
|
|
@@ -33,32 +63,9 @@ function BlockListAppender(_ref) {
|
|
|
33
63
|
});
|
|
34
64
|
}
|
|
35
65
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
containerStyle: styles.blockListAppender,
|
|
41
|
-
placeholder: blockClientIds.length > 0 ? '' : null,
|
|
42
|
-
showSeparator: showSeparator
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return null;
|
|
66
|
+
return createElement(DefaultAppender, {
|
|
67
|
+
rootClientId: rootClientId,
|
|
68
|
+
showSeparator: showSeparator
|
|
69
|
+
});
|
|
47
70
|
}
|
|
48
|
-
|
|
49
|
-
export default withSelect((select, _ref2) => {
|
|
50
|
-
let {
|
|
51
|
-
rootClientId
|
|
52
|
-
} = _ref2;
|
|
53
|
-
const {
|
|
54
|
-
getBlockOrder,
|
|
55
|
-
canInsertBlockType,
|
|
56
|
-
getTemplateLock
|
|
57
|
-
} = select(blockEditorStore);
|
|
58
|
-
return {
|
|
59
|
-
isLocked: !!getTemplateLock(rootClientId),
|
|
60
|
-
blockClientIds: getBlockOrder(rootClientId),
|
|
61
|
-
canInsertDefaultBlock: canInsertBlockType(getDefaultBlockName(), rootClientId)
|
|
62
|
-
};
|
|
63
|
-
})(BlockListAppender);
|
|
64
71
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list-appender/index.native.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list-appender/index.native.js"],"names":["useSelect","getDefaultBlockName","DefaultBlockAppender","styles","store","blockEditorStore","DefaultAppender","rootClientId","showSeparator","blockClientIds","canInsertDefaultBlock","select","getBlockOrder","canInsertBlockType","length","blockListAppender","BlockListAppender","renderAppender","CustomAppender","isLocked","getTemplateLock"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,mBAAT,QAAoC,mBAApC;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;;AAEA,SAASC,eAAT,OAA4D;AAAA,MAAlC;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,GAAkC;AAC3D,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MAA4CV,SAAS,CACxDW,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,aAAF;AAAiBC,MAAAA;AAAjB,QACLF,MAAM,CAAEN,gBAAF,CADP;AAEA,WAAO;AACNI,MAAAA,cAAc,EAAEG,aAAa,CAAEL,YAAF,CADvB;AAENG,MAAAA,qBAAqB,EAAEG,kBAAkB,CACxCZ,mBAAmB,EADqB,EAExCM,YAFwC;AAFnC,KAAP;AAOA,GAXyD,EAY1D,CAAEA,YAAF,CAZ0D,CAA3D;;AAeA,MAAK,CAAEG,qBAAP,EAA+B;AAC9B,WAAO,IAAP;AACA;;AAED,SACC,cAAC,oBAAD;AACC,IAAA,YAAY,EAAGH,YADhB;AAEC,IAAA,iBAAiB,EAAGE,cAAc,CAAEA,cAAc,CAACK,MAAf,GAAwB,CAA1B,CAFnC;AAGC,IAAA,cAAc,EAAGX,MAAM,CAACY,iBAHzB;AAIC,IAAA,WAAW,EAAGN,cAAc,CAACK,MAAf,GAAwB,CAAxB,GAA4B,EAA5B,GAAiC,IAJhD;AAKC,IAAA,aAAa,EAAGN;AALjB,IADD;AASA;;AAED,eAAe,SAASQ,iBAAT,QAIX;AAAA,MAJuC;AAC1CT,IAAAA,YAD0C;AAE1CU,IAAAA,cAAc,EAAEC,cAF0B;AAG1CV,IAAAA;AAH0C,GAIvC;AACH,QAAMW,QAAQ,GAAGnB,SAAS,CACvBW,MAAF,IACC,CAAC,CAAEA,MAAM,CAAEN,gBAAF,CAAN,CAA2Be,eAA3B,CAA4Cb,YAA5C,CAFqB,EAGzB,CAAEA,YAAF,CAHyB,CAA1B;;AAMA,MAAKY,QAAL,EAAgB;AACf,WAAO,IAAP;AACA;;AAED,MAAKD,cAAL,EAAsB;AACrB,WAAO,cAAC,cAAD;AAAgB,MAAA,aAAa,EAAGV;AAAhC,MAAP;AACA;;AAED,SACC,cAAC,eAAD;AACC,IAAA,YAAY,EAAGD,YADhB;AAEC,IAAA,aAAa,EAAGC;AAFjB,IADD;AAMA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport DefaultBlockAppender from '../default-block-appender';\nimport styles from './style.scss';\nimport { store as blockEditorStore } from '../../store';\n\nfunction DefaultAppender( { rootClientId, showSeparator } ) {\n\tconst { blockClientIds, canInsertDefaultBlock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockOrder, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tblockClientIds: getBlockOrder( rootClientId ),\n\t\t\t\tcanInsertDefaultBlock: canInsertBlockType(\n\t\t\t\t\tgetDefaultBlockName(),\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tif ( ! canInsertDefaultBlock ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DefaultBlockAppender\n\t\t\trootClientId={ rootClientId }\n\t\t\tlastBlockClientId={ blockClientIds[ blockClientIds.length - 1 ] }\n\t\t\tcontainerStyle={ styles.blockListAppender }\n\t\t\tplaceholder={ blockClientIds.length > 0 ? '' : null }\n\t\t\tshowSeparator={ showSeparator }\n\t\t/>\n\t);\n}\n\nexport default function BlockListAppender( {\n\trootClientId,\n\trenderAppender: CustomAppender,\n\tshowSeparator,\n} ) {\n\tconst isLocked = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( blockEditorStore ).getTemplateLock( rootClientId ),\n\t\t[ rootClientId ]\n\t);\n\n\tif ( isLocked ) {\n\t\treturn null;\n\t}\n\n\tif ( CustomAppender ) {\n\t\treturn <CustomAppender showSeparator={ showSeparator } />;\n\t}\n\n\treturn (\n\t\t<DefaultAppender\n\t\t\trootClientId={ rootClientId }\n\t\t\tshowSeparator={ showSeparator }\n\t\t/>\n\t);\n}\n"]}
|
|
@@ -224,6 +224,7 @@ const BlockActionsMenu = _ref => {
|
|
|
224
224
|
hint: accessibilityHint
|
|
225
225
|
}
|
|
226
226
|
}), createElement(Picker, {
|
|
227
|
+
testID: "block-actions-menu",
|
|
227
228
|
ref: blockActionsMenuPickerRef,
|
|
228
229
|
options: options,
|
|
229
230
|
onChange: onPickerSelect,
|
|
@@ -247,7 +248,7 @@ const BlockActionsMenu = _ref => {
|
|
|
247
248
|
const EMPTY_BLOCK_LIST = [];
|
|
248
249
|
export default compose(withSelect((select, _ref2) => {
|
|
249
250
|
let {
|
|
250
|
-
|
|
251
|
+
clientId
|
|
251
252
|
} = _ref2;
|
|
252
253
|
const {
|
|
253
254
|
getBlockIndex,
|
|
@@ -261,17 +262,16 @@ export default compose(withSelect((select, _ref2) => {
|
|
|
261
262
|
canInsertBlockType,
|
|
262
263
|
getTemplateLock
|
|
263
264
|
} = select(blockEditorStore);
|
|
264
|
-
const
|
|
265
|
-
const
|
|
266
|
-
const blockName = getBlockName(normalizedClientIds);
|
|
265
|
+
const block = getBlock(clientId);
|
|
266
|
+
const blockName = getBlockName(clientId);
|
|
267
267
|
const blockType = getBlockType(blockName);
|
|
268
268
|
const blockTitle = blockType === null || blockType === void 0 ? void 0 : blockType.title;
|
|
269
|
-
const
|
|
270
|
-
const rootClientId = getBlockRootClientId(firstClientId);
|
|
269
|
+
const rootClientId = getBlockRootClientId(clientId);
|
|
271
270
|
const blockOrder = getBlockOrder(rootClientId);
|
|
272
|
-
const
|
|
273
|
-
const
|
|
274
|
-
const
|
|
271
|
+
const currentBlockIndex = getBlockIndex(clientId);
|
|
272
|
+
const isFirst = currentBlockIndex === 0;
|
|
273
|
+
const isLast = currentBlockIndex === blockOrder.length - 1;
|
|
274
|
+
const innerBlocks = getBlocksByClientId(clientId);
|
|
275
275
|
const canDuplicate = innerBlocks.every(innerBlock => {
|
|
276
276
|
return !!innerBlock && hasBlockSupport(innerBlock.name, 'multiple', true) && canInsertBlockType(innerBlock.name, rootClientId);
|
|
277
277
|
});
|
|
@@ -288,13 +288,13 @@ export default compose(withSelect((select, _ref2) => {
|
|
|
288
288
|
return {
|
|
289
289
|
blockTitle,
|
|
290
290
|
canInsertBlockType,
|
|
291
|
-
currentIndex:
|
|
291
|
+
currentIndex: currentBlockIndex,
|
|
292
292
|
getBlocksByClientId,
|
|
293
293
|
isEmptyDefaultBlock,
|
|
294
294
|
isLocked,
|
|
295
295
|
canDuplicate,
|
|
296
|
-
isFirst
|
|
297
|
-
isLast
|
|
296
|
+
isFirst,
|
|
297
|
+
isLast,
|
|
298
298
|
isReusableBlockType,
|
|
299
299
|
reusableBlock,
|
|
300
300
|
rootClientId,
|
|
@@ -303,7 +303,7 @@ export default compose(withSelect((select, _ref2) => {
|
|
|
303
303
|
};
|
|
304
304
|
}), withDispatch((dispatch, _ref3, _ref4) => {
|
|
305
305
|
let {
|
|
306
|
-
|
|
306
|
+
clientId,
|
|
307
307
|
rootClientId,
|
|
308
308
|
currentIndex,
|
|
309
309
|
selectedBlockClientId
|
|
@@ -317,7 +317,7 @@ export default compose(withSelect((select, _ref2) => {
|
|
|
317
317
|
duplicateBlocks,
|
|
318
318
|
removeBlocks,
|
|
319
319
|
insertBlock,
|
|
320
|
-
|
|
320
|
+
replaceBlock,
|
|
321
321
|
clearSelectedBlock
|
|
322
322
|
} = dispatch(blockEditorStore);
|
|
323
323
|
const {
|
|
@@ -344,7 +344,7 @@ export default compose(withSelect((select, _ref2) => {
|
|
|
344
344
|
},
|
|
345
345
|
|
|
346
346
|
duplicateBlock() {
|
|
347
|
-
return duplicateBlocks(
|
|
347
|
+
return duplicateBlocks([clientId]);
|
|
348
348
|
},
|
|
349
349
|
|
|
350
350
|
onMoveDown: function () {
|
|
@@ -352,14 +352,14 @@ export default compose(withSelect((select, _ref2) => {
|
|
|
352
352
|
args[_key] = arguments[_key];
|
|
353
353
|
}
|
|
354
354
|
|
|
355
|
-
return moveBlocksDown(
|
|
355
|
+
return moveBlocksDown([clientId], rootClientId, ...args);
|
|
356
356
|
},
|
|
357
357
|
onMoveUp: function () {
|
|
358
358
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
359
359
|
args[_key2] = arguments[_key2];
|
|
360
360
|
}
|
|
361
361
|
|
|
362
|
-
return moveBlocksUp(
|
|
362
|
+
return moveBlocksUp([clientId], rootClientId, ...args);
|
|
363
363
|
},
|
|
364
364
|
openGeneralSidebar: () => openGeneralSidebar('edit-post/block'),
|
|
365
365
|
pasteBlock: clipboardBlock => {
|
|
@@ -369,7 +369,7 @@ export default compose(withSelect((select, _ref2) => {
|
|
|
369
369
|
const insertedBlock = createBlock(clipboardBlock.name, clipboardBlock.attributes, clipboardBlock.innerBlocks);
|
|
370
370
|
insertBlock(insertedBlock, currentIndex + 1, rootClientId);
|
|
371
371
|
} else {
|
|
372
|
-
|
|
372
|
+
replaceBlock(clientId, clipboardBlock);
|
|
373
373
|
}
|
|
374
374
|
},
|
|
375
375
|
removeBlocks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-mobile-toolbar/block-actions-menu.native.js"],"names":["Platform","findNodeHandle","getClipboard","setClipboard","ToolbarButton","Picker","getBlockType","getDefaultBlockName","hasBlockSupport","serialize","rawHandler","createBlock","isUnmodifiedDefaultBlock","isReusableBlock","__","sprintf","withDispatch","withSelect","useSelect","withInstanceId","compose","moreHorizontalMobile","useRef","useState","store","noticesStore","reusableBlocksStore","coreStore","getMoversSetup","blockEditorStore","BlockTransformationsMenu","BlockActionsMenu","blockTitle","canInsertBlockType","getBlocksByClientId","isEmptyDefaultBlock","isLocked","canDuplicate","isFirst","isLast","isReusableBlockType","reusableBlock","rootClientId","selectedBlockClientId","selectedBlockPossibleTransformations","createSuccessNotice","convertToRegularBlocks","duplicateBlock","onMoveDown","onMoveUp","openGeneralSidebar","pasteBlock","removeBlocks","anchorNodeRef","isStackedHorizontally","onDelete","wrapBlockMover","wrapBlockSettings","clipboard","setCurrentClipboard","blockActionsMenuPickerRef","blockTransformationMenuPickerRef","moversOptions","keys","clipboardBlock","HTML","isPasteEnabled","name","innerBlockCount","select","getBlockCount","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","allOptions","settings","id","label","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","cutButton","pasteButton","onPasteBlock","duplicateButton","successNotice","title","raw","options","length","filter","Boolean","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","accessibilityHint","OS","getAnchor","undefined","hint","EMPTY_BLOCK_LIST","clientIds","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","normalizedClientIds","Array","isArray","block","blockName","blockType","firstClientId","blockOrder","firstIndex","lastIndex","innerBlocks","every","innerBlock","isDefaultBlock","isEmptyContent","attributes","content","isExactlyOneBlock","selectedBlock","getEntityRecord","ref","currentIndex","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlocks","clearSelectedBlock","getBlockSelectionEnd","__experimentalConvertBlockToStatic","convertBlockToStatic","setImmediate","args","canReplaceBlock","insertedBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, findNodeHandle } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetClipboard,\n\tsetClipboard,\n\tToolbarButton,\n\tPicker,\n} from '@wordpress/components';\nimport {\n\tgetBlockType,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tserialize,\n\trawHandler,\n\tcreateBlock,\n\tisUnmodifiedDefaultBlock,\n\tisReusableBlock,\n} from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect, useSelect } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { moreHorizontalMobile } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getMoversSetup } from '../block-mover/mover-description';\nimport { store as blockEditorStore } from '../../store';\nimport BlockTransformationsMenu from '../block-switcher/block-transformations-menu';\n\nconst BlockActionsMenu = ( {\n\t// Select.\n\tblockTitle,\n\tcanInsertBlockType,\n\tgetBlocksByClientId,\n\tisEmptyDefaultBlock,\n\tisLocked,\n\tcanDuplicate,\n\tisFirst,\n\tisLast,\n\tisReusableBlockType,\n\treusableBlock,\n\trootClientId,\n\tselectedBlockClientId,\n\tselectedBlockPossibleTransformations,\n\t// Dispatch.\n\tcreateSuccessNotice,\n\tconvertToRegularBlocks,\n\tduplicateBlock,\n\tonMoveDown,\n\tonMoveUp,\n\topenGeneralSidebar,\n\tpasteBlock,\n\tremoveBlocks,\n\t// Passed in.\n\tanchorNodeRef,\n\tisStackedHorizontally,\n\tonDelete,\n\twrapBlockMover,\n\twrapBlockSettings,\n} ) => {\n\tconst [ clipboard, setCurrentClipboard ] = useState( getClipboard() );\n\tconst blockActionsMenuPickerRef = useRef();\n\tconst blockTransformationMenuPickerRef = useRef();\n\tconst moversOptions = { keys: [ 'icon', 'actionTitle' ] };\n\tconst clipboardBlock = clipboard && rawHandler( { HTML: clipboard } )[ 0 ];\n\tconst isPasteEnabled =\n\t\tclipboardBlock &&\n\t\tcanInsertBlockType( clipboardBlock.name, rootClientId );\n\n\tconst innerBlockCount = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockCount( selectedBlockClientId ),\n\t\t[ selectedBlockClientId ]\n\t);\n\n\tconst {\n\t\tactionTitle: {\n\t\t\tbackward: backwardButtonTitle,\n\t\t\tforward: forwardButtonTitle,\n\t\t},\n\t} = getMoversSetup( isStackedHorizontally, moversOptions );\n\n\tconst allOptions = {\n\t\tsettings: {\n\t\t\tid: 'settingsOption',\n\t\t\tlabel: __( 'Block settings' ),\n\t\t\tvalue: 'settingsOption',\n\t\t\tonSelect: openGeneralSidebar,\n\t\t},\n\t\tbackwardButton: {\n\t\t\tid: 'backwardButtonOption',\n\t\t\tlabel: backwardButtonTitle,\n\t\t\tvalue: 'backwardButtonOption',\n\t\t\tdisabled: isFirst,\n\t\t\tonSelect: onMoveUp,\n\t\t},\n\t\tforwardButton: {\n\t\t\tid: 'forwardButtonOption',\n\t\t\tlabel: forwardButtonTitle,\n\t\t\tvalue: 'forwardButtonOption',\n\t\t\tdisabled: isLast,\n\t\t\tonSelect: onMoveDown,\n\t\t},\n\t\tdelete: {\n\t\t\tid: 'deleteOption',\n\t\t\tlabel: __( 'Remove block' ),\n\t\t\tvalue: 'deleteOption',\n\t\t\tseparated: true,\n\t\t\tdisabled: isEmptyDefaultBlock,\n\t\t\tonSelect: () => {\n\t\t\t\tonDelete();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is removed.\n\t\t\t\t\t__( 'Block removed' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\ttransformButton: {\n\t\t\tid: 'transformButtonOption',\n\t\t\tlabel: __( 'Transform block…' ),\n\t\t\tvalue: 'transformButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tif ( blockTransformationMenuPickerRef.current ) {\n\t\t\t\t\tblockTransformationMenuPickerRef.current.presentPicker();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcopyButton: {\n\t\t\tid: 'copyButtonOption',\n\t\t\tlabel: __( 'Copy block' ),\n\t\t\tvalue: 'copyButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst serializedBlock = serialize(\n\t\t\t\t\tgetBlocksByClientId( selectedBlockClientId )\n\t\t\t\t);\n\t\t\t\tsetCurrentClipboard( serializedBlock );\n\t\t\t\tsetClipboard( serializedBlock );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is copied.\n\t\t\t\t\t__( 'Block copied' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tcutButton: {\n\t\t\tid: 'cutButtonOption',\n\t\t\tlabel: __( 'Cut block' ),\n\t\t\tvalue: 'cutButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tsetClipboard(\n\t\t\t\t\tserialize( getBlocksByClientId( selectedBlockClientId ) )\n\t\t\t\t);\n\t\t\t\tremoveBlocks( selectedBlockClientId );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is cut.\n\t\t\t\t\t__( 'Block cut' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tpasteButton: {\n\t\t\tid: 'pasteButtonOption',\n\t\t\tlabel: __( 'Paste block after' ),\n\t\t\tvalue: 'pasteButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tonPasteBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is pasted.\n\t\t\t\t\t__( 'Block pasted' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tduplicateButton: {\n\t\t\tid: 'duplicateButtonOption',\n\t\t\tlabel: __( 'Duplicate block' ),\n\t\t\tvalue: 'duplicateButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tduplicateBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is duplicated.\n\t\t\t\t\t__( 'Block duplicated' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tconvertToRegularBlocks: {\n\t\t\tid: 'convertToRegularBlocksOption',\n\t\t\tlabel:\n\t\t\t\tinnerBlockCount > 1\n\t\t\t\t\t? __( 'Convert to regular blocks' )\n\t\t\t\t\t: __( 'Convert to regular block' ),\n\t\t\tvalue: 'convertToRegularBlocksOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst successNotice =\n\t\t\t\t\tinnerBlockCount > 1\n\t\t\t\t\t\t? /* translators: %s: name of the reusable block */\n\t\t\t\t\t\t __( '%s converted to regular blocks' )\n\t\t\t\t\t\t: /* translators: %s: name of the reusable block */\n\t\t\t\t\t\t __( '%s converted to regular block' );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\tsuccessNotice,\n\t\t\t\t\t\treusableBlock?.title?.raw || blockTitle\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconvertToRegularBlocks();\n\t\t\t},\n\t\t},\n\t};\n\n\tconst options = [\n\t\twrapBlockMover && allOptions.backwardButton,\n\t\twrapBlockMover && allOptions.forwardButton,\n\t\twrapBlockSettings && allOptions.settings,\n\t\t! isLocked &&\n\t\t\tselectedBlockPossibleTransformations.length &&\n\t\t\tallOptions.transformButton,\n\t\tcanDuplicate && allOptions.copyButton,\n\t\tcanDuplicate && allOptions.cutButton,\n\t\tcanDuplicate && isPasteEnabled && allOptions.pasteButton,\n\t\tcanDuplicate && allOptions.duplicateButton,\n\t\tisReusableBlockType && allOptions.convertToRegularBlocks,\n\t\t! isLocked && allOptions.delete,\n\t].filter( Boolean );\n\n\t// End early if there are no options to show.\n\tif ( ! options.length ) {\n\t\treturn (\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\tdisabled={ true }\n\t\t\t/>\n\t\t);\n\t}\n\n\tfunction onPasteBlock() {\n\t\tif ( ! clipboard ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpasteBlock( rawHandler( { HTML: clipboard } )[ 0 ] );\n\t}\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\tfunction onPickerPresent() {\n\t\tif ( blockActionsMenuPickerRef.current ) {\n\t\t\tblockActionsMenuPickerRef.current.presentPicker();\n\t\t}\n\t}\n\n\tconst disabledButtonIndices = options\n\t\t.map( ( option, index ) => option.disabled && index + 1 )\n\t\t.filter( Boolean );\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet with available options' )\n\t\t\t: __( 'Double tap to open Bottom Sheet with available options' );\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\tonClick={ onPickerPresent }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: accessibilityHint,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<Picker\n\t\t\t\tref={ blockActionsMenuPickerRef }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\tdestructiveButtonIndex={ options.length }\n\t\t\t\tdisabledButtonIndices={ disabledButtonIndices }\n\t\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\t\tleftAlign={ true }\n\t\t\t\tgetAnchor={ getAnchor }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ sprintf( __( '%s block options' ), blockTitle ) }\n\t\t\t/>\n\t\t\t<BlockTransformationsMenu\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\tpickerRef={ blockTransformationMenuPickerRef }\n\t\t\t\tpossibleTransformations={ selectedBlockPossibleTransformations }\n\t\t\t\tselectedBlock={ getBlocksByClientId( selectedBlockClientId ) }\n\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nconst EMPTY_BLOCK_LIST = [];\n\nexport default compose(\n\twithSelect( ( select, { clientIds } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockName,\n\t\t\tgetBlockTransformItems,\n\t\t\tgetBlock,\n\t\t\tgetBlocksByClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tcanInsertBlockType,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\t\tconst normalizedClientIds = Array.isArray( clientIds )\n\t\t\t? clientIds\n\t\t\t: [ clientIds ];\n\t\tconst block = getBlock( normalizedClientIds );\n\t\tconst blockName = getBlockName( normalizedClientIds );\n\t\tconst blockType = getBlockType( blockName );\n\t\tconst blockTitle = blockType?.title;\n\t\tconst firstClientId = normalizedClientIds[ 0 ];\n\t\tconst rootClientId = getBlockRootClientId( firstClientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\tconst firstIndex = getBlockIndex( firstClientId );\n\t\tconst lastIndex = getBlockIndex(\n\t\t\tnormalizedClientIds[ normalizedClientIds.length - 1 ]\n\t\t);\n\n\t\tconst innerBlocks = getBlocksByClientId( clientIds );\n\n\t\tconst canDuplicate = innerBlocks.every( ( innerBlock ) => {\n\t\t\treturn (\n\t\t\t\t!! innerBlock &&\n\t\t\t\thasBlockSupport( innerBlock.name, 'multiple', true ) &&\n\t\t\t\tcanInsertBlockType( innerBlock.name, rootClientId )\n\t\t\t);\n\t\t} );\n\n\t\tconst isDefaultBlock = blockName === getDefaultBlockName();\n\t\tconst isEmptyContent = block?.attributes.content === '';\n\t\tconst isExactlyOneBlock = blockOrder.length === 1;\n\t\tconst isEmptyDefaultBlock =\n\t\t\tisExactlyOneBlock && isDefaultBlock && isEmptyContent;\n\t\tconst isLocked = !! getTemplateLock( rootClientId );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientIds()[ 0 ];\n\t\tconst selectedBlock = selectedBlockClientId\n\t\t\t? getBlocksByClientId( selectedBlockClientId )[ 0 ]\n\t\t\t: undefined;\n\t\tconst selectedBlockPossibleTransformations = selectedBlock\n\t\t\t? getBlockTransformItems( selectedBlock, rootClientId )\n\t\t\t: EMPTY_BLOCK_LIST;\n\n\t\tconst isReusableBlockType = block ? isReusableBlock( block ) : false;\n\t\tconst reusableBlock = isReusableBlockType\n\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblock?.attributes.ref\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tblockTitle,\n\t\t\tcanInsertBlockType,\n\t\t\tcurrentIndex: firstIndex,\n\t\t\tgetBlocksByClientId,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t\tisFirst: firstIndex === 0,\n\t\t\tisLast: lastIndex === blockOrder.length - 1,\n\t\t\tisReusableBlockType,\n\t\t\treusableBlock,\n\t\t\trootClientId,\n\t\t\tselectedBlockClientId,\n\t\t\tselectedBlockPossibleTransformations,\n\t\t};\n\t} ),\n\twithDispatch(\n\t\t(\n\t\t\tdispatch,\n\t\t\t{ clientIds, rootClientId, currentIndex, selectedBlockClientId },\n\t\t\t{ select }\n\t\t) => {\n\t\t\tconst {\n\t\t\t\tmoveBlocksDown,\n\t\t\t\tmoveBlocksUp,\n\t\t\t\tduplicateBlocks,\n\t\t\t\tremoveBlocks,\n\t\t\t\tinsertBlock,\n\t\t\t\treplaceBlocks,\n\t\t\t\tclearSelectedBlock,\n\t\t\t} = dispatch( blockEditorStore );\n\t\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\t\tconst { getBlockSelectionEnd, getBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\t\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\t\t\tdispatch( reusableBlocksStore );\n\n\t\t\treturn {\n\t\t\t\tcreateSuccessNotice,\n\t\t\t\tconvertToRegularBlocks() {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t\t\t\t// to prevent issues related to undo/redo actions.\n\t\t\t\t\tsetImmediate( () =>\n\t\t\t\t\t\tconvertBlockToStatic( selectedBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tduplicateBlock() {\n\t\t\t\t\treturn duplicateBlocks( clientIds );\n\t\t\t\t},\n\t\t\t\tonMoveDown: ( ...args ) =>\n\t\t\t\t\tmoveBlocksDown( clientIds, rootClientId, ...args ),\n\t\t\t\tonMoveUp: ( ...args ) =>\n\t\t\t\t\tmoveBlocksUp( clientIds, rootClientId, ...args ),\n\t\t\t\topenGeneralSidebar: () =>\n\t\t\t\t\topenGeneralSidebar( 'edit-post/block' ),\n\t\t\t\tpasteBlock: ( clipboardBlock ) => {\n\t\t\t\t\tconst canReplaceBlock = isUnmodifiedDefaultBlock(\n\t\t\t\t\t\tgetBlock( getBlockSelectionEnd() )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! canReplaceBlock ) {\n\t\t\t\t\t\tconst insertedBlock = createBlock(\n\t\t\t\t\t\t\tclipboardBlock.name,\n\t\t\t\t\t\t\tclipboardBlock.attributes,\n\t\t\t\t\t\t\tclipboardBlock.innerBlocks\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\tinsertedBlock,\n\t\t\t\t\t\t\tcurrentIndex + 1,\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treplaceBlocks( clientIds, clipboardBlock );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tremoveBlocks,\n\t\t\t};\n\t\t}\n\t),\n\twithInstanceId\n)( BlockActionsMenu );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-mobile-toolbar/block-actions-menu.native.js"],"names":["Platform","findNodeHandle","getClipboard","setClipboard","ToolbarButton","Picker","getBlockType","getDefaultBlockName","hasBlockSupport","serialize","rawHandler","createBlock","isUnmodifiedDefaultBlock","isReusableBlock","__","sprintf","withDispatch","withSelect","useSelect","withInstanceId","compose","moreHorizontalMobile","useRef","useState","store","noticesStore","reusableBlocksStore","coreStore","getMoversSetup","blockEditorStore","BlockTransformationsMenu","BlockActionsMenu","blockTitle","canInsertBlockType","getBlocksByClientId","isEmptyDefaultBlock","isLocked","canDuplicate","isFirst","isLast","isReusableBlockType","reusableBlock","rootClientId","selectedBlockClientId","selectedBlockPossibleTransformations","createSuccessNotice","convertToRegularBlocks","duplicateBlock","onMoveDown","onMoveUp","openGeneralSidebar","pasteBlock","removeBlocks","anchorNodeRef","isStackedHorizontally","onDelete","wrapBlockMover","wrapBlockSettings","clipboard","setCurrentClipboard","blockActionsMenuPickerRef","blockTransformationMenuPickerRef","moversOptions","keys","clipboardBlock","HTML","isPasteEnabled","name","innerBlockCount","select","getBlockCount","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","allOptions","settings","id","label","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","cutButton","pasteButton","onPasteBlock","duplicateButton","successNotice","title","raw","options","length","filter","Boolean","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","accessibilityHint","OS","getAnchor","undefined","hint","EMPTY_BLOCK_LIST","clientId","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","block","blockName","blockType","blockOrder","currentBlockIndex","innerBlocks","every","innerBlock","isDefaultBlock","isEmptyContent","attributes","content","isExactlyOneBlock","selectedBlock","getEntityRecord","ref","currentIndex","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlock","clearSelectedBlock","getBlockSelectionEnd","__experimentalConvertBlockToStatic","convertBlockToStatic","setImmediate","args","canReplaceBlock","insertedBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, findNodeHandle } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetClipboard,\n\tsetClipboard,\n\tToolbarButton,\n\tPicker,\n} from '@wordpress/components';\nimport {\n\tgetBlockType,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tserialize,\n\trawHandler,\n\tcreateBlock,\n\tisUnmodifiedDefaultBlock,\n\tisReusableBlock,\n} from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect, useSelect } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { moreHorizontalMobile } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getMoversSetup } from '../block-mover/mover-description';\nimport { store as blockEditorStore } from '../../store';\nimport BlockTransformationsMenu from '../block-switcher/block-transformations-menu';\n\nconst BlockActionsMenu = ( {\n\t// Select.\n\tblockTitle,\n\tcanInsertBlockType,\n\tgetBlocksByClientId,\n\tisEmptyDefaultBlock,\n\tisLocked,\n\tcanDuplicate,\n\tisFirst,\n\tisLast,\n\tisReusableBlockType,\n\treusableBlock,\n\trootClientId,\n\tselectedBlockClientId,\n\tselectedBlockPossibleTransformations,\n\t// Dispatch.\n\tcreateSuccessNotice,\n\tconvertToRegularBlocks,\n\tduplicateBlock,\n\tonMoveDown,\n\tonMoveUp,\n\topenGeneralSidebar,\n\tpasteBlock,\n\tremoveBlocks,\n\t// Passed in.\n\tanchorNodeRef,\n\tisStackedHorizontally,\n\tonDelete,\n\twrapBlockMover,\n\twrapBlockSettings,\n} ) => {\n\tconst [ clipboard, setCurrentClipboard ] = useState( getClipboard() );\n\tconst blockActionsMenuPickerRef = useRef();\n\tconst blockTransformationMenuPickerRef = useRef();\n\tconst moversOptions = { keys: [ 'icon', 'actionTitle' ] };\n\tconst clipboardBlock = clipboard && rawHandler( { HTML: clipboard } )[ 0 ];\n\tconst isPasteEnabled =\n\t\tclipboardBlock &&\n\t\tcanInsertBlockType( clipboardBlock.name, rootClientId );\n\n\tconst innerBlockCount = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockCount( selectedBlockClientId ),\n\t\t[ selectedBlockClientId ]\n\t);\n\n\tconst {\n\t\tactionTitle: {\n\t\t\tbackward: backwardButtonTitle,\n\t\t\tforward: forwardButtonTitle,\n\t\t},\n\t} = getMoversSetup( isStackedHorizontally, moversOptions );\n\n\tconst allOptions = {\n\t\tsettings: {\n\t\t\tid: 'settingsOption',\n\t\t\tlabel: __( 'Block settings' ),\n\t\t\tvalue: 'settingsOption',\n\t\t\tonSelect: openGeneralSidebar,\n\t\t},\n\t\tbackwardButton: {\n\t\t\tid: 'backwardButtonOption',\n\t\t\tlabel: backwardButtonTitle,\n\t\t\tvalue: 'backwardButtonOption',\n\t\t\tdisabled: isFirst,\n\t\t\tonSelect: onMoveUp,\n\t\t},\n\t\tforwardButton: {\n\t\t\tid: 'forwardButtonOption',\n\t\t\tlabel: forwardButtonTitle,\n\t\t\tvalue: 'forwardButtonOption',\n\t\t\tdisabled: isLast,\n\t\t\tonSelect: onMoveDown,\n\t\t},\n\t\tdelete: {\n\t\t\tid: 'deleteOption',\n\t\t\tlabel: __( 'Remove block' ),\n\t\t\tvalue: 'deleteOption',\n\t\t\tseparated: true,\n\t\t\tdisabled: isEmptyDefaultBlock,\n\t\t\tonSelect: () => {\n\t\t\t\tonDelete();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is removed.\n\t\t\t\t\t__( 'Block removed' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\ttransformButton: {\n\t\t\tid: 'transformButtonOption',\n\t\t\tlabel: __( 'Transform block…' ),\n\t\t\tvalue: 'transformButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tif ( blockTransformationMenuPickerRef.current ) {\n\t\t\t\t\tblockTransformationMenuPickerRef.current.presentPicker();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcopyButton: {\n\t\t\tid: 'copyButtonOption',\n\t\t\tlabel: __( 'Copy block' ),\n\t\t\tvalue: 'copyButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst serializedBlock = serialize(\n\t\t\t\t\tgetBlocksByClientId( selectedBlockClientId )\n\t\t\t\t);\n\t\t\t\tsetCurrentClipboard( serializedBlock );\n\t\t\t\tsetClipboard( serializedBlock );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is copied.\n\t\t\t\t\t__( 'Block copied' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tcutButton: {\n\t\t\tid: 'cutButtonOption',\n\t\t\tlabel: __( 'Cut block' ),\n\t\t\tvalue: 'cutButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tsetClipboard(\n\t\t\t\t\tserialize( getBlocksByClientId( selectedBlockClientId ) )\n\t\t\t\t);\n\t\t\t\tremoveBlocks( selectedBlockClientId );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is cut.\n\t\t\t\t\t__( 'Block cut' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tpasteButton: {\n\t\t\tid: 'pasteButtonOption',\n\t\t\tlabel: __( 'Paste block after' ),\n\t\t\tvalue: 'pasteButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tonPasteBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is pasted.\n\t\t\t\t\t__( 'Block pasted' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tduplicateButton: {\n\t\t\tid: 'duplicateButtonOption',\n\t\t\tlabel: __( 'Duplicate block' ),\n\t\t\tvalue: 'duplicateButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tduplicateBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is duplicated.\n\t\t\t\t\t__( 'Block duplicated' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tconvertToRegularBlocks: {\n\t\t\tid: 'convertToRegularBlocksOption',\n\t\t\tlabel:\n\t\t\t\tinnerBlockCount > 1\n\t\t\t\t\t? __( 'Convert to regular blocks' )\n\t\t\t\t\t: __( 'Convert to regular block' ),\n\t\t\tvalue: 'convertToRegularBlocksOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst successNotice =\n\t\t\t\t\tinnerBlockCount > 1\n\t\t\t\t\t\t? /* translators: %s: name of the reusable block */\n\t\t\t\t\t\t __( '%s converted to regular blocks' )\n\t\t\t\t\t\t: /* translators: %s: name of the reusable block */\n\t\t\t\t\t\t __( '%s converted to regular block' );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\tsuccessNotice,\n\t\t\t\t\t\treusableBlock?.title?.raw || blockTitle\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconvertToRegularBlocks();\n\t\t\t},\n\t\t},\n\t};\n\n\tconst options = [\n\t\twrapBlockMover && allOptions.backwardButton,\n\t\twrapBlockMover && allOptions.forwardButton,\n\t\twrapBlockSettings && allOptions.settings,\n\t\t! isLocked &&\n\t\t\tselectedBlockPossibleTransformations.length &&\n\t\t\tallOptions.transformButton,\n\t\tcanDuplicate && allOptions.copyButton,\n\t\tcanDuplicate && allOptions.cutButton,\n\t\tcanDuplicate && isPasteEnabled && allOptions.pasteButton,\n\t\tcanDuplicate && allOptions.duplicateButton,\n\t\tisReusableBlockType && allOptions.convertToRegularBlocks,\n\t\t! isLocked && allOptions.delete,\n\t].filter( Boolean );\n\n\t// End early if there are no options to show.\n\tif ( ! options.length ) {\n\t\treturn (\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\tdisabled={ true }\n\t\t\t/>\n\t\t);\n\t}\n\n\tfunction onPasteBlock() {\n\t\tif ( ! clipboard ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpasteBlock( rawHandler( { HTML: clipboard } )[ 0 ] );\n\t}\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\tfunction onPickerPresent() {\n\t\tif ( blockActionsMenuPickerRef.current ) {\n\t\t\tblockActionsMenuPickerRef.current.presentPicker();\n\t\t}\n\t}\n\n\tconst disabledButtonIndices = options\n\t\t.map( ( option, index ) => option.disabled && index + 1 )\n\t\t.filter( Boolean );\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet with available options' )\n\t\t\t: __( 'Double tap to open Bottom Sheet with available options' );\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\tonClick={ onPickerPresent }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: accessibilityHint,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<Picker\n\t\t\t\ttestID=\"block-actions-menu\"\n\t\t\t\tref={ blockActionsMenuPickerRef }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\tdestructiveButtonIndex={ options.length }\n\t\t\t\tdisabledButtonIndices={ disabledButtonIndices }\n\t\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\t\tleftAlign={ true }\n\t\t\t\tgetAnchor={ getAnchor }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ sprintf( __( '%s block options' ), blockTitle ) }\n\t\t\t/>\n\t\t\t<BlockTransformationsMenu\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\tpickerRef={ blockTransformationMenuPickerRef }\n\t\t\t\tpossibleTransformations={ selectedBlockPossibleTransformations }\n\t\t\t\tselectedBlock={ getBlocksByClientId( selectedBlockClientId ) }\n\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nconst EMPTY_BLOCK_LIST = [];\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockName,\n\t\t\tgetBlockTransformItems,\n\t\t\tgetBlock,\n\t\t\tgetBlocksByClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tcanInsertBlockType,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst blockName = getBlockName( clientId );\n\t\tconst blockType = getBlockType( blockName );\n\t\tconst blockTitle = blockType?.title;\n\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\tconst isFirst = currentBlockIndex === 0;\n\t\tconst isLast = currentBlockIndex === blockOrder.length - 1;\n\n\t\tconst innerBlocks = getBlocksByClientId( clientId );\n\n\t\tconst canDuplicate = innerBlocks.every( ( innerBlock ) => {\n\t\t\treturn (\n\t\t\t\t!! innerBlock &&\n\t\t\t\thasBlockSupport( innerBlock.name, 'multiple', true ) &&\n\t\t\t\tcanInsertBlockType( innerBlock.name, rootClientId )\n\t\t\t);\n\t\t} );\n\n\t\tconst isDefaultBlock = blockName === getDefaultBlockName();\n\t\tconst isEmptyContent = block?.attributes.content === '';\n\t\tconst isExactlyOneBlock = blockOrder.length === 1;\n\t\tconst isEmptyDefaultBlock =\n\t\t\tisExactlyOneBlock && isDefaultBlock && isEmptyContent;\n\t\tconst isLocked = !! getTemplateLock( rootClientId );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientIds()[ 0 ];\n\t\tconst selectedBlock = selectedBlockClientId\n\t\t\t? getBlocksByClientId( selectedBlockClientId )[ 0 ]\n\t\t\t: undefined;\n\t\tconst selectedBlockPossibleTransformations = selectedBlock\n\t\t\t? getBlockTransformItems( selectedBlock, rootClientId )\n\t\t\t: EMPTY_BLOCK_LIST;\n\n\t\tconst isReusableBlockType = block ? isReusableBlock( block ) : false;\n\t\tconst reusableBlock = isReusableBlockType\n\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblock?.attributes.ref\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tblockTitle,\n\t\t\tcanInsertBlockType,\n\t\t\tcurrentIndex: currentBlockIndex,\n\t\t\tgetBlocksByClientId,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tisReusableBlockType,\n\t\t\treusableBlock,\n\t\t\trootClientId,\n\t\t\tselectedBlockClientId,\n\t\t\tselectedBlockPossibleTransformations,\n\t\t};\n\t} ),\n\twithDispatch(\n\t\t(\n\t\t\tdispatch,\n\t\t\t{ clientId, rootClientId, currentIndex, selectedBlockClientId },\n\t\t\t{ select }\n\t\t) => {\n\t\t\tconst {\n\t\t\t\tmoveBlocksDown,\n\t\t\t\tmoveBlocksUp,\n\t\t\t\tduplicateBlocks,\n\t\t\t\tremoveBlocks,\n\t\t\t\tinsertBlock,\n\t\t\t\treplaceBlock,\n\t\t\t\tclearSelectedBlock,\n\t\t\t} = dispatch( blockEditorStore );\n\t\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\t\tconst { getBlockSelectionEnd, getBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\t\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\t\t\tdispatch( reusableBlocksStore );\n\n\t\t\treturn {\n\t\t\t\tcreateSuccessNotice,\n\t\t\t\tconvertToRegularBlocks() {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t\t\t\t// to prevent issues related to undo/redo actions.\n\t\t\t\t\tsetImmediate( () =>\n\t\t\t\t\t\tconvertBlockToStatic( selectedBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tduplicateBlock() {\n\t\t\t\t\treturn duplicateBlocks( [ clientId ] );\n\t\t\t\t},\n\t\t\t\tonMoveDown: ( ...args ) =>\n\t\t\t\t\tmoveBlocksDown( [ clientId ], rootClientId, ...args ),\n\t\t\t\tonMoveUp: ( ...args ) =>\n\t\t\t\t\tmoveBlocksUp( [ clientId ], rootClientId, ...args ),\n\t\t\t\topenGeneralSidebar: () =>\n\t\t\t\t\topenGeneralSidebar( 'edit-post/block' ),\n\t\t\t\tpasteBlock: ( clipboardBlock ) => {\n\t\t\t\t\tconst canReplaceBlock = isUnmodifiedDefaultBlock(\n\t\t\t\t\t\tgetBlock( getBlockSelectionEnd() )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! canReplaceBlock ) {\n\t\t\t\t\t\tconst insertedBlock = createBlock(\n\t\t\t\t\t\t\tclipboardBlock.name,\n\t\t\t\t\t\t\tclipboardBlock.attributes,\n\t\t\t\t\t\t\tclipboardBlock.innerBlocks\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\tinsertedBlock,\n\t\t\t\t\t\t\tcurrentIndex + 1,\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treplaceBlock( clientId, clipboardBlock );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tremoveBlocks,\n\t\t\t};\n\t\t}\n\t),\n\twithInstanceId\n)( BlockActionsMenu );\n"]}
|
|
@@ -89,7 +89,7 @@ const BlockMobileToolbar = _ref => {
|
|
|
89
89
|
}, wrapBlockSettings ? null : fills[0])
|
|
90
90
|
);
|
|
91
91
|
}), createElement(BlockActionsMenu, {
|
|
92
|
-
|
|
92
|
+
clientId: clientId,
|
|
93
93
|
wrapBlockMover: wrapBlockMover,
|
|
94
94
|
wrapBlockSettings: wrapBlockSettings && fillsLength,
|
|
95
95
|
isStackedHorizontally: isStackedHorizontally,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-mobile-toolbar/index.native.js"],"names":["View","withDispatch","withSelect","compose","useState","useEffect","styles","BlockMover","BlockDraggable","BlockActionsMenu","BlockSettingsButton","store","blockEditorStore","BREAKPOINTS","wrapSettings","wrapMover","BlockMobileToolbar","clientId","onDelete","isStackedHorizontally","blockWidth","anchorNodeRef","isFullWidth","draggingClientId","fillsLength","setFillsLength","appenderWidth","setAppenderWidth","spacingValue","toolbar","marginLeft","onLayout","nativeEvent","layout","layoutWidth","Math","floor","width","wrapBlockSettings","wrapBlockMover","BlockSettingsButtonFill","fillProps","onChangeFillsLength","children","toolbarFullWidth","spacer","fills","length","select","getBlockIndex","order","dispatch","rootClientId","removeBlock"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-mobile-toolbar/index.native.js"],"names":["View","withDispatch","withSelect","compose","useState","useEffect","styles","BlockMover","BlockDraggable","BlockActionsMenu","BlockSettingsButton","store","blockEditorStore","BREAKPOINTS","wrapSettings","wrapMover","BlockMobileToolbar","clientId","onDelete","isStackedHorizontally","blockWidth","anchorNodeRef","isFullWidth","draggingClientId","fillsLength","setFillsLength","appenderWidth","setAppenderWidth","spacingValue","toolbar","marginLeft","onLayout","nativeEvent","layout","layoutWidth","Math","floor","width","wrapBlockSettings","wrapBlockMover","BlockSettingsButtonFill","fillProps","onChangeFillsLength","children","toolbarFullWidth","spacer","fills","length","select","getBlockIndex","order","dispatch","rootClientId","removeBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockMover from '../block-mover';\nimport BlockDraggable from '../block-draggable';\nimport BlockActionsMenu from './block-actions-menu';\nimport { BlockSettingsButton } from '../block-settings';\nimport { store as blockEditorStore } from '../../store';\n\n// Defined breakpoints are used to get a point when\n// `settings` and `mover` controls should be wrapped into `BlockActionsMenu`\n// and accessed through `BottomSheet`(Android)/`ActionSheet`(iOS).\nconst BREAKPOINTS = {\n\twrapSettings: 65,\n\twrapMover: 150,\n};\nconst BlockMobileToolbar = ( {\n\tclientId,\n\tonDelete,\n\tisStackedHorizontally,\n\tblockWidth,\n\tanchorNodeRef,\n\tisFullWidth,\n\tdraggingClientId,\n} ) => {\n\tconst [ fillsLength, setFillsLength ] = useState( null );\n\tconst [ appenderWidth, setAppenderWidth ] = useState( 0 );\n\tconst spacingValue = styles.toolbar.marginLeft * 2;\n\n\tfunction onLayout( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst layoutWidth = Math.floor( layout.width );\n\t\tif ( layoutWidth !== appenderWidth ) {\n\t\t\tsetAppenderWidth( nativeEvent.layout.width );\n\t\t}\n\t}\n\n\tconst wrapBlockSettings =\n\t\tblockWidth < BREAKPOINTS.wrapSettings ||\n\t\tappenderWidth - spacingValue < BREAKPOINTS.wrapSettings;\n\tconst wrapBlockMover =\n\t\tblockWidth <= BREAKPOINTS.wrapMover ||\n\t\tappenderWidth - spacingValue <= BREAKPOINTS.wrapMover;\n\n\tconst BlockSettingsButtonFill = ( fillProps ) => {\n\t\tuseEffect(\n\t\t\t() => fillProps.onChangeFillsLength( fillProps.fillsLength ),\n\t\t\t[ fillProps.fillsLength ]\n\t\t);\n\t\treturn fillProps.children ?? null;\n\t};\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [ styles.toolbar, isFullWidth && styles.toolbarFullWidth ] }\n\t\t\tonLayout={ onLayout }\n\t\t>\n\t\t\t{ ! wrapBlockMover && (\n\t\t\t\t<BlockMover\n\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<BlockDraggable\n\t\t\t\tclientId={ clientId }\n\t\t\t\tdraggingClientId={ draggingClientId }\n\t\t\t\ttestID=\"draggable-trigger-mobile-toolbar\"\n\t\t\t>\n\t\t\t\t{ () => <View style={ styles.spacer } /> }\n\t\t\t</BlockDraggable>\n\n\t\t\t<BlockSettingsButton.Slot>\n\t\t\t\t{ /* Render only one settings icon even if we have more than one fill - need for hooks with controls. */ }\n\t\t\t\t{ ( fills = [ null ] ) => (\n\t\t\t\t\t// The purpose of BlockSettingsButtonFill component is only to provide a way\n\t\t\t\t\t// to pass data upstream from the slot rendering.\n\t\t\t\t\t<BlockSettingsButtonFill\n\t\t\t\t\t\tfillsLength={ fills.length }\n\t\t\t\t\t\tonChangeFillsLength={ setFillsLength }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ wrapBlockSettings ? null : fills[ 0 ] }\n\t\t\t\t\t</BlockSettingsButtonFill>\n\t\t\t\t) }\n\t\t\t</BlockSettingsButton.Slot>\n\n\t\t\t<BlockActionsMenu\n\t\t\t\tclientId={ clientId }\n\t\t\t\twrapBlockMover={ wrapBlockMover }\n\t\t\t\twrapBlockSettings={ wrapBlockSettings && fillsLength }\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\tonDelete={ onDelete }\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlockIndex } = select( blockEditorStore );\n\n\t\treturn {\n\t\t\torder: getBlockIndex( clientId ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId, rootClientId, onDelete } ) => {\n\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tonDelete:\n\t\t\t\tonDelete || ( () => removeBlock( clientId, rootClientId ) ),\n\t\t};\n\t} )\n)( BlockMobileToolbar );\n"]}
|
|
@@ -25,7 +25,8 @@ const SetupContent = _ref => {
|
|
|
25
25
|
viewMode,
|
|
26
26
|
activeSlide,
|
|
27
27
|
patterns,
|
|
28
|
-
onBlockPatternSelect
|
|
28
|
+
onBlockPatternSelect,
|
|
29
|
+
showTitles
|
|
29
30
|
} = _ref;
|
|
30
31
|
const composite = useCompositeState();
|
|
31
32
|
const containerClass = 'block-editor-block-pattern-setup__container';
|
|
@@ -55,7 +56,8 @@ const SetupContent = _ref => {
|
|
|
55
56
|
key: pattern.name,
|
|
56
57
|
pattern: pattern,
|
|
57
58
|
onSelect: onBlockPatternSelect,
|
|
58
|
-
composite: composite
|
|
59
|
+
composite: composite,
|
|
60
|
+
showTitles: showTitles
|
|
59
61
|
}))));
|
|
60
62
|
};
|
|
61
63
|
|
|
@@ -63,7 +65,8 @@ function BlockPattern(_ref2) {
|
|
|
63
65
|
let {
|
|
64
66
|
pattern,
|
|
65
67
|
onSelect,
|
|
66
|
-
composite
|
|
68
|
+
composite,
|
|
69
|
+
showTitles
|
|
67
70
|
} = _ref2;
|
|
68
71
|
const baseClassName = 'block-editor-block-pattern-setup-list';
|
|
69
72
|
const {
|
|
@@ -85,9 +88,11 @@ function BlockPattern(_ref2) {
|
|
|
85
88
|
}), createElement(BlockPreview, {
|
|
86
89
|
blocks: blocks,
|
|
87
90
|
viewportWidth: viewportWidth
|
|
88
|
-
})
|
|
91
|
+
}), showTitles && createElement("div", {
|
|
92
|
+
className: `${baseClassName}__item-title`
|
|
93
|
+
}, pattern.title), !!description && createElement(VisuallyHidden, {
|
|
89
94
|
id: descriptionId
|
|
90
|
-
}, description));
|
|
95
|
+
}, description)));
|
|
91
96
|
}
|
|
92
97
|
|
|
93
98
|
function BlockPatternSlide(_ref3) {
|
|
@@ -120,7 +125,8 @@ const BlockPatternSetup = _ref4 => {
|
|
|
120
125
|
blockName,
|
|
121
126
|
filterPatternsFn,
|
|
122
127
|
onBlockPatternSelect,
|
|
123
|
-
initialViewMode = VIEWMODES.carousel
|
|
128
|
+
initialViewMode = VIEWMODES.carousel,
|
|
129
|
+
showTitles = false
|
|
124
130
|
} = _ref4;
|
|
125
131
|
const [viewMode, setViewMode] = useState(initialViewMode);
|
|
126
132
|
const [activeSlide, setActiveSlide] = useState(0);
|
|
@@ -145,7 +151,8 @@ const BlockPatternSetup = _ref4 => {
|
|
|
145
151
|
viewMode: viewMode,
|
|
146
152
|
activeSlide: activeSlide,
|
|
147
153
|
patterns: patterns,
|
|
148
|
-
onBlockPatternSelect: onPatternSelectCallback
|
|
154
|
+
onBlockPatternSelect: onPatternSelectCallback,
|
|
155
|
+
showTitles: showTitles
|
|
149
156
|
}), createElement(SetupToolbar, {
|
|
150
157
|
viewMode: viewMode,
|
|
151
158
|
setViewMode: setViewMode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-pattern-setup/index.js"],"names":["useDispatch","cloneBlock","VisuallyHidden","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","useState","useInstanceId","__","store","blockEditorStore","BlockPreview","SetupToolbar","usePatternsSetup","VIEWMODES","SetupContent","viewMode","activeSlide","patterns","onBlockPatternSelect","composite","containerClass","carousel","slideClass","Map","map","pattern","index","get","name","BlockPattern","onSelect","baseClassName","blocks","description","viewportWidth","descriptionId","title","undefined","BlockPatternSlide","className","minHeight","BlockPatternSetup","clientId","blockName","filterPatternsFn","initialViewMode","setViewMode","setActiveSlide","replaceBlock","length","onBlockPatternSelectDefault","clonedBlocks","block","onPatternSelectCallback","active"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { cloneBlock } from '@wordpress/blocks';\nimport {\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\n\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockPreview from '../block-preview';\nimport SetupToolbar from './setup-toolbar';\nimport usePatternsSetup from './use-patterns-setup';\nimport { VIEWMODES } from './constants';\n\nconst SetupContent = ( {\n\tviewMode,\n\tactiveSlide,\n\tpatterns,\n\tonBlockPatternSelect,\n} ) => {\n\tconst composite = useCompositeState();\n\tconst containerClass = 'block-editor-block-pattern-setup__container';\n\tif ( viewMode === VIEWMODES.carousel ) {\n\t\tconst slideClass = new Map( [\n\t\t\t[ activeSlide, 'active-slide' ],\n\t\t\t[ activeSlide - 1, 'previous-slide' ],\n\t\t\t[ activeSlide + 1, 'next-slide' ],\n\t\t] );\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-pattern-setup__carousel\">\n\t\t\t\t<div className={ containerClass }>\n\t\t\t\t\t<ul className=\"carousel-container\">\n\t\t\t\t\t\t{ patterns.map( ( pattern, index ) => (\n\t\t\t\t\t\t\t<BlockPatternSlide\n\t\t\t\t\t\t\t\tclassName={ slideClass.get( index ) || '' }\n\t\t\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div className=\"block-editor-block-pattern-setup__grid\">\n\t\t\t<Composite\n\t\t\t\t{ ...composite }\n\t\t\t\trole=\"listbox\"\n\t\t\t\tclassName={ containerClass }\n\t\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t\t>\n\t\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonSelect={ onBlockPatternSelect }\n\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t</div>\n\t);\n};\n\nfunction BlockPattern( { pattern, onSelect, composite } ) {\n\tconst baseClassName = 'block-editor-block-pattern-setup-list';\n\tconst { blocks, description, viewportWidth = 700 } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }__item-description`\n\t);\n\treturn (\n\t\t<div\n\t\t\tclassName={ `${ baseClassName }__list-item` }\n\t\t\taria-label={ pattern.title }\n\t\t\taria-describedby={ pattern.description ? descriptionId : undefined }\n\t\t>\n\t\t\t<CompositeItem\n\t\t\t\trole=\"option\"\n\t\t\t\tas=\"div\"\n\t\t\t\t{ ...composite }\n\t\t\t\tclassName={ `${ baseClassName }__item` }\n\t\t\t\tonClick={ () => onSelect( blocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t/>\n\t\t\t</CompositeItem>\n\t\t\t{ !! description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternSlide( { className, pattern, minHeight } ) {\n\tconst { blocks, title, description } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPatternSlide,\n\t\t'block-editor-block-pattern-setup-list__item-description'\n\t);\n\treturn (\n\t\t<li\n\t\t\tclassName={ `pattern-slide ${ className }` }\n\t\t\taria-label={ title }\n\t\t\taria-describedby={ description ? descriptionId : undefined }\n\t\t>\n\t\t\t<BlockPreview\n\t\t\t\tblocks={ blocks }\n\t\t\t\t__experimentalMinHeight={ minHeight }\n\t\t\t/>\n\t\t\t{ !! description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\nconst BlockPatternSetup = ( {\n\tclientId,\n\tblockName,\n\tfilterPatternsFn,\n\tonBlockPatternSelect,\n\tinitialViewMode = VIEWMODES.carousel,\n} ) => {\n\tconst [ viewMode, setViewMode ] = useState( initialViewMode );\n\tconst [ activeSlide, setActiveSlide ] = useState( 0 );\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\tconst patterns = usePatternsSetup( clientId, blockName, filterPatternsFn );\n\n\tif ( ! patterns?.length ) {\n\t\treturn null;\n\t}\n\n\tconst onBlockPatternSelectDefault = ( blocks ) => {\n\t\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\t\treplaceBlock( clientId, clonedBlocks );\n\t};\n\tconst onPatternSelectCallback =\n\t\tonBlockPatternSelect || onBlockPatternSelectDefault;\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ `block-editor-block-pattern-setup view-mode-${ viewMode }` }\n\t\t\t>\n\t\t\t\t<SetupContent\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonBlockPatternSelect={ onPatternSelectCallback }\n\t\t\t\t/>\n\t\t\t\t<SetupToolbar\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tsetViewMode={ setViewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\ttotalSlides={ patterns.length }\n\t\t\t\t\thandleNext={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) => active + 1 );\n\t\t\t\t\t} }\n\t\t\t\t\thandlePrevious={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) => active - 1 );\n\t\t\t\t\t} }\n\t\t\t\t\tonBlockPatternSelect={ () => {\n\t\t\t\t\t\tonPatternSelectCallback(\n\t\t\t\t\t\t\tpatterns[ activeSlide ].blocks\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default BlockPatternSetup;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-pattern-setup/index.js"],"names":["useDispatch","cloneBlock","VisuallyHidden","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","useState","useInstanceId","__","store","blockEditorStore","BlockPreview","SetupToolbar","usePatternsSetup","VIEWMODES","SetupContent","viewMode","activeSlide","patterns","onBlockPatternSelect","showTitles","composite","containerClass","carousel","slideClass","Map","map","pattern","index","get","name","BlockPattern","onSelect","baseClassName","blocks","description","viewportWidth","descriptionId","title","undefined","BlockPatternSlide","className","minHeight","BlockPatternSetup","clientId","blockName","filterPatternsFn","initialViewMode","setViewMode","setActiveSlide","replaceBlock","length","onBlockPatternSelectDefault","clonedBlocks","block","onPatternSelectCallback","active"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { cloneBlock } from '@wordpress/blocks';\nimport {\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\n\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockPreview from '../block-preview';\nimport SetupToolbar from './setup-toolbar';\nimport usePatternsSetup from './use-patterns-setup';\nimport { VIEWMODES } from './constants';\n\nconst SetupContent = ( {\n\tviewMode,\n\tactiveSlide,\n\tpatterns,\n\tonBlockPatternSelect,\n\tshowTitles,\n} ) => {\n\tconst composite = useCompositeState();\n\tconst containerClass = 'block-editor-block-pattern-setup__container';\n\tif ( viewMode === VIEWMODES.carousel ) {\n\t\tconst slideClass = new Map( [\n\t\t\t[ activeSlide, 'active-slide' ],\n\t\t\t[ activeSlide - 1, 'previous-slide' ],\n\t\t\t[ activeSlide + 1, 'next-slide' ],\n\t\t] );\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-pattern-setup__carousel\">\n\t\t\t\t<div className={ containerClass }>\n\t\t\t\t\t<ul className=\"carousel-container\">\n\t\t\t\t\t\t{ patterns.map( ( pattern, index ) => (\n\t\t\t\t\t\t\t<BlockPatternSlide\n\t\t\t\t\t\t\t\tclassName={ slideClass.get( index ) || '' }\n\t\t\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div className=\"block-editor-block-pattern-setup__grid\">\n\t\t\t<Composite\n\t\t\t\t{ ...composite }\n\t\t\t\trole=\"listbox\"\n\t\t\t\tclassName={ containerClass }\n\t\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t\t>\n\t\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonSelect={ onBlockPatternSelect }\n\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\tshowTitles={ showTitles }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t</div>\n\t);\n};\n\nfunction BlockPattern( { pattern, onSelect, composite, showTitles } ) {\n\tconst baseClassName = 'block-editor-block-pattern-setup-list';\n\tconst { blocks, description, viewportWidth = 700 } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }__item-description`\n\t);\n\treturn (\n\t\t<div\n\t\t\tclassName={ `${ baseClassName }__list-item` }\n\t\t\taria-label={ pattern.title }\n\t\t\taria-describedby={ pattern.description ? descriptionId : undefined }\n\t\t>\n\t\t\t<CompositeItem\n\t\t\t\trole=\"option\"\n\t\t\t\tas=\"div\"\n\t\t\t\t{ ...composite }\n\t\t\t\tclassName={ `${ baseClassName }__item` }\n\t\t\t\tonClick={ () => onSelect( blocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t/>\n\t\t\t\t{ showTitles && (\n\t\t\t\t\t<div className={ `${ baseClassName }__item-title` }>\n\t\t\t\t\t\t{ pattern.title }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ !! description && (\n\t\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t</CompositeItem>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternSlide( { className, pattern, minHeight } ) {\n\tconst { blocks, title, description } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPatternSlide,\n\t\t'block-editor-block-pattern-setup-list__item-description'\n\t);\n\treturn (\n\t\t<li\n\t\t\tclassName={ `pattern-slide ${ className }` }\n\t\t\taria-label={ title }\n\t\t\taria-describedby={ description ? descriptionId : undefined }\n\t\t>\n\t\t\t<BlockPreview\n\t\t\t\tblocks={ blocks }\n\t\t\t\t__experimentalMinHeight={ minHeight }\n\t\t\t/>\n\t\t\t{ !! description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\nconst BlockPatternSetup = ( {\n\tclientId,\n\tblockName,\n\tfilterPatternsFn,\n\tonBlockPatternSelect,\n\tinitialViewMode = VIEWMODES.carousel,\n\tshowTitles = false,\n} ) => {\n\tconst [ viewMode, setViewMode ] = useState( initialViewMode );\n\tconst [ activeSlide, setActiveSlide ] = useState( 0 );\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\tconst patterns = usePatternsSetup( clientId, blockName, filterPatternsFn );\n\n\tif ( ! patterns?.length ) {\n\t\treturn null;\n\t}\n\n\tconst onBlockPatternSelectDefault = ( blocks ) => {\n\t\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\t\treplaceBlock( clientId, clonedBlocks );\n\t};\n\tconst onPatternSelectCallback =\n\t\tonBlockPatternSelect || onBlockPatternSelectDefault;\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ `block-editor-block-pattern-setup view-mode-${ viewMode }` }\n\t\t\t>\n\t\t\t\t<SetupContent\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonBlockPatternSelect={ onPatternSelectCallback }\n\t\t\t\t\tshowTitles={ showTitles }\n\t\t\t\t/>\n\t\t\t\t<SetupToolbar\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tsetViewMode={ setViewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\ttotalSlides={ patterns.length }\n\t\t\t\t\thandleNext={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) => active + 1 );\n\t\t\t\t\t} }\n\t\t\t\t\thandlePrevious={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) => active - 1 );\n\t\t\t\t\t} }\n\t\t\t\t\tonBlockPatternSelect={ () => {\n\t\t\t\t\t\tonPatternSelectCallback(\n\t\t\t\t\t\t\tpatterns[ activeSlide ].blocks\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default BlockPatternSetup;\n"]}
|
|
@@ -4,7 +4,6 @@ import { createElement } from "@wordpress/element";
|
|
|
4
4
|
* External dependencies
|
|
5
5
|
*/
|
|
6
6
|
import { ScrollView } from 'react-native';
|
|
7
|
-
import { find } from 'lodash';
|
|
8
7
|
/**
|
|
9
8
|
* WordPress dependencies
|
|
10
9
|
*/
|
|
@@ -49,7 +48,7 @@ function BlockStyles(_ref) {
|
|
|
49
48
|
const {
|
|
50
49
|
updateBlockAttributes
|
|
51
50
|
} = useDispatch(blockEditorStore);
|
|
52
|
-
const renderedStyles = find(
|
|
51
|
+
const renderedStyles = styles !== null && styles !== void 0 && styles.find(style => style.isDefault) ? styles : [{
|
|
53
52
|
name: 'default',
|
|
54
53
|
label: _x('Default', 'block style'),
|
|
55
54
|
isDefault: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-styles/index.native.js"],"names":["ScrollView","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-styles/index.native.js"],"names":["ScrollView","store","blocksStore","useSelect","useDispatch","useMemo","_x","getActiveStyle","replaceActiveStyle","StylePreview","containerStyles","blockEditorStore","BlockStyles","clientId","url","selector","select","getBlock","getBlockStyles","block","styles","name","className","attributes","updateBlockAttributes","renderedStyles","find","style","isDefault","label","mappedRenderedStyles","activeStyle","map","styleClassName","isActive","onStylePress","length","content"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { ScrollView } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getActiveStyle, replaceActiveStyle } from './utils';\nimport StylePreview from './preview';\nimport containerStyles from './style.scss';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockStyles( { clientId, url } ) {\n\tconst selector = ( select ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\t\tconst { getBlockStyles } = select( blocksStore );\n\t\tconst block = getBlock( clientId );\n\t\treturn {\n\t\t\tstyles: getBlockStyles( block.name ),\n\t\t\tclassName: block.attributes.className || '',\n\t\t};\n\t};\n\n\tconst { styles, className } = useSelect( selector, [ clientId ] );\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst renderedStyles = styles?.find( ( style ) => style.isDefault )\n\t\t? styles\n\t\t: [\n\t\t\t\t{\n\t\t\t\t\tname: 'default',\n\t\t\t\t\tlabel: _x( 'Default', 'block style' ),\n\t\t\t\t\tisDefault: true,\n\t\t\t\t},\n\t\t\t\t...styles,\n\t\t ];\n\n\tconst mappedRenderedStyles = useMemo( () => {\n\t\tconst activeStyle = getActiveStyle( renderedStyles, className );\n\n\t\treturn renderedStyles.map( ( style ) => {\n\t\t\tconst styleClassName = replaceActiveStyle(\n\t\t\t\tclassName,\n\t\t\t\tactiveStyle,\n\t\t\t\tstyle\n\t\t\t);\n\t\t\tconst isActive = activeStyle === style;\n\n\t\t\tconst onStylePress = () => {\n\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\tclassName: styleClassName,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<StylePreview\n\t\t\t\t\tonPress={ onStylePress }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tkey={ style.name }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t\turl={ url }\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ renderedStyles, className, clientId ] );\n\n\tif ( ! styles || styles.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ScrollView\n\t\t\thorizontal\n\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\tcontentContainerStyle={ containerStyles.content }\n\t\t>\n\t\t\t{ mappedRenderedStyles }\n\t\t</ScrollView>\n\t);\n}\n\nexport default BlockStyles;\n"]}
|