@wordpress/edit-post 7.33.0 → 7.35.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 (181) hide show
  1. package/CHANGELOG.md +10 -2
  2. package/README.md +22 -36
  3. package/build/components/header/fullscreen-mode-close/index.js +2 -2
  4. package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
  5. package/build/components/header/index.js +7 -127
  6. package/build/components/header/index.js.map +1 -1
  7. package/build/components/header/more-menu/index.js +17 -43
  8. package/build/components/header/more-menu/index.js.map +1 -1
  9. package/build/components/header/more-menu/manage-patterns-menu-item.js +40 -0
  10. package/build/components/header/more-menu/manage-patterns-menu-item.js.map +1 -0
  11. package/build/{plugins/welcome-guide-menu-item/index.js → components/header/more-menu/welcome-guide-menu-item.js} +1 -1
  12. package/build/components/header/more-menu/welcome-guide-menu-item.js.map +1 -0
  13. package/build/components/keyboard-shortcuts/index.js +0 -88
  14. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  15. package/build/components/layout/index.js +72 -33
  16. package/build/components/layout/index.js.map +1 -1
  17. package/build/components/meta-boxes/meta-boxes-area/index.js +2 -2
  18. package/build/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  19. package/build/components/preferences-modal/index.js +2 -11
  20. package/build/components/preferences-modal/index.js.map +1 -1
  21. package/build/components/visual-editor/index.js +11 -5
  22. package/build/components/visual-editor/index.js.map +1 -1
  23. package/build/components/visual-editor/use-padding-appender.js +6 -1
  24. package/build/components/visual-editor/use-padding-appender.js.map +1 -1
  25. package/build/deprecated.js +132 -0
  26. package/build/deprecated.js.map +1 -0
  27. package/build/index.js +19 -58
  28. package/build/index.js.map +1 -1
  29. package/build-module/components/header/fullscreen-mode-close/index.js +2 -2
  30. package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
  31. package/build-module/components/header/index.js +11 -131
  32. package/build-module/components/header/index.js.map +1 -1
  33. package/build-module/components/header/more-menu/index.js +17 -43
  34. package/build-module/components/header/more-menu/index.js.map +1 -1
  35. package/build-module/components/header/more-menu/manage-patterns-menu-item.js +33 -0
  36. package/build-module/components/header/more-menu/manage-patterns-menu-item.js.map +1 -0
  37. package/build-module/{plugins/welcome-guide-menu-item/index.js → components/header/more-menu/welcome-guide-menu-item.js} +1 -1
  38. package/build-module/components/header/more-menu/welcome-guide-menu-item.js.map +1 -0
  39. package/build-module/components/keyboard-shortcuts/index.js +1 -89
  40. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  41. package/build-module/components/layout/index.js +73 -34
  42. package/build-module/components/layout/index.js.map +1 -1
  43. package/build-module/components/meta-boxes/meta-boxes-area/index.js +2 -2
  44. package/build-module/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  45. package/build-module/components/preferences-modal/index.js +3 -12
  46. package/build-module/components/preferences-modal/index.js.map +1 -1
  47. package/build-module/components/visual-editor/index.js +11 -5
  48. package/build-module/components/visual-editor/index.js.map +1 -1
  49. package/build-module/components/visual-editor/use-padding-appender.js +6 -1
  50. package/build-module/components/visual-editor/use-padding-appender.js.map +1 -1
  51. package/build-module/deprecated.js +116 -0
  52. package/build-module/deprecated.js.map +1 -0
  53. package/build-module/index.js +2 -15
  54. package/build-module/index.js.map +1 -1
  55. package/build-style/style-rtl.css +14 -409
  56. package/build-style/style.css +14 -409
  57. package/package.json +32 -32
  58. package/src/components/header/fullscreen-mode-close/index.js +2 -2
  59. package/src/components/header/index.js +11 -159
  60. package/src/components/header/more-menu/index.js +27 -42
  61. package/src/components/header/more-menu/manage-patterns-menu-item.js +33 -0
  62. package/src/components/header/style.scss +4 -320
  63. package/src/components/keyboard-shortcuts/index.js +1 -106
  64. package/src/components/layout/index.js +84 -25
  65. package/src/components/layout/style.scss +7 -80
  66. package/src/components/meta-boxes/meta-boxes-area/index.js +4 -8
  67. package/src/components/preferences-modal/index.js +2 -22
  68. package/src/components/visual-editor/index.js +11 -4
  69. package/src/components/visual-editor/use-padding-appender.js +7 -1
  70. package/src/deprecated.js +107 -0
  71. package/src/index.js +3 -24
  72. package/src/style.scss +1 -5
  73. package/build/components/header/post-publish-button-or-toggle.js +0 -94
  74. package/build/components/header/post-publish-button-or-toggle.js.map +0 -1
  75. package/build/components/header/preferences-menu-item/index.js +0 -39
  76. package/build/components/header/preferences-menu-item/index.js.map +0 -1
  77. package/build/components/header/tools-more-menu-group/index.js +0 -26
  78. package/build/components/header/tools-more-menu-group/index.js.map +0 -1
  79. package/build/components/header/writing-menu/index.js +0 -71
  80. package/build/components/header/writing-menu/index.js.map +0 -1
  81. package/build/components/layout/actions-panel.js +0 -86
  82. package/build/components/layout/actions-panel.js.map +0 -1
  83. package/build/components/preferences-modal/enable-publish-sidebar.js +0 -38
  84. package/build/components/preferences-modal/enable-publish-sidebar.js.map +0 -1
  85. package/build/components/sidebar/plugin-post-publish-panel/index.js +0 -39
  86. package/build/components/sidebar/plugin-post-publish-panel/index.js.map +0 -1
  87. package/build/components/sidebar/plugin-pre-publish-panel/index.js +0 -43
  88. package/build/components/sidebar/plugin-pre-publish-panel/index.js.map +0 -1
  89. package/build/components/sidebar/post-format/index.js +0 -21
  90. package/build/components/sidebar/post-format/index.js.map +0 -1
  91. package/build/components/sidebar/post-pending-status/index.js +0 -26
  92. package/build/components/sidebar/post-pending-status/index.js.map +0 -1
  93. package/build/components/sidebar/post-slug/index.js +0 -21
  94. package/build/components/sidebar/post-slug/index.js.map +0 -1
  95. package/build/components/sidebar/post-status/index.js +0 -69
  96. package/build/components/sidebar/post-status/index.js.map +0 -1
  97. package/build/components/sidebar/post-sticky/index.js +0 -26
  98. package/build/components/sidebar/post-sticky/index.js.map +0 -1
  99. package/build/components/sidebar/post-trash/index.js +0 -16
  100. package/build/components/sidebar/post-trash/index.js.map +0 -1
  101. package/build/components/sidebar/post-visibility/index.js +0 -78
  102. package/build/components/sidebar/post-visibility/index.js.map +0 -1
  103. package/build/components/sidebar/settings-header/index.js +0 -53
  104. package/build/components/sidebar/settings-header/index.js.map +0 -1
  105. package/build/components/sidebar/settings-sidebar/index.js +0 -163
  106. package/build/components/sidebar/settings-sidebar/index.js.map +0 -1
  107. package/build/plugins/copy-content-menu-item/index.js +0 -39
  108. package/build/plugins/copy-content-menu-item/index.js.map +0 -1
  109. package/build/plugins/index.js +0 -69
  110. package/build/plugins/index.js.map +0 -1
  111. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js +0 -44
  112. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js.map +0 -1
  113. package/build/plugins/welcome-guide-menu-item/index.js.map +0 -1
  114. package/build-module/components/header/post-publish-button-or-toggle.js +0 -86
  115. package/build-module/components/header/post-publish-button-or-toggle.js.map +0 -1
  116. package/build-module/components/header/preferences-menu-item/index.js +0 -32
  117. package/build-module/components/header/preferences-menu-item/index.js.map +0 -1
  118. package/build-module/components/header/tools-more-menu-group/index.js +0 -19
  119. package/build-module/components/header/tools-more-menu-group/index.js.map +0 -1
  120. package/build-module/components/header/writing-menu/index.js +0 -64
  121. package/build-module/components/header/writing-menu/index.js.map +0 -1
  122. package/build-module/components/layout/actions-panel.js +0 -78
  123. package/build-module/components/layout/actions-panel.js.map +0 -1
  124. package/build-module/components/preferences-modal/enable-publish-sidebar.js +0 -31
  125. package/build-module/components/preferences-modal/enable-publish-sidebar.js.map +0 -1
  126. package/build-module/components/sidebar/plugin-post-publish-panel/index.js +0 -32
  127. package/build-module/components/sidebar/plugin-post-publish-panel/index.js.map +0 -1
  128. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js +0 -36
  129. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js.map +0 -1
  130. package/build-module/components/sidebar/post-format/index.js +0 -13
  131. package/build-module/components/sidebar/post-format/index.js.map +0 -1
  132. package/build-module/components/sidebar/post-pending-status/index.js +0 -18
  133. package/build-module/components/sidebar/post-pending-status/index.js.map +0 -1
  134. package/build-module/components/sidebar/post-slug/index.js +0 -13
  135. package/build-module/components/sidebar/post-slug/index.js.map +0 -1
  136. package/build-module/components/sidebar/post-status/index.js +0 -61
  137. package/build-module/components/sidebar/post-status/index.js.map +0 -1
  138. package/build-module/components/sidebar/post-sticky/index.js +0 -18
  139. package/build-module/components/sidebar/post-sticky/index.js.map +0 -1
  140. package/build-module/components/sidebar/post-trash/index.js +0 -9
  141. package/build-module/components/sidebar/post-trash/index.js.map +0 -1
  142. package/build-module/components/sidebar/post-visibility/index.js +0 -70
  143. package/build-module/components/sidebar/post-visibility/index.js.map +0 -1
  144. package/build-module/components/sidebar/settings-header/index.js +0 -46
  145. package/build-module/components/sidebar/settings-header/index.js.map +0 -1
  146. package/build-module/components/sidebar/settings-sidebar/index.js +0 -155
  147. package/build-module/components/sidebar/settings-sidebar/index.js.map +0 -1
  148. package/build-module/plugins/copy-content-menu-item/index.js +0 -32
  149. package/build-module/plugins/copy-content-menu-item/index.js.map +0 -1
  150. package/build-module/plugins/index.js +0 -65
  151. package/build-module/plugins/index.js.map +0 -1
  152. package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js +0 -36
  153. package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js.map +0 -1
  154. package/build-module/plugins/welcome-guide-menu-item/index.js.map +0 -1
  155. package/src/components/header/post-publish-button-or-toggle.js +0 -97
  156. package/src/components/header/preferences-menu-item/index.js +0 -31
  157. package/src/components/header/test/index.js +0 -63
  158. package/src/components/header/tools-more-menu-group/index.js +0 -20
  159. package/src/components/header/writing-menu/index.js +0 -73
  160. package/src/components/layout/actions-panel.js +0 -103
  161. package/src/components/preferences-modal/enable-publish-sidebar.js +0 -32
  162. package/src/components/preferences-modal/test/index.js +0 -28
  163. package/src/components/sidebar/plugin-post-publish-panel/index.js +0 -28
  164. package/src/components/sidebar/plugin-pre-publish-panel/index.js +0 -32
  165. package/src/components/sidebar/post-format/index.js +0 -20
  166. package/src/components/sidebar/post-format/style.scss +0 -5
  167. package/src/components/sidebar/post-pending-status/index.js +0 -27
  168. package/src/components/sidebar/post-slug/index.js +0 -17
  169. package/src/components/sidebar/post-slug/style.scss +0 -5
  170. package/src/components/sidebar/post-status/index.js +0 -88
  171. package/src/components/sidebar/post-sticky/index.js +0 -27
  172. package/src/components/sidebar/post-trash/index.js +0 -12
  173. package/src/components/sidebar/post-visibility/index.js +0 -88
  174. package/src/components/sidebar/post-visibility/style.scss +0 -5
  175. package/src/components/sidebar/settings-header/index.js +0 -49
  176. package/src/components/sidebar/settings-sidebar/index.js +0 -211
  177. package/src/components/sidebar/style.scss +0 -18
  178. package/src/plugins/copy-content-menu-item/index.js +0 -29
  179. package/src/plugins/index.js +0 -85
  180. package/src/plugins/keyboard-shortcuts-help-menu-item/index.js +0 -36
  181. /package/src/{plugins/welcome-guide-menu-item/index.js → components/header/more-menu/welcome-guide-menu-item.js} +0 -0
@@ -1,55 +1,22 @@
1
- import { createElement, Fragment } from "react";
2
- /**
3
- * External dependencies
4
- */
5
- import classnames from 'classnames';
6
-
1
+ import { createElement } from "react";
7
2
  /**
8
3
  * WordPress dependencies
9
4
  */
10
- import { BlockToolbar, privateApis as blockEditorPrivateApis, store as blockEditorStore } from '@wordpress/block-editor';
11
- import { PostSavedState, PostPreviewButton, store as editorStore, DocumentBar, privateApis as editorPrivateApis } from '@wordpress/editor';
12
- import { useEffect, useRef, useState } from '@wordpress/element';
5
+ import { privateApis as editorPrivateApis } from '@wordpress/editor';
13
6
  import { useSelect } from '@wordpress/data';
14
- import { __ } from '@wordpress/i18n';
15
- import { next, previous } from '@wordpress/icons';
16
- import { useViewportMatch } from '@wordpress/compose';
17
- import { Button, __unstableMotion as motion, Popover } from '@wordpress/components';
18
- import { store as preferencesStore } from '@wordpress/preferences';
7
+ import { __unstableMotion as motion } from '@wordpress/components';
19
8
 
20
9
  /**
21
10
  * Internal dependencies
22
11
  */
23
12
  import FullscreenModeClose from './fullscreen-mode-close';
24
- import MoreMenu from './more-menu';
25
- import PostPublishButtonOrToggle from './post-publish-button-or-toggle';
13
+ import PostEditorMoreMenu from './more-menu';
26
14
  import MainDashboardButton from './main-dashboard-button';
27
15
  import { store as editPostStore } from '../../store';
28
16
  import { unlock } from '../../lock-unlock';
29
17
  const {
30
- useShowBlockTools
31
- } = unlock(blockEditorPrivateApis);
32
- const {
33
- DocumentTools,
34
- PostViewLink,
35
- PreviewDropdown,
36
- PinnedItems
18
+ Header: EditorHeader
37
19
  } = unlock(editorPrivateApis);
38
- const slideY = {
39
- hidden: {
40
- y: '-50px'
41
- },
42
- distractionFreeInactive: {
43
- y: 0
44
- },
45
- hover: {
46
- y: 0,
47
- transition: {
48
- type: 'tween',
49
- delay: 0.2
50
- }
51
- }
52
- };
53
20
  const slideX = {
54
21
  hidden: {
55
22
  x: '-100%'
@@ -69,46 +36,16 @@ function Header({
69
36
  setEntitiesSavedStatesCallback,
70
37
  initialPost
71
38
  }) {
72
- const isWideViewport = useViewportMatch('large');
73
- const isLargeViewport = useViewportMatch('medium');
74
- const blockToolbarRef = useRef();
75
39
  const {
76
- isTextEditor,
77
- blockSelectionStart,
78
- hasActiveMetaboxes,
79
- isPublishSidebarOpened,
80
- showIconLabels,
81
- hasHistory
40
+ hasActiveMetaboxes
82
41
  } = useSelect(select => {
83
- const {
84
- get: getPreference
85
- } = select(preferencesStore);
86
- const {
87
- getEditorMode
88
- } = select(editorStore);
89
42
  return {
90
- isTextEditor: getEditorMode() === 'text',
91
- blockSelectionStart: select(blockEditorStore).getBlockSelectionStart(),
92
- hasActiveMetaboxes: select(editPostStore).hasMetaBoxes(),
93
- hasHistory: !!select(editorStore).getEditorSettings().onNavigateToPreviousEntityRecord,
94
- isPublishSidebarOpened: select(editorStore).isPublishSidebarOpened(),
95
- showIconLabels: getPreference('core', 'showIconLabels')
43
+ hasActiveMetaboxes: select(editPostStore).hasMetaBoxes()
96
44
  };
97
45
  }, []);
98
- const {
99
- showFixedToolbar
100
- } = useShowBlockTools();
101
- const showTopToolbar = isLargeViewport && showFixedToolbar;
102
- const [isBlockToolsCollapsed, setIsBlockToolsCollapsed] = useState(true);
103
- const hasBlockSelection = !!blockSelectionStart;
104
- useEffect(() => {
105
- // If we have a new block selection, show the block tools
106
- if (blockSelectionStart) {
107
- setIsBlockToolsCollapsed(false);
108
- }
109
- }, [blockSelectionStart]);
110
- return createElement("div", {
111
- className: "edit-post-header"
46
+ return createElement(EditorHeader, {
47
+ forceIsDirty: hasActiveMetaboxes,
48
+ setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback
112
49
  }, createElement(MainDashboardButton.Slot, null, createElement(motion.div, {
113
50
  variants: slideX,
114
51
  transition: {
@@ -118,64 +55,7 @@ function Header({
118
55
  }, createElement(FullscreenModeClose, {
119
56
  showTooltip: true,
120
57
  initialPost: initialPost
121
- }))), createElement(motion.div, {
122
- variants: slideY,
123
- transition: {
124
- type: 'tween',
125
- delay: 0.8
126
- },
127
- className: "edit-post-header__toolbar"
128
- }, createElement(DocumentTools, {
129
- disableBlockTools: isTextEditor
130
- }), showTopToolbar && createElement(Fragment, null, createElement("div", {
131
- className: classnames('selected-block-tools-wrapper', {
132
- 'is-collapsed': isBlockToolsCollapsed || !hasBlockSelection
133
- })
134
- }, createElement(BlockToolbar, {
135
- hideDragHandle: true
136
- })), createElement(Popover.Slot, {
137
- ref: blockToolbarRef,
138
- name: "block-toolbar"
139
- }), createElement(Button, {
140
- className: "edit-post-header__block-tools-toggle",
141
- icon: isBlockToolsCollapsed ? next : previous,
142
- onClick: () => {
143
- setIsBlockToolsCollapsed(collapsed => !collapsed);
144
- },
145
- label: isBlockToolsCollapsed ? __('Show block tools') : __('Hide block tools'),
146
- size: "compact"
147
- })), createElement("div", {
148
- className: classnames('edit-post-header__center', {
149
- 'is-collapsed': hasHistory && !isBlockToolsCollapsed && showTopToolbar
150
- })
151
- }, hasHistory && createElement(DocumentBar, null))), createElement(motion.div, {
152
- variants: slideY,
153
- transition: {
154
- type: 'tween',
155
- delay: 0.8
156
- },
157
- className: "edit-post-header__settings"
158
- }, !isPublishSidebarOpened &&
159
- // This button isn't completely hidden by the publish sidebar.
160
- // We can't hide the whole toolbar when the publish sidebar is open because
161
- // we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node.
162
- // We track that DOM node to return focus to the PostPublishButtonOrToggle
163
- // when the publish sidebar has been closed.
164
- createElement(PostSavedState, {
165
- forceIsDirty: hasActiveMetaboxes
166
- }), createElement(PreviewDropdown, {
167
- forceIsAutosaveable: hasActiveMetaboxes
168
- }), createElement(PostPreviewButton, {
169
- className: "edit-post-header__post-preview-button",
170
- forceIsAutosaveable: hasActiveMetaboxes
171
- }), createElement(PostViewLink, null), createElement(PostPublishButtonOrToggle, {
172
- forceIsDirty: hasActiveMetaboxes,
173
- setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback
174
- }), (isWideViewport || !showIconLabels) && createElement(PinnedItems.Slot, {
175
- scope: "core"
176
- }), createElement(MoreMenu, {
177
- showIconLabels: showIconLabels
178
- })));
58
+ }))), createElement(PostEditorMoreMenu, null));
179
59
  }
180
60
  export default Header;
181
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","BlockToolbar","privateApis","blockEditorPrivateApis","store","blockEditorStore","PostSavedState","PostPreviewButton","editorStore","DocumentBar","editorPrivateApis","useEffect","useRef","useState","useSelect","__","next","previous","useViewportMatch","Button","__unstableMotion","motion","Popover","preferencesStore","FullscreenModeClose","MoreMenu","PostPublishButtonOrToggle","MainDashboardButton","editPostStore","unlock","useShowBlockTools","DocumentTools","PostViewLink","PreviewDropdown","PinnedItems","slideY","hidden","y","distractionFreeInactive","hover","transition","type","delay","slideX","x","Header","setEntitiesSavedStatesCallback","initialPost","isWideViewport","isLargeViewport","blockToolbarRef","isTextEditor","blockSelectionStart","hasActiveMetaboxes","isPublishSidebarOpened","showIconLabels","hasHistory","select","get","getPreference","getEditorMode","getBlockSelectionStart","hasMetaBoxes","getEditorSettings","onNavigateToPreviousEntityRecord","showFixedToolbar","showTopToolbar","isBlockToolsCollapsed","setIsBlockToolsCollapsed","hasBlockSelection","createElement","className","Slot","div","variants","showTooltip","disableBlockTools","Fragment","hideDragHandle","ref","name","icon","onClick","collapsed","label","size","forceIsDirty","forceIsAutosaveable","scope"],"sources":["@wordpress/edit-post/src/components/header/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockToolbar,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPostSavedState,\n\tPostPreviewButton,\n\tstore as editorStore,\n\tDocumentBar,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { next, previous } from '@wordpress/icons';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tButton,\n\t__unstableMotion as motion,\n\tPopover,\n} from '@wordpress/components';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport FullscreenModeClose from './fullscreen-mode-close';\nimport MoreMenu from './more-menu';\nimport PostPublishButtonOrToggle from './post-publish-button-or-toggle';\nimport MainDashboardButton from './main-dashboard-button';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { useShowBlockTools } = unlock( blockEditorPrivateApis );\nconst { DocumentTools, PostViewLink, PreviewDropdown, PinnedItems } =\n\tunlock( editorPrivateApis );\n\nconst slideY = {\n\thidden: { y: '-50px' },\n\tdistractionFreeInactive: { y: 0 },\n\thover: { y: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nconst slideX = {\n\thidden: { x: '-100%' },\n\tdistractionFreeInactive: { x: 0 },\n\thover: { x: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nfunction Header( { setEntitiesSavedStatesCallback, initialPost } ) {\n\tconst isWideViewport = useViewportMatch( 'large' );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst blockToolbarRef = useRef();\n\tconst {\n\t\tisTextEditor,\n\t\tblockSelectionStart,\n\t\thasActiveMetaboxes,\n\t\tisPublishSidebarOpened,\n\t\tshowIconLabels,\n\t\thasHistory,\n\t} = useSelect( ( select ) => {\n\t\tconst { get: getPreference } = select( preferencesStore );\n\t\tconst { getEditorMode } = select( editorStore );\n\n\t\treturn {\n\t\t\tisTextEditor: getEditorMode() === 'text',\n\t\t\tblockSelectionStart:\n\t\t\t\tselect( blockEditorStore ).getBlockSelectionStart(),\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\thasHistory:\n\t\t\t\t!! select( editorStore ).getEditorSettings()\n\t\t\t\t\t.onNavigateToPreviousEntityRecord,\n\t\t\tisPublishSidebarOpened:\n\t\t\t\tselect( editorStore ).isPublishSidebarOpened(),\n\t\t\tshowIconLabels: getPreference( 'core', 'showIconLabels' ),\n\t\t};\n\t}, [] );\n\n\tconst { showFixedToolbar } = useShowBlockTools();\n\tconst showTopToolbar = isLargeViewport && showFixedToolbar;\n\n\tconst [ isBlockToolsCollapsed, setIsBlockToolsCollapsed ] =\n\t\tuseState( true );\n\tconst hasBlockSelection = !! blockSelectionStart;\n\n\tuseEffect( () => {\n\t\t// If we have a new block selection, show the block tools\n\t\tif ( blockSelectionStart ) {\n\t\t\tsetIsBlockToolsCollapsed( false );\n\t\t}\n\t}, [ blockSelectionStart ] );\n\n\treturn (\n\t\t<div className=\"edit-post-header\">\n\t\t\t<MainDashboardButton.Slot>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ slideX }\n\t\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\t>\n\t\t\t\t\t<FullscreenModeClose\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tinitialPost={ initialPost }\n\t\t\t\t\t/>\n\t\t\t\t</motion.div>\n\t\t\t</MainDashboardButton.Slot>\n\t\t\t<motion.div\n\t\t\t\tvariants={ slideY }\n\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\tclassName=\"edit-post-header__toolbar\"\n\t\t\t>\n\t\t\t\t<DocumentTools disableBlockTools={ isTextEditor } />\n\t\t\t\t{ showTopToolbar && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'selected-block-tools-wrapper',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-collapsed':\n\t\t\t\t\t\t\t\t\t\tisBlockToolsCollapsed ||\n\t\t\t\t\t\t\t\t\t\t! hasBlockSelection,\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\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Popover.Slot\n\t\t\t\t\t\t\tref={ blockToolbarRef }\n\t\t\t\t\t\t\tname=\"block-toolbar\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"edit-post-header__block-tools-toggle\"\n\t\t\t\t\t\t\ticon={ isBlockToolsCollapsed ? next : previous }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsBlockToolsCollapsed(\n\t\t\t\t\t\t\t\t\t( collapsed ) => ! collapsed\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisBlockToolsCollapsed\n\t\t\t\t\t\t\t\t\t? __( 'Show block tools' )\n\t\t\t\t\t\t\t\t\t: __( 'Hide block tools' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames( 'edit-post-header__center', {\n\t\t\t\t\t\t'is-collapsed':\n\t\t\t\t\t\t\thasHistory &&\n\t\t\t\t\t\t\t! isBlockToolsCollapsed &&\n\t\t\t\t\t\t\tshowTopToolbar,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ hasHistory && <DocumentBar /> }\n\t\t\t\t</div>\n\t\t\t</motion.div>\n\t\t\t<motion.div\n\t\t\t\tvariants={ slideY }\n\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\tclassName=\"edit-post-header__settings\"\n\t\t\t>\n\t\t\t\t{ ! isPublishSidebarOpened && (\n\t\t\t\t\t// This button isn't completely hidden by the publish sidebar.\n\t\t\t\t\t// We can't hide the whole toolbar when the publish sidebar is open because\n\t\t\t\t\t// we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node.\n\t\t\t\t\t// We track that DOM node to return focus to the PostPublishButtonOrToggle\n\t\t\t\t\t// when the publish sidebar has been closed.\n\t\t\t\t\t<PostSavedState forceIsDirty={ hasActiveMetaboxes } />\n\t\t\t\t) }\n\t\t\t\t<PreviewDropdown forceIsAutosaveable={ hasActiveMetaboxes } />\n\t\t\t\t<PostPreviewButton\n\t\t\t\t\tclassName=\"edit-post-header__post-preview-button\"\n\t\t\t\t\tforceIsAutosaveable={ hasActiveMetaboxes }\n\t\t\t\t/>\n\t\t\t\t<PostViewLink />\n\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<PinnedItems.Slot scope=\"core\" />\n\t\t\t\t) }\n\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t</motion.div>\n\t\t</div>\n\t);\n}\n\nexport default Header;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["privateApis","editorPrivateApis","useSelect","__unstableMotion","motion","FullscreenModeClose","PostEditorMoreMenu","MainDashboardButton","store","editPostStore","unlock","Header","EditorHeader","slideX","hidden","x","distractionFreeInactive","hover","transition","type","delay","setEntitiesSavedStatesCallback","initialPost","hasActiveMetaboxes","select","hasMetaBoxes","createElement","forceIsDirty","Slot","div","variants","showTooltip"],"sources":["@wordpress/edit-post/src/components/header/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { __unstableMotion as motion } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport FullscreenModeClose from './fullscreen-mode-close';\nimport PostEditorMoreMenu from './more-menu';\nimport MainDashboardButton from './main-dashboard-button';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { Header: EditorHeader } = unlock( editorPrivateApis );\n\nconst slideX = {\n\thidden: { x: '-100%' },\n\tdistractionFreeInactive: { x: 0 },\n\thover: { x: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nfunction Header( { setEntitiesSavedStatesCallback, initialPost } ) {\n\tconst { hasActiveMetaboxes } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<EditorHeader\n\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\tsetEntitiesSavedStatesCallback={ setEntitiesSavedStatesCallback }\n\t\t>\n\t\t\t<MainDashboardButton.Slot>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ slideX }\n\t\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\t>\n\t\t\t\t\t<FullscreenModeClose\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tinitialPost={ initialPost }\n\t\t\t\t\t/>\n\t\t\t\t</motion.div>\n\t\t\t</MainDashboardButton.Slot>\n\t\t\t<PostEditorMoreMenu />\n\t\t</EditorHeader>\n\t);\n}\n\nexport default Header;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,gBAAgB,IAAIC,MAAM,QAAQ,uBAAuB;;AAElE;AACA;AACA;AACA,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,OAAOC,kBAAkB,MAAM,aAAa;AAC5C,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,SAASC,KAAK,IAAIC,aAAa,QAAQ,aAAa;AACpD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC,MAAM,EAAEC;AAAa,CAAC,GAAGF,MAAM,CAAET,iBAAkB,CAAC;AAE5D,MAAMY,MAAM,GAAG;EACdC,MAAM,EAAE;IAAEC,CAAC,EAAE;EAAQ,CAAC;EACtBC,uBAAuB,EAAE;IAAED,CAAC,EAAE;EAAE,CAAC;EACjCE,KAAK,EAAE;IAAEF,CAAC,EAAE,CAAC;IAAEG,UAAU,EAAE;MAAEC,IAAI,EAAE,OAAO;MAAEC,KAAK,EAAE;IAAI;EAAE;AAC1D,CAAC;AAED,SAAST,MAAMA,CAAE;EAAEU,8BAA8B;EAAEC;AAAY,CAAC,EAAG;EAClE,MAAM;IAAEC;EAAmB,CAAC,GAAGrB,SAAS,CAAIsB,MAAM,IAAM;IACvD,OAAO;MACND,kBAAkB,EAAEC,MAAM,CAAEf,aAAc,CAAC,CAACgB,YAAY,CAAC;IAC1D,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,OACCC,aAAA,CAACd,YAAY;IACZe,YAAY,EAAGJ,kBAAoB;IACnCF,8BAA8B,EAAGA;EAAgC,GAEjEK,aAAA,CAACnB,mBAAmB,CAACqB,IAAI,QACxBF,aAAA,CAACtB,MAAM,CAACyB,GAAG;IACVC,QAAQ,EAAGjB,MAAQ;IACnBK,UAAU,EAAG;MAAEC,IAAI,EAAE,OAAO;MAAEC,KAAK,EAAE;IAAI;EAAG,GAE5CM,aAAA,CAACrB,mBAAmB;IACnB0B,WAAW;IACXT,WAAW,EAAGA;EAAa,CAC3B,CACU,CACa,CAAC,EAC3BI,aAAA,CAACpB,kBAAkB,MAAE,CACR,CAAC;AAEjB;AAEA,eAAeK,MAAM","ignoreList":[]}
@@ -3,59 +3,33 @@ import { createElement, Fragment } from "react";
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { __ } from '@wordpress/i18n';
6
- import { MenuGroup, DropdownMenu } from '@wordpress/components';
7
6
  import { useViewportMatch } from '@wordpress/compose';
8
7
  import { privateApis as editorPrivateApis } from '@wordpress/editor';
9
- import { moreVertical } from '@wordpress/icons';
8
+ import { PreferenceToggleMenuItem } from '@wordpress/preferences';
9
+ import { displayShortcut } from '@wordpress/keycodes';
10
10
 
11
11
  /**
12
12
  * Internal dependencies
13
13
  */
14
- import PreferencesMenuItem from '../preferences-menu-item';
15
- import ToolsMoreMenuGroup from '../tools-more-menu-group';
16
- import WritingMenu from '../writing-menu';
17
14
  import { unlock } from '../../../lock-unlock';
15
+ import ManagePatternsMenuItem from './manage-patterns-menu-item';
16
+ import WelcomeGuideMenuItem from './welcome-guide-menu-item';
17
+ import EditPostPreferencesModal from '../../preferences-modal';
18
18
  const {
19
- ModeSwitcher,
20
- ActionItem,
21
- PinnedItems
19
+ ToolsMoreMenuGroup,
20
+ ViewMoreMenuGroup
22
21
  } = unlock(editorPrivateApis);
23
- const MoreMenu = ({
24
- showIconLabels
25
- }) => {
22
+ const MoreMenu = () => {
26
23
  const isLargeViewport = useViewportMatch('large');
27
- return createElement(DropdownMenu, {
28
- icon: moreVertical,
29
- label: __('Options'),
30
- popoverProps: {
31
- placement: 'bottom-end',
32
- className: 'more-menu-dropdown__content'
33
- },
34
- toggleProps: {
35
- ...(showIconLabels && {
36
- variant: 'tertiary'
37
- }),
38
- tooltipPosition: 'bottom',
39
- showTooltip: !showIconLabels,
40
- size: 'compact'
41
- }
42
- }, ({
43
- onClose
44
- }) => createElement(Fragment, null, showIconLabels && !isLargeViewport && createElement(PinnedItems.Slot, {
45
- className: showIconLabels && 'show-icon-labels',
46
- scope: "core"
47
- }), createElement(WritingMenu, null), createElement(ModeSwitcher, null), createElement(ActionItem.Slot, {
48
- name: "core/plugin-more-menu",
49
- label: __('Plugins'),
50
- as: MenuGroup,
51
- fillProps: {
52
- onClick: onClose
53
- }
54
- }), createElement(ToolsMoreMenuGroup.Slot, {
55
- fillProps: {
56
- onClose
57
- }
58
- }), createElement(MenuGroup, null, createElement(PreferencesMenuItem, null))));
24
+ return createElement(Fragment, null, isLargeViewport && createElement(ViewMoreMenuGroup, null, createElement(PreferenceToggleMenuItem, {
25
+ scope: "core/edit-post",
26
+ name: "fullscreenMode",
27
+ label: __('Fullscreen mode'),
28
+ info: __('Show and hide the admin user interface'),
29
+ messageActivated: __('Fullscreen mode activated'),
30
+ messageDeactivated: __('Fullscreen mode deactivated'),
31
+ shortcut: displayShortcut.secondary('f')
32
+ })), createElement(ToolsMoreMenuGroup, null, createElement(ManagePatternsMenuItem, null), createElement(WelcomeGuideMenuItem, null)), createElement(EditPostPreferencesModal, null));
59
33
  };
60
34
  export default MoreMenu;
61
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__","MenuGroup","DropdownMenu","useViewportMatch","privateApis","editorPrivateApis","moreVertical","PreferencesMenuItem","ToolsMoreMenuGroup","WritingMenu","unlock","ModeSwitcher","ActionItem","PinnedItems","MoreMenu","showIconLabels","isLargeViewport","createElement","icon","label","popoverProps","placement","className","toggleProps","variant","tooltipPosition","showTooltip","size","onClose","Fragment","Slot","scope","name","as","fillProps","onClick"],"sources":["@wordpress/edit-post/src/components/header/more-menu/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuGroup, DropdownMenu } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport PreferencesMenuItem from '../preferences-menu-item';\nimport ToolsMoreMenuGroup from '../tools-more-menu-group';\nimport WritingMenu from '../writing-menu';\nimport { unlock } from '../../../lock-unlock';\n\nconst { ModeSwitcher, ActionItem, PinnedItems } = unlock( editorPrivateApis );\n\nconst MoreMenu = ( { showIconLabels } ) => {\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ moreVertical }\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tpopoverProps={ {\n\t\t\t\tplacement: 'bottom-end',\n\t\t\t\tclassName: 'more-menu-dropdown__content',\n\t\t\t} }\n\t\t\ttoggleProps={ {\n\t\t\t\t...( showIconLabels && { variant: 'tertiary' } ),\n\t\t\t\ttooltipPosition: 'bottom',\n\t\t\t\tshowTooltip: ! showIconLabels,\n\t\t\t\tsize: 'compact',\n\t\t\t} }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showIconLabels && ! isLargeViewport && (\n\t\t\t\t\t\t<PinnedItems.Slot\n\t\t\t\t\t\t\tclassName={ showIconLabels && 'show-icon-labels' }\n\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<WritingMenu />\n\t\t\t\t\t<ModeSwitcher />\n\t\t\t\t\t<ActionItem.Slot\n\t\t\t\t\t\tname=\"core/plugin-more-menu\"\n\t\t\t\t\t\tlabel={ __( 'Plugins' ) }\n\t\t\t\t\t\tas={ MenuGroup }\n\t\t\t\t\t\tfillProps={ { onClick: onClose } }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsMoreMenuGroup.Slot fillProps={ { onClose } } />\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<PreferencesMenuItem />\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n};\n\nexport default MoreMenu;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,EAAEC,YAAY,QAAQ,uBAAuB;AAC/D,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,YAAY,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,kBAAkB,MAAM,0BAA0B;AACzD,OAAOC,WAAW,MAAM,iBAAiB;AACzC,SAASC,MAAM,QAAQ,sBAAsB;AAE7C,MAAM;EAAEC,YAAY;EAAEC,UAAU;EAAEC;AAAY,CAAC,GAAGH,MAAM,CAAEL,iBAAkB,CAAC;AAE7E,MAAMS,QAAQ,GAAGA,CAAE;EAAEC;AAAe,CAAC,KAAM;EAC1C,MAAMC,eAAe,GAAGb,gBAAgB,CAAE,OAAQ,CAAC;EAEnD,OACCc,aAAA,CAACf,YAAY;IACZgB,IAAI,EAAGZ,YAAc;IACrBa,KAAK,EAAGnB,EAAE,CAAE,SAAU,CAAG;IACzBoB,YAAY,EAAG;MACdC,SAAS,EAAE,YAAY;MACvBC,SAAS,EAAE;IACZ,CAAG;IACHC,WAAW,EAAG;MACb,IAAKR,cAAc,IAAI;QAAES,OAAO,EAAE;MAAW,CAAC,CAAE;MAChDC,eAAe,EAAE,QAAQ;MACzBC,WAAW,EAAE,CAAEX,cAAc;MAC7BY,IAAI,EAAE;IACP;EAAG,GAED,CAAE;IAAEC;EAAQ,CAAC,KACdX,aAAA,CAAAY,QAAA,QACGd,cAAc,IAAI,CAAEC,eAAe,IACpCC,aAAA,CAACJ,WAAW,CAACiB,IAAI;IAChBR,SAAS,EAAGP,cAAc,IAAI,kBAAoB;IAClDgB,KAAK,EAAC;EAAM,CACZ,CACD,EACDd,aAAA,CAACR,WAAW,MAAE,CAAC,EACfQ,aAAA,CAACN,YAAY,MAAE,CAAC,EAChBM,aAAA,CAACL,UAAU,CAACkB,IAAI;IACfE,IAAI,EAAC,uBAAuB;IAC5Bb,KAAK,EAAGnB,EAAE,CAAE,SAAU,CAAG;IACzBiC,EAAE,EAAGhC,SAAW;IAChBiC,SAAS,EAAG;MAAEC,OAAO,EAAEP;IAAQ;EAAG,CAClC,CAAC,EACFX,aAAA,CAACT,kBAAkB,CAACsB,IAAI;IAACI,SAAS,EAAG;MAAEN;IAAQ;EAAG,CAAE,CAAC,EACrDX,aAAA,CAAChB,SAAS,QACTgB,aAAA,CAACV,mBAAmB,MAAE,CACZ,CACV,CAEU,CAAC;AAEjB,CAAC;AAED,eAAeO,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["__","useViewportMatch","privateApis","editorPrivateApis","PreferenceToggleMenuItem","displayShortcut","unlock","ManagePatternsMenuItem","WelcomeGuideMenuItem","EditPostPreferencesModal","ToolsMoreMenuGroup","ViewMoreMenuGroup","MoreMenu","isLargeViewport","createElement","Fragment","scope","name","label","info","messageActivated","messageDeactivated","shortcut","secondary"],"sources":["@wordpress/edit-post/src/components/header/more-menu/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { PreferenceToggleMenuItem } from '@wordpress/preferences';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nimport ManagePatternsMenuItem from './manage-patterns-menu-item';\nimport WelcomeGuideMenuItem from './welcome-guide-menu-item';\nimport EditPostPreferencesModal from '../../preferences-modal';\n\nconst { ToolsMoreMenuGroup, ViewMoreMenuGroup } = unlock( editorPrivateApis );\n\nconst MoreMenu = () => {\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\n\treturn (\n\t\t<>\n\t\t\t{ isLargeViewport && (\n\t\t\t\t<ViewMoreMenuGroup>\n\t\t\t\t\t<PreferenceToggleMenuItem\n\t\t\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\t\t\tname=\"fullscreenMode\"\n\t\t\t\t\t\tlabel={ __( 'Fullscreen mode' ) }\n\t\t\t\t\t\tinfo={ __( 'Show and hide the admin user interface' ) }\n\t\t\t\t\t\tmessageActivated={ __( 'Fullscreen mode activated' ) }\n\t\t\t\t\t\tmessageDeactivated={ __(\n\t\t\t\t\t\t\t'Fullscreen mode deactivated'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tshortcut={ displayShortcut.secondary( 'f' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ViewMoreMenuGroup>\n\t\t\t) }\n\t\t\t<ToolsMoreMenuGroup>\n\t\t\t\t<ManagePatternsMenuItem />\n\t\t\t\t<WelcomeGuideMenuItem />\n\t\t\t</ToolsMoreMenuGroup>\n\t\t\t<EditPostPreferencesModal />\n\t\t</>\n\t);\n};\n\nexport default MoreMenu;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,eAAe,QAAQ,qBAAqB;;AAErD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,OAAOC,sBAAsB,MAAM,6BAA6B;AAChE,OAAOC,oBAAoB,MAAM,2BAA2B;AAC5D,OAAOC,wBAAwB,MAAM,yBAAyB;AAE9D,MAAM;EAAEC,kBAAkB;EAAEC;AAAkB,CAAC,GAAGL,MAAM,CAAEH,iBAAkB,CAAC;AAE7E,MAAMS,QAAQ,GAAGA,CAAA,KAAM;EACtB,MAAMC,eAAe,GAAGZ,gBAAgB,CAAE,OAAQ,CAAC;EAEnD,OACCa,aAAA,CAAAC,QAAA,QACGF,eAAe,IAChBC,aAAA,CAACH,iBAAiB,QACjBG,aAAA,CAACV,wBAAwB;IACxBY,KAAK,EAAC,gBAAgB;IACtBC,IAAI,EAAC,gBAAgB;IACrBC,KAAK,EAAGlB,EAAE,CAAE,iBAAkB,CAAG;IACjCmB,IAAI,EAAGnB,EAAE,CAAE,wCAAyC,CAAG;IACvDoB,gBAAgB,EAAGpB,EAAE,CAAE,2BAA4B,CAAG;IACtDqB,kBAAkB,EAAGrB,EAAE,CACtB,6BACD,CAAG;IACHsB,QAAQ,EAAGjB,eAAe,CAACkB,SAAS,CAAE,GAAI;EAAG,CAC7C,CACiB,CACnB,EACDT,aAAA,CAACJ,kBAAkB,QAClBI,aAAA,CAACP,sBAAsB,MAAE,CAAC,EAC1BO,aAAA,CAACN,oBAAoB,MAAE,CACJ,CAAC,EACrBM,aAAA,CAACL,wBAAwB,MAAE,CAC1B,CAAC;AAEL,CAAC;AAED,eAAeG,QAAQ","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { MenuItem } from '@wordpress/components';
6
+ import { store as coreStore } from '@wordpress/core-data';
7
+ import { useSelect } from '@wordpress/data';
8
+ import { __ } from '@wordpress/i18n';
9
+ import { addQueryArgs } from '@wordpress/url';
10
+ function ManagePatternsMenuItem() {
11
+ const url = useSelect(select => {
12
+ const {
13
+ canUser
14
+ } = select(coreStore);
15
+ const defaultUrl = addQueryArgs('edit.php', {
16
+ post_type: 'wp_block'
17
+ });
18
+ const patternsUrl = addQueryArgs('site-editor.php', {
19
+ path: '/patterns'
20
+ });
21
+
22
+ // The site editor and templates both check whether the user has
23
+ // edit_theme_options capabilities. We can leverage that here and not
24
+ // display the manage patterns link if the user can't access it.
25
+ return canUser('create', 'templates') ? patternsUrl : defaultUrl;
26
+ }, []);
27
+ return createElement(MenuItem, {
28
+ role: "menuitem",
29
+ href: url
30
+ }, __('Manage patterns'));
31
+ }
32
+ export default ManagePatternsMenuItem;
33
+ //# sourceMappingURL=manage-patterns-menu-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MenuItem","store","coreStore","useSelect","__","addQueryArgs","ManagePatternsMenuItem","url","select","canUser","defaultUrl","post_type","patternsUrl","path","createElement","role","href"],"sources":["@wordpress/edit-post/src/components/header/more-menu/manage-patterns-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { addQueryArgs } from '@wordpress/url';\n\nfunction ManagePatternsMenuItem() {\n\tconst url = useSelect( ( select ) => {\n\t\tconst { canUser } = select( coreStore );\n\t\tconst defaultUrl = addQueryArgs( 'edit.php', {\n\t\t\tpost_type: 'wp_block',\n\t\t} );\n\t\tconst patternsUrl = addQueryArgs( 'site-editor.php', {\n\t\t\tpath: '/patterns',\n\t\t} );\n\n\t\t// The site editor and templates both check whether the user has\n\t\t// edit_theme_options capabilities. We can leverage that here and not\n\t\t// display the manage patterns link if the user can't access it.\n\t\treturn canUser( 'create', 'templates' ) ? patternsUrl : defaultUrl;\n\t}, [] );\n\n\treturn (\n\t\t<MenuItem role=\"menuitem\" href={ url }>\n\t\t\t{ __( 'Manage patterns' ) }\n\t\t</MenuItem>\n\t);\n}\n\nexport default ManagePatternsMenuItem;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,YAAY,QAAQ,gBAAgB;AAE7C,SAASC,sBAAsBA,CAAA,EAAG;EACjC,MAAMC,GAAG,GAAGJ,SAAS,CAAIK,MAAM,IAAM;IACpC,MAAM;MAAEC;IAAQ,CAAC,GAAGD,MAAM,CAAEN,SAAU,CAAC;IACvC,MAAMQ,UAAU,GAAGL,YAAY,CAAE,UAAU,EAAE;MAC5CM,SAAS,EAAE;IACZ,CAAE,CAAC;IACH,MAAMC,WAAW,GAAGP,YAAY,CAAE,iBAAiB,EAAE;MACpDQ,IAAI,EAAE;IACP,CAAE,CAAC;;IAEH;IACA;IACA;IACA,OAAOJ,OAAO,CAAE,QAAQ,EAAE,WAAY,CAAC,GAAGG,WAAW,GAAGF,UAAU;EACnE,CAAC,EAAE,EAAG,CAAC;EAEP,OACCI,aAAA,CAACd,QAAQ;IAACe,IAAI,EAAC,UAAU;IAACC,IAAI,EAAGT;EAAK,GACnCH,EAAE,CAAE,iBAAkB,CACf,CAAC;AAEb;AAEA,eAAeE,sBAAsB","ignoreList":[]}
@@ -14,4 +14,4 @@ export default function WelcomeGuideMenuItem() {
14
14
  label: __('Welcome Guide')
15
15
  });
16
16
  }
17
- //# sourceMappingURL=index.js.map
17
+ //# sourceMappingURL=welcome-guide-menu-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSelect","PreferenceToggleMenuItem","__","store","editorStore","WelcomeGuideMenuItem","isEditingTemplate","select","getCurrentPostType","createElement","scope","name","label"],"sources":["@wordpress/edit-post/src/components/header/more-menu/welcome-guide-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { PreferenceToggleMenuItem } from '@wordpress/preferences';\nimport { __ } from '@wordpress/i18n';\nimport { store as editorStore } from '@wordpress/editor';\n\nexport default function WelcomeGuideMenuItem() {\n\tconst isEditingTemplate = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getCurrentPostType() === 'wp_template',\n\t\t[]\n\t);\n\n\treturn (\n\t\t<PreferenceToggleMenuItem\n\t\t\tscope=\"core/edit-post\"\n\t\t\tname={ isEditingTemplate ? 'welcomeGuideTemplate' : 'welcomeGuide' }\n\t\t\tlabel={ __( 'Welcome Guide' ) }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AAExD,eAAe,SAASC,oBAAoBA,CAAA,EAAG;EAC9C,MAAMC,iBAAiB,GAAGN,SAAS,CAChCO,MAAM,IACPA,MAAM,CAAEH,WAAY,CAAC,CAACI,kBAAkB,CAAC,CAAC,KAAK,aAAa,EAC7D,EACD,CAAC;EAED,OACCC,aAAA,CAACR,wBAAwB;IACxBS,KAAK,EAAC,gBAAgB;IACtBC,IAAI,EAAGL,iBAAiB,GAAG,sBAAsB,GAAG,cAAgB;IACpEM,KAAK,EAAGV,EAAE,CAAE,eAAgB;EAAG,CAC/B,CAAC;AAEJ","ignoreList":[]}
@@ -2,11 +2,9 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useEffect } from '@wordpress/element';
5
- import { useSelect, useDispatch } from '@wordpress/data';
5
+ import { useDispatch } from '@wordpress/data';
6
6
  import { useShortcut, store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
7
7
  import { __ } from '@wordpress/i18n';
8
- import { store as blockEditorStore } from '@wordpress/block-editor';
9
- import { createBlock } from '@wordpress/blocks';
10
8
 
11
9
  /**
12
10
  * Internal dependencies
@@ -19,36 +17,6 @@ function KeyboardShortcuts() {
19
17
  const {
20
18
  registerShortcut
21
19
  } = useDispatch(keyboardShortcutsStore);
22
- const {
23
- replaceBlocks
24
- } = useDispatch(blockEditorStore);
25
- const {
26
- getBlockName,
27
- getSelectedBlockClientId,
28
- getBlockAttributes
29
- } = useSelect(blockEditorStore);
30
- const handleTextLevelShortcut = (event, level) => {
31
- event.preventDefault();
32
- const destinationBlockName = level === 0 ? 'core/paragraph' : 'core/heading';
33
- const currentClientId = getSelectedBlockClientId();
34
- if (currentClientId === null) {
35
- return;
36
- }
37
- const blockName = getBlockName(currentClientId);
38
- if (blockName !== 'core/paragraph' && blockName !== 'core/heading') {
39
- return;
40
- }
41
- const attributes = getBlockAttributes(currentClientId);
42
- const textAlign = blockName === 'core/paragraph' ? 'align' : 'textAlign';
43
- const destinationTextAlign = destinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';
44
- replaceBlocks(currentClientId, createBlock(destinationBlockName, {
45
- level,
46
- content: attributes.content,
47
- ...{
48
- [destinationTextAlign]: attributes[textAlign]
49
- }
50
- }));
51
- };
52
20
  useEffect(() => {
53
21
  registerShortcut({
54
22
  name: 'core/edit-post/toggle-fullscreen',
@@ -59,66 +27,10 @@ function KeyboardShortcuts() {
59
27
  character: 'f'
60
28
  }
61
29
  });
62
- registerShortcut({
63
- name: 'core/edit-post/next-region',
64
- category: 'global',
65
- description: __('Navigate to the next part of the editor.'),
66
- keyCombination: {
67
- modifier: 'ctrl',
68
- character: '`'
69
- },
70
- aliases: [{
71
- modifier: 'access',
72
- character: 'n'
73
- }]
74
- });
75
- registerShortcut({
76
- name: 'core/edit-post/previous-region',
77
- category: 'global',
78
- description: __('Navigate to the previous part of the editor.'),
79
- keyCombination: {
80
- modifier: 'ctrlShift',
81
- character: '`'
82
- },
83
- aliases: [{
84
- modifier: 'access',
85
- character: 'p'
86
- }, {
87
- modifier: 'ctrlShift',
88
- character: '~'
89
- }]
90
- });
91
- registerShortcut({
92
- name: 'core/edit-post/transform-heading-to-paragraph',
93
- category: 'block-library',
94
- description: __('Transform heading to paragraph.'),
95
- keyCombination: {
96
- modifier: 'access',
97
- character: `0`
98
- }
99
- });
100
- [1, 2, 3, 4, 5, 6].forEach(level => {
101
- registerShortcut({
102
- name: `core/edit-post/transform-paragraph-to-heading-${level}`,
103
- category: 'block-library',
104
- description: __('Transform paragraph to heading.'),
105
- keyCombination: {
106
- modifier: 'access',
107
- character: `${level}`
108
- }
109
- });
110
- });
111
30
  }, []);
112
31
  useShortcut('core/edit-post/toggle-fullscreen', () => {
113
32
  toggleFeature('fullscreenMode');
114
33
  });
115
- useShortcut('core/edit-post/transform-heading-to-paragraph', event => handleTextLevelShortcut(event, 0));
116
- [1, 2, 3, 4, 5, 6].forEach(level => {
117
- //the loop is based off on a constant therefore
118
- //the hook will execute the same way every time
119
- //eslint-disable-next-line react-hooks/rules-of-hooks
120
- useShortcut(`core/edit-post/transform-paragraph-to-heading-${level}`, event => handleTextLevelShortcut(event, level));
121
- });
122
34
  return null;
123
35
  }
124
36
  export default KeyboardShortcuts;
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useSelect","useDispatch","useShortcut","store","keyboardShortcutsStore","__","blockEditorStore","createBlock","editPostStore","KeyboardShortcuts","toggleFeature","registerShortcut","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","content","name","category","description","keyCombination","modifier","character","aliases","forEach"],"sources":["@wordpress/edit-post/src/components/keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction KeyboardShortcuts() {\n\tconst { toggleFeature } = useDispatch( editPostStore );\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { getBlockName, getSelectedBlockClientId, getBlockAttributes } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst handleTextLevelShortcut = ( event, level ) => {\n\t\tevent.preventDefault();\n\t\tconst destinationBlockName =\n\t\t\tlevel === 0 ? 'core/paragraph' : 'core/heading';\n\t\tconst currentClientId = getSelectedBlockClientId();\n\t\tif ( currentClientId === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst blockName = getBlockName( currentClientId );\n\t\tif ( blockName !== 'core/paragraph' && blockName !== 'core/heading' ) {\n\t\t\treturn;\n\t\t}\n\t\tconst attributes = getBlockAttributes( currentClientId );\n\t\tconst textAlign =\n\t\t\tblockName === 'core/paragraph' ? 'align' : 'textAlign';\n\t\tconst destinationTextAlign =\n\t\t\tdestinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';\n\n\t\treplaceBlocks(\n\t\t\tcurrentClientId,\n\t\t\tcreateBlock( destinationBlockName, {\n\t\t\t\tlevel,\n\t\t\t\tcontent: attributes.content,\n\t\t\t\t...{ [ destinationTextAlign ]: attributes[ textAlign ] },\n\t\t\t} )\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-fullscreen',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle fullscreen mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'f',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/next-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrl',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'n',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/previous-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'p',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\t\tcharacter: '~',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/transform-heading-to-paragraph',\n\t\t\tcategory: 'block-library',\n\t\t\tdescription: __( 'Transform heading to paragraph.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: `0`,\n\t\t\t},\n\t\t} );\n\n\t\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t\tregisterShortcut( {\n\t\t\t\tname: `core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t\tcategory: 'block-library',\n\t\t\t\tdescription: __( 'Transform paragraph to heading.' ),\n\t\t\t\tkeyCombination: {\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: `${ level }`,\n\t\t\t\t},\n\t\t\t} );\n\t\t} );\n\t}, [] );\n\n\tuseShortcut( 'core/edit-post/toggle-fullscreen', () => {\n\t\ttoggleFeature( 'fullscreenMode' );\n\t} );\n\n\tuseShortcut( 'core/edit-post/transform-heading-to-paragraph', ( event ) =>\n\t\thandleTextLevelShortcut( event, 0 )\n\t);\n\n\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t//the loop is based off on a constant therefore\n\t\t//the hook will execute the same way every time\n\t\t//eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tuseShortcut(\n\t\t\t`core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcuts;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useDispatch","useShortcut","store","keyboardShortcutsStore","__","editPostStore","KeyboardShortcuts","toggleFeature","registerShortcut","name","category","description","keyCombination","modifier","character"],"sources":["@wordpress/edit-post/src/components/keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction KeyboardShortcuts() {\n\tconst { toggleFeature } = useDispatch( editPostStore );\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-fullscreen',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle fullscreen mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'f',\n\t\t\t},\n\t\t} );\n\t}, [] );\n\n\tuseShortcut( 'core/edit-post/toggle-fullscreen', () => {\n\t\ttoggleFeature( 'fullscreenMode' );\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcuts;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SACCC,WAAW,EACXC,KAAK,IAAIC,sBAAsB,QACzB,+BAA+B;AACtC,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASF,KAAK,IAAIG,aAAa,QAAQ,aAAa;AAEpD,SAASC,iBAAiBA,CAAA,EAAG;EAC5B,MAAM;IAAEC;EAAc,CAAC,GAAGP,WAAW,CAAEK,aAAc,CAAC;EACtD,MAAM;IAAEG;EAAiB,CAAC,GAAGR,WAAW,CAAEG,sBAAuB,CAAC;EAElEJ,SAAS,CAAE,MAAM;IAChBS,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kCAAkC;MACxCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAEP,EAAE,CAAE,yBAA0B,CAAC;MAC5CQ,cAAc,EAAE;QACfC,QAAQ,EAAE,WAAW;QACrBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,EAAG,CAAC;EAEPb,WAAW,CAAE,kCAAkC,EAAE,MAAM;IACtDM,aAAa,CAAE,gBAAiB,CAAC;EAClC,CAAE,CAAC;EAEH,OAAO,IAAI;AACZ;AAEA,eAAeD,iBAAiB","ignoreList":[]}