@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/entities-saved-states/index.js"],"names":["Button","Flex","FlexItem","__","sprintf","useSelect","useDispatch","useState","useCallback","useRef","store","coreStore","blockEditorStore","__experimentalUseDialog","useDialog","noticesStore","getQueryArg","EntityTypeList","TRANSLATED_SITE_PROPERTIES","title","description","site_logo","site_icon","show_on_front","page_on_front","PUBLISH_ON_SAVE_ENTITIES","kind","name","identity","values","isPreviewingTheme","window","__experimentalEnableThemePreviews","location","href","undefined","currentlyPreviewingTheme","EntitiesSavedStates","close","onSave","saveButtonRef","getTheme","theme","dirtyEntityRecords","select","dirtyRecords","__experimentalGetDirtyEntityRecords","dirtyRecordsWithoutSite","filter","record","siteEdits","getEntityRecordEdits","siteEditsAsEntities","property","push","dirtyRecordsWithSiteItems","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","partitionedSavables","reduce","acc","site","siteSavables","wp_template","templateSavables","wp_template_part","templatePartSavables","contentSavables","sortedPartitionedSavables","Object","Array","isArray","unselectedEntities","_setUnselectedEntities","setUnselectedEntities","checked","key","elt","saveCheckedEntitiesAndActivate","saveNoticeId","entitiesToSave","some","siteItemsToSave","pendingSavedRecords","forEach","typeToPublish","status","length","Promise","all","then","value","type","id","catch","error","dismissPanel","saveDialogRef","saveDialogProps","onClose","isDirty","activateSaveEnabled","activateSaveLabel","rendered","map","list"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,MAAT,EAAiBC,IAAjB,EAAuBC,QAAvB,QAAuC,uBAAvC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,QAAT,EAAmBC,WAAnB,EAAgCC,MAAhC,QAA8C,oBAA9C;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASD,KAAK,IAAIE,gBAAlB,QAA0C,yBAA1C;AACA,SAASC,uBAAuB,IAAIC,SAApC,QAAqD,oBAArD;AACA,SAASJ,KAAK,IAAIK,YAAlB,QAAsC,oBAAtC;AACA,SAASC,WAAT,QAA4B,gBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AAEA,MAAMC,0BAA0B,GAAG;AAClCC,EAAAA,KAAK,EAAEhB,EAAE,CAAE,OAAF,CADyB;AAElCiB,EAAAA,WAAW,EAAEjB,EAAE,CAAE,SAAF,CAFmB;AAGlCkB,EAAAA,SAAS,EAAElB,EAAE,CAAE,MAAF,CAHqB;AAIlCmB,EAAAA,SAAS,EAAEnB,EAAE,CAAE,MAAF,CAJqB;AAKlCoB,EAAAA,aAAa,EAAEpB,EAAE,CAAE,eAAF,CALiB;AAMlCqB,EAAAA,aAAa,EAAErB,EAAE,CAAE,eAAF;AANiB,CAAnC;AASA,MAAMsB,wBAAwB,GAAG,CAChC;AACCC,EAAAA,IAAI,EAAE,UADP;AAECC,EAAAA,IAAI,EAAE;AAFP,CADgC,CAAjC;;AAOA,SAASC,QAAT,CAAmBC,MAAnB,EAA4B;AAC3B,SAAOA,MAAP;AACA;;AAED,SAASC,iBAAT,GAA6B;AAAA;;AAC5B,SACC,YAAAC,MAAM,UAAN,0CAAQC,iCAAR,KACAhB,WAAW,CAAEe,MAAM,CAACE,QAAP,CAAgBC,IAAlB,EAAwB,eAAxB,CAAX,KAAyDC,SAF1D;AAIA;;AAED,SAASC,wBAAT,GAAoC;AACnC,MAAKN,iBAAiB,EAAtB,EAA2B;AAC1B,WAAOd,WAAW,CAAEe,MAAM,CAACE,QAAP,CAAgBC,IAAlB,EAAwB,eAAxB,CAAlB;AACA;;AACD,SAAO,IAAP;AACA;;AAED,eAAe,SAASG,mBAAT,OAA6D;AAAA;;AAAA,MAA/B;AAAEC,IAAAA,KAAF;AAASC,IAAAA,MAAM,GAAGX;AAAlB,GAA+B;AAC3E,QAAMY,aAAa,GAAG/B,MAAM,EAA5B;AACA,QAAM;AAAEgC,IAAAA;AAAF,MAAepC,SAAS,CAAEM,SAAF,CAA9B;AACA,QAAM+B,KAAK,GAAGD,QAAQ,CAAEL,wBAAwB,EAA1B,CAAtB;AACA,QAAM;AAAEO,IAAAA;AAAF,MAAyBtC,SAAS,CAAIuC,MAAF,IAAc;AACvD,UAAMC,YAAY,GACjBD,MAAM,CAAEjC,SAAF,CAAN,CAAoBmC,mCAApB,EADD,CADuD,CAIvD;;;AACA,UAAMC,uBAAuB,GAAGF,YAAY,CAACG,MAAb,CAC7BC,MAAF,IAAc,EAAIA,MAAM,CAACvB,IAAP,KAAgB,MAAhB,IAA0BuB,MAAM,CAACtB,IAAP,KAAgB,MAA9C,CADiB,CAAhC;AAIA,UAAMuB,SAAS,GAAGN,MAAM,CAAEjC,SAAF,CAAN,CAAoBwC,oBAApB,CACjB,MADiB,EAEjB,MAFiB,CAAlB;AAKA,UAAMC,mBAAmB,GAAG,EAA5B;;AACA,SAAM,MAAMC,QAAZ,IAAwBH,SAAxB,EAAoC;AACnCE,MAAAA,mBAAmB,CAACE,IAApB,CAA0B;AACzB5B,QAAAA,IAAI,EAAE,MADmB;AAEzBC,QAAAA,IAAI,EAAE,MAFmB;AAGzBR,QAAAA,KAAK,EAAED,0BAA0B,CAAEmC,QAAF,CAA1B,IAA0CA,QAHxB;AAIzBA,QAAAA;AAJyB,OAA1B;AAMA;;AACD,UAAME,yBAAyB,GAAG,CACjC,GAAGR,uBAD8B,EAEjC,GAAGK,mBAF8B,CAAlC;AAKA,WAAO;AACNT,MAAAA,kBAAkB,EAAEY;AADd,KAAP;AAGA,GA/BuC,EA+BrC,EA/BqC,CAAxC;AAgCA,QAAM;AACLC,IAAAA,gBADK;AAELC,IAAAA,sBAFK;AAGLC,IAAAA,sCAAsC,EAAEC;AAHnC,MAIFrD,WAAW,CAAEK,SAAF,CAJf;AAMA,QAAM;AAAEiD,IAAAA;AAAF,MACLtD,WAAW,CAAEM,gBAAF,CADZ;AAGA,QAAM;AAAEiD,IAAAA,mBAAF;AAAuBC,IAAAA,iBAAvB;AAA0CC,IAAAA;AAA1C,MACLzD,WAAW,CAAES,YAAF,CADZ,CA7C2E,CAgD3E;;AACA,QAAMiD,mBAAmB,GAAGrB,kBAAkB,CAACsB,MAAnB,CAA2B,CAAEC,GAAF,EAAOjB,MAAP,KAAmB;AACzE,UAAM;AAAEtB,MAAAA;AAAF,QAAWsB,MAAjB;;AACA,QAAK,CAAEiB,GAAG,CAAEvC,IAAF,CAAV,EAAqB;AACpBuC,MAAAA,GAAG,CAAEvC,IAAF,CAAH,GAAc,EAAd;AACA;;AACDuC,IAAAA,GAAG,CAAEvC,IAAF,CAAH,CAAY2B,IAAZ,CAAkBL,MAAlB;AACA,WAAOiB,GAAP;AACA,GAP2B,EAOzB,EAPyB,CAA5B,CAjD2E,CA0D3E;;AACA,QAAM;AACLC,IAAAA,IAAI,EAAEC,YADD;AAELC,IAAAA,WAAW,EAAEC,gBAFR;AAGLC,IAAAA,gBAAgB,EAAEC,oBAHb;AAIL,OAAGC;AAJE,MAKFT,mBALJ;AAMA,QAAMU,yBAAyB,GAAG,CACjCN,YADiC,EAEjCE,gBAFiC,EAGjCE,oBAHiC,EAIjC,GAAGG,MAAM,CAAC9C,MAAP,CAAe4C,eAAf,CAJ8B,EAKhCzB,MALgC,CAKxB4B,KAAK,CAACC,OALkB,CAAlC,CAjE2E,CAwE3E;;AACA,QAAM,CAAEC,kBAAF,EAAsBC,sBAAtB,IAAiDxE,QAAQ,CAAE,EAAF,CAA/D;;AAEA,QAAMyE,qBAAqB,GAAG,QAE7BC,OAF6B,KAGzB;AAAA,QAFJ;AAAEvD,MAAAA,IAAF;AAAQC,MAAAA,IAAR;AAAcuD,MAAAA,GAAd;AAAmB7B,MAAAA;AAAnB,KAEI;;AACJ,QAAK4B,OAAL,EAAe;AACdF,MAAAA,sBAAsB,CACrBD,kBAAkB,CAAC9B,MAAnB,CACGmC,GAAF,IACCA,GAAG,CAACzD,IAAJ,KAAaA,IAAb,IACAyD,GAAG,CAACxD,IAAJ,KAAaA,IADb,IAEAwD,GAAG,CAACD,GAAJ,KAAYA,GAFZ,IAGAC,GAAG,CAAC9B,QAAJ,KAAiBA,QALnB,CADqB,CAAtB;AASA,KAVD,MAUO;AACN0B,MAAAA,sBAAsB,CAAE,CACvB,GAAGD,kBADoB,EAEvB;AAAEpD,QAAAA,IAAF;AAAQC,QAAAA,IAAR;AAAcuD,QAAAA,GAAd;AAAmB7B,QAAAA;AAAnB,OAFuB,CAAF,CAAtB;AAIA;AACD,GApBD;;AAsBA,QAAM+B,8BAA8B,GAAG,MAAM;AAC5C,UAAMC,YAAY,GAAG,0BAArB;AACAtB,IAAAA,YAAY,CAAEsB,YAAF,CAAZ;AACA,UAAMC,cAAc,GAAG3C,kBAAkB,CAACK,MAAnB,CACtB,SAAqC;AAAA,UAAnC;AAAEtB,QAAAA,IAAF;AAAQC,QAAAA,IAAR;AAAcuD,QAAAA,GAAd;AAAmB7B,QAAAA;AAAnB,OAAmC;AACpC,aAAO,CAAEyB,kBAAkB,CAACS,IAAnB,CACNJ,GAAF,IACCA,GAAG,CAACzD,IAAJ,KAAaA,IAAb,IACAyD,GAAG,CAACxD,IAAJ,KAAaA,IADb,IAEAwD,GAAG,CAACD,GAAJ,KAAYA,GAFZ,IAGAC,GAAG,CAAC9B,QAAJ,KAAiBA,QALV,CAAT;AAOA,KATqB,CAAvB;AAYAf,IAAAA,KAAK,CAAEgD,cAAF,CAAL;AAEA,UAAME,eAAe,GAAG,EAAxB;AACA,UAAMC,mBAAmB,GAAG,EAA5B;AACAH,IAAAA,cAAc,CAACI,OAAf,CAAwB,SAAqC;AAAA,UAAnC;AAAEhE,QAAAA,IAAF;AAAQC,QAAAA,IAAR;AAAcuD,QAAAA,GAAd;AAAmB7B,QAAAA;AAAnB,OAAmC;;AAC5D,UAAK,WAAW3B,IAAX,IAAmB,WAAWC,IAAnC,EAA0C;AACzC6D,QAAAA,eAAe,CAAClC,IAAhB,CAAsBD,QAAtB;AACA,OAFD,MAEO;AACN,YACC5B,wBAAwB,CAAC8D,IAAzB,CACGI,aAAF,IACCA,aAAa,CAACjE,IAAd,KAAuBA,IAAvB,IACAiE,aAAa,CAAChE,IAAd,KAAuBA,IAHzB,CADD,EAME;AACD6B,UAAAA,gBAAgB,CAAE9B,IAAF,EAAQC,IAAR,EAAcuD,GAAd,EAAmB;AAAEU,YAAAA,MAAM,EAAE;AAAV,WAAnB,CAAhB;AACA;;AAEDH,QAAAA,mBAAmB,CAACnC,IAApB,CACCG,sBAAsB,CAAE/B,IAAF,EAAQC,IAAR,EAAcuD,GAAd,CADvB;AAGA;AACD,KAlBD;;AAmBA,QAAKM,eAAe,CAACK,MAArB,EAA8B;AAC7BJ,MAAAA,mBAAmB,CAACnC,IAApB,CACCK,wBAAwB,CACvB,MADuB,EAEvB,MAFuB,EAGvBxB,SAHuB,EAIvBqD,eAJuB,CADzB;AAQA;;AAED5B,IAAAA,oCAAoC;;AAEpCkC,IAAAA,OAAO,CAACC,GAAR,CAAaN,mBAAb,EACEO,IADF,CACUnE,MAAF,IAAc;AACpB,aAAOU,MAAM,CAAEV,MAAF,CAAb;AACA,KAHF,EAIEmE,IAJF,CAIUnE,MAAF,IAAc;AACpB,UACCA,MAAM,CAAC0D,IAAP,CAAeU,KAAF,IAAa,OAAOA,KAAP,KAAiB,WAA3C,CADD,EAEE;AACDnC,QAAAA,iBAAiB,CAAE3D,EAAE,CAAE,gBAAF,CAAJ,CAAjB;AACA,OAJD,MAIO;AACN0D,QAAAA,mBAAmB,CAAE1D,EAAE,CAAE,eAAF,CAAJ,EAAyB;AAC3C+F,UAAAA,IAAI,EAAE,UADqC;AAE3CC,UAAAA,EAAE,EAAEd;AAFuC,SAAzB,CAAnB;AAIA;AACD,KAfF,EAgBEe,KAhBF,CAgBWC,KAAF,IACPvC,iBAAiB,CAAG,GAAG3D,EAAE,CAAE,gBAAF,CAAsB,IAAIkG,KAAO,EAAzC,CAjBnB;AAmBA,GAtED,CAjG2E,CAyK3E;AACA;;;AACA,QAAMC,YAAY,GAAG9F,WAAW,CAAE,MAAM8B,KAAK,EAAb,EAAiB,CAAEA,KAAF,CAAjB,CAAhC;AAEA,QAAM,CAAEiE,aAAF,EAAiBC,eAAjB,IAAqC1F,SAAS,CAAE;AACrD2F,IAAAA,OAAO,EAAE,MAAMH,YAAY;AAD0B,GAAF,CAApD;AAIA,QAAMI,OAAO,GAAG/D,kBAAkB,CAACkD,MAAnB,GAA4Bf,kBAAkB,CAACe,MAA/C,GAAwD,CAAxE;AACA,QAAMc,mBAAmB,GAAG7E,iBAAiB,MAAM4E,OAAnD;AAEA,MAAIE,iBAAJ;;AACA,MAAK9E,iBAAiB,MAAM4E,OAA5B,EAAsC;AACrCE,IAAAA,iBAAiB,GAAGzG,EAAE,CAAE,iBAAF,CAAtB;AACA,GAFD,MAEO,IAAK2B,iBAAiB,EAAtB,EAA2B;AACjC8E,IAAAA,iBAAiB,GAAGzG,EAAE,CAAE,UAAF,CAAtB;AACA,GAFM,MAEA;AACNyG,IAAAA,iBAAiB,GAAGzG,EAAE,CAAE,MAAF,CAAtB;AACA;;AAED,SACC;AACC,IAAA,GAAG,EAAGoG;AADP,KAEMC,eAFN;AAGC,IAAA,SAAS,EAAC;AAHX,MAKC,cAAC,IAAD;AAAM,IAAA,SAAS,EAAC,qCAAhB;AAAsD,IAAA,GAAG,EAAG;AAA5D,KACC,cAAC,QAAD;AACC,IAAA,OAAO,MADR;AAEC,IAAA,EAAE,EAAGxG,MAFN;AAGC,IAAA,GAAG,EAAGwC,aAHP;AAIC,IAAA,OAAO,EAAC,SAJT;AAKC,IAAA,QAAQ,EAAG,CAAEmE,mBALd;AAMC,IAAA,OAAO,EAAGvB,8BANX;AAOC,IAAA,SAAS,EAAC;AAPX,KASGwB,iBATH,CADD,EAYC,cAAC,QAAD;AACC,IAAA,OAAO,MADR;AAEC,IAAA,EAAE,EAAG5G,MAFN;AAGC,IAAA,OAAO,EAAC,WAHT;AAIC,IAAA,OAAO,EAAGsG;AAJX,KAMGnG,EAAE,CAAE,QAAF,CANL,CAZD,CALD,EA2BC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,8BAAUA,EAAE,CAAE,wBAAF,CAAZ,CADD,EAEG2B,iBAAiB,MAClB,yBACG1B,OAAO,CACR,6DADQ,EAERsC,KAFQ,aAERA,KAFQ,sCAERA,KAAK,CAAEf,IAFC,gDAER,YAAakF,QAFL,CADV,CAHF,EAUGH,OAAO,IACR,yBACGvG,EAAE,CACH,4EADG,CADL,CAXF,CA3BD,EA8CGuE,yBAAyB,CAACoC,GAA1B,CAAiCC,IAAF,IAAY;AAC5C,WACC,cAAC,cAAD;AACC,MAAA,GAAG,EAAGA,IAAI,CAAE,CAAF,CAAJ,CAAUpF,IADjB;AAEC,MAAA,IAAI,EAAGoF,IAFR;AAGC,MAAA,UAAU,EAAGT,YAHd;AAIC,MAAA,kBAAkB,EAAGxB,kBAJtB;AAKC,MAAA,qBAAqB,EAAGE;AALzB,MADD;AASA,GAVC,CA9CH,CADD;AA4DA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState, useCallback, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __experimentalUseDialog as useDialog } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { getQueryArg } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport EntityTypeList from './entity-type-list';\n\nconst TRANSLATED_SITE_PROPERTIES = {\n\ttitle: __( 'Title' ),\n\tdescription: __( 'Tagline' ),\n\tsite_logo: __( 'Logo' ),\n\tsite_icon: __( 'Icon' ),\n\tshow_on_front: __( 'Show on front' ),\n\tpage_on_front: __( 'Page on front' ),\n};\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: 'wp_navigation',\n\t},\n];\n\nfunction identity( values ) {\n\treturn values;\n}\n\nfunction isPreviewingTheme() {\n\treturn (\n\t\twindow?.__experimentalEnableThemePreviews &&\n\t\tgetQueryArg( window.location.href, 'theme_preview' ) !== undefined\n\t);\n}\n\nfunction currentlyPreviewingTheme() {\n\tif ( isPreviewingTheme() ) {\n\t\treturn getQueryArg( window.location.href, 'theme_preview' );\n\t}\n\treturn null;\n}\n\nexport default function EntitiesSavedStates( { close, onSave = identity } ) {\n\tconst saveButtonRef = useRef();\n\tconst { getTheme } = useSelect( coreStore );\n\tconst theme = getTheme( currentlyPreviewingTheme() );\n\tconst { dirtyEntityRecords } = useSelect( ( select ) => {\n\t\tconst dirtyRecords =\n\t\t\tselect( coreStore ).__experimentalGetDirtyEntityRecords();\n\n\t\t// Remove site object and decouple into its edited pieces.\n\t\tconst dirtyRecordsWithoutSite = dirtyRecords.filter(\n\t\t\t( record ) => ! ( record.kind === 'root' && record.name === 'site' )\n\t\t);\n\n\t\tconst siteEdits = select( coreStore ).getEntityRecordEdits(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\n\t\tconst siteEditsAsEntities = [];\n\t\tfor ( const property in siteEdits ) {\n\t\t\tsiteEditsAsEntities.push( {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t\ttitle: TRANSLATED_SITE_PROPERTIES[ property ] || property,\n\t\t\t\tproperty,\n\t\t\t} );\n\t\t}\n\t\tconst dirtyRecordsWithSiteItems = [\n\t\t\t...dirtyRecordsWithoutSite,\n\t\t\t...siteEditsAsEntities,\n\t\t];\n\n\t\treturn {\n\t\t\tdirtyEntityRecords: dirtyRecordsWithSiteItems,\n\t\t};\n\t}, [] );\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\t// To group entities by type.\n\tconst partitionedSavables = dirtyEntityRecords.reduce( ( acc, record ) => {\n\t\tconst { name } = record;\n\t\tif ( ! acc[ name ] ) {\n\t\t\tacc[ name ] = [];\n\t\t}\n\t\tacc[ name ].push( record );\n\t\treturn acc;\n\t}, {} );\n\n\t// Sort entity groups.\n\tconst {\n\t\tsite: siteSavables,\n\t\twp_template: templateSavables,\n\t\twp_template_part: templatePartSavables,\n\t\t...contentSavables\n\t} = partitionedSavables;\n\tconst sortedPartitionedSavables = [\n\t\tsiteSavables,\n\t\ttemplateSavables,\n\t\ttemplatePartSavables,\n\t\t...Object.values( contentSavables ),\n\t].filter( Array.isArray );\n\n\t// Unchecked entities to be ignored by save function.\n\tconst [ unselectedEntities, _setUnselectedEntities ] = useState( [] );\n\n\tconst setUnselectedEntities = (\n\t\t{ kind, name, key, property },\n\t\tchecked\n\t) => {\n\t\tif ( checked ) {\n\t\t\t_setUnselectedEntities(\n\t\t\t\tunselectedEntities.filter(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind !== kind ||\n\t\t\t\t\t\telt.name !== name ||\n\t\t\t\t\t\telt.key !== key ||\n\t\t\t\t\t\telt.property !== property\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\t_setUnselectedEntities( [\n\t\t\t\t...unselectedEntities,\n\t\t\t\t{ kind, name, key, property },\n\t\t\t] );\n\t\t}\n\t};\n\n\tconst saveCheckedEntitiesAndActivate = () => {\n\t\tconst saveNoticeId = 'site-editor-save-success';\n\t\tremoveNotice( saveNoticeId );\n\t\tconst entitiesToSave = dirtyEntityRecords.filter(\n\t\t\t( { kind, name, key, property } ) => {\n\t\t\t\treturn ! unselectedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === kind &&\n\t\t\t\t\t\telt.name === name &&\n\t\t\t\t\t\telt.key === key &&\n\t\t\t\t\t\telt.property === property\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\tclose( entitiesToSave );\n\n\t\tconst siteItemsToSave = [];\n\t\tconst pendingSavedRecords = [];\n\t\tentitiesToSave.forEach( ( { kind, name, key, property } ) => {\n\t\t\tif ( 'root' === kind && 'site' === name ) {\n\t\t\t\tsiteItemsToSave.push( property );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tpendingSavedRecords.push(\n\t\t\t\t\tsaveEditedEntityRecord( kind, name, key )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\tif ( siteItemsToSave.length ) {\n\t\t\tpendingSavedRecords.push(\n\t\t\t\tsaveSpecifiedEntityEdits(\n\t\t\t\t\t'root',\n\t\t\t\t\t'site',\n\t\t\t\t\tundefined,\n\t\t\t\t\tsiteItemsToSave\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\tPromise.all( pendingSavedRecords )\n\t\t\t.then( ( values ) => {\n\t\t\t\treturn onSave( values );\n\t\t\t} )\n\t\t\t.then( ( values ) => {\n\t\t\t\tif (\n\t\t\t\t\tvalues.some( ( value ) => typeof value === 'undefined' )\n\t\t\t\t) {\n\t\t\t\t\tcreateErrorNotice( __( 'Saving failed.' ) );\n\t\t\t\t} else {\n\t\t\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: saveNoticeId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( ( error ) =>\n\t\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` )\n\t\t\t);\n\t};\n\n\t// Explicitly define this with no argument passed. Using `close` on\n\t// its own will use the event object in place of the expected saved entities.\n\tconst dismissPanel = useCallback( () => close(), [ close ] );\n\n\tconst [ saveDialogRef, saveDialogProps ] = useDialog( {\n\t\tonClose: () => dismissPanel(),\n\t} );\n\n\tconst isDirty = dirtyEntityRecords.length - unselectedEntities.length > 0;\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\n\tlet activateSaveLabel;\n\tif ( isPreviewingTheme() && isDirty ) {\n\t\tactivateSaveLabel = __( 'Activate & Save' );\n\t} else if ( isPreviewingTheme() ) {\n\t\tactivateSaveLabel = __( 'Activate' );\n\t} else {\n\t\tactivateSaveLabel = __( 'Save' );\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={ saveDialogRef }\n\t\t\t{ ...saveDialogProps }\n\t\t\tclassName=\"entities-saved-states__panel\"\n\t\t>\n\t\t\t<Flex className=\"entities-saved-states__panel-header\" gap={ 2 }>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tref={ saveButtonRef }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdisabled={ ! activateSaveEnabled }\n\t\t\t\t\tonClick={ saveCheckedEntitiesAndActivate }\n\t\t\t\t\tclassName=\"editor-entities-saved-states__save-button\"\n\t\t\t\t>\n\t\t\t\t\t{ activateSaveLabel }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ dismissPanel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\n\t\t\t<div className=\"entities-saved-states__text-prompt\">\n\t\t\t\t<strong>{ __( 'Are you ready to save?' ) }</strong>\n\t\t\t\t{ isPreviewingTheme() && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t'Saving your changes will change your active theme to %1$s.',\n\t\t\t\t\t\t\ttheme?.name?.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t\t{ isDirty && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'The following changes have been made to your site, templates, and content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t{ sortedPartitionedSavables.map( ( list ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<EntityTypeList\n\t\t\t\t\t\tkey={ list[ 0 ].name }\n\t\t\t\t\t\tlist={ list }\n\t\t\t\t\t\tclosePanel={ dismissPanel }\n\t\t\t\t\t\tunselectedEntities={ unselectedEntities }\n\t\t\t\t\t\tsetUnselectedEntities={ setUnselectedEntities }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/entities-saved-states/index.js"],"names":["Button","Flex","FlexItem","__","useDispatch","useCallback","useRef","store","coreStore","blockEditorStore","__experimentalUseDialog","useDialog","noticesStore","EntityTypeList","useIsDirty","PUBLISH_ON_SAVE_ENTITIES","kind","name","identity","values","EntitiesSavedStates","close","isDirtyProps","EntitiesSavedStatesExtensible","additionalPrompt","undefined","onSave","saveEnabled","saveEnabledProp","saveLabel","dirtyEntityRecords","isDirty","setUnselectedEntities","unselectedEntities","saveButtonRef","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","partitionedSavables","reduce","acc","record","push","site","siteSavables","wp_template","templateSavables","wp_template_part","templatePartSavables","contentSavables","sortedPartitionedSavables","Object","filter","Array","isArray","saveCheckedEntities","saveNoticeId","entitiesToSave","key","property","some","elt","siteItemsToSave","pendingSavedRecords","forEach","typeToPublish","status","length","Promise","all","then","value","type","id","catch","error","dismissPanel","saveDialogRef","saveDialogProps","onClose","map","list"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __experimentalUseDialog as useDialog } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport EntityTypeList from './entity-type-list';\nimport { useIsDirty } from './hooks/use-is-dirty';\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: 'wp_navigation',\n\t},\n];\n\nfunction identity( values ) {\n\treturn values;\n}\n\nexport default function EntitiesSavedStates( { close } ) {\n\tconst isDirtyProps = useIsDirty();\n\treturn (\n\t\t<EntitiesSavedStatesExtensible close={ close } { ...isDirtyProps } />\n\t);\n}\n\nexport function EntitiesSavedStatesExtensible( {\n\tadditionalPrompt = undefined,\n\tclose,\n\tonSave = identity,\n\tsaveEnabled: saveEnabledProp = undefined,\n\tsaveLabel = __( 'Save' ),\n\n\tdirtyEntityRecords,\n\tisDirty,\n\tsetUnselectedEntities,\n\tunselectedEntities,\n} ) {\n\tconst saveButtonRef = useRef();\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\t// To group entities by type.\n\tconst partitionedSavables = dirtyEntityRecords.reduce( ( acc, record ) => {\n\t\tconst { name } = record;\n\t\tif ( ! acc[ name ] ) {\n\t\t\tacc[ name ] = [];\n\t\t}\n\t\tacc[ name ].push( record );\n\t\treturn acc;\n\t}, {} );\n\n\t// Sort entity groups.\n\tconst {\n\t\tsite: siteSavables,\n\t\twp_template: templateSavables,\n\t\twp_template_part: templatePartSavables,\n\t\t...contentSavables\n\t} = partitionedSavables;\n\tconst sortedPartitionedSavables = [\n\t\tsiteSavables,\n\t\ttemplateSavables,\n\t\ttemplatePartSavables,\n\t\t...Object.values( contentSavables ),\n\t].filter( Array.isArray );\n\n\tconst saveEnabled = saveEnabledProp ?? isDirty;\n\n\tconst saveCheckedEntities = () => {\n\t\tconst saveNoticeId = 'site-editor-save-success';\n\t\tremoveNotice( saveNoticeId );\n\t\tconst entitiesToSave = dirtyEntityRecords.filter(\n\t\t\t( { kind, name, key, property } ) => {\n\t\t\t\treturn ! unselectedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === kind &&\n\t\t\t\t\t\telt.name === name &&\n\t\t\t\t\t\telt.key === key &&\n\t\t\t\t\t\telt.property === property\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\tclose( entitiesToSave );\n\n\t\tconst siteItemsToSave = [];\n\t\tconst pendingSavedRecords = [];\n\t\tentitiesToSave.forEach( ( { kind, name, key, property } ) => {\n\t\t\tif ( 'root' === kind && 'site' === name ) {\n\t\t\t\tsiteItemsToSave.push( property );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tpendingSavedRecords.push(\n\t\t\t\t\tsaveEditedEntityRecord( kind, name, key )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\tif ( siteItemsToSave.length ) {\n\t\t\tpendingSavedRecords.push(\n\t\t\t\tsaveSpecifiedEntityEdits(\n\t\t\t\t\t'root',\n\t\t\t\t\t'site',\n\t\t\t\t\tundefined,\n\t\t\t\t\tsiteItemsToSave\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\tPromise.all( pendingSavedRecords )\n\t\t\t.then( ( values ) => {\n\t\t\t\treturn onSave( values );\n\t\t\t} )\n\t\t\t.then( ( values ) => {\n\t\t\t\tif (\n\t\t\t\t\tvalues.some( ( value ) => typeof value === 'undefined' )\n\t\t\t\t) {\n\t\t\t\t\tcreateErrorNotice( __( 'Saving failed.' ) );\n\t\t\t\t} else {\n\t\t\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: saveNoticeId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( ( error ) =>\n\t\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` )\n\t\t\t);\n\t};\n\n\t// Explicitly define this with no argument passed. Using `close` on\n\t// its own will use the event object in place of the expected saved entities.\n\tconst dismissPanel = useCallback( () => close(), [ close ] );\n\n\tconst [ saveDialogRef, saveDialogProps ] = useDialog( {\n\t\tonClose: () => dismissPanel(),\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tref={ saveDialogRef }\n\t\t\t{ ...saveDialogProps }\n\t\t\tclassName=\"entities-saved-states__panel\"\n\t\t>\n\t\t\t<Flex className=\"entities-saved-states__panel-header\" gap={ 2 }>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tref={ saveButtonRef }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdisabled={ ! saveEnabled }\n\t\t\t\t\tonClick={ saveCheckedEntities }\n\t\t\t\t\tclassName=\"editor-entities-saved-states__save-button\"\n\t\t\t\t>\n\t\t\t\t\t{ saveLabel }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ dismissPanel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\n\t\t\t<div className=\"entities-saved-states__text-prompt\">\n\t\t\t\t<strong>{ __( 'Are you ready to save?' ) }</strong>\n\t\t\t\t{ additionalPrompt }\n\t\t\t\t{ isDirty && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'The following changes have been made to your site, templates, and content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t{ sortedPartitionedSavables.map( ( list ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<EntityTypeList\n\t\t\t\t\t\tkey={ list[ 0 ].name }\n\t\t\t\t\t\tlist={ list }\n\t\t\t\t\t\tclosePanel={ dismissPanel }\n\t\t\t\t\t\tunselectedEntities={ unselectedEntities }\n\t\t\t\t\t\tsetUnselectedEntities={ setUnselectedEntities }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -28,11 +28,10 @@ function getContent() {
|
|
|
28
28
|
} catch (error) {}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
function CopyButton(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
} = _ref;
|
|
31
|
+
function CopyButton({
|
|
32
|
+
text,
|
|
33
|
+
children
|
|
34
|
+
}) {
|
|
36
35
|
const ref = useCopyToClipboard(text);
|
|
37
36
|
return createElement(Button, {
|
|
38
37
|
variant: "secondary",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/error-boundary/index.js"],"names":["Component","__","Button","select","Warning","useCopyToClipboard","doAction","store","editorStore","getContent","getEditedPostContent","error","CopyButton","text","children","ref","ErrorBoundary","constructor","arguments","state","componentDidCatch","getDerivedStateFromError","render","props","actions","stack"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,MAAT,QAAuB,iBAAvB;AACA,SAASC,OAAT,QAAwB,yBAAxB;AACA,SAASC,kBAAT,QAAmC,oBAAnC;AACA,SAASC,QAAT,QAAyB,kBAAzB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,UAAT,GAAsB;AACrB,MAAI;AACH;AACA;AACA;AACA;AACA;AACA;AACA,WAAON,MAAM,CAAEK,WAAF,CAAN,CAAsBE,oBAAtB,EAAP;AACA,GARD,CAQE,OAAQC,KAAR,EAAgB,CAAE;AACpB;;AAED,SAASC,UAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/error-boundary/index.js"],"names":["Component","__","Button","select","Warning","useCopyToClipboard","doAction","store","editorStore","getContent","getEditedPostContent","error","CopyButton","text","children","ref","ErrorBoundary","constructor","arguments","state","componentDidCatch","getDerivedStateFromError","render","props","actions","stack"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,MAAT,QAAuB,iBAAvB;AACA,SAASC,OAAT,QAAwB,yBAAxB;AACA,SAASC,kBAAT,QAAmC,oBAAnC;AACA,SAASC,QAAT,QAAyB,kBAAzB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,UAAT,GAAsB;AACrB,MAAI;AACH;AACA;AACA;AACA;AACA;AACA;AACA,WAAON,MAAM,CAAEK,WAAF,CAAN,CAAsBE,oBAAtB,EAAP;AACA,GARD,CAQE,OAAQC,KAAR,EAAgB,CAAE;AACpB;;AAED,SAASC,UAAT,CAAqB;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,CAArB,EAA0C;AACzC,QAAMC,GAAG,GAAGV,kBAAkB,CAAEQ,IAAF,CAA9B;AACA,SACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAC,WAAhB;AAA4B,IAAA,GAAG,EAAGE;AAAlC,KACGD,QADH,CADD;AAKA;;AAED,MAAME,aAAN,SAA4BhB,SAA5B,CAAsC;AACrCiB,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKC,KAAL,GAAa;AACZR,MAAAA,KAAK,EAAE;AADK,KAAb;AAGA;;AAEDS,EAAAA,iBAAiB,CAAET,KAAF,EAAU;AAC1BL,IAAAA,QAAQ,CAAE,kCAAF,EAAsCK,KAAtC,CAAR;AACA;;AAE8B,SAAxBU,wBAAwB,CAAEV,KAAF,EAAU;AACxC,WAAO;AAAEA,MAAAA;AAAF,KAAP;AACA;;AAEDW,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEX,MAAAA;AAAF,QAAY,KAAKQ,KAAvB;;AACA,QAAK,CAAER,KAAP,EAAe;AACd,aAAO,KAAKY,KAAL,CAAWT,QAAlB;AACA;;AAED,UAAMU,OAAO,GAAG,CACf,cAAC,UAAD;AAAY,MAAA,GAAG,EAAC,WAAhB;AAA4B,MAAA,IAAI,EAAGf;AAAnC,OACGR,EAAE,CAAE,gBAAF,CADL,CADe,EAIf,cAAC,UAAD;AAAY,MAAA,GAAG,EAAC,YAAhB;AAA6B,MAAA,IAAI,EAAGU,KAAK,CAACc;AAA1C,OACGxB,EAAE,CAAE,YAAF,CADL,CAJe,CAAhB;AASA,WACC,cAAC,OAAD;AAAS,MAAA,SAAS,EAAC,uBAAnB;AAA2C,MAAA,OAAO,EAAGuB;AAArD,OACGvB,EAAE,CAAE,iDAAF,CADL,CADD;AAKA;;AArCoC;;AAwCtC,eAAee,aAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { select } from '@wordpress/data';\nimport { Warning } from '@wordpress/block-editor';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { doAction } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction getContent() {\n\ttry {\n\t\t// While `select` in a component is generally discouraged, it is\n\t\t// used here because it (a) reduces the chance of data loss in the\n\t\t// case of additional errors by performing a direct retrieval and\n\t\t// (b) avoids the performance cost associated with unnecessary\n\t\t// content serialization throughout the lifetime of a non-erroring\n\t\t// application.\n\t\treturn select( editorStore ).getEditedPostContent();\n\t} catch ( error ) {}\n}\n\nfunction CopyButton( { text, children } ) {\n\tconst ref = useCopyToClipboard( text );\n\treturn (\n\t\t<Button variant=\"secondary\" ref={ ref }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nclass ErrorBoundary extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\terror: null,\n\t\t};\n\t}\n\n\tcomponentDidCatch( error ) {\n\t\tdoAction( 'editor.ErrorBoundary.errorLogged', error );\n\t}\n\n\tstatic getDerivedStateFromError( error ) {\n\t\treturn { error };\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tif ( ! error ) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\tconst actions = [\n\t\t\t<CopyButton key=\"copy-post\" text={ getContent }>\n\t\t\t\t{ __( 'Copy Post Text' ) }\n\t\t\t</CopyButton>,\n\t\t\t<CopyButton key=\"copy-error\" text={ error.stack }>\n\t\t\t\t{ __( 'Copy Error' ) }\n\t\t\t</CopyButton>,\n\t\t];\n\n\t\treturn (\n\t\t\t<Warning className=\"editor-error-boundary\" actions={ actions }>\n\t\t\t\t{ __( 'The editor has encountered an unexpected error.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n}\n\nexport default ErrorBoundary;\n"]}
|
|
@@ -10,10 +10,9 @@ import { parse } from '@wordpress/blocks';
|
|
|
10
10
|
|
|
11
11
|
import { store as editorStore } from '../../store';
|
|
12
12
|
|
|
13
|
-
function SaveShortcut(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} = _ref;
|
|
13
|
+
function SaveShortcut({
|
|
14
|
+
resetBlocksOnSave
|
|
15
|
+
}) {
|
|
17
16
|
const {
|
|
18
17
|
resetEditorBlocks,
|
|
19
18
|
savePost
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/save-shortcut.js"],"names":["useShortcut","useDispatch","useSelect","parse","store","editorStore","SaveShortcut","resetBlocksOnSave","resetEditorBlocks","savePost","isEditedPostDirty","getPostEdits","isPostSavingLocked","event","preventDefault","postEdits","content","blocks"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,+BAA5B;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,KAAT,QAAsB,mBAAtB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,YAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/save-shortcut.js"],"names":["useShortcut","useDispatch","useSelect","parse","store","editorStore","SaveShortcut","resetBlocksOnSave","resetEditorBlocks","savePost","isEditedPostDirty","getPostEdits","isPostSavingLocked","event","preventDefault","postEdits","content","blocks"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,+BAA5B;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,KAAT,QAAsB,mBAAtB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,YAAT,CAAuB;AAAEC,EAAAA;AAAF,CAAvB,EAA+C;AAC9C,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAAkCR,WAAW,CAAEI,WAAF,CAAnD;AACA,QAAM;AAAEK,IAAAA,iBAAF;AAAqBC,IAAAA,YAArB;AAAmCC,IAAAA;AAAnC,MACLV,SAAS,CAAEG,WAAF,CADV;AAGAL,EAAAA,WAAW,CAAE,kBAAF,EAAwBa,KAAF,IAAa;AAC7CA,IAAAA,KAAK,CAACC,cAAN;AAEA;AACF;AACA;;AACE,QAAKF,kBAAkB,EAAvB,EAA4B;AAC3B;AACA,KAR4C,CAU7C;AACA;AACA;AACA;AACA;;;AACA,QAAK,CAAEF,iBAAiB,EAAxB,EAA6B;AAC5B;AACA,KAjB4C,CAmB7C;AACA;AACA;AACA;;;AACA,QAAKH,iBAAL,EAAyB;AACxB,YAAMQ,SAAS,GAAGJ,YAAY,EAA9B;;AACA,UAAKI,SAAS,CAACC,OAAV,IAAqB,OAAOD,SAAS,CAACC,OAAjB,KAA6B,QAAvD,EAAkE;AACjE,cAAMC,MAAM,GAAGd,KAAK,CAAEY,SAAS,CAACC,OAAZ,CAApB;AACAR,QAAAA,iBAAiB,CAAES,MAAF,CAAjB;AACA;AACD;;AAEDR,IAAAA,QAAQ;AACR,GAhCU,CAAX;AAkCA,SAAO,IAAP;AACA;;AAED,eAAeH,YAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction SaveShortcut( { resetBlocksOnSave } ) {\n\tconst { resetEditorBlocks, savePost } = useDispatch( editorStore );\n\tconst { isEditedPostDirty, getPostEdits, isPostSavingLocked } =\n\t\tuseSelect( editorStore );\n\n\tuseShortcut( 'core/editor/save', ( event ) => {\n\t\tevent.preventDefault();\n\n\t\t/**\n\t\t * Do not save the post if post saving is locked.\n\t\t */\n\t\tif ( isPostSavingLocked() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// TODO: This should be handled in the `savePost` effect in\n\t\t// considering `isSaveable`. See note on `isEditedPostSaveable`\n\t\t// selector about dirtiness and meta-boxes.\n\t\t//\n\t\t// See: `isEditedPostSaveable`\n\t\tif ( ! isEditedPostDirty() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The text editor requires that editor blocks are updated for a\n\t\t// save to work correctly. Usually this happens when the textarea\n\t\t// for the code editors blurs, but the shortcut can be used without\n\t\t// blurring the textarea.\n\t\tif ( resetBlocksOnSave ) {\n\t\t\tconst postEdits = getPostEdits();\n\t\t\tif ( postEdits.content && typeof postEdits.content === 'string' ) {\n\t\t\t\tconst blocks = parse( postEdits.content );\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t}\n\t\t}\n\n\t\tsavePost();\n\t} );\n\n\treturn null;\n}\n\nexport default SaveShortcut;\n"]}
|
|
@@ -12,6 +12,7 @@ export { default as EditorHistoryUndo } from './editor-history/undo';
|
|
|
12
12
|
export { default as EditorNotices } from './editor-notices';
|
|
13
13
|
export { default as EditorSnackbars } from './editor-snackbars';
|
|
14
14
|
export { default as EntitiesSavedStates } from './entities-saved-states';
|
|
15
|
+
export { useIsDirty as useEntitiesSavedStatesIsDirty } from './entities-saved-states/hooks/use-is-dirty';
|
|
15
16
|
export { default as ErrorBoundary } from './error-boundary';
|
|
16
17
|
export { default as LocalAutosaveMonitor } from './local-autosave-monitor';
|
|
17
18
|
export { default as PageAttributesCheck } from './page-attributes/check';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/index.js"],"names":["default","AutosaveMonitor","DocumentOutline","DocumentOutlineCheck","VisualEditorGlobalKeyboardShortcuts","TextEditorGlobalKeyboardShortcuts","EditorKeyboardShortcutsRegister","EditorHistoryRedo","EditorHistoryUndo","EditorNotices","EditorSnackbars","EntitiesSavedStates","ErrorBoundary","LocalAutosaveMonitor","PageAttributesCheck","PageAttributesOrder","PageAttributesParent","PageTemplate","PostAuthor","PostAuthorCheck","PostComments","PostExcerpt","PostExcerptCheck","PostFeaturedImage","PostFeaturedImageCheck","PostFormat","PostFormatCheck","PostLastRevision","PostLastRevisionCheck","PostLockedModal","PostPendingStatus","PostPendingStatusCheck","PostPingbacks","PostPreviewButton","PostPublishButton","PostPublishButtonLabel","PostPublishPanel","PostSavedState","PostSchedule","PostScheduleCheck","PostScheduleLabel","usePostScheduleLabel","PostSlug","PostSlugCheck","PostSticky","PostStickyCheck","PostSwitchToDraftButton","PostTaxonomies","FlatTermSelector","PostTaxonomiesFlatTermSelector","HierarchicalTermSelector","PostTaxonomiesHierarchicalTermSelector","PostTaxonomiesCheck","PostTextEditor","PostTitle","PostTrash","PostTrashCheck","PostTypeSupportCheck","PostURL","PostURLCheck","PostURLLabel","usePostURLLabel","PostVisibility","PostVisibilityLabel","usePostVisibilityLabel","PostVisibilityCheck","TableOfContents","ThemeSupportCheck","UnsavedChangesWarning","WordCount","TimeToRead","CharacterCount","EditorProvider"],"mappings":"AAAA;AACA,cAAc,kBAAd,C,CAEA;;AACA,SAASA,OAAO,IAAIC,eAApB,QAA2C,oBAA3C;AACA,SAASD,OAAO,IAAIE,eAApB,QAA2C,oBAA3C;AACA,SAASF,OAAO,IAAIG,oBAApB,QAAgD,0BAAhD;AACA,SAASH,OAAO,IAAII,mCAApB,QAA+D,qDAA/D;AACA,SAASJ,OAAO,IAAIK,iCAApB,QAA6D,mDAA7D;AACA,SAASL,OAAO,IAAIM,+BAApB,QAA2D,gDAA3D;AACA,SAASN,OAAO,IAAIO,iBAApB,QAA6C,uBAA7C;AACA,SAASP,OAAO,IAAIQ,iBAApB,QAA6C,uBAA7C;AACA,SAASR,OAAO,IAAIS,aAApB,QAAyC,kBAAzC;AACA,SAAST,OAAO,IAAIU,eAApB,QAA2C,oBAA3C;AACA,SAASV,OAAO,IAAIW,mBAApB,QAA+C,yBAA/C;AACA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/index.js"],"names":["default","AutosaveMonitor","DocumentOutline","DocumentOutlineCheck","VisualEditorGlobalKeyboardShortcuts","TextEditorGlobalKeyboardShortcuts","EditorKeyboardShortcutsRegister","EditorHistoryRedo","EditorHistoryUndo","EditorNotices","EditorSnackbars","EntitiesSavedStates","useIsDirty","useEntitiesSavedStatesIsDirty","ErrorBoundary","LocalAutosaveMonitor","PageAttributesCheck","PageAttributesOrder","PageAttributesParent","PageTemplate","PostAuthor","PostAuthorCheck","PostComments","PostExcerpt","PostExcerptCheck","PostFeaturedImage","PostFeaturedImageCheck","PostFormat","PostFormatCheck","PostLastRevision","PostLastRevisionCheck","PostLockedModal","PostPendingStatus","PostPendingStatusCheck","PostPingbacks","PostPreviewButton","PostPublishButton","PostPublishButtonLabel","PostPublishPanel","PostSavedState","PostSchedule","PostScheduleCheck","PostScheduleLabel","usePostScheduleLabel","PostSlug","PostSlugCheck","PostSticky","PostStickyCheck","PostSwitchToDraftButton","PostTaxonomies","FlatTermSelector","PostTaxonomiesFlatTermSelector","HierarchicalTermSelector","PostTaxonomiesHierarchicalTermSelector","PostTaxonomiesCheck","PostTextEditor","PostTitle","PostTrash","PostTrashCheck","PostTypeSupportCheck","PostURL","PostURLCheck","PostURLLabel","usePostURLLabel","PostVisibility","PostVisibilityLabel","usePostVisibilityLabel","PostVisibilityCheck","TableOfContents","ThemeSupportCheck","UnsavedChangesWarning","WordCount","TimeToRead","CharacterCount","EditorProvider"],"mappings":"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","sourcesContent":["// Block Creation Components.\nexport * from './autocompleters';\n\n// Post Related Components.\nexport { default as AutosaveMonitor } from './autosave-monitor';\nexport { default as DocumentOutline } from './document-outline';\nexport { default as DocumentOutlineCheck } from './document-outline/check';\nexport { default as VisualEditorGlobalKeyboardShortcuts } from './global-keyboard-shortcuts/visual-editor-shortcuts';\nexport { default as TextEditorGlobalKeyboardShortcuts } from './global-keyboard-shortcuts/text-editor-shortcuts';\nexport { default as EditorKeyboardShortcutsRegister } from './global-keyboard-shortcuts/register-shortcuts';\nexport { default as EditorHistoryRedo } from './editor-history/redo';\nexport { default as EditorHistoryUndo } from './editor-history/undo';\nexport { default as EditorNotices } from './editor-notices';\nexport { default as EditorSnackbars } from './editor-snackbars';\nexport { default as EntitiesSavedStates } from './entities-saved-states';\nexport { useIsDirty as useEntitiesSavedStatesIsDirty } from './entities-saved-states/hooks/use-is-dirty';\nexport { default as ErrorBoundary } from './error-boundary';\nexport { default as LocalAutosaveMonitor } from './local-autosave-monitor';\nexport { default as PageAttributesCheck } from './page-attributes/check';\nexport { default as PageAttributesOrder } from './page-attributes/order';\nexport { default as PageAttributesParent } from './page-attributes/parent';\nexport { default as PageTemplate } from './post-template';\nexport { default as PostAuthor } from './post-author';\nexport { default as PostAuthorCheck } from './post-author/check';\nexport { default as PostComments } from './post-comments';\nexport { default as PostExcerpt } from './post-excerpt';\nexport { default as PostExcerptCheck } from './post-excerpt/check';\nexport { default as PostFeaturedImage } from './post-featured-image';\nexport { default as PostFeaturedImageCheck } from './post-featured-image/check';\nexport { default as PostFormat } from './post-format';\nexport { default as PostFormatCheck } from './post-format/check';\nexport { default as PostLastRevision } from './post-last-revision';\nexport { default as PostLastRevisionCheck } from './post-last-revision/check';\nexport { default as PostLockedModal } from './post-locked-modal';\nexport { default as PostPendingStatus } from './post-pending-status';\nexport { default as PostPendingStatusCheck } from './post-pending-status/check';\nexport { default as PostPingbacks } from './post-pingbacks';\nexport { default as PostPreviewButton } from './post-preview-button';\nexport { default as PostPublishButton } from './post-publish-button';\nexport { default as PostPublishButtonLabel } from './post-publish-button/label';\nexport { default as PostPublishPanel } from './post-publish-panel';\nexport { default as PostSavedState } from './post-saved-state';\nexport { default as PostSchedule } from './post-schedule';\nexport { default as PostScheduleCheck } from './post-schedule/check';\nexport {\n\tdefault as PostScheduleLabel,\n\tusePostScheduleLabel,\n} from './post-schedule/label';\nexport { default as PostSlug } from './post-slug';\nexport { default as PostSlugCheck } from './post-slug/check';\nexport { default as PostSticky } from './post-sticky';\nexport { default as PostStickyCheck } from './post-sticky/check';\nexport { default as PostSwitchToDraftButton } from './post-switch-to-draft-button';\nexport { default as PostTaxonomies } from './post-taxonomies';\nexport { FlatTermSelector as PostTaxonomiesFlatTermSelector } from './post-taxonomies/flat-term-selector';\nexport { HierarchicalTermSelector as PostTaxonomiesHierarchicalTermSelector } from './post-taxonomies/hierarchical-term-selector';\nexport { default as PostTaxonomiesCheck } from './post-taxonomies/check';\nexport { default as PostTextEditor } from './post-text-editor';\nexport { default as PostTitle } from './post-title';\nexport { default as PostTrash } from './post-trash';\nexport { default as PostTrashCheck } from './post-trash/check';\nexport { default as PostTypeSupportCheck } from './post-type-support-check';\nexport { default as PostURL } from './post-url';\nexport { default as PostURLCheck } from './post-url/check';\nexport { default as PostURLLabel, usePostURLLabel } from './post-url/label';\nexport { default as PostVisibility } from './post-visibility';\nexport {\n\tdefault as PostVisibilityLabel,\n\tusePostVisibilityLabel,\n} from './post-visibility/label';\nexport { default as PostVisibilityCheck } from './post-visibility/check';\nexport { default as TableOfContents } from './table-of-contents';\nexport { default as ThemeSupportCheck } from './theme-support-check';\nexport { default as UnsavedChangesWarning } from './unsaved-changes-warning';\nexport { default as WordCount } from './word-count';\nexport { default as TimeToRead } from './time-to-read';\nexport { default as CharacterCount } from './character-count';\n\n// State Related Components.\nexport { default as EditorProvider } from './provider';\n\nexport * from './deprecated';\n"]}
|
|
@@ -99,21 +99,16 @@ const getOpenverseCaption = item => {
|
|
|
99
99
|
return _caption.replace(/\s{2}/g, ' ');
|
|
100
100
|
};
|
|
101
101
|
|
|
102
|
-
const coreMediaFetch = async
|
|
103
|
-
let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
102
|
+
const coreMediaFetch = async (query = {}) => {
|
|
104
103
|
const mediaItems = await resolveSelect(coreStore).getMediaItems({ ...query,
|
|
105
|
-
orderBy: !!
|
|
106
|
-
});
|
|
107
|
-
return mediaItems.map(mediaItem => {
|
|
108
|
-
var _mediaItem$media_deta, _mediaItem$media_deta2, _mediaItem$media_deta3, _mediaItem$caption;
|
|
109
|
-
|
|
110
|
-
return { ...mediaItem,
|
|
111
|
-
alt: mediaItem.alt_text,
|
|
112
|
-
url: mediaItem.source_url,
|
|
113
|
-
previewUrl: (_mediaItem$media_deta = mediaItem.media_details) === null || _mediaItem$media_deta === void 0 ? void 0 : (_mediaItem$media_deta2 = _mediaItem$media_deta.sizes) === null || _mediaItem$media_deta2 === void 0 ? void 0 : (_mediaItem$media_deta3 = _mediaItem$media_deta2.medium) === null || _mediaItem$media_deta3 === void 0 ? void 0 : _mediaItem$media_deta3.source_url,
|
|
114
|
-
caption: (_mediaItem$caption = mediaItem.caption) === null || _mediaItem$caption === void 0 ? void 0 : _mediaItem$caption.raw
|
|
115
|
-
};
|
|
104
|
+
orderBy: !!query?.search ? 'relevance' : 'date'
|
|
116
105
|
});
|
|
106
|
+
return mediaItems.map(mediaItem => ({ ...mediaItem,
|
|
107
|
+
alt: mediaItem.alt_text,
|
|
108
|
+
url: mediaItem.source_url,
|
|
109
|
+
previewUrl: mediaItem.media_details?.sizes?.medium?.source_url,
|
|
110
|
+
caption: mediaItem.caption?.raw
|
|
111
|
+
}));
|
|
117
112
|
};
|
|
118
113
|
/** @type {InserterMediaCategory[]} */
|
|
119
114
|
|
|
@@ -126,8 +121,7 @@ const inserterMediaCategories = [{
|
|
|
126
121
|
},
|
|
127
122
|
mediaType: 'image',
|
|
128
123
|
|
|
129
|
-
async fetch() {
|
|
130
|
-
let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
124
|
+
async fetch(query = {}) {
|
|
131
125
|
return coreMediaFetch({ ...query,
|
|
132
126
|
media_type: 'image'
|
|
133
127
|
});
|
|
@@ -141,8 +135,7 @@ const inserterMediaCategories = [{
|
|
|
141
135
|
},
|
|
142
136
|
mediaType: 'video',
|
|
143
137
|
|
|
144
|
-
async fetch() {
|
|
145
|
-
let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
138
|
+
async fetch(query = {}) {
|
|
146
139
|
return coreMediaFetch({ ...query,
|
|
147
140
|
media_type: 'video'
|
|
148
141
|
});
|
|
@@ -156,8 +149,7 @@ const inserterMediaCategories = [{
|
|
|
156
149
|
},
|
|
157
150
|
mediaType: 'audio',
|
|
158
151
|
|
|
159
|
-
async fetch() {
|
|
160
|
-
let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
152
|
+
async fetch(query = {}) {
|
|
161
153
|
return coreMediaFetch({ ...query,
|
|
162
154
|
media_type: 'audio'
|
|
163
155
|
});
|
|
@@ -171,8 +163,7 @@ const inserterMediaCategories = [{
|
|
|
171
163
|
},
|
|
172
164
|
mediaType: 'image',
|
|
173
165
|
|
|
174
|
-
async fetch() {
|
|
175
|
-
let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
166
|
+
async fetch(query = {}) {
|
|
176
167
|
const defaultArgs = {
|
|
177
168
|
mature: false,
|
|
178
169
|
excluded_source: 'flickr,inaturalist,wikimedia',
|
|
@@ -186,8 +177,7 @@ const inserterMediaCategories = [{
|
|
|
186
177
|
search: 'q'
|
|
187
178
|
};
|
|
188
179
|
const url = new URL('https://api.openverse.engineering/v1/images/');
|
|
189
|
-
Object.entries(finalQuery).forEach(
|
|
190
|
-
let [key, value] = _ref;
|
|
180
|
+
Object.entries(finalQuery).forEach(([key, value]) => {
|
|
191
181
|
const queryKey = mapFromInserterMediaRequest[key] || key;
|
|
192
182
|
url.searchParams.set(queryKey, value);
|
|
193
183
|
});
|
|
@@ -198,27 +188,20 @@ const inserterMediaCategories = [{
|
|
|
198
188
|
});
|
|
199
189
|
const jsonResponse = await response.json();
|
|
200
190
|
const results = jsonResponse.results;
|
|
201
|
-
return results.map(result => {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
caption: getOpenverseCaption(result),
|
|
211
|
-
previewUrl: result.thumbnail
|
|
212
|
-
};
|
|
213
|
-
});
|
|
191
|
+
return results.map(result => ({ ...result,
|
|
192
|
+
// This is a temp solution for better titles, until Openverse API
|
|
193
|
+
// completes the cleaning up of some titles of their upstream data.
|
|
194
|
+
title: result.title?.toLowerCase().startsWith('file:') ? result.title.slice(5) : result.title,
|
|
195
|
+
sourceId: result.id,
|
|
196
|
+
id: undefined,
|
|
197
|
+
caption: getOpenverseCaption(result),
|
|
198
|
+
previewUrl: result.thumbnail
|
|
199
|
+
}));
|
|
214
200
|
},
|
|
215
201
|
|
|
216
|
-
getReportUrl:
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
} = _ref2;
|
|
220
|
-
return `https://wordpress.org/openverse/image/${sourceId}/report/`;
|
|
221
|
-
},
|
|
202
|
+
getReportUrl: ({
|
|
203
|
+
sourceId
|
|
204
|
+
}) => `https://wordpress.org/openverse/image/${sourceId}/report/`,
|
|
222
205
|
isExternalResource: true
|
|
223
206
|
}];
|
|
224
207
|
export default inserterMediaCategories;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/media-categories/index.js"],"names":["__","sprintf","_x","resolveSelect","decodeEntities","store","coreStore","getExternalLink","url","text","getExternalLinkAttributes","getOpenverseLicense","license","licenseVersion","licenseName","trim","toUpperCase","replace","includes","getOpenverseCaption","item","title","foreign_landing_url","foreignLandingUrl","creator","creator_url","creatorUrl","license_version","license_url","licenseUrl","fullLicense","_creator","_caption","coreMediaFetch","query","mediaItems","getMediaItems","orderBy","search","map","mediaItem","alt","alt_text","source_url","previewUrl","media_details","sizes","medium","caption","raw","inserterMediaCategories","name","labels","search_items","mediaType","fetch","media_type","defaultArgs","mature","excluded_source","finalQuery","mapFromInserterMediaRequest","per_page","URL","Object","entries","forEach","key","value","queryKey","searchParams","set","response","window","headers","jsonResponse","json","results","result","toLowerCase","startsWith","slice","sourceId","id","undefined","thumbnail","getReportUrl","isExternalResource"],"mappings":"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","sourcesContent":["/**\n * The `editor` settings here need to be in sync with the corresponding ones in `editor` package.\n * See `packages/editor/src/components/media-categories/index.js`.\n *\n * In the future we could consider creating an Openvese package that can be used in both `editor` and `site-editor`.\n * The rest of the settings would still need to be in sync though.\n */\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { resolveSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\n\n/** @typedef {import('@wordpress/block-editor').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */\n/**\n * Interface for inserter media category labels.\n *\n * @typedef {Object} InserterMediaCategoryLabels\n * @property {string} name General name of the media category. It's used in the inserter media items list.\n * @property {string} [search_items='Search'] Label for searching items. Default is ‘Search Posts’ / ‘Search Pages’.\n */\n/**\n * Interface for inserter media category.\n *\n * @typedef {Object} InserterMediaCategory\n * @property {string} name The name of the media category, that should be unique among all media categories.\n * @property {InserterMediaCategoryLabels} labels Labels for the media category.\n * @property {('image'|'audio'|'video')} mediaType The media type of the media category.\n * @property {(InserterMediaRequest) => Promise<InserterMediaItem[]>} fetch The function to fetch media items for the category.\n * @property {(InserterMediaItem) => string} [getReportUrl] If the media category supports reporting media items, this function should return\n * the report url for the media item. It accepts the `InserterMediaItem` as an argument.\n * @property {boolean} [isExternalResource] If the media category is an external resource, this should be set to true.\n * This is used to avoid making a request to the external resource when the user\n * opens the inserter for the first time.\n */\n\nconst getExternalLink = ( url, text ) =>\n\t`<a ${ getExternalLinkAttributes( url ) }>${ text }</a>`;\n\nconst getExternalLinkAttributes = ( url ) =>\n\t`href=\"${ url }\" target=\"_blank\" rel=\"noreferrer noopener\"`;\n\nconst getOpenverseLicense = ( license, licenseVersion ) => {\n\tlet licenseName = license.trim();\n\t// PDM has no abbreviation\n\tif ( license !== 'pdm' ) {\n\t\tlicenseName = license.toUpperCase().replace( 'SAMPLING', 'Sampling' );\n\t}\n\t// If version is known, append version to the name.\n\t// The license has to have a version to be valid. Only\n\t// PDM (public domain mark) doesn't have a version.\n\tif ( licenseVersion ) {\n\t\tlicenseName += ` ${ licenseVersion }`;\n\t}\n\t// For licenses other than public-domain marks, prepend 'CC' to the name.\n\tif ( ! [ 'pdm', 'cc0' ].includes( license ) ) {\n\t\tlicenseName = `CC ${ licenseName }`;\n\t}\n\treturn licenseName;\n};\n\nconst getOpenverseCaption = ( item ) => {\n\tconst {\n\t\ttitle,\n\t\tforeign_landing_url: foreignLandingUrl,\n\t\tcreator,\n\t\tcreator_url: creatorUrl,\n\t\tlicense,\n\t\tlicense_version: licenseVersion,\n\t\tlicense_url: licenseUrl,\n\t} = item;\n\tconst fullLicense = getOpenverseLicense( license, licenseVersion );\n\tconst _creator = decodeEntities( creator );\n\tlet _caption;\n\tif ( _creator ) {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Name of the work's creator; %3s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\" by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Name of the work's creator; %3s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a> by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t} else {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\"/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a>/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t}\n\treturn _caption.replace( /\\s{2}/g, ' ' );\n};\n\nconst coreMediaFetch = async ( query = {} ) => {\n\tconst mediaItems = await resolveSelect( coreStore ).getMediaItems( {\n\t\t...query,\n\t\torderBy: !! query?.search ? 'relevance' : 'date',\n\t} );\n\treturn mediaItems.map( ( mediaItem ) => ( {\n\t\t...mediaItem,\n\t\talt: mediaItem.alt_text,\n\t\turl: mediaItem.source_url,\n\t\tpreviewUrl: mediaItem.media_details?.sizes?.medium?.source_url,\n\t\tcaption: mediaItem.caption?.raw,\n\t} ) );\n};\n\n/** @type {InserterMediaCategory[]} */\nconst inserterMediaCategories = [\n\t{\n\t\tname: 'images',\n\t\tlabels: {\n\t\t\tname: __( 'Images' ),\n\t\t\tsearch_items: __( 'Search images' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'image' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'videos',\n\t\tlabels: {\n\t\t\tname: __( 'Videos' ),\n\t\t\tsearch_items: __( 'Search videos' ),\n\t\t},\n\t\tmediaType: 'video',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'video' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'audio',\n\t\tlabels: {\n\t\t\tname: __( 'Audio' ),\n\t\t\tsearch_items: __( 'Search audio' ),\n\t\t},\n\t\tmediaType: 'audio',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'audio' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'openverse',\n\t\tlabels: {\n\t\t\tname: __( 'Openverse' ),\n\t\t\tsearch_items: __( 'Search Openverse' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\tconst defaultArgs = {\n\t\t\t\tmature: false,\n\t\t\t\texcluded_source: 'flickr,inaturalist,wikimedia',\n\t\t\t\tlicense: 'pdm,cc0',\n\t\t\t};\n\t\t\tconst finalQuery = { ...query, ...defaultArgs };\n\t\t\tconst mapFromInserterMediaRequest = {\n\t\t\t\tper_page: 'page_size',\n\t\t\t\tsearch: 'q',\n\t\t\t};\n\t\t\tconst url = new URL(\n\t\t\t\t'https://api.openverse.engineering/v1/images/'\n\t\t\t);\n\t\t\tObject.entries( finalQuery ).forEach( ( [ key, value ] ) => {\n\t\t\t\tconst queryKey = mapFromInserterMediaRequest[ key ] || key;\n\t\t\t\turl.searchParams.set( queryKey, value );\n\t\t\t} );\n\t\t\tconst response = await window.fetch( url, {\n\t\t\t\theaders: {\n\t\t\t\t\t'User-Agent': 'WordPress/inserter-media-fetch',\n\t\t\t\t},\n\t\t\t} );\n\t\t\tconst jsonResponse = await response.json();\n\t\t\tconst results = jsonResponse.results;\n\t\t\treturn results.map( ( result ) => ( {\n\t\t\t\t...result,\n\t\t\t\t// This is a temp solution for better titles, until Openverse API\n\t\t\t\t// completes the cleaning up of some titles of their upstream data.\n\t\t\t\ttitle: result.title?.toLowerCase().startsWith( 'file:' )\n\t\t\t\t\t? result.title.slice( 5 )\n\t\t\t\t\t: result.title,\n\t\t\t\tsourceId: result.id,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: getOpenverseCaption( result ),\n\t\t\t\tpreviewUrl: result.thumbnail,\n\t\t\t} ) );\n\t\t},\n\t\tgetReportUrl: ( { sourceId } ) =>\n\t\t\t`https://wordpress.org/openverse/image/${ sourceId }/report/`,\n\t\tisExternalResource: true,\n\t},\n];\n\nexport default inserterMediaCategories;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/media-categories/index.js"],"names":["__","sprintf","_x","resolveSelect","decodeEntities","store","coreStore","getExternalLink","url","text","getExternalLinkAttributes","getOpenverseLicense","license","licenseVersion","licenseName","trim","toUpperCase","replace","includes","getOpenverseCaption","item","title","foreign_landing_url","foreignLandingUrl","creator","creator_url","creatorUrl","license_version","license_url","licenseUrl","fullLicense","_creator","_caption","coreMediaFetch","query","mediaItems","getMediaItems","orderBy","search","map","mediaItem","alt","alt_text","source_url","previewUrl","media_details","sizes","medium","caption","raw","inserterMediaCategories","name","labels","search_items","mediaType","fetch","media_type","defaultArgs","mature","excluded_source","finalQuery","mapFromInserterMediaRequest","per_page","URL","Object","entries","forEach","key","value","queryKey","searchParams","set","response","window","headers","jsonResponse","json","results","result","toLowerCase","startsWith","slice","sourceId","id","undefined","thumbnail","getReportUrl","isExternalResource"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,OAAb,EAAsBC,EAAtB,QAAgC,iBAAhC;AACA,SAASC,aAAT,QAA8B,iBAA9B;AACA,SAASC,cAAT,QAA+B,0BAA/B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,eAAe,GAAG,CAAEC,GAAF,EAAOC,IAAP,KACtB,MAAMC,yBAAyB,CAAEF,GAAF,CAAS,IAAIC,IAAM,MADpD;;AAGA,MAAMC,yBAAyB,GAAKF,GAAF,IAChC,SAASA,GAAK,6CADhB;;AAGA,MAAMG,mBAAmB,GAAG,CAAEC,OAAF,EAAWC,cAAX,KAA+B;AAC1D,MAAIC,WAAW,GAAGF,OAAO,CAACG,IAAR,EAAlB,CAD0D,CAE1D;;AACA,MAAKH,OAAO,KAAK,KAAjB,EAAyB;AACxBE,IAAAA,WAAW,GAAGF,OAAO,CAACI,WAAR,GAAsBC,OAAtB,CAA+B,UAA/B,EAA2C,UAA3C,CAAd;AACA,GALyD,CAM1D;AACA;AACA;;;AACA,MAAKJ,cAAL,EAAsB;AACrBC,IAAAA,WAAW,IAAK,IAAID,cAAgB,EAApC;AACA,GAXyD,CAY1D;;;AACA,MAAK,CAAE,CAAE,KAAF,EAAS,KAAT,EAAiBK,QAAjB,CAA2BN,OAA3B,CAAP,EAA8C;AAC7CE,IAAAA,WAAW,GAAI,MAAMA,WAAa,EAAlC;AACA;;AACD,SAAOA,WAAP;AACA,CAjBD;;AAmBA,MAAMK,mBAAmB,GAAKC,IAAF,IAAY;AACvC,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,mBAAmB,EAAEC,iBAFhB;AAGLC,IAAAA,OAHK;AAILC,IAAAA,WAAW,EAAEC,UAJR;AAKLd,IAAAA,OALK;AAMLe,IAAAA,eAAe,EAAEd,cANZ;AAOLe,IAAAA,WAAW,EAAEC;AAPR,MAQFT,IARJ;AASA,QAAMU,WAAW,GAAGnB,mBAAmB,CAAEC,OAAF,EAAWC,cAAX,CAAvC;;AACA,QAAMkB,QAAQ,GAAG3B,cAAc,CAAEoB,OAAF,CAA/B;;AACA,MAAIQ,QAAJ;;AACA,MAAKD,QAAL,EAAgB;AACfC,IAAAA,QAAQ,GAAGX,KAAK,GACbpB,OAAO,EACP;AACAC,IAAAA,EAAE,CAAE,sBAAF,EAA0B,SAA1B,CAFK,EAGPK,eAAe,CACdgB,iBADc,EAEdnB,cAAc,CAAEiB,KAAF,CAFA,CAHR,EAOPK,UAAU,GACPnB,eAAe,CAAEmB,UAAF,EAAcK,QAAd,CADR,GAEPA,QATI,EAUPF,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WAfI,CADM,GAkBb7B,OAAO,EACP;AACAC,IAAAA,EAAE,CAAE,gCAAF,EAAoC,SAApC,CAFK,EAGPQ,yBAAyB,CAAEa,iBAAF,CAHlB,EAIPG,UAAU,GACPnB,eAAe,CAAEmB,UAAF,EAAcK,QAAd,CADR,GAEPA,QANI,EAOPF,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WAZI,CAlBV;AAgCA,GAjCD,MAiCO;AACNE,IAAAA,QAAQ,GAAGX,KAAK,GACbpB,OAAO,EACP;AACAC,IAAAA,EAAE,CAAE,cAAF,EAAkB,SAAlB,CAFK,EAGPK,eAAe,CACdgB,iBADc,EAEdnB,cAAc,CAAEiB,KAAF,CAFA,CAHR,EAOPQ,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WAZI,CADM,GAeb7B,OAAO,EACP;AACAC,IAAAA,EAAE,CAAE,wBAAF,EAA4B,SAA5B,CAFK,EAGPQ,yBAAyB,CAAEa,iBAAF,CAHlB,EAIPM,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WATI,CAfV;AA0BA;;AACD,SAAOE,QAAQ,CAACf,OAAT,CAAkB,QAAlB,EAA4B,GAA5B,CAAP;AACA,CA3ED;;AA6EA,MAAMgB,cAAc,GAAG,OAAQC,KAAK,GAAG,EAAhB,KAAwB;AAC9C,QAAMC,UAAU,GAAG,MAAMhC,aAAa,CAAEG,SAAF,CAAb,CAA2B8B,aAA3B,CAA0C,EAClE,GAAGF,KAD+D;AAElEG,IAAAA,OAAO,EAAE,CAAC,CAAEH,KAAK,EAAEI,MAAV,GAAmB,WAAnB,GAAiC;AAFwB,GAA1C,CAAzB;AAIA,SAAOH,UAAU,CAACI,GAAX,CAAkBC,SAAF,KAAmB,EACzC,GAAGA,SADsC;AAEzCC,IAAAA,GAAG,EAAED,SAAS,CAACE,QAF0B;AAGzClC,IAAAA,GAAG,EAAEgC,SAAS,CAACG,UAH0B;AAIzCC,IAAAA,UAAU,EAAEJ,SAAS,CAACK,aAAV,EAAyBC,KAAzB,EAAgCC,MAAhC,EAAwCJ,UAJX;AAKzCK,IAAAA,OAAO,EAAER,SAAS,CAACQ,OAAV,EAAmBC;AALa,GAAnB,CAAhB,CAAP;AAOA,CAZD;AAcA;;;AACA,MAAMC,uBAAuB,GAAG,CAC/B;AACCC,EAAAA,IAAI,EAAE,QADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAEnD,EAAE,CAAE,QAAF,CADD;AAEPqD,IAAAA,YAAY,EAAErD,EAAE,CAAE,eAAF;AAFT,GAFT;AAMCsD,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAarB,KAAK,GAAG,EAArB,EAA0B;AACzB,WAAOD,cAAc,CAAE,EAAE,GAAGC,KAAL;AAAYsB,MAAAA,UAAU,EAAE;AAAxB,KAAF,CAArB;AACA;;AATF,CAD+B,EAY/B;AACCL,EAAAA,IAAI,EAAE,QADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAEnD,EAAE,CAAE,QAAF,CADD;AAEPqD,IAAAA,YAAY,EAAErD,EAAE,CAAE,eAAF;AAFT,GAFT;AAMCsD,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAarB,KAAK,GAAG,EAArB,EAA0B;AACzB,WAAOD,cAAc,CAAE,EAAE,GAAGC,KAAL;AAAYsB,MAAAA,UAAU,EAAE;AAAxB,KAAF,CAArB;AACA;;AATF,CAZ+B,EAuB/B;AACCL,EAAAA,IAAI,EAAE,OADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAEnD,EAAE,CAAE,OAAF,CADD;AAEPqD,IAAAA,YAAY,EAAErD,EAAE,CAAE,cAAF;AAFT,GAFT;AAMCsD,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAarB,KAAK,GAAG,EAArB,EAA0B;AACzB,WAAOD,cAAc,CAAE,EAAE,GAAGC,KAAL;AAAYsB,MAAAA,UAAU,EAAE;AAAxB,KAAF,CAArB;AACA;;AATF,CAvB+B,EAkC/B;AACCL,EAAAA,IAAI,EAAE,WADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAEnD,EAAE,CAAE,WAAF,CADD;AAEPqD,IAAAA,YAAY,EAAErD,EAAE,CAAE,kBAAF;AAFT,GAFT;AAMCsD,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAarB,KAAK,GAAG,EAArB,EAA0B;AACzB,UAAMuB,WAAW,GAAG;AACnBC,MAAAA,MAAM,EAAE,KADW;AAEnBC,MAAAA,eAAe,EAAE,8BAFE;AAGnB/C,MAAAA,OAAO,EAAE;AAHU,KAApB;AAKA,UAAMgD,UAAU,GAAG,EAAE,GAAG1B,KAAL;AAAY,SAAGuB;AAAf,KAAnB;AACA,UAAMI,2BAA2B,GAAG;AACnCC,MAAAA,QAAQ,EAAE,WADyB;AAEnCxB,MAAAA,MAAM,EAAE;AAF2B,KAApC;AAIA,UAAM9B,GAAG,GAAG,IAAIuD,GAAJ,CACX,8CADW,CAAZ;AAGAC,IAAAA,MAAM,CAACC,OAAP,CAAgBL,UAAhB,EAA6BM,OAA7B,CAAsC,CAAE,CAAEC,GAAF,EAAOC,KAAP,CAAF,KAAsB;AAC3D,YAAMC,QAAQ,GAAGR,2BAA2B,CAAEM,GAAF,CAA3B,IAAsCA,GAAvD;AACA3D,MAAAA,GAAG,CAAC8D,YAAJ,CAAiBC,GAAjB,CAAsBF,QAAtB,EAAgCD,KAAhC;AACA,KAHD;AAIA,UAAMI,QAAQ,GAAG,MAAMC,MAAM,CAAClB,KAAP,CAAc/C,GAAd,EAAmB;AACzCkE,MAAAA,OAAO,EAAE;AACR,sBAAc;AADN;AADgC,KAAnB,CAAvB;AAKA,UAAMC,YAAY,GAAG,MAAMH,QAAQ,CAACI,IAAT,EAA3B;AACA,UAAMC,OAAO,GAAGF,YAAY,CAACE,OAA7B;AACA,WAAOA,OAAO,CAACtC,GAAR,CAAeuC,MAAF,KAAgB,EACnC,GAAGA,MADgC;AAEnC;AACA;AACAzD,MAAAA,KAAK,EAAEyD,MAAM,CAACzD,KAAP,EAAc0D,WAAd,GAA4BC,UAA5B,CAAwC,OAAxC,IACJF,MAAM,CAACzD,KAAP,CAAa4D,KAAb,CAAoB,CAApB,CADI,GAEJH,MAAM,CAACzD,KANyB;AAOnC6D,MAAAA,QAAQ,EAAEJ,MAAM,CAACK,EAPkB;AAQnCA,MAAAA,EAAE,EAAEC,SAR+B;AASnCpC,MAAAA,OAAO,EAAE7B,mBAAmB,CAAE2D,MAAF,CATO;AAUnClC,MAAAA,UAAU,EAAEkC,MAAM,CAACO;AAVgB,KAAhB,CAAb,CAAP;AAYA,GA5CF;;AA6CCC,EAAAA,YAAY,EAAE,CAAE;AAAEJ,IAAAA;AAAF,GAAF,KACZ,yCAAyCA,QAAU,UA9CtD;AA+CCK,EAAAA,kBAAkB,EAAE;AA/CrB,CAlC+B,CAAhC;AAqFA,eAAerC,uBAAf","sourcesContent":["/**\n * The `editor` settings here need to be in sync with the corresponding ones in `editor` package.\n * See `packages/editor/src/components/media-categories/index.js`.\n *\n * In the future we could consider creating an Openvese package that can be used in both `editor` and `site-editor`.\n * The rest of the settings would still need to be in sync though.\n */\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { resolveSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\n\n/** @typedef {import('@wordpress/block-editor').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */\n/**\n * Interface for inserter media category labels.\n *\n * @typedef {Object} InserterMediaCategoryLabels\n * @property {string} name General name of the media category. It's used in the inserter media items list.\n * @property {string} [search_items='Search'] Label for searching items. Default is ‘Search Posts’ / ‘Search Pages’.\n */\n/**\n * Interface for inserter media category.\n *\n * @typedef {Object} InserterMediaCategory\n * @property {string} name The name of the media category, that should be unique among all media categories.\n * @property {InserterMediaCategoryLabels} labels Labels for the media category.\n * @property {('image'|'audio'|'video')} mediaType The media type of the media category.\n * @property {(InserterMediaRequest) => Promise<InserterMediaItem[]>} fetch The function to fetch media items for the category.\n * @property {(InserterMediaItem) => string} [getReportUrl] If the media category supports reporting media items, this function should return\n * the report url for the media item. It accepts the `InserterMediaItem` as an argument.\n * @property {boolean} [isExternalResource] If the media category is an external resource, this should be set to true.\n * This is used to avoid making a request to the external resource when the user\n * opens the inserter for the first time.\n */\n\nconst getExternalLink = ( url, text ) =>\n\t`<a ${ getExternalLinkAttributes( url ) }>${ text }</a>`;\n\nconst getExternalLinkAttributes = ( url ) =>\n\t`href=\"${ url }\" target=\"_blank\" rel=\"noreferrer noopener\"`;\n\nconst getOpenverseLicense = ( license, licenseVersion ) => {\n\tlet licenseName = license.trim();\n\t// PDM has no abbreviation\n\tif ( license !== 'pdm' ) {\n\t\tlicenseName = license.toUpperCase().replace( 'SAMPLING', 'Sampling' );\n\t}\n\t// If version is known, append version to the name.\n\t// The license has to have a version to be valid. Only\n\t// PDM (public domain mark) doesn't have a version.\n\tif ( licenseVersion ) {\n\t\tlicenseName += ` ${ licenseVersion }`;\n\t}\n\t// For licenses other than public-domain marks, prepend 'CC' to the name.\n\tif ( ! [ 'pdm', 'cc0' ].includes( license ) ) {\n\t\tlicenseName = `CC ${ licenseName }`;\n\t}\n\treturn licenseName;\n};\n\nconst getOpenverseCaption = ( item ) => {\n\tconst {\n\t\ttitle,\n\t\tforeign_landing_url: foreignLandingUrl,\n\t\tcreator,\n\t\tcreator_url: creatorUrl,\n\t\tlicense,\n\t\tlicense_version: licenseVersion,\n\t\tlicense_url: licenseUrl,\n\t} = item;\n\tconst fullLicense = getOpenverseLicense( license, licenseVersion );\n\tconst _creator = decodeEntities( creator );\n\tlet _caption;\n\tif ( _creator ) {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Name of the work's creator; %3s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\" by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Name of the work's creator; %3s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a> by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t} else {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\"/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a>/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t}\n\treturn _caption.replace( /\\s{2}/g, ' ' );\n};\n\nconst coreMediaFetch = async ( query = {} ) => {\n\tconst mediaItems = await resolveSelect( coreStore ).getMediaItems( {\n\t\t...query,\n\t\torderBy: !! query?.search ? 'relevance' : 'date',\n\t} );\n\treturn mediaItems.map( ( mediaItem ) => ( {\n\t\t...mediaItem,\n\t\talt: mediaItem.alt_text,\n\t\turl: mediaItem.source_url,\n\t\tpreviewUrl: mediaItem.media_details?.sizes?.medium?.source_url,\n\t\tcaption: mediaItem.caption?.raw,\n\t} ) );\n};\n\n/** @type {InserterMediaCategory[]} */\nconst inserterMediaCategories = [\n\t{\n\t\tname: 'images',\n\t\tlabels: {\n\t\t\tname: __( 'Images' ),\n\t\t\tsearch_items: __( 'Search images' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'image' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'videos',\n\t\tlabels: {\n\t\t\tname: __( 'Videos' ),\n\t\t\tsearch_items: __( 'Search videos' ),\n\t\t},\n\t\tmediaType: 'video',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'video' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'audio',\n\t\tlabels: {\n\t\t\tname: __( 'Audio' ),\n\t\t\tsearch_items: __( 'Search audio' ),\n\t\t},\n\t\tmediaType: 'audio',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'audio' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'openverse',\n\t\tlabels: {\n\t\t\tname: __( 'Openverse' ),\n\t\t\tsearch_items: __( 'Search Openverse' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\tconst defaultArgs = {\n\t\t\t\tmature: false,\n\t\t\t\texcluded_source: 'flickr,inaturalist,wikimedia',\n\t\t\t\tlicense: 'pdm,cc0',\n\t\t\t};\n\t\t\tconst finalQuery = { ...query, ...defaultArgs };\n\t\t\tconst mapFromInserterMediaRequest = {\n\t\t\t\tper_page: 'page_size',\n\t\t\t\tsearch: 'q',\n\t\t\t};\n\t\t\tconst url = new URL(\n\t\t\t\t'https://api.openverse.engineering/v1/images/'\n\t\t\t);\n\t\t\tObject.entries( finalQuery ).forEach( ( [ key, value ] ) => {\n\t\t\t\tconst queryKey = mapFromInserterMediaRequest[ key ] || key;\n\t\t\t\turl.searchParams.set( queryKey, value );\n\t\t\t} );\n\t\t\tconst response = await window.fetch( url, {\n\t\t\t\theaders: {\n\t\t\t\t\t'User-Agent': 'WordPress/inserter-media-fetch',\n\t\t\t\t},\n\t\t\t} );\n\t\t\tconst jsonResponse = await response.json();\n\t\t\tconst results = jsonResponse.results;\n\t\t\treturn results.map( ( result ) => ( {\n\t\t\t\t...result,\n\t\t\t\t// This is a temp solution for better titles, until Openverse API\n\t\t\t\t// completes the cleaning up of some titles of their upstream data.\n\t\t\t\ttitle: result.title?.toLowerCase().startsWith( 'file:' )\n\t\t\t\t\t? result.title.slice( 5 )\n\t\t\t\t\t: result.title,\n\t\t\t\tsourceId: result.id,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: getOpenverseCaption( result ),\n\t\t\t\tpreviewUrl: result.thumbnail,\n\t\t\t} ) );\n\t\t},\n\t\tgetReportUrl: ( { sourceId } ) =>\n\t\t\t`https://wordpress.org/openverse/image/${ sourceId }/report/`,\n\t\tisExternalResource: true,\n\t},\n];\n\nexport default inserterMediaCategories;\n"]}
|
|
@@ -8,13 +8,10 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { store as editorStore } from '../../store';
|
|
11
|
-
export function PageAttributesCheck(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} = _ref;
|
|
11
|
+
export function PageAttributesCheck({
|
|
12
|
+
children
|
|
13
|
+
}) {
|
|
15
14
|
const supportsPageAttributes = useSelect(select => {
|
|
16
|
-
var _postType$supports;
|
|
17
|
-
|
|
18
15
|
const {
|
|
19
16
|
getEditedPostAttribute
|
|
20
17
|
} = select(editorStore);
|
|
@@ -22,7 +19,7 @@ export function PageAttributesCheck(_ref) {
|
|
|
22
19
|
getPostType
|
|
23
20
|
} = select(coreStore);
|
|
24
21
|
const postType = getPostType(getEditedPostAttribute('type'));
|
|
25
|
-
return !!
|
|
22
|
+
return !!postType?.supports?.['page-attributes'];
|
|
26
23
|
}, []); // Only render fields if post type supports page attributes or available templates exist.
|
|
27
24
|
|
|
28
25
|
if (!supportsPageAttributes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/page-attributes/check.js"],"names":["useSelect","store","coreStore","editorStore","PageAttributesCheck","children","supportsPageAttributes","select","getEditedPostAttribute","getPostType","postType","supports"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASD,KAAK,IAAIE,WAAlB,QAAqC,aAArC;AAEA,OAAO,SAASC,mBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/page-attributes/check.js"],"names":["useSelect","store","coreStore","editorStore","PageAttributesCheck","children","supportsPageAttributes","select","getEditedPostAttribute","getPostType","postType","supports"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASD,KAAK,IAAIE,WAAlB,QAAqC,aAArC;AAEA,OAAO,SAASC,mBAAT,CAA8B;AAAEC,EAAAA;AAAF,CAA9B,EAA6C;AACnD,QAAMC,sBAAsB,GAAGN,SAAS,CAAIO,MAAF,IAAc;AACvD,UAAM;AAAEC,MAAAA;AAAF,QAA6BD,MAAM,CAAEJ,WAAF,CAAzC;AACA,UAAM;AAAEM,MAAAA;AAAF,QAAkBF,MAAM,CAAEL,SAAF,CAA9B;AACA,UAAMQ,QAAQ,GAAGD,WAAW,CAAED,sBAAsB,CAAE,MAAF,CAAxB,CAA5B;AAEA,WAAO,CAAC,CAAEE,QAAQ,EAAEC,QAAV,GAAsB,iBAAtB,CAAV;AACA,GANuC,EAMrC,EANqC,CAAxC,CADmD,CASnD;;AACA,MAAK,CAAEL,sBAAP,EAAgC;AAC/B,WAAO,IAAP;AACA;;AAED,SAAOD,QAAP;AACA;AAED,eAAeD,mBAAf","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 { store as editorStore } from '../../store';\n\nexport function PageAttributesCheck( { children } ) {\n\tconst supportsPageAttributes = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn !! postType?.supports?.[ 'page-attributes' ];\n\t}, [] );\n\n\t// Only render fields if post type supports page attributes or available templates exist.\n\tif ( ! supportsPageAttributes ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default PageAttributesCheck;\n"]}
|
|
@@ -14,20 +14,17 @@ import { useState } from '@wordpress/element';
|
|
|
14
14
|
|
|
15
15
|
import PostTypeSupportCheck from '../post-type-support-check';
|
|
16
16
|
import { store as editorStore } from '../../store';
|
|
17
|
-
export const PageAttributesOrder =
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} = _ref;
|
|
17
|
+
export const PageAttributesOrder = ({
|
|
18
|
+
onUpdateOrder,
|
|
19
|
+
order = 0
|
|
20
|
+
}) => {
|
|
22
21
|
const [orderInput, setOrderInput] = useState(null);
|
|
23
22
|
|
|
24
23
|
const setUpdatedOrder = value => {
|
|
25
|
-
var _value$trim;
|
|
26
|
-
|
|
27
24
|
setOrderInput(value);
|
|
28
25
|
const newOrder = Number(value);
|
|
29
26
|
|
|
30
|
-
if (Number.isInteger(newOrder) &&
|
|
27
|
+
if (Number.isInteger(newOrder) && value.trim?.() !== '') {
|
|
31
28
|
onUpdateOrder(Number(value));
|
|
32
29
|
}
|
|
33
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/page-attributes/order.js"],"names":["__","Flex","FlexBlock","__experimentalNumberControl","NumberControl","withSelect","withDispatch","compose","useState","PostTypeSupportCheck","store","editorStore","PageAttributesOrder","onUpdateOrder","order","orderInput","setOrderInput","setUpdatedOrder","value","newOrder","Number","isInteger","trim","PageAttributesOrderWithChecks","props","select","getEditedPostAttribute","dispatch","editPost","menu_order"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,IADD,EAECC,SAFD,EAGCC,2BAA2B,IAAIC,aAHhC,QAIO,uBAJP;AAKA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;AAEA,OAAO,MAAMC,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/page-attributes/order.js"],"names":["__","Flex","FlexBlock","__experimentalNumberControl","NumberControl","withSelect","withDispatch","compose","useState","PostTypeSupportCheck","store","editorStore","PageAttributesOrder","onUpdateOrder","order","orderInput","setOrderInput","setUpdatedOrder","value","newOrder","Number","isInteger","trim","PageAttributesOrderWithChecks","props","select","getEditedPostAttribute","dispatch","editPost","menu_order"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,IADD,EAECC,SAFD,EAGCC,2BAA2B,IAAIC,aAHhC,QAIO,uBAJP;AAKA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;AAEA,OAAO,MAAMC,mBAAmB,GAAG,CAAE;AAAEC,EAAAA,aAAF;AAAiBC,EAAAA,KAAK,GAAG;AAAzB,CAAF,KAAoC;AACtE,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgCR,QAAQ,CAAE,IAAF,CAA9C;;AAEA,QAAMS,eAAe,GAAKC,KAAF,IAAa;AACpCF,IAAAA,aAAa,CAAEE,KAAF,CAAb;AACA,UAAMC,QAAQ,GAAGC,MAAM,CAAEF,KAAF,CAAvB;;AACA,QAAKE,MAAM,CAACC,SAAP,CAAkBF,QAAlB,KAAgCD,KAAK,CAACI,IAAN,SAAmB,EAAxD,EAA6D;AAC5DT,MAAAA,aAAa,CAAEO,MAAM,CAAEF,KAAF,CAAR,CAAb;AACA;AACD,GAND;;AAOA,QAAMA,KAAK,GAAGH,UAAU,KAAK,IAAf,GAAsBD,KAAtB,GAA8BC,UAA5C;AACA,SACC,cAAC,IAAD,QACC,cAAC,SAAD,QACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGf,EAAE,CAAE,OAAF,CADX;AAEC,IAAA,KAAK,EAAGkB,KAFT;AAGC,IAAA,QAAQ,EAAGD,eAHZ;AAIC,IAAA,aAAa,EAAC,MAJf;AAKC,IAAA,MAAM,EAAG,MAAM;AACdD,MAAAA,aAAa,CAAE,IAAF,CAAb;AACA;AAPF,IADD,CADD,CADD;AAeA,CA1BM;;AA4BP,SAASO,6BAAT,CAAwCC,KAAxC,EAAgD;AAC/C,SACC,cAAC,oBAAD;AAAsB,IAAA,WAAW,EAAC;AAAlC,KACC,cAAC,mBAAD,EAA0BA,KAA1B,CADD,CADD;AAKA;;AAED,eAAejB,OAAO,CAAE,CACvBF,UAAU,CAAIoB,MAAF,IAAc;AACzB,SAAO;AACNX,IAAAA,KAAK,EAAEW,MAAM,CAAEd,WAAF,CAAN,CAAsBe,sBAAtB,CAA8C,YAA9C;AADD,GAAP;AAGA,CAJS,CADa,EAMvBpB,YAAY,CAAIqB,QAAF,KAAkB;AAC/Bd,EAAAA,aAAa,CAAEC,KAAF,EAAU;AACtBa,IAAAA,QAAQ,CAAEhB,WAAF,CAAR,CAAwBiB,QAAxB,CAAkC;AACjCC,MAAAA,UAAU,EAAEf;AADqB,KAAlC;AAGA;;AAL8B,CAAlB,CAAF,CANW,CAAF,CAAP,CAaVS,6BAbU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tFlex,\n\tFlexBlock,\n\t__experimentalNumberControl as NumberControl,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\nexport const PageAttributesOrder = ( { onUpdateOrder, order = 0 } ) => {\n\tconst [ orderInput, setOrderInput ] = useState( null );\n\n\tconst setUpdatedOrder = ( value ) => {\n\t\tsetOrderInput( value );\n\t\tconst newOrder = Number( value );\n\t\tif ( Number.isInteger( newOrder ) && value.trim?.() !== '' ) {\n\t\t\tonUpdateOrder( Number( value ) );\n\t\t}\n\t};\n\tconst value = orderInput === null ? order : orderInput;\n\treturn (\n\t\t<Flex>\n\t\t\t<FlexBlock>\n\t\t\t\t<NumberControl\n\t\t\t\t\tlabel={ __( 'Order' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ setUpdatedOrder }\n\t\t\t\t\tlabelPosition=\"side\"\n\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\tsetOrderInput( null );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</FlexBlock>\n\t\t</Flex>\n\t);\n};\n\nfunction PageAttributesOrderWithChecks( props ) {\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"page-attributes\">\n\t\t\t<PageAttributesOrder { ...props } />\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\torder: select( editorStore ).getEditedPostAttribute( 'menu_order' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonUpdateOrder( order ) {\n\t\t\tdispatch( editorStore ).editPost( {\n\t\t\t\tmenu_order: order,\n\t\t\t} );\n\t\t},\n\t} ) ),\n] )( PageAttributesOrderWithChecks );\n"]}
|
|
@@ -23,9 +23,7 @@ import { buildTermsTree } from '../../utils/terms';
|
|
|
23
23
|
import { store as editorStore } from '../../store';
|
|
24
24
|
|
|
25
25
|
function getTitle(post) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return post !== null && post !== void 0 && (_post$title = post.title) !== null && _post$title !== void 0 && _post$title.rendered ? decodeEntities(post.title.rendered) : `#${post.id} (${__('no title')})`;
|
|
26
|
+
return post?.title?.rendered ? decodeEntities(post.title.rendered) : `#${post.id} (${__('no title')})`;
|
|
29
27
|
}
|
|
30
28
|
|
|
31
29
|
export const getItemPriority = (name, searchValue) => {
|
|
@@ -43,8 +41,6 @@ export const getItemPriority = (name, searchValue) => {
|
|
|
43
41
|
return Infinity;
|
|
44
42
|
};
|
|
45
43
|
export function PageAttributesParent() {
|
|
46
|
-
var _postType$labels;
|
|
47
|
-
|
|
48
44
|
const {
|
|
49
45
|
editPost
|
|
50
46
|
} = useDispatch(editorStore);
|
|
@@ -71,7 +67,7 @@ export function PageAttributesParent() {
|
|
|
71
67
|
const pageId = getEditedPostAttribute('parent');
|
|
72
68
|
const pType = getPostType(postTypeSlug);
|
|
73
69
|
const postId = getCurrentPostId();
|
|
74
|
-
const postIsHierarchical = (_pType$hierarchical = pType
|
|
70
|
+
const postIsHierarchical = (_pType$hierarchical = pType?.hierarchical) !== null && _pType$hierarchical !== void 0 ? _pType$hierarchical : false;
|
|
75
71
|
const query = {
|
|
76
72
|
per_page: 100,
|
|
77
73
|
exclude: postId,
|
|
@@ -93,19 +89,16 @@ export function PageAttributesParent() {
|
|
|
93
89
|
postType: pType
|
|
94
90
|
};
|
|
95
91
|
}, [fieldValue]);
|
|
96
|
-
const parentPageLabel = postType
|
|
92
|
+
const parentPageLabel = postType?.labels?.parent_item_colon;
|
|
97
93
|
const pageItems = items || [];
|
|
98
94
|
const parentOptions = useMemo(() => {
|
|
99
|
-
const getOptionsFromTree =
|
|
100
|
-
let level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
95
|
+
const getOptionsFromTree = (tree, level = 0) => {
|
|
101
96
|
const mappedNodes = tree.map(treeNode => [{
|
|
102
97
|
value: treeNode.id,
|
|
103
98
|
label: '— '.repeat(level) + decodeEntities(treeNode.name),
|
|
104
99
|
rawName: treeNode.name
|
|
105
100
|
}, ...getOptionsFromTree(treeNode.children || [], level + 1)]);
|
|
106
|
-
const sortedNodes = mappedNodes.sort((
|
|
107
|
-
let [a] = _ref;
|
|
108
|
-
let [b] = _ref2;
|
|
101
|
+
const sortedNodes = mappedNodes.sort(([a], [b]) => {
|
|
109
102
|
const priorityA = getItemPriority(a.rawName, fieldValue);
|
|
110
103
|
const priorityB = getItemPriority(b.rawName, fieldValue);
|
|
111
104
|
return priorityA >= priorityB ? 1 : -1;
|