@wordpress/customize-widgets 4.24.0 → 4.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/header/index.js +1 -15
- package/build/components/header/index.js.map +1 -1
- package/build/components/sidebar-block-editor/index.js +9 -5
- package/build/components/sidebar-block-editor/index.js.map +1 -1
- package/build-module/components/header/index.js +4 -18
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/sidebar-block-editor/index.js +10 -6
- package/build-module/components/sidebar-block-editor/index.js.map +1 -1
- package/build-style/style-rtl.css +1 -13
- package/build-style/style.css +1 -13
- package/package.json +22 -22
- package/src/components/header/index.js +3 -24
- package/src/components/header/style.scss +1 -1
- package/src/components/sidebar-block-editor/index.js +18 -13
- package/src/components/sidebar-block-editor/style.scss +0 -20
package/CHANGELOG.md
CHANGED
|
@@ -8,7 +8,6 @@ exports.default = void 0;
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
var _components = require("@wordpress/components");
|
|
11
|
-
var _compose = require("@wordpress/compose");
|
|
12
11
|
var _blockEditor = require("@wordpress/block-editor");
|
|
13
12
|
var _element = require("@wordpress/element");
|
|
14
13
|
var _keycodes = require("@wordpress/keycodes");
|
|
@@ -16,7 +15,6 @@ var _i18n = require("@wordpress/i18n");
|
|
|
16
15
|
var _icons = require("@wordpress/icons");
|
|
17
16
|
var _inserter = _interopRequireDefault(require("../inserter"));
|
|
18
17
|
var _moreMenu = _interopRequireDefault(require("../more-menu"));
|
|
19
|
-
var _lockUnlock = require("../../lock-unlock");
|
|
20
18
|
/**
|
|
21
19
|
* External dependencies
|
|
22
20
|
*/
|
|
@@ -29,9 +27,6 @@ var _lockUnlock = require("../../lock-unlock");
|
|
|
29
27
|
* Internal dependencies
|
|
30
28
|
*/
|
|
31
29
|
|
|
32
|
-
const {
|
|
33
|
-
BlockContextualToolbar
|
|
34
|
-
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
35
30
|
function Header({
|
|
36
31
|
sidebar,
|
|
37
32
|
inserter,
|
|
@@ -39,8 +34,6 @@ function Header({
|
|
|
39
34
|
setIsInserterOpened,
|
|
40
35
|
isFixedToolbarActive
|
|
41
36
|
}) {
|
|
42
|
-
const isLargeViewport = (0, _compose.useViewportMatch)('medium');
|
|
43
|
-
const blockToolbarRef = (0, _element.useRef)();
|
|
44
37
|
const [[hasUndo, hasRedo], setUndoRedo] = (0, _element.useState)([sidebar.hasUndo(), sidebar.hasRedo()]);
|
|
45
38
|
const shortcut = (0, _keycodes.isAppleOS)() ? _keycodes.displayShortcut.primaryShift('z') : _keycodes.displayShortcut.primary('y');
|
|
46
39
|
(0, _element.useEffect)(() => {
|
|
@@ -90,14 +83,7 @@ function Header({
|
|
|
90
83
|
}
|
|
91
84
|
}), (0, _react.createElement)(_moreMenu.default, null))), (0, _element.createPortal)((0, _react.createElement)(_inserter.default, {
|
|
92
85
|
setIsOpened: setIsInserterOpened
|
|
93
|
-
}), inserter.contentContainer[0])
|
|
94
|
-
className: "selected-block-tools-wrapper"
|
|
95
|
-
}, (0, _react.createElement)(BlockContextualToolbar, {
|
|
96
|
-
isFixed: true
|
|
97
|
-
})), (0, _react.createElement)(_components.Popover.Slot, {
|
|
98
|
-
ref: blockToolbarRef,
|
|
99
|
-
name: "block-toolbar"
|
|
100
|
-
})));
|
|
86
|
+
}), inserter.contentContainer[0]));
|
|
101
87
|
}
|
|
102
88
|
var _default = Header;
|
|
103
89
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_components","
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_blockEditor","_element","_keycodes","_i18n","_icons","_inserter","_moreMenu","Header","sidebar","inserter","isInserterOpened","setIsInserterOpened","isFixedToolbarActive","hasUndo","hasRedo","setUndoRedo","useState","shortcut","isAppleOS","displayShortcut","primaryShift","primary","useEffect","subscribeHistory","_react","createElement","Fragment","className","classnames","NavigableToolbar","__","ToolbarButton","icon","isRTL","undoIcon","redoIcon","label","onClick","undo","redo","isPressed","variant","plus","_x","isOpen","default","createPortal","setIsOpened","contentContainer","_default","exports"],"sources":["@wordpress/customize-widgets/src/components/header/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ToolbarButton } from '@wordpress/components';\nimport { NavigableToolbar } from '@wordpress/block-editor';\nimport { createPortal, useEffect, useState } from '@wordpress/element';\nimport { displayShortcut, isAppleOS } from '@wordpress/keycodes';\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport { plus, undo as undoIcon, redo as redoIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\nimport MoreMenu from '../more-menu';\n\nfunction Header( {\n\tsidebar,\n\tinserter,\n\tisInserterOpened,\n\tsetIsInserterOpened,\n\tisFixedToolbarActive,\n} ) {\n\tconst [ [ hasUndo, hasRedo ], setUndoRedo ] = useState( [\n\t\tsidebar.hasUndo(),\n\t\tsidebar.hasRedo(),\n\t] );\n\n\tconst shortcut = isAppleOS()\n\t\t? displayShortcut.primaryShift( 'z' )\n\t\t: displayShortcut.primary( 'y' );\n\n\tuseEffect( () => {\n\t\treturn sidebar.subscribeHistory( () => {\n\t\t\tsetUndoRedo( [ sidebar.hasUndo(), sidebar.hasRedo() ] );\n\t\t} );\n\t}, [ sidebar ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'customize-widgets-header', {\n\t\t\t\t\t'is-fixed-toolbar-active': isFixedToolbarActive,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<NavigableToolbar\n\t\t\t\t\tclassName=\"customize-widgets-header-toolbar\"\n\t\t\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\t\t>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ ! isRTL() ? undoIcon : redoIcon }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'Undo' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'z' ) }\n\t\t\t\t\t\t// If there are no undo levels we don't want to actually disable this\n\t\t\t\t\t\t// button, because it will remove focus for keyboard users.\n\t\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/3486\n\t\t\t\t\t\taria-disabled={ ! hasUndo }\n\t\t\t\t\t\tonClick={ sidebar.undo }\n\t\t\t\t\t\tclassName=\"customize-widgets-editor-history-button undo-button\"\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ ! isRTL() ? redoIcon : undoIcon }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'Redo' ) }\n\t\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t\t\t// If there are no undo levels we don't want to actually disable this\n\t\t\t\t\t\t// button, because it will remove focus for keyboard users.\n\t\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/3486\n\t\t\t\t\t\taria-disabled={ ! hasRedo }\n\t\t\t\t\t\tonClick={ sidebar.redo }\n\t\t\t\t\t\tclassName=\"customize-widgets-editor-history-button redo-button\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tclassName=\"customize-widgets-header-toolbar__inserter-toggle\"\n\t\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t'Add block',\n\t\t\t\t\t\t\t'Generic label for block inserter button'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsInserterOpened( ( isOpen ) => ! isOpen );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<MoreMenu />\n\t\t\t\t</NavigableToolbar>\n\t\t\t</div>\n\n\t\t\t{ createPortal(\n\t\t\t\t<Inserter setIsOpened={ setIsInserterOpened } />,\n\t\t\t\tinserter.contentContainer[ 0 ]\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default Header;\n"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = SidebarBlockEditor;
|
|
8
8
|
var _react = require("react");
|
|
9
|
+
var _compose = require("@wordpress/compose");
|
|
9
10
|
var _coreData = require("@wordpress/core-data");
|
|
10
11
|
var _data = require("@wordpress/data");
|
|
11
12
|
var _element = require("@wordpress/element");
|
|
@@ -38,6 +39,7 @@ function SidebarBlockEditor({
|
|
|
38
39
|
inspector
|
|
39
40
|
}) {
|
|
40
41
|
const [isInserterOpened, setIsInserterOpened] = (0, _useInserter.default)(inserter);
|
|
42
|
+
const isMediumViewport = (0, _compose.useViewportMatch)('small');
|
|
41
43
|
const {
|
|
42
44
|
hasUploadPermissions,
|
|
43
45
|
isFixedToolbarActive,
|
|
@@ -75,11 +77,11 @@ function SidebarBlockEditor({
|
|
|
75
77
|
...blockEditorSettings,
|
|
76
78
|
__experimentalSetIsInserterOpened: setIsInserterOpened,
|
|
77
79
|
mediaUpload: mediaUploadBlockEditor,
|
|
78
|
-
hasFixedToolbar: isFixedToolbarActive,
|
|
80
|
+
hasFixedToolbar: isFixedToolbarActive || !isMediumViewport,
|
|
79
81
|
keepCaretInsideBlock,
|
|
80
82
|
__unstableHasCustomAppender: true
|
|
81
83
|
};
|
|
82
|
-
}, [hasUploadPermissions, blockEditorSettings, isFixedToolbarActive, keepCaretInsideBlock, setIsInserterOpened]);
|
|
84
|
+
}, [hasUploadPermissions, blockEditorSettings, isFixedToolbarActive, isMediumViewport, keepCaretInsideBlock, setIsInserterOpened]);
|
|
83
85
|
if (isWelcomeGuideActive) {
|
|
84
86
|
return (0, _react.createElement)(_welcomeGuide.default, {
|
|
85
87
|
sidebar: sidebar
|
|
@@ -97,14 +99,16 @@ function SidebarBlockEditor({
|
|
|
97
99
|
inserter: inserter,
|
|
98
100
|
isInserterOpened: isInserterOpened,
|
|
99
101
|
setIsInserterOpened: setIsInserterOpened,
|
|
100
|
-
isFixedToolbarActive: isFixedToolbarActive
|
|
101
|
-
}), (
|
|
102
|
+
isFixedToolbarActive: isFixedToolbarActive || !isMediumViewport
|
|
103
|
+
}), (isFixedToolbarActive || !isMediumViewport) && (0, _react.createElement)(_blockEditor.BlockToolbar, {
|
|
104
|
+
hideDragHandle: true
|
|
105
|
+
}), (0, _react.createElement)(BlockCanvas, {
|
|
102
106
|
shouldIframe: false,
|
|
103
107
|
styles: settings.defaultEditorStyles,
|
|
104
108
|
height: "100%"
|
|
105
109
|
}, (0, _react.createElement)(_blockEditor.BlockList, {
|
|
106
110
|
renderAppender: _blockAppender.default
|
|
107
|
-
}))
|
|
111
|
+
})), (0, _element.createPortal)(
|
|
108
112
|
// This is a temporary hack to prevent button component inside <BlockInspector>
|
|
109
113
|
// from submitting form when type="button" is not specified.
|
|
110
114
|
(0, _react.createElement)("form", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_compose","require","_coreData","_data","_element","_blockEditor","_mediaUtils","_preferences","_blockInspectorButton","_interopRequireDefault","_header","_useInserter","_sidebarEditorProvider","_welcomeGuide","_keyboardShortcuts","_blockAppender","_lockUnlock","ExperimentalBlockCanvas","BlockCanvas","unlock","blockEditorPrivateApis","SidebarBlockEditor","blockEditorSettings","sidebar","inserter","inspector","isInserterOpened","setIsInserterOpened","useInserter","isMediumViewport","useViewportMatch","hasUploadPermissions","isFixedToolbarActive","keepCaretInsideBlock","isWelcomeGuideActive","useSelect","select","_select$canUser","get","preferencesStore","coreStore","canUser","settings","useMemo","mediaUploadBlockEditor","onError","argumentsObject","uploadMedia","wpAllowedMimeTypes","allowedMimeTypes","message","__experimentalSetIsInserterOpened","mediaUpload","hasFixedToolbar","__unstableHasCustomAppender","_react","createElement","default","Fragment","Register","undo","redo","save","BlockToolbar","hideDragHandle","shouldIframe","styles","defaultEditorStyles","height","BlockList","renderAppender","BlockAppender","createPortal","onSubmit","event","preventDefault","BlockInspector","contentContainer","__unstableBlockSettingsMenuFirstItem","onClose","closeMenu"],"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, createPortal } from '@wordpress/element';\nimport {\n\tBlockList,\n\tBlockToolbar,\n\tBlockInspector,\n\tprivateApis as blockEditorPrivateApis,\n\t__unstableBlockSettingsMenuFirstItem,\n} from '@wordpress/block-editor';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from '../block-inspector-button';\nimport Header from '../header';\nimport useInserter from '../inserter/use-inserter';\nimport SidebarEditorProvider from './sidebar-editor-provider';\nimport WelcomeGuide from '../welcome-guide';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport BlockAppender from '../block-appender';\nimport { unlock } from '../../lock-unlock';\n\nconst { ExperimentalBlockCanvas: BlockCanvas } = unlock(\n\tblockEditorPrivateApis\n);\n\nexport default function SidebarBlockEditor( {\n\tblockEditorSettings,\n\tsidebar,\n\tinserter,\n\tinspector,\n} ) {\n\tconst [ isInserterOpened, setIsInserterOpened ] = useInserter( inserter );\n\tconst isMediumViewport = useViewportMatch( 'small' );\n\tconst {\n\t\thasUploadPermissions,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tisWelcomeGuideActive,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\treturn {\n\t\t\thasUploadPermissions:\n\t\t\t\tselect( coreStore ).canUser( 'create', 'media' ) ?? true,\n\t\t\tisFixedToolbarActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tisWelcomeGuideActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'welcomeGuide'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst settings = useMemo( () => {\n\t\tlet mediaUploadBlockEditor;\n\t\tif ( hasUploadPermissions ) {\n\t\t\tmediaUploadBlockEditor = ( { onError, ...argumentsObject } ) => {\n\t\t\t\tuploadMedia( {\n\t\t\t\t\twpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,\n\t\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t\t...argumentsObject,\n\t\t\t\t} );\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...blockEditorSettings,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tmediaUpload: mediaUploadBlockEditor,\n\t\t\thasFixedToolbar: isFixedToolbarActive || ! isMediumViewport,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t__unstableHasCustomAppender: true,\n\t\t};\n\t}, [\n\t\thasUploadPermissions,\n\t\tblockEditorSettings,\n\t\tisFixedToolbarActive,\n\t\tisMediumViewport,\n\t\tkeepCaretInsideBlock,\n\t\tsetIsInserterOpened,\n\t] );\n\n\tif ( isWelcomeGuideActive ) {\n\t\treturn <WelcomeGuide sidebar={ sidebar } />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<KeyboardShortcuts.Register />\n\n\t\t\t<SidebarEditorProvider sidebar={ sidebar } settings={ settings }>\n\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\tundo={ sidebar.undo }\n\t\t\t\t\tredo={ sidebar.redo }\n\t\t\t\t\tsave={ sidebar.save }\n\t\t\t\t/>\n\n\t\t\t\t<Header\n\t\t\t\t\tsidebar={ sidebar }\n\t\t\t\t\tinserter={ inserter }\n\t\t\t\t\tisInserterOpened={ isInserterOpened }\n\t\t\t\t\tsetIsInserterOpened={ setIsInserterOpened }\n\t\t\t\t\tisFixedToolbarActive={\n\t\t\t\t\t\tisFixedToolbarActive || ! isMediumViewport\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ ( isFixedToolbarActive || ! isMediumViewport ) && (\n\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t) }\n\t\t\t\t<BlockCanvas\n\t\t\t\t\tshouldIframe={ false }\n\t\t\t\t\tstyles={ settings.defaultEditorStyles }\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t>\n\t\t\t\t\t<BlockList renderAppender={ BlockAppender } />\n\t\t\t\t</BlockCanvas>\n\n\t\t\t\t{ createPortal(\n\t\t\t\t\t// This is a temporary hack to prevent button component inside <BlockInspector>\n\t\t\t\t\t// from submitting form when type=\"button\" is not specified.\n\t\t\t\t\t<form onSubmit={ ( event ) => event.preventDefault() }>\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t</form>,\n\t\t\t\t\tinspector.contentContainer[ 0 ]\n\t\t\t\t) }\n\t\t\t</SidebarEditorProvider>\n\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton\n\t\t\t\t\t\tinspector={ inspector }\n\t\t\t\t\t\tcloseMenu={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -7,10 +7,9 @@ import classnames from 'classnames';
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { createPortal, useEffect, useRef, useState } from '@wordpress/element';
|
|
10
|
+
import { ToolbarButton } from '@wordpress/components';
|
|
11
|
+
import { NavigableToolbar } from '@wordpress/block-editor';
|
|
12
|
+
import { createPortal, useEffect, useState } from '@wordpress/element';
|
|
14
13
|
import { displayShortcut, isAppleOS } from '@wordpress/keycodes';
|
|
15
14
|
import { __, _x, isRTL } from '@wordpress/i18n';
|
|
16
15
|
import { plus, undo as undoIcon, redo as redoIcon } from '@wordpress/icons';
|
|
@@ -20,10 +19,6 @@ import { plus, undo as undoIcon, redo as redoIcon } from '@wordpress/icons';
|
|
|
20
19
|
*/
|
|
21
20
|
import Inserter from '../inserter';
|
|
22
21
|
import MoreMenu from '../more-menu';
|
|
23
|
-
import { unlock } from '../../lock-unlock';
|
|
24
|
-
const {
|
|
25
|
-
BlockContextualToolbar
|
|
26
|
-
} = unlock(blockEditorPrivateApis);
|
|
27
22
|
function Header({
|
|
28
23
|
sidebar,
|
|
29
24
|
inserter,
|
|
@@ -31,8 +26,6 @@ function Header({
|
|
|
31
26
|
setIsInserterOpened,
|
|
32
27
|
isFixedToolbarActive
|
|
33
28
|
}) {
|
|
34
|
-
const isLargeViewport = useViewportMatch('medium');
|
|
35
|
-
const blockToolbarRef = useRef();
|
|
36
29
|
const [[hasUndo, hasRedo], setUndoRedo] = useState([sidebar.hasUndo(), sidebar.hasRedo()]);
|
|
37
30
|
const shortcut = isAppleOS() ? displayShortcut.primaryShift('z') : displayShortcut.primary('y');
|
|
38
31
|
useEffect(() => {
|
|
@@ -82,14 +75,7 @@ function Header({
|
|
|
82
75
|
}
|
|
83
76
|
}), createElement(MoreMenu, null))), createPortal(createElement(Inserter, {
|
|
84
77
|
setIsOpened: setIsInserterOpened
|
|
85
|
-
}), inserter.contentContainer[0])
|
|
86
|
-
className: "selected-block-tools-wrapper"
|
|
87
|
-
}, createElement(BlockContextualToolbar, {
|
|
88
|
-
isFixed: true
|
|
89
|
-
})), createElement(Popover.Slot, {
|
|
90
|
-
ref: blockToolbarRef,
|
|
91
|
-
name: "block-toolbar"
|
|
92
|
-
})));
|
|
78
|
+
}), inserter.contentContainer[0]));
|
|
93
79
|
}
|
|
94
80
|
export default Header;
|
|
95
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","
|
|
1
|
+
{"version":3,"names":["classnames","ToolbarButton","NavigableToolbar","createPortal","useEffect","useState","displayShortcut","isAppleOS","__","_x","isRTL","plus","undo","undoIcon","redo","redoIcon","Inserter","MoreMenu","Header","sidebar","inserter","isInserterOpened","setIsInserterOpened","isFixedToolbarActive","hasUndo","hasRedo","setUndoRedo","shortcut","primaryShift","primary","subscribeHistory","createElement","Fragment","className","icon","label","onClick","isPressed","variant","isOpen","setIsOpened","contentContainer"],"sources":["@wordpress/customize-widgets/src/components/header/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ToolbarButton } from '@wordpress/components';\nimport { NavigableToolbar } from '@wordpress/block-editor';\nimport { createPortal, useEffect, useState } from '@wordpress/element';\nimport { displayShortcut, isAppleOS } from '@wordpress/keycodes';\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport { plus, undo as undoIcon, redo as redoIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\nimport MoreMenu from '../more-menu';\n\nfunction Header( {\n\tsidebar,\n\tinserter,\n\tisInserterOpened,\n\tsetIsInserterOpened,\n\tisFixedToolbarActive,\n} ) {\n\tconst [ [ hasUndo, hasRedo ], setUndoRedo ] = useState( [\n\t\tsidebar.hasUndo(),\n\t\tsidebar.hasRedo(),\n\t] );\n\n\tconst shortcut = isAppleOS()\n\t\t? displayShortcut.primaryShift( 'z' )\n\t\t: displayShortcut.primary( 'y' );\n\n\tuseEffect( () => {\n\t\treturn sidebar.subscribeHistory( () => {\n\t\t\tsetUndoRedo( [ sidebar.hasUndo(), sidebar.hasRedo() ] );\n\t\t} );\n\t}, [ sidebar ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'customize-widgets-header', {\n\t\t\t\t\t'is-fixed-toolbar-active': isFixedToolbarActive,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<NavigableToolbar\n\t\t\t\t\tclassName=\"customize-widgets-header-toolbar\"\n\t\t\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\t\t>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ ! isRTL() ? undoIcon : redoIcon }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'Undo' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'z' ) }\n\t\t\t\t\t\t// If there are no undo levels we don't want to actually disable this\n\t\t\t\t\t\t// button, because it will remove focus for keyboard users.\n\t\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/3486\n\t\t\t\t\t\taria-disabled={ ! hasUndo }\n\t\t\t\t\t\tonClick={ sidebar.undo }\n\t\t\t\t\t\tclassName=\"customize-widgets-editor-history-button undo-button\"\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ ! isRTL() ? redoIcon : undoIcon }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'Redo' ) }\n\t\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t\t\t// If there are no undo levels we don't want to actually disable this\n\t\t\t\t\t\t// button, because it will remove focus for keyboard users.\n\t\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/3486\n\t\t\t\t\t\taria-disabled={ ! hasRedo }\n\t\t\t\t\t\tonClick={ sidebar.redo }\n\t\t\t\t\t\tclassName=\"customize-widgets-editor-history-button redo-button\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tclassName=\"customize-widgets-header-toolbar__inserter-toggle\"\n\t\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t'Add block',\n\t\t\t\t\t\t\t'Generic label for block inserter button'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsInserterOpened( ( isOpen ) => ! isOpen );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<MoreMenu />\n\t\t\t\t</NavigableToolbar>\n\t\t\t</div>\n\n\t\t\t{ createPortal(\n\t\t\t\t<Inserter setIsOpened={ setIsInserterOpened } />,\n\t\t\t\tinserter.contentContainer[ 0 ]\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default Header;\n"],"mappings":"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"}
|
|
@@ -2,10 +2,11 @@ import { createElement, Fragment } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
+
import { useViewportMatch } from '@wordpress/compose';
|
|
5
6
|
import { store as coreStore } from '@wordpress/core-data';
|
|
6
7
|
import { useSelect } from '@wordpress/data';
|
|
7
8
|
import { useMemo, createPortal } from '@wordpress/element';
|
|
8
|
-
import { BlockList,
|
|
9
|
+
import { BlockList, BlockToolbar, BlockInspector, privateApis as blockEditorPrivateApis, __unstableBlockSettingsMenuFirstItem } from '@wordpress/block-editor';
|
|
9
10
|
import { uploadMedia } from '@wordpress/media-utils';
|
|
10
11
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
11
12
|
|
|
@@ -30,6 +31,7 @@ export default function SidebarBlockEditor({
|
|
|
30
31
|
inspector
|
|
31
32
|
}) {
|
|
32
33
|
const [isInserterOpened, setIsInserterOpened] = useInserter(inserter);
|
|
34
|
+
const isMediumViewport = useViewportMatch('small');
|
|
33
35
|
const {
|
|
34
36
|
hasUploadPermissions,
|
|
35
37
|
isFixedToolbarActive,
|
|
@@ -67,11 +69,11 @@ export default function SidebarBlockEditor({
|
|
|
67
69
|
...blockEditorSettings,
|
|
68
70
|
__experimentalSetIsInserterOpened: setIsInserterOpened,
|
|
69
71
|
mediaUpload: mediaUploadBlockEditor,
|
|
70
|
-
hasFixedToolbar: isFixedToolbarActive,
|
|
72
|
+
hasFixedToolbar: isFixedToolbarActive || !isMediumViewport,
|
|
71
73
|
keepCaretInsideBlock,
|
|
72
74
|
__unstableHasCustomAppender: true
|
|
73
75
|
};
|
|
74
|
-
}, [hasUploadPermissions, blockEditorSettings, isFixedToolbarActive, keepCaretInsideBlock, setIsInserterOpened]);
|
|
76
|
+
}, [hasUploadPermissions, blockEditorSettings, isFixedToolbarActive, isMediumViewport, keepCaretInsideBlock, setIsInserterOpened]);
|
|
75
77
|
if (isWelcomeGuideActive) {
|
|
76
78
|
return createElement(WelcomeGuide, {
|
|
77
79
|
sidebar: sidebar
|
|
@@ -89,14 +91,16 @@ export default function SidebarBlockEditor({
|
|
|
89
91
|
inserter: inserter,
|
|
90
92
|
isInserterOpened: isInserterOpened,
|
|
91
93
|
setIsInserterOpened: setIsInserterOpened,
|
|
92
|
-
isFixedToolbarActive: isFixedToolbarActive
|
|
93
|
-
}),
|
|
94
|
+
isFixedToolbarActive: isFixedToolbarActive || !isMediumViewport
|
|
95
|
+
}), (isFixedToolbarActive || !isMediumViewport) && createElement(BlockToolbar, {
|
|
96
|
+
hideDragHandle: true
|
|
97
|
+
}), createElement(BlockCanvas, {
|
|
94
98
|
shouldIframe: false,
|
|
95
99
|
styles: settings.defaultEditorStyles,
|
|
96
100
|
height: "100%"
|
|
97
101
|
}, createElement(BlockList, {
|
|
98
102
|
renderAppender: BlockAppender
|
|
99
|
-
}))
|
|
103
|
+
})), createPortal(
|
|
100
104
|
// This is a temporary hack to prevent button component inside <BlockInspector>
|
|
101
105
|
// from submitting form when type="button" is not specified.
|
|
102
106
|
createElement("form", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["store","coreStore","useSelect","useMemo","createPortal","BlockList","
|
|
1
|
+
{"version":3,"names":["useViewportMatch","store","coreStore","useSelect","useMemo","createPortal","BlockList","BlockToolbar","BlockInspector","privateApis","blockEditorPrivateApis","__unstableBlockSettingsMenuFirstItem","uploadMedia","preferencesStore","BlockInspectorButton","Header","useInserter","SidebarEditorProvider","WelcomeGuide","KeyboardShortcuts","BlockAppender","unlock","ExperimentalBlockCanvas","BlockCanvas","SidebarBlockEditor","blockEditorSettings","sidebar","inserter","inspector","isInserterOpened","setIsInserterOpened","isMediumViewport","hasUploadPermissions","isFixedToolbarActive","keepCaretInsideBlock","isWelcomeGuideActive","select","_select$canUser","get","canUser","settings","mediaUploadBlockEditor","onError","argumentsObject","wpAllowedMimeTypes","allowedMimeTypes","message","__experimentalSetIsInserterOpened","mediaUpload","hasFixedToolbar","__unstableHasCustomAppender","createElement","Fragment","Register","undo","redo","save","hideDragHandle","shouldIframe","styles","defaultEditorStyles","height","renderAppender","onSubmit","event","preventDefault","contentContainer","onClose","closeMenu"],"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, createPortal } from '@wordpress/element';\nimport {\n\tBlockList,\n\tBlockToolbar,\n\tBlockInspector,\n\tprivateApis as blockEditorPrivateApis,\n\t__unstableBlockSettingsMenuFirstItem,\n} from '@wordpress/block-editor';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from '../block-inspector-button';\nimport Header from '../header';\nimport useInserter from '../inserter/use-inserter';\nimport SidebarEditorProvider from './sidebar-editor-provider';\nimport WelcomeGuide from '../welcome-guide';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport BlockAppender from '../block-appender';\nimport { unlock } from '../../lock-unlock';\n\nconst { ExperimentalBlockCanvas: BlockCanvas } = unlock(\n\tblockEditorPrivateApis\n);\n\nexport default function SidebarBlockEditor( {\n\tblockEditorSettings,\n\tsidebar,\n\tinserter,\n\tinspector,\n} ) {\n\tconst [ isInserterOpened, setIsInserterOpened ] = useInserter( inserter );\n\tconst isMediumViewport = useViewportMatch( 'small' );\n\tconst {\n\t\thasUploadPermissions,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tisWelcomeGuideActive,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\treturn {\n\t\t\thasUploadPermissions:\n\t\t\t\tselect( coreStore ).canUser( 'create', 'media' ) ?? true,\n\t\t\tisFixedToolbarActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tisWelcomeGuideActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'welcomeGuide'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst settings = useMemo( () => {\n\t\tlet mediaUploadBlockEditor;\n\t\tif ( hasUploadPermissions ) {\n\t\t\tmediaUploadBlockEditor = ( { onError, ...argumentsObject } ) => {\n\t\t\t\tuploadMedia( {\n\t\t\t\t\twpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,\n\t\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t\t...argumentsObject,\n\t\t\t\t} );\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...blockEditorSettings,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tmediaUpload: mediaUploadBlockEditor,\n\t\t\thasFixedToolbar: isFixedToolbarActive || ! isMediumViewport,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t__unstableHasCustomAppender: true,\n\t\t};\n\t}, [\n\t\thasUploadPermissions,\n\t\tblockEditorSettings,\n\t\tisFixedToolbarActive,\n\t\tisMediumViewport,\n\t\tkeepCaretInsideBlock,\n\t\tsetIsInserterOpened,\n\t] );\n\n\tif ( isWelcomeGuideActive ) {\n\t\treturn <WelcomeGuide sidebar={ sidebar } />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<KeyboardShortcuts.Register />\n\n\t\t\t<SidebarEditorProvider sidebar={ sidebar } settings={ settings }>\n\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\tundo={ sidebar.undo }\n\t\t\t\t\tredo={ sidebar.redo }\n\t\t\t\t\tsave={ sidebar.save }\n\t\t\t\t/>\n\n\t\t\t\t<Header\n\t\t\t\t\tsidebar={ sidebar }\n\t\t\t\t\tinserter={ inserter }\n\t\t\t\t\tisInserterOpened={ isInserterOpened }\n\t\t\t\t\tsetIsInserterOpened={ setIsInserterOpened }\n\t\t\t\t\tisFixedToolbarActive={\n\t\t\t\t\t\tisFixedToolbarActive || ! isMediumViewport\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ ( isFixedToolbarActive || ! isMediumViewport ) && (\n\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t) }\n\t\t\t\t<BlockCanvas\n\t\t\t\t\tshouldIframe={ false }\n\t\t\t\t\tstyles={ settings.defaultEditorStyles }\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t>\n\t\t\t\t\t<BlockList renderAppender={ BlockAppender } />\n\t\t\t\t</BlockCanvas>\n\n\t\t\t\t{ createPortal(\n\t\t\t\t\t// This is a temporary hack to prevent button component inside <BlockInspector>\n\t\t\t\t\t// from submitting form when type=\"button\" is not specified.\n\t\t\t\t\t<form onSubmit={ ( event ) => event.preventDefault() }>\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t</form>,\n\t\t\t\t\tinspector.contentContainer[ 0 ]\n\t\t\t\t) }\n\t\t\t</SidebarEditorProvider>\n\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton\n\t\t\t\t\t\tinspector={ inspector }\n\t\t\t\t\t\tcloseMenu={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
border-bottom: 1px solid #e0e0e0;
|
|
130
130
|
z-index: 8;
|
|
131
131
|
}
|
|
132
|
-
@media (min-width:
|
|
132
|
+
@media (min-width: 600px) {
|
|
133
133
|
.customize-widgets-header {
|
|
134
134
|
margin-bottom: 44px;
|
|
135
135
|
}
|
|
@@ -243,18 +243,6 @@
|
|
|
243
243
|
margin: 0 0.2rem 0 0;
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
-
.block-editor-block-contextual-toolbar.is-fixed {
|
|
247
|
-
top: 0;
|
|
248
|
-
margin-right: -12px;
|
|
249
|
-
margin-left: -12px;
|
|
250
|
-
width: calc(100% + 24px) !important;
|
|
251
|
-
overflow-y: auto;
|
|
252
|
-
z-index: 7;
|
|
253
|
-
}
|
|
254
|
-
.block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar__group-collapse-fixed-toolbar {
|
|
255
|
-
display: none;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
246
|
.customize-control-sidebar_block_editor .block-editor-block-list__block-popover {
|
|
259
247
|
position: fixed !important;
|
|
260
248
|
z-index: 7;
|
package/build-style/style.css
CHANGED
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
border-bottom: 1px solid #e0e0e0;
|
|
130
130
|
z-index: 8;
|
|
131
131
|
}
|
|
132
|
-
@media (min-width:
|
|
132
|
+
@media (min-width: 600px) {
|
|
133
133
|
.customize-widgets-header {
|
|
134
134
|
margin-bottom: 44px;
|
|
135
135
|
}
|
|
@@ -243,18 +243,6 @@
|
|
|
243
243
|
margin: 0 0 0 0.2rem;
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
-
.block-editor-block-contextual-toolbar.is-fixed {
|
|
247
|
-
top: 0;
|
|
248
|
-
margin-left: -12px;
|
|
249
|
-
margin-right: -12px;
|
|
250
|
-
width: calc(100% + 24px) !important;
|
|
251
|
-
overflow-y: auto;
|
|
252
|
-
z-index: 7;
|
|
253
|
-
}
|
|
254
|
-
.block-editor-block-contextual-toolbar.is-fixed > .block-editor-block-toolbar__group-collapse-fixed-toolbar {
|
|
255
|
-
display: none;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
246
|
.customize-control-sidebar_block_editor .block-editor-block-list__block-popover {
|
|
259
247
|
position: fixed !important;
|
|
260
248
|
z-index: 7;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/customize-widgets",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.25.0",
|
|
4
4
|
"description": "Widgets blocks in Customizer Module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -24,26 +24,26 @@
|
|
|
24
24
|
"react-native": "src/index",
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@babel/runtime": "^7.16.0",
|
|
27
|
-
"@wordpress/block-editor": "^12.
|
|
28
|
-
"@wordpress/block-library": "^8.
|
|
29
|
-
"@wordpress/blocks": "^12.
|
|
30
|
-
"@wordpress/components": "^25.
|
|
31
|
-
"@wordpress/compose": "^6.
|
|
32
|
-
"@wordpress/core-data": "^6.
|
|
33
|
-
"@wordpress/data": "^9.
|
|
34
|
-
"@wordpress/dom": "^3.
|
|
35
|
-
"@wordpress/element": "^5.
|
|
36
|
-
"@wordpress/hooks": "^3.
|
|
37
|
-
"@wordpress/i18n": "^4.
|
|
38
|
-
"@wordpress/icons": "^9.
|
|
39
|
-
"@wordpress/interface": "^5.
|
|
40
|
-
"@wordpress/is-shallow-equal": "^4.
|
|
41
|
-
"@wordpress/keyboard-shortcuts": "^4.
|
|
42
|
-
"@wordpress/keycodes": "^3.
|
|
43
|
-
"@wordpress/media-utils": "^4.
|
|
44
|
-
"@wordpress/preferences": "^3.
|
|
45
|
-
"@wordpress/private-apis": "^0.
|
|
46
|
-
"@wordpress/widgets": "^3.
|
|
27
|
+
"@wordpress/block-editor": "^12.16.0",
|
|
28
|
+
"@wordpress/block-library": "^8.25.0",
|
|
29
|
+
"@wordpress/blocks": "^12.25.0",
|
|
30
|
+
"@wordpress/components": "^25.14.0",
|
|
31
|
+
"@wordpress/compose": "^6.25.0",
|
|
32
|
+
"@wordpress/core-data": "^6.25.0",
|
|
33
|
+
"@wordpress/data": "^9.18.0",
|
|
34
|
+
"@wordpress/dom": "^3.48.0",
|
|
35
|
+
"@wordpress/element": "^5.25.0",
|
|
36
|
+
"@wordpress/hooks": "^3.48.0",
|
|
37
|
+
"@wordpress/i18n": "^4.48.0",
|
|
38
|
+
"@wordpress/icons": "^9.39.0",
|
|
39
|
+
"@wordpress/interface": "^5.25.0",
|
|
40
|
+
"@wordpress/is-shallow-equal": "^4.48.0",
|
|
41
|
+
"@wordpress/keyboard-shortcuts": "^4.25.0",
|
|
42
|
+
"@wordpress/keycodes": "^3.48.0",
|
|
43
|
+
"@wordpress/media-utils": "^4.39.0",
|
|
44
|
+
"@wordpress/preferences": "^3.25.0",
|
|
45
|
+
"@wordpress/private-apis": "^0.30.0",
|
|
46
|
+
"@wordpress/widgets": "^3.25.0",
|
|
47
47
|
"classnames": "^2.3.1",
|
|
48
48
|
"fast-deep-equal": "^3.1.3"
|
|
49
49
|
},
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "fcf61b4beff747222c2c81d09d757ca1a0abd925"
|
|
58
58
|
}
|
|
@@ -6,13 +6,9 @@ import classnames from 'classnames';
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
NavigableToolbar,
|
|
13
|
-
privateApis as blockEditorPrivateApis,
|
|
14
|
-
} from '@wordpress/block-editor';
|
|
15
|
-
import { createPortal, useEffect, useRef, useState } from '@wordpress/element';
|
|
9
|
+
import { ToolbarButton } from '@wordpress/components';
|
|
10
|
+
import { NavigableToolbar } from '@wordpress/block-editor';
|
|
11
|
+
import { createPortal, useEffect, useState } from '@wordpress/element';
|
|
16
12
|
import { displayShortcut, isAppleOS } from '@wordpress/keycodes';
|
|
17
13
|
import { __, _x, isRTL } from '@wordpress/i18n';
|
|
18
14
|
import { plus, undo as undoIcon, redo as redoIcon } from '@wordpress/icons';
|
|
@@ -22,9 +18,6 @@ import { plus, undo as undoIcon, redo as redoIcon } from '@wordpress/icons';
|
|
|
22
18
|
*/
|
|
23
19
|
import Inserter from '../inserter';
|
|
24
20
|
import MoreMenu from '../more-menu';
|
|
25
|
-
import { unlock } from '../../lock-unlock';
|
|
26
|
-
|
|
27
|
-
const { BlockContextualToolbar } = unlock( blockEditorPrivateApis );
|
|
28
21
|
|
|
29
22
|
function Header( {
|
|
30
23
|
sidebar,
|
|
@@ -33,8 +26,6 @@ function Header( {
|
|
|
33
26
|
setIsInserterOpened,
|
|
34
27
|
isFixedToolbarActive,
|
|
35
28
|
} ) {
|
|
36
|
-
const isLargeViewport = useViewportMatch( 'medium' );
|
|
37
|
-
const blockToolbarRef = useRef();
|
|
38
29
|
const [ [ hasUndo, hasRedo ], setUndoRedo ] = useState( [
|
|
39
30
|
sidebar.hasUndo(),
|
|
40
31
|
sidebar.hasRedo(),
|
|
@@ -107,18 +98,6 @@ function Header( {
|
|
|
107
98
|
<Inserter setIsOpened={ setIsInserterOpened } />,
|
|
108
99
|
inserter.contentContainer[ 0 ]
|
|
109
100
|
) }
|
|
110
|
-
|
|
111
|
-
{ isFixedToolbarActive && isLargeViewport && (
|
|
112
|
-
<>
|
|
113
|
-
<div className="selected-block-tools-wrapper">
|
|
114
|
-
<BlockContextualToolbar isFixed />
|
|
115
|
-
</div>
|
|
116
|
-
<Popover.Slot
|
|
117
|
-
ref={ blockToolbarRef }
|
|
118
|
-
name="block-toolbar"
|
|
119
|
-
/>
|
|
120
|
-
</>
|
|
121
|
-
) }
|
|
122
101
|
</>
|
|
123
102
|
);
|
|
124
103
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
+
import { useViewportMatch } from '@wordpress/compose';
|
|
4
5
|
import { store as coreStore } from '@wordpress/core-data';
|
|
5
6
|
import { useSelect } from '@wordpress/data';
|
|
6
7
|
import { useMemo, createPortal } from '@wordpress/element';
|
|
7
8
|
import {
|
|
8
9
|
BlockList,
|
|
9
|
-
|
|
10
|
+
BlockToolbar,
|
|
10
11
|
BlockInspector,
|
|
11
12
|
privateApis as blockEditorPrivateApis,
|
|
12
13
|
__unstableBlockSettingsMenuFirstItem,
|
|
@@ -37,6 +38,7 @@ export default function SidebarBlockEditor( {
|
|
|
37
38
|
inspector,
|
|
38
39
|
} ) {
|
|
39
40
|
const [ isInserterOpened, setIsInserterOpened ] = useInserter( inserter );
|
|
41
|
+
const isMediumViewport = useViewportMatch( 'small' );
|
|
40
42
|
const {
|
|
41
43
|
hasUploadPermissions,
|
|
42
44
|
isFixedToolbarActive,
|
|
@@ -77,7 +79,7 @@ export default function SidebarBlockEditor( {
|
|
|
77
79
|
...blockEditorSettings,
|
|
78
80
|
__experimentalSetIsInserterOpened: setIsInserterOpened,
|
|
79
81
|
mediaUpload: mediaUploadBlockEditor,
|
|
80
|
-
hasFixedToolbar: isFixedToolbarActive,
|
|
82
|
+
hasFixedToolbar: isFixedToolbarActive || ! isMediumViewport,
|
|
81
83
|
keepCaretInsideBlock,
|
|
82
84
|
__unstableHasCustomAppender: true,
|
|
83
85
|
};
|
|
@@ -85,6 +87,7 @@ export default function SidebarBlockEditor( {
|
|
|
85
87
|
hasUploadPermissions,
|
|
86
88
|
blockEditorSettings,
|
|
87
89
|
isFixedToolbarActive,
|
|
90
|
+
isMediumViewport,
|
|
88
91
|
keepCaretInsideBlock,
|
|
89
92
|
setIsInserterOpened,
|
|
90
93
|
] );
|
|
@@ -109,18 +112,20 @@ export default function SidebarBlockEditor( {
|
|
|
109
112
|
inserter={ inserter }
|
|
110
113
|
isInserterOpened={ isInserterOpened }
|
|
111
114
|
setIsInserterOpened={ setIsInserterOpened }
|
|
112
|
-
isFixedToolbarActive={
|
|
115
|
+
isFixedToolbarActive={
|
|
116
|
+
isFixedToolbarActive || ! isMediumViewport
|
|
117
|
+
}
|
|
113
118
|
/>
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
</
|
|
119
|
+
{ ( isFixedToolbarActive || ! isMediumViewport ) && (
|
|
120
|
+
<BlockToolbar hideDragHandle />
|
|
121
|
+
) }
|
|
122
|
+
<BlockCanvas
|
|
123
|
+
shouldIframe={ false }
|
|
124
|
+
styles={ settings.defaultEditorStyles }
|
|
125
|
+
height="100%"
|
|
126
|
+
>
|
|
127
|
+
<BlockList renderAppender={ BlockAppender } />
|
|
128
|
+
</BlockCanvas>
|
|
124
129
|
|
|
125
130
|
{ createPortal(
|
|
126
131
|
// This is a temporary hack to prevent button component inside <BlockInspector>
|
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
.block-editor-block-contextual-toolbar.is-fixed {
|
|
2
|
-
// The top position used for the 'sticky' positioning.
|
|
3
|
-
top: 0;
|
|
4
|
-
|
|
5
|
-
// Offset the customizer's sidebar padding.
|
|
6
|
-
margin-left: -$grid-unit-15;
|
|
7
|
-
margin-right: -$grid-unit-15;
|
|
8
|
-
// added important to override the inline style coming from
|
|
9
|
-
// the block-editor/block-contextual-toolbar component.
|
|
10
|
-
width: calc(100% + #{ $grid-unit-30 }) !important;
|
|
11
|
-
|
|
12
|
-
& > .block-editor-block-toolbar__group-collapse-fixed-toolbar {
|
|
13
|
-
display: none;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// Scroll sideways.
|
|
17
|
-
overflow-y: auto;
|
|
18
|
-
z-index: z-index(".customize-widgets__block-toolbar");
|
|
19
|
-
}
|
|
20
|
-
|
|
21
1
|
.customize-control-sidebar_block_editor .block-editor-block-list__block-popover {
|
|
22
2
|
// FloatingUI library used in Popover component forces us to have an "absolute" inline style.
|
|
23
3
|
// We need to override this in the customizer.
|