@wordpress/edit-post 6.3.2 → 6.4.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/header-toolbar/index.native.js +25 -7
- package/build/components/header/header-toolbar/index.native.js.map +1 -1
- package/build/components/layout/index.native.js +5 -3
- package/build/components/layout/index.native.js.map +1 -1
- package/build/components/sidebar/plugin-document-setting-panel/index.js +0 -1
- package/build/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
- package/build/components/visual-editor/index.js +19 -1
- package/build/components/visual-editor/index.js.map +1 -1
- package/build-module/components/header/header-toolbar/index.native.js +26 -8
- package/build-module/components/header/header-toolbar/index.native.js.map +1 -1
- package/build-module/components/layout/index.native.js +5 -3
- package/build-module/components/layout/index.native.js.map +1 -1
- package/build-module/components/sidebar/plugin-document-setting-panel/index.js +0 -1
- package/build-module/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
- package/build-module/components/visual-editor/index.js +20 -2
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/package.json +27 -27
- package/src/components/header/header-toolbar/index.native.js +45 -8
- package/src/components/header/header-toolbar/style.native.scss +8 -4
- package/src/components/layout/index.native.js +8 -5
- package/src/components/sidebar/plugin-document-setting-panel/index.js +0 -1
- package/src/components/visual-editor/index.js +14 -2
- package/src/test/editor.native.js +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -52,8 +52,11 @@ function HeaderToolbar(_ref) {
|
|
|
52
52
|
showKeyboardHideButton,
|
|
53
53
|
getStylesFromColorScheme,
|
|
54
54
|
onHideKeyboard,
|
|
55
|
-
isRTL
|
|
55
|
+
isRTL,
|
|
56
|
+
noContentSelected
|
|
56
57
|
} = _ref;
|
|
58
|
+
const wasNoContentSelected = (0, _element.useRef)(noContentSelected);
|
|
59
|
+
const [isInserterOpen, setIsInserterOpen] = (0, _element.useState)(false);
|
|
57
60
|
const scrollViewRef = (0, _element.useRef)(null);
|
|
58
61
|
|
|
59
62
|
const scrollToStart = () => {
|
|
@@ -94,8 +97,18 @@ function HeaderToolbar(_ref) {
|
|
|
94
97
|
return isRTL ? buttons.reverse() : buttons;
|
|
95
98
|
};
|
|
96
99
|
|
|
100
|
+
const onToggleInserter = (0, _element.useCallback)(isOpen => {
|
|
101
|
+
if (isOpen) {
|
|
102
|
+
wasNoContentSelected.current = noContentSelected;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
setIsInserterOpen(isOpen);
|
|
106
|
+
}, [noContentSelected]); // Expanded mode should be preserved while the inserter is open.
|
|
107
|
+
// This way we prevent style updates during the opening transition.
|
|
108
|
+
|
|
109
|
+
const useExpandedMode = isInserterOpen ? wasNoContentSelected.current : noContentSelected;
|
|
97
110
|
return (0, _element.createElement)(_reactNative.View, {
|
|
98
|
-
style: getStylesFromColorScheme(_style.default.
|
|
111
|
+
style: [getStylesFromColorScheme(_style.default['header-toolbar__container'], _style.default['header-toolbar__container--dark']), useExpandedMode && _style.default['header-toolbar__container--expanded']]
|
|
99
112
|
}, (0, _element.createElement)(_reactNative.ScrollView, {
|
|
100
113
|
ref: scrollViewRef,
|
|
101
114
|
onContentSizeChange: scrollToStart,
|
|
@@ -103,11 +116,13 @@ function HeaderToolbar(_ref) {
|
|
|
103
116
|
showsHorizontalScrollIndicator: false,
|
|
104
117
|
keyboardShouldPersistTaps: "always",
|
|
105
118
|
alwaysBounceHorizontal: false,
|
|
106
|
-
contentContainerStyle: _style.default
|
|
119
|
+
contentContainerStyle: _style.default['header-toolbar__scrollable-content']
|
|
107
120
|
}, (0, _element.createElement)(_blockEditor.Inserter, {
|
|
108
|
-
disabled: !showInserter
|
|
121
|
+
disabled: !showInserter,
|
|
122
|
+
useExpandedMode: useExpandedMode,
|
|
123
|
+
onToggle: onToggleInserter
|
|
109
124
|
}), renderHistoryButtons(), (0, _element.createElement)(_blockEditor.BlockToolbar, null)), showKeyboardHideButton && (0, _element.createElement)(_components.ToolbarGroup, {
|
|
110
|
-
passedStyle: _style.default
|
|
125
|
+
passedStyle: _style.default['header-toolbar__keyboard-hide-container']
|
|
111
126
|
}, (0, _element.createElement)(_components.ToolbarButton, {
|
|
112
127
|
title: (0, _i18n.__)('Hide keyboard'),
|
|
113
128
|
icon: _icons.keyboardClose,
|
|
@@ -122,18 +137,21 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)(select => {
|
|
|
122
137
|
const {
|
|
123
138
|
getBlockRootClientId,
|
|
124
139
|
getBlockSelectionEnd,
|
|
125
|
-
hasInserterItems
|
|
140
|
+
hasInserterItems,
|
|
141
|
+
hasSelectedBlock
|
|
126
142
|
} = select(_blockEditor.store);
|
|
127
143
|
const {
|
|
128
144
|
getEditorSettings
|
|
129
145
|
} = select(_editor.store);
|
|
146
|
+
const isAnyBlockSelected = hasSelectedBlock();
|
|
130
147
|
return {
|
|
131
148
|
hasRedo: select(_editor.store).hasEditorRedo(),
|
|
132
149
|
hasUndo: select(_editor.store).hasEditorUndo(),
|
|
133
150
|
// This setting (richEditingEnabled) should not live in the block editor's setting.
|
|
134
151
|
showInserter: select(_store.store).getEditorMode() === 'visual' && getEditorSettings().richEditingEnabled && hasInserterItems(getBlockRootClientId(getBlockSelectionEnd())),
|
|
135
152
|
isTextModeEnabled: select(_store.store).getEditorMode() === 'text',
|
|
136
|
-
isRTL: select(_blockEditor.store).getSettings().isRTL
|
|
153
|
+
isRTL: select(_blockEditor.store).getSettings().isRTL,
|
|
154
|
+
noContentSelected: !isAnyBlockSelected
|
|
137
155
|
};
|
|
138
156
|
}), (0, _data.withDispatch)(dispatch => {
|
|
139
157
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/header/header-toolbar/index.native.js"],"names":["HeaderToolbar","hasRedo","hasUndo","redo","undo","showInserter","showKeyboardHideButton","getStylesFromColorScheme","onHideKeyboard","isRTL","scrollViewRef","scrollToStart","isAndroid","Platform","OS","current","scrollToEnd","scrollTo","x","renderHistoryButtons","buttons","undoIcon","redoIcon","hint","reverse","styles","container","containerDark","scrollableContent","keyboardHideContainer","keyboardClose","select","getBlockRootClientId","getBlockSelectionEnd","hasInserterItems","blockEditorStore","getEditorSettings","editorStore","hasEditorRedo","hasEditorUndo","editPostStore","getEditorMode","richEditingEnabled","isTextModeEnabled","getSettings","dispatch","clearSelectedBlock","togglePostTitleSelection","isLargeViewport","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, ScrollView, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInserter,\n\tBlockToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToolbarGroup, ToolbarButton } from '@wordpress/components';\nimport {\n\tkeyboardClose,\n\tundo as undoIcon,\n\tredo as redoIcon,\n} from '@wordpress/icons';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport { store as editPostStore } from '../../../store';\n\nfunction HeaderToolbar( {\n\thasRedo,\n\thasUndo,\n\tredo,\n\tundo,\n\tshowInserter,\n\tshowKeyboardHideButton,\n\tgetStylesFromColorScheme,\n\tonHideKeyboard,\n\tisRTL,\n} ) {\n\tconst scrollViewRef = useRef( null );\n\tconst scrollToStart = () => {\n\t\t// scrollview doesn't seem to automatically adjust to RTL on Android so, scroll to end when Android\n\t\tconst isAndroid = Platform.OS === 'android';\n\t\tif ( isAndroid && isRTL ) {\n\t\t\tscrollViewRef.current.scrollToEnd();\n\t\t} else {\n\t\t\tscrollViewRef.current.scrollTo( { x: 0 } );\n\t\t}\n\t};\n\tconst renderHistoryButtons = () => {\n\t\tconst buttons = [\n\t\t\t/* TODO: replace with EditorHistoryRedo and EditorHistoryUndo. */\n\t\t\t<ToolbarButton\n\t\t\t\tkey=\"undoButton\"\n\t\t\t\ttitle={ __( 'Undo' ) }\n\t\t\t\ticon={ ! isRTL ? undoIcon : redoIcon }\n\t\t\t\tisDisabled={ ! hasUndo }\n\t\t\t\tonClick={ undo }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: __( 'Double tap to undo last change' ),\n\t\t\t\t} }\n\t\t\t/>,\n\t\t\t<ToolbarButton\n\t\t\t\tkey=\"redoButton\"\n\t\t\t\ttitle={ __( 'Redo' ) }\n\t\t\t\ticon={ ! isRTL ? redoIcon : undoIcon }\n\t\t\t\tisDisabled={ ! hasRedo }\n\t\t\t\tonClick={ redo }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: __( 'Double tap to redo last change' ),\n\t\t\t\t} }\n\t\t\t/>,\n\t\t];\n\n\t\treturn isRTL ? buttons.reverse() : buttons;\n\t};\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\tstyles.container,\n\t\t\t\tstyles.containerDark\n\t\t\t) }\n\t\t>\n\t\t\t<ScrollView\n\t\t\t\tref={ scrollViewRef }\n\t\t\t\tonContentSizeChange={ scrollToStart }\n\t\t\t\thorizontal={ true }\n\t\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\talwaysBounceHorizontal={ false }\n\t\t\t\tcontentContainerStyle={ styles.scrollableContent }\n\t\t\t>\n\t\t\t\t<Inserter disabled={ ! showInserter } />\n\t\t\t\t{ renderHistoryButtons() }\n\t\t\t\t<BlockToolbar />\n\t\t\t</ScrollView>\n\t\t\t{ showKeyboardHideButton && (\n\t\t\t\t<ToolbarGroup passedStyle={ styles.keyboardHideContainer }>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Hide keyboard' ) }\n\t\t\t\t\t\ticon={ keyboardClose }\n\t\t\t\t\t\tonClick={ onHideKeyboard }\n\t\t\t\t\t\textraProps={ {\n\t\t\t\t\t\t\thint: __( 'Tap to hide the keyboard' ),\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\thasInserterItems,\n\t\t} = select( blockEditorStore );\n\t\tconst { getEditorSettings } = select( editorStore );\n\t\treturn {\n\t\t\thasRedo: select( editorStore ).hasEditorRedo(),\n\t\t\thasUndo: select( editorStore ).hasEditorUndo(),\n\t\t\t// This setting (richEditingEnabled) should not live in the block editor's setting.\n\t\t\tshowInserter:\n\t\t\t\tselect( editPostStore ).getEditorMode() === 'visual' &&\n\t\t\t\tgetEditorSettings().richEditingEnabled &&\n\t\t\t\thasInserterItems(\n\t\t\t\t\tgetBlockRootClientId( getBlockSelectionEnd() )\n\t\t\t\t),\n\t\t\tisTextModeEnabled:\n\t\t\t\tselect( editPostStore ).getEditorMode() === 'text',\n\t\t\tisRTL: select( blockEditorStore ).getSettings().isRTL,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { clearSelectedBlock } = dispatch( blockEditorStore );\n\t\tconst { togglePostTitleSelection } = dispatch( editorStore );\n\n\t\treturn {\n\t\t\tredo: dispatch( editorStore ).redo,\n\t\t\tundo: dispatch( editorStore ).undo,\n\t\t\tonHideKeyboard() {\n\t\t\t\tclearSelectedBlock();\n\t\t\t\ttogglePostTitleSelection( false );\n\t\t\t},\n\t\t};\n\t} ),\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n\twithPreferredColorScheme,\n] )( HeaderToolbar );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/header/header-toolbar/index.native.js"],"names":["HeaderToolbar","hasRedo","hasUndo","redo","undo","showInserter","showKeyboardHideButton","getStylesFromColorScheme","onHideKeyboard","isRTL","noContentSelected","wasNoContentSelected","isInserterOpen","setIsInserterOpen","scrollViewRef","scrollToStart","isAndroid","Platform","OS","current","scrollToEnd","scrollTo","x","renderHistoryButtons","buttons","undoIcon","redoIcon","hint","reverse","onToggleInserter","isOpen","useExpandedMode","styles","keyboardClose","select","getBlockRootClientId","getBlockSelectionEnd","hasInserterItems","hasSelectedBlock","blockEditorStore","getEditorSettings","editorStore","isAnyBlockSelected","hasEditorRedo","hasEditorUndo","editPostStore","getEditorMode","richEditingEnabled","isTextModeEnabled","getSettings","dispatch","clearSelectedBlock","togglePostTitleSelection","isLargeViewport","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, ScrollView, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useRef, useState } from '@wordpress/element';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInserter,\n\tBlockToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToolbarGroup, ToolbarButton } from '@wordpress/components';\nimport {\n\tkeyboardClose,\n\tundo as undoIcon,\n\tredo as redoIcon,\n} from '@wordpress/icons';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport { store as editPostStore } from '../../../store';\n\nfunction HeaderToolbar( {\n\thasRedo,\n\thasUndo,\n\tredo,\n\tundo,\n\tshowInserter,\n\tshowKeyboardHideButton,\n\tgetStylesFromColorScheme,\n\tonHideKeyboard,\n\tisRTL,\n\tnoContentSelected,\n} ) {\n\tconst wasNoContentSelected = useRef( noContentSelected );\n\tconst [ isInserterOpen, setIsInserterOpen ] = useState( false );\n\n\tconst scrollViewRef = useRef( null );\n\tconst scrollToStart = () => {\n\t\t// scrollview doesn't seem to automatically adjust to RTL on Android so, scroll to end when Android\n\t\tconst isAndroid = Platform.OS === 'android';\n\t\tif ( isAndroid && isRTL ) {\n\t\t\tscrollViewRef.current.scrollToEnd();\n\t\t} else {\n\t\t\tscrollViewRef.current.scrollTo( { x: 0 } );\n\t\t}\n\t};\n\tconst renderHistoryButtons = () => {\n\t\tconst buttons = [\n\t\t\t/* TODO: replace with EditorHistoryRedo and EditorHistoryUndo. */\n\t\t\t<ToolbarButton\n\t\t\t\tkey=\"undoButton\"\n\t\t\t\ttitle={ __( 'Undo' ) }\n\t\t\t\ticon={ ! isRTL ? undoIcon : redoIcon }\n\t\t\t\tisDisabled={ ! hasUndo }\n\t\t\t\tonClick={ undo }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: __( 'Double tap to undo last change' ),\n\t\t\t\t} }\n\t\t\t/>,\n\t\t\t<ToolbarButton\n\t\t\t\tkey=\"redoButton\"\n\t\t\t\ttitle={ __( 'Redo' ) }\n\t\t\t\ticon={ ! isRTL ? redoIcon : undoIcon }\n\t\t\t\tisDisabled={ ! hasRedo }\n\t\t\t\tonClick={ redo }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: __( 'Double tap to redo last change' ),\n\t\t\t\t} }\n\t\t\t/>,\n\t\t];\n\n\t\treturn isRTL ? buttons.reverse() : buttons;\n\t};\n\n\tconst onToggleInserter = useCallback(\n\t\t( isOpen ) => {\n\t\t\tif ( isOpen ) {\n\t\t\t\twasNoContentSelected.current = noContentSelected;\n\t\t\t}\n\t\t\tsetIsInserterOpen( isOpen );\n\t\t},\n\t\t[ noContentSelected ]\n\t);\n\n\t// Expanded mode should be preserved while the inserter is open.\n\t// This way we prevent style updates during the opening transition.\n\tconst useExpandedMode = isInserterOpen\n\t\t? wasNoContentSelected.current\n\t\t: noContentSelected;\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\tstyles[ 'header-toolbar__container' ],\n\t\t\t\t\tstyles[ 'header-toolbar__container--dark' ]\n\t\t\t\t),\n\t\t\t\tuseExpandedMode &&\n\t\t\t\t\tstyles[ 'header-toolbar__container--expanded' ],\n\t\t\t] }\n\t\t>\n\t\t\t<ScrollView\n\t\t\t\tref={ scrollViewRef }\n\t\t\t\tonContentSizeChange={ scrollToStart }\n\t\t\t\thorizontal={ true }\n\t\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\talwaysBounceHorizontal={ false }\n\t\t\t\tcontentContainerStyle={\n\t\t\t\t\tstyles[ 'header-toolbar__scrollable-content' ]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<Inserter\n\t\t\t\t\tdisabled={ ! showInserter }\n\t\t\t\t\tuseExpandedMode={ useExpandedMode }\n\t\t\t\t\tonToggle={ onToggleInserter }\n\t\t\t\t/>\n\t\t\t\t{ renderHistoryButtons() }\n\t\t\t\t<BlockToolbar />\n\t\t\t</ScrollView>\n\t\t\t{ showKeyboardHideButton && (\n\t\t\t\t<ToolbarGroup\n\t\t\t\t\tpassedStyle={\n\t\t\t\t\t\tstyles[ 'header-toolbar__keyboard-hide-container' ]\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Hide keyboard' ) }\n\t\t\t\t\t\ticon={ keyboardClose }\n\t\t\t\t\t\tonClick={ onHideKeyboard }\n\t\t\t\t\t\textraProps={ {\n\t\t\t\t\t\t\thint: __( 'Tap to hide the keyboard' ),\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\thasInserterItems,\n\t\t\thasSelectedBlock,\n\t\t} = select( blockEditorStore );\n\t\tconst { getEditorSettings } = select( editorStore );\n\t\tconst isAnyBlockSelected = hasSelectedBlock();\n\t\treturn {\n\t\t\thasRedo: select( editorStore ).hasEditorRedo(),\n\t\t\thasUndo: select( editorStore ).hasEditorUndo(),\n\t\t\t// This setting (richEditingEnabled) should not live in the block editor's setting.\n\t\t\tshowInserter:\n\t\t\t\tselect( editPostStore ).getEditorMode() === 'visual' &&\n\t\t\t\tgetEditorSettings().richEditingEnabled &&\n\t\t\t\thasInserterItems(\n\t\t\t\t\tgetBlockRootClientId( getBlockSelectionEnd() )\n\t\t\t\t),\n\t\t\tisTextModeEnabled:\n\t\t\t\tselect( editPostStore ).getEditorMode() === 'text',\n\t\t\tisRTL: select( blockEditorStore ).getSettings().isRTL,\n\t\t\tnoContentSelected: ! isAnyBlockSelected,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { clearSelectedBlock } = dispatch( blockEditorStore );\n\t\tconst { togglePostTitleSelection } = dispatch( editorStore );\n\n\t\treturn {\n\t\t\tredo: dispatch( editorStore ).redo,\n\t\t\tundo: dispatch( editorStore ).undo,\n\t\t\tonHideKeyboard() {\n\t\t\t\tclearSelectedBlock();\n\t\t\t\ttogglePostTitleSelection( false );\n\t\t\t},\n\t\t};\n\t} ),\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n\twithPreferredColorScheme,\n] )( HeaderToolbar );\n"]}
|
|
@@ -138,17 +138,19 @@ class Layout extends _element.Component {
|
|
|
138
138
|
} = this.props;
|
|
139
139
|
const isHtmlView = mode === 'text'; // Add a margin view at the bottom for the header.
|
|
140
140
|
|
|
141
|
-
const marginBottom = _reactNative.Platform.OS === 'android' && !isHtmlView ? _style2.default.
|
|
141
|
+
const marginBottom = _reactNative.Platform.OS === 'android' && !isHtmlView ? _style2.default['header-toolbar__container'].height : 0;
|
|
142
|
+
const containerStyles = getStylesFromColorScheme(_style.default.container, _style.default.containerDark);
|
|
142
143
|
const toolbarKeyboardAvoidingViewStyle = { ..._style.default.toolbarKeyboardAvoidingView,
|
|
143
144
|
left: this.state.safeAreaInsets.left,
|
|
144
145
|
right: this.state.safeAreaInsets.right,
|
|
145
|
-
bottom: this.state.safeAreaInsets.bottom
|
|
146
|
+
bottom: this.state.safeAreaInsets.bottom,
|
|
147
|
+
backgroundColor: containerStyles.backgroundColor
|
|
146
148
|
};
|
|
147
149
|
const editorStyles = [getStylesFromColorScheme(_style.default.background, _style.default.backgroundDark), (globalStyles === null || globalStyles === void 0 ? void 0 : globalStyles.background) && {
|
|
148
150
|
backgroundColor: globalStyles.background
|
|
149
151
|
}];
|
|
150
152
|
return (0, _element.createElement)(_components.Tooltip.Slot, null, (0, _element.createElement)(_reactNative.SafeAreaView, {
|
|
151
|
-
style:
|
|
153
|
+
style: containerStyles,
|
|
152
154
|
onLayout: this.onRootViewLayout
|
|
153
155
|
}, (0, _element.createElement)(_editor.AutosaveMonitor, {
|
|
154
156
|
disableIntervalChecks: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/layout/index.native.js"],"names":["Layout","Component","constructor","arguments","onSafeAreaInsetsUpdate","bind","onRootViewLayout","state","rootViewHeight","safeAreaInsets","top","bottom","right","left","SafeArea","getSafeAreaInsetsForRootView","then","componentDidMount","_isMounted","safeAreaSubscription","addEventListener","componentWillUnmount","remove","result","setState","event","setHeightState","height","nativeEvent","layout","sendNativeEditorDidLayout","renderHTML","globalStyles","props","renderVisual","isReady","setTitleRef","render","getStylesFromColorScheme","mode","isHtmlView","marginBottom","Platform","OS","headerToolbarStyles","container","toolbarKeyboardAvoidingViewStyle","styles","toolbarKeyboardAvoidingView","editorStyles","background","backgroundDark","backgroundColor","containerDark","flex","flexBasis","select","__unstableIsEditorReady","isEditorReady","editorStore","getEditorMode","editPostStore","getSettings","blockEditorStore","__experimentalGlobalStylesBaseStyles","color","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, SafeAreaView, View } from 'react-native';\nimport SafeArea from 'react-native-safe-area';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport {\n\tBottomSheetSettings,\n\tFloatingToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport {\n\tHTMLTextInput,\n\tKeyboardAvoidingView,\n\tNoticeList,\n\tTooltip,\n\t__unstableAutocompletionItemsSlot as AutocompletionItemsSlot,\n} from '@wordpress/components';\nimport { AutosaveMonitor, store as editorStore } from '@wordpress/editor';\nimport { sendNativeEditorDidLayout } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport headerToolbarStyles from '../header/header-toolbar/style.scss';\nimport Header from '../header';\nimport VisualEditor from '../visual-editor';\nimport { store as editPostStore } from '../../store';\n\nclass Layout extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSafeAreaInsetsUpdate = this.onSafeAreaInsetsUpdate.bind( this );\n\t\tthis.onRootViewLayout = this.onRootViewLayout.bind( this );\n\n\t\tthis.state = {\n\t\t\trootViewHeight: 0,\n\t\t\tsafeAreaInsets: { top: 0, bottom: 0, right: 0, left: 0 },\n\t\t};\n\n\t\tSafeArea.getSafeAreaInsetsForRootView().then(\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis._isMounted = true;\n\t\tthis.safeAreaSubscription = SafeArea.addEventListener(\n\t\t\t'safeAreaInsetsForRootViewDidChange',\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.safeAreaSubscription?.remove();\n\t\tthis._isMounted = false;\n\t}\n\n\tonSafeAreaInsetsUpdate( result ) {\n\t\tconst { safeAreaInsets } = result;\n\t\tif ( this._isMounted ) {\n\t\t\tthis.setState( { safeAreaInsets } );\n\t\t}\n\t}\n\n\tonRootViewLayout( event ) {\n\t\tif ( this._isMounted ) {\n\t\t\tthis.setHeightState( event );\n\t\t}\n\t}\n\n\tsetHeightState( event ) {\n\t\tconst { height } = event.nativeEvent.layout;\n\t\tif ( height !== this.state.rootViewHeight ) {\n\t\t\tthis.setState(\n\t\t\t\t{ rootViewHeight: height },\n\t\t\t\tsendNativeEditorDidLayout\n\t\t\t);\n\t\t}\n\t}\n\n\trenderHTML() {\n\t\tconst { globalStyles } = this.props;\n\t\treturn (\n\t\t\t<HTMLTextInput\n\t\t\t\tparentHeight={ this.state.rootViewHeight }\n\t\t\t\tstyle={ globalStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderVisual() {\n\t\tconst { isReady } = this.props;\n\n\t\tif ( ! isReady ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <VisualEditor setTitleRef={ this.props.setTitleRef } />;\n\t}\n\n\trender() {\n\t\tconst { getStylesFromColorScheme, mode, globalStyles } = this.props;\n\n\t\tconst isHtmlView = mode === 'text';\n\n\t\t// Add a margin view at the bottom for the header.\n\t\tconst marginBottom =\n\t\t\tPlatform.OS === 'android' && ! isHtmlView\n\t\t\t\t? headerToolbarStyles.container.height\n\t\t\t\t: 0;\n\n\t\tconst toolbarKeyboardAvoidingViewStyle = {\n\t\t\t...styles.toolbarKeyboardAvoidingView,\n\t\t\tleft: this.state.safeAreaInsets.left,\n\t\t\tright: this.state.safeAreaInsets.right,\n\t\t\tbottom: this.state.safeAreaInsets.bottom,\n\t\t};\n\n\t\tconst editorStyles = [\n\t\t\tgetStylesFromColorScheme(\n\t\t\t\tstyles.background,\n\t\t\t\tstyles.backgroundDark\n\t\t\t),\n\t\t\tglobalStyles?.background && {\n\t\t\t\tbackgroundColor: globalStyles.background,\n\t\t\t},\n\t\t];\n\n\t\treturn (\n\t\t\t<Tooltip.Slot>\n\t\t\t\t<SafeAreaView\n\t\t\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\t\t\tstyles.container,\n\t\t\t\t\t\tstyles.containerDark\n\t\t\t\t\t) }\n\t\t\t\t\tonLayout={ this.onRootViewLayout }\n\t\t\t\t>\n\t\t\t\t\t<AutosaveMonitor disableIntervalChecks />\n\t\t\t\t\t<View style={ editorStyles }>\n\t\t\t\t\t\t{ isHtmlView ? this.renderHTML() : this.renderVisual() }\n\t\t\t\t\t\t{ ! isHtmlView && Platform.OS === 'android' && (\n\t\t\t\t\t\t\t<FloatingToolbar />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NoticeList />\n\t\t\t\t\t</View>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tflex: 0,\n\t\t\t\t\t\t\tflexBasis: marginBottom,\n\t\t\t\t\t\t\theight: marginBottom,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isHtmlView && (\n\t\t\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\t\t\tparentHeight={ this.state.rootViewHeight }\n\t\t\t\t\t\t\tstyle={ toolbarKeyboardAvoidingViewStyle }\n\t\t\t\t\t\t\twithAnimatedHeight\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ Platform.OS === 'ios' && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<AutocompletionItemsSlot />\n\t\t\t\t\t\t\t\t\t<FloatingToolbar />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<Header />\n\t\t\t\t\t\t\t<BottomSheetSettings />\n\t\t\t\t\t\t</KeyboardAvoidingView>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.OS === 'android' && <AutocompletionItemsSlot /> }\n\t\t\t\t</SafeAreaView>\n\t\t\t</Tooltip.Slot>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { __unstableIsEditorReady: isEditorReady } = select(\n\t\t\teditorStore\n\t\t);\n\t\tconst { getEditorMode } = select( editPostStore );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst globalStyles = getSettings()?.__experimentalGlobalStylesBaseStyles\n\t\t\t?.color;\n\n\t\treturn {\n\t\t\tisReady: isEditorReady(),\n\t\t\tmode: getEditorMode(),\n\t\t\tglobalStyles,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( Layout );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/layout/index.native.js"],"names":["Layout","Component","constructor","arguments","onSafeAreaInsetsUpdate","bind","onRootViewLayout","state","rootViewHeight","safeAreaInsets","top","bottom","right","left","SafeArea","getSafeAreaInsetsForRootView","then","componentDidMount","_isMounted","safeAreaSubscription","addEventListener","componentWillUnmount","remove","result","setState","event","setHeightState","height","nativeEvent","layout","sendNativeEditorDidLayout","renderHTML","globalStyles","props","renderVisual","isReady","setTitleRef","render","getStylesFromColorScheme","mode","isHtmlView","marginBottom","Platform","OS","headerToolbarStyles","containerStyles","styles","container","containerDark","toolbarKeyboardAvoidingViewStyle","toolbarKeyboardAvoidingView","backgroundColor","editorStyles","background","backgroundDark","flex","flexBasis","select","__unstableIsEditorReady","isEditorReady","editorStore","getEditorMode","editPostStore","getSettings","blockEditorStore","__experimentalGlobalStylesBaseStyles","color","withPreferredColorScheme"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAMA;;AACA;;AAKA;;AACA;;AAOA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAlCA;AACA;AACA;;AAIA;AACA;AACA;;AAmBA;AACA;AACA;AAOA,MAAMA,MAAN,SAAqBC,kBAArB,CAA+B;AAC9BC,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKC,sBAAL,GAA8B,KAAKA,sBAAL,CAA4BC,IAA5B,CAAkC,IAAlC,CAA9B;AACA,SAAKC,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBD,IAAtB,CAA4B,IAA5B,CAAxB;AAEA,SAAKE,KAAL,GAAa;AACZC,MAAAA,cAAc,EAAE,CADJ;AAEZC,MAAAA,cAAc,EAAE;AAAEC,QAAAA,GAAG,EAAE,CAAP;AAAUC,QAAAA,MAAM,EAAE,CAAlB;AAAqBC,QAAAA,KAAK,EAAE,CAA5B;AAA+BC,QAAAA,IAAI,EAAE;AAArC;AAFJ,KAAb;;AAKAC,iCAASC,4BAAT,GAAwCC,IAAxC,CACC,KAAKZ,sBADN;AAGA;;AAEDa,EAAAA,iBAAiB,GAAG;AACnB,SAAKC,UAAL,GAAkB,IAAlB;AACA,SAAKC,oBAAL,GAA4BL,6BAASM,gBAAT,CAC3B,oCAD2B,EAE3B,KAAKhB,sBAFsB,CAA5B;AAIA;;AAEDiB,EAAAA,oBAAoB,GAAG;AAAA;;AACtB,kCAAKF,oBAAL,gFAA2BG,MAA3B;AACA,SAAKJ,UAAL,GAAkB,KAAlB;AACA;;AAEDd,EAAAA,sBAAsB,CAAEmB,MAAF,EAAW;AAChC,UAAM;AAAEd,MAAAA;AAAF,QAAqBc,MAA3B;;AACA,QAAK,KAAKL,UAAV,EAAuB;AACtB,WAAKM,QAAL,CAAe;AAAEf,QAAAA;AAAF,OAAf;AACA;AACD;;AAEDH,EAAAA,gBAAgB,CAAEmB,KAAF,EAAU;AACzB,QAAK,KAAKP,UAAV,EAAuB;AACtB,WAAKQ,cAAL,CAAqBD,KAArB;AACA;AACD;;AAEDC,EAAAA,cAAc,CAAED,KAAF,EAAU;AACvB,UAAM;AAAEE,MAAAA;AAAF,QAAaF,KAAK,CAACG,WAAN,CAAkBC,MAArC;;AACA,QAAKF,MAAM,KAAK,KAAKpB,KAAL,CAAWC,cAA3B,EAA4C;AAC3C,WAAKgB,QAAL,CACC;AAAEhB,QAAAA,cAAc,EAAEmB;AAAlB,OADD,EAECG,4CAFD;AAIA;AACD;;AAEDC,EAAAA,UAAU,GAAG;AACZ,UAAM;AAAEC,MAAAA;AAAF,QAAmB,KAAKC,KAA9B;AACA,WACC,4BAAC,yBAAD;AACC,MAAA,YAAY,EAAG,KAAK1B,KAAL,CAAWC,cAD3B;AAEC,MAAA,KAAK,EAAGwB;AAFT,MADD;AAMA;;AAEDE,EAAAA,YAAY,GAAG;AACd,UAAM;AAAEC,MAAAA;AAAF,QAAc,KAAKF,KAAzB;;AAEA,QAAK,CAAEE,OAAP,EAAiB;AAChB,aAAO,IAAP;AACA;;AAED,WAAO,4BAAC,qBAAD;AAAc,MAAA,WAAW,EAAG,KAAKF,KAAL,CAAWG;AAAvC,MAAP;AACA;;AAEDC,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEC,MAAAA,wBAAF;AAA4BC,MAAAA,IAA5B;AAAkCP,MAAAA;AAAlC,QAAmD,KAAKC,KAA9D;AAEA,UAAMO,UAAU,GAAGD,IAAI,KAAK,MAA5B,CAHQ,CAKR;;AACA,UAAME,YAAY,GACjBC,sBAASC,EAAT,KAAgB,SAAhB,IAA6B,CAAEH,UAA/B,GACGI,gBAAqB,2BAArB,EAAmDjB,MADtD,GAEG,CAHJ;AAKA,UAAMkB,eAAe,GAAGP,wBAAwB,CAC/CQ,eAAOC,SADwC,EAE/CD,eAAOE,aAFwC,CAAhD;AAKA,UAAMC,gCAAgC,GAAG,EACxC,GAAGH,eAAOI,2BAD8B;AAExCrC,MAAAA,IAAI,EAAE,KAAKN,KAAL,CAAWE,cAAX,CAA0BI,IAFQ;AAGxCD,MAAAA,KAAK,EAAE,KAAKL,KAAL,CAAWE,cAAX,CAA0BG,KAHO;AAIxCD,MAAAA,MAAM,EAAE,KAAKJ,KAAL,CAAWE,cAAX,CAA0BE,MAJM;AAKxCwC,MAAAA,eAAe,EAAEN,eAAe,CAACM;AALO,KAAzC;AAQA,UAAMC,YAAY,GAAG,CACpBd,wBAAwB,CACvBQ,eAAOO,UADgB,EAEvBP,eAAOQ,cAFgB,CADJ,EAKpB,CAAAtB,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEqB,UAAd,KAA4B;AAC3BF,MAAAA,eAAe,EAAEnB,YAAY,CAACqB;AADH,KALR,CAArB;AAUA,WACC,4BAAC,mBAAD,CAAS,IAAT,QACC,4BAAC,yBAAD;AACC,MAAA,KAAK,EAAGR,eADT;AAEC,MAAA,QAAQ,EAAG,KAAKvC;AAFjB,OAIC,4BAAC,uBAAD;AAAiB,MAAA,qBAAqB;AAAtC,MAJD,EAKC,4BAAC,iBAAD;AAAM,MAAA,KAAK,EAAG8C;AAAd,OACGZ,UAAU,GAAG,KAAKT,UAAL,EAAH,GAAuB,KAAKG,YAAL,EADpC,EAEG,CAAEM,UAAF,IAAgBE,sBAASC,EAAT,KAAgB,SAAhC,IACD,4BAAC,4BAAD,OAHF,EAKC,4BAAC,sBAAD,OALD,CALD,EAYC,4BAAC,iBAAD;AACC,MAAA,KAAK,EAAG;AACPY,QAAAA,IAAI,EAAE,CADC;AAEPC,QAAAA,SAAS,EAAEf,YAFJ;AAGPd,QAAAA,MAAM,EAAEc;AAHD;AADT,MAZD,EAmBG,CAAED,UAAF,IACD,4BAAC,gCAAD;AACC,MAAA,YAAY,EAAG,KAAKjC,KAAL,CAAWC,cAD3B;AAEC,MAAA,KAAK,EAAGyC,gCAFT;AAGC,MAAA,kBAAkB;AAHnB,OAKGP,sBAASC,EAAT,KAAgB,KAAhB,IACD,qDACC,4BAAC,6CAAD,OADD,EAEC,4BAAC,4BAAD,OAFD,CANF,EAWC,4BAAC,eAAD,OAXD,EAYC,4BAAC,gCAAD,OAZD,CApBF,EAmCGD,sBAASC,EAAT,KAAgB,SAAhB,IAA6B,4BAAC,6CAAD,OAnChC,CADD,CADD;AAyCA;;AApJ6B;;eAuJhB,sBAAS,CACvB,sBAAcc,MAAF,IAAc;AAAA;;AACzB,QAAM;AAAEC,IAAAA,uBAAuB,EAAEC;AAA3B,MAA6CF,MAAM,CACxDG,aADwD,CAAzD;AAGA,QAAM;AAAEC,IAAAA;AAAF,MAAoBJ,MAAM,CAAEK,YAAF,CAAhC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAkBN,MAAM,CAAEO,kBAAF,CAA9B;AACA,QAAMhC,YAAY,mBAAG+B,WAAW,EAAd,0EAAG,aAAeE,oCAAlB,0DAAG,sBAClBC,KADH;AAGA,SAAO;AACN/B,IAAAA,OAAO,EAAEwB,aAAa,EADhB;AAENpB,IAAAA,IAAI,EAAEsB,aAAa,EAFb;AAGN7B,IAAAA;AAHM,GAAP;AAKA,CAdD,CADuB,EAgBvBmC,iCAhBuB,CAAT,EAiBVnE,MAjBU,C","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, SafeAreaView, View } from 'react-native';\nimport SafeArea from 'react-native-safe-area';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport {\n\tBottomSheetSettings,\n\tFloatingToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport {\n\tHTMLTextInput,\n\tKeyboardAvoidingView,\n\tNoticeList,\n\tTooltip,\n\t__unstableAutocompletionItemsSlot as AutocompletionItemsSlot,\n} from '@wordpress/components';\nimport { AutosaveMonitor, store as editorStore } from '@wordpress/editor';\nimport { sendNativeEditorDidLayout } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport headerToolbarStyles from '../header/header-toolbar/style.scss';\nimport Header from '../header';\nimport VisualEditor from '../visual-editor';\nimport { store as editPostStore } from '../../store';\n\nclass Layout extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSafeAreaInsetsUpdate = this.onSafeAreaInsetsUpdate.bind( this );\n\t\tthis.onRootViewLayout = this.onRootViewLayout.bind( this );\n\n\t\tthis.state = {\n\t\t\trootViewHeight: 0,\n\t\t\tsafeAreaInsets: { top: 0, bottom: 0, right: 0, left: 0 },\n\t\t};\n\n\t\tSafeArea.getSafeAreaInsetsForRootView().then(\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis._isMounted = true;\n\t\tthis.safeAreaSubscription = SafeArea.addEventListener(\n\t\t\t'safeAreaInsetsForRootViewDidChange',\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.safeAreaSubscription?.remove();\n\t\tthis._isMounted = false;\n\t}\n\n\tonSafeAreaInsetsUpdate( result ) {\n\t\tconst { safeAreaInsets } = result;\n\t\tif ( this._isMounted ) {\n\t\t\tthis.setState( { safeAreaInsets } );\n\t\t}\n\t}\n\n\tonRootViewLayout( event ) {\n\t\tif ( this._isMounted ) {\n\t\t\tthis.setHeightState( event );\n\t\t}\n\t}\n\n\tsetHeightState( event ) {\n\t\tconst { height } = event.nativeEvent.layout;\n\t\tif ( height !== this.state.rootViewHeight ) {\n\t\t\tthis.setState(\n\t\t\t\t{ rootViewHeight: height },\n\t\t\t\tsendNativeEditorDidLayout\n\t\t\t);\n\t\t}\n\t}\n\n\trenderHTML() {\n\t\tconst { globalStyles } = this.props;\n\t\treturn (\n\t\t\t<HTMLTextInput\n\t\t\t\tparentHeight={ this.state.rootViewHeight }\n\t\t\t\tstyle={ globalStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderVisual() {\n\t\tconst { isReady } = this.props;\n\n\t\tif ( ! isReady ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <VisualEditor setTitleRef={ this.props.setTitleRef } />;\n\t}\n\n\trender() {\n\t\tconst { getStylesFromColorScheme, mode, globalStyles } = this.props;\n\n\t\tconst isHtmlView = mode === 'text';\n\n\t\t// Add a margin view at the bottom for the header.\n\t\tconst marginBottom =\n\t\t\tPlatform.OS === 'android' && ! isHtmlView\n\t\t\t\t? headerToolbarStyles[ 'header-toolbar__container' ].height\n\t\t\t\t: 0;\n\n\t\tconst containerStyles = getStylesFromColorScheme(\n\t\t\tstyles.container,\n\t\t\tstyles.containerDark\n\t\t);\n\n\t\tconst toolbarKeyboardAvoidingViewStyle = {\n\t\t\t...styles.toolbarKeyboardAvoidingView,\n\t\t\tleft: this.state.safeAreaInsets.left,\n\t\t\tright: this.state.safeAreaInsets.right,\n\t\t\tbottom: this.state.safeAreaInsets.bottom,\n\t\t\tbackgroundColor: containerStyles.backgroundColor,\n\t\t};\n\n\t\tconst editorStyles = [\n\t\t\tgetStylesFromColorScheme(\n\t\t\t\tstyles.background,\n\t\t\t\tstyles.backgroundDark\n\t\t\t),\n\t\t\tglobalStyles?.background && {\n\t\t\t\tbackgroundColor: globalStyles.background,\n\t\t\t},\n\t\t];\n\n\t\treturn (\n\t\t\t<Tooltip.Slot>\n\t\t\t\t<SafeAreaView\n\t\t\t\t\tstyle={ containerStyles }\n\t\t\t\t\tonLayout={ this.onRootViewLayout }\n\t\t\t\t>\n\t\t\t\t\t<AutosaveMonitor disableIntervalChecks />\n\t\t\t\t\t<View style={ editorStyles }>\n\t\t\t\t\t\t{ isHtmlView ? this.renderHTML() : this.renderVisual() }\n\t\t\t\t\t\t{ ! isHtmlView && Platform.OS === 'android' && (\n\t\t\t\t\t\t\t<FloatingToolbar />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NoticeList />\n\t\t\t\t\t</View>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tflex: 0,\n\t\t\t\t\t\t\tflexBasis: marginBottom,\n\t\t\t\t\t\t\theight: marginBottom,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isHtmlView && (\n\t\t\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\t\t\tparentHeight={ this.state.rootViewHeight }\n\t\t\t\t\t\t\tstyle={ toolbarKeyboardAvoidingViewStyle }\n\t\t\t\t\t\t\twithAnimatedHeight\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ Platform.OS === 'ios' && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<AutocompletionItemsSlot />\n\t\t\t\t\t\t\t\t\t<FloatingToolbar />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<Header />\n\t\t\t\t\t\t\t<BottomSheetSettings />\n\t\t\t\t\t\t</KeyboardAvoidingView>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.OS === 'android' && <AutocompletionItemsSlot /> }\n\t\t\t\t</SafeAreaView>\n\t\t\t</Tooltip.Slot>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { __unstableIsEditorReady: isEditorReady } = select(\n\t\t\teditorStore\n\t\t);\n\t\tconst { getEditorMode } = select( editPostStore );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst globalStyles = getSettings()?.__experimentalGlobalStylesBaseStyles\n\t\t\t?.color;\n\n\t\treturn {\n\t\t\tisReady: isEditorReady(),\n\t\t\tmode: getEditorMode(),\n\t\t\tglobalStyles,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( Layout );\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/plugin-document-setting-panel/index.js"],"names":["Fill","Slot","PluginDocumentSettingFill","isEnabled","panelName","opened","onToggle","className","title","icon","children","PluginDocumentSettingPanel","context","ownProps","undefined","name","select","editPostStore","isEditorPanelOpened","isEditorPanelEnabled","dispatch","toggleEditorPanelOpened"],"mappings":";;;;;;;;;;;AAOA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAjBA;AACA;AACA;;AAEA;AACA;AACA;;AAOA;AACA;AACA;AAIO,MAAM;AAAEA,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IAAiB,gCAAgB,4BAAhB,CAAvB;;;;AAEP,MAAMC,yBAAyB,GAAG,QAS3B;AAAA,MAT6B;AACnCC,IAAAA,SADmC;AAEnCC,IAAAA,SAFmC;AAGnCC,IAAAA,MAHmC;AAInCC,IAAAA,QAJmC;AAKnCC,IAAAA,SALmC;AAMnCC,IAAAA,KANmC;AAOnCC,IAAAA,IAPmC;AAQnCC,IAAAA;AARmC,GAS7B;AACN,SACC,qDACC,4BAAC,+CAAD;AACC,IAAA,KAAK,EAAGF,KADT;AAEC,IAAA,SAAS,EAAGJ;AAFb,IADD,EAKC,4BAAC,IAAD,QACGD,SAAS,IACV,4BAAC,qBAAD;AACC,IAAA,SAAS,EAAGI,SADb;AAEC,IAAA,KAAK,EAAGC,KAFT;AAGC,IAAA,IAAI,EAAGC,IAHR;AAIC,IAAA,MAAM,EAAGJ,MAJV;AAKC,IAAA,QAAQ,EAAGC;AALZ,KAOGI,QAPH,CAFF,CALD,CADD;AAqBA,CA/BD;AAiCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,0BAA0B,GAAG,sBAClC,gCAAmB,CAAEC,OAAF,EAAWC,QAAX,KAAyB;AAC3C,MAAKC,SAAS,KAAKD,QAAQ,CAACE,IAA5B,EAAmC;AAClC,mHAAS,sDAAT;AACA;;AACD,SAAO;
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/plugin-document-setting-panel/index.js"],"names":["Fill","Slot","PluginDocumentSettingFill","isEnabled","panelName","opened","onToggle","className","title","icon","children","PluginDocumentSettingPanel","context","ownProps","undefined","name","select","editPostStore","isEditorPanelOpened","isEditorPanelEnabled","dispatch","toggleEditorPanelOpened"],"mappings":";;;;;;;;;;;AAOA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAjBA;AACA;AACA;;AAEA;AACA;AACA;;AAOA;AACA;AACA;AAIO,MAAM;AAAEA,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IAAiB,gCAAgB,4BAAhB,CAAvB;;;;AAEP,MAAMC,yBAAyB,GAAG,QAS3B;AAAA,MAT6B;AACnCC,IAAAA,SADmC;AAEnCC,IAAAA,SAFmC;AAGnCC,IAAAA,MAHmC;AAInCC,IAAAA,QAJmC;AAKnCC,IAAAA,SALmC;AAMnCC,IAAAA,KANmC;AAOnCC,IAAAA,IAPmC;AAQnCC,IAAAA;AARmC,GAS7B;AACN,SACC,qDACC,4BAAC,+CAAD;AACC,IAAA,KAAK,EAAGF,KADT;AAEC,IAAA,SAAS,EAAGJ;AAFb,IADD,EAKC,4BAAC,IAAD,QACGD,SAAS,IACV,4BAAC,qBAAD;AACC,IAAA,SAAS,EAAGI,SADb;AAEC,IAAA,KAAK,EAAGC,KAFT;AAGC,IAAA,IAAI,EAAGC,IAHR;AAIC,IAAA,MAAM,EAAGJ,MAJV;AAKC,IAAA,QAAQ,EAAGC;AALZ,KAOGI,QAPH,CAFF,CALD,CADD;AAqBA,CA/BD;AAiCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,0BAA0B,GAAG,sBAClC,gCAAmB,CAAEC,OAAF,EAAWC,QAAX,KAAyB;AAC3C,MAAKC,SAAS,KAAKD,QAAQ,CAACE,IAA5B,EAAmC;AAClC,mHAAS,sDAAT;AACA;;AACD,SAAO;AACNX,IAAAA,SAAS,EAAG,GAAGQ,OAAO,CAACG,IAAM,IAAIF,QAAQ,CAACE,IAAM;AAD1C,GAAP;AAGA,CAPD,CADkC,EASlC,sBAAY,CAAEC,MAAF,YAA6B;AAAA,MAAnB;AAAEZ,IAAAA;AAAF,GAAmB;AACxC,SAAO;AACNC,IAAAA,MAAM,EAAEW,MAAM,CAAEC,YAAF,CAAN,CAAwBC,mBAAxB,CAA6Cd,SAA7C,CADF;AAEND,IAAAA,SAAS,EAAEa,MAAM,CAAEC,YAAF,CAAN,CAAwBE,oBAAxB,CACVf,SADU;AAFL,GAAP;AAMA,CAPD,CATkC,EAiBlC,wBAAc,CAAEgB,QAAF;AAAA,MAAY;AAAEhB,IAAAA;AAAF,GAAZ;AAAA,SAAiC;AAC9CE,IAAAA,QAAQ,GAAG;AACV,aAAOc,QAAQ,CAAEH,YAAF,CAAR,CAA0BI,uBAA1B,CACNjB,SADM,CAAP;AAGA;;AAL6C,GAAjC;AAAA,CAAd,CAjBkC,EAwBhCF,yBAxBgC,CAAnC;AA0BAS,0BAA0B,CAACV,IAA3B,GAAkCA,IAAlC;eAEeU,0B","sourcesContent":["/**\n * Defines as extensibility slot for the Settings sidebar\n */\n\n/**\n * WordPress dependencies\n */\nimport { createSlotFill, PanelBody } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { withPluginContext } from '@wordpress/plugins';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport { EnablePluginDocumentSettingPanelOption } from '../../preferences-modal/options';\nimport { store as editPostStore } from '../../../store';\n\nexport const { Fill, Slot } = createSlotFill( 'PluginDocumentSettingPanel' );\n\nconst PluginDocumentSettingFill = ( {\n\tisEnabled,\n\tpanelName,\n\topened,\n\tonToggle,\n\tclassName,\n\ttitle,\n\ticon,\n\tchildren,\n} ) => {\n\treturn (\n\t\t<>\n\t\t\t<EnablePluginDocumentSettingPanelOption\n\t\t\t\tlabel={ title }\n\t\t\t\tpanelName={ panelName }\n\t\t\t/>\n\t\t\t<Fill>\n\t\t\t\t{ isEnabled && (\n\t\t\t\t\t<PanelBody\n\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\topened={ opened }\n\t\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</Fill>\n\t\t</>\n\t);\n};\n\n/**\n * Renders items below the Status & Availability panel in the Document Sidebar.\n *\n * @param {Object} props Component properties.\n * @param {string} [props.name] The machine-friendly name for the panel.\n * @param {string} [props.className] An optional class name added to the row.\n * @param {string} [props.title] The title of the panel\n * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var el = wp.element.createElement;\n * var __ = wp.i18n.__;\n * var registerPlugin = wp.plugins.registerPlugin;\n * var PluginDocumentSettingPanel = wp.editPost.PluginDocumentSettingPanel;\n *\n * function MyDocumentSettingPlugin() {\n * \treturn el(\n * \t\tPluginDocumentSettingPanel,\n * \t\t{\n * \t\t\tclassName: 'my-document-setting-plugin',\n * \t\t\ttitle: 'My Panel',\n * \t\t},\n * \t\t__( 'My Document Setting Panel' )\n * \t);\n * }\n *\n * registerPlugin( 'my-document-setting-plugin', {\n * \t\trender: MyDocumentSettingPlugin\n * } );\n * ```\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { registerPlugin } from '@wordpress/plugins';\n * import { PluginDocumentSettingPanel } from '@wordpress/edit-post';\n *\n * const MyDocumentSettingTest = () => (\n * \t\t<PluginDocumentSettingPanel className=\"my-document-setting-plugin\" title=\"My Panel\">\n *\t\t\t<p>My Document Setting Panel</p>\n *\t\t</PluginDocumentSettingPanel>\n *\t);\n *\n * registerPlugin( 'document-setting-test', { render: MyDocumentSettingTest } );\n * ```\n *\n * @return {WPComponent} The component to be rendered.\n */\nconst PluginDocumentSettingPanel = compose(\n\twithPluginContext( ( context, ownProps ) => {\n\t\tif ( undefined === ownProps.name ) {\n\t\t\twarning( 'PluginDocumentSettingPanel requires a name property.' );\n\t\t}\n\t\treturn {\n\t\t\tpanelName: `${ context.name }/${ ownProps.name }`,\n\t\t};\n\t} ),\n\twithSelect( ( select, { panelName } ) => {\n\t\treturn {\n\t\t\topened: select( editPostStore ).isEditorPanelOpened( panelName ),\n\t\t\tisEnabled: select( editPostStore ).isEditorPanelEnabled(\n\t\t\t\tpanelName\n\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { panelName } ) => ( {\n\t\tonToggle() {\n\t\t\treturn dispatch( editPostStore ).toggleEditorPanelOpened(\n\t\t\t\tpanelName\n\t\t\t);\n\t\t},\n\t} ) )\n)( PluginDocumentSettingFill );\n\nPluginDocumentSettingPanel.Slot = Slot;\n\nexport default PluginDocumentSettingPanel;\n"]}
|
|
@@ -87,11 +87,13 @@ function VisualEditor(_ref2) {
|
|
|
87
87
|
} = _ref2;
|
|
88
88
|
const {
|
|
89
89
|
deviceType,
|
|
90
|
+
isWelcomeGuideVisible,
|
|
90
91
|
isTemplateMode,
|
|
91
92
|
wrapperBlockName,
|
|
92
93
|
wrapperUniqueId
|
|
93
94
|
} = (0, _data.useSelect)(select => {
|
|
94
95
|
const {
|
|
96
|
+
isFeatureActive,
|
|
95
97
|
isEditingTemplate,
|
|
96
98
|
__experimentalGetPreviewDeviceType
|
|
97
99
|
} = select(_store.store);
|
|
@@ -112,11 +114,15 @@ function VisualEditor(_ref2) {
|
|
|
112
114
|
|
|
113
115
|
return {
|
|
114
116
|
deviceType: __experimentalGetPreviewDeviceType(),
|
|
117
|
+
isWelcomeGuideVisible: isFeatureActive('welcomeGuide'),
|
|
115
118
|
isTemplateMode: _isTemplateMode,
|
|
116
119
|
wrapperBlockName: _wrapperBlockName,
|
|
117
120
|
wrapperUniqueId: getCurrentPostId()
|
|
118
121
|
};
|
|
119
122
|
}, []);
|
|
123
|
+
const {
|
|
124
|
+
isCleanNewPost
|
|
125
|
+
} = (0, _data.useSelect)(_editor.store);
|
|
120
126
|
const hasMetaBoxes = (0, _data.useSelect)(select => select(_store.store).hasMetaBoxes(), []);
|
|
121
127
|
const {
|
|
122
128
|
themeSupportsLayout,
|
|
@@ -183,6 +189,16 @@ function VisualEditor(_ref2) {
|
|
|
183
189
|
|
|
184
190
|
return undefined;
|
|
185
191
|
}, [isTemplateMode, themeSupportsLayout, defaultLayout]);
|
|
192
|
+
const titleRef = (0, _element.useRef)();
|
|
193
|
+
(0, _element.useEffect)(() => {
|
|
194
|
+
var _titleRef$current;
|
|
195
|
+
|
|
196
|
+
if (isWelcomeGuideVisible || !isCleanNewPost()) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
titleRef === null || titleRef === void 0 ? void 0 : (_titleRef$current = titleRef.current) === null || _titleRef$current === void 0 ? void 0 : _titleRef$current.focus();
|
|
201
|
+
}, [isWelcomeGuideVisible, isCleanNewPost]);
|
|
186
202
|
return (0, _element.createElement)(_blockEditor.BlockTools, {
|
|
187
203
|
__unstableContentRef: ref,
|
|
188
204
|
className: (0, _classnames.default)('edit-post-visual-editor', {
|
|
@@ -219,7 +235,9 @@ function VisualEditor(_ref2) {
|
|
|
219
235
|
}), !isTemplateMode && (0, _element.createElement)("div", {
|
|
220
236
|
className: "edit-post-visual-editor__post-title-wrapper",
|
|
221
237
|
contentEditable: false
|
|
222
|
-
}, (0, _element.createElement)(_editor.PostTitle,
|
|
238
|
+
}, (0, _element.createElement)(_editor.PostTitle, {
|
|
239
|
+
ref: titleRef
|
|
240
|
+
})), (0, _element.createElement)(RecursionProvider, null, (0, _element.createElement)(_blockEditor.BlockList, {
|
|
223
241
|
className: isTemplateMode ? 'wp-site-blocks' : undefined,
|
|
224
242
|
__experimentalLayout: layout
|
|
225
243
|
}))))), (0, _element.createElement)(_blockEditor.__unstableBlockSettingsMenuFirstItem, null, _ref3 => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["MaybeIframe","children","contentRef","shouldIframe","styles","assets","style","ref","flex","width","height","display","VisualEditor","deviceType","isTemplateMode","wrapperBlockName","wrapperUniqueId","select","isEditingTemplate","__experimentalGetPreviewDeviceType","editPostStore","getCurrentPostId","getCurrentPostType","editorStore","_isTemplateMode","_wrapperBlockName","hasMetaBoxes","themeSupportsLayout","_settings","blockEditorStore","getSettings","supportsLayout","__unstableResolvedAssets","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","defaultLayout","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","RecursionProvider","layout","type","undefined","padding","arrowLeft","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n} from '@wordpress/block-editor';\nimport { useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport { store as editPostStore } from '../../store';\n\nfunction MaybeIframe( {\n\tchildren,\n\tcontentRef,\n\tshouldIframe,\n\tstyles,\n\tassets,\n\tstyle,\n} ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\thead={ <EditorStyles styles={ styles } /> }\n\t\t\tassets={ assets }\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisTemplateMode,\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditingTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst { themeSupportsLayout, assets } = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\tassets: _settings.__unstableResolvedAssets,\n\t\t};\n\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst defaultLayout = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\tconst [ , RecursionProvider ] = useNoRecursiveRenders(\n\t\twrapperUniqueId,\n\t\twrapperBlockName\n\t);\n\n\tconst layout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\treturn defaultLayout;\n\t\t}\n\n\t\treturn undefined;\n\t}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : '0',\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tassets={ assets }\n\t\t\t\t\t\tstyle={ { paddingBottom } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout && ! isTemplateMode && (\n\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\tlayout={ defaultLayout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-post-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ layout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</BlockTools>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["MaybeIframe","children","contentRef","shouldIframe","styles","assets","style","ref","flex","width","height","display","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","wrapperBlockName","wrapperUniqueId","select","isFeatureActive","isEditingTemplate","__experimentalGetPreviewDeviceType","editPostStore","getCurrentPostId","getCurrentPostType","editorStore","_isTemplateMode","_wrapperBlockName","isCleanNewPost","hasMetaBoxes","themeSupportsLayout","_settings","blockEditorStore","getSettings","supportsLayout","__unstableResolvedAssets","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","defaultLayout","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","RecursionProvider","layout","type","undefined","titleRef","current","focus","padding","arrowLeft","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport { store as editPostStore } from '../../store';\n\nfunction MaybeIframe( {\n\tchildren,\n\tcontentRef,\n\tshouldIframe,\n\tstyles,\n\tassets,\n\tstyle,\n} ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\thead={ <EditorStyles styles={ styles } /> }\n\t\t\tassets={ assets }\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst { themeSupportsLayout, assets } = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\tassets: _settings.__unstableResolvedAssets,\n\t\t};\n\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst defaultLayout = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\tconst [ , RecursionProvider ] = useNoRecursiveRenders(\n\t\twrapperUniqueId,\n\t\twrapperBlockName\n\t);\n\n\tconst layout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\treturn defaultLayout;\n\t\t}\n\n\t\treturn undefined;\n\t}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );\n\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : '0',\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tassets={ assets }\n\t\t\t\t\t\tstyle={ { paddingBottom } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout && ! isTemplateMode && (\n\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\tlayout={ defaultLayout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-post-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ layout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</BlockTools>\n\t);\n}\n"]}
|
|
@@ -8,7 +8,7 @@ import { Platform, ScrollView, View } from 'react-native';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { useRef } from '@wordpress/element';
|
|
11
|
+
import { useCallback, useRef, useState } from '@wordpress/element';
|
|
12
12
|
import { compose, withPreferredColorScheme } from '@wordpress/compose';
|
|
13
13
|
import { withSelect, withDispatch } from '@wordpress/data';
|
|
14
14
|
import { withViewportMatch } from '@wordpress/viewport';
|
|
@@ -34,8 +34,11 @@ function HeaderToolbar(_ref) {
|
|
|
34
34
|
showKeyboardHideButton,
|
|
35
35
|
getStylesFromColorScheme,
|
|
36
36
|
onHideKeyboard,
|
|
37
|
-
isRTL
|
|
37
|
+
isRTL,
|
|
38
|
+
noContentSelected
|
|
38
39
|
} = _ref;
|
|
40
|
+
const wasNoContentSelected = useRef(noContentSelected);
|
|
41
|
+
const [isInserterOpen, setIsInserterOpen] = useState(false);
|
|
39
42
|
const scrollViewRef = useRef(null);
|
|
40
43
|
|
|
41
44
|
const scrollToStart = () => {
|
|
@@ -76,8 +79,18 @@ function HeaderToolbar(_ref) {
|
|
|
76
79
|
return isRTL ? buttons.reverse() : buttons;
|
|
77
80
|
};
|
|
78
81
|
|
|
82
|
+
const onToggleInserter = useCallback(isOpen => {
|
|
83
|
+
if (isOpen) {
|
|
84
|
+
wasNoContentSelected.current = noContentSelected;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
setIsInserterOpen(isOpen);
|
|
88
|
+
}, [noContentSelected]); // Expanded mode should be preserved while the inserter is open.
|
|
89
|
+
// This way we prevent style updates during the opening transition.
|
|
90
|
+
|
|
91
|
+
const useExpandedMode = isInserterOpen ? wasNoContentSelected.current : noContentSelected;
|
|
79
92
|
return createElement(View, {
|
|
80
|
-
style: getStylesFromColorScheme(styles
|
|
93
|
+
style: [getStylesFromColorScheme(styles['header-toolbar__container'], styles['header-toolbar__container--dark']), useExpandedMode && styles['header-toolbar__container--expanded']]
|
|
81
94
|
}, createElement(ScrollView, {
|
|
82
95
|
ref: scrollViewRef,
|
|
83
96
|
onContentSizeChange: scrollToStart,
|
|
@@ -85,11 +98,13 @@ function HeaderToolbar(_ref) {
|
|
|
85
98
|
showsHorizontalScrollIndicator: false,
|
|
86
99
|
keyboardShouldPersistTaps: "always",
|
|
87
100
|
alwaysBounceHorizontal: false,
|
|
88
|
-
contentContainerStyle: styles
|
|
101
|
+
contentContainerStyle: styles['header-toolbar__scrollable-content']
|
|
89
102
|
}, createElement(Inserter, {
|
|
90
|
-
disabled: !showInserter
|
|
103
|
+
disabled: !showInserter,
|
|
104
|
+
useExpandedMode: useExpandedMode,
|
|
105
|
+
onToggle: onToggleInserter
|
|
91
106
|
}), renderHistoryButtons(), createElement(BlockToolbar, null)), showKeyboardHideButton && createElement(ToolbarGroup, {
|
|
92
|
-
passedStyle: styles
|
|
107
|
+
passedStyle: styles['header-toolbar__keyboard-hide-container']
|
|
93
108
|
}, createElement(ToolbarButton, {
|
|
94
109
|
title: __('Hide keyboard'),
|
|
95
110
|
icon: keyboardClose,
|
|
@@ -104,18 +119,21 @@ export default compose([withSelect(select => {
|
|
|
104
119
|
const {
|
|
105
120
|
getBlockRootClientId,
|
|
106
121
|
getBlockSelectionEnd,
|
|
107
|
-
hasInserterItems
|
|
122
|
+
hasInserterItems,
|
|
123
|
+
hasSelectedBlock
|
|
108
124
|
} = select(blockEditorStore);
|
|
109
125
|
const {
|
|
110
126
|
getEditorSettings
|
|
111
127
|
} = select(editorStore);
|
|
128
|
+
const isAnyBlockSelected = hasSelectedBlock();
|
|
112
129
|
return {
|
|
113
130
|
hasRedo: select(editorStore).hasEditorRedo(),
|
|
114
131
|
hasUndo: select(editorStore).hasEditorUndo(),
|
|
115
132
|
// This setting (richEditingEnabled) should not live in the block editor's setting.
|
|
116
133
|
showInserter: select(editPostStore).getEditorMode() === 'visual' && getEditorSettings().richEditingEnabled && hasInserterItems(getBlockRootClientId(getBlockSelectionEnd())),
|
|
117
134
|
isTextModeEnabled: select(editPostStore).getEditorMode() === 'text',
|
|
118
|
-
isRTL: select(blockEditorStore).getSettings().isRTL
|
|
135
|
+
isRTL: select(blockEditorStore).getSettings().isRTL,
|
|
136
|
+
noContentSelected: !isAnyBlockSelected
|
|
119
137
|
};
|
|
120
138
|
}), withDispatch(dispatch => {
|
|
121
139
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/header/header-toolbar/index.native.js"],"names":["Platform","ScrollView","View","useRef","compose","withPreferredColorScheme","withSelect","withDispatch","withViewportMatch","__","Inserter","BlockToolbar","store","blockEditorStore","ToolbarGroup","ToolbarButton","keyboardClose","undo","undoIcon","redo","redoIcon","editorStore","styles","editPostStore","HeaderToolbar","hasRedo","hasUndo","showInserter","showKeyboardHideButton","getStylesFromColorScheme","onHideKeyboard","isRTL","scrollViewRef","scrollToStart","isAndroid","OS","current","scrollToEnd","scrollTo","x","renderHistoryButtons","buttons","hint","reverse","container","containerDark","scrollableContent","keyboardHideContainer","select","getBlockRootClientId","getBlockSelectionEnd","hasInserterItems","getEditorSettings","hasEditorRedo","hasEditorUndo","getEditorMode","richEditingEnabled","isTextModeEnabled","getSettings","dispatch","clearSelectedBlock","togglePostTitleSelection","isLargeViewport"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, ScrollView, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInserter,\n\tBlockToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToolbarGroup, ToolbarButton } from '@wordpress/components';\nimport {\n\tkeyboardClose,\n\tundo as undoIcon,\n\tredo as redoIcon,\n} from '@wordpress/icons';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport { store as editPostStore } from '../../../store';\n\nfunction HeaderToolbar( {\n\thasRedo,\n\thasUndo,\n\tredo,\n\tundo,\n\tshowInserter,\n\tshowKeyboardHideButton,\n\tgetStylesFromColorScheme,\n\tonHideKeyboard,\n\tisRTL,\n} ) {\n\tconst scrollViewRef = useRef( null );\n\tconst scrollToStart = () => {\n\t\t// scrollview doesn't seem to automatically adjust to RTL on Android so, scroll to end when Android\n\t\tconst isAndroid = Platform.OS === 'android';\n\t\tif ( isAndroid && isRTL ) {\n\t\t\tscrollViewRef.current.scrollToEnd();\n\t\t} else {\n\t\t\tscrollViewRef.current.scrollTo( { x: 0 } );\n\t\t}\n\t};\n\tconst renderHistoryButtons = () => {\n\t\tconst buttons = [\n\t\t\t/* TODO: replace with EditorHistoryRedo and EditorHistoryUndo. */\n\t\t\t<ToolbarButton\n\t\t\t\tkey=\"undoButton\"\n\t\t\t\ttitle={ __( 'Undo' ) }\n\t\t\t\ticon={ ! isRTL ? undoIcon : redoIcon }\n\t\t\t\tisDisabled={ ! hasUndo }\n\t\t\t\tonClick={ undo }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: __( 'Double tap to undo last change' ),\n\t\t\t\t} }\n\t\t\t/>,\n\t\t\t<ToolbarButton\n\t\t\t\tkey=\"redoButton\"\n\t\t\t\ttitle={ __( 'Redo' ) }\n\t\t\t\ticon={ ! isRTL ? redoIcon : undoIcon }\n\t\t\t\tisDisabled={ ! hasRedo }\n\t\t\t\tonClick={ redo }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: __( 'Double tap to redo last change' ),\n\t\t\t\t} }\n\t\t\t/>,\n\t\t];\n\n\t\treturn isRTL ? buttons.reverse() : buttons;\n\t};\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\tstyles.container,\n\t\t\t\tstyles.containerDark\n\t\t\t) }\n\t\t>\n\t\t\t<ScrollView\n\t\t\t\tref={ scrollViewRef }\n\t\t\t\tonContentSizeChange={ scrollToStart }\n\t\t\t\thorizontal={ true }\n\t\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\talwaysBounceHorizontal={ false }\n\t\t\t\tcontentContainerStyle={ styles.scrollableContent }\n\t\t\t>\n\t\t\t\t<Inserter disabled={ ! showInserter } />\n\t\t\t\t{ renderHistoryButtons() }\n\t\t\t\t<BlockToolbar />\n\t\t\t</ScrollView>\n\t\t\t{ showKeyboardHideButton && (\n\t\t\t\t<ToolbarGroup passedStyle={ styles.keyboardHideContainer }>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Hide keyboard' ) }\n\t\t\t\t\t\ticon={ keyboardClose }\n\t\t\t\t\t\tonClick={ onHideKeyboard }\n\t\t\t\t\t\textraProps={ {\n\t\t\t\t\t\t\thint: __( 'Tap to hide the keyboard' ),\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\thasInserterItems,\n\t\t} = select( blockEditorStore );\n\t\tconst { getEditorSettings } = select( editorStore );\n\t\treturn {\n\t\t\thasRedo: select( editorStore ).hasEditorRedo(),\n\t\t\thasUndo: select( editorStore ).hasEditorUndo(),\n\t\t\t// This setting (richEditingEnabled) should not live in the block editor's setting.\n\t\t\tshowInserter:\n\t\t\t\tselect( editPostStore ).getEditorMode() === 'visual' &&\n\t\t\t\tgetEditorSettings().richEditingEnabled &&\n\t\t\t\thasInserterItems(\n\t\t\t\t\tgetBlockRootClientId( getBlockSelectionEnd() )\n\t\t\t\t),\n\t\t\tisTextModeEnabled:\n\t\t\t\tselect( editPostStore ).getEditorMode() === 'text',\n\t\t\tisRTL: select( blockEditorStore ).getSettings().isRTL,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { clearSelectedBlock } = dispatch( blockEditorStore );\n\t\tconst { togglePostTitleSelection } = dispatch( editorStore );\n\n\t\treturn {\n\t\t\tredo: dispatch( editorStore ).redo,\n\t\t\tundo: dispatch( editorStore ).undo,\n\t\t\tonHideKeyboard() {\n\t\t\t\tclearSelectedBlock();\n\t\t\t\ttogglePostTitleSelection( false );\n\t\t\t},\n\t\t};\n\t} ),\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n\twithPreferredColorScheme,\n] )( HeaderToolbar );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/header/header-toolbar/index.native.js"],"names":["Platform","ScrollView","View","useCallback","useRef","useState","compose","withPreferredColorScheme","withSelect","withDispatch","withViewportMatch","__","Inserter","BlockToolbar","store","blockEditorStore","ToolbarGroup","ToolbarButton","keyboardClose","undo","undoIcon","redo","redoIcon","editorStore","styles","editPostStore","HeaderToolbar","hasRedo","hasUndo","showInserter","showKeyboardHideButton","getStylesFromColorScheme","onHideKeyboard","isRTL","noContentSelected","wasNoContentSelected","isInserterOpen","setIsInserterOpen","scrollViewRef","scrollToStart","isAndroid","OS","current","scrollToEnd","scrollTo","x","renderHistoryButtons","buttons","hint","reverse","onToggleInserter","isOpen","useExpandedMode","select","getBlockRootClientId","getBlockSelectionEnd","hasInserterItems","hasSelectedBlock","getEditorSettings","isAnyBlockSelected","hasEditorRedo","hasEditorUndo","getEditorMode","richEditingEnabled","isTextModeEnabled","getSettings","dispatch","clearSelectedBlock","togglePostTitleSelection","isLargeViewport"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, ScrollView, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useRef, useState } from '@wordpress/element';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInserter,\n\tBlockToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToolbarGroup, ToolbarButton } from '@wordpress/components';\nimport {\n\tkeyboardClose,\n\tundo as undoIcon,\n\tredo as redoIcon,\n} from '@wordpress/icons';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport { store as editPostStore } from '../../../store';\n\nfunction HeaderToolbar( {\n\thasRedo,\n\thasUndo,\n\tredo,\n\tundo,\n\tshowInserter,\n\tshowKeyboardHideButton,\n\tgetStylesFromColorScheme,\n\tonHideKeyboard,\n\tisRTL,\n\tnoContentSelected,\n} ) {\n\tconst wasNoContentSelected = useRef( noContentSelected );\n\tconst [ isInserterOpen, setIsInserterOpen ] = useState( false );\n\n\tconst scrollViewRef = useRef( null );\n\tconst scrollToStart = () => {\n\t\t// scrollview doesn't seem to automatically adjust to RTL on Android so, scroll to end when Android\n\t\tconst isAndroid = Platform.OS === 'android';\n\t\tif ( isAndroid && isRTL ) {\n\t\t\tscrollViewRef.current.scrollToEnd();\n\t\t} else {\n\t\t\tscrollViewRef.current.scrollTo( { x: 0 } );\n\t\t}\n\t};\n\tconst renderHistoryButtons = () => {\n\t\tconst buttons = [\n\t\t\t/* TODO: replace with EditorHistoryRedo and EditorHistoryUndo. */\n\t\t\t<ToolbarButton\n\t\t\t\tkey=\"undoButton\"\n\t\t\t\ttitle={ __( 'Undo' ) }\n\t\t\t\ticon={ ! isRTL ? undoIcon : redoIcon }\n\t\t\t\tisDisabled={ ! hasUndo }\n\t\t\t\tonClick={ undo }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: __( 'Double tap to undo last change' ),\n\t\t\t\t} }\n\t\t\t/>,\n\t\t\t<ToolbarButton\n\t\t\t\tkey=\"redoButton\"\n\t\t\t\ttitle={ __( 'Redo' ) }\n\t\t\t\ticon={ ! isRTL ? redoIcon : undoIcon }\n\t\t\t\tisDisabled={ ! hasRedo }\n\t\t\t\tonClick={ redo }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: __( 'Double tap to redo last change' ),\n\t\t\t\t} }\n\t\t\t/>,\n\t\t];\n\n\t\treturn isRTL ? buttons.reverse() : buttons;\n\t};\n\n\tconst onToggleInserter = useCallback(\n\t\t( isOpen ) => {\n\t\t\tif ( isOpen ) {\n\t\t\t\twasNoContentSelected.current = noContentSelected;\n\t\t\t}\n\t\t\tsetIsInserterOpen( isOpen );\n\t\t},\n\t\t[ noContentSelected ]\n\t);\n\n\t// Expanded mode should be preserved while the inserter is open.\n\t// This way we prevent style updates during the opening transition.\n\tconst useExpandedMode = isInserterOpen\n\t\t? wasNoContentSelected.current\n\t\t: noContentSelected;\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\tstyles[ 'header-toolbar__container' ],\n\t\t\t\t\tstyles[ 'header-toolbar__container--dark' ]\n\t\t\t\t),\n\t\t\t\tuseExpandedMode &&\n\t\t\t\t\tstyles[ 'header-toolbar__container--expanded' ],\n\t\t\t] }\n\t\t>\n\t\t\t<ScrollView\n\t\t\t\tref={ scrollViewRef }\n\t\t\t\tonContentSizeChange={ scrollToStart }\n\t\t\t\thorizontal={ true }\n\t\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\talwaysBounceHorizontal={ false }\n\t\t\t\tcontentContainerStyle={\n\t\t\t\t\tstyles[ 'header-toolbar__scrollable-content' ]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<Inserter\n\t\t\t\t\tdisabled={ ! showInserter }\n\t\t\t\t\tuseExpandedMode={ useExpandedMode }\n\t\t\t\t\tonToggle={ onToggleInserter }\n\t\t\t\t/>\n\t\t\t\t{ renderHistoryButtons() }\n\t\t\t\t<BlockToolbar />\n\t\t\t</ScrollView>\n\t\t\t{ showKeyboardHideButton && (\n\t\t\t\t<ToolbarGroup\n\t\t\t\t\tpassedStyle={\n\t\t\t\t\t\tstyles[ 'header-toolbar__keyboard-hide-container' ]\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Hide keyboard' ) }\n\t\t\t\t\t\ticon={ keyboardClose }\n\t\t\t\t\t\tonClick={ onHideKeyboard }\n\t\t\t\t\t\textraProps={ {\n\t\t\t\t\t\t\thint: __( 'Tap to hide the keyboard' ),\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\thasInserterItems,\n\t\t\thasSelectedBlock,\n\t\t} = select( blockEditorStore );\n\t\tconst { getEditorSettings } = select( editorStore );\n\t\tconst isAnyBlockSelected = hasSelectedBlock();\n\t\treturn {\n\t\t\thasRedo: select( editorStore ).hasEditorRedo(),\n\t\t\thasUndo: select( editorStore ).hasEditorUndo(),\n\t\t\t// This setting (richEditingEnabled) should not live in the block editor's setting.\n\t\t\tshowInserter:\n\t\t\t\tselect( editPostStore ).getEditorMode() === 'visual' &&\n\t\t\t\tgetEditorSettings().richEditingEnabled &&\n\t\t\t\thasInserterItems(\n\t\t\t\t\tgetBlockRootClientId( getBlockSelectionEnd() )\n\t\t\t\t),\n\t\t\tisTextModeEnabled:\n\t\t\t\tselect( editPostStore ).getEditorMode() === 'text',\n\t\t\tisRTL: select( blockEditorStore ).getSettings().isRTL,\n\t\t\tnoContentSelected: ! isAnyBlockSelected,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { clearSelectedBlock } = dispatch( blockEditorStore );\n\t\tconst { togglePostTitleSelection } = dispatch( editorStore );\n\n\t\treturn {\n\t\t\tredo: dispatch( editorStore ).redo,\n\t\t\tundo: dispatch( editorStore ).undo,\n\t\t\tonHideKeyboard() {\n\t\t\t\tclearSelectedBlock();\n\t\t\t\ttogglePostTitleSelection( false );\n\t\t\t},\n\t\t};\n\t} ),\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n\twithPreferredColorScheme,\n] )( HeaderToolbar );\n"]}
|
|
@@ -117,17 +117,19 @@ class Layout extends Component {
|
|
|
117
117
|
} = this.props;
|
|
118
118
|
const isHtmlView = mode === 'text'; // Add a margin view at the bottom for the header.
|
|
119
119
|
|
|
120
|
-
const marginBottom = Platform.OS === 'android' && !isHtmlView ? headerToolbarStyles.
|
|
120
|
+
const marginBottom = Platform.OS === 'android' && !isHtmlView ? headerToolbarStyles['header-toolbar__container'].height : 0;
|
|
121
|
+
const containerStyles = getStylesFromColorScheme(styles.container, styles.containerDark);
|
|
121
122
|
const toolbarKeyboardAvoidingViewStyle = { ...styles.toolbarKeyboardAvoidingView,
|
|
122
123
|
left: this.state.safeAreaInsets.left,
|
|
123
124
|
right: this.state.safeAreaInsets.right,
|
|
124
|
-
bottom: this.state.safeAreaInsets.bottom
|
|
125
|
+
bottom: this.state.safeAreaInsets.bottom,
|
|
126
|
+
backgroundColor: containerStyles.backgroundColor
|
|
125
127
|
};
|
|
126
128
|
const editorStyles = [getStylesFromColorScheme(styles.background, styles.backgroundDark), (globalStyles === null || globalStyles === void 0 ? void 0 : globalStyles.background) && {
|
|
127
129
|
backgroundColor: globalStyles.background
|
|
128
130
|
}];
|
|
129
131
|
return createElement(Tooltip.Slot, null, createElement(SafeAreaView, {
|
|
130
|
-
style:
|
|
132
|
+
style: containerStyles,
|
|
131
133
|
onLayout: this.onRootViewLayout
|
|
132
134
|
}, createElement(AutosaveMonitor, {
|
|
133
135
|
disableIntervalChecks: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/layout/index.native.js"],"names":["Platform","SafeAreaView","View","SafeArea","Component","withSelect","BottomSheetSettings","FloatingToolbar","store","blockEditorStore","compose","withPreferredColorScheme","HTMLTextInput","KeyboardAvoidingView","NoticeList","Tooltip","__unstableAutocompletionItemsSlot","AutocompletionItemsSlot","AutosaveMonitor","editorStore","sendNativeEditorDidLayout","styles","headerToolbarStyles","Header","VisualEditor","editPostStore","Layout","constructor","arguments","onSafeAreaInsetsUpdate","bind","onRootViewLayout","state","rootViewHeight","safeAreaInsets","top","bottom","right","left","getSafeAreaInsetsForRootView","then","componentDidMount","_isMounted","safeAreaSubscription","addEventListener","componentWillUnmount","remove","result","setState","event","setHeightState","height","nativeEvent","layout","renderHTML","globalStyles","props","renderVisual","isReady","setTitleRef","render","getStylesFromColorScheme","mode","isHtmlView","marginBottom","OS","container","toolbarKeyboardAvoidingViewStyle","toolbarKeyboardAvoidingView","editorStyles","background","backgroundDark","backgroundColor","containerDark","flex","flexBasis","select","__unstableIsEditorReady","isEditorReady","getEditorMode","getSettings","__experimentalGlobalStylesBaseStyles","color"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,EAAmBC,YAAnB,EAAiCC,IAAjC,QAA6C,cAA7C;AACA,OAAOC,QAAP,MAAqB,wBAArB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SACCC,mBADD,EAECC,eAFD,EAGCC,KAAK,IAAIC,gBAHV,QAIO,yBAJP;AAKA,SAASC,OAAT,EAAkBC,wBAAlB,QAAkD,oBAAlD;AACA,SACCC,aADD,EAECC,oBAFD,EAGCC,UAHD,EAICC,OAJD,EAKCC,iCAAiC,IAAIC,uBALtC,QAMO,uBANP;AAOA,SAASC,eAAT,EAA0BV,KAAK,IAAIW,WAAnC,QAAsD,mBAAtD;AACA,SAASC,yBAAT,QAA0C,gCAA1C;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,OAAOC,mBAAP,MAAgC,qCAAhC;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,SAAShB,KAAK,IAAIiB,aAAlB,QAAuC,aAAvC;;AAEA,MAAMC,MAAN,SAAqBtB,SAArB,CAA+B;AAC9BuB,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKC,sBAAL,GAA8B,KAAKA,sBAAL,CAA4BC,IAA5B,CAAkC,IAAlC,CAA9B;AACA,SAAKC,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBD,IAAtB,CAA4B,IAA5B,CAAxB;AAEA,SAAKE,KAAL,GAAa;AACZC,MAAAA,cAAc,EAAE,CADJ;AAEZC,MAAAA,cAAc,EAAE;AAAEC,QAAAA,GAAG,EAAE,CAAP;AAAUC,QAAAA,MAAM,EAAE,CAAlB;AAAqBC,QAAAA,KAAK,EAAE,CAA5B;AAA+BC,QAAAA,IAAI,EAAE;AAArC;AAFJ,KAAb;AAKAnC,IAAAA,QAAQ,CAACoC,4BAAT,GAAwCC,IAAxC,CACC,KAAKX,sBADN;AAGA;;AAEDY,EAAAA,iBAAiB,GAAG;AACnB,SAAKC,UAAL,GAAkB,IAAlB;AACA,SAAKC,oBAAL,GAA4BxC,QAAQ,CAACyC,gBAAT,CAC3B,oCAD2B,EAE3B,KAAKf,sBAFsB,CAA5B;AAIA;;AAEDgB,EAAAA,oBAAoB,GAAG;AAAA;;AACtB,kCAAKF,oBAAL,gFAA2BG,MAA3B;AACA,SAAKJ,UAAL,GAAkB,KAAlB;AACA;;AAEDb,EAAAA,sBAAsB,CAAEkB,MAAF,EAAW;AAChC,UAAM;AAAEb,MAAAA;AAAF,QAAqBa,MAA3B;;AACA,QAAK,KAAKL,UAAV,EAAuB;AACtB,WAAKM,QAAL,CAAe;AAAEd,QAAAA;AAAF,OAAf;AACA;AACD;;AAEDH,EAAAA,gBAAgB,CAAEkB,KAAF,EAAU;AACzB,QAAK,KAAKP,UAAV,EAAuB;AACtB,WAAKQ,cAAL,CAAqBD,KAArB;AACA;AACD;;AAEDC,EAAAA,cAAc,CAAED,KAAF,EAAU;AACvB,UAAM;AAAEE,MAAAA;AAAF,QAAaF,KAAK,CAACG,WAAN,CAAkBC,MAArC;;AACA,QAAKF,MAAM,KAAK,KAAKnB,KAAL,CAAWC,cAA3B,EAA4C;AAC3C,WAAKe,QAAL,CACC;AAAEf,QAAAA,cAAc,EAAEkB;AAAlB,OADD,EAEC/B,yBAFD;AAIA;AACD;;AAEDkC,EAAAA,UAAU,GAAG;AACZ,UAAM;AAAEC,MAAAA;AAAF,QAAmB,KAAKC,KAA9B;AACA,WACC,cAAC,aAAD;AACC,MAAA,YAAY,EAAG,KAAKxB,KAAL,CAAWC,cAD3B;AAEC,MAAA,KAAK,EAAGsB;AAFT,MADD;AAMA;;AAEDE,EAAAA,YAAY,GAAG;AACd,UAAM;AAAEC,MAAAA;AAAF,QAAc,KAAKF,KAAzB;;AAEA,QAAK,CAAEE,OAAP,EAAiB;AAChB,aAAO,IAAP;AACA;;AAED,WAAO,cAAC,YAAD;AAAc,MAAA,WAAW,EAAG,KAAKF,KAAL,CAAWG;AAAvC,MAAP;AACA;;AAEDC,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEC,MAAAA,wBAAF;AAA4BC,MAAAA,IAA5B;AAAkCP,MAAAA;AAAlC,QAAmD,KAAKC,KAA9D;AAEA,UAAMO,UAAU,GAAGD,IAAI,KAAK,MAA5B,CAHQ,CAKR;;AACA,UAAME,YAAY,GACjBhE,QAAQ,CAACiE,EAAT,KAAgB,SAAhB,IAA6B,CAAEF,UAA/B,GACGzC,mBAAmB,CAAC4C,SAApB,CAA8Bf,MADjC,GAEG,CAHJ;AAKA,UAAMgB,gCAAgC,GAAG,EACxC,GAAG9C,MAAM,CAAC+C,2BAD8B;AAExC9B,MAAAA,IAAI,EAAE,KAAKN,KAAL,CAAWE,cAAX,CAA0BI,IAFQ;AAGxCD,MAAAA,KAAK,EAAE,KAAKL,KAAL,CAAWE,cAAX,CAA0BG,KAHO;AAIxCD,MAAAA,MAAM,EAAE,KAAKJ,KAAL,CAAWE,cAAX,CAA0BE;AAJM,KAAzC;AAOA,UAAMiC,YAAY,GAAG,CACpBR,wBAAwB,CACvBxC,MAAM,CAACiD,UADgB,EAEvBjD,MAAM,CAACkD,cAFgB,CADJ,EAKpB,CAAAhB,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEe,UAAd,KAA4B;AAC3BE,MAAAA,eAAe,EAAEjB,YAAY,CAACe;AADH,KALR,CAArB;AAUA,WACC,cAAC,OAAD,CAAS,IAAT,QACC,cAAC,YAAD;AACC,MAAA,KAAK,EAAGT,wBAAwB,CAC/BxC,MAAM,CAAC6C,SADwB,EAE/B7C,MAAM,CAACoD,aAFwB,CADjC;AAKC,MAAA,QAAQ,EAAG,KAAK1C;AALjB,OAOC,cAAC,eAAD;AAAiB,MAAA,qBAAqB;AAAtC,MAPD,EAQC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGsC;AAAd,OACGN,UAAU,GAAG,KAAKT,UAAL,EAAH,GAAuB,KAAKG,YAAL,EADpC,EAEG,CAAEM,UAAF,IAAgB/D,QAAQ,CAACiE,EAAT,KAAgB,SAAhC,IACD,cAAC,eAAD,OAHF,EAKC,cAAC,UAAD,OALD,CARD,EAeC,cAAC,IAAD;AACC,MAAA,KAAK,EAAG;AACPS,QAAAA,IAAI,EAAE,CADC;AAEPC,QAAAA,SAAS,EAAEX,YAFJ;AAGPb,QAAAA,MAAM,EAAEa;AAHD;AADT,MAfD,EAsBG,CAAED,UAAF,IACD,cAAC,oBAAD;AACC,MAAA,YAAY,EAAG,KAAK/B,KAAL,CAAWC,cAD3B;AAEC,MAAA,KAAK,EAAGkC,gCAFT;AAGC,MAAA,kBAAkB;AAHnB,OAKGnE,QAAQ,CAACiE,EAAT,KAAgB,KAAhB,IACD,8BACC,cAAC,uBAAD,OADD,EAEC,cAAC,eAAD,OAFD,CANF,EAWC,cAAC,MAAD,OAXD,EAYC,cAAC,mBAAD,OAZD,CAvBF,EAsCGjE,QAAQ,CAACiE,EAAT,KAAgB,SAAhB,IAA6B,cAAC,uBAAD,OAtChC,CADD,CADD;AA4CA;;AAjJ6B;;AAoJ/B,eAAevD,OAAO,CAAE,CACvBL,UAAU,CAAIuE,MAAF,IAAc;AAAA;;AACzB,QAAM;AAAEC,IAAAA,uBAAuB,EAAEC;AAA3B,MAA6CF,MAAM,CACxDzD,WADwD,CAAzD;AAGA,QAAM;AAAE4D,IAAAA;AAAF,MAAoBH,MAAM,CAAEnD,aAAF,CAAhC;AACA,QAAM;AAAEuD,IAAAA;AAAF,MAAkBJ,MAAM,CAAEnE,gBAAF,CAA9B;AACA,QAAM8C,YAAY,mBAAGyB,WAAW,EAAd,0EAAG,aAAeC,oCAAlB,0DAAG,sBAClBC,KADH;AAGA,SAAO;AACNxB,IAAAA,OAAO,EAAEoB,aAAa,EADhB;AAENhB,IAAAA,IAAI,EAAEiB,aAAa,EAFb;AAGNxB,IAAAA;AAHM,GAAP;AAKA,CAdS,CADa,EAgBvB5C,wBAhBuB,CAAF,CAAP,CAiBVe,MAjBU,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, SafeAreaView, View } from 'react-native';\nimport SafeArea from 'react-native-safe-area';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport {\n\tBottomSheetSettings,\n\tFloatingToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport {\n\tHTMLTextInput,\n\tKeyboardAvoidingView,\n\tNoticeList,\n\tTooltip,\n\t__unstableAutocompletionItemsSlot as AutocompletionItemsSlot,\n} from '@wordpress/components';\nimport { AutosaveMonitor, store as editorStore } from '@wordpress/editor';\nimport { sendNativeEditorDidLayout } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport headerToolbarStyles from '../header/header-toolbar/style.scss';\nimport Header from '../header';\nimport VisualEditor from '../visual-editor';\nimport { store as editPostStore } from '../../store';\n\nclass Layout extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSafeAreaInsetsUpdate = this.onSafeAreaInsetsUpdate.bind( this );\n\t\tthis.onRootViewLayout = this.onRootViewLayout.bind( this );\n\n\t\tthis.state = {\n\t\t\trootViewHeight: 0,\n\t\t\tsafeAreaInsets: { top: 0, bottom: 0, right: 0, left: 0 },\n\t\t};\n\n\t\tSafeArea.getSafeAreaInsetsForRootView().then(\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis._isMounted = true;\n\t\tthis.safeAreaSubscription = SafeArea.addEventListener(\n\t\t\t'safeAreaInsetsForRootViewDidChange',\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.safeAreaSubscription?.remove();\n\t\tthis._isMounted = false;\n\t}\n\n\tonSafeAreaInsetsUpdate( result ) {\n\t\tconst { safeAreaInsets } = result;\n\t\tif ( this._isMounted ) {\n\t\t\tthis.setState( { safeAreaInsets } );\n\t\t}\n\t}\n\n\tonRootViewLayout( event ) {\n\t\tif ( this._isMounted ) {\n\t\t\tthis.setHeightState( event );\n\t\t}\n\t}\n\n\tsetHeightState( event ) {\n\t\tconst { height } = event.nativeEvent.layout;\n\t\tif ( height !== this.state.rootViewHeight ) {\n\t\t\tthis.setState(\n\t\t\t\t{ rootViewHeight: height },\n\t\t\t\tsendNativeEditorDidLayout\n\t\t\t);\n\t\t}\n\t}\n\n\trenderHTML() {\n\t\tconst { globalStyles } = this.props;\n\t\treturn (\n\t\t\t<HTMLTextInput\n\t\t\t\tparentHeight={ this.state.rootViewHeight }\n\t\t\t\tstyle={ globalStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderVisual() {\n\t\tconst { isReady } = this.props;\n\n\t\tif ( ! isReady ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <VisualEditor setTitleRef={ this.props.setTitleRef } />;\n\t}\n\n\trender() {\n\t\tconst { getStylesFromColorScheme, mode, globalStyles } = this.props;\n\n\t\tconst isHtmlView = mode === 'text';\n\n\t\t// Add a margin view at the bottom for the header.\n\t\tconst marginBottom =\n\t\t\tPlatform.OS === 'android' && ! isHtmlView\n\t\t\t\t? headerToolbarStyles.container.height\n\t\t\t\t: 0;\n\n\t\tconst toolbarKeyboardAvoidingViewStyle = {\n\t\t\t...styles.toolbarKeyboardAvoidingView,\n\t\t\tleft: this.state.safeAreaInsets.left,\n\t\t\tright: this.state.safeAreaInsets.right,\n\t\t\tbottom: this.state.safeAreaInsets.bottom,\n\t\t};\n\n\t\tconst editorStyles = [\n\t\t\tgetStylesFromColorScheme(\n\t\t\t\tstyles.background,\n\t\t\t\tstyles.backgroundDark\n\t\t\t),\n\t\t\tglobalStyles?.background && {\n\t\t\t\tbackgroundColor: globalStyles.background,\n\t\t\t},\n\t\t];\n\n\t\treturn (\n\t\t\t<Tooltip.Slot>\n\t\t\t\t<SafeAreaView\n\t\t\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\t\t\tstyles.container,\n\t\t\t\t\t\tstyles.containerDark\n\t\t\t\t\t) }\n\t\t\t\t\tonLayout={ this.onRootViewLayout }\n\t\t\t\t>\n\t\t\t\t\t<AutosaveMonitor disableIntervalChecks />\n\t\t\t\t\t<View style={ editorStyles }>\n\t\t\t\t\t\t{ isHtmlView ? this.renderHTML() : this.renderVisual() }\n\t\t\t\t\t\t{ ! isHtmlView && Platform.OS === 'android' && (\n\t\t\t\t\t\t\t<FloatingToolbar />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NoticeList />\n\t\t\t\t\t</View>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tflex: 0,\n\t\t\t\t\t\t\tflexBasis: marginBottom,\n\t\t\t\t\t\t\theight: marginBottom,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isHtmlView && (\n\t\t\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\t\t\tparentHeight={ this.state.rootViewHeight }\n\t\t\t\t\t\t\tstyle={ toolbarKeyboardAvoidingViewStyle }\n\t\t\t\t\t\t\twithAnimatedHeight\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ Platform.OS === 'ios' && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<AutocompletionItemsSlot />\n\t\t\t\t\t\t\t\t\t<FloatingToolbar />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<Header />\n\t\t\t\t\t\t\t<BottomSheetSettings />\n\t\t\t\t\t\t</KeyboardAvoidingView>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.OS === 'android' && <AutocompletionItemsSlot /> }\n\t\t\t\t</SafeAreaView>\n\t\t\t</Tooltip.Slot>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { __unstableIsEditorReady: isEditorReady } = select(\n\t\t\teditorStore\n\t\t);\n\t\tconst { getEditorMode } = select( editPostStore );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst globalStyles = getSettings()?.__experimentalGlobalStylesBaseStyles\n\t\t\t?.color;\n\n\t\treturn {\n\t\t\tisReady: isEditorReady(),\n\t\t\tmode: getEditorMode(),\n\t\t\tglobalStyles,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( Layout );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/layout/index.native.js"],"names":["Platform","SafeAreaView","View","SafeArea","Component","withSelect","BottomSheetSettings","FloatingToolbar","store","blockEditorStore","compose","withPreferredColorScheme","HTMLTextInput","KeyboardAvoidingView","NoticeList","Tooltip","__unstableAutocompletionItemsSlot","AutocompletionItemsSlot","AutosaveMonitor","editorStore","sendNativeEditorDidLayout","styles","headerToolbarStyles","Header","VisualEditor","editPostStore","Layout","constructor","arguments","onSafeAreaInsetsUpdate","bind","onRootViewLayout","state","rootViewHeight","safeAreaInsets","top","bottom","right","left","getSafeAreaInsetsForRootView","then","componentDidMount","_isMounted","safeAreaSubscription","addEventListener","componentWillUnmount","remove","result","setState","event","setHeightState","height","nativeEvent","layout","renderHTML","globalStyles","props","renderVisual","isReady","setTitleRef","render","getStylesFromColorScheme","mode","isHtmlView","marginBottom","OS","containerStyles","container","containerDark","toolbarKeyboardAvoidingViewStyle","toolbarKeyboardAvoidingView","backgroundColor","editorStyles","background","backgroundDark","flex","flexBasis","select","__unstableIsEditorReady","isEditorReady","getEditorMode","getSettings","__experimentalGlobalStylesBaseStyles","color"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, SafeAreaView, View } from 'react-native';\nimport SafeArea from 'react-native-safe-area';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport {\n\tBottomSheetSettings,\n\tFloatingToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport {\n\tHTMLTextInput,\n\tKeyboardAvoidingView,\n\tNoticeList,\n\tTooltip,\n\t__unstableAutocompletionItemsSlot as AutocompletionItemsSlot,\n} from '@wordpress/components';\nimport { AutosaveMonitor, store as editorStore } from '@wordpress/editor';\nimport { sendNativeEditorDidLayout } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport headerToolbarStyles from '../header/header-toolbar/style.scss';\nimport Header from '../header';\nimport VisualEditor from '../visual-editor';\nimport { store as editPostStore } from '../../store';\n\nclass Layout extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSafeAreaInsetsUpdate = this.onSafeAreaInsetsUpdate.bind( this );\n\t\tthis.onRootViewLayout = this.onRootViewLayout.bind( this );\n\n\t\tthis.state = {\n\t\t\trootViewHeight: 0,\n\t\t\tsafeAreaInsets: { top: 0, bottom: 0, right: 0, left: 0 },\n\t\t};\n\n\t\tSafeArea.getSafeAreaInsetsForRootView().then(\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis._isMounted = true;\n\t\tthis.safeAreaSubscription = SafeArea.addEventListener(\n\t\t\t'safeAreaInsetsForRootViewDidChange',\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.safeAreaSubscription?.remove();\n\t\tthis._isMounted = false;\n\t}\n\n\tonSafeAreaInsetsUpdate( result ) {\n\t\tconst { safeAreaInsets } = result;\n\t\tif ( this._isMounted ) {\n\t\t\tthis.setState( { safeAreaInsets } );\n\t\t}\n\t}\n\n\tonRootViewLayout( event ) {\n\t\tif ( this._isMounted ) {\n\t\t\tthis.setHeightState( event );\n\t\t}\n\t}\n\n\tsetHeightState( event ) {\n\t\tconst { height } = event.nativeEvent.layout;\n\t\tif ( height !== this.state.rootViewHeight ) {\n\t\t\tthis.setState(\n\t\t\t\t{ rootViewHeight: height },\n\t\t\t\tsendNativeEditorDidLayout\n\t\t\t);\n\t\t}\n\t}\n\n\trenderHTML() {\n\t\tconst { globalStyles } = this.props;\n\t\treturn (\n\t\t\t<HTMLTextInput\n\t\t\t\tparentHeight={ this.state.rootViewHeight }\n\t\t\t\tstyle={ globalStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderVisual() {\n\t\tconst { isReady } = this.props;\n\n\t\tif ( ! isReady ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <VisualEditor setTitleRef={ this.props.setTitleRef } />;\n\t}\n\n\trender() {\n\t\tconst { getStylesFromColorScheme, mode, globalStyles } = this.props;\n\n\t\tconst isHtmlView = mode === 'text';\n\n\t\t// Add a margin view at the bottom for the header.\n\t\tconst marginBottom =\n\t\t\tPlatform.OS === 'android' && ! isHtmlView\n\t\t\t\t? headerToolbarStyles[ 'header-toolbar__container' ].height\n\t\t\t\t: 0;\n\n\t\tconst containerStyles = getStylesFromColorScheme(\n\t\t\tstyles.container,\n\t\t\tstyles.containerDark\n\t\t);\n\n\t\tconst toolbarKeyboardAvoidingViewStyle = {\n\t\t\t...styles.toolbarKeyboardAvoidingView,\n\t\t\tleft: this.state.safeAreaInsets.left,\n\t\t\tright: this.state.safeAreaInsets.right,\n\t\t\tbottom: this.state.safeAreaInsets.bottom,\n\t\t\tbackgroundColor: containerStyles.backgroundColor,\n\t\t};\n\n\t\tconst editorStyles = [\n\t\t\tgetStylesFromColorScheme(\n\t\t\t\tstyles.background,\n\t\t\t\tstyles.backgroundDark\n\t\t\t),\n\t\t\tglobalStyles?.background && {\n\t\t\t\tbackgroundColor: globalStyles.background,\n\t\t\t},\n\t\t];\n\n\t\treturn (\n\t\t\t<Tooltip.Slot>\n\t\t\t\t<SafeAreaView\n\t\t\t\t\tstyle={ containerStyles }\n\t\t\t\t\tonLayout={ this.onRootViewLayout }\n\t\t\t\t>\n\t\t\t\t\t<AutosaveMonitor disableIntervalChecks />\n\t\t\t\t\t<View style={ editorStyles }>\n\t\t\t\t\t\t{ isHtmlView ? this.renderHTML() : this.renderVisual() }\n\t\t\t\t\t\t{ ! isHtmlView && Platform.OS === 'android' && (\n\t\t\t\t\t\t\t<FloatingToolbar />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NoticeList />\n\t\t\t\t\t</View>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tflex: 0,\n\t\t\t\t\t\t\tflexBasis: marginBottom,\n\t\t\t\t\t\t\theight: marginBottom,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isHtmlView && (\n\t\t\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\t\t\tparentHeight={ this.state.rootViewHeight }\n\t\t\t\t\t\t\tstyle={ toolbarKeyboardAvoidingViewStyle }\n\t\t\t\t\t\t\twithAnimatedHeight\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ Platform.OS === 'ios' && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<AutocompletionItemsSlot />\n\t\t\t\t\t\t\t\t\t<FloatingToolbar />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<Header />\n\t\t\t\t\t\t\t<BottomSheetSettings />\n\t\t\t\t\t\t</KeyboardAvoidingView>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.OS === 'android' && <AutocompletionItemsSlot /> }\n\t\t\t\t</SafeAreaView>\n\t\t\t</Tooltip.Slot>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { __unstableIsEditorReady: isEditorReady } = select(\n\t\t\teditorStore\n\t\t);\n\t\tconst { getEditorMode } = select( editPostStore );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst globalStyles = getSettings()?.__experimentalGlobalStylesBaseStyles\n\t\t\t?.color;\n\n\t\treturn {\n\t\t\tisReady: isEditorReady(),\n\t\t\tmode: getEditorMode(),\n\t\t\tglobalStyles,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( Layout );\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/plugin-document-setting-panel/index.js"],"names":["createSlotFill","PanelBody","compose","withPluginContext","withDispatch","withSelect","warning","EnablePluginDocumentSettingPanelOption","store","editPostStore","Fill","Slot","PluginDocumentSettingFill","isEnabled","panelName","opened","onToggle","className","title","icon","children","PluginDocumentSettingPanel","context","ownProps","undefined","name","select","isEditorPanelOpened","isEditorPanelEnabled","dispatch","toggleEditorPanelOpened"],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAASA,cAAT,EAAyBC,SAAzB,QAA0C,uBAA1C;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,iBAAT,QAAkC,oBAAlC;AACA,SAASC,YAAT,EAAuBC,UAAvB,QAAyC,iBAAzC;AACA,OAAOC,OAAP,MAAoB,oBAApB;AAEA;AACA;AACA;;AACA,SAASC,sCAAT,QAAuD,iCAAvD;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,gBAAvC;AAEA,OAAO,MAAM;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IAAiBX,cAAc,CAAE,4BAAF,CAArC;;AAEP,MAAMY,yBAAyB,GAAG,QAS3B;AAAA,MAT6B;AACnCC,IAAAA,SADmC;AAEnCC,IAAAA,SAFmC;AAGnCC,IAAAA,MAHmC;AAInCC,IAAAA,QAJmC;AAKnCC,IAAAA,SALmC;AAMnCC,IAAAA,KANmC;AAOnCC,IAAAA,IAPmC;AAQnCC,IAAAA;AARmC,GAS7B;AACN,SACC,8BACC,cAAC,sCAAD;AACC,IAAA,KAAK,EAAGF,KADT;AAEC,IAAA,SAAS,EAAGJ;AAFb,IADD,EAKC,cAAC,IAAD,QACGD,SAAS,IACV,cAAC,SAAD;AACC,IAAA,SAAS,EAAGI,SADb;AAEC,IAAA,KAAK,EAAGC,KAFT;AAGC,IAAA,IAAI,EAAGC,IAHR;AAIC,IAAA,MAAM,EAAGJ,MAJV;AAKC,IAAA,QAAQ,EAAGC;AALZ,KAOGI,QAPH,CAFF,CALD,CADD;AAqBA,CA/BD;AAiCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,0BAA0B,GAAGnB,OAAO,CACzCC,iBAAiB,CAAE,CAAEmB,OAAF,EAAWC,QAAX,KAAyB;AAC3C,MAAKC,SAAS,KAAKD,QAAQ,CAACE,IAA5B,EAAmC;AAClC,6FAAAnB,OAAO,CAAE,sDAAF,CAAP;AACA;;AACD,SAAO;
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/plugin-document-setting-panel/index.js"],"names":["createSlotFill","PanelBody","compose","withPluginContext","withDispatch","withSelect","warning","EnablePluginDocumentSettingPanelOption","store","editPostStore","Fill","Slot","PluginDocumentSettingFill","isEnabled","panelName","opened","onToggle","className","title","icon","children","PluginDocumentSettingPanel","context","ownProps","undefined","name","select","isEditorPanelOpened","isEditorPanelEnabled","dispatch","toggleEditorPanelOpened"],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAASA,cAAT,EAAyBC,SAAzB,QAA0C,uBAA1C;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,iBAAT,QAAkC,oBAAlC;AACA,SAASC,YAAT,EAAuBC,UAAvB,QAAyC,iBAAzC;AACA,OAAOC,OAAP,MAAoB,oBAApB;AAEA;AACA;AACA;;AACA,SAASC,sCAAT,QAAuD,iCAAvD;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,gBAAvC;AAEA,OAAO,MAAM;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IAAiBX,cAAc,CAAE,4BAAF,CAArC;;AAEP,MAAMY,yBAAyB,GAAG,QAS3B;AAAA,MAT6B;AACnCC,IAAAA,SADmC;AAEnCC,IAAAA,SAFmC;AAGnCC,IAAAA,MAHmC;AAInCC,IAAAA,QAJmC;AAKnCC,IAAAA,SALmC;AAMnCC,IAAAA,KANmC;AAOnCC,IAAAA,IAPmC;AAQnCC,IAAAA;AARmC,GAS7B;AACN,SACC,8BACC,cAAC,sCAAD;AACC,IAAA,KAAK,EAAGF,KADT;AAEC,IAAA,SAAS,EAAGJ;AAFb,IADD,EAKC,cAAC,IAAD,QACGD,SAAS,IACV,cAAC,SAAD;AACC,IAAA,SAAS,EAAGI,SADb;AAEC,IAAA,KAAK,EAAGC,KAFT;AAGC,IAAA,IAAI,EAAGC,IAHR;AAIC,IAAA,MAAM,EAAGJ,MAJV;AAKC,IAAA,QAAQ,EAAGC;AALZ,KAOGI,QAPH,CAFF,CALD,CADD;AAqBA,CA/BD;AAiCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,0BAA0B,GAAGnB,OAAO,CACzCC,iBAAiB,CAAE,CAAEmB,OAAF,EAAWC,QAAX,KAAyB;AAC3C,MAAKC,SAAS,KAAKD,QAAQ,CAACE,IAA5B,EAAmC;AAClC,6FAAAnB,OAAO,CAAE,sDAAF,CAAP;AACA;;AACD,SAAO;AACNQ,IAAAA,SAAS,EAAG,GAAGQ,OAAO,CAACG,IAAM,IAAIF,QAAQ,CAACE,IAAM;AAD1C,GAAP;AAGA,CAPgB,CADwB,EASzCpB,UAAU,CAAE,CAAEqB,MAAF,YAA6B;AAAA,MAAnB;AAAEZ,IAAAA;AAAF,GAAmB;AACxC,SAAO;AACNC,IAAAA,MAAM,EAAEW,MAAM,CAAEjB,aAAF,CAAN,CAAwBkB,mBAAxB,CAA6Cb,SAA7C,CADF;AAEND,IAAAA,SAAS,EAAEa,MAAM,CAAEjB,aAAF,CAAN,CAAwBmB,oBAAxB,CACVd,SADU;AAFL,GAAP;AAMA,CAPS,CAT+B,EAiBzCV,YAAY,CAAE,CAAEyB,QAAF;AAAA,MAAY;AAAEf,IAAAA;AAAF,GAAZ;AAAA,SAAiC;AAC9CE,IAAAA,QAAQ,GAAG;AACV,aAAOa,QAAQ,CAAEpB,aAAF,CAAR,CAA0BqB,uBAA1B,CACNhB,SADM,CAAP;AAGA;;AAL6C,GAAjC;AAAA,CAAF,CAjB6B,CAAP,CAwBhCF,yBAxBgC,CAAnC;AA0BAS,0BAA0B,CAACV,IAA3B,GAAkCA,IAAlC;AAEA,eAAeU,0BAAf","sourcesContent":["/**\n * Defines as extensibility slot for the Settings sidebar\n */\n\n/**\n * WordPress dependencies\n */\nimport { createSlotFill, PanelBody } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { withPluginContext } from '@wordpress/plugins';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport { EnablePluginDocumentSettingPanelOption } from '../../preferences-modal/options';\nimport { store as editPostStore } from '../../../store';\n\nexport const { Fill, Slot } = createSlotFill( 'PluginDocumentSettingPanel' );\n\nconst PluginDocumentSettingFill = ( {\n\tisEnabled,\n\tpanelName,\n\topened,\n\tonToggle,\n\tclassName,\n\ttitle,\n\ticon,\n\tchildren,\n} ) => {\n\treturn (\n\t\t<>\n\t\t\t<EnablePluginDocumentSettingPanelOption\n\t\t\t\tlabel={ title }\n\t\t\t\tpanelName={ panelName }\n\t\t\t/>\n\t\t\t<Fill>\n\t\t\t\t{ isEnabled && (\n\t\t\t\t\t<PanelBody\n\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\topened={ opened }\n\t\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</Fill>\n\t\t</>\n\t);\n};\n\n/**\n * Renders items below the Status & Availability panel in the Document Sidebar.\n *\n * @param {Object} props Component properties.\n * @param {string} [props.name] The machine-friendly name for the panel.\n * @param {string} [props.className] An optional class name added to the row.\n * @param {string} [props.title] The title of the panel\n * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered when the sidebar is pinned to toolbar.\n *\n * @example\n * ```js\n * // Using ES5 syntax\n * var el = wp.element.createElement;\n * var __ = wp.i18n.__;\n * var registerPlugin = wp.plugins.registerPlugin;\n * var PluginDocumentSettingPanel = wp.editPost.PluginDocumentSettingPanel;\n *\n * function MyDocumentSettingPlugin() {\n * \treturn el(\n * \t\tPluginDocumentSettingPanel,\n * \t\t{\n * \t\t\tclassName: 'my-document-setting-plugin',\n * \t\t\ttitle: 'My Panel',\n * \t\t},\n * \t\t__( 'My Document Setting Panel' )\n * \t);\n * }\n *\n * registerPlugin( 'my-document-setting-plugin', {\n * \t\trender: MyDocumentSettingPlugin\n * } );\n * ```\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { registerPlugin } from '@wordpress/plugins';\n * import { PluginDocumentSettingPanel } from '@wordpress/edit-post';\n *\n * const MyDocumentSettingTest = () => (\n * \t\t<PluginDocumentSettingPanel className=\"my-document-setting-plugin\" title=\"My Panel\">\n *\t\t\t<p>My Document Setting Panel</p>\n *\t\t</PluginDocumentSettingPanel>\n *\t);\n *\n * registerPlugin( 'document-setting-test', { render: MyDocumentSettingTest } );\n * ```\n *\n * @return {WPComponent} The component to be rendered.\n */\nconst PluginDocumentSettingPanel = compose(\n\twithPluginContext( ( context, ownProps ) => {\n\t\tif ( undefined === ownProps.name ) {\n\t\t\twarning( 'PluginDocumentSettingPanel requires a name property.' );\n\t\t}\n\t\treturn {\n\t\t\tpanelName: `${ context.name }/${ ownProps.name }`,\n\t\t};\n\t} ),\n\twithSelect( ( select, { panelName } ) => {\n\t\treturn {\n\t\t\topened: select( editPostStore ).isEditorPanelOpened( panelName ),\n\t\t\tisEnabled: select( editPostStore ).isEditorPanelEnabled(\n\t\t\t\tpanelName\n\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { panelName } ) => ( {\n\t\tonToggle() {\n\t\t\treturn dispatch( editPostStore ).toggleEditorPanelOpened(\n\t\t\t\tpanelName\n\t\t\t);\n\t\t},\n\t} ) )\n)( PluginDocumentSettingFill );\n\nPluginDocumentSettingPanel.Slot = Slot;\n\nexport default PluginDocumentSettingPanel;\n"]}
|
|
@@ -10,7 +10,7 @@ import classnames from 'classnames';
|
|
|
10
10
|
|
|
11
11
|
import { VisualEditorGlobalKeyboardShortcuts, PostTitle, store as editorStore } from '@wordpress/editor';
|
|
12
12
|
import { WritingFlow, BlockList, BlockTools, store as blockEditorStore, __unstableUseBlockSelectionClearer as useBlockSelectionClearer, __unstableUseTypewriter as useTypewriter, __unstableUseClipboardHandler as useClipboardHandler, __unstableUseTypingObserver as useTypingObserver, __unstableBlockSettingsMenuFirstItem, __experimentalUseResizeCanvas as useResizeCanvas, __unstableEditorStyles as EditorStyles, useSetting, __experimentalLayoutStyle as LayoutStyle, __unstableUseMouseMoveTypingReset as useMouseMoveTypingReset, __unstableIframe as Iframe, __experimentalUseNoRecursiveRenders as useNoRecursiveRenders } from '@wordpress/block-editor';
|
|
13
|
-
import { useRef, useMemo } from '@wordpress/element';
|
|
13
|
+
import { useEffect, useRef, useMemo } from '@wordpress/element';
|
|
14
14
|
import { Button, __unstableMotion as motion } from '@wordpress/components';
|
|
15
15
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
16
16
|
import { useMergeRefs } from '@wordpress/compose';
|
|
@@ -70,11 +70,13 @@ export default function VisualEditor(_ref2) {
|
|
|
70
70
|
} = _ref2;
|
|
71
71
|
const {
|
|
72
72
|
deviceType,
|
|
73
|
+
isWelcomeGuideVisible,
|
|
73
74
|
isTemplateMode,
|
|
74
75
|
wrapperBlockName,
|
|
75
76
|
wrapperUniqueId
|
|
76
77
|
} = useSelect(select => {
|
|
77
78
|
const {
|
|
79
|
+
isFeatureActive,
|
|
78
80
|
isEditingTemplate,
|
|
79
81
|
__experimentalGetPreviewDeviceType
|
|
80
82
|
} = select(editPostStore);
|
|
@@ -95,11 +97,15 @@ export default function VisualEditor(_ref2) {
|
|
|
95
97
|
|
|
96
98
|
return {
|
|
97
99
|
deviceType: __experimentalGetPreviewDeviceType(),
|
|
100
|
+
isWelcomeGuideVisible: isFeatureActive('welcomeGuide'),
|
|
98
101
|
isTemplateMode: _isTemplateMode,
|
|
99
102
|
wrapperBlockName: _wrapperBlockName,
|
|
100
103
|
wrapperUniqueId: getCurrentPostId()
|
|
101
104
|
};
|
|
102
105
|
}, []);
|
|
106
|
+
const {
|
|
107
|
+
isCleanNewPost
|
|
108
|
+
} = useSelect(editorStore);
|
|
103
109
|
const hasMetaBoxes = useSelect(select => select(editPostStore).hasMetaBoxes(), []);
|
|
104
110
|
const {
|
|
105
111
|
themeSupportsLayout,
|
|
@@ -166,6 +172,16 @@ export default function VisualEditor(_ref2) {
|
|
|
166
172
|
|
|
167
173
|
return undefined;
|
|
168
174
|
}, [isTemplateMode, themeSupportsLayout, defaultLayout]);
|
|
175
|
+
const titleRef = useRef();
|
|
176
|
+
useEffect(() => {
|
|
177
|
+
var _titleRef$current;
|
|
178
|
+
|
|
179
|
+
if (isWelcomeGuideVisible || !isCleanNewPost()) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
titleRef === null || titleRef === void 0 ? void 0 : (_titleRef$current = titleRef.current) === null || _titleRef$current === void 0 ? void 0 : _titleRef$current.focus();
|
|
184
|
+
}, [isWelcomeGuideVisible, isCleanNewPost]);
|
|
169
185
|
return createElement(BlockTools, {
|
|
170
186
|
__unstableContentRef: ref,
|
|
171
187
|
className: classnames('edit-post-visual-editor', {
|
|
@@ -202,7 +218,9 @@ export default function VisualEditor(_ref2) {
|
|
|
202
218
|
}), !isTemplateMode && createElement("div", {
|
|
203
219
|
className: "edit-post-visual-editor__post-title-wrapper",
|
|
204
220
|
contentEditable: false
|
|
205
|
-
}, createElement(PostTitle,
|
|
221
|
+
}, createElement(PostTitle, {
|
|
222
|
+
ref: titleRef
|
|
223
|
+
})), createElement(RecursionProvider, null, createElement(BlockList, {
|
|
206
224
|
className: isTemplateMode ? 'wp-site-blocks' : undefined,
|
|
207
225
|
__experimentalLayout: layout
|
|
208
226
|
}))))), createElement(__unstableBlockSettingsMenuFirstItem, null, _ref3 => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["classnames","VisualEditorGlobalKeyboardShortcuts","PostTitle","store","editorStore","WritingFlow","BlockList","BlockTools","blockEditorStore","__unstableUseBlockSelectionClearer","useBlockSelectionClearer","__unstableUseTypewriter","useTypewriter","__unstableUseClipboardHandler","useClipboardHandler","__unstableUseTypingObserver","useTypingObserver","__unstableBlockSettingsMenuFirstItem","__experimentalUseResizeCanvas","useResizeCanvas","__unstableEditorStyles","EditorStyles","useSetting","__experimentalLayoutStyle","LayoutStyle","__unstableUseMouseMoveTypingReset","useMouseMoveTypingReset","__unstableIframe","Iframe","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","useRef","useMemo","Button","__unstableMotion","motion","useSelect","useDispatch","useMergeRefs","arrowLeft","__","BlockInspectorButton","editPostStore","MaybeIframe","children","contentRef","shouldIframe","styles","assets","style","ref","flex","width","height","display","VisualEditor","deviceType","isTemplateMode","wrapperBlockName","wrapperUniqueId","select","isEditingTemplate","__experimentalGetPreviewDeviceType","getCurrentPostId","getCurrentPostType","_isTemplateMode","_wrapperBlockName","hasMetaBoxes","themeSupportsLayout","_settings","getSettings","supportsLayout","__unstableResolvedAssets","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","defaultLayout","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","RecursionProvider","layout","type","undefined","padding","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n} from '@wordpress/block-editor';\nimport { useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport { store as editPostStore } from '../../store';\n\nfunction MaybeIframe( {\n\tchildren,\n\tcontentRef,\n\tshouldIframe,\n\tstyles,\n\tassets,\n\tstyle,\n} ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\thead={ <EditorStyles styles={ styles } /> }\n\t\t\tassets={ assets }\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisTemplateMode,\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditingTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst { themeSupportsLayout, assets } = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\tassets: _settings.__unstableResolvedAssets,\n\t\t};\n\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst defaultLayout = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\tconst [ , RecursionProvider ] = useNoRecursiveRenders(\n\t\twrapperUniqueId,\n\t\twrapperBlockName\n\t);\n\n\tconst layout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\treturn defaultLayout;\n\t\t}\n\n\t\treturn undefined;\n\t}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : '0',\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tassets={ assets }\n\t\t\t\t\t\tstyle={ { paddingBottom } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout && ! isTemplateMode && (\n\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\tlayout={ defaultLayout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-post-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ layout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</BlockTools>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["classnames","VisualEditorGlobalKeyboardShortcuts","PostTitle","store","editorStore","WritingFlow","BlockList","BlockTools","blockEditorStore","__unstableUseBlockSelectionClearer","useBlockSelectionClearer","__unstableUseTypewriter","useTypewriter","__unstableUseClipboardHandler","useClipboardHandler","__unstableUseTypingObserver","useTypingObserver","__unstableBlockSettingsMenuFirstItem","__experimentalUseResizeCanvas","useResizeCanvas","__unstableEditorStyles","EditorStyles","useSetting","__experimentalLayoutStyle","LayoutStyle","__unstableUseMouseMoveTypingReset","useMouseMoveTypingReset","__unstableIframe","Iframe","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","useEffect","useRef","useMemo","Button","__unstableMotion","motion","useSelect","useDispatch","useMergeRefs","arrowLeft","__","BlockInspectorButton","editPostStore","MaybeIframe","children","contentRef","shouldIframe","styles","assets","style","ref","flex","width","height","display","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","wrapperBlockName","wrapperUniqueId","select","isFeatureActive","isEditingTemplate","__experimentalGetPreviewDeviceType","getCurrentPostId","getCurrentPostType","_isTemplateMode","_wrapperBlockName","isCleanNewPost","hasMetaBoxes","themeSupportsLayout","_settings","getSettings","supportsLayout","__unstableResolvedAssets","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","defaultLayout","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","RecursionProvider","layout","type","undefined","titleRef","current","focus","padding","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport { store as editPostStore } from '../../store';\n\nfunction MaybeIframe( {\n\tchildren,\n\tcontentRef,\n\tshouldIframe,\n\tstyles,\n\tassets,\n\tstyle,\n} ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\thead={ <EditorStyles styles={ styles } /> }\n\t\t\tassets={ assets }\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst { themeSupportsLayout, assets } = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\tassets: _settings.__unstableResolvedAssets,\n\t\t};\n\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst defaultLayout = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\tconst [ , RecursionProvider ] = useNoRecursiveRenders(\n\t\twrapperUniqueId,\n\t\twrapperBlockName\n\t);\n\n\tconst layout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\treturn defaultLayout;\n\t\t}\n\n\t\treturn undefined;\n\t}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );\n\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : '0',\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tassets={ assets }\n\t\t\t\t\t\tstyle={ { paddingBottom } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout && ! isTemplateMode && (\n\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\tlayout={ defaultLayout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-post-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ layout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</BlockTools>\n\t);\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/edit-post",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.4.0",
|
|
4
4
|
"description": "Edit Post module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -27,31 +27,31 @@
|
|
|
27
27
|
"react-native": "src/index",
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@babel/runtime": "^7.16.0",
|
|
30
|
-
"@wordpress/a11y": "^3.
|
|
31
|
-
"@wordpress/api-fetch": "^6.
|
|
32
|
-
"@wordpress/block-editor": "^8.
|
|
33
|
-
"@wordpress/block-library": "^7.
|
|
34
|
-
"@wordpress/blocks": "^11.
|
|
35
|
-
"@wordpress/components": "^19.
|
|
36
|
-
"@wordpress/compose": "^5.
|
|
37
|
-
"@wordpress/core-data": "^4.
|
|
38
|
-
"@wordpress/data": "^6.
|
|
39
|
-
"@wordpress/deprecated": "^3.
|
|
40
|
-
"@wordpress/editor": "^12.
|
|
41
|
-
"@wordpress/element": "^4.
|
|
42
|
-
"@wordpress/hooks": "^3.
|
|
43
|
-
"@wordpress/i18n": "^4.
|
|
44
|
-
"@wordpress/icons": "^8.
|
|
45
|
-
"@wordpress/interface": "^4.
|
|
46
|
-
"@wordpress/keyboard-shortcuts": "^3.
|
|
47
|
-
"@wordpress/keycodes": "^3.
|
|
48
|
-
"@wordpress/media-utils": "^3.
|
|
49
|
-
"@wordpress/notices": "^3.
|
|
50
|
-
"@wordpress/plugins": "^4.
|
|
51
|
-
"@wordpress/preferences": "^1.
|
|
52
|
-
"@wordpress/url": "^3.
|
|
53
|
-
"@wordpress/viewport": "^4.
|
|
54
|
-
"@wordpress/warning": "^2.
|
|
30
|
+
"@wordpress/a11y": "^3.7.0",
|
|
31
|
+
"@wordpress/api-fetch": "^6.4.0",
|
|
32
|
+
"@wordpress/block-editor": "^8.6.0",
|
|
33
|
+
"@wordpress/block-library": "^7.4.0",
|
|
34
|
+
"@wordpress/blocks": "^11.6.0",
|
|
35
|
+
"@wordpress/components": "^19.9.0",
|
|
36
|
+
"@wordpress/compose": "^5.5.0",
|
|
37
|
+
"@wordpress/core-data": "^4.5.0",
|
|
38
|
+
"@wordpress/data": "^6.7.0",
|
|
39
|
+
"@wordpress/deprecated": "^3.7.0",
|
|
40
|
+
"@wordpress/editor": "^12.6.0",
|
|
41
|
+
"@wordpress/element": "^4.5.0",
|
|
42
|
+
"@wordpress/hooks": "^3.7.0",
|
|
43
|
+
"@wordpress/i18n": "^4.7.0",
|
|
44
|
+
"@wordpress/icons": "^8.3.0",
|
|
45
|
+
"@wordpress/interface": "^4.6.0",
|
|
46
|
+
"@wordpress/keyboard-shortcuts": "^3.5.0",
|
|
47
|
+
"@wordpress/keycodes": "^3.7.0",
|
|
48
|
+
"@wordpress/media-utils": "^3.5.0",
|
|
49
|
+
"@wordpress/notices": "^3.7.0",
|
|
50
|
+
"@wordpress/plugins": "^4.5.0",
|
|
51
|
+
"@wordpress/preferences": "^1.3.0",
|
|
52
|
+
"@wordpress/url": "^3.8.0",
|
|
53
|
+
"@wordpress/viewport": "^4.5.0",
|
|
54
|
+
"@wordpress/warning": "^2.7.0",
|
|
55
55
|
"classnames": "^2.3.1",
|
|
56
56
|
"lodash": "^4.17.21",
|
|
57
57
|
"memize": "^1.1.0",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"access": "public"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "1ba52312b56db563df2d8d4fba5b00613fb46d8c"
|
|
68
68
|
}
|
|
@@ -6,7 +6,7 @@ import { Platform, ScrollView, View } from 'react-native';
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
-
import { useRef } from '@wordpress/element';
|
|
9
|
+
import { useCallback, useRef, useState } from '@wordpress/element';
|
|
10
10
|
import { compose, withPreferredColorScheme } from '@wordpress/compose';
|
|
11
11
|
import { withSelect, withDispatch } from '@wordpress/data';
|
|
12
12
|
import { withViewportMatch } from '@wordpress/viewport';
|
|
@@ -40,7 +40,11 @@ function HeaderToolbar( {
|
|
|
40
40
|
getStylesFromColorScheme,
|
|
41
41
|
onHideKeyboard,
|
|
42
42
|
isRTL,
|
|
43
|
+
noContentSelected,
|
|
43
44
|
} ) {
|
|
45
|
+
const wasNoContentSelected = useRef( noContentSelected );
|
|
46
|
+
const [ isInserterOpen, setIsInserterOpen ] = useState( false );
|
|
47
|
+
|
|
44
48
|
const scrollViewRef = useRef( null );
|
|
45
49
|
const scrollToStart = () => {
|
|
46
50
|
// scrollview doesn't seem to automatically adjust to RTL on Android so, scroll to end when Android
|
|
@@ -79,12 +83,32 @@ function HeaderToolbar( {
|
|
|
79
83
|
return isRTL ? buttons.reverse() : buttons;
|
|
80
84
|
};
|
|
81
85
|
|
|
86
|
+
const onToggleInserter = useCallback(
|
|
87
|
+
( isOpen ) => {
|
|
88
|
+
if ( isOpen ) {
|
|
89
|
+
wasNoContentSelected.current = noContentSelected;
|
|
90
|
+
}
|
|
91
|
+
setIsInserterOpen( isOpen );
|
|
92
|
+
},
|
|
93
|
+
[ noContentSelected ]
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
// Expanded mode should be preserved while the inserter is open.
|
|
97
|
+
// This way we prevent style updates during the opening transition.
|
|
98
|
+
const useExpandedMode = isInserterOpen
|
|
99
|
+
? wasNoContentSelected.current
|
|
100
|
+
: noContentSelected;
|
|
101
|
+
|
|
82
102
|
return (
|
|
83
103
|
<View
|
|
84
|
-
style={
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
104
|
+
style={ [
|
|
105
|
+
getStylesFromColorScheme(
|
|
106
|
+
styles[ 'header-toolbar__container' ],
|
|
107
|
+
styles[ 'header-toolbar__container--dark' ]
|
|
108
|
+
),
|
|
109
|
+
useExpandedMode &&
|
|
110
|
+
styles[ 'header-toolbar__container--expanded' ],
|
|
111
|
+
] }
|
|
88
112
|
>
|
|
89
113
|
<ScrollView
|
|
90
114
|
ref={ scrollViewRef }
|
|
@@ -93,14 +117,24 @@ function HeaderToolbar( {
|
|
|
93
117
|
showsHorizontalScrollIndicator={ false }
|
|
94
118
|
keyboardShouldPersistTaps="always"
|
|
95
119
|
alwaysBounceHorizontal={ false }
|
|
96
|
-
contentContainerStyle={
|
|
120
|
+
contentContainerStyle={
|
|
121
|
+
styles[ 'header-toolbar__scrollable-content' ]
|
|
122
|
+
}
|
|
97
123
|
>
|
|
98
|
-
<Inserter
|
|
124
|
+
<Inserter
|
|
125
|
+
disabled={ ! showInserter }
|
|
126
|
+
useExpandedMode={ useExpandedMode }
|
|
127
|
+
onToggle={ onToggleInserter }
|
|
128
|
+
/>
|
|
99
129
|
{ renderHistoryButtons() }
|
|
100
130
|
<BlockToolbar />
|
|
101
131
|
</ScrollView>
|
|
102
132
|
{ showKeyboardHideButton && (
|
|
103
|
-
<ToolbarGroup
|
|
133
|
+
<ToolbarGroup
|
|
134
|
+
passedStyle={
|
|
135
|
+
styles[ 'header-toolbar__keyboard-hide-container' ]
|
|
136
|
+
}
|
|
137
|
+
>
|
|
104
138
|
<ToolbarButton
|
|
105
139
|
title={ __( 'Hide keyboard' ) }
|
|
106
140
|
icon={ keyboardClose }
|
|
@@ -121,8 +155,10 @@ export default compose( [
|
|
|
121
155
|
getBlockRootClientId,
|
|
122
156
|
getBlockSelectionEnd,
|
|
123
157
|
hasInserterItems,
|
|
158
|
+
hasSelectedBlock,
|
|
124
159
|
} = select( blockEditorStore );
|
|
125
160
|
const { getEditorSettings } = select( editorStore );
|
|
161
|
+
const isAnyBlockSelected = hasSelectedBlock();
|
|
126
162
|
return {
|
|
127
163
|
hasRedo: select( editorStore ).hasEditorRedo(),
|
|
128
164
|
hasUndo: select( editorStore ).hasEditorUndo(),
|
|
@@ -136,6 +172,7 @@ export default compose( [
|
|
|
136
172
|
isTextModeEnabled:
|
|
137
173
|
select( editPostStore ).getEditorMode() === 'text',
|
|
138
174
|
isRTL: select( blockEditorStore ).getSettings().isRTL,
|
|
175
|
+
noContentSelected: ! isAnyBlockSelected,
|
|
139
176
|
};
|
|
140
177
|
} ),
|
|
141
178
|
withDispatch( ( dispatch ) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
.
|
|
2
|
+
.header-toolbar__container {
|
|
3
3
|
height: $mobile-header-toolbar-height;
|
|
4
4
|
flex-direction: row;
|
|
5
5
|
background-color: $app-background;
|
|
@@ -7,16 +7,20 @@
|
|
|
7
7
|
border-top-width: 1px;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
.
|
|
10
|
+
.header-toolbar__container--dark {
|
|
11
11
|
background-color: $app-background-dark-alt;
|
|
12
12
|
border-top-color: $background-dark-elevated;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
.
|
|
15
|
+
.header-toolbar__container--expanded {
|
|
16
|
+
height: $mobile-header-toolbar-expanded-height;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.header-toolbar__scrollable-content {
|
|
16
20
|
flex-grow: 1; // Fixes RTL issue on Android.
|
|
17
21
|
}
|
|
18
22
|
|
|
19
|
-
.
|
|
23
|
+
.header-toolbar__keyboard-hide-container {
|
|
20
24
|
padding-right: 0;
|
|
21
25
|
padding-left: 0;
|
|
22
26
|
padding-top: 4px;
|
|
@@ -115,14 +115,20 @@ class Layout extends Component {
|
|
|
115
115
|
// Add a margin view at the bottom for the header.
|
|
116
116
|
const marginBottom =
|
|
117
117
|
Platform.OS === 'android' && ! isHtmlView
|
|
118
|
-
? headerToolbarStyles.
|
|
118
|
+
? headerToolbarStyles[ 'header-toolbar__container' ].height
|
|
119
119
|
: 0;
|
|
120
120
|
|
|
121
|
+
const containerStyles = getStylesFromColorScheme(
|
|
122
|
+
styles.container,
|
|
123
|
+
styles.containerDark
|
|
124
|
+
);
|
|
125
|
+
|
|
121
126
|
const toolbarKeyboardAvoidingViewStyle = {
|
|
122
127
|
...styles.toolbarKeyboardAvoidingView,
|
|
123
128
|
left: this.state.safeAreaInsets.left,
|
|
124
129
|
right: this.state.safeAreaInsets.right,
|
|
125
130
|
bottom: this.state.safeAreaInsets.bottom,
|
|
131
|
+
backgroundColor: containerStyles.backgroundColor,
|
|
126
132
|
};
|
|
127
133
|
|
|
128
134
|
const editorStyles = [
|
|
@@ -138,10 +144,7 @@ class Layout extends Component {
|
|
|
138
144
|
return (
|
|
139
145
|
<Tooltip.Slot>
|
|
140
146
|
<SafeAreaView
|
|
141
|
-
style={
|
|
142
|
-
styles.container,
|
|
143
|
-
styles.containerDark
|
|
144
|
-
) }
|
|
147
|
+
style={ containerStyles }
|
|
145
148
|
onLayout={ this.onRootViewLayout }
|
|
146
149
|
>
|
|
147
150
|
<AutosaveMonitor disableIntervalChecks />
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
__unstableIframe as Iframe,
|
|
30
30
|
__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,
|
|
31
31
|
} from '@wordpress/block-editor';
|
|
32
|
-
import { useRef, useMemo } from '@wordpress/element';
|
|
32
|
+
import { useEffect, useRef, useMemo } from '@wordpress/element';
|
|
33
33
|
import { Button, __unstableMotion as motion } from '@wordpress/components';
|
|
34
34
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
35
35
|
import { useMergeRefs } from '@wordpress/compose';
|
|
@@ -85,11 +85,13 @@ function MaybeIframe( {
|
|
|
85
85
|
export default function VisualEditor( { styles } ) {
|
|
86
86
|
const {
|
|
87
87
|
deviceType,
|
|
88
|
+
isWelcomeGuideVisible,
|
|
88
89
|
isTemplateMode,
|
|
89
90
|
wrapperBlockName,
|
|
90
91
|
wrapperUniqueId,
|
|
91
92
|
} = useSelect( ( select ) => {
|
|
92
93
|
const {
|
|
94
|
+
isFeatureActive,
|
|
93
95
|
isEditingTemplate,
|
|
94
96
|
__experimentalGetPreviewDeviceType,
|
|
95
97
|
} = select( editPostStore );
|
|
@@ -105,11 +107,13 @@ export default function VisualEditor( { styles } ) {
|
|
|
105
107
|
|
|
106
108
|
return {
|
|
107
109
|
deviceType: __experimentalGetPreviewDeviceType(),
|
|
110
|
+
isWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),
|
|
108
111
|
isTemplateMode: _isTemplateMode,
|
|
109
112
|
wrapperBlockName: _wrapperBlockName,
|
|
110
113
|
wrapperUniqueId: getCurrentPostId(),
|
|
111
114
|
};
|
|
112
115
|
}, [] );
|
|
116
|
+
const { isCleanNewPost } = useSelect( editorStore );
|
|
113
117
|
const hasMetaBoxes = useSelect(
|
|
114
118
|
( select ) => select( editPostStore ).hasMetaBoxes(),
|
|
115
119
|
[]
|
|
@@ -186,6 +190,14 @@ export default function VisualEditor( { styles } ) {
|
|
|
186
190
|
return undefined;
|
|
187
191
|
}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );
|
|
188
192
|
|
|
193
|
+
const titleRef = useRef();
|
|
194
|
+
useEffect( () => {
|
|
195
|
+
if ( isWelcomeGuideVisible || ! isCleanNewPost() ) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
titleRef?.current?.focus();
|
|
199
|
+
}, [ isWelcomeGuideVisible, isCleanNewPost ] );
|
|
200
|
+
|
|
189
201
|
return (
|
|
190
202
|
<BlockTools
|
|
191
203
|
__unstableContentRef={ ref }
|
|
@@ -240,7 +252,7 @@ export default function VisualEditor( { styles } ) {
|
|
|
240
252
|
className="edit-post-visual-editor__post-title-wrapper"
|
|
241
253
|
contentEditable={ false }
|
|
242
254
|
>
|
|
243
|
-
<PostTitle />
|
|
255
|
+
<PostTitle ref={ titleRef } />
|
|
244
256
|
</div>
|
|
245
257
|
) }
|
|
246
258
|
<RecursionProvider>
|
|
@@ -28,7 +28,9 @@ const unsupportedBlock = `
|
|
|
28
28
|
jest.useFakeTimers( 'legacy' );
|
|
29
29
|
|
|
30
30
|
describe( 'Editor', () => {
|
|
31
|
-
beforeAll(
|
|
31
|
+
beforeAll( () => {
|
|
32
|
+
registerCoreBlocks();
|
|
33
|
+
} );
|
|
32
34
|
|
|
33
35
|
it( 'detects unsupported block and sends hasUnsupportedBlocks true to native', () => {
|
|
34
36
|
RNReactNativeGutenbergBridge.editorDidMount = jest.fn();
|