@wordpress/edit-post 6.16.0 → 6.17.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 (78) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-manager/category.js +1 -1
  3. package/build/components/block-manager/category.js.map +1 -1
  4. package/build/components/device-preview/index.js +3 -0
  5. package/build/components/device-preview/index.js.map +1 -1
  6. package/build/components/header/index.js +54 -11
  7. package/build/components/header/index.js.map +1 -1
  8. package/build/components/header/more-menu/index.js +3 -1
  9. package/build/components/header/more-menu/index.js.map +1 -1
  10. package/build/components/header/writing-menu/index.js +51 -2
  11. package/build/components/header/writing-menu/index.js.map +1 -1
  12. package/build/components/keyboard-shortcuts/index.js +43 -2
  13. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  14. package/build/components/layout/index.js +14 -8
  15. package/build/components/layout/index.js.map +1 -1
  16. package/build/components/preferences-modal/index.js +27 -8
  17. package/build/components/preferences-modal/index.js.map +1 -1
  18. package/build/components/preferences-modal/options/enable-feature.js +6 -2
  19. package/build/components/preferences-modal/options/enable-feature.js.map +1 -1
  20. package/build/editor.js +5 -5
  21. package/build/editor.js.map +1 -1
  22. package/build/editor.native.js +1 -1
  23. package/build/editor.native.js.map +1 -1
  24. package/build/store/actions.js +1 -1
  25. package/build/store/actions.js.map +1 -1
  26. package/build/store/reducer.js +1 -1
  27. package/build/store/reducer.js.map +1 -1
  28. package/build-module/components/block-manager/category.js +2 -2
  29. package/build-module/components/block-manager/category.js.map +1 -1
  30. package/build-module/components/device-preview/index.js +3 -0
  31. package/build-module/components/device-preview/index.js.map +1 -1
  32. package/build-module/components/header/index.js +53 -11
  33. package/build-module/components/header/index.js.map +1 -1
  34. package/build-module/components/header/more-menu/index.js +3 -1
  35. package/build-module/components/header/more-menu/index.js.map +1 -1
  36. package/build-module/components/header/writing-menu/index.js +49 -3
  37. package/build-module/components/header/writing-menu/index.js.map +1 -1
  38. package/build-module/components/keyboard-shortcuts/index.js +42 -3
  39. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  40. package/build-module/components/layout/index.js +15 -9
  41. package/build-module/components/layout/index.js.map +1 -1
  42. package/build-module/components/preferences-modal/index.js +26 -8
  43. package/build-module/components/preferences-modal/index.js.map +1 -1
  44. package/build-module/components/preferences-modal/options/enable-feature.js +6 -2
  45. package/build-module/components/preferences-modal/options/enable-feature.js.map +1 -1
  46. package/build-module/editor.js +6 -6
  47. package/build-module/editor.js.map +1 -1
  48. package/build-module/editor.native.js +2 -2
  49. package/build-module/editor.native.js.map +1 -1
  50. package/build-module/store/actions.js +2 -2
  51. package/build-module/store/actions.js.map +1 -1
  52. package/build-module/store/reducer.js +1 -1
  53. package/build-module/store/reducer.js.map +1 -1
  54. package/build-style/style-rtl.css +32 -0
  55. package/build-style/style.css +32 -0
  56. package/package.json +27 -27
  57. package/src/components/block-manager/category.js +3 -4
  58. package/src/components/device-preview/index.js +2 -0
  59. package/src/components/editor-initialization/test/listener-hooks.js +47 -49
  60. package/src/components/header/index.js +31 -12
  61. package/src/components/header/more-menu/index.js +1 -1
  62. package/src/components/header/style.scss +44 -0
  63. package/src/components/header/writing-menu/index.js +52 -3
  64. package/src/components/keyboard-shortcuts/index.js +49 -3
  65. package/src/components/layout/index.js +17 -7
  66. package/src/components/layout/style.scss +7 -0
  67. package/src/components/preferences-modal/index.js +35 -19
  68. package/src/components/preferences-modal/options/enable-feature.js +5 -2
  69. package/src/components/preferences-modal/options/test/__snapshots__/enable-custom-fields.js.snap +128 -132
  70. package/src/components/preferences-modal/options/test/enable-custom-fields.js +35 -30
  71. package/src/components/preferences-modal/test/__snapshots__/index.js.snap +50 -55
  72. package/src/components/preferences-modal/test/index.js +3 -3
  73. package/src/components/sidebar/plugin-post-status-info/test/__snapshots__/index.js.snap +1 -1
  74. package/src/components/sidebar/plugin-post-status-info/test/index.js +4 -4
  75. package/src/editor.js +7 -8
  76. package/src/editor.native.js +3 -4
  77. package/src/store/actions.js +3 -4
  78. package/src/store/reducer.js +1 -1
@@ -210,7 +210,7 @@ function listViewPanel() {
210
210
  return state;
211
211
  }
212
212
  /**
213
- * Reducer tracking whether the inserter is open.
213
+ * Reducer tracking whether template editing is on or off.
214
214
  *
215
215
  * @param {boolean} state
216
216
  * @param {Object} action
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/store/reducer.js"],"names":["removedPanels","state","action","type","panelName","activeModal","name","publishSidebarActive","isSavingMetaBoxes","metaBoxLocations","metaBoxesPerLocation","deviceType","blockInserterPanel","isOpen","value","listViewPanel","isEditingTemplate","metaBoxesInitialized","metaBoxes","isSaving","locations","initialized"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Reducer storing the list of all programmatically removed panels.\n *\n * @param {Array} state Current state.\n * @param {Object} action Action object.\n *\n * @return {Array} Updated state.\n */\nexport function removedPanels( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REMOVE_PANEL':\n\t\t\tif ( ! includes( state, action.panelName ) ) {\n\t\t\t\treturn [ ...state, action.panelName ];\n\t\t\t}\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer for storing the name of the open modal, or null if no modal is open.\n *\n * @param {Object} state Previous state.\n * @param {Object} action Action object containing the `name` of the modal\n *\n * @return {Object} Updated state\n */\nexport function activeModal( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_MODAL':\n\t\t\treturn action.name;\n\t\tcase 'CLOSE_MODAL':\n\t\t\treturn null;\n\t}\n\n\treturn state;\n}\n\nexport function publishSidebarActive( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_PUBLISH_SIDEBAR':\n\t\t\treturn true;\n\t\tcase 'CLOSE_PUBLISH_SIDEBAR':\n\t\t\treturn false;\n\t\tcase 'TOGGLE_PUBLISH_SIDEBAR':\n\t\t\treturn ! state;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the meta boxes isSaving state.\n * A \"true\" value means the meta boxes saving request is in-flight.\n *\n *\n * @param {boolean} state Previous state.\n * @param {Object} action Action Object.\n *\n * @return {Object} Updated state.\n */\nexport function isSavingMetaBoxes( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REQUEST_META_BOX_UPDATES':\n\t\t\treturn true;\n\t\tcase 'META_BOX_UPDATES_SUCCESS':\n\t\tcase 'META_BOX_UPDATES_FAILURE':\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\n/**\n * Reducer keeping track of the meta boxes per location.\n *\n * @param {boolean} state Previous state.\n * @param {Object} action Action Object.\n *\n * @return {Object} Updated state.\n */\nexport function metaBoxLocations( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_META_BOXES_PER_LOCATIONS':\n\t\t\treturn action.metaBoxesPerLocation;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the editing canvas device type.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deviceType( state = 'Desktop', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_PREVIEW_DEVICE_TYPE':\n\t\t\treturn action.deviceType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer tracking whether the inserter is open.\n *\n * @param {boolean} state\n * @param {Object} action\n */\nfunction isEditingTemplate( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_EDITING_TEMPLATE':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer tracking whether meta boxes are initialized.\n *\n * @param {boolean} state\n * @param {Object} action\n *\n * @return {boolean} Updated state.\n */\nfunction metaBoxesInitialized( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'META_BOXES_INITIALIZED':\n\t\t\treturn true;\n\t}\n\treturn state;\n}\n\nconst metaBoxes = combineReducers( {\n\tisSaving: isSavingMetaBoxes,\n\tlocations: metaBoxLocations,\n\tinitialized: metaBoxesInitialized,\n} );\n\nexport default combineReducers( {\n\tactiveModal,\n\tmetaBoxes,\n\tpublishSidebarActive,\n\tremovedPanels,\n\tdeviceType,\n\tblockInserterPanel,\n\tlistViewPanel,\n\tisEditingTemplate,\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/store/reducer.js"],"names":["removedPanels","state","action","type","panelName","activeModal","name","publishSidebarActive","isSavingMetaBoxes","metaBoxLocations","metaBoxesPerLocation","deviceType","blockInserterPanel","isOpen","value","listViewPanel","isEditingTemplate","metaBoxesInitialized","metaBoxes","isSaving","locations","initialized"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Reducer storing the list of all programmatically removed panels.\n *\n * @param {Array} state Current state.\n * @param {Object} action Action object.\n *\n * @return {Array} Updated state.\n */\nexport function removedPanels( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REMOVE_PANEL':\n\t\t\tif ( ! includes( state, action.panelName ) ) {\n\t\t\t\treturn [ ...state, action.panelName ];\n\t\t\t}\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer for storing the name of the open modal, or null if no modal is open.\n *\n * @param {Object} state Previous state.\n * @param {Object} action Action object containing the `name` of the modal\n *\n * @return {Object} Updated state\n */\nexport function activeModal( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_MODAL':\n\t\t\treturn action.name;\n\t\tcase 'CLOSE_MODAL':\n\t\t\treturn null;\n\t}\n\n\treturn state;\n}\n\nexport function publishSidebarActive( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_PUBLISH_SIDEBAR':\n\t\t\treturn true;\n\t\tcase 'CLOSE_PUBLISH_SIDEBAR':\n\t\t\treturn false;\n\t\tcase 'TOGGLE_PUBLISH_SIDEBAR':\n\t\t\treturn ! state;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the meta boxes isSaving state.\n * A \"true\" value means the meta boxes saving request is in-flight.\n *\n *\n * @param {boolean} state Previous state.\n * @param {Object} action Action Object.\n *\n * @return {Object} Updated state.\n */\nexport function isSavingMetaBoxes( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REQUEST_META_BOX_UPDATES':\n\t\t\treturn true;\n\t\tcase 'META_BOX_UPDATES_SUCCESS':\n\t\tcase 'META_BOX_UPDATES_FAILURE':\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\n/**\n * Reducer keeping track of the meta boxes per location.\n *\n * @param {boolean} state Previous state.\n * @param {Object} action Action Object.\n *\n * @return {Object} Updated state.\n */\nexport function metaBoxLocations( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_META_BOXES_PER_LOCATIONS':\n\t\t\treturn action.metaBoxesPerLocation;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the editing canvas device type.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deviceType( state = 'Desktop', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_PREVIEW_DEVICE_TYPE':\n\t\t\treturn action.deviceType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer tracking whether template editing is on or off.\n *\n * @param {boolean} state\n * @param {Object} action\n */\nfunction isEditingTemplate( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_EDITING_TEMPLATE':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer tracking whether meta boxes are initialized.\n *\n * @param {boolean} state\n * @param {Object} action\n *\n * @return {boolean} Updated state.\n */\nfunction metaBoxesInitialized( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'META_BOXES_INITIALIZED':\n\t\t\treturn true;\n\t}\n\treturn state;\n}\n\nconst metaBoxes = combineReducers( {\n\tisSaving: isSavingMetaBoxes,\n\tlocations: metaBoxLocations,\n\tinitialized: metaBoxesInitialized,\n} );\n\nexport default combineReducers( {\n\tactiveModal,\n\tmetaBoxes,\n\tpublishSidebarActive,\n\tremovedPanels,\n\tdeviceType,\n\tblockInserterPanel,\n\tlistViewPanel,\n\tisEditingTemplate,\n} );\n"]}
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * External dependencies
5
5
  */
6
- import { includes, map, without } from 'lodash';
6
+ import { includes, map } from 'lodash';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
@@ -78,7 +78,7 @@ function BlockManagerCategory(_ref) {
78
78
  return null;
79
79
  }
80
80
 
81
- const checkedBlockNames = without(map(filteredBlockTypes, 'name'), ...hiddenBlockTypes);
81
+ const checkedBlockNames = map(filteredBlockTypes, 'name').filter(type => !hiddenBlockTypes.includes(type));
82
82
  const titleId = 'edit-post-block-manager__category-title-' + instanceId;
83
83
  const isAllChecked = checkedBlockNames.length === filteredBlockTypes.length;
84
84
  let ariaChecked;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/block-manager/category.js"],"names":["includes","map","without","useMemo","useCallback","useDispatch","useSelect","useInstanceId","CheckboxControl","store","editorStore","BlockTypesChecklist","editPostStore","BlockManagerCategory","title","blockTypes","instanceId","defaultAllowedBlockTypes","hiddenBlockTypes","select","getEditorSettings","getHiddenBlockTypes","filteredBlockTypes","filter","name","showBlockTypes","hideBlockTypes","toggleVisible","blockName","nextIsChecked","toggleAllVisible","blockNames","length","checkedBlockNames","titleId","isAllChecked","ariaChecked"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { includes, map, without } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { CheckboxControl } from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesChecklist from './checklist';\nimport { store as editPostStore } from '../../store';\n\nfunction BlockManagerCategory( { title, blockTypes } ) {\n\tconst instanceId = useInstanceId( BlockManagerCategory );\n\tconst { defaultAllowedBlockTypes, hiddenBlockTypes } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getHiddenBlockTypes } = select( editPostStore );\n\t\t\treturn {\n\t\t\t\tdefaultAllowedBlockTypes:\n\t\t\t\t\tgetEditorSettings().defaultAllowedBlockTypes,\n\t\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst filteredBlockTypes = useMemo( () => {\n\t\tif ( defaultAllowedBlockTypes === true ) {\n\t\t\treturn blockTypes;\n\t\t}\n\t\treturn blockTypes.filter( ( { name } ) => {\n\t\t\treturn includes( defaultAllowedBlockTypes || [], name );\n\t\t} );\n\t}, [ defaultAllowedBlockTypes, blockTypes ] );\n\tconst { showBlockTypes, hideBlockTypes } = useDispatch( editPostStore );\n\tconst toggleVisible = useCallback( ( blockName, nextIsChecked ) => {\n\t\tif ( nextIsChecked ) {\n\t\t\tshowBlockTypes( blockName );\n\t\t} else {\n\t\t\thideBlockTypes( blockName );\n\t\t}\n\t}, [] );\n\tconst toggleAllVisible = useCallback(\n\t\t( nextIsChecked ) => {\n\t\t\tconst blockNames = map( blockTypes, 'name' );\n\t\t\tif ( nextIsChecked ) {\n\t\t\t\tshowBlockTypes( blockNames );\n\t\t\t} else {\n\t\t\t\thideBlockTypes( blockNames );\n\t\t\t}\n\t\t},\n\t\t[ blockTypes ]\n\t);\n\n\tif ( ! filteredBlockTypes.length ) {\n\t\treturn null;\n\t}\n\n\tconst checkedBlockNames = without(\n\t\tmap( filteredBlockTypes, 'name' ),\n\t\t...hiddenBlockTypes\n\t);\n\n\tconst titleId = 'edit-post-block-manager__category-title-' + instanceId;\n\n\tconst isAllChecked = checkedBlockNames.length === filteredBlockTypes.length;\n\n\tlet ariaChecked;\n\tif ( isAllChecked ) {\n\t\tariaChecked = 'true';\n\t} else if ( checkedBlockNames.length > 0 ) {\n\t\tariaChecked = 'mixed';\n\t} else {\n\t\tariaChecked = 'false';\n\t}\n\n\treturn (\n\t\t<div\n\t\t\trole=\"group\"\n\t\t\taria-labelledby={ titleId }\n\t\t\tclassName=\"edit-post-block-manager__category\"\n\t\t>\n\t\t\t<CheckboxControl\n\t\t\t\tchecked={ isAllChecked }\n\t\t\t\tonChange={ toggleAllVisible }\n\t\t\t\tclassName=\"edit-post-block-manager__category-title\"\n\t\t\t\taria-checked={ ariaChecked }\n\t\t\t\tlabel={ <span id={ titleId }>{ title }</span> }\n\t\t\t/>\n\t\t\t<BlockTypesChecklist\n\t\t\t\tblockTypes={ filteredBlockTypes }\n\t\t\t\tvalue={ checkedBlockNames }\n\t\t\t\tonItemChange={ toggleVisible }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport default BlockManagerCategory;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/block-manager/category.js"],"names":["includes","map","useMemo","useCallback","useDispatch","useSelect","useInstanceId","CheckboxControl","store","editorStore","BlockTypesChecklist","editPostStore","BlockManagerCategory","title","blockTypes","instanceId","defaultAllowedBlockTypes","hiddenBlockTypes","select","getEditorSettings","getHiddenBlockTypes","filteredBlockTypes","filter","name","showBlockTypes","hideBlockTypes","toggleVisible","blockName","nextIsChecked","toggleAllVisible","blockNames","length","checkedBlockNames","type","titleId","isAllChecked","ariaChecked"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { includes, map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { CheckboxControl } from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesChecklist from './checklist';\nimport { store as editPostStore } from '../../store';\n\nfunction BlockManagerCategory( { title, blockTypes } ) {\n\tconst instanceId = useInstanceId( BlockManagerCategory );\n\tconst { defaultAllowedBlockTypes, hiddenBlockTypes } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { getHiddenBlockTypes } = select( editPostStore );\n\t\t\treturn {\n\t\t\t\tdefaultAllowedBlockTypes:\n\t\t\t\t\tgetEditorSettings().defaultAllowedBlockTypes,\n\t\t\t\thiddenBlockTypes: getHiddenBlockTypes(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst filteredBlockTypes = useMemo( () => {\n\t\tif ( defaultAllowedBlockTypes === true ) {\n\t\t\treturn blockTypes;\n\t\t}\n\t\treturn blockTypes.filter( ( { name } ) => {\n\t\t\treturn includes( defaultAllowedBlockTypes || [], name );\n\t\t} );\n\t}, [ defaultAllowedBlockTypes, blockTypes ] );\n\tconst { showBlockTypes, hideBlockTypes } = useDispatch( editPostStore );\n\tconst toggleVisible = useCallback( ( blockName, nextIsChecked ) => {\n\t\tif ( nextIsChecked ) {\n\t\t\tshowBlockTypes( blockName );\n\t\t} else {\n\t\t\thideBlockTypes( blockName );\n\t\t}\n\t}, [] );\n\tconst toggleAllVisible = useCallback(\n\t\t( nextIsChecked ) => {\n\t\t\tconst blockNames = map( blockTypes, 'name' );\n\t\t\tif ( nextIsChecked ) {\n\t\t\t\tshowBlockTypes( blockNames );\n\t\t\t} else {\n\t\t\t\thideBlockTypes( blockNames );\n\t\t\t}\n\t\t},\n\t\t[ blockTypes ]\n\t);\n\n\tif ( ! filteredBlockTypes.length ) {\n\t\treturn null;\n\t}\n\n\tconst checkedBlockNames = map( filteredBlockTypes, 'name' ).filter(\n\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t);\n\n\tconst titleId = 'edit-post-block-manager__category-title-' + instanceId;\n\n\tconst isAllChecked = checkedBlockNames.length === filteredBlockTypes.length;\n\n\tlet ariaChecked;\n\tif ( isAllChecked ) {\n\t\tariaChecked = 'true';\n\t} else if ( checkedBlockNames.length > 0 ) {\n\t\tariaChecked = 'mixed';\n\t} else {\n\t\tariaChecked = 'false';\n\t}\n\n\treturn (\n\t\t<div\n\t\t\trole=\"group\"\n\t\t\taria-labelledby={ titleId }\n\t\t\tclassName=\"edit-post-block-manager__category\"\n\t\t>\n\t\t\t<CheckboxControl\n\t\t\t\tchecked={ isAllChecked }\n\t\t\t\tonChange={ toggleAllVisible }\n\t\t\t\tclassName=\"edit-post-block-manager__category-title\"\n\t\t\t\taria-checked={ ariaChecked }\n\t\t\t\tlabel={ <span id={ titleId }>{ title }</span> }\n\t\t\t/>\n\t\t\t<BlockTypesChecklist\n\t\t\t\tblockTypes={ filteredBlockTypes }\n\t\t\t\tvalue={ checkedBlockNames }\n\t\t\t\tonItemChange={ toggleVisible }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport default BlockManagerCategory;\n"]}
@@ -51,6 +51,9 @@ export default function DevicePreview() {
51
51
  className: "edit-post-post-preview-dropdown",
52
52
  deviceType: deviceType,
53
53
  setDeviceType: setPreviewDeviceType
54
+ /* translators: button label text should, if possible, be under 16 characters. */
55
+ ,
56
+ viewLabel: __('Preview')
54
57
  }, isViewable && createElement(MenuGroup, null, createElement("div", {
55
58
  className: "edit-post-header-preview__grouping-external"
56
59
  }, createElement(PostPreviewButton, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/device-preview/index.js"],"names":["get","Icon","MenuGroup","PostPreviewButton","store","editorStore","external","__","__experimentalPreviewOptions","PreviewOptions","useDispatch","useSelect","coreStore","editPostStore","DevicePreview","hasActiveMetaboxes","isPostSaveable","isSaving","isViewable","deviceType","select","getEditedPostAttribute","getPostType","postType","hasMetaBoxes","isSavingMetaBoxes","isEditedPostSaveable","__experimentalGetPreviewDeviceType","__experimentalSetPreviewDeviceType","setPreviewDeviceType","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,SAASC,IAAT,EAAeC,SAAf,QAAgC,uBAAhC;AACA,SAASC,iBAAT,EAA4BC,KAAK,IAAIC,WAArC,QAAwD,mBAAxD;AACA,SAASC,QAAT,QAAyB,kBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,4BAA4B,IAAIC,cAAzC,QAA+D,yBAA/D;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASP,KAAK,IAAIQ,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASR,KAAK,IAAIS,aAAlB,QAAuC,aAAvC;AAEA,eAAe,SAASC,aAAT,GAAyB;AACvC,QAAM;AACLC,IAAAA,kBADK;AAELC,IAAAA,cAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,UAJK;AAKLC,IAAAA;AALK,MAMFR,SAAS,CAAIS,MAAF,IAAc;AAC5B,UAAM;AAAEC,MAAAA;AAAF,QAA6BD,MAAM,CAAEf,WAAF,CAAzC;AACA,UAAM;AAAEiB,MAAAA;AAAF,QAAkBF,MAAM,CAAER,SAAF,CAA9B;AACA,UAAMW,QAAQ,GAAGD,WAAW,CAAED,sBAAsB,CAAE,MAAF,CAAxB,CAA5B;AAEA,WAAO;AACNN,MAAAA,kBAAkB,EAAEK,MAAM,CAAEP,aAAF,CAAN,CAAwBW,YAAxB,EADd;AAENP,MAAAA,QAAQ,EAAEG,MAAM,CAAEP,aAAF,CAAN,CAAwBY,iBAAxB,EAFJ;AAGNT,MAAAA,cAAc,EAAEI,MAAM,CAAEf,WAAF,CAAN,CAAsBqB,oBAAtB,EAHV;AAINR,MAAAA,UAAU,EAAElB,GAAG,CAAEuB,QAAF,EAAY,CAAE,UAAF,CAAZ,EAA4B,KAA5B,CAJT;AAKNJ,MAAAA,UAAU,EACTC,MAAM,CAAEP,aAAF,CAAN,CAAwBc,kCAAxB;AANK,KAAP;AAQA,GAbY,EAaV,EAbU,CANb;AAoBA,QAAM;AAAEC,IAAAA,kCAAkC,EAAEC;AAAtC,MACLnB,WAAW,CAAEG,aAAF,CADZ;AAGA,SACC,cAAC,cAAD;AACC,IAAA,SAAS,EAAGG,cADb;AAEC,IAAA,SAAS,EAAC,iCAFX;AAGC,IAAA,UAAU,EAAGG,UAHd;AAIC,IAAA,aAAa,EAAGU;AAJjB,KAMGX,UAAU,IACX,cAAC,SAAD,QACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,iBAAD;AACC,IAAA,SAAS,EACR,2CAFF;AAIC,IAAA,IAAI,EAAC,UAJN;AAKC,IAAA,mBAAmB,EAAGH,kBALvB;AAMC,IAAA,gBAAgB,EAAGE,QAAQ,GAAG,IAAH,GAAUa,SANtC;AAOC,IAAA,WAAW,EACV,8BACGvB,EAAE,CAAE,oBAAF,CADL,EAEC,cAAC,IAAD;AAAM,MAAA,IAAI,EAAGD;AAAb,MAFD;AARF,IADD,CADD,CAPF,CADD;AA6BA","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, MenuGroup } from '@wordpress/components';\nimport { PostPreviewButton, store as editorStore } from '@wordpress/editor';\nimport { external } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalPreviewOptions as PreviewOptions } from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport default function DevicePreview() {\n\tconst {\n\t\thasActiveMetaboxes,\n\t\tisPostSaveable,\n\t\tisSaving,\n\t\tisViewable,\n\t\tdeviceType,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tisSaving: select( editPostStore ).isSavingMetaBoxes(),\n\t\t\tisPostSaveable: select( editorStore ).isEditedPostSaveable(),\n\t\t\tisViewable: get( postType, [ 'viewable' ], false ),\n\t\t\tdeviceType:\n\t\t\t\tselect( editPostStore ).__experimentalGetPreviewDeviceType(),\n\t\t};\n\t}, [] );\n\tconst { __experimentalSetPreviewDeviceType: setPreviewDeviceType } =\n\t\tuseDispatch( editPostStore );\n\n\treturn (\n\t\t<PreviewOptions\n\t\t\tisEnabled={ isPostSaveable }\n\t\t\tclassName=\"edit-post-post-preview-dropdown\"\n\t\t\tdeviceType={ deviceType }\n\t\t\tsetDeviceType={ setPreviewDeviceType }\n\t\t>\n\t\t\t{ isViewable && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<div className=\"edit-post-header-preview__grouping-external\">\n\t\t\t\t\t\t<PostPreviewButton\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t'edit-post-header-preview__button-external'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\tforceIsAutosaveable={ hasActiveMetaboxes }\n\t\t\t\t\t\t\tforcePreviewLink={ isSaving ? null : undefined }\n\t\t\t\t\t\t\ttextContent={\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\t\t<Icon icon={ external } />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</PreviewOptions>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/device-preview/index.js"],"names":["get","Icon","MenuGroup","PostPreviewButton","store","editorStore","external","__","__experimentalPreviewOptions","PreviewOptions","useDispatch","useSelect","coreStore","editPostStore","DevicePreview","hasActiveMetaboxes","isPostSaveable","isSaving","isViewable","deviceType","select","getEditedPostAttribute","getPostType","postType","hasMetaBoxes","isSavingMetaBoxes","isEditedPostSaveable","__experimentalGetPreviewDeviceType","__experimentalSetPreviewDeviceType","setPreviewDeviceType","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,SAASC,IAAT,EAAeC,SAAf,QAAgC,uBAAhC;AACA,SAASC,iBAAT,EAA4BC,KAAK,IAAIC,WAArC,QAAwD,mBAAxD;AACA,SAASC,QAAT,QAAyB,kBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,4BAA4B,IAAIC,cAAzC,QAA+D,yBAA/D;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASP,KAAK,IAAIQ,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASR,KAAK,IAAIS,aAAlB,QAAuC,aAAvC;AAEA,eAAe,SAASC,aAAT,GAAyB;AACvC,QAAM;AACLC,IAAAA,kBADK;AAELC,IAAAA,cAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,UAJK;AAKLC,IAAAA;AALK,MAMFR,SAAS,CAAIS,MAAF,IAAc;AAC5B,UAAM;AAAEC,MAAAA;AAAF,QAA6BD,MAAM,CAAEf,WAAF,CAAzC;AACA,UAAM;AAAEiB,MAAAA;AAAF,QAAkBF,MAAM,CAAER,SAAF,CAA9B;AACA,UAAMW,QAAQ,GAAGD,WAAW,CAAED,sBAAsB,CAAE,MAAF,CAAxB,CAA5B;AAEA,WAAO;AACNN,MAAAA,kBAAkB,EAAEK,MAAM,CAAEP,aAAF,CAAN,CAAwBW,YAAxB,EADd;AAENP,MAAAA,QAAQ,EAAEG,MAAM,CAAEP,aAAF,CAAN,CAAwBY,iBAAxB,EAFJ;AAGNT,MAAAA,cAAc,EAAEI,MAAM,CAAEf,WAAF,CAAN,CAAsBqB,oBAAtB,EAHV;AAINR,MAAAA,UAAU,EAAElB,GAAG,CAAEuB,QAAF,EAAY,CAAE,UAAF,CAAZ,EAA4B,KAA5B,CAJT;AAKNJ,MAAAA,UAAU,EACTC,MAAM,CAAEP,aAAF,CAAN,CAAwBc,kCAAxB;AANK,KAAP;AAQA,GAbY,EAaV,EAbU,CANb;AAoBA,QAAM;AAAEC,IAAAA,kCAAkC,EAAEC;AAAtC,MACLnB,WAAW,CAAEG,aAAF,CADZ;AAGA,SACC,cAAC,cAAD;AACC,IAAA,SAAS,EAAGG,cADb;AAEC,IAAA,SAAS,EAAC,iCAFX;AAGC,IAAA,UAAU,EAAGG,UAHd;AAIC,IAAA,aAAa,EAAGU;AAChB;AALD;AAMC,IAAA,SAAS,EAAGtB,EAAE,CAAE,SAAF;AANf,KAQGW,UAAU,IACX,cAAC,SAAD,QACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,iBAAD;AACC,IAAA,SAAS,EACR,2CAFF;AAIC,IAAA,IAAI,EAAC,UAJN;AAKC,IAAA,mBAAmB,EAAGH,kBALvB;AAMC,IAAA,gBAAgB,EAAGE,QAAQ,GAAG,IAAH,GAAUa,SANtC;AAOC,IAAA,WAAW,EACV,8BACGvB,EAAE,CAAE,oBAAF,CADL,EAEC,cAAC,IAAD;AAAM,MAAA,IAAI,EAAGD;AAAb,MAFD;AARF,IADD,CADD,CATF,CADD;AA+BA","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, MenuGroup } from '@wordpress/components';\nimport { PostPreviewButton, store as editorStore } from '@wordpress/editor';\nimport { external } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalPreviewOptions as PreviewOptions } from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nexport default function DevicePreview() {\n\tconst {\n\t\thasActiveMetaboxes,\n\t\tisPostSaveable,\n\t\tisSaving,\n\t\tisViewable,\n\t\tdeviceType,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tisSaving: select( editPostStore ).isSavingMetaBoxes(),\n\t\t\tisPostSaveable: select( editorStore ).isEditedPostSaveable(),\n\t\t\tisViewable: get( postType, [ 'viewable' ], false ),\n\t\t\tdeviceType:\n\t\t\t\tselect( editPostStore ).__experimentalGetPreviewDeviceType(),\n\t\t};\n\t}, [] );\n\tconst { __experimentalSetPreviewDeviceType: setPreviewDeviceType } =\n\t\tuseDispatch( editPostStore );\n\n\treturn (\n\t\t<PreviewOptions\n\t\t\tisEnabled={ isPostSaveable }\n\t\t\tclassName=\"edit-post-post-preview-dropdown\"\n\t\t\tdeviceType={ deviceType }\n\t\t\tsetDeviceType={ setPreviewDeviceType }\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\tviewLabel={ __( 'Preview' ) }\n\t\t>\n\t\t\t{ isViewable && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<div className=\"edit-post-header-preview__grouping-external\">\n\t\t\t\t\t\t<PostPreviewButton\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t'edit-post-header-preview__button-external'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\tforceIsAutosaveable={ hasActiveMetaboxes }\n\t\t\t\t\t\t\tforcePreviewLink={ isSaving ? null : undefined }\n\t\t\t\t\t\t\ttextContent={\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ __( 'Preview in new tab' ) }\n\t\t\t\t\t\t\t\t\t<Icon icon={ external } />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</PreviewOptions>\n\t);\n}\n"]}
@@ -12,6 +12,7 @@ import { PostSavedState, PostPreviewButton } from '@wordpress/editor';
12
12
  import { useSelect } from '@wordpress/data';
13
13
  import { PinnedItems } from '@wordpress/interface';
14
14
  import { useViewportMatch } from '@wordpress/compose';
15
+ import { __unstableMotion as motion } from '@wordpress/components';
15
16
  /**
16
17
  * Internal dependencies
17
18
  */
@@ -27,32 +28,73 @@ import TemplateTitle from './template-title';
27
28
 
28
29
  function Header(_ref) {
29
30
  let {
30
- setEntitiesSavedStatesCallback
31
+ setEntitiesSavedStatesCallback,
32
+ isDistractionFree
31
33
  } = _ref;
32
34
  const {
33
35
  hasActiveMetaboxes,
34
36
  isPublishSidebarOpened,
35
37
  isSaving,
36
- showIconLabels,
37
- hasReducedUI
38
+ showIconLabels
38
39
  } = useSelect(select => ({
39
40
  hasActiveMetaboxes: select(editPostStore).hasMetaBoxes(),
40
41
  isPublishSidebarOpened: select(editPostStore).isPublishSidebarOpened(),
41
42
  isSaving: select(editPostStore).isSavingMetaBoxes(),
42
- showIconLabels: select(editPostStore).isFeatureActive('showIconLabels'),
43
- hasReducedUI: select(editPostStore).isFeatureActive('reducedUI')
43
+ showIconLabels: select(editPostStore).isFeatureActive('showIconLabels')
44
44
  }), []);
45
45
  const isLargeViewport = useViewportMatch('large');
46
- const classes = classnames('edit-post-header', {
47
- 'has-reduced-ui': hasReducedUI
48
- });
46
+ const classes = classnames('edit-post-header');
47
+ const slideY = {
48
+ hidden: isDistractionFree ? {
49
+ y: '-50'
50
+ } : {
51
+ y: 0
52
+ },
53
+ hover: {
54
+ y: 0,
55
+ transition: {
56
+ type: 'tween',
57
+ delay: 0.2
58
+ }
59
+ }
60
+ };
61
+ const slideX = {
62
+ hidden: isDistractionFree ? {
63
+ x: '-100%'
64
+ } : {
65
+ x: 0
66
+ },
67
+ hover: {
68
+ x: 0,
69
+ transition: {
70
+ type: 'tween',
71
+ delay: 0.2
72
+ }
73
+ }
74
+ };
49
75
  return createElement("div", {
50
76
  className: classes
51
- }, createElement(MainDashboardButton.Slot, null, createElement(FullscreenModeClose, {
77
+ }, createElement(MainDashboardButton.Slot, null, createElement(motion.div, {
78
+ variants: slideX,
79
+ transition: {
80
+ type: 'tween',
81
+ delay: 0.8
82
+ }
83
+ }, createElement(FullscreenModeClose, {
52
84
  showTooltip: true
53
- })), createElement("div", {
85
+ }))), createElement(motion.div, {
86
+ variants: slideY,
87
+ transition: {
88
+ type: 'tween',
89
+ delay: 0.8
90
+ },
54
91
  className: "edit-post-header__toolbar"
55
- }, createElement(HeaderToolbar, null), createElement(TemplateTitle, null)), createElement("div", {
92
+ }, createElement(HeaderToolbar, null), createElement(TemplateTitle, null)), createElement(motion.div, {
93
+ variants: slideY,
94
+ transition: {
95
+ type: 'tween',
96
+ delay: 0.8
97
+ },
56
98
  className: "edit-post-header__settings"
57
99
  }, !isPublishSidebarOpened && // This button isn't completely hidden by the publish sidebar.
58
100
  // We can't hide the whole toolbar when the publish sidebar is open because
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/header/index.js"],"names":["classnames","PostSavedState","PostPreviewButton","useSelect","PinnedItems","useViewportMatch","FullscreenModeClose","HeaderToolbar","MoreMenu","PostPublishButtonOrToggle","default","DevicePreview","MainDashboardButton","store","editPostStore","TemplateTitle","Header","setEntitiesSavedStatesCallback","hasActiveMetaboxes","isPublishSidebarOpened","isSaving","showIconLabels","hasReducedUI","select","hasMetaBoxes","isSavingMetaBoxes","isFeatureActive","isLargeViewport","classes","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,cAAT,EAAyBC,iBAAzB,QAAkD,mBAAlD;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,WAAT,QAA4B,sBAA5B;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AAEA;AACA;AACA;;AACA,OAAOC,mBAAP,MAAgC,yBAAhC;AACA,OAAOC,aAAP,MAA0B,kBAA1B;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,yBAAP,MAAsC,iCAAtC;AACA,SAASC,OAAO,IAAIC,aAApB,QAAyC,mBAAzC;AACA,OAAOC,mBAAP,MAAgC,yBAAhC;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AACA,OAAOC,aAAP,MAA0B,kBAA1B;;AAEA,SAASC,MAAT,OAAsD;AAAA,MAArC;AAAEC,IAAAA;AAAF,GAAqC;AACrD,QAAM;AACLC,IAAAA,kBADK;AAELC,IAAAA,sBAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,cAJK;AAKLC,IAAAA;AALK,MAMFnB,SAAS,CACVoB,MAAF,KAAgB;AACfL,IAAAA,kBAAkB,EAAEK,MAAM,CAAET,aAAF,CAAN,CAAwBU,YAAxB,EADL;AAEfL,IAAAA,sBAAsB,EACrBI,MAAM,CAAET,aAAF,CAAN,CAAwBK,sBAAxB,EAHc;AAIfC,IAAAA,QAAQ,EAAEG,MAAM,CAAET,aAAF,CAAN,CAAwBW,iBAAxB,EAJK;AAKfJ,IAAAA,cAAc,EACbE,MAAM,CAAET,aAAF,CAAN,CAAwBY,eAAxB,CAAyC,gBAAzC,CANc;AAOfJ,IAAAA,YAAY,EACXC,MAAM,CAAET,aAAF,CAAN,CAAwBY,eAAxB,CAAyC,WAAzC;AARc,GAAhB,CADY,EAWZ,EAXY,CANb;AAoBA,QAAMC,eAAe,GAAGtB,gBAAgB,CAAE,OAAF,CAAxC;AAEA,QAAMuB,OAAO,GAAG5B,UAAU,CAAE,kBAAF,EAAsB;AAC/C,sBAAkBsB;AAD6B,GAAtB,CAA1B;AAIA,SACC;AAAK,IAAA,SAAS,EAAGM;AAAjB,KACC,cAAC,mBAAD,CAAqB,IAArB,QACC,cAAC,mBAAD;AAAqB,IAAA,WAAW;AAAhC,IADD,CADD,EAIC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,aAAD,OADD,EAEC,cAAC,aAAD,OAFD,CAJD,EAQC;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,CAAET,sBAAF,IACD;AACA;AACA;AACA;AACA;AACA,gBAAC,cAAD;AACC,IAAA,YAAY,EAAGD,kBADhB;AAEC,IAAA,aAAa,EAAGE,QAFjB;AAGC,IAAA,cAAc,EAAGC;AAHlB,IAPF,EAaC,cAAC,aAAD,OAbD,EAcC,cAAC,iBAAD;AACC,IAAA,mBAAmB,EAAGH,kBADvB;AAEC,IAAA,gBAAgB,EAAGE,QAAQ,GAAG,IAAH,GAAUS;AAFtC,IAdD,EAkBC,cAAC,yBAAD;AACC,IAAA,YAAY,EAAGX,kBADhB;AAEC,IAAA,aAAa,EAAGE,QAFjB;AAGC,IAAA,8BAA8B,EAC7BH;AAJF,IAlBD,EAyBG,CAAEU,eAAe,IAAI,CAAEN,cAAvB,KACD,8BACC,cAAC,WAAD,CAAa,IAAb;AAAkB,IAAA,KAAK,EAAC;AAAxB,IADD,EAEC,cAAC,QAAD;AAAU,IAAA,cAAc,EAAGA;AAA3B,IAFD,CA1BF,EA+BGA,cAAc,IAAI,CAAEM,eAApB,IACD,cAAC,QAAD;AAAU,IAAA,cAAc,EAAGN;AAA3B,IAhCF,CARD,CADD;AA8CA;;AAED,eAAeL,MAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { PostSavedState, PostPreviewButton } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { PinnedItems } from '@wordpress/interface';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport FullscreenModeClose from './fullscreen-mode-close';\nimport HeaderToolbar from './header-toolbar';\nimport MoreMenu from './more-menu';\nimport PostPublishButtonOrToggle from './post-publish-button-or-toggle';\nimport { default as DevicePreview } from '../device-preview';\nimport MainDashboardButton from './main-dashboard-button';\nimport { store as editPostStore } from '../../store';\nimport TemplateTitle from './template-title';\n\nfunction Header( { setEntitiesSavedStatesCallback } ) {\n\tconst {\n\t\thasActiveMetaboxes,\n\t\tisPublishSidebarOpened,\n\t\tisSaving,\n\t\tshowIconLabels,\n\t\thasReducedUI,\n\t} = useSelect(\n\t\t( select ) => ( {\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tisPublishSidebarOpened:\n\t\t\t\tselect( editPostStore ).isPublishSidebarOpened(),\n\t\t\tisSaving: select( editPostStore ).isSavingMetaBoxes(),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\thasReducedUI:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'reducedUI' ),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\n\tconst classes = classnames( 'edit-post-header', {\n\t\t'has-reduced-ui': hasReducedUI,\n\t} );\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t<MainDashboardButton.Slot>\n\t\t\t\t<FullscreenModeClose showTooltip />\n\t\t\t</MainDashboardButton.Slot>\n\t\t\t<div className=\"edit-post-header__toolbar\">\n\t\t\t\t<HeaderToolbar />\n\t\t\t\t<TemplateTitle />\n\t\t\t</div>\n\t\t\t<div className=\"edit-post-header__settings\">\n\t\t\t\t{ ! isPublishSidebarOpened && (\n\t\t\t\t\t// This button isn't completely hidden by the publish sidebar.\n\t\t\t\t\t// We can't hide the whole toolbar when the publish sidebar is open because\n\t\t\t\t\t// we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node.\n\t\t\t\t\t// We track that DOM node to return focus to the PostPublishButtonOrToggle\n\t\t\t\t\t// when the publish sidebar has been closed.\n\t\t\t\t\t<PostSavedState\n\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\tforceIsSaving={ isSaving }\n\t\t\t\t\t\tshowIconLabels={ showIconLabels }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<DevicePreview />\n\t\t\t\t<PostPreviewButton\n\t\t\t\t\tforceIsAutosaveable={ hasActiveMetaboxes }\n\t\t\t\t\tforcePreviewLink={ isSaving ? null : undefined }\n\t\t\t\t/>\n\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\tforceIsSaving={ isSaving }\n\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ ( isLargeViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ showIconLabels && ! isLargeViewport && (\n\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default Header;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/header/index.js"],"names":["classnames","PostSavedState","PostPreviewButton","useSelect","PinnedItems","useViewportMatch","__unstableMotion","motion","FullscreenModeClose","HeaderToolbar","MoreMenu","PostPublishButtonOrToggle","default","DevicePreview","MainDashboardButton","store","editPostStore","TemplateTitle","Header","setEntitiesSavedStatesCallback","isDistractionFree","hasActiveMetaboxes","isPublishSidebarOpened","isSaving","showIconLabels","select","hasMetaBoxes","isSavingMetaBoxes","isFeatureActive","isLargeViewport","classes","slideY","hidden","y","hover","transition","type","delay","slideX","x","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { PostSavedState, PostPreviewButton } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { PinnedItems } from '@wordpress/interface';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { __unstableMotion as motion } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport FullscreenModeClose from './fullscreen-mode-close';\nimport HeaderToolbar from './header-toolbar';\nimport MoreMenu from './more-menu';\nimport PostPublishButtonOrToggle from './post-publish-button-or-toggle';\nimport { default as DevicePreview } from '../device-preview';\nimport MainDashboardButton from './main-dashboard-button';\nimport { store as editPostStore } from '../../store';\nimport TemplateTitle from './template-title';\n\nfunction Header( { setEntitiesSavedStatesCallback, isDistractionFree } ) {\n\tconst {\n\t\thasActiveMetaboxes,\n\t\tisPublishSidebarOpened,\n\t\tisSaving,\n\t\tshowIconLabels,\n\t} = useSelect(\n\t\t( select ) => ( {\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tisPublishSidebarOpened:\n\t\t\t\tselect( editPostStore ).isPublishSidebarOpened(),\n\t\t\tisSaving: select( editPostStore ).isSavingMetaBoxes(),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\n\tconst classes = classnames( 'edit-post-header' );\n\n\tconst slideY = {\n\t\thidden: isDistractionFree ? { y: '-50' } : { y: 0 },\n\t\thover: { y: 0, transition: { type: 'tween', delay: 0.2 } },\n\t};\n\n\tconst slideX = {\n\t\thidden: isDistractionFree ? { x: '-100%' } : { x: 0 },\n\t\thover: { x: 0, transition: { type: 'tween', delay: 0.2 } },\n\t};\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t<MainDashboardButton.Slot>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ slideX }\n\t\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\t>\n\t\t\t\t\t<FullscreenModeClose showTooltip />\n\t\t\t\t</motion.div>\n\t\t\t</MainDashboardButton.Slot>\n\t\t\t<motion.div\n\t\t\t\tvariants={ slideY }\n\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\tclassName=\"edit-post-header__toolbar\"\n\t\t\t>\n\t\t\t\t<HeaderToolbar />\n\t\t\t\t<TemplateTitle />\n\t\t\t</motion.div>\n\t\t\t<motion.div\n\t\t\t\tvariants={ slideY }\n\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\tclassName=\"edit-post-header__settings\"\n\t\t\t>\n\t\t\t\t{ ! isPublishSidebarOpened && (\n\t\t\t\t\t// This button isn't completely hidden by the publish sidebar.\n\t\t\t\t\t// We can't hide the whole toolbar when the publish sidebar is open because\n\t\t\t\t\t// we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node.\n\t\t\t\t\t// We track that DOM node to return focus to the PostPublishButtonOrToggle\n\t\t\t\t\t// when the publish sidebar has been closed.\n\t\t\t\t\t<PostSavedState\n\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\tforceIsSaving={ isSaving }\n\t\t\t\t\t\tshowIconLabels={ showIconLabels }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<DevicePreview />\n\t\t\t\t<PostPreviewButton\n\t\t\t\t\tforceIsAutosaveable={ hasActiveMetaboxes }\n\t\t\t\t\tforcePreviewLink={ isSaving ? null : undefined }\n\t\t\t\t/>\n\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\tforceIsSaving={ isSaving }\n\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ ( isLargeViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ showIconLabels && ! isLargeViewport && (\n\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t) }\n\t\t\t</motion.div>\n\t\t</div>\n\t);\n}\n\nexport default Header;\n"]}
@@ -35,7 +35,9 @@ const MoreMenu = _ref => {
35
35
  return createElement(Fragment, null, showIconLabels && !isLargeViewport && createElement(PinnedItems.Slot, {
36
36
  className: showIconLabels && 'show-icon-labels',
37
37
  scope: "core/edit-post"
38
- }), createElement(WritingMenu, null), createElement(ModeSwitcher, null), createElement(ActionItem.Slot, {
38
+ }), createElement(WritingMenu, {
39
+ onClose: onClose
40
+ }), createElement(ModeSwitcher, null), createElement(ActionItem.Slot, {
39
41
  name: "core/edit-post/plugin-more-menu",
40
42
  label: __('Plugins'),
41
43
  as: MenuGroup,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/header/more-menu/index.js"],"names":["__","MenuGroup","ActionItem","MoreMenuDropdown","PinnedItems","useViewportMatch","ModeSwitcher","PreferencesMenuItem","ToolsMoreMenuGroup","WritingMenu","MoreMenu","showIconLabels","isLargeViewport","showTooltip","variant","onClose","onClick"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,uBAA1B;AACA,SACCC,UADD,EAECC,gBAFD,EAGCC,WAHD,QAIO,sBAJP;AAKA,SAASC,gBAAT,QAAiC,oBAAjC;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,mBAAP,MAAgC,0BAAhC;AACA,OAAOC,kBAAP,MAA+B,0BAA/B;AACA,OAAOC,WAAP,MAAwB,iBAAxB;;AAEA,MAAMC,QAAQ,GAAG,QAA0B;AAAA,MAAxB;AAAEC,IAAAA;AAAF,GAAwB;AAC1C,QAAMC,eAAe,GAAGP,gBAAgB,CAAE,OAAF,CAAxC;AAEA,SACC,cAAC,gBAAD;AACC,IAAA,WAAW,EAAG;AACbQ,MAAAA,WAAW,EAAE,CAAEF,cADF;AAEb,UAAKA,cAAc,IAAI;AAAEG,QAAAA,OAAO,EAAE;AAAX,OAAvB;AAFa;AADf,KAMG;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WACD,8BACGJ,cAAc,IAAI,CAAEC,eAApB,IACD,cAAC,WAAD,CAAa,IAAb;AACC,MAAA,SAAS,EAAGD,cAAc,IAAI,kBAD/B;AAEC,MAAA,KAAK,EAAC;AAFP,MAFF,EAOC,cAAC,WAAD,OAPD,EAQC,cAAC,YAAD,OARD,EASC,cAAC,UAAD,CAAY,IAAZ;AACC,MAAA,IAAI,EAAC,iCADN;AAEC,MAAA,KAAK,EAAGX,EAAE,CAAE,SAAF,CAFX;AAGC,MAAA,EAAE,EAAGC,SAHN;AAIC,MAAA,SAAS,EAAG;AAAEe,QAAAA,OAAO,EAAED;AAAX;AAJb,MATD,EAeC,cAAC,kBAAD,CAAoB,IAApB;AAAyB,MAAA,SAAS,EAAG;AAAEA,QAAAA;AAAF;AAArC,MAfD,EAgBC,cAAC,SAAD,QACC,cAAC,mBAAD,OADD,CAhBD,CADC;AAAA,GANH,CADD;AA+BA,CAlCD;;AAoCA,eAAeL,QAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuGroup } from '@wordpress/components';\nimport {\n\tActionItem,\n\tMoreMenuDropdown,\n\tPinnedItems,\n} from '@wordpress/interface';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport ModeSwitcher from '../mode-switcher';\nimport PreferencesMenuItem from '../preferences-menu-item';\nimport ToolsMoreMenuGroup from '../tools-more-menu-group';\nimport WritingMenu from '../writing-menu';\n\nconst MoreMenu = ( { showIconLabels } ) => {\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\n\treturn (\n\t\t<MoreMenuDropdown\n\t\t\ttoggleProps={ {\n\t\t\t\tshowTooltip: ! showIconLabels,\n\t\t\t\t...( showIconLabels && { variant: 'tertiary' } ),\n\t\t\t} }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showIconLabels && ! isLargeViewport && (\n\t\t\t\t\t\t<PinnedItems.Slot\n\t\t\t\t\t\t\tclassName={ showIconLabels && 'show-icon-labels' }\n\t\t\t\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<WritingMenu />\n\t\t\t\t\t<ModeSwitcher />\n\t\t\t\t\t<ActionItem.Slot\n\t\t\t\t\t\tname=\"core/edit-post/plugin-more-menu\"\n\t\t\t\t\t\tlabel={ __( 'Plugins' ) }\n\t\t\t\t\t\tas={ MenuGroup }\n\t\t\t\t\t\tfillProps={ { onClick: onClose } }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsMoreMenuGroup.Slot fillProps={ { onClose } } />\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<PreferencesMenuItem />\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</MoreMenuDropdown>\n\t);\n};\n\nexport default MoreMenu;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/header/more-menu/index.js"],"names":["__","MenuGroup","ActionItem","MoreMenuDropdown","PinnedItems","useViewportMatch","ModeSwitcher","PreferencesMenuItem","ToolsMoreMenuGroup","WritingMenu","MoreMenu","showIconLabels","isLargeViewport","showTooltip","variant","onClose","onClick"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,uBAA1B;AACA,SACCC,UADD,EAECC,gBAFD,EAGCC,WAHD,QAIO,sBAJP;AAKA,SAASC,gBAAT,QAAiC,oBAAjC;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,mBAAP,MAAgC,0BAAhC;AACA,OAAOC,kBAAP,MAA+B,0BAA/B;AACA,OAAOC,WAAP,MAAwB,iBAAxB;;AAEA,MAAMC,QAAQ,GAAG,QAA0B;AAAA,MAAxB;AAAEC,IAAAA;AAAF,GAAwB;AAC1C,QAAMC,eAAe,GAAGP,gBAAgB,CAAE,OAAF,CAAxC;AAEA,SACC,cAAC,gBAAD;AACC,IAAA,WAAW,EAAG;AACbQ,MAAAA,WAAW,EAAE,CAAEF,cADF;AAEb,UAAKA,cAAc,IAAI;AAAEG,QAAAA,OAAO,EAAE;AAAX,OAAvB;AAFa;AADf,KAMG;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WACD,8BACGJ,cAAc,IAAI,CAAEC,eAApB,IACD,cAAC,WAAD,CAAa,IAAb;AACC,MAAA,SAAS,EAAGD,cAAc,IAAI,kBAD/B;AAEC,MAAA,KAAK,EAAC;AAFP,MAFF,EAOC,cAAC,WAAD;AAAa,MAAA,OAAO,EAAGI;AAAvB,MAPD,EAQC,cAAC,YAAD,OARD,EASC,cAAC,UAAD,CAAY,IAAZ;AACC,MAAA,IAAI,EAAC,iCADN;AAEC,MAAA,KAAK,EAAGf,EAAE,CAAE,SAAF,CAFX;AAGC,MAAA,EAAE,EAAGC,SAHN;AAIC,MAAA,SAAS,EAAG;AAAEe,QAAAA,OAAO,EAAED;AAAX;AAJb,MATD,EAeC,cAAC,kBAAD,CAAoB,IAApB;AAAyB,MAAA,SAAS,EAAG;AAAEA,QAAAA;AAAF;AAArC,MAfD,EAgBC,cAAC,SAAD,QACC,cAAC,mBAAD,OADD,CAhBD,CADC;AAAA,GANH,CADD;AA+BA,CAlCD;;AAoCA,eAAeL,QAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuGroup } from '@wordpress/components';\nimport {\n\tActionItem,\n\tMoreMenuDropdown,\n\tPinnedItems,\n} from '@wordpress/interface';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport ModeSwitcher from '../mode-switcher';\nimport PreferencesMenuItem from '../preferences-menu-item';\nimport ToolsMoreMenuGroup from '../tools-more-menu-group';\nimport WritingMenu from '../writing-menu';\n\nconst MoreMenu = ( { showIconLabels } ) => {\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\n\treturn (\n\t\t<MoreMenuDropdown\n\t\t\ttoggleProps={ {\n\t\t\t\tshowTooltip: ! showIconLabels,\n\t\t\t\t...( showIconLabels && { variant: 'tertiary' } ),\n\t\t\t} }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showIconLabels && ! isLargeViewport && (\n\t\t\t\t\t\t<PinnedItems.Slot\n\t\t\t\t\t\t\tclassName={ showIconLabels && 'show-icon-labels' }\n\t\t\t\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<WritingMenu onClose={ onClose } />\n\t\t\t\t\t<ModeSwitcher />\n\t\t\t\t\t<ActionItem.Slot\n\t\t\t\t\t\tname=\"core/edit-post/plugin-more-menu\"\n\t\t\t\t\t\tlabel={ __( 'Plugins' ) }\n\t\t\t\t\t\tas={ MenuGroup }\n\t\t\t\t\t\tfillProps={ { onClick: onClose } }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsMoreMenuGroup.Slot fillProps={ { onClose } } />\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<PreferencesMenuItem />\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</MoreMenuDropdown>\n\t);\n};\n\nexport default MoreMenu;\n"]}
@@ -3,13 +3,49 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
+ import { useSelect, useDispatch } from '@wordpress/data';
6
7
  import { MenuGroup } from '@wordpress/components';
7
8
  import { __, _x } from '@wordpress/i18n';
8
9
  import { useViewportMatch } from '@wordpress/compose';
9
10
  import { displayShortcut } from '@wordpress/keycodes';
10
- import { PreferenceToggleMenuItem } from '@wordpress/preferences';
11
+ import { PreferenceToggleMenuItem, store as preferencesStore } from '@wordpress/preferences';
12
+ import { store as blockEditorStore } from '@wordpress/block-editor';
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+
17
+ import { store as postEditorStore } from '../../../store';
18
+
19
+ function WritingMenu(_ref) {
20
+ let {
21
+ onClose
22
+ } = _ref;
23
+ const isDistractionFree = useSelect(select => select(blockEditorStore).getSettings().isDistractionFree, []);
24
+ const blocks = useSelect(select => select(blockEditorStore).getBlocks(), []);
25
+ const {
26
+ setIsInserterOpened,
27
+ setIsListViewOpened,
28
+ closeGeneralSidebar
29
+ } = useDispatch(postEditorStore);
30
+ const {
31
+ set: setPreference
32
+ } = useDispatch(preferencesStore);
33
+ const {
34
+ selectBlock
35
+ } = useDispatch(blockEditorStore);
36
+
37
+ const toggleDistractionFree = () => {
38
+ setPreference('core/edit-post', 'fixedToolbar', false);
39
+ setIsInserterOpened(false);
40
+ setIsListViewOpened(false);
41
+ closeGeneralSidebar();
42
+ onClose();
43
+
44
+ if (!isDistractionFree) {
45
+ selectBlock(blocks[0].clientId);
46
+ }
47
+ };
11
48
 
12
- function WritingMenu() {
13
49
  const isLargeViewport = useViewportMatch('medium');
14
50
 
15
51
  if (!isLargeViewport) {
@@ -20,6 +56,7 @@ function WritingMenu() {
20
56
  label: _x('View', 'noun')
21
57
  }, createElement(PreferenceToggleMenuItem, {
22
58
  scope: "core/edit-post",
59
+ disabled: isDistractionFree,
23
60
  name: "fixedToolbar",
24
61
  label: __('Top toolbar'),
25
62
  info: __('Access all block and document tools in a single place'),
@@ -36,10 +73,19 @@ function WritingMenu() {
36
73
  scope: "core/edit-post",
37
74
  name: "fullscreenMode",
38
75
  label: __('Fullscreen mode'),
39
- info: __('Work without distraction'),
76
+ info: __('Show and hide admin UI'),
40
77
  messageActivated: __('Fullscreen mode activated'),
41
78
  messageDeactivated: __('Fullscreen mode deactivated'),
42
79
  shortcut: displayShortcut.secondary('f')
80
+ }), createElement(PreferenceToggleMenuItem, {
81
+ scope: "core/edit-post",
82
+ name: "distractionFree",
83
+ toggleHandler: toggleDistractionFree,
84
+ label: __('Distraction free'),
85
+ info: __('Write with calmness'),
86
+ messageActivated: __('Distraction free mode activated'),
87
+ messageDeactivated: __('Distraction free mode deactivated'),
88
+ shortcut: displayShortcut.primaryShift('\\')
43
89
  }));
44
90
  }
45
91
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/header/writing-menu/index.js"],"names":["MenuGroup","__","_x","useViewportMatch","displayShortcut","PreferenceToggleMenuItem","WritingMenu","isLargeViewport","secondary"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,uBAA1B;AACA,SAASC,EAAT,EAAaC,EAAb,QAAuB,iBAAvB;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SAASC,eAAT,QAAgC,qBAAhC;AACA,SAASC,wBAAT,QAAyC,wBAAzC;;AAEA,SAASC,WAAT,GAAuB;AACtB,QAAMC,eAAe,GAAGJ,gBAAgB,CAAE,QAAF,CAAxC;;AACA,MAAK,CAAEI,eAAP,EAAyB;AACxB,WAAO,IAAP;AACA;;AAED,SACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGL,EAAE,CAAE,MAAF,EAAU,MAAV;AAArB,KACC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,gBADP;AAEC,IAAA,IAAI,EAAC,cAFN;AAGC,IAAA,KAAK,EAAGD,EAAE,CAAE,aAAF,CAHX;AAIC,IAAA,IAAI,EAAGA,EAAE,CACR,uDADQ,CAJV;AAOC,IAAA,gBAAgB,EAAGA,EAAE,CAAE,uBAAF,CAPtB;AAQC,IAAA,kBAAkB,EAAGA,EAAE,CAAE,yBAAF;AARxB,IADD,EAWC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,gBADP;AAEC,IAAA,IAAI,EAAC,WAFN;AAGC,IAAA,KAAK,EAAGA,EAAE,CAAE,gBAAF,CAHX;AAIC,IAAA,IAAI,EAAGA,EAAE,CAAE,8BAAF,CAJV;AAKC,IAAA,gBAAgB,EAAGA,EAAE,CAAE,0BAAF,CALtB;AAMC,IAAA,kBAAkB,EAAGA,EAAE,CAAE,4BAAF;AANxB,IAXD,EAmBC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,gBADP;AAEC,IAAA,IAAI,EAAC,gBAFN;AAGC,IAAA,KAAK,EAAGA,EAAE,CAAE,iBAAF,CAHX;AAIC,IAAA,IAAI,EAAGA,EAAE,CAAE,0BAAF,CAJV;AAKC,IAAA,gBAAgB,EAAGA,EAAE,CAAE,2BAAF,CALtB;AAMC,IAAA,kBAAkB,EAAGA,EAAE,CAAE,6BAAF,CANxB;AAOC,IAAA,QAAQ,EAAGG,eAAe,CAACI,SAAhB,CAA2B,GAA3B;AAPZ,IAnBD,CADD;AA+BA;;AAED,eAAeF,WAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuGroup } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { PreferenceToggleMenuItem } from '@wordpress/preferences';\n\nfunction WritingMenu() {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tif ( ! isLargeViewport ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup label={ _x( 'View', 'noun' ) }>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tname=\"fixedToolbar\"\n\t\t\t\tlabel={ __( 'Top toolbar' ) }\n\t\t\t\tinfo={ __(\n\t\t\t\t\t'Access all block and document tools in a single place'\n\t\t\t\t) }\n\t\t\t\tmessageActivated={ __( 'Top toolbar activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Top toolbar deactivated' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tname=\"focusMode\"\n\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\tinfo={ __( 'Focus on one block at a time' ) }\n\t\t\t\tmessageActivated={ __( 'Spotlight mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Spotlight mode deactivated' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tname=\"fullscreenMode\"\n\t\t\t\tlabel={ __( 'Fullscreen mode' ) }\n\t\t\t\tinfo={ __( 'Work without distraction' ) }\n\t\t\t\tmessageActivated={ __( 'Fullscreen mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Fullscreen mode deactivated' ) }\n\t\t\t\tshortcut={ displayShortcut.secondary( 'f' ) }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default WritingMenu;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/header/writing-menu/index.js"],"names":["useSelect","useDispatch","MenuGroup","__","_x","useViewportMatch","displayShortcut","PreferenceToggleMenuItem","store","preferencesStore","blockEditorStore","postEditorStore","WritingMenu","onClose","isDistractionFree","select","getSettings","blocks","getBlocks","setIsInserterOpened","setIsListViewOpened","closeGeneralSidebar","set","setPreference","selectBlock","toggleDistractionFree","clientId","isLargeViewport","secondary","primaryShift"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { MenuGroup } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport {\n\tPreferenceToggleMenuItem,\n\tstore as preferencesStore,\n} from '@wordpress/preferences';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as postEditorStore } from '../../../store';\n\nfunction WritingMenu( { onClose } ) {\n\tconst isDistractionFree = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().isDistractionFree,\n\t\t[]\n\t);\n\n\tconst blocks = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlocks(),\n\t\t[]\n\t);\n\n\tconst { setIsInserterOpened, setIsListViewOpened, closeGeneralSidebar } =\n\t\tuseDispatch( postEditorStore );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tconst toggleDistractionFree = () => {\n\t\tsetPreference( 'core/edit-post', 'fixedToolbar', false );\n\t\tsetIsInserterOpened( false );\n\t\tsetIsListViewOpened( false );\n\t\tcloseGeneralSidebar();\n\t\tonClose();\n\t\tif ( ! isDistractionFree ) {\n\t\t\tselectBlock( blocks[ 0 ].clientId );\n\t\t}\n\t};\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tif ( ! isLargeViewport ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup label={ _x( 'View', 'noun' ) }>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tdisabled={ isDistractionFree }\n\t\t\t\tname=\"fixedToolbar\"\n\t\t\t\tlabel={ __( 'Top toolbar' ) }\n\t\t\t\tinfo={ __(\n\t\t\t\t\t'Access all block and document tools in a single place'\n\t\t\t\t) }\n\t\t\t\tmessageActivated={ __( 'Top toolbar activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Top toolbar deactivated' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tname=\"focusMode\"\n\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\tinfo={ __( 'Focus on one block at a time' ) }\n\t\t\t\tmessageActivated={ __( 'Spotlight mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Spotlight mode deactivated' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tname=\"fullscreenMode\"\n\t\t\t\tlabel={ __( 'Fullscreen mode' ) }\n\t\t\t\tinfo={ __( 'Show and hide admin UI' ) }\n\t\t\t\tmessageActivated={ __( 'Fullscreen mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Fullscreen mode deactivated' ) }\n\t\t\t\tshortcut={ displayShortcut.secondary( 'f' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tname=\"distractionFree\"\n\t\t\t\ttoggleHandler={ toggleDistractionFree }\n\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\tinfo={ __( 'Write with calmness' ) }\n\t\t\t\tmessageActivated={ __( 'Distraction free mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Distraction free mode deactivated' ) }\n\t\t\t\tshortcut={ displayShortcut.primaryShift( '\\\\' ) }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default WritingMenu;\n"]}
@@ -4,9 +4,11 @@
4
4
  import { useEffect } from '@wordpress/element';
5
5
  import { useSelect, useDispatch } from '@wordpress/data';
6
6
  import { useShortcut, store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
7
- import { __ } from '@wordpress/i18n';
7
+ import { __, sprintf } from '@wordpress/i18n';
8
8
  import { store as editorStore } from '@wordpress/editor';
9
9
  import { store as blockEditorStore } from '@wordpress/block-editor';
10
+ import { store as noticesStore } from '@wordpress/notices';
11
+ import { store as preferencesStore } from '@wordpress/preferences';
10
12
  /**
11
13
  * Internal dependencies
12
14
  */
@@ -20,7 +22,8 @@ function KeyboardShortcuts() {
20
22
  const {
21
23
  getEditorMode,
22
24
  isEditorSidebarOpened,
23
- isListViewOpened
25
+ isListViewOpened,
26
+ isFeatureActive
24
27
  } = useSelect(editPostStore);
25
28
  const isModeToggleDisabled = useSelect(select => {
26
29
  const {
@@ -29,16 +32,31 @@ function KeyboardShortcuts() {
29
32
  } = select(editorStore).getEditorSettings();
30
33
  return !richEditingEnabled || !codeEditingEnabled;
31
34
  }, []);
35
+ const {
36
+ createInfoNotice
37
+ } = useDispatch(noticesStore);
32
38
  const {
33
39
  switchEditorMode,
34
40
  openGeneralSidebar,
35
41
  closeGeneralSidebar,
36
42
  toggleFeature,
37
- setIsListViewOpened
43
+ setIsListViewOpened,
44
+ setIsInserterOpened
38
45
  } = useDispatch(editPostStore);
39
46
  const {
40
47
  registerShortcut
41
48
  } = useDispatch(keyboardShortcutsStore);
49
+ const {
50
+ set: setPreference
51
+ } = useDispatch(preferencesStore);
52
+
53
+ const toggleDistractionFree = () => {
54
+ setPreference('core/edit-post', 'fixedToolbar', false);
55
+ setIsInserterOpened(false);
56
+ setIsListViewOpened(false);
57
+ closeGeneralSidebar();
58
+ };
59
+
42
60
  useEffect(() => {
43
61
  registerShortcut({
44
62
  name: 'core/edit-post/toggle-mode',
@@ -49,6 +67,15 @@ function KeyboardShortcuts() {
49
67
  character: 'm'
50
68
  }
51
69
  });
70
+ registerShortcut({
71
+ name: 'core/edit-post/toggle-distraction-free',
72
+ category: 'global',
73
+ description: __('Toggle disrtaction free mode.'),
74
+ keyCombination: {
75
+ modifier: 'primaryShift',
76
+ character: '\\'
77
+ }
78
+ });
52
79
  registerShortcut({
53
80
  name: 'core/edit-post/toggle-fullscreen',
54
81
  category: 'global',
@@ -120,6 +147,18 @@ function KeyboardShortcuts() {
120
147
  useShortcut('core/edit-post/toggle-fullscreen', () => {
121
148
  toggleFeature('fullscreenMode');
122
149
  });
150
+ useShortcut('core/edit-post/toggle-distraction-free', () => {
151
+ closeGeneralSidebar();
152
+ setIsListViewOpened(false);
153
+ toggleDistractionFree();
154
+ toggleFeature('distractionFree');
155
+ const modeState = isFeatureActive('distractionFree') ? __('on') : __('off');
156
+ createInfoNotice( // translators: Mode of distraction free can be 'on' or 'off';
157
+ sprintf(__('Distraction free mode turned %s.'), modeState), {
158
+ speak: true,
159
+ type: 'snackbar'
160
+ });
161
+ });
123
162
  useShortcut('core/edit-post/toggle-sidebar', event => {
124
163
  // This shortcut has no known clashes, but use preventDefault to prevent any
125
164
  // obscure shortcuts from triggering.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/keyboard-shortcuts/index.js"],"names":["useEffect","useSelect","useDispatch","useShortcut","store","keyboardShortcutsStore","__","editorStore","blockEditorStore","editPostStore","KeyboardShortcuts","getBlockSelectionStart","getEditorMode","isEditorSidebarOpened","isListViewOpened","isModeToggleDisabled","select","richEditingEnabled","codeEditingEnabled","getEditorSettings","switchEditorMode","openGeneralSidebar","closeGeneralSidebar","toggleFeature","setIsListViewOpened","registerShortcut","name","category","description","keyCombination","modifier","character","aliases","isDisabled","event","preventDefault","sidebarToOpen"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction KeyboardShortcuts() {\n\tconst { getBlockSelectionStart } = useSelect( blockEditorStore );\n\tconst { getEditorMode, isEditorSidebarOpened, isListViewOpened } =\n\t\tuseSelect( editPostStore );\n\tconst isModeToggleDisabled = useSelect( ( select ) => {\n\t\tconst { richEditingEnabled, codeEditingEnabled } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\treturn ! richEditingEnabled || ! codeEditingEnabled;\n\t}, [] );\n\n\tconst {\n\t\tswitchEditorMode,\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\ttoggleFeature,\n\t\tsetIsListViewOpened,\n\t} = useDispatch( editPostStore );\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-mode',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Switch between visual editor and code editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'm',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-fullscreen',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle fullscreen mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'f',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-list-view',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the block list view.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'o',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-sidebar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Show or hide the settings sidebar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: ',',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/next-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrl',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'n',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/previous-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'p',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/keyboard-shortcuts',\n\t\t\tcategory: 'main',\n\t\t\tdescription: __( 'Display these keyboard shortcuts.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'h',\n\t\t\t},\n\t\t} );\n\t}, [] );\n\n\tuseShortcut(\n\t\t'core/edit-post/toggle-mode',\n\t\t() => {\n\t\t\tswitchEditorMode(\n\t\t\t\tgetEditorMode() === 'visual' ? 'text' : 'visual'\n\t\t\t);\n\t\t},\n\t\t{\n\t\t\tisDisabled: isModeToggleDisabled,\n\t\t}\n\t);\n\n\tuseShortcut( 'core/edit-post/toggle-fullscreen', () => {\n\t\ttoggleFeature( 'fullscreenMode' );\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-sidebar', ( event ) => {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\n\t\tif ( isEditorSidebarOpened() ) {\n\t\t\tcloseGeneralSidebar();\n\t\t} else {\n\t\t\tconst sidebarToOpen = getBlockSelectionStart()\n\t\t\t\t? 'edit-post/block'\n\t\t\t\t: 'edit-post/document';\n\t\t\topenGeneralSidebar( sidebarToOpen );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-list-view', () =>\n\t\tsetIsListViewOpened( ! isListViewOpened() )\n\t);\n\n\treturn null;\n}\n\nexport default KeyboardShortcuts;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/keyboard-shortcuts/index.js"],"names":["useEffect","useSelect","useDispatch","useShortcut","store","keyboardShortcutsStore","__","sprintf","editorStore","blockEditorStore","noticesStore","preferencesStore","editPostStore","KeyboardShortcuts","getBlockSelectionStart","getEditorMode","isEditorSidebarOpened","isListViewOpened","isFeatureActive","isModeToggleDisabled","select","richEditingEnabled","codeEditingEnabled","getEditorSettings","createInfoNotice","switchEditorMode","openGeneralSidebar","closeGeneralSidebar","toggleFeature","setIsListViewOpened","setIsInserterOpened","registerShortcut","set","setPreference","toggleDistractionFree","name","category","description","keyCombination","modifier","character","aliases","isDisabled","modeState","speak","type","event","preventDefault","sidebarToOpen"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction KeyboardShortcuts() {\n\tconst { getBlockSelectionStart } = useSelect( blockEditorStore );\n\tconst {\n\t\tgetEditorMode,\n\t\tisEditorSidebarOpened,\n\t\tisListViewOpened,\n\t\tisFeatureActive,\n\t} = useSelect( editPostStore );\n\tconst isModeToggleDisabled = useSelect( ( select ) => {\n\t\tconst { richEditingEnabled, codeEditingEnabled } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\treturn ! richEditingEnabled || ! codeEditingEnabled;\n\t}, [] );\n\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\n\tconst {\n\t\tswitchEditorMode,\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\ttoggleFeature,\n\t\tsetIsListViewOpened,\n\t\tsetIsInserterOpened,\n\t} = useDispatch( editPostStore );\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\tconst toggleDistractionFree = () => {\n\t\tsetPreference( 'core/edit-post', 'fixedToolbar', false );\n\t\tsetIsInserterOpened( false );\n\t\tsetIsListViewOpened( false );\n\t\tcloseGeneralSidebar();\n\t};\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-mode',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Switch between visual editor and code editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'm',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-distraction-free',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle disrtaction free mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: '\\\\',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-fullscreen',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle fullscreen mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'f',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-list-view',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the block list view.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'o',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-sidebar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Show or hide the settings sidebar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: ',',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/next-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrl',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'n',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/previous-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'p',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/keyboard-shortcuts',\n\t\t\tcategory: 'main',\n\t\t\tdescription: __( 'Display these keyboard shortcuts.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'h',\n\t\t\t},\n\t\t} );\n\t}, [] );\n\n\tuseShortcut(\n\t\t'core/edit-post/toggle-mode',\n\t\t() => {\n\t\t\tswitchEditorMode(\n\t\t\t\tgetEditorMode() === 'visual' ? 'text' : 'visual'\n\t\t\t);\n\t\t},\n\t\t{\n\t\t\tisDisabled: isModeToggleDisabled,\n\t\t}\n\t);\n\n\tuseShortcut( 'core/edit-post/toggle-fullscreen', () => {\n\t\ttoggleFeature( 'fullscreenMode' );\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-distraction-free', () => {\n\t\tcloseGeneralSidebar();\n\t\tsetIsListViewOpened( false );\n\t\ttoggleDistractionFree();\n\t\ttoggleFeature( 'distractionFree' );\n\t\tconst modeState = isFeatureActive( 'distractionFree' )\n\t\t\t? __( 'on' )\n\t\t\t: __( 'off' );\n\t\tcreateInfoNotice(\n\t\t\t// translators: Mode of distraction free can be 'on' or 'off';\n\t\t\tsprintf( __( 'Distraction free mode turned %s.' ), modeState ),\n\t\t\t{\n\t\t\t\tspeak: true,\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-sidebar', ( event ) => {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\n\t\tif ( isEditorSidebarOpened() ) {\n\t\t\tcloseGeneralSidebar();\n\t\t} else {\n\t\t\tconst sidebarToOpen = getBlockSelectionStart()\n\t\t\t\t? 'edit-post/block'\n\t\t\t\t: 'edit-post/document';\n\t\t\topenGeneralSidebar( sidebarToOpen );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-list-view', () =>\n\t\tsetIsListViewOpened( ! isListViewOpened() )\n\t);\n\n\treturn null;\n}\n\nexport default KeyboardShortcuts;\n"]}