@wordpress/edit-site 6.2.0 → 6.4.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 +4 -0
- package/build/components/add-new-pattern/index.js +8 -2
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/{add-new-page → add-new-post}/index.js +21 -17
- package/build/components/add-new-post/index.js.map +1 -0
- package/build/components/add-new-template/index.js +3 -1
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +6 -85
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/editor/index.js +21 -3
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/background-panel.js +0 -5
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/block-preview-panel.js +14 -5
- package/build/components/global-styles/block-preview-panel.js.map +1 -1
- package/build/components/global-styles/font-families.js +42 -23
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +13 -30
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +4 -4
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +60 -12
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +39 -0
- package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
- package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +39 -0
- package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
- package/build/components/global-styles/font-sizes/font-size-preview.js +44 -0
- package/build/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
- package/build/components/global-styles/font-sizes/font-size.js +213 -0
- package/build/components/global-styles/font-sizes/font-size.js.map +1 -0
- package/build/components/global-styles/font-sizes/font-sizes-count.js +50 -0
- package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
- package/build/components/global-styles/font-sizes/font-sizes.js +163 -0
- package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -0
- package/build/components/global-styles/font-sizes/rename-font-size-dialog.js +67 -0
- package/build/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
- package/build/components/global-styles/hooks.js +0 -40
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/preview-typography.js +47 -0
- package/build/components/global-styles/preview-typography.js.map +1 -0
- package/build/components/global-styles/screen-block.js +17 -1
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-layout.js +5 -1
- package/build/components/global-styles/screen-layout.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +2 -2
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +3 -2
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/shadows-edit-panel.js +1 -2
- package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build/components/global-styles/size-control/index.js +85 -0
- package/build/components/global-styles/size-control/index.js.map +1 -0
- package/build/components/global-styles/style-variations-container.js +8 -5
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/typography-elements.js +0 -2
- package/build/components/global-styles/typography-elements.js.map +1 -1
- package/build/components/global-styles/ui.js +8 -0
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/variations/variation.js +4 -4
- package/build/components/global-styles/variations/variation.js.map +1 -1
- package/build/components/global-styles/variations/variations-color.js +4 -3
- package/build/components/global-styles/variations/variations-color.js.map +1 -1
- package/build/components/global-styles/variations/variations-typography.js +15 -29
- package/build/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build/components/global-styles-sidebar/index.js +2 -2
- package/build/components/global-styles-sidebar/index.js.map +1 -1
- package/build/components/layout/index.js +22 -8
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/router.js +30 -43
- package/build/components/layout/router.js.map +1 -1
- package/build/components/page-patterns/header.js +1 -1
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +65 -49
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/search-items.js +29 -4
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +22 -55
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/index.js +56 -50
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/pagination/index.js +4 -4
- package/build/components/pagination/index.js.map +1 -1
- package/build/components/post-edit/index.js +105 -0
- package/build/components/post-edit/index.js.map +1 -0
- package/build/components/post-fields/index.js +314 -0
- package/build/components/post-fields/index.js.map +1 -0
- package/build/components/post-list/index.js +281 -0
- package/build/components/post-list/index.js.map +1 -0
- package/build/components/posts-app/index.js +11 -17
- package/build/components/posts-app/index.js.map +1 -1
- package/build/components/posts-app/router.js +85 -0
- package/build/components/posts-app/router.js.map +1 -0
- package/build/components/revisions/index.js +10 -7
- package/build/components/revisions/index.js.map +1 -1
- package/build/components/save-panel/index.js +1 -1
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar-dataviews/add-new-view.js +4 -1
- package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +6 -2
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +119 -93
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +44 -2
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/content.js +64 -0
- package/build/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
- package/build/components/sidebar-navigation-screen-global-styles/index.js +2 -47
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -2
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +3 -2
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build/components/site-hub/index.js +81 -1
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +2 -2
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +65 -42
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build/index.js +10 -0
- package/build/index.js.map +1 -1
- package/build/posts.js +57 -2
- package/build/posts.js.map +1 -1
- package/build/store/private-actions.js +7 -2
- package/build/store/private-actions.js.map +1 -1
- package/build/store/selectors.js +34 -6
- package/build/store/selectors.js.map +1 -1
- package/build/utils/get-filtered-template-parts.js +64 -0
- package/build/utils/get-filtered-template-parts.js.map +1 -0
- package/build-module/components/add-new-pattern/index.js +8 -2
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/{add-new-page → add-new-post}/index.js +21 -17
- package/build-module/components/add-new-post/index.js.map +1 -0
- package/build-module/components/add-new-template/index.js +3 -1
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +6 -85
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/editor/index.js +21 -3
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +0 -5
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/block-preview-panel.js +14 -5
- package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +44 -25
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +14 -31
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js +4 -4
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +63 -15
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +32 -0
- package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +32 -0
- package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/font-size-preview.js +37 -0
- package/build-module/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/font-size.js +207 -0
- package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/font-sizes-count.js +43 -0
- package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/font-sizes.js +157 -0
- package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +61 -0
- package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +0 -38
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/preview-typography.js +39 -0
- package/build-module/components/global-styles/preview-typography.js.map +1 -0
- package/build-module/components/global-styles/screen-block.js +18 -1
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-layout.js +5 -1
- package/build-module/components/global-styles/screen-layout.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/screen-style-variations.js +2 -2
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +3 -2
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/shadows-edit-panel.js +1 -2
- package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build-module/components/global-styles/size-control/index.js +79 -0
- package/build-module/components/global-styles/size-control/index.js.map +1 -0
- package/build-module/components/global-styles/style-variations-container.js +9 -6
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/typography-elements.js +0 -2
- package/build-module/components/global-styles/typography-elements.js.map +1 -1
- package/build-module/components/global-styles/ui.js +8 -0
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/variations/variation.js +5 -5
- package/build-module/components/global-styles/variations/variation.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-color.js +5 -4
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-typography.js +16 -30
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build-module/components/global-styles-sidebar/index.js +2 -2
- package/build-module/components/global-styles-sidebar/index.js.map +1 -1
- package/build-module/components/layout/index.js +20 -8
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/router.js +30 -43
- package/build-module/components/layout/router.js.map +1 -1
- package/build-module/components/page-patterns/header.js +1 -1
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +66 -50
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +28 -4
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +23 -56
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/index.js +58 -53
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/pagination/index.js +4 -4
- package/build-module/components/pagination/index.js.map +1 -1
- package/build-module/components/post-edit/index.js +98 -0
- package/build-module/components/post-edit/index.js.map +1 -0
- package/build-module/components/post-fields/index.js +306 -0
- package/build-module/components/post-fields/index.js.map +1 -0
- package/build-module/components/post-list/index.js +275 -0
- package/build-module/components/post-list/index.js.map +1 -0
- package/build-module/components/posts-app/index.js +11 -17
- package/build-module/components/posts-app/index.js.map +1 -1
- package/build-module/components/posts-app/router.js +77 -0
- package/build-module/components/posts-app/router.js.map +1 -0
- package/build-module/components/revisions/index.js +10 -7
- package/build-module/components/revisions/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +1 -1
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js +4 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +6 -2
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +117 -92
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +47 -5
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/content.js +57 -0
- package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +2 -47
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -2
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +3 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build-module/components/site-hub/index.js +81 -1
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +2 -2
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +61 -38
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build-module/index.js +11 -2
- package/build-module/index.js.map +1 -1
- package/build-module/posts.js +57 -2
- package/build-module/posts.js.map +1 -1
- package/build-module/store/private-actions.js +7 -2
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/selectors.js +35 -7
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/get-filtered-template-parts.js +57 -0
- package/build-module/utils/get-filtered-template-parts.js.map +1 -0
- package/build-style/posts-rtl.css +668 -510
- package/build-style/posts.css +668 -510
- package/build-style/style-rtl.css +772 -702
- package/build-style/style.css +772 -702
- package/package.json +41 -41
- package/src/components/add-new-pattern/index.js +8 -2
- package/src/components/{add-new-page → add-new-post}/index.js +28 -22
- package/src/components/add-new-template/index.js +4 -1
- package/src/components/add-new-template/style.scss +4 -6
- package/src/components/block-editor/use-site-editor-settings.js +10 -101
- package/src/components/editor/index.js +21 -5
- package/src/components/global-styles/background-panel.js +0 -8
- package/src/components/global-styles/block-preview-panel.js +22 -9
- package/src/components/global-styles/font-families.js +66 -31
- package/src/components/global-styles/font-library-modal/font-collection.js +17 -32
- package/src/components/global-styles/font-library-modal/index.js +4 -2
- package/src/components/global-styles/font-library-modal/installed-fonts.js +94 -13
- package/src/components/global-styles/font-library-modal/style.scss +26 -10
- package/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +43 -0
- package/src/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +37 -0
- package/src/components/global-styles/font-sizes/font-size-preview.js +43 -0
- package/src/components/global-styles/font-sizes/font-size.js +250 -0
- package/src/components/global-styles/font-sizes/font-sizes-count.js +40 -0
- package/src/components/global-styles/font-sizes/font-sizes.js +263 -0
- package/src/components/global-styles/font-sizes/rename-font-size-dialog.js +70 -0
- package/src/components/global-styles/hooks.js +0 -41
- package/src/components/global-styles/preview-typography.js +39 -0
- package/src/components/global-styles/screen-block.js +20 -0
- package/src/components/global-styles/screen-layout.js +5 -1
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
- package/src/components/global-styles/screen-style-variations.js +2 -2
- package/src/components/global-styles/screen-typography.js +3 -2
- package/src/components/global-styles/shadows-edit-panel.js +1 -2
- package/src/components/global-styles/size-control/index.js +86 -0
- package/src/components/global-styles/style-variations-container.js +14 -7
- package/src/components/global-styles/style.scss +13 -3
- package/src/components/global-styles/typography-elements.js +0 -4
- package/src/components/global-styles/ui.js +10 -0
- package/src/components/global-styles/variations/variation.js +5 -5
- package/src/components/global-styles/variations/variations-color.js +6 -4
- package/src/components/global-styles/variations/variations-typography.js +15 -33
- package/src/components/global-styles-sidebar/index.js +2 -2
- package/src/components/layout/index.js +24 -4
- package/src/components/layout/router.js +29 -37
- package/src/components/layout/style.scss +38 -8
- package/src/components/page-patterns/header.js +1 -1
- package/src/components/page-patterns/index.js +62 -64
- package/src/components/page-patterns/search-items.js +37 -3
- package/src/components/page-patterns/style.scss +1 -8
- package/src/components/page-patterns/use-patterns.js +43 -82
- package/src/components/page-templates/index.js +67 -64
- package/src/components/page-templates/style.scss +6 -9
- package/src/components/pagination/index.js +4 -4
- package/src/components/post-edit/index.js +96 -0
- package/src/components/post-edit/style.scss +9 -0
- package/src/components/post-fields/index.js +345 -0
- package/src/components/post-list/index.js +326 -0
- package/src/components/{page-pages → post-list}/style.scss +25 -8
- package/src/components/posts-app/index.js +9 -11
- package/src/components/posts-app/router.js +69 -0
- package/src/components/revisions/index.js +9 -1
- package/src/components/save-panel/index.js +1 -1
- package/src/components/sidebar/style.scss +6 -0
- package/src/components/sidebar-dataviews/add-new-view.js +2 -1
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +6 -2
- package/src/components/sidebar-dataviews/default-views.js +131 -106
- package/src/components/sidebar-dataviews/index.js +39 -4
- package/src/components/sidebar-navigation-screen-global-styles/content.js +55 -0
- package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -54
- package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +2 -1
- package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +10 -2
- package/src/components/site-hub/index.js +84 -1
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -2
- package/src/hooks/push-changes-to-global-styles/index.js +2 -2
- package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +28 -24
- package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +72 -47
- package/src/index.js +14 -1
- package/src/posts.js +63 -2
- package/src/posts.scss +9 -0
- package/src/store/private-actions.js +7 -3
- package/src/store/selectors.js +53 -14
- package/src/store/test/selectors.js +1 -26
- package/src/style.scss +2 -2
- package/src/utils/get-filtered-template-parts.js +61 -0
- package/src/utils/test/get-filtered-template-parts.js +127 -0
- package/build/components/add-new-page/index.js.map +0 -1
- package/build/components/global-styles/screen-background.js +0 -36
- package/build/components/global-styles/screen-background.js.map +0 -1
- package/build/components/page-pages/index.js +0 -473
- package/build/components/page-pages/index.js.map +0 -1
- package/build/components/table/index.js +0 -35
- package/build/components/table/index.js.map +0 -1
- package/build-module/components/add-new-page/index.js.map +0 -1
- package/build-module/components/global-styles/screen-background.js +0 -30
- package/build-module/components/global-styles/screen-background.js.map +0 -1
- package/build-module/components/page-pages/index.js +0 -465
- package/build-module/components/page-pages/index.js.map +0 -1
- package/build-module/components/table/index.js +0 -30
- package/build-module/components/table/index.js.map +0 -1
- package/src/components/global-styles/screen-background.js +0 -29
- package/src/components/page-pages/index.js +0 -564
- package/src/components/table/index.js +0 -33
- package/src/components/table/style.scss +0 -38
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","Flex","Icon","decodeEntities","useState","memo","useSelect","useDispatch","store","coreStore","archive","blockMeta","calendar","category","commentAuthorAvatar","edit","home","layout","list","media","notFound","page","pin","verse","search","tag","__","sprintf","noticesStore","privateApis","routerPrivateApis","TEMPLATE_POST_TYPE","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useHistory","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","single","index","author","taxonomy","date","attachment","TemplateListItem","title","direction","className","description","icon","onClick","children","label","showTooltip","as","spacing","align","justify","style","width","alignment","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplateModal","onClose","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isSubmitting","setIsSubmitting","missingTemplates","useMissingTemplates","history","saveEntityRecord","createErrorNotice","createSuccessNotice","homeUrl","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","push","postId","id","postType","canvas","rendered","type","error","errorMessage","message","code","onModalClose","modalTitle","labels","singular_name","onRequestClose","overlayClassName","undefined","columns","gap","map","onSelect","NewTemplate","showModal","setShowModal","getPostType","variant","add_new_item","__next40pxDefaultSize","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf"],"sources":["@wordpress/edit-site/src/components/add-new-template/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nfunction NewTemplateModal( { onClose } ) {\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsSubmitting( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tonClose();\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\n\t\t\tclassName={ clsx( 'edit-site-add-new-template__modal', {\n\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t} ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\toverlayClassName={\n\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t<Grid\n\t\t\t\t\tcolumns={ 3 }\n\t\t\t\t\tgap={ 4 }\n\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t>\n\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticon={ TEMPLATE_ICONS[ slug ] || layout }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</TemplateListItem>\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customGenericTemplate && (\n\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Modal>\n\t);\n}\n\nfunction NewTemplate() {\n\tconst [ showModal, setShowModal ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\n\t\treturn {\n\t\t\tpostType: getPostType( TEMPLATE_POST_TYPE ),\n\t\t};\n\t}, [] );\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new_item }\n\t\t\t</Button>\n\t\t\t{ showModal && (\n\t\t\t\t<NewTemplateModal onClose={ () => setShowModal( false ) } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n\nexport default memo( NewTemplate );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","Flex","Icon","decodeEntities","useState","memo","useSelect","useDispatch","store","coreStore","useViewportMatch","archive","blockMeta","calendar","category","commentAuthorAvatar","edit","home","layout","list","media","notFound","page","pin","verse","search","tag","__","sprintf","noticesStore","privateApis","routerPrivateApis","TEMPLATE_POST_TYPE","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useHistory","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","single","index","author","taxonomy","date","attachment","TemplateListItem","title","direction","className","description","icon","onClick","children","label","showTooltip","as","spacing","align","justify","style","width","alignment","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplateModal","onClose","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isSubmitting","setIsSubmitting","missingTemplates","useMissingTemplates","history","saveEntityRecord","createErrorNotice","createSuccessNotice","isMobile","homeUrl","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","push","postId","id","postType","canvas","rendered","type","error","errorMessage","message","code","onModalClose","modalTitle","labels","singular_name","onRequestClose","overlayClassName","undefined","columns","gap","map","onSelect","NewTemplate","showModal","setShowModal","getPostType","variant","add_new_item","__next40pxDefaultSize","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf"],"sources":["@wordpress/edit-site/src/components/add-new-template/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nfunction NewTemplateModal( { onClose } ) {\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsSubmitting( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tonClose();\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\n\t\t\tclassName={ clsx( 'edit-site-add-new-template__modal', {\n\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t} ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\toverlayClassName={\n\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t<Grid\n\t\t\t\t\tcolumns={ isMobile ? 2 : 3 }\n\t\t\t\t\tgap={ 4 }\n\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t>\n\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticon={ TEMPLATE_ICONS[ slug ] || layout }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</TemplateListItem>\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customGenericTemplate && (\n\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Modal>\n\t);\n}\n\nfunction NewTemplate() {\n\tconst [ showModal, setShowModal ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\n\t\treturn {\n\t\t\tpostType: getPostType( TEMPLATE_POST_TYPE ),\n\t\t};\n\t}, [] );\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new_item }\n\t\t\t</Button>\n\t\t\t{ showModal && (\n\t\t\t\t<NewTemplateModal onClose={ () => setShowModal( false ) } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n\nexport default memo( NewTemplate );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { useSelect } from '@wordpress/data';
|
|
5
5
|
import { useMemo } from '@wordpress/element';
|
|
6
|
-
import { store as coreStore } from '@wordpress/core-data';
|
|
7
6
|
import { privateApis as editorPrivateApis } from '@wordpress/editor';
|
|
8
7
|
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
9
8
|
import { usePrevious } from '@wordpress/compose';
|
|
@@ -22,72 +21,6 @@ const {
|
|
|
22
21
|
useLocation,
|
|
23
22
|
useHistory
|
|
24
23
|
} = unlock(routerPrivateApis);
|
|
25
|
-
function useArchiveLabel(templateSlug) {
|
|
26
|
-
const taxonomyMatches = templateSlug?.match(/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/);
|
|
27
|
-
let taxonomy;
|
|
28
|
-
let term;
|
|
29
|
-
let isAuthor = false;
|
|
30
|
-
let authorSlug;
|
|
31
|
-
if (taxonomyMatches) {
|
|
32
|
-
// If is for a all taxonomies of a type
|
|
33
|
-
if (taxonomyMatches[1]) {
|
|
34
|
-
taxonomy = taxonomyMatches[2] ? taxonomyMatches[2] : taxonomyMatches[1];
|
|
35
|
-
}
|
|
36
|
-
// If is for a all taxonomies of a type
|
|
37
|
-
else if (taxonomyMatches[3]) {
|
|
38
|
-
taxonomy = taxonomyMatches[6] ? taxonomyMatches[6] : taxonomyMatches[4];
|
|
39
|
-
term = taxonomyMatches[7];
|
|
40
|
-
}
|
|
41
|
-
taxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;
|
|
42
|
-
|
|
43
|
-
//getTaxonomy( 'category' );
|
|
44
|
-
//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );
|
|
45
|
-
} else {
|
|
46
|
-
const authorMatches = templateSlug?.match(/^(author)$|^author-(.+)$/);
|
|
47
|
-
if (authorMatches) {
|
|
48
|
-
isAuthor = true;
|
|
49
|
-
if (authorMatches[2]) {
|
|
50
|
-
authorSlug = authorMatches[2];
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return useSelect(select => {
|
|
55
|
-
const {
|
|
56
|
-
getEntityRecords,
|
|
57
|
-
getTaxonomy,
|
|
58
|
-
getAuthors
|
|
59
|
-
} = select(coreStore);
|
|
60
|
-
let archiveTypeLabel;
|
|
61
|
-
let archiveNameLabel;
|
|
62
|
-
if (taxonomy) {
|
|
63
|
-
archiveTypeLabel = getTaxonomy(taxonomy)?.labels?.singular_name;
|
|
64
|
-
}
|
|
65
|
-
if (term) {
|
|
66
|
-
const records = getEntityRecords('taxonomy', taxonomy, {
|
|
67
|
-
slug: term,
|
|
68
|
-
per_page: 1
|
|
69
|
-
});
|
|
70
|
-
if (records && records[0]) {
|
|
71
|
-
archiveNameLabel = records[0].name;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (isAuthor) {
|
|
75
|
-
archiveTypeLabel = 'Author';
|
|
76
|
-
if (authorSlug) {
|
|
77
|
-
const authorRecords = getAuthors({
|
|
78
|
-
slug: authorSlug
|
|
79
|
-
});
|
|
80
|
-
if (authorRecords && authorRecords[0]) {
|
|
81
|
-
archiveNameLabel = authorRecords[0].name;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
archiveTypeLabel,
|
|
87
|
-
archiveNameLabel
|
|
88
|
-
};
|
|
89
|
-
}, [authorSlug, isAuthor, taxonomy, term]);
|
|
90
|
-
}
|
|
91
24
|
function useNavigateToPreviousEntityRecord() {
|
|
92
25
|
const location = useLocation();
|
|
93
26
|
const previousLocation = usePrevious(location);
|
|
@@ -107,34 +40,25 @@ function useNavigateToPreviousEntityRecord() {
|
|
|
107
40
|
export function useSpecificEditorSettings() {
|
|
108
41
|
const onNavigateToEntityRecord = useNavigateToEntityRecord();
|
|
109
42
|
const {
|
|
110
|
-
templateSlug,
|
|
111
43
|
canvasMode,
|
|
112
44
|
settings,
|
|
113
|
-
|
|
45
|
+
shouldUseTemplateAsDefaultRenderingMode
|
|
114
46
|
} = useSelect(select => {
|
|
115
47
|
const {
|
|
116
|
-
getEditedPostType,
|
|
117
|
-
getEditedPostId,
|
|
118
48
|
getEditedPostContext,
|
|
119
49
|
getCanvasMode,
|
|
120
50
|
getSettings
|
|
121
51
|
} = unlock(select(editSiteStore));
|
|
122
|
-
const {
|
|
123
|
-
getEditedEntityRecord
|
|
124
|
-
} = select(coreStore);
|
|
125
|
-
const usedPostType = getEditedPostType();
|
|
126
|
-
const usedPostId = getEditedPostId();
|
|
127
|
-
const _record = getEditedEntityRecord('postType', usedPostType, usedPostId);
|
|
128
52
|
const _context = getEditedPostContext();
|
|
129
53
|
return {
|
|
130
|
-
templateSlug: _record.slug,
|
|
131
54
|
canvasMode: getCanvasMode(),
|
|
132
55
|
settings: getSettings(),
|
|
133
|
-
|
|
56
|
+
// TODO: The `postType` check should be removed when the default rendering mode per post type is merged.
|
|
57
|
+
// @see https://github.com/WordPress/gutenberg/pull/62304/
|
|
58
|
+
shouldUseTemplateAsDefaultRenderingMode: _context?.postId && _context?.postType !== 'post'
|
|
134
59
|
};
|
|
135
60
|
}, []);
|
|
136
|
-
const
|
|
137
|
-
const defaultRenderingMode = postWithTemplate ? 'template-locked' : 'post-only';
|
|
61
|
+
const defaultRenderingMode = shouldUseTemplateAsDefaultRenderingMode ? 'template-locked' : 'post-only';
|
|
138
62
|
const onNavigateToPreviousEntityRecord = useNavigateToPreviousEntityRecord();
|
|
139
63
|
const defaultEditorSettings = useMemo(() => {
|
|
140
64
|
return {
|
|
@@ -145,12 +69,9 @@ export function useSpecificEditorSettings() {
|
|
|
145
69
|
defaultRenderingMode,
|
|
146
70
|
onNavigateToEntityRecord,
|
|
147
71
|
onNavigateToPreviousEntityRecord,
|
|
148
|
-
// I wonder if they should be set in the post editor too
|
|
149
|
-
__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,
|
|
150
|
-
__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,
|
|
151
72
|
__unstableIsPreviewMode: canvasMode === 'view'
|
|
152
73
|
};
|
|
153
|
-
}, [settings, canvasMode, defaultRenderingMode, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord
|
|
74
|
+
}, [settings, canvasMode, defaultRenderingMode, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord]);
|
|
154
75
|
return defaultEditorSettings;
|
|
155
76
|
}
|
|
156
77
|
export default function useSiteEditorSettings() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useMemo","store","coreStore","privateApis","editorPrivateApis","routerPrivateApis","usePrevious","editSiteStore","unlock","useNavigateToEntityRecord","FOCUSABLE_ENTITIES","useBlockEditorSettings","useLocation","useHistory","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","isAuthor","authorSlug","authorMatches","select","getEntityRecords","getTaxonomy","getAuthors","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","authorRecords","useNavigateToPreviousEntityRecord","location","previousLocation","history","goBack","isFocusMode","params","focusMode","postId","includes","postType","didComeFromEditorCanvas","canvas","showBackButton","back","undefined","useSpecificEditorSettings","onNavigateToEntityRecord","canvasMode","settings","postWithTemplate","getEditedPostType","getEditedPostId","getEditedPostContext","getCanvasMode","getSettings","getEditedEntityRecord","usedPostType","usedPostId","_record","_context","archiveLabels","defaultRenderingMode","onNavigateToPreviousEntityRecord","defaultEditorSettings","richEditingEnabled","supportsTemplateMode","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel","__unstableIsPreviewMode","useSiteEditorSettings"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useNavigateToEntityRecord from './use-navigate-to-entity-record';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useBlockEditorSettings } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tlet isAuthor = false;\n\tlet authorSlug;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t} else {\n\t\tconst authorMatches = templateSlug?.match( /^(author)$|^author-(.+)$/ );\n\t\tif ( authorMatches ) {\n\t\t\tisAuthor = true;\n\t\t\tif ( authorMatches[ 2 ] ) {\n\t\t\t\tauthorSlug = authorMatches[ 2 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, getAuthors } =\n\t\t\t\tselect( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( isAuthor ) {\n\t\t\t\tarchiveTypeLabel = 'Author';\n\t\t\t\tif ( authorSlug ) {\n\t\t\t\t\tconst authorRecords = getAuthors( { slug: authorSlug } );\n\t\t\t\t\tif ( authorRecords && authorRecords[ 0 ] ) {\n\t\t\t\t\t\tarchiveNameLabel = authorRecords[ 0 ].name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ authorSlug, isAuthor, taxonomy, term ]\n\t);\n}\n\nfunction useNavigateToPreviousEntityRecord() {\n\tconst location = useLocation();\n\tconst previousLocation = usePrevious( location );\n\tconst history = useHistory();\n\tconst goBack = useMemo( () => {\n\t\tconst isFocusMode =\n\t\t\tlocation.params.focusMode ||\n\t\t\t( location.params.postId &&\n\t\t\t\tFOCUSABLE_ENTITIES.includes( location.params.postType ) );\n\t\tconst didComeFromEditorCanvas =\n\t\t\tpreviousLocation?.params.canvas === 'edit';\n\t\tconst showBackButton = isFocusMode && didComeFromEditorCanvas;\n\t\treturn showBackButton ? () => history.back() : undefined;\n\t\t// Disable reason: previousLocation changes when the component updates for any reason, not\n\t\t// just when location changes. Until this is fixed we can't add it to deps. See\n\t\t// https://github.com/WordPress/gutenberg/pull/58710#discussion_r1479219465.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ location, history ] );\n\treturn goBack;\n}\n\nexport function useSpecificEditorSettings() {\n\tconst onNavigateToEntityRecord = useNavigateToEntityRecord();\n\tconst { templateSlug, canvasMode, settings, postWithTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedPostType,\n\t\t\t\tgetEditedPostId,\n\t\t\t\tgetEditedPostContext,\n\t\t\t\tgetCanvasMode,\n\t\t\t\tgetSettings,\n\t\t\t} = unlock( select( editSiteStore ) );\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst usedPostType = getEditedPostType();\n\t\t\tconst usedPostId = getEditedPostId();\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tusedPostType,\n\t\t\t\tusedPostId\n\t\t\t);\n\t\t\tconst _context = getEditedPostContext();\n\t\t\treturn {\n\t\t\t\ttemplateSlug: _record.slug,\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tsettings: getSettings(),\n\t\t\t\tpostWithTemplate: _context?.postId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\tconst defaultRenderingMode = postWithTemplate\n\t\t? 'template-locked'\n\t\t: 'post-only';\n\tconst onNavigateToPreviousEntityRecord =\n\t\tuseNavigateToPreviousEntityRecord();\n\tconst defaultEditorSettings = useMemo( () => {\n\t\treturn {\n\t\t\t...settings,\n\n\t\t\trichEditingEnabled: true,\n\t\t\tsupportsTemplateMode: true,\n\t\t\tfocusMode: canvasMode !== 'view',\n\t\t\tdefaultRenderingMode,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\t// I wonder if they should be set in the post editor too\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t\t__unstableIsPreviewMode: canvasMode === 'view',\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tcanvasMode,\n\t\tdefaultRenderingMode,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n\nexport default function useSiteEditorSettings() {\n\tconst defaultEditorSettings = useSpecificEditorSettings();\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\treturn {\n\t\t\tpostType: usedPostType,\n\t\t\tpostId: usedPostId,\n\t\t};\n\t}, [] );\n\treturn useBlockEditorSettings( defaultEditorSettings, postType, postId );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useSelect","useMemo","privateApis","editorPrivateApis","routerPrivateApis","usePrevious","store","editSiteStore","unlock","useNavigateToEntityRecord","FOCUSABLE_ENTITIES","useBlockEditorSettings","useLocation","useHistory","useNavigateToPreviousEntityRecord","location","previousLocation","history","goBack","isFocusMode","params","focusMode","postId","includes","postType","didComeFromEditorCanvas","canvas","showBackButton","back","undefined","useSpecificEditorSettings","onNavigateToEntityRecord","canvasMode","settings","shouldUseTemplateAsDefaultRenderingMode","select","getEditedPostContext","getCanvasMode","getSettings","_context","defaultRenderingMode","onNavigateToPreviousEntityRecord","defaultEditorSettings","richEditingEnabled","supportsTemplateMode","__unstableIsPreviewMode","useSiteEditorSettings","getEditedPostType","getEditedPostId","usedPostType","usedPostId"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useNavigateToEntityRecord from './use-navigate-to-entity-record';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useBlockEditorSettings } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nfunction useNavigateToPreviousEntityRecord() {\n\tconst location = useLocation();\n\tconst previousLocation = usePrevious( location );\n\tconst history = useHistory();\n\tconst goBack = useMemo( () => {\n\t\tconst isFocusMode =\n\t\t\tlocation.params.focusMode ||\n\t\t\t( location.params.postId &&\n\t\t\t\tFOCUSABLE_ENTITIES.includes( location.params.postType ) );\n\t\tconst didComeFromEditorCanvas =\n\t\t\tpreviousLocation?.params.canvas === 'edit';\n\t\tconst showBackButton = isFocusMode && didComeFromEditorCanvas;\n\t\treturn showBackButton ? () => history.back() : undefined;\n\t\t// Disable reason: previousLocation changes when the component updates for any reason, not\n\t\t// just when location changes. Until this is fixed we can't add it to deps. See\n\t\t// https://github.com/WordPress/gutenberg/pull/58710#discussion_r1479219465.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ location, history ] );\n\treturn goBack;\n}\n\nexport function useSpecificEditorSettings() {\n\tconst onNavigateToEntityRecord = useNavigateToEntityRecord();\n\tconst { canvasMode, settings, shouldUseTemplateAsDefaultRenderingMode } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostContext, getCanvasMode, getSettings } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst _context = getEditedPostContext();\n\t\t\treturn {\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tsettings: getSettings(),\n\t\t\t\t// TODO: The `postType` check should be removed when the default rendering mode per post type is merged.\n\t\t\t\t// @see https://github.com/WordPress/gutenberg/pull/62304/\n\t\t\t\tshouldUseTemplateAsDefaultRenderingMode:\n\t\t\t\t\t_context?.postId && _context?.postType !== 'post',\n\t\t\t};\n\t\t}, [] );\n\tconst defaultRenderingMode = shouldUseTemplateAsDefaultRenderingMode\n\t\t? 'template-locked'\n\t\t: 'post-only';\n\tconst onNavigateToPreviousEntityRecord =\n\t\tuseNavigateToPreviousEntityRecord();\n\tconst defaultEditorSettings = useMemo( () => {\n\t\treturn {\n\t\t\t...settings,\n\n\t\t\trichEditingEnabled: true,\n\t\t\tsupportsTemplateMode: true,\n\t\t\tfocusMode: canvasMode !== 'view',\n\t\t\tdefaultRenderingMode,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\t__unstableIsPreviewMode: canvasMode === 'view',\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tcanvasMode,\n\t\tdefaultRenderingMode,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n\nexport default function useSiteEditorSettings() {\n\tconst defaultEditorSettings = useSpecificEditorSettings();\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\treturn {\n\t\t\tpostType: usedPostType,\n\t\t\tpostId: usedPostId,\n\t\t};\n\t}, [] );\n\treturn useBlockEditorSettings( defaultEditorSettings, postType, postId );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -33,10 +33,12 @@ import GlobalStylesSidebar from '../global-styles-sidebar';
|
|
|
33
33
|
import { isPreviewingTheme } from '../../utils/is-previewing-theme';
|
|
34
34
|
import { getEditorCanvasContainerTitleAndIcon, useHasEditorCanvasContainer } from '../editor-canvas-container';
|
|
35
35
|
import SaveButton from '../save-button';
|
|
36
|
+
import SavePanel from '../save-panel';
|
|
36
37
|
import SiteEditorMoreMenu from '../more-menu';
|
|
37
38
|
import SiteIcon from '../site-icon';
|
|
38
39
|
import useEditorIframeProps from '../block-editor/use-editor-iframe-props';
|
|
39
40
|
import useEditorTitle from './use-editor-title';
|
|
41
|
+
import { useIsSiteEditorLoading } from '../layout/hooks';
|
|
40
42
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
41
43
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
42
44
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -45,14 +47,19 @@ const {
|
|
|
45
47
|
BackButton
|
|
46
48
|
} = unlock(editorPrivateApis);
|
|
47
49
|
const {
|
|
48
|
-
useHistory
|
|
50
|
+
useHistory,
|
|
51
|
+
useLocation
|
|
49
52
|
} = unlock(routerPrivateApis);
|
|
50
53
|
const {
|
|
51
54
|
BlockKeyboardShortcuts
|
|
52
55
|
} = unlock(blockLibraryPrivateApis);
|
|
53
56
|
export default function EditSiteEditor({
|
|
54
|
-
|
|
57
|
+
isPostsList = false
|
|
55
58
|
}) {
|
|
59
|
+
const {
|
|
60
|
+
params
|
|
61
|
+
} = useLocation();
|
|
62
|
+
const isLoading = useIsSiteEditorLoading();
|
|
56
63
|
const {
|
|
57
64
|
editedPostType,
|
|
58
65
|
editedPostId,
|
|
@@ -173,6 +180,7 @@ export default function EditSiteEditor({
|
|
|
173
180
|
customSaveButton: _isPreviewingTheme && /*#__PURE__*/_jsx(SaveButton, {
|
|
174
181
|
size: "compact"
|
|
175
182
|
}),
|
|
183
|
+
customSavePanel: _isPreviewingTheme && /*#__PURE__*/_jsx(SavePanel, {}),
|
|
176
184
|
forceDisableBlockTools: !hasDefaultEditorCanvasView,
|
|
177
185
|
title: title,
|
|
178
186
|
icon: icon,
|
|
@@ -185,7 +193,17 @@ export default function EditSiteEditor({
|
|
|
185
193
|
}) => length <= 1 && /*#__PURE__*/_jsx(Button, {
|
|
186
194
|
label: __('Open Navigation'),
|
|
187
195
|
className: "edit-site-layout__view-mode-toggle",
|
|
188
|
-
onClick: () =>
|
|
196
|
+
onClick: () => {
|
|
197
|
+
setCanvasMode('view');
|
|
198
|
+
// TODO: this is a temporary solution to navigate to the posts list if we are
|
|
199
|
+
// come here through `posts list` and are in focus mode editing a template, template part etc..
|
|
200
|
+
if (isPostsList && params?.focusMode) {
|
|
201
|
+
history.push({
|
|
202
|
+
page: 'gutenberg-posts-dashboard',
|
|
203
|
+
postType: 'post'
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
},
|
|
189
207
|
children: /*#__PURE__*/_jsx(SiteIcon, {
|
|
190
208
|
className: "edit-site-layout__view-mode-toggle-icon"
|
|
191
209
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useDispatch","useSelect","Button","useInstanceId","EditorKeyboardShortcutsRegister","privateApis","editorPrivateApis","store","editorStore","__","sprintf","coreDataStore","blockLibraryPrivateApis","useCallback","useMemo","noticesStore","routerPrivateApis","preferencesStore","decodeEntities","WelcomeGuide","editSiteStore","GlobalStylesRenderer","CanvasLoader","unlock","useSpecificEditorSettings","PluginTemplateSettingPanel","GlobalStylesSidebar","isPreviewingTheme","getEditorCanvasContainerTitleAndIcon","useHasEditorCanvasContainer","SaveButton","SiteEditorMoreMenu","SiteIcon","useEditorIframeProps","useEditorTitle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Editor","BackButton","useHistory","BlockKeyboardShortcuts","EditSiteEditor","isLoading","editedPostType","editedPostId","contextPostType","contextPostId","canvasMode","isEditingPage","supportsGlobalStyles","showIconLabels","editorCanvasView","currentPostIsTrashed","select","getEditorCanvasContainerView","getEditedPostContext","getCanvasMode","isPage","getEditedPostType","getEditedPostId","get","getCurrentTheme","_context","postId","postType","undefined","is_block_theme","getCurrentPostAttribute","_isPreviewingTheme","hasDefaultEditorCanvasView","iframeProps","isEditMode","postWithTemplate","loadingProgressId","settings","styles","css","setCanvasMode","createSuccessNotice","history","onActionPerformed","actionId","items","push","type","newItem","_title","title","rendered","id","actions","label","onClick","canvas","icon","isReady","children","templateId","className","enableRegionNavigation","customSaveButton","size","forceDisableBlockTools","extraSidebarPanels","Slot","length"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport GlobalStylesSidebar from '../global-styles-sidebar';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport {\n\tgetEditorCanvasContainerTitleAndIcon,\n\tuseHasEditorCanvasContainer,\n} from '../editor-canvas-container';\nimport SaveButton from '../save-button';\nimport SiteEditorMoreMenu from '../more-menu';\nimport SiteIcon from '../site-icon';\nimport useEditorIframeProps from '../block-editor/use-editor-iframe-props';\nimport useEditorTitle from './use-editor-title';\n\nconst { Editor, BackButton } = unlock( editorPrivateApis );\nconst { useHistory } = unlock( routerPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\n\nexport default function EditSiteEditor( { isLoading } ) {\n\tconst {\n\t\teditedPostType,\n\t\teditedPostId,\n\t\tcontextPostType,\n\t\tcontextPostId,\n\t\tcanvasMode,\n\t\tisEditingPage,\n\t\tsupportsGlobalStyles,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t\tcurrentPostIsTrashed,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditorCanvasContainerView,\n\t\t\tgetEditedPostContext,\n\t\t\tgetCanvasMode,\n\t\t\tisPage,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getCurrentTheme } = select( coreDataStore );\n\t\tconst _context = getEditedPostContext();\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\teditedPostType: getEditedPostType(),\n\t\t\teditedPostId: getEditedPostId(),\n\t\t\tcontextPostType: _context?.postId ? _context.postType : undefined,\n\t\t\tcontextPostId: _context?.postId ? _context.postId : undefined,\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tisEditingPage: isPage(),\n\t\t\tsupportsGlobalStyles: getCurrentTheme()?.is_block_theme,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\teditorCanvasView: getEditorCanvasContainerView(),\n\t\t\tcurrentPostIsTrashed:\n\t\t\t\tselect( editorStore ).getCurrentPostAttribute( 'status' ) ===\n\t\t\t\t'trash',\n\t\t};\n\t}, [] );\n\tuseEditorTitle();\n\tconst _isPreviewingTheme = isPreviewingTheme();\n\tconst hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();\n\tconst iframeProps = useEditorIframeProps();\n\tconst isEditMode = canvasMode === 'edit';\n\tconst postWithTemplate = !! contextPostId;\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\t...settings.styles,\n\t\t\t{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\tcss:\n\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t? `body{min-height: 100vh; ${\n\t\t\t\t\t\t\t\tcurrentPostIsTrashed ? '' : 'cursor: pointer;'\n\t\t\t\t\t\t }}`\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t],\n\t\t[ settings.styles, canvasMode, currentPostIsTrashed ]\n\t);\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst history = useHistory();\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\tcase 'delete-post':\n\t\t\t\t\t{\n\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\tpostType: items[ 0 ].type,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst _title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post e.g: \"Post 1\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( _title )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\t\t\tpostId: newItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\tpostType: newItem.type,\n\t\t\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ history, createSuccessNotice ]\n\t);\n\n\t// Replace the title and icon displayed in the DocumentBar when there's an overlay visible.\n\tconst { title, icon } =\n\t\tgetEditorCanvasContainerTitleAndIcon( editorCanvasView );\n\n\tconst isReady = ! isLoading;\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesRenderer />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t{ isEditMode && <BlockKeyboardShortcuts /> }\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t{ isReady && (\n\t\t\t\t<Editor\n\t\t\t\t\tpostType={\n\t\t\t\t\t\tpostWithTemplate ? contextPostType : editedPostType\n\t\t\t\t\t}\n\t\t\t\t\tpostId={ postWithTemplate ? contextPostId : editedPostId }\n\t\t\t\t\ttemplateId={ postWithTemplate ? editedPostId : undefined }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tclassName={ clsx( 'edit-site-editor__editor-interface', {\n\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t} ) }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\tcustomSaveButton={\n\t\t\t\t\t\t_isPreviewingTheme && <SaveButton size=\"compact\" />\n\t\t\t\t\t}\n\t\t\t\t\tforceDisableBlockTools={ ! hasDefaultEditorCanvasView }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t! isEditingPage && <PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t<BackButton>\n\t\t\t\t\t\t\t{ ( { length } ) =>\n\t\t\t\t\t\t\t\tlength <= 1 && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open Navigation' ) }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetCanvasMode( 'view' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</BackButton>\n\t\t\t\t\t) }\n\t\t\t\t\t<SiteEditorMoreMenu />\n\t\t\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t\t\t</Editor>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useDispatch","useSelect","Button","useInstanceId","EditorKeyboardShortcutsRegister","privateApis","editorPrivateApis","store","editorStore","__","sprintf","coreDataStore","blockLibraryPrivateApis","useCallback","useMemo","noticesStore","routerPrivateApis","preferencesStore","decodeEntities","WelcomeGuide","editSiteStore","GlobalStylesRenderer","CanvasLoader","unlock","useSpecificEditorSettings","PluginTemplateSettingPanel","GlobalStylesSidebar","isPreviewingTheme","getEditorCanvasContainerTitleAndIcon","useHasEditorCanvasContainer","SaveButton","SavePanel","SiteEditorMoreMenu","SiteIcon","useEditorIframeProps","useEditorTitle","useIsSiteEditorLoading","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Editor","BackButton","useHistory","useLocation","BlockKeyboardShortcuts","EditSiteEditor","isPostsList","params","isLoading","editedPostType","editedPostId","contextPostType","contextPostId","canvasMode","isEditingPage","supportsGlobalStyles","showIconLabels","editorCanvasView","currentPostIsTrashed","select","getEditorCanvasContainerView","getEditedPostContext","getCanvasMode","isPage","getEditedPostType","getEditedPostId","get","getCurrentTheme","_context","postId","postType","undefined","is_block_theme","getCurrentPostAttribute","_isPreviewingTheme","hasDefaultEditorCanvasView","iframeProps","isEditMode","postWithTemplate","loadingProgressId","settings","styles","css","setCanvasMode","createSuccessNotice","history","onActionPerformed","actionId","items","push","type","newItem","_title","title","rendered","id","actions","label","onClick","canvas","icon","isReady","children","templateId","className","enableRegionNavigation","customSaveButton","size","customSavePanel","forceDisableBlockTools","extraSidebarPanels","Slot","length","focusMode","page"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport GlobalStylesSidebar from '../global-styles-sidebar';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport {\n\tgetEditorCanvasContainerTitleAndIcon,\n\tuseHasEditorCanvasContainer,\n} from '../editor-canvas-container';\nimport SaveButton from '../save-button';\nimport SavePanel from '../save-panel';\nimport SiteEditorMoreMenu from '../more-menu';\nimport SiteIcon from '../site-icon';\nimport useEditorIframeProps from '../block-editor/use-editor-iframe-props';\nimport useEditorTitle from './use-editor-title';\nimport { useIsSiteEditorLoading } from '../layout/hooks';\n\nconst { Editor, BackButton } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\n\nexport default function EditSiteEditor( { isPostsList = false } ) {\n\tconst { params } = useLocation();\n\tconst isLoading = useIsSiteEditorLoading();\n\tconst {\n\t\teditedPostType,\n\t\teditedPostId,\n\t\tcontextPostType,\n\t\tcontextPostId,\n\t\tcanvasMode,\n\t\tisEditingPage,\n\t\tsupportsGlobalStyles,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t\tcurrentPostIsTrashed,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditorCanvasContainerView,\n\t\t\tgetEditedPostContext,\n\t\t\tgetCanvasMode,\n\t\t\tisPage,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getCurrentTheme } = select( coreDataStore );\n\t\tconst _context = getEditedPostContext();\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\teditedPostType: getEditedPostType(),\n\t\t\teditedPostId: getEditedPostId(),\n\t\t\tcontextPostType: _context?.postId ? _context.postType : undefined,\n\t\t\tcontextPostId: _context?.postId ? _context.postId : undefined,\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tisEditingPage: isPage(),\n\t\t\tsupportsGlobalStyles: getCurrentTheme()?.is_block_theme,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\teditorCanvasView: getEditorCanvasContainerView(),\n\t\t\tcurrentPostIsTrashed:\n\t\t\t\tselect( editorStore ).getCurrentPostAttribute( 'status' ) ===\n\t\t\t\t'trash',\n\t\t};\n\t}, [] );\n\tuseEditorTitle();\n\tconst _isPreviewingTheme = isPreviewingTheme();\n\tconst hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();\n\tconst iframeProps = useEditorIframeProps();\n\tconst isEditMode = canvasMode === 'edit';\n\tconst postWithTemplate = !! contextPostId;\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\t...settings.styles,\n\t\t\t{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\tcss:\n\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t? `body{min-height: 100vh; ${\n\t\t\t\t\t\t\t\tcurrentPostIsTrashed ? '' : 'cursor: pointer;'\n\t\t\t\t\t\t }}`\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t],\n\t\t[ settings.styles, canvasMode, currentPostIsTrashed ]\n\t);\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst history = useHistory();\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\tcase 'delete-post':\n\t\t\t\t\t{\n\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\tpostType: items[ 0 ].type,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst _title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post e.g: \"Post 1\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( _title )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\t\t\tpostId: newItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\tpostType: newItem.type,\n\t\t\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ history, createSuccessNotice ]\n\t);\n\n\t// Replace the title and icon displayed in the DocumentBar when there's an overlay visible.\n\tconst { title, icon } =\n\t\tgetEditorCanvasContainerTitleAndIcon( editorCanvasView );\n\n\tconst isReady = ! isLoading;\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesRenderer />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t{ isEditMode && <BlockKeyboardShortcuts /> }\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t{ isReady && (\n\t\t\t\t<Editor\n\t\t\t\t\tpostType={\n\t\t\t\t\t\tpostWithTemplate ? contextPostType : editedPostType\n\t\t\t\t\t}\n\t\t\t\t\tpostId={ postWithTemplate ? contextPostId : editedPostId }\n\t\t\t\t\ttemplateId={ postWithTemplate ? editedPostId : undefined }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tclassName={ clsx( 'edit-site-editor__editor-interface', {\n\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t} ) }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\tcustomSaveButton={\n\t\t\t\t\t\t_isPreviewingTheme && <SaveButton size=\"compact\" />\n\t\t\t\t\t}\n\t\t\t\t\tcustomSavePanel={ _isPreviewingTheme && <SavePanel /> }\n\t\t\t\t\tforceDisableBlockTools={ ! hasDefaultEditorCanvasView }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t! isEditingPage && <PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t<BackButton>\n\t\t\t\t\t\t\t{ ( { length } ) =>\n\t\t\t\t\t\t\t\tlength <= 1 && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open Navigation' ) }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetCanvasMode( 'view' );\n\t\t\t\t\t\t\t\t\t\t\t// TODO: this is a temporary solution to navigate to the posts list if we are\n\t\t\t\t\t\t\t\t\t\t\t// come here through `posts list` and are in focus mode editing a template, template part etc..\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tisPostsList &&\n\t\t\t\t\t\t\t\t\t\t\t\tparams?.focusMode\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tpage: 'gutenberg-posts-dashboard',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpostType: 'post',\n\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</BackButton>\n\t\t\t\t\t) }\n\t\t\t\t\t<SiteEditorMoreMenu />\n\t\t\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t\t\t</Editor>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -39,17 +39,12 @@ export default function BackgroundPanel() {
|
|
|
39
39
|
});
|
|
40
40
|
const _links = useGlobalStyleLinks();
|
|
41
41
|
const [settings] = useGlobalSetting('');
|
|
42
|
-
const defaultControls = {
|
|
43
|
-
backgroundImage: true,
|
|
44
|
-
backgroundSize: hasBackgroundImageValue(style) || hasBackgroundImageValue(inheritedStyle)
|
|
45
|
-
};
|
|
46
42
|
return /*#__PURE__*/_jsx(StylesBackgroundPanel, {
|
|
47
43
|
inheritedValue: inheritedStyle,
|
|
48
44
|
value: style,
|
|
49
45
|
onChange: setStyle,
|
|
50
46
|
settings: settings,
|
|
51
47
|
defaultValues: BACKGROUND_DEFAULT_VALUES,
|
|
52
|
-
defaultControls: defaultControls,
|
|
53
48
|
themeFileURIs: _links?.['wp:theme-file']
|
|
54
49
|
});
|
|
55
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["privateApis","blockEditorPrivateApis","unlock","jsx","_jsx","BACKGROUND_DEFAULT_VALUES","backgroundSize","useGlobalStyle","useGlobalSetting","useGlobalStyleLinks","BackgroundPanel","StylesBackgroundPanel","hasBackgroundImageValue","style","background","backgroundImage","id","url","undefined","shouldDecodeEncode","inheritedStyle","setStyle","_links","settings","
|
|
1
|
+
{"version":3,"names":["privateApis","blockEditorPrivateApis","unlock","jsx","_jsx","BACKGROUND_DEFAULT_VALUES","backgroundSize","useGlobalStyle","useGlobalSetting","useGlobalStyleLinks","BackgroundPanel","StylesBackgroundPanel","hasBackgroundImageValue","style","background","backgroundImage","id","url","undefined","shouldDecodeEncode","inheritedStyle","setStyle","_links","settings","inheritedValue","value","onChange","defaultValues","themeFileURIs"],"sources":["@wordpress/edit-site/src/components/global-styles/background-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\n// Initial control values where no block style is set.\nconst BACKGROUND_DEFAULT_VALUES = {\n\tbackgroundSize: 'auto',\n};\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tuseGlobalStyleLinks,\n\tBackgroundPanel: StylesBackgroundPanel,\n} = unlock( blockEditorPrivateApis );\n\n/**\n * Checks if there is a current value in the background image block support\n * attributes.\n *\n * @param {Object} style Style attribute.\n * @return {boolean} Whether the block has a background image value set.\n */\nexport function hasBackgroundImageValue( style ) {\n\treturn (\n\t\t!! style?.background?.backgroundImage?.id ||\n\t\t!! style?.background?.backgroundImage?.url ||\n\t\ttypeof style?.background?.backgroundImage === 'string'\n\t);\n}\n\nexport default function BackgroundPanel() {\n\tconst [ style ] = useGlobalStyle( '', undefined, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( '', undefined, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst _links = useGlobalStyleLinks();\n\tconst [ settings ] = useGlobalSetting( '' );\n\n\treturn (\n\t\t<StylesBackgroundPanel\n\t\t\tinheritedValue={ inheritedStyle }\n\t\t\tvalue={ style }\n\t\t\tonChange={ setStyle }\n\t\t\tsettings={ settings }\n\t\t\tdefaultValues={ BACKGROUND_DEFAULT_VALUES }\n\t\t\tthemeFileURIs={ _links?.[ 'wp:theme-file' ] }\n\t\t/>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAE/E;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;;AAE1C;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACA,MAAMC,yBAAyB,GAAG;EACjCC,cAAc,EAAE;AACjB,CAAC;AAED,MAAM;EACLC,cAAc;EACdC,gBAAgB;EAChBC,mBAAmB;EACnBC,eAAe,EAAEC;AAClB,CAAC,GAAGT,MAAM,CAAED,sBAAuB,CAAC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASW,uBAAuBA,CAAEC,KAAK,EAAG;EAChD,OACC,CAAC,CAAEA,KAAK,EAAEC,UAAU,EAAEC,eAAe,EAAEC,EAAE,IACzC,CAAC,CAAEH,KAAK,EAAEC,UAAU,EAAEC,eAAe,EAAEE,GAAG,IAC1C,OAAOJ,KAAK,EAAEC,UAAU,EAAEC,eAAe,KAAK,QAAQ;AAExD;AAEA,eAAe,SAASL,eAAeA,CAAA,EAAG;EACzC,MAAM,CAAEG,KAAK,CAAE,GAAGN,cAAc,CAAE,EAAE,EAAEW,SAAS,EAAE,MAAM,EAAE;IACxDC,kBAAkB,EAAE;EACrB,CAAE,CAAC;EACH,MAAM,CAAEC,cAAc,EAAEC,QAAQ,CAAE,GAAGd,cAAc,CAAE,EAAE,EAAEW,SAAS,EAAE,KAAK,EAAE;IAC1EC,kBAAkB,EAAE;EACrB,CAAE,CAAC;EACH,MAAMG,MAAM,GAAGb,mBAAmB,CAAC,CAAC;EACpC,MAAM,CAAEc,QAAQ,CAAE,GAAGf,gBAAgB,CAAE,EAAG,CAAC;EAE3C,oBACCJ,IAAA,CAACO,qBAAqB;IACrBa,cAAc,EAAGJ,cAAgB;IACjCK,KAAK,EAAGZ,KAAO;IACfa,QAAQ,EAAGL,QAAU;IACrBE,QAAQ,EAAGA,QAAU;IACrBI,aAAa,EAAGtB,yBAA2B;IAC3CuB,aAAa,EAAGN,MAAM,GAAI,eAAe;EAAI,CAC7C,CAAC;AAEJ","ignoreList":[]}
|
|
@@ -33,8 +33,12 @@ const BlockPreviewPanel = ({
|
|
|
33
33
|
}
|
|
34
34
|
return getBlockFromExample(name, example);
|
|
35
35
|
}, [name, blockExample, variation]);
|
|
36
|
-
const viewportWidth = (_blockExample$viewpor = blockExample?.viewportWidth) !== null && _blockExample$viewpor !== void 0 ? _blockExample$viewpor :
|
|
37
|
-
|
|
36
|
+
const viewportWidth = (_blockExample$viewpor = blockExample?.viewportWidth) !== null && _blockExample$viewpor !== void 0 ? _blockExample$viewpor : 500;
|
|
37
|
+
// Same as height of InserterPreviewPanel.
|
|
38
|
+
const previewHeight = 144;
|
|
39
|
+
const sidebarWidth = 235;
|
|
40
|
+
const scale = sidebarWidth / viewportWidth;
|
|
41
|
+
const minHeight = scale !== 0 && scale < 1 && previewHeight ? previewHeight / scale : previewHeight;
|
|
38
42
|
if (!blockExample) {
|
|
39
43
|
return null;
|
|
40
44
|
}
|
|
@@ -51,12 +55,17 @@ const BlockPreviewPanel = ({
|
|
|
51
55
|
blocks: blocks,
|
|
52
56
|
viewportWidth: viewportWidth,
|
|
53
57
|
minHeight: previewHeight,
|
|
54
|
-
additionalStyles:
|
|
58
|
+
additionalStyles:
|
|
59
|
+
//We want this CSS to be in sync with the one in InserterPreviewPanel.
|
|
60
|
+
[{
|
|
55
61
|
css: `
|
|
56
62
|
body{
|
|
57
|
-
|
|
58
|
-
|
|
63
|
+
padding: 24px;
|
|
64
|
+
min-height:${Math.round(minHeight)}px;
|
|
65
|
+
display:flex;
|
|
66
|
+
align-items:center;
|
|
59
67
|
}
|
|
68
|
+
.is-root-container { width: 100%; }
|
|
60
69
|
`
|
|
61
70
|
}]
|
|
62
71
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BlockPreview","getBlockType","getBlockFromExample","__experimentalSpacer","Spacer","useMemo","getVariationClassName","jsx","_jsx","BlockPreviewPanel","name","variation","_blockExample$viewpor","blockExample","example","blocks","attributes","className","viewportWidth","previewHeight","marginX","marginBottom","children","style","maxHeight","boxSizing","
|
|
1
|
+
{"version":3,"names":["BlockPreview","getBlockType","getBlockFromExample","__experimentalSpacer","Spacer","useMemo","getVariationClassName","jsx","_jsx","BlockPreviewPanel","name","variation","_blockExample$viewpor","blockExample","example","blocks","attributes","className","viewportWidth","previewHeight","sidebarWidth","scale","minHeight","marginX","marginBottom","children","style","maxHeight","boxSizing","additionalStyles","css","Math","round"],"sources":["@wordpress/edit-site/src/components/global-styles/block-preview-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockPreview } from '@wordpress/block-editor';\nimport { getBlockType, getBlockFromExample } from '@wordpress/blocks';\nimport { __experimentalSpacer as Spacer } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getVariationClassName } from './utils';\n\nconst BlockPreviewPanel = ( { name, variation = '' } ) => {\n\tconst blockExample = getBlockType( name )?.example;\n\tconst blocks = useMemo( () => {\n\t\tif ( ! blockExample ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet example = blockExample;\n\t\tif ( variation ) {\n\t\t\texample = {\n\t\t\t\t...example,\n\t\t\t\tattributes: {\n\t\t\t\t\t...example.attributes,\n\t\t\t\t\tclassName: getVariationClassName( variation ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn getBlockFromExample( name, example );\n\t}, [ name, blockExample, variation ] );\n\n\tconst viewportWidth = blockExample?.viewportWidth ?? 500;\n\t// Same as height of InserterPreviewPanel.\n\tconst previewHeight = 144;\n\tconst sidebarWidth = 235;\n\tconst scale = sidebarWidth / viewportWidth;\n\tconst minHeight =\n\t\tscale !== 0 && scale < 1 && previewHeight\n\t\t\t? previewHeight / scale\n\t\t\t: previewHeight;\n\n\tif ( ! blockExample ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Spacer marginX={ 4 } marginBottom={ 4 }>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-site-global-styles__block-preview-panel\"\n\t\t\t\tstyle={ { maxHeight: previewHeight, boxSizing: 'initial' } }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t\tminHeight={ previewHeight }\n\t\t\t\t\tadditionalStyles={\n\t\t\t\t\t\t//We want this CSS to be in sync with the one in InserterPreviewPanel.\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcss: `\n\t\t\t\t\t\t\t\tbody{\n\t\t\t\t\t\t\t\t\tpadding: 24px;\n\t\t\t\t\t\t\t\t\tmin-height:${ Math.round( minHeight ) }px;\n\t\t\t\t\t\t\t\t\tdisplay:flex;\n\t\t\t\t\t\t\t\t\talign-items:center;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t.is-root-container { width: 100%; }\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Spacer>\n\t);\n};\n\nexport default BlockPreviewPanel;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,yBAAyB;AACtD,SAASC,YAAY,EAAEC,mBAAmB,QAAQ,mBAAmB;AACrE,SAASC,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,OAAO,QAAQ,oBAAoB;;AAE5C;AACA;AACA;AACA,SAASC,qBAAqB,QAAQ,SAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhD,MAAMC,iBAAiB,GAAGA,CAAE;EAAEC,IAAI;EAAEC,SAAS,GAAG;AAAG,CAAC,KAAM;EAAA,IAAAC,qBAAA;EACzD,MAAMC,YAAY,GAAGZ,YAAY,CAAES,IAAK,CAAC,EAAEI,OAAO;EAClD,MAAMC,MAAM,GAAGV,OAAO,CAAE,MAAM;IAC7B,IAAK,CAAEQ,YAAY,EAAG;MACrB,OAAO,IAAI;IACZ;IAEA,IAAIC,OAAO,GAAGD,YAAY;IAC1B,IAAKF,SAAS,EAAG;MAChBG,OAAO,GAAG;QACT,GAAGA,OAAO;QACVE,UAAU,EAAE;UACX,GAAGF,OAAO,CAACE,UAAU;UACrBC,SAAS,EAAEX,qBAAqB,CAAEK,SAAU;QAC7C;MACD,CAAC;IACF;IAEA,OAAOT,mBAAmB,CAAEQ,IAAI,EAAEI,OAAQ,CAAC;EAC5C,CAAC,EAAE,CAAEJ,IAAI,EAAEG,YAAY,EAAEF,SAAS,CAAG,CAAC;EAEtC,MAAMO,aAAa,IAAAN,qBAAA,GAAGC,YAAY,EAAEK,aAAa,cAAAN,qBAAA,cAAAA,qBAAA,GAAI,GAAG;EACxD;EACA,MAAMO,aAAa,GAAG,GAAG;EACzB,MAAMC,YAAY,GAAG,GAAG;EACxB,MAAMC,KAAK,GAAGD,YAAY,GAAGF,aAAa;EAC1C,MAAMI,SAAS,GACdD,KAAK,KAAK,CAAC,IAAIA,KAAK,GAAG,CAAC,IAAIF,aAAa,GACtCA,aAAa,GAAGE,KAAK,GACrBF,aAAa;EAEjB,IAAK,CAAEN,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,oBACCL,IAAA,CAACJ,MAAM;IAACmB,OAAO,EAAG,CAAG;IAACC,YAAY,EAAG,CAAG;IAAAC,QAAA,eACvCjB,IAAA;MACCS,SAAS,EAAC,8CAA8C;MACxDS,KAAK,EAAG;QAAEC,SAAS,EAAER,aAAa;QAAES,SAAS,EAAE;MAAU,CAAG;MAAAH,QAAA,eAE5DjB,IAAA,CAACR,YAAY;QACZe,MAAM,EAAGA,MAAQ;QACjBG,aAAa,EAAGA,aAAe;QAC/BI,SAAS,EAAGH,aAAe;QAC3BU,gBAAgB;QACf;QACA,CACC;UACCC,GAAG,EAAG;AACd;AACA;AACA,sBAAuBC,IAAI,CAACC,KAAK,CAAEV,SAAU,CAAG;AAChD;AACA;AACA;AACA;AACA;QACO,CAAC;MAEF,CACD;IAAC,CACE;EAAC,CACC,CAAC;AAEX,CAAC;AAED,eAAeb,iBAAiB","ignoreList":[]}
|