@wordpress/editor 14.13.1-next.a9f418477.0 → 14.14.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.
- package/CHANGELOG.md +2 -0
- package/build/bindings/pattern-overrides.js +1 -0
- package/build/bindings/pattern-overrides.js.map +1 -1
- package/build/bindings/post-meta.js +1 -0
- package/build/bindings/post-meta.js.map +1 -1
- package/build/components/autocompleters/user.js +1 -0
- package/build/components/autocompleters/user.js.map +1 -1
- package/build/components/block-removal-warnings/index.js +1 -0
- package/build/components/block-removal-warnings/index.js.map +1 -1
- package/build/components/block-settings-menu/content-only-settings-menu.js +1 -0
- package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
- package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -0
- package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
- package/build/components/collab-sidebar/add-comment.js +1 -1
- package/build/components/collab-sidebar/add-comment.js.map +1 -1
- package/build/components/collab-sidebar/comment-button.js +7 -2
- package/build/components/collab-sidebar/comment-button.js.map +1 -1
- package/build/components/collab-sidebar/comment-form.js +4 -1
- package/build/components/collab-sidebar/comment-form.js.map +1 -1
- package/build/components/collab-sidebar/comments.js +199 -185
- package/build/components/collab-sidebar/comments.js.map +1 -1
- package/build/components/collab-sidebar/index.js +11 -4
- package/build/components/collab-sidebar/index.js.map +1 -1
- package/build/components/collab-sidebar/utils.js +1 -0
- package/build/components/collab-sidebar/utils.js.map +1 -1
- package/build/components/deprecated.js +1 -0
- package/build/components/deprecated.js.map +1 -1
- package/build/components/document-outline/index.js +1 -0
- package/build/components/document-outline/index.js.map +1 -1
- package/build/components/editor-help/index.native.js +1 -0
- package/build/components/editor-help/index.native.js.map +1 -1
- package/build/components/editor-notices/index.js +1 -0
- package/build/components/editor-notices/index.js.map +1 -1
- package/build/components/editor-snackbars/index.js +1 -0
- package/build/components/editor-snackbars/index.js.map +1 -1
- package/build/components/entities-saved-states/entity-type-list.js +1 -0
- package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build/components/entities-saved-states/hooks/use-is-dirty.js +1 -0
- package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
- package/build/components/entities-saved-states/index.js +1 -0
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +1 -0
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/shortcut.js +1 -0
- package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
- package/build/components/list-view-sidebar/index.js +1 -0
- package/build/components/list-view-sidebar/index.js.map +1 -1
- package/build/components/local-autosave-monitor/index.js +1 -0
- package/build/components/local-autosave-monitor/index.js.map +1 -1
- package/build/components/mode-switcher/index.js +1 -0
- package/build/components/mode-switcher/index.js.map +1 -1
- package/build/components/page-attributes/parent.js +1 -0
- package/build/components/page-attributes/parent.js.map +1 -1
- package/build/components/post-actions/actions.js +1 -0
- package/build/components/post-actions/actions.js.map +1 -1
- package/build/components/post-actions/index.js +77 -91
- package/build/components/post-actions/index.js.map +1 -1
- package/build/components/post-author/hook.js +1 -0
- package/build/components/post-author/hook.js.map +1 -1
- package/build/components/post-card-panel/index.js +55 -20
- package/build/components/post-card-panel/index.js.map +1 -1
- package/build/components/post-fields/index.js +1 -0
- package/build/components/post-fields/index.js.map +1 -1
- package/build/components/post-format/index.js +1 -0
- package/build/components/post-format/index.js.map +1 -1
- package/build/components/post-format/panel.js +1 -0
- package/build/components/post-format/panel.js.map +1 -1
- package/build/components/post-publish-button/index.js +1 -0
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-panel/maybe-category-panel.js +1 -0
- package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-post-format-panel.js +1 -0
- package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-upload-media.js +1 -0
- package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build/components/post-publish-panel/media-util.js +1 -0
- package/build/components/post-publish-panel/media-util.js.map +1 -1
- package/build/components/post-saved-state/index.js +1 -0
- package/build/components/post-saved-state/index.js.map +1 -1
- package/build/components/post-schedule/index.js +1 -0
- package/build/components/post-schedule/index.js.map +1 -1
- package/build/components/post-taxonomies/flat-term-selector.js +1 -0
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/hierarchical-term-selector.js +1 -0
- package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/index.js +1 -0
- package/build/components/post-taxonomies/index.js.map +1 -1
- package/build/components/post-taxonomies/most-used-terms.js +1 -0
- package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build/components/post-template/classic-theme.js +1 -0
- package/build/components/post-template/classic-theme.js.map +1 -1
- package/build/components/post-template/swap-template-button.js +1 -0
- package/build/components/post-template/swap-template-button.js.map +1 -1
- package/build/components/post-transform-panel/hooks.js +1 -0
- package/build/components/post-transform-panel/hooks.js.map +1 -1
- package/build/components/post-type-support-check/index.js +1 -0
- package/build/components/post-type-support-check/index.js.map +1 -1
- package/build/components/preferences-modal/block-visibility.js +1 -0
- package/build/components/preferences-modal/block-visibility.js.map +1 -1
- package/build/components/preferences-modal/index.js +1 -0
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/provider/disable-non-page-content-blocks.js +1 -0
- package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/provider/index.native.js +1 -0
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +1 -0
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/sidebar/index.js +1 -0
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/start-page-options/index.js +1 -0
- package/build/components/start-page-options/index.js.map +1 -1
- package/build/components/start-template-options/index.js +1 -0
- package/build/components/start-template-options/index.js.map +1 -1
- package/build/components/template-part-content-panel/index.js +1 -0
- package/build/components/template-part-content-panel/index.js.map +1 -1
- package/build/components/theme-support-check/index.js +1 -0
- package/build/components/theme-support-check/index.js.map +1 -1
- package/build/components/visual-editor/use-select-nearest-editable-block.js +1 -0
- package/build/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
- package/build/dataviews/store/private-actions.js +1 -0
- package/build/dataviews/store/private-actions.js.map +1 -1
- package/build/dataviews/store/reducer.js +1 -0
- package/build/dataviews/store/reducer.js.map +1 -1
- package/build/hooks/custom-sources-backwards-compatibility.js +1 -0
- package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build/hooks/pattern-overrides.js +1 -0
- package/build/hooks/pattern-overrides.js.map +1 -1
- package/build/store/actions.js +1 -0
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +1 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +1 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -0
- package/build/store/reducer.js.map +1 -1
- package/build/store/reducer.native.js +1 -0
- package/build/store/reducer.native.js.map +1 -1
- package/build/store/selectors.js +1 -0
- package/build/store/selectors.js.map +1 -1
- package/build/utils/get-template-info.js +1 -0
- package/build/utils/get-template-info.js.map +1 -1
- package/build/utils/pageTypeBadge.js +4 -3
- package/build/utils/pageTypeBadge.js.map +1 -1
- package/build/utils/terms.js +1 -0
- package/build/utils/terms.js.map +1 -1
- package/build-module/bindings/pattern-overrides.js +1 -0
- package/build-module/bindings/pattern-overrides.js.map +1 -1
- package/build-module/bindings/post-meta.js +1 -0
- package/build-module/bindings/post-meta.js.map +1 -1
- package/build-module/components/autocompleters/user.js +1 -0
- package/build-module/components/autocompleters/user.js.map +1 -1
- package/build-module/components/block-removal-warnings/index.js +1 -0
- package/build-module/components/block-removal-warnings/index.js.map +1 -1
- package/build-module/components/block-settings-menu/content-only-settings-menu.js +1 -0
- package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
- package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -0
- package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
- package/build-module/components/collab-sidebar/add-comment.js +1 -1
- package/build-module/components/collab-sidebar/add-comment.js.map +1 -1
- package/build-module/components/collab-sidebar/comment-button.js +7 -2
- package/build-module/components/collab-sidebar/comment-button.js.map +1 -1
- package/build-module/components/collab-sidebar/comment-form.js +4 -1
- package/build-module/components/collab-sidebar/comment-form.js.map +1 -1
- package/build-module/components/collab-sidebar/comments.js +201 -187
- package/build-module/components/collab-sidebar/comments.js.map +1 -1
- package/build-module/components/collab-sidebar/index.js +11 -4
- package/build-module/components/collab-sidebar/index.js.map +1 -1
- package/build-module/components/collab-sidebar/utils.js +1 -0
- package/build-module/components/collab-sidebar/utils.js.map +1 -1
- package/build-module/components/deprecated.js +1 -0
- package/build-module/components/deprecated.js.map +1 -1
- package/build-module/components/document-outline/index.js +1 -0
- package/build-module/components/document-outline/index.js.map +1 -1
- package/build-module/components/editor-help/index.native.js +1 -0
- package/build-module/components/editor-help/index.native.js.map +1 -1
- package/build-module/components/editor-notices/index.js +1 -0
- package/build-module/components/editor-notices/index.js.map +1 -1
- package/build-module/components/editor-snackbars/index.js +1 -0
- package/build-module/components/editor-snackbars/index.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-type-list.js +1 -0
- package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +1 -0
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js +1 -0
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -0
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +1 -0
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
- package/build-module/components/list-view-sidebar/index.js +1 -0
- package/build-module/components/list-view-sidebar/index.js.map +1 -1
- package/build-module/components/local-autosave-monitor/index.js +1 -0
- package/build-module/components/local-autosave-monitor/index.js.map +1 -1
- package/build-module/components/mode-switcher/index.js +1 -0
- package/build-module/components/mode-switcher/index.js.map +1 -1
- package/build-module/components/page-attributes/parent.js +1 -0
- package/build-module/components/page-attributes/parent.js.map +1 -1
- package/build-module/components/post-actions/actions.js +1 -0
- package/build-module/components/post-actions/actions.js.map +1 -1
- package/build-module/components/post-actions/index.js +77 -92
- package/build-module/components/post-actions/index.js.map +1 -1
- package/build-module/components/post-author/hook.js +1 -0
- package/build-module/components/post-author/hook.js.map +1 -1
- package/build-module/components/post-card-panel/index.js +58 -21
- package/build-module/components/post-card-panel/index.js.map +1 -1
- package/build-module/components/post-fields/index.js +1 -0
- package/build-module/components/post-fields/index.js.map +1 -1
- package/build-module/components/post-format/index.js +1 -0
- package/build-module/components/post-format/index.js.map +1 -1
- package/build-module/components/post-format/panel.js +1 -0
- package/build-module/components/post-format/panel.js.map +1 -1
- package/build-module/components/post-publish-button/index.js +1 -0
- package/build-module/components/post-publish-button/index.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-category-panel.js +1 -0
- package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js +1 -0
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-upload-media.js +1 -0
- package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build-module/components/post-publish-panel/media-util.js +1 -0
- package/build-module/components/post-publish-panel/media-util.js.map +1 -1
- package/build-module/components/post-saved-state/index.js +1 -0
- package/build-module/components/post-saved-state/index.js.map +1 -1
- package/build-module/components/post-schedule/index.js +1 -0
- package/build-module/components/post-schedule/index.js.map +1 -1
- package/build-module/components/post-taxonomies/flat-term-selector.js +1 -0
- package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js +1 -0
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/index.js +1 -0
- package/build-module/components/post-taxonomies/index.js.map +1 -1
- package/build-module/components/post-taxonomies/most-used-terms.js +1 -0
- package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build-module/components/post-template/classic-theme.js +1 -0
- package/build-module/components/post-template/classic-theme.js.map +1 -1
- package/build-module/components/post-template/swap-template-button.js +1 -0
- package/build-module/components/post-template/swap-template-button.js.map +1 -1
- package/build-module/components/post-transform-panel/hooks.js +1 -0
- package/build-module/components/post-transform-panel/hooks.js.map +1 -1
- package/build-module/components/post-type-support-check/index.js +1 -0
- package/build-module/components/post-type-support-check/index.js.map +1 -1
- package/build-module/components/preferences-modal/block-visibility.js +1 -0
- package/build-module/components/preferences-modal/block-visibility.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +1 -0
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/provider/disable-non-page-content-blocks.js +1 -0
- package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/provider/index.native.js +1 -0
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +1 -0
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/sidebar/index.js +1 -0
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/start-page-options/index.js +1 -0
- package/build-module/components/start-page-options/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +1 -0
- package/build-module/components/start-template-options/index.js.map +1 -1
- package/build-module/components/template-part-content-panel/index.js +1 -0
- package/build-module/components/template-part-content-panel/index.js.map +1 -1
- package/build-module/components/theme-support-check/index.js +1 -0
- package/build-module/components/theme-support-check/index.js.map +1 -1
- package/build-module/components/visual-editor/use-select-nearest-editable-block.js +1 -0
- package/build-module/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
- package/build-module/dataviews/store/private-actions.js +1 -0
- package/build-module/dataviews/store/private-actions.js.map +1 -1
- package/build-module/dataviews/store/reducer.js +1 -0
- package/build-module/dataviews/store/reducer.js.map +1 -1
- package/build-module/hooks/custom-sources-backwards-compatibility.js +1 -0
- package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build-module/hooks/pattern-overrides.js +1 -0
- package/build-module/hooks/pattern-overrides.js.map +1 -1
- package/build-module/store/actions.js +1 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +1 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +1 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/reducer.native.js +1 -0
- package/build-module/store/reducer.native.js.map +1 -1
- package/build-module/store/selectors.js +1 -0
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/get-template-info.js +1 -0
- package/build-module/utils/get-template-info.js.map +1 -1
- package/build-module/utils/pageTypeBadge.js +4 -3
- package/build-module/utils/pageTypeBadge.js.map +1 -1
- package/build-module/utils/terms.js +1 -0
- package/build-module/utils/terms.js.map +1 -1
- package/build-style/style-rtl.css +12 -1
- package/build-style/style.css +12 -1
- package/build-types/components/collab-sidebar/comment-button.d.ts.map +1 -1
- package/build-types/components/collab-sidebar/comment-form.d.ts.map +1 -1
- package/build-types/components/collab-sidebar/comments.d.ts +11 -7
- package/build-types/components/collab-sidebar/comments.d.ts.map +1 -1
- package/build-types/components/collab-sidebar/index.d.ts.map +1 -1
- package/build-types/components/post-actions/index.d.ts +5 -0
- package/build-types/components/post-actions/index.d.ts.map +1 -1
- package/build-types/components/post-card-panel/index.d.ts +13 -4
- package/build-types/components/post-card-panel/index.d.ts.map +1 -1
- package/build-types/store/private-selectors.d.ts +20 -4
- package/build-types/store/private-selectors.d.ts.map +1 -1
- package/build-types/store/selectors.d.ts +375 -75
- package/build-types/store/selectors.d.ts.map +1 -1
- package/build-types/utils/pageTypeBadge.d.ts +2 -2
- package/build-types/utils/pageTypeBadge.d.ts.map +1 -1
- package/package.json +36 -36
- package/src/components/collab-sidebar/add-comment.js +1 -1
- package/src/components/collab-sidebar/comment-button.js +12 -7
- package/src/components/collab-sidebar/comment-form.js +4 -1
- package/src/components/collab-sidebar/comments.js +260 -243
- package/src/components/collab-sidebar/index.js +10 -2
- package/src/components/collab-sidebar/style.scss +10 -1
- package/src/components/post-actions/index.js +89 -95
- package/src/components/post-card-panel/index.js +64 -26
- package/src/components/post-card-panel/style.scss +4 -0
- package/src/utils/pageTypeBadge.js +5 -3
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
/* wp:polyfill */
|
|
1
2
|
/**
|
|
2
3
|
* WordPress dependencies
|
|
3
4
|
*/
|
|
4
|
-
import { useSelect } from '@wordpress/data';
|
|
5
|
+
import { useRegistry, useSelect } from '@wordpress/data';
|
|
5
6
|
import { useState, useMemo } from '@wordpress/element';
|
|
6
7
|
import { __ } from '@wordpress/i18n';
|
|
7
8
|
import { privateApis as componentsPrivateApis, Button, Modal } from '@wordpress/components';
|
|
@@ -18,14 +19,9 @@ const {
|
|
|
18
19
|
Menu,
|
|
19
20
|
kebabCase
|
|
20
21
|
} = unlock(componentsPrivateApis);
|
|
21
|
-
|
|
22
|
-
postType,
|
|
23
|
-
postId,
|
|
24
|
-
onActionPerformed
|
|
25
|
-
}) {
|
|
26
|
-
const [isActionsMenuOpen, setIsActionsMenuOpen] = useState(false);
|
|
22
|
+
function useEditedEntityRecordsWithPermissions(postType, postIds) {
|
|
27
23
|
const {
|
|
28
|
-
|
|
24
|
+
items,
|
|
29
25
|
permissions
|
|
30
26
|
} = useSelect(select => {
|
|
31
27
|
const {
|
|
@@ -33,45 +29,60 @@ export default function PostActions({
|
|
|
33
29
|
getEntityRecordPermissions
|
|
34
30
|
} = unlock(select(coreStore));
|
|
35
31
|
return {
|
|
36
|
-
|
|
37
|
-
permissions: getEntityRecordPermissions('postType', postType, postId)
|
|
32
|
+
items: postIds.map(postId => getEditedEntityRecord('postType', postType, postId)),
|
|
33
|
+
permissions: postIds.map(postId => getEntityRecordPermissions('postType', postType, postId))
|
|
38
34
|
};
|
|
39
|
-
}, [
|
|
40
|
-
|
|
41
|
-
return {
|
|
35
|
+
}, [postIds, postType]);
|
|
36
|
+
return useMemo(() => {
|
|
37
|
+
return items.map((item, index) => ({
|
|
42
38
|
...item,
|
|
43
|
-
permissions
|
|
44
|
-
};
|
|
45
|
-
}, [
|
|
39
|
+
permissions: permissions[index]
|
|
40
|
+
}));
|
|
41
|
+
}, [items, permissions]);
|
|
42
|
+
}
|
|
43
|
+
export default function PostActions({
|
|
44
|
+
postType,
|
|
45
|
+
postId,
|
|
46
|
+
onActionPerformed
|
|
47
|
+
}) {
|
|
48
|
+
const [activeModalAction, setActiveModalAction] = useState(null);
|
|
49
|
+
const _postIds = useMemo(() => {
|
|
50
|
+
if (Array.isArray(postId)) {
|
|
51
|
+
return postId;
|
|
52
|
+
}
|
|
53
|
+
return postId ? [postId] : [];
|
|
54
|
+
}, [postId]);
|
|
55
|
+
const itemsWithPermissions = useEditedEntityRecordsWithPermissions(postType, _postIds);
|
|
46
56
|
const allActions = usePostActions({
|
|
47
57
|
postType,
|
|
48
58
|
onActionPerformed
|
|
49
59
|
});
|
|
50
60
|
const actions = useMemo(() => {
|
|
51
61
|
return allActions.filter(action => {
|
|
52
|
-
return !action.isEligible || action.isEligible(itemWithPermissions);
|
|
62
|
+
return (!action.isEligible || itemsWithPermissions.some(itemWithPermissions => action.isEligible(itemWithPermissions))) && (itemsWithPermissions.length < 2 || action.supportsBulk);
|
|
53
63
|
});
|
|
54
|
-
}, [allActions,
|
|
55
|
-
return /*#__PURE__*/
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
64
|
+
}, [allActions, itemsWithPermissions]);
|
|
65
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
66
|
+
children: [/*#__PURE__*/_jsx(Menu, {
|
|
67
|
+
trigger: /*#__PURE__*/_jsx(Button, {
|
|
68
|
+
size: "small",
|
|
69
|
+
icon: moreVertical,
|
|
70
|
+
label: __('Actions'),
|
|
71
|
+
disabled: !actions.length,
|
|
72
|
+
accessibleWhenDisabled: true,
|
|
73
|
+
className: "editor-all-actions-button"
|
|
74
|
+
}),
|
|
75
|
+
placement: "bottom-end",
|
|
76
|
+
children: /*#__PURE__*/_jsx(ActionsDropdownMenuGroup, {
|
|
77
|
+
actions: actions,
|
|
78
|
+
items: itemsWithPermissions,
|
|
79
|
+
setActiveModalAction: setActiveModalAction
|
|
80
|
+
})
|
|
81
|
+
}), !!activeModalAction && /*#__PURE__*/_jsx(ActionModal, {
|
|
82
|
+
action: activeModalAction,
|
|
83
|
+
items: itemsWithPermissions,
|
|
84
|
+
closeModal: () => setActiveModalAction(null)
|
|
85
|
+
})]
|
|
75
86
|
});
|
|
76
87
|
}
|
|
77
88
|
|
|
@@ -80,7 +91,6 @@ export default function PostActions({
|
|
|
80
91
|
// and the dataviews package should not be using the editor packages directly,
|
|
81
92
|
// so duplicating the code here seems like the least bad option.
|
|
82
93
|
|
|
83
|
-
// Copied as is from packages/dataviews/src/item-actions.js
|
|
84
94
|
function DropdownMenuItemTrigger({
|
|
85
95
|
action,
|
|
86
96
|
onClick,
|
|
@@ -89,75 +99,50 @@ function DropdownMenuItemTrigger({
|
|
|
89
99
|
const label = typeof action.label === 'string' ? action.label : action.label(items);
|
|
90
100
|
return /*#__PURE__*/_jsx(Menu.Item, {
|
|
91
101
|
onClick: onClick,
|
|
92
|
-
hideOnClick: !action.RenderModal,
|
|
93
102
|
children: /*#__PURE__*/_jsx(Menu.ItemLabel, {
|
|
94
103
|
children: label
|
|
95
104
|
})
|
|
96
105
|
});
|
|
97
106
|
}
|
|
98
|
-
|
|
99
|
-
// Copied as is from packages/dataviews/src/item-actions.js
|
|
100
|
-
// With an added onClose prop.
|
|
101
|
-
function ActionWithModal({
|
|
107
|
+
export function ActionModal({
|
|
102
108
|
action,
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
onClose
|
|
109
|
+
items,
|
|
110
|
+
closeModal
|
|
106
111
|
}) {
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
action,
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
...actionTriggerProps
|
|
120
|
-
}), isModalOpen && /*#__PURE__*/_jsx(Modal, {
|
|
121
|
-
title: action.modalHeader || action.label,
|
|
122
|
-
__experimentalHideHeader: !!hideModalHeader,
|
|
123
|
-
onRequestClose: () => {
|
|
124
|
-
setIsModalOpen(false);
|
|
125
|
-
},
|
|
126
|
-
overlayClassName: `editor-action-modal editor-action-modal__${kebabCase(action.id)}`,
|
|
127
|
-
focusOnMount: "firstContentElement",
|
|
128
|
-
size: "medium",
|
|
129
|
-
children: /*#__PURE__*/_jsx(RenderModal, {
|
|
130
|
-
items: [item],
|
|
131
|
-
closeModal: () => {
|
|
132
|
-
setIsModalOpen(false);
|
|
133
|
-
onClose();
|
|
134
|
-
}
|
|
135
|
-
})
|
|
136
|
-
})]
|
|
112
|
+
const label = typeof action.label === 'string' ? action.label : action.label(items);
|
|
113
|
+
return /*#__PURE__*/_jsx(Modal, {
|
|
114
|
+
title: action.modalHeader || label,
|
|
115
|
+
__experimentalHideHeader: !!action.hideModalHeader,
|
|
116
|
+
onRequestClose: closeModal !== null && closeModal !== void 0 ? closeModal : () => {},
|
|
117
|
+
focusOnMount: "firstContentElement",
|
|
118
|
+
size: "medium",
|
|
119
|
+
overlayClassName: `editor-action-modal editor-action-modal__${kebabCase(action.id)}`,
|
|
120
|
+
children: /*#__PURE__*/_jsx(action.RenderModal, {
|
|
121
|
+
items: items,
|
|
122
|
+
closeModal: closeModal
|
|
123
|
+
})
|
|
137
124
|
});
|
|
138
125
|
}
|
|
139
|
-
|
|
140
|
-
// Copied as is from packages/dataviews/src/item-actions.js
|
|
141
|
-
// With an added onClose prop.
|
|
142
126
|
function ActionsDropdownMenuGroup({
|
|
143
127
|
actions,
|
|
144
|
-
|
|
145
|
-
|
|
128
|
+
items,
|
|
129
|
+
setActiveModalAction
|
|
146
130
|
}) {
|
|
131
|
+
const registry = useRegistry();
|
|
147
132
|
return /*#__PURE__*/_jsx(Menu.Group, {
|
|
148
133
|
children: actions.map(action => {
|
|
149
|
-
if (action.RenderModal) {
|
|
150
|
-
return /*#__PURE__*/_jsx(ActionWithModal, {
|
|
151
|
-
action: action,
|
|
152
|
-
item: item,
|
|
153
|
-
ActionTrigger: DropdownMenuItemTrigger,
|
|
154
|
-
onClose: onClose
|
|
155
|
-
}, action.id);
|
|
156
|
-
}
|
|
157
134
|
return /*#__PURE__*/_jsx(DropdownMenuItemTrigger, {
|
|
158
135
|
action: action,
|
|
159
|
-
onClick: () =>
|
|
160
|
-
|
|
136
|
+
onClick: () => {
|
|
137
|
+
if ('RenderModal' in action) {
|
|
138
|
+
setActiveModalAction(action);
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
action.callback(items, {
|
|
142
|
+
registry
|
|
143
|
+
});
|
|
144
|
+
},
|
|
145
|
+
items: items
|
|
161
146
|
}, action.id);
|
|
162
147
|
})
|
|
163
148
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useState","useMemo","__","privateApis","componentsPrivateApis","Button","Modal","moreVertical","store","coreStore","unlock","usePostActions","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Menu","kebabCase","PostActions","postType","postId","onActionPerformed","isActionsMenuOpen","setIsActionsMenuOpen","item","permissions","select","getEditedEntityRecord","getEntityRecordPermissions","itemWithPermissions","allActions","actions","filter","action","isEligible","open","trigger","size","icon","label","disabled","length","accessibleWhenDisabled","className","onClick","onOpenChange","placement","children","ActionsDropdownMenuGroup","onClose","DropdownMenuItemTrigger","items","Item","hideOnClick","RenderModal","ItemLabel","ActionWithModal","ActionTrigger","isModalOpen","setIsModalOpen","actionTriggerProps","hideModalHeader","title","modalHeader","__experimentalHideHeader","onRequestClose","overlayClassName","id","focusOnMount","closeModal","Group","map","callback"],"sources":["@wordpress/editor/src/components/post-actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { usePostActions } from './actions';\n\nconst { Menu, kebabCase } = unlock( componentsPrivateApis );\n\nexport default function PostActions( { postType, postId, onActionPerformed } ) {\n\tconst [ isActionsMenuOpen, setIsActionsMenuOpen ] = useState( false );\n\tconst { item, permissions } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getEntityRecordPermissions } =\n\t\t\t\tunlock( select( coreStore ) );\n\t\t\treturn {\n\t\t\t\titem: getEditedEntityRecord( 'postType', postType, postId ),\n\t\t\t\tpermissions: getEntityRecordPermissions(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ postId, postType ]\n\t);\n\tconst itemWithPermissions = useMemo( () => {\n\t\treturn {\n\t\t\t...item,\n\t\t\tpermissions,\n\t\t};\n\t}, [ item, permissions ] );\n\tconst allActions = usePostActions( { postType, onActionPerformed } );\n\n\tconst actions = useMemo( () => {\n\t\treturn allActions.filter( ( action ) => {\n\t\t\treturn (\n\t\t\t\t! action.isEligible || action.isEligible( itemWithPermissions )\n\t\t\t);\n\t\t} );\n\t}, [ allActions, itemWithPermissions ] );\n\n\treturn (\n\t\t<Menu\n\t\t\topen={ isActionsMenuOpen }\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tclassName=\"editor-all-actions-button\"\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetIsActionsMenuOpen( ! isActionsMenuOpen )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t}\n\t\t\tonOpenChange={ setIsActionsMenuOpen }\n\t\t\tplacement=\"bottom-end\"\n\t\t>\n\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\tactions={ actions }\n\t\t\t\titem={ itemWithPermissions }\n\t\t\t\tonClose={ () => {\n\t\t\t\t\tsetIsActionsMenuOpen( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</Menu>\n\t);\n}\n\n// From now on all the functions on this file are copied as from the dataviews packages,\n// The editor packages should not be using the dataviews packages directly,\n// and the dataviews package should not be using the editor packages directly,\n// so duplicating the code here seems like the least bad option.\n\n// Copied as is from packages/dataviews/src/item-actions.js\nfunction DropdownMenuItemTrigger( { action, onClick, items } ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Menu.Item onClick={ onClick } hideOnClick={ ! action.RenderModal }>\n\t\t\t<Menu.ItemLabel>{ label }</Menu.ItemLabel>\n\t\t</Menu.Item>\n\t);\n}\n\n// Copied as is from packages/dataviews/src/item-actions.js\n// With an added onClose prop.\nfunction ActionWithModal( { action, item, ActionTrigger, onClose } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst actionTriggerProps = {\n\t\taction,\n\t\tonClick: () => setIsModalOpen( true ),\n\t\titems: [ item ],\n\t};\n\tconst { RenderModal, hideModalHeader } = action;\n\treturn (\n\t\t<>\n\t\t\t<ActionTrigger { ...actionTriggerProps } />\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ action.modalHeader || action.label }\n\t\t\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName={ `editor-action-modal editor-action-modal__${ kebabCase(\n\t\t\t\t\t\taction.id\n\t\t\t\t\t) }` }\n\t\t\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t<RenderModal\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => {\n\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n// Copied as is from packages/dataviews/src/item-actions.js\n// With an added onClose prop.\nfunction ActionsDropdownMenuGroup( { actions, item, onClose } ) {\n\treturn (\n\t\t<Menu.Group>\n\t\t\t{ actions.map( ( action ) => {\n\t\t\t\tif ( action.RenderModal ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tActionTrigger={ DropdownMenuItemTrigger }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemTrigger\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tonClick={ () => action.callback( [ item ] ) }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Menu.Group>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useRegistry","useSelect","useState","useMemo","__","privateApis","componentsPrivateApis","Button","Modal","moreVertical","store","coreStore","unlock","usePostActions","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Menu","kebabCase","useEditedEntityRecordsWithPermissions","postType","postIds","items","permissions","select","getEditedEntityRecord","getEntityRecordPermissions","map","postId","item","index","PostActions","onActionPerformed","activeModalAction","setActiveModalAction","_postIds","Array","isArray","itemsWithPermissions","allActions","actions","filter","action","isEligible","some","itemWithPermissions","length","supportsBulk","children","trigger","size","icon","label","disabled","accessibleWhenDisabled","className","placement","ActionsDropdownMenuGroup","ActionModal","closeModal","DropdownMenuItemTrigger","onClick","Item","ItemLabel","title","modalHeader","__experimentalHideHeader","hideModalHeader","onRequestClose","focusOnMount","overlayClassName","id","RenderModal","registry","Group","callback"],"sources":["@wordpress/editor/src/components/post-actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { usePostActions } from './actions';\n\nconst { Menu, kebabCase } = unlock( componentsPrivateApis );\n\nfunction useEditedEntityRecordsWithPermissions( postType, postIds ) {\n\tconst { items, permissions } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getEntityRecordPermissions } =\n\t\t\t\tunlock( select( coreStore ) );\n\t\t\treturn {\n\t\t\t\titems: postIds.map( ( postId ) =>\n\t\t\t\t\tgetEditedEntityRecord( 'postType', postType, postId )\n\t\t\t\t),\n\t\t\t\tpermissions: postIds.map( ( postId ) =>\n\t\t\t\t\tgetEntityRecordPermissions( 'postType', postType, postId )\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ postIds, postType ]\n\t);\n\n\treturn useMemo( () => {\n\t\treturn items.map( ( item, index ) => ( {\n\t\t\t...item,\n\t\t\tpermissions: permissions[ index ],\n\t\t} ) );\n\t}, [ items, permissions ] );\n}\n\nexport default function PostActions( { postType, postId, onActionPerformed } ) {\n\tconst [ activeModalAction, setActiveModalAction ] = useState( null );\n\tconst _postIds = useMemo( () => {\n\t\tif ( Array.isArray( postId ) ) {\n\t\t\treturn postId;\n\t\t}\n\t\treturn postId ? [ postId ] : [];\n\t}, [ postId ] );\n\n\tconst itemsWithPermissions = useEditedEntityRecordsWithPermissions(\n\t\tpostType,\n\t\t_postIds\n\t);\n\tconst allActions = usePostActions( { postType, onActionPerformed } );\n\n\tconst actions = useMemo( () => {\n\t\treturn allActions.filter( ( action ) => {\n\t\t\treturn (\n\t\t\t\t( ! action.isEligible ||\n\t\t\t\t\titemsWithPermissions.some( ( itemWithPermissions ) =>\n\t\t\t\t\t\taction.isEligible( itemWithPermissions )\n\t\t\t\t\t) ) &&\n\t\t\t\t( itemsWithPermissions.length < 2 || action.supportsBulk )\n\t\t\t);\n\t\t} );\n\t}, [ allActions, itemsWithPermissions ] );\n\n\treturn (\n\t\t<>\n\t\t\t<Menu\n\t\t\t\ttrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tclassName=\"editor-all-actions-button\"\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tplacement=\"bottom-end\"\n\t\t\t>\n\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\titems={ itemsWithPermissions }\n\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t/>\n\t\t\t</Menu>\n\t\t\t{ !! activeModalAction && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\titems={ itemsWithPermissions }\n\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n// From now on all the functions on this file are copied as from the dataviews packages,\n// The editor packages should not be using the dataviews packages directly,\n// and the dataviews package should not be using the editor packages directly,\n// so duplicating the code here seems like the least bad option.\n\nfunction DropdownMenuItemTrigger( { action, onClick, items } ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Menu.Item onClick={ onClick }>\n\t\t\t<Menu.ItemLabel>{ label }</Menu.ItemLabel>\n\t\t</Menu.Item>\n\t);\n}\n\nexport function ActionModal( { action, items, closeModal } ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ action.modalHeader || label }\n\t\t\t__experimentalHideHeader={ !! action.hideModalHeader }\n\t\t\tonRequestClose={ closeModal ?? ( () => {} ) }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"medium\"\n\t\t\toverlayClassName={ `editor-action-modal editor-action-modal__${ kebabCase(\n\t\t\t\taction.id\n\t\t\t) }` }\n\t\t>\n\t\t\t<action.RenderModal items={ items } closeModal={ closeModal } />\n\t\t</Modal>\n\t);\n}\n\nfunction ActionsDropdownMenuGroup( { actions, items, setActiveModalAction } ) {\n\tconst registry = useRegistry();\n\treturn (\n\t\t<Menu.Group>\n\t\t\t{ actions.map( ( action ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemTrigger\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\t\t\tsetActiveModalAction( action );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taction.callback( items, { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\titems={ items }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Menu.Group>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","useMemo","useSelect","decodeEntities","store","coreStore","editorStore","AUTHORS_QUERY","BASE_QUERY","useAuthorsQuery","search","authorId","authors","postAuthor","select","getUser","getUsers","getEditedPostAttribute","_authorId","query","search_columns","authorOptions","fetchedAuthors","map","author","value","id","label","name","foundAuthor","findIndex","currentAuthor"],"sources":["@wordpress/editor/src/components/post-author/hook.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY, BASE_QUERY } from './constants';\n\nexport function useAuthorsQuery( search ) {\n\tconst { authorId, authors, postAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUser, getUsers } = select( coreStore );\n\t\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\t\tconst _authorId = getEditedPostAttribute( 'author' );\n\t\t\tconst query = { ...AUTHORS_QUERY };\n\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t\tquery.search_columns = [ 'name' ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthors: getUsers( query ),\n\t\t\t\tpostAuthor: getUser( _authorId, BASE_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ search ]\n\t);\n\n\tconst authorOptions = useMemo( () => {\n\t\tconst fetchedAuthors = ( authors ?? [] ).map( ( author ) => {\n\t\t\treturn {\n\t\t\t\tvalue: author.id,\n\t\t\t\tlabel: decodeEntities( author.name ),\n\t\t\t};\n\t\t} );\n\n\t\t// Ensure the current author is included in the dropdown list.\n\t\tconst foundAuthor = fetchedAuthors.findIndex(\n\t\t\t( { value } ) => postAuthor?.id === value\n\t\t);\n\n\t\tlet currentAuthor = [];\n\t\tif ( foundAuthor < 0 && postAuthor ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: postAuthor.id,\n\t\t\t\t\tlabel: decodeEntities( postAuthor.name ),\n\t\t\t\t},\n\t\t\t];\n\t\t} else if ( foundAuthor < 0 && ! postAuthor ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: 0,\n\t\t\t\t\tlabel: __( '(No author)' ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\treturn [ ...currentAuthor, ...fetchedAuthors ];\n\t}, [ authors, postAuthor ] );\n\n\treturn { authorId, authorOptions, postAuthor };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;AAClD,SAASC,aAAa,EAAEC,UAAU,QAAQ,aAAa;AAEvD,OAAO,SAASC,eAAeA,CAAEC,MAAM,EAAG;EACzC,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAW,CAAC,GAAGX,SAAS,CAChDY,MAAM,IAAM;IACb,MAAM;MAAEC,OAAO;MAAEC;IAAS,CAAC,GAAGF,MAAM,CAAET,SAAU,CAAC;IACjD,MAAM;MAAEY;IAAuB,CAAC,GAAGH,MAAM,CAAER,WAAY,CAAC;IACxD,MAAMY,SAAS,GAAGD,sBAAsB,CAAE,QAAS,CAAC;IACpD,MAAME,KAAK,GAAG;MAAE,GAAGZ;IAAc,CAAC;IAElC,IAAKG,MAAM,EAAG;MACbS,KAAK,CAACT,MAAM,GAAGA,MAAM;MACrBS,KAAK,CAACC,cAAc,GAAG,CAAE,MAAM,CAAE;IAClC;IAEA,OAAO;MACNT,QAAQ,EAAEO,SAAS;MACnBN,OAAO,EAAEI,QAAQ,CAAEG,KAAM,CAAC;MAC1BN,UAAU,EAAEE,OAAO,CAAEG,SAAS,EAAEV,UAAW;IAC5C,CAAC;EACF,CAAC,EACD,CAAEE,MAAM,CACT,CAAC;EAED,MAAMW,aAAa,GAAGpB,OAAO,CAAE,MAAM;IACpC,MAAMqB,cAAc,GAAG,CAAEV,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,EAAE,EAAGW,GAAG,CAAIC,MAAM,IAAM;MAC3D,OAAO;QACNC,KAAK,EAAED,MAAM,CAACE,EAAE;QAChBC,KAAK,EAAExB,cAAc,CAAEqB,MAAM,CAACI,IAAK;MACpC,CAAC;IACF,CAAE,CAAC;;IAEH;IACA,MAAMC,WAAW,GAAGP,cAAc,CAACQ,SAAS,CAC3C,CAAE;MAAEL;IAAM,CAAC,KAAMZ,UAAU,EAAEa,EAAE,KAAKD,KACrC,CAAC;IAED,IAAIM,aAAa,GAAG,EAAE;IACtB,IAAKF,WAAW,GAAG,CAAC,IAAIhB,UAAU,EAAG;MACpCkB,aAAa,GAAG,CACf;QACCN,KAAK,EAAEZ,UAAU,CAACa,EAAE;QACpBC,KAAK,EAAExB,cAAc,CAAEU,UAAU,CAACe,IAAK;MACxC,CAAC,CACD;IACF,CAAC,MAAM,IAAKC,WAAW,GAAG,CAAC,IAAI,CAAEhB,UAAU,EAAG;MAC7CkB,aAAa,GAAG,CACf;QACCN,KAAK,EAAE,CAAC;QACRE,KAAK,EAAE3B,EAAE,CAAE,aAAc;MAC1B,CAAC,CACD;IACF;IAEA,OAAO,CAAE,GAAG+B,aAAa,EAAE,GAAGT,cAAc,CAAE;EAC/C,CAAC,EAAE,CAAEV,OAAO,EAAEC,UAAU,CAAG,CAAC;EAE5B,OAAO;IAAEF,QAAQ;IAAEU,aAAa;IAAER;EAAW,CAAC;AAC/C","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","useMemo","useSelect","decodeEntities","store","coreStore","editorStore","AUTHORS_QUERY","BASE_QUERY","useAuthorsQuery","search","authorId","authors","postAuthor","select","getUser","getUsers","getEditedPostAttribute","_authorId","query","search_columns","authorOptions","fetchedAuthors","map","author","value","id","label","name","foundAuthor","findIndex","currentAuthor"],"sources":["@wordpress/editor/src/components/post-author/hook.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY, BASE_QUERY } from './constants';\n\nexport function useAuthorsQuery( search ) {\n\tconst { authorId, authors, postAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUser, getUsers } = select( coreStore );\n\t\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\t\tconst _authorId = getEditedPostAttribute( 'author' );\n\t\t\tconst query = { ...AUTHORS_QUERY };\n\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t\tquery.search_columns = [ 'name' ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthors: getUsers( query ),\n\t\t\t\tpostAuthor: getUser( _authorId, BASE_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ search ]\n\t);\n\n\tconst authorOptions = useMemo( () => {\n\t\tconst fetchedAuthors = ( authors ?? [] ).map( ( author ) => {\n\t\t\treturn {\n\t\t\t\tvalue: author.id,\n\t\t\t\tlabel: decodeEntities( author.name ),\n\t\t\t};\n\t\t} );\n\n\t\t// Ensure the current author is included in the dropdown list.\n\t\tconst foundAuthor = fetchedAuthors.findIndex(\n\t\t\t( { value } ) => postAuthor?.id === value\n\t\t);\n\n\t\tlet currentAuthor = [];\n\t\tif ( foundAuthor < 0 && postAuthor ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: postAuthor.id,\n\t\t\t\t\tlabel: decodeEntities( postAuthor.name ),\n\t\t\t\t},\n\t\t\t];\n\t\t} else if ( foundAuthor < 0 && ! postAuthor ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: 0,\n\t\t\t\t\tlabel: __( '(No author)' ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\treturn [ ...currentAuthor, ...fetchedAuthors ];\n\t}, [ authors, postAuthor ] );\n\n\treturn { authorId, authorOptions, postAuthor };\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;AAClD,SAASC,aAAa,EAAEC,UAAU,QAAQ,aAAa;AAEvD,OAAO,SAASC,eAAeA,CAAEC,MAAM,EAAG;EACzC,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAW,CAAC,GAAGX,SAAS,CAChDY,MAAM,IAAM;IACb,MAAM;MAAEC,OAAO;MAAEC;IAAS,CAAC,GAAGF,MAAM,CAAET,SAAU,CAAC;IACjD,MAAM;MAAEY;IAAuB,CAAC,GAAGH,MAAM,CAAER,WAAY,CAAC;IACxD,MAAMY,SAAS,GAAGD,sBAAsB,CAAE,QAAS,CAAC;IACpD,MAAME,KAAK,GAAG;MAAE,GAAGZ;IAAc,CAAC;IAElC,IAAKG,MAAM,EAAG;MACbS,KAAK,CAACT,MAAM,GAAGA,MAAM;MACrBS,KAAK,CAACC,cAAc,GAAG,CAAE,MAAM,CAAE;IAClC;IAEA,OAAO;MACNT,QAAQ,EAAEO,SAAS;MACnBN,OAAO,EAAEI,QAAQ,CAAEG,KAAM,CAAC;MAC1BN,UAAU,EAAEE,OAAO,CAAEG,SAAS,EAAEV,UAAW;IAC5C,CAAC;EACF,CAAC,EACD,CAAEE,MAAM,CACT,CAAC;EAED,MAAMW,aAAa,GAAGpB,OAAO,CAAE,MAAM;IACpC,MAAMqB,cAAc,GAAG,CAAEV,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,EAAE,EAAGW,GAAG,CAAIC,MAAM,IAAM;MAC3D,OAAO;QACNC,KAAK,EAAED,MAAM,CAACE,EAAE;QAChBC,KAAK,EAAExB,cAAc,CAAEqB,MAAM,CAACI,IAAK;MACpC,CAAC;IACF,CAAE,CAAC;;IAEH;IACA,MAAMC,WAAW,GAAGP,cAAc,CAACQ,SAAS,CAC3C,CAAE;MAAEL;IAAM,CAAC,KAAMZ,UAAU,EAAEa,EAAE,KAAKD,KACrC,CAAC;IAED,IAAIM,aAAa,GAAG,EAAE;IACtB,IAAKF,WAAW,GAAG,CAAC,IAAIhB,UAAU,EAAG;MACpCkB,aAAa,GAAG,CACf;QACCN,KAAK,EAAEZ,UAAU,CAACa,EAAE;QACpBC,KAAK,EAAExB,cAAc,CAAEU,UAAU,CAACe,IAAK;MACxC,CAAC,CACD;IACF,CAAC,MAAM,IAAKC,WAAW,GAAG,CAAC,IAAI,CAAEhB,UAAU,EAAG;MAC7CkB,aAAa,GAAG,CACf;QACCN,KAAK,EAAE,CAAC;QACRE,KAAK,EAAE3B,EAAE,CAAE,aAAc;MAC1B,CAAC,CACD;IACF;IAEA,OAAO,CAAE,GAAG+B,aAAa,EAAE,GAAGT,cAAc,CAAE;EAC/C,CAAC,EAAE,CAAEV,OAAO,EAAEC,UAAU,CAAG,CAAC;EAE5B,OAAO;IAAEF,QAAQ;IAAEU,aAAa;IAAER;EAAW,CAAC;AAC/C","ignoreList":[]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { Icon, __experimentalHStack as HStack, __experimentalText as Text } from '@wordpress/components';
|
|
4
|
+
import { Icon, __experimentalHStack as HStack, __experimentalVStack as VStack, __experimentalText as Text } from '@wordpress/components';
|
|
5
5
|
import { store as coreStore } from '@wordpress/core-data';
|
|
6
6
|
import { useSelect } from '@wordpress/data';
|
|
7
|
-
import {
|
|
7
|
+
import { useMemo } from '@wordpress/element';
|
|
8
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
8
9
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
9
10
|
|
|
10
11
|
/**
|
|
@@ -16,39 +17,70 @@ import { unlock } from '../../lock-unlock';
|
|
|
16
17
|
import PostActions from '../post-actions';
|
|
17
18
|
import usePageTypeBadge from '../../utils/pageTypeBadge';
|
|
18
19
|
import { getTemplateInfo } from '../../utils/get-template-info';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Renders a title of the post type and the available quick actions available within a 3-dot dropdown.
|
|
23
|
+
*
|
|
24
|
+
* @param {Object} props - Component props.
|
|
25
|
+
* @param {string} [props.postType] - The post type string.
|
|
26
|
+
* @param {string|string[]} [props.postId] - The post id or list of post ids.
|
|
27
|
+
* @param {Function} [props.onActionPerformed] - A callback function for when a quick action is performed.
|
|
28
|
+
* @return {React.ReactNode} The rendered component.
|
|
29
|
+
*/
|
|
19
30
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
31
|
export default function PostCardPanel({
|
|
21
32
|
postType,
|
|
22
33
|
postId,
|
|
23
34
|
onActionPerformed
|
|
24
35
|
}) {
|
|
36
|
+
const postIds = useMemo(() => Array.isArray(postId) ? postId : [postId], [postId]);
|
|
25
37
|
const {
|
|
26
|
-
|
|
27
|
-
icon
|
|
38
|
+
postTitle,
|
|
39
|
+
icon,
|
|
40
|
+
labels
|
|
28
41
|
} = useSelect(select => {
|
|
29
|
-
var _select$getEntityReco;
|
|
30
42
|
const {
|
|
31
|
-
getEditedEntityRecord
|
|
43
|
+
getEditedEntityRecord,
|
|
44
|
+
getEntityRecord,
|
|
45
|
+
getPostType
|
|
32
46
|
} = select(coreStore);
|
|
33
|
-
const _record = getEditedEntityRecord('postType', postType, postId);
|
|
34
47
|
const {
|
|
35
|
-
|
|
36
|
-
} = (
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
48
|
+
getPostIcon
|
|
49
|
+
} = unlock(select(editorStore));
|
|
50
|
+
let _title = '';
|
|
51
|
+
const _record = getEditedEntityRecord('postType', postType, postIds[0]);
|
|
52
|
+
if (postIds.length === 1) {
|
|
53
|
+
var _getEntityRecord;
|
|
54
|
+
const {
|
|
55
|
+
default_template_types: templateTypes = []
|
|
56
|
+
} = (_getEntityRecord = getEntityRecord('root', '__unstableBase')) !== null && _getEntityRecord !== void 0 ? _getEntityRecord : {};
|
|
57
|
+
const _templateInfo = [TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE].includes(postType) ? getTemplateInfo({
|
|
58
|
+
template: _record,
|
|
59
|
+
templateTypes
|
|
60
|
+
}) : {};
|
|
61
|
+
_title = _templateInfo?.title || _record?.title;
|
|
62
|
+
}
|
|
41
63
|
return {
|
|
42
|
-
|
|
43
|
-
icon:
|
|
64
|
+
postTitle: _title,
|
|
65
|
+
icon: getPostIcon(postType, {
|
|
44
66
|
area: _record?.area
|
|
45
|
-
})
|
|
67
|
+
}),
|
|
68
|
+
labels: getPostType(postType)?.labels
|
|
46
69
|
};
|
|
47
|
-
}, [
|
|
70
|
+
}, [postIds, postType]);
|
|
48
71
|
const pageTypeBadge = usePageTypeBadge(postId);
|
|
49
|
-
|
|
72
|
+
let title = __('No title');
|
|
73
|
+
if (labels?.name && postIds.length > 1) {
|
|
74
|
+
title = sprintf(
|
|
75
|
+
// translators: %i number of selected items %s: Name of the plural post type e.g: "Posts".
|
|
76
|
+
__('%i %s'), postId.length, labels?.name);
|
|
77
|
+
} else if (postTitle) {
|
|
78
|
+
title = decodeEntities(postTitle);
|
|
79
|
+
}
|
|
80
|
+
return /*#__PURE__*/_jsxs(VStack, {
|
|
81
|
+
spacing: 1,
|
|
50
82
|
className: "editor-post-card-panel",
|
|
51
|
-
children: /*#__PURE__*/_jsxs(HStack, {
|
|
83
|
+
children: [/*#__PURE__*/_jsxs(HStack, {
|
|
52
84
|
spacing: 2,
|
|
53
85
|
className: "editor-post-card-panel__header",
|
|
54
86
|
align: "flex-start",
|
|
@@ -60,7 +92,7 @@ export default function PostCardPanel({
|
|
|
60
92
|
truncate: true,
|
|
61
93
|
className: "editor-post-card-panel__title",
|
|
62
94
|
as: "h2",
|
|
63
|
-
children: [title
|
|
95
|
+
children: [title, pageTypeBadge && postIds.length === 1 && /*#__PURE__*/_jsx("span", {
|
|
64
96
|
className: "editor-post-card-panel__title-badge",
|
|
65
97
|
children: pageTypeBadge
|
|
66
98
|
})]
|
|
@@ -69,7 +101,12 @@ export default function PostCardPanel({
|
|
|
69
101
|
postId: postId,
|
|
70
102
|
onActionPerformed: onActionPerformed
|
|
71
103
|
})]
|
|
72
|
-
})
|
|
104
|
+
}), postIds.length > 1 && /*#__PURE__*/_jsx(Text, {
|
|
105
|
+
className: "editor-post-card-panel__description",
|
|
106
|
+
children: sprintf(
|
|
107
|
+
// translators: %s: Name of the plural post type e.g: "Posts".
|
|
108
|
+
__('Changes will be applied to all selected %s.'), labels?.name.toLowerCase())
|
|
109
|
+
})]
|
|
73
110
|
});
|
|
74
111
|
}
|
|
75
112
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Icon","__experimentalHStack","HStack","__experimentalText","Text","store","coreStore","useSelect","__","decodeEntities","editorStore","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","unlock","PostActions","usePageTypeBadge","getTemplateInfo","jsx","_jsx","jsxs","_jsxs","PostCardPanel","postType","postId","onActionPerformed","
|
|
1
|
+
{"version":3,"names":["Icon","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalText","Text","store","coreStore","useSelect","useMemo","__","sprintf","decodeEntities","editorStore","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","unlock","PostActions","usePageTypeBadge","getTemplateInfo","jsx","_jsx","jsxs","_jsxs","PostCardPanel","postType","postId","onActionPerformed","postIds","Array","isArray","postTitle","icon","labels","select","getEditedEntityRecord","getEntityRecord","getPostType","getPostIcon","_title","_record","length","_getEntityRecord","default_template_types","templateTypes","_templateInfo","includes","template","title","area","pageTypeBadge","name","spacing","className","children","align","numberOfLines","truncate","as","toLowerCase"],"sources":["@wordpress/editor/src/components/post-card-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../store/constants';\nimport { unlock } from '../../lock-unlock';\nimport PostActions from '../post-actions';\nimport usePageTypeBadge from '../../utils/pageTypeBadge';\nimport { getTemplateInfo } from '../../utils/get-template-info';\n\n/**\n * Renders a title of the post type and the available quick actions available within a 3-dot dropdown.\n *\n * @param {Object} props - Component props.\n * @param {string} [props.postType] - The post type string.\n * @param {string|string[]} [props.postId] - The post id or list of post ids.\n * @param {Function} [props.onActionPerformed] - A callback function for when a quick action is performed.\n * @return {React.ReactNode} The rendered component.\n */\nexport default function PostCardPanel( {\n\tpostType,\n\tpostId,\n\tonActionPerformed,\n} ) {\n\tconst postIds = useMemo(\n\t\t() => ( Array.isArray( postId ) ? postId : [ postId ] ),\n\t\t[ postId ]\n\t);\n\tconst { postTitle, icon, labels } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getEntityRecord, getPostType } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getPostIcon } = unlock( select( editorStore ) );\n\t\t\tlet _title = '';\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostIds[ 0 ]\n\t\t\t);\n\t\t\tif ( postIds.length === 1 ) {\n\t\t\t\tconst { default_template_types: templateTypes = [] } =\n\t\t\t\t\tgetEntityRecord( 'root', '__unstableBase' ) ?? {};\n\n\t\t\t\tconst _templateInfo = [\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t].includes( postType )\n\t\t\t\t\t? getTemplateInfo( {\n\t\t\t\t\t\t\ttemplate: _record,\n\t\t\t\t\t\t\ttemplateTypes,\n\t\t\t\t\t } )\n\t\t\t\t\t: {};\n\t\t\t\t_title = _templateInfo?.title || _record?.title;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tpostTitle: _title,\n\t\t\t\ticon: getPostIcon( postType, {\n\t\t\t\t\tarea: _record?.area,\n\t\t\t\t} ),\n\t\t\t\tlabels: getPostType( postType )?.labels,\n\t\t\t};\n\t\t},\n\t\t[ postIds, postType ]\n\t);\n\n\tconst pageTypeBadge = usePageTypeBadge( postId );\n\tlet title = __( 'No title' );\n\tif ( labels?.name && postIds.length > 1 ) {\n\t\ttitle = sprintf(\n\t\t\t// translators: %i number of selected items %s: Name of the plural post type e.g: \"Posts\".\n\t\t\t__( '%i %s' ),\n\t\t\tpostId.length,\n\t\t\tlabels?.name\n\t\t);\n\t} else if ( postTitle ) {\n\t\ttitle = decodeEntities( postTitle );\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 1 } className=\"editor-post-card-panel\">\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tclassName=\"editor-post-card-panel__header\"\n\t\t\t\talign=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Icon className=\"editor-post-card-panel__icon\" icon={ icon } />\n\t\t\t\t<Text\n\t\t\t\t\tnumberOfLines={ 2 }\n\t\t\t\t\ttruncate\n\t\t\t\t\tclassName=\"editor-post-card-panel__title\"\n\t\t\t\t\tas=\"h2\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t\t{ pageTypeBadge && postIds.length === 1 && (\n\t\t\t\t\t\t<span className=\"editor-post-card-panel__title-badge\">\n\t\t\t\t\t\t\t{ pageTypeBadge }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t\t<PostActions\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tpostId={ postId }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t{ postIds.length > 1 && (\n\t\t\t\t<Text className=\"editor-post-card-panel__description\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: Name of the plural post type e.g: \"Posts\".\n\t\t\t\t\t\t__( 'Changes will be applied to all selected %s.' ),\n\t\t\t\t\t\tlabels?.name.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useMemo","useEntityRecords","useDispatch","useSelect","unlock","store","editorStore","usePostFields","postType","registerPostTypeSchema","defaultFields","select","getEntityFields","records","authors","isResolving","isLoadingAuthors","per_page","fields","map","field","id","elements","name","value","label","isLoading"],"sources":["@wordpress/editor/src/components/post-fields/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport type { Field } from '@wordpress/dataviews';\nimport type { BasePostWithEmbeddedAuthor } from '@wordpress/fields';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\ninterface UsePostFieldsReturn {\n\tisLoading: boolean;\n\tfields: Field< BasePostWithEmbeddedAuthor >[];\n}\n\ninterface Author {\n\tid: number;\n\tname: string;\n}\n\nfunction usePostFields( {\n\tpostType,\n}: {\n\tpostType: string;\n} ): UsePostFieldsReturn {\n\tconst { registerPostTypeSchema } = unlock( useDispatch( editorStore ) );\n\tuseEffect( () => {\n\t\tregisterPostTypeSchema( postType );\n\t}, [ registerPostTypeSchema, postType ] );\n\n\tconst { defaultFields } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityFields } = unlock( select( editorStore ) );\n\t\t\treturn {\n\t\t\t\tdefaultFields: getEntityFields( 'postType', postType ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst { records: authors, isResolving: isLoadingAuthors } =\n\t\tuseEntityRecords< Author >( 'root', 'user', { per_page: -1 } );\n\n\tconst fields = useMemo(\n\t\t() =>\n\t\t\tdefaultFields.map(\n\t\t\t\t( field: Field< BasePostWithEmbeddedAuthor > ) => {\n\t\t\t\t\tif ( field.id === 'author' ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...field,\n\t\t\t\t\t\t\telements: authors?.map( ( { id, name } ) => ( {\n\t\t\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t\t} ) ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn field;\n\t\t\t\t}\n\t\t\t) as Field< BasePostWithEmbeddedAuthor >[],\n\t\t[ authors, defaultFields ]\n\t);\n\n\treturn {\n\t\tisLoading: isLoadingAuthors,\n\t\tfields,\n\t};\n}\n\n/**\n * Hook to get the fields for a post (BasePost or BasePostWithEmbeddedAuthor).\n */\nexport default usePostFields;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,OAAO,QAAQ,oBAAoB;AACvD,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AAIxD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAYlD,SAASC,aAAaA,CAAE;EACvBC;AAGD,CAAC,EAAwB;EACxB,MAAM;IAAEC;EAAuB,CAAC,GAAGL,MAAM,CAAEF,WAAW,CAAEI,WAAY,CAAE,CAAC;EACvEP,SAAS,CAAE,MAAM;IAChBU,sBAAsB,CAAED,QAAS,CAAC;EACnC,CAAC,EAAE,CAAEC,sBAAsB,EAAED,QAAQ,CAAG,CAAC;EAEzC,MAAM;IAAEE;EAAc,CAAC,GAAGP,SAAS,CAChCQ,MAAM,IAAM;IACb,MAAM;MAAEC;IAAgB,CAAC,GAAGR,MAAM,CAAEO,MAAM,CAAEL,WAAY,CAAE,CAAC;IAC3D,OAAO;MACNI,aAAa,EAAEE,eAAe,CAAE,UAAU,EAAEJ,QAAS;IACtD,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,MAAM;IAAEK,OAAO,EAAEC,OAAO;IAAEC,WAAW,EAAEC;EAAiB,CAAC,GACxDf,gBAAgB,CAAY,MAAM,EAAE,MAAM,EAAE;IAAEgB,QAAQ,EAAE,CAAC;EAAE,CAAE,CAAC;EAE/D,MAAMC,MAAM,GAAGlB,OAAO,CACrB,MACCU,aAAa,CAACS,GAAG,CACdC,KAA0C,IAAM;IACjD,IAAKA,KAAK,CAACC,EAAE,KAAK,QAAQ,EAAG;MAC5B,OAAO;QACN,GAAGD,KAAK;QACRE,QAAQ,EAAER,OAAO,EAAEK,GAAG,CAAE,CAAE;UAAEE,EAAE;UAAEE;QAAK,CAAC,MAAQ;UAC7CC,KAAK,EAAEH,EAAE;UACTI,KAAK,EAAEF;QACR,CAAC,CAAG;MACL,CAAC;IACF;IAEA,OAAOH,KAAK;EACb,CACD,CAA0C,EAC3C,CAAEN,OAAO,EAAEJ,aAAa,CACzB,CAAC;EAED,OAAO;IACNgB,SAAS,EAAEV,gBAAgB;IAC3BE;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA,eAAeX,aAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useEntityRecords","useDispatch","useSelect","unlock","store","editorStore","usePostFields","postType","registerPostTypeSchema","defaultFields","select","getEntityFields","records","authors","isResolving","isLoadingAuthors","per_page","fields","map","field","id","elements","name","value","label","isLoading"],"sources":["@wordpress/editor/src/components/post-fields/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport type { Field } from '@wordpress/dataviews';\nimport type { BasePostWithEmbeddedAuthor } from '@wordpress/fields';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\ninterface UsePostFieldsReturn {\n\tisLoading: boolean;\n\tfields: Field< BasePostWithEmbeddedAuthor >[];\n}\n\ninterface Author {\n\tid: number;\n\tname: string;\n}\n\nfunction usePostFields( {\n\tpostType,\n}: {\n\tpostType: string;\n} ): UsePostFieldsReturn {\n\tconst { registerPostTypeSchema } = unlock( useDispatch( editorStore ) );\n\tuseEffect( () => {\n\t\tregisterPostTypeSchema( postType );\n\t}, [ registerPostTypeSchema, postType ] );\n\n\tconst { defaultFields } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityFields } = unlock( select( editorStore ) );\n\t\t\treturn {\n\t\t\t\tdefaultFields: getEntityFields( 'postType', postType ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst { records: authors, isResolving: isLoadingAuthors } =\n\t\tuseEntityRecords< Author >( 'root', 'user', { per_page: -1 } );\n\n\tconst fields = useMemo(\n\t\t() =>\n\t\t\tdefaultFields.map(\n\t\t\t\t( field: Field< BasePostWithEmbeddedAuthor > ) => {\n\t\t\t\t\tif ( field.id === 'author' ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...field,\n\t\t\t\t\t\t\telements: authors?.map( ( { id, name } ) => ( {\n\t\t\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t\t} ) ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn field;\n\t\t\t\t}\n\t\t\t) as Field< BasePostWithEmbeddedAuthor >[],\n\t\t[ authors, defaultFields ]\n\t);\n\n\treturn {\n\t\tisLoading: isLoadingAuthors,\n\t\tfields,\n\t};\n}\n\n/**\n * Hook to get the fields for a post (BasePost or BasePostWithEmbeddedAuthor).\n */\nexport default usePostFields;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,OAAO,QAAQ,oBAAoB;AACvD,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AAIxD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAYlD,SAASC,aAAaA,CAAE;EACvBC;AAGD,CAAC,EAAwB;EACxB,MAAM;IAAEC;EAAuB,CAAC,GAAGL,MAAM,CAAEF,WAAW,CAAEI,WAAY,CAAE,CAAC;EACvEP,SAAS,CAAE,MAAM;IAChBU,sBAAsB,CAAED,QAAS,CAAC;EACnC,CAAC,EAAE,CAAEC,sBAAsB,EAAED,QAAQ,CAAG,CAAC;EAEzC,MAAM;IAAEE;EAAc,CAAC,GAAGP,SAAS,CAChCQ,MAAM,IAAM;IACb,MAAM;MAAEC;IAAgB,CAAC,GAAGR,MAAM,CAAEO,MAAM,CAAEL,WAAY,CAAE,CAAC;IAC3D,OAAO;MACNI,aAAa,EAAEE,eAAe,CAAE,UAAU,EAAEJ,QAAS;IACtD,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,MAAM;IAAEK,OAAO,EAAEC,OAAO;IAAEC,WAAW,EAAEC;EAAiB,CAAC,GACxDf,gBAAgB,CAAY,MAAM,EAAE,MAAM,EAAE;IAAEgB,QAAQ,EAAE,CAAC;EAAE,CAAE,CAAC;EAE/D,MAAMC,MAAM,GAAGlB,OAAO,CACrB,MACCU,aAAa,CAACS,GAAG,CACdC,KAA0C,IAAM;IACjD,IAAKA,KAAK,CAACC,EAAE,KAAK,QAAQ,EAAG;MAC5B,OAAO;QACN,GAAGD,KAAK;QACRE,QAAQ,EAAER,OAAO,EAAEK,GAAG,CAAE,CAAE;UAAEE,EAAE;UAAEE;QAAK,CAAC,MAAQ;UAC7CC,KAAK,EAAEH,EAAE;UACTI,KAAK,EAAEF;QACR,CAAC,CAAG;MACL,CAAC;IACF;IAEA,OAAOH,KAAK;EACb,CACD,CAA0C,EAC3C,CAAEN,OAAO,EAAEJ,aAAa,CACzB,CAAC;EAED,OAAO;IACNgB,SAAS,EAAEV,gBAAgB;IAC3BE;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA,eAAeX,aAAa","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","sprintf","Button","RadioControl","useDispatch","useSelect","useInstanceId","store","coreStore","PostFormatCheck","editorStore","jsx","_jsx","jsxs","_jsxs","POST_FORMATS","id","caption","sort","a","b","normalizedA","toUpperCase","normalizedB","PostFormat","instanceId","postFormatSelectorId","postFormat","suggestedFormat","supportedFormats","select","getEditedPostAttribute","getSuggestedPostFormat","_postFormat","themeSupports","getThemeSupports","formats","filter","format","includes","suggestion","find","editPost","onUpdatePostFormat","children","className","label","selected","onChange","options","map","value","hideLabelFromVision","__next40pxDefaultSize","variant","onClick"],"sources":["@wordpress/editor/src/components/post-format/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button, RadioControl } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFormatCheck from './check';\nimport { store as editorStore } from '../../store';\n\n// All WP post formats, sorted alphabetically by translated name.\nexport const POST_FORMATS = [\n\t{ id: 'aside', caption: __( 'Aside' ) },\n\t{ id: 'audio', caption: __( 'Audio' ) },\n\t{ id: 'chat', caption: __( 'Chat' ) },\n\t{ id: 'gallery', caption: __( 'Gallery' ) },\n\t{ id: 'image', caption: __( 'Image' ) },\n\t{ id: 'link', caption: __( 'Link' ) },\n\t{ id: 'quote', caption: __( 'Quote' ) },\n\t{ id: 'standard', caption: __( 'Standard' ) },\n\t{ id: 'status', caption: __( 'Status' ) },\n\t{ id: 'video', caption: __( 'Video' ) },\n].sort( ( a, b ) => {\n\tconst normalizedA = a.caption.toUpperCase();\n\tconst normalizedB = b.caption.toUpperCase();\n\n\tif ( normalizedA < normalizedB ) {\n\t\treturn -1;\n\t}\n\tif ( normalizedA > normalizedB ) {\n\t\treturn 1;\n\t}\n\treturn 0;\n} );\n\n/**\n * `PostFormat` a component that allows changing the post format while also providing a suggestion for the current post.\n *\n * @example\n * ```jsx\n * <PostFormat />\n * ```\n *\n * @return {React.ReactNode} The rendered PostFormat component.\n */\nexport default function PostFormat() {\n\tconst instanceId = useInstanceId( PostFormat );\n\tconst postFormatSelectorId = `post-format-selector-${ instanceId }`;\n\n\tconst { postFormat, suggestedFormat, supportedFormats } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostAttribute, getSuggestedPostFormat } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst _postFormat = getEditedPostAttribute( 'format' );\n\t\t\tconst themeSupports = select( coreStore ).getThemeSupports();\n\t\t\treturn {\n\t\t\t\tpostFormat: _postFormat ?? 'standard',\n\t\t\t\tsuggestedFormat: getSuggestedPostFormat(),\n\t\t\t\tsupportedFormats: themeSupports.formats,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst formats = POST_FORMATS.filter( ( format ) => {\n\t\t// Ensure current format is always in the set.\n\t\t// The current format may not be a format supported by the theme.\n\t\treturn (\n\t\t\tsupportedFormats?.includes( format.id ) || postFormat === format.id\n\t\t);\n\t} );\n\tconst suggestion = formats.find(\n\t\t( format ) => format.id === suggestedFormat\n\t);\n\n\tconst { editPost } = useDispatch( editorStore );\n\n\tconst onUpdatePostFormat = ( format ) => editPost( { format } );\n\n\treturn (\n\t\t<PostFormatCheck>\n\t\t\t<div className=\"editor-post-format\">\n\t\t\t\t<RadioControl\n\t\t\t\t\tclassName=\"editor-post-format__options\"\n\t\t\t\t\tlabel={ __( 'Post Format' ) }\n\t\t\t\t\tselected={ postFormat }\n\t\t\t\t\tonChange={ ( format ) => onUpdatePostFormat( format ) }\n\t\t\t\t\tid={ postFormatSelectorId }\n\t\t\t\t\toptions={ formats.map( ( format ) => ( {\n\t\t\t\t\t\tlabel: format.caption,\n\t\t\t\t\t\tvalue: format.id,\n\t\t\t\t\t} ) ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t/>\n\t\t\t\t{ suggestion && suggestion.id !== postFormat && (\n\t\t\t\t\t<p className=\"editor-post-format__suggestion\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonUpdatePostFormat( suggestion.id )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: post format */\n\t\t\t\t\t\t\t\t__( 'Apply suggested format: %s' ),\n\t\t\t\t\t\t\t\tsuggestion.caption\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</PostFormatCheck>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","sprintf","Button","RadioControl","useDispatch","useSelect","useInstanceId","store","coreStore","PostFormatCheck","editorStore","jsx","_jsx","jsxs","_jsxs","POST_FORMATS","id","caption","sort","a","b","normalizedA","toUpperCase","normalizedB","PostFormat","instanceId","postFormatSelectorId","postFormat","suggestedFormat","supportedFormats","select","getEditedPostAttribute","getSuggestedPostFormat","_postFormat","themeSupports","getThemeSupports","formats","filter","format","includes","suggestion","find","editPost","onUpdatePostFormat","children","className","label","selected","onChange","options","map","value","hideLabelFromVision","__next40pxDefaultSize","variant","onClick"],"sources":["@wordpress/editor/src/components/post-format/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button, RadioControl } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFormatCheck from './check';\nimport { store as editorStore } from '../../store';\n\n// All WP post formats, sorted alphabetically by translated name.\nexport const POST_FORMATS = [\n\t{ id: 'aside', caption: __( 'Aside' ) },\n\t{ id: 'audio', caption: __( 'Audio' ) },\n\t{ id: 'chat', caption: __( 'Chat' ) },\n\t{ id: 'gallery', caption: __( 'Gallery' ) },\n\t{ id: 'image', caption: __( 'Image' ) },\n\t{ id: 'link', caption: __( 'Link' ) },\n\t{ id: 'quote', caption: __( 'Quote' ) },\n\t{ id: 'standard', caption: __( 'Standard' ) },\n\t{ id: 'status', caption: __( 'Status' ) },\n\t{ id: 'video', caption: __( 'Video' ) },\n].sort( ( a, b ) => {\n\tconst normalizedA = a.caption.toUpperCase();\n\tconst normalizedB = b.caption.toUpperCase();\n\n\tif ( normalizedA < normalizedB ) {\n\t\treturn -1;\n\t}\n\tif ( normalizedA > normalizedB ) {\n\t\treturn 1;\n\t}\n\treturn 0;\n} );\n\n/**\n * `PostFormat` a component that allows changing the post format while also providing a suggestion for the current post.\n *\n * @example\n * ```jsx\n * <PostFormat />\n * ```\n *\n * @return {React.ReactNode} The rendered PostFormat component.\n */\nexport default function PostFormat() {\n\tconst instanceId = useInstanceId( PostFormat );\n\tconst postFormatSelectorId = `post-format-selector-${ instanceId }`;\n\n\tconst { postFormat, suggestedFormat, supportedFormats } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostAttribute, getSuggestedPostFormat } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst _postFormat = getEditedPostAttribute( 'format' );\n\t\t\tconst themeSupports = select( coreStore ).getThemeSupports();\n\t\t\treturn {\n\t\t\t\tpostFormat: _postFormat ?? 'standard',\n\t\t\t\tsuggestedFormat: getSuggestedPostFormat(),\n\t\t\t\tsupportedFormats: themeSupports.formats,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst formats = POST_FORMATS.filter( ( format ) => {\n\t\t// Ensure current format is always in the set.\n\t\t// The current format may not be a format supported by the theme.\n\t\treturn (\n\t\t\tsupportedFormats?.includes( format.id ) || postFormat === format.id\n\t\t);\n\t} );\n\tconst suggestion = formats.find(\n\t\t( format ) => format.id === suggestedFormat\n\t);\n\n\tconst { editPost } = useDispatch( editorStore );\n\n\tconst onUpdatePostFormat = ( format ) => editPost( { format } );\n\n\treturn (\n\t\t<PostFormatCheck>\n\t\t\t<div className=\"editor-post-format\">\n\t\t\t\t<RadioControl\n\t\t\t\t\tclassName=\"editor-post-format__options\"\n\t\t\t\t\tlabel={ __( 'Post Format' ) }\n\t\t\t\t\tselected={ postFormat }\n\t\t\t\t\tonChange={ ( format ) => onUpdatePostFormat( format ) }\n\t\t\t\t\tid={ postFormatSelectorId }\n\t\t\t\t\toptions={ formats.map( ( format ) => ( {\n\t\t\t\t\t\tlabel: format.caption,\n\t\t\t\t\t\tvalue: format.id,\n\t\t\t\t\t} ) ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t/>\n\t\t\t\t{ suggestion && suggestion.id !== postFormat && (\n\t\t\t\t\t<p className=\"editor-post-format__suggestion\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonUpdatePostFormat( suggestion.id )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: post format */\n\t\t\t\t\t\t\t\t__( 'Apply suggested format: %s' ),\n\t\t\t\t\t\t\t\tsuggestion.caption\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</PostFormatCheck>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","Dropdown","__","sprintf","useSelect","useState","useMemo","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","default","PostFormatForm","POST_FORMATS","PostFormatCheck","PostPanelRow","store","editorStore","jsx","_jsx","jsxs","_jsxs","PostFormat","postFormat","select","getEditedPostAttribute","_postFormat","activeFormat","find","format","id","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","children","label","ref","contentClassName","focusOnMount","renderToggle","isOpen","onToggle","size","variant","caption","onClick","renderContent","onClose","className","title"],"sources":["@wordpress/editor/src/components/post-format/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Dropdown } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { default as PostFormatForm, POST_FORMATS } from './';\nimport PostFormatCheck from './check';\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the Post Author Panel component.\n *\n * @return {React.ReactNode} The rendered component.\n */\nfunction PostFormat() {\n\tconst { postFormat } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst _postFormat = getEditedPostAttribute( 'format' );\n\t\treturn {\n\t\t\tpostFormat: _postFormat ?? 'standard',\n\t\t};\n\t}, [] );\n\tconst activeFormat = POST_FORMATS.find(\n\t\t( format ) => format.id === postFormat\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\treturn (\n\t\t<PostFormatCheck>\n\t\t\t<PostPanelRow label={ __( 'Format' ) } ref={ setPopoverAnchor }>\n\t\t\t\t<Dropdown\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tcontentClassName=\"editor-post-format__dialog\"\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Current post format.\n\t\t\t\t\t\t\t\t__( 'Change format: %s' ),\n\t\t\t\t\t\t\t\tactiveFormat?.caption\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ activeFormat?.caption }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<div className=\"editor-post-format__dialog-content\">\n\t\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\t\ttitle={ __( 'Format' ) }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PostFormatForm />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostFormatCheck>\n\t);\n}\n\nexport default PostFormat;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,QAAQ,QAAQ,uBAAuB;AACxD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,QAAQ,EAAEC,OAAO,QAAQ,oBAAoB;AACtD,SAASC,oCAAoC,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAExG;AACA;AACA;AACA,SAASC,OAAO,IAAIC,cAAc,EAAEC,YAAY,QAAQ,IAAI;AAC5D,OAAOC,eAAe,MAAM,SAAS;AACrC,OAAOC,YAAY,MAAM,mBAAmB;AAC5C,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,SAASC,UAAUA,CAAA,EAAG;EACrB,MAAM;IAAEC;EAAW,CAAC,GAAGjB,SAAS,CAAIkB,MAAM,IAAM;IAC/C,MAAM;MAAEC;IAAuB,CAAC,GAAGD,MAAM,CAAEP,WAAY,CAAC;IACxD,MAAMS,WAAW,GAAGD,sBAAsB,CAAE,QAAS,CAAC;IACtD,OAAO;MACNF,UAAU,EAAEG,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI;IAC5B,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,YAAY,GAAGd,YAAY,CAACe,IAAI,CACnCC,MAAM,IAAMA,MAAM,CAACC,EAAE,KAAKP,UAC7B,CAAC;;EAED;EACA;EACA,MAAM,CAAEQ,aAAa,EAAEC,gBAAgB,CAAE,GAAGzB,QAAQ,CAAE,IAAK,CAAC;EAC5D;EACA,MAAM0B,YAAY,GAAGzB,OAAO,CAC3B,OAAQ;IACP;IACA;IACA0B,MAAM,EAAEH,aAAa;IACrBI,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC,CAAE,EACH,CAAEN,aAAa,CAChB,CAAC;EACD,oBACCZ,IAAA,CAACL,eAAe;IAAAwB,QAAA,eACfnB,IAAA,CAACJ,YAAY;MAACwB,KAAK,EAAGnC,EAAE,CAAE,QAAS,CAAG;MAACoC,GAAG,EAAGR,gBAAkB;MAAAM,QAAA,eAC9DnB,IAAA,CAAChB,QAAQ;QACR8B,YAAY,EAAGA,YAAc;QAC7BQ,gBAAgB,EAAC,4BAA4B;QAC7CC,YAAY;QACZC,YAAY,EAAGA,CAAE;UAAEC,MAAM;UAAEC;QAAS,CAAC,kBACpC1B,IAAA,CAACjB,MAAM;UACN4C,IAAI,EAAC,SAAS;UACdC,OAAO,EAAC,UAAU;UAClB,iBAAgBH,MAAQ;UACxB,cAAavC,OAAO;UACnB;UACAD,EAAE,CAAE,mBAAoB,CAAC,EACzBuB,YAAY,EAAEqB,OACf,CAAG;UACHC,OAAO,EAAGJ,QAAU;UAAAP,QAAA,EAElBX,YAAY,EAAEqB;QAAO,CAChB,CACN;QACHE,aAAa,EAAGA,CAAE;UAAEC;QAAQ,CAAC,kBAC5B9B,KAAA;UAAK+B,SAAS,EAAC,oCAAoC;UAAAd,QAAA,gBAClDnB,IAAA,CAACT,sBAAsB;YACtB2C,KAAK,EAAGjD,EAAE,CAAE,QAAS,CAAG;YACxB+C,OAAO,EAAGA;UAAS,CACnB,CAAC,eACFhC,IAAA,CAACP,cAAc,IAAE,CAAC;QAAA,CACd;MACH,CACH;IAAC,CACW;EAAC,CACC,CAAC;AAEpB;AAEA,eAAeU,UAAU","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Button","Dropdown","__","sprintf","useSelect","useState","useMemo","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","default","PostFormatForm","POST_FORMATS","PostFormatCheck","PostPanelRow","store","editorStore","jsx","_jsx","jsxs","_jsxs","PostFormat","postFormat","select","getEditedPostAttribute","_postFormat","activeFormat","find","format","id","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","children","label","ref","contentClassName","focusOnMount","renderToggle","isOpen","onToggle","size","variant","caption","onClick","renderContent","onClose","className","title"],"sources":["@wordpress/editor/src/components/post-format/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Dropdown } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { default as PostFormatForm, POST_FORMATS } from './';\nimport PostFormatCheck from './check';\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the Post Author Panel component.\n *\n * @return {React.ReactNode} The rendered component.\n */\nfunction PostFormat() {\n\tconst { postFormat } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst _postFormat = getEditedPostAttribute( 'format' );\n\t\treturn {\n\t\t\tpostFormat: _postFormat ?? 'standard',\n\t\t};\n\t}, [] );\n\tconst activeFormat = POST_FORMATS.find(\n\t\t( format ) => format.id === postFormat\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\treturn (\n\t\t<PostFormatCheck>\n\t\t\t<PostPanelRow label={ __( 'Format' ) } ref={ setPopoverAnchor }>\n\t\t\t\t<Dropdown\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tcontentClassName=\"editor-post-format__dialog\"\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Current post format.\n\t\t\t\t\t\t\t\t__( 'Change format: %s' ),\n\t\t\t\t\t\t\t\tactiveFormat?.caption\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ activeFormat?.caption }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<div className=\"editor-post-format__dialog-content\">\n\t\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\t\ttitle={ __( 'Format' ) }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PostFormatForm />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostFormatCheck>\n\t);\n}\n\nexport default PostFormat;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,QAAQ,QAAQ,uBAAuB;AACxD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,QAAQ,EAAEC,OAAO,QAAQ,oBAAoB;AACtD,SAASC,oCAAoC,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAExG;AACA;AACA;AACA,SAASC,OAAO,IAAIC,cAAc,EAAEC,YAAY,QAAQ,IAAI;AAC5D,OAAOC,eAAe,MAAM,SAAS;AACrC,OAAOC,YAAY,MAAM,mBAAmB;AAC5C,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,SAASC,UAAUA,CAAA,EAAG;EACrB,MAAM;IAAEC;EAAW,CAAC,GAAGjB,SAAS,CAAIkB,MAAM,IAAM;IAC/C,MAAM;MAAEC;IAAuB,CAAC,GAAGD,MAAM,CAAEP,WAAY,CAAC;IACxD,MAAMS,WAAW,GAAGD,sBAAsB,CAAE,QAAS,CAAC;IACtD,OAAO;MACNF,UAAU,EAAEG,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI;IAC5B,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,YAAY,GAAGd,YAAY,CAACe,IAAI,CACnCC,MAAM,IAAMA,MAAM,CAACC,EAAE,KAAKP,UAC7B,CAAC;;EAED;EACA;EACA,MAAM,CAAEQ,aAAa,EAAEC,gBAAgB,CAAE,GAAGzB,QAAQ,CAAE,IAAK,CAAC;EAC5D;EACA,MAAM0B,YAAY,GAAGzB,OAAO,CAC3B,OAAQ;IACP;IACA;IACA0B,MAAM,EAAEH,aAAa;IACrBI,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC,CAAE,EACH,CAAEN,aAAa,CAChB,CAAC;EACD,oBACCZ,IAAA,CAACL,eAAe;IAAAwB,QAAA,eACfnB,IAAA,CAACJ,YAAY;MAACwB,KAAK,EAAGnC,EAAE,CAAE,QAAS,CAAG;MAACoC,GAAG,EAAGR,gBAAkB;MAAAM,QAAA,eAC9DnB,IAAA,CAAChB,QAAQ;QACR8B,YAAY,EAAGA,YAAc;QAC7BQ,gBAAgB,EAAC,4BAA4B;QAC7CC,YAAY;QACZC,YAAY,EAAGA,CAAE;UAAEC,MAAM;UAAEC;QAAS,CAAC,kBACpC1B,IAAA,CAACjB,MAAM;UACN4C,IAAI,EAAC,SAAS;UACdC,OAAO,EAAC,UAAU;UAClB,iBAAgBH,MAAQ;UACxB,cAAavC,OAAO;UACnB;UACAD,EAAE,CAAE,mBAAoB,CAAC,EACzBuB,YAAY,EAAEqB,OACf,CAAG;UACHC,OAAO,EAAGJ,QAAU;UAAAP,QAAA,EAElBX,YAAY,EAAEqB;QAAO,CAChB,CACN;QACHE,aAAa,EAAGA,CAAE;UAAEC;QAAQ,CAAC,kBAC5B9B,KAAA;UAAK+B,SAAS,EAAC,oCAAoC;UAAAd,QAAA,gBAClDnB,IAAA,CAACT,sBAAsB;YACtB2C,KAAK,EAAGjD,EAAE,CAAE,QAAS,CAAG;YACxB+C,OAAO,EAAGA;UAAS,CACnB,CAAC,eACFhC,IAAA,CAACP,cAAc,IAAE,CAAC;QAAA,CACd;MACH,CACH;IAAC,CACW;EAAC,CACC,CAAC;AAEpB;AAEA,eAAeU,UAAU","ignoreList":[]}
|