@wordpress/edit-site 5.8.0 → 5.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-template/new-template.js +2 -1
  3. package/build/components/add-new-template/new-template.js.map +1 -1
  4. package/build/components/block-editor/index.js +7 -7
  5. package/build/components/block-editor/index.js.map +1 -1
  6. package/build/components/editor-canvas-container/index.js +117 -0
  7. package/build/components/editor-canvas-container/index.js.map +1 -0
  8. package/build/components/global-styles/border-panel.js +50 -4
  9. package/build/components/global-styles/border-panel.js.map +1 -1
  10. package/build/components/global-styles/filters-panel.js +6 -1
  11. package/build/components/global-styles/filters-panel.js.map +1 -1
  12. package/build/components/global-styles/global-styles-provider.js +4 -18
  13. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  14. package/build/components/global-styles/ui.js +7 -14
  15. package/build/components/global-styles/ui.js.map +1 -1
  16. package/build/components/header-edit-mode/index.js +11 -7
  17. package/build/components/header-edit-mode/index.js.map +1 -1
  18. package/build/components/layout/index.js +9 -7
  19. package/build/components/layout/index.js.map +1 -1
  20. package/build/components/list/table.js +3 -3
  21. package/build/components/list/table.js.map +1 -1
  22. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +28 -13
  23. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  24. package/build/components/site-hub/index.js +38 -16
  25. package/build/components/site-hub/index.js.map +1 -1
  26. package/build/components/site-icon/index.js +8 -7
  27. package/build/components/site-icon/index.js.map +1 -1
  28. package/build/components/start-template-options/index.js +9 -8
  29. package/build/components/start-template-options/index.js.map +1 -1
  30. package/build/components/style-book/index.js +9 -41
  31. package/build/components/style-book/index.js.map +1 -1
  32. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -3
  33. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  34. package/build/components/template-details/index.js +3 -1
  35. package/build/components/template-details/index.js.map +1 -1
  36. package/build/hooks/commands/use-navigation-commands.js +9 -0
  37. package/build/hooks/commands/use-navigation-commands.js.map +1 -1
  38. package/build/hooks/commands/use-wp-admin-commands.js +4 -1
  39. package/build/hooks/commands/use-wp-admin-commands.js.map +1 -1
  40. package/build/store/private-actions.js +19 -1
  41. package/build/store/private-actions.js.map +1 -1
  42. package/build/store/private-selectors.js +13 -0
  43. package/build/store/private-selectors.js.map +1 -1
  44. package/build/store/reducer.js +23 -1
  45. package/build/store/reducer.js.map +1 -1
  46. package/build-module/components/add-new-template/new-template.js +3 -2
  47. package/build-module/components/add-new-template/new-template.js.map +1 -1
  48. package/build-module/components/block-editor/index.js +6 -6
  49. package/build-module/components/block-editor/index.js.map +1 -1
  50. package/build-module/components/editor-canvas-container/index.js +100 -0
  51. package/build-module/components/editor-canvas-container/index.js.map +1 -0
  52. package/build-module/components/global-styles/border-panel.js +51 -4
  53. package/build-module/components/global-styles/border-panel.js.map +1 -1
  54. package/build-module/components/global-styles/filters-panel.js +6 -1
  55. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  56. package/build-module/components/global-styles/global-styles-provider.js +5 -19
  57. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  58. package/build-module/components/global-styles/ui.js +6 -14
  59. package/build-module/components/global-styles/ui.js.map +1 -1
  60. package/build-module/components/header-edit-mode/index.js +10 -7
  61. package/build-module/components/header-edit-mode/index.js.map +1 -1
  62. package/build-module/components/layout/index.js +8 -7
  63. package/build-module/components/layout/index.js.map +1 -1
  64. package/build-module/components/list/table.js +3 -3
  65. package/build-module/components/list/table.js.map +1 -1
  66. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +28 -15
  67. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  68. package/build-module/components/site-hub/index.js +40 -18
  69. package/build-module/components/site-hub/index.js.map +1 -1
  70. package/build-module/components/site-icon/index.js +8 -7
  71. package/build-module/components/site-icon/index.js.map +1 -1
  72. package/build-module/components/start-template-options/index.js +9 -8
  73. package/build-module/components/start-template-options/index.js.map +1 -1
  74. package/build-module/components/style-book/index.js +10 -41
  75. package/build-module/components/style-book/index.js.map +1 -1
  76. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -3
  77. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  78. package/build-module/components/template-details/index.js +3 -1
  79. package/build-module/components/template-details/index.js.map +1 -1
  80. package/build-module/hooks/commands/use-navigation-commands.js +8 -0
  81. package/build-module/hooks/commands/use-navigation-commands.js.map +1 -1
  82. package/build-module/hooks/commands/use-wp-admin-commands.js +3 -1
  83. package/build-module/hooks/commands/use-wp-admin-commands.js.map +1 -1
  84. package/build-module/store/private-actions.js +15 -0
  85. package/build-module/store/private-actions.js.map +1 -1
  86. package/build-module/store/private-selectors.js +11 -0
  87. package/build-module/store/private-selectors.js.map +1 -1
  88. package/build-module/store/reducer.js +23 -1
  89. package/build-module/store/reducer.js.map +1 -1
  90. package/build-style/style-rtl.css +113 -61
  91. package/build-style/style.css +113 -61
  92. package/package.json +34 -34
  93. package/src/components/add-new-template/new-template.js +3 -0
  94. package/src/components/block-editor/index.js +8 -8
  95. package/src/components/editor-canvas-container/index.js +115 -0
  96. package/src/components/editor-canvas-container/style.scss +19 -0
  97. package/src/components/global-styles/border-panel.js +43 -2
  98. package/src/components/global-styles/filters-panel.js +7 -1
  99. package/src/components/global-styles/global-styles-provider.js +4 -18
  100. package/src/components/global-styles/ui.js +10 -6
  101. package/src/components/header-edit-mode/index.js +14 -5
  102. package/src/components/layout/index.js +9 -16
  103. package/src/components/layout/style.scss +31 -4
  104. package/src/components/list/table.js +16 -2
  105. package/src/components/secondary-sidebar/style.scss +23 -5
  106. package/src/components/sidebar/style.scss +2 -1
  107. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +36 -17
  108. package/src/components/site-hub/index.js +50 -22
  109. package/src/components/site-icon/index.js +6 -11
  110. package/src/components/site-icon/style.scss +8 -3
  111. package/src/components/start-template-options/index.js +13 -12
  112. package/src/components/start-template-options/style.scss +12 -30
  113. package/src/components/style-book/index.js +7 -51
  114. package/src/components/style-book/style.scss +0 -18
  115. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +4 -3
  116. package/src/components/template-details/index.js +1 -0
  117. package/src/hooks/commands/use-navigation-commands.js +9 -0
  118. package/src/hooks/commands/use-wp-admin-commands.js +3 -1
  119. package/src/store/private-actions.js +14 -0
  120. package/src/store/private-selectors.js +11 -0
  121. package/src/store/reducer.js +18 -0
  122. package/src/style.scss +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/editor-canvas-container/index.js"],"names":["Children","cloneElement","useState","useMemo","Button","privateApis","componentsPrivateApis","ESCAPE","__","useDispatch","useSelect","closeSmall","useFocusOnMount","useFocusReturn","unlock","store","editSiteStore","getEditorCanvasContainerTitle","view","createPrivateSlotFill","SLOT_FILL_NAME","Slot","EditorCanvasContainerSlot","Fill","EditorCanvasContainerFill","EditorCanvasContainer","children","closeButtonLabel","onClose","editorCanvasContainerView","select","getEditorCanvasContainerView","isClosed","setIsClosed","setEditorCanvasContainerView","focusOnMountRef","sectionFocusReturnRef","title","onCloseContainer","undefined","closeOnEscape","event","keyCode","defaultPrevented","preventDefault","childrenWithProps","Array","isArray","map","child","index","ref"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Children, cloneElement, useState, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { closeSmall } from '@wordpress/icons';\nimport { useFocusOnMount, useFocusReturn } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Returns a translated string for the title of the editor canvas container.\n *\n * @param {string} view Editor canvas container view.\n *\n * @return {string} Translated string corresponding to value of view. Default is ''.\n */\nexport function getEditorCanvasContainerTitle( view ) {\n\tswitch ( view ) {\n\t\tcase 'style-book':\n\t\t\treturn __( 'Style Book' );\n\t\tdefault:\n\t\t\treturn '';\n\t}\n}\n\n// Creates a private slot fill.\nconst { createPrivateSlotFill } = unlock( componentsPrivateApis );\nconst SLOT_FILL_NAME = 'EditSiteEditorCanvasContainerSlot';\nconst { Slot: EditorCanvasContainerSlot, Fill: EditorCanvasContainerFill } =\n\tcreatePrivateSlotFill( SLOT_FILL_NAME );\n\nfunction EditorCanvasContainer( {\n\tchildren,\n\tcloseButtonLabel,\n\tonClose = () => {},\n} ) {\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\tconst [ isClosed, setIsClosed ] = useState( false );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst sectionFocusReturnRef = useFocusReturn();\n\tconst title = useMemo(\n\t\t() => getEditorCanvasContainerTitle( editorCanvasContainerView ),\n\t\t[ editorCanvasContainerView ]\n\t);\n\tfunction onCloseContainer() {\n\t\tonClose();\n\t\tsetEditorCanvasContainerView( undefined );\n\t\tsetIsClosed( true );\n\t}\n\n\tfunction closeOnEscape( event ) {\n\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tonCloseContainer();\n\t\t}\n\t}\n\n\tconst childrenWithProps = Array.isArray( children )\n\t\t? Children.map( children, ( child, index ) =>\n\t\t\t\tindex === 0\n\t\t\t\t\t? cloneElement( child, {\n\t\t\t\t\t\t\tref: sectionFocusReturnRef,\n\t\t\t\t\t } )\n\t\t\t\t\t: child\n\t\t )\n\t\t: cloneElement( children, {\n\t\t\t\tref: sectionFocusReturnRef,\n\t\t } );\n\n\tif ( isClosed ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<EditorCanvasContainerFill>\n\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t<section\n\t\t\t\tclassName=\"edit-site-editor-canvas-container\"\n\t\t\t\tref={ focusOnMountRef }\n\t\t\t\tonKeyDown={ closeOnEscape }\n\t\t\t\taria-label={ title }\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"edit-site-editor-canvas-container__close-button\"\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ closeButtonLabel || __( 'Close' ) }\n\t\t\t\t\tonClick={ onCloseContainer }\n\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t/>\n\t\t\t\t{ childrenWithProps }\n\t\t\t</section>\n\t\t</EditorCanvasContainerFill>\n\t);\n}\n\nEditorCanvasContainer.Slot = EditorCanvasContainerSlot;\nexport default EditorCanvasContainer;\n"]}
@@ -16,6 +16,44 @@ const {
16
16
  useSettingsForBlockElement,
17
17
  BorderPanel: StylesBorderPanel
18
18
  } = unlock(blockEditorPrivateApis);
19
+
20
+ function applyFallbackStyle(border) {
21
+ if (!border) {
22
+ return border;
23
+ }
24
+
25
+ const hasColorOrWidth = border.color || border.width;
26
+
27
+ if (!border.style && hasColorOrWidth) {
28
+ return { ...border,
29
+ style: 'solid'
30
+ };
31
+ }
32
+
33
+ if (border.style && !hasColorOrWidth) {
34
+ return undefined;
35
+ }
36
+
37
+ return border;
38
+ }
39
+
40
+ function applyAllFallbackStyles(border) {
41
+ if (!border) {
42
+ return border;
43
+ }
44
+
45
+ if (hasSplitBorders(border)) {
46
+ return {
47
+ top: applyFallbackStyle(border.top),
48
+ right: applyFallbackStyle(border.right),
49
+ bottom: applyFallbackStyle(border.bottom),
50
+ left: applyFallbackStyle(border.left)
51
+ };
52
+ }
53
+
54
+ return applyFallbackStyle(border);
55
+ }
56
+
19
57
  export default function BorderPanel(_ref) {
20
58
  let {
21
59
  name,
@@ -36,7 +74,10 @@ export default function BorderPanel(_ref) {
36
74
  const settings = useSettingsForBlockElement(rawSettings, name);
37
75
 
38
76
  const onChange = newStyle => {
39
- // As Global Styles can't conditionally generate styles based on if
77
+ if (!(newStyle !== null && newStyle !== void 0 && newStyle.border)) {
78
+ setStyle(newStyle);
79
+ return;
80
+ } // As Global Styles can't conditionally generate styles based on if
40
81
  // other style properties have been set, we need to force split
41
82
  // border definitions for user set global border styles. Border
42
83
  // radius is derived from the same property i.e. `border.radius` if
@@ -47,9 +88,13 @@ export default function BorderPanel(_ref) {
47
88
  // the `border` style property. This means if the theme.json defined
48
89
  // split borders and the user condenses them into a flat border or
49
90
  // vice-versa we'd get both sets of styles which would conflict.
91
+
92
+
50
93
  const {
51
- border
52
- } = newStyle;
94
+ radius,
95
+ ...newBorder
96
+ } = newStyle.border;
97
+ const border = applyAllFallbackStyles(newBorder);
53
98
  const updatedBorder = !hasSplitBorders(border) ? {
54
99
  top: border,
55
100
  right: border,
@@ -62,7 +107,9 @@ export default function BorderPanel(_ref) {
62
107
  ...border
63
108
  };
64
109
  setStyle({ ...newStyle,
65
- border: updatedBorder
110
+ border: { ...updatedBorder,
111
+ radius
112
+ }
66
113
  });
67
114
  };
68
115
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/border-panel.js"],"names":["privateApis","blockEditorPrivateApis","__experimentalHasSplitBorders","hasSplitBorders","unlock","useGlobalStyle","useGlobalSetting","useSettingsForBlockElement","BorderPanel","StylesBorderPanel","name","variation","prefixParts","concat","prefix","join","style","inheritedStyle","setStyle","shouldDecodeEncode","rawSettings","settings","onChange","newStyle","border","updatedBorder","top","right","bottom","left","color","width"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,sBAAxB,QAAsD,yBAAtD;AACA,SAASC,6BAA6B,IAAIC,eAA1C,QAAiE,uBAAjE;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,oBAAvB;AAEA,MAAM;AACLC,EAAAA,cADK;AAELC,EAAAA,gBAFK;AAGLC,EAAAA,0BAHK;AAILC,EAAAA,WAAW,EAAEC;AAJR,IAKFL,MAAM,CAAEH,sBAAF,CALV;AAOA,eAAe,SAASO,WAAT,OAAiD;AAAA,MAA3B;AAAEE,IAAAA,IAAF;AAAQC,IAAAA,SAAS,GAAG;AAApB,GAA2B;AAC/D,MAAIC,WAAW,GAAG,EAAlB;;AACA,MAAKD,SAAL,EAAiB;AAChBC,IAAAA,WAAW,GAAG,CAAE,YAAF,EAAgBD,SAAhB,EAA4BE,MAA5B,CAAoCD,WAApC,CAAd;AACA;;AACD,QAAME,MAAM,GAAGF,WAAW,CAACG,IAAZ,CAAkB,GAAlB,CAAf;AAEA,QAAM,CAAEC,KAAF,IAAYX,cAAc,CAAES,MAAF,EAAUJ,IAAV,EAAgB,MAAhB,EAAwB,KAAxB,CAAhC;AACA,QAAM,CAAEO,cAAF,EAAkBC,QAAlB,IAA+Bb,cAAc,CAAES,MAAF,EAAUJ,IAAV,EAAgB,KAAhB,EAAuB;AACzES,IAAAA,kBAAkB,EAAE;AADqD,GAAvB,CAAnD;AAGA,QAAM,CAAEC,WAAF,IAAkBd,gBAAgB,CAAE,EAAF,EAAMI,IAAN,CAAxC;AACA,QAAMW,QAAQ,GAAGd,0BAA0B,CAAEa,WAAF,EAAeV,IAAf,CAA3C;;AAEA,QAAMY,QAAQ,GAAKC,QAAF,IAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAM;AAAEC,MAAAA;AAAF,QAAaD,QAAnB;AACA,UAAME,aAAa,GAAG,CAAEtB,eAAe,CAAEqB,MAAF,CAAjB,GACnB;AACAE,MAAAA,GAAG,EAAEF,MADL;AAEAG,MAAAA,KAAK,EAAEH,MAFP;AAGAI,MAAAA,MAAM,EAAEJ,MAHR;AAIAK,MAAAA,IAAI,EAAEL;AAJN,KADmB,GAOnB;AACAM,MAAAA,KAAK,EAAE,IADP;AAEAd,MAAAA,KAAK,EAAE,IAFP;AAGAe,MAAAA,KAAK,EAAE,IAHP;AAIA,SAAGP;AAJH,KAPH;AAcAN,IAAAA,QAAQ,CAAE,EAAE,GAAGK,QAAL;AAAeC,MAAAA,MAAM,EAAEC;AAAvB,KAAF,CAAR;AACA,GA5BD;;AA8BA,SACC,cAAC,iBAAD;AACC,IAAA,cAAc,EAAGR,cADlB;AAEC,IAAA,KAAK,EAAGD,KAFT;AAGC,IAAA,QAAQ,EAAGM,QAHZ;AAIC,IAAA,QAAQ,EAAGD;AAJZ,IADD;AAQA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { __experimentalHasSplitBorders as hasSplitBorders } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tBorderPanel: StylesBorderPanel,\n} = unlock( blockEditorPrivateApis );\n\nexport default function BorderPanel( { name, variation = '' } ) {\n\tlet prefixParts = [];\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', false );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\n\n\tconst onChange = ( newStyle ) => {\n\t\t// As Global Styles can't conditionally generate styles based on if\n\t\t// other style properties have been set, we need to force split\n\t\t// border definitions for user set global border styles. Border\n\t\t// radius is derived from the same property i.e. `border.radius` if\n\t\t// it is a string that is used. The longhand border radii styles are\n\t\t// only generated if that property is an object.\n\t\t//\n\t\t// For borders (color, style, and width) those are all properties on\n\t\t// the `border` style property. This means if the theme.json defined\n\t\t// split borders and the user condenses them into a flat border or\n\t\t// vice-versa we'd get both sets of styles which would conflict.\n\t\tconst { border } = newStyle;\n\t\tconst updatedBorder = ! hasSplitBorders( border )\n\t\t\t? {\n\t\t\t\t\ttop: border,\n\t\t\t\t\tright: border,\n\t\t\t\t\tbottom: border,\n\t\t\t\t\tleft: border,\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tcolor: null,\n\t\t\t\t\tstyle: null,\n\t\t\t\t\twidth: null,\n\t\t\t\t\t...border,\n\t\t\t };\n\n\t\tsetStyle( { ...newStyle, border: updatedBorder } );\n\t};\n\n\treturn (\n\t\t<StylesBorderPanel\n\t\t\tinheritedValue={ inheritedStyle }\n\t\t\tvalue={ style }\n\t\t\tonChange={ onChange }\n\t\t\tsettings={ settings }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/border-panel.js"],"names":["privateApis","blockEditorPrivateApis","__experimentalHasSplitBorders","hasSplitBorders","unlock","useGlobalStyle","useGlobalSetting","useSettingsForBlockElement","BorderPanel","StylesBorderPanel","applyFallbackStyle","border","hasColorOrWidth","color","width","style","undefined","applyAllFallbackStyles","top","right","bottom","left","name","variation","prefixParts","concat","prefix","join","inheritedStyle","setStyle","shouldDecodeEncode","rawSettings","settings","onChange","newStyle","radius","newBorder","updatedBorder"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { __experimentalHasSplitBorders as hasSplitBorders } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tBorderPanel: StylesBorderPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction applyFallbackStyle( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tconst hasColorOrWidth = border.color || border.width;\n\n\tif ( ! border.style && hasColorOrWidth ) {\n\t\treturn { ...border, style: 'solid' };\n\t}\n\n\tif ( border.style && ! hasColorOrWidth ) {\n\t\treturn undefined;\n\t}\n\n\treturn border;\n}\n\nfunction applyAllFallbackStyles( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tif ( hasSplitBorders( border ) ) {\n\t\treturn {\n\t\t\ttop: applyFallbackStyle( border.top ),\n\t\t\tright: applyFallbackStyle( border.right ),\n\t\t\tbottom: applyFallbackStyle( border.bottom ),\n\t\t\tleft: applyFallbackStyle( border.left ),\n\t\t};\n\t}\n\n\treturn applyFallbackStyle( border );\n}\n\nexport default function BorderPanel( { name, variation = '' } ) {\n\tlet prefixParts = [];\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', false );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\n\n\tconst onChange = ( newStyle ) => {\n\t\tif ( ! newStyle?.border ) {\n\t\t\tsetStyle( newStyle );\n\t\t\treturn;\n\t\t}\n\n\t\t// As Global Styles can't conditionally generate styles based on if\n\t\t// other style properties have been set, we need to force split\n\t\t// border definitions for user set global border styles. Border\n\t\t// radius is derived from the same property i.e. `border.radius` if\n\t\t// it is a string that is used. The longhand border radii styles are\n\t\t// only generated if that property is an object.\n\t\t//\n\t\t// For borders (color, style, and width) those are all properties on\n\t\t// the `border` style property. This means if the theme.json defined\n\t\t// split borders and the user condenses them into a flat border or\n\t\t// vice-versa we'd get both sets of styles which would conflict.\n\t\tconst { radius, ...newBorder } = newStyle.border;\n\t\tconst border = applyAllFallbackStyles( newBorder );\n\t\tconst updatedBorder = ! hasSplitBorders( border )\n\t\t\t? {\n\t\t\t\t\ttop: border,\n\t\t\t\t\tright: border,\n\t\t\t\t\tbottom: border,\n\t\t\t\t\tleft: border,\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tcolor: null,\n\t\t\t\t\tstyle: null,\n\t\t\t\t\twidth: null,\n\t\t\t\t\t...border,\n\t\t\t };\n\n\t\tsetStyle( { ...newStyle, border: { ...updatedBorder, radius } } );\n\t};\n\n\treturn (\n\t\t<StylesBorderPanel\n\t\t\tinheritedValue={ inheritedStyle }\n\t\t\tvalue={ style }\n\t\t\tonChange={ onChange }\n\t\t\tsettings={ settings }\n\t\t/>\n\t);\n}\n"]}
@@ -29,7 +29,12 @@ export default function FiltersPanel(_ref) {
29
29
  inheritedValue: inheritedStyle,
30
30
  value: style,
31
31
  onChange: setStyle,
32
- settings: settings
32
+ settings: { ...settings,
33
+ color: { ...settings.color,
34
+ customDuotone: false //TO FIX: Custom duotone only works on the block level right now
35
+
36
+ }
37
+ }
33
38
  });
34
39
  }
35
40
  //# sourceMappingURL=filters-panel.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/filters-panel.js"],"names":["privateApis","blockEditorPrivateApis","unlock","useGlobalStyle","useGlobalSetting","useSettingsForBlockElement","FiltersPanel","StylesFiltersPanel","name","style","inheritedStyle","setStyle","shouldDecodeEncode","rawSettings","settings"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,sBAAxB,QAAsD,yBAAtD;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,oBAAvB;AACA,MAAM;AACLC,EAAAA,cADK;AAELC,EAAAA,gBAFK;AAGLC,EAAAA,0BAHK;AAILC,EAAAA,YAAY,EAAEC;AAJT,IAKFL,MAAM,CAAED,sBAAF,CALV;AAOA,eAAe,SAASK,YAAT,OAAkC;AAAA,MAAX;AAAEE,IAAAA;AAAF,GAAW;AAChD,QAAM,CAAEC,KAAF,IAAYN,cAAc,CAAE,EAAF,EAAMK,IAAN,EAAY,MAAZ,EAAoB,KAApB,CAAhC;AACA,QAAM,CAAEE,cAAF,EAAkBC,QAAlB,IAA+BR,cAAc,CAAE,EAAF,EAAMK,IAAN,EAAY,KAAZ,EAAmB;AACrEI,IAAAA,kBAAkB,EAAE;AADiD,GAAnB,CAAnD;AAGA,QAAM,CAAEC,WAAF,IAAkBT,gBAAgB,CAAE,EAAF,EAAMI,IAAN,CAAxC;AACA,QAAMM,QAAQ,GAAGT,0BAA0B,CAAEQ,WAAF,EAAeL,IAAf,CAA3C;AAEA,SACC,cAAC,kBAAD;AACC,IAAA,cAAc,EAAGE,cADlB;AAEC,IAAA,KAAK,EAAGD,KAFT;AAGC,IAAA,QAAQ,EAAGE,QAHZ;AAIC,IAAA,QAAQ,EAAGG;AAJZ,IADD;AAQA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tFiltersPanel: StylesFiltersPanel,\n} = unlock( blockEditorPrivateApis );\n\nexport default function FiltersPanel( { name } ) {\n\tconst [ style ] = useGlobalStyle( '', name, 'user', false );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( '', name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\n\n\treturn (\n\t\t<StylesFiltersPanel\n\t\t\tinheritedValue={ inheritedStyle }\n\t\t\tvalue={ style }\n\t\t\tonChange={ setStyle }\n\t\t\tsettings={ settings }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/filters-panel.js"],"names":["privateApis","blockEditorPrivateApis","unlock","useGlobalStyle","useGlobalSetting","useSettingsForBlockElement","FiltersPanel","StylesFiltersPanel","name","style","inheritedStyle","setStyle","shouldDecodeEncode","rawSettings","settings","color","customDuotone"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,sBAAxB,QAAsD,yBAAtD;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,oBAAvB;AACA,MAAM;AACLC,EAAAA,cADK;AAELC,EAAAA,gBAFK;AAGLC,EAAAA,0BAHK;AAILC,EAAAA,YAAY,EAAEC;AAJT,IAKFL,MAAM,CAAED,sBAAF,CALV;AAOA,eAAe,SAASK,YAAT,OAAkC;AAAA,MAAX;AAAEE,IAAAA;AAAF,GAAW;AAChD,QAAM,CAAEC,KAAF,IAAYN,cAAc,CAAE,EAAF,EAAMK,IAAN,EAAY,MAAZ,EAAoB,KAApB,CAAhC;AACA,QAAM,CAAEE,cAAF,EAAkBC,QAAlB,IAA+BR,cAAc,CAAE,EAAF,EAAMK,IAAN,EAAY,KAAZ,EAAmB;AACrEI,IAAAA,kBAAkB,EAAE;AADiD,GAAnB,CAAnD;AAGA,QAAM,CAAEC,WAAF,IAAkBT,gBAAgB,CAAE,EAAF,EAAMI,IAAN,CAAxC;AACA,QAAMM,QAAQ,GAAGT,0BAA0B,CAAEQ,WAAF,EAAeL,IAAf,CAA3C;AAEA,SACC,cAAC,kBAAD;AACC,IAAA,cAAc,EAAGE,cADlB;AAEC,IAAA,KAAK,EAAGD,KAFT;AAGC,IAAA,QAAQ,EAAGE,QAHZ;AAIC,IAAA,QAAQ,EAAG,EACV,GAAGG,QADO;AAEVC,MAAAA,KAAK,EAAE,EACN,GAAGD,QAAQ,CAACC,KADN;AAENC,QAAAA,aAAa,EAAE,KAFT,CAEgB;;AAFhB;AAFG;AAJZ,IADD;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tFiltersPanel: StylesFiltersPanel,\n} = unlock( blockEditorPrivateApis );\n\nexport default function FiltersPanel( { name } ) {\n\tconst [ style ] = useGlobalStyle( '', name, 'user', false );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( '', name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\n\n\treturn (\n\t\t<StylesFiltersPanel\n\t\t\tinheritedValue={ inheritedStyle }\n\t\t\tvalue={ style }\n\t\t\tonChange={ setStyle }\n\t\t\tsettings={ {\n\t\t\t\t...settings,\n\t\t\t\tcolor: {\n\t\t\t\t\t...settings.color,\n\t\t\t\t\tcustomDuotone: false, //TO FIX: Custom duotone only works on the block level right now\n\t\t\t\t},\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * External dependencies
5
5
  */
6
- import { mergeWith, isEmpty } from 'lodash';
6
+ import { mergeWith } from 'lodash';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
@@ -19,7 +19,8 @@ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
19
19
  import CanvasSpinner from '../canvas-spinner';
20
20
  import { unlock } from '../../private-apis';
21
21
  const {
22
- GlobalStylesContext
22
+ GlobalStylesContext,
23
+ cleanEmptyObject
23
24
  } = unlock(blockEditorPrivateApis);
24
25
 
25
26
  function mergeTreesCustomizer(_, srcValue) {
@@ -35,21 +36,6 @@ export function mergeBaseAndUserConfigs(base, user) {
35
36
  return mergeWith({}, base, user, mergeTreesCustomizer);
36
37
  }
37
38
 
38
- const cleanEmptyObject = object => {
39
- if (object === null || typeof object !== 'object' || Array.isArray(object)) {
40
- return object;
41
- }
42
-
43
- const cleanedNestedObjects = Object.fromEntries(Object.entries(object).map(_ref => {
44
- let [key, value] = _ref;
45
- return [key, cleanEmptyObject(value)];
46
- }).filter(_ref2 => {
47
- let [, value] = _ref2;
48
- return Boolean(value);
49
- }));
50
- return isEmpty(cleanedNestedObjects) ? undefined : cleanedNestedObjects;
51
- };
52
-
53
39
  function useGlobalStylesUserConfig() {
54
40
  const {
55
41
  globalStylesId,
@@ -137,10 +123,10 @@ function useGlobalStylesContext() {
137
123
  return context;
138
124
  }
139
125
 
140
- export function GlobalStylesProvider(_ref3) {
126
+ export function GlobalStylesProvider(_ref) {
141
127
  let {
142
128
  children
143
- } = _ref3;
129
+ } = _ref;
144
130
  const context = useGlobalStylesContext();
145
131
 
146
132
  if (!context.isReady) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/global-styles-provider.js"],"names":["mergeWith","isEmpty","useMemo","useCallback","useSelect","useDispatch","store","coreStore","privateApis","blockEditorPrivateApis","CanvasSpinner","unlock","GlobalStylesContext","mergeTreesCustomizer","_","srcValue","Array","isArray","mergeBaseAndUserConfigs","base","user","cleanEmptyObject","object","cleanedNestedObjects","Object","fromEntries","entries","map","key","value","filter","Boolean","undefined","useGlobalStylesUserConfig","globalStylesId","isReady","settings","styles","select","getEditedEntityRecord","hasFinishedResolution","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","hasResolved","editEntityRecord","config","setConfig","callback","options","currentConfig","updatedConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","userConfig","setUserConfig","isBaseConfigReady","mergedConfig","context","merged","GlobalStylesProvider","children"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { mergeWith, isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport CanvasSpinner from '../canvas-spinner';\nimport { unlock } from '../../private-apis';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\n\nfunction mergeTreesCustomizer( _, srcValue ) {\n\t// We only pass as arrays the presets,\n\t// in which case we want the new array of values\n\t// to override the old array (no merging).\n\tif ( Array.isArray( srcValue ) ) {\n\t\treturn srcValue;\n\t}\n}\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn mergeWith( {}, base, user, mergeTreesCustomizer );\n}\n\nconst cleanEmptyObject = ( object ) => {\n\tif (\n\t\tobject === null ||\n\t\ttypeof object !== 'object' ||\n\t\tArray.isArray( object )\n\t) {\n\t\treturn object;\n\t}\n\tconst cleanedNestedObjects = Object.fromEntries(\n\t\tObject.entries( object )\n\t\t\t.map( ( [ key, value ] ) => [ key, cleanEmptyObject( value ) ] )\n\t\t\t.filter( ( [ , value ] ) => Boolean( value ) )\n\t);\n\treturn isEmpty( cleanedNestedObjects ) ? undefined : cleanedNestedObjects;\n};\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\t\t\tconst record = _globalStylesId\n\t\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId\n\t\t\t\t )\n\t\t\t\t: undefined;\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\thasResolved = _globalStylesId\n\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t ] )\n\t\t\t\t\t: true;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t};\n\t}, [ settings, styles ] );\n\n\tconst setConfig = useCallback(\n\t\t( callback, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t};\n\t\t\tconst updatedConfig = callback( currentConfig );\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nfunction useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn <CanvasSpinner />;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/global-styles-provider.js"],"names":["mergeWith","useMemo","useCallback","useSelect","useDispatch","store","coreStore","privateApis","blockEditorPrivateApis","CanvasSpinner","unlock","GlobalStylesContext","cleanEmptyObject","mergeTreesCustomizer","_","srcValue","Array","isArray","mergeBaseAndUserConfigs","base","user","useGlobalStylesUserConfig","globalStylesId","isReady","settings","styles","select","getEditedEntityRecord","hasFinishedResolution","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","undefined","hasResolved","editEntityRecord","config","setConfig","callback","options","currentConfig","updatedConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","userConfig","setUserConfig","isBaseConfigReady","mergedConfig","context","merged","GlobalStylesProvider","children"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { mergeWith } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport CanvasSpinner from '../canvas-spinner';\nimport { unlock } from '../../private-apis';\n\nconst { GlobalStylesContext, cleanEmptyObject } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction mergeTreesCustomizer( _, srcValue ) {\n\t// We only pass as arrays the presets,\n\t// in which case we want the new array of values\n\t// to override the old array (no merging).\n\tif ( Array.isArray( srcValue ) ) {\n\t\treturn srcValue;\n\t}\n}\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn mergeWith( {}, base, user, mergeTreesCustomizer );\n}\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\t\t\tconst record = _globalStylesId\n\t\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId\n\t\t\t\t )\n\t\t\t\t: undefined;\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\thasResolved = _globalStylesId\n\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t ] )\n\t\t\t\t\t: true;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t};\n\t}, [ settings, styles ] );\n\n\tconst setConfig = useCallback(\n\t\t( callback, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t};\n\t\t\tconst updatedConfig = callback( currentConfig );\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nfunction useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn <CanvasSpinner />;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
@@ -33,6 +33,7 @@ import StyleBook from '../style-book';
33
33
  import ScreenCSS from './screen-css';
34
34
  import { unlock } from '../../private-apis';
35
35
  import ScreenEffects from './screen-effects';
36
+ import { store as editSiteStore } from '../../store';
36
37
  const SLOT_FILL_NAME = 'GlobalStylesMenu';
37
38
  const {
38
39
  Slot: GlobalStylesMenuSlot,
@@ -216,10 +217,7 @@ function ContextScreens(_ref4) {
216
217
  }));
217
218
  }
218
219
 
219
- function GlobalStylesStyleBook(_ref5) {
220
- let {
221
- onClose
222
- } = _ref5;
220
+ function GlobalStylesStyleBook() {
223
221
  const navigator = useNavigator();
224
222
  const {
225
223
  path
@@ -232,8 +230,7 @@ function GlobalStylesStyleBook(_ref5) {
232
230
  onSelect: blockName => {
233
231
  // Now go to the selected block.
234
232
  navigator.goTo('/blocks/' + encodeURIComponent(blockName));
235
- },
236
- onClose: onClose
233
+ }
237
234
  });
238
235
  }
239
236
 
@@ -277,12 +274,9 @@ function GlobalStylesBlockLink() {
277
274
  }, [selectedBlockClientId, selectedBlockName, blockHasGlobalStyles]);
278
275
  }
279
276
 
280
- function GlobalStylesUI(_ref6) {
281
- let {
282
- isStyleBookOpened,
283
- onCloseStyleBook
284
- } = _ref6;
277
+ function GlobalStylesUI() {
285
278
  const blocks = getBlockTypes();
279
+ const editorCanvasContainerView = useSelect(select => unlock(select(editSiteStore)).getEditorCanvasContainerView(), []);
286
280
  return createElement(NavigatorProvider, {
287
281
  className: "edit-site-global-styles-sidebar__navigator-provider",
288
282
  initialPath: "/"
@@ -306,9 +300,7 @@ function GlobalStylesUI(_ref6) {
306
300
  key: 'screens-block-styles-' + block.name + index,
307
301
  name: block.name
308
302
  });
309
- }), isStyleBookOpened && createElement(GlobalStylesStyleBook, {
310
- onClose: onCloseStyleBook
311
- }), createElement(GlobalStylesActionMenu, null), createElement(GlobalStylesBlockLink, null));
303
+ }), 'style-book' === editorCanvasContainerView && createElement(GlobalStylesStyleBook, null), createElement(GlobalStylesActionMenu, null), createElement(GlobalStylesBlockLink, null));
312
304
  }
313
305
 
314
306
  export { GlobalStylesMenuSlot };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/ui.js"],"names":["__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","__experimentalUseNavigator","useNavigator","createSlotFill","DropdownMenu","getBlockTypes","store","blocksStore","useSelect","useDispatch","privateApis","blockEditorPrivateApis","blockEditorStore","__","preferencesStore","moreVertical","coreStore","useEffect","useRef","ScreenRoot","useBlockHasGlobalStyles","default","ScreenBlockList","ScreenBlock","ScreenTypography","ScreenTypographyElement","ScreenFilters","ScreenColors","ScreenColorPalette","ScreenLayout","ScreenStyleVariations","ScreenVariation","ScreenBorder","StyleBook","ScreenCSS","unlock","ScreenEffects","SLOT_FILL_NAME","Slot","GlobalStylesMenuSlot","Fill","GlobalStylesMenuFill","GlobalStylesActionMenu","toggle","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","undefined","_links","useGlobalStylesReset","canReset","onReset","goTo","loadCustomCSS","title","onClick","isDisabled","GlobalStylesNavigationScreen","className","props","filter","Boolean","join","BlockStyleVariationsScreens","name","blockStyleVariations","getBlockStyles","length","map","variation","encodeURIComponent","BlockStylesNavigationScreens","parentMenu","blockStyles","blockName","style","index","ContextScreens","GlobalStylesStyleBook","onClose","navigator","path","location","startsWith","GlobalStylesBlockLink","isMounted","selectedBlockName","selectedBlockClientId","getSelectedBlockClientId","getBlockName","clientId","blockHasGlobalStyles","current","skipFocus","GlobalStylesUI","isStyleBookOpened","onCloseStyleBook","blocks","block"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalUseNavigator as useNavigator,\n\tcreateSlotFill,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { getBlockTypes, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { moreVertical } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ScreenRoot from './screen-root';\nimport {\n\tuseBlockHasGlobalStyles,\n\tdefault as ScreenBlockList,\n} from './screen-block-list';\nimport ScreenBlock from './screen-block';\nimport ScreenTypography from './screen-typography';\nimport ScreenTypographyElement from './screen-typography-element';\nimport ScreenFilters from './screen-filters';\nimport ScreenColors from './screen-colors';\nimport ScreenColorPalette from './screen-color-palette';\nimport ScreenLayout from './screen-layout';\nimport ScreenStyleVariations from './screen-style-variations';\nimport { ScreenVariation } from './screen-variations';\nimport ScreenBorder from './screen-border';\nimport StyleBook from '../style-book';\nimport ScreenCSS from './screen-css';\nimport { unlock } from '../../private-apis';\nimport ScreenEffects from './screen-effects';\n\nconst SLOT_FILL_NAME = 'GlobalStylesMenu';\nconst { Slot: GlobalStylesMenuSlot, Fill: GlobalStylesMenuFill } =\n\tcreateSlotFill( SLOT_FILL_NAME );\n\nfunction GlobalStylesActionMenu() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS:\n\t\t\t\t!! globalStyles?._links?.[ 'wp:action-edit-css' ] ?? false,\n\t\t};\n\t}, [] );\n\tconst { useGlobalStylesReset } = unlock( blockEditorPrivateApis );\n\tconst [ canReset, onReset ] = useGlobalStylesReset();\n\tconst { goTo } = useNavigator();\n\tconst loadCustomCSS = () => goTo( '/css' );\n\treturn (\n\t\t<GlobalStylesMenuFill>\n\t\t\t<DropdownMenu\n\t\t\t\ticon={ moreVertical }\n\t\t\t\tlabel={ __( 'Styles actions' ) }\n\t\t\t\tcontrols={ [\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: __( 'Reset to defaults' ),\n\t\t\t\t\t\tonClick: onReset,\n\t\t\t\t\t\tisDisabled: ! canReset,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: __( 'Welcome Guide' ),\n\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\ttoggle( 'core/edit-site', 'welcomeGuideStyles' ),\n\t\t\t\t\t},\n\t\t\t\t\t...( canEditCSS\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttitle: __( 'Additional CSS' ),\n\t\t\t\t\t\t\t\t\tonClick: loadCustomCSS,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: [] ),\n\t\t\t\t] }\n\t\t\t/>\n\t\t</GlobalStylesMenuFill>\n\t);\n}\n\nfunction GlobalStylesNavigationScreen( { className, ...props } ) {\n\treturn (\n\t\t<NavigatorScreen\n\t\t\tclassName={ [\n\t\t\t\t'edit-site-global-styles-sidebar__navigator-screen',\n\t\t\t\tclassName,\n\t\t\t]\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.join( ' ' ) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction BlockStyleVariationsScreens( { name } ) {\n\tconst blockStyleVariations = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\treturn getBlockStyles( name );\n\t\t},\n\t\t[ name ]\n\t);\n\tif ( ! blockStyleVariations?.length ) {\n\t\treturn null;\n\t}\n\n\treturn blockStyleVariations.map( ( variation ) => (\n\t\t<ContextScreens\n\t\t\tkey={ variation.name + name }\n\t\t\tname={ name }\n\t\t\tparentMenu={\n\t\t\t\t'/blocks/' +\n\t\t\t\tencodeURIComponent( name ) +\n\t\t\t\t'/variations/' +\n\t\t\t\tencodeURIComponent( variation.name )\n\t\t\t}\n\t\t\tvariation={ variation.name }\n\t\t/>\n\t) );\n}\n\nfunction BlockStylesNavigationScreens( {\n\tparentMenu,\n\tblockStyles,\n\tblockName,\n} ) {\n\treturn blockStyles.map( ( style, index ) => (\n\t\t<GlobalStylesNavigationScreen\n\t\t\tkey={ index }\n\t\t\tpath={ parentMenu + '/variations/' + style.name }\n\t\t>\n\t\t\t<ScreenVariation blockName={ blockName } style={ style } />\n\t\t</GlobalStylesNavigationScreen>\n\t) );\n}\n\nfunction ContextScreens( { name, parentMenu = '', variation = '' } ) {\n\tconst blockStyleVariations = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\treturn getBlockStyles( name );\n\t\t},\n\t\t[ name ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/typography' }>\n\t\t\t\t<ScreenTypography name={ name } variation={ variation } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/typography/text' }\n\t\t\t>\n\t\t\t\t<ScreenTypographyElement name={ name } element=\"text\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/typography/link' }\n\t\t\t>\n\t\t\t\t<ScreenTypographyElement name={ name } element=\"link\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/typography/heading' }\n\t\t\t>\n\t\t\t\t<ScreenTypographyElement name={ name } element=\"heading\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/typography/caption' }\n\t\t\t>\n\t\t\t\t<ScreenTypographyElement name={ name } element=\"caption\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/typography/button' }\n\t\t\t>\n\t\t\t\t<ScreenTypographyElement name={ name } element=\"button\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/colors' }>\n\t\t\t\t<ScreenColors name={ name } variation={ variation } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/colors/palette' }\n\t\t\t>\n\t\t\t\t<ScreenColorPalette name={ name } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/filters' }>\n\t\t\t\t<ScreenFilters name={ name } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/border' }>\n\t\t\t\t<ScreenBorder name={ name } variation={ variation } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/effects' }>\n\t\t\t\t<ScreenEffects name={ name } variation={ variation } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/layout' }>\n\t\t\t\t<ScreenLayout name={ name } variation={ variation } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/css' }>\n\t\t\t\t<ScreenCSS name={ name } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ !! blockStyleVariations?.length && (\n\t\t\t\t<BlockStylesNavigationScreens\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\tblockStyles={ blockStyleVariations }\n\t\t\t\t\tblockName={ name }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction GlobalStylesStyleBook( { onClose } ) {\n\tconst navigator = useNavigator();\n\tconst { path } = navigator.location;\n\treturn (\n\t\t<StyleBook\n\t\t\tisSelected={ ( blockName ) =>\n\t\t\t\t// Match '/blocks/core%2Fbutton' and\n\t\t\t\t// '/blocks/core%2Fbutton/typography', but not\n\t\t\t\t// '/blocks/core%2Fbuttons'.\n\t\t\t\tpath === `/blocks/${ encodeURIComponent( blockName ) }` ||\n\t\t\t\tpath.startsWith(\n\t\t\t\t\t`/blocks/${ encodeURIComponent( blockName ) }/`\n\t\t\t\t)\n\t\t\t}\n\t\t\tonSelect={ ( blockName ) => {\n\t\t\t\t// Now go to the selected block.\n\t\t\t\tnavigator.goTo( '/blocks/' + encodeURIComponent( blockName ) );\n\t\t\t} }\n\t\t\tonClose={ onClose }\n\t\t/>\n\t);\n}\n\nfunction GlobalStylesBlockLink() {\n\tconst navigator = useNavigator();\n\tconst isMounted = useRef();\n\tconst { selectedBlockName, selectedBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSelectedBlockClientId, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\tselectedBlockName: getBlockName( clientId ),\n\t\t\t\tselectedBlockClientId: clientId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst blockHasGlobalStyles = useBlockHasGlobalStyles( selectedBlockName );\n\tuseEffect( () => {\n\t\t// Avoid navigating to the block screen on mount.\n\t\tif ( ! isMounted.current ) {\n\t\t\tisMounted.current = true;\n\t\t\treturn;\n\t\t}\n\t\tif ( ! selectedBlockClientId || ! blockHasGlobalStyles ) {\n\t\t\treturn;\n\t\t}\n\t\tconst path = '/blocks/' + encodeURIComponent( selectedBlockName );\n\t\t// Avoid navigating to the same path. This can happen when selecting\n\t\t// a new block of the same type.\n\t\tif ( path !== navigator.location.path ) {\n\t\t\tnavigator.goTo( path, { skipFocus: true } );\n\t\t}\n\t}, [ selectedBlockClientId, selectedBlockName, blockHasGlobalStyles ] );\n}\n\nfunction GlobalStylesUI( { isStyleBookOpened, onCloseStyleBook } ) {\n\tconst blocks = getBlockTypes();\n\n\treturn (\n\t\t<NavigatorProvider\n\t\t\tclassName=\"edit-site-global-styles-sidebar__navigator-provider\"\n\t\t\tinitialPath=\"/\"\n\t\t>\n\t\t\t<GlobalStylesNavigationScreen path=\"/\">\n\t\t\t\t<ScreenRoot />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/variations\">\n\t\t\t\t<ScreenStyleVariations />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/blocks\">\n\t\t\t\t<ScreenBlockList />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\t\tkey={ 'menu-block-' + block.name }\n\t\t\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t>\n\t\t\t\t\t<ScreenBlock name={ block.name } />\n\t\t\t\t</GlobalStylesNavigationScreen>\n\t\t\t) ) }\n\n\t\t\t<ContextScreens />\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<ContextScreens\n\t\t\t\t\tkey={ 'screens-block-' + block.name }\n\t\t\t\t\tname={ block.name }\n\t\t\t\t\tparentMenu={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t/>\n\t\t\t) ) }\n\n\t\t\t{ blocks.map( ( block, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<BlockStyleVariationsScreens\n\t\t\t\t\t\tkey={ 'screens-block-styles-' + block.name + index }\n\t\t\t\t\t\tname={ block.name }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ isStyleBookOpened && (\n\t\t\t\t<GlobalStylesStyleBook onClose={ onCloseStyleBook } />\n\t\t\t) }\n\n\t\t\t<GlobalStylesActionMenu />\n\t\t\t<GlobalStylesBlockLink />\n\t\t</NavigatorProvider>\n\t);\n}\nexport { GlobalStylesMenuSlot };\nexport default GlobalStylesUI;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/ui.js"],"names":["__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","__experimentalUseNavigator","useNavigator","createSlotFill","DropdownMenu","getBlockTypes","store","blocksStore","useSelect","useDispatch","privateApis","blockEditorPrivateApis","blockEditorStore","__","preferencesStore","moreVertical","coreStore","useEffect","useRef","ScreenRoot","useBlockHasGlobalStyles","default","ScreenBlockList","ScreenBlock","ScreenTypography","ScreenTypographyElement","ScreenFilters","ScreenColors","ScreenColorPalette","ScreenLayout","ScreenStyleVariations","ScreenVariation","ScreenBorder","StyleBook","ScreenCSS","unlock","ScreenEffects","editSiteStore","SLOT_FILL_NAME","Slot","GlobalStylesMenuSlot","Fill","GlobalStylesMenuFill","GlobalStylesActionMenu","toggle","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","undefined","_links","useGlobalStylesReset","canReset","onReset","goTo","loadCustomCSS","title","onClick","isDisabled","GlobalStylesNavigationScreen","className","props","filter","Boolean","join","BlockStyleVariationsScreens","name","blockStyleVariations","getBlockStyles","length","map","variation","encodeURIComponent","BlockStylesNavigationScreens","parentMenu","blockStyles","blockName","style","index","ContextScreens","GlobalStylesStyleBook","navigator","path","location","startsWith","GlobalStylesBlockLink","isMounted","selectedBlockName","selectedBlockClientId","getSelectedBlockClientId","getBlockName","clientId","blockHasGlobalStyles","current","skipFocus","GlobalStylesUI","blocks","editorCanvasContainerView","getEditorCanvasContainerView","block"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalUseNavigator as useNavigator,\n\tcreateSlotFill,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { getBlockTypes, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { moreVertical } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ScreenRoot from './screen-root';\nimport {\n\tuseBlockHasGlobalStyles,\n\tdefault as ScreenBlockList,\n} from './screen-block-list';\nimport ScreenBlock from './screen-block';\nimport ScreenTypography from './screen-typography';\nimport ScreenTypographyElement from './screen-typography-element';\nimport ScreenFilters from './screen-filters';\nimport ScreenColors from './screen-colors';\nimport ScreenColorPalette from './screen-color-palette';\nimport ScreenLayout from './screen-layout';\nimport ScreenStyleVariations from './screen-style-variations';\nimport { ScreenVariation } from './screen-variations';\nimport ScreenBorder from './screen-border';\nimport StyleBook from '../style-book';\nimport ScreenCSS from './screen-css';\nimport { unlock } from '../../private-apis';\nimport ScreenEffects from './screen-effects';\nimport { store as editSiteStore } from '../../store';\n\nconst SLOT_FILL_NAME = 'GlobalStylesMenu';\nconst { Slot: GlobalStylesMenuSlot, Fill: GlobalStylesMenuFill } =\n\tcreateSlotFill( SLOT_FILL_NAME );\n\nfunction GlobalStylesActionMenu() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS:\n\t\t\t\t!! globalStyles?._links?.[ 'wp:action-edit-css' ] ?? false,\n\t\t};\n\t}, [] );\n\tconst { useGlobalStylesReset } = unlock( blockEditorPrivateApis );\n\tconst [ canReset, onReset ] = useGlobalStylesReset();\n\tconst { goTo } = useNavigator();\n\tconst loadCustomCSS = () => goTo( '/css' );\n\treturn (\n\t\t<GlobalStylesMenuFill>\n\t\t\t<DropdownMenu\n\t\t\t\ticon={ moreVertical }\n\t\t\t\tlabel={ __( 'Styles actions' ) }\n\t\t\t\tcontrols={ [\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: __( 'Reset to defaults' ),\n\t\t\t\t\t\tonClick: onReset,\n\t\t\t\t\t\tisDisabled: ! canReset,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: __( 'Welcome Guide' ),\n\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\ttoggle( 'core/edit-site', 'welcomeGuideStyles' ),\n\t\t\t\t\t},\n\t\t\t\t\t...( canEditCSS\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttitle: __( 'Additional CSS' ),\n\t\t\t\t\t\t\t\t\tonClick: loadCustomCSS,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: [] ),\n\t\t\t\t] }\n\t\t\t/>\n\t\t</GlobalStylesMenuFill>\n\t);\n}\n\nfunction GlobalStylesNavigationScreen( { className, ...props } ) {\n\treturn (\n\t\t<NavigatorScreen\n\t\t\tclassName={ [\n\t\t\t\t'edit-site-global-styles-sidebar__navigator-screen',\n\t\t\t\tclassName,\n\t\t\t]\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.join( ' ' ) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction BlockStyleVariationsScreens( { name } ) {\n\tconst blockStyleVariations = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\treturn getBlockStyles( name );\n\t\t},\n\t\t[ name ]\n\t);\n\tif ( ! blockStyleVariations?.length ) {\n\t\treturn null;\n\t}\n\n\treturn blockStyleVariations.map( ( variation ) => (\n\t\t<ContextScreens\n\t\t\tkey={ variation.name + name }\n\t\t\tname={ name }\n\t\t\tparentMenu={\n\t\t\t\t'/blocks/' +\n\t\t\t\tencodeURIComponent( name ) +\n\t\t\t\t'/variations/' +\n\t\t\t\tencodeURIComponent( variation.name )\n\t\t\t}\n\t\t\tvariation={ variation.name }\n\t\t/>\n\t) );\n}\n\nfunction BlockStylesNavigationScreens( {\n\tparentMenu,\n\tblockStyles,\n\tblockName,\n} ) {\n\treturn blockStyles.map( ( style, index ) => (\n\t\t<GlobalStylesNavigationScreen\n\t\t\tkey={ index }\n\t\t\tpath={ parentMenu + '/variations/' + style.name }\n\t\t>\n\t\t\t<ScreenVariation blockName={ blockName } style={ style } />\n\t\t</GlobalStylesNavigationScreen>\n\t) );\n}\n\nfunction ContextScreens( { name, parentMenu = '', variation = '' } ) {\n\tconst blockStyleVariations = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\treturn getBlockStyles( name );\n\t\t},\n\t\t[ name ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/typography' }>\n\t\t\t\t<ScreenTypography name={ name } variation={ variation } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/typography/text' }\n\t\t\t>\n\t\t\t\t<ScreenTypographyElement name={ name } element=\"text\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/typography/link' }\n\t\t\t>\n\t\t\t\t<ScreenTypographyElement name={ name } element=\"link\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/typography/heading' }\n\t\t\t>\n\t\t\t\t<ScreenTypographyElement name={ name } element=\"heading\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/typography/caption' }\n\t\t\t>\n\t\t\t\t<ScreenTypographyElement name={ name } element=\"caption\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/typography/button' }\n\t\t\t>\n\t\t\t\t<ScreenTypographyElement name={ name } element=\"button\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/colors' }>\n\t\t\t\t<ScreenColors name={ name } variation={ variation } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/colors/palette' }\n\t\t\t>\n\t\t\t\t<ScreenColorPalette name={ name } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/filters' }>\n\t\t\t\t<ScreenFilters name={ name } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/border' }>\n\t\t\t\t<ScreenBorder name={ name } variation={ variation } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/effects' }>\n\t\t\t\t<ScreenEffects name={ name } variation={ variation } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/layout' }>\n\t\t\t\t<ScreenLayout name={ name } variation={ variation } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ parentMenu + '/css' }>\n\t\t\t\t<ScreenCSS name={ name } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ !! blockStyleVariations?.length && (\n\t\t\t\t<BlockStylesNavigationScreens\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\tblockStyles={ blockStyleVariations }\n\t\t\t\t\tblockName={ name }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction GlobalStylesStyleBook() {\n\tconst navigator = useNavigator();\n\tconst { path } = navigator.location;\n\treturn (\n\t\t<StyleBook\n\t\t\tisSelected={ ( blockName ) =>\n\t\t\t\t// Match '/blocks/core%2Fbutton' and\n\t\t\t\t// '/blocks/core%2Fbutton/typography', but not\n\t\t\t\t// '/blocks/core%2Fbuttons'.\n\t\t\t\tpath === `/blocks/${ encodeURIComponent( blockName ) }` ||\n\t\t\t\tpath.startsWith(\n\t\t\t\t\t`/blocks/${ encodeURIComponent( blockName ) }/`\n\t\t\t\t)\n\t\t\t}\n\t\t\tonSelect={ ( blockName ) => {\n\t\t\t\t// Now go to the selected block.\n\t\t\t\tnavigator.goTo( '/blocks/' + encodeURIComponent( blockName ) );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction GlobalStylesBlockLink() {\n\tconst navigator = useNavigator();\n\tconst isMounted = useRef();\n\tconst { selectedBlockName, selectedBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSelectedBlockClientId, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\tselectedBlockName: getBlockName( clientId ),\n\t\t\t\tselectedBlockClientId: clientId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst blockHasGlobalStyles = useBlockHasGlobalStyles( selectedBlockName );\n\tuseEffect( () => {\n\t\t// Avoid navigating to the block screen on mount.\n\t\tif ( ! isMounted.current ) {\n\t\t\tisMounted.current = true;\n\t\t\treturn;\n\t\t}\n\t\tif ( ! selectedBlockClientId || ! blockHasGlobalStyles ) {\n\t\t\treturn;\n\t\t}\n\t\tconst path = '/blocks/' + encodeURIComponent( selectedBlockName );\n\t\t// Avoid navigating to the same path. This can happen when selecting\n\t\t// a new block of the same type.\n\t\tif ( path !== navigator.location.path ) {\n\t\t\tnavigator.goTo( path, { skipFocus: true } );\n\t\t}\n\t}, [ selectedBlockClientId, selectedBlockName, blockHasGlobalStyles ] );\n}\n\nfunction GlobalStylesUI() {\n\tconst blocks = getBlockTypes();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\treturn (\n\t\t<NavigatorProvider\n\t\t\tclassName=\"edit-site-global-styles-sidebar__navigator-provider\"\n\t\t\tinitialPath=\"/\"\n\t\t>\n\t\t\t<GlobalStylesNavigationScreen path=\"/\">\n\t\t\t\t<ScreenRoot />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/variations\">\n\t\t\t\t<ScreenStyleVariations />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/blocks\">\n\t\t\t\t<ScreenBlockList />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\t\tkey={ 'menu-block-' + block.name }\n\t\t\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t>\n\t\t\t\t\t<ScreenBlock name={ block.name } />\n\t\t\t\t</GlobalStylesNavigationScreen>\n\t\t\t) ) }\n\n\t\t\t<ContextScreens />\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<ContextScreens\n\t\t\t\t\tkey={ 'screens-block-' + block.name }\n\t\t\t\t\tname={ block.name }\n\t\t\t\t\tparentMenu={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t/>\n\t\t\t) ) }\n\n\t\t\t{ blocks.map( ( block, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<BlockStyleVariationsScreens\n\t\t\t\t\t\tkey={ 'screens-block-styles-' + block.name + index }\n\t\t\t\t\t\tname={ block.name }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ 'style-book' === editorCanvasContainerView && (\n\t\t\t\t<GlobalStylesStyleBook />\n\t\t\t) }\n\n\t\t\t<GlobalStylesActionMenu />\n\t\t\t<GlobalStylesBlockLink />\n\t\t</NavigatorProvider>\n\t);\n}\nexport { GlobalStylesMenuSlot };\nexport default GlobalStylesUI;\n"]}
@@ -29,7 +29,8 @@ import UndoButton from './undo-redo/undo';
29
29
  import RedoButton from './undo-redo/redo';
30
30
  import DocumentActions from './document-actions';
31
31
  import { store as editSiteStore } from '../../store';
32
- import { useHasStyleBook } from '../style-book';
32
+ import { getEditorCanvasContainerTitle } from '../editor-canvas-container';
33
+ import { unlock } from '../../private-apis';
33
34
 
34
35
  const preventDefault = event => {
35
36
  event.preventDefault();
@@ -48,7 +49,8 @@ export default function HeaderEditMode() {
48
49
  isVisualMode,
49
50
  blockEditorMode,
50
51
  homeUrl,
51
- showIconLabels
52
+ showIconLabels,
53
+ editorCanvasView
52
54
  } = useSelect(select => {
53
55
  var _getUnstableBase;
54
56
 
@@ -79,7 +81,8 @@ export default function HeaderEditMode() {
79
81
  isVisualMode: getEditorMode() === 'visual',
80
82
  blockEditorMode: __unstableGetEditorMode(),
81
83
  homeUrl: (_getUnstableBase = getUnstableBase()) === null || _getUnstableBase === void 0 ? void 0 : _getUnstableBase.home,
82
- showIconLabels: select(preferencesStore).get('core/edit-site', 'showIconLabels')
84
+ showIconLabels: select(preferencesStore).get('core/edit-site', 'showIconLabels'),
85
+ editorCanvasView: unlock(select(editSiteStore)).getEditorCanvasContainerView()
83
86
  };
84
87
  }, []);
85
88
  const {
@@ -103,7 +106,7 @@ export default function HeaderEditMode() {
103
106
  }
104
107
  }, [isInserterOpen, setIsInserterOpened]);
105
108
  const toggleListView = useCallback(() => setIsListViewOpened(!isListViewOpen), [setIsListViewOpened, isListViewOpen]);
106
- const hasStyleBook = useHasStyleBook();
109
+ const hasDefaultEditorCanvasView = !editorCanvasView;
107
110
  const isFocusMode = templateType === 'wp_template_part';
108
111
  /* translators: button label text should, if possible, be under 16 characters. */
109
112
 
@@ -116,7 +119,7 @@ export default function HeaderEditMode() {
116
119
  className: classnames('edit-site-header-edit-mode', {
117
120
  'show-icon-labels': showIconLabels
118
121
  })
119
- }, !hasStyleBook && createElement(NavigableToolbar, {
122
+ }, hasDefaultEditorCanvasView && createElement(NavigableToolbar, {
120
123
  className: "edit-site-header-edit-mode__start",
121
124
  "aria-label": __('Document tools')
122
125
  }, createElement("div", {
@@ -174,11 +177,11 @@ export default function HeaderEditMode() {
174
177
  }
175
178
  })))), createElement("div", {
176
179
  className: "edit-site-header-edit-mode__center"
177
- }, hasStyleBook ? __('Style Book') : createElement(DocumentActions, null)), createElement("div", {
180
+ }, !hasDefaultEditorCanvasView ? getEditorCanvasContainerTitle(editorCanvasView) : createElement(DocumentActions, null)), createElement("div", {
178
181
  className: "edit-site-header-edit-mode__end"
179
182
  }, createElement("div", {
180
183
  className: "edit-site-header-edit-mode__actions"
181
- }, !isFocusMode && !hasStyleBook && createElement("div", {
184
+ }, !isFocusMode && hasDefaultEditorCanvasView && createElement("div", {
182
185
  className: classnames('edit-site-header-edit-mode__preview-options', {
183
186
  'is-zoomed-out': isZoomedOutView
184
187
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/header-edit-mode/index.js"],"names":["classnames","useCallback","useRef","useViewportMatch","store","coreStore","ToolSelector","__experimentalPreviewOptions","PreviewOptions","NavigableToolbar","blockEditorStore","useSelect","useDispatch","PinnedItems","_x","__","listView","plus","external","chevronUpDown","Button","ToolbarItem","MenuGroup","MenuItem","VisuallyHidden","keyboardShortcutsStore","preferencesStore","MoreMenu","SaveButton","UndoButton","RedoButton","DocumentActions","editSiteStore","useHasStyleBook","preventDefault","event","HeaderEditMode","inserterButton","deviceType","templateType","isInserterOpen","isListViewOpen","listViewShortcut","isVisualMode","blockEditorMode","homeUrl","showIconLabels","select","__experimentalGetPreviewDeviceType","getEditedPostType","isInserterOpened","isListViewOpened","getEditorMode","getShortcutRepresentation","__unstableGetEditorMode","postType","getUnstableBase","home","get","__experimentalSetPreviewDeviceType","setPreviewDeviceType","setIsInserterOpened","setIsListViewOpened","__unstableSetEditorMode","isLargeViewport","toggleInserter","current","focus","toggleListView","hasStyleBook","isFocusMode","longLabel","shortLabel","isZoomedOutViewExperimentEnabled","window","__experimentalEnableZoomedOutView","isZoomedOutView","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tToolSelector,\n\t__experimentalPreviewOptions as PreviewOptions,\n\tNavigableToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { PinnedItems } from '@wordpress/interface';\nimport { _x, __ } from '@wordpress/i18n';\nimport { listView, plus, external, chevronUpDown } from '@wordpress/icons';\nimport {\n\tButton,\n\tToolbarItem,\n\tMenuGroup,\n\tMenuItem,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport MoreMenu from './more-menu';\nimport SaveButton from '../save-button';\nimport UndoButton from './undo-redo/undo';\nimport RedoButton from './undo-redo/redo';\nimport DocumentActions from './document-actions';\nimport { store as editSiteStore } from '../../store';\nimport { useHasStyleBook } from '../style-book';\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nexport default function HeaderEditMode() {\n\tconst inserterButton = useRef();\n\tconst {\n\t\tdeviceType,\n\t\ttemplateType,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tisVisualMode,\n\t\tblockEditorMode,\n\t\thomeUrl,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\tgetEditedPostType,\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetEditorMode,\n\t\t} = select( editSiteStore );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\n\t\tconst postType = getEditedPostType();\n\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\ttemplateType: postType,\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/edit-site/toggle-list-view'\n\t\t\t),\n\t\t\tisVisualMode: getEditorMode() === 'visual',\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst {\n\t\t__experimentalSetPreviewDeviceType: setPreviewDeviceType,\n\t\tsetIsInserterOpened,\n\t\tsetIsListViewOpened,\n\t} = useDispatch( editSiteStore );\n\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst toggleInserter = useCallback( () => {\n\t\tif ( isInserterOpen ) {\n\t\t\t// Focusing the inserter button should close the inserter popover.\n\t\t\t// However, there are some cases it won't close when the focus is lost.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/43090 for more details.\n\t\t\tinserterButton.current.focus();\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpen, setIsInserterOpened ] );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst hasStyleBook = useHasStyleBook();\n\n\tconst isFocusMode = templateType === 'wp_template_part';\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpen ? __( 'Add' ) : __( 'Close' );\n\n\tconst isZoomedOutViewExperimentEnabled =\n\t\twindow?.__experimentalEnableZoomedOutView && isVisualMode;\n\tconst isZoomedOutView = blockEditorMode === 'zoom-out';\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-header-edit-mode', {\n\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ ! hasStyleBook && (\n\t\t\t\t<NavigableToolbar\n\t\t\t\t\tclassName=\"edit-site-header-edit-mode__start\"\n\t\t\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"edit-site-header-edit-mode__toolbar\">\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__inserter-toggle\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tisPressed={ isInserterOpen }\n\t\t\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\t\t\tdisabled={ ! isVisualMode }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdisabled={ ! isVisualMode }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ UndoButton }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\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<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ RedoButton }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\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<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__list-view-toggle\"\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t! isVisualMode || isZoomedOutView\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\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{ isZoomedOutViewExperimentEnabled && (\n\t\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__zoom-out-view-toggle\"\n\t\t\t\t\t\t\t\t\t\ticon={ chevronUpDown }\n\t\t\t\t\t\t\t\t\t\tisPressed={ isZoomedOutView }\n\t\t\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Zoom-out View' ) }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetPreviewDeviceType( 'desktop' );\n\t\t\t\t\t\t\t\t\t\t\t__unstableSetEditorMode(\n\t\t\t\t\t\t\t\t\t\t\t\tisZoomedOutView\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'edit'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'zoom-out'\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</NavigableToolbar>\n\t\t\t) }\n\n\t\t\t<div className=\"edit-site-header-edit-mode__center\">\n\t\t\t\t{ hasStyleBook ? __( 'Style Book' ) : <DocumentActions /> }\n\t\t\t</div>\n\n\t\t\t<div className=\"edit-site-header-edit-mode__end\">\n\t\t\t\t<div className=\"edit-site-header-edit-mode__actions\">\n\t\t\t\t\t{ ! isFocusMode && ! hasStyleBook && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-site-header-edit-mode__preview-options',\n\t\t\t\t\t\t\t\t{ 'is-zoomed-out': isZoomedOutView }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PreviewOptions\n\t\t\t\t\t\t\t\tdeviceType={ deviceType }\n\t\t\t\t\t\t\t\tsetDeviceType={ setPreviewDeviceType }\n\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\tviewLabel={ __( 'View' ) }\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\thref={ homeUrl }\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\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</PreviewOptions>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<SaveButton />\n\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/header-edit-mode/index.js"],"names":["classnames","useCallback","useRef","useViewportMatch","store","coreStore","ToolSelector","__experimentalPreviewOptions","PreviewOptions","NavigableToolbar","blockEditorStore","useSelect","useDispatch","PinnedItems","_x","__","listView","plus","external","chevronUpDown","Button","ToolbarItem","MenuGroup","MenuItem","VisuallyHidden","keyboardShortcutsStore","preferencesStore","MoreMenu","SaveButton","UndoButton","RedoButton","DocumentActions","editSiteStore","getEditorCanvasContainerTitle","unlock","preventDefault","event","HeaderEditMode","inserterButton","deviceType","templateType","isInserterOpen","isListViewOpen","listViewShortcut","isVisualMode","blockEditorMode","homeUrl","showIconLabels","editorCanvasView","select","__experimentalGetPreviewDeviceType","getEditedPostType","isInserterOpened","isListViewOpened","getEditorMode","getShortcutRepresentation","__unstableGetEditorMode","postType","getUnstableBase","home","get","getEditorCanvasContainerView","__experimentalSetPreviewDeviceType","setPreviewDeviceType","setIsInserterOpened","setIsListViewOpened","__unstableSetEditorMode","isLargeViewport","toggleInserter","current","focus","toggleListView","hasDefaultEditorCanvasView","isFocusMode","longLabel","shortLabel","isZoomedOutViewExperimentEnabled","window","__experimentalEnableZoomedOutView","isZoomedOutView","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tToolSelector,\n\t__experimentalPreviewOptions as PreviewOptions,\n\tNavigableToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { PinnedItems } from '@wordpress/interface';\nimport { _x, __ } from '@wordpress/i18n';\nimport { listView, plus, external, chevronUpDown } from '@wordpress/icons';\nimport {\n\tButton,\n\tToolbarItem,\n\tMenuGroup,\n\tMenuItem,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport MoreMenu from './more-menu';\nimport SaveButton from '../save-button';\nimport UndoButton from './undo-redo/undo';\nimport RedoButton from './undo-redo/redo';\nimport DocumentActions from './document-actions';\nimport { store as editSiteStore } from '../../store';\nimport { getEditorCanvasContainerTitle } from '../editor-canvas-container';\nimport { unlock } from '../../private-apis';\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nexport default function HeaderEditMode() {\n\tconst inserterButton = useRef();\n\tconst {\n\t\tdeviceType,\n\t\ttemplateType,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tisVisualMode,\n\t\tblockEditorMode,\n\t\thomeUrl,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\tgetEditedPostType,\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetEditorMode,\n\t\t} = select( editSiteStore );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\n\t\tconst postType = getEditedPostType();\n\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\ttemplateType: postType,\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/edit-site/toggle-list-view'\n\t\t\t),\n\t\t\tisVisualMode: getEditorMode() === 'visual',\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\teditorCanvasView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t};\n\t}, [] );\n\n\tconst {\n\t\t__experimentalSetPreviewDeviceType: setPreviewDeviceType,\n\t\tsetIsInserterOpened,\n\t\tsetIsListViewOpened,\n\t} = useDispatch( editSiteStore );\n\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst toggleInserter = useCallback( () => {\n\t\tif ( isInserterOpen ) {\n\t\t\t// Focusing the inserter button should close the inserter popover.\n\t\t\t// However, there are some cases it won't close when the focus is lost.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/43090 for more details.\n\t\t\tinserterButton.current.focus();\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpen, setIsInserterOpened ] );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst hasDefaultEditorCanvasView = ! editorCanvasView;\n\n\tconst isFocusMode = templateType === 'wp_template_part';\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpen ? __( 'Add' ) : __( 'Close' );\n\n\tconst isZoomedOutViewExperimentEnabled =\n\t\twindow?.__experimentalEnableZoomedOutView && isVisualMode;\n\tconst isZoomedOutView = blockEditorMode === 'zoom-out';\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-header-edit-mode', {\n\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ hasDefaultEditorCanvasView && (\n\t\t\t\t<NavigableToolbar\n\t\t\t\t\tclassName=\"edit-site-header-edit-mode__start\"\n\t\t\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"edit-site-header-edit-mode__toolbar\">\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__inserter-toggle\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tisPressed={ isInserterOpen }\n\t\t\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\t\t\tdisabled={ ! isVisualMode }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdisabled={ ! isVisualMode }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ UndoButton }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\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<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ RedoButton }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\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<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__list-view-toggle\"\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t! isVisualMode || isZoomedOutView\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\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{ isZoomedOutViewExperimentEnabled && (\n\t\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__zoom-out-view-toggle\"\n\t\t\t\t\t\t\t\t\t\ticon={ chevronUpDown }\n\t\t\t\t\t\t\t\t\t\tisPressed={ isZoomedOutView }\n\t\t\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Zoom-out View' ) }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetPreviewDeviceType( 'desktop' );\n\t\t\t\t\t\t\t\t\t\t\t__unstableSetEditorMode(\n\t\t\t\t\t\t\t\t\t\t\t\tisZoomedOutView\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'edit'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'zoom-out'\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</NavigableToolbar>\n\t\t\t) }\n\n\t\t\t<div className=\"edit-site-header-edit-mode__center\">\n\t\t\t\t{ ! hasDefaultEditorCanvasView ? (\n\t\t\t\t\tgetEditorCanvasContainerTitle( editorCanvasView )\n\t\t\t\t) : (\n\t\t\t\t\t<DocumentActions />\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t<div className=\"edit-site-header-edit-mode__end\">\n\t\t\t\t<div className=\"edit-site-header-edit-mode__actions\">\n\t\t\t\t\t{ ! isFocusMode && hasDefaultEditorCanvasView && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-site-header-edit-mode__preview-options',\n\t\t\t\t\t\t\t\t{ 'is-zoomed-out': isZoomedOutView }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PreviewOptions\n\t\t\t\t\t\t\t\tdeviceType={ deviceType }\n\t\t\t\t\t\t\t\tsetDeviceType={ setPreviewDeviceType }\n\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\tviewLabel={ __( 'View' ) }\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\thref={ homeUrl }\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\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</PreviewOptions>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<SaveButton />\n\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}