@wordpress/editor 13.11.0 → 13.12.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/components/autosave-monitor/index.js +1 -2
- package/build/components/autosave-monitor/index.js.map +1 -1
- package/build/components/deprecated.js +3 -4
- package/build/components/deprecated.js.map +1 -1
- package/build/components/document-outline/check.js +4 -5
- package/build/components/document-outline/check.js.map +1 -1
- package/build/components/document-outline/index.js +12 -16
- package/build/components/document-outline/index.js.map +1 -1
- package/build/components/document-outline/item.js +22 -25
- package/build/components/document-outline/item.js.map +1 -1
- package/build/components/editor-help/help-detail-navigation-screen.native.js +4 -5
- package/build/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
- package/build/components/editor-help/help-get-support-button.native.js +4 -5
- package/build/components/editor-help/help-get-support-button.native.js.map +1 -1
- package/build/components/editor-help/help-section-title.native.js +3 -4
- package/build/components/editor-help/help-section-title.native.js.map +1 -1
- package/build/components/editor-help/help-topic-row.native.js +6 -7
- package/build/components/editor-help/help-topic-row.native.js.map +1 -1
- package/build/components/editor-help/index.native.js +19 -24
- package/build/components/editor-help/index.native.js.map +1 -1
- package/build/components/editor-help/view-sections.native.js +16 -20
- package/build/components/editor-help/view-sections.native.js.map +1 -1
- package/build/components/editor-notices/index.js +12 -19
- package/build/components/editor-notices/index.js.map +1 -1
- package/build/components/editor-snackbars/index.js +3 -6
- package/build/components/editor-snackbars/index.js.map +1 -1
- package/build/components/entities-saved-states/entity-record-item.js +7 -10
- package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build/components/entities-saved-states/entity-type-list.js +6 -7
- package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build/components/entities-saved-states/hooks/use-is-dirty.js +84 -0
- package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -0
- package/build/components/entities-saved-states/index.js +38 -110
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/error-boundary/index.js +4 -5
- package/build/components/error-boundary/index.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/save-shortcut.js +3 -4
- package/build/components/global-keyboard-shortcuts/save-shortcut.js.map +1 -1
- package/build/components/index.js +9 -0
- package/build/components/index.js.map +1 -1
- package/build/components/media-categories/index.js +25 -42
- package/build/components/media-categories/index.js.map +1 -1
- package/build/components/page-attributes/check.js +4 -7
- package/build/components/page-attributes/check.js.map +1 -1
- package/build/components/page-attributes/order.js +5 -8
- package/build/components/page-attributes/order.js.map +1 -1
- package/build/components/page-attributes/parent.js +5 -12
- package/build/components/page-attributes/parent.js.map +1 -1
- package/build/components/post-author/check.js +6 -7
- package/build/components/post-author/check.js.map +1 -1
- package/build/components/post-author/combobox.js +3 -6
- package/build/components/post-author/combobox.js.map +1 -1
- package/build/components/post-author/index.js +1 -1
- package/build/components/post-author/index.js.map +1 -1
- package/build/components/post-comments/index.js +4 -6
- package/build/components/post-comments/index.js.map +1 -1
- package/build/components/post-excerpt/index.js +4 -5
- package/build/components/post-excerpt/index.js.map +1 -1
- package/build/components/post-featured-image/index.js +56 -69
- package/build/components/post-featured-image/index.js.map +1 -1
- package/build/components/post-format/check.js +4 -5
- package/build/components/post-format/check.js.map +1 -1
- package/build/components/post-format/index.js +1 -1
- package/build/components/post-format/index.js.map +1 -1
- package/build/components/post-last-revision/check.js +5 -7
- package/build/components/post-last-revision/check.js.map +1 -1
- package/build/components/post-last-revision/index.js +4 -5
- package/build/components/post-last-revision/index.js.map +1 -1
- package/build/components/post-locked-modal/index.js +1 -1
- package/build/components/post-locked-modal/index.js.map +1 -1
- package/build/components/post-pending-status/check.js +7 -9
- package/build/components/post-pending-status/check.js.map +1 -1
- package/build/components/post-pending-status/index.js +4 -6
- package/build/components/post-pending-status/index.js.map +1 -1
- package/build/components/post-pingbacks/index.js +4 -6
- package/build/components/post-pingbacks/index.js.map +1 -1
- package/build/components/post-preview-button/index.js +8 -12
- package/build/components/post-preview-button/index.js.map +1 -1
- package/build/components/post-publish-button/index.js +6 -13
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-button/label.js +14 -17
- package/build/components/post-publish-button/label.js.map +1 -1
- package/build/components/post-publish-panel/index.js +6 -7
- package/build/components/post-publish-panel/index.js.map +1 -1
- package/build/components/post-publish-panel/maybe-category-panel.js +2 -4
- package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-post-format-panel.js +9 -12
- package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build/components/post-publish-panel/maybe-tags-panel.js +4 -7
- package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build/components/post-publish-panel/postpublish.js +8 -11
- package/build/components/post-publish-panel/postpublish.js.map +1 -1
- package/build/components/post-publish-panel/prepublish.js +5 -6
- package/build/components/post-publish-panel/prepublish.js.map +1 -1
- package/build/components/post-saved-state/index.js +13 -8
- package/build/components/post-saved-state/index.js.map +1 -1
- package/build/components/post-schedule/check.js +6 -8
- package/build/components/post-schedule/check.js.map +1 -1
- package/build/components/post-schedule/index.js +8 -12
- package/build/components/post-schedule/index.js.map +1 -1
- package/build/components/post-schedule/label.js +7 -10
- package/build/components/post-schedule/label.js.map +1 -1
- package/build/components/post-slug/check.js +3 -4
- package/build/components/post-slug/check.js.map +1 -1
- package/build/components/post-slug/index.js +5 -6
- package/build/components/post-slug/index.js.map +1 -1
- package/build/components/post-sticky/check.js +7 -9
- package/build/components/post-sticky/check.js.map +1 -1
- package/build/components/post-sticky/index.js +4 -5
- package/build/components/post-sticky/index.js.map +1 -1
- package/build/components/post-switch-to-draft-button/index.js +6 -7
- package/build/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build/components/post-taxonomies/check.js +6 -7
- package/build/components/post-taxonomies/check.js.map +1 -1
- package/build/components/post-taxonomies/flat-term-selector.js +12 -13
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/hierarchical-term-selector.js +13 -14
- package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/index.js +6 -11
- package/build/components/post-taxonomies/index.js.map +1 -1
- package/build/components/post-taxonomies/most-used-terms.js +5 -6
- package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build/components/post-template/index.js +6 -9
- package/build/components/post-template/index.js.map +1 -1
- package/build/components/post-title/index.js +2 -6
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/post-title/index.native.js +8 -11
- package/build/components/post-title/index.native.js.map +1 -1
- package/build/components/post-trash/check.js +7 -9
- package/build/components/post-trash/check.js.map +1 -1
- package/build/components/post-type-support-check/index.js +5 -6
- package/build/components/post-type-support-check/index.js.map +1 -1
- package/build/components/post-url/check.js +4 -5
- package/build/components/post-url/check.js.map +1 -1
- package/build/components/post-url/index.js +8 -9
- package/build/components/post-url/index.js.map +1 -1
- package/build/components/post-visibility/check.js +6 -7
- package/build/components/post-visibility/check.js.map +1 -1
- package/build/components/post-visibility/index.js +10 -12
- package/build/components/post-visibility/index.js.map +1 -1
- package/build/components/post-visibility/label.js +1 -3
- package/build/components/post-visibility/label.js.map +1 -1
- package/build/components/provider/index.js +9 -10
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +14 -20
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +5 -9
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.native.js +1 -3
- package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
- package/build/components/table-of-contents/index.js +26 -33
- package/build/components/table-of-contents/index.js.map +1 -1
- package/build/components/table-of-contents/panel.js +4 -5
- package/build/components/table-of-contents/panel.js.map +1 -1
- package/build/components/template-validation-notice/index.js +4 -6
- package/build/components/template-validation-notice/index.js.map +1 -1
- package/build/components/theme-support-check/index.js +7 -8
- package/build/components/theme-support-check/index.js.map +1 -1
- package/build/hooks/custom-sources-backwards-compatibility.js +16 -35
- package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build/hooks/default-autocompleters.js +1 -2
- package/build/hooks/default-autocompleters.js.map +1 -1
- package/build/private-apis.js +4 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +147 -179
- package/build/store/actions.js.map +1 -1
- package/build/store/actions.native.js +1 -2
- package/build/store/actions.native.js.map +1 -1
- package/build/store/reducer.js +14 -44
- package/build/store/reducer.js.map +1 -1
- package/build/store/reducer.native.js +3 -12
- package/build/store/reducer.native.js.map +1 -1
- package/build/store/selectors.js +23 -54
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils/notice-builder.js +3 -3
- package/build/store/utils/notice-builder.js.map +1 -1
- package/build/utils/media-upload/index.js +11 -15
- package/build/utils/media-upload/index.js.map +1 -1
- package/build/utils/terms.js +3 -6
- package/build/utils/terms.js.map +1 -1
- package/build-module/components/autosave-monitor/index.js +1 -2
- package/build-module/components/autosave-monitor/index.js.map +1 -1
- package/build-module/components/deprecated.js +3 -4
- package/build-module/components/deprecated.js.map +1 -1
- package/build-module/components/document-outline/check.js +4 -5
- package/build-module/components/document-outline/check.js.map +1 -1
- package/build-module/components/document-outline/index.js +12 -16
- package/build-module/components/document-outline/index.js.map +1 -1
- package/build-module/components/document-outline/item.js +22 -25
- package/build-module/components/document-outline/item.js.map +1 -1
- package/build-module/components/editor-help/help-detail-navigation-screen.native.js +4 -5
- package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
- package/build-module/components/editor-help/help-get-support-button.native.js +4 -5
- package/build-module/components/editor-help/help-get-support-button.native.js.map +1 -1
- package/build-module/components/editor-help/help-section-title.native.js +3 -4
- package/build-module/components/editor-help/help-section-title.native.js.map +1 -1
- package/build-module/components/editor-help/help-topic-row.native.js +6 -7
- package/build-module/components/editor-help/help-topic-row.native.js.map +1 -1
- package/build-module/components/editor-help/index.native.js +19 -23
- package/build-module/components/editor-help/index.native.js.map +1 -1
- package/build-module/components/editor-help/view-sections.native.js +16 -20
- package/build-module/components/editor-help/view-sections.native.js.map +1 -1
- package/build-module/components/editor-notices/index.js +12 -19
- package/build-module/components/editor-notices/index.js.map +1 -1
- package/build-module/components/editor-snackbars/index.js +3 -6
- package/build-module/components/editor-snackbars/index.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-record-item.js +7 -10
- package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-type-list.js +6 -7
- 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 +70 -0
- package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -0
- package/build-module/components/entities-saved-states/index.js +39 -113
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/error-boundary/index.js +4 -5
- package/build-module/components/error-boundary/index.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/save-shortcut.js +3 -4
- package/build-module/components/global-keyboard-shortcuts/save-shortcut.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/media-categories/index.js +25 -42
- package/build-module/components/media-categories/index.js.map +1 -1
- package/build-module/components/page-attributes/check.js +4 -7
- package/build-module/components/page-attributes/check.js.map +1 -1
- package/build-module/components/page-attributes/order.js +5 -8
- package/build-module/components/page-attributes/order.js.map +1 -1
- package/build-module/components/page-attributes/parent.js +5 -12
- package/build-module/components/page-attributes/parent.js.map +1 -1
- package/build-module/components/post-author/check.js +6 -7
- package/build-module/components/post-author/check.js.map +1 -1
- package/build-module/components/post-author/combobox.js +3 -6
- package/build-module/components/post-author/combobox.js.map +1 -1
- package/build-module/components/post-author/index.js +1 -1
- package/build-module/components/post-author/index.js.map +1 -1
- package/build-module/components/post-comments/index.js +4 -6
- package/build-module/components/post-comments/index.js.map +1 -1
- package/build-module/components/post-excerpt/index.js +4 -5
- package/build-module/components/post-excerpt/index.js.map +1 -1
- package/build-module/components/post-featured-image/index.js +56 -69
- package/build-module/components/post-featured-image/index.js.map +1 -1
- package/build-module/components/post-format/check.js +4 -5
- package/build-module/components/post-format/check.js.map +1 -1
- package/build-module/components/post-format/index.js +1 -1
- package/build-module/components/post-format/index.js.map +1 -1
- package/build-module/components/post-last-revision/check.js +5 -7
- package/build-module/components/post-last-revision/check.js.map +1 -1
- package/build-module/components/post-last-revision/index.js +4 -5
- package/build-module/components/post-last-revision/index.js.map +1 -1
- package/build-module/components/post-locked-modal/index.js +1 -1
- package/build-module/components/post-locked-modal/index.js.map +1 -1
- package/build-module/components/post-pending-status/check.js +7 -9
- package/build-module/components/post-pending-status/check.js.map +1 -1
- package/build-module/components/post-pending-status/index.js +4 -6
- package/build-module/components/post-pending-status/index.js.map +1 -1
- package/build-module/components/post-pingbacks/index.js +4 -6
- package/build-module/components/post-pingbacks/index.js.map +1 -1
- package/build-module/components/post-preview-button/index.js +8 -12
- package/build-module/components/post-preview-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/index.js +6 -13
- package/build-module/components/post-publish-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/label.js +14 -17
- package/build-module/components/post-publish-button/label.js.map +1 -1
- package/build-module/components/post-publish-panel/index.js +6 -7
- package/build-module/components/post-publish-panel/index.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-category-panel.js +2 -4
- 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 +9 -12
- package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-tags-panel.js +4 -7
- package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
- package/build-module/components/post-publish-panel/postpublish.js +8 -11
- package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
- package/build-module/components/post-publish-panel/prepublish.js +5 -6
- package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
- package/build-module/components/post-saved-state/index.js +13 -8
- package/build-module/components/post-saved-state/index.js.map +1 -1
- package/build-module/components/post-schedule/check.js +6 -8
- package/build-module/components/post-schedule/check.js.map +1 -1
- package/build-module/components/post-schedule/index.js +8 -12
- package/build-module/components/post-schedule/index.js.map +1 -1
- package/build-module/components/post-schedule/label.js +7 -10
- package/build-module/components/post-schedule/label.js.map +1 -1
- package/build-module/components/post-slug/check.js +3 -4
- package/build-module/components/post-slug/check.js.map +1 -1
- package/build-module/components/post-slug/index.js +5 -6
- package/build-module/components/post-slug/index.js.map +1 -1
- package/build-module/components/post-sticky/check.js +7 -9
- package/build-module/components/post-sticky/check.js.map +1 -1
- package/build-module/components/post-sticky/index.js +4 -5
- package/build-module/components/post-sticky/index.js.map +1 -1
- package/build-module/components/post-switch-to-draft-button/index.js +6 -7
- package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build-module/components/post-taxonomies/check.js +6 -7
- package/build-module/components/post-taxonomies/check.js.map +1 -1
- package/build-module/components/post-taxonomies/flat-term-selector.js +12 -13
- package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js +13 -14
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/index.js +6 -11
- package/build-module/components/post-taxonomies/index.js.map +1 -1
- package/build-module/components/post-taxonomies/most-used-terms.js +5 -6
- package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build-module/components/post-template/index.js +6 -9
- package/build-module/components/post-template/index.js.map +1 -1
- package/build-module/components/post-title/index.js +2 -6
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/post-title/index.native.js +8 -11
- package/build-module/components/post-title/index.native.js.map +1 -1
- package/build-module/components/post-trash/check.js +7 -9
- package/build-module/components/post-trash/check.js.map +1 -1
- package/build-module/components/post-type-support-check/index.js +5 -6
- package/build-module/components/post-type-support-check/index.js.map +1 -1
- package/build-module/components/post-url/check.js +4 -5
- package/build-module/components/post-url/check.js.map +1 -1
- package/build-module/components/post-url/index.js +8 -9
- package/build-module/components/post-url/index.js.map +1 -1
- package/build-module/components/post-visibility/check.js +6 -7
- package/build-module/components/post-visibility/check.js.map +1 -1
- package/build-module/components/post-visibility/index.js +10 -12
- package/build-module/components/post-visibility/index.js.map +1 -1
- package/build-module/components/post-visibility/label.js +1 -3
- package/build-module/components/post-visibility/label.js.map +1 -1
- package/build-module/components/provider/index.js +9 -10
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +14 -20
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +5 -9
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.native.js +1 -3
- package/build-module/components/provider/use-block-editor-settings.native.js.map +1 -1
- package/build-module/components/table-of-contents/index.js +26 -33
- package/build-module/components/table-of-contents/index.js.map +1 -1
- package/build-module/components/table-of-contents/panel.js +4 -5
- package/build-module/components/table-of-contents/panel.js.map +1 -1
- package/build-module/components/template-validation-notice/index.js +4 -6
- package/build-module/components/template-validation-notice/index.js.map +1 -1
- package/build-module/components/theme-support-check/index.js +7 -8
- package/build-module/components/theme-support-check/index.js.map +1 -1
- package/build-module/hooks/custom-sources-backwards-compatibility.js +16 -35
- package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build-module/hooks/default-autocompleters.js +1 -2
- package/build-module/hooks/default-autocompleters.js.map +1 -1
- package/build-module/private-apis.js +3 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +147 -179
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/actions.native.js +1 -2
- package/build-module/store/actions.native.js.map +1 -1
- package/build-module/store/reducer.js +14 -44
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/reducer.native.js +3 -12
- package/build-module/store/reducer.native.js.map +1 -1
- package/build-module/store/selectors.js +21 -54
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils/notice-builder.js +3 -3
- package/build-module/store/utils/notice-builder.js.map +1 -1
- package/build-module/utils/media-upload/index.js +11 -15
- package/build-module/utils/media-upload/index.js.map +1 -1
- package/build-module/utils/terms.js +3 -6
- package/build-module/utils/terms.js.map +1 -1
- package/package.json +30 -30
- package/src/components/entities-saved-states/hooks/use-is-dirty.js +85 -0
- package/src/components/entities-saved-states/index.js +25 -106
- package/src/components/entities-saved-states/test/use-is-dirty.js +94 -0
- package/src/components/index.js +1 -0
- package/src/components/post-saved-state/index.js +6 -0
- package/src/components/post-title/index.js +2 -1
- package/src/private-apis.js +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/page-attributes/parent.js"],"names":["removeAccents","__","ComboboxControl","debounce","useState","useMemo","useSelect","useDispatch","decodeEntities","store","coreStore","buildTermsTree","editorStore","getTitle","post","title","rendered","id","getItemPriority","name","searchValue","normalizedName","toLowerCase","normalizedSearch","startsWith","length","Infinity","PageAttributesParent","editPost","fieldValue","setFieldValue","isHierarchical","parentPost","parentPostId","items","postType","select","getPostType","getEntityRecords","getEntityRecord","getCurrentPostId","getEditedPostAttribute","postTypeSlug","pageId","pType","postId","postIsHierarchical","hierarchical","query","per_page","exclude","parent_exclude","orderby","order","_fields","search","parentPageLabel","labels","parent_item_colon","pageItems","parentOptions","getOptionsFromTree","tree","level","mappedNodes","map","treeNode","value","label","repeat","rawName","children","sortedNodes","sort","a","b","priorityA","priorityB","flat","item","parent","opts","optsHasParent","find","unshift","handleKeydown","inputValue","handleChange","selectedPostId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ComboboxControl } from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { useState, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\nfunction getTitle( post ) {\n\treturn post?.title?.rendered\n\t\t? decodeEntities( post.title.rendered )\n\t\t: `#${ post.id } (${ __( 'no title' ) })`;\n}\n\nexport const getItemPriority = ( name, searchValue ) => {\n\tconst normalizedName = removeAccents( name || '' ).toLowerCase();\n\tconst normalizedSearch = removeAccents( searchValue || '' ).toLowerCase();\n\tif ( normalizedName === normalizedSearch ) {\n\t\treturn 0;\n\t}\n\n\tif ( normalizedName.startsWith( normalizedSearch ) ) {\n\t\treturn normalizedName.length;\n\t}\n\n\treturn Infinity;\n};\n\nexport function PageAttributesParent() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ fieldValue, setFieldValue ] = useState( false );\n\tconst { isHierarchical, parentPost, parentPostId, items, postType } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getPostType, getEntityRecords, getEntityRecord } =\n\t\t\t\t\tselect( coreStore );\n\t\t\t\tconst { getCurrentPostId, getEditedPostAttribute } =\n\t\t\t\t\tselect( editorStore );\n\t\t\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\t\t\tconst pageId = getEditedPostAttribute( 'parent' );\n\t\t\t\tconst pType = getPostType( postTypeSlug );\n\t\t\t\tconst postId = getCurrentPostId();\n\t\t\t\tconst postIsHierarchical = pType?.hierarchical ?? false;\n\t\t\t\tconst query = {\n\t\t\t\t\tper_page: 100,\n\t\t\t\t\texclude: postId,\n\t\t\t\t\tparent_exclude: postId,\n\t\t\t\t\torderby: 'menu_order',\n\t\t\t\t\torder: 'asc',\n\t\t\t\t\t_fields: 'id,title,parent',\n\t\t\t\t};\n\n\t\t\t\t// Perform a search when the field is changed.\n\t\t\t\tif ( !! fieldValue ) {\n\t\t\t\t\tquery.search = fieldValue;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tisHierarchical: postIsHierarchical,\n\t\t\t\t\tparentPostId: pageId,\n\t\t\t\t\tparentPost: pageId\n\t\t\t\t\t\t? getEntityRecord( 'postType', postTypeSlug, pageId )\n\t\t\t\t\t\t: null,\n\t\t\t\t\titems: postIsHierarchical\n\t\t\t\t\t\t? getEntityRecords( 'postType', postTypeSlug, query )\n\t\t\t\t\t\t: [],\n\t\t\t\t\tpostType: pType,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ fieldValue ]\n\t\t);\n\n\tconst parentPageLabel = postType?.labels?.parent_item_colon;\n\tconst pageItems = items || [];\n\n\tconst parentOptions = useMemo( () => {\n\t\tconst getOptionsFromTree = ( tree, level = 0 ) => {\n\t\t\tconst mappedNodes = tree.map( ( treeNode ) => [\n\t\t\t\t{\n\t\t\t\t\tvalue: treeNode.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t'— '.repeat( level ) + decodeEntities( treeNode.name ),\n\t\t\t\t\trawName: treeNode.name,\n\t\t\t\t},\n\t\t\t\t...getOptionsFromTree( treeNode.children || [], level + 1 ),\n\t\t\t] );\n\n\t\t\tconst sortedNodes = mappedNodes.sort( ( [ a ], [ b ] ) => {\n\t\t\t\tconst priorityA = getItemPriority( a.rawName, fieldValue );\n\t\t\t\tconst priorityB = getItemPriority( b.rawName, fieldValue );\n\t\t\t\treturn priorityA >= priorityB ? 1 : -1;\n\t\t\t} );\n\n\t\t\treturn sortedNodes.flat();\n\t\t};\n\n\t\tlet tree = pageItems.map( ( item ) => ( {\n\t\t\tid: item.id,\n\t\t\tparent: item.parent,\n\t\t\tname: getTitle( item ),\n\t\t} ) );\n\n\t\t// Only build a hierarchical tree when not searching.\n\t\tif ( ! fieldValue ) {\n\t\t\ttree = buildTermsTree( tree );\n\t\t}\n\n\t\tconst opts = getOptionsFromTree( tree );\n\n\t\t// Ensure the current parent is in the options list.\n\t\tconst optsHasParent = opts.find(\n\t\t\t( item ) => item.value === parentPostId\n\t\t);\n\t\tif ( parentPost && ! optsHasParent ) {\n\t\t\topts.unshift( {\n\t\t\t\tvalue: parentPostId,\n\t\t\t\tlabel: getTitle( parentPost ),\n\t\t\t} );\n\t\t}\n\t\treturn opts;\n\t}, [ pageItems, fieldValue ] );\n\n\tif ( ! isHierarchical || ! parentPageLabel ) {\n\t\treturn null;\n\t}\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {Object} selectedPostId The selected Author.\n\t */\n\tconst handleChange = ( selectedPostId ) => {\n\t\teditPost( { parent: selectedPostId } );\n\t};\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\tlabel={ parentPageLabel }\n\t\t\tvalue={ parentPostId }\n\t\t\toptions={ parentOptions }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleChange }\n\t\t/>\n\t);\n}\n\nexport default PageAttributesParent;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/page-attributes/parent.js"],"names":["removeAccents","__","ComboboxControl","debounce","useState","useMemo","useSelect","useDispatch","decodeEntities","store","coreStore","buildTermsTree","editorStore","getTitle","post","title","rendered","id","getItemPriority","name","searchValue","normalizedName","toLowerCase","normalizedSearch","startsWith","length","Infinity","PageAttributesParent","editPost","fieldValue","setFieldValue","isHierarchical","parentPost","parentPostId","items","postType","select","getPostType","getEntityRecords","getEntityRecord","getCurrentPostId","getEditedPostAttribute","postTypeSlug","pageId","pType","postId","postIsHierarchical","hierarchical","query","per_page","exclude","parent_exclude","orderby","order","_fields","search","parentPageLabel","labels","parent_item_colon","pageItems","parentOptions","getOptionsFromTree","tree","level","mappedNodes","map","treeNode","value","label","repeat","rawName","children","sortedNodes","sort","a","b","priorityA","priorityB","flat","item","parent","opts","optsHasParent","find","unshift","handleKeydown","inputValue","handleChange","selectedPostId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ComboboxControl } from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { useState, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\nfunction getTitle( post ) {\n\treturn post?.title?.rendered\n\t\t? decodeEntities( post.title.rendered )\n\t\t: `#${ post.id } (${ __( 'no title' ) })`;\n}\n\nexport const getItemPriority = ( name, searchValue ) => {\n\tconst normalizedName = removeAccents( name || '' ).toLowerCase();\n\tconst normalizedSearch = removeAccents( searchValue || '' ).toLowerCase();\n\tif ( normalizedName === normalizedSearch ) {\n\t\treturn 0;\n\t}\n\n\tif ( normalizedName.startsWith( normalizedSearch ) ) {\n\t\treturn normalizedName.length;\n\t}\n\n\treturn Infinity;\n};\n\nexport function PageAttributesParent() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ fieldValue, setFieldValue ] = useState( false );\n\tconst { isHierarchical, parentPost, parentPostId, items, postType } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getPostType, getEntityRecords, getEntityRecord } =\n\t\t\t\t\tselect( coreStore );\n\t\t\t\tconst { getCurrentPostId, getEditedPostAttribute } =\n\t\t\t\t\tselect( editorStore );\n\t\t\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\t\t\tconst pageId = getEditedPostAttribute( 'parent' );\n\t\t\t\tconst pType = getPostType( postTypeSlug );\n\t\t\t\tconst postId = getCurrentPostId();\n\t\t\t\tconst postIsHierarchical = pType?.hierarchical ?? false;\n\t\t\t\tconst query = {\n\t\t\t\t\tper_page: 100,\n\t\t\t\t\texclude: postId,\n\t\t\t\t\tparent_exclude: postId,\n\t\t\t\t\torderby: 'menu_order',\n\t\t\t\t\torder: 'asc',\n\t\t\t\t\t_fields: 'id,title,parent',\n\t\t\t\t};\n\n\t\t\t\t// Perform a search when the field is changed.\n\t\t\t\tif ( !! fieldValue ) {\n\t\t\t\t\tquery.search = fieldValue;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tisHierarchical: postIsHierarchical,\n\t\t\t\t\tparentPostId: pageId,\n\t\t\t\t\tparentPost: pageId\n\t\t\t\t\t\t? getEntityRecord( 'postType', postTypeSlug, pageId )\n\t\t\t\t\t\t: null,\n\t\t\t\t\titems: postIsHierarchical\n\t\t\t\t\t\t? getEntityRecords( 'postType', postTypeSlug, query )\n\t\t\t\t\t\t: [],\n\t\t\t\t\tpostType: pType,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ fieldValue ]\n\t\t);\n\n\tconst parentPageLabel = postType?.labels?.parent_item_colon;\n\tconst pageItems = items || [];\n\n\tconst parentOptions = useMemo( () => {\n\t\tconst getOptionsFromTree = ( tree, level = 0 ) => {\n\t\t\tconst mappedNodes = tree.map( ( treeNode ) => [\n\t\t\t\t{\n\t\t\t\t\tvalue: treeNode.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t'— '.repeat( level ) + decodeEntities( treeNode.name ),\n\t\t\t\t\trawName: treeNode.name,\n\t\t\t\t},\n\t\t\t\t...getOptionsFromTree( treeNode.children || [], level + 1 ),\n\t\t\t] );\n\n\t\t\tconst sortedNodes = mappedNodes.sort( ( [ a ], [ b ] ) => {\n\t\t\t\tconst priorityA = getItemPriority( a.rawName, fieldValue );\n\t\t\t\tconst priorityB = getItemPriority( b.rawName, fieldValue );\n\t\t\t\treturn priorityA >= priorityB ? 1 : -1;\n\t\t\t} );\n\n\t\t\treturn sortedNodes.flat();\n\t\t};\n\n\t\tlet tree = pageItems.map( ( item ) => ( {\n\t\t\tid: item.id,\n\t\t\tparent: item.parent,\n\t\t\tname: getTitle( item ),\n\t\t} ) );\n\n\t\t// Only build a hierarchical tree when not searching.\n\t\tif ( ! fieldValue ) {\n\t\t\ttree = buildTermsTree( tree );\n\t\t}\n\n\t\tconst opts = getOptionsFromTree( tree );\n\n\t\t// Ensure the current parent is in the options list.\n\t\tconst optsHasParent = opts.find(\n\t\t\t( item ) => item.value === parentPostId\n\t\t);\n\t\tif ( parentPost && ! optsHasParent ) {\n\t\t\topts.unshift( {\n\t\t\t\tvalue: parentPostId,\n\t\t\t\tlabel: getTitle( parentPost ),\n\t\t\t} );\n\t\t}\n\t\treturn opts;\n\t}, [ pageItems, fieldValue ] );\n\n\tif ( ! isHierarchical || ! parentPageLabel ) {\n\t\treturn null;\n\t}\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {Object} selectedPostId The selected Author.\n\t */\n\tconst handleChange = ( selectedPostId ) => {\n\t\teditPost( { parent: selectedPostId } );\n\t};\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\tlabel={ parentPageLabel }\n\t\t\tvalue={ parentPostId }\n\t\t\toptions={ parentOptions }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleChange }\n\t\t/>\n\t);\n}\n\nexport default PageAttributesParent;\n"]}
|
|
@@ -12,21 +12,20 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
12
12
|
import PostTypeSupportCheck from '../post-type-support-check';
|
|
13
13
|
import { store as editorStore } from '../../store';
|
|
14
14
|
import { AUTHORS_QUERY } from './constants';
|
|
15
|
-
export default function PostAuthorCheck(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} = _ref;
|
|
15
|
+
export default function PostAuthorCheck({
|
|
16
|
+
children
|
|
17
|
+
}) {
|
|
19
18
|
const {
|
|
20
19
|
hasAssignAuthorAction,
|
|
21
20
|
hasAuthors
|
|
22
21
|
} = useSelect(select => {
|
|
23
|
-
var _post$_links$wpActio
|
|
22
|
+
var _post$_links$wpActio;
|
|
24
23
|
|
|
25
24
|
const post = select(editorStore).getCurrentPost();
|
|
26
25
|
const authors = select(coreStore).getUsers(AUTHORS_QUERY);
|
|
27
26
|
return {
|
|
28
|
-
hasAssignAuthorAction: (_post$_links$wpActio =
|
|
29
|
-
hasAuthors:
|
|
27
|
+
hasAssignAuthorAction: (_post$_links$wpActio = post._links?.['wp:action-assign-author']) !== null && _post$_links$wpActio !== void 0 ? _post$_links$wpActio : false,
|
|
28
|
+
hasAuthors: authors?.length >= 1
|
|
30
29
|
};
|
|
31
30
|
}, []);
|
|
32
31
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-author/check.js"],"names":["useSelect","store","coreStore","PostTypeSupportCheck","editorStore","AUTHORS_QUERY","PostAuthorCheck","children","hasAssignAuthorAction","hasAuthors","select","post","getCurrentPost","authors","getUsers","_links","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AACA,SAASF,KAAK,IAAIG,WAAlB,QAAqC,aAArC;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAe,SAASC,eAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-author/check.js"],"names":["useSelect","store","coreStore","PostTypeSupportCheck","editorStore","AUTHORS_QUERY","PostAuthorCheck","children","hasAssignAuthorAction","hasAuthors","select","post","getCurrentPost","authors","getUsers","_links","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AACA,SAASF,KAAK,IAAIG,WAAlB,QAAqC,aAArC;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAe,SAASC,eAAT,CAA0B;AAAEC,EAAAA;AAAF,CAA1B,EAAyC;AACvD,QAAM;AAAEC,IAAAA,qBAAF;AAAyBC,IAAAA;AAAzB,MAAwCT,SAAS,CAAIU,MAAF,IAAc;AAAA;;AACtE,UAAMC,IAAI,GAAGD,MAAM,CAAEN,WAAF,CAAN,CAAsBQ,cAAtB,EAAb;AACA,UAAMC,OAAO,GAAGH,MAAM,CAAER,SAAF,CAAN,CAAoBY,QAApB,CAA8BT,aAA9B,CAAhB;AACA,WAAO;AACNG,MAAAA,qBAAqB,0BACpBG,IAAI,CAACI,MAAL,GAAe,yBAAf,CADoB,uEAC0B,KAFzC;AAGNN,MAAAA,UAAU,EAAEI,OAAO,EAAEG,MAAT,IAAmB;AAHzB,KAAP;AAKA,GARsD,EAQpD,EARoD,CAAvD;;AAUA,MAAK,CAAER,qBAAF,IAA2B,CAAEC,UAAlC,EAA+C;AAC9C,WAAO,IAAP;AACA;;AAED,SACC,cAAC,oBAAD;AAAsB,IAAA,WAAW,EAAC;AAAlC,KACGF,QADH,CADD;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY } from './constants';\n\nexport default function PostAuthorCheck( { children } ) {\n\tconst { hasAssignAuthorAction, hasAuthors } = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\t\treturn {\n\t\t\thasAssignAuthorAction:\n\t\t\t\tpost._links?.[ 'wp:action-assign-author' ] ?? false,\n\t\t\thasAuthors: authors?.length >= 1,\n\t\t};\n\t}, [] );\n\n\tif ( ! hasAssignAuthorAction || ! hasAuthors ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"author\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n"]}
|
|
@@ -61,12 +61,9 @@ function PostAuthorCombobox() {
|
|
|
61
61
|
};
|
|
62
62
|
}); // Ensure the current author is included in the dropdown list.
|
|
63
63
|
|
|
64
|
-
const foundAuthor = fetchedAuthors.findIndex(
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
} = _ref;
|
|
68
|
-
return (postAuthor === null || postAuthor === void 0 ? void 0 : postAuthor.id) === value;
|
|
69
|
-
});
|
|
64
|
+
const foundAuthor = fetchedAuthors.findIndex(({
|
|
65
|
+
value
|
|
66
|
+
}) => postAuthor?.id === value);
|
|
70
67
|
|
|
71
68
|
if (foundAuthor < 0 && postAuthor) {
|
|
72
69
|
return [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-author/combobox.js"],"names":["debounce","useState","useMemo","useSelect","useDispatch","__","ComboboxControl","decodeEntities","store","coreStore","editorStore","AUTHORS_QUERY","PostAuthorCombobox","fieldValue","setFieldValue","authorId","isLoading","authors","postAuthor","select","getUser","getUsers","isResolving","getEditedPostAttribute","author","context","query","search","editPost","authorOptions","fetchedAuthors","map","value","id","label","name","foundAuthor","findIndex","handleSelect","postAuthorId","handleKeydown","inputValue"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,oBAAzB;AACA,SAASC,QAAT,EAAmBC,OAAnB,QAAkC,oBAAlC;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,eAAT,QAAgC,uBAAhC;AACA,SAASC,cAAT,QAA+B,0BAA/B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASD,KAAK,IAAIE,WAAlB,QAAqC,aAArC;AACA,SAASC,aAAT,QAA8B,aAA9B;;AAEA,SAASC,kBAAT,GAA8B;AAC7B,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgCb,QAAQ,EAA9C;AAEA,QAAM;AAAEc,IAAAA,QAAF;AAAYC,IAAAA,SAAZ;AAAuBC,IAAAA,OAAvB;AAAgCC,IAAAA;AAAhC,MAA+Cf,SAAS,CAC3DgB,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA,QAAX;AAAqBC,MAAAA;AAArB,QAAqCH,MAAM,CAAEV,SAAF,CAAjD;AACA,UAAM;AAAEc,MAAAA;AAAF,QAA6BJ,MAAM,CAAET,WAAF,CAAzC;AACA,UAAMc,MAAM,GAAGJ,OAAO,CAAEG,sBAAsB,CAAE,QAAF,CAAxB,EAAsC;AAC3DE,MAAAA,OAAO,EAAE;AADkD,KAAtC,CAAtB;AAGA,UAAMC,KAAK,GAAG,EAAE,GAAGf;AAAL,KAAd;;AAEA,QAAKE,UAAL,EAAkB;AACjBa,MAAAA,KAAK,CAACC,MAAN,GAAed,UAAf;AACA;;AAED,WAAO;AACNE,MAAAA,QAAQ,EAAEQ,sBAAsB,CAAE,QAAF,CAD1B;AAENL,MAAAA,UAAU,EAAEM,MAFN;AAGNP,MAAAA,OAAO,EAAEI,QAAQ,CAAEK,KAAF,CAHX;AAINV,MAAAA,SAAS,EAAEM,WAAW,CAAE,MAAF,EAAU,UAAV,EAAsB,CAAEI,KAAF,CAAtB;AAJhB,KAAP;AAMA,GAnB4D,EAoB7D,CAAEb,UAAF,CApB6D,CAA9D;AAsBA,QAAM;AAAEe,IAAAA;AAAF,MAAexB,WAAW,CAAEM,WAAF,CAAhC;AAEA,QAAMmB,aAAa,GAAG3B,OAAO,CAAE,MAAM;AACpC,UAAM4B,cAAc,GAAG,CAAEb,OAAF,aAAEA,OAAF,cAAEA,OAAF,GAAa,EAAb,EAAkBc,GAAlB,CAAyBP,MAAF,IAAc;AAC3D,aAAO;AACNQ,QAAAA,KAAK,EAAER,MAAM,CAACS,EADR;AAENC,QAAAA,KAAK,EAAE3B,cAAc,CAAEiB,MAAM,CAACW,IAAT;AAFf,OAAP;AAIA,KALsB,CAAvB,CADoC,CAQpC;;AACA,UAAMC,WAAW,GAAGN,cAAc,CAACO,SAAf,CACnB
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-author/combobox.js"],"names":["debounce","useState","useMemo","useSelect","useDispatch","__","ComboboxControl","decodeEntities","store","coreStore","editorStore","AUTHORS_QUERY","PostAuthorCombobox","fieldValue","setFieldValue","authorId","isLoading","authors","postAuthor","select","getUser","getUsers","isResolving","getEditedPostAttribute","author","context","query","search","editPost","authorOptions","fetchedAuthors","map","value","id","label","name","foundAuthor","findIndex","handleSelect","postAuthorId","handleKeydown","inputValue"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useState, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { ComboboxControl } from '@wordpress/components';\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 } from './constants';\n\nfunction PostAuthorCombobox() {\n\tconst [ fieldValue, setFieldValue ] = useState();\n\n\tconst { authorId, isLoading, authors, postAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUser, getUsers, isResolving } = select( coreStore );\n\t\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\t\tconst author = getUser( getEditedPostAttribute( 'author' ), {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\t\tconst query = { ...AUTHORS_QUERY };\n\n\t\t\tif ( fieldValue ) {\n\t\t\t\tquery.search = fieldValue;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tauthorId: getEditedPostAttribute( 'author' ),\n\t\t\t\tpostAuthor: author,\n\t\t\t\tauthors: getUsers( query ),\n\t\t\t\tisLoading: isResolving( 'core', 'getUsers', [ query ] ),\n\t\t\t};\n\t\t},\n\t\t[ fieldValue ]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\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\tif ( foundAuthor < 0 && postAuthor ) {\n\t\t\treturn [\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\t...fetchedAuthors,\n\t\t\t];\n\t\t}\n\n\t\treturn fetchedAuthors;\n\t}, [ authors, postAuthor ] );\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {number} postAuthorId The selected Author.\n\t */\n\tconst handleSelect = ( postAuthorId ) => {\n\t\tif ( ! postAuthorId ) {\n\t\t\treturn;\n\t\t}\n\t\teditPost( { author: postAuthorId } );\n\t};\n\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\tif ( ! postAuthor ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Author' ) }\n\t\t\toptions={ authorOptions }\n\t\t\tvalue={ authorId }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleSelect }\n\t\t\tisLoading={ isLoading }\n\t\t\tallowReset={ false }\n\t\t/>\n\t);\n}\n\nexport default PostAuthorCombobox;\n"]}
|
|
@@ -17,7 +17,7 @@ const minimumUsersForCombobox = 25;
|
|
|
17
17
|
function PostAuthor() {
|
|
18
18
|
const showCombobox = useSelect(select => {
|
|
19
19
|
const authors = select(coreStore).getUsers(AUTHORS_QUERY);
|
|
20
|
-
return
|
|
20
|
+
return authors?.length >= minimumUsersForCombobox;
|
|
21
21
|
}, []);
|
|
22
22
|
|
|
23
23
|
if (showCombobox) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-author/index.js"],"names":["useSelect","store","coreStore","PostAuthorCombobox","PostAuthorSelect","AUTHORS_QUERY","minimumUsersForCombobox","PostAuthor","showCombobox","select","authors","getUsers","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,YAA/B;AACA,OAAOC,gBAAP,MAA6B,UAA7B;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,MAAMC,uBAAuB,GAAG,EAAhC;;AAEA,SAASC,UAAT,GAAsB;AACrB,QAAMC,YAAY,GAAGR,SAAS,CAAIS,MAAF,IAAc;AAC7C,UAAMC,OAAO,GAAGD,MAAM,CAAEP,SAAF,CAAN,CAAoBS,QAApB,CAA8BN,aAA9B,CAAhB;AAEA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-author/index.js"],"names":["useSelect","store","coreStore","PostAuthorCombobox","PostAuthorSelect","AUTHORS_QUERY","minimumUsersForCombobox","PostAuthor","showCombobox","select","authors","getUsers","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,YAA/B;AACA,OAAOC,gBAAP,MAA6B,UAA7B;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,MAAMC,uBAAuB,GAAG,EAAhC;;AAEA,SAASC,UAAT,GAAsB;AACrB,QAAMC,YAAY,GAAGR,SAAS,CAAIS,MAAF,IAAc;AAC7C,UAAMC,OAAO,GAAGD,MAAM,CAAEP,SAAF,CAAN,CAAoBS,QAApB,CAA8BN,aAA9B,CAAhB;AAEA,WAAOK,OAAO,EAAEE,MAAT,IAAmBN,uBAA1B;AACA,GAJ6B,EAI3B,EAJ2B,CAA9B;;AAMA,MAAKE,YAAL,EAAoB;AACnB,WAAO,cAAC,kBAAD,OAAP;AACA;;AACD,SAAO,cAAC,gBAAD,OAAP;AACA;;AAED,eAAeD,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostAuthorCombobox from './combobox';\nimport PostAuthorSelect from './select';\nimport { AUTHORS_QUERY } from './constants';\n\nconst minimumUsersForCombobox = 25;\n\nfunction PostAuthor() {\n\tconst showCombobox = useSelect( ( select ) => {\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\n\t\treturn authors?.length >= minimumUsersForCombobox;\n\t}, [] );\n\n\tif ( showCombobox ) {\n\t\treturn <PostAuthorCombobox />;\n\t}\n\treturn <PostAuthorSelect />;\n}\n\nexport default PostAuthor;\n"]}
|
|
@@ -13,12 +13,10 @@ import { withSelect, withDispatch } from '@wordpress/data';
|
|
|
13
13
|
|
|
14
14
|
import { store as editorStore } from '../../store';
|
|
15
15
|
|
|
16
|
-
function PostComments(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
} = _ref;
|
|
21
|
-
|
|
16
|
+
function PostComments({
|
|
17
|
+
commentStatus = 'open',
|
|
18
|
+
...props
|
|
19
|
+
}) {
|
|
22
20
|
const onToggleComments = () => props.editPost({
|
|
23
21
|
comment_status: commentStatus === 'open' ? 'closed' : 'open'
|
|
24
22
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-comments/index.js"],"names":["__","CheckboxControl","compose","withSelect","withDispatch","store","editorStore","PostComments","commentStatus","props","onToggleComments","editPost","comment_status","select","getEditedPostAttribute","dispatch"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,eAAT,QAAgC,uBAAhC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,YAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-comments/index.js"],"names":["__","CheckboxControl","compose","withSelect","withDispatch","store","editorStore","PostComments","commentStatus","props","onToggleComments","editPost","comment_status","select","getEditedPostAttribute","dispatch"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,eAAT,QAAgC,uBAAhC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,YAAT,CAAuB;AAAEC,EAAAA,aAAa,GAAG,MAAlB;AAA0B,KAAGC;AAA7B,CAAvB,EAA8D;AAC7D,QAAMC,gBAAgB,GAAG,MACxBD,KAAK,CAACE,QAAN,CAAgB;AACfC,IAAAA,cAAc,EAAEJ,aAAa,KAAK,MAAlB,GAA2B,QAA3B,GAAsC;AADvC,GAAhB,CADD;;AAKA,SACC,cAAC,eAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGR,EAAE,CAAE,gBAAF,CAFX;AAGC,IAAA,OAAO,EAAGQ,aAAa,KAAK,MAH7B;AAIC,IAAA,QAAQ,EAAGE;AAJZ,IADD;AAQA;;AAED,eAAeR,OAAO,CAAE,CACvBC,UAAU,CAAIU,MAAF,IAAc;AACzB,SAAO;AACNL,IAAAA,aAAa,EACZK,MAAM,CAAEP,WAAF,CAAN,CAAsBQ,sBAAtB,CACC,gBADD;AAFK,GAAP;AAMA,CAPS,CADa,EASvBV,YAAY,CAAIW,QAAF,KAAkB;AAC/BJ,EAAAA,QAAQ,EAAEI,QAAQ,CAAET,WAAF,CAAR,CAAwBK;AADH,CAAlB,CAAF,CATW,CAAF,CAAP,CAYVJ,YAZU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostComments( { commentStatus = 'open', ...props } ) {\n\tconst onToggleComments = () =>\n\t\tprops.editPost( {\n\t\t\tcomment_status: commentStatus === 'open' ? 'closed' : 'open',\n\t\t} );\n\n\treturn (\n\t\t<CheckboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Allow comments' ) }\n\t\t\tchecked={ commentStatus === 'open' }\n\t\t\tonChange={ onToggleComments }\n\t\t/>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tcommentStatus:\n\t\t\t\tselect( editorStore ).getEditedPostAttribute(\n\t\t\t\t\t'comment_status'\n\t\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\teditPost: dispatch( editorStore ).editPost,\n\t} ) ),\n] )( PostComments );\n"]}
|
|
@@ -13,11 +13,10 @@ import { compose } from '@wordpress/compose';
|
|
|
13
13
|
|
|
14
14
|
import { store as editorStore } from '../../store';
|
|
15
15
|
|
|
16
|
-
function PostExcerpt(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
} = _ref;
|
|
16
|
+
function PostExcerpt({
|
|
17
|
+
excerpt,
|
|
18
|
+
onUpdateExcerpt
|
|
19
|
+
}) {
|
|
21
20
|
return createElement("div", {
|
|
22
21
|
className: "editor-post-excerpt"
|
|
23
22
|
}, createElement(TextareaControl, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-excerpt/index.js"],"names":["__","ExternalLink","TextareaControl","withSelect","withDispatch","compose","store","editorStore","PostExcerpt","excerpt","onUpdateExcerpt","value","select","getEditedPostAttribute","dispatch","editPost"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,EAAuBC,eAAvB,QAA8C,uBAA9C;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,WAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-excerpt/index.js"],"names":["__","ExternalLink","TextareaControl","withSelect","withDispatch","compose","store","editorStore","PostExcerpt","excerpt","onUpdateExcerpt","value","select","getEditedPostAttribute","dispatch","editPost"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,EAAuBC,eAAvB,QAA8C,uBAA9C;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,WAAT,CAAsB;AAAEC,EAAAA,OAAF;AAAWC,EAAAA;AAAX,CAAtB,EAAqD;AACpD,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,eAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGV,EAAE,CAAE,6BAAF,CAFX;AAGC,IAAA,SAAS,EAAC,+BAHX;AAIC,IAAA,QAAQ,EAAKW,KAAF,IAAaD,eAAe,CAAEC,KAAF,CAJxC;AAKC,IAAA,KAAK,EAAGF;AALT,IADD,EAQC,cAAC,YAAD;AACC,IAAA,IAAI,EAAGT,EAAE,CACR,iFADQ;AADV,KAKGA,EAAE,CAAE,kCAAF,CALL,CARD,CADD;AAkBA;;AAED,eAAeK,OAAO,CAAE,CACvBF,UAAU,CAAIS,MAAF,IAAc;AACzB,SAAO;AACNH,IAAAA,OAAO,EAAEG,MAAM,CAAEL,WAAF,CAAN,CAAsBM,sBAAtB,CAA8C,SAA9C;AADH,GAAP;AAGA,CAJS,CADa,EAMvBT,YAAY,CAAIU,QAAF,KAAkB;AAC/BJ,EAAAA,eAAe,CAAED,OAAF,EAAY;AAC1BK,IAAAA,QAAQ,CAAEP,WAAF,CAAR,CAAwBQ,QAAxB,CAAkC;AAAEN,MAAAA;AAAF,KAAlC;AACA;;AAH8B,CAAlB,CAAF,CANW,CAAF,CAAP,CAWVD,WAXU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ExternalLink, TextareaControl } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostExcerpt( { excerpt, onUpdateExcerpt } ) {\n\treturn (\n\t\t<div className=\"editor-post-excerpt\">\n\t\t\t<TextareaControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Write an excerpt (optional)' ) }\n\t\t\t\tclassName=\"editor-post-excerpt__textarea\"\n\t\t\t\tonChange={ ( value ) => onUpdateExcerpt( value ) }\n\t\t\t\tvalue={ excerpt }\n\t\t\t/>\n\t\t\t<ExternalLink\n\t\t\t\thref={ __(\n\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#excerpt'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ __( 'Learn more about manual excerpts' ) }\n\t\t\t</ExternalLink>\n\t\t</div>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\texcerpt: select( editorStore ).getEditedPostAttribute( 'excerpt' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonUpdateExcerpt( excerpt ) {\n\t\t\tdispatch( editorStore ).editPost( { excerpt } );\n\t\t},\n\t} ) ),\n] )( PostExcerpt );\n"]}
|
|
@@ -27,7 +27,7 @@ const DEFAULT_SET_FEATURE_IMAGE_LABEL = __('Set featured image');
|
|
|
27
27
|
const instructions = createElement("p", null, __('To edit the featured image, you need permission to upload media.'));
|
|
28
28
|
|
|
29
29
|
function getMediaDetails(media, postId) {
|
|
30
|
-
var _media$media_details$, _media$media_details
|
|
30
|
+
var _media$media_details$, _media$media_details$2;
|
|
31
31
|
|
|
32
32
|
if (!media) {
|
|
33
33
|
return {};
|
|
@@ -35,7 +35,7 @@ function getMediaDetails(media, postId) {
|
|
|
35
35
|
|
|
36
36
|
const defaultSize = applyFilters('editor.PostFeaturedImage.imageSize', 'large', media.id, postId);
|
|
37
37
|
|
|
38
|
-
if (defaultSize in ((_media$media_details$ = media
|
|
38
|
+
if (defaultSize in ((_media$media_details$ = media?.media_details?.sizes) !== null && _media$media_details$ !== void 0 ? _media$media_details$ : {})) {
|
|
39
39
|
return {
|
|
40
40
|
mediaWidth: media.media_details.sizes[defaultSize].width,
|
|
41
41
|
mediaHeight: media.media_details.sizes[defaultSize].height,
|
|
@@ -46,7 +46,7 @@ function getMediaDetails(media, postId) {
|
|
|
46
46
|
|
|
47
47
|
const fallbackSize = applyFilters('editor.PostFeaturedImage.imageSize', 'thumbnail', media.id, postId);
|
|
48
48
|
|
|
49
|
-
if (fallbackSize in ((_media$media_details$2 = media
|
|
49
|
+
if (fallbackSize in ((_media$media_details$2 = media?.media_details?.sizes) !== null && _media$media_details$2 !== void 0 ? _media$media_details$2 : {})) {
|
|
50
50
|
return {
|
|
51
51
|
mediaWidth: media.media_details.sizes[fallbackSize].width,
|
|
52
52
|
mediaHeight: media.media_details.sizes[fallbackSize].height,
|
|
@@ -62,19 +62,16 @@ function getMediaDetails(media, postId) {
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
function PostFeaturedImage(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
noticeUI,
|
|
76
|
-
noticeOperations
|
|
77
|
-
} = _ref;
|
|
65
|
+
function PostFeaturedImage({
|
|
66
|
+
currentPostId,
|
|
67
|
+
featuredImageId,
|
|
68
|
+
onUpdateImage,
|
|
69
|
+
onRemoveImage,
|
|
70
|
+
media,
|
|
71
|
+
postType,
|
|
72
|
+
noticeUI,
|
|
73
|
+
noticeOperations
|
|
74
|
+
}) {
|
|
78
75
|
const toggleRef = useRef();
|
|
79
76
|
const [isLoading, setIsLoading] = useState(false);
|
|
80
77
|
const mediaUpload = useSelect(select => {
|
|
@@ -91,10 +88,8 @@ function PostFeaturedImage(_ref) {
|
|
|
91
88
|
allowedTypes: ['image'],
|
|
92
89
|
filesList,
|
|
93
90
|
|
|
94
|
-
onFileChange(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (isBlobURL(image === null || image === void 0 ? void 0 : image.url)) {
|
|
91
|
+
onFileChange([image]) {
|
|
92
|
+
if (isBlobURL(image?.url)) {
|
|
98
93
|
setIsLoading(true);
|
|
99
94
|
return;
|
|
100
95
|
}
|
|
@@ -118,52 +113,47 @@ function PostFeaturedImage(_ref) {
|
|
|
118
113
|
className: "hidden"
|
|
119
114
|
}, media.alt_text && sprintf( // Translators: %s: The selected image alt text.
|
|
120
115
|
__('Current image: %s'), media.alt_text), !media.alt_text && sprintf( // Translators: %s: The selected image filename.
|
|
121
|
-
__('The current image has no alternative text. The file name is: %s'),
|
|
116
|
+
__('The current image has no alternative text. The file name is: %s'), media.media_details.sizes?.full?.file || media.slug)), createElement(MediaUploadCheck, {
|
|
122
117
|
fallback: instructions
|
|
123
118
|
}, createElement(MediaUpload, {
|
|
124
|
-
title:
|
|
119
|
+
title: postType?.labels?.featured_image || DEFAULT_FEATURE_IMAGE_LABEL,
|
|
125
120
|
onSelect: onUpdateImage,
|
|
126
121
|
unstableFeaturedImageFlow: true,
|
|
127
122
|
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
128
123
|
modalClass: "editor-post-featured-image__media-modal",
|
|
129
|
-
render:
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
}
|
|
163
|
-
}, __('Remove'))), createElement(DropZone, {
|
|
164
|
-
onFilesDrop: onDropFiles
|
|
165
|
-
}));
|
|
166
|
-
},
|
|
124
|
+
render: ({
|
|
125
|
+
open
|
|
126
|
+
}) => createElement("div", {
|
|
127
|
+
className: "editor-post-featured-image__container"
|
|
128
|
+
}, createElement(Button, {
|
|
129
|
+
ref: toggleRef,
|
|
130
|
+
className: !featuredImageId ? 'editor-post-featured-image__toggle' : 'editor-post-featured-image__preview',
|
|
131
|
+
onClick: open,
|
|
132
|
+
"aria-label": !featuredImageId ? null : __('Edit or replace the image'),
|
|
133
|
+
"aria-describedby": !featuredImageId ? null : `editor-post-featured-image-${featuredImageId}-describedby`
|
|
134
|
+
}, !!featuredImageId && media && createElement(ResponsiveWrapper, {
|
|
135
|
+
naturalWidth: mediaWidth,
|
|
136
|
+
naturalHeight: mediaHeight,
|
|
137
|
+
isInline: true
|
|
138
|
+
}, createElement("img", {
|
|
139
|
+
src: mediaSourceUrl,
|
|
140
|
+
alt: ""
|
|
141
|
+
})), isLoading && createElement(Spinner, null), !featuredImageId && !isLoading && (postType?.labels?.set_featured_image || DEFAULT_SET_FEATURE_IMAGE_LABEL)), !!featuredImageId && createElement(HStack, {
|
|
142
|
+
className: "editor-post-featured-image__actions"
|
|
143
|
+
}, createElement(Button, {
|
|
144
|
+
className: "editor-post-featured-image__action",
|
|
145
|
+
onClick: open // Prefer that screen readers use the .editor-post-featured-image__preview button.
|
|
146
|
+
,
|
|
147
|
+
"aria-hidden": "true"
|
|
148
|
+
}, __('Replace')), createElement(Button, {
|
|
149
|
+
className: "editor-post-featured-image__action",
|
|
150
|
+
onClick: () => {
|
|
151
|
+
onRemoveImage();
|
|
152
|
+
toggleRef.current.focus();
|
|
153
|
+
}
|
|
154
|
+
}, __('Remove'))), createElement(DropZone, {
|
|
155
|
+
onFilesDrop: onDropFiles
|
|
156
|
+
})),
|
|
167
157
|
value: featuredImageId
|
|
168
158
|
}))));
|
|
169
159
|
}
|
|
@@ -187,13 +177,11 @@ const applyWithSelect = withSelect(select => {
|
|
|
187
177
|
featuredImageId
|
|
188
178
|
};
|
|
189
179
|
});
|
|
190
|
-
const applyWithDispatch = withDispatch((dispatch,
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
select
|
|
196
|
-
} = _ref5;
|
|
180
|
+
const applyWithDispatch = withDispatch((dispatch, {
|
|
181
|
+
noticeOperations
|
|
182
|
+
}, {
|
|
183
|
+
select
|
|
184
|
+
}) => {
|
|
197
185
|
const {
|
|
198
186
|
editPost
|
|
199
187
|
} = dispatch(editorStore);
|
|
@@ -209,8 +197,7 @@ const applyWithDispatch = withDispatch((dispatch, _ref4, _ref5) => {
|
|
|
209
197
|
allowedTypes: ['image'],
|
|
210
198
|
filesList,
|
|
211
199
|
|
|
212
|
-
onFileChange(
|
|
213
|
-
let [image] = _ref6;
|
|
200
|
+
onFileChange([image]) {
|
|
214
201
|
editPost({
|
|
215
202
|
featured_media: image.id
|
|
216
203
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-featured-image/index.js"],"names":["__","sprintf","applyFilters","DropZone","Button","Spinner","ResponsiveWrapper","withNotices","withFilters","__experimentalHStack","HStack","isBlobURL","useState","useRef","compose","useSelect","withDispatch","withSelect","MediaUpload","MediaUploadCheck","store","blockEditorStore","coreStore","PostFeaturedImageCheck","editorStore","ALLOWED_MEDIA_TYPES","DEFAULT_FEATURE_IMAGE_LABEL","DEFAULT_SET_FEATURE_IMAGE_LABEL","instructions","getMediaDetails","media","postId","defaultSize","id","media_details","sizes","mediaWidth","width","mediaHeight","height","mediaSourceUrl","source_url","fallbackSize","PostFeaturedImage","currentPostId","featuredImageId","onUpdateImage","onRemoveImage","postType","noticeUI","noticeOperations","toggleRef","isLoading","setIsLoading","mediaUpload","select","getSettings","onDropFiles","filesList","allowedTypes","onFileChange","image","url","onError","message","removeAllNotices","createErrorNotice","alt_text","full","file","slug","labels","featured_image","open","set_featured_image","current","focus","applyWithSelect","getMedia","getPostType","getCurrentPostId","getEditedPostAttribute","context","applyWithDispatch","dispatch","editPost","featured_media","onDropImage"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tDropZone,\n\tButton,\n\tSpinner,\n\tResponsiveWrapper,\n\twithNotices,\n\twithFilters,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { isBlobURL } from '@wordpress/blob';\nimport { useState, useRef } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { useSelect, withDispatch, withSelect } from '@wordpress/data';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFeaturedImageCheck from './check';\nimport { store as editorStore } from '../../store';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\n// Used when labels from post type were not yet loaded or when they are not present.\nconst DEFAULT_FEATURE_IMAGE_LABEL = __( 'Featured image' );\nconst DEFAULT_SET_FEATURE_IMAGE_LABEL = __( 'Set featured image' );\n\nconst instructions = (\n\t<p>\n\t\t{ __(\n\t\t\t'To edit the featured image, you need permission to upload media.'\n\t\t) }\n\t</p>\n);\n\nfunction getMediaDetails( media, postId ) {\n\tif ( ! media ) {\n\t\treturn {};\n\t}\n\n\tconst defaultSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'large',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( defaultSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ defaultSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ defaultSize ].height,\n\t\t\tmediaSourceUrl: media.media_details.sizes[ defaultSize ].source_url,\n\t\t};\n\t}\n\n\t// Use fallbackSize when defaultSize is not available.\n\tconst fallbackSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'thumbnail',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( fallbackSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ fallbackSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ fallbackSize ].height,\n\t\t\tmediaSourceUrl:\n\t\t\t\tmedia.media_details.sizes[ fallbackSize ].source_url,\n\t\t};\n\t}\n\n\t// Use full image size when fallbackSize and defaultSize are not available.\n\treturn {\n\t\tmediaWidth: media.media_details.width,\n\t\tmediaHeight: media.media_details.height,\n\t\tmediaSourceUrl: media.source_url,\n\t};\n}\n\nfunction PostFeaturedImage( {\n\tcurrentPostId,\n\tfeaturedImageId,\n\tonUpdateImage,\n\tonRemoveImage,\n\tmedia,\n\tpostType,\n\tnoticeUI,\n\tnoticeOperations,\n} ) {\n\tconst toggleRef = useRef();\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst { mediaWidth, mediaHeight, mediaSourceUrl } = getMediaDetails(\n\t\tmedia,\n\t\tcurrentPostId\n\t);\n\n\tfunction onDropFiles( filesList ) {\n\t\tmediaUpload( {\n\t\t\tallowedTypes: [ 'image' ],\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetIsLoading( true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonUpdateImage( image );\n\t\t\t\tsetIsLoading( false );\n\t\t\t},\n\t\t\tonError( message ) {\n\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PostFeaturedImageCheck>\n\t\t\t{ noticeUI }\n\t\t\t<div className=\"editor-post-featured-image\">\n\t\t\t\t{ media && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={ `editor-post-featured-image-${ featuredImageId }-describedby` }\n\t\t\t\t\t\tclassName=\"hidden\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image alt text.\n\t\t\t\t\t\t\t\t__( 'Current image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image filename.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'The current image has no alternative text. The file name is: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tmedia.media_details.sizes?.full?.file ||\n\t\t\t\t\t\t\t\t\tmedia.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<MediaUploadCheck fallback={ instructions }>\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\tpostType?.labels?.featured_image ||\n\t\t\t\t\t\t\tDEFAULT_FEATURE_IMAGE_LABEL\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ onUpdateImage }\n\t\t\t\t\t\tunstableFeaturedImageFlow\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\tmodalClass=\"editor-post-featured-image__media-modal\"\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<div className=\"editor-post-featured-image__container\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? 'editor-post-featured-image__toggle'\n\t\t\t\t\t\t\t\t\t\t\t: 'editor-post-featured-image__preview'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Edit or replace the image' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: `editor-post-featured-image-${ featuredImageId }-describedby`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ !! featuredImageId && media && (\n\t\t\t\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\t\t\t\tnaturalWidth={ mediaWidth }\n\t\t\t\t\t\t\t\t\t\t\tnaturalHeight={ mediaHeight }\n\t\t\t\t\t\t\t\t\t\t\tisInline\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={ mediaSourceUrl }\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ isLoading && <Spinner /> }\n\t\t\t\t\t\t\t\t\t{ ! featuredImageId &&\n\t\t\t\t\t\t\t\t\t\t! isLoading &&\n\t\t\t\t\t\t\t\t\t\t( postType?.labels\n\t\t\t\t\t\t\t\t\t\t\t?.set_featured_image ||\n\t\t\t\t\t\t\t\t\t\t\tDEFAULT_SET_FEATURE_IMAGE_LABEL ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t{ !! featuredImageId && (\n\t\t\t\t\t\t\t\t\t<HStack className=\"editor-post-featured-image__actions\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\t// Prefer that screen readers use the .editor-post-featured-image__preview button.\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonRemoveImage();\n\t\t\t\t\t\t\t\t\t\t\t\ttoggleRef.current.focus();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<DropZone onFilesDrop={ onDropFiles } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ featuredImageId }\n\t\t\t\t\t/>\n\t\t\t\t</MediaUploadCheck>\n\t\t\t</div>\n\t\t</PostFeaturedImageCheck>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getMedia, getPostType } = select( coreStore );\n\tconst { getCurrentPostId, getEditedPostAttribute } = select( editorStore );\n\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\n\treturn {\n\t\tmedia: featuredImageId\n\t\t\t? getMedia( featuredImageId, { context: 'view' } )\n\t\t\t: null,\n\t\tcurrentPostId: getCurrentPostId(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tfeaturedImageId,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch(\n\t( dispatch, { noticeOperations }, { select } ) => {\n\t\tconst { editPost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonUpdateImage( image ) {\n\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t},\n\t\t\tonDropImage( filesList ) {\n\t\t\t\tselect( blockEditorStore )\n\t\t\t\t\t.getSettings()\n\t\t\t\t\t.mediaUpload( {\n\t\t\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t\t\t\tfilesList,\n\t\t\t\t\t\tonFileChange( [ image ] ) {\n\t\t\t\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t},\n\t\t\tonRemoveImage() {\n\t\t\t\teditPost( { featured_media: 0 } );\n\t\t\t},\n\t\t};\n\t}\n);\n\nexport default compose(\n\twithNotices,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\twithFilters( 'editor.PostFeaturedImage' )\n)( PostFeaturedImage );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-featured-image/index.js"],"names":["__","sprintf","applyFilters","DropZone","Button","Spinner","ResponsiveWrapper","withNotices","withFilters","__experimentalHStack","HStack","isBlobURL","useState","useRef","compose","useSelect","withDispatch","withSelect","MediaUpload","MediaUploadCheck","store","blockEditorStore","coreStore","PostFeaturedImageCheck","editorStore","ALLOWED_MEDIA_TYPES","DEFAULT_FEATURE_IMAGE_LABEL","DEFAULT_SET_FEATURE_IMAGE_LABEL","instructions","getMediaDetails","media","postId","defaultSize","id","media_details","sizes","mediaWidth","width","mediaHeight","height","mediaSourceUrl","source_url","fallbackSize","PostFeaturedImage","currentPostId","featuredImageId","onUpdateImage","onRemoveImage","postType","noticeUI","noticeOperations","toggleRef","isLoading","setIsLoading","mediaUpload","select","getSettings","onDropFiles","filesList","allowedTypes","onFileChange","image","url","onError","message","removeAllNotices","createErrorNotice","alt_text","full","file","slug","labels","featured_image","open","set_featured_image","current","focus","applyWithSelect","getMedia","getPostType","getCurrentPostId","getEditedPostAttribute","context","applyWithDispatch","dispatch","editPost","featured_media","onDropImage"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tDropZone,\n\tButton,\n\tSpinner,\n\tResponsiveWrapper,\n\twithNotices,\n\twithFilters,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { isBlobURL } from '@wordpress/blob';\nimport { useState, useRef } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { useSelect, withDispatch, withSelect } from '@wordpress/data';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFeaturedImageCheck from './check';\nimport { store as editorStore } from '../../store';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\n// Used when labels from post type were not yet loaded or when they are not present.\nconst DEFAULT_FEATURE_IMAGE_LABEL = __( 'Featured image' );\nconst DEFAULT_SET_FEATURE_IMAGE_LABEL = __( 'Set featured image' );\n\nconst instructions = (\n\t<p>\n\t\t{ __(\n\t\t\t'To edit the featured image, you need permission to upload media.'\n\t\t) }\n\t</p>\n);\n\nfunction getMediaDetails( media, postId ) {\n\tif ( ! media ) {\n\t\treturn {};\n\t}\n\n\tconst defaultSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'large',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( defaultSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ defaultSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ defaultSize ].height,\n\t\t\tmediaSourceUrl: media.media_details.sizes[ defaultSize ].source_url,\n\t\t};\n\t}\n\n\t// Use fallbackSize when defaultSize is not available.\n\tconst fallbackSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'thumbnail',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( fallbackSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ fallbackSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ fallbackSize ].height,\n\t\t\tmediaSourceUrl:\n\t\t\t\tmedia.media_details.sizes[ fallbackSize ].source_url,\n\t\t};\n\t}\n\n\t// Use full image size when fallbackSize and defaultSize are not available.\n\treturn {\n\t\tmediaWidth: media.media_details.width,\n\t\tmediaHeight: media.media_details.height,\n\t\tmediaSourceUrl: media.source_url,\n\t};\n}\n\nfunction PostFeaturedImage( {\n\tcurrentPostId,\n\tfeaturedImageId,\n\tonUpdateImage,\n\tonRemoveImage,\n\tmedia,\n\tpostType,\n\tnoticeUI,\n\tnoticeOperations,\n} ) {\n\tconst toggleRef = useRef();\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst { mediaWidth, mediaHeight, mediaSourceUrl } = getMediaDetails(\n\t\tmedia,\n\t\tcurrentPostId\n\t);\n\n\tfunction onDropFiles( filesList ) {\n\t\tmediaUpload( {\n\t\t\tallowedTypes: [ 'image' ],\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetIsLoading( true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonUpdateImage( image );\n\t\t\t\tsetIsLoading( false );\n\t\t\t},\n\t\t\tonError( message ) {\n\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PostFeaturedImageCheck>\n\t\t\t{ noticeUI }\n\t\t\t<div className=\"editor-post-featured-image\">\n\t\t\t\t{ media && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={ `editor-post-featured-image-${ featuredImageId }-describedby` }\n\t\t\t\t\t\tclassName=\"hidden\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image alt text.\n\t\t\t\t\t\t\t\t__( 'Current image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image filename.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'The current image has no alternative text. The file name is: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tmedia.media_details.sizes?.full?.file ||\n\t\t\t\t\t\t\t\t\tmedia.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<MediaUploadCheck fallback={ instructions }>\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\tpostType?.labels?.featured_image ||\n\t\t\t\t\t\t\tDEFAULT_FEATURE_IMAGE_LABEL\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ onUpdateImage }\n\t\t\t\t\t\tunstableFeaturedImageFlow\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\tmodalClass=\"editor-post-featured-image__media-modal\"\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<div className=\"editor-post-featured-image__container\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? 'editor-post-featured-image__toggle'\n\t\t\t\t\t\t\t\t\t\t\t: 'editor-post-featured-image__preview'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Edit or replace the image' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: `editor-post-featured-image-${ featuredImageId }-describedby`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ !! featuredImageId && media && (\n\t\t\t\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\t\t\t\tnaturalWidth={ mediaWidth }\n\t\t\t\t\t\t\t\t\t\t\tnaturalHeight={ mediaHeight }\n\t\t\t\t\t\t\t\t\t\t\tisInline\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={ mediaSourceUrl }\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ isLoading && <Spinner /> }\n\t\t\t\t\t\t\t\t\t{ ! featuredImageId &&\n\t\t\t\t\t\t\t\t\t\t! isLoading &&\n\t\t\t\t\t\t\t\t\t\t( postType?.labels\n\t\t\t\t\t\t\t\t\t\t\t?.set_featured_image ||\n\t\t\t\t\t\t\t\t\t\t\tDEFAULT_SET_FEATURE_IMAGE_LABEL ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t{ !! featuredImageId && (\n\t\t\t\t\t\t\t\t\t<HStack className=\"editor-post-featured-image__actions\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\t// Prefer that screen readers use the .editor-post-featured-image__preview button.\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonRemoveImage();\n\t\t\t\t\t\t\t\t\t\t\t\ttoggleRef.current.focus();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<DropZone onFilesDrop={ onDropFiles } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ featuredImageId }\n\t\t\t\t\t/>\n\t\t\t\t</MediaUploadCheck>\n\t\t\t</div>\n\t\t</PostFeaturedImageCheck>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getMedia, getPostType } = select( coreStore );\n\tconst { getCurrentPostId, getEditedPostAttribute } = select( editorStore );\n\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\n\treturn {\n\t\tmedia: featuredImageId\n\t\t\t? getMedia( featuredImageId, { context: 'view' } )\n\t\t\t: null,\n\t\tcurrentPostId: getCurrentPostId(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tfeaturedImageId,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch(\n\t( dispatch, { noticeOperations }, { select } ) => {\n\t\tconst { editPost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonUpdateImage( image ) {\n\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t},\n\t\t\tonDropImage( filesList ) {\n\t\t\t\tselect( blockEditorStore )\n\t\t\t\t\t.getSettings()\n\t\t\t\t\t.mediaUpload( {\n\t\t\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t\t\t\tfilesList,\n\t\t\t\t\t\tonFileChange( [ image ] ) {\n\t\t\t\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t},\n\t\t\tonRemoveImage() {\n\t\t\t\teditPost( { featured_media: 0 } );\n\t\t\t},\n\t\t};\n\t}\n);\n\nexport default compose(\n\twithNotices,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\twithFilters( 'editor.PostFeaturedImage' )\n)( PostFeaturedImage );\n"]}
|
|
@@ -12,11 +12,10 @@ import { withSelect } from '@wordpress/data';
|
|
|
12
12
|
import PostTypeSupportCheck from '../post-type-support-check';
|
|
13
13
|
import { store as editorStore } from '../../store';
|
|
14
14
|
|
|
15
|
-
function PostFormatCheck(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
} = _ref;
|
|
15
|
+
function PostFormatCheck({
|
|
16
|
+
disablePostFormats,
|
|
17
|
+
...props
|
|
18
|
+
}) {
|
|
20
19
|
return !disablePostFormats && createElement(PostTypeSupportCheck, _extends({}, props, {
|
|
21
20
|
supportKeys: "post-formats"
|
|
22
21
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-format/check.js"],"names":["withSelect","PostTypeSupportCheck","store","editorStore","PostFormatCheck","disablePostFormats","props","select","editorSettings","getEditorSettings"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,iBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,eAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-format/check.js"],"names":["withSelect","PostTypeSupportCheck","store","editorStore","PostFormatCheck","disablePostFormats","props","select","editorSettings","getEditorSettings"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,iBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,eAAT,CAA0B;AAAEC,EAAAA,kBAAF;AAAsB,KAAGC;AAAzB,CAA1B,EAA6D;AAC5D,SACC,CAAED,kBAAF,IACC,cAAC,oBAAD,eAA2BC,KAA3B;AAAmC,IAAA,WAAW,EAAC;AAA/C,KAFF;AAKA;;AAED,eAAeN,UAAU,CAAIO,MAAF,IAAc;AACxC,QAAMC,cAAc,GAAGD,MAAM,CAAEJ,WAAF,CAAN,CAAsBM,iBAAtB,EAAvB;AACA,SAAO;AACNJ,IAAAA,kBAAkB,EAAEG,cAAc,CAACH;AAD7B,GAAP;AAGA,CALwB,CAAV,CAKVD,eALU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\nfunction PostFormatCheck( { disablePostFormats, ...props } ) {\n\treturn (\n\t\t! disablePostFormats && (\n\t\t\t<PostTypeSupportCheck { ...props } supportKeys=\"post-formats\" />\n\t\t)\n\t);\n}\n\nexport default withSelect( ( select ) => {\n\tconst editorSettings = select( editorStore ).getEditorSettings();\n\treturn {\n\t\tdisablePostFormats: editorSettings.disablePostFormats,\n\t};\n} )( PostFormatCheck );\n"]}
|
|
@@ -84,7 +84,7 @@ export default function PostFormat() {
|
|
|
84
84
|
const formats = POST_FORMATS.filter(format => {
|
|
85
85
|
// Ensure current format is always in the set.
|
|
86
86
|
// The current format may not be a format supported by the theme.
|
|
87
|
-
return
|
|
87
|
+
return supportedFormats?.includes(format.id) || postFormat === format.id;
|
|
88
88
|
});
|
|
89
89
|
const suggestion = formats.find(format => format.id === suggestedFormat);
|
|
90
90
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/post-format/index.js"],"names":["__","sprintf","Button","SelectControl","useDispatch","useSelect","useInstanceId","store","coreStore","PostFormatCheck","editorStore","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","map","label","value"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/post-format/index.js"],"names":["__","sprintf","Button","SelectControl","useDispatch","useSelect","useInstanceId","store","coreStore","PostFormatCheck","editorStore","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","map","label","value"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button, SelectControl } 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\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<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Post Format' ) }\n\t\t\t\t\tvalue={ 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/>\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\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"]}
|