@wordpress/edit-post 7.34.0 → 8.0.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 (252) hide show
  1. package/CHANGELOG.md +15 -2
  2. package/build/commands/use-commands.js +56 -0
  3. package/build/commands/use-commands.js.map +1 -0
  4. package/build/components/{header/fullscreen-mode-close/index.js → back-button/fullscreen-mode-close.js} +18 -16
  5. package/build/components/back-button/fullscreen-mode-close.js.map +1 -0
  6. package/build/components/back-button/index.js +57 -0
  7. package/build/components/back-button/index.js.map +1 -0
  8. package/build/components/header/header-toolbar/index.native.js +63 -62
  9. package/build/components/header/header-toolbar/index.native.js.map +1 -1
  10. package/build/components/header/index.native.js +2 -2
  11. package/build/components/header/index.native.js.map +1 -1
  12. package/build/components/init-pattern-modal/index.js +50 -43
  13. package/build/components/init-pattern-modal/index.js.map +1 -1
  14. package/build/components/layout/index.js +134 -156
  15. package/build/components/layout/index.js.map +1 -1
  16. package/build/components/layout/index.native.js +28 -21
  17. package/build/components/layout/index.native.js.map +1 -1
  18. package/build/components/{visual-editor → layout}/use-padding-appender.js +6 -1
  19. package/build/components/layout/use-padding-appender.js.map +1 -0
  20. package/build/components/layout/use-should-iframe.js +46 -0
  21. package/build/components/layout/use-should-iframe.js.map +1 -0
  22. package/build/components/meta-boxes/index.js +10 -9
  23. package/build/components/meta-boxes/index.js.map +1 -1
  24. package/build/components/meta-boxes/meta-boxes-area/index.js +13 -13
  25. package/build/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  26. package/build/components/more-menu/index.js +49 -0
  27. package/build/components/more-menu/index.js.map +1 -0
  28. package/build/components/{header/more-menu → more-menu}/manage-patterns-menu-item.js +6 -5
  29. package/build/components/more-menu/manage-patterns-menu-item.js.map +1 -0
  30. package/build/components/{header/more-menu → more-menu}/welcome-guide-menu-item.js +2 -2
  31. package/build/components/more-menu/welcome-guide-menu-item.js.map +1 -0
  32. package/build/components/preferences-modal/enable-custom-fields.js +23 -18
  33. package/build/components/preferences-modal/enable-custom-fields.js.map +1 -1
  34. package/build/components/preferences-modal/index.js +4 -4
  35. package/build/components/preferences-modal/index.js.map +1 -1
  36. package/build/components/preferences-modal/meta-boxes-section.js +13 -13
  37. package/build/components/preferences-modal/meta-boxes-section.js.map +1 -1
  38. package/build/components/visual-editor/header.native.js +11 -10
  39. package/build/components/visual-editor/header.native.js.map +1 -1
  40. package/build/components/visual-editor/index.native.js +3 -3
  41. package/build/components/visual-editor/index.native.js.map +1 -1
  42. package/build/components/welcome-guide/default.js +50 -33
  43. package/build/components/welcome-guide/default.js.map +1 -1
  44. package/build/components/welcome-guide/image.js +13 -12
  45. package/build/components/welcome-guide/image.js.map +1 -1
  46. package/build/components/welcome-guide/index.js +2 -2
  47. package/build/components/welcome-guide/index.js.map +1 -1
  48. package/build/components/welcome-guide/template.js +12 -8
  49. package/build/components/welcome-guide/template.js.map +1 -1
  50. package/build/deprecated.js +9 -9
  51. package/build/deprecated.js.map +1 -1
  52. package/build/editor.js +16 -11
  53. package/build/editor.js.map +1 -1
  54. package/build/editor.native.js +18 -12
  55. package/build/editor.native.js.map +1 -1
  56. package/build/index.js +12 -13
  57. package/build/index.js.map +1 -1
  58. package/build/index.native.js +2 -2
  59. package/build/index.native.js.map +1 -1
  60. package/build/store/selectors.js +1 -1
  61. package/build/store/selectors.js.map +1 -1
  62. package/build-module/commands/use-commands.js +49 -0
  63. package/build-module/commands/use-commands.js.map +1 -0
  64. package/build-module/components/{header/fullscreen-mode-close/index.js → back-button/fullscreen-mode-close.js} +18 -16
  65. package/build-module/components/back-button/fullscreen-mode-close.js.map +1 -0
  66. package/build-module/components/back-button/index.js +49 -0
  67. package/build-module/components/back-button/index.js.map +1 -0
  68. package/build-module/components/header/header-toolbar/index.native.js +64 -62
  69. package/build-module/components/header/header-toolbar/index.native.js.map +1 -1
  70. package/build-module/components/header/index.native.js +2 -2
  71. package/build-module/components/header/index.native.js.map +1 -1
  72. package/build-module/components/init-pattern-modal/index.js +52 -43
  73. package/build-module/components/init-pattern-modal/index.js.map +1 -1
  74. package/build-module/components/layout/index.js +139 -159
  75. package/build-module/components/layout/index.js.map +1 -1
  76. package/build-module/components/layout/index.native.js +30 -21
  77. package/build-module/components/layout/index.native.js.map +1 -1
  78. package/build-module/components/{visual-editor → layout}/use-padding-appender.js +6 -1
  79. package/build-module/components/layout/use-padding-appender.js.map +1 -0
  80. package/build-module/components/layout/use-should-iframe.js +39 -0
  81. package/build-module/components/layout/use-should-iframe.js.map +1 -0
  82. package/build-module/components/meta-boxes/index.js +12 -9
  83. package/build-module/components/meta-boxes/index.js.map +1 -1
  84. package/build-module/components/meta-boxes/meta-boxes-area/index.js +13 -11
  85. package/build-module/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  86. package/build-module/components/more-menu/index.js +43 -0
  87. package/build-module/components/more-menu/index.js.map +1 -0
  88. package/build-module/components/{header/more-menu → more-menu}/manage-patterns-menu-item.js +6 -5
  89. package/build-module/components/more-menu/manage-patterns-menu-item.js.map +1 -0
  90. package/build-module/components/{header/more-menu → more-menu}/welcome-guide-menu-item.js +2 -2
  91. package/build-module/components/more-menu/welcome-guide-menu-item.js.map +1 -0
  92. package/build-module/components/preferences-modal/enable-custom-fields.js +25 -18
  93. package/build-module/components/preferences-modal/enable-custom-fields.js.map +1 -1
  94. package/build-module/components/preferences-modal/index.js +4 -4
  95. package/build-module/components/preferences-modal/index.js.map +1 -1
  96. package/build-module/components/preferences-modal/meta-boxes-section.js +14 -13
  97. package/build-module/components/preferences-modal/meta-boxes-section.js.map +1 -1
  98. package/build-module/components/visual-editor/header.native.js +11 -10
  99. package/build-module/components/visual-editor/header.native.js.map +1 -1
  100. package/build-module/components/visual-editor/index.native.js +3 -3
  101. package/build-module/components/visual-editor/index.native.js.map +1 -1
  102. package/build-module/components/welcome-guide/default.js +52 -33
  103. package/build-module/components/welcome-guide/default.js.map +1 -1
  104. package/build-module/components/welcome-guide/image.js +14 -12
  105. package/build-module/components/welcome-guide/image.js.map +1 -1
  106. package/build-module/components/welcome-guide/index.js +2 -2
  107. package/build-module/components/welcome-guide/index.js.map +1 -1
  108. package/build-module/components/welcome-guide/template.js +14 -8
  109. package/build-module/components/welcome-guide/template.js.map +1 -1
  110. package/build-module/deprecated.js +9 -9
  111. package/build-module/deprecated.js.map +1 -1
  112. package/build-module/editor.js +17 -11
  113. package/build-module/editor.js.map +1 -1
  114. package/build-module/editor.native.js +18 -12
  115. package/build-module/editor.native.js.map +1 -1
  116. package/build-module/index.js +10 -7
  117. package/build-module/index.js.map +1 -1
  118. package/build-module/index.native.js +2 -2
  119. package/build-module/index.native.js.map +1 -1
  120. package/build-module/store/selectors.js +1 -1
  121. package/build-module/store/selectors.js.map +1 -1
  122. package/build-style/style-rtl.css +31 -392
  123. package/build-style/style.css +31 -392
  124. package/package.json +33 -33
  125. package/src/commands/use-commands.js +48 -0
  126. package/src/components/{header/fullscreen-mode-close/index.js → back-button/fullscreen-mode-close.js} +3 -3
  127. package/src/components/back-button/index.js +34 -0
  128. package/src/components/{header/fullscreen-mode-close → back-button}/style.scss +16 -2
  129. package/src/components/{header/fullscreen-mode-close/test/index.js → back-button/test/fullscreen-mode-close.js} +1 -1
  130. package/src/components/layout/index.js +151 -207
  131. package/src/components/layout/style.scss +9 -17
  132. package/src/components/{visual-editor → layout}/use-padding-appender.js +7 -1
  133. package/src/components/layout/use-should-iframe.js +40 -0
  134. package/src/components/meta-boxes/meta-boxes-area/index.js +4 -8
  135. package/src/components/{header/more-menu → more-menu}/index.js +2 -2
  136. package/src/components/{header/more-menu → more-menu}/manage-patterns-menu-item.js +1 -1
  137. package/src/index.js +11 -6
  138. package/src/store/selectors.js +8 -5
  139. package/src/style.scss +3 -10
  140. package/src/test/__snapshots__/editor.native.js.snap +72 -0
  141. package/src/test/editor.native.js +77 -0
  142. package/build/components/header/fullscreen-mode-close/index.js.map +0 -1
  143. package/build/components/header/index.js +0 -158
  144. package/build/components/header/index.js.map +0 -1
  145. package/build/components/header/main-dashboard-button/index.js +0 -33
  146. package/build/components/header/main-dashboard-button/index.js.map +0 -1
  147. package/build/components/header/more-menu/index.js +0 -43
  148. package/build/components/header/more-menu/index.js.map +0 -1
  149. package/build/components/header/more-menu/manage-patterns-menu-item.js.map +0 -1
  150. package/build/components/header/more-menu/welcome-guide-menu-item.js.map +0 -1
  151. package/build/components/sidebar/post-format/index.js +0 -21
  152. package/build/components/sidebar/post-format/index.js.map +0 -1
  153. package/build/components/sidebar/post-pending-status/index.js +0 -26
  154. package/build/components/sidebar/post-pending-status/index.js.map +0 -1
  155. package/build/components/sidebar/post-slug/index.js +0 -21
  156. package/build/components/sidebar/post-slug/index.js.map +0 -1
  157. package/build/components/sidebar/post-status/index.js +0 -92
  158. package/build/components/sidebar/post-status/index.js.map +0 -1
  159. package/build/components/sidebar/post-sticky/index.js +0 -26
  160. package/build/components/sidebar/post-sticky/index.js.map +0 -1
  161. package/build/components/sidebar/post-trash/index.js +0 -16
  162. package/build/components/sidebar/post-trash/index.js.map +0 -1
  163. package/build/components/sidebar/post-visibility/index.js +0 -78
  164. package/build/components/sidebar/post-visibility/index.js.map +0 -1
  165. package/build/components/sidebar/settings-header/index.js +0 -53
  166. package/build/components/sidebar/settings-header/index.js.map +0 -1
  167. package/build/components/sidebar/settings-sidebar/index.js +0 -193
  168. package/build/components/sidebar/settings-sidebar/index.js.map +0 -1
  169. package/build/components/text-editor/index.js +0 -61
  170. package/build/components/text-editor/index.js.map +0 -1
  171. package/build/components/visual-editor/block-inspector-button.js +0 -55
  172. package/build/components/visual-editor/block-inspector-button.js.map +0 -1
  173. package/build/components/visual-editor/index.js +0 -92
  174. package/build/components/visual-editor/index.js.map +0 -1
  175. package/build/components/visual-editor/use-padding-appender.js.map +0 -1
  176. package/build/hooks/commands/use-common-commands.js +0 -119
  177. package/build/hooks/commands/use-common-commands.js.map +0 -1
  178. package/build/hooks/components/index.js +0 -11
  179. package/build/hooks/components/index.js.map +0 -1
  180. package/build/hooks/index.js +0 -5
  181. package/build/hooks/index.js.map +0 -1
  182. package/build/hooks/validate-multiple-use/index.js +0 -134
  183. package/build/hooks/validate-multiple-use/index.js.map +0 -1
  184. package/build-module/components/header/fullscreen-mode-close/index.js.map +0 -1
  185. package/build-module/components/header/index.js +0 -150
  186. package/build-module/components/header/index.js.map +0 -1
  187. package/build-module/components/header/main-dashboard-button/index.js +0 -26
  188. package/build-module/components/header/main-dashboard-button/index.js.map +0 -1
  189. package/build-module/components/header/more-menu/index.js +0 -35
  190. package/build-module/components/header/more-menu/index.js.map +0 -1
  191. package/build-module/components/header/more-menu/manage-patterns-menu-item.js.map +0 -1
  192. package/build-module/components/header/more-menu/welcome-guide-menu-item.js.map +0 -1
  193. package/build-module/components/sidebar/post-format/index.js +0 -13
  194. package/build-module/components/sidebar/post-format/index.js.map +0 -1
  195. package/build-module/components/sidebar/post-pending-status/index.js +0 -18
  196. package/build-module/components/sidebar/post-pending-status/index.js.map +0 -1
  197. package/build-module/components/sidebar/post-slug/index.js +0 -13
  198. package/build-module/components/sidebar/post-slug/index.js.map +0 -1
  199. package/build-module/components/sidebar/post-status/index.js +0 -84
  200. package/build-module/components/sidebar/post-status/index.js.map +0 -1
  201. package/build-module/components/sidebar/post-sticky/index.js +0 -18
  202. package/build-module/components/sidebar/post-sticky/index.js.map +0 -1
  203. package/build-module/components/sidebar/post-trash/index.js +0 -9
  204. package/build-module/components/sidebar/post-trash/index.js.map +0 -1
  205. package/build-module/components/sidebar/post-visibility/index.js +0 -70
  206. package/build-module/components/sidebar/post-visibility/index.js.map +0 -1
  207. package/build-module/components/sidebar/settings-header/index.js +0 -46
  208. package/build-module/components/sidebar/settings-header/index.js.map +0 -1
  209. package/build-module/components/sidebar/settings-sidebar/index.js +0 -185
  210. package/build-module/components/sidebar/settings-sidebar/index.js.map +0 -1
  211. package/build-module/components/text-editor/index.js +0 -54
  212. package/build-module/components/text-editor/index.js.map +0 -1
  213. package/build-module/components/visual-editor/block-inspector-button.js +0 -47
  214. package/build-module/components/visual-editor/block-inspector-button.js.map +0 -1
  215. package/build-module/components/visual-editor/index.js +0 -84
  216. package/build-module/components/visual-editor/index.js.map +0 -1
  217. package/build-module/components/visual-editor/use-padding-appender.js.map +0 -1
  218. package/build-module/hooks/commands/use-common-commands.js +0 -112
  219. package/build-module/hooks/commands/use-common-commands.js.map +0 -1
  220. package/build-module/hooks/components/index.js +0 -8
  221. package/build-module/hooks/components/index.js.map +0 -1
  222. package/build-module/hooks/index.js +0 -6
  223. package/build-module/hooks/index.js.map +0 -1
  224. package/build-module/hooks/validate-multiple-use/index.js +0 -132
  225. package/build-module/hooks/validate-multiple-use/index.js.map +0 -1
  226. package/src/components/header/index.js +0 -156
  227. package/src/components/header/main-dashboard-button/index.js +0 -28
  228. package/src/components/header/style.scss +0 -251
  229. package/src/components/sidebar/post-format/index.js +0 -20
  230. package/src/components/sidebar/post-format/style.scss +0 -5
  231. package/src/components/sidebar/post-pending-status/index.js +0 -27
  232. package/src/components/sidebar/post-slug/index.js +0 -17
  233. package/src/components/sidebar/post-slug/style.scss +0 -5
  234. package/src/components/sidebar/post-status/index.js +0 -128
  235. package/src/components/sidebar/post-sticky/index.js +0 -27
  236. package/src/components/sidebar/post-trash/index.js +0 -12
  237. package/src/components/sidebar/post-visibility/index.js +0 -88
  238. package/src/components/sidebar/post-visibility/style.scss +0 -5
  239. package/src/components/sidebar/settings-header/index.js +0 -49
  240. package/src/components/sidebar/settings-sidebar/index.js +0 -247
  241. package/src/components/sidebar/style.scss +0 -18
  242. package/src/components/text-editor/index.js +0 -63
  243. package/src/components/text-editor/style.scss +0 -71
  244. package/src/components/visual-editor/block-inspector-button.js +0 -59
  245. package/src/components/visual-editor/index.js +0 -101
  246. package/src/components/visual-editor/style.scss +0 -53
  247. package/src/hooks/commands/use-common-commands.js +0 -126
  248. package/src/hooks/components/index.js +0 -13
  249. package/src/hooks/index.js +0 -5
  250. package/src/hooks/validate-multiple-use/index.js +0 -163
  251. /package/src/components/{header/fullscreen-mode-close/test/__snapshots__/index.js.snap → back-button/test/__snapshots__/fullscreen-mode-close.js.snap} +0 -0
  252. /package/src/components/{header/more-menu → more-menu}/welcome-guide-menu-item.js +0 -0
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = InitPatternModal;
7
- var _react = require("react");
8
7
  var _data = require("@wordpress/data");
9
8
  var _i18n = require("@wordpress/i18n");
10
9
  var _components = require("@wordpress/components");
@@ -12,6 +11,7 @@ var _element = require("@wordpress/element");
12
11
  var _editor = require("@wordpress/editor");
13
12
  var _blockEditor = require("@wordpress/block-editor");
14
13
  var _lockUnlock = require("../../lock-unlock");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
15
  /**
16
16
  * WordPress dependencies
17
17
  */
@@ -53,47 +53,54 @@ function InitPatternModal() {
53
53
  if (postType !== 'wp_block' || !isNewPost) {
54
54
  return null;
55
55
  }
56
- return (0, _react.createElement)(_react.Fragment, null, isModalOpen && (0, _react.createElement)(_components.Modal, {
57
- title: (0, _i18n.__)('Create pattern'),
58
- onRequestClose: () => {
59
- setIsModalOpen(false);
60
- },
61
- overlayClassName: "reusable-blocks-menu-items__convert-modal"
62
- }, (0, _react.createElement)("form", {
63
- onSubmit: event => {
64
- event.preventDefault();
65
- setIsModalOpen(false);
66
- editPost({
67
- title,
68
- meta: {
69
- wp_pattern_sync_status: syncType
70
- }
71
- });
72
- }
73
- }, (0, _react.createElement)(_components.__experimentalVStack, {
74
- spacing: "5"
75
- }, (0, _react.createElement)(_components.TextControl, {
76
- label: (0, _i18n.__)('Name'),
77
- value: title,
78
- onChange: setTitle,
79
- placeholder: (0, _i18n.__)('My pattern'),
80
- className: "patterns-create-modal__name-input",
81
- __nextHasNoMarginBottom: true,
82
- __next40pxDefaultSize: true
83
- }), (0, _react.createElement)(ReusableBlocksRenameHint, null), (0, _react.createElement)(_components.ToggleControl, {
84
- label: (0, _i18n._x)('Synced', 'Option that makes an individual pattern synchronized'),
85
- help: (0, _i18n.__)('Sync this pattern across multiple locations.'),
86
- checked: !syncType,
87
- onChange: () => {
88
- setSyncType(!syncType ? 'unsynced' : undefined);
89
- }
90
- }), (0, _react.createElement)(_components.__experimentalHStack, {
91
- justify: "right"
92
- }, (0, _react.createElement)(_components.Button, {
93
- variant: "primary",
94
- type: "submit",
95
- disabled: !title,
96
- __experimentalIsFocusable: true
97
- }, (0, _i18n.__)('Create')))))));
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
57
+ children: isModalOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Modal, {
58
+ title: (0, _i18n.__)('Create pattern'),
59
+ onRequestClose: () => {
60
+ setIsModalOpen(false);
61
+ },
62
+ overlayClassName: "reusable-blocks-menu-items__convert-modal",
63
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
64
+ onSubmit: event => {
65
+ event.preventDefault();
66
+ setIsModalOpen(false);
67
+ editPost({
68
+ title,
69
+ meta: {
70
+ wp_pattern_sync_status: syncType
71
+ }
72
+ });
73
+ },
74
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
75
+ spacing: "5",
76
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
77
+ label: (0, _i18n.__)('Name'),
78
+ value: title,
79
+ onChange: setTitle,
80
+ placeholder: (0, _i18n.__)('My pattern'),
81
+ className: "patterns-create-modal__name-input",
82
+ __nextHasNoMarginBottom: true,
83
+ __next40pxDefaultSize: true
84
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ReusableBlocksRenameHint, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
85
+ label: (0, _i18n._x)('Synced', 'Option that makes an individual pattern synchronized'),
86
+ help: (0, _i18n.__)('Sync this pattern across multiple locations.'),
87
+ checked: !syncType,
88
+ onChange: () => {
89
+ setSyncType(!syncType ? 'unsynced' : undefined);
90
+ }
91
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
92
+ justify: "right",
93
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
94
+ variant: "primary",
95
+ type: "submit",
96
+ disabled: !title,
97
+ __experimentalIsFocusable: true,
98
+ children: (0, _i18n.__)('Create')
99
+ })
100
+ })]
101
+ })
102
+ })
103
+ })
104
+ });
98
105
  }
99
106
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_i18n","_components","_element","_editor","_blockEditor","_lockUnlock","ReusableBlocksRenameHint","unlock","blockEditorPrivateApis","InitPatternModal","editPost","useDispatch","editorStore","isModalOpen","setIsModalOpen","useState","syncType","setSyncType","undefined","title","setTitle","postType","isNewPost","useSelect","select","getEditedPostAttribute","isCleanNewPost","useEffect","_react","createElement","Fragment","Modal","__","onRequestClose","overlayClassName","onSubmit","event","preventDefault","meta","wp_pattern_sync_status","__experimentalVStack","spacing","TextControl","label","value","onChange","placeholder","className","__nextHasNoMarginBottom","__next40pxDefaultSize","ToggleControl","_x","help","checked","__experimentalHStack","justify","Button","variant","type","disabled","__experimentalIsFocusable"],"sources":["@wordpress/edit-post/src/components/init-pattern-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tModal,\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n\tTextControl,\n} from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\n\nimport { unlock } from '../../lock-unlock';\n\nconst { ReusableBlocksRenameHint } = unlock( blockEditorPrivateApis );\n\nexport default function InitPatternModal() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst [ syncType, setSyncType ] = useState( undefined );\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst { postType, isNewPost } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, isCleanNewPost } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t\tisNewPost: isCleanNewPost(),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( isNewPost && postType === 'wp_block' ) {\n\t\t\tsetIsModalOpen( true );\n\t\t}\n\t\t// We only want the modal to open when the page is first loaded.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tif ( postType !== 'wp_block' || ! isNewPost ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Create pattern' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName=\"reusable-blocks-menu-items__convert-modal\"\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\teditPost( {\n\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\t\t\twp_pattern_sync_status: syncType,\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\t\t<VStack spacing=\"5\">\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ReusableBlocksRenameHint />\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t\t'Synced',\n\t\t\t\t\t\t\t\t\t'Option that makes an individual pattern synchronized'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Sync this pattern across multiple locations.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ ! syncType }\n\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\t\t\t\t! syncType ? 'unsynced' : 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/>\n\t\t\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\tdisabled={ ! title }\n\t\t\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_i18n","_components","_element","_editor","_blockEditor","_lockUnlock","_jsxRuntime","ReusableBlocksRenameHint","unlock","blockEditorPrivateApis","InitPatternModal","editPost","useDispatch","editorStore","isModalOpen","setIsModalOpen","useState","syncType","setSyncType","undefined","title","setTitle","postType","isNewPost","useSelect","select","getEditedPostAttribute","isCleanNewPost","useEffect","jsx","Fragment","children","Modal","__","onRequestClose","overlayClassName","onSubmit","event","preventDefault","meta","wp_pattern_sync_status","jsxs","__experimentalVStack","spacing","TextControl","label","value","onChange","placeholder","className","__nextHasNoMarginBottom","__next40pxDefaultSize","ToggleControl","_x","help","checked","__experimentalHStack","justify","Button","variant","type","disabled","__experimentalIsFocusable"],"sources":["@wordpress/edit-post/src/components/init-pattern-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tModal,\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n\tTextControl,\n} from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\n\nimport { unlock } from '../../lock-unlock';\n\nconst { ReusableBlocksRenameHint } = unlock( blockEditorPrivateApis );\n\nexport default function InitPatternModal() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst [ syncType, setSyncType ] = useState( undefined );\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst { postType, isNewPost } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, isCleanNewPost } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t\tisNewPost: isCleanNewPost(),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( isNewPost && postType === 'wp_block' ) {\n\t\t\tsetIsModalOpen( true );\n\t\t}\n\t\t// We only want the modal to open when the page is first loaded.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tif ( postType !== 'wp_block' || ! isNewPost ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Create pattern' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName=\"reusable-blocks-menu-items__convert-modal\"\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\teditPost( {\n\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\t\t\twp_pattern_sync_status: syncType,\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\t\t<VStack spacing=\"5\">\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ReusableBlocksRenameHint />\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t\t'Synced',\n\t\t\t\t\t\t\t\t\t'Option that makes an individual pattern synchronized'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Sync this pattern across multiple locations.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ ! syncType }\n\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\t\t\t\t! syncType ? 'unsynced' : 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/>\n\t\t\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\tdisabled={ ! title }\n\t\t\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,34 +5,33 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _react = require("react");
9
- var _classnames = _interopRequireDefault(require("classnames"));
8
+ var _clsx = _interopRequireDefault(require("clsx"));
10
9
  var _editor = require("@wordpress/editor");
11
10
  var _data = require("@wordpress/data");
12
11
  var _blockEditor = require("@wordpress/block-editor");
13
- var _components = require("@wordpress/components");
14
12
  var _compose = require("@wordpress/compose");
15
13
  var _plugins = require("@wordpress/plugins");
16
14
  var _i18n = require("@wordpress/i18n");
17
15
  var _element = require("@wordpress/element");
18
- var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
19
16
  var _notices = require("@wordpress/notices");
20
17
  var _preferences = require("@wordpress/preferences");
21
18
  var _commands = require("@wordpress/commands");
22
19
  var _coreCommands = require("@wordpress/core-commands");
23
20
  var _blockLibrary = require("@wordpress/block-library");
24
- var _textEditor = _interopRequireDefault(require("../text-editor"));
25
- var _visualEditor = _interopRequireDefault(require("../visual-editor"));
26
- var _keyboardShortcuts2 = _interopRequireDefault(require("../keyboard-shortcuts"));
21
+ var _url = require("@wordpress/url");
22
+ var _backButton = _interopRequireDefault(require("../back-button"));
23
+ var _keyboardShortcuts = _interopRequireDefault(require("../keyboard-shortcuts"));
27
24
  var _initPatternModal = _interopRequireDefault(require("../init-pattern-modal"));
28
25
  var _browserUrl = _interopRequireDefault(require("../browser-url"));
29
- var _header = _interopRequireDefault(require("../header"));
30
- var _settingsSidebar = _interopRequireDefault(require("../sidebar/settings-sidebar"));
31
26
  var _metaBoxes = _interopRequireDefault(require("../meta-boxes"));
27
+ var _moreMenu = _interopRequireDefault(require("../more-menu"));
32
28
  var _welcomeGuide = _interopRequireDefault(require("../welcome-guide"));
33
29
  var _store = require("../../store");
34
30
  var _lockUnlock = require("../../lock-unlock");
35
- var _useCommonCommands = _interopRequireDefault(require("../../hooks/commands/use-common-commands"));
31
+ var _useCommands = _interopRequireDefault(require("../../commands/use-commands"));
32
+ var _usePaddingAppender = require("./use-padding-appender");
33
+ var _useShouldIframe = require("./use-should-iframe");
34
+ var _jsxRuntime = require("react/jsx-runtime");
36
35
  /**
37
36
  * External dependencies
38
37
  */
@@ -55,41 +54,44 @@ const {
55
54
  useCommandContext
56
55
  } = (0, _lockUnlock.unlock)(_commands.privateApis);
57
56
  const {
58
- InserterSidebar,
59
- ListViewSidebar,
60
- ComplementaryArea,
57
+ EditorInterface,
61
58
  FullscreenMode,
62
- SavePublishPanels,
63
- InterfaceSkeleton,
64
- interfaceStore
59
+ Sidebar
65
60
  } = (0, _lockUnlock.unlock)(_editor.privateApis);
66
61
  const {
67
62
  BlockKeyboardShortcuts
68
63
  } = (0, _lockUnlock.unlock)(_blockLibrary.privateApis);
69
- const interfaceLabels = {
70
- /* translators: accessibility text for the editor top bar landmark region. */
71
- header: (0, _i18n.__)('Editor top bar'),
72
- /* translators: accessibility text for the editor content landmark region. */
73
- body: (0, _i18n.__)('Editor content'),
74
- /* translators: accessibility text for the editor settings landmark region. */
75
- sidebar: (0, _i18n.__)('Editor settings'),
76
- /* translators: accessibility text for the editor publish landmark region. */
77
- actions: (0, _i18n.__)('Editor publish'),
78
- /* translators: accessibility text for the editor footer landmark region. */
79
- footer: (0, _i18n.__)('Editor footer')
80
- };
64
+ const DESIGN_POST_TYPES = ['wp_template', 'wp_template_part', 'wp_block', 'wp_navigation'];
81
65
  function useEditorStyles() {
82
66
  const {
83
67
  hasThemeStyleSupport,
84
- editorSettings
85
- } = (0, _data.useSelect)(select => ({
86
- hasThemeStyleSupport: select(_store.store).isFeatureActive('themeStyles'),
87
- editorSettings: select(_editor.store).getEditorSettings()
88
- }), []);
68
+ editorSettings,
69
+ isZoomedOutView,
70
+ hasMetaBoxes,
71
+ renderingMode,
72
+ postType
73
+ } = (0, _data.useSelect)(select => {
74
+ const {
75
+ __unstableGetEditorMode
76
+ } = select(_blockEditor.store);
77
+ const {
78
+ getCurrentPostType,
79
+ getRenderingMode
80
+ } = select(_editor.store);
81
+ const _postType = getCurrentPostType();
82
+ return {
83
+ hasThemeStyleSupport: select(_store.store).isFeatureActive('themeStyles'),
84
+ editorSettings: select(_editor.store).getEditorSettings(),
85
+ isZoomedOutView: __unstableGetEditorMode() === 'zoom-out',
86
+ hasMetaBoxes: select(_store.store).hasMetaBoxes(),
87
+ renderingMode: getRenderingMode(),
88
+ postType: _postType
89
+ };
90
+ }, []);
89
91
 
90
92
  // Compute the default styles.
91
93
  return (0, _element.useMemo)(() => {
92
- var _editorSettings$style, _editorSettings$style2;
94
+ var _editorSettings$style, _editorSettings$style2, _editorSettings$style3;
93
95
  const presetStyles = (_editorSettings$style = editorSettings.styles?.filter(style => style.__unstableType && style.__unstableType !== 'theme')) !== null && _editorSettings$style !== void 0 ? _editorSettings$style : [];
94
96
  const defaultEditorStyles = [...editorSettings.defaultEditorStyles, ...presetStyles];
95
97
 
@@ -109,184 +111,160 @@ function useEditorStyles() {
109
111
  })
110
112
  });
111
113
  }
112
- return hasThemeStyles ? editorSettings.styles : defaultEditorStyles;
114
+ const baseStyles = hasThemeStyles ? (_editorSettings$style3 = editorSettings.styles) !== null && _editorSettings$style3 !== void 0 ? _editorSettings$style3 : [] : defaultEditorStyles;
115
+
116
+ // Add a constant padding for the typewritter effect. When typing at the
117
+ // bottom, there needs to be room to scroll up.
118
+ if (!isZoomedOutView && !hasMetaBoxes && renderingMode === 'post-only' && !DESIGN_POST_TYPES.includes(postType)) {
119
+ baseStyles.push({
120
+ css: 'body{padding-bottom: 40vh}'
121
+ });
122
+ }
123
+ return baseStyles;
113
124
  }, [editorSettings.defaultEditorStyles, editorSettings.disableLayoutStyles, editorSettings.styles, hasThemeStyleSupport]);
114
125
  }
115
126
  function Layout({
116
127
  initialPost
117
128
  }) {
118
129
  useCommands();
119
- (0, _useCommonCommands.default)();
120
- const isMobileViewport = (0, _compose.useViewportMatch)('medium', '<');
121
- const isHugeViewport = (0, _compose.useViewportMatch)('huge', '>=');
130
+ (0, _useCommands.default)();
122
131
  const isWideViewport = (0, _compose.useViewportMatch)('large');
123
- const isLargeViewport = (0, _compose.useViewportMatch)('medium');
124
- const {
125
- closeGeneralSidebar
126
- } = (0, _data.useDispatch)(_store.store);
132
+ const paddingAppenderRef = (0, _usePaddingAppender.usePaddingAppender)();
133
+ const shouldIframe = (0, _useShouldIframe.useShouldIframe)();
127
134
  const {
128
135
  createErrorNotice
129
136
  } = (0, _data.useDispatch)(_notices.store);
130
- const {
131
- setIsInserterOpened
132
- } = (0, _data.useDispatch)(_editor.store);
133
137
  const {
134
138
  mode,
135
139
  isFullscreenActive,
136
- isRichEditingEnabled,
137
140
  sidebarIsOpened,
138
141
  hasActiveMetaboxes,
139
- previousShortcut,
140
- nextShortcut,
141
142
  hasBlockSelected,
142
- isInserterOpened,
143
- isListViewOpened,
144
143
  showIconLabels,
145
144
  isDistractionFree,
146
145
  showBlockBreadcrumbs,
147
146
  showMetaBoxes,
148
- documentLabel,
149
147
  hasHistory,
150
- hasBlockBreadcrumbs
148
+ isEditingTemplate,
149
+ isWelcomeGuideVisible
151
150
  } = (0, _data.useSelect)(select => {
152
151
  const {
153
152
  get
154
153
  } = select(_preferences.store);
155
154
  const {
156
- getEditorSettings,
157
- getPostTypeLabel
155
+ getEditorSettings
158
156
  } = select(_editor.store);
159
- const editorSettings = getEditorSettings();
160
- const postTypeLabel = getPostTypeLabel();
157
+ const {
158
+ isFeatureActive
159
+ } = select(_store.store);
161
160
  return {
162
- showMetaBoxes: select(_editor.store).getRenderingMode() === 'post-only',
163
- sidebarIsOpened: !!(select(interfaceStore).getActiveComplementaryArea('core') || select(_editor.store).isPublishSidebarOpened()),
164
- isFullscreenActive: select(_store.store).isFeatureActive('fullscreenMode'),
165
- isInserterOpened: select(_editor.store).isInserterOpened(),
166
- isListViewOpened: select(_editor.store).isListViewOpened(),
167
161
  mode: select(_editor.store).getEditorMode(),
168
- isRichEditingEnabled: editorSettings.richEditingEnabled,
162
+ isFullscreenActive: select(_store.store).isFeatureActive('fullscreenMode'),
169
163
  hasActiveMetaboxes: select(_store.store).hasMetaBoxes(),
170
- previousShortcut: select(_keyboardShortcuts.store).getAllShortcutKeyCombinations('core/editor/previous-region'),
171
- nextShortcut: select(_keyboardShortcuts.store).getAllShortcutKeyCombinations('core/editor/next-region'),
164
+ hasBlockSelected: !!select(_blockEditor.store).getBlockSelectionStart(),
172
165
  showIconLabels: get('core', 'showIconLabels'),
173
166
  isDistractionFree: get('core', 'distractionFree'),
174
167
  showBlockBreadcrumbs: get('core', 'showBlockBreadcrumbs'),
175
- // translators: Default label for the Document in the Block Breadcrumb.
176
- documentLabel: postTypeLabel || (0, _i18n._x)('Document', 'noun'),
177
- hasBlockSelected: !!select(_blockEditor.store).getBlockSelectionStart(),
168
+ showMetaBoxes: select(_editor.store).getRenderingMode() === 'post-only',
178
169
  hasHistory: !!getEditorSettings().onNavigateToPreviousEntityRecord,
179
- hasBlockBreadcrumbs: get('core', 'showBlockBreadcrumbs')
170
+ isEditingTemplate: select(_editor.store).getCurrentPostType() === 'wp_template',
171
+ isWelcomeGuideVisible: isFeatureActive('welcomeGuide')
180
172
  };
181
173
  }, []);
182
174
 
183
175
  // Set the right context for the command palette
184
- const commandContext = hasBlockSelected ? 'block-selection-edit' : 'post-editor-edit';
176
+ const commandContext = hasBlockSelected ? 'block-selection-edit' : 'entity-edit';
185
177
  useCommandContext(commandContext);
186
178
  const styles = useEditorStyles();
187
179
 
188
- // Inserter and Sidebars are mutually exclusive
189
- (0, _element.useEffect)(() => {
190
- if (sidebarIsOpened && !isHugeViewport) {
191
- setIsInserterOpened(false);
192
- }
193
- }, [isHugeViewport, setIsInserterOpened, sidebarIsOpened]);
194
- (0, _element.useEffect)(() => {
195
- if (isInserterOpened && !isHugeViewport) {
196
- closeGeneralSidebar();
197
- }
198
- }, [closeGeneralSidebar, isInserterOpened, isHugeViewport]);
199
-
200
- // Local state for save panel.
201
- // Note 'truthy' callback implies an open panel.
202
- const [entitiesSavedStatesCallback, setEntitiesSavedStatesCallback] = (0, _element.useState)(false);
203
- const closeEntitiesSavedStates = (0, _element.useCallback)(arg => {
204
- if (typeof entitiesSavedStatesCallback === 'function') {
205
- entitiesSavedStatesCallback(arg);
206
- }
207
- setEntitiesSavedStatesCallback(false);
208
- }, [entitiesSavedStatesCallback]);
209
-
210
180
  // We need to add the show-icon-labels class to the body element so it is applied to modals.
211
181
  if (showIconLabels) {
212
182
  document.body.classList.add('show-icon-labels');
213
183
  } else {
214
184
  document.body.classList.remove('show-icon-labels');
215
185
  }
216
- const className = (0, _classnames.default)('edit-post-layout', 'is-mode-' + mode, {
186
+ const className = (0, _clsx.default)('edit-post-layout', 'is-mode-' + mode, {
217
187
  'is-sidebar-opened': sidebarIsOpened,
218
188
  'has-metaboxes': hasActiveMetaboxes,
219
189
  'is-distraction-free': isDistractionFree && isWideViewport,
220
- 'is-entity-save-view-open': !!entitiesSavedStatesCallback,
221
- 'has-block-breadcrumbs': hasBlockBreadcrumbs && !isDistractionFree && isWideViewport
190
+ 'has-block-breadcrumbs': showBlockBreadcrumbs && !isDistractionFree && isWideViewport
222
191
  });
223
- const secondarySidebarLabel = isListViewOpened ? (0, _i18n.__)('Document Overview') : (0, _i18n.__)('Block Library');
224
- const secondarySidebar = () => {
225
- if (mode === 'visual' && isInserterOpened) {
226
- return (0, _react.createElement)(InserterSidebar, {
227
- closeGeneralSidebar: closeGeneralSidebar,
228
- isRightSidebarOpen: sidebarIsOpened
229
- });
230
- }
231
- if (mode === 'visual' && isListViewOpened) {
232
- return (0, _react.createElement)(ListViewSidebar, null);
233
- }
234
- return null;
235
- };
236
192
  function onPluginAreaError(name) {
237
193
  createErrorNotice((0, _i18n.sprintf)( /* translators: %s: plugin name */
238
194
  (0, _i18n.__)('The "%s" plugin has encountered an error and cannot be rendered.'), name));
239
195
  }
240
- return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(FullscreenMode, {
241
- isActive: isFullscreenActive
242
- }), (0, _react.createElement)(_browserUrl.default, {
243
- hasHistory: hasHistory
244
- }), (0, _react.createElement)(_editor.UnsavedChangesWarning, null), (0, _react.createElement)(_editor.AutosaveMonitor, null), (0, _react.createElement)(_editor.LocalAutosaveMonitor, null), (0, _react.createElement)(_keyboardShortcuts2.default, null), (0, _react.createElement)(_editor.EditorKeyboardShortcutsRegister, null), (0, _react.createElement)(_editor.EditorKeyboardShortcuts, null), (0, _react.createElement)(BlockKeyboardShortcuts, null), (0, _react.createElement)(InterfaceSkeleton, {
245
- isDistractionFree: isDistractionFree && isWideViewport,
246
- className: className,
247
- labels: {
248
- ...interfaceLabels,
249
- secondarySidebar: secondarySidebarLabel
250
- },
251
- header: (0, _react.createElement)(_header.default, {
252
- setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback,
253
- initialPost: initialPost
254
- }),
255
- editorNotices: (0, _react.createElement)(_editor.EditorNotices, null),
256
- secondarySidebar: secondarySidebar(),
257
- sidebar: !isDistractionFree && (0, _react.createElement)(ComplementaryArea.Slot, {
258
- scope: "core"
259
- }),
260
- notices: (0, _react.createElement)(_editor.EditorSnackbars, null),
261
- content: (0, _react.createElement)(_react.Fragment, null, !isDistractionFree && (0, _react.createElement)(_editor.EditorNotices, null), (mode === 'text' || !isRichEditingEnabled) && (0, _react.createElement)(_textEditor.default, null), !isLargeViewport && (0, _react.createElement)(_blockEditor.BlockToolbar, {
262
- hideDragHandle: true
263
- }), isRichEditingEnabled && mode === 'visual' && (0, _react.createElement)(_visualEditor.default, {
264
- styles: styles
265
- }), !isDistractionFree && showMetaBoxes && (0, _react.createElement)("div", {
266
- className: "edit-post-layout__metaboxes"
267
- }, (0, _react.createElement)(_metaBoxes.default, {
268
- location: "normal"
269
- }), (0, _react.createElement)(_metaBoxes.default, {
270
- location: "advanced"
271
- })), isMobileViewport && sidebarIsOpened && (0, _react.createElement)(_components.ScrollLock, null)),
272
- footer: !isDistractionFree && !isMobileViewport && showBlockBreadcrumbs && isRichEditingEnabled && mode === 'visual' && (0, _react.createElement)("div", {
273
- className: "edit-post-layout__footer"
274
- }, (0, _react.createElement)(_blockEditor.BlockBreadcrumb, {
275
- rootLabelText: documentLabel
276
- })),
277
- actions: (0, _react.createElement)(SavePublishPanels, {
278
- closeEntitiesSavedStates: closeEntitiesSavedStates,
279
- isEntitiesSavedStatesOpen: entitiesSavedStatesCallback,
280
- setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback,
281
- forceIsDirtyPublishPanel: hasActiveMetaboxes
282
- }),
283
- shortcuts: {
284
- previous: previousShortcut,
285
- next: nextShortcut
196
+ const {
197
+ createSuccessNotice
198
+ } = (0, _data.useDispatch)(_notices.store);
199
+ const onActionPerformed = (0, _element.useCallback)((actionId, items) => {
200
+ switch (actionId) {
201
+ case 'move-to-trash':
202
+ {
203
+ document.location.href = (0, _url.addQueryArgs)('edit.php', {
204
+ trashed: 1,
205
+ post_type: items[0].type,
206
+ ids: items[0].id
207
+ });
208
+ }
209
+ break;
210
+ case 'duplicate-post':
211
+ {
212
+ const newItem = items[0];
213
+ const title = typeof newItem.title === 'string' ? newItem.title : newItem.title?.rendered;
214
+ createSuccessNotice((0, _i18n.sprintf)(
215
+ // translators: %s: Title of the created post e.g: "Post 1".
216
+ (0, _i18n.__)('"%s" successfully created.'), title), {
217
+ type: 'snackbar',
218
+ id: 'duplicate-post-action',
219
+ actions: [{
220
+ label: (0, _i18n.__)('Edit'),
221
+ onClick: () => {
222
+ const postId = newItem.id;
223
+ document.location.href = (0, _url.addQueryArgs)('post.php', {
224
+ post: postId,
225
+ action: 'edit'
226
+ });
227
+ }
228
+ }]
229
+ });
230
+ }
231
+ break;
286
232
  }
287
- }), (0, _react.createElement)(_welcomeGuide.default, null), (0, _react.createElement)(_initPatternModal.default, null), (0, _react.createElement)(_plugins.PluginArea, {
288
- onError: onPluginAreaError
289
- }), !isDistractionFree && (0, _react.createElement)(_settingsSidebar.default, null));
233
+ }, [createSuccessNotice]);
234
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
235
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(FullscreenMode, {
236
+ isActive: isFullscreenActive
237
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_browserUrl.default, {
238
+ hasHistory: hasHistory
239
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.UnsavedChangesWarning, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.AutosaveMonitor, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.LocalAutosaveMonitor, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_keyboardShortcuts.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.EditorKeyboardShortcutsRegister, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockKeyboardShortcuts, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_welcomeGuide.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_initPatternModal.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_plugins.PluginArea, {
240
+ onError: onPluginAreaError
241
+ }), !isDistractionFree && /*#__PURE__*/(0, _jsxRuntime.jsx)(Sidebar, {
242
+ onActionPerformed: onActionPerformed,
243
+ extraPanels: !isEditingTemplate && /*#__PURE__*/(0, _jsxRuntime.jsx)(_metaBoxes.default, {
244
+ location: "side"
245
+ })
246
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_moreMenu.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_backButton.default, {
247
+ initialPost: initialPost
248
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.EditorSnackbars, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(EditorInterface, {
249
+ className: className,
250
+ styles: styles,
251
+ forceIsDirty: hasActiveMetaboxes,
252
+ contentRef: paddingAppenderRef,
253
+ disableIframe: !shouldIframe
254
+ // We should auto-focus the canvas (title) on load.
255
+ // eslint-disable-next-line jsx-a11y/no-autofocus
256
+ ,
257
+ autoFocus: !isWelcomeGuideVisible,
258
+ children: !isDistractionFree && showMetaBoxes && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
259
+ className: "edit-post-layout__metaboxes",
260
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_metaBoxes.default, {
261
+ location: "normal"
262
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_metaBoxes.default, {
263
+ location: "advanced"
264
+ })]
265
+ })
266
+ })]
267
+ });
290
268
  }
291
269
  var _default = exports.default = Layout;
292
270
  //# sourceMappingURL=index.js.map