@wordpress/edit-site 5.12.11 → 5.12.12

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 (75) hide show
  1. package/build/components/global-styles/screen-revisions/index.js +8 -2
  2. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  3. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +31 -25
  4. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  5. package/build/components/keyboard-shortcuts/edit-mode.js +7 -5
  6. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  7. package/build/components/layout/index.js +6 -0
  8. package/build/components/layout/index.js.map +1 -1
  9. package/build/components/page-template-parts/index.js +1 -2
  10. package/build/components/page-template-parts/index.js.map +1 -1
  11. package/build/components/resizable-frame/index.js +11 -19
  12. package/build/components/resizable-frame/index.js.map +1 -1
  13. package/build/components/sidebar-navigation-screen/index.js +15 -13
  14. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  15. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +8 -0
  16. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  17. package/build/components/sidebar-navigation-screen-pages/index.js +2 -0
  18. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  19. package/build/components/sidebar-navigation-screen-patterns/index.js +0 -9
  20. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  21. package/build/components/sidebar-navigation-screen-templates/index.js +1 -10
  22. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  23. package/build/components/sidebar-navigation-screen-templates-browse/index.js +9 -0
  24. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  25. package/build/hooks/commands/use-edit-mode-commands.js +30 -0
  26. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  27. package/build/store/private-actions.js +2 -1
  28. package/build/store/private-actions.js.map +1 -1
  29. package/build-module/components/global-styles/screen-revisions/index.js +9 -3
  30. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  31. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +27 -21
  32. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  33. package/build-module/components/keyboard-shortcuts/edit-mode.js +7 -5
  34. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  35. package/build-module/components/layout/index.js +6 -0
  36. package/build-module/components/layout/index.js.map +1 -1
  37. package/build-module/components/page-template-parts/index.js +1 -2
  38. package/build-module/components/page-template-parts/index.js.map +1 -1
  39. package/build-module/components/resizable-frame/index.js +12 -20
  40. package/build-module/components/resizable-frame/index.js.map +1 -1
  41. package/build-module/components/sidebar-navigation-screen/index.js +13 -13
  42. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  43. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +7 -0
  44. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  45. package/build-module/components/sidebar-navigation-screen-pages/index.js +2 -0
  46. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  47. package/build-module/components/sidebar-navigation-screen-patterns/index.js +0 -7
  48. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  49. package/build-module/components/sidebar-navigation-screen-templates/index.js +1 -8
  50. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  51. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +7 -0
  52. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  53. package/build-module/hooks/commands/use-edit-mode-commands.js +29 -0
  54. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  55. package/build-module/store/private-actions.js +2 -1
  56. package/build-module/store/private-actions.js.map +1 -1
  57. package/build-style/style-rtl.css +3 -0
  58. package/build-style/style.css +3 -0
  59. package/package.json +20 -20
  60. package/src/components/global-styles/screen-revisions/index.js +76 -58
  61. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +14 -1
  62. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +63 -48
  63. package/src/components/keyboard-shortcuts/edit-mode.js +4 -5
  64. package/src/components/layout/index.js +6 -0
  65. package/src/components/page-patterns/style.scss +3 -0
  66. package/src/components/page-template-parts/index.js +0 -1
  67. package/src/components/resizable-frame/index.js +10 -25
  68. package/src/components/sidebar-navigation-screen/index.js +13 -15
  69. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +27 -15
  70. package/src/components/sidebar-navigation-screen-pages/index.js +9 -4
  71. package/src/components/sidebar-navigation-screen-patterns/index.js +0 -8
  72. package/src/components/sidebar-navigation-screen-templates/index.js +1 -9
  73. package/src/components/sidebar-navigation-screen-templates-browse/index.js +10 -0
  74. package/src/hooks/commands/use-edit-mode-commands.js +34 -3
  75. package/src/store/private-actions.js +5 -1
@@ -21,6 +21,8 @@ var _preferences = require("@wordpress/preferences");
21
21
 
22
22
  var _interface = require("@wordpress/interface");
23
23
 
24
+ var _notices = require("@wordpress/notices");
25
+
24
26
  var _store = require("../../store");
25
27
 
26
28
  var _useEditedEntityRecord = _interopRequireDefault(require("../../components/use-edited-entity-record"));
@@ -167,6 +169,8 @@ function useEditUICommands() {
167
169
  const {
168
170
  openGeneralSidebar,
169
171
  closeGeneralSidebar,
172
+ setIsInserterOpened,
173
+ setIsListViewOpened,
170
174
  switchEditorMode
171
175
  } = (0, _data.useDispatch)(_store.store);
172
176
  const {
@@ -182,8 +186,15 @@ function useEditUICommands() {
182
186
  openModal
183
187
  } = (0, _data.useDispatch)(_interface.store);
184
188
  const {
189
+ get: getPreference
190
+ } = (0, _data.useSelect)(_preferences.store);
191
+ const {
192
+ set: setPreference,
185
193
  toggle
186
194
  } = (0, _data.useDispatch)(_preferences.store);
195
+ const {
196
+ createInfoNotice
197
+ } = (0, _data.useDispatch)(_notices.store);
187
198
 
188
199
  if (canvasMode !== 'edit') {
189
200
  return {
@@ -236,6 +247,25 @@ function useEditUICommands() {
236
247
  close();
237
248
  }
238
249
  });
250
+ commands.push({
251
+ name: 'core/toggle-distraction-free',
252
+ label: (0, _i18n.__)('Toggle distraction free'),
253
+ icon: _icons.cog,
254
+ callback: ({
255
+ close
256
+ }) => {
257
+ setPreference('core/edit-site', 'fixedToolbar', false);
258
+ setIsInserterOpened(false);
259
+ setIsListViewOpened(false);
260
+ closeGeneralSidebar();
261
+ toggle('core/edit-site', 'distractionFree');
262
+ createInfoNotice(getPreference('core/edit-site', 'distractionFree') ? (0, _i18n.__)('Distraction free mode turned on.') : (0, _i18n.__)('Distraction free mode turned off.'), {
263
+ id: 'core/edit-site/distraction-free-mode/notice',
264
+ type: 'snackbar'
265
+ });
266
+ close();
267
+ }
268
+ });
239
269
  commands.push({
240
270
  name: 'core/toggle-top-toolbar',
241
271
  label: (0, _i18n.__)('Toggle top toolbar'),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/hooks/commands/use-edit-mode-commands.js"],"names":["useHistory","routerPrivateApis","usePageContentFocusCommands","isPage","canvasMode","hasPageContentFocus","select","editSiteStore","getCanvasMode","setHasPageContentFocus","isLoading","commands","push","name","label","icon","layout","callback","close","page","useManipulateDocumentCommands","isLoaded","record","template","removeTemplate","revertTemplate","history","type","backup","path","trash","useEditUICommands","openGeneralSidebar","closeGeneralSidebar","switchEditorMode","editorMode","activeSidebar","getEditorMode","interfaceStore","getActiveComplementaryArea","openModal","toggle","preferencesStore","drawerLeft","drawerRight","blockDefault","cog","code","PREFERENCES_MODAL_NAME","keyboardClose","KEYBOARD_SHORTCUT_HELP_MODAL_NAME","useEditModeCommands","hook","context"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\ttrash,\n\tbackup,\n\tlayout,\n\tpage,\n\tdrawerLeft,\n\tdrawerRight,\n\tblockDefault,\n\tcog,\n\tcode,\n\tkeyboardClose,\n} from '@wordpress/icons';\nimport { useCommandLoader } from '@wordpress/commands';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport useEditedEntityRecord from '../../components/use-edited-entity-record';\nimport isTemplateRemovable from '../../utils/is-template-removable';\nimport isTemplateRevertable from '../../utils/is-template-revertable';\nimport { KEYBOARD_SHORTCUT_HELP_MODAL_NAME } from '../../components/keyboard-shortcut-help-modal';\nimport { PREFERENCES_MODAL_NAME } from '../../components/preferences-modal';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nfunction usePageContentFocusCommands() {\n\tconst { isPage, canvasMode, hasPageContentFocus } = useSelect(\n\t\t( select ) => ( {\n\t\t\tisPage: select( editSiteStore ).isPage(),\n\t\t\tcanvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),\n\t\t\thasPageContentFocus: select( editSiteStore ).hasPageContentFocus(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tif ( ! isPage || canvasMode !== 'edit' ) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tif ( hasPageContentFocus ) {\n\t\tcommands.push( {\n\t\t\tname: 'core/switch-to-template-focus',\n\t\t\tlabel: __( 'Edit template' ),\n\t\t\ticon: layout,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tsetHasPageContentFocus( false );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t} else {\n\t\tcommands.push( {\n\t\t\tname: 'core/switch-to-page-focus',\n\t\t\tlabel: __( 'Back to page' ),\n\t\t\ticon: page,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tsetHasPageContentFocus( true );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn { isLoading: false, commands };\n}\n\nfunction useManipulateDocumentCommands() {\n\tconst { isLoaded, record: template } = useEditedEntityRecord();\n\tconst { removeTemplate, revertTemplate } = useDispatch( editSiteStore );\n\tconst history = useHistory();\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\n\tif ( ! isLoaded ) {\n\t\treturn { isLoading: true, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tif ( isTemplateRevertable( template ) && ! hasPageContentFocus ) {\n\t\tconst label =\n\t\t\ttemplate.type === 'wp_template'\n\t\t\t\t? __( 'Reset template' )\n\t\t\t\t: __( 'Reset template part' );\n\t\tcommands.push( {\n\t\t\tname: 'core/reset-template',\n\t\t\tlabel,\n\t\t\ticon: backup,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\trevertTemplate( template );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\tif ( isTemplateRemovable( template ) && ! hasPageContentFocus ) {\n\t\tconst label =\n\t\t\ttemplate.type === 'wp_template'\n\t\t\t\t? __( 'Delete template' )\n\t\t\t\t: __( 'Delete template part' );\n\t\tconst path =\n\t\t\ttemplate.type === 'wp_template'\n\t\t\t\t? '/wp_template'\n\t\t\t\t: '/wp_template_part/all';\n\t\tcommands.push( {\n\t\t\tname: 'core/remove-template',\n\t\t\tlabel,\n\t\t\ticon: trash,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tremoveTemplate( template );\n\t\t\t\t// Navigate to the template list\n\t\t\t\thistory.push( {\n\t\t\t\t\tpath,\n\t\t\t\t} );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn {\n\t\tisLoading: ! isLoaded,\n\t\tcommands,\n\t};\n}\n\nfunction useEditUICommands() {\n\tconst { openGeneralSidebar, closeGeneralSidebar, switchEditorMode } =\n\t\tuseDispatch( editSiteStore );\n\tconst { canvasMode, editorMode, activeSidebar } = useSelect(\n\t\t( select ) => ( {\n\t\t\tcanvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),\n\t\t\teditorMode: select( editSiteStore ).getEditorMode(),\n\t\t\tactiveSidebar: select( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t} ),\n\t\t[]\n\t);\n\tconst { openModal } = useDispatch( interfaceStore );\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\tif ( canvasMode !== 'edit' ) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tcommands.push( {\n\t\tname: 'core/open-settings-sidebar',\n\t\tlabel: __( 'Toggle settings sidebar' ),\n\t\ticon: isRTL() ? drawerLeft : drawerRight,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-site/template' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-site/template' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/open-block-inspector',\n\t\tlabel: __( 'Toggle block inspector' ),\n\t\ticon: blockDefault,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-site/block-inspector' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-site/block-inspector' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-spotlight-mode',\n\t\tlabel: __( 'Toggle spotlight mode' ),\n\t\ticon: cog,\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-site', 'focusMode' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-top-toolbar',\n\t\tlabel: __( 'Toggle top toolbar' ),\n\t\ticon: cog,\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-site', 'fixedToolbar' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-code-editor',\n\t\tlabel: __( 'Toggle code editor' ),\n\t\ticon: code,\n\t\tcallback: ( { close } ) => {\n\t\t\tswitchEditorMode( editorMode === 'visual' ? 'text' : 'visual' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/open-preferences',\n\t\tlabel: __( 'Open editor preferences' ),\n\t\ticon: cog,\n\t\tcallback: () => {\n\t\t\topenModal( PREFERENCES_MODAL_NAME );\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/open-shortcut-help',\n\t\tlabel: __( 'Open keyboard shortcuts' ),\n\t\ticon: keyboardClose,\n\t\tcallback: () => {\n\t\t\topenModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME );\n\t\t},\n\t} );\n\n\treturn {\n\t\tisLoading: false,\n\t\tcommands,\n\t};\n}\n\nexport function useEditModeCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/page-content-focus',\n\t\thook: usePageContentFocusCommands,\n\t\tcontext: 'site-editor-edit',\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/manipulate-document',\n\t\thook: useManipulateDocumentCommands,\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/edit-ui',\n\t\thook: useEditUICommands,\n\t} );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/hooks/commands/use-edit-mode-commands.js"],"names":["useHistory","routerPrivateApis","usePageContentFocusCommands","isPage","canvasMode","hasPageContentFocus","select","editSiteStore","getCanvasMode","setHasPageContentFocus","isLoading","commands","push","name","label","icon","layout","callback","close","page","useManipulateDocumentCommands","isLoaded","record","template","removeTemplate","revertTemplate","history","type","backup","path","trash","useEditUICommands","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","setIsListViewOpened","switchEditorMode","editorMode","activeSidebar","getEditorMode","interfaceStore","getActiveComplementaryArea","openModal","get","getPreference","preferencesStore","set","setPreference","toggle","createInfoNotice","noticesStore","drawerLeft","drawerRight","blockDefault","cog","id","code","PREFERENCES_MODAL_NAME","keyboardClose","KEYBOARD_SHORTCUT_HELP_MODAL_NAME","useEditModeCommands","hook","context"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\ttrash,\n\tbackup,\n\tlayout,\n\tpage,\n\tdrawerLeft,\n\tdrawerRight,\n\tblockDefault,\n\tcog,\n\tcode,\n\tkeyboardClose,\n} from '@wordpress/icons';\nimport { useCommandLoader } from '@wordpress/commands';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport useEditedEntityRecord from '../../components/use-edited-entity-record';\nimport isTemplateRemovable from '../../utils/is-template-removable';\nimport isTemplateRevertable from '../../utils/is-template-revertable';\nimport { KEYBOARD_SHORTCUT_HELP_MODAL_NAME } from '../../components/keyboard-shortcut-help-modal';\nimport { PREFERENCES_MODAL_NAME } from '../../components/preferences-modal';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nfunction usePageContentFocusCommands() {\n\tconst { isPage, canvasMode, hasPageContentFocus } = useSelect(\n\t\t( select ) => ( {\n\t\t\tisPage: select( editSiteStore ).isPage(),\n\t\t\tcanvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),\n\t\t\thasPageContentFocus: select( editSiteStore ).hasPageContentFocus(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tif ( ! isPage || canvasMode !== 'edit' ) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tif ( hasPageContentFocus ) {\n\t\tcommands.push( {\n\t\t\tname: 'core/switch-to-template-focus',\n\t\t\tlabel: __( 'Edit template' ),\n\t\t\ticon: layout,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tsetHasPageContentFocus( false );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t} else {\n\t\tcommands.push( {\n\t\t\tname: 'core/switch-to-page-focus',\n\t\t\tlabel: __( 'Back to page' ),\n\t\t\ticon: page,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tsetHasPageContentFocus( true );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn { isLoading: false, commands };\n}\n\nfunction useManipulateDocumentCommands() {\n\tconst { isLoaded, record: template } = useEditedEntityRecord();\n\tconst { removeTemplate, revertTemplate } = useDispatch( editSiteStore );\n\tconst history = useHistory();\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\n\tif ( ! isLoaded ) {\n\t\treturn { isLoading: true, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tif ( isTemplateRevertable( template ) && ! hasPageContentFocus ) {\n\t\tconst label =\n\t\t\ttemplate.type === 'wp_template'\n\t\t\t\t? __( 'Reset template' )\n\t\t\t\t: __( 'Reset template part' );\n\t\tcommands.push( {\n\t\t\tname: 'core/reset-template',\n\t\t\tlabel,\n\t\t\ticon: backup,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\trevertTemplate( template );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\tif ( isTemplateRemovable( template ) && ! hasPageContentFocus ) {\n\t\tconst label =\n\t\t\ttemplate.type === 'wp_template'\n\t\t\t\t? __( 'Delete template' )\n\t\t\t\t: __( 'Delete template part' );\n\t\tconst path =\n\t\t\ttemplate.type === 'wp_template'\n\t\t\t\t? '/wp_template'\n\t\t\t\t: '/wp_template_part/all';\n\t\tcommands.push( {\n\t\t\tname: 'core/remove-template',\n\t\t\tlabel,\n\t\t\ticon: trash,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tremoveTemplate( template );\n\t\t\t\t// Navigate to the template list\n\t\t\t\thistory.push( {\n\t\t\t\t\tpath,\n\t\t\t\t} );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn {\n\t\tisLoading: ! isLoaded,\n\t\tcommands,\n\t};\n}\n\nfunction useEditUICommands() {\n\tconst {\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\tsetIsInserterOpened,\n\t\tsetIsListViewOpened,\n\t\tswitchEditorMode,\n\t} = useDispatch( editSiteStore );\n\tconst { canvasMode, editorMode, activeSidebar } = useSelect(\n\t\t( select ) => ( {\n\t\t\tcanvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),\n\t\t\teditorMode: select( editSiteStore ).getEditorMode(),\n\t\t\tactiveSidebar: select( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t} ),\n\t\t[]\n\t);\n\tconst { openModal } = useDispatch( interfaceStore );\n\tconst { get: getPreference } = useSelect( preferencesStore );\n\tconst { set: setPreference, toggle } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\n\tif ( canvasMode !== 'edit' ) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tcommands.push( {\n\t\tname: 'core/open-settings-sidebar',\n\t\tlabel: __( 'Toggle settings sidebar' ),\n\t\ticon: isRTL() ? drawerLeft : drawerRight,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-site/template' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-site/template' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/open-block-inspector',\n\t\tlabel: __( 'Toggle block inspector' ),\n\t\ticon: blockDefault,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-site/block-inspector' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-site/block-inspector' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-spotlight-mode',\n\t\tlabel: __( 'Toggle spotlight mode' ),\n\t\ticon: cog,\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-site', 'focusMode' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-distraction-free',\n\t\tlabel: __( 'Toggle distraction free' ),\n\t\ticon: cog,\n\t\tcallback: ( { close } ) => {\n\t\t\tsetPreference( 'core/edit-site', 'fixedToolbar', false );\n\t\t\tsetIsInserterOpened( false );\n\t\t\tsetIsListViewOpened( false );\n\t\t\tcloseGeneralSidebar();\n\t\t\ttoggle( 'core/edit-site', 'distractionFree' );\n\t\t\tcreateInfoNotice(\n\t\t\t\tgetPreference( 'core/edit-site', 'distractionFree' )\n\t\t\t\t\t? __( 'Distraction free mode turned on.' )\n\t\t\t\t\t: __( 'Distraction free mode turned off.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-site/distraction-free-mode/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-top-toolbar',\n\t\tlabel: __( 'Toggle top toolbar' ),\n\t\ticon: cog,\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core/edit-site', 'fixedToolbar' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-code-editor',\n\t\tlabel: __( 'Toggle code editor' ),\n\t\ticon: code,\n\t\tcallback: ( { close } ) => {\n\t\t\tswitchEditorMode( editorMode === 'visual' ? 'text' : 'visual' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/open-preferences',\n\t\tlabel: __( 'Open editor preferences' ),\n\t\ticon: cog,\n\t\tcallback: () => {\n\t\t\topenModal( PREFERENCES_MODAL_NAME );\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/open-shortcut-help',\n\t\tlabel: __( 'Open keyboard shortcuts' ),\n\t\ticon: keyboardClose,\n\t\tcallback: () => {\n\t\t\topenModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME );\n\t\t},\n\t} );\n\n\treturn {\n\t\tisLoading: false,\n\t\tcommands,\n\t};\n}\n\nexport function useEditModeCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/page-content-focus',\n\t\thook: usePageContentFocusCommands,\n\t\tcontext: 'site-editor-edit',\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/manipulate-document',\n\t\thook: useManipulateDocumentCommands,\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/edit-ui',\n\t\thook: useEditUICommands,\n\t} );\n}\n"]}
@@ -29,8 +29,9 @@ const setCanvasMode = mode => ({
29
29
  type: 'SET_CANVAS_MODE',
30
30
  mode
31
31
  }); // Check if the block list view should be open by default.
32
+ // If `distractionFree` mode is enabled, the block list view should not be open.
32
33
 
33
- if (mode === 'edit' && registry.select(_preferences.store).get('core/edit-site', 'showListViewByDefault')) {
34
+ if (mode === 'edit' && registry.select(_preferences.store).get('core/edit-site', 'showListViewByDefault') && !registry.select(_preferences.store).get('core/edit-site', 'distractionFree')) {
34
35
  dispatch.setIsListViewOpened(true);
35
36
  } // Switch focus away from editing the template when switching to view mode.
36
37
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/store/private-actions.js"],"names":["setCanvasMode","mode","registry","dispatch","select","blockEditorStore","__unstableSetEditorMode","type","preferencesStore","get","setIsListViewOpened","isPage","setHasPageContentFocus","setEditorCanvasContainerView","view"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACO,MAAMA,aAAa,GACvBC,IAAF,IACA,CAAE;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,QAAZ;AAAsBC,EAAAA;AAAtB,CAAF,KAAsC;AACrCF,EAAAA,QAAQ,CAACC,QAAT,CAAmBE,kBAAnB,EAAsCC,uBAAtC,CAA+D,MAA/D;;AACAH,EAAAA,QAAQ,CAAE;AACTI,IAAAA,IAAI,EAAE,iBADG;AAETN,IAAAA;AAFS,GAAF,CAAR,CAFqC,CAMrC;;AACA,MACCA,IAAI,KAAK,MAAT,IACAC,QAAQ,CACNE,MADF,CACUI,kBADV,EAEEC,GAFF,CAEO,gBAFP,EAEyB,uBAFzB,CAFD,EAKE;AACDN,IAAAA,QAAQ,CAACO,mBAAT,CAA8B,IAA9B;AACA,GAdoC,CAerC;;;AACA,MAAKT,IAAI,KAAK,MAAT,IAAmBG,MAAM,CAACO,MAAP,EAAxB,EAA0C;AACzCR,IAAAA,QAAQ,CAACS,sBAAT,CAAiC,IAAjC;AACA;AACD,CArBK;AAuBP;AACA;AACA;AACA;AACA;;;;;AACO,MAAMC,4BAA4B,GACtCC,IAAF,IACA,CAAE;AAAEX,EAAAA;AAAF,CAAF,KAAoB;AACnBA,EAAAA,QAAQ,CAAE;AACTI,IAAAA,IAAI,EAAE,kCADG;AAETO,IAAAA;AAFS,GAAF,CAAR;AAIA,CAPK","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Action that switches the canvas mode.\n *\n * @param {?string} mode Canvas mode.\n */\nexport const setCanvasMode =\n\t( mode ) =>\n\t( { registry, dispatch, select } ) => {\n\t\tregistry.dispatch( blockEditorStore ).__unstableSetEditorMode( 'edit' );\n\t\tdispatch( {\n\t\t\ttype: 'SET_CANVAS_MODE',\n\t\t\tmode,\n\t\t} );\n\t\t// Check if the block list view should be open by default.\n\t\tif (\n\t\t\tmode === 'edit' &&\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-site', 'showListViewByDefault' )\n\t\t) {\n\t\t\tdispatch.setIsListViewOpened( true );\n\t\t}\n\t\t// Switch focus away from editing the template when switching to view mode.\n\t\tif ( mode === 'view' && select.isPage() ) {\n\t\t\tdispatch.setHasPageContentFocus( true );\n\t\t}\n\t};\n\n/**\n * Action that switches the editor canvas container view.\n *\n * @param {?string} view Editor canvas container view.\n */\nexport const setEditorCanvasContainerView =\n\t( view ) =>\n\t( { dispatch } ) => {\n\t\tdispatch( {\n\t\t\ttype: 'SET_EDITOR_CANVAS_CONTAINER_VIEW',\n\t\t\tview,\n\t\t} );\n\t};\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/store/private-actions.js"],"names":["setCanvasMode","mode","registry","dispatch","select","blockEditorStore","__unstableSetEditorMode","type","preferencesStore","get","setIsListViewOpened","isPage","setHasPageContentFocus","setEditorCanvasContainerView","view"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACO,MAAMA,aAAa,GACvBC,IAAF,IACA,CAAE;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,QAAZ;AAAsBC,EAAAA;AAAtB,CAAF,KAAsC;AACrCF,EAAAA,QAAQ,CAACC,QAAT,CAAmBE,kBAAnB,EAAsCC,uBAAtC,CAA+D,MAA/D;;AACAH,EAAAA,QAAQ,CAAE;AACTI,IAAAA,IAAI,EAAE,iBADG;AAETN,IAAAA;AAFS,GAAF,CAAR,CAFqC,CAMrC;AACA;;AACA,MACCA,IAAI,KAAK,MAAT,IACAC,QAAQ,CACNE,MADF,CACUI,kBADV,EAEEC,GAFF,CAEO,gBAFP,EAEyB,uBAFzB,CADA,IAIA,CAAEP,QAAQ,CACRE,MADA,CACQI,kBADR,EAEAC,GAFA,CAEK,gBAFL,EAEuB,iBAFvB,CALH,EAQE;AACDN,IAAAA,QAAQ,CAACO,mBAAT,CAA8B,IAA9B;AACA,GAlBoC,CAmBrC;;;AACA,MAAKT,IAAI,KAAK,MAAT,IAAmBG,MAAM,CAACO,MAAP,EAAxB,EAA0C;AACzCR,IAAAA,QAAQ,CAACS,sBAAT,CAAiC,IAAjC;AACA;AACD,CAzBK;AA2BP;AACA;AACA;AACA;AACA;;;;;AACO,MAAMC,4BAA4B,GACtCC,IAAF,IACA,CAAE;AAAEX,EAAAA;AAAF,CAAF,KAAoB;AACnBA,EAAAA,QAAQ,CAAE;AACTI,IAAAA,IAAI,EAAE,kCADG;AAETO,IAAAA;AAFS,GAAF,CAAR;AAIA,CAPK","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Action that switches the canvas mode.\n *\n * @param {?string} mode Canvas mode.\n */\nexport const setCanvasMode =\n\t( mode ) =>\n\t( { registry, dispatch, select } ) => {\n\t\tregistry.dispatch( blockEditorStore ).__unstableSetEditorMode( 'edit' );\n\t\tdispatch( {\n\t\t\ttype: 'SET_CANVAS_MODE',\n\t\t\tmode,\n\t\t} );\n\t\t// Check if the block list view should be open by default.\n\t\t// If `distractionFree` mode is enabled, the block list view should not be open.\n\t\tif (\n\t\t\tmode === 'edit' &&\n\t\t\tregistry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-site', 'showListViewByDefault' ) &&\n\t\t\t! registry\n\t\t\t\t.select( preferencesStore )\n\t\t\t\t.get( 'core/edit-site', 'distractionFree' )\n\t\t) {\n\t\t\tdispatch.setIsListViewOpened( true );\n\t\t}\n\t\t// Switch focus away from editing the template when switching to view mode.\n\t\tif ( mode === 'view' && select.isPage() ) {\n\t\t\tdispatch.setHasPageContentFocus( true );\n\t\t}\n\t};\n\n/**\n * Action that switches the editor canvas container view.\n *\n * @param {?string} view Editor canvas container view.\n */\nexport const setEditorCanvasContainerView =\n\t( view ) =>\n\t( { dispatch } ) => {\n\t\tdispatch( {\n\t\t\ttype: 'SET_EDITOR_CANVAS_CONTAINER_VIEW',\n\t\t\tview,\n\t\t} );\n\t};\n"]}
@@ -4,7 +4,7 @@ import { createElement, Fragment } from "@wordpress/element";
4
4
  * WordPress dependencies
5
5
  */
6
6
  import { __ } from '@wordpress/i18n';
7
- import { Button, __experimentalUseNavigator as useNavigator, __experimentalConfirmDialog as ConfirmDialog, Spinner } from '@wordpress/components';
7
+ import { Button, __experimentalUseNavigator as useNavigator, __experimentalConfirmDialog as ConfirmDialog, Spinner, __experimentalSpacer as Spacer } from '@wordpress/components';
8
8
  import { useSelect, useDispatch } from '@wordpress/data';
9
9
  import { useContext, useState, useEffect } from '@wordpress/element';
10
10
  import { privateApis as blockEditorPrivateApis, store as blockEditorStore } from '@wordpress/block-editor';
@@ -82,12 +82,13 @@ function ScreenRevisions() {
82
82
  };
83
83
 
84
84
  const isLoadButtonEnabled = !!globalStylesRevision?.id && !areGlobalStyleConfigsEqual(globalStylesRevision, userConfig);
85
+ const shouldShowRevisions = !isLoading && revisions.length;
85
86
  return createElement(Fragment, null, createElement(ScreenHeader, {
86
87
  title: __('Revisions'),
87
88
  description: __('Revisions are added to the timeline when style changes are saved.')
88
89
  }), isLoading && createElement(Spinner, {
89
90
  className: "edit-site-global-styles-screen-revisions__loading"
90
- }), !isLoading && createElement(Revisions, {
91
+ }), shouldShowRevisions ? createElement(Fragment, null, createElement(Revisions, {
91
92
  blocks: blocks,
92
93
  userConfig: globalStylesRevision,
93
94
  onClose: onCloseRevisions
@@ -114,7 +115,12 @@ function ScreenRevisions() {
114
115
  confirmButtonText: __(' Discard unsaved changes'),
115
116
  onConfirm: () => restoreRevision(globalStylesRevision),
116
117
  onCancel: () => setIsLoadingRevisionWithUnsavedChanges(false)
117
- }, createElement(Fragment, null, createElement("h2", null, __('Loading this revision will discard all unsaved changes.')), createElement("p", null, __('Do you want to replace your unsaved changes in the editor?')))));
118
+ }, createElement(Fragment, null, createElement("h2", null, __('Loading this revision will discard all unsaved changes.')), createElement("p", null, __('Do you want to replace your unsaved changes in the editor?'))))) : createElement(Spacer, {
119
+ marginX: 4,
120
+ "data-testid": "global-styles-no-revisions"
121
+ }, // Adding an existing translation here in case these changes are shipped to WordPress 6.3.
122
+ // Later we could update to something better, e.g., "There are currently no style revisions.".
123
+ __('No results found.')));
118
124
  }
119
125
 
120
126
  export default ScreenRevisions;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/index.js"],"names":["__","Button","__experimentalUseNavigator","useNavigator","__experimentalConfirmDialog","ConfirmDialog","Spinner","useSelect","useDispatch","useContext","useState","useEffect","privateApis","blockEditorPrivateApis","store","blockEditorStore","ScreenHeader","unlock","Revisions","SidebarFixedBottom","editSiteStore","useGlobalStylesRevisions","RevisionsButtons","GlobalStylesContext","areGlobalStyleConfigsEqual","ScreenRevisions","goBack","user","userConfig","setUserConfig","blocks","editorCanvasContainerView","select","getEditorCanvasContainerView","getBlocks","revisions","isLoading","hasUnsavedChanges","selectedRevisionId","setSelectedRevisionId","globalStylesRevision","setGlobalStylesRevision","isLoadingRevisionWithUnsavedChanges","setIsLoadingRevisionWithUnsavedChanges","setEditorCanvasContainerView","onCloseRevisions","restoreRevision","revision","styles","settings","selectRevision","id","isLoadButtonEnabled"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext, useState, useEffect } from '@wordpress/element';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from '../header';\nimport { unlock } from '../../../lock-unlock';\nimport Revisions from '../../revisions';\nimport SidebarFixedBottom from '../../sidebar-edit-mode/sidebar-fixed-bottom';\nimport { store as editSiteStore } from '../../../store';\nimport useGlobalStylesRevisions from './use-global-styles-revisions';\nimport RevisionsButtons from './revisions-buttons';\n\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction ScreenRevisions() {\n\tconst { goBack } = useNavigator();\n\tconst { user: userConfig, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\tconst { blocks, editorCanvasContainerView } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\teditorCanvasContainerView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\tblocks: select( blockEditorStore ).getBlocks(),\n\t\t};\n\t}, [] );\n\tconst { revisions, isLoading, hasUnsavedChanges } =\n\t\tuseGlobalStylesRevisions();\n\tconst [ selectedRevisionId, setSelectedRevisionId ] = useState();\n\tconst [ globalStylesRevision, setGlobalStylesRevision ] =\n\t\tuseState( userConfig );\n\tconst [\n\t\tisLoadingRevisionWithUnsavedChanges,\n\t\tsetIsLoadingRevisionWithUnsavedChanges,\n\t] = useState( false );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\n\tuseEffect( () => {\n\t\tif ( editorCanvasContainerView !== 'global-styles-revisions' ) {\n\t\t\tgoBack();\n\t\t\tsetEditorCanvasContainerView( editorCanvasContainerView );\n\t\t}\n\t}, [ editorCanvasContainerView ] );\n\n\tconst onCloseRevisions = () => {\n\t\tgoBack();\n\t};\n\n\tconst restoreRevision = ( revision ) => {\n\t\tsetUserConfig( () => ( {\n\t\t\tstyles: revision?.styles,\n\t\t\tsettings: revision?.settings,\n\t\t} ) );\n\t\tsetIsLoadingRevisionWithUnsavedChanges( false );\n\t\tonCloseRevisions();\n\t};\n\n\tconst selectRevision = ( revision ) => {\n\t\tsetGlobalStylesRevision( {\n\t\t\tstyles: revision?.styles,\n\t\t\tsettings: revision?.settings,\n\t\t\tid: revision?.id,\n\t\t} );\n\t\tsetSelectedRevisionId( revision?.id );\n\t};\n\n\tconst isLoadButtonEnabled =\n\t\t!! globalStylesRevision?.id &&\n\t\t! areGlobalStyleConfigsEqual( globalStylesRevision, userConfig );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Revisions' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Revisions are added to the timeline when style changes are saved.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t{ isLoading && (\n\t\t\t\t<Spinner className=\"edit-site-global-styles-screen-revisions__loading\" />\n\t\t\t) }\n\t\t\t{ ! isLoading && (\n\t\t\t\t<Revisions\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tuserConfig={ globalStylesRevision }\n\t\t\t\t\tonClose={ onCloseRevisions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div className=\"edit-site-global-styles-screen-revisions\">\n\t\t\t\t<RevisionsButtons\n\t\t\t\t\tonChange={ selectRevision }\n\t\t\t\t\tselectedRevisionId={ selectedRevisionId }\n\t\t\t\t\tuserRevisions={ revisions }\n\t\t\t\t/>\n\t\t\t\t{ isLoadButtonEnabled && (\n\t\t\t\t\t<SidebarFixedBottom>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__button\"\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t! globalStylesRevision?.id ||\n\t\t\t\t\t\t\t\tglobalStylesRevision?.id === 'unsaved'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif ( hasUnsavedChanges ) {\n\t\t\t\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges(\n\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\trestoreRevision( globalStylesRevision );\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\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</SidebarFixedBottom>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ isLoadingRevisionWithUnsavedChanges && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\ttitle={ __(\n\t\t\t\t\t\t'Loading this revision will discard all unsaved changes.'\n\t\t\t\t\t) }\n\t\t\t\t\tisOpen={ isLoadingRevisionWithUnsavedChanges }\n\t\t\t\t\tconfirmButtonText={ __( ' Discard unsaved changes' ) }\n\t\t\t\t\tonConfirm={ () => restoreRevision( globalStylesRevision ) }\n\t\t\t\t\tonCancel={ () =>\n\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges( false )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<>\n\t\t\t\t\t\t<h2>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Loading this revision will discard all unsaved changes.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Do you want to replace your unsaved changes in the editor?'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</>\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenRevisions;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/index.js"],"names":["__","Button","__experimentalUseNavigator","useNavigator","__experimentalConfirmDialog","ConfirmDialog","Spinner","__experimentalSpacer","Spacer","useSelect","useDispatch","useContext","useState","useEffect","privateApis","blockEditorPrivateApis","store","blockEditorStore","ScreenHeader","unlock","Revisions","SidebarFixedBottom","editSiteStore","useGlobalStylesRevisions","RevisionsButtons","GlobalStylesContext","areGlobalStyleConfigsEqual","ScreenRevisions","goBack","user","userConfig","setUserConfig","blocks","editorCanvasContainerView","select","getEditorCanvasContainerView","getBlocks","revisions","isLoading","hasUnsavedChanges","selectedRevisionId","setSelectedRevisionId","globalStylesRevision","setGlobalStylesRevision","isLoadingRevisionWithUnsavedChanges","setIsLoadingRevisionWithUnsavedChanges","setEditorCanvasContainerView","onCloseRevisions","restoreRevision","revision","styles","settings","selectRevision","id","isLoadButtonEnabled","shouldShowRevisions","length"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tSpinner,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext, useState, useEffect } from '@wordpress/element';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from '../header';\nimport { unlock } from '../../../lock-unlock';\nimport Revisions from '../../revisions';\nimport SidebarFixedBottom from '../../sidebar-edit-mode/sidebar-fixed-bottom';\nimport { store as editSiteStore } from '../../../store';\nimport useGlobalStylesRevisions from './use-global-styles-revisions';\nimport RevisionsButtons from './revisions-buttons';\n\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction ScreenRevisions() {\n\tconst { goBack } = useNavigator();\n\tconst { user: userConfig, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\tconst { blocks, editorCanvasContainerView } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\teditorCanvasContainerView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\tblocks: select( blockEditorStore ).getBlocks(),\n\t\t};\n\t}, [] );\n\tconst { revisions, isLoading, hasUnsavedChanges } =\n\t\tuseGlobalStylesRevisions();\n\tconst [ selectedRevisionId, setSelectedRevisionId ] = useState();\n\tconst [ globalStylesRevision, setGlobalStylesRevision ] =\n\t\tuseState( userConfig );\n\tconst [\n\t\tisLoadingRevisionWithUnsavedChanges,\n\t\tsetIsLoadingRevisionWithUnsavedChanges,\n\t] = useState( false );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\n\tuseEffect( () => {\n\t\tif ( editorCanvasContainerView !== 'global-styles-revisions' ) {\n\t\t\tgoBack();\n\t\t\tsetEditorCanvasContainerView( editorCanvasContainerView );\n\t\t}\n\t}, [ editorCanvasContainerView ] );\n\n\tconst onCloseRevisions = () => {\n\t\tgoBack();\n\t};\n\n\tconst restoreRevision = ( revision ) => {\n\t\tsetUserConfig( () => ( {\n\t\t\tstyles: revision?.styles,\n\t\t\tsettings: revision?.settings,\n\t\t} ) );\n\t\tsetIsLoadingRevisionWithUnsavedChanges( false );\n\t\tonCloseRevisions();\n\t};\n\n\tconst selectRevision = ( revision ) => {\n\t\tsetGlobalStylesRevision( {\n\t\t\tstyles: revision?.styles,\n\t\t\tsettings: revision?.settings,\n\t\t\tid: revision?.id,\n\t\t} );\n\t\tsetSelectedRevisionId( revision?.id );\n\t};\n\n\tconst isLoadButtonEnabled =\n\t\t!! globalStylesRevision?.id &&\n\t\t! areGlobalStyleConfigsEqual( globalStylesRevision, userConfig );\n\tconst shouldShowRevisions = ! isLoading && revisions.length;\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Revisions' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Revisions are added to the timeline when style changes are saved.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t{ isLoading && (\n\t\t\t\t<Spinner className=\"edit-site-global-styles-screen-revisions__loading\" />\n\t\t\t) }\n\t\t\t{ shouldShowRevisions ? (\n\t\t\t\t<>\n\t\t\t\t\t<Revisions\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tuserConfig={ globalStylesRevision }\n\t\t\t\t\t\tonClose={ onCloseRevisions }\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"edit-site-global-styles-screen-revisions\">\n\t\t\t\t\t\t<RevisionsButtons\n\t\t\t\t\t\t\tonChange={ selectRevision }\n\t\t\t\t\t\t\tselectedRevisionId={ selectedRevisionId }\n\t\t\t\t\t\t\tuserRevisions={ revisions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isLoadButtonEnabled && (\n\t\t\t\t\t\t\t<SidebarFixedBottom>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__button\"\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t! globalStylesRevision?.id ||\n\t\t\t\t\t\t\t\t\t\tglobalStylesRevision?.id === 'unsaved'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tif ( hasUnsavedChanges ) {\n\t\t\t\t\t\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges(\n\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\trestoreRevision(\n\t\t\t\t\t\t\t\t\t\t\t\tglobalStylesRevision\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</SidebarFixedBottom>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t\t{ isLoadingRevisionWithUnsavedChanges && (\n\t\t\t\t\t\t<ConfirmDialog\n\t\t\t\t\t\t\ttitle={ __(\n\t\t\t\t\t\t\t\t'Loading this revision will discard all unsaved changes.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tisOpen={ isLoadingRevisionWithUnsavedChanges }\n\t\t\t\t\t\t\tconfirmButtonText={ __(\n\t\t\t\t\t\t\t\t' Discard unsaved changes'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonConfirm={ () =>\n\t\t\t\t\t\t\t\trestoreRevision( globalStylesRevision )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonCancel={ () =>\n\t\t\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges( false )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h2>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Loading this revision will discard all unsaved changes.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Do you want to replace your unsaved changes in the editor?'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t</ConfirmDialog>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<Spacer marginX={ 4 } data-testid=\"global-styles-no-revisions\">\n\t\t\t\t\t{\n\t\t\t\t\t\t// Adding an existing translation here in case these changes are shipped to WordPress 6.3.\n\t\t\t\t\t\t// Later we could update to something better, e.g., \"There are currently no style revisions.\".\n\t\t\t\t\t\t__( 'No results found.' )\n\t\t\t\t\t}\n\t\t\t\t</Spacer>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenRevisions;\n"]}
@@ -28,13 +28,15 @@ export default function useGlobalStylesRevisions() {
28
28
  authors,
29
29
  currentUser,
30
30
  isDirty,
31
- revisions
31
+ revisions,
32
+ isLoadingGlobalStylesRevisions
32
33
  } = useSelect(select => {
33
34
  const {
34
35
  __experimentalGetDirtyEntityRecords,
35
36
  getCurrentUser,
36
37
  getUsers,
37
- getCurrentThemeGlobalStylesRevisions
38
+ getCurrentThemeGlobalStylesRevisions,
39
+ isResolving
38
40
  } = select(coreStore);
39
41
 
40
42
  const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
@@ -51,13 +53,14 @@ export default function useGlobalStylesRevisions() {
51
53
  authors: _authors,
52
54
  currentUser: _currentUser,
53
55
  isDirty: _isDirty,
54
- revisions: globalStylesRevisions
56
+ revisions: globalStylesRevisions,
57
+ isLoadingGlobalStylesRevisions: isResolving('getCurrentThemeGlobalStylesRevisions')
55
58
  };
56
59
  }, []);
57
60
  return useMemo(() => {
58
61
  let _modifiedRevisions = [];
59
62
 
60
- if (!authors.length || !revisions.length) {
63
+ if (!authors.length || isLoadingGlobalStylesRevisions) {
61
64
  return {
62
65
  revisions: _modifiedRevisions,
63
66
  hasUnsavedChanges: isDirty,
@@ -70,26 +73,29 @@ export default function useGlobalStylesRevisions() {
70
73
  return { ...revision,
71
74
  author: authors.find(author => author.id === revision.author)
72
75
  };
73
- }); // Flags the most current saved revision.
76
+ });
74
77
 
75
- if (_modifiedRevisions[0].id !== 'unsaved') {
76
- _modifiedRevisions[0].isLatest = true;
77
- } // Adds an item for unsaved changes.
78
+ if (_modifiedRevisions.length) {
79
+ // Flags the most current saved revision.
80
+ if (_modifiedRevisions[0].id !== 'unsaved') {
81
+ _modifiedRevisions[0].isLatest = true;
82
+ } // Adds an item for unsaved changes.
78
83
 
79
84
 
80
- if (isDirty && userConfig && Object.keys(userConfig).length > 0 && currentUser) {
81
- const unsavedRevision = {
82
- id: 'unsaved',
83
- styles: userConfig?.styles,
84
- settings: userConfig?.settings,
85
- author: {
86
- name: currentUser?.name,
87
- avatar_urls: currentUser?.avatar_urls
88
- },
89
- modified: new Date()
90
- };
85
+ if (isDirty && userConfig && Object.keys(userConfig).length > 0 && currentUser) {
86
+ const unsavedRevision = {
87
+ id: 'unsaved',
88
+ styles: userConfig?.styles,
89
+ settings: userConfig?.settings,
90
+ author: {
91
+ name: currentUser?.name,
92
+ avatar_urls: currentUser?.avatar_urls
93
+ },
94
+ modified: new Date()
95
+ };
91
96
 
92
- _modifiedRevisions.unshift(unsavedRevision);
97
+ _modifiedRevisions.unshift(unsavedRevision);
98
+ }
93
99
  }
94
100
 
95
101
  return {
@@ -97,6 +103,6 @@ export default function useGlobalStylesRevisions() {
97
103
  hasUnsavedChanges: isDirty,
98
104
  isLoading: false
99
105
  };
100
- }, [isDirty, revisions, currentUser, authors, userConfig]);
106
+ }, [isDirty, revisions, currentUser, authors, userConfig, isLoadingGlobalStylesRevisions]);
101
107
  }
102
108
  //# sourceMappingURL=use-global-styles-revisions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/use-global-styles-revisions.js"],"names":["useSelect","store","coreStore","useContext","useMemo","privateApis","blockEditorPrivateApis","unlock","SITE_EDITOR_AUTHORS_QUERY","per_page","_fields","context","capabilities","EMPTY_ARRAY","GlobalStylesContext","useGlobalStylesRevisions","user","userConfig","authors","currentUser","isDirty","revisions","select","__experimentalGetDirtyEntityRecords","getCurrentUser","getUsers","getCurrentThemeGlobalStylesRevisions","dirtyEntityRecords","_currentUser","_isDirty","length","globalStylesRevisions","_authors","_modifiedRevisions","hasUnsavedChanges","isLoading","map","revision","author","find","id","isLatest","Object","keys","unsavedRevision","styles","settings","name","avatar_urls","modified","Date","unshift"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst SITE_EDITOR_AUTHORS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,avatar_urls',\n\tcontext: 'view',\n\tcapabilities: [ 'edit_theme_options' ],\n};\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nexport default function useGlobalStylesRevisions() {\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst { authors, currentUser, isDirty, revisions } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tgetCurrentUser,\n\t\t\t\tgetUsers,\n\t\t\t\tgetCurrentThemeGlobalStylesRevisions,\n\t\t\t} = select( coreStore );\n\t\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\t\tconst _currentUser = getCurrentUser();\n\t\t\tconst _isDirty = dirtyEntityRecords.length > 0;\n\t\t\tconst globalStylesRevisions =\n\t\t\t\tgetCurrentThemeGlobalStylesRevisions() || EMPTY_ARRAY;\n\t\t\tconst _authors =\n\t\t\t\tgetUsers( SITE_EDITOR_AUTHORS_QUERY ) || EMPTY_ARRAY;\n\n\t\t\treturn {\n\t\t\t\tauthors: _authors,\n\t\t\t\tcurrentUser: _currentUser,\n\t\t\t\tisDirty: _isDirty,\n\t\t\t\trevisions: globalStylesRevisions,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\tlet _modifiedRevisions = [];\n\t\tif ( ! authors.length || ! revisions.length ) {\n\t\t\treturn {\n\t\t\t\trevisions: _modifiedRevisions,\n\t\t\t\thasUnsavedChanges: isDirty,\n\t\t\t\tisLoading: true,\n\t\t\t};\n\t\t}\n\n\t\t// Adds author details to each revision.\n\t\t_modifiedRevisions = revisions.map( ( revision ) => {\n\t\t\treturn {\n\t\t\t\t...revision,\n\t\t\t\tauthor: authors.find(\n\t\t\t\t\t( author ) => author.id === revision.author\n\t\t\t\t),\n\t\t\t};\n\t\t} );\n\n\t\t// Flags the most current saved revision.\n\t\tif ( _modifiedRevisions[ 0 ].id !== 'unsaved' ) {\n\t\t\t_modifiedRevisions[ 0 ].isLatest = true;\n\t\t}\n\n\t\t// Adds an item for unsaved changes.\n\t\tif (\n\t\t\tisDirty &&\n\t\t\tuserConfig &&\n\t\t\tObject.keys( userConfig ).length > 0 &&\n\t\t\tcurrentUser\n\t\t) {\n\t\t\tconst unsavedRevision = {\n\t\t\t\tid: 'unsaved',\n\t\t\t\tstyles: userConfig?.styles,\n\t\t\t\tsettings: userConfig?.settings,\n\t\t\t\tauthor: {\n\t\t\t\t\tname: currentUser?.name,\n\t\t\t\t\tavatar_urls: currentUser?.avatar_urls,\n\t\t\t\t},\n\t\t\t\tmodified: new Date(),\n\t\t\t};\n\n\t\t\t_modifiedRevisions.unshift( unsavedRevision );\n\t\t}\n\n\t\treturn {\n\t\t\trevisions: _modifiedRevisions,\n\t\t\thasUnsavedChanges: isDirty,\n\t\t\tisLoading: false,\n\t\t};\n\t}, [ isDirty, revisions, currentUser, authors, userConfig ] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/use-global-styles-revisions.js"],"names":["useSelect","store","coreStore","useContext","useMemo","privateApis","blockEditorPrivateApis","unlock","SITE_EDITOR_AUTHORS_QUERY","per_page","_fields","context","capabilities","EMPTY_ARRAY","GlobalStylesContext","useGlobalStylesRevisions","user","userConfig","authors","currentUser","isDirty","revisions","isLoadingGlobalStylesRevisions","select","__experimentalGetDirtyEntityRecords","getCurrentUser","getUsers","getCurrentThemeGlobalStylesRevisions","isResolving","dirtyEntityRecords","_currentUser","_isDirty","length","globalStylesRevisions","_authors","_modifiedRevisions","hasUnsavedChanges","isLoading","map","revision","author","find","id","isLatest","Object","keys","unsavedRevision","styles","settings","name","avatar_urls","modified","Date","unshift"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst SITE_EDITOR_AUTHORS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,avatar_urls',\n\tcontext: 'view',\n\tcapabilities: [ 'edit_theme_options' ],\n};\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nexport default function useGlobalStylesRevisions() {\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst {\n\t\tauthors,\n\t\tcurrentUser,\n\t\tisDirty,\n\t\trevisions,\n\t\tisLoadingGlobalStylesRevisions,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\tgetCurrentUser,\n\t\t\tgetUsers,\n\t\t\tgetCurrentThemeGlobalStylesRevisions,\n\t\t\tisResolving,\n\t\t} = select( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst _currentUser = getCurrentUser();\n\t\tconst _isDirty = dirtyEntityRecords.length > 0;\n\t\tconst globalStylesRevisions =\n\t\t\tgetCurrentThemeGlobalStylesRevisions() || EMPTY_ARRAY;\n\t\tconst _authors = getUsers( SITE_EDITOR_AUTHORS_QUERY ) || EMPTY_ARRAY;\n\n\t\treturn {\n\t\t\tauthors: _authors,\n\t\t\tcurrentUser: _currentUser,\n\t\t\tisDirty: _isDirty,\n\t\t\trevisions: globalStylesRevisions,\n\t\t\tisLoadingGlobalStylesRevisions: isResolving(\n\t\t\t\t'getCurrentThemeGlobalStylesRevisions'\n\t\t\t),\n\t\t};\n\t}, [] );\n\treturn useMemo( () => {\n\t\tlet _modifiedRevisions = [];\n\t\tif ( ! authors.length || isLoadingGlobalStylesRevisions ) {\n\t\t\treturn {\n\t\t\t\trevisions: _modifiedRevisions,\n\t\t\t\thasUnsavedChanges: isDirty,\n\t\t\t\tisLoading: true,\n\t\t\t};\n\t\t}\n\n\t\t// Adds author details to each revision.\n\t\t_modifiedRevisions = revisions.map( ( revision ) => {\n\t\t\treturn {\n\t\t\t\t...revision,\n\t\t\t\tauthor: authors.find(\n\t\t\t\t\t( author ) => author.id === revision.author\n\t\t\t\t),\n\t\t\t};\n\t\t} );\n\n\t\tif ( _modifiedRevisions.length ) {\n\t\t\t// Flags the most current saved revision.\n\t\t\tif ( _modifiedRevisions[ 0 ].id !== 'unsaved' ) {\n\t\t\t\t_modifiedRevisions[ 0 ].isLatest = true;\n\t\t\t}\n\n\t\t\t// Adds an item for unsaved changes.\n\t\t\tif (\n\t\t\t\tisDirty &&\n\t\t\t\tuserConfig &&\n\t\t\t\tObject.keys( userConfig ).length > 0 &&\n\t\t\t\tcurrentUser\n\t\t\t) {\n\t\t\t\tconst unsavedRevision = {\n\t\t\t\t\tid: 'unsaved',\n\t\t\t\t\tstyles: userConfig?.styles,\n\t\t\t\t\tsettings: userConfig?.settings,\n\t\t\t\t\tauthor: {\n\t\t\t\t\t\tname: currentUser?.name,\n\t\t\t\t\t\tavatar_urls: currentUser?.avatar_urls,\n\t\t\t\t\t},\n\t\t\t\t\tmodified: new Date(),\n\t\t\t\t};\n\n\t\t\t\t_modifiedRevisions.unshift( unsavedRevision );\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\trevisions: _modifiedRevisions,\n\t\t\thasUnsavedChanges: isDirty,\n\t\t\tisLoading: false,\n\t\t};\n\t}, [\n\t\tisDirty,\n\t\trevisions,\n\t\tcurrentUser,\n\t\tauthors,\n\t\tuserConfig,\n\t\tisLoadingGlobalStylesRevisions,\n\t] );\n}\n"]}
@@ -29,10 +29,8 @@ function KeyboardShortcutsEditMode() {
29
29
  undo
30
30
  } = useDispatch(coreStore);
31
31
  const {
32
- isFeatureActive,
33
32
  setIsListViewOpened,
34
33
  switchEditorMode,
35
- toggleFeature,
36
34
  setIsInserterOpened,
37
35
  closeGeneralSidebar
38
36
  } = useDispatch(editSiteStore);
@@ -49,7 +47,11 @@ function KeyboardShortcutsEditMode() {
49
47
  getBlockAttributes
50
48
  } = useSelect(blockEditorStore);
51
49
  const {
52
- set: setPreference
50
+ get: getPreference
51
+ } = useSelect(preferencesStore);
52
+ const {
53
+ set: setPreference,
54
+ toggle
53
55
  } = useDispatch(preferencesStore);
54
56
  const {
55
57
  createInfoNotice
@@ -128,8 +130,8 @@ function KeyboardShortcutsEditMode() {
128
130
  });
129
131
  useShortcut('core/edit-site/toggle-distraction-free', () => {
130
132
  toggleDistractionFree();
131
- toggleFeature('distractionFree');
132
- createInfoNotice(isFeatureActive('distractionFree') ? __('Distraction free mode turned on.') : __('Distraction free mode turned off.'), {
133
+ toggle('core/edit-site', 'distractionFree');
134
+ createInfoNotice(getPreference('core/edit-site', 'distractionFree') ? __('Distraction free mode turned on.') : __('Distraction free mode turned off.'), {
133
135
  id: 'core/edit-site/distraction-free-mode/notice',
134
136
  type: 'snackbar'
135
137
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/keyboard-shortcuts/edit-mode.js"],"names":["__","useShortcut","useDispatch","useSelect","store","coreStore","blockEditorStore","interfaceStore","createBlock","preferencesStore","noticesStore","editSiteStore","SIDEBAR_BLOCK","STORE_NAME","KeyboardShortcutsEditMode","getEditorMode","isListViewOpen","select","isListViewOpened","isBlockInspectorOpen","getActiveComplementaryArea","name","redo","undo","isFeatureActive","setIsListViewOpened","switchEditorMode","toggleFeature","setIsInserterOpened","closeGeneralSidebar","enableComplementaryArea","disableComplementaryArea","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","set","setPreference","createInfoNotice","toggleDistractionFree","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","content","forEach","id","type"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { createBlock } from '@wordpress/blocks';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { SIDEBAR_BLOCK } from '../sidebar-edit-mode/constants';\nimport { STORE_NAME } from '../../store/constants';\n\nfunction KeyboardShortcutsEditMode() {\n\tconst { getEditorMode } = useSelect( editSiteStore );\n\tconst isListViewOpen = useSelect(\n\t\t( select ) => select( editSiteStore ).isListViewOpened(),\n\t\t[]\n\t);\n\tconst isBlockInspectorOpen = useSelect(\n\t\t( select ) =>\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t) === SIDEBAR_BLOCK,\n\t\t[]\n\t);\n\tconst { redo, undo } = useDispatch( coreStore );\n\tconst {\n\t\tisFeatureActive,\n\t\tsetIsListViewOpened,\n\t\tswitchEditorMode,\n\t\ttoggleFeature,\n\t\tsetIsInserterOpened,\n\t\tcloseGeneralSidebar,\n\t} = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea, disableComplementaryArea } =\n\t\tuseDispatch( interfaceStore );\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { getBlockName, getSelectedBlockClientId, getBlockAttributes } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\n\tconst toggleDistractionFree = () => {\n\t\tsetPreference( 'core/edit-site', 'fixedToolbar', false );\n\t\tsetIsInserterOpened( false );\n\t\tsetIsListViewOpened( false );\n\t\tcloseGeneralSidebar();\n\t};\n\n\tconst handleTextLevelShortcut = ( event, level ) => {\n\t\tevent.preventDefault();\n\t\tconst destinationBlockName =\n\t\t\tlevel === 0 ? 'core/paragraph' : 'core/heading';\n\t\tconst currentClientId = getSelectedBlockClientId();\n\t\tif ( currentClientId === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst blockName = getBlockName( currentClientId );\n\t\tif ( blockName !== 'core/paragraph' && blockName !== 'core/heading' ) {\n\t\t\treturn;\n\t\t}\n\t\tconst attributes = getBlockAttributes( currentClientId );\n\t\tconst textAlign =\n\t\t\tblockName === 'core/paragraph' ? 'align' : 'textAlign';\n\t\tconst destinationTextAlign =\n\t\t\tdestinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';\n\n\t\treplaceBlocks(\n\t\t\tcurrentClientId,\n\t\t\tcreateBlock( destinationBlockName, {\n\t\t\t\tlevel,\n\t\t\t\tcontent: attributes.content,\n\t\t\t\t...{ [ destinationTextAlign ]: attributes[ textAlign ] },\n\t\t\t} )\n\t\t);\n\t};\n\n\tuseShortcut( 'core/edit-site/undo', ( event ) => {\n\t\tundo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/edit-site/redo', ( event ) => {\n\t\tredo();\n\t\tevent.preventDefault();\n\t} );\n\n\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/edit-site/toggle-list-view', () => {\n\t\tif ( isListViewOpen ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsListViewOpened( true );\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-block-settings-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 ( isBlockInspectorOpen ) {\n\t\t\tdisableComplementaryArea( STORE_NAME );\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-mode', () => {\n\t\tswitchEditorMode( getEditorMode() === 'visual' ? 'text' : 'visual' );\n\t} );\n\n\tuseShortcut( 'core/edit-site/transform-heading-to-paragraph', ( event ) =>\n\t\thandleTextLevelShortcut( event, 0 )\n\t);\n\n\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t//the loop is based off on a constant therefore\n\t\t//the hook will execute the same way every time\n\t\t//eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tuseShortcut(\n\t\t\t`core/edit-site/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-distraction-free', () => {\n\t\ttoggleDistractionFree();\n\t\ttoggleFeature( 'distractionFree' );\n\t\tcreateInfoNotice(\n\t\t\tisFeatureActive( 'distractionFree' )\n\t\t\t\t? __( 'Distraction free mode turned on.' )\n\t\t\t\t: __( 'Distraction free mode turned off.' ),\n\t\t\t{\n\t\t\t\tid: 'core/edit-site/distraction-free-mode/notice',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcutsEditMode;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/keyboard-shortcuts/edit-mode.js"],"names":["__","useShortcut","useDispatch","useSelect","store","coreStore","blockEditorStore","interfaceStore","createBlock","preferencesStore","noticesStore","editSiteStore","SIDEBAR_BLOCK","STORE_NAME","KeyboardShortcutsEditMode","getEditorMode","isListViewOpen","select","isListViewOpened","isBlockInspectorOpen","getActiveComplementaryArea","name","redo","undo","setIsListViewOpened","switchEditorMode","setIsInserterOpened","closeGeneralSidebar","enableComplementaryArea","disableComplementaryArea","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","get","getPreference","set","setPreference","toggle","createInfoNotice","toggleDistractionFree","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","content","forEach","id","type"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { createBlock } from '@wordpress/blocks';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { SIDEBAR_BLOCK } from '../sidebar-edit-mode/constants';\nimport { STORE_NAME } from '../../store/constants';\n\nfunction KeyboardShortcutsEditMode() {\n\tconst { getEditorMode } = useSelect( editSiteStore );\n\tconst isListViewOpen = useSelect(\n\t\t( select ) => select( editSiteStore ).isListViewOpened(),\n\t\t[]\n\t);\n\tconst isBlockInspectorOpen = useSelect(\n\t\t( select ) =>\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t) === SIDEBAR_BLOCK,\n\t\t[]\n\t);\n\tconst { redo, undo } = useDispatch( coreStore );\n\tconst {\n\t\tsetIsListViewOpened,\n\t\tswitchEditorMode,\n\t\tsetIsInserterOpened,\n\t\tcloseGeneralSidebar,\n\t} = useDispatch( editSiteStore );\n\tconst { enableComplementaryArea, disableComplementaryArea } =\n\t\tuseDispatch( interfaceStore );\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { getBlockName, getSelectedBlockClientId, getBlockAttributes } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst { get: getPreference } = useSelect( preferencesStore );\n\tconst { set: setPreference, toggle } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\n\tconst toggleDistractionFree = () => {\n\t\tsetPreference( 'core/edit-site', 'fixedToolbar', false );\n\t\tsetIsInserterOpened( false );\n\t\tsetIsListViewOpened( false );\n\t\tcloseGeneralSidebar();\n\t};\n\n\tconst handleTextLevelShortcut = ( event, level ) => {\n\t\tevent.preventDefault();\n\t\tconst destinationBlockName =\n\t\t\tlevel === 0 ? 'core/paragraph' : 'core/heading';\n\t\tconst currentClientId = getSelectedBlockClientId();\n\t\tif ( currentClientId === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst blockName = getBlockName( currentClientId );\n\t\tif ( blockName !== 'core/paragraph' && blockName !== 'core/heading' ) {\n\t\t\treturn;\n\t\t}\n\t\tconst attributes = getBlockAttributes( currentClientId );\n\t\tconst textAlign =\n\t\t\tblockName === 'core/paragraph' ? 'align' : 'textAlign';\n\t\tconst destinationTextAlign =\n\t\t\tdestinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';\n\n\t\treplaceBlocks(\n\t\t\tcurrentClientId,\n\t\t\tcreateBlock( destinationBlockName, {\n\t\t\t\tlevel,\n\t\t\t\tcontent: attributes.content,\n\t\t\t\t...{ [ destinationTextAlign ]: attributes[ textAlign ] },\n\t\t\t} )\n\t\t);\n\t};\n\n\tuseShortcut( 'core/edit-site/undo', ( event ) => {\n\t\tundo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/edit-site/redo', ( event ) => {\n\t\tredo();\n\t\tevent.preventDefault();\n\t} );\n\n\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/edit-site/toggle-list-view', () => {\n\t\tif ( isListViewOpen ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsListViewOpened( true );\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-block-settings-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 ( isBlockInspectorOpen ) {\n\t\t\tdisableComplementaryArea( STORE_NAME );\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-mode', () => {\n\t\tswitchEditorMode( getEditorMode() === 'visual' ? 'text' : 'visual' );\n\t} );\n\n\tuseShortcut( 'core/edit-site/transform-heading-to-paragraph', ( event ) =>\n\t\thandleTextLevelShortcut( event, 0 )\n\t);\n\n\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t//the loop is based off on a constant therefore\n\t\t//the hook will execute the same way every time\n\t\t//eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tuseShortcut(\n\t\t\t`core/edit-site/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\tuseShortcut( 'core/edit-site/toggle-distraction-free', () => {\n\t\ttoggleDistractionFree();\n\t\ttoggle( 'core/edit-site', 'distractionFree' );\n\t\tcreateInfoNotice(\n\t\t\tgetPreference( 'core/edit-site', 'distractionFree' )\n\t\t\t\t? __( 'Distraction free mode turned on.' )\n\t\t\t\t: __( 'Distraction free mode turned off.' ),\n\t\t\t{\n\t\t\t\tid: 'core/edit-site/distraction-free-mode/notice',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcutsEditMode;\n"]}
@@ -276,6 +276,12 @@ export default function Layout() {
276
276
  }, createElement(ErrorBoundary, null, createElement(ResizableFrame, {
277
277
  isReady: !isEditorLoading,
278
278
  isFullWidth: isEditing,
279
+ defaultSize: {
280
+ width: canvasSize.width - 24
281
+ /* $canvas-padding */
282
+ ,
283
+ height: canvasSize.height
284
+ },
279
285
  isOversized: isResizableFrameOversized,
280
286
  setIsOversized: setIsResizableFrameOversized,
281
287
  innerContentStyle: {