@wordpress/edit-site 6.1.0 → 6.2.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 (100) hide show
  1. package/CHANGELOG.md +8 -6
  2. package/build/components/add-new-page/index.js +9 -1
  3. package/build/components/add-new-page/index.js.map +1 -1
  4. package/build/components/add-new-pattern/index.js +31 -16
  5. package/build/components/add-new-pattern/index.js.map +1 -1
  6. package/build/components/editor/index.js +11 -4
  7. package/build/components/editor/index.js.map +1 -1
  8. package/build/components/editor-canvas-container/index.js +18 -7
  9. package/build/components/editor-canvas-container/index.js.map +1 -1
  10. package/build/components/global-styles/font-families.js +17 -17
  11. package/build/components/global-styles/font-families.js.map +1 -1
  12. package/build/components/global-styles/font-library-modal/context.js +2 -2
  13. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  14. package/build/components/global-styles/variations/variation.js +25 -19
  15. package/build/components/global-styles/variations/variation.js.map +1 -1
  16. package/build/components/global-styles/variations/variations-color.js +1 -0
  17. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  18. package/build/components/global-styles/variations/variations-typography.js +1 -0
  19. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  20. package/build/components/page-pages/index.js +38 -6
  21. package/build/components/page-pages/index.js.map +1 -1
  22. package/build/components/page-patterns/index.js +8 -2
  23. package/build/components/page-patterns/index.js.map +1 -1
  24. package/build/components/page-patterns/rename-category-menu-item.js +3 -1
  25. package/build/components/page-patterns/rename-category-menu-item.js.map +1 -1
  26. package/build/components/page-templates/index.js +10 -3
  27. package/build/components/page-templates/index.js.map +1 -1
  28. package/build/components/sidebar-dataviews/default-views.js +4 -4
  29. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  30. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +2 -0
  31. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  32. package/build/deprecated.js +11 -0
  33. package/build/deprecated.js.map +1 -1
  34. package/build/hooks/commands/use-set-command-context.js +11 -0
  35. package/build/hooks/commands/use-set-command-context.js.map +1 -1
  36. package/build/lock-unlock.js +1 -1
  37. package/build/lock-unlock.js.map +1 -1
  38. package/build-module/components/add-new-page/index.js +10 -2
  39. package/build-module/components/add-new-page/index.js.map +1 -1
  40. package/build-module/components/add-new-pattern/index.js +31 -16
  41. package/build-module/components/add-new-pattern/index.js.map +1 -1
  42. package/build-module/components/editor/index.js +12 -5
  43. package/build-module/components/editor/index.js.map +1 -1
  44. package/build-module/components/editor-canvas-container/index.js +19 -8
  45. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  46. package/build-module/components/global-styles/font-families.js +18 -18
  47. package/build-module/components/global-styles/font-families.js.map +1 -1
  48. package/build-module/components/global-styles/font-library-modal/context.js +2 -2
  49. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  50. package/build-module/components/global-styles/variations/variation.js +25 -19
  51. package/build-module/components/global-styles/variations/variation.js.map +1 -1
  52. package/build-module/components/global-styles/variations/variations-color.js +1 -0
  53. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  54. package/build-module/components/global-styles/variations/variations-typography.js +1 -0
  55. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  56. package/build-module/components/page-pages/index.js +38 -6
  57. package/build-module/components/page-pages/index.js.map +1 -1
  58. package/build-module/components/page-patterns/index.js +8 -2
  59. package/build-module/components/page-patterns/index.js.map +1 -1
  60. package/build-module/components/page-patterns/rename-category-menu-item.js +3 -1
  61. package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -1
  62. package/build-module/components/page-templates/index.js +10 -3
  63. package/build-module/components/page-templates/index.js.map +1 -1
  64. package/build-module/components/sidebar-dataviews/default-views.js +5 -5
  65. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  66. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +2 -0
  67. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  68. package/build-module/deprecated.js +11 -0
  69. package/build-module/deprecated.js.map +1 -1
  70. package/build-module/hooks/commands/use-set-command-context.js +11 -0
  71. package/build-module/hooks/commands/use-set-command-context.js.map +1 -1
  72. package/build-module/lock-unlock.js +1 -1
  73. package/build-module/lock-unlock.js.map +1 -1
  74. package/build-style/style-rtl.css +19 -17
  75. package/build-style/style.css +19 -17
  76. package/lib/inflate.js +3188 -3937
  77. package/lib/lib-font.browser.js +32 -2
  78. package/lib/unbrotli.js +1818 -2458
  79. package/package.json +41 -41
  80. package/src/components/add-new-page/index.js +20 -2
  81. package/src/components/add-new-pattern/index.js +38 -23
  82. package/src/components/block-editor/style.scss +0 -11
  83. package/src/components/editor/index.js +13 -15
  84. package/src/components/editor-canvas-container/index.js +20 -8
  85. package/src/components/global-styles/font-families.js +28 -19
  86. package/src/components/global-styles/font-library-modal/context.js +2 -2
  87. package/src/components/global-styles/style.scss +2 -1
  88. package/src/components/global-styles/variations/variation.js +37 -22
  89. package/src/components/global-styles/variations/variations-color.js +1 -0
  90. package/src/components/global-styles/variations/variations-typography.js +1 -0
  91. package/src/components/page-pages/index.js +45 -11
  92. package/src/components/page-patterns/index.js +8 -2
  93. package/src/components/page-patterns/rename-category-menu-item.js +2 -0
  94. package/src/components/page-templates/index.js +9 -2
  95. package/src/components/sidebar-dataviews/default-views.js +13 -5
  96. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +6 -1
  97. package/src/deprecated.js +14 -0
  98. package/src/hooks/commands/use-set-command-context.js +12 -0
  99. package/src/lock-unlock.js +1 -1
  100. package/src/style.scss +13 -0
@@ -24,6 +24,8 @@ function RenameModal({
24
24
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Modal, {
25
25
  title: (0, _i18n.__)('Rename'),
26
26
  onRequestClose: onClose,
27
+ focusOnMount: "firstContentElement",
28
+ size: "small",
27
29
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
28
30
  className: "sidebar-navigation__rename-modal-form",
29
31
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_jsxRuntime","notEmptyString","testString","trim","length","RenameModal","menuTitle","onClose","onSave","editedMenuTitle","setEditedMenuTitle","useState","titleHasChanged","isEditedMenuTitleValid","jsx","Modal","title","__","onRequestClose","children","className","jsxs","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","placeholder","onChange","__experimentalHStack","justify","Button","variant","onClick","__experimentalIsFocusable","disabled","type","e","preventDefault"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tTextControl,\n\tModal,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n\nconst notEmptyString = ( testString ) => testString?.trim()?.length > 0;\n\nexport default function RenameModal( { menuTitle, onClose, onSave } ) {\n\tconst [ editedMenuTitle, setEditedMenuTitle ] = useState( menuTitle );\n\n\tconst titleHasChanged = editedMenuTitle !== menuTitle;\n\n\tconst isEditedMenuTitleValid =\n\t\ttitleHasChanged && notEmptyString( editedMenuTitle );\n\n\treturn (\n\t\t<Modal title={ __( 'Rename' ) } onRequestClose={ onClose }>\n\t\t\t<form className=\"sidebar-navigation__rename-modal-form\">\n\t\t\t\t<VStack spacing=\"3\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ editedMenuTitle }\n\t\t\t\t\t\tplaceholder={ __( 'Navigation title' ) }\n\t\t\t\t\t\tonChange={ setEditedMenuTitle }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\tdisabled={ ! isEditedMenuTitleValid }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t\tif ( ! isEditedMenuTitleValid ) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonSave( { title: editedMenuTitle } );\n\n\t\t\t\t\t\t\t\t// Immediate close avoids ability to hit save multiple times.\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAOA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAA8C,IAAAG,WAAA,GAAAH,OAAA;AAX9C;AACA;AACA;;AAWA,MAAMI,cAAc,GAAKC,UAAU,IAAMA,UAAU,EAAEC,IAAI,CAAC,CAAC,EAAEC,MAAM,GAAG,CAAC;AAExD,SAASC,WAAWA,CAAE;EAAEC,SAAS;EAAEC,OAAO;EAAEC;AAAO,CAAC,EAAG;EACrE,MAAM,CAAEC,eAAe,EAAEC,kBAAkB,CAAE,GAAG,IAAAC,iBAAQ,EAAEL,SAAU,CAAC;EAErE,MAAMM,eAAe,GAAGH,eAAe,KAAKH,SAAS;EAErD,MAAMO,sBAAsB,GAC3BD,eAAe,IAAIX,cAAc,CAAEQ,eAAgB,CAAC;EAErD,oBACC,IAAAT,WAAA,CAAAc,GAAA,EAAClB,WAAA,CAAAmB,KAAK;IAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,QAAS,CAAG;IAACC,cAAc,EAAGX,OAAS;IAAAY,QAAA,eACzD,IAAAnB,WAAA,CAAAc,GAAA;MAAMM,SAAS,EAAC,uCAAuC;MAAAD,QAAA,eACtD,IAAAnB,WAAA,CAAAqB,IAAA,EAACzB,WAAA,CAAA0B,oBAAM;QAACC,OAAO,EAAC,GAAG;QAAAJ,QAAA,gBAClB,IAAAnB,WAAA,CAAAc,GAAA,EAAClB,WAAA,CAAA4B,WAAW;UACXC,uBAAuB;UACvBC,qBAAqB;UACrBC,KAAK,EAAGlB,eAAiB;UACzBmB,WAAW,EAAG,IAAAX,QAAE,EAAE,kBAAmB,CAAG;UACxCY,QAAQ,EAAGnB;QAAoB,CAC/B,CAAC,eACF,IAAAV,WAAA,CAAAqB,IAAA,EAACzB,WAAA,CAAAkC,oBAAM;UAACC,OAAO,EAAC,OAAO;UAAAZ,QAAA,gBACtB,IAAAnB,WAAA,CAAAc,GAAA,EAAClB,WAAA,CAAAoC,MAAM;YACNN,qBAAqB;YACrBO,OAAO,EAAC,UAAU;YAClBC,OAAO,EAAG3B,OAAS;YAAAY,QAAA,EAEjB,IAAAF,QAAE,EAAE,QAAS;UAAC,CACT,CAAC,eAET,IAAAjB,WAAA,CAAAc,GAAA,EAAClB,WAAA,CAAAoC,MAAM;YACNN,qBAAqB;YACrBS,yBAAyB;YACzBC,QAAQ,EAAG,CAAEvB,sBAAwB;YACrCoB,OAAO,EAAC,SAAS;YACjBI,IAAI,EAAC,QAAQ;YACbH,OAAO,EAAKI,CAAC,IAAM;cAClBA,CAAC,CAACC,cAAc,CAAC,CAAC;cAElB,IAAK,CAAE1B,sBAAsB,EAAG;gBAC/B;cACD;cACAL,MAAM,CAAE;gBAAEQ,KAAK,EAAEP;cAAgB,CAAE,CAAC;;cAEpC;cACAF,OAAO,CAAC,CAAC;YACV,CAAG;YAAAY,QAAA,EAED,IAAAF,QAAE,EAAE,MAAO;UAAC,CACP,CAAC;QAAA,CACF,CAAC;MAAA,CACF;IAAC,CACJ;EAAC,CACD,CAAC;AAEV","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_jsxRuntime","notEmptyString","testString","trim","length","RenameModal","menuTitle","onClose","onSave","editedMenuTitle","setEditedMenuTitle","useState","titleHasChanged","isEditedMenuTitleValid","jsx","Modal","title","__","onRequestClose","focusOnMount","size","children","className","jsxs","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","placeholder","onChange","__experimentalHStack","justify","Button","variant","onClick","__experimentalIsFocusable","disabled","type","e","preventDefault"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tTextControl,\n\tModal,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n\nconst notEmptyString = ( testString ) => testString?.trim()?.length > 0;\n\nexport default function RenameModal( { menuTitle, onClose, onSave } ) {\n\tconst [ editedMenuTitle, setEditedMenuTitle ] = useState( menuTitle );\n\n\tconst titleHasChanged = editedMenuTitle !== menuTitle;\n\n\tconst isEditedMenuTitleValid =\n\t\ttitleHasChanged && notEmptyString( editedMenuTitle );\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Rename' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form className=\"sidebar-navigation__rename-modal-form\">\n\t\t\t\t<VStack spacing=\"3\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ editedMenuTitle }\n\t\t\t\t\t\tplaceholder={ __( 'Navigation title' ) }\n\t\t\t\t\t\tonChange={ setEditedMenuTitle }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\tdisabled={ ! isEditedMenuTitleValid }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t\tif ( ! isEditedMenuTitleValid ) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonSave( { title: editedMenuTitle } );\n\n\t\t\t\t\t\t\t\t// Immediate close avoids ability to hit save multiple times.\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAOA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAA8C,IAAAG,WAAA,GAAAH,OAAA;AAX9C;AACA;AACA;;AAWA,MAAMI,cAAc,GAAKC,UAAU,IAAMA,UAAU,EAAEC,IAAI,CAAC,CAAC,EAAEC,MAAM,GAAG,CAAC;AAExD,SAASC,WAAWA,CAAE;EAAEC,SAAS;EAAEC,OAAO;EAAEC;AAAO,CAAC,EAAG;EACrE,MAAM,CAAEC,eAAe,EAAEC,kBAAkB,CAAE,GAAG,IAAAC,iBAAQ,EAAEL,SAAU,CAAC;EAErE,MAAMM,eAAe,GAAGH,eAAe,KAAKH,SAAS;EAErD,MAAMO,sBAAsB,GAC3BD,eAAe,IAAIX,cAAc,CAAEQ,eAAgB,CAAC;EAErD,oBACC,IAAAT,WAAA,CAAAc,GAAA,EAAClB,WAAA,CAAAmB,KAAK;IACLC,KAAK,EAAG,IAAAC,QAAE,EAAE,QAAS,CAAG;IACxBC,cAAc,EAAGX,OAAS;IAC1BY,YAAY,EAAC,qBAAqB;IAClCC,IAAI,EAAC,OAAO;IAAAC,QAAA,eAEZ,IAAArB,WAAA,CAAAc,GAAA;MAAMQ,SAAS,EAAC,uCAAuC;MAAAD,QAAA,eACtD,IAAArB,WAAA,CAAAuB,IAAA,EAAC3B,WAAA,CAAA4B,oBAAM;QAACC,OAAO,EAAC,GAAG;QAAAJ,QAAA,gBAClB,IAAArB,WAAA,CAAAc,GAAA,EAAClB,WAAA,CAAA8B,WAAW;UACXC,uBAAuB;UACvBC,qBAAqB;UACrBC,KAAK,EAAGpB,eAAiB;UACzBqB,WAAW,EAAG,IAAAb,QAAE,EAAE,kBAAmB,CAAG;UACxCc,QAAQ,EAAGrB;QAAoB,CAC/B,CAAC,eACF,IAAAV,WAAA,CAAAuB,IAAA,EAAC3B,WAAA,CAAAoC,oBAAM;UAACC,OAAO,EAAC,OAAO;UAAAZ,QAAA,gBACtB,IAAArB,WAAA,CAAAc,GAAA,EAAClB,WAAA,CAAAsC,MAAM;YACNN,qBAAqB;YACrBO,OAAO,EAAC,UAAU;YAClBC,OAAO,EAAG7B,OAAS;YAAAc,QAAA,EAEjB,IAAAJ,QAAE,EAAE,QAAS;UAAC,CACT,CAAC,eAET,IAAAjB,WAAA,CAAAc,GAAA,EAAClB,WAAA,CAAAsC,MAAM;YACNN,qBAAqB;YACrBS,yBAAyB;YACzBC,QAAQ,EAAG,CAAEzB,sBAAwB;YACrCsB,OAAO,EAAC,SAAS;YACjBI,IAAI,EAAC,QAAQ;YACbH,OAAO,EAAKI,CAAC,IAAM;cAClBA,CAAC,CAACC,cAAc,CAAC,CAAC;cAElB,IAAK,CAAE5B,sBAAsB,EAAG;gBAC/B;cACD;cACAL,MAAM,CAAE;gBAAEQ,KAAK,EAAEP;cAAgB,CAAE,CAAC;;cAEpC;cACAF,OAAO,CAAC,CAAC;YACV,CAAG;YAAAc,QAAA,EAED,IAAAJ,QAAE,EAAE,MAAO;UAAC,CACP,CAAC;QAAA,CACF,CAAC;MAAA,CACF;IAAC,CACJ;EAAC,CACD,CAAC;AAEV","ignoreList":[]}
@@ -8,12 +8,14 @@ exports.PluginMoreMenuItem = PluginMoreMenuItem;
8
8
  exports.PluginSidebar = PluginSidebar;
9
9
  exports.PluginSidebarMoreMenuItem = PluginSidebarMoreMenuItem;
10
10
  var _editor = require("@wordpress/editor");
11
+ var _url = require("@wordpress/url");
11
12
  var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
12
13
  var _jsxRuntime = require("react/jsx-runtime");
13
14
  /**
14
15
  * WordPress dependencies
15
16
  */
16
17
 
18
+ const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
17
19
  const deprecateSlot = name => {
18
20
  (0, _deprecated.default)(`wp.editPost.${name}`, {
19
21
  since: '6.6',
@@ -26,6 +28,9 @@ const deprecateSlot = name => {
26
28
  * @see PluginMoreMenuItem in @wordpress/editor package.
27
29
  */
28
30
  function PluginMoreMenuItem(props) {
31
+ if (!isSiteEditor) {
32
+ return null;
33
+ }
29
34
  deprecateSlot('PluginMoreMenuItem');
30
35
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.PluginMoreMenuItem, {
31
36
  ...props
@@ -36,6 +41,9 @@ function PluginMoreMenuItem(props) {
36
41
  * @see PluginSidebar in @wordpress/editor package.
37
42
  */
38
43
  function PluginSidebar(props) {
44
+ if (!isSiteEditor) {
45
+ return null;
46
+ }
39
47
  deprecateSlot('PluginSidebar');
40
48
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.PluginSidebar, {
41
49
  ...props
@@ -46,6 +54,9 @@ function PluginSidebar(props) {
46
54
  * @see PluginSidebarMoreMenuItem in @wordpress/editor package.
47
55
  */
48
56
  function PluginSidebarMoreMenuItem(props) {
57
+ if (!isSiteEditor) {
58
+ return null;
59
+ }
49
60
  deprecateSlot('PluginSidebarMoreMenuItem');
50
61
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.PluginSidebarMoreMenuItem, {
51
62
  ...props
@@ -1 +1 @@
1
- {"version":3,"names":["_editor","require","_deprecated","_interopRequireDefault","_jsxRuntime","deprecateSlot","name","deprecated","since","alternative","PluginMoreMenuItem","props","jsx","PluginSidebar","PluginSidebarMoreMenuItem"],"sources":["@wordpress/edit-site/src/deprecated.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPluginMoreMenuItem as EditorPluginMoreMenuItem,\n\tPluginSidebar as EditorPluginSidebar,\n\tPluginSidebarMoreMenuItem as EditorPluginSidebarMoreMenuItem,\n} from '@wordpress/editor';\nimport deprecated from '@wordpress/deprecated';\n\nconst deprecateSlot = ( name ) => {\n\tdeprecated( `wp.editPost.${ name }`, {\n\t\tsince: '6.6',\n\t\talternative: `wp.editor.${ name }`,\n\t} );\n};\n\n/* eslint-disable jsdoc/require-param */\n/**\n * @see PluginMoreMenuItem in @wordpress/editor package.\n */\nexport function PluginMoreMenuItem( props ) {\n\tdeprecateSlot( 'PluginMoreMenuItem' );\n\treturn <EditorPluginMoreMenuItem { ...props } />;\n}\n\n/**\n * @see PluginSidebar in @wordpress/editor package.\n */\nexport function PluginSidebar( props ) {\n\tdeprecateSlot( 'PluginSidebar' );\n\treturn <EditorPluginSidebar { ...props } />;\n}\n\n/**\n * @see PluginSidebarMoreMenuItem in @wordpress/editor package.\n */\nexport function PluginSidebarMoreMenuItem( props ) {\n\tdeprecateSlot( 'PluginSidebarMoreMenuItem' );\n\treturn <EditorPluginSidebarMoreMenuItem { ...props } />;\n}\n/* eslint-enable jsdoc/require-param */\n"],"mappings":";;;;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA+C,IAAAG,WAAA,GAAAH,OAAA;AAR/C;AACA;AACA;;AAQA,MAAMI,aAAa,GAAKC,IAAI,IAAM;EACjC,IAAAC,mBAAU,EAAG,eAAeD,IAAM,EAAC,EAAE;IACpCE,KAAK,EAAE,KAAK;IACZC,WAAW,EAAG,aAAaH,IAAM;EAClC,CAAE,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACO,SAASI,kBAAkBA,CAAEC,KAAK,EAAG;EAC3CN,aAAa,CAAE,oBAAqB,CAAC;EACrC,oBAAO,IAAAD,WAAA,CAAAQ,GAAA,EAACZ,OAAA,CAAAU,kBAAwB;IAAA,GAAMC;EAAK,CAAI,CAAC;AACjD;;AAEA;AACA;AACA;AACO,SAASE,aAAaA,CAAEF,KAAK,EAAG;EACtCN,aAAa,CAAE,eAAgB,CAAC;EAChC,oBAAO,IAAAD,WAAA,CAAAQ,GAAA,EAACZ,OAAA,CAAAa,aAAmB;IAAA,GAAMF;EAAK,CAAI,CAAC;AAC5C;;AAEA;AACA;AACA;AACO,SAASG,yBAAyBA,CAAEH,KAAK,EAAG;EAClDN,aAAa,CAAE,2BAA4B,CAAC;EAC5C,oBAAO,IAAAD,WAAA,CAAAQ,GAAA,EAACZ,OAAA,CAAAc,yBAA+B;IAAA,GAAMH;EAAK,CAAI,CAAC;AACxD;AACA","ignoreList":[]}
1
+ {"version":3,"names":["_editor","require","_url","_deprecated","_interopRequireDefault","_jsxRuntime","isSiteEditor","getPath","window","location","href","includes","deprecateSlot","name","deprecated","since","alternative","PluginMoreMenuItem","props","jsx","PluginSidebar","PluginSidebarMoreMenuItem"],"sources":["@wordpress/edit-site/src/deprecated.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPluginMoreMenuItem as EditorPluginMoreMenuItem,\n\tPluginSidebar as EditorPluginSidebar,\n\tPluginSidebarMoreMenuItem as EditorPluginSidebarMoreMenuItem,\n} from '@wordpress/editor';\nimport { getPath } from '@wordpress/url';\nimport deprecated from '@wordpress/deprecated';\n\nconst isSiteEditor = getPath( window.location.href )?.includes(\n\t'site-editor.php'\n);\n\nconst deprecateSlot = ( name ) => {\n\tdeprecated( `wp.editPost.${ name }`, {\n\t\tsince: '6.6',\n\t\talternative: `wp.editor.${ name }`,\n\t} );\n};\n\n/* eslint-disable jsdoc/require-param */\n/**\n * @see PluginMoreMenuItem in @wordpress/editor package.\n */\nexport function PluginMoreMenuItem( props ) {\n\tif ( ! isSiteEditor ) {\n\t\treturn null;\n\t}\n\tdeprecateSlot( 'PluginMoreMenuItem' );\n\treturn <EditorPluginMoreMenuItem { ...props } />;\n}\n\n/**\n * @see PluginSidebar in @wordpress/editor package.\n */\nexport function PluginSidebar( props ) {\n\tif ( ! isSiteEditor ) {\n\t\treturn null;\n\t}\n\tdeprecateSlot( 'PluginSidebar' );\n\treturn <EditorPluginSidebar { ...props } />;\n}\n\n/**\n * @see PluginSidebarMoreMenuItem in @wordpress/editor package.\n */\nexport function PluginSidebarMoreMenuItem( props ) {\n\tif ( ! isSiteEditor ) {\n\t\treturn null;\n\t}\n\tdeprecateSlot( 'PluginSidebarMoreMenuItem' );\n\treturn <EditorPluginSidebarMoreMenuItem { ...props } />;\n}\n/* eslint-enable jsdoc/require-param */\n"],"mappings":";;;;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA+C,IAAAI,WAAA,GAAAJ,OAAA;AAT/C;AACA;AACA;;AASA,MAAMK,YAAY,GAAG,IAAAC,YAAO,EAAEC,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;AAED,MAAMC,aAAa,GAAKC,IAAI,IAAM;EACjC,IAAAC,mBAAU,EAAG,eAAeD,IAAM,EAAC,EAAE;IACpCE,KAAK,EAAE,KAAK;IACZC,WAAW,EAAG,aAAaH,IAAM;EAClC,CAAE,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACO,SAASI,kBAAkBA,CAAEC,KAAK,EAAG;EAC3C,IAAK,CAAEZ,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EACAM,aAAa,CAAE,oBAAqB,CAAC;EACrC,oBAAO,IAAAP,WAAA,CAAAc,GAAA,EAACnB,OAAA,CAAAiB,kBAAwB;IAAA,GAAMC;EAAK,CAAI,CAAC;AACjD;;AAEA;AACA;AACA;AACO,SAASE,aAAaA,CAAEF,KAAK,EAAG;EACtC,IAAK,CAAEZ,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EACAM,aAAa,CAAE,eAAgB,CAAC;EAChC,oBAAO,IAAAP,WAAA,CAAAc,GAAA,EAACnB,OAAA,CAAAoB,aAAmB;IAAA,GAAMF;EAAK,CAAI,CAAC;AAC5C;;AAEA;AACA;AACA;AACO,SAASG,yBAAyBA,CAAEH,KAAK,EAAG;EAClD,IAAK,CAAEZ,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EACAM,aAAa,CAAE,2BAA4B,CAAC;EAC5C,oBAAO,IAAAP,WAAA,CAAAc,GAAA,EAACnB,OAAA,CAAAqB,yBAA+B;IAAA,GAAMH;EAAK,CAAI,CAAC;AACxD;AACA","ignoreList":[]}
@@ -9,6 +9,7 @@ var _commands = require("@wordpress/commands");
9
9
  var _blockEditor = require("@wordpress/block-editor");
10
10
  var _store = require("../../store");
11
11
  var _lockUnlock = require("../../lock-unlock");
12
+ var _editorCanvasContainer = require("../../components/editor-canvas-container");
12
13
  /**
13
14
  * WordPress dependencies
14
15
  */
@@ -40,6 +41,8 @@ function useSetCommandContext() {
40
41
  hasBlockSelected: getBlockSelectionStart()
41
42
  };
42
43
  }, []);
44
+ const hasEditorCanvasContainer = (0, _editorCanvasContainer.useHasEditorCanvasContainer)();
45
+
43
46
  // Sets the right context for the command palette
44
47
  let commandContext = 'site-editor';
45
48
  if (canvasMode === 'edit') {
@@ -48,6 +51,14 @@ function useSetCommandContext() {
48
51
  if (hasBlockSelected) {
49
52
  commandContext = 'block-selection-edit';
50
53
  }
54
+ if (hasEditorCanvasContainer) {
55
+ /*
56
+ * The editor canvas overlay will likely be deprecated in the future, so for now we clear the command context
57
+ * to remove the suggested commands that may not make sense with Style Book or Style Revisions open.
58
+ * See https://github.com/WordPress/gutenberg/issues/62216.
59
+ */
60
+ commandContext = '';
61
+ }
51
62
  useCommandContext(commandContext);
52
63
  }
53
64
  //# sourceMappingURL=use-set-command-context.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_commands","_blockEditor","_store","_lockUnlock","useCommandContext","unlock","commandsPrivateApis","useSetCommandContext","hasBlockSelected","canvasMode","useSelect","select","getCanvasMode","editSiteStore","getBlockSelectionStart","blockEditorStore","commandContext"],"sources":["@wordpress/edit-site/src/hooks/commands/use-set-command-context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as commandsPrivateApis } from '@wordpress/commands';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { useCommandContext } = unlock( commandsPrivateApis );\n\n/**\n * React hook used to set the correct command context based on the current state.\n */\nexport default function useSetCommandContext() {\n\tconst { hasBlockSelected, canvasMode } = useSelect( ( select ) => {\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\tconst { getBlockSelectionStart } = select( blockEditorStore );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\thasBlockSelected: getBlockSelectionStart(),\n\t\t};\n\t}, [] );\n\t// Sets the right context for the command palette\n\tlet commandContext = 'site-editor';\n\tif ( canvasMode === 'edit' ) {\n\t\tcommandContext = 'entity-edit';\n\t}\n\tif ( hasBlockSelected ) {\n\t\tcommandContext = 'block-selection-edit';\n\t}\n\tuseCommandContext( commandContext );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAKA;AACA;AACA;;AAIA,MAAM;EAAEK;AAAkB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAoB,CAAC;;AAE3D;AACA;AACA;AACe,SAASC,oBAAoBA,CAAA,EAAG;EAC9C,MAAM;IAAEC,gBAAgB;IAAEC;EAAW,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACjE,MAAM;MAAEC;IAAc,CAAC,GAAG,IAAAP,kBAAM,EAAEM,MAAM,CAAEE,YAAc,CAAE,CAAC;IAC3D,MAAM;MAAEC;IAAuB,CAAC,GAAGH,MAAM,CAAEI,kBAAiB,CAAC;IAC7D,OAAO;MACNN,UAAU,EAAEG,aAAa,CAAC,CAAC;MAC3BJ,gBAAgB,EAAEM,sBAAsB,CAAC;IAC1C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP;EACA,IAAIE,cAAc,GAAG,aAAa;EAClC,IAAKP,UAAU,KAAK,MAAM,EAAG;IAC5BO,cAAc,GAAG,aAAa;EAC/B;EACA,IAAKR,gBAAgB,EAAG;IACvBQ,cAAc,GAAG,sBAAsB;EACxC;EACAZ,iBAAiB,CAAEY,cAAe,CAAC;AACpC","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_commands","_blockEditor","_store","_lockUnlock","_editorCanvasContainer","useCommandContext","unlock","commandsPrivateApis","useSetCommandContext","hasBlockSelected","canvasMode","useSelect","select","getCanvasMode","editSiteStore","getBlockSelectionStart","blockEditorStore","hasEditorCanvasContainer","useHasEditorCanvasContainer","commandContext"],"sources":["@wordpress/edit-site/src/hooks/commands/use-set-command-context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as commandsPrivateApis } from '@wordpress/commands';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useHasEditorCanvasContainer } from '../../components/editor-canvas-container';\n\nconst { useCommandContext } = unlock( commandsPrivateApis );\n\n/**\n * React hook used to set the correct command context based on the current state.\n */\nexport default function useSetCommandContext() {\n\tconst { hasBlockSelected, canvasMode } = useSelect( ( select ) => {\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\tconst { getBlockSelectionStart } = select( blockEditorStore );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\thasBlockSelected: getBlockSelectionStart(),\n\t\t};\n\t}, [] );\n\n\tconst hasEditorCanvasContainer = useHasEditorCanvasContainer();\n\n\t// Sets the right context for the command palette\n\tlet commandContext = 'site-editor';\n\tif ( canvasMode === 'edit' ) {\n\t\tcommandContext = 'entity-edit';\n\t}\n\tif ( hasBlockSelected ) {\n\t\tcommandContext = 'block-selection-edit';\n\t}\n\tif ( hasEditorCanvasContainer ) {\n\t\t/*\n\t\t * The editor canvas overlay will likely be deprecated in the future, so for now we clear the command context\n\t\t * to remove the suggested commands that may not make sense with Style Book or Style Revisions open.\n\t\t * See https://github.com/WordPress/gutenberg/issues/62216.\n\t\t */\n\t\tcommandContext = '';\n\t}\n\tuseCommandContext( commandContext );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAL,OAAA;AAZA;AACA;AACA;;AAKA;AACA;AACA;;AAKA,MAAM;EAAEM;AAAkB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAoB,CAAC;;AAE3D;AACA;AACA;AACe,SAASC,oBAAoBA,CAAA,EAAG;EAC9C,MAAM;IAAEC,gBAAgB;IAAEC;EAAW,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACjE,MAAM;MAAEC;IAAc,CAAC,GAAG,IAAAP,kBAAM,EAAEM,MAAM,CAAEE,YAAc,CAAE,CAAC;IAC3D,MAAM;MAAEC;IAAuB,CAAC,GAAGH,MAAM,CAAEI,kBAAiB,CAAC;IAC7D,OAAO;MACNN,UAAU,EAAEG,aAAa,CAAC,CAAC;MAC3BJ,gBAAgB,EAAEM,sBAAsB,CAAC;IAC1C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAME,wBAAwB,GAAG,IAAAC,kDAA2B,EAAC,CAAC;;EAE9D;EACA,IAAIC,cAAc,GAAG,aAAa;EAClC,IAAKT,UAAU,KAAK,MAAM,EAAG;IAC5BS,cAAc,GAAG,aAAa;EAC/B;EACA,IAAKV,gBAAgB,EAAG;IACvBU,cAAc,GAAG,sBAAsB;EACxC;EACA,IAAKF,wBAAwB,EAAG;IAC/B;AACF;AACA;AACA;AACA;IACEE,cAAc,GAAG,EAAE;EACpB;EACAd,iBAAiB,CAAEc,cAAe,CAAC;AACpC","ignoreList":[]}
@@ -12,7 +12,7 @@ var _privateApis = require("@wordpress/private-apis");
12
12
  const {
13
13
  lock,
14
14
  unlock
15
- } = (0, _privateApis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.', '@wordpress/edit-site');
15
+ } = (0, _privateApis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.', '@wordpress/edit-site');
16
16
  exports.unlock = unlock;
17
17
  exports.lock = lock;
18
18
  //# sourceMappingURL=lock-unlock.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_privateApis","require","lock","unlock","__dangerousOptInToUnstableAPIsOnlyForCoreModules","exports"],"sources":["@wordpress/edit-site/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.',\n\t\t'@wordpress/edit-site'\n\t);\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5B,IAAAC,6DAAgD,EAC/C,iHAAiH,EACjH,sBACD,CAAC;AAACC,OAAA,CAAAF,MAAA,GAAAA,MAAA;AAAAE,OAAA,CAAAH,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_privateApis","require","lock","unlock","__dangerousOptInToUnstableAPIsOnlyForCoreModules","exports"],"sources":["@wordpress/edit-site/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.',\n\t\t'@wordpress/edit-site'\n\t);\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5B,IAAAC,6DAAgD,EAC/C,+HAA+H,EAC/H,sBACD,CAAC;AAACC,OAAA,CAAAF,MAAA,GAAAA,MAAA;AAAAE,OAAA,CAAAH,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -3,11 +3,12 @@
3
3
  */
4
4
  import { Button, Modal, __experimentalHStack as HStack, __experimentalVStack as VStack, TextControl } from '@wordpress/components';
5
5
  import { __, sprintf } from '@wordpress/i18n';
6
- import { useDispatch } from '@wordpress/data';
6
+ import { useDispatch, useRegistry } from '@wordpress/data';
7
7
  import { useState } from '@wordpress/element';
8
8
  import { store as coreStore } from '@wordpress/core-data';
9
9
  import { store as noticesStore } from '@wordpress/notices';
10
10
  import { decodeEntities } from '@wordpress/html-entities';
11
+ import { serialize, synchronizeBlocksWithTemplate } from '@wordpress/blocks';
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
14
  export default function AddNewPageModal({
@@ -23,6 +24,9 @@ export default function AddNewPageModal({
23
24
  createErrorNotice,
24
25
  createSuccessNotice
25
26
  } = useDispatch(noticesStore);
27
+ const {
28
+ resolveSelect
29
+ } = useRegistry();
26
30
  async function createPage(event) {
27
31
  event.preventDefault();
28
32
  if (isCreatingPage) {
@@ -30,10 +34,12 @@ export default function AddNewPageModal({
30
34
  }
31
35
  setIsCreatingPage(true);
32
36
  try {
37
+ const pagePostType = await resolveSelect(coreStore).getPostType('page');
33
38
  const newPage = await saveEntityRecord('postType', 'page', {
34
39
  status: 'draft',
35
40
  title,
36
- slug: title || __('No title')
41
+ slug: title || __('No title'),
42
+ content: !!pagePostType.template && pagePostType.template.length ? serialize(synchronizeBlocksWithTemplate([], pagePostType.template)) : undefined
37
43
  }, {
38
44
  throwOnError: true
39
45
  });
@@ -55,6 +61,8 @@ export default function AddNewPageModal({
55
61
  return /*#__PURE__*/_jsx(Modal, {
56
62
  title: __('Draft a new page'),
57
63
  onRequestClose: onClose,
64
+ focusOnMount: "firstContentElement",
65
+ size: "small",
58
66
  children: /*#__PURE__*/_jsx("form", {
59
67
  onSubmit: createPage,
60
68
  children: /*#__PURE__*/_jsxs(VStack, {
@@ -1 +1 @@
1
- {"version":3,"names":["Button","Modal","__experimentalHStack","HStack","__experimentalVStack","VStack","TextControl","__","sprintf","useDispatch","useState","store","coreStore","noticesStore","decodeEntities","jsx","_jsx","jsxs","_jsxs","AddNewPageModal","onSave","onClose","isCreatingPage","setIsCreatingPage","title","setTitle","saveEntityRecord","createErrorNotice","createSuccessNotice","createPage","event","preventDefault","newPage","status","slug","throwOnError","rendered","type","error","errorMessage","message","code","onRequestClose","children","onSubmit","spacing","__next40pxDefaultSize","label","onChange","placeholder","value","justify","variant","onClick","isBusy"],"sources":["@wordpress/edit-site/src/components/add-new-page/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tTextControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nexport default function AddNewPageModal( { onSave, onClose } ) {\n\tconst [ isCreatingPage, setIsCreatingPage ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tasync function createPage( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isCreatingPage ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingPage( true );\n\t\ttry {\n\t\t\tconst newPage = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'page',\n\t\t\t\t{\n\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\ttitle,\n\t\t\t\t\tslug: title || __( 'No title' ),\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonSave( newPage );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newPage.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the page.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsCreatingPage( false );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal title={ __( 'Draft a new page' ) } onRequestClose={ onClose }>\n\t\t\t<form onSubmit={ createPage }>\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Page title' ) }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ __( 'No title' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack spacing={ 2 } justify=\"end\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isCreatingPage }\n\t\t\t\t\t\t\taria-disabled={ isCreatingPage }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create draft' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Button","Modal","__experimentalHStack","HStack","__experimentalVStack","VStack","TextControl","__","sprintf","useDispatch","useRegistry","useState","store","coreStore","noticesStore","decodeEntities","serialize","synchronizeBlocksWithTemplate","jsx","_jsx","jsxs","_jsxs","AddNewPageModal","onSave","onClose","isCreatingPage","setIsCreatingPage","title","setTitle","saveEntityRecord","createErrorNotice","createSuccessNotice","resolveSelect","createPage","event","preventDefault","pagePostType","getPostType","newPage","status","slug","content","template","length","undefined","throwOnError","rendered","type","error","errorMessage","message","code","onRequestClose","focusOnMount","size","children","onSubmit","spacing","__next40pxDefaultSize","label","onChange","placeholder","value","justify","variant","onClick","isBusy"],"sources":["@wordpress/edit-site/src/components/add-new-page/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tTextControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { serialize, synchronizeBlocksWithTemplate } from '@wordpress/blocks';\n\nexport default function AddNewPageModal( { onSave, onClose } ) {\n\tconst [ isCreatingPage, setIsCreatingPage ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { resolveSelect } = useRegistry();\n\n\tasync function createPage( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isCreatingPage ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingPage( true );\n\t\ttry {\n\t\t\tconst pagePostType =\n\t\t\t\tawait resolveSelect( coreStore ).getPostType( 'page' );\n\t\t\tconst newPage = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'page',\n\t\t\t\t{\n\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\ttitle,\n\t\t\t\t\tslug: title || __( 'No title' ),\n\t\t\t\t\tcontent:\n\t\t\t\t\t\t!! pagePostType.template && pagePostType.template.length\n\t\t\t\t\t\t\t? serialize(\n\t\t\t\t\t\t\t\t\tsynchronizeBlocksWithTemplate(\n\t\t\t\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t\t\t\t\tpagePostType.template\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonSave( newPage );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newPage.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the page.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsCreatingPage( false );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Draft a new page' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form onSubmit={ createPage }>\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Page title' ) }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ __( 'No title' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack spacing={ 2 } justify=\"end\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isCreatingPage }\n\t\t\t\t\t\t\taria-disabled={ isCreatingPage }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create draft' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -34,6 +34,7 @@ export default function AddNewPattern() {
34
34
  const history = useHistory();
35
35
  const [showPatternModal, setShowPatternModal] = useState(false);
36
36
  const [showTemplatePartModal, setShowTemplatePartModal] = useState(false);
37
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
37
38
  const {
38
39
  createPatternFromFile
39
40
  } = unlock(useDispatch(patternsStore));
@@ -45,16 +46,22 @@ export default function AddNewPattern() {
45
46
  const {
46
47
  isBlockBasedTheme,
47
48
  addNewPatternLabel,
48
- addNewTemplatePartLabel
49
+ addNewTemplatePartLabel,
50
+ canCreatePattern,
51
+ canCreateTemplatePart
49
52
  } = useSelect(select => {
50
53
  const {
51
54
  getCurrentTheme,
52
- getPostType
55
+ getPostType,
56
+ canUser
53
57
  } = select(coreStore);
54
58
  return {
55
59
  isBlockBasedTheme: getCurrentTheme()?.is_block_theme,
56
60
  addNewPatternLabel: getPostType(PATTERN_TYPES.user)?.labels?.add_new_item,
57
- addNewTemplatePartLabel: getPostType(TEMPLATE_PART_POST_TYPE)?.labels?.add_new_item
61
+ addNewTemplatePartLabel: getPostType(TEMPLATE_PART_POST_TYPE)?.labels?.add_new_item,
62
+ // Blocks refers to the wp_block post type, this checks the ability to create a post of that type.
63
+ canCreatePattern: canUser('create', 'blocks'),
64
+ canCreateTemplatePart: canUser('create', 'template-parts')
58
65
  };
59
66
  }, []);
60
67
  function handleCreatePattern({
@@ -81,29 +88,37 @@ export default function AddNewPattern() {
81
88
  setShowPatternModal(false);
82
89
  setShowTemplatePartModal(false);
83
90
  }
84
- const controls = [{
85
- icon: symbol,
86
- onClick: () => setShowPatternModal(true),
87
- title: addNewPatternLabel
88
- }];
89
- if (isBlockBasedTheme) {
91
+ const controls = [];
92
+ if (canCreatePattern) {
93
+ controls.push({
94
+ icon: symbol,
95
+ onClick: () => setShowPatternModal(true),
96
+ title: addNewPatternLabel
97
+ });
98
+ }
99
+ if (isBlockBasedTheme && canCreateTemplatePart) {
90
100
  controls.push({
91
101
  icon: symbolFilled,
92
102
  onClick: () => setShowTemplatePartModal(true),
93
103
  title: addNewTemplatePartLabel
94
104
  });
95
105
  }
96
- controls.push({
97
- icon: upload,
98
- onClick: () => {
99
- patternUploadInputRef.current.click();
100
- },
101
- title: __('Import pattern from JSON')
102
- });
106
+ if (canCreatePattern) {
107
+ controls.push({
108
+ icon: upload,
109
+ onClick: () => {
110
+ patternUploadInputRef.current.click();
111
+ },
112
+ title: __('Import pattern from JSON')
113
+ });
114
+ }
103
115
  const {
104
116
  categoryMap,
105
117
  findOrCreateTerm
106
118
  } = useAddPatternCategory();
119
+ if (controls.length === 0) {
120
+ return null;
121
+ }
107
122
  return /*#__PURE__*/_jsxs(_Fragment, {
108
123
  children: [addNewPatternLabel && /*#__PURE__*/_jsx(DropdownMenu, {
109
124
  controls: controls,
@@ -1 +1 @@
1
- {"version":3,"names":["DropdownMenu","useState","useRef","__","sprintf","symbol","symbolFilled","upload","useSelect","useDispatch","privateApis","routerPrivateApis","editPatternsPrivateApis","store","patternsStore","noticesStore","coreStore","editorPrivateApis","unlock","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","TEMPLATE_PART_POST_TYPE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useHistory","CreatePatternModal","useAddPatternCategory","CreateTemplatePartModal","AddNewPattern","history","showPatternModal","setShowPatternModal","showTemplatePartModal","setShowTemplatePartModal","createPatternFromFile","createSuccessNotice","createErrorNotice","patternUploadInputRef","isBlockBasedTheme","addNewPatternLabel","addNewTemplatePartLabel","select","getCurrentTheme","getPostType","is_block_theme","user","labels","add_new_item","handleCreatePattern","pattern","push","postId","id","postType","canvas","handleCreateTemplatePart","templatePart","handleError","controls","icon","onClick","title","current","click","categoryMap","findOrCreateTerm","children","toggleProps","variant","showTooltip","__next40pxDefaultSize","text","label","onClose","onSuccess","onError","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","params","categoryId","getLocationWithParams","currentCategoryId","currentCategory","values","find","term","name","undefined","raw","err","message","value"],"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { symbol, symbolFilled, upload } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useHistory } = unlock( routerPrivateApis );\nconst { CreatePatternModal, useAddPatternCategory } = unlock(\n\teditPatternsPrivateApis\n);\nconst { CreateTemplatePartModal } = unlock( editorPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\tconst { isBlockBasedTheme, addNewPatternLabel, addNewTemplatePartLabel } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getCurrentTheme, getPostType } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tisBlockBasedTheme: getCurrentTheme()?.is_block_theme,\n\t\t\t\taddNewPatternLabel: getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t\t?.add_new_item,\n\t\t\t\taddNewTemplatePartLabel: getPostType( TEMPLATE_PART_POST_TYPE )\n\t\t\t\t\t?.labels?.add_new_item,\n\t\t\t};\n\t\t}, [] );\n\n\tfunction handleCreatePattern( { pattern } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [\n\t\t{\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: addNewPatternLabel,\n\t\t},\n\t];\n\n\tif ( isBlockBasedTheme ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: addNewTemplatePartLabel,\n\t\t} );\n\t}\n\n\tcontrols.push( {\n\t\ticon: upload,\n\t\tonClick: () => {\n\t\t\tpatternUploadInputRef.current.click();\n\t\t},\n\t\ttitle: __( 'Import pattern from JSON' ),\n\t} );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\treturn (\n\t\t<>\n\t\t\t{ addNewPatternLabel && (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tshowTooltip: false,\n\t\t\t\t\t\t__next40pxDefaultSize: true,\n\t\t\t\t\t} }\n\t\t\t\t\ttext={ addNewPatternLabel }\n\t\t\t\t\tlabel={ addNewPatternLabel }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tparams: { postType, categoryId },\n\t\t\t\t\t\t} = history.getLocationWithParams();\n\t\t\t\t\t\tlet currentCategoryId;\n\t\t\t\t\t\t// When we're not handling template parts, we should\n\t\t\t\t\t\t// add or create the proper pattern category.\n\t\t\t\t\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\t\t\t\tconst currentCategory = categoryMap\n\t\t\t\t\t\t\t\t.values()\n\t\t\t\t\t\t\t\t.find( ( term ) => term.name === categoryId );\n\t\t\t\t\t\t\tif ( currentCategory ) {\n\t\t\t\t\t\t\t\tcurrentCategoryId =\n\t\t\t\t\t\t\t\t\tcurrentCategory.id ||\n\t\t\t\t\t\t\t\t\t( await findOrCreateTerm(\n\t\t\t\t\t\t\t\t\t\tcurrentCategory.label\n\t\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\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already and if we're not in the `my-patterns`\n\t\t\t\t\t\t// category.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! currentCategoryId &&\n\t\t\t\t\t\t\tcategoryId !== 'my-patterns'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\t\t\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DropdownMenu","useState","useRef","__","sprintf","symbol","symbolFilled","upload","useSelect","useDispatch","privateApis","routerPrivateApis","editPatternsPrivateApis","store","patternsStore","noticesStore","coreStore","editorPrivateApis","unlock","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","TEMPLATE_PART_POST_TYPE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useHistory","CreatePatternModal","useAddPatternCategory","CreateTemplatePartModal","AddNewPattern","history","showPatternModal","setShowPatternModal","showTemplatePartModal","setShowTemplatePartModal","createPatternFromFile","createSuccessNotice","createErrorNotice","patternUploadInputRef","isBlockBasedTheme","addNewPatternLabel","addNewTemplatePartLabel","canCreatePattern","canCreateTemplatePart","select","getCurrentTheme","getPostType","canUser","is_block_theme","user","labels","add_new_item","handleCreatePattern","pattern","push","postId","id","postType","canvas","handleCreateTemplatePart","templatePart","handleError","controls","icon","onClick","title","current","click","categoryMap","findOrCreateTerm","length","children","toggleProps","variant","showTooltip","__next40pxDefaultSize","text","label","onClose","onSuccess","onError","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","params","categoryId","getLocationWithParams","currentCategoryId","currentCategory","values","find","term","name","undefined","raw","err","message","value"],"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { symbol, symbolFilled, upload } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useHistory } = unlock( routerPrivateApis );\nconst { CreatePatternModal, useAddPatternCategory } = unlock(\n\teditPatternsPrivateApis\n);\nconst { CreateTemplatePartModal } = unlock( editorPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\tconst {\n\t\tisBlockBasedTheme,\n\t\taddNewPatternLabel,\n\t\taddNewTemplatePartLabel,\n\t\tcanCreatePattern,\n\t\tcanCreateTemplatePart,\n\t} = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getPostType, canUser } = select( coreStore );\n\t\treturn {\n\t\t\tisBlockBasedTheme: getCurrentTheme()?.is_block_theme,\n\t\t\taddNewPatternLabel: getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t?.add_new_item,\n\t\t\taddNewTemplatePartLabel: getPostType( TEMPLATE_PART_POST_TYPE )\n\t\t\t\t?.labels?.add_new_item,\n\t\t\t// Blocks refers to the wp_block post type, this checks the ability to create a post of that type.\n\t\t\tcanCreatePattern: canUser( 'create', 'blocks' ),\n\t\t\tcanCreateTemplatePart: canUser( 'create', 'template-parts' ),\n\t\t};\n\t}, [] );\n\n\tfunction handleCreatePattern( { pattern } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [];\n\tif ( canCreatePattern ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: addNewPatternLabel,\n\t\t} );\n\t}\n\n\tif ( isBlockBasedTheme && canCreateTemplatePart ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: addNewTemplatePartLabel,\n\t\t} );\n\t}\n\n\tif ( canCreatePattern ) {\n\t\tcontrols.push( {\n\t\t\ticon: upload,\n\t\t\tonClick: () => {\n\t\t\t\tpatternUploadInputRef.current.click();\n\t\t\t},\n\t\t\ttitle: __( 'Import pattern from JSON' ),\n\t\t} );\n\t}\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\tif ( controls.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ addNewPatternLabel && (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tshowTooltip: false,\n\t\t\t\t\t\t__next40pxDefaultSize: true,\n\t\t\t\t\t} }\n\t\t\t\t\ttext={ addNewPatternLabel }\n\t\t\t\t\tlabel={ addNewPatternLabel }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tparams: { postType, categoryId },\n\t\t\t\t\t\t} = history.getLocationWithParams();\n\t\t\t\t\t\tlet currentCategoryId;\n\t\t\t\t\t\t// When we're not handling template parts, we should\n\t\t\t\t\t\t// add or create the proper pattern category.\n\t\t\t\t\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\t\t\t\tconst currentCategory = categoryMap\n\t\t\t\t\t\t\t\t.values()\n\t\t\t\t\t\t\t\t.find( ( term ) => term.name === categoryId );\n\t\t\t\t\t\t\tif ( currentCategory ) {\n\t\t\t\t\t\t\t\tcurrentCategoryId =\n\t\t\t\t\t\t\t\t\tcurrentCategory.id ||\n\t\t\t\t\t\t\t\t\t( await findOrCreateTerm(\n\t\t\t\t\t\t\t\t\t\tcurrentCategory.label\n\t\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\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already and if we're not in the `my-patterns`\n\t\t\t\t\t\t// category.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! currentCategoryId &&\n\t\t\t\t\t\t\tcategoryId !== 'my-patterns'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\t\t\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -31,7 +31,7 @@ import { useSpecificEditorSettings } from '../block-editor/use-site-editor-setti
31
31
  import PluginTemplateSettingPanel from '../plugin-template-setting-panel';
32
32
  import GlobalStylesSidebar from '../global-styles-sidebar';
33
33
  import { isPreviewingTheme } from '../../utils/is-previewing-theme';
34
- import { getEditorCanvasContainerTitle, useHasEditorCanvasContainer } from '../editor-canvas-container';
34
+ import { getEditorCanvasContainerTitleAndIcon, useHasEditorCanvasContainer } from '../editor-canvas-container';
35
35
  import SaveButton from '../save-button';
36
36
  import SiteEditorMoreMenu from '../more-menu';
37
37
  import SiteIcon from '../site-icon';
@@ -66,6 +66,7 @@ export default function EditSiteEditor({
66
66
  currentPostIsTrashed
67
67
  } = useSelect(select => {
68
68
  const {
69
+ getEditorCanvasContainerView,
69
70
  getEditedPostContext,
70
71
  getCanvasMode,
71
72
  isPage,
@@ -91,7 +92,7 @@ export default function EditSiteEditor({
91
92
  isEditingPage: isPage(),
92
93
  supportsGlobalStyles: getCurrentTheme()?.is_block_theme,
93
94
  showIconLabels: get('core', 'showIconLabels'),
94
- editorCanvasView: unlock(select(editSiteStore)).getEditorCanvasContainerView(),
95
+ editorCanvasView: getEditorCanvasContainerView(),
95
96
  currentPostIsTrashed: select(editorStore).getCurrentPostAttribute('status') === 'trash'
96
97
  };
97
98
  }, []);
@@ -106,8 +107,7 @@ export default function EditSiteEditor({
106
107
  const styles = useMemo(() => [...settings.styles, {
107
108
  // Forming a "block formatting context" to prevent margin collapsing.
108
109
  // @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context
109
-
110
- css: `body{${canvasMode === 'view' ? `min-height: 100vh; ${currentPostIsTrashed ? '' : 'cursor: pointer;'}` : ''}}}`
110
+ css: canvasMode === 'view' ? `body{min-height: 100vh; ${currentPostIsTrashed ? '' : 'cursor: pointer;'}}` : undefined
111
111
  }], [settings.styles, canvasMode, currentPostIsTrashed]);
112
112
  const {
113
113
  setCanvasMode
@@ -150,6 +150,12 @@ export default function EditSiteEditor({
150
150
  break;
151
151
  }
152
152
  }, [history, createSuccessNotice]);
153
+
154
+ // Replace the title and icon displayed in the DocumentBar when there's an overlay visible.
155
+ const {
156
+ title,
157
+ icon
158
+ } = getEditorCanvasContainerTitleAndIcon(editorCanvasView);
153
159
  const isReady = !isLoading;
154
160
  return /*#__PURE__*/_jsxs(_Fragment, {
155
161
  children: [/*#__PURE__*/_jsx(GlobalStylesRenderer, {}), /*#__PURE__*/_jsx(EditorKeyboardShortcutsRegister, {}), isEditMode && /*#__PURE__*/_jsx(BlockKeyboardShortcuts, {}), !isReady ? /*#__PURE__*/_jsx(CanvasLoader, {
@@ -168,7 +174,8 @@ export default function EditSiteEditor({
168
174
  size: "compact"
169
175
  }),
170
176
  forceDisableBlockTools: !hasDefaultEditorCanvasView,
171
- title: !hasDefaultEditorCanvasView ? getEditorCanvasContainerTitle(editorCanvasView) : undefined,
177
+ title: title,
178
+ icon: icon,
172
179
  iframeProps: iframeProps,
173
180
  onActionPerformed: onActionPerformed,
174
181
  extraSidebarPanels: !isEditingPage && /*#__PURE__*/_jsx(PluginTemplateSettingPanel.Slot, {}),
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useDispatch","useSelect","Button","useInstanceId","EditorKeyboardShortcutsRegister","privateApis","editorPrivateApis","store","editorStore","__","sprintf","coreDataStore","blockLibraryPrivateApis","useCallback","useMemo","noticesStore","routerPrivateApis","preferencesStore","decodeEntities","WelcomeGuide","editSiteStore","GlobalStylesRenderer","CanvasLoader","unlock","useSpecificEditorSettings","PluginTemplateSettingPanel","GlobalStylesSidebar","isPreviewingTheme","getEditorCanvasContainerTitle","useHasEditorCanvasContainer","SaveButton","SiteEditorMoreMenu","SiteIcon","useEditorIframeProps","useEditorTitle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Editor","BackButton","useHistory","BlockKeyboardShortcuts","EditSiteEditor","isLoading","editedPostType","editedPostId","contextPostType","contextPostId","canvasMode","isEditingPage","supportsGlobalStyles","showIconLabels","editorCanvasView","currentPostIsTrashed","select","getEditedPostContext","getCanvasMode","isPage","getEditedPostType","getEditedPostId","get","getCurrentTheme","_context","postId","postType","undefined","is_block_theme","getEditorCanvasContainerView","getCurrentPostAttribute","_isPreviewingTheme","hasDefaultEditorCanvasView","iframeProps","isEditMode","postWithTemplate","loadingProgressId","settings","styles","css","setCanvasMode","createSuccessNotice","history","onActionPerformed","actionId","items","push","type","newItem","_title","title","rendered","id","actions","label","onClick","canvas","isReady","children","templateId","className","enableRegionNavigation","customSaveButton","size","forceDisableBlockTools","extraSidebarPanels","Slot","length"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport GlobalStylesSidebar from '../global-styles-sidebar';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport {\n\tgetEditorCanvasContainerTitle,\n\tuseHasEditorCanvasContainer,\n} from '../editor-canvas-container';\nimport SaveButton from '../save-button';\nimport SiteEditorMoreMenu from '../more-menu';\nimport SiteIcon from '../site-icon';\nimport useEditorIframeProps from '../block-editor/use-editor-iframe-props';\nimport useEditorTitle from './use-editor-title';\n\nconst { Editor, BackButton } = unlock( editorPrivateApis );\nconst { useHistory } = unlock( routerPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\n\nexport default function EditSiteEditor( { isLoading } ) {\n\tconst {\n\t\teditedPostType,\n\t\teditedPostId,\n\t\tcontextPostType,\n\t\tcontextPostId,\n\t\tcanvasMode,\n\t\tisEditingPage,\n\t\tsupportsGlobalStyles,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t\tcurrentPostIsTrashed,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditedPostContext,\n\t\t\tgetCanvasMode,\n\t\t\tisPage,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getCurrentTheme } = select( coreDataStore );\n\t\tconst _context = getEditedPostContext();\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\teditedPostType: getEditedPostType(),\n\t\t\teditedPostId: getEditedPostId(),\n\t\t\tcontextPostType: _context?.postId ? _context.postType : undefined,\n\t\t\tcontextPostId: _context?.postId ? _context.postId : undefined,\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tisEditingPage: isPage(),\n\t\t\tsupportsGlobalStyles: getCurrentTheme()?.is_block_theme,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\teditorCanvasView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\tcurrentPostIsTrashed:\n\t\t\t\tselect( editorStore ).getCurrentPostAttribute( 'status' ) ===\n\t\t\t\t'trash',\n\t\t};\n\t}, [] );\n\tuseEditorTitle();\n\tconst _isPreviewingTheme = isPreviewingTheme();\n\tconst hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();\n\tconst iframeProps = useEditorIframeProps();\n\tconst isEditMode = canvasMode === 'edit';\n\tconst postWithTemplate = !! contextPostId;\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\t...settings.styles,\n\t\t\t{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\n\t\t\t\tcss: `body{${\n\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t? `min-height: 100vh; ${\n\t\t\t\t\t\t\t\tcurrentPostIsTrashed ? '' : 'cursor: pointer;'\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],\n\t\t[ settings.styles, canvasMode, currentPostIsTrashed ]\n\t);\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst history = useHistory();\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\tcase 'delete-post':\n\t\t\t\t\t{\n\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\tpostType: items[ 0 ].type,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst _title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post e.g: \"Post 1\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( _title )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\t\t\tpostId: newItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\tpostType: newItem.type,\n\t\t\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\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}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ history, createSuccessNotice ]\n\t);\n\n\tconst isReady = ! isLoading;\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesRenderer />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t{ isEditMode && <BlockKeyboardShortcuts /> }\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t{ isReady && (\n\t\t\t\t<Editor\n\t\t\t\t\tpostType={\n\t\t\t\t\t\tpostWithTemplate ? contextPostType : editedPostType\n\t\t\t\t\t}\n\t\t\t\t\tpostId={ postWithTemplate ? contextPostId : editedPostId }\n\t\t\t\t\ttemplateId={ postWithTemplate ? editedPostId : undefined }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tclassName={ clsx( 'edit-site-editor__editor-interface', {\n\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t} ) }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\tcustomSaveButton={\n\t\t\t\t\t\t_isPreviewingTheme && <SaveButton size=\"compact\" />\n\t\t\t\t\t}\n\t\t\t\t\tforceDisableBlockTools={ ! hasDefaultEditorCanvasView }\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t! hasDefaultEditorCanvasView\n\t\t\t\t\t\t\t? getEditorCanvasContainerTitle( editorCanvasView )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t! isEditingPage && <PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t<BackButton>\n\t\t\t\t\t\t\t{ ( { length } ) =>\n\t\t\t\t\t\t\t\tlength <= 1 && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open Navigation' ) }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetCanvasMode( 'view' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</BackButton>\n\t\t\t\t\t) }\n\t\t\t\t\t<SiteEditorMoreMenu />\n\t\t\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t\t\t</Editor>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useDispatch","useSelect","Button","useInstanceId","EditorKeyboardShortcutsRegister","privateApis","editorPrivateApis","store","editorStore","__","sprintf","coreDataStore","blockLibraryPrivateApis","useCallback","useMemo","noticesStore","routerPrivateApis","preferencesStore","decodeEntities","WelcomeGuide","editSiteStore","GlobalStylesRenderer","CanvasLoader","unlock","useSpecificEditorSettings","PluginTemplateSettingPanel","GlobalStylesSidebar","isPreviewingTheme","getEditorCanvasContainerTitleAndIcon","useHasEditorCanvasContainer","SaveButton","SiteEditorMoreMenu","SiteIcon","useEditorIframeProps","useEditorTitle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Editor","BackButton","useHistory","BlockKeyboardShortcuts","EditSiteEditor","isLoading","editedPostType","editedPostId","contextPostType","contextPostId","canvasMode","isEditingPage","supportsGlobalStyles","showIconLabels","editorCanvasView","currentPostIsTrashed","select","getEditorCanvasContainerView","getEditedPostContext","getCanvasMode","isPage","getEditedPostType","getEditedPostId","get","getCurrentTheme","_context","postId","postType","undefined","is_block_theme","getCurrentPostAttribute","_isPreviewingTheme","hasDefaultEditorCanvasView","iframeProps","isEditMode","postWithTemplate","loadingProgressId","settings","styles","css","setCanvasMode","createSuccessNotice","history","onActionPerformed","actionId","items","push","type","newItem","_title","title","rendered","id","actions","label","onClick","canvas","icon","isReady","children","templateId","className","enableRegionNavigation","customSaveButton","size","forceDisableBlockTools","extraSidebarPanels","Slot","length"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport GlobalStylesSidebar from '../global-styles-sidebar';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport {\n\tgetEditorCanvasContainerTitleAndIcon,\n\tuseHasEditorCanvasContainer,\n} from '../editor-canvas-container';\nimport SaveButton from '../save-button';\nimport SiteEditorMoreMenu from '../more-menu';\nimport SiteIcon from '../site-icon';\nimport useEditorIframeProps from '../block-editor/use-editor-iframe-props';\nimport useEditorTitle from './use-editor-title';\n\nconst { Editor, BackButton } = unlock( editorPrivateApis );\nconst { useHistory } = unlock( routerPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\n\nexport default function EditSiteEditor( { isLoading } ) {\n\tconst {\n\t\teditedPostType,\n\t\teditedPostId,\n\t\tcontextPostType,\n\t\tcontextPostId,\n\t\tcanvasMode,\n\t\tisEditingPage,\n\t\tsupportsGlobalStyles,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t\tcurrentPostIsTrashed,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditorCanvasContainerView,\n\t\t\tgetEditedPostContext,\n\t\t\tgetCanvasMode,\n\t\t\tisPage,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getCurrentTheme } = select( coreDataStore );\n\t\tconst _context = getEditedPostContext();\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\teditedPostType: getEditedPostType(),\n\t\t\teditedPostId: getEditedPostId(),\n\t\t\tcontextPostType: _context?.postId ? _context.postType : undefined,\n\t\t\tcontextPostId: _context?.postId ? _context.postId : undefined,\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tisEditingPage: isPage(),\n\t\t\tsupportsGlobalStyles: getCurrentTheme()?.is_block_theme,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\teditorCanvasView: getEditorCanvasContainerView(),\n\t\t\tcurrentPostIsTrashed:\n\t\t\t\tselect( editorStore ).getCurrentPostAttribute( 'status' ) ===\n\t\t\t\t'trash',\n\t\t};\n\t}, [] );\n\tuseEditorTitle();\n\tconst _isPreviewingTheme = isPreviewingTheme();\n\tconst hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();\n\tconst iframeProps = useEditorIframeProps();\n\tconst isEditMode = canvasMode === 'edit';\n\tconst postWithTemplate = !! contextPostId;\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\t...settings.styles,\n\t\t\t{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\tcss:\n\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t? `body{min-height: 100vh; ${\n\t\t\t\t\t\t\t\tcurrentPostIsTrashed ? '' : 'cursor: pointer;'\n\t\t\t\t\t\t }}`\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t],\n\t\t[ settings.styles, canvasMode, currentPostIsTrashed ]\n\t);\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst history = useHistory();\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\tcase 'delete-post':\n\t\t\t\t\t{\n\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\tpostType: items[ 0 ].type,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst _title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post e.g: \"Post 1\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( _title )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\t\t\tpostId: newItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\tpostType: newItem.type,\n\t\t\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\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}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ history, createSuccessNotice ]\n\t);\n\n\t// Replace the title and icon displayed in the DocumentBar when there's an overlay visible.\n\tconst { title, icon } =\n\t\tgetEditorCanvasContainerTitleAndIcon( editorCanvasView );\n\n\tconst isReady = ! isLoading;\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesRenderer />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t{ isEditMode && <BlockKeyboardShortcuts /> }\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t{ isReady && (\n\t\t\t\t<Editor\n\t\t\t\t\tpostType={\n\t\t\t\t\t\tpostWithTemplate ? contextPostType : editedPostType\n\t\t\t\t\t}\n\t\t\t\t\tpostId={ postWithTemplate ? contextPostId : editedPostId }\n\t\t\t\t\ttemplateId={ postWithTemplate ? editedPostId : undefined }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tclassName={ clsx( 'edit-site-editor__editor-interface', {\n\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t} ) }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\tcustomSaveButton={\n\t\t\t\t\t\t_isPreviewingTheme && <SaveButton size=\"compact\" />\n\t\t\t\t\t}\n\t\t\t\t\tforceDisableBlockTools={ ! hasDefaultEditorCanvasView }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t! isEditingPage && <PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t<BackButton>\n\t\t\t\t\t\t\t{ ( { length } ) =>\n\t\t\t\t\t\t\t\tlength <= 1 && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open Navigation' ) }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetCanvasMode( 'view' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</BackButton>\n\t\t\t\t\t) }\n\t\t\t\t\t<SiteEditorMoreMenu />\n\t\t\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t\t\t</Editor>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ import { Button, __experimentalUseSlotFills as useSlotFills } from '@wordpress/c
6
6
  import { ESCAPE } from '@wordpress/keycodes';
7
7
  import { __ } from '@wordpress/i18n';
8
8
  import { useDispatch, useSelect } from '@wordpress/data';
9
- import { closeSmall } from '@wordpress/icons';
9
+ import { backup, closeSmall, seen } from '@wordpress/icons';
10
10
  import { useFocusOnMount, useFocusReturn } from '@wordpress/compose';
11
11
  import { store as preferencesStore } from '@wordpress/preferences';
12
12
  import { store as editorStore, privateApis as editorPrivateApis } from '@wordpress/editor';
@@ -28,17 +28,26 @@ const {
28
28
  *
29
29
  * @param {string} view Editor canvas container view.
30
30
  *
31
- * @return {string} Translated string corresponding to value of view. Default is ''.
31
+ * @return {Object} Translated string for the view title and associated icon, both defaulting to ''.
32
32
  */
33
- function getEditorCanvasContainerTitle(view) {
33
+ function getEditorCanvasContainerTitleAndIcon(view) {
34
34
  switch (view) {
35
35
  case 'style-book':
36
- return __('Style Book');
36
+ return {
37
+ title: __('Style Book'),
38
+ icon: seen
39
+ };
37
40
  case 'global-styles-revisions':
38
41
  case 'global-styles-revisions:style-book':
39
- return __('Style Revisions');
42
+ return {
43
+ title: __('Style Revisions'),
44
+ icon: backup
45
+ };
40
46
  default:
41
- return '';
47
+ return {
48
+ title: '',
49
+ icon: ''
50
+ };
42
51
  }
43
52
  }
44
53
  function EditorCanvasContainer({
@@ -89,7 +98,9 @@ function EditorCanvasContainer({
89
98
  if (isClosed) {
90
99
  return null;
91
100
  }
92
- const title = getEditorCanvasContainerTitle(editorCanvasContainerView);
101
+ const {
102
+ title
103
+ } = getEditorCanvasContainerTitleAndIcon(editorCanvasContainerView);
93
104
  const shouldShowCloseButton = onClose || closeButtonLabel;
94
105
  return /*#__PURE__*/_jsx(EditorContentSlotFill.Fill, {
95
106
  children: /*#__PURE__*/_jsx("div", {
@@ -117,5 +128,5 @@ function useHasEditorCanvasContainer() {
117
128
  return !!fills?.length;
118
129
  }
119
130
  export default EditorCanvasContainer;
120
- export { useHasEditorCanvasContainer, getEditorCanvasContainerTitle };
131
+ export { useHasEditorCanvasContainer, getEditorCanvasContainerTitleAndIcon };
121
132
  //# sourceMappingURL=index.js.map