@wordpress/editor 13.34.0 → 13.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 (263) hide show
  1. package/CHANGELOG.md +10 -4
  2. package/build/bindings/pattern-overrides.js +70 -1
  3. package/build/bindings/pattern-overrides.js.map +1 -1
  4. package/build/components/block-settings-menu/content-only-settings-menu.js +126 -0
  5. package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -0
  6. package/build/components/block-settings-menu/content-only-settings-menu.native.js +11 -0
  7. package/build/components/block-settings-menu/content-only-settings-menu.native.js.map +1 -0
  8. package/build/components/collapsible-block-toolbar/index.js +2 -2
  9. package/build/components/collapsible-block-toolbar/index.js.map +1 -1
  10. package/build/components/document-bar/index.js +2 -2
  11. package/build/components/document-bar/index.js.map +1 -1
  12. package/build/components/document-outline/item.js +2 -2
  13. package/build/components/document-outline/item.js.map +1 -1
  14. package/build/components/document-tools/index.js +15 -18
  15. package/build/components/document-tools/index.js.map +1 -1
  16. package/build/components/editor-canvas/index.js +19 -8
  17. package/build/components/editor-canvas/index.js.map +1 -1
  18. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +1 -1
  19. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  20. package/build/components/global-styles-provider/index.js +130 -0
  21. package/build/components/global-styles-provider/index.js.map +1 -0
  22. package/build/components/header/index.js +147 -0
  23. package/build/components/header/index.js.map +1 -0
  24. package/build/components/inserter-sidebar/index.js +56 -31
  25. package/build/components/inserter-sidebar/index.js.map +1 -1
  26. package/build/components/keyboard-shortcut-help-modal/index.js +2 -2
  27. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  28. package/build/components/post-actions/actions.js +122 -64
  29. package/build/components/post-actions/actions.js.map +1 -1
  30. package/build/components/post-actions/index.js +7 -14
  31. package/build/components/post-actions/index.js.map +1 -1
  32. package/build/components/post-card-panel/index.js +5 -29
  33. package/build/components/post-card-panel/index.js.map +1 -1
  34. package/build/components/post-comments/index.js +28 -8
  35. package/build/components/post-comments/index.js.map +1 -1
  36. package/build/components/post-discussion/panel.js +103 -21
  37. package/build/components/post-discussion/panel.js.map +1 -1
  38. package/build/components/post-excerpt/panel.js +2 -2
  39. package/build/components/post-excerpt/panel.js.map +1 -1
  40. package/build/components/post-format/panel.js +27 -0
  41. package/build/components/post-format/panel.js.map +1 -0
  42. package/build/components/post-panel-row/index.js +2 -2
  43. package/build/components/post-panel-row/index.js.map +1 -1
  44. package/build/components/post-panel-section/index.js +28 -0
  45. package/build/components/post-panel-section/index.js.map +1 -0
  46. package/build/components/post-pingbacks/index.js +5 -2
  47. package/build/components/post-pingbacks/index.js.map +1 -1
  48. package/build/components/post-saved-state/index.js +2 -2
  49. package/build/components/post-saved-state/index.js.map +1 -1
  50. package/build/components/post-slug/panel.js +27 -0
  51. package/build/components/post-slug/panel.js.map +1 -0
  52. package/build/components/post-status/index.js +4 -4
  53. package/build/components/post-status/index.js.map +1 -1
  54. package/build/components/post-sticky/panel.js +21 -0
  55. package/build/components/post-sticky/panel.js.map +1 -0
  56. package/build/components/post-title/index.js +2 -2
  57. package/build/components/post-title/index.js.map +1 -1
  58. package/build/components/post-title/post-title-raw.js +2 -2
  59. package/build/components/post-title/post-title-raw.js.map +1 -1
  60. package/build/components/post-transform-panel/hooks.js +90 -0
  61. package/build/components/post-transform-panel/hooks.js.map +1 -0
  62. package/build/components/post-transform-panel/index.js +101 -0
  63. package/build/components/post-transform-panel/index.js.map +1 -0
  64. package/build/components/post-trash/panel.js +18 -0
  65. package/build/components/post-trash/panel.js.map +1 -0
  66. package/build/components/post-type-support-check/index.js +1 -1
  67. package/build/components/post-type-support-check/index.js.map +1 -1
  68. package/build/components/preferences-modal/index.js +3 -3
  69. package/build/components/preferences-modal/index.js.map +1 -1
  70. package/build/components/provider/index.js +3 -1
  71. package/build/components/provider/index.js.map +1 -1
  72. package/build/components/provider/use-block-editor-settings.js +21 -3
  73. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  74. package/build/components/sidebar/constants.js +11 -0
  75. package/build/components/sidebar/constants.js.map +1 -0
  76. package/build/components/sidebar/header.js +53 -0
  77. package/build/components/sidebar/header.js.map +1 -0
  78. package/build/components/sidebar/index.js +157 -0
  79. package/build/components/sidebar/index.js.map +1 -0
  80. package/build/components/sidebar/post-summary.js +84 -0
  81. package/build/components/sidebar/post-summary.js.map +1 -0
  82. package/build/components/start-page-options/index.js +5 -7
  83. package/build/components/start-page-options/index.js.map +1 -1
  84. package/build/components/start-template-options/index.js +192 -0
  85. package/build/components/start-template-options/index.js.map +1 -0
  86. package/build/components/template-content-panel/index.js +38 -0
  87. package/build/components/template-content-panel/index.js.map +1 -0
  88. package/build/hooks/pattern-overrides.js +10 -5
  89. package/build/hooks/pattern-overrides.js.map +1 -1
  90. package/build/private-apis.js +7 -12
  91. package/build/private-apis.js.map +1 -1
  92. package/build/private-apis.native.js +72 -0
  93. package/build/private-apis.native.js.map +1 -0
  94. package/build/store/private-selectors.js +6 -1
  95. package/build/store/private-selectors.js.map +1 -1
  96. package/build/store/reducer.js +15 -0
  97. package/build/store/reducer.js.map +1 -1
  98. package/build-module/bindings/pattern-overrides.js +69 -1
  99. package/build-module/bindings/pattern-overrides.js.map +1 -1
  100. package/build-module/components/block-settings-menu/content-only-settings-menu.js +119 -0
  101. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -0
  102. package/build-module/components/block-settings-menu/content-only-settings-menu.native.js +5 -0
  103. package/build-module/components/block-settings-menu/content-only-settings-menu.native.js.map +1 -0
  104. package/build-module/components/collapsible-block-toolbar/index.js +2 -2
  105. package/build-module/components/collapsible-block-toolbar/index.js.map +1 -1
  106. package/build-module/components/document-bar/index.js +2 -2
  107. package/build-module/components/document-bar/index.js.map +1 -1
  108. package/build-module/components/document-outline/item.js +2 -2
  109. package/build-module/components/document-outline/item.js.map +1 -1
  110. package/build-module/components/document-tools/index.js +16 -19
  111. package/build-module/components/document-tools/index.js.map +1 -1
  112. package/build-module/components/editor-canvas/index.js +19 -8
  113. package/build-module/components/editor-canvas/index.js.map +1 -1
  114. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +1 -1
  115. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  116. package/build-module/components/global-styles-provider/index.js +120 -0
  117. package/build-module/components/global-styles-provider/index.js.map +1 -0
  118. package/build-module/components/header/index.js +139 -0
  119. package/build-module/components/header/index.js.map +1 -0
  120. package/build-module/components/inserter-sidebar/index.js +59 -34
  121. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  122. package/build-module/components/keyboard-shortcut-help-modal/index.js +2 -2
  123. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  124. package/build-module/components/post-actions/actions.js +125 -66
  125. package/build-module/components/post-actions/actions.js.map +1 -1
  126. package/build-module/components/post-actions/index.js +7 -14
  127. package/build-module/components/post-actions/index.js.map +1 -1
  128. package/build-module/components/post-card-panel/index.js +7 -30
  129. package/build-module/components/post-card-panel/index.js.map +1 -1
  130. package/build-module/components/post-comments/index.js +30 -10
  131. package/build-module/components/post-comments/index.js.map +1 -1
  132. package/build-module/components/post-discussion/panel.js +105 -23
  133. package/build-module/components/post-discussion/panel.js.map +1 -1
  134. package/build-module/components/post-excerpt/panel.js +2 -2
  135. package/build-module/components/post-excerpt/panel.js.map +1 -1
  136. package/build-module/components/post-format/panel.js +18 -0
  137. package/build-module/components/post-format/panel.js.map +1 -0
  138. package/build-module/components/post-panel-row/index.js +2 -2
  139. package/build-module/components/post-panel-row/index.js.map +1 -1
  140. package/build-module/components/post-panel-section/index.js +20 -0
  141. package/build-module/components/post-panel-section/index.js.map +1 -0
  142. package/build-module/components/post-pingbacks/index.js +6 -3
  143. package/build-module/components/post-pingbacks/index.js.map +1 -1
  144. package/build-module/components/post-saved-state/index.js +2 -2
  145. package/build-module/components/post-saved-state/index.js.map +1 -1
  146. package/build-module/components/post-slug/panel.js +18 -0
  147. package/build-module/components/post-slug/panel.js.map +1 -0
  148. package/build-module/components/post-status/index.js +4 -4
  149. package/build-module/components/post-status/index.js.map +1 -1
  150. package/build-module/components/post-sticky/panel.js +12 -0
  151. package/build-module/components/post-sticky/panel.js.map +1 -0
  152. package/build-module/components/post-title/index.js +2 -2
  153. package/build-module/components/post-title/index.js.map +1 -1
  154. package/build-module/components/post-title/post-title-raw.js +2 -2
  155. package/build-module/components/post-title/post-title-raw.js.map +1 -1
  156. package/build-module/components/post-transform-panel/hooks.js +83 -0
  157. package/build-module/components/post-transform-panel/hooks.js.map +1 -0
  158. package/build-module/components/post-transform-panel/index.js +94 -0
  159. package/build-module/components/post-transform-panel/index.js.map +1 -0
  160. package/build-module/components/post-trash/panel.js +10 -0
  161. package/build-module/components/post-trash/panel.js.map +1 -0
  162. package/build-module/components/post-type-support-check/index.js +1 -1
  163. package/build-module/components/post-type-support-check/index.js.map +1 -1
  164. package/build-module/components/preferences-modal/index.js +3 -3
  165. package/build-module/components/preferences-modal/index.js.map +1 -1
  166. package/build-module/components/provider/index.js +3 -1
  167. package/build-module/components/provider/index.js.map +1 -1
  168. package/build-module/components/provider/use-block-editor-settings.js +21 -3
  169. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  170. package/build-module/components/sidebar/constants.js +5 -0
  171. package/build-module/components/sidebar/constants.js.map +1 -0
  172. package/build-module/components/sidebar/header.js +46 -0
  173. package/build-module/components/sidebar/header.js.map +1 -0
  174. package/build-module/components/sidebar/index.js +149 -0
  175. package/build-module/components/sidebar/index.js.map +1 -0
  176. package/build-module/components/sidebar/post-summary.js +77 -0
  177. package/build-module/components/sidebar/post-summary.js.map +1 -0
  178. package/build-module/components/start-page-options/index.js +5 -7
  179. package/build-module/components/start-page-options/index.js.map +1 -1
  180. package/build-module/components/start-template-options/index.js +185 -0
  181. package/build-module/components/start-template-options/index.js.map +1 -0
  182. package/build-module/components/template-content-panel/index.js +31 -0
  183. package/build-module/components/template-content-panel/index.js.map +1 -0
  184. package/build-module/hooks/pattern-overrides.js +10 -5
  185. package/build-module/hooks/pattern-overrides.js.map +1 -1
  186. package/build-module/private-apis.js +7 -12
  187. package/build-module/private-apis.js.map +1 -1
  188. package/build-module/private-apis.native.js +62 -0
  189. package/build-module/private-apis.native.js.map +1 -0
  190. package/build-module/store/private-selectors.js +3 -0
  191. package/build-module/store/private-selectors.js.map +1 -1
  192. package/build-module/store/reducer.js +14 -0
  193. package/build-module/store/reducer.js.map +1 -1
  194. package/build-style/style-rtl.css +328 -18
  195. package/build-style/style.css +328 -18
  196. package/package.json +38 -36
  197. package/src/bindings/pattern-overrides.js +83 -1
  198. package/src/components/autocompleters/style.scss +1 -2
  199. package/src/components/block-settings-menu/content-only-settings-menu.js +175 -0
  200. package/src/components/block-settings-menu/content-only-settings-menu.native.js +4 -0
  201. package/src/components/block-settings-menu/style.scss +4 -0
  202. package/src/components/collapsible-block-toolbar/index.js +2 -2
  203. package/src/components/document-bar/index.js +2 -2
  204. package/src/components/document-outline/item.js +2 -2
  205. package/src/components/document-tools/index.js +19 -21
  206. package/src/components/editor-canvas/index.js +18 -6
  207. package/src/components/global-keyboard-shortcuts/register-shortcuts.js +1 -1
  208. package/src/components/global-styles-provider/index.js +162 -0
  209. package/src/components/header/index.js +154 -0
  210. package/src/components/header/style.scss +231 -0
  211. package/src/components/inserter-sidebar/index.js +52 -29
  212. package/src/components/inserter-sidebar/style.scss +10 -3
  213. package/src/components/keyboard-shortcut-help-modal/index.js +2 -2
  214. package/src/components/list-view-sidebar/style.scss +1 -0
  215. package/src/components/page-attributes/test/order.js +5 -1
  216. package/src/components/post-actions/actions.js +256 -150
  217. package/src/components/post-actions/index.js +5 -38
  218. package/src/components/post-card-panel/index.js +39 -85
  219. package/src/components/post-comments/index.js +47 -9
  220. package/src/components/post-discussion/panel.js +108 -31
  221. package/src/components/post-discussion/style.scss +26 -0
  222. package/src/components/post-excerpt/panel.js +2 -2
  223. package/src/components/post-format/panel.js +22 -0
  224. package/src/components/post-format/style.scss +6 -0
  225. package/src/components/post-last-revision/test/check.js +5 -1
  226. package/src/components/post-panel-row/index.js +2 -2
  227. package/src/components/post-panel-section/index.js +19 -0
  228. package/src/components/post-panel-section/style.scss +3 -0
  229. package/src/components/post-pingbacks/index.js +11 -2
  230. package/src/components/post-publish-panel/style.scss +5 -0
  231. package/src/components/post-saved-state/index.js +2 -2
  232. package/src/components/post-slug/panel.js +22 -0
  233. package/src/components/post-slug/style.scss +5 -0
  234. package/src/components/post-slug/test/index.js +5 -1
  235. package/src/components/post-status/index.js +4 -4
  236. package/src/components/post-sticky/panel.js +18 -0
  237. package/src/components/post-title/index.js +2 -2
  238. package/src/components/post-title/post-title-raw.js +2 -2
  239. package/src/components/post-transform-panel/hooks.js +114 -0
  240. package/src/components/post-transform-panel/index.js +99 -0
  241. package/src/components/post-trash/panel.js +13 -0
  242. package/src/components/post-type-support-check/index.js +1 -1
  243. package/src/components/post-type-support-check/test/index.js +2 -2
  244. package/src/components/preferences-modal/index.js +3 -3
  245. package/src/components/provider/index.js +4 -0
  246. package/src/components/provider/use-block-editor-settings.js +19 -4
  247. package/src/components/sidebar/constants.js +4 -0
  248. package/src/components/sidebar/header.js +49 -0
  249. package/src/components/sidebar/index.js +200 -0
  250. package/src/components/sidebar/post-summary.js +104 -0
  251. package/src/components/sidebar/style.scss +18 -0
  252. package/src/components/start-page-options/index.js +6 -4
  253. package/src/components/start-template-options/index.js +219 -0
  254. package/src/components/start-template-options/style.scss +55 -0
  255. package/src/components/template-areas/style.scss +0 -1
  256. package/src/components/template-content-panel/index.js +36 -0
  257. package/src/hooks/pattern-overrides.js +12 -6
  258. package/src/private-apis.js +10 -12
  259. package/src/private-apis.native.js +61 -0
  260. package/src/store/private-selectors.js +3 -0
  261. package/src/store/reducer.js +12 -0
  262. package/src/style.scss +7 -0
  263. package/src/components/post-slug/test/check.js +0 -17
@@ -3,8 +3,11 @@ import { createElement } from "react";
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { __ } from '@wordpress/i18n';
6
- import { PanelBody, PanelRow } from '@wordpress/components';
7
- import { useDispatch, useSelect } from '@wordpress/data';
6
+ import { Dropdown, Button, __experimentalVStack as VStack, __experimentalText as Text } from '@wordpress/components';
7
+ import { useSelect } from '@wordpress/data';
8
+ import { useState, useMemo } from '@wordpress/element';
9
+ import { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';
10
+ import { store as coreStore } from '@wordpress/core-data';
8
11
 
9
12
  /**
10
13
  * Internal dependencies
@@ -13,40 +16,119 @@ import { store as editorStore } from '../../store';
13
16
  import PostTypeSupportCheck from '../post-type-support-check';
14
17
  import PostComments from '../post-comments';
15
18
  import PostPingbacks from '../post-pingbacks';
19
+ import PostPanelRow from '../post-panel-row';
16
20
  const PANEL_NAME = 'discussion-panel';
17
- function DiscussionPanel() {
21
+ function ModalContents({
22
+ onClose
23
+ }) {
24
+ return createElement("div", {
25
+ className: "editor-post-discussion"
26
+ }, createElement(InspectorPopoverHeader, {
27
+ title: __('Discussion'),
28
+ onClose: onClose
29
+ }), createElement(VStack, {
30
+ spacing: 4
31
+ }, createElement(PostTypeSupportCheck, {
32
+ supportKeys: "comments"
33
+ }, createElement(PostComments, null)), createElement(PostTypeSupportCheck, {
34
+ supportKeys: "trackbacks"
35
+ }, createElement(PostPingbacks, null))));
36
+ }
37
+ function PostDiscussionToggle({
38
+ isOpen,
39
+ onClick
40
+ }) {
18
41
  const {
19
- isEnabled,
20
- isOpened
42
+ commentStatus,
43
+ pingStatus,
44
+ commentsSupported,
45
+ trackbacksSupported
21
46
  } = useSelect(select => {
47
+ var _getEditedPostAttribu, _getEditedPostAttribu2;
22
48
  const {
23
- isEditorPanelEnabled,
24
- isEditorPanelOpened
49
+ getEditedPostAttribute
25
50
  } = select(editorStore);
51
+ const {
52
+ getPostType
53
+ } = select(coreStore);
54
+ const postType = getPostType(getEditedPostAttribute('type'));
26
55
  return {
27
- isEnabled: isEditorPanelEnabled(PANEL_NAME),
28
- isOpened: isEditorPanelOpened(PANEL_NAME)
56
+ commentStatus: (_getEditedPostAttribu = getEditedPostAttribute('comment_status')) !== null && _getEditedPostAttribu !== void 0 ? _getEditedPostAttribu : 'open',
57
+ pingStatus: (_getEditedPostAttribu2 = getEditedPostAttribute('ping_status')) !== null && _getEditedPostAttribu2 !== void 0 ? _getEditedPostAttribu2 : 'open',
58
+ commentsSupported: !!postType.supports.comments,
59
+ trackbacksSupported: !!postType.supports.trackbacks
29
60
  };
30
61
  }, []);
62
+ let label;
63
+ if (commentStatus === 'open') {
64
+ if (pingStatus === 'open') {
65
+ label = __('Open');
66
+ } else {
67
+ label = trackbacksSupported ? __('Comments only') : __('Open');
68
+ }
69
+ } else if (pingStatus === 'open') {
70
+ label = commentsSupported ? __('Pings only') : __('Pings enabled');
71
+ } else {
72
+ label = __('Closed');
73
+ }
74
+ return createElement(Button, {
75
+ size: "compact",
76
+ className: "editor-post-discussion__panel-toggle",
77
+ variant: "tertiary",
78
+ "aria-label": __('Change discussion options'),
79
+ "aria-expanded": isOpen,
80
+ onClick: onClick
81
+ }, createElement(Text, null, label));
82
+ }
83
+ export default function PostDiscussionPanel() {
31
84
  const {
32
- toggleEditorPanelOpened
33
- } = useDispatch(editorStore);
85
+ isEnabled
86
+ } = useSelect(select => {
87
+ const {
88
+ isEditorPanelEnabled
89
+ } = select(editorStore);
90
+ return {
91
+ isEnabled: isEditorPanelEnabled(PANEL_NAME)
92
+ };
93
+ }, []);
94
+
95
+ // Use internal state instead of a ref to make sure that the component
96
+ // re-renders when the popover's anchor updates.
97
+ const [popoverAnchor, setPopoverAnchor] = useState(null);
98
+ // Memoize popoverProps to avoid returning a new object every time.
99
+ const popoverProps = useMemo(() => ({
100
+ // Anchor the popover to the middle of the entire row so that it doesn't
101
+ // move around when the label changes.
102
+ anchor: popoverAnchor,
103
+ placement: 'left-start',
104
+ offset: 36,
105
+ shift: true
106
+ }), [popoverAnchor]);
34
107
  if (!isEnabled) {
35
108
  return null;
36
109
  }
37
- return createElement(PanelBody, {
38
- title: __('Discussion'),
39
- opened: isOpened,
40
- onToggle: () => toggleEditorPanelOpened(PANEL_NAME)
41
- }, createElement(PostTypeSupportCheck, {
42
- supportKeys: "comments"
43
- }, createElement(PanelRow, null, createElement(PostComments, null))), createElement(PostTypeSupportCheck, {
44
- supportKeys: "trackbacks"
45
- }, createElement(PanelRow, null, createElement(PostPingbacks, null))));
46
- }
47
- export default function PostDiscussionPanel() {
48
110
  return createElement(PostTypeSupportCheck, {
49
111
  supportKeys: ['comments', 'trackbacks']
50
- }, createElement(DiscussionPanel, null));
112
+ }, createElement(PostPanelRow, {
113
+ label: __('Discussion'),
114
+ ref: setPopoverAnchor
115
+ }, createElement(Dropdown, {
116
+ popoverProps: popoverProps,
117
+ className: "editor-post-discussion__panel-dropdown",
118
+ contentClassName: "editor-post-discussion__panel-dialog",
119
+ focusOnMount: true,
120
+ renderToggle: ({
121
+ isOpen,
122
+ onToggle
123
+ }) => createElement(PostDiscussionToggle, {
124
+ isOpen: isOpen,
125
+ onClick: onToggle
126
+ }),
127
+ renderContent: ({
128
+ onClose
129
+ }) => createElement(ModalContents, {
130
+ onClose: onClose
131
+ })
132
+ })));
51
133
  }
52
134
  //# sourceMappingURL=panel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__","PanelBody","PanelRow","useDispatch","useSelect","store","editorStore","PostTypeSupportCheck","PostComments","PostPingbacks","PANEL_NAME","DiscussionPanel","isEnabled","isOpened","select","isEditorPanelEnabled","isEditorPanelOpened","toggleEditorPanelOpened","createElement","title","opened","onToggle","supportKeys","PostDiscussionPanel"],"sources":["@wordpress/editor/src/components/post-discussion/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, PanelRow } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport PostComments from '../post-comments';\nimport PostPingbacks from '../post-pingbacks';\n\nconst PANEL_NAME = 'discussion-panel';\n\nfunction DiscussionPanel() {\n\tconst { isEnabled, isOpened } = useSelect( ( select ) => {\n\t\tconst { isEditorPanelEnabled, isEditorPanelOpened } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\t};\n\t}, [] );\n\n\tconst { toggleEditorPanelOpened } = useDispatch( editorStore );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ __( 'Discussion' ) }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ () => toggleEditorPanelOpened( PANEL_NAME ) }\n\t\t>\n\t\t\t<PostTypeSupportCheck supportKeys=\"comments\">\n\t\t\t\t<PanelRow>\n\t\t\t\t\t<PostComments />\n\t\t\t\t</PanelRow>\n\t\t\t</PostTypeSupportCheck>\n\n\t\t\t<PostTypeSupportCheck supportKeys=\"trackbacks\">\n\t\t\t\t<PanelRow>\n\t\t\t\t\t<PostPingbacks />\n\t\t\t\t</PanelRow>\n\t\t\t</PostTypeSupportCheck>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function PostDiscussionPanel() {\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys={ [ 'comments', 'trackbacks' ] }>\n\t\t\t<DiscussionPanel />\n\t\t</PostTypeSupportCheck>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AAC3D,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,aAAa,MAAM,mBAAmB;AAE7C,MAAMC,UAAU,GAAG,kBAAkB;AAErC,SAASC,eAAeA,CAAA,EAAG;EAC1B,MAAM;IAAEC,SAAS;IAAEC;EAAS,CAAC,GAAGT,SAAS,CAAIU,MAAM,IAAM;IACxD,MAAM;MAAEC,oBAAoB;MAAEC;IAAoB,CAAC,GAClDF,MAAM,CAAER,WAAY,CAAC;IACtB,OAAO;MACNM,SAAS,EAAEG,oBAAoB,CAAEL,UAAW,CAAC;MAC7CG,QAAQ,EAAEG,mBAAmB,CAAEN,UAAW;IAC3C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEO;EAAwB,CAAC,GAAGd,WAAW,CAAEG,WAAY,CAAC;EAE9D,IAAK,CAAEM,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,OACCM,aAAA,CAACjB,SAAS;IACTkB,KAAK,EAAGnB,EAAE,CAAE,YAAa,CAAG;IAC5BoB,MAAM,EAAGP,QAAU;IACnBQ,QAAQ,EAAGA,CAAA,KAAMJ,uBAAuB,CAAEP,UAAW;EAAG,GAExDQ,aAAA,CAACX,oBAAoB;IAACe,WAAW,EAAC;EAAU,GAC3CJ,aAAA,CAAChB,QAAQ,QACRgB,aAAA,CAACV,YAAY,MAAE,CACN,CACW,CAAC,EAEvBU,aAAA,CAACX,oBAAoB;IAACe,WAAW,EAAC;EAAY,GAC7CJ,aAAA,CAAChB,QAAQ,QACRgB,aAAA,CAACT,aAAa,MAAE,CACP,CACW,CACZ,CAAC;AAEd;AAEA,eAAe,SAASc,mBAAmBA,CAAA,EAAG;EAC7C,OACCL,aAAA,CAACX,oBAAoB;IAACe,WAAW,EAAG,CAAE,UAAU,EAAE,YAAY;EAAI,GACjEJ,aAAA,CAACP,eAAe,MAAE,CACG,CAAC;AAEzB","ignoreList":[]}
1
+ {"version":3,"names":["__","Dropdown","Button","__experimentalVStack","VStack","__experimentalText","Text","useSelect","useState","useMemo","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","store","coreStore","editorStore","PostTypeSupportCheck","PostComments","PostPingbacks","PostPanelRow","PANEL_NAME","ModalContents","onClose","createElement","className","title","spacing","supportKeys","PostDiscussionToggle","isOpen","onClick","commentStatus","pingStatus","commentsSupported","trackbacksSupported","select","_getEditedPostAttribu","_getEditedPostAttribu2","getEditedPostAttribute","getPostType","postType","supports","comments","trackbacks","label","size","variant","PostDiscussionPanel","isEnabled","isEditorPanelEnabled","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","ref","contentClassName","focusOnMount","renderToggle","onToggle","renderContent"],"sources":["@wordpress/editor/src/components/post-discussion/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tDropdown,\n\tButton,\n\t__experimentalVStack as VStack,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport PostComments from '../post-comments';\nimport PostPingbacks from '../post-pingbacks';\nimport PostPanelRow from '../post-panel-row';\n\nconst PANEL_NAME = 'discussion-panel';\n\nfunction ModalContents( { onClose } ) {\n\treturn (\n\t\t<div className=\"editor-post-discussion\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Discussion' ) }\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<PostTypeSupportCheck supportKeys=\"comments\">\n\t\t\t\t\t<PostComments />\n\t\t\t\t</PostTypeSupportCheck>\n\t\t\t\t<PostTypeSupportCheck supportKeys=\"trackbacks\">\n\t\t\t\t\t<PostPingbacks />\n\t\t\t\t</PostTypeSupportCheck>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nfunction PostDiscussionToggle( { isOpen, onClick } ) {\n\tconst {\n\t\tcommentStatus,\n\t\tpingStatus,\n\t\tcommentsSupported,\n\t\ttrackbacksSupported,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\t\treturn {\n\t\t\tcommentStatus: getEditedPostAttribute( 'comment_status' ) ?? 'open',\n\t\t\tpingStatus: getEditedPostAttribute( 'ping_status' ) ?? 'open',\n\t\t\tcommentsSupported: !! postType.supports.comments,\n\t\t\ttrackbacksSupported: !! postType.supports.trackbacks,\n\t\t};\n\t}, [] );\n\tlet label;\n\tif ( commentStatus === 'open' ) {\n\t\tif ( pingStatus === 'open' ) {\n\t\t\tlabel = __( 'Open' );\n\t\t} else {\n\t\t\tlabel = trackbacksSupported ? __( 'Comments only' ) : __( 'Open' );\n\t\t}\n\t} else if ( pingStatus === 'open' ) {\n\t\tlabel = commentsSupported ? __( 'Pings only' ) : __( 'Pings enabled' );\n\t} else {\n\t\tlabel = __( 'Closed' );\n\t}\n\treturn (\n\t\t<Button\n\t\t\tsize=\"compact\"\n\t\t\tclassName=\"editor-post-discussion__panel-toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-label={ __( 'Change discussion options' ) }\n\t\t\taria-expanded={ isOpen }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t<Text>{ label }</Text>\n\t\t</Button>\n\t);\n}\n\nexport default function PostDiscussionPanel() {\n\tconst { isEnabled } = useSelect( ( select ) => {\n\t\tconst { isEditorPanelEnabled } = select( editorStore );\n\t\treturn {\n\t\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\t};\n\t}, [] );\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys={ [ 'comments', 'trackbacks' ] }>\n\t\t\t<PostPanelRow label={ __( 'Discussion' ) } ref={ setPopoverAnchor }>\n\t\t\t\t<Dropdown\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tclassName=\"editor-post-discussion__panel-dropdown\"\n\t\t\t\t\tcontentClassName=\"editor-post-discussion__panel-dialog\"\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<PostDiscussionToggle\n\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<ModalContents onClose={ onClose } />\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostTypeSupportCheck>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,QAAQ,EACRC,MAAM,EACNC,oBAAoB,IAAIC,MAAM,EAC9BC,kBAAkB,IAAIC,IAAI,QACpB,uBAAuB;AAC9B,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,QAAQ,EAAEC,OAAO,QAAQ,oBAAoB;AACtD,SAASC,oCAAoC,IAAIC,sBAAsB,QAAQ,yBAAyB;AACxG,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;AAClD,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,YAAY,MAAM,mBAAmB;AAE5C,MAAMC,UAAU,GAAG,kBAAkB;AAErC,SAASC,aAAaA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EACrC,OACCC,aAAA;IAAKC,SAAS,EAAC;EAAwB,GACtCD,aAAA,CAACX,sBAAsB;IACtBa,KAAK,EAAGxB,EAAE,CAAE,YAAa,CAAG;IAC5BqB,OAAO,EAAGA;EAAS,CACnB,CAAC,EACFC,aAAA,CAAClB,MAAM;IAACqB,OAAO,EAAG;EAAG,GACpBH,aAAA,CAACP,oBAAoB;IAACW,WAAW,EAAC;EAAU,GAC3CJ,aAAA,CAACN,YAAY,MAAE,CACM,CAAC,EACvBM,aAAA,CAACP,oBAAoB;IAACW,WAAW,EAAC;EAAY,GAC7CJ,aAAA,CAACL,aAAa,MAAE,CACK,CACf,CACJ,CAAC;AAER;AAEA,SAASU,oBAAoBA,CAAE;EAAEC,MAAM;EAAEC;AAAQ,CAAC,EAAG;EACpD,MAAM;IACLC,aAAa;IACbC,UAAU;IACVC,iBAAiB;IACjBC;EACD,CAAC,GAAG1B,SAAS,CAAI2B,MAAM,IAAM;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAC5B,MAAM;MAAEC;IAAuB,CAAC,GAAGH,MAAM,CAAEpB,WAAY,CAAC;IACxD,MAAM;MAAEwB;IAAY,CAAC,GAAGJ,MAAM,CAAErB,SAAU,CAAC;IAC3C,MAAM0B,QAAQ,GAAGD,WAAW,CAAED,sBAAsB,CAAE,MAAO,CAAE,CAAC;IAChE,OAAO;MACNP,aAAa,GAAAK,qBAAA,GAAEE,sBAAsB,CAAE,gBAAiB,CAAC,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,MAAM;MACnEJ,UAAU,GAAAK,sBAAA,GAAEC,sBAAsB,CAAE,aAAc,CAAC,cAAAD,sBAAA,cAAAA,sBAAA,GAAI,MAAM;MAC7DJ,iBAAiB,EAAE,CAAC,CAAEO,QAAQ,CAACC,QAAQ,CAACC,QAAQ;MAChDR,mBAAmB,EAAE,CAAC,CAAEM,QAAQ,CAACC,QAAQ,CAACE;IAC3C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,IAAIC,KAAK;EACT,IAAKb,aAAa,KAAK,MAAM,EAAG;IAC/B,IAAKC,UAAU,KAAK,MAAM,EAAG;MAC5BY,KAAK,GAAG3C,EAAE,CAAE,MAAO,CAAC;IACrB,CAAC,MAAM;MACN2C,KAAK,GAAGV,mBAAmB,GAAGjC,EAAE,CAAE,eAAgB,CAAC,GAAGA,EAAE,CAAE,MAAO,CAAC;IACnE;EACD,CAAC,MAAM,IAAK+B,UAAU,KAAK,MAAM,EAAG;IACnCY,KAAK,GAAGX,iBAAiB,GAAGhC,EAAE,CAAE,YAAa,CAAC,GAAGA,EAAE,CAAE,eAAgB,CAAC;EACvE,CAAC,MAAM;IACN2C,KAAK,GAAG3C,EAAE,CAAE,QAAS,CAAC;EACvB;EACA,OACCsB,aAAA,CAACpB,MAAM;IACN0C,IAAI,EAAC,SAAS;IACdrB,SAAS,EAAC,sCAAsC;IAChDsB,OAAO,EAAC,UAAU;IAClB,cAAa7C,EAAE,CAAE,2BAA4B,CAAG;IAChD,iBAAgB4B,MAAQ;IACxBC,OAAO,EAAGA;EAAS,GAEnBP,aAAA,CAAChB,IAAI,QAAGqC,KAAa,CACd,CAAC;AAEX;AAEA,eAAe,SAASG,mBAAmBA,CAAA,EAAG;EAC7C,MAAM;IAAEC;EAAU,CAAC,GAAGxC,SAAS,CAAI2B,MAAM,IAAM;IAC9C,MAAM;MAAEc;IAAqB,CAAC,GAAGd,MAAM,CAAEpB,WAAY,CAAC;IACtD,OAAO;MACNiC,SAAS,EAAEC,oBAAoB,CAAE7B,UAAW;IAC7C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;;EAEP;EACA;EACA,MAAM,CAAE8B,aAAa,EAAEC,gBAAgB,CAAE,GAAG1C,QAAQ,CAAE,IAAK,CAAC;EAC5D;EACA,MAAM2C,YAAY,GAAG1C,OAAO,CAC3B,OAAQ;IACP;IACA;IACA2C,MAAM,EAAEH,aAAa;IACrBI,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC,CAAE,EACH,CAAEN,aAAa,CAChB,CAAC;EAED,IAAK,CAAEF,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,OACCzB,aAAA,CAACP,oBAAoB;IAACW,WAAW,EAAG,CAAE,UAAU,EAAE,YAAY;EAAI,GACjEJ,aAAA,CAACJ,YAAY;IAACyB,KAAK,EAAG3C,EAAE,CAAE,YAAa,CAAG;IAACwD,GAAG,EAAGN;EAAkB,GAClE5B,aAAA,CAACrB,QAAQ;IACRkD,YAAY,EAAGA,YAAc;IAC7B5B,SAAS,EAAC,wCAAwC;IAClDkC,gBAAgB,EAAC,sCAAsC;IACvDC,YAAY;IACZC,YAAY,EAAGA,CAAE;MAAE/B,MAAM;MAAEgC;IAAS,CAAC,KACpCtC,aAAA,CAACK,oBAAoB;MACpBC,MAAM,EAAGA,MAAQ;MACjBC,OAAO,EAAG+B;IAAU,CACpB,CACC;IACHC,aAAa,EAAGA,CAAE;MAAExC;IAAQ,CAAC,KAC5BC,aAAA,CAACF,aAAa;MAACC,OAAO,EAAGA;IAAS,CAAE;EAClC,CACH,CACY,CACO,CAAC;AAEzB","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -135,7 +135,7 @@ function PrivateExcerpt() {
135
135
  renderToggle: ({
136
136
  onToggle
137
137
  }) => createElement(Button, {
138
- className: classnames('editor-post-excerpt__dropdown__trigger', {
138
+ className: clsx('editor-post-excerpt__dropdown__trigger', {
139
139
  'has-excerpt': !!excerpt
140
140
  }),
141
141
  onClick: onToggle,
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__","PanelBody","__experimentalText","Text","Dropdown","Button","__experimentalVStack","VStack","useDispatch","useSelect","useMemo","useState","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","store","coreStore","PostExcerptForm","PostExcerptCheck","PluginPostExcerpt","TEMPLATE_ORIGINS","editorStore","PANEL_NAME","ExcerptPanel","isOpened","isEnabled","postType","select","isEditorPanelOpened","isEditorPanelEnabled","getCurrentPostType","toggleEditorPanelOpened","toggleExcerptPanel","shouldUseDescriptionLabel","includes","createElement","title","opened","onToggle","Slot","fills","Fragment","PostExcerptPanel","PrivatePostExcerptPanel","PrivateExcerpt","shouldRender","excerpt","shouldBeUsedAsDescription","allowEditing","getCurrentPostId","getEditedPostAttribute","isTemplateOrTemplatePart","isPattern","_shouldBeUsedAsDescription","_usedAttribute","template","getEntityRecord","_shouldRender","source","custom","has_theme_file","popoverAnchor","setPopoverAnchor","label","popoverProps","anchor","headerTitle","placement","offset","shift","excerptText","align","numberOfLines","truncate","excerptPlaceholder","triggerEditLabel","className","contentClassName","focusOnMount","ref","renderToggle","onClick","showTooltip","renderContent","onClose","spacing","hideLabelFromVision","updateOnBlur"],"sources":["@wordpress/editor/src/components/post-excerpt/panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\t__experimentalText as Text,\n\tDropdown,\n\tButton,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo, useState } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostExcerptForm from './index';\nimport PostExcerptCheck from './check';\nimport PluginPostExcerpt from './plugin';\nimport { TEMPLATE_ORIGINS } from '../../store/constants';\nimport { store as editorStore } from '../../store';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-excerpt';\n\nfunction ExcerptPanel() {\n\tconst { isOpened, isEnabled, postType } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditorPanelOpened,\n\t\t\tisEditorPanelEnabled,\n\t\t\tgetCurrentPostType,\n\t\t} = select( editorStore );\n\n\t\treturn {\n\t\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t}, [] );\n\n\tconst { toggleEditorPanelOpened } = useDispatch( editorStore );\n\tconst toggleExcerptPanel = () => toggleEditorPanelOpened( PANEL_NAME );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\t// There are special cases where we want to label the excerpt as a description.\n\tconst shouldUseDescriptionLabel = [\n\t\t'wp_template',\n\t\t'wp_template_part',\n\t\t'wp_block',\n\t].includes( postType );\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={\n\t\t\t\tshouldUseDescriptionLabel\n\t\t\t\t\t? __( 'Description' )\n\t\t\t\t\t: __( 'Excerpt' )\n\t\t\t}\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ toggleExcerptPanel }\n\t\t>\n\t\t\t<PluginPostExcerpt.Slot>\n\t\t\t\t{ ( fills ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PostExcerptForm />\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PluginPostExcerpt.Slot>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function PostExcerptPanel() {\n\treturn (\n\t\t<PostExcerptCheck>\n\t\t\t<ExcerptPanel />\n\t\t</PostExcerptCheck>\n\t);\n}\n\nexport function PrivatePostExcerptPanel() {\n\treturn (\n\t\t<PostExcerptCheck>\n\t\t\t<PrivateExcerpt />\n\t\t</PostExcerptCheck>\n\t);\n}\n\nfunction PrivateExcerpt() {\n\tconst { shouldRender, excerpt, shouldBeUsedAsDescription, allowEditing } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetCurrentPostId,\n\t\t\t\tgetEditedPostAttribute,\n\t\t\t\tisEditorPanelEnabled,\n\t\t\t} = select( editorStore );\n\t\t\tconst postType = getCurrentPostType();\n\t\t\tconst isTemplateOrTemplatePart = [\n\t\t\t\t'wp_template',\n\t\t\t\t'wp_template_part',\n\t\t\t].includes( postType );\n\t\t\tconst isPattern = postType === 'wp_block';\n\t\t\t// These post types use the `excerpt` field as a description semantically, so we need to\n\t\t\t// handle proper labeling and some flows where we should always render them as text.\n\t\t\tconst _shouldBeUsedAsDescription =\n\t\t\t\tisTemplateOrTemplatePart || isPattern;\n\t\t\tconst _usedAttribute = isTemplateOrTemplatePart\n\t\t\t\t? 'description'\n\t\t\t\t: 'excerpt';\n\t\t\t// We need to fetch the entity in this case to check if we'll allow editing.\n\t\t\tconst template =\n\t\t\t\tisTemplateOrTemplatePart &&\n\t\t\t\tselect( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tgetCurrentPostId()\n\t\t\t\t);\n\t\t\t// For post types that use excerpt as description, we do not abide\n\t\t\t// by the `isEnabled` panel flag in order to render them as text.\n\t\t\tconst _shouldRender =\n\t\t\t\tisEditorPanelEnabled( PANEL_NAME ) ||\n\t\t\t\t_shouldBeUsedAsDescription;\n\t\t\treturn {\n\t\t\t\texcerpt: getEditedPostAttribute( _usedAttribute ),\n\t\t\t\tshouldRender: _shouldRender,\n\t\t\t\tshouldBeUsedAsDescription: _shouldBeUsedAsDescription,\n\t\t\t\t// If we should render, allow editing for all post types that are not used as description.\n\t\t\t\t// For the rest allow editing only for user generated entities.\n\t\t\t\tallowEditing:\n\t\t\t\t\t_shouldRender &&\n\t\t\t\t\t( ! _shouldBeUsedAsDescription ||\n\t\t\t\t\t\tisPattern ||\n\t\t\t\t\t\t( template &&\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom &&\n\t\t\t\t\t\t\t! template.has_theme_file ) ),\n\t\t\t};\n\t\t}, [] );\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst label = shouldBeUsedAsDescription\n\t\t? __( 'Description' )\n\t\t: __( 'Excerpt' );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\t'aria-label': label,\n\t\t\theaderTitle: label,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor, label ]\n\t);\n\tif ( ! shouldRender ) {\n\t\treturn false;\n\t}\n\tconst excerptText = !! excerpt && (\n\t\t<Text align=\"left\" numberOfLines={ 4 } truncate>\n\t\t\t{ excerpt }\n\t\t</Text>\n\t);\n\tif ( ! allowEditing ) {\n\t\treturn excerptText;\n\t}\n\tconst excerptPlaceholder = shouldBeUsedAsDescription\n\t\t? __( 'Add a description…' )\n\t\t: __( 'Add an excerpt…' );\n\tconst triggerEditLabel = shouldBeUsedAsDescription\n\t\t? __( 'Edit description' )\n\t\t: __( 'Edit excerpt' );\n\treturn (\n\t\t<Dropdown\n\t\t\tclassName=\"editor-post-excerpt__dropdown\"\n\t\t\tcontentClassName=\"editor-post-excerpt__dropdown__content\"\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tfocusOnMount\n\t\t\tref={ setPopoverAnchor }\n\t\t\trenderToggle={ ( { onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'editor-post-excerpt__dropdown__trigger',\n\t\t\t\t\t\t{ 'has-excerpt': !! excerpt }\n\t\t\t\t\t) }\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\t!! excerptText ? triggerEditLabel : excerptPlaceholder\n\t\t\t\t\t}\n\t\t\t\t\tshowTooltip={ !! excerptText }\n\t\t\t\t>\n\t\t\t\t\t{ excerptText || excerptPlaceholder }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\ttitle={ label }\n\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t/>\n\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<PluginPostExcerpt.Slot>\n\t\t\t\t\t\t\t{ ( fills ) => (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<PostExcerptForm\n\t\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\t\tupdateOnBlur\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PluginPostExcerpt.Slot>\n\t\t\t\t\t</VStack>\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","PanelBody","__experimentalText","Text","Dropdown","Button","__experimentalVStack","VStack","useDispatch","useSelect","useMemo","useState","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","store","coreStore","PostExcerptForm","PostExcerptCheck","PluginPostExcerpt","TEMPLATE_ORIGINS","editorStore","PANEL_NAME","ExcerptPanel","isOpened","isEnabled","postType","select","isEditorPanelOpened","isEditorPanelEnabled","getCurrentPostType","toggleEditorPanelOpened","toggleExcerptPanel","shouldUseDescriptionLabel","includes","createElement","title","opened","onToggle","Slot","fills","Fragment","PostExcerptPanel","PrivatePostExcerptPanel","PrivateExcerpt","shouldRender","excerpt","shouldBeUsedAsDescription","allowEditing","getCurrentPostId","getEditedPostAttribute","isTemplateOrTemplatePart","isPattern","_shouldBeUsedAsDescription","_usedAttribute","template","getEntityRecord","_shouldRender","source","custom","has_theme_file","popoverAnchor","setPopoverAnchor","label","popoverProps","anchor","headerTitle","placement","offset","shift","excerptText","align","numberOfLines","truncate","excerptPlaceholder","triggerEditLabel","className","contentClassName","focusOnMount","ref","renderToggle","onClick","showTooltip","renderContent","onClose","spacing","hideLabelFromVision","updateOnBlur"],"sources":["@wordpress/editor/src/components/post-excerpt/panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\t__experimentalText as Text,\n\tDropdown,\n\tButton,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo, useState } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostExcerptForm from './index';\nimport PostExcerptCheck from './check';\nimport PluginPostExcerpt from './plugin';\nimport { TEMPLATE_ORIGINS } from '../../store/constants';\nimport { store as editorStore } from '../../store';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-excerpt';\n\nfunction ExcerptPanel() {\n\tconst { isOpened, isEnabled, postType } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditorPanelOpened,\n\t\t\tisEditorPanelEnabled,\n\t\t\tgetCurrentPostType,\n\t\t} = select( editorStore );\n\n\t\treturn {\n\t\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t}, [] );\n\n\tconst { toggleEditorPanelOpened } = useDispatch( editorStore );\n\tconst toggleExcerptPanel = () => toggleEditorPanelOpened( PANEL_NAME );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\t// There are special cases where we want to label the excerpt as a description.\n\tconst shouldUseDescriptionLabel = [\n\t\t'wp_template',\n\t\t'wp_template_part',\n\t\t'wp_block',\n\t].includes( postType );\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={\n\t\t\t\tshouldUseDescriptionLabel\n\t\t\t\t\t? __( 'Description' )\n\t\t\t\t\t: __( 'Excerpt' )\n\t\t\t}\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ toggleExcerptPanel }\n\t\t>\n\t\t\t<PluginPostExcerpt.Slot>\n\t\t\t\t{ ( fills ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PostExcerptForm />\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PluginPostExcerpt.Slot>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function PostExcerptPanel() {\n\treturn (\n\t\t<PostExcerptCheck>\n\t\t\t<ExcerptPanel />\n\t\t</PostExcerptCheck>\n\t);\n}\n\nexport function PrivatePostExcerptPanel() {\n\treturn (\n\t\t<PostExcerptCheck>\n\t\t\t<PrivateExcerpt />\n\t\t</PostExcerptCheck>\n\t);\n}\n\nfunction PrivateExcerpt() {\n\tconst { shouldRender, excerpt, shouldBeUsedAsDescription, allowEditing } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetCurrentPostId,\n\t\t\t\tgetEditedPostAttribute,\n\t\t\t\tisEditorPanelEnabled,\n\t\t\t} = select( editorStore );\n\t\t\tconst postType = getCurrentPostType();\n\t\t\tconst isTemplateOrTemplatePart = [\n\t\t\t\t'wp_template',\n\t\t\t\t'wp_template_part',\n\t\t\t].includes( postType );\n\t\t\tconst isPattern = postType === 'wp_block';\n\t\t\t// These post types use the `excerpt` field as a description semantically, so we need to\n\t\t\t// handle proper labeling and some flows where we should always render them as text.\n\t\t\tconst _shouldBeUsedAsDescription =\n\t\t\t\tisTemplateOrTemplatePart || isPattern;\n\t\t\tconst _usedAttribute = isTemplateOrTemplatePart\n\t\t\t\t? 'description'\n\t\t\t\t: 'excerpt';\n\t\t\t// We need to fetch the entity in this case to check if we'll allow editing.\n\t\t\tconst template =\n\t\t\t\tisTemplateOrTemplatePart &&\n\t\t\t\tselect( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tgetCurrentPostId()\n\t\t\t\t);\n\t\t\t// For post types that use excerpt as description, we do not abide\n\t\t\t// by the `isEnabled` panel flag in order to render them as text.\n\t\t\tconst _shouldRender =\n\t\t\t\tisEditorPanelEnabled( PANEL_NAME ) ||\n\t\t\t\t_shouldBeUsedAsDescription;\n\t\t\treturn {\n\t\t\t\texcerpt: getEditedPostAttribute( _usedAttribute ),\n\t\t\t\tshouldRender: _shouldRender,\n\t\t\t\tshouldBeUsedAsDescription: _shouldBeUsedAsDescription,\n\t\t\t\t// If we should render, allow editing for all post types that are not used as description.\n\t\t\t\t// For the rest allow editing only for user generated entities.\n\t\t\t\tallowEditing:\n\t\t\t\t\t_shouldRender &&\n\t\t\t\t\t( ! _shouldBeUsedAsDescription ||\n\t\t\t\t\t\tisPattern ||\n\t\t\t\t\t\t( template &&\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom &&\n\t\t\t\t\t\t\t! template.has_theme_file ) ),\n\t\t\t};\n\t\t}, [] );\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst label = shouldBeUsedAsDescription\n\t\t? __( 'Description' )\n\t\t: __( 'Excerpt' );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\t'aria-label': label,\n\t\t\theaderTitle: label,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor, label ]\n\t);\n\tif ( ! shouldRender ) {\n\t\treturn false;\n\t}\n\tconst excerptText = !! excerpt && (\n\t\t<Text align=\"left\" numberOfLines={ 4 } truncate>\n\t\t\t{ excerpt }\n\t\t</Text>\n\t);\n\tif ( ! allowEditing ) {\n\t\treturn excerptText;\n\t}\n\tconst excerptPlaceholder = shouldBeUsedAsDescription\n\t\t? __( 'Add a description…' )\n\t\t: __( 'Add an excerpt…' );\n\tconst triggerEditLabel = shouldBeUsedAsDescription\n\t\t? __( 'Edit description' )\n\t\t: __( 'Edit excerpt' );\n\treturn (\n\t\t<Dropdown\n\t\t\tclassName=\"editor-post-excerpt__dropdown\"\n\t\t\tcontentClassName=\"editor-post-excerpt__dropdown__content\"\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tfocusOnMount\n\t\t\tref={ setPopoverAnchor }\n\t\t\trenderToggle={ ( { onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'editor-post-excerpt__dropdown__trigger',\n\t\t\t\t\t\t{ 'has-excerpt': !! excerpt }\n\t\t\t\t\t) }\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\t!! excerptText ? triggerEditLabel : excerptPlaceholder\n\t\t\t\t\t}\n\t\t\t\t\tshowTooltip={ !! excerptText }\n\t\t\t\t>\n\t\t\t\t\t{ excerptText || excerptPlaceholder }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\ttitle={ label }\n\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t/>\n\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<PluginPostExcerpt.Slot>\n\t\t\t\t\t\t\t{ ( fills ) => (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<PostExcerptForm\n\t\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\t\tupdateOnBlur\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PluginPostExcerpt.Slot>\n\t\t\t\t\t</VStack>\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { PanelRow } from '@wordpress/components';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import PostFormatForm from './';
11
+ import PostFormatCheck from './check';
12
+ export function PostFormat() {
13
+ return createElement(PostFormatCheck, null, createElement(PanelRow, {
14
+ className: "editor-post-format__panel"
15
+ }, createElement(PostFormatForm, null)));
16
+ }
17
+ export default PostFormat;
18
+ //# sourceMappingURL=panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PanelRow","PostFormatForm","PostFormatCheck","PostFormat","createElement","className"],"sources":["@wordpress/editor/src/components/post-format/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelRow } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport PostFormatForm from './';\nimport PostFormatCheck from './check';\n\nexport function PostFormat() {\n\treturn (\n\t\t<PostFormatCheck>\n\t\t\t<PanelRow className=\"editor-post-format__panel\">\n\t\t\t\t<PostFormatForm />\n\t\t\t</PanelRow>\n\t\t</PostFormatCheck>\n\t);\n}\n\nexport default PostFormat;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,uBAAuB;;AAEhD;AACA;AACA;AACA,OAAOC,cAAc,MAAM,IAAI;AAC/B,OAAOC,eAAe,MAAM,SAAS;AAErC,OAAO,SAASC,UAAUA,CAAA,EAAG;EAC5B,OACCC,aAAA,CAACF,eAAe,QACfE,aAAA,CAACJ,QAAQ;IAACK,SAAS,EAAC;EAA2B,GAC9CD,aAAA,CAACH,cAAc,MAAE,CACR,CACM,CAAC;AAEpB;AAEA,eAAeE,UAAU","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -15,7 +15,7 @@ const PostPanelRow = forwardRef(({
15
15
  children
16
16
  }, ref) => {
17
17
  return createElement(HStack, {
18
- className: classnames('editor-post-panel__row', className),
18
+ className: clsx('editor-post-panel__row', className),
19
19
  ref: ref
20
20
  }, label && createElement("div", {
21
21
  className: "editor-post-panel__row-label"
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__experimentalHStack","HStack","forwardRef","PostPanelRow","className","label","children","ref","createElement"],"sources":["@wordpress/editor/src/components/post-panel-row/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\n\nconst PostPanelRow = forwardRef( ( { className, label, children }, ref ) => {\n\treturn (\n\t\t<HStack\n\t\t\tclassName={ classnames( 'editor-post-panel__row', className ) }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t{ label && (\n\t\t\t\t<div className=\"editor-post-panel__row-label\">{ label }</div>\n\t\t\t) }\n\t\t\t<div className=\"editor-post-panel__row-control\">{ children }</div>\n\t\t</HStack>\n\t);\n} );\n\nexport default PostPanelRow;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,UAAU,QAAQ,oBAAoB;AAE/C,MAAMC,YAAY,GAAGD,UAAU,CAAE,CAAE;EAAEE,SAAS;EAAEC,KAAK;EAAEC;AAAS,CAAC,EAAEC,GAAG,KAAM;EAC3E,OACCC,aAAA,CAACP,MAAM;IACNG,SAAS,EAAGL,UAAU,CAAE,wBAAwB,EAAEK,SAAU,CAAG;IAC/DG,GAAG,EAAGA;EAAK,GAETF,KAAK,IACNG,aAAA;IAAKJ,SAAS,EAAC;EAA8B,GAAGC,KAAY,CAC5D,EACDG,aAAA;IAAKJ,SAAS,EAAC;EAAgC,GAAGE,QAAe,CAC1D,CAAC;AAEX,CAAE,CAAC;AAEH,eAAeH,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__experimentalHStack","HStack","forwardRef","PostPanelRow","className","label","children","ref","createElement"],"sources":["@wordpress/editor/src/components/post-panel-row/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\n\nconst PostPanelRow = forwardRef( ( { className, label, children }, ref ) => {\n\treturn (\n\t\t<HStack\n\t\t\tclassName={ clsx( 'editor-post-panel__row', className ) }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t{ label && (\n\t\t\t\t<div className=\"editor-post-panel__row-label\">{ label }</div>\n\t\t\t) }\n\t\t\t<div className=\"editor-post-panel__row-control\">{ children }</div>\n\t\t</HStack>\n\t);\n} );\n\nexport default PostPanelRow;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,UAAU,QAAQ,oBAAoB;AAE/C,MAAMC,YAAY,GAAGD,UAAU,CAAE,CAAE;EAAEE,SAAS;EAAEC,KAAK;EAAEC;AAAS,CAAC,EAAEC,GAAG,KAAM;EAC3E,OACCC,aAAA,CAACP,MAAM;IACNG,SAAS,EAAGL,IAAI,CAAE,wBAAwB,EAAEK,SAAU,CAAG;IACzDG,GAAG,EAAGA;EAAK,GAETF,KAAK,IACNG,aAAA;IAAKJ,SAAS,EAAC;EAA8B,GAAGC,KAAY,CAC5D,EACDG,aAAA;IAAKJ,SAAS,EAAC;EAAgC,GAAGE,QAAe,CAC1D,CAAC;AAEX,CAAE,CAAC;AAEH,eAAeH,YAAY","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * External dependencies
4
+ */
5
+ import clsx from 'clsx';
6
+
7
+ /**
8
+ * WordPress dependencies
9
+ */
10
+ import { __experimentalVStack as VStack } from '@wordpress/components';
11
+ function PostPanelSection({
12
+ className,
13
+ children
14
+ }) {
15
+ return createElement(VStack, {
16
+ className: clsx('editor-post-panel__section', className)
17
+ }, children);
18
+ }
19
+ export default PostPanelSection;
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["clsx","__experimentalVStack","VStack","PostPanelSection","className","children","createElement"],"sources":["@wordpress/editor/src/components/post-panel-section/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\n\nfunction PostPanelSection( { className, children } ) {\n\treturn (\n\t\t<VStack className={ clsx( 'editor-post-panel__section', className ) }>\n\t\t\t{ children }\n\t\t</VStack>\n\t);\n}\n\nexport default PostPanelSection;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AAEtE,SAASC,gBAAgBA,CAAE;EAAEC,SAAS;EAAEC;AAAS,CAAC,EAAG;EACpD,OACCC,aAAA,CAACJ,MAAM;IAACE,SAAS,EAAGJ,IAAI,CAAE,4BAA4B,EAAEI,SAAU;EAAG,GAClEC,QACK,CAAC;AAEX;AAEA,eAAeF,gBAAgB","ignoreList":[]}
@@ -3,7 +3,7 @@ import { createElement } from "react";
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { __ } from '@wordpress/i18n';
6
- import { CheckboxControl } from '@wordpress/components';
6
+ import { CheckboxControl, ExternalLink } from '@wordpress/components';
7
7
  import { useDispatch, useSelect } from '@wordpress/data';
8
8
 
9
9
  /**
@@ -23,9 +23,12 @@ function PostPingbacks() {
23
23
  });
24
24
  return createElement(CheckboxControl, {
25
25
  __nextHasNoMarginBottom: true,
26
- label: __('Allow pingbacks & trackbacks'),
26
+ label: __('Enable pingbacks & trackbacks'),
27
27
  checked: pingStatus === 'open',
28
- onChange: onTogglePingback
28
+ onChange: onTogglePingback,
29
+ help: createElement(ExternalLink, {
30
+ href: __('https://wordpress.org/documentation/article/trackbacks-and-pingbacks/')
31
+ }, __('Learn more about pingbacks & trackbacks'))
29
32
  });
30
33
  }
31
34
  export default PostPingbacks;
@@ -1 +1 @@
1
- {"version":3,"names":["__","CheckboxControl","useDispatch","useSelect","store","editorStore","PostPingbacks","pingStatus","select","_select$getEditedPost","getEditedPostAttribute","editPost","onTogglePingback","ping_status","createElement","__nextHasNoMarginBottom","label","checked","onChange"],"sources":["@wordpress/editor/src/components/post-pingbacks/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostPingbacks() {\n\tconst pingStatus = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'ping_status' ) ??\n\t\t\t'open',\n\t\t[]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\n\tconst onTogglePingback = () =>\n\t\teditPost( {\n\t\t\tping_status: pingStatus === 'open' ? 'closed' : 'open',\n\t\t} );\n\n\treturn (\n\t\t<CheckboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Allow pingbacks & trackbacks' ) }\n\t\t\tchecked={ pingStatus === 'open' }\n\t\t\tonChange={ onTogglePingback }\n\t\t/>\n\t);\n}\n\nexport default PostPingbacks;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,SAASC,aAAaA,CAAA,EAAG;EACxB,MAAMC,UAAU,GAAGJ,SAAS,CACzBK,MAAM;IAAA,IAAAC,qBAAA;IAAA,QAAAA,qBAAA,GACPD,MAAM,CAAEH,WAAY,CAAC,CAACK,sBAAsB,CAAE,aAAc,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,GAC7D,MAAM;EAAA,GACP,EACD,CAAC;EACD,MAAM;IAAEE;EAAS,CAAC,GAAGT,WAAW,CAAEG,WAAY,CAAC;EAC/C,MAAMO,gBAAgB,GAAGA,CAAA,KACxBD,QAAQ,CAAE;IACTE,WAAW,EAAEN,UAAU,KAAK,MAAM,GAAG,QAAQ,GAAG;EACjD,CAAE,CAAC;EAEJ,OACCO,aAAA,CAACb,eAAe;IACfc,uBAAuB;IACvBC,KAAK,EAAGhB,EAAE,CAAE,8BAA+B,CAAG;IAC9CiB,OAAO,EAAGV,UAAU,KAAK,MAAQ;IACjCW,QAAQ,EAAGN;EAAkB,CAC7B,CAAC;AAEJ;AAEA,eAAeN,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["__","CheckboxControl","ExternalLink","useDispatch","useSelect","store","editorStore","PostPingbacks","pingStatus","select","_select$getEditedPost","getEditedPostAttribute","editPost","onTogglePingback","ping_status","createElement","__nextHasNoMarginBottom","label","checked","onChange","help","href"],"sources":["@wordpress/editor/src/components/post-pingbacks/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl, ExternalLink } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostPingbacks() {\n\tconst pingStatus = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'ping_status' ) ??\n\t\t\t'open',\n\t\t[]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\n\tconst onTogglePingback = () =>\n\t\teditPost( {\n\t\t\tping_status: pingStatus === 'open' ? 'closed' : 'open',\n\t\t} );\n\n\treturn (\n\t\t<CheckboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Enable pingbacks & trackbacks' ) }\n\t\t\tchecked={ pingStatus === 'open' }\n\t\t\tonChange={ onTogglePingback }\n\t\t\thelp={\n\t\t\t\t<ExternalLink\n\t\t\t\t\thref={ __(\n\t\t\t\t\t\t'https://wordpress.org/documentation/article/trackbacks-and-pingbacks/'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Learn more about pingbacks & trackbacks' ) }\n\t\t\t\t</ExternalLink>\n\t\t\t}\n\t\t/>\n\t);\n}\n\nexport default PostPingbacks;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,EAAEC,YAAY,QAAQ,uBAAuB;AACrE,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,SAASC,aAAaA,CAAA,EAAG;EACxB,MAAMC,UAAU,GAAGJ,SAAS,CACzBK,MAAM;IAAA,IAAAC,qBAAA;IAAA,QAAAA,qBAAA,GACPD,MAAM,CAAEH,WAAY,CAAC,CAACK,sBAAsB,CAAE,aAAc,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,GAC7D,MAAM;EAAA,GACP,EACD,CAAC;EACD,MAAM;IAAEE;EAAS,CAAC,GAAGT,WAAW,CAAEG,WAAY,CAAC;EAC/C,MAAMO,gBAAgB,GAAGA,CAAA,KACxBD,QAAQ,CAAE;IACTE,WAAW,EAAEN,UAAU,KAAK,MAAM,GAAG,QAAQ,GAAG;EACjD,CAAE,CAAC;EAEJ,OACCO,aAAA,CAACd,eAAe;IACfe,uBAAuB;IACvBC,KAAK,EAAGjB,EAAE,CAAE,+BAAgC,CAAG;IAC/CkB,OAAO,EAAGV,UAAU,KAAK,MAAQ;IACjCW,QAAQ,EAAGN,gBAAkB;IAC7BO,IAAI,EACHL,aAAA,CAACb,YAAY;MACZmB,IAAI,EAAGrB,EAAE,CACR,uEACD;IAAG,GAEDA,EAAE,CAAE,yCAA0C,CACnC;EACd,CACD,CAAC;AAEJ;AAEA,eAAeO,aAAa","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -125,7 +125,7 @@ export default function PostSavedState({
125
125
  // Use common Button instance for all saved states so that focus is not
126
126
  // lost.
127
127
  return createElement(Button, {
128
- className: isSaveable || isSaving ? classnames({
128
+ className: isSaveable || isSaving ? clsx({
129
129
  'editor-post-save-draft': !isSavedState,
130
130
  'editor-post-saved-state': isSavedState,
131
131
  'is-saving': isSaving,
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__unstableGetAnimateClassName","getAnimateClassName","Button","usePrevious","useViewportMatch","useDispatch","useSelect","useEffect","useState","__","Icon","check","cloud","cloudUpload","displayShortcut","store","preferencesStore","editorStore","PostSavedState","forceIsDirty","forceSavedMessage","setForceSavedMessage","isLargeViewport","isAutosaving","isDirty","isNew","isPublished","isSaveable","isSaving","isScheduled","hasPublishAction","showIconLabels","postStatus","postStatusHasChanged","select","_getCurrentPost$_link","isEditedPostNew","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostDirty","isSavingPost","isEditedPostSaveable","getCurrentPost","isAutosavingPost","getEditedPostAttribute","getPostEdits","get","_links","status","isPending","savePost","wasSaving","timeoutId","setTimeout","clearTimeout","includes","label","shortLabel","isSaved","isSavedState","isDisabled","text","createElement","className","type","undefined","onClick","shortcut","primary","variant","size","icon"],"sources":["@wordpress/editor/src/components/post-saved-state/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__unstableGetAnimateClassName as getAnimateClassName,\n\tButton,\n} from '@wordpress/components';\nimport { usePrevious, useViewportMatch } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, check, cloud, cloudUpload } from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Component showing whether the post is saved or not and providing save\n * buttons.\n *\n * @param {Object} props Component props.\n * @param {?boolean} props.forceIsDirty Whether to force the post to be marked\n * as dirty.\n * @return {import('react').ComponentType} The component.\n */\nexport default function PostSavedState( { forceIsDirty } ) {\n\tconst [ forceSavedMessage, setForceSavedMessage ] = useState( false );\n\tconst isLargeViewport = useViewportMatch( 'small' );\n\n\tconst {\n\t\tisAutosaving,\n\t\tisDirty,\n\t\tisNew,\n\t\tisPublished,\n\t\tisSaveable,\n\t\tisSaving,\n\t\tisScheduled,\n\t\thasPublishAction,\n\t\tshowIconLabels,\n\t\tpostStatus,\n\t\tpostStatusHasChanged,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisEditedPostNew,\n\t\t\t\tisCurrentPostPublished,\n\t\t\t\tisCurrentPostScheduled,\n\t\t\t\tisEditedPostDirty,\n\t\t\t\tisSavingPost,\n\t\t\t\tisEditedPostSaveable,\n\t\t\t\tgetCurrentPost,\n\t\t\t\tisAutosavingPost,\n\t\t\t\tgetEditedPostAttribute,\n\t\t\t\tgetPostEdits,\n\t\t\t} = select( editorStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\treturn {\n\t\t\t\tisAutosaving: isAutosavingPost(),\n\t\t\t\tisDirty: forceIsDirty || isEditedPostDirty(),\n\t\t\t\tisNew: isEditedPostNew(),\n\t\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\t\tisSaving: isSavingPost(),\n\t\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t\t\thasPublishAction:\n\t\t\t\t\tgetCurrentPost()?._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\t\tpostStatus: getEditedPostAttribute( 'status' ),\n\t\t\t\tpostStatusHasChanged: !! getPostEdits()?.status,\n\t\t\t};\n\t\t},\n\t\t[ forceIsDirty ]\n\t);\n\tconst isPending = postStatus === 'pending';\n\tconst { savePost } = useDispatch( editorStore );\n\n\tconst wasSaving = usePrevious( isSaving );\n\n\tuseEffect( () => {\n\t\tlet timeoutId;\n\n\t\tif ( wasSaving && ! isSaving ) {\n\t\t\tsetForceSavedMessage( true );\n\t\t\ttimeoutId = setTimeout( () => {\n\t\t\t\tsetForceSavedMessage( false );\n\t\t\t}, 1000 );\n\t\t}\n\n\t\treturn () => clearTimeout( timeoutId );\n\t}, [ isSaving ] );\n\n\t// Once the post has been submitted for review this button\n\t// is not needed for the contributor role.\n\tif ( ! hasPublishAction && isPending ) {\n\t\treturn null;\n\t}\n\n\tif (\n\t\tisPublished ||\n\t\tisScheduled ||\n\t\t! [ 'pending', 'draft', 'auto-draft' ].includes( postStatus ) ||\n\t\t( postStatusHasChanged &&\n\t\t\t[ 'pending', 'draft' ].includes( postStatus ) )\n\t) {\n\t\treturn null;\n\t}\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst label = isPending ? __( 'Save as pending' ) : __( 'Save draft' );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst shortLabel = __( 'Save' );\n\n\tconst isSaved = forceSavedMessage || ( ! isNew && ! isDirty );\n\tconst isSavedState = isSaving || isSaved;\n\tconst isDisabled = isSaving || isSaved || ! isSaveable;\n\tlet text;\n\n\tif ( isSaving ) {\n\t\ttext = isAutosaving ? __( 'Autosaving' ) : __( 'Saving' );\n\t} else if ( isSaved ) {\n\t\ttext = __( 'Saved' );\n\t} else if ( isLargeViewport ) {\n\t\ttext = label;\n\t} else if ( showIconLabels ) {\n\t\ttext = shortLabel;\n\t}\n\n\t// Use common Button instance for all saved states so that focus is not\n\t// lost.\n\treturn (\n\t\t<Button\n\t\t\tclassName={\n\t\t\t\tisSaveable || isSaving\n\t\t\t\t\t? classnames( {\n\t\t\t\t\t\t\t'editor-post-save-draft': ! isSavedState,\n\t\t\t\t\t\t\t'editor-post-saved-state': isSavedState,\n\t\t\t\t\t\t\t'is-saving': isSaving,\n\t\t\t\t\t\t\t'is-autosaving': isAutosaving,\n\t\t\t\t\t\t\t'is-saved': isSaved,\n\t\t\t\t\t\t\t[ getAnimateClassName( {\n\t\t\t\t\t\t\t\ttype: 'loading',\n\t\t\t\t\t\t\t} ) ]: isSaving,\n\t\t\t\t\t } )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tonClick={ isDisabled ? undefined : () => savePost() }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ isDisabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\tvariant=\"tertiary\"\n\t\t\tsize=\"compact\"\n\t\t\ticon={ isLargeViewport ? undefined : cloudUpload }\n\t\t\tlabel={ text || label }\n\t\t\taria-disabled={ isDisabled }\n\t\t>\n\t\t\t{ isSavedState && <Icon icon={ isSaved ? check : cloud } /> }\n\t\t\t{ text }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__unstableGetAnimateClassName","getAnimateClassName","Button","usePrevious","useViewportMatch","useDispatch","useSelect","useEffect","useState","__","Icon","check","cloud","cloudUpload","displayShortcut","store","preferencesStore","editorStore","PostSavedState","forceIsDirty","forceSavedMessage","setForceSavedMessage","isLargeViewport","isAutosaving","isDirty","isNew","isPublished","isSaveable","isSaving","isScheduled","hasPublishAction","showIconLabels","postStatus","postStatusHasChanged","select","_getCurrentPost$_link","isEditedPostNew","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostDirty","isSavingPost","isEditedPostSaveable","getCurrentPost","isAutosavingPost","getEditedPostAttribute","getPostEdits","get","_links","status","isPending","savePost","wasSaving","timeoutId","setTimeout","clearTimeout","includes","label","shortLabel","isSaved","isSavedState","isDisabled","text","createElement","className","type","undefined","onClick","shortcut","primary","variant","size","icon"],"sources":["@wordpress/editor/src/components/post-saved-state/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__unstableGetAnimateClassName as getAnimateClassName,\n\tButton,\n} from '@wordpress/components';\nimport { usePrevious, useViewportMatch } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, check, cloud, cloudUpload } from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Component showing whether the post is saved or not and providing save\n * buttons.\n *\n * @param {Object} props Component props.\n * @param {?boolean} props.forceIsDirty Whether to force the post to be marked\n * as dirty.\n * @return {import('react').ComponentType} The component.\n */\nexport default function PostSavedState( { forceIsDirty } ) {\n\tconst [ forceSavedMessage, setForceSavedMessage ] = useState( false );\n\tconst isLargeViewport = useViewportMatch( 'small' );\n\n\tconst {\n\t\tisAutosaving,\n\t\tisDirty,\n\t\tisNew,\n\t\tisPublished,\n\t\tisSaveable,\n\t\tisSaving,\n\t\tisScheduled,\n\t\thasPublishAction,\n\t\tshowIconLabels,\n\t\tpostStatus,\n\t\tpostStatusHasChanged,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisEditedPostNew,\n\t\t\t\tisCurrentPostPublished,\n\t\t\t\tisCurrentPostScheduled,\n\t\t\t\tisEditedPostDirty,\n\t\t\t\tisSavingPost,\n\t\t\t\tisEditedPostSaveable,\n\t\t\t\tgetCurrentPost,\n\t\t\t\tisAutosavingPost,\n\t\t\t\tgetEditedPostAttribute,\n\t\t\t\tgetPostEdits,\n\t\t\t} = select( editorStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\treturn {\n\t\t\t\tisAutosaving: isAutosavingPost(),\n\t\t\t\tisDirty: forceIsDirty || isEditedPostDirty(),\n\t\t\t\tisNew: isEditedPostNew(),\n\t\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\t\tisSaving: isSavingPost(),\n\t\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t\t\thasPublishAction:\n\t\t\t\t\tgetCurrentPost()?._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\t\tpostStatus: getEditedPostAttribute( 'status' ),\n\t\t\t\tpostStatusHasChanged: !! getPostEdits()?.status,\n\t\t\t};\n\t\t},\n\t\t[ forceIsDirty ]\n\t);\n\tconst isPending = postStatus === 'pending';\n\tconst { savePost } = useDispatch( editorStore );\n\n\tconst wasSaving = usePrevious( isSaving );\n\n\tuseEffect( () => {\n\t\tlet timeoutId;\n\n\t\tif ( wasSaving && ! isSaving ) {\n\t\t\tsetForceSavedMessage( true );\n\t\t\ttimeoutId = setTimeout( () => {\n\t\t\t\tsetForceSavedMessage( false );\n\t\t\t}, 1000 );\n\t\t}\n\n\t\treturn () => clearTimeout( timeoutId );\n\t}, [ isSaving ] );\n\n\t// Once the post has been submitted for review this button\n\t// is not needed for the contributor role.\n\tif ( ! hasPublishAction && isPending ) {\n\t\treturn null;\n\t}\n\n\tif (\n\t\tisPublished ||\n\t\tisScheduled ||\n\t\t! [ 'pending', 'draft', 'auto-draft' ].includes( postStatus ) ||\n\t\t( postStatusHasChanged &&\n\t\t\t[ 'pending', 'draft' ].includes( postStatus ) )\n\t) {\n\t\treturn null;\n\t}\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst label = isPending ? __( 'Save as pending' ) : __( 'Save draft' );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst shortLabel = __( 'Save' );\n\n\tconst isSaved = forceSavedMessage || ( ! isNew && ! isDirty );\n\tconst isSavedState = isSaving || isSaved;\n\tconst isDisabled = isSaving || isSaved || ! isSaveable;\n\tlet text;\n\n\tif ( isSaving ) {\n\t\ttext = isAutosaving ? __( 'Autosaving' ) : __( 'Saving' );\n\t} else if ( isSaved ) {\n\t\ttext = __( 'Saved' );\n\t} else if ( isLargeViewport ) {\n\t\ttext = label;\n\t} else if ( showIconLabels ) {\n\t\ttext = shortLabel;\n\t}\n\n\t// Use common Button instance for all saved states so that focus is not\n\t// lost.\n\treturn (\n\t\t<Button\n\t\t\tclassName={\n\t\t\t\tisSaveable || isSaving\n\t\t\t\t\t? clsx( {\n\t\t\t\t\t\t\t'editor-post-save-draft': ! isSavedState,\n\t\t\t\t\t\t\t'editor-post-saved-state': isSavedState,\n\t\t\t\t\t\t\t'is-saving': isSaving,\n\t\t\t\t\t\t\t'is-autosaving': isAutosaving,\n\t\t\t\t\t\t\t'is-saved': isSaved,\n\t\t\t\t\t\t\t[ getAnimateClassName( {\n\t\t\t\t\t\t\t\ttype: 'loading',\n\t\t\t\t\t\t\t} ) ]: isSaving,\n\t\t\t\t\t } )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tonClick={ isDisabled ? undefined : () => savePost() }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ isDisabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\tvariant=\"tertiary\"\n\t\t\tsize=\"compact\"\n\t\t\ticon={ isLargeViewport ? undefined : cloudUpload }\n\t\t\tlabel={ text || label }\n\t\t\taria-disabled={ isDisabled }\n\t\t>\n\t\t\t{ isSavedState && <Icon icon={ isSaved ? check : cloud } /> }\n\t\t\t{ text }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { PanelRow } from '@wordpress/components';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import PostSlugForm from './';
11
+ import PostSlugCheck from './check';
12
+ export function PostSlug() {
13
+ return createElement(PostSlugCheck, null, createElement(PanelRow, {
14
+ className: "editor-post-slug"
15
+ }, createElement(PostSlugForm, null)));
16
+ }
17
+ export default PostSlug;
18
+ //# sourceMappingURL=panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PanelRow","PostSlugForm","PostSlugCheck","PostSlug","createElement","className"],"sources":["@wordpress/editor/src/components/post-slug/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelRow } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport PostSlugForm from './';\nimport PostSlugCheck from './check';\n\nexport function PostSlug() {\n\treturn (\n\t\t<PostSlugCheck>\n\t\t\t<PanelRow className=\"editor-post-slug\">\n\t\t\t\t<PostSlugForm />\n\t\t\t</PanelRow>\n\t\t</PostSlugCheck>\n\t);\n}\n\nexport default PostSlug;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,uBAAuB;;AAEhD;AACA;AACA;AACA,OAAOC,YAAY,MAAM,IAAI;AAC7B,OAAOC,aAAa,MAAM,SAAS;AAEnC,OAAO,SAASC,QAAQA,CAAA,EAAG;EAC1B,OACCC,aAAA,CAACF,aAAa,QACbE,aAAA,CAACJ,QAAQ;IAACK,SAAS,EAAC;EAAkB,GACrCD,aAAA,CAACH,YAAY,MAAE,CACN,CACI,CAAC;AAElB;AAEA,eAAeE,QAAQ","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -39,14 +39,14 @@ function PostStatusLabel({
39
39
  statusLabel = __('Draft');
40
40
  break;
41
41
  case 'pending':
42
- statusLabel = __('Pending review');
42
+ statusLabel = __('Pending');
43
43
  break;
44
44
  case 'private':
45
- statusLabel = __('Published privately');
45
+ statusLabel = __('Private');
46
46
  break;
47
47
  }
48
48
  return createElement(Text, {
49
- className: classnames('editor-post-status-label', {
49
+ className: clsx('editor-post-status-label', {
50
50
  [` has-status-${status}`]: !!status,
51
51
  'has-icon': canEdit
52
52
  })