@wordpress/edit-post 7.18.0 → 7.19.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 (51) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/header/index.js +6 -0
  3. package/build/components/header/index.js.map +1 -1
  4. package/build/components/keyboard-shortcuts/index.js +4 -23
  5. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  6. package/build/components/layout/index.js +9 -3
  7. package/build/components/layout/index.js.map +1 -1
  8. package/build/components/start-page-options/index.js +2 -3
  9. package/build/components/start-page-options/index.js.map +1 -1
  10. package/build/components/visual-editor/index.js +34 -44
  11. package/build/components/visual-editor/index.js.map +1 -1
  12. package/build/editor.js +2 -3
  13. package/build/editor.js.map +1 -1
  14. package/build/hooks/commands/use-common-commands.js +10 -4
  15. package/build/hooks/commands/use-common-commands.js.map +1 -1
  16. package/build/store/actions.js +53 -7
  17. package/build/store/actions.js.map +1 -1
  18. package/build-module/components/header/index.js +6 -0
  19. package/build-module/components/header/index.js.map +1 -1
  20. package/build-module/components/keyboard-shortcuts/index.js +4 -23
  21. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  22. package/build-module/components/layout/index.js +9 -3
  23. package/build-module/components/layout/index.js.map +1 -1
  24. package/build-module/components/start-page-options/index.js +2 -3
  25. package/build-module/components/start-page-options/index.js.map +1 -1
  26. package/build-module/components/visual-editor/index.js +35 -45
  27. package/build-module/components/visual-editor/index.js.map +1 -1
  28. package/build-module/editor.js +2 -3
  29. package/build-module/editor.js.map +1 -1
  30. package/build-module/hooks/commands/use-common-commands.js +10 -4
  31. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  32. package/build-module/store/actions.js +50 -5
  33. package/build-module/store/actions.js.map +1 -1
  34. package/build-style/style-rtl.css +94 -8
  35. package/build-style/style.css +94 -8
  36. package/package.json +32 -32
  37. package/src/components/header/index.js +2 -0
  38. package/src/components/keyboard-shortcut-help-modal/test/index.js +4 -5
  39. package/src/components/keyboard-shortcuts/index.js +5 -31
  40. package/src/components/layout/index.js +9 -2
  41. package/src/components/preferences-modal/test/index.js +35 -8
  42. package/src/components/start-page-options/index.js +4 -5
  43. package/src/components/visual-editor/index.js +49 -55
  44. package/src/components/visual-editor/style.scss +89 -0
  45. package/src/editor.js +17 -20
  46. package/src/hooks/commands/use-common-commands.js +10 -1
  47. package/src/store/actions.js +74 -7
  48. package/src/store/test/actions.js +75 -0
  49. package/src/store/test/reducer.js +21 -9
  50. package/src/style.scss +0 -9
  51. package/src/components/preferences-modal/test/__snapshots__/index.js.snap +0 -942
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 7.19.0 (2023-09-20)
6
+
5
7
  ## 7.18.0 (2023-08-31)
6
8
 
7
9
  ## 7.17.0 (2023-08-16)
@@ -32,6 +32,9 @@ const slideY = {
32
32
  hidden: {
33
33
  y: '-50px'
34
34
  },
35
+ distractionFreeInactive: {
36
+ y: 0
37
+ },
35
38
  hover: {
36
39
  y: 0,
37
40
  transition: {
@@ -44,6 +47,9 @@ const slideX = {
44
47
  hidden: {
45
48
  x: '-100%'
46
49
  },
50
+ distractionFreeInactive: {
51
+ x: 0
52
+ },
47
53
  hover: {
48
54
  x: 0,
49
55
  transition: {
@@ -1 +1 @@
1
- {"version":3,"names":["_editor","require","_data","_interface","_compose","_components","_fullscreenModeClose","_interopRequireDefault","_headerToolbar","_moreMenu","_postPublishButtonOrToggle","_devicePreview","_viewLink","_mainDashboardButton","_store","_documentActions","slideY","hidden","y","hover","transition","type","delay","slideX","x","Header","setEntitiesSavedStatesCallback","isLargeViewport","useViewportMatch","hasActiveMetaboxes","isPublishSidebarOpened","showIconLabels","useSelect","select","editPostStore","hasMetaBoxes","isFeatureActive","_element","createElement","className","default","Slot","__unstableMotion","div","variants","showTooltip","PostSavedState","forceIsDirty","PostPreviewButton","forceIsAutosaveable","Fragment","PinnedItems","scope","_default","exports"],"sources":["@wordpress/edit-post/src/components/header/index.js"],"sourcesContent":["/**\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 ViewLink from '../view-link';\nimport MainDashboardButton from './main-dashboard-button';\nimport { store as editPostStore } from '../../store';\nimport DocumentActions from './document-actions';\n\nconst slideY = {\n\thidden: { y: '-50px' },\n\thover: { y: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nconst slideX = {\n\thidden: { x: '-100%' },\n\thover: { x: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nfunction Header( { setEntitiesSavedStatesCallback } ) {\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst { hasActiveMetaboxes, isPublishSidebarOpened, showIconLabels } =\n\t\tuseSelect(\n\t\t\t( select ) => ( {\n\t\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\t\tisPublishSidebarOpened:\n\t\t\t\t\tselect( editPostStore ).isPublishSidebarOpened(),\n\t\t\t\tshowIconLabels:\n\t\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\t} ),\n\t\t\t[]\n\t\t);\n\n\treturn (\n\t\t<div className=\"edit-post-header\">\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<div className=\"edit-post-header__center\">\n\t\t\t\t\t<DocumentActions />\n\t\t\t\t</div>\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\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 forceIsAutosaveable={ hasActiveMetaboxes } />\n\t\t\t\t<ViewLink />\n\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\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"],"mappings":";;;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAKA,IAAAK,oBAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,cAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,SAAA,GAAAF,sBAAA,CAAAN,OAAA;AACA,IAAAS,0BAAA,GAAAH,sBAAA,CAAAN,OAAA;AACA,IAAAU,cAAA,GAAAJ,sBAAA,CAAAN,OAAA;AACA,IAAAW,SAAA,GAAAL,sBAAA,CAAAN,OAAA;AACA,IAAAY,oBAAA,GAAAN,sBAAA,CAAAN,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,gBAAA,GAAAR,sBAAA,CAAAN,OAAA;AApBA;AACA;AACA;;AAOA;AACA;AACA;;AAWA,MAAMe,MAAM,GAAG;EACdC,MAAM,EAAE;IAAEC,CAAC,EAAE;EAAQ,CAAC;EACtBC,KAAK,EAAE;IAAED,CAAC,EAAE,CAAC;IAAEE,UAAU,EAAE;MAAEC,IAAI,EAAE,OAAO;MAAEC,KAAK,EAAE;IAAI;EAAE;AAC1D,CAAC;AAED,MAAMC,MAAM,GAAG;EACdN,MAAM,EAAE;IAAEO,CAAC,EAAE;EAAQ,CAAC;EACtBL,KAAK,EAAE;IAAEK,CAAC,EAAE,CAAC;IAAEJ,UAAU,EAAE;MAAEC,IAAI,EAAE,OAAO;MAAEC,KAAK,EAAE;IAAI;EAAE;AAC1D,CAAC;AAED,SAASG,MAAMA,CAAE;EAAEC;AAA+B,CAAC,EAAG;EACrD,MAAMC,eAAe,GAAG,IAAAC,yBAAgB,EAAE,OAAQ,CAAC;EACnD,MAAM;IAAEC,kBAAkB;IAAEC,sBAAsB;IAAEC;EAAe,CAAC,GACnE,IAAAC,eAAS,EACNC,MAAM,KAAQ;IACfJ,kBAAkB,EAAEI,MAAM,CAAEC,YAAc,CAAC,CAACC,YAAY,CAAC,CAAC;IAC1DL,sBAAsB,EACrBG,MAAM,CAAEC,YAAc,CAAC,CAACJ,sBAAsB,CAAC,CAAC;IACjDC,cAAc,EACbE,MAAM,CAAEC,YAAc,CAAC,CAACE,eAAe,CAAE,gBAAiB;EAC5D,CAAC,CAAE,EACH,EACD,CAAC;EAEF,OACC,IAAAC,QAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAAkB,GAChC,IAAAF,QAAA,CAAAC,aAAA,EAACzB,oBAAA,CAAA2B,OAAmB,CAACC,IAAI,QACxB,IAAAJ,QAAA,CAAAC,aAAA,EAACjC,WAAA,CAAAqC,gBAAM,CAACC,GAAG;IACVC,QAAQ,EAAGrB,MAAQ;IACnBH,UAAU,EAAG;MAAEC,IAAI,EAAE,OAAO;MAAEC,KAAK,EAAE;IAAI;EAAG,GAE5C,IAAAe,QAAA,CAAAC,aAAA,EAAChC,oBAAA,CAAAkC,OAAmB;IAACK,WAAW;EAAA,CAAE,CACvB,CACa,CAAC,EAC3B,IAAAR,QAAA,CAAAC,aAAA,EAACjC,WAAA,CAAAqC,gBAAM,CAACC,GAAG;IACVC,QAAQ,EAAG5B,MAAQ;IACnBI,UAAU,EAAG;MAAEC,IAAI,EAAE,OAAO;MAAEC,KAAK,EAAE;IAAI,CAAG;IAC5CiB,SAAS,EAAC;EAA2B,GAErC,IAAAF,QAAA,CAAAC,aAAA,EAAC9B,cAAA,CAAAgC,OAAa,MAAE,CAAC,EACjB,IAAAH,QAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA0B,GACxC,IAAAF,QAAA,CAAAC,aAAA,EAACvB,gBAAA,CAAAyB,OAAe,MAAE,CACd,CACM,CAAC,EACb,IAAAH,QAAA,CAAAC,aAAA,EAACjC,WAAA,CAAAqC,gBAAM,CAACC,GAAG;IACVC,QAAQ,EAAG5B,MAAQ;IACnBI,UAAU,EAAG;MAAEC,IAAI,EAAE,OAAO;MAAEC,KAAK,EAAE;IAAI,CAAG;IAC5CiB,SAAS,EAAC;EAA4B,GAEpC,CAAET,sBAAsB;EACzB;EACA;EACA;EACA;EACA;EACA,IAAAO,QAAA,CAAAC,aAAA,EAACtC,OAAA,CAAA8C,cAAc;IACdC,YAAY,EAAGlB,kBAAoB;IACnCE,cAAc,EAAGA;EAAgB,CACjC,CACD,EACD,IAAAM,QAAA,CAAAC,aAAA,EAAC3B,cAAA,CAAA6B,OAAa,MAAE,CAAC,EACjB,IAAAH,QAAA,CAAAC,aAAA,EAACtC,OAAA,CAAAgD,iBAAiB;IAACC,mBAAmB,EAAGpB;EAAoB,CAAE,CAAC,EAChE,IAAAQ,QAAA,CAAAC,aAAA,EAAC1B,SAAA,CAAA4B,OAAQ,MAAE,CAAC,EACZ,IAAAH,QAAA,CAAAC,aAAA,EAAC5B,0BAAA,CAAA8B,OAAyB;IACzBO,YAAY,EAAGlB,kBAAoB;IACnCH,8BAA8B,EAC7BA;EACA,CACD,CAAC,EACA,CAAEC,eAAe,IAAI,CAAEI,cAAc,KACtC,IAAAM,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAa,QAAA,QACC,IAAAb,QAAA,CAAAC,aAAA,EAACnC,UAAA,CAAAgD,WAAW,CAACV,IAAI;IAACW,KAAK,EAAC;EAAgB,CAAE,CAAC,EAC3C,IAAAf,QAAA,CAAAC,aAAA,EAAC7B,SAAA,CAAA+B,OAAQ;IAACT,cAAc,EAAGA;EAAgB,CAAE,CAC5C,CACF,EACCA,cAAc,IAAI,CAAEJ,eAAe,IACpC,IAAAU,QAAA,CAAAC,aAAA,EAAC7B,SAAA,CAAA+B,OAAQ;IAACT,cAAc,EAAGA;EAAgB,CAAE,CAEnC,CACR,CAAC;AAER;AAAC,IAAAsB,QAAA,GAEc5B,MAAM;AAAA6B,OAAA,CAAAd,OAAA,GAAAa,QAAA"}
1
+ {"version":3,"names":["_editor","require","_data","_interface","_compose","_components","_fullscreenModeClose","_interopRequireDefault","_headerToolbar","_moreMenu","_postPublishButtonOrToggle","_devicePreview","_viewLink","_mainDashboardButton","_store","_documentActions","slideY","hidden","y","distractionFreeInactive","hover","transition","type","delay","slideX","x","Header","setEntitiesSavedStatesCallback","isLargeViewport","useViewportMatch","hasActiveMetaboxes","isPublishSidebarOpened","showIconLabels","useSelect","select","editPostStore","hasMetaBoxes","isFeatureActive","_element","createElement","className","default","Slot","__unstableMotion","div","variants","showTooltip","PostSavedState","forceIsDirty","PostPreviewButton","forceIsAutosaveable","Fragment","PinnedItems","scope","_default","exports"],"sources":["@wordpress/edit-post/src/components/header/index.js"],"sourcesContent":["/**\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 ViewLink from '../view-link';\nimport MainDashboardButton from './main-dashboard-button';\nimport { store as editPostStore } from '../../store';\nimport DocumentActions from './document-actions';\n\nconst slideY = {\n\thidden: { y: '-50px' },\n\tdistractionFreeInactive: { y: 0 },\n\thover: { y: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nconst slideX = {\n\thidden: { x: '-100%' },\n\tdistractionFreeInactive: { x: 0 },\n\thover: { x: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nfunction Header( { setEntitiesSavedStatesCallback } ) {\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst { hasActiveMetaboxes, isPublishSidebarOpened, showIconLabels } =\n\t\tuseSelect(\n\t\t\t( select ) => ( {\n\t\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\t\tisPublishSidebarOpened:\n\t\t\t\t\tselect( editPostStore ).isPublishSidebarOpened(),\n\t\t\t\tshowIconLabels:\n\t\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\t} ),\n\t\t\t[]\n\t\t);\n\n\treturn (\n\t\t<div className=\"edit-post-header\">\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<div className=\"edit-post-header__center\">\n\t\t\t\t\t<DocumentActions />\n\t\t\t\t</div>\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\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 forceIsAutosaveable={ hasActiveMetaboxes } />\n\t\t\t\t<ViewLink />\n\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\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"],"mappings":"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"}
@@ -10,8 +10,6 @@ var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
10
10
  var _i18n = require("@wordpress/i18n");
11
11
  var _editor = require("@wordpress/editor");
12
12
  var _blockEditor = require("@wordpress/block-editor");
13
- var _notices = require("@wordpress/notices");
14
- var _preferences = require("@wordpress/preferences");
15
13
  var _blocks = require("@wordpress/blocks");
16
14
  var _store = require("../../store");
17
15
  /**
@@ -29,8 +27,7 @@ function KeyboardShortcuts() {
29
27
  const {
30
28
  getEditorMode,
31
29
  isEditorSidebarOpened,
32
- isListViewOpened,
33
- isFeatureActive
30
+ isListViewOpened
34
31
  } = (0, _data.useSelect)(_store.store);
35
32
  const isModeToggleDisabled = (0, _data.useSelect)(select => {
36
33
  const {
@@ -39,29 +36,17 @@ function KeyboardShortcuts() {
39
36
  } = select(_editor.store).getEditorSettings();
40
37
  return !richEditingEnabled || !codeEditingEnabled;
41
38
  }, []);
42
- const {
43
- createInfoNotice
44
- } = (0, _data.useDispatch)(_notices.store);
45
39
  const {
46
40
  switchEditorMode,
47
41
  openGeneralSidebar,
48
42
  closeGeneralSidebar,
49
43
  toggleFeature,
50
44
  setIsListViewOpened,
51
- setIsInserterOpened
45
+ toggleDistractionFree
52
46
  } = (0, _data.useDispatch)(_store.store);
53
47
  const {
54
48
  registerShortcut
55
49
  } = (0, _data.useDispatch)(_keyboardShortcuts.store);
56
- const {
57
- set: setPreference
58
- } = (0, _data.useDispatch)(_preferences.store);
59
- const toggleDistractionFree = () => {
60
- setPreference('core/edit-post', 'fixedToolbar', false);
61
- setIsInserterOpened(false);
62
- setIsListViewOpened(false);
63
- closeGeneralSidebar();
64
- };
65
50
  const {
66
51
  replaceBlocks
67
52
  } = (0, _data.useDispatch)(_blockEditor.store);
@@ -207,11 +192,6 @@ function KeyboardShortcuts() {
207
192
  });
208
193
  (0, _keyboardShortcuts.useShortcut)('core/edit-post/toggle-distraction-free', () => {
209
194
  toggleDistractionFree();
210
- toggleFeature('distractionFree');
211
- createInfoNotice(isFeatureActive('distractionFree') ? (0, _i18n.__)('Distraction free on.') : (0, _i18n.__)('Distraction free off.'), {
212
- id: 'core/edit-post/distraction-free-mode/notice',
213
- type: 'snackbar'
214
- });
215
195
  });
216
196
  (0, _keyboardShortcuts.useShortcut)('core/edit-post/toggle-sidebar', event => {
217
197
  // This shortcut has no known clashes, but use preventDefault to prevent any
@@ -226,8 +206,9 @@ function KeyboardShortcuts() {
226
206
  });
227
207
 
228
208
  // Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.
229
- (0, _keyboardShortcuts.useShortcut)('core/edit-post/toggle-list-view', () => {
209
+ (0, _keyboardShortcuts.useShortcut)('core/edit-post/toggle-list-view', event => {
230
210
  if (!isListViewOpened()) {
211
+ event.preventDefault();
231
212
  setIsListViewOpened(true);
232
213
  }
233
214
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_keyboardShortcuts","_i18n","_editor","_blockEditor","_notices","_preferences","_blocks","_store","KeyboardShortcuts","getBlockSelectionStart","useSelect","blockEditorStore","getEditorMode","isEditorSidebarOpened","isListViewOpened","isFeatureActive","editPostStore","isModeToggleDisabled","select","richEditingEnabled","codeEditingEnabled","editorStore","getEditorSettings","createInfoNotice","useDispatch","noticesStore","switchEditorMode","openGeneralSidebar","closeGeneralSidebar","toggleFeature","setIsListViewOpened","setIsInserterOpened","registerShortcut","keyboardShortcutsStore","set","setPreference","preferencesStore","toggleDistractionFree","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","createBlock","content","useEffect","name","category","description","__","keyCombination","modifier","character","aliases","forEach","useShortcut","isDisabled","id","type","sidebarToOpen","_default","exports","default"],"sources":["@wordpress/edit-post/src/components/keyboard-shortcuts/index.js"],"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';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { createBlock } from '@wordpress/blocks';\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\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { getBlockName, getSelectedBlockClientId, getBlockAttributes } =\n\t\tuseSelect( blockEditorStore );\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\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 distraction 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\t{\n\t\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\t\tcharacter: '~',\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\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/transform-heading-to-paragraph',\n\t\t\tcategory: 'block-library',\n\t\t\tdescription: __( 'Transform heading to paragraph.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: `0`,\n\t\t\t},\n\t\t} );\n\n\t\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t\tregisterShortcut( {\n\t\t\t\tname: `core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t\tcategory: 'block-library',\n\t\t\t\tdescription: __( 'Transform paragraph to heading.' ),\n\t\t\t\tkeyCombination: {\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: `${ level }`,\n\t\t\t\t},\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\ttoggleDistractionFree();\n\t\ttoggleFeature( 'distractionFree' );\n\t\tcreateInfoNotice(\n\t\t\tisFeatureActive( 'distractionFree' )\n\t\t\t\t? __( 'Distraction free on.' )\n\t\t\t\t: __( 'Distraction free off.' ),\n\t\t\t{\n\t\t\t\tid: 'core/edit-post/distraction-free-mode/notice',\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\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/edit-post/toggle-list-view', () => {\n\t\tif ( ! isListViewOpened() ) {\n\t\t\tsetIsListViewOpened( true );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-post/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-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcuts;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_data","_keyboardShortcuts","_i18n","_editor","_blockEditor","_blocks","_store","KeyboardShortcuts","getBlockSelectionStart","useSelect","blockEditorStore","getEditorMode","isEditorSidebarOpened","isListViewOpened","editPostStore","isModeToggleDisabled","select","richEditingEnabled","codeEditingEnabled","editorStore","getEditorSettings","switchEditorMode","openGeneralSidebar","closeGeneralSidebar","toggleFeature","setIsListViewOpened","toggleDistractionFree","useDispatch","registerShortcut","keyboardShortcutsStore","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","createBlock","content","useEffect","name","category","description","__","keyCombination","modifier","character","aliases","forEach","useShortcut","isDisabled","sidebarToOpen","_default","exports","default"],"sources":["@wordpress/edit-post/src/components/keyboard-shortcuts/index.js"],"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';\nimport { createBlock } from '@wordpress/blocks';\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\ttoggleDistractionFree,\n\t} = useDispatch( editPostStore );\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { getBlockName, getSelectedBlockClientId, getBlockAttributes } =\n\t\tuseSelect( blockEditorStore );\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\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 distraction 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\t{\n\t\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\t\tcharacter: '~',\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\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/transform-heading-to-paragraph',\n\t\t\tcategory: 'block-library',\n\t\t\tdescription: __( 'Transform heading to paragraph.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: `0`,\n\t\t\t},\n\t\t} );\n\n\t\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t\tregisterShortcut( {\n\t\t\t\tname: `core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t\tcategory: 'block-library',\n\t\t\t\tdescription: __( 'Transform paragraph to heading.' ),\n\t\t\t\tkeyCombination: {\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: `${ level }`,\n\t\t\t\t},\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\ttoggleDistractionFree();\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\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/edit-post/toggle-list-view', ( event ) => {\n\t\tif ( ! isListViewOpened() ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsListViewOpened( true );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-post/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-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcuts;\n"],"mappings":"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"}
@@ -174,11 +174,17 @@ function Layout() {
174
174
  }
175
175
  setEntitiesSavedStatesCallback(false);
176
176
  }, [entitiesSavedStatesCallback]);
177
+
178
+ // We need to add the show-icon-labels class to the body element so it is applied to modals.
179
+ if (showIconLabels) {
180
+ document.body.classList.add('show-icon-labels');
181
+ } else {
182
+ document.body.classList.remove('show-icon-labels');
183
+ }
177
184
  const className = (0, _classnames.default)('edit-post-layout', 'is-mode-' + mode, {
178
185
  'is-sidebar-opened': sidebarIsOpened,
179
186
  'has-fixed-toolbar': hasFixedToolbar,
180
187
  'has-metaboxes': hasActiveMetaboxes,
181
- 'show-icon-labels': showIconLabels,
182
188
  'is-distraction-free': isDistractionFree && isLargeViewport,
183
189
  'is-entity-save-view-open': !!entitiesSavedStatesCallback
184
190
  });
@@ -198,7 +204,7 @@ function Layout() {
198
204
  }
199
205
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_interface.FullscreenMode, {
200
206
  isActive: isFullscreenActive
201
- }), (0, _element.createElement)(_browserUrl.default, null), (0, _element.createElement)(_editor.UnsavedChangesWarning, null), (0, _element.createElement)(_editor.AutosaveMonitor, null), (0, _element.createElement)(_editor.LocalAutosaveMonitor, null), (0, _element.createElement)(_keyboardShortcuts2.default, null), (0, _element.createElement)(_editor.EditorKeyboardShortcutsRegister, null), (0, _element.createElement)(_editor.EditorKeyboardShortcuts, null), (0, _element.createElement)(_settingsSidebar.default, null), (0, _element.createElement)(_interface.InterfaceSkeleton, {
207
+ }), (0, _element.createElement)(_browserUrl.default, null), (0, _element.createElement)(_editor.UnsavedChangesWarning, null), (0, _element.createElement)(_editor.AutosaveMonitor, null), (0, _element.createElement)(_editor.LocalAutosaveMonitor, null), (0, _element.createElement)(_keyboardShortcuts2.default, null), (0, _element.createElement)(_editor.EditorKeyboardShortcutsRegister, null), (0, _element.createElement)(_editor.EditorKeyboardShortcuts, null), (0, _element.createElement)(_interface.InterfaceSkeleton, {
202
208
  isDistractionFree: isDistractionFree && isLargeViewport,
203
209
  className: className,
204
210
  labels: {
@@ -246,7 +252,7 @@ function Layout() {
246
252
  }
247
253
  }), (0, _element.createElement)(_preferencesModal.default, null), (0, _element.createElement)(_keyboardShortcutHelpModal.default, null), (0, _element.createElement)(_welcomeGuide.default, null), (0, _element.createElement)(_editor.PostSyncStatusModal, null), (0, _element.createElement)(_startPageOptions.default, null), (0, _element.createElement)(_plugins.PluginArea, {
248
254
  onError: onPluginAreaError
249
- }));
255
+ }), (0, _element.createElement)(_settingsSidebar.default, null));
250
256
  }
251
257
  var _default = Layout;
252
258
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_editor","_data","_blockEditor","_components","_compose","_plugins","_i18n","_interface","_keyboardShortcuts","_notices","_textEditor","_visualEditor","_keyboardShortcuts2","_keyboardShortcutHelpModal","_preferencesModal","_browserUrl","_header","_inserterSidebar","_listViewSidebar","_settingsSidebar","_metaBoxes","_welcomeGuide","_actionsPanel","_startPageOptions","_store","_lockUnlock","getLayoutStyles","unlock","blockEditorPrivateApis","interfaceLabels","header","__","body","sidebar","actions","footer","useEditorStyles","hasThemeStyleSupport","editorSettings","useSelect","select","editPostStore","isFeatureActive","editorStore","getEditorSettings","useMemo","_editorSettings$style","_editorSettings$style2","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","Layout","useBlockCommands","isMobileViewport","useViewportMatch","isHugeViewport","isLargeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","useDispatch","createErrorNotice","noticesStore","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","hasFixedToolbar","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","isDistractionFree","showBlockBreadcrumbs","isTemplateMode","documentLabel","getPostTypeLabel","postTypeLabel","isEditingTemplate","interfaceStore","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","keyboardShortcutsStore","getAllShortcutKeyCombinations","_x","openSidebarPanel","useEffect","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","useState","closeEntitiesSavedStates","useCallback","arg","className","classnames","secondarySidebarLabel","secondarySidebar","createElement","default","onPluginAreaError","sprintf","Fragment","FullscreenMode","isActive","UnsavedChangesWarning","AutosaveMonitor","LocalAutosaveMonitor","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","InterfaceSkeleton","labels","editorNotices","EditorNotices","Button","variant","onClick","ComplementaryArea","Slot","scope","notices","EditorSnackbars","content","location","ScrollLock","BlockBreadcrumb","rootLabelText","isEntitiesSavedStatesOpen","shortcuts","previous","next","PostSyncStatusModal","PluginArea","onError","_default","exports"],"sources":["@wordpress/edit-post/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tEditorKeyboardShortcutsRegister,\n\tEditorKeyboardShortcuts,\n\tEditorSnackbars,\n\tPostSyncStatusModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockCommands,\n\tBlockBreadcrumb,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Button, ScrollLock } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useState, useEffect, useCallback, useMemo } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport EditPostPreferencesModal from '../preferences-modal';\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport MetaBoxes from '../meta-boxes';\nimport WelcomeGuide from '../welcome-guide';\nimport ActionsPanel from './actions-panel';\nimport StartPageOptions from '../start-page-options';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nfunction useEditorStyles() {\n\tconst { hasThemeStyleSupport, editorSettings } = useSelect(\n\t\t( select ) => ( {\n\t\t\thasThemeStyleSupport:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'themeStyles' ),\n\t\t\teditorSettings: select( editorStore ).getEditorSettings(),\n\t\t} ),\n\t\t[]\n\t);\n\n\t// Compute the default styles.\n\treturn useMemo( () => {\n\t\tconst presetStyles =\n\t\t\teditorSettings.styles?.filter(\n\t\t\t\t( style ) =>\n\t\t\t\t\tstyle.__unstableType && style.__unstableType !== 'theme'\n\t\t\t) ?? [];\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...editorSettings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).\n\t\tconst hasThemeStyles =\n\t\t\thasThemeStyleSupport &&\n\t\t\tpresetStyles.length !== ( editorSettings.styles?.length ?? 0 );\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif ( ! editorSettings.disableLayoutStyles && ! hasThemeStyles ) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\treturn hasThemeStyles ? editorSettings.styles : defaultEditorStyles;\n\t}, [\n\t\teditorSettings.defaultEditorStyles,\n\t\teditorSettings.disableLayoutStyles,\n\t\teditorSettings.styles,\n\t\thasThemeStyleSupport,\n\t] );\n}\n\nfunction Layout() {\n\tuseBlockCommands();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst { openGeneralSidebar, closeGeneralSidebar, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\thasBlockSelected,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowBlockBreadcrumbs,\n\t\tisTemplateMode,\n\t\tdocumentLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\thasFixedToolbar:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fixedToolbar' ),\n\t\t\tsidebarIsOpened: !! (\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditPostStore.name\n\t\t\t\t) || select( editPostStore ).isPublishSidebarOpened()\n\t\t\t),\n\t\t\tisFullscreenActive:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editPostStore ).isListViewOpened(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\tisDistractionFree:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t};\n\t}, [] );\n\n\tconst styles = useEditorStyles();\n\n\tconst openSidebarPanel = () =>\n\t\topenGeneralSidebar(\n\t\t\thasBlockSelected ? 'edit-post/block' : 'edit-post/document'\n\t\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( sidebarIsOpened && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t}\n\t}, [ sidebarIsOpened, isHugeViewport ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isHugeViewport ] );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'show-icon-labels': showIconLabels,\n\t\t'is-distraction-free': isDistractionFree && isLargeViewport,\n\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t} );\n\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( mode === 'visual' && isInserterOpened ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( mode === 'visual' && isListViewOpened ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<EditorKeyboardShortcuts />\n\t\t\t<SettingsSidebar />\n\t\t\t<InterfaceSkeleton\n\t\t\t\tisDistractionFree={ isDistractionFree && isLargeViewport }\n\t\t\t\tclassName={ className }\n\t\t\t\tlabels={ {\n\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t} }\n\t\t\t\theader={\n\t\t\t\t\t<Header\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\tsidebar={\n\t\t\t\t\t( ! isMobileViewport || sidebarIsOpened ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isMobileViewport && ! sidebarIsOpened && (\n\t\t\t\t\t\t\t\t<div className=\"edit-post-layout__toggle-sidebar-panel\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-post-layout__toggle-sidebar-panel-button\"\n\t\t\t\t\t\t\t\t\t\tonClick={ openSidebarPanel }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ hasBlockSelected\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Open block settings' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Open document settings' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! isDistractionFree && <EditorNotices /> }\n\t\t\t\t\t\t{ ( mode === 'text' || ! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t<TextEditor />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isRichEditingEnabled && mode === 'visual' && (\n\t\t\t\t\t\t\t<VisualEditor styles={ styles } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isDistractionFree && ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isMobileViewport && sidebarIsOpened && (\n\t\t\t\t\t\t\t<ScrollLock />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t! isMobileViewport &&\n\t\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t<div className=\"edit-post-layout__footer\">\n\t\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<ActionsPanel\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tshortcuts={ {\n\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<EditPostPreferencesModal />\n\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t<WelcomeGuide />\n\t\t\t<PostSyncStatusModal />\n\t\t\t<StartPageOptions />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"],"mappings":";;;;;;;AAmCA,IAAAA,QAAA,GAAAC,OAAA;AAhCA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,OAAA,GAAAH,OAAA;AAWA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAKA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AAOA,IAAAW,kBAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AAKA,IAAAa,WAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,aAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,mBAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,0BAAA,GAAAd,sBAAA,CAAAF,OAAA;AACA,IAAAiB,iBAAA,GAAAf,sBAAA,CAAAF,OAAA;AACA,IAAAkB,WAAA,GAAAhB,sBAAA,CAAAF,OAAA;AACA,IAAAmB,OAAA,GAAAjB,sBAAA,CAAAF,OAAA;AACA,IAAAoB,gBAAA,GAAAlB,sBAAA,CAAAF,OAAA;AACA,IAAAqB,gBAAA,GAAAnB,sBAAA,CAAAF,OAAA;AACA,IAAAsB,gBAAA,GAAApB,sBAAA,CAAAF,OAAA;AACA,IAAAuB,UAAA,GAAArB,sBAAA,CAAAF,OAAA;AACA,IAAAwB,aAAA,GAAAtB,sBAAA,CAAAF,OAAA;AACA,IAAAyB,aAAA,GAAAvB,sBAAA,CAAAF,OAAA;AACA,IAAA0B,iBAAA,GAAAxB,sBAAA,CAAAF,OAAA;AACA,IAAA2B,MAAA,GAAA3B,OAAA;AACA,IAAA4B,WAAA,GAAA5B,OAAA;AAzDA;AACA;AACA;;AAGA;AACA;AACA;;AAgCA;AACA;AACA;;AAkBA,MAAM;EAAE6B;AAAgB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAE5D,MAAMC,eAAe,GAAG;EACvB;EACAC,MAAM,EAAE,IAAAC,QAAE,EAAE,gBAAiB,CAAC;EAC9B;EACAC,IAAI,EAAE,IAAAD,QAAE,EAAE,gBAAiB,CAAC;EAC5B;EACAE,OAAO,EAAE,IAAAF,QAAE,EAAE,iBAAkB,CAAC;EAChC;EACAG,OAAO,EAAE,IAAAH,QAAE,EAAE,gBAAiB,CAAC;EAC/B;EACAI,MAAM,EAAE,IAAAJ,QAAE,EAAE,eAAgB;AAC7B,CAAC;AAED,SAASK,eAAeA,CAAA,EAAG;EAC1B,MAAM;IAAEC,oBAAoB;IAAEC;EAAe,CAAC,GAAG,IAAAC,eAAS,EACvDC,MAAM,KAAQ;IACfH,oBAAoB,EACnBG,MAAM,CAAEC,YAAc,CAAC,CAACC,eAAe,CAAE,aAAc,CAAC;IACzDJ,cAAc,EAAEE,MAAM,CAAEG,aAAY,CAAC,CAACC,iBAAiB,CAAC;EACzD,CAAC,CAAE,EACH,EACD,CAAC;;EAED;EACA,OAAO,IAAAC,gBAAO,EAAE,MAAM;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IACrB,MAAMC,YAAY,IAAAF,qBAAA,GACjBR,cAAc,CAACW,MAAM,EAAEC,MAAM,CAC1BC,KAAK,IACNA,KAAK,CAACC,cAAc,IAAID,KAAK,CAACC,cAAc,KAAK,OACnD,CAAC,cAAAN,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IAER,MAAMO,mBAAmB,GAAG,CAC3B,GAAGf,cAAc,CAACe,mBAAmB,EACrC,GAAGL,YAAY,CACf;;IAED;IACA,MAAMM,cAAc,GACnBjB,oBAAoB,IACpBW,YAAY,CAACO,MAAM,OAAAR,sBAAA,GAAOT,cAAc,CAACW,MAAM,EAAEM,MAAM,cAAAR,sBAAA,cAAAA,sBAAA,GAAI,CAAC,CAAE;;IAE/D;IACA;IACA,IAAK,CAAET,cAAc,CAACkB,mBAAmB,IAAI,CAAEF,cAAc,EAAG;MAC/DD,mBAAmB,CAACI,IAAI,CAAE;QACzBC,GAAG,EAAEhC,eAAe,CAAE;UACrByB,KAAK,EAAE,CAAC,CAAC;UACTQ,QAAQ,EAAE,MAAM;UAChBC,kBAAkB,EAAE,KAAK;UACzBC,qBAAqB,EAAE,IAAI;UAC3BC,gBAAgB,EAAE;QACnB,CAAE;MACH,CAAE,CAAC;IACJ;IAEA,OAAOR,cAAc,GAAGhB,cAAc,CAACW,MAAM,GAAGI,mBAAmB;EACpE,CAAC,EAAE,CACFf,cAAc,CAACe,mBAAmB,EAClCf,cAAc,CAACkB,mBAAmB,EAClClB,cAAc,CAACW,MAAM,EACrBZ,oBAAoB,CACnB,CAAC;AACJ;AAEA,SAAS0B,MAAMA,CAAA,EAAG;EACjB,IAAAC,6BAAgB,EAAC,CAAC;EAClB,MAAMC,gBAAgB,GAAG,IAAAC,yBAAgB,EAAE,QAAQ,EAAE,GAAI,CAAC;EAC1D,MAAMC,cAAc,GAAG,IAAAD,yBAAgB,EAAE,MAAM,EAAE,IAAK,CAAC;EACvD,MAAME,eAAe,GAAG,IAAAF,yBAAgB,EAAE,OAAQ,CAAC;EACnD,MAAM;IAAEG,kBAAkB;IAAEC,mBAAmB;IAAEC;EAAoB,CAAC,GACrE,IAAAC,iBAAW,EAAE/B,YAAc,CAAC;EAC7B,MAAM;IAAEgC;EAAkB,CAAC,GAAG,IAAAD,iBAAW,EAAEE,cAAa,CAAC;EACzD,MAAM;IACLC,IAAI;IACJC,kBAAkB;IAClBC,oBAAoB;IACpBC,eAAe;IACfC,kBAAkB;IAClBC,eAAe;IACfC,gBAAgB;IAChBC,YAAY;IACZC,gBAAgB;IAChBC,gBAAgB;IAChBC,gBAAgB;IAChBC,cAAc;IACdC,iBAAiB;IACjBC,oBAAoB;IACpBC,cAAc;IACdC;EACD,CAAC,GAAG,IAAAnD,eAAS,EAAIC,MAAM,IAAM;IAC5B,MAAM;MAAEI,iBAAiB;MAAE+C;IAAiB,CAAC,GAAGnD,MAAM,CAAEG,aAAY,CAAC;IACrE,MAAML,cAAc,GAAGM,iBAAiB,CAAC,CAAC;IAC1C,MAAMgD,aAAa,GAAGD,gBAAgB,CAAC,CAAC;IAExC,OAAO;MACNF,cAAc,EAAEjD,MAAM,CAAEC,YAAc,CAAC,CAACoD,iBAAiB,CAAC,CAAC;MAC3Db,eAAe,EACdxC,MAAM,CAAEC,YAAc,CAAC,CAACC,eAAe,CAAE,cAAe,CAAC;MAC1DoC,eAAe,EAAE,CAAC,EACjBtC,MAAM,CAAEsD,gBAAe,CAAC,CAACC,0BAA0B,CAClDtD,YAAa,CAACuD,IACf,CAAC,IAAIxD,MAAM,CAAEC,YAAc,CAAC,CAACwD,sBAAsB,CAAC,CAAC,CACrD;MACDrB,kBAAkB,EACjBpC,MAAM,CAAEC,YAAc,CAAC,CAACC,eAAe,CAAE,gBAAiB,CAAC;MAC5D0C,gBAAgB,EAAE5C,MAAM,CAAEC,YAAc,CAAC,CAAC2C,gBAAgB,CAAC,CAAC;MAC5DC,gBAAgB,EAAE7C,MAAM,CAAEC,YAAc,CAAC,CAAC4C,gBAAgB,CAAC,CAAC;MAC5DV,IAAI,EAAEnC,MAAM,CAAEC,YAAc,CAAC,CAACyD,aAAa,CAAC,CAAC;MAC7CrB,oBAAoB,EAAEvC,cAAc,CAAC6D,kBAAkB;MACvDpB,kBAAkB,EAAEvC,MAAM,CAAEC,YAAc,CAAC,CAAC2D,YAAY,CAAC,CAAC;MAC1DnB,gBAAgB,EAAEzC,MAAM,CACvB6D,wBACD,CAAC,CAACC,6BAA6B,CAAE,gCAAiC,CAAC;MACnEpB,YAAY,EAAE1C,MAAM,CACnB6D,wBACD,CAAC,CAACC,6BAA6B,CAAE,4BAA6B,CAAC;MAC/DhB,cAAc,EACb9C,MAAM,CAAEC,YAAc,CAAC,CAACC,eAAe,CAAE,gBAAiB,CAAC;MAC5D6C,iBAAiB,EAChB/C,MAAM,CAAEC,YAAc,CAAC,CAACC,eAAe,CAAE,iBAAkB,CAAC;MAC7D8C,oBAAoB,EAAEhD,MAAM,CAAEC,YAAc,CAAC,CAACC,eAAe,CAC5D,sBACD,CAAC;MACD;MACAgD,aAAa,EAAEE,aAAa,IAAI,IAAAW,QAAE,EAAE,UAAU,EAAE,MAAO;IACxD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMtD,MAAM,GAAGb,eAAe,CAAC,CAAC;EAEhC,MAAMoE,gBAAgB,GAAGA,CAAA,KACxBnC,kBAAkB,CACjBc,gBAAgB,GAAG,iBAAiB,GAAG,oBACxC,CAAC;;EAEF;EACA,IAAAsB,kBAAS,EAAE,MAAM;IAChB,IAAK3B,eAAe,IAAI,CAAEX,cAAc,EAAG;MAC1CI,mBAAmB,CAAE,KAAM,CAAC;IAC7B;EACD,CAAC,EAAE,CAAEO,eAAe,EAAEX,cAAc,CAAG,CAAC;EACxC,IAAAsC,kBAAS,EAAE,MAAM;IAChB,IAAKrB,gBAAgB,IAAI,CAAEjB,cAAc,EAAG;MAC3CG,mBAAmB,CAAC,CAAC;IACtB;EACD,CAAC,EAAE,CAAEc,gBAAgB,EAAEjB,cAAc,CAAG,CAAC;;EAEzC;EACA;EACA,MAAM,CAAEuC,2BAA2B,EAAEC,8BAA8B,CAAE,GACpE,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAClB,MAAMC,wBAAwB,GAAG,IAAAC,oBAAW,EACzCC,GAAG,IAAM;IACV,IAAK,OAAOL,2BAA2B,KAAK,UAAU,EAAG;MACxDA,2BAA2B,CAAEK,GAAI,CAAC;IACnC;IACAJ,8BAA8B,CAAE,KAAM,CAAC;EACxC,CAAC,EACD,CAAED,2BAA2B,CAC9B,CAAC;EAED,MAAMM,SAAS,GAAG,IAAAC,mBAAU,EAAE,kBAAkB,EAAE,UAAU,GAAGtC,IAAI,EAAE;IACpE,mBAAmB,EAAEG,eAAe;IACpC,mBAAmB,EAAEE,eAAe;IACpC,eAAe,EAAED,kBAAkB;IACnC,kBAAkB,EAAEO,cAAc;IAClC,qBAAqB,EAAEC,iBAAiB,IAAInB,eAAe;IAC3D,0BAA0B,EAAE,CAAC,CAAEsC;EAChC,CAAE,CAAC;EAEH,MAAMQ,qBAAqB,GAAG7B,gBAAgB,GAC3C,IAAAtD,QAAE,EAAE,mBAAoB,CAAC,GACzB,IAAAA,QAAE,EAAE,eAAgB,CAAC;EAExB,MAAMoF,gBAAgB,GAAGA,CAAA,KAAM;IAC9B,IAAKxC,IAAI,KAAK,QAAQ,IAAIS,gBAAgB,EAAG;MAC5C,OAAO,IAAAxF,QAAA,CAAAwH,aAAA,EAACnG,gBAAA,CAAAoG,OAAe,MAAE,CAAC;IAC3B;IACA,IAAK1C,IAAI,KAAK,QAAQ,IAAIU,gBAAgB,EAAG;MAC5C,OAAO,IAAAzF,QAAA,CAAAwH,aAAA,EAAClG,gBAAA,CAAAmG,OAAe,MAAE,CAAC;IAC3B;IAEA,OAAO,IAAI;EACZ,CAAC;EAED,SAASC,iBAAiBA,CAAEtB,IAAI,EAAG;IAClCvB,iBAAiB,CAChB,IAAA8C,aAAO,GACN;IACA,IAAAxF,QAAE,EACD,kEACD,CAAC,EACDiE,IACD,CACD,CAAC;EACF;EAEA,OACC,IAAApG,QAAA,CAAAwH,aAAA,EAAAxH,QAAA,CAAA4H,QAAA,QACC,IAAA5H,QAAA,CAAAwH,aAAA,EAAC7G,UAAA,CAAAkH,cAAc;IAACC,QAAQ,EAAG9C;EAAoB,CAAE,CAAC,EAClD,IAAAhF,QAAA,CAAAwH,aAAA,EAACrG,WAAA,CAAAsG,OAAU,MAAE,CAAC,EACd,IAAAzH,QAAA,CAAAwH,aAAA,EAACpH,OAAA,CAAA2H,qBAAqB,MAAE,CAAC,EACzB,IAAA/H,QAAA,CAAAwH,aAAA,EAACpH,OAAA,CAAA4H,eAAe,MAAE,CAAC,EACnB,IAAAhI,QAAA,CAAAwH,aAAA,EAACpH,OAAA,CAAA6H,oBAAoB,MAAE,CAAC,EACxB,IAAAjI,QAAA,CAAAwH,aAAA,EAACxG,mBAAA,CAAAyG,OAAyB,MAAE,CAAC,EAC7B,IAAAzH,QAAA,CAAAwH,aAAA,EAACpH,OAAA,CAAA8H,+BAA+B,MAAE,CAAC,EACnC,IAAAlI,QAAA,CAAAwH,aAAA,EAACpH,OAAA,CAAA+H,uBAAuB,MAAE,CAAC,EAC3B,IAAAnI,QAAA,CAAAwH,aAAA,EAACjG,gBAAA,CAAAkG,OAAe,MAAE,CAAC,EACnB,IAAAzH,QAAA,CAAAwH,aAAA,EAAC7G,UAAA,CAAAyH,iBAAiB;IACjBzC,iBAAiB,EAAGA,iBAAiB,IAAInB,eAAiB;IAC1D4C,SAAS,EAAGA,SAAW;IACvBiB,MAAM,EAAG;MACR,GAAGpG,eAAe;MAClBsF,gBAAgB,EAAED;IACnB,CAAG;IACHpF,MAAM,EACL,IAAAlC,QAAA,CAAAwH,aAAA,EAACpG,OAAA,CAAAqG,OAAM;MACNV,8BAA8B,EAC7BA;IACA,CACD,CACD;IACDuB,aAAa,EAAG,IAAAtI,QAAA,CAAAwH,aAAA,EAACpH,OAAA,CAAAmI,aAAa,MAAE,CAAG;IACnChB,gBAAgB,EAAGA,gBAAgB,CAAC,CAAG;IACvClF,OAAO,EACN,CAAE,CAAEgC,gBAAgB,IAAIa,eAAe,KACtC,IAAAlF,QAAA,CAAAwH,aAAA,EAAAxH,QAAA,CAAA4H,QAAA,QACG,CAAEvD,gBAAgB,IAAI,CAAEa,eAAe,IACxC,IAAAlF,QAAA,CAAAwH,aAAA;MAAKJ,SAAS,EAAC;IAAwC,GACtD,IAAApH,QAAA,CAAAwH,aAAA,EAACjH,WAAA,CAAAiI,MAAM;MACNC,OAAO,EAAC,WAAW;MACnBrB,SAAS,EAAC,+CAA+C;MACzDsB,OAAO,EAAG9B,gBAAkB;MAC5B,iBAAgB;IAAO,GAErBrB,gBAAgB,GACf,IAAApD,QAAE,EAAE,qBAAsB,CAAC,GAC3B,IAAAA,QAAE,EAAE,wBAAyB,CACzB,CACJ,CACL,EACD,IAAAnC,QAAA,CAAAwH,aAAA,EAAC7G,UAAA,CAAAgI,iBAAiB,CAACC,IAAI;MAACC,KAAK,EAAC;IAAgB,CAAE,CAC/C,CAEH;IACDC,OAAO,EAAG,IAAA9I,QAAA,CAAAwH,aAAA,EAACpH,OAAA,CAAA2I,eAAe,MAAE,CAAG;IAC/BC,OAAO,EACN,IAAAhJ,QAAA,CAAAwH,aAAA,EAAAxH,QAAA,CAAA4H,QAAA,QACG,CAAEjC,iBAAiB,IAAI,IAAA3F,QAAA,CAAAwH,aAAA,EAACpH,OAAA,CAAAmI,aAAa,MAAE,CAAC,EACxC,CAAExD,IAAI,KAAK,MAAM,IAAI,CAAEE,oBAAoB,KAC5C,IAAAjF,QAAA,CAAAwH,aAAA,EAAC1G,WAAA,CAAA2G,OAAU,MAAE,CACb,EACCxC,oBAAoB,IAAIF,IAAI,KAAK,QAAQ,IAC1C,IAAA/E,QAAA,CAAAwH,aAAA,EAACzG,aAAA,CAAA0G,OAAY;MAACpE,MAAM,EAAGA;IAAQ,CAAE,CACjC,EACC,CAAEsC,iBAAiB,IAAI,CAAEE,cAAc,IACxC,IAAA7F,QAAA,CAAAwH,aAAA;MAAKJ,SAAS,EAAC;IAA6B,GAC3C,IAAApH,QAAA,CAAAwH,aAAA,EAAChG,UAAA,CAAAiG,OAAS;MAACwB,QAAQ,EAAC;IAAQ,CAAE,CAAC,EAC/B,IAAAjJ,QAAA,CAAAwH,aAAA,EAAChG,UAAA,CAAAiG,OAAS;MAACwB,QAAQ,EAAC;IAAU,CAAE,CAC5B,CACL,EACC5E,gBAAgB,IAAIa,eAAe,IACpC,IAAAlF,QAAA,CAAAwH,aAAA,EAACjH,WAAA,CAAA2I,UAAU,MAAE,CAEb,CACF;IACD3G,MAAM,EACL,CAAEoD,iBAAiB,IACnB,CAAEtB,gBAAgB,IAClBuB,oBAAoB,IACpBX,oBAAoB,IACpBF,IAAI,KAAK,QAAQ,IAChB,IAAA/E,QAAA,CAAAwH,aAAA;MAAKJ,SAAS,EAAC;IAA0B,GACxC,IAAApH,QAAA,CAAAwH,aAAA,EAAClH,YAAA,CAAA6I,eAAe;MAACC,aAAa,EAAGtD;IAAe,CAAE,CAC9C,CAEN;IACDxD,OAAO,EACN,IAAAtC,QAAA,CAAAwH,aAAA,EAAC9F,aAAA,CAAA+F,OAAY;MACZR,wBAAwB,EAAGA,wBAA0B;MACrDoC,yBAAyB,EACxBvC,2BACA;MACDC,8BAA8B,EAC7BA;IACA,CACD,CACD;IACDuC,SAAS,EAAG;MACXC,QAAQ,EAAElE,gBAAgB;MAC1BmE,IAAI,EAAElE;IACP;EAAG,CACH,CAAC,EACF,IAAAtF,QAAA,CAAAwH,aAAA,EAACtG,iBAAA,CAAAuG,OAAwB,MAAE,CAAC,EAC5B,IAAAzH,QAAA,CAAAwH,aAAA,EAACvG,0BAAA,CAAAwG,OAAyB,MAAE,CAAC,EAC7B,IAAAzH,QAAA,CAAAwH,aAAA,EAAC/F,aAAA,CAAAgG,OAAY,MAAE,CAAC,EAChB,IAAAzH,QAAA,CAAAwH,aAAA,EAACpH,OAAA,CAAAqJ,mBAAmB,MAAE,CAAC,EACvB,IAAAzJ,QAAA,CAAAwH,aAAA,EAAC7F,iBAAA,CAAA8F,OAAgB,MAAE,CAAC,EACpB,IAAAzH,QAAA,CAAAwH,aAAA,EAAC/G,QAAA,CAAAiJ,UAAU;IAACC,OAAO,EAAGjC;EAAmB,CAAE,CAC1C,CAAC;AAEL;AAAC,IAAAkC,QAAA,GAEczF,MAAM;AAAA0F,OAAA,CAAApC,OAAA,GAAAmC,QAAA"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_editor","_data","_blockEditor","_components","_compose","_plugins","_i18n","_interface","_keyboardShortcuts","_notices","_textEditor","_visualEditor","_keyboardShortcuts2","_keyboardShortcutHelpModal","_preferencesModal","_browserUrl","_header","_inserterSidebar","_listViewSidebar","_settingsSidebar","_metaBoxes","_welcomeGuide","_actionsPanel","_startPageOptions","_store","_lockUnlock","getLayoutStyles","unlock","blockEditorPrivateApis","interfaceLabels","header","__","body","sidebar","actions","footer","useEditorStyles","hasThemeStyleSupport","editorSettings","useSelect","select","editPostStore","isFeatureActive","editorStore","getEditorSettings","useMemo","_editorSettings$style","_editorSettings$style2","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","Layout","useBlockCommands","isMobileViewport","useViewportMatch","isHugeViewport","isLargeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","useDispatch","createErrorNotice","noticesStore","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","hasFixedToolbar","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","isDistractionFree","showBlockBreadcrumbs","isTemplateMode","documentLabel","getPostTypeLabel","postTypeLabel","isEditingTemplate","interfaceStore","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","keyboardShortcutsStore","getAllShortcutKeyCombinations","_x","openSidebarPanel","useEffect","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","useState","closeEntitiesSavedStates","useCallback","arg","document","classList","add","remove","className","classnames","secondarySidebarLabel","secondarySidebar","createElement","default","onPluginAreaError","sprintf","Fragment","FullscreenMode","isActive","UnsavedChangesWarning","AutosaveMonitor","LocalAutosaveMonitor","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","InterfaceSkeleton","labels","editorNotices","EditorNotices","Button","variant","onClick","ComplementaryArea","Slot","scope","notices","EditorSnackbars","content","location","ScrollLock","BlockBreadcrumb","rootLabelText","isEntitiesSavedStatesOpen","shortcuts","previous","next","PostSyncStatusModal","PluginArea","onError","_default","exports"],"sources":["@wordpress/edit-post/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tEditorKeyboardShortcutsRegister,\n\tEditorKeyboardShortcuts,\n\tEditorSnackbars,\n\tPostSyncStatusModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockCommands,\n\tBlockBreadcrumb,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Button, ScrollLock } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useState, useEffect, useCallback, useMemo } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport EditPostPreferencesModal from '../preferences-modal';\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport MetaBoxes from '../meta-boxes';\nimport WelcomeGuide from '../welcome-guide';\nimport ActionsPanel from './actions-panel';\nimport StartPageOptions from '../start-page-options';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nfunction useEditorStyles() {\n\tconst { hasThemeStyleSupport, editorSettings } = useSelect(\n\t\t( select ) => ( {\n\t\t\thasThemeStyleSupport:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'themeStyles' ),\n\t\t\teditorSettings: select( editorStore ).getEditorSettings(),\n\t\t} ),\n\t\t[]\n\t);\n\n\t// Compute the default styles.\n\treturn useMemo( () => {\n\t\tconst presetStyles =\n\t\t\teditorSettings.styles?.filter(\n\t\t\t\t( style ) =>\n\t\t\t\t\tstyle.__unstableType && style.__unstableType !== 'theme'\n\t\t\t) ?? [];\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...editorSettings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).\n\t\tconst hasThemeStyles =\n\t\t\thasThemeStyleSupport &&\n\t\t\tpresetStyles.length !== ( editorSettings.styles?.length ?? 0 );\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif ( ! editorSettings.disableLayoutStyles && ! hasThemeStyles ) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\treturn hasThemeStyles ? editorSettings.styles : defaultEditorStyles;\n\t}, [\n\t\teditorSettings.defaultEditorStyles,\n\t\teditorSettings.disableLayoutStyles,\n\t\teditorSettings.styles,\n\t\thasThemeStyleSupport,\n\t] );\n}\n\nfunction Layout() {\n\tuseBlockCommands();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst { openGeneralSidebar, closeGeneralSidebar, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\thasBlockSelected,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowBlockBreadcrumbs,\n\t\tisTemplateMode,\n\t\tdocumentLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\thasFixedToolbar:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fixedToolbar' ),\n\t\t\tsidebarIsOpened: !! (\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditPostStore.name\n\t\t\t\t) || select( editPostStore ).isPublishSidebarOpened()\n\t\t\t),\n\t\t\tisFullscreenActive:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editPostStore ).isListViewOpened(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\tisDistractionFree:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t};\n\t}, [] );\n\n\tconst styles = useEditorStyles();\n\n\tconst openSidebarPanel = () =>\n\t\topenGeneralSidebar(\n\t\t\thasBlockSelected ? 'edit-post/block' : 'edit-post/document'\n\t\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( sidebarIsOpened && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t}\n\t}, [ sidebarIsOpened, isHugeViewport ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isHugeViewport ] );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\t// We need to add the show-icon-labels class to the body element so it is applied to modals.\n\tif ( showIconLabels ) {\n\t\tdocument.body.classList.add( 'show-icon-labels' );\n\t} else {\n\t\tdocument.body.classList.remove( 'show-icon-labels' );\n\t}\n\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'is-distraction-free': isDistractionFree && isLargeViewport,\n\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t} );\n\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( mode === 'visual' && isInserterOpened ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( mode === 'visual' && isListViewOpened ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<EditorKeyboardShortcuts />\n\n\t\t\t<InterfaceSkeleton\n\t\t\t\tisDistractionFree={ isDistractionFree && isLargeViewport }\n\t\t\t\tclassName={ className }\n\t\t\t\tlabels={ {\n\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t} }\n\t\t\t\theader={\n\t\t\t\t\t<Header\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\tsidebar={\n\t\t\t\t\t( ! isMobileViewport || sidebarIsOpened ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isMobileViewport && ! sidebarIsOpened && (\n\t\t\t\t\t\t\t\t<div className=\"edit-post-layout__toggle-sidebar-panel\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-post-layout__toggle-sidebar-panel-button\"\n\t\t\t\t\t\t\t\t\t\tonClick={ openSidebarPanel }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ hasBlockSelected\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Open block settings' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Open document settings' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! isDistractionFree && <EditorNotices /> }\n\t\t\t\t\t\t{ ( mode === 'text' || ! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t<TextEditor />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isRichEditingEnabled && mode === 'visual' && (\n\t\t\t\t\t\t\t<VisualEditor styles={ styles } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isDistractionFree && ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isMobileViewport && sidebarIsOpened && (\n\t\t\t\t\t\t\t<ScrollLock />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t! isMobileViewport &&\n\t\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t<div className=\"edit-post-layout__footer\">\n\t\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<ActionsPanel\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tshortcuts={ {\n\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<EditPostPreferencesModal />\n\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t<WelcomeGuide />\n\t\t\t<PostSyncStatusModal />\n\t\t\t<StartPageOptions />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t<SettingsSidebar />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"],"mappings":"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"}
@@ -92,14 +92,13 @@ function StartPageOptionsModal() {
92
92
  function StartPageOptions() {
93
93
  const shouldEnableModal = (0, _data.useSelect)(select => {
94
94
  const {
95
- getEditedPostContent,
96
- isEditedPostSaveable
95
+ isCleanNewPost
97
96
  } = select(_editor.store);
98
97
  const {
99
98
  isEditingTemplate,
100
99
  isFeatureActive
101
100
  } = select(_store.store);
102
- return !isEditedPostSaveable() && '' === getEditedPostContent() && !isEditingTemplate() && !isFeatureActive('welcomeGuide');
101
+ return !isEditingTemplate() && !isFeatureActive('welcomeGuide') && isCleanNewPost();
103
102
  }, []);
104
103
  if (!shouldEnableModal) {
105
104
  return null;
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_components","_i18n","_blockEditor","_data","_compose","_editor","_store","useStartPatterns","blockPatternsWithPostContentBlockType","postType","useSelect","select","getPatternsByBlockTypes","blockEditorStore","getCurrentPostType","editorStore","useMemo","filter","pattern","postTypes","Array","isArray","includes","PatternSelection","blockPatterns","onChoosePattern","shownBlockPatterns","useAsyncList","resetEditorBlocks","useDispatch","createElement","__experimentalBlockPatternsList","shownPatterns","onClickPattern","_pattern","blocks","StartPageOptionsModal","modalState","setModalState","useState","startPatterns","hasStartPattern","length","shouldOpenModal","useEffect","Modal","className","title","__","isFullScreen","onRequestClose","StartPageOptions","shouldEnableModal","getEditedPostContent","isEditedPostSaveable","isEditingTemplate","isFeatureActive","editPostStore"],"sources":["@wordpress/edit-post/src/components/start-page-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction useStartPatterns() {\n\t// A pattern is a start pattern if it includes 'core/post-content' in its blockTypes,\n\t// and it has no postTypes declared and the current post type is page or if\n\t// the current post type is part of the postTypes declared.\n\tconst { blockPatternsWithPostContentBlockType, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPatternsByBlockTypes } = select( blockEditorStore );\n\t\t\tconst { getCurrentPostType } = select( editorStore );\n\t\t\treturn {\n\t\t\t\tblockPatternsWithPostContentBlockType:\n\t\t\t\t\tgetPatternsByBlockTypes( 'core/post-content' ),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\treturn useMemo( () => {\n\t\t// filter patterns without postTypes declared if the current postType is page\n\t\t// or patterns that declare the current postType in its post type array.\n\t\treturn blockPatternsWithPostContentBlockType.filter( ( pattern ) => {\n\t\t\treturn (\n\t\t\t\t( postType === 'page' && ! pattern.postTypes ) ||\n\t\t\t\t( Array.isArray( pattern.postTypes ) &&\n\t\t\t\t\tpattern.postTypes.includes( postType ) )\n\t\t\t);\n\t\t} );\n\t}, [ postType, blockPatternsWithPostContentBlockType ] );\n}\n\nfunction PatternSelection( { blockPatterns, onChoosePattern } ) {\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\tconst { resetEditorBlocks } = useDispatch( editorStore );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( _pattern, blocks ) => {\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction StartPageOptionsModal() {\n\tconst [ modalState, setModalState ] = useState( 'initial' );\n\tconst startPatterns = useStartPatterns();\n\tconst hasStartPattern = startPatterns.length > 0;\n\tconst shouldOpenModal = hasStartPattern && modalState === 'initial';\n\n\tuseEffect( () => {\n\t\tif ( shouldOpenModal ) {\n\t\t\tsetModalState( 'open' );\n\t\t}\n\t}, [ shouldOpenModal ] );\n\n\tif ( modalState !== 'open' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-start-page-options__modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tisFullScreen\n\t\t\tonRequestClose={ () => setModalState( 'closed' ) }\n\t\t>\n\t\t\t<div className=\"edit-post-start-page-options__modal-content\">\n\t\t\t\t<PatternSelection\n\t\t\t\t\tblockPatterns={ startPatterns }\n\t\t\t\t\tonChoosePattern={ () => setModalState( 'closed' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n\nexport default function StartPageOptions() {\n\tconst shouldEnableModal = useSelect( ( select ) => {\n\t\tconst { getEditedPostContent, isEditedPostSaveable } =\n\t\t\tselect( editorStore );\n\t\tconst { isEditingTemplate, isFeatureActive } = select( editPostStore );\n\t\treturn (\n\t\t\t! isEditedPostSaveable() &&\n\t\t\t'' === getEditedPostContent() &&\n\t\t\t! isEditingTemplate() &&\n\t\t\t! isFeatureActive( 'welcomeGuide' )\n\t\t);\n\t}, [] );\n\n\tif ( ! shouldEnableModal ) {\n\t\treturn null;\n\t}\n\n\treturn <StartPageOptionsModal />;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_components","_i18n","_blockEditor","_data","_compose","_editor","_store","useStartPatterns","blockPatternsWithPostContentBlockType","postType","useSelect","select","getPatternsByBlockTypes","blockEditorStore","getCurrentPostType","editorStore","useMemo","filter","pattern","postTypes","Array","isArray","includes","PatternSelection","blockPatterns","onChoosePattern","shownBlockPatterns","useAsyncList","resetEditorBlocks","useDispatch","createElement","__experimentalBlockPatternsList","shownPatterns","onClickPattern","_pattern","blocks","StartPageOptionsModal","modalState","setModalState","useState","startPatterns","hasStartPattern","length","shouldOpenModal","useEffect","Modal","className","title","__","isFullScreen","onRequestClose","StartPageOptions","shouldEnableModal","isCleanNewPost","isEditingTemplate","isFeatureActive","editPostStore"],"sources":["@wordpress/edit-post/src/components/start-page-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction useStartPatterns() {\n\t// A pattern is a start pattern if it includes 'core/post-content' in its blockTypes,\n\t// and it has no postTypes declared and the current post type is page or if\n\t// the current post type is part of the postTypes declared.\n\tconst { blockPatternsWithPostContentBlockType, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPatternsByBlockTypes } = select( blockEditorStore );\n\t\t\tconst { getCurrentPostType } = select( editorStore );\n\t\t\treturn {\n\t\t\t\tblockPatternsWithPostContentBlockType:\n\t\t\t\t\tgetPatternsByBlockTypes( 'core/post-content' ),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\treturn useMemo( () => {\n\t\t// filter patterns without postTypes declared if the current postType is page\n\t\t// or patterns that declare the current postType in its post type array.\n\t\treturn blockPatternsWithPostContentBlockType.filter( ( pattern ) => {\n\t\t\treturn (\n\t\t\t\t( postType === 'page' && ! pattern.postTypes ) ||\n\t\t\t\t( Array.isArray( pattern.postTypes ) &&\n\t\t\t\t\tpattern.postTypes.includes( postType ) )\n\t\t\t);\n\t\t} );\n\t}, [ postType, blockPatternsWithPostContentBlockType ] );\n}\n\nfunction PatternSelection( { blockPatterns, onChoosePattern } ) {\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\tconst { resetEditorBlocks } = useDispatch( editorStore );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( _pattern, blocks ) => {\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction StartPageOptionsModal() {\n\tconst [ modalState, setModalState ] = useState( 'initial' );\n\tconst startPatterns = useStartPatterns();\n\tconst hasStartPattern = startPatterns.length > 0;\n\tconst shouldOpenModal = hasStartPattern && modalState === 'initial';\n\n\tuseEffect( () => {\n\t\tif ( shouldOpenModal ) {\n\t\t\tsetModalState( 'open' );\n\t\t}\n\t}, [ shouldOpenModal ] );\n\n\tif ( modalState !== 'open' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-start-page-options__modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tisFullScreen\n\t\t\tonRequestClose={ () => setModalState( 'closed' ) }\n\t\t>\n\t\t\t<div className=\"edit-post-start-page-options__modal-content\">\n\t\t\t\t<PatternSelection\n\t\t\t\t\tblockPatterns={ startPatterns }\n\t\t\t\t\tonChoosePattern={ () => setModalState( 'closed' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n\nexport default function StartPageOptions() {\n\tconst shouldEnableModal = useSelect( ( select ) => {\n\t\tconst { isCleanNewPost } = select( editorStore );\n\t\tconst { isEditingTemplate, isFeatureActive } = select( editPostStore );\n\n\t\treturn (\n\t\t\t! isEditingTemplate() &&\n\t\t\t! isFeatureActive( 'welcomeGuide' ) &&\n\t\t\tisCleanNewPost()\n\t\t);\n\t}, [] );\n\n\tif ( ! shouldEnableModal ) {\n\t\treturn null;\n\t}\n\n\treturn <StartPageOptionsModal />;\n}\n"],"mappings":"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"}
@@ -31,43 +31,10 @@ var _lockUnlock = require("../../lock-unlock");
31
31
  const {
32
32
  LayoutStyle,
33
33
  useLayoutClasses,
34
- useLayoutStyles
34
+ useLayoutStyles,
35
+ ExperimentalBlockCanvas: BlockCanvas
35
36
  } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
36
37
  const isGutenbergPlugin = process.env.IS_GUTENBERG_PLUGIN ? true : false;
37
- function MaybeIframe({
38
- children,
39
- contentRef,
40
- shouldIframe,
41
- styles,
42
- style
43
- }) {
44
- const ref = (0, _blockEditor.__unstableUseMouseMoveTypingReset)();
45
- if (!shouldIframe) {
46
- return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.__unstableEditorStyles, {
47
- styles: styles
48
- }), (0, _element.createElement)(_blockEditor.WritingFlow, {
49
- ref: contentRef,
50
- className: "editor-styles-wrapper",
51
- style: {
52
- flex: '1',
53
- ...style
54
- },
55
- tabIndex: -1
56
- }, children));
57
- }
58
- return (0, _element.createElement)(_blockEditor.__unstableIframe, {
59
- ref: ref,
60
- contentRef: contentRef,
61
- style: {
62
- width: '100%',
63
- height: '100%',
64
- display: 'block'
65
- },
66
- name: "editor-canvas"
67
- }, (0, _element.createElement)(_blockEditor.__unstableEditorStyles, {
68
- styles: styles
69
- }), children);
70
- }
71
38
 
72
39
  /**
73
40
  * Given an array of nested blocks, find the first Post Content
@@ -91,6 +58,14 @@ function getPostContentAttributes(blocks) {
91
58
  }
92
59
  }
93
60
  }
61
+ function checkForPostContentAtRootLevel(blocks) {
62
+ for (let i = 0; i < blocks.length; i++) {
63
+ if (blocks[i].name === 'core/post-content') {
64
+ return true;
65
+ }
66
+ }
67
+ return false;
68
+ }
94
69
  function VisualEditor({
95
70
  styles
96
71
  }) {
@@ -120,14 +95,16 @@ function VisualEditor({
120
95
  getBlockTypes
121
96
  } = select(_blocks.store);
122
97
  const _isTemplateMode = isEditingTemplate();
98
+ const postTypeSlug = getCurrentPostType();
123
99
  let _wrapperBlockName;
124
- if (getCurrentPostType() === 'wp_block') {
100
+ if (postTypeSlug === 'wp_block') {
125
101
  _wrapperBlockName = 'core/block';
126
102
  } else if (!_isTemplateMode) {
127
103
  _wrapperBlockName = 'core/post-content';
128
104
  }
129
105
  const editorSettings = getEditorSettings();
130
106
  const supportsTemplateMode = editorSettings.supportsTemplateMode;
107
+ const postType = select(_coreData.store).getPostType(postTypeSlug);
131
108
  const canEditTemplate = select(_coreData.store).canUser('create', 'templates');
132
109
  return {
133
110
  deviceType: __experimentalGetPreviewDeviceType(),
@@ -136,7 +113,7 @@ function VisualEditor({
136
113
  postContentAttributes: getEditorSettings().postContentAttributes,
137
114
  // Post template fetch returns a 404 on classic themes, which
138
115
  // messes with e2e tests, so check it's a block theme first.
139
- editedPostTemplate: supportsTemplateMode && canEditTemplate ? getEditedPostTemplate() : undefined,
116
+ editedPostTemplate: postType?.viewable && supportsTemplateMode && canEditTemplate ? getEditedPostTemplate() : undefined,
140
117
  wrapperBlockName: _wrapperBlockName,
141
118
  wrapperUniqueId: getCurrentPostId(),
142
119
  isBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme,
@@ -195,8 +172,7 @@ function VisualEditor({
195
172
  paddingBottom = '40vh';
196
173
  }
197
174
  const ref = (0, _element.useRef)();
198
- const contentRef = (0, _compose.useMergeRefs)([ref, (0, _blockEditor.__unstableUseClipboardHandler)(), (0, _blockEditor.__unstableUseTypewriter)(), (0, _blockEditor.__unstableUseBlockSelectionClearer)()]);
199
- const blockSelectionClearerRef = (0, _blockEditor.__unstableUseBlockSelectionClearer)();
175
+ const contentRef = (0, _compose.useMergeRefs)([ref, (0, _blockEditor.__unstableUseTypewriter)()]);
200
176
 
201
177
  // fallbackLayout is used if there is no Post Content,
202
178
  // and for Post Title.
@@ -232,6 +208,19 @@ function VisualEditor({
232
208
  const parseableContent = typeof editedPostTemplate?.content === 'string' ? editedPostTemplate?.content : '';
233
209
  return getPostContentAttributes((0, _blocks.parse)(parseableContent)) || {};
234
210
  }, [editedPostTemplate?.content, editedPostTemplate?.blocks, postContentAttributes]);
211
+ const hasPostContentAtRootLevel = (0, _element.useMemo)(() => {
212
+ if (!editedPostTemplate?.content && !editedPostTemplate?.blocks) {
213
+ return false;
214
+ }
215
+ // When in template editing mode, we can access the blocks directly.
216
+ if (editedPostTemplate?.blocks) {
217
+ return checkForPostContentAtRootLevel(editedPostTemplate?.blocks);
218
+ }
219
+ // If there are no blocks, we have to parse the content string.
220
+ // Best double-check it's a string otherwise the parse function gets unhappy.
221
+ const parseableContent = typeof editedPostTemplate?.content === 'string' ? editedPostTemplate?.content : '';
222
+ return checkForPostContentAtRootLevel((0, _blocks.parse)(parseableContent)) || false;
223
+ }, [editedPostTemplate?.content, editedPostTemplate?.blocks]);
235
224
  const {
236
225
  layout = {},
237
226
  align = ''
@@ -258,6 +247,7 @@ function VisualEditor({
258
247
  // If there is a Post Content block we use its layout for the block list;
259
248
  // if not, this must be a classic theme, in which case we use the fallback layout.
260
249
  const blockListLayout = postContentAttributes ? postContentLayout : fallbackLayout;
250
+ const postEditorLayout = blockListLayout?.type === 'default' && !hasPostContentAtRootLevel ? fallbackLayout : blockListLayout;
261
251
  const observeTypingRef = (0, _blockEditor.__unstableUseTypingObserver)();
262
252
  const titleRef = (0, _element.useRef)();
263
253
  (0, _element.useEffect)(() => {
@@ -287,22 +277,22 @@ function VisualEditor({
287
277
  className: "edit-post-visual-editor__content-area",
288
278
  animate: {
289
279
  padding: isTemplateMode ? '48px 48px 0' : 0
290
- },
291
- ref: blockSelectionClearerRef
280
+ }
292
281
  }, (0, _element.createElement)(_components.__unstableMotion.div, {
293
282
  animate: animatedStyles,
294
283
  initial: desktopCanvasStyles,
295
284
  className: previewMode
296
- }, (0, _element.createElement)(MaybeIframe, {
285
+ }, (0, _element.createElement)(BlockCanvas, {
297
286
  shouldIframe: isToBeIframed,
298
287
  contentRef: contentRef,
299
- styles: styles
288
+ styles: styles,
289
+ height: "100%"
300
290
  }, themeSupportsLayout && !themeHasDisabledLayoutStyles && !isTemplateMode && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(LayoutStyle, {
301
291
  selector: ".edit-post-visual-editor__post-title-wrapper",
302
292
  layout: fallbackLayout
303
293
  }), (0, _element.createElement)(LayoutStyle, {
304
294
  selector: ".block-editor-block-list__layout.is-root-container",
305
- layout: blockListLayout
295
+ layout: postEditorLayout
306
296
  }), align && (0, _element.createElement)(LayoutStyle, {
307
297
  css: alignCSS
308
298
  }), postContentLayoutStyles && (0, _element.createElement)(LayoutStyle, {