@wordpress/edit-site 5.12.1 → 5.12.3

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 (153) hide show
  1. package/build/components/add-new-pattern/index.js +9 -9
  2. package/build/components/add-new-pattern/index.js.map +1 -1
  3. package/build/components/add-new-template/new-template.js +69 -14
  4. package/build/components/add-new-template/new-template.js.map +1 -1
  5. package/build/components/create-pattern-modal/index.js +1 -1
  6. package/build/components/create-pattern-modal/index.js.map +1 -1
  7. package/build/components/create-template-part-modal/index.js +1 -1
  8. package/build/components/create-template-part-modal/index.js.map +1 -1
  9. package/build/components/editor/index.js +1 -0
  10. package/build/components/editor/index.js.map +1 -1
  11. package/build/components/global-styles/ui.js +7 -2
  12. package/build/components/global-styles/ui.js.map +1 -1
  13. package/build/components/header-edit-mode/index.js +36 -9
  14. package/build/components/header-edit-mode/index.js.map +1 -1
  15. package/build/components/header-edit-mode/more-menu/index.js +36 -2
  16. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  17. package/build/components/keyboard-shortcuts/edit-mode.js +32 -1
  18. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  19. package/build/components/keyboard-shortcuts/register.js +9 -0
  20. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  21. package/build/components/layout/index.js +86 -12
  22. package/build/components/layout/index.js.map +1 -1
  23. package/build/components/page-content-focus-manager/back-to-page-notification.js +9 -3
  24. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  25. package/build/components/page-library/grid-item.js +11 -7
  26. package/build/components/page-library/grid-item.js.map +1 -1
  27. package/build/components/preferences-modal/enable-feature.js +5 -1
  28. package/build/components/preferences-modal/enable-feature.js.map +1 -1
  29. package/build/components/preferences-modal/index.js +30 -0
  30. package/build/components/preferences-modal/index.js.map +1 -1
  31. package/build/components/sidebar-edit-mode/index.js +4 -2
  32. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  33. package/build/components/sidebar-navigation-screen/index.js +7 -3
  34. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  35. package/build/components/sidebar-navigation-screen-global-styles/index.js +15 -3
  36. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  37. package/build/components/sidebar-navigation-screen-library/category-item.js +1 -1
  38. package/build/components/sidebar-navigation-screen-library/category-item.js.map +1 -1
  39. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +1 -1
  40. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  41. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +10 -1
  42. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  43. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -1
  44. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  45. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +14 -3
  46. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  47. package/build/hooks/commands/use-common-commands.js +22 -0
  48. package/build/hooks/commands/use-common-commands.js.map +1 -1
  49. package/build/hooks/commands/use-edit-mode-commands.js +170 -42
  50. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  51. package/build/index.js +1 -0
  52. package/build/index.js.map +1 -1
  53. package/build/store/selectors.js +2 -1
  54. package/build/store/selectors.js.map +1 -1
  55. package/build-module/components/add-new-pattern/index.js +8 -8
  56. package/build-module/components/add-new-pattern/index.js.map +1 -1
  57. package/build-module/components/add-new-template/new-template.js +72 -17
  58. package/build-module/components/add-new-template/new-template.js.map +1 -1
  59. package/build-module/components/create-pattern-modal/index.js +1 -1
  60. package/build-module/components/create-pattern-modal/index.js.map +1 -1
  61. package/build-module/components/create-template-part-modal/index.js +1 -1
  62. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  63. package/build-module/components/editor/index.js +1 -0
  64. package/build-module/components/editor/index.js.map +1 -1
  65. package/build-module/components/global-styles/ui.js +8 -3
  66. package/build-module/components/global-styles/ui.js.map +1 -1
  67. package/build-module/components/header-edit-mode/index.js +38 -11
  68. package/build-module/components/header-edit-mode/index.js.map +1 -1
  69. package/build-module/components/header-edit-mode/more-menu/index.js +35 -3
  70. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  71. package/build-module/components/keyboard-shortcuts/edit-mode.js +29 -1
  72. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  73. package/build-module/components/keyboard-shortcuts/register.js +9 -0
  74. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  75. package/build-module/components/layout/index.js +86 -12
  76. package/build-module/components/layout/index.js.map +1 -1
  77. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +9 -3
  78. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  79. package/build-module/components/page-library/grid-item.js +11 -7
  80. package/build-module/components/page-library/grid-item.js.map +1 -1
  81. package/build-module/components/preferences-modal/enable-feature.js +5 -1
  82. package/build-module/components/preferences-modal/enable-feature.js.map +1 -1
  83. package/build-module/components/preferences-modal/index.js +27 -0
  84. package/build-module/components/preferences-modal/index.js.map +1 -1
  85. package/build-module/components/sidebar-edit-mode/index.js +4 -2
  86. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  87. package/build-module/components/sidebar-navigation-screen/index.js +7 -3
  88. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  89. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +14 -3
  90. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  91. package/build-module/components/sidebar-navigation-screen-library/category-item.js +1 -1
  92. package/build-module/components/sidebar-navigation-screen-library/category-item.js.map +1 -1
  93. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +1 -1
  94. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  95. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +11 -1
  96. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  97. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -1
  98. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  99. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +14 -4
  100. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  101. package/build-module/hooks/commands/use-common-commands.js +23 -1
  102. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  103. package/build-module/hooks/commands/use-edit-mode-commands.js +170 -44
  104. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  105. package/build-module/index.js +1 -0
  106. package/build-module/index.js.map +1 -1
  107. package/build-module/store/selectors.js +2 -1
  108. package/build-module/store/selectors.js.map +1 -1
  109. package/build-style/style-rtl.css +110 -18
  110. package/build-style/style.css +110 -18
  111. package/package.json +15 -15
  112. package/src/components/add-new-pattern/index.js +8 -10
  113. package/src/components/add-new-template/new-template.js +120 -24
  114. package/src/components/add-new-template/style.scss +30 -2
  115. package/src/components/create-pattern-modal/index.js +1 -1
  116. package/src/components/create-template-part-modal/index.js +1 -1
  117. package/src/components/editor/index.js +1 -0
  118. package/src/components/editor/style.scss +4 -0
  119. package/src/components/global-styles/ui.js +34 -24
  120. package/src/components/header-edit-mode/index.js +96 -54
  121. package/src/components/header-edit-mode/more-menu/index.js +52 -7
  122. package/src/components/keyboard-shortcuts/edit-mode.js +35 -2
  123. package/src/components/keyboard-shortcuts/register.js +10 -0
  124. package/src/components/layout/index.js +115 -46
  125. package/src/components/layout/style.scss +58 -1
  126. package/src/components/page-content-focus-manager/back-to-page-notification.js +7 -2
  127. package/src/components/page-library/grid-item.js +9 -9
  128. package/src/components/page-library/style.scss +2 -2
  129. package/src/components/preferences-modal/enable-feature.js +5 -2
  130. package/src/components/preferences-modal/index.js +25 -0
  131. package/src/components/sidebar-button/style.scss +1 -1
  132. package/src/components/sidebar-edit-mode/index.js +4 -2
  133. package/src/components/sidebar-navigation-item/style.scss +1 -1
  134. package/src/components/sidebar-navigation-screen/index.js +4 -2
  135. package/src/components/sidebar-navigation-screen/style.scss +2 -1
  136. package/src/components/sidebar-navigation-screen-details-panel/style.scss +1 -1
  137. package/src/components/sidebar-navigation-screen-global-styles/index.js +15 -3
  138. package/src/components/sidebar-navigation-screen-library/category-item.js +1 -1
  139. package/src/components/sidebar-navigation-screen-library/style.scss +0 -4
  140. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +1 -1
  141. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +12 -1
  142. package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +2 -2
  143. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -1
  144. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +31 -8
  145. package/src/components/sidebar-navigation-screen-pattern/style.scss +25 -0
  146. package/src/components/sidebar-navigation-screen-template/style.scss +15 -15
  147. package/src/components/site-hub/style.scss +4 -3
  148. package/src/hooks/commands/use-common-commands.js +20 -1
  149. package/src/hooks/commands/use-edit-mode-commands.js +155 -36
  150. package/src/index.js +1 -0
  151. package/src/store/selectors.js +5 -0
  152. package/src/store/test/selectors.js +2 -0
  153. package/src/style.scss +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/keyboard-shortcuts/register.js"],"names":["KeyboardShortcutsRegister","registerShortcut","keyboardShortcutsStore","name","category","description","keyCombination","modifier","character","aliases","forEach","level"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { isAppleOS } from '@wordpress/keycodes';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\nfunction KeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/save',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/undo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Undo your last changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/redo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Redo your last undo.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t\t// Disable on Apple OS because it conflicts with the browser's\n\t\t\t// history shortcut. It's a fine alias for both Windows and Linux.\n\t\t\t// Since there's no conflict for Ctrl+Shift+Z on both Windows and\n\t\t\t// Linux, we keep it as the default for consistency.\n\t\t\taliases: isAppleOS()\n\t\t\t\t? []\n\t\t\t\t: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmodifier: 'primary',\n\t\t\t\t\t\t\tcharacter: 'y',\n\t\t\t\t\t\t},\n\t\t\t\t ],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/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-site/toggle-block-settings-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-site/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-site/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-site/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\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/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-site/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-site/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}, [ registerShortcut ] );\n\n\treturn null;\n}\n\nexport default KeyboardShortcutsRegister;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/keyboard-shortcuts/register.js"],"names":["KeyboardShortcutsRegister","registerShortcut","keyboardShortcutsStore","name","category","description","keyCombination","modifier","character","aliases","forEach","level"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAPA;AACA;AACA;AAOA,SAASA,yBAAT,GAAqC;AACpC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAuB,uBAAaC,wBAAb,CAA7B;AACA,0BAAW,MAAM;AAChBD,IAAAA,gBAAgB,CAAE;AACjBE,MAAAA,IAAI,EAAE,qBADW;AAEjBC,MAAAA,QAAQ,EAAE,QAFO;AAGjBC,MAAAA,WAAW,EAAE,cAAI,oBAAJ,CAHI;AAIjBC,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,SADK;AAEfC,QAAAA,SAAS,EAAE;AAFI;AAJC,KAAF,CAAhB;AAUAP,IAAAA,gBAAgB,CAAE;AACjBE,MAAAA,IAAI,EAAE,qBADW;AAEjBC,MAAAA,QAAQ,EAAE,QAFO;AAGjBC,MAAAA,WAAW,EAAE,cAAI,yBAAJ,CAHI;AAIjBC,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,SADK;AAEfC,QAAAA,SAAS,EAAE;AAFI;AAJC,KAAF,CAAhB;AAUAP,IAAAA,gBAAgB,CAAE;AACjBE,MAAAA,IAAI,EAAE,qBADW;AAEjBC,MAAAA,QAAQ,EAAE,QAFO;AAGjBC,MAAAA,WAAW,EAAE,cAAI,sBAAJ,CAHI;AAIjBC,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,cADK;AAEfC,QAAAA,SAAS,EAAE;AAFI,OAJC;AAQjB;AACA;AACA;AACA;AACAC,MAAAA,OAAO,EAAE,6BACN,EADM,GAEN,CACA;AACCF,QAAAA,QAAQ,EAAE,SADX;AAECC,QAAAA,SAAS,EAAE;AAFZ,OADA;AAdc,KAAF,CAAhB;AAsBAP,IAAAA,gBAAgB,CAAE;AACjBE,MAAAA,IAAI,EAAE,iCADW;AAEjBC,MAAAA,QAAQ,EAAE,QAFO;AAGjBC,MAAAA,WAAW,EAAE,cAAI,2BAAJ,CAHI;AAIjBC,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,QADK;AAEfC,QAAAA,SAAS,EAAE;AAFI;AAJC,KAAF,CAAhB;AAUAP,IAAAA,gBAAgB,CAAE;AACjBE,MAAAA,IAAI,EAAE,8CADW;AAEjBC,MAAAA,QAAQ,EAAE,QAFO;AAGjBC,MAAAA,WAAW,EAAE,cAAI,oCAAJ,CAHI;AAIjBC,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,cADK;AAEfC,QAAAA,SAAS,EAAE;AAFI;AAJC,KAAF,CAAhB;AAUAP,IAAAA,gBAAgB,CAAE;AACjBE,MAAAA,IAAI,EAAE,mCADW;AAEjBC,MAAAA,QAAQ,EAAE,MAFO;AAGjBC,MAAAA,WAAW,EAAE,cAAI,mCAAJ,CAHI;AAIjBC,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,QADK;AAEfC,QAAAA,SAAS,EAAE;AAFI;AAJC,KAAF,CAAhB;AAUAP,IAAAA,gBAAgB,CAAE;AACjBE,MAAAA,IAAI,EAAE,4BADW;AAEjBC,MAAAA,QAAQ,EAAE,QAFO;AAGjBC,MAAAA,WAAW,EAAE,cAAI,0CAAJ,CAHI;AAIjBC,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,MADK;AAEfC,QAAAA,SAAS,EAAE;AAFI,OAJC;AAQjBC,MAAAA,OAAO,EAAE,CACR;AACCF,QAAAA,QAAQ,EAAE,QADX;AAECC,QAAAA,SAAS,EAAE;AAFZ,OADQ;AARQ,KAAF,CAAhB;AAgBAP,IAAAA,gBAAgB,CAAE;AACjBE,MAAAA,IAAI,EAAE,gCADW;AAEjBC,MAAAA,QAAQ,EAAE,QAFO;AAGjBC,MAAAA,WAAW,EAAE,cAAI,8CAAJ,CAHI;AAIjBC,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,WADK;AAEfC,QAAAA,SAAS,EAAE;AAFI,OAJC;AAQjBC,MAAAA,OAAO,EAAE,CACR;AACCF,QAAAA,QAAQ,EAAE,QADX;AAECC,QAAAA,SAAS,EAAE;AAFZ,OADQ,EAKR;AACCD,QAAAA,QAAQ,EAAE,WADX;AAECC,QAAAA,SAAS,EAAE;AAFZ,OALQ;AARQ,KAAF,CAAhB;AAmBAP,IAAAA,gBAAgB,CAAE;AACjBE,MAAAA,IAAI,EAAE,4BADW;AAEjBC,MAAAA,QAAQ,EAAE,QAFO;AAGjBC,MAAAA,WAAW,EAAE,cAAI,+CAAJ,CAHI;AAIjBC,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,WADK;AAEfC,QAAAA,SAAS,EAAE;AAFI;AAJC,KAAF,CAAhB;AAUAP,IAAAA,gBAAgB,CAAE;AACjBE,MAAAA,IAAI,EAAE,+CADW;AAEjBC,MAAAA,QAAQ,EAAE,eAFO;AAGjBC,MAAAA,WAAW,EAAE,cAAI,iCAAJ,CAHI;AAIjBC,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,QADK;AAEfC,QAAAA,SAAS,EAAG;AAFG;AAJC,KAAF,CAAhB;AAUA,KAAE,CAAF,EAAK,CAAL,EAAQ,CAAR,EAAW,CAAX,EAAc,CAAd,EAAiB,CAAjB,EAAqBE,OAArB,CAAgCC,KAAF,IAAa;AAC1CV,MAAAA,gBAAgB,CAAE;AACjBE,QAAAA,IAAI,EAAG,iDAAiDQ,KAAO,EAD9C;AAEjBP,QAAAA,QAAQ,EAAE,eAFO;AAGjBC,QAAAA,WAAW,EAAE,cAAI,iCAAJ,CAHI;AAIjBC,QAAAA,cAAc,EAAE;AACfC,UAAAA,QAAQ,EAAE,QADK;AAEfC,UAAAA,SAAS,EAAG,GAAGG,KAAO;AAFP;AAJC,OAAF,CAAhB;AASA,KAVD;AAYAV,IAAAA,gBAAgB,CAAE;AACjBE,MAAAA,IAAI,EAAE,wCADW;AAEjBC,MAAAA,QAAQ,EAAE,QAFO;AAGjBC,MAAAA,WAAW,EAAE,cAAI,+BAAJ,CAHI;AAIjBC,MAAAA,cAAc,EAAE;AACfC,QAAAA,QAAQ,EAAE,cADK;AAEfC,QAAAA,SAAS,EAAE;AAFI;AAJC,KAAF,CAAhB;AASA,GArJD,EAqJG,CAAEP,gBAAF,CArJH;AAuJA,SAAO,IAAP;AACA;;eAEcD,yB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { isAppleOS } from '@wordpress/keycodes';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\nfunction KeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/save',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/undo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Undo your last changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/redo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Redo your last undo.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t\t// Disable on Apple OS because it conflicts with the browser's\n\t\t\t// history shortcut. It's a fine alias for both Windows and Linux.\n\t\t\t// Since there's no conflict for Ctrl+Shift+Z on both Windows and\n\t\t\t// Linux, we keep it as the default for consistency.\n\t\t\taliases: isAppleOS()\n\t\t\t\t? []\n\t\t\t\t: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmodifier: 'primary',\n\t\t\t\t\t\t\tcharacter: 'y',\n\t\t\t\t\t\t},\n\t\t\t\t ],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/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-site/toggle-block-settings-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-site/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-site/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-site/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\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/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-site/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-site/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\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-site/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\t}, [ registerShortcut ] );\n\n\treturn null;\n}\n\nexport default KeyboardShortcutsRegister;\n"]}
@@ -109,6 +109,7 @@ function Layout() {
109
109
  const isListPage = (0, _getIsListPage.default)(params, isMobileViewport);
110
110
  const isEditorPage = !isListPage;
111
111
  const {
112
+ isDistractionFree,
112
113
  hasFixedToolbar,
113
114
  canvasMode,
114
115
  previousShortcut,
@@ -124,7 +125,8 @@ function Layout() {
124
125
  canvasMode: getCanvasMode(),
125
126
  previousShortcut: getAllShortcutKeyCombinations('core/edit-site/previous-region'),
126
127
  nextShortcut: getAllShortcutKeyCombinations('core/edit-site/next-region'),
127
- hasFixedToolbar: select(_preferences.store).get('fixedToolbar')
128
+ hasFixedToolbar: select(_preferences.store).get('core/edit-site', 'fixedToolbar'),
129
+ isDistractionFree: select(_preferences.store).get('core/edit-site', 'distractionFree')
128
130
  };
129
131
  }, []);
130
132
  const isEditing = canvasMode === 'edit';
@@ -139,7 +141,28 @@ function Layout() {
139
141
  const [canvasResizer, canvasSize] = (0, _compose.useResizeObserver)();
140
142
  const [fullResizer] = (0, _compose.useResizeObserver)();
141
143
  const [isResizing] = (0, _element.useState)(false);
142
- const isEditorLoading = (0, _hooks.useIsSiteEditorLoading)(); // Sets the right context for the command center
144
+ const isEditorLoading = (0, _hooks.useIsSiteEditorLoading)(); // This determines which animation variant should apply to the header.
145
+ // There is also a `isDistractionFreeHovering` state that gets priority
146
+ // when hovering the `edit-site-layout__header-container` in distraction
147
+ // free mode. It's set via framer and trickles down to all the children
148
+ // so they can use this variant state too.
149
+ //
150
+ // TODO: The issue with this is we want to have the hover state stick when hovering
151
+ // a popover opened via the header. We'll probably need to lift this state to
152
+ // handle it ourselves. Also, focusWithin the header needs to be handled.
153
+
154
+ let headerAnimationState;
155
+
156
+ if (canvasMode === 'view') {
157
+ // We need 'view' to always take priority so 'isDistractionFree'
158
+ // doesn't bleed over into the view (sidebar) state
159
+ headerAnimationState = 'view';
160
+ } else if (isDistractionFree) {
161
+ headerAnimationState = 'isDistractionFree';
162
+ } else {
163
+ headerAnimationState = canvasMode; // edit, view, init
164
+ } // Sets the right context for the command center
165
+
143
166
 
144
167
  const commandContext = canvasMode === 'edit' && isEditorPage ? 'site-editor-edit' : 'site-editor';
145
168
  useCommandContext(commandContext);
@@ -155,11 +178,57 @@ function Layout() {
155
178
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_commands.CommandMenu, null), (0, _element.createElement)(_register.default, null), (0, _element.createElement)(_global.default, null), fullResizer, (0, _element.createElement)("div", { ...navigateRegionsProps,
156
179
  ref: navigateRegionsProps.ref,
157
180
  className: (0, _classnames.default)('edit-site-layout', navigateRegionsProps.className, {
181
+ 'is-distraction-free': isDistractionFree && isEditing,
158
182
  'is-full-canvas': isFullCanvas,
159
183
  'is-edit-mode': isEditing,
160
184
  'has-fixed-toolbar': hasFixedToolbar
161
185
  })
186
+ }, (0, _element.createElement)(_components.__unstableMotion.div, {
187
+ className: "edit-site-layout__header-container",
188
+ variants: {
189
+ isDistractionFree: {
190
+ opacity: 0,
191
+ transition: {
192
+ type: 'tween',
193
+ delay: 0.8,
194
+ delayChildren: 0.8
195
+ } // How long to wait before the header exits
196
+
197
+ },
198
+ isDistractionFreeHovering: {
199
+ opacity: 1,
200
+ transition: {
201
+ type: 'tween',
202
+ delay: 0.2,
203
+ delayChildren: 0.2
204
+ } // How long to wait before the header shows
205
+
206
+ },
207
+ view: {
208
+ opacity: 1
209
+ },
210
+ edit: {
211
+ opacity: 1
212
+ }
213
+ },
214
+ whileHover: isDistractionFree ? 'isDistractionFreeHovering' : undefined,
215
+ animate: headerAnimationState
162
216
  }, (0, _element.createElement)(_siteHub.default, {
217
+ as: _components.__unstableMotion.div,
218
+ variants: {
219
+ isDistractionFree: {
220
+ x: '-100%'
221
+ },
222
+ isDistractionFreeHovering: {
223
+ x: 0
224
+ },
225
+ view: {
226
+ x: 0
227
+ },
228
+ edit: {
229
+ x: 0
230
+ }
231
+ },
163
232
  ref: hubRef,
164
233
  className: "edit-site-layout__hub"
165
234
  }), (0, _element.createElement)(_components.__unstableAnimatePresence, {
@@ -168,21 +237,26 @@ function Layout() {
168
237
  className: "edit-site-layout__header",
169
238
  ariaLabel: (0, _i18n.__)('Editor top bar'),
170
239
  as: _components.__unstableMotion.div,
171
- animate: {
172
- y: 0
173
- },
174
- initial: {
175
- y: '-100%'
176
- },
177
- exit: {
178
- y: '-100%'
240
+ variants: {
241
+ isDistractionFree: {
242
+ opacity: 0
243
+ },
244
+ isDistractionFreeHovering: {
245
+ opacity: 1
246
+ },
247
+ view: {
248
+ opacity: 1
249
+ },
250
+ edit: {
251
+ opacity: 1
252
+ }
179
253
  },
180
254
  transition: {
181
255
  type: 'tween',
182
- duration: disableMotion ? 0 : ANIMATION_DURATION,
256
+ duration: disableMotion ? 0 : 0.2,
183
257
  ease: 'easeOut'
184
258
  }
185
- }, isEditing && (0, _element.createElement)(_headerEditMode.default, null))), (0, _element.createElement)("div", {
259
+ }, isEditing && (0, _element.createElement)(_headerEditMode.default, null)))), (0, _element.createElement)("div", {
186
260
  className: "edit-site-layout__content"
187
261
  }, (0, _element.createElement)(_components.__unstableAnimatePresence, {
188
262
  initial: false
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/layout/index.js"],"names":["useCommands","coreCommandsPrivateApis","useCommandContext","commandsPrivateApis","useLocation","routerPrivateApis","useGlobalStyle","blockEditorPrivateApis","ANIMATION_DURATION","Layout","hubRef","params","isMobileViewport","isListPage","isEditorPage","hasFixedToolbar","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","keyboardShortcutsStore","getCanvasMode","editSiteStore","preferencesStore","get","isEditing","navigateRegionsProps","previous","next","disableMotion","showSidebar","showCanvas","isFullCanvas","canvasResizer","canvasSize","fullResizer","isResizing","isEditorLoading","commandContext","backgroundColor","gradientValue","ref","className","motion","div","y","type","duration","ease","opacity","display","transitionEnd","width","scale","transition","background"],"mappings":";;;;;;;;;AAoBA;;AAjBA;;AAKA;;AACA;;AAKA;;AAKA;;AAEA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AApDA;AACA;AACA;;AAGA;AACA;AACA;;AAyBA;AACA;AACA;AAoBA,MAAM;AAAEA,EAAAA;AAAF,IAAkB,wBAAQC,yBAAR,CAAxB;AACA,MAAM;AAAEC,EAAAA;AAAF,IAAwB,wBAAQC,qBAAR,CAA9B;AACA,MAAM;AAAEC,EAAAA;AAAF,IAAkB,wBAAQC,mBAAR,CAAxB;AACA,MAAM;AAAEC,EAAAA;AAAF,IAAqB,wBAAQC,wBAAR,CAA3B;AAEA,MAAMC,kBAAkB,GAAG,GAA3B;;AAEe,SAASC,MAAT,GAAkB;AAChC;AACA;AACA;AACAT,EAAAA,WAAW;AACX;AACA;AAEA,QAAMU,MAAM,GAAG,sBAAf;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAaP,WAAW,EAA9B;AACA,QAAMQ,gBAAgB,GAAG,+BAAkB,QAAlB,EAA4B,GAA5B,CAAzB;AACA,QAAMC,UAAU,GAAG,4BAAeF,MAAf,EAAuBC,gBAAvB,CAAnB;AACA,QAAME,YAAY,GAAG,CAAED,UAAvB;AACA,QAAM;AAAEE,IAAAA,eAAF;AAAmBC,IAAAA,UAAnB;AAA+BC,IAAAA,gBAA/B;AAAiDC,IAAAA;AAAjD,MACL,qBAAaC,MAAF,IAAc;AACxB,UAAM;AAAEC,MAAAA;AAAF,QAAoCD,MAAM,CAC/CE,wBAD+C,CAAhD;AAGA,UAAM;AAAEC,MAAAA;AAAF,QAAoB,wBAAQH,MAAM,CAAEI,YAAF,CAAd,CAA1B;AACA,WAAO;AACNP,MAAAA,UAAU,EAAEM,aAAa,EADnB;AAENL,MAAAA,gBAAgB,EAAEG,6BAA6B,CAC9C,gCAD8C,CAFzC;AAKNF,MAAAA,YAAY,EAAEE,6BAA6B,CAC1C,4BAD0C,CALrC;AAQNL,MAAAA,eAAe,EACdI,MAAM,CAAEK,kBAAF,CAAN,CAA2BC,GAA3B,CAAgC,cAAhC;AATK,KAAP;AAWA,GAhBD,EAgBG,EAhBH,CADD;AAkBA,QAAMC,SAAS,GAAGV,UAAU,KAAK,MAAjC;AACA,QAAMW,oBAAoB,GAAG,8CAAoB;AAChDC,IAAAA,QAAQ,EAAEX,gBADsC;AAEhDY,IAAAA,IAAI,EAAEX;AAF0C,GAApB,CAA7B;AAIA,QAAMY,aAAa,GAAG,gCAAtB;AACA,QAAMC,WAAW,GACdnB,gBAAgB,IAAI,CAAEC,UAAxB,IACE,CAAED,gBAAF,KAAwBI,UAAU,KAAK,MAAf,IAAyB,CAAEF,YAAnD,CAFH;AAGA,QAAMkB,UAAU,GACbpB,gBAAgB,IAAIE,YAApB,IAAoCY,SAAtC,IACA,CAAEd,gBADF,IAEA,CAAEE,YAHH;AAIA,QAAMmB,YAAY,GACfrB,gBAAgB,IAAIC,UAAtB,IAAwCC,YAAY,IAAIY,SADzD;AAEA,QAAM,CAAEQ,aAAF,EAAiBC,UAAjB,IAAgC,iCAAtC;AACA,QAAM,CAAEC,WAAF,IAAkB,iCAAxB;AACA,QAAM,CAAEC,UAAF,IAAiB,uBAAU,KAAV,CAAvB;AACA,QAAMC,eAAe,GAAG,oCAAxB,CAjDgC,CAmDhC;;AACA,QAAMC,cAAc,GACnBvB,UAAU,KAAK,MAAf,IAAyBF,YAAzB,GACG,kBADH,GAEG,aAHJ;AAIAZ,EAAAA,iBAAiB,CAAEqC,cAAF,CAAjB;AAEA,QAAM,CAAEC,eAAF,IAAsBlC,cAAc,CAAE,kBAAF,CAA1C;AACA,QAAM,CAAEmC,aAAF,IAAoBnC,cAAc,CAAE,gBAAF,CAAxC,CA3DgC,CA6DhC;AACA;AACA;;AACA,MAAKU,UAAU,KAAK,MAApB,EAA6B;AAC5B,WAAO,IAAP;AACA;;AAED,SACC,qDACC,4BAAC,qBAAD,OADD,EAEC,4BAAC,iBAAD,OAFD,EAGC,4BAAC,eAAD,OAHD,EAIGoB,WAJH,EAKC,wCACMT,oBADN;AAEC,IAAA,GAAG,EAAGA,oBAAoB,CAACe,GAF5B;AAGC,IAAA,SAAS,EAAG,yBACX,kBADW,EAEXf,oBAAoB,CAACgB,SAFV,EAGX;AACC,wBAAkBV,YADnB;AAEC,sBAAgBP,SAFjB;AAGC,2BAAqBX;AAHtB,KAHW;AAHb,KAaC,4BAAC,gBAAD;AAAS,IAAA,GAAG,EAAGL,MAAf;AAAwB,IAAA,SAAS,EAAC;AAAlC,IAbD,EAeC,4BAAC,qCAAD;AAAiB,IAAA,OAAO,EAAG;AAA3B,KACGI,YAAY,IAAIY,SAAhB,IACD,4BAAC,0BAAD;AACC,IAAA,SAAS,EAAC,0BADX;AAEC,IAAA,SAAS,EAAG,cAAI,gBAAJ,CAFb;AAGC,IAAA,EAAE,EAAGkB,6BAAOC,GAHb;AAIC,IAAA,OAAO,EAAG;AACTC,MAAAA,CAAC,EAAE;AADM,KAJX;AAOC,IAAA,OAAO,EAAG;AACTA,MAAAA,CAAC,EAAE;AADM,KAPX;AAUC,IAAA,IAAI,EAAG;AACNA,MAAAA,CAAC,EAAE;AADG,KAVR;AAaC,IAAA,UAAU,EAAG;AACZC,MAAAA,IAAI,EAAE,OADM;AAEZC,MAAAA,QAAQ,EAAElB,aAAa,GACpB,CADoB,GAEpBtB,kBAJS;AAKZyC,MAAAA,IAAI,EAAE;AALM;AAbd,KAqBGvB,SAAS,IAAI,4BAAC,uBAAD,OArBhB,CAFF,CAfD,EA2CC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,qCAAD;AAAiB,IAAA,OAAO,EAAG;AAA3B,KAEE,4BAAC,4BAAD,CAAQ,GAAR;AACC,IAAA,OAAO,EAAG;AACTwB,MAAAA,OAAO,EAAE;AADA,KADX;AAIC,IAAA,OAAO,EACNnB,WAAW,GACR;AAAEmB,MAAAA,OAAO,EAAE,CAAX;AAAcC,MAAAA,OAAO,EAAE;AAAvB,KADQ,GAER;AACAD,MAAAA,OAAO,EAAE,CADT;AAEAE,MAAAA,aAAa,EAAE;AACdD,QAAAA,OAAO,EAAE;AADK;AAFf,KAPL;AAcC,IAAA,IAAI,EAAG;AACND,MAAAA,OAAO,EAAE;AADH,KAdR;AAiBC,IAAA,UAAU,EAAG;AACZH,MAAAA,IAAI,EAAE,OADM;AAEZC,MAAAA,QAAQ,EACP;AACAlB,MAAAA,aAAa,IAAIlB,gBAAjB,GACG,CADH,GAEGJ,kBANQ;AAOZyC,MAAAA,IAAI,EAAE;AAPM,KAjBd;AA0BC,IAAA,SAAS,EAAC;AA1BX,KA4BC,4BAAC,0BAAD;AACC,IAAA,SAAS,EAAG,cAAI,YAAJ;AADb,KAGC,4BAAC,gBAAD,OAHD,CA5BD,CAFF,CADD,EAwCC,4BAAC,kBAAD,OAxCD,EA0CGjB,UAAU,IACX,qDACGnB,UAAU,IAAI,4BAAC,iBAAD,OADjB,EAEGC,YAAY,IACb;AACC,IAAA,SAAS,EAAG,yBACX,oCADW,EAEX;AACC,qBAAeuB;AADhB,KAFW;AADb,KAQGH,aARH,EASG,CAAC,CAAEC,UAAU,CAACkB,KAAd,IACD,4BAAC,4BAAD,CAAQ,GAAR;AACC,IAAA,UAAU,EACTvC,YAAY,IACZE,UAAU,KAAK,MADf,GAEG;AACAsC,MAAAA,KAAK,EAAE,KADP;AAEAC,MAAAA,UAAU,EAAE;AACXP,QAAAA,QAAQ,EACPlB,aAAa,IACbO,UADA,GAEG,CAFH,GAGG,GALO;AAMXY,QAAAA,IAAI,EAAE;AANK;AAFZ,KAFH,GAaG,EAfL;AAiBC,IAAA,OAAO,EAAG,KAjBX;AAkBC,IAAA,MAAM,EAAC,UAlBR;AAmBC,IAAA,SAAS,EAAC,0BAnBX;AAoBC,IAAA,UAAU,EAAG;AACZF,MAAAA,IAAI,EAAE,OADM;AAEZC,MAAAA,QAAQ,EACPlB,aAAa,IAAIO,UAAjB,GACG,CADH,GAEG7B,kBALQ;AAMZyC,MAAAA,IAAI,EAAE;AANM;AApBd,KA6BC,4BAAC,sBAAD,QACC,4BAAC,uBAAD;AACC,IAAA,OAAO,EACN,CAAEX,eAFJ;AAIC,IAAA,WAAW,EAAGZ,SAJf;AAKC,IAAA,kBAAkB,EAAC,6CALpB;AAMC,IAAA,iBAAiB,EAAG;AACnB8B,MAAAA,UAAU,EACTf,aADS,aACTA,aADS,cACTA,aADS,GAETD;AAHkB;AANrB,KAYC,4BAAC,eAAD;AACC,IAAA,SAAS,EACRF;AAFF,IAZD,CADD,CA7BD,CAVF,CAHF,CA3CF,CA3CD,CALD,CADD;AAoKA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useRef } from '@wordpress/element';\nimport { NavigableRegion } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Sidebar from '../sidebar';\nimport Editor from '../editor';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport getIsListPage from '../../utils/get-is-list-page';\nimport Header from '../header-edit-mode';\nimport useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';\nimport SiteHub from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\nimport { unlock } from '../../lock-unlock';\nimport SavePanel from '../save-panel';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';\nimport PageMain from '../page-main';\nimport { useIsSiteEditorLoading } from './hooks';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst ANIMATION_DURATION = 0.5;\n\nexport default function Layout() {\n\t// This ensures the edited entity id and type are initialized properly.\n\tuseInitEditedEntityFromURL();\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tuseEditModeCommands();\n\tuseCommonCommands();\n\n\tconst hubRef = useRef();\n\tconst { params } = useLocation();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isListPage = getIsListPage( params, isMobileViewport );\n\tconst isEditorPage = ! isListPage;\n\tconst { hasFixedToolbar, canvasMode, previousShortcut, nextShortcut } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getAllShortcutKeyCombinations } = select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t);\n\t\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\t\treturn {\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tpreviousShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t\t'core/edit-site/previous-region'\n\t\t\t\t),\n\t\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t\t'core/edit-site/next-region'\n\t\t\t\t),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tselect( preferencesStore ).get( 'fixedToolbar' ),\n\t\t\t};\n\t\t}, [] );\n\tconst isEditing = canvasMode === 'edit';\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst showSidebar =\n\t\t( isMobileViewport && ! isListPage ) ||\n\t\t( ! isMobileViewport && ( canvasMode === 'view' || ! isEditorPage ) );\n\tconst showCanvas =\n\t\t( isMobileViewport && isEditorPage && isEditing ) ||\n\t\t! isMobileViewport ||\n\t\t! isEditorPage;\n\tconst isFullCanvas =\n\t\t( isMobileViewport && isListPage ) || ( isEditorPage && isEditing );\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst [ fullResizer ] = useResizeObserver();\n\tconst [ isResizing ] = useState( false );\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\n\t// Sets the right context for the command center\n\tconst commandContext =\n\t\tcanvasMode === 'edit' && isEditorPage\n\t\t\t? 'site-editor-edit'\n\t\t\t: 'site-editor';\n\tuseCommandContext( commandContext );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t{ fullResizer }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-full-canvas': isFullCanvas,\n\t\t\t\t\t\t'is-edit-mode': isEditing,\n\t\t\t\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<SiteHub ref={ hubRef } className=\"edit-site-layout__hub\" />\n\n\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t{ isEditorPage && isEditing && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__header\"\n\t\t\t\t\t\t\tariaLabel={ __( 'Editor top bar' ) }\n\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tinitial={ {\n\t\t\t\t\t\t\t\ty: '-100%',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\ty: '-100%',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEditing && <Header /> }\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\t\t\t\t</AnimatePresence>\n\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\tinitial={ {\n\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tanimate={\n\t\t\t\t\t\t\t\t\tshowSidebar\n\t\t\t\t\t\t\t\t\t\t? { opacity: 1, display: 'block' }\n\t\t\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t\t\t\ttransitionEnd: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\t\tdisableMotion || isMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Sidebar />\n\t\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t}\n\t\t\t\t\t</AnimatePresence>\n\n\t\t\t\t\t<SavePanel />\n\n\t\t\t\t\t{ showCanvas && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ isListPage && <PageMain /> }\n\t\t\t\t\t\t\t{ isEditorPage && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas-container',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-resizing': isResizing,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t\twhileHover={\n\t\t\t\t\t\t\t\t\t\t\t\tisEditorPage &&\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisResizing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 0.5,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinitial={ false }\n\t\t\t\t\t\t\t\t\t\t\tlayout=\"position\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__canvas\"\n\t\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion || isResizing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\t\t\tisReady={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! isEditorLoading\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisFullWidth={ isEditing }\n\t\t\t\t\t\t\t\t\t\t\t\t\toversizedClassName=\"edit-site-layout__resizable-frame-oversized\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Editor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoading={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisEditorLoading\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t\t) }\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</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/layout/index.js"],"names":["useCommands","coreCommandsPrivateApis","useCommandContext","commandsPrivateApis","useLocation","routerPrivateApis","useGlobalStyle","blockEditorPrivateApis","ANIMATION_DURATION","Layout","hubRef","params","isMobileViewport","isListPage","isEditorPage","isDistractionFree","hasFixedToolbar","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","keyboardShortcutsStore","getCanvasMode","editSiteStore","preferencesStore","get","isEditing","navigateRegionsProps","previous","next","disableMotion","showSidebar","showCanvas","isFullCanvas","canvasResizer","canvasSize","fullResizer","isResizing","isEditorLoading","headerAnimationState","commandContext","backgroundColor","gradientValue","ref","className","opacity","transition","type","delay","delayChildren","isDistractionFreeHovering","view","edit","undefined","motion","div","x","duration","ease","display","transitionEnd","width","scale","background"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useRef } from '@wordpress/element';\nimport { NavigableRegion } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Sidebar from '../sidebar';\nimport Editor from '../editor';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport getIsListPage from '../../utils/get-is-list-page';\nimport Header from '../header-edit-mode';\nimport useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';\nimport SiteHub from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\nimport { unlock } from '../../lock-unlock';\nimport SavePanel from '../save-panel';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';\nimport PageMain from '../page-main';\nimport { useIsSiteEditorLoading } from './hooks';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst ANIMATION_DURATION = 0.5;\n\nexport default function Layout() {\n\t// This ensures the edited entity id and type are initialized properly.\n\tuseInitEditedEntityFromURL();\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tuseEditModeCommands();\n\tuseCommonCommands();\n\n\tconst hubRef = useRef();\n\tconst { params } = useLocation();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isListPage = getIsListPage( params, isMobileViewport );\n\tconst isEditorPage = ! isListPage;\n\n\tconst {\n\t\tisDistractionFree,\n\t\thasFixedToolbar,\n\t\tcanvasMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getAllShortcutKeyCombinations } = select(\n\t\t\tkeyboardShortcutsStore\n\t\t);\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tpreviousShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/previous-region'\n\t\t\t),\n\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/next-region'\n\t\t\t),\n\t\t\thasFixedToolbar: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tisDistractionFree: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst isEditing = canvasMode === 'edit';\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst showSidebar =\n\t\t( isMobileViewport && ! isListPage ) ||\n\t\t( ! isMobileViewport && ( canvasMode === 'view' || ! isEditorPage ) );\n\tconst showCanvas =\n\t\t( isMobileViewport && isEditorPage && isEditing ) ||\n\t\t! isMobileViewport ||\n\t\t! isEditorPage;\n\tconst isFullCanvas =\n\t\t( isMobileViewport && isListPage ) || ( isEditorPage && isEditing );\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst [ fullResizer ] = useResizeObserver();\n\tconst [ isResizing ] = useState( false );\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\n\t// This determines which animation variant should apply to the header.\n\t// There is also a `isDistractionFreeHovering` state that gets priority\n\t// when hovering the `edit-site-layout__header-container` in distraction\n\t// free mode. It's set via framer and trickles down to all the children\n\t// so they can use this variant state too.\n\t//\n\t// TODO: The issue with this is we want to have the hover state stick when hovering\n\t// a popover opened via the header. We'll probably need to lift this state to\n\t// handle it ourselves. Also, focusWithin the header needs to be handled.\n\tlet headerAnimationState;\n\n\tif ( canvasMode === 'view' ) {\n\t\t// We need 'view' to always take priority so 'isDistractionFree'\n\t\t// doesn't bleed over into the view (sidebar) state\n\t\theaderAnimationState = 'view';\n\t} else if ( isDistractionFree ) {\n\t\theaderAnimationState = 'isDistractionFree';\n\t} else {\n\t\theaderAnimationState = canvasMode; // edit, view, init\n\t}\n\n\t// Sets the right context for the command center\n\tconst commandContext =\n\t\tcanvasMode === 'edit' && isEditorPage\n\t\t\t? 'site-editor-edit'\n\t\t\t: 'site-editor';\n\tuseCommandContext( commandContext );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t{ fullResizer }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-distraction-free': isDistractionFree && isEditing,\n\t\t\t\t\t\t'is-full-canvas': isFullCanvas,\n\t\t\t\t\t\t'is-edit-mode': isEditing,\n\t\t\t\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-layout__header-container\"\n\t\t\t\t\tvariants={ {\n\t\t\t\t\t\tisDistractionFree: {\n\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.8,\n\t\t\t\t\t\t\t\tdelayChildren: 0.8,\n\t\t\t\t\t\t\t}, // How long to wait before the header exits\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.2,\n\t\t\t\t\t\t\t\tdelayChildren: 0.2,\n\t\t\t\t\t\t\t}, // How long to wait before the header shows\n\t\t\t\t\t\t},\n\t\t\t\t\t\tview: { opacity: 1 },\n\t\t\t\t\t\tedit: { opacity: 1 },\n\t\t\t\t\t} }\n\t\t\t\t\twhileHover={\n\t\t\t\t\t\tisDistractionFree\n\t\t\t\t\t\t\t? 'isDistractionFreeHovering'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tanimate={ headerAnimationState }\n\t\t\t\t>\n\t\t\t\t\t<SiteHub\n\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\tisDistractionFree: { x: '-100%' },\n\t\t\t\t\t\t\tisDistractionFreeHovering: { x: 0 },\n\t\t\t\t\t\t\tview: { x: 0 },\n\t\t\t\t\t\t\tedit: { x: 0 },\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tref={ hubRef }\n\t\t\t\t\t\tclassName=\"edit-site-layout__hub\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{ isEditorPage && isEditing && (\n\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__header\"\n\t\t\t\t\t\t\t\tariaLabel={ __( 'Editor top bar' ) }\n\t\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\tisDistractionFree: { opacity: 0 },\n\t\t\t\t\t\t\t\t\tisDistractionFreeHovering: { opacity: 1 },\n\t\t\t\t\t\t\t\t\tview: { opacity: 1 },\n\t\t\t\t\t\t\t\t\tedit: { opacity: 1 },\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isEditing && <Header /> }\n\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</motion.div>\n\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\tinitial={ {\n\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tanimate={\n\t\t\t\t\t\t\t\t\tshowSidebar\n\t\t\t\t\t\t\t\t\t\t? { opacity: 1, display: 'block' }\n\t\t\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t\t\t\ttransitionEnd: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\t\tdisableMotion || isMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Sidebar />\n\t\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t}\n\t\t\t\t\t</AnimatePresence>\n\n\t\t\t\t\t<SavePanel />\n\n\t\t\t\t\t{ showCanvas && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ isListPage && <PageMain /> }\n\t\t\t\t\t\t\t{ isEditorPage && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas-container',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-resizing': isResizing,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t\twhileHover={\n\t\t\t\t\t\t\t\t\t\t\t\tisEditorPage &&\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisResizing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 0.5,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinitial={ false }\n\t\t\t\t\t\t\t\t\t\t\tlayout=\"position\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__canvas\"\n\t\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion || isResizing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\t\t\tisReady={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! isEditorLoading\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisFullWidth={ isEditing }\n\t\t\t\t\t\t\t\t\t\t\t\t\toversizedClassName=\"edit-site-layout__resizable-frame-oversized\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Editor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoading={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisEditorLoading\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t\t) }\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</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -39,7 +39,13 @@ function BackToPageNotification() {
39
39
 
40
40
 
41
41
  function useBackToPageNotification() {
42
- const hasPageContentFocus = (0, _data.useSelect)(select => select(_store.store).hasPageContentFocus(), []);
42
+ const {
43
+ isPage,
44
+ hasPageContentFocus
45
+ } = (0, _data.useSelect)(select => ({
46
+ isPage: select(_store.store).isPage(),
47
+ hasPageContentFocus: select(_store.store).hasPageContentFocus()
48
+ }), []);
43
49
  const alreadySeen = (0, _element.useRef)(false);
44
50
  const prevHasPageContentFocus = (0, _element.useRef)(false);
45
51
  const {
@@ -49,7 +55,7 @@ function useBackToPageNotification() {
49
55
  setHasPageContentFocus
50
56
  } = (0, _data.useDispatch)(_store.store);
51
57
  (0, _element.useEffect)(() => {
52
- if (!alreadySeen.current && prevHasPageContentFocus.current && !hasPageContentFocus) {
58
+ if (!alreadySeen.current && isPage && prevHasPageContentFocus.current && !hasPageContentFocus) {
53
59
  createInfoNotice((0, _i18n.__)('You are editing a template.'), {
54
60
  isDismissible: true,
55
61
  type: 'snackbar',
@@ -62,6 +68,6 @@ function useBackToPageNotification() {
62
68
  }
63
69
 
64
70
  prevHasPageContentFocus.current = hasPageContentFocus;
65
- }, [alreadySeen, prevHasPageContentFocus, hasPageContentFocus, createInfoNotice, setHasPageContentFocus]);
71
+ }, [alreadySeen, isPage, prevHasPageContentFocus, hasPageContentFocus, createInfoNotice, setHasPageContentFocus]);
66
72
  }
67
73
  //# sourceMappingURL=back-to-page-notification.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/back-to-page-notification.js"],"names":["BackToPageNotification","useBackToPageNotification","hasPageContentFocus","select","editSiteStore","alreadySeen","prevHasPageContentFocus","createInfoNotice","noticesStore","setHasPageContentFocus","current","isDismissible","type","actions","label","onClick"],"mappings":";;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACe,SAASA,sBAAT,GAAkC;AAChDC,EAAAA,yBAAyB;AACzB,SAAO,IAAP;AACA;AAED;AACA;AACA;AACA;;;AACO,SAASA,yBAAT,GAAqC;AAC3C,QAAMC,mBAAmB,GAAG,qBACzBC,MAAF,IAAcA,MAAM,CAAEC,YAAF,CAAN,CAAwBF,mBAAxB,EADa,EAE3B,EAF2B,CAA5B;AAKA,QAAMG,WAAW,GAAG,qBAAQ,KAAR,CAApB;AACA,QAAMC,uBAAuB,GAAG,qBAAQ,KAAR,CAAhC;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAuB,uBAAaC,cAAb,CAA7B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA6B,uBAAaL,YAAb,CAAnC;AAEA,0BAAW,MAAM;AAChB,QACC,CAAEC,WAAW,CAACK,OAAd,IACAJ,uBAAuB,CAACI,OADxB,IAEA,CAAER,mBAHH,EAIE;AACDK,MAAAA,gBAAgB,CAAE,cAAI,6BAAJ,CAAF,EAAuC;AACtDI,QAAAA,aAAa,EAAE,IADuC;AAEtDC,QAAAA,IAAI,EAAE,UAFgD;AAGtDC,QAAAA,OAAO,EAAE,CACR;AACCC,UAAAA,KAAK,EAAE,cAAI,cAAJ,CADR;AAECC,UAAAA,OAAO,EAAE,MAAMN,sBAAsB,CAAE,IAAF;AAFtC,SADQ;AAH6C,OAAvC,CAAhB;AAUAJ,MAAAA,WAAW,CAACK,OAAZ,GAAsB,IAAtB;AACA;;AACDJ,IAAAA,uBAAuB,CAACI,OAAxB,GAAkCR,mBAAlC;AACA,GAnBD,EAmBG,CACFG,WADE,EAEFC,uBAFE,EAGFJ,mBAHE,EAIFK,gBAJE,EAKFE,sBALE,CAnBH;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that displays a 'You are editing a template' notification when the\n * user switches from focusing on editing page content to editing a template.\n */\nexport default function BackToPageNotification() {\n\tuseBackToPageNotification();\n\treturn null;\n}\n\n/**\n * Hook that displays a 'You are editing a template' notification when the user\n * switches from focusing on editing page content to editing a template.\n */\nexport function useBackToPageNotification() {\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\n\tconst alreadySeen = useRef( false );\n\tconst prevHasPageContentFocus = useRef( false );\n\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! alreadySeen.current &&\n\t\t\tprevHasPageContentFocus.current &&\n\t\t\t! hasPageContentFocus\n\t\t) {\n\t\t\tcreateInfoNotice( __( 'You are editing a template.' ), {\n\t\t\t\tisDismissible: true,\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Back to page' ),\n\t\t\t\t\t\tonClick: () => setHasPageContentFocus( true ),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t} );\n\t\t\talreadySeen.current = true;\n\t\t}\n\t\tprevHasPageContentFocus.current = hasPageContentFocus;\n\t}, [\n\t\talreadySeen,\n\t\tprevHasPageContentFocus,\n\t\thasPageContentFocus,\n\t\tcreateInfoNotice,\n\t\tsetHasPageContentFocus,\n\t] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/back-to-page-notification.js"],"names":["BackToPageNotification","useBackToPageNotification","isPage","hasPageContentFocus","select","editSiteStore","alreadySeen","prevHasPageContentFocus","createInfoNotice","noticesStore","setHasPageContentFocus","current","isDismissible","type","actions","label","onClick"],"mappings":";;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACe,SAASA,sBAAT,GAAkC;AAChDC,EAAAA,yBAAyB;AACzB,SAAO,IAAP;AACA;AAED;AACA;AACA;AACA;;;AACO,SAASA,yBAAT,GAAqC;AAC3C,QAAM;AAAEC,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAkC,qBACrCC,MAAF,KAAgB;AACfF,IAAAA,MAAM,EAAEE,MAAM,CAAEC,YAAF,CAAN,CAAwBH,MAAxB,EADO;AAEfC,IAAAA,mBAAmB,EAAEC,MAAM,CAAEC,YAAF,CAAN,CAAwBF,mBAAxB;AAFN,GAAhB,CADuC,EAKvC,EALuC,CAAxC;AAQA,QAAMG,WAAW,GAAG,qBAAQ,KAAR,CAApB;AACA,QAAMC,uBAAuB,GAAG,qBAAQ,KAAR,CAAhC;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAuB,uBAAaC,cAAb,CAA7B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA6B,uBAAaL,YAAb,CAAnC;AAEA,0BAAW,MAAM;AAChB,QACC,CAAEC,WAAW,CAACK,OAAd,IACAT,MADA,IAEAK,uBAAuB,CAACI,OAFxB,IAGA,CAAER,mBAJH,EAKE;AACDK,MAAAA,gBAAgB,CAAE,cAAI,6BAAJ,CAAF,EAAuC;AACtDI,QAAAA,aAAa,EAAE,IADuC;AAEtDC,QAAAA,IAAI,EAAE,UAFgD;AAGtDC,QAAAA,OAAO,EAAE,CACR;AACCC,UAAAA,KAAK,EAAE,cAAI,cAAJ,CADR;AAECC,UAAAA,OAAO,EAAE,MAAMN,sBAAsB,CAAE,IAAF;AAFtC,SADQ;AAH6C,OAAvC,CAAhB;AAUAJ,MAAAA,WAAW,CAACK,OAAZ,GAAsB,IAAtB;AACA;;AACDJ,IAAAA,uBAAuB,CAACI,OAAxB,GAAkCR,mBAAlC;AACA,GApBD,EAoBG,CACFG,WADE,EAEFJ,MAFE,EAGFK,uBAHE,EAIFJ,mBAJE,EAKFK,gBALE,EAMFE,sBANE,CApBH;AA4BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that displays a 'You are editing a template' notification when the\n * user switches from focusing on editing page content to editing a template.\n */\nexport default function BackToPageNotification() {\n\tuseBackToPageNotification();\n\treturn null;\n}\n\n/**\n * Hook that displays a 'You are editing a template' notification when the user\n * switches from focusing on editing page content to editing a template.\n */\nexport function useBackToPageNotification() {\n\tconst { isPage, hasPageContentFocus } = useSelect(\n\t\t( select ) => ( {\n\t\t\tisPage: select( editSiteStore ).isPage(),\n\t\t\thasPageContentFocus: select( editSiteStore ).hasPageContentFocus(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst alreadySeen = useRef( false );\n\tconst prevHasPageContentFocus = useRef( false );\n\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! alreadySeen.current &&\n\t\t\tisPage &&\n\t\t\tprevHasPageContentFocus.current &&\n\t\t\t! hasPageContentFocus\n\t\t) {\n\t\t\tcreateInfoNotice( __( 'You are editing a template.' ), {\n\t\t\t\tisDismissible: true,\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Back to page' ),\n\t\t\t\t\t\tonClick: () => setHasPageContentFocus( true ),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t} );\n\t\t\talreadySeen.current = true;\n\t\t}\n\t\tprevHasPageContentFocus.current = hasPageContentFocus;\n\t}, [\n\t\talreadySeen,\n\t\tisPage,\n\t\tprevHasPageContentFocus,\n\t\thasPageContentFocus,\n\t\tcreateInfoNotice,\n\t\tsetHasPageContentFocus,\n\t] );\n}\n"]}
@@ -69,6 +69,13 @@ function GridItem({
69
69
  categoryType: item.type,
70
70
  canvas: 'edit'
71
71
  });
72
+
73
+ const onKeyDown = event => {
74
+ if (_keycodes.DELETE === event.keyCode || _keycodes.BACKSPACE === event.keyCode) {
75
+ setIsDeleteDialogOpen(true);
76
+ }
77
+ };
78
+
72
79
  const isEmpty = !item.blocks?.length;
73
80
  const patternClassNames = (0, _classnames.default)('edit-site-library__pattern', {
74
81
  'is-placeholder': isEmpty
@@ -91,9 +98,10 @@ function GridItem({
91
98
  }
92
99
  };
93
100
 
101
+ const isUserPattern = item.type === _utils.USER_PATTERNS;
94
102
  let ariaDescription;
95
103
 
96
- if (item.type === _utils.USER_PATTERNS) {
104
+ if (isUserPattern) {
97
105
  // User patterns don't have descriptions, but can be edited and deleted, so include some help text.
98
106
  ariaDescription = (0, _i18n.__)('Press Enter to edit, or Delete to delete the pattern.');
99
107
  } else if (item.description) {
@@ -108,13 +116,9 @@ function GridItem({
108
116
  as: "div",
109
117
  ...composite,
110
118
  onClick: item.type !== _utils.PATTERNS ? onClick : undefined,
119
+ onKeyDown: isUserPattern ? onKeyDown : undefined,
111
120
  "aria-label": item.title,
112
- "aria-describedby": ariaDescription ? descriptionId : undefined,
113
- onKeyDown: event => {
114
- if (_keycodes.DELETE === event.keyCode || _keycodes.BACKSPACE === event.keyCode) {
115
- setIsDeleteDialogOpen(true);
116
- }
117
- }
121
+ "aria-describedby": ariaDescription ? descriptionId : undefined
118
122
  }, isEmpty && (0, _i18n.__)('Empty pattern'), !isEmpty && (0, _element.createElement)(_blockEditor.BlockPreview, {
119
123
  blocks: item.blocks
120
124
  })), ariaDescription && (0, _element.createElement)("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-library/grid-item.js"],"names":["GridItem","categoryId","composite","icon","item","instanceId","descriptionId","isDeleteDialogOpen","setIsDeleteDialogOpen","__experimentalDeleteReusableBlock","reusableBlocksStore","createErrorNotice","createSuccessNotice","noticesStore","onClick","postType","type","postId","USER_PATTERNS","id","name","categoryType","canvas","isEmpty","blocks","length","patternClassNames","previewClassNames","PATTERNS","deletePattern","error","errorMessage","message","code","ariaDescription","description","undefined","title","event","DELETE","keyCode","BACKSPACE","display","moreHorizontal","placement","className","isSmall","describedBy","tabIndex"],"mappings":";;;;;;;;;AAoBA;;AAjBA;;AAKA;;AACA;;AASA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AA/BA;AACA;AACA;;AAGA;AACA;AACA;;AAoBA;AACA;AACA;AAIe,SAASA,QAAT,CAAmB;AAAEC,EAAAA,UAAF;AAAcC,EAAAA,SAAd;AAAyBC,EAAAA,IAAzB;AAA+BC,EAAAA;AAA/B,CAAnB,EAA2D;AACzE,QAAMC,UAAU,GAAG,4BAAeL,QAAf,CAAnB;AACA,QAAMM,aAAa,GAAI,0CAA0CD,UAAY,EAA7E;AACA,QAAM,CAAEE,kBAAF,EAAsBC,qBAAtB,IAAgD,uBAAU,KAAV,CAAtD;AAEA,QAAM;AAAEC,IAAAA;AAAF,MACL,uBAAaC,qBAAb,CADD;AAEA,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MACL,uBAAaC,cAAb,CADD;AAGA,QAAM;AAAEC,IAAAA;AAAF,MAAc,mBAAS;AAC5BC,IAAAA,QAAQ,EAAEX,IAAI,CAACY,IADa;AAE5BC,IAAAA,MAAM,EAAEb,IAAI,CAACY,IAAL,KAAcE,oBAAd,GAA8Bd,IAAI,CAACe,EAAnC,GAAwCf,IAAI,CAACgB,IAFzB;AAG5BnB,IAAAA,UAH4B;AAI5BoB,IAAAA,YAAY,EAAEjB,IAAI,CAACY,IAJS;AAK5BM,IAAAA,MAAM,EAAE;AALoB,GAAT,CAApB;AAQA,QAAMC,OAAO,GAAG,CAAEnB,IAAI,CAACoB,MAAL,EAAaC,MAA/B;AACA,QAAMC,iBAAiB,GAAG,yBAAY,4BAAZ,EAA0C;AACnE,sBAAkBH;AADiD,GAA1C,CAA1B;AAGA,QAAMI,iBAAiB,GAAG,yBAAY,4BAAZ,EAA0C;AACnE,mBAAevB,IAAI,CAACY,IAAL,KAAcY;AADsC,GAA1C,CAA1B;;AAIA,QAAMC,aAAa,GAAG,YAAY;AACjC,QAAI;AACH,YAAMpB,iCAAiC,CAAEL,IAAI,CAACe,EAAP,CAAvC;AACAP,MAAAA,mBAAmB,CAAE,cAAI,+BAAJ,CAAF,EAAyC;AAC3DI,QAAAA,IAAI,EAAE;AADqD,OAAzC,CAAnB;AAGA,KALD,CAKE,OAAQc,KAAR,EAAgB;AACjB,YAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEG,cAAI,+CAAJ,CAHJ;AAIArB,MAAAA,iBAAiB,CAAEoB,YAAF,EAAgB;AAAEf,QAAAA,IAAI,EAAE;AAAR,OAAhB,CAAjB;AACA;AACD,GAbD;;AAeA,MAAIkB,eAAJ;;AACA,MAAK9B,IAAI,CAACY,IAAL,KAAcE,oBAAnB,EAAmC;AAClC;AACAgB,IAAAA,eAAe,GAAG,cACjB,uDADiB,CAAlB;AAGA,GALD,MAKO,IAAK9B,IAAI,CAAC+B,WAAV,EAAwB;AAC9BD,IAAAA,eAAe,GAAG9B,IAAI,CAAC+B,WAAvB;AACA;;AAED,SACC,qDACC;AAAK,IAAA,SAAS,EAAGT;AAAjB,KACC,4BAAC,mCAAD;AACC,IAAA,SAAS,EAAGC,iBADb;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,IAAA,EAAE,EAAC,KAHJ;AAAA,OAIMzB,SAJN;AAKC,IAAA,OAAO,EAAGE,IAAI,CAACY,IAAL,KAAcY,eAAd,GAAyBd,OAAzB,GAAmCsB,SAL9C;AAMC,kBAAahC,IAAI,CAACiC,KANnB;AAOC,wBACCH,eAAe,GAAG5B,aAAH,GAAmB8B,SARpC;AAUC,IAAA,SAAS,EAAKE,KAAF,IAAa;AACxB,UACCC,qBAAWD,KAAK,CAACE,OAAjB,IACAC,wBAAcH,KAAK,CAACE,OAFrB,EAGE;AACDhC,QAAAA,qBAAqB,CAAE,IAAF,CAArB;AACA;AACD;AAjBF,KAmBGe,OAAO,IAAI,cAAI,eAAJ,CAnBd,EAoBG,CAAEA,OAAF,IAAa,4BAAC,yBAAD;AAAc,IAAA,MAAM,EAAGnB,IAAI,CAACoB;AAA5B,IApBhB,CADD,EAuBGU,eAAe,IAChB;AACC,mBAAY,MADb;AAEC,IAAA,KAAK,EAAG;AAAEQ,MAAAA,OAAO,EAAE;AAAX,KAFT;AAGC,IAAA,EAAE,EAAGpC;AAHN,KAKG4B,eALH,CAxBF,EAgCC,4BAAC,gCAAD;AACC,mBAAY,MADb;AAEC,IAAA,SAAS,EAAC,2BAFX;AAGC,IAAA,OAAO,EAAC;AAHT,KAKC,4BAAC,gCAAD;AACC,IAAA,SAAS,EAAC,QADX;AAEC,IAAA,OAAO,EAAC,MAFT;AAGC,IAAA,OAAO,EAAG,CAHX;AAIC,IAAA,SAAS,EAAC;AAJX,KAMG/B,IAAI,IAAI,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGA;AAAb,IANX,EAOC,4BAAC,iCAAD;AAAS,IAAA,KAAK,EAAG;AAAjB,KAAuBC,IAAI,CAACiC,KAA5B,CAPD,CALD,EAcGjC,IAAI,CAACY,IAAL,KAAcE,oBAAd,IACD,4BAAC,wBAAD;AACC,IAAA,IAAI,EAAGyB,qBADR;AAEC,IAAA,KAAK,EAAG,cAAI,SAAJ,CAFT;AAGC,IAAA,SAAS,EAAC,6BAHX;AAIC,IAAA,YAAY,EAAG;AAAEC,MAAAA,SAAS,EAAE;AAAb,KAJhB;AAKC,IAAA,WAAW,EAAG;AACbC,MAAAA,SAAS,EAAE,2BADE;AAEbC,MAAAA,OAAO,EAAE,IAFI;AAGbC,MAAAA,WAAW,EAAE;AACZ;AACA,oBAAI,4BAAJ,CAFY,EAGZ3C,IAAI,CAACiC,KAHO,CAHA;AAQb;AACA;AACA;AACA;AACAW,MAAAA,QAAQ,EAAE,CAAC;AAZE;AALf,KAoBG,MACD,4BAAC,qBAAD,QACC,4BAAC,oBAAD;AACC,IAAA,OAAO,EAAG,MACTxC,qBAAqB,CAAE,IAAF;AAFvB,KAKG,cAAI,QAAJ,CALH,CADD,CArBF,CAfF,CAhCD,CADD,EAmFGD,kBAAkB,IACnB,4BAAC,uCAAD;AACC,IAAA,SAAS,EAAGsB,aADb;AAEC,IAAA,QAAQ,EAAG,MAAMrB,qBAAqB,CAAE,KAAF;AAFvC,KAIG,cAAI,+CAAJ,CAJH,CApFF,CADD;AA8FA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { BlockPreview } from '@wordpress/block-editor';\nimport {\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Icon, moreHorizontal } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { DELETE, BACKSPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { PATTERNS, USER_PATTERNS } from './utils';\nimport { useLink } from '../routes/link';\n\nexport default function GridItem( { categoryId, composite, icon, item } ) {\n\tconst instanceId = useInstanceId( GridItem );\n\tconst descriptionId = `edit-site-library__pattern-description-${ instanceId }`;\n\tconst [ isDeleteDialogOpen, setIsDeleteDialogOpen ] = useState( false );\n\n\tconst { __experimentalDeleteReusableBlock } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: item.type === USER_PATTERNS ? item.id : item.name,\n\t\tcategoryId,\n\t\tcategoryType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\n\tconst isEmpty = ! item.blocks?.length;\n\tconst patternClassNames = classnames( 'edit-site-library__pattern', {\n\t\t'is-placeholder': isEmpty,\n\t} );\n\tconst previewClassNames = classnames( 'edit-site-library__preview', {\n\t\t'is-inactive': item.type === PATTERNS,\n\t} );\n\n\tconst deletePattern = async () => {\n\t\ttry {\n\t\t\tawait __experimentalDeleteReusableBlock( item.id );\n\t\t\tcreateSuccessNotice( __( 'Pattern successfully deleted.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while deleting the pattern.' );\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n\n\tlet ariaDescription;\n\tif ( item.type === USER_PATTERNS ) {\n\t\t// User patterns don't have descriptions, but can be edited and deleted, so include some help text.\n\t\tariaDescription = __(\n\t\t\t'Press Enter to edit, or Delete to delete the pattern.'\n\t\t);\n\t} else if ( item.description ) {\n\t\tariaDescription = item.description;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className={ patternClassNames }>\n\t\t\t\t<CompositeItem\n\t\t\t\t\tclassName={ previewClassNames }\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tas=\"div\"\n\t\t\t\t\t{ ...composite }\n\t\t\t\t\tonClick={ item.type !== PATTERNS ? onClick : undefined }\n\t\t\t\t\taria-label={ item.title }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\tariaDescription ? descriptionId : undefined\n\t\t\t\t\t}\n\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tDELETE === event.keyCode ||\n\t\t\t\t\t\t\tBACKSPACE === event.keyCode\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tsetIsDeleteDialogOpen( true );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty && __( 'Empty pattern' ) }\n\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ item.blocks } /> }\n\t\t\t\t</CompositeItem>\n\t\t\t\t{ ariaDescription && (\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ariaDescription }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<HStack\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName=\"edit-site-library__footer\"\n\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\talignment=\"center\"\n\t\t\t\t\t\tjustify=\"left\"\n\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\tclassName=\"edit-site-library__pattern-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ icon && <Icon icon={ icon } /> }\n\t\t\t\t\t\t<Heading level={ 5 }>{ item.title }</Heading>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t{ item.type === USER_PATTERNS && (\n\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\ticon={ moreHorizontal }\n\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-library__dropdown\"\n\t\t\t\t\t\t\tpopoverProps={ { placement: 'bottom-end' } }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tclassName: 'edit-site-library__button',\n\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: pattern name */\n\t\t\t\t\t\t\t\t\t__( 'Action menu for %s pattern' ),\n\t\t\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t// The dropdown menu is not focusable using the\n\t\t\t\t\t\t\t\t// keyboard as this would interfere with the grid's\n\t\t\t\t\t\t\t\t// roving tab index system. Instead, keyboard users\n\t\t\t\t\t\t\t\t// use keyboard shortcuts to trigger actions.\n\t\t\t\t\t\t\t\ttabIndex: -1,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetIsDeleteDialogOpen( true )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</div>\n\t\t\t{ isDeleteDialogOpen && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tonConfirm={ deletePattern }\n\t\t\t\t\tonCancel={ () => setIsDeleteDialogOpen( false ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Are you sure you want to delete this pattern?' ) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-library/grid-item.js"],"names":["GridItem","categoryId","composite","icon","item","instanceId","descriptionId","isDeleteDialogOpen","setIsDeleteDialogOpen","__experimentalDeleteReusableBlock","reusableBlocksStore","createErrorNotice","createSuccessNotice","noticesStore","onClick","postType","type","postId","USER_PATTERNS","id","name","categoryType","canvas","onKeyDown","event","DELETE","keyCode","BACKSPACE","isEmpty","blocks","length","patternClassNames","previewClassNames","PATTERNS","deletePattern","error","errorMessage","message","code","isUserPattern","ariaDescription","description","undefined","title","display","moreHorizontal","placement","className","isSmall","describedBy","tabIndex"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { BlockPreview } from '@wordpress/block-editor';\nimport {\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Icon, moreHorizontal } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { DELETE, BACKSPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { PATTERNS, USER_PATTERNS } from './utils';\nimport { useLink } from '../routes/link';\n\nexport default function GridItem( { categoryId, composite, icon, item } ) {\n\tconst instanceId = useInstanceId( GridItem );\n\tconst descriptionId = `edit-site-library__pattern-description-${ instanceId }`;\n\tconst [ isDeleteDialogOpen, setIsDeleteDialogOpen ] = useState( false );\n\n\tconst { __experimentalDeleteReusableBlock } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: item.type === USER_PATTERNS ? item.id : item.name,\n\t\tcategoryId,\n\t\tcategoryType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\n\tconst onKeyDown = ( event ) => {\n\t\tif ( DELETE === event.keyCode || BACKSPACE === event.keyCode ) {\n\t\t\tsetIsDeleteDialogOpen( true );\n\t\t}\n\t};\n\n\tconst isEmpty = ! item.blocks?.length;\n\tconst patternClassNames = classnames( 'edit-site-library__pattern', {\n\t\t'is-placeholder': isEmpty,\n\t} );\n\tconst previewClassNames = classnames( 'edit-site-library__preview', {\n\t\t'is-inactive': item.type === PATTERNS,\n\t} );\n\n\tconst deletePattern = async () => {\n\t\ttry {\n\t\t\tawait __experimentalDeleteReusableBlock( item.id );\n\t\t\tcreateSuccessNotice( __( 'Pattern successfully deleted.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while deleting the pattern.' );\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n\n\tconst isUserPattern = item.type === USER_PATTERNS;\n\tlet ariaDescription;\n\tif ( isUserPattern ) {\n\t\t// User patterns don't have descriptions, but can be edited and deleted, so include some help text.\n\t\tariaDescription = __(\n\t\t\t'Press Enter to edit, or Delete to delete the pattern.'\n\t\t);\n\t} else if ( item.description ) {\n\t\tariaDescription = item.description;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className={ patternClassNames }>\n\t\t\t\t<CompositeItem\n\t\t\t\t\tclassName={ previewClassNames }\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tas=\"div\"\n\t\t\t\t\t{ ...composite }\n\t\t\t\t\tonClick={ item.type !== PATTERNS ? onClick : undefined }\n\t\t\t\t\tonKeyDown={ isUserPattern ? onKeyDown : undefined }\n\t\t\t\t\taria-label={ item.title }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\tariaDescription ? descriptionId : undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty && __( 'Empty pattern' ) }\n\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ item.blocks } /> }\n\t\t\t\t</CompositeItem>\n\t\t\t\t{ ariaDescription && (\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ariaDescription }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<HStack\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName=\"edit-site-library__footer\"\n\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\talignment=\"center\"\n\t\t\t\t\t\tjustify=\"left\"\n\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\tclassName=\"edit-site-library__pattern-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ icon && <Icon icon={ icon } /> }\n\t\t\t\t\t\t<Heading level={ 5 }>{ item.title }</Heading>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t{ item.type === USER_PATTERNS && (\n\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\ticon={ moreHorizontal }\n\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-library__dropdown\"\n\t\t\t\t\t\t\tpopoverProps={ { placement: 'bottom-end' } }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tclassName: 'edit-site-library__button',\n\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: pattern name */\n\t\t\t\t\t\t\t\t\t__( 'Action menu for %s pattern' ),\n\t\t\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t// The dropdown menu is not focusable using the\n\t\t\t\t\t\t\t\t// keyboard as this would interfere with the grid's\n\t\t\t\t\t\t\t\t// roving tab index system. Instead, keyboard users\n\t\t\t\t\t\t\t\t// use keyboard shortcuts to trigger actions.\n\t\t\t\t\t\t\t\ttabIndex: -1,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetIsDeleteDialogOpen( true )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</div>\n\t\t\t{ isDeleteDialogOpen && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tonConfirm={ deletePattern }\n\t\t\t\t\tonCancel={ () => setIsDeleteDialogOpen( false ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Are you sure you want to delete this pattern?' ) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -19,6 +19,7 @@ var _preferences = require("@wordpress/preferences");
19
19
  function EnableFeature(props) {
20
20
  const {
21
21
  featureName,
22
+ onToggle = () => {},
22
23
  ...remainingProps
23
24
  } = props;
24
25
  const isChecked = (0, _data.useSelect)(select => !!select(_preferences.store).get('core/edit-site', featureName), [featureName]);
@@ -26,7 +27,10 @@ function EnableFeature(props) {
26
27
  toggle
27
28
  } = (0, _data.useDispatch)(_preferences.store);
28
29
 
29
- const onChange = () => toggle('core/edit-site', featureName);
30
+ const onChange = () => {
31
+ onToggle();
32
+ toggle('core/edit-site', featureName);
33
+ };
30
34
 
31
35
  return (0, _element.createElement)(_interface.___unstablePreferencesModalBaseOption, {
32
36
  onChange: onChange,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/preferences-modal/enable-feature.js"],"names":["EnableFeature","props","featureName","remainingProps","isChecked","select","preferencesStore","get","toggle","onChange"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;AAKe,SAASA,aAAT,CAAwBC,KAAxB,EAAgC;AAC9C,QAAM;AAAEC,IAAAA,WAAF;AAAe,OAAGC;AAAlB,MAAqCF,KAA3C;AACA,QAAMG,SAAS,GAAG,qBACfC,MAAF,IACC,CAAC,CAAEA,MAAM,CAAEC,kBAAF,CAAN,CAA2BC,GAA3B,CAAgC,gBAAhC,EAAkDL,WAAlD,CAFa,EAGjB,CAAEA,WAAF,CAHiB,CAAlB;AAKA,QAAM;AAAEM,IAAAA;AAAF,MAAa,uBAAaF,kBAAb,CAAnB;;AACA,QAAMG,QAAQ,GAAG,MAAMD,MAAM,CAAE,gBAAF,EAAoBN,WAApB,CAA7B;;AACA,SACC,4BAAC,gDAAD;AACC,IAAA,QAAQ,EAAGO,QADZ;AAEC,IAAA,SAAS,EAAGL,SAFb;AAAA,OAGMD;AAHN,IADD;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { ___unstablePreferencesModalBaseOption as BaseOption } from '@wordpress/interface';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\nexport default function EnableFeature( props ) {\n\tconst { featureName, ...remainingProps } = props;\n\tconst isChecked = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( preferencesStore ).get( 'core/edit-site', featureName ),\n\t\t[ featureName ]\n\t);\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst onChange = () => toggle( 'core/edit-site', featureName );\n\treturn (\n\t\t<BaseOption\n\t\t\tonChange={ onChange }\n\t\t\tisChecked={ isChecked }\n\t\t\t{ ...remainingProps }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/preferences-modal/enable-feature.js"],"names":["EnableFeature","props","featureName","onToggle","remainingProps","isChecked","select","preferencesStore","get","toggle","onChange"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;AAKe,SAASA,aAAT,CAAwBC,KAAxB,EAAgC;AAC9C,QAAM;AAAEC,IAAAA,WAAF;AAAeC,IAAAA,QAAQ,GAAG,MAAM,CAAE,CAAlC;AAAoC,OAAGC;AAAvC,MAA0DH,KAAhE;AACA,QAAMI,SAAS,GAAG,qBACfC,MAAF,IACC,CAAC,CAAEA,MAAM,CAAEC,kBAAF,CAAN,CAA2BC,GAA3B,CAAgC,gBAAhC,EAAkDN,WAAlD,CAFa,EAGjB,CAAEA,WAAF,CAHiB,CAAlB;AAKA,QAAM;AAAEO,IAAAA;AAAF,MAAa,uBAAaF,kBAAb,CAAnB;;AACA,QAAMG,QAAQ,GAAG,MAAM;AACtBP,IAAAA,QAAQ;AACRM,IAAAA,MAAM,CAAE,gBAAF,EAAoBP,WAApB,CAAN;AACA,GAHD;;AAIA,SACC,4BAAC,gDAAD;AACC,IAAA,QAAQ,EAAGQ,QADZ;AAEC,IAAA,SAAS,EAAGL,SAFb;AAAA,OAGMD;AAHN,IADD;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { ___unstablePreferencesModalBaseOption as BaseOption } from '@wordpress/interface';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\nexport default function EnableFeature( props ) {\n\tconst { featureName, onToggle = () => {}, ...remainingProps } = props;\n\tconst isChecked = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( preferencesStore ).get( 'core/edit-site', featureName ),\n\t\t[ featureName ]\n\t);\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst onChange = () => {\n\t\tonToggle();\n\t\ttoggle( 'core/edit-site', featureName );\n\t};\n\treturn (\n\t\t<BaseOption\n\t\t\tonChange={ onChange }\n\t\t\tisChecked={ isChecked }\n\t\t\t{ ...remainingProps }\n\t\t/>\n\t);\n}\n"]}
@@ -13,8 +13,14 @@ var _interface = require("@wordpress/interface");
13
13
 
14
14
  var _i18n = require("@wordpress/i18n");
15
15
 
16
+ var _data = require("@wordpress/data");
17
+
18
+ var _preferences = require("@wordpress/preferences");
19
+
16
20
  var _enableFeature = _interopRequireDefault(require("./enable-feature"));
17
21
 
22
+ var _store = require("../../store");
23
+
18
24
  /**
19
25
  * WordPress dependencies
20
26
  */
@@ -26,6 +32,25 @@ function EditSitePreferencesModal({
26
32
  isModalActive,
27
33
  toggleModal
28
34
  }) {
35
+ const registry = (0, _data.useRegistry)();
36
+ const {
37
+ closeGeneralSidebar,
38
+ setIsListViewOpened,
39
+ setIsInserterOpened
40
+ } = (0, _data.useDispatch)(_store.store);
41
+ const {
42
+ set: setPreference
43
+ } = (0, _data.useDispatch)(_preferences.store);
44
+
45
+ const toggleDistractionFree = () => {
46
+ registry.batch(() => {
47
+ setPreference('core/edit-site', 'fixedToolbar', false);
48
+ setIsInserterOpened(false);
49
+ setIsListViewOpened(false);
50
+ closeGeneralSidebar();
51
+ });
52
+ };
53
+
29
54
  const sections = (0, _element.useMemo)(() => [{
30
55
  name: 'general',
31
56
  tabLabel: (0, _i18n.__)('General'),
@@ -33,6 +58,11 @@ function EditSitePreferencesModal({
33
58
  title: (0, _i18n.__)('Appearance'),
34
59
  description: (0, _i18n.__)('Customize options related to the block editor interface and editing flow.')
35
60
  }, (0, _element.createElement)(_enableFeature.default, {
61
+ featureName: "distractionFree",
62
+ onToggle: toggleDistractionFree,
63
+ help: (0, _i18n.__)('Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'),
64
+ label: (0, _i18n.__)('Distraction free')
65
+ }), (0, _element.createElement)(_enableFeature.default, {
36
66
  featureName: "focusMode",
37
67
  help: (0, _i18n.__)('Highlights the current block and fades other content.'),
38
68
  label: (0, _i18n.__)('Spotlight mode')
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/preferences-modal/index.js"],"names":["EditSitePreferencesModal","isModalActive","toggleModal","sections","name","tabLabel","content"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AAKA;;AAdA;AACA;AACA;;AASA;AACA;AACA;AAGe,SAASA,wBAAT,CAAmC;AACjDC,EAAAA,aADiD;AAEjDC,EAAAA;AAFiD,CAAnC,EAGX;AACH,QAAMC,QAAQ,GAAG,sBAAS,MAAM,CAC/B;AACCC,IAAAA,IAAI,EAAE,SADP;AAECC,IAAAA,QAAQ,EAAE,cAAI,SAAJ,CAFX;AAGCC,IAAAA,OAAO,EACN,4BAAC,kCAAD;AACC,MAAA,KAAK,EAAG,cAAI,YAAJ,CADT;AAEC,MAAA,WAAW,EAAG,cACb,2EADa;AAFf,OAMC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,WADb;AAEC,MAAA,IAAI,EAAG,cACN,uDADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,gBAAJ;AALT,MAND,EAaC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,gBADb;AAEC,MAAA,KAAK,EAAG,cAAI,yBAAJ,CAFT;AAGC,MAAA,IAAI,EAAG,cAAI,wCAAJ;AAHR,MAbD,EAkBC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,uBADb;AAEC,MAAA,IAAI,EAAG,cACN,+CADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,uBAAJ;AALT,MAlBD,EAyBC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,sBADb;AAEC,MAAA,IAAI,EAAG,cACN,sDADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,2BAAJ;AALT,MAzBD;AAJF,GAD+B,EAwC/B;AACCF,IAAAA,IAAI,EAAE,QADP;AAECC,IAAAA,QAAQ,EAAE,cAAI,QAAJ,CAFX;AAGCC,IAAAA,OAAO,EACN,4BAAC,kCAAD;AACC,MAAA,KAAK,EAAG,cAAI,oBAAJ,CADT;AAEC,MAAA,WAAW,EAAG,cACb,iFADa;AAFf,OAMC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,sBADb;AAEC,MAAA,IAAI,EAAG,cACN,iEADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,kCAAJ;AALT,MAND;AAJF,GAxC+B,CAAf,CAAjB;;AA6DA,MAAK,CAAEL,aAAP,EAAuB;AACtB,WAAO,IAAP;AACA;;AACD,SACC,4BAAC,2BAAD;AAAkB,IAAA,UAAU,EAAGC;AAA/B,KACC,4BAAC,+BAAD;AAAsB,IAAA,QAAQ,EAAGC;AAAjC,IADD,CADD;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPreferencesModal,\n\tPreferencesModalTabs,\n\tPreferencesModalSection,\n} from '@wordpress/interface';\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport EnableFeature from './enable-feature';\n\nexport default function EditSitePreferencesModal( {\n\tisModalActive,\n\ttoggleModal,\n} ) {\n\tconst sections = useMemo( () => [\n\t\t{\n\t\t\tname: 'general',\n\t\t\ttabLabel: __( 'General' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Appearance' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize options related to the block editor interface and editing flow.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"focusMode\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Highlights the current block and fades other content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showIconLabels\"\n\t\t\t\t\t\tlabel={ __( 'Show button text labels' ) }\n\t\t\t\t\t\thelp={ __( 'Show text instead of icons on buttons.' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showListViewByDefault\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Opens the block list view sidebar by default.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Always open list view' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Shows block breadcrumbs at the bottom of the editor.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Display block breadcrumbs' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tname: 'blocks',\n\t\t\ttabLabel: __( 'Blocks' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Block interactions' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize how you interact with blocks in the block library and editing canvas.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"keepCaretInsideBlock\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Aids screen readers by stopping text caret from leaving blocks.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Contain text cursor inside block' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t] );\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<PreferencesModal closeModal={ toggleModal }>\n\t\t\t<PreferencesModalTabs sections={ sections } />\n\t\t</PreferencesModal>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/preferences-modal/index.js"],"names":["EditSitePreferencesModal","isModalActive","toggleModal","registry","closeGeneralSidebar","setIsListViewOpened","setIsInserterOpened","siteEditorStore","set","setPreference","preferencesStore","toggleDistractionFree","batch","sections","name","tabLabel","content"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AACA;;AACA;;AAKA;;AACA;;AAjBA;AACA;AACA;;AAWA;AACA;AACA;AAIe,SAASA,wBAAT,CAAmC;AACjDC,EAAAA,aADiD;AAEjDC,EAAAA;AAFiD,CAAnC,EAGX;AACH,QAAMC,QAAQ,GAAG,wBAAjB;AACA,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA,mBAAvB;AAA4CC,IAAAA;AAA5C,MACL,uBAAaC,YAAb,CADD;AAGA,QAAM;AAAEC,IAAAA,GAAG,EAAEC;AAAP,MAAyB,uBAAaC,kBAAb,CAA/B;;AACA,QAAMC,qBAAqB,GAAG,MAAM;AACnCR,IAAAA,QAAQ,CAACS,KAAT,CAAgB,MAAM;AACrBH,MAAAA,aAAa,CAAE,gBAAF,EAAoB,cAApB,EAAoC,KAApC,CAAb;AACAH,MAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACAD,MAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACAD,MAAAA,mBAAmB;AACnB,KALD;AAMA,GAPD;;AASA,QAAMS,QAAQ,GAAG,sBAAS,MAAM,CAC/B;AACCC,IAAAA,IAAI,EAAE,SADP;AAECC,IAAAA,QAAQ,EAAE,cAAI,SAAJ,CAFX;AAGCC,IAAAA,OAAO,EACN,4BAAC,kCAAD;AACC,MAAA,KAAK,EAAG,cAAI,YAAJ,CADT;AAEC,MAAA,WAAW,EAAG,cACb,2EADa;AAFf,OAMC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,iBADb;AAEC,MAAA,QAAQ,EAAGL,qBAFZ;AAGC,MAAA,IAAI,EAAG,cACN,0FADM,CAHR;AAMC,MAAA,KAAK,EAAG,cAAI,kBAAJ;AANT,MAND,EAcC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,WADb;AAEC,MAAA,IAAI,EAAG,cACN,uDADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,gBAAJ;AALT,MAdD,EAqBC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,gBADb;AAEC,MAAA,KAAK,EAAG,cAAI,yBAAJ,CAFT;AAGC,MAAA,IAAI,EAAG,cAAI,wCAAJ;AAHR,MArBD,EA0BC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,uBADb;AAEC,MAAA,IAAI,EAAG,cACN,+CADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,uBAAJ;AALT,MA1BD,EAiCC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,sBADb;AAEC,MAAA,IAAI,EAAG,cACN,sDADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,2BAAJ;AALT,MAjCD;AAJF,GAD+B,EAgD/B;AACCG,IAAAA,IAAI,EAAE,QADP;AAECC,IAAAA,QAAQ,EAAE,cAAI,QAAJ,CAFX;AAGCC,IAAAA,OAAO,EACN,4BAAC,kCAAD;AACC,MAAA,KAAK,EAAG,cAAI,oBAAJ,CADT;AAEC,MAAA,WAAW,EAAG,cACb,iFADa;AAFf,OAMC,4BAAC,sBAAD;AACC,MAAA,WAAW,EAAC,sBADb;AAEC,MAAA,IAAI,EAAG,cACN,iEADM,CAFR;AAKC,MAAA,KAAK,EAAG,cAAI,kCAAJ;AALT,MAND;AAJF,GAhD+B,CAAf,CAAjB;;AAqEA,MAAK,CAAEf,aAAP,EAAuB;AACtB,WAAO,IAAP;AACA;;AACD,SACC,4BAAC,2BAAD;AAAkB,IAAA,UAAU,EAAGC;AAA/B,KACC,4BAAC,+BAAD;AAAsB,IAAA,QAAQ,EAAGW;AAAjC,IADD,CADD;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPreferencesModal,\n\tPreferencesModalTabs,\n\tPreferencesModalSection,\n} from '@wordpress/interface';\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport EnableFeature from './enable-feature';\nimport { store as siteEditorStore } from '../../store';\n\nexport default function EditSitePreferencesModal( {\n\tisModalActive,\n\ttoggleModal,\n} ) {\n\tconst registry = useRegistry();\n\tconst { closeGeneralSidebar, setIsListViewOpened, setIsInserterOpened } =\n\t\tuseDispatch( siteEditorStore );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst toggleDistractionFree = () => {\n\t\tregistry.batch( () => {\n\t\t\tsetPreference( 'core/edit-site', 'fixedToolbar', false );\n\t\t\tsetIsInserterOpened( false );\n\t\t\tsetIsListViewOpened( false );\n\t\t\tcloseGeneralSidebar();\n\t\t} );\n\t};\n\n\tconst sections = useMemo( () => [\n\t\t{\n\t\t\tname: 'general',\n\t\t\ttabLabel: __( 'General' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Appearance' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize options related to the block editor interface and editing flow.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"distractionFree\"\n\t\t\t\t\t\tonToggle={ toggleDistractionFree }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"focusMode\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Highlights the current block and fades other content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showIconLabels\"\n\t\t\t\t\t\tlabel={ __( 'Show button text labels' ) }\n\t\t\t\t\t\thelp={ __( 'Show text instead of icons on buttons.' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showListViewByDefault\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Opens the block list view sidebar by default.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Always open list view' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Shows block breadcrumbs at the bottom of the editor.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Display block breadcrumbs' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tname: 'blocks',\n\t\t\ttabLabel: __( 'Blocks' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Block interactions' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize how you interact with blocks in the block library and editing canvas.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"keepCaretInsideBlock\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Aids screen readers by stopping text caret from leaving blocks.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Contain text cursor inside block' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t] );\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<PreferencesModal closeModal={ toggleModal }>\n\t\t\t<PreferencesModalTabs sections={ sections } />\n\t\t</PreferencesModal>\n\t);\n}\n"]}
@@ -81,12 +81,14 @@ function SidebarComplementaryAreaFills() {
81
81
  (0, _element.useEffect)(() => {
82
82
  // Don't automatically switch tab when the sidebar is closed or when we
83
83
  // are focused on page content.
84
- if (!isEditorSidebarOpened || hasPageContentFocus) {
84
+ if (!isEditorSidebarOpened) {
85
85
  return;
86
86
  }
87
87
 
88
88
  if (hasBlockSelection) {
89
- enableComplementaryArea(_constants.STORE_NAME, _constants2.SIDEBAR_BLOCK);
89
+ if (!hasPageContentFocus) {
90
+ enableComplementaryArea(_constants.STORE_NAME, _constants2.SIDEBAR_BLOCK);
91
+ }
90
92
  } else {
91
93
  enableComplementaryArea(_constants.STORE_NAME, _constants2.SIDEBAR_TEMPLATE);
92
94
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/index.js"],"names":["Slot","InspectorSlot","Fill","InspectorFill","SidebarInspectorFill","SidebarComplementaryAreaFills","sidebar","isEditorSidebarOpened","hasBlockSelection","supportsGlobalStyles","hasPageContentFocus","select","_sidebar","interfaceStore","getActiveComplementaryArea","STORE_NAME","_isEditorSidebarOpened","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","includes","settings","editSiteStore","getSettings","blockEditorStore","getBlockSelectionStart","supportsTemplatePartsMode","enableComplementaryArea","sidebarName","drawerLeft","drawerRight"],"mappings":";;;;;;;;;;AAMA;;AAHA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAtBA;AACA;AACA;;AASA;AACA;AACA;AAWA,MAAM;AAAEA,EAAAA,IAAI,EAAEC,aAAR;AAAuBC,EAAAA,IAAI,EAAEC;AAA7B,IAA+C,gCACpD,0BADoD,CAArD;AAGO,MAAMC,oBAAoB,GAAGD,aAA7B;;;AAEA,SAASE,6BAAT,GAAyC;AAC/C,QAAM;AACLC,IAAAA,OADK;AAELC,IAAAA,qBAFK;AAGLC,IAAAA,iBAHK;AAILC,IAAAA,oBAJK;AAKLC,IAAAA;AALK,MAMF,qBAAaC,MAAF,IAAc;AAC5B,UAAMC,QAAQ,GACbD,MAAM,CAAEE,gBAAF,CAAN,CAAyBC,0BAAzB,CAAqDC,qBAArD,CADD;;AAEA,UAAMC,sBAAsB,GAAG,CAC9BC,yBAD8B,EAE9BC,4BAF8B,EAG7BC,QAH6B,CAGnBP,QAHmB,CAA/B;;AAIA,UAAMQ,QAAQ,GAAGT,MAAM,CAAEU,YAAF,CAAN,CAAwBC,WAAxB,EAAjB;AACA,WAAO;AACNhB,MAAAA,OAAO,EAAEM,QADH;AAENL,MAAAA,qBAAqB,EAAES,sBAFjB;AAGNR,MAAAA,iBAAiB,EAChB,CAAC,CAAEG,MAAM,CAAEY,kBAAF,CAAN,CAA2BC,sBAA3B,EAJE;AAKNf,MAAAA,oBAAoB,EAAE,CAAEW,QAAQ,EAAEK,yBAL5B;AAMNf,MAAAA,mBAAmB,EAAEC,MAAM,CAAEU,YAAF,CAAN,CAAwBX,mBAAxB;AANf,KAAP;AAQA,GAhBG,EAgBD,EAhBC,CANJ;AAuBA,QAAM;AAAEgB,IAAAA;AAAF,MAA8B,uBAAab,gBAAb,CAApC;AAEA,0BAAW,MAAM;AAChB;AACA;AACA,QAAK,CAAEN,qBAAF,IAA2BG,mBAAhC,EAAsD;AACrD;AACA;;AACD,QAAKF,iBAAL,EAAyB;AACxBkB,MAAAA,uBAAuB,CAAEX,qBAAF,EAAcE,yBAAd,CAAvB;AACA,KAFD,MAEO;AACNS,MAAAA,uBAAuB,CAAEX,qBAAF,EAAcG,4BAAd,CAAvB;AACA;AACD,GAXD,EAWG,CAAEV,iBAAF,EAAqBD,qBAArB,EAA4CG,mBAA5C,CAXH;AAaA,MAAIiB,WAAW,GAAGrB,OAAlB;;AACA,MAAK,CAAEC,qBAAP,EAA+B;AAC9BoB,IAAAA,WAAW,GAAGnB,iBAAiB,GAAGS,yBAAH,GAAmBC,4BAAlD;AACA;;AAED,SACC,qDACC,4BAAC,uBAAD;AACC,IAAA,UAAU,EAAGS,WADd;AAEC,IAAA,KAAK,EAAG,cAAI,UAAJ,CAFT;AAGC,IAAA,IAAI,EAAG,qBAAUC,iBAAV,GAAuBC,kBAH/B;AAIC,IAAA,UAAU,EAAG,cAAI,gBAAJ,CAJd;AAKC,IAAA,MAAM,EAAG,4BAAC,uBAAD;AAAgB,MAAA,WAAW,EAAGF;AAA9B,MALV;AAMC,IAAA,eAAe,EAAC;AANjB,KAQGA,WAAW,KAAKT,4BAAhB,IACD,qDACGR,mBAAmB,GACpB,4BAAC,mBAAD,OADoB,GAGpB,4BAAC,sBAAD,OAJF,EAMC,4BAAC,mCAAD,CAA4B,IAA5B,OAND,CATF,EAkBGiB,WAAW,KAAKV,yBAAhB,IACD,4BAAC,aAAD;AAAe,IAAA,gBAAgB;AAA/B,IAnBF,CADD,EAuBGR,oBAAoB,IAAI,4BAAC,4BAAD,OAvB3B,CADD;AA2BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport DefaultSidebar from './default-sidebar';\nimport GlobalStylesSidebar from './global-styles-sidebar';\nimport { STORE_NAME } from '../../store/constants';\nimport SettingsHeader from './settings-header';\nimport PagePanels from './page-panels';\nimport TemplatePanel from './template-panel';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from './constants';\nimport { store as editSiteStore } from '../../store';\n\nconst { Slot: InspectorSlot, Fill: InspectorFill } = createSlotFill(\n\t'EditSiteSidebarInspector'\n);\nexport const SidebarInspectorFill = InspectorFill;\n\nexport function SidebarComplementaryAreaFills() {\n\tconst {\n\t\tsidebar,\n\t\tisEditorSidebarOpened,\n\t\thasBlockSelection,\n\t\tsupportsGlobalStyles,\n\t\thasPageContentFocus,\n\t} = useSelect( ( select ) => {\n\t\tconst _sidebar =\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( STORE_NAME );\n\t\tconst _isEditorSidebarOpened = [\n\t\t\tSIDEBAR_BLOCK,\n\t\t\tSIDEBAR_TEMPLATE,\n\t\t].includes( _sidebar );\n\t\tconst settings = select( editSiteStore ).getSettings();\n\t\treturn {\n\t\t\tsidebar: _sidebar,\n\t\t\tisEditorSidebarOpened: _isEditorSidebarOpened,\n\t\t\thasBlockSelection:\n\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\tsupportsGlobalStyles: ! settings?.supportsTemplatePartsMode,\n\t\t\thasPageContentFocus: select( editSiteStore ).hasPageContentFocus(),\n\t\t};\n\t}, [] );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tuseEffect( () => {\n\t\t// Don't automatically switch tab when the sidebar is closed or when we\n\t\t// are focused on page content.\n\t\tif ( ! isEditorSidebarOpened || hasPageContentFocus ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( hasBlockSelection ) {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_TEMPLATE );\n\t\t}\n\t}, [ hasBlockSelection, isEditorSidebarOpened, hasPageContentFocus ] );\n\n\tlet sidebarName = sidebar;\n\tif ( ! isEditorSidebarOpened ) {\n\t\tsidebarName = hasBlockSelection ? SIDEBAR_BLOCK : SIDEBAR_TEMPLATE;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DefaultSidebar\n\t\t\t\tidentifier={ sidebarName }\n\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t\theader={ <SettingsHeader sidebarName={ sidebarName } /> }\n\t\t\t\theaderClassName=\"edit-site-sidebar-edit-mode__panel-tabs\"\n\t\t\t>\n\t\t\t\t{ sidebarName === SIDEBAR_TEMPLATE && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ hasPageContentFocus ? (\n\t\t\t\t\t\t\t<PagePanels />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<TemplatePanel />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ sidebarName === SIDEBAR_BLOCK && (\n\t\t\t\t\t<InspectorSlot bubblesVirtually />\n\t\t\t\t) }\n\t\t\t</DefaultSidebar>\n\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/index.js"],"names":["Slot","InspectorSlot","Fill","InspectorFill","SidebarInspectorFill","SidebarComplementaryAreaFills","sidebar","isEditorSidebarOpened","hasBlockSelection","supportsGlobalStyles","hasPageContentFocus","select","_sidebar","interfaceStore","getActiveComplementaryArea","STORE_NAME","_isEditorSidebarOpened","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","includes","settings","editSiteStore","getSettings","blockEditorStore","getBlockSelectionStart","supportsTemplatePartsMode","enableComplementaryArea","sidebarName","drawerLeft","drawerRight"],"mappings":";;;;;;;;;;AAMA;;AAHA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAtBA;AACA;AACA;;AASA;AACA;AACA;AAWA,MAAM;AAAEA,EAAAA,IAAI,EAAEC,aAAR;AAAuBC,EAAAA,IAAI,EAAEC;AAA7B,IAA+C,gCACpD,0BADoD,CAArD;AAGO,MAAMC,oBAAoB,GAAGD,aAA7B;;;AAEA,SAASE,6BAAT,GAAyC;AAC/C,QAAM;AACLC,IAAAA,OADK;AAELC,IAAAA,qBAFK;AAGLC,IAAAA,iBAHK;AAILC,IAAAA,oBAJK;AAKLC,IAAAA;AALK,MAMF,qBAAaC,MAAF,IAAc;AAC5B,UAAMC,QAAQ,GACbD,MAAM,CAAEE,gBAAF,CAAN,CAAyBC,0BAAzB,CAAqDC,qBAArD,CADD;;AAEA,UAAMC,sBAAsB,GAAG,CAC9BC,yBAD8B,EAE9BC,4BAF8B,EAG7BC,QAH6B,CAGnBP,QAHmB,CAA/B;;AAIA,UAAMQ,QAAQ,GAAGT,MAAM,CAAEU,YAAF,CAAN,CAAwBC,WAAxB,EAAjB;AACA,WAAO;AACNhB,MAAAA,OAAO,EAAEM,QADH;AAENL,MAAAA,qBAAqB,EAAES,sBAFjB;AAGNR,MAAAA,iBAAiB,EAChB,CAAC,CAAEG,MAAM,CAAEY,kBAAF,CAAN,CAA2BC,sBAA3B,EAJE;AAKNf,MAAAA,oBAAoB,EAAE,CAAEW,QAAQ,EAAEK,yBAL5B;AAMNf,MAAAA,mBAAmB,EAAEC,MAAM,CAAEU,YAAF,CAAN,CAAwBX,mBAAxB;AANf,KAAP;AAQA,GAhBG,EAgBD,EAhBC,CANJ;AAuBA,QAAM;AAAEgB,IAAAA;AAAF,MAA8B,uBAAab,gBAAb,CAApC;AAEA,0BAAW,MAAM;AAChB;AACA;AACA,QAAK,CAAEN,qBAAP,EAA+B;AAC9B;AACA;;AACD,QAAKC,iBAAL,EAAyB;AACxB,UAAK,CAAEE,mBAAP,EAA6B;AAC5BgB,QAAAA,uBAAuB,CAAEX,qBAAF,EAAcE,yBAAd,CAAvB;AACA;AACD,KAJD,MAIO;AACNS,MAAAA,uBAAuB,CAAEX,qBAAF,EAAcG,4BAAd,CAAvB;AACA;AACD,GAbD,EAaG,CAAEV,iBAAF,EAAqBD,qBAArB,EAA4CG,mBAA5C,CAbH;AAeA,MAAIiB,WAAW,GAAGrB,OAAlB;;AACA,MAAK,CAAEC,qBAAP,EAA+B;AAC9BoB,IAAAA,WAAW,GAAGnB,iBAAiB,GAAGS,yBAAH,GAAmBC,4BAAlD;AACA;;AAED,SACC,qDACC,4BAAC,uBAAD;AACC,IAAA,UAAU,EAAGS,WADd;AAEC,IAAA,KAAK,EAAG,cAAI,UAAJ,CAFT;AAGC,IAAA,IAAI,EAAG,qBAAUC,iBAAV,GAAuBC,kBAH/B;AAIC,IAAA,UAAU,EAAG,cAAI,gBAAJ,CAJd;AAKC,IAAA,MAAM,EAAG,4BAAC,uBAAD;AAAgB,MAAA,WAAW,EAAGF;AAA9B,MALV;AAMC,IAAA,eAAe,EAAC;AANjB,KAQGA,WAAW,KAAKT,4BAAhB,IACD,qDACGR,mBAAmB,GACpB,4BAAC,mBAAD,OADoB,GAGpB,4BAAC,sBAAD,OAJF,EAMC,4BAAC,mCAAD,CAA4B,IAA5B,OAND,CATF,EAkBGiB,WAAW,KAAKV,yBAAhB,IACD,4BAAC,aAAD;AAAe,IAAA,gBAAgB;AAA/B,IAnBF,CADD,EAuBGR,oBAAoB,IAAI,4BAAC,4BAAD,OAvB3B,CADD;AA2BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport DefaultSidebar from './default-sidebar';\nimport GlobalStylesSidebar from './global-styles-sidebar';\nimport { STORE_NAME } from '../../store/constants';\nimport SettingsHeader from './settings-header';\nimport PagePanels from './page-panels';\nimport TemplatePanel from './template-panel';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from './constants';\nimport { store as editSiteStore } from '../../store';\n\nconst { Slot: InspectorSlot, Fill: InspectorFill } = createSlotFill(\n\t'EditSiteSidebarInspector'\n);\nexport const SidebarInspectorFill = InspectorFill;\n\nexport function SidebarComplementaryAreaFills() {\n\tconst {\n\t\tsidebar,\n\t\tisEditorSidebarOpened,\n\t\thasBlockSelection,\n\t\tsupportsGlobalStyles,\n\t\thasPageContentFocus,\n\t} = useSelect( ( select ) => {\n\t\tconst _sidebar =\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( STORE_NAME );\n\t\tconst _isEditorSidebarOpened = [\n\t\t\tSIDEBAR_BLOCK,\n\t\t\tSIDEBAR_TEMPLATE,\n\t\t].includes( _sidebar );\n\t\tconst settings = select( editSiteStore ).getSettings();\n\t\treturn {\n\t\t\tsidebar: _sidebar,\n\t\t\tisEditorSidebarOpened: _isEditorSidebarOpened,\n\t\t\thasBlockSelection:\n\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\tsupportsGlobalStyles: ! settings?.supportsTemplatePartsMode,\n\t\t\thasPageContentFocus: select( editSiteStore ).hasPageContentFocus(),\n\t\t};\n\t}, [] );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tuseEffect( () => {\n\t\t// Don't automatically switch tab when the sidebar is closed or when we\n\t\t// are focused on page content.\n\t\tif ( ! isEditorSidebarOpened ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( hasBlockSelection ) {\n\t\t\tif ( ! hasPageContentFocus ) {\n\t\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t\t}\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_TEMPLATE );\n\t\t}\n\t}, [ hasBlockSelection, isEditorSidebarOpened, hasPageContentFocus ] );\n\n\tlet sidebarName = sidebar;\n\tif ( ! isEditorSidebarOpened ) {\n\t\tsidebarName = hasBlockSelection ? SIDEBAR_BLOCK : SIDEBAR_TEMPLATE;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DefaultSidebar\n\t\t\t\tidentifier={ sidebarName }\n\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t\theader={ <SettingsHeader sidebarName={ sidebarName } /> }\n\t\t\t\theaderClassName=\"edit-site-sidebar-edit-mode__panel-tabs\"\n\t\t\t>\n\t\t\t\t{ sidebarName === SIDEBAR_TEMPLATE && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ hasPageContentFocus ? (\n\t\t\t\t\t\t\t<PagePanels />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<TemplatePanel />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ sidebarName === SIDEBAR_BLOCK && (\n\t\t\t\t\t<InspectorSlot bubblesVirtually />\n\t\t\t\t) }\n\t\t\t</DefaultSidebar>\n\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t</>\n\t);\n}\n"]}