@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.
Files changed (24) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/header/header-toolbar/index.native.js +25 -7
  3. package/build/components/header/header-toolbar/index.native.js.map +1 -1
  4. package/build/components/layout/index.native.js +5 -3
  5. package/build/components/layout/index.native.js.map +1 -1
  6. package/build/components/sidebar/plugin-document-setting-panel/index.js +0 -1
  7. package/build/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  8. package/build/components/visual-editor/index.js +19 -1
  9. package/build/components/visual-editor/index.js.map +1 -1
  10. package/build-module/components/header/header-toolbar/index.native.js +26 -8
  11. package/build-module/components/header/header-toolbar/index.native.js.map +1 -1
  12. package/build-module/components/layout/index.native.js +5 -3
  13. package/build-module/components/layout/index.native.js.map +1 -1
  14. package/build-module/components/sidebar/plugin-document-setting-panel/index.js +0 -1
  15. package/build-module/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  16. package/build-module/components/visual-editor/index.js +20 -2
  17. package/build-module/components/visual-editor/index.js.map +1 -1
  18. package/package.json +27 -27
  19. package/src/components/header/header-toolbar/index.native.js +45 -8
  20. package/src/components/header/header-toolbar/style.native.scss +8 -4
  21. package/src/components/layout/index.native.js +8 -5
  22. package/src/components/sidebar/plugin-document-setting-panel/index.js +0 -1
  23. package/src/components/visual-editor/index.js +14 -2
  24. package/src/test/editor.native.js +3 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 6.4.0 (2022-04-21)
6
+
5
7
  ## 6.3.0 (2022-04-08)
6
8
 
7
9
  ## 6.2.0 (2022-03-23)
@@ -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.container, _style.default.containerDark)
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.scrollableContent
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.keyboardHideContainer
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.container.height : 0;
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: getStylesFromColorScheme(_style.default.container, _style.default.containerDark),
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":"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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"]}
@@ -121,7 +121,6 @@ const PluginDocumentSettingPanel = (0, _compose.compose)((0, _plugins.withPlugin
121
121
  }
122
122
 
123
123
  return {
124
- icon: ownProps.icon || context.icon,
125
124
  panelName: `${context.name}/${ownProps.name}`
126
125
  };
127
126
  }), (0, _data.withSelect)((select, _ref2) => {
@@ -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;AACNN,IAAAA,IAAI,EAAEI,QAAQ,CAACJ,IAAT,IAAiBG,OAAO,CAACH,IADzB;AAENL,IAAAA,SAAS,EAAG,GAAGQ,OAAO,CAACG,IAAM,IAAIF,QAAQ,CAACE,IAAM;AAF1C,GAAP;AAIA,CARD,CADkC,EAUlC,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,CAVkC,EAkBlC,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,CAlBkC,EAyBhCF,yBAzBgC,CAAnC;AA2BAS,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\ticon: ownProps.icon || context.icon,\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"]}
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, null)), (0, _element.createElement)(RecursionProvider, null, (0, _element.createElement)(_blockEditor.BlockList, {
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.container, styles.containerDark)
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.scrollableContent
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.keyboardHideContainer
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":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,EAAmBC,UAAnB,EAA+BC,IAA/B,QAA2C,cAA3C;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,oBAAvB;AACA,SAASC,OAAT,EAAkBC,wBAAlB,QAAkD,oBAAlD;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,iBAAT,QAAkC,qBAAlC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,QADD,EAECC,YAFD,EAGCC,KAAK,IAAIC,gBAHV,QAIO,yBAJP;AAKA,SAASC,YAAT,EAAuBC,aAAvB,QAA4C,uBAA5C;AACA,SACCC,aADD,EAECC,IAAI,IAAIC,QAFT,EAGCC,IAAI,IAAIC,QAHT,QAIO,kBAJP;AAKA,SAASR,KAAK,IAAIS,WAAlB,QAAqC,mBAArC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,SAASV,KAAK,IAAIW,aAAlB,QAAuC,gBAAvC;;AAEA,SAASC,aAAT,OAUI;AAAA,MAVoB;AACvBC,IAAAA,OADuB;AAEvBC,IAAAA,OAFuB;AAGvBP,IAAAA,IAHuB;AAIvBF,IAAAA,IAJuB;AAKvBU,IAAAA,YALuB;AAMvBC,IAAAA,sBANuB;AAOvBC,IAAAA,wBAPuB;AAQvBC,IAAAA,cARuB;AASvBC,IAAAA;AATuB,GAUpB;AACH,QAAMC,aAAa,GAAG7B,MAAM,CAAE,IAAF,CAA5B;;AACA,QAAM8B,aAAa,GAAG,MAAM;AAC3B;AACA,UAAMC,SAAS,GAAGlC,QAAQ,CAACmC,EAAT,KAAgB,SAAlC;;AACA,QAAKD,SAAS,IAAIH,KAAlB,EAA0B;AACzBC,MAAAA,aAAa,CAACI,OAAd,CAAsBC,WAAtB;AACA,KAFD,MAEO;AACNL,MAAAA,aAAa,CAACI,OAAd,CAAsBE,QAAtB,CAAgC;AAAEC,QAAAA,CAAC,EAAE;AAAL,OAAhC;AACA;AACD,GARD;;AASA,QAAMC,oBAAoB,GAAG,MAAM;AAClC,UAAMC,OAAO,GAAG;AACf;AACA,kBAAC,aAAD;AACC,MAAA,GAAG,EAAC,YADL;AAEC,MAAA,KAAK,EAAGhC,EAAE,CAAE,MAAF,CAFX;AAGC,MAAA,IAAI,EAAG,CAAEsB,KAAF,GAAUb,QAAV,GAAqBE,QAH7B;AAIC,MAAA,UAAU,EAAG,CAAEM,OAJhB;AAKC,MAAA,OAAO,EAAGT,IALX;AAMC,MAAA,UAAU,EAAG;AACZyB,QAAAA,IAAI,EAAEjC,EAAE,CAAE,gCAAF;AADI;AANd,MAFe,EAYf,cAAC,aAAD;AACC,MAAA,GAAG,EAAC,YADL;AAEC,MAAA,KAAK,EAAGA,EAAE,CAAE,MAAF,CAFX;AAGC,MAAA,IAAI,EAAG,CAAEsB,KAAF,GAAUX,QAAV,GAAqBF,QAH7B;AAIC,MAAA,UAAU,EAAG,CAAEO,OAJhB;AAKC,MAAA,OAAO,EAAGN,IALX;AAMC,MAAA,UAAU,EAAG;AACZuB,QAAAA,IAAI,EAAEjC,EAAE,CAAE,gCAAF;AADI;AANd,MAZe,CAAhB;AAwBA,WAAOsB,KAAK,GAAGU,OAAO,CAACE,OAAR,EAAH,GAAuBF,OAAnC;AACA,GA1BD;;AA4BA,SACC,cAAC,IAAD;AACC,IAAA,KAAK,EAAGZ,wBAAwB,CAC/BP,MAAM,CAACsB,SADwB,EAE/BtB,MAAM,CAACuB,aAFwB;AADjC,KAMC,cAAC,UAAD;AACC,IAAA,GAAG,EAAGb,aADP;AAEC,IAAA,mBAAmB,EAAGC,aAFvB;AAGC,IAAA,UAAU,EAAG,IAHd;AAIC,IAAA,8BAA8B,EAAG,KAJlC;AAKC,IAAA,yBAAyB,EAAC,QAL3B;AAMC,IAAA,sBAAsB,EAAG,KAN1B;AAOC,IAAA,qBAAqB,EAAGX,MAAM,CAACwB;AAPhC,KASC,cAAC,QAAD;AAAU,IAAA,QAAQ,EAAG,CAAEnB;AAAvB,IATD,EAUGa,oBAAoB,EAVvB,EAWC,cAAC,YAAD,OAXD,CAND,EAmBGZ,sBAAsB,IACvB,cAAC,YAAD;AAAc,IAAA,WAAW,EAAGN,MAAM,CAACyB;AAAnC,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGtC,EAAE,CAAE,eAAF,CADX;AAEC,IAAA,IAAI,EAAGO,aAFR;AAGC,IAAA,OAAO,EAAGc,cAHX;AAIC,IAAA,UAAU,EAAG;AACZY,MAAAA,IAAI,EAAEjC,EAAE,CAAE,0BAAF;AADI;AAJd,IADD,CApBF,CADD;AAkCA;;AAED,eAAeL,OAAO,CAAE,CACvBE,UAAU,CAAI0C,MAAF,IAAc;AACzB,QAAM;AACLC,IAAAA,oBADK;AAELC,IAAAA,oBAFK;AAGLC,IAAAA;AAHK,MAIFH,MAAM,CAAEnC,gBAAF,CAJV;AAKA,QAAM;AAAEuC,IAAAA;AAAF,MAAwBJ,MAAM,CAAE3B,WAAF,CAApC;AACA,SAAO;AACNI,IAAAA,OAAO,EAAEuB,MAAM,CAAE3B,WAAF,CAAN,CAAsBgC,aAAtB,EADH;AAEN3B,IAAAA,OAAO,EAAEsB,MAAM,CAAE3B,WAAF,CAAN,CAAsBiC,aAAtB,EAFH;AAGN;AACA3B,IAAAA,YAAY,EACXqB,MAAM,CAAEzB,aAAF,CAAN,CAAwBgC,aAAxB,OAA4C,QAA5C,IACAH,iBAAiB,GAAGI,kBADpB,IAEAL,gBAAgB,CACfF,oBAAoB,CAAEC,oBAAoB,EAAtB,CADL,CAPX;AAUNO,IAAAA,iBAAiB,EAChBT,MAAM,CAAEzB,aAAF,CAAN,CAAwBgC,aAAxB,OAA4C,MAXvC;AAYNxB,IAAAA,KAAK,EAAEiB,MAAM,CAAEnC,gBAAF,CAAN,CAA2B6C,WAA3B,GAAyC3B;AAZ1C,GAAP;AAcA,CArBS,CADa,EAuBvBxB,YAAY,CAAIoD,QAAF,IAAgB;AAC7B,QAAM;AAAEC,IAAAA;AAAF,MAAyBD,QAAQ,CAAE9C,gBAAF,CAAvC;AACA,QAAM;AAAEgD,IAAAA;AAAF,MAA+BF,QAAQ,CAAEtC,WAAF,CAA7C;AAEA,SAAO;AACNF,IAAAA,IAAI,EAAEwC,QAAQ,CAAEtC,WAAF,CAAR,CAAwBF,IADxB;AAENF,IAAAA,IAAI,EAAE0C,QAAQ,CAAEtC,WAAF,CAAR,CAAwBJ,IAFxB;;AAGNa,IAAAA,cAAc,GAAG;AAChB8B,MAAAA,kBAAkB;AAClBC,MAAAA,wBAAwB,CAAE,KAAF,CAAxB;AACA;;AANK,GAAP;AAQA,CAZW,CAvBW,EAoCvBrD,iBAAiB,CAAE;AAAEsD,EAAAA,eAAe,EAAE;AAAnB,CAAF,CApCM,EAqCvBzD,wBArCuB,CAAF,CAAP,CAsCVmB,aAtCU,CAAf","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.container.height : 0;
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: getStylesFromColorScheme(styles.container, styles.containerDark),
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":"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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":["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"]}
@@ -103,7 +103,6 @@ const PluginDocumentSettingPanel = compose(withPluginContext((context, ownProps)
103
103
  }
104
104
 
105
105
  return {
106
- icon: ownProps.icon || context.icon,
107
106
  panelName: `${context.name}/${ownProps.name}`
108
107
  };
109
108
  }), withSelect((select, _ref2) => {
@@ -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;AACNa,IAAAA,IAAI,EAAEI,QAAQ,CAACJ,IAAT,IAAiBG,OAAO,CAACH,IADzB;AAENL,IAAAA,SAAS,EAAG,GAAGQ,OAAO,CAACG,IAAM,IAAIF,QAAQ,CAACE,IAAM;AAF1C,GAAP;AAIA,CARgB,CADwB,EAUzCpB,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,CAV+B,EAkBzCV,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,CAlB6B,CAAP,CAyBhCF,yBAzBgC,CAAnC;AA2BAS,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\ticon: ownProps.icon || context.icon,\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"]}
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, null)), createElement(RecursionProvider, null, createElement(BlockList, {
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":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,mCADD,EAECC,SAFD,EAGCC,KAAK,IAAIC,WAHV,QAIO,mBAJP;AAKA,SACCC,WADD,EAECC,SAFD,EAGCC,UAHD,EAICJ,KAAK,IAAIK,gBAJV,EAKCC,kCAAkC,IAAIC,wBALvC,EAMCC,uBAAuB,IAAIC,aAN5B,EAOCC,6BAA6B,IAAIC,mBAPlC,EAQCC,2BAA2B,IAAIC,iBARhC,EASCC,oCATD,EAUCC,6BAA6B,IAAIC,eAVlC,EAWCC,sBAAsB,IAAIC,YAX3B,EAYCC,UAZD,EAaCC,yBAAyB,IAAIC,WAb9B,EAcCC,iCAAiC,IAAIC,uBAdtC,EAeCC,gBAAgB,IAAIC,MAfrB,EAgBCC,mCAAmC,IAAIC,qBAhBxC,QAiBO,yBAjBP;AAkBA,SAASC,MAAT,EAAiBC,OAAjB,QAAgC,oBAAhC;AACA,SAASC,MAAT,EAAiBC,gBAAgB,IAAIC,MAArC,QAAmD,uBAAnD;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,YAAT,QAA6B,oBAA7B;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,0BAAjC;AACA,SAAStC,KAAK,IAAIuC,aAAlB,QAAuC,aAAvC;;AAEA,SAASC,WAAT,OAOI;AAAA,MAPkB;AACrBC,IAAAA,QADqB;AAErBC,IAAAA,UAFqB;AAGrBC,IAAAA,YAHqB;AAIrBC,IAAAA,MAJqB;AAKrBC,IAAAA,MALqB;AAMrBC,IAAAA;AANqB,GAOlB;AACH,QAAMC,GAAG,GAAGxB,uBAAuB,EAAnC;;AAEA,MAAK,CAAEoB,YAAP,EAAsB;AACrB,WACC,8BACC,cAAC,YAAD;AAAc,MAAA,MAAM,EAAGC;AAAvB,MADD,EAEC,cAAC,WAAD;AACC,MAAA,GAAG,EAAGF,UADP;AAEC,MAAA,SAAS,EAAC,uBAFX;AAGC,MAAA,KAAK,EAAG;AAAEM,QAAAA,IAAI,EAAE,GAAR;AAAa,WAAGF;AAAhB,OAHT;AAIC,MAAA,QAAQ,EAAG,CAAC;AAJb,OAMGL,QANH,CAFD,CADD;AAaA;;AAED,SACC,cAAC,MAAD;AACC,IAAA,IAAI,EAAG,cAAC,YAAD;AAAc,MAAA,MAAM,EAAGG;AAAvB,MADR;AAEC,IAAA,MAAM,EAAGC,MAFV;AAGC,IAAA,GAAG,EAAGE,GAHP;AAIC,IAAA,UAAU,EAAGL,UAJd;AAKC,IAAA,KAAK,EAAG;AAAEO,MAAAA,KAAK,EAAE,MAAT;AAAiBC,MAAAA,MAAM,EAAE,MAAzB;AAAiCC,MAAAA,OAAO,EAAE;AAA1C,KALT;AAMC,IAAA,IAAI,EAAC;AANN,KAQGV,QARH,CADD;AAYA;;AAED,eAAe,SAASW,YAAT,QAAoC;AAAA,MAAb;AAAER,IAAAA;AAAF,GAAa;AAClD,QAAM;AACLS,IAAAA,UADK;AAELC,IAAAA,cAFK;AAGLC,IAAAA,gBAHK;AAILC,IAAAA;AAJK,MAKFvB,SAAS,CAAIwB,MAAF,IAAc;AAC5B,UAAM;AACLC,MAAAA,iBADK;AAELC,MAAAA;AAFK,QAGFF,MAAM,CAAElB,aAAF,CAHV;AAIA,UAAM;AAAEqB,MAAAA,gBAAF;AAAoBC,MAAAA;AAApB,QAA2CJ,MAAM,CAAExD,WAAF,CAAvD;;AACA,UAAM6D,eAAe,GAAGJ,iBAAiB,EAAzC;;AACA,QAAIK,iBAAJ;;AAEA,QAAKF,kBAAkB,OAAO,UAA9B,EAA2C;AAC1CE,MAAAA,iBAAiB,GAAG,YAApB;AACA,KAFD,MAEO,IAAK,CAAED,eAAP,EAAyB;AAC/BC,MAAAA,iBAAiB,GAAG,mBAApB;AACA;;AAED,WAAO;AACNV,MAAAA,UAAU,EAAEM,kCAAkC,EADxC;AAENL,MAAAA,cAAc,EAAEQ,eAFV;AAGNP,MAAAA,gBAAgB,EAAEQ,iBAHZ;AAINP,MAAAA,eAAe,EAAEI,gBAAgB;AAJ3B,KAAP;AAMA,GArBY,EAqBV,EArBU,CALb;AA2BA,QAAMI,YAAY,GAAG/B,SAAS,CAC3BwB,MAAF,IAAcA,MAAM,CAAElB,aAAF,CAAN,CAAwByB,YAAxB,EADe,EAE7B,EAF6B,CAA9B;AAIA,QAAM;AAAEC,IAAAA,mBAAF;AAAuBpB,IAAAA;AAAvB,MAAkCZ,SAAS,CAAIwB,MAAF,IAAc;AAChE,UAAMS,SAAS,GAAGT,MAAM,CAAEpD,gBAAF,CAAN,CAA2B8D,WAA3B,EAAlB;;AACA,WAAO;AACNF,MAAAA,mBAAmB,EAAEC,SAAS,CAACE,cADzB;AAENvB,MAAAA,MAAM,EAAEqB,SAAS,CAACG;AAFZ,KAAP;AAIA,GANgD,EAM9C,EAN8C,CAAjD;AAOA,QAAM;AAAEC,IAAAA;AAAF,MAAyBpC,WAAW,CAAE7B,gBAAF,CAA1C;AACA,QAAM;AAAEkE,IAAAA;AAAF,MAA2BrC,WAAW,CAAEK,aAAF,CAA5C;AACA,QAAMiC,mBAAmB,GAAG;AAC3BtB,IAAAA,MAAM,EAAE,MADmB;AAE3BD,IAAAA,KAAK,EAAE,MAFoB;AAG3BwB,IAAAA,MAAM,EAAE,CAHmB;AAI3BtB,IAAAA,OAAO,EAAE,MAJkB;AAK3BuB,IAAAA,QAAQ,EAAE,QALiB;AAM3B;AACA;AACAC,IAAAA,UAAU,EAAE;AARe,GAA5B;AAUA,QAAMC,kBAAkB,GAAG,EAC1B,GAAGJ,mBADuB;AAE1BK,IAAAA,YAAY,EAAE,aAFY;AAG1BC,IAAAA,MAAM,EAAE,gBAHkB;AAI1BC,IAAAA,YAAY,EAAE;AAJY,GAA3B;AAMA,QAAMC,mBAAmB,GAAGhE,eAAe,CAAEqC,UAAF,EAAcC,cAAd,CAA3C;AACA,QAAM2B,aAAa,GAAG9D,UAAU,CAAE,QAAF,CAAhC;AACA,QAAM+D,WAAW,GAAG,QAAQ7B,UAAU,CAAC8B,WAAX,EAAR,GAAmC,UAAvD;AAEA,MAAIC,cAAc,GAAG9B,cAAc,GAChCsB,kBADgC,GAEhCJ,mBAFH;;AAGA,MAAKQ,mBAAL,EAA2B;AAC1BI,IAAAA,cAAc,GAAGJ,mBAAjB;AACA;;AAED,MAAIK,aAAJ,CApEkD,CAsElD;AACA;;AACA,MAAK,CAAErB,YAAF,IAAkB,CAAEgB,mBAApB,IAA2C,CAAE1B,cAAlD,EAAmE;AAClE+B,IAAAA,aAAa,GAAG,MAAhB;AACA;;AAED,QAAMtC,GAAG,GAAGnB,MAAM,EAAlB;AACA,QAAMc,UAAU,GAAGP,YAAY,CAAE,CAChCY,GADgC,EAEhCpC,mBAAmB,EAFa,EAGhCF,aAAa,EAHmB,EAIhCI,iBAAiB,EAJe,EAKhCN,wBAAwB,EALQ,CAAF,CAA/B;AAQA,QAAM+E,wBAAwB,GAAG/E,wBAAwB,EAAzD;AAEA,QAAM,GAAIgF,iBAAJ,IAA0B5D,qBAAqB,CACpD6B,eADoD,EAEpDD,gBAFoD,CAArD;AAKA,QAAMiC,MAAM,GAAG3D,OAAO,CAAE,MAAM;AAC7B,QAAKyB,cAAL,EAAsB;AACrB,aAAO;AAAEmC,QAAAA,IAAI,EAAE;AAAR,OAAP;AACA;;AAED,QAAKxB,mBAAL,EAA2B;AAC1B,aAAOgB,aAAP;AACA;;AAED,WAAOS,SAAP;AACA,GAVqB,EAUnB,CAAEpC,cAAF,EAAkBW,mBAAlB,EAAuCgB,aAAvC,CAVmB,CAAtB;AAYA,SACC,cAAC,UAAD;AACC,IAAA,oBAAoB,EAAGlC,GADxB;AAEC,IAAA,SAAS,EAAGlD,UAAU,CAAE,yBAAF,EAA6B;AAClD,0BAAoByD;AAD8B,KAA7B;AAFvB,KAMC,cAAC,mCAAD,OAND,EAOC,cAAC,MAAD,CAAQ,GAAR;AACC,IAAA,SAAS,EAAC,uCADX;AAEC,IAAA,OAAO,EAAG;AACTqC,MAAAA,OAAO,EAAErC,cAAc,GAAG,aAAH,GAAmB;AADjC,KAFX;AAKC,IAAA,GAAG,EAAGgC;AALP,KAOGhC,cAAc,IACf,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,6CADX;AAEC,IAAA,IAAI,EAAGlB,SAFR;AAGC,IAAA,OAAO,EAAG,MAAM;AACfkC,MAAAA,kBAAkB;AAClBC,MAAAA,oBAAoB,CAAE,KAAF,CAApB;AACA;AANF,KAQGlC,EAAE,CAAE,MAAF,CARL,CARF,EAmBC,cAAC,MAAD,CAAQ,GAAR;AACC,IAAA,OAAO,EAAG+C,cADX;AAEC,IAAA,OAAO,EAAGZ,mBAFX;AAGC,IAAA,SAAS,EAAGU;AAHb,KAKC,cAAC,WAAD;AACC,IAAA,YAAY,EACX5B,cAAc,IACdD,UAAU,KAAK,QADf,IAEAA,UAAU,KAAK,QAJjB;AAMC,IAAA,UAAU,EAAGX,UANd;AAOC,IAAA,MAAM,EAAGE,MAPV;AAQC,IAAA,MAAM,EAAGC,MARV;AASC,IAAA,KAAK,EAAG;AAAEwC,MAAAA;AAAF;AATT,KAWGpB,mBAAmB,IAAI,CAAEX,cAAzB,IACD,cAAC,WAAD;AACC,IAAA,QAAQ,EAAC,kGADV;AAEC,IAAA,MAAM,EAAG2B;AAFV,IAZF,EAiBG,CAAE3B,cAAF,IACD;AACC,IAAA,SAAS,EAAC,6CADX;AAEC,IAAA,eAAe,EAAG;AAFnB,KAIC,cAAC,SAAD,OAJD,CAlBF,EAyBC,cAAC,iBAAD,QACC,cAAC,SAAD;AACC,IAAA,SAAS,EACRA,cAAc,GACX,gBADW,GAEXoC,SAJL;AAMC,IAAA,oBAAoB,EAAGF;AANxB,IADD,CAzBD,CALD,CAnBD,CAPD,EAqEC,cAAC,oCAAD,QACG;AAAA,QAAE;AAAEI,MAAAA;AAAF,KAAF;AAAA,WACD,cAAC,oBAAD;AAAsB,MAAA,OAAO,EAAGA;AAAhC,MADC;AAAA,GADH,CArED,CADD;AA6EA","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.2",
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.6.1",
31
- "@wordpress/api-fetch": "^6.3.1",
32
- "@wordpress/block-editor": "^8.5.2",
33
- "@wordpress/block-library": "^7.3.2",
34
- "@wordpress/blocks": "^11.5.2",
35
- "@wordpress/components": "^19.8.1",
36
- "@wordpress/compose": "^5.4.1",
37
- "@wordpress/core-data": "^4.4.2",
38
- "@wordpress/data": "^6.6.1",
39
- "@wordpress/deprecated": "^3.6.1",
40
- "@wordpress/editor": "^12.5.2",
41
- "@wordpress/element": "^4.4.1",
42
- "@wordpress/hooks": "^3.6.1",
43
- "@wordpress/i18n": "^4.6.1",
44
- "@wordpress/icons": "^8.2.1",
45
- "@wordpress/interface": "^4.5.1",
46
- "@wordpress/keyboard-shortcuts": "^3.4.1",
47
- "@wordpress/keycodes": "^3.6.1",
48
- "@wordpress/media-utils": "^3.4.1",
49
- "@wordpress/notices": "^3.6.1",
50
- "@wordpress/plugins": "^4.4.1",
51
- "@wordpress/preferences": "^1.2.1",
52
- "@wordpress/url": "^3.7.1",
53
- "@wordpress/viewport": "^4.4.1",
54
- "@wordpress/warning": "^2.6.1",
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": "446565ecaa40370173c18926535e975ec5652b71"
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={ getStylesFromColorScheme(
85
- styles.container,
86
- styles.containerDark
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={ styles.scrollableContent }
120
+ contentContainerStyle={
121
+ styles[ 'header-toolbar__scrollable-content' ]
122
+ }
97
123
  >
98
- <Inserter disabled={ ! showInserter } />
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 passedStyle={ styles.keyboardHideContainer }>
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
- .container {
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
- .containerDark {
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
- .scrollableContent {
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
- .keyboardHideContainer {
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.container.height
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={ getStylesFromColorScheme(
142
- styles.container,
143
- styles.containerDark
144
- ) }
147
+ style={ containerStyles }
145
148
  onLayout={ this.onRootViewLayout }
146
149
  >
147
150
  <AutosaveMonitor disableIntervalChecks />
@@ -108,7 +108,6 @@ const PluginDocumentSettingPanel = compose(
108
108
  warning( 'PluginDocumentSettingPanel requires a name property.' );
109
109
  }
110
110
  return {
111
- icon: ownProps.icon || context.icon,
112
111
  panelName: `${ context.name }/${ ownProps.name }`,
113
112
  };
114
113
  } ),
@@ -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( registerCoreBlocks );
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();