@wordpress/edit-site 5.23.0 → 5.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/actions/index.js +56 -38
- package/build/components/actions/index.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +7 -2
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/dataviews/add-filter.js +21 -20
- package/build/components/dataviews/add-filter.js.map +1 -1
- package/build/components/dataviews/constants.js +14 -0
- package/build/components/dataviews/constants.js.map +1 -0
- package/build/components/dataviews/dataviews.js +9 -7
- package/build/components/dataviews/dataviews.js.map +1 -1
- package/build/components/dataviews/filter-summary.js +62 -0
- package/build/components/dataviews/filter-summary.js.map +1 -0
- package/build/components/dataviews/filters.js +15 -30
- package/build/components/dataviews/filters.js.map +1 -1
- package/build/components/dataviews/item-actions.js +84 -30
- package/build/components/dataviews/item-actions.js.map +1 -1
- package/build/components/dataviews/pagination.js +4 -0
- package/build/components/dataviews/pagination.js.map +1 -1
- package/build/components/dataviews/view-actions.js +24 -24
- package/build/components/dataviews/view-actions.js.map +1 -1
- package/build/components/dataviews/view-grid.js +48 -25
- package/build/components/dataviews/view-grid.js.map +1 -1
- package/build/components/dataviews/view-list.js +28 -33
- package/build/components/dataviews/view-list.js.map +1 -1
- package/build/components/editor/index.js +23 -27
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +15 -2
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/header.js +4 -2
- package/build/components/global-styles/header.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +22 -16
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +26 -5
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +52 -24
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/ui.js +28 -36
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/header-edit-mode/document-actions/index.js +21 -16
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +2 -1
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +1 -1
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/list/added-by.js +43 -54
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
- package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
- package/build/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/build/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
- package/build/components/page-content-focus-notifications/index.js +22 -0
- package/build/components/page-content-focus-notifications/index.js.map +1 -0
- package/build/components/page-pages/index.js +9 -15
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +1 -1
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/dataviews-templates.js +166 -51
- package/build/components/page-templates/dataviews-templates.js.map +1 -1
- package/build/components/preferences-modal/index.js +1 -1
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/save-button/index.js +9 -6
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-hub/index.js +14 -0
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +7 -2
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +6 -5
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js +15 -26
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js +22 -8
- package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-status.js +8 -5
- package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js +4 -8
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +2 -2
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +10 -6
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/index.js +23 -4
- package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build/components/style-book/index.js +22 -12
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/welcome-guide/page.js +2 -2
- package/build/components/welcome-guide/page.js.map +1 -1
- package/build/components/welcome-guide/template.js +6 -3
- package/build/components/welcome-guide/template.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +24 -14
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/store/actions.js +4 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +2 -27
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +0 -23
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -40
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +8 -4
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +1 -12
- package/build/utils/constants.js.map +1 -1
- package/build-module/components/actions/index.js +55 -36
- package/build-module/components/actions/index.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +7 -2
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/dataviews/add-filter.js +21 -20
- package/build-module/components/dataviews/add-filter.js.map +1 -1
- package/build-module/components/dataviews/constants.js +6 -0
- package/build-module/components/dataviews/constants.js.map +1 -0
- package/build-module/components/dataviews/dataviews.js +9 -7
- package/build-module/components/dataviews/dataviews.js.map +1 -1
- package/build-module/components/dataviews/filter-summary.js +55 -0
- package/build-module/components/dataviews/filter-summary.js.map +1 -0
- package/build-module/components/dataviews/filters.js +15 -28
- package/build-module/components/dataviews/filters.js.map +1 -1
- package/build-module/components/dataviews/item-actions.js +84 -30
- package/build-module/components/dataviews/item-actions.js.map +1 -1
- package/build-module/components/dataviews/pagination.js +4 -0
- package/build-module/components/dataviews/pagination.js.map +1 -1
- package/build-module/components/dataviews/view-actions.js +24 -24
- package/build-module/components/dataviews/view-actions.js.map +1 -1
- package/build-module/components/dataviews/view-grid.js +49 -26
- package/build-module/components/dataviews/view-grid.js.map +1 -1
- package/build-module/components/dataviews/view-list.js +28 -33
- package/build-module/components/dataviews/view-list.js.map +1 -1
- package/build-module/components/editor/index.js +26 -30
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +14 -2
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/header.js +4 -2
- package/build-module/components/global-styles/header.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +23 -17
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +27 -6
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +51 -24
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/ui.js +28 -36
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +21 -16
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +2 -1
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/list/added-by.js +44 -55
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
- package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
- package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
- package/build-module/components/page-content-focus-notifications/index.js +14 -0
- package/build-module/components/page-content-focus-notifications/index.js.map +1 -0
- package/build-module/components/page-pages/index.js +10 -16
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +1 -1
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/dataviews-templates.js +168 -53
- package/build-module/components/page-templates/dataviews-templates.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +1 -1
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/save-button/index.js +11 -8
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +14 -0
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +7 -2
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +6 -5
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +16 -27
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +21 -7
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +9 -6
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +5 -9
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +10 -6
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/index.js +23 -4
- package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build-module/components/style-book/index.js +22 -12
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/welcome-guide/page.js +2 -2
- package/build-module/components/welcome-guide/page.js.map +1 -1
- package/build-module/components/welcome-guide/template.js +6 -3
- package/build-module/components/welcome-guide/template.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +24 -14
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/store/actions.js +4 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +1 -25
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +0 -22
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -38
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +8 -4
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +0 -10
- package/build-module/utils/constants.js.map +1 -1
- package/build-style/style-rtl.css +152 -62
- package/build-style/style.css +152 -62
- package/package.json +41 -41
- package/src/components/actions/index.js +76 -48
- package/src/components/block-editor/site-editor-canvas.js +8 -2
- package/src/components/dataviews/README.md +14 -11
- package/src/components/dataviews/add-filter.js +21 -24
- package/src/components/dataviews/constants.js +5 -0
- package/src/components/dataviews/dataviews.js +10 -10
- package/src/components/dataviews/filter-summary.js +79 -0
- package/src/components/dataviews/filters.js +18 -35
- package/src/components/dataviews/item-actions.js +106 -42
- package/src/components/dataviews/pagination.js +4 -0
- package/src/components/dataviews/style.scss +84 -8
- package/src/components/dataviews/view-actions.js +39 -41
- package/src/components/dataviews/view-grid.js +63 -38
- package/src/components/dataviews/view-list.js +50 -57
- package/src/components/editor/index.js +18 -34
- package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/src/components/global-styles/font-library-modal/utils/index.js +20 -9
- package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +46 -15
- package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +28 -0
- package/src/components/global-styles/header.js +2 -1
- package/src/components/global-styles/screen-block-list.js +37 -26
- package/src/components/global-styles/screen-revisions/index.js +39 -10
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +65 -45
- package/src/components/global-styles/screen-revisions/style.scss +52 -28
- package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -6
- package/src/components/global-styles/style.scss +0 -11
- package/src/components/global-styles/ui.js +59 -74
- package/src/components/header-edit-mode/document-actions/index.js +20 -18
- package/src/components/header-edit-mode/index.js +1 -0
- package/src/components/header-edit-mode/more-menu/index.js +1 -1
- package/src/components/list/added-by.js +23 -63
- package/src/components/list/style.scss +11 -13
- package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +12 -13
- package/src/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/src/components/page-content-focus-notifications/index.js +14 -0
- package/src/components/page-pages/index.js +15 -20
- package/src/components/page-patterns/use-patterns.js +1 -1
- package/src/components/page-templates/dataviews-templates.js +169 -48
- package/src/components/page-templates/style.scss +13 -0
- package/src/components/preferences-modal/index.js +1 -1
- package/src/components/save-button/index.js +37 -24
- package/src/components/save-hub/index.js +15 -0
- package/src/components/save-hub/style.scss +7 -0
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +2 -0
- package/src/components/sidebar-dataviews/default-views.js +7 -2
- package/src/components/sidebar-dataviews/style.scss +7 -0
- package/src/components/sidebar-edit-mode/index.js +13 -9
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +33 -52
- package/src/components/sidebar-edit-mode/page-panels/hooks.js +20 -9
- package/src/components/sidebar-edit-mode/page-panels/page-status.js +6 -6
- package/src/components/sidebar-edit-mode/page-panels/page-summary.js +8 -9
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
- package/src/components/sidebar-edit-mode/page-panels/style.scss +9 -19
- package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
- package/src/components/sidebar-navigation-screen/style.scss +1 -0
- package/src/components/sidebar-navigation-screen-page/index.js +24 -3
- package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
- package/src/components/style-book/index.js +48 -35
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +69 -17
- package/src/components/welcome-guide/page.js +2 -2
- package/src/components/welcome-guide/template.js +4 -2
- package/src/hooks/commands/use-edit-mode-commands.js +22 -16
- package/src/store/actions.js +5 -1
- package/src/store/private-actions.js +1 -24
- package/src/store/private-selectors.js +0 -22
- package/src/store/reducer.js +0 -39
- package/src/store/selectors.js +12 -4
- package/src/store/test/actions.js +3 -32
- package/src/store/test/reducer.js +0 -62
- package/src/store/test/selectors.js +0 -35
- package/src/style.scss +1 -0
- package/src/utils/constants.js +0 -10
- package/build/components/dataviews/in-filter.js +0 -51
- package/build/components/dataviews/in-filter.js.map +0 -1
- package/build/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -63
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
- package/build/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
- package/build/components/page-content-focus-manager/index.js +0 -61
- package/build/components/page-content-focus-manager/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/page-panels/publish-date.js +0 -87
- package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
- package/build-module/components/dataviews/in-filter.js +0 -42
- package/build-module/components/dataviews/in-filter.js.map +0 -1
- package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -56
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
- package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
- package/build-module/components/page-content-focus-manager/index.js +0 -52
- package/build-module/components/page-content-focus-manager/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +0 -80
- package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
- package/src/components/dataviews/in-filter.js +0 -63
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -57
- package/src/components/page-content-focus-manager/index.js +0 -51
- package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["removeAccents","Icon","__experimentalHeading","Heading","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","__","_x","useState","useMemo","useCallback","useEntityRecords","decodeEntities","Page","Link","useAddedBy","AvatarImage","TEMPLATE_POST_TYPE","DataViews","useResetTemplateAction","deleteTemplateAction","renameTemplateAction","EMPTY_ARRAY","DEFAULT_VIEW","type","search","page","perPage","hiddenFields","layout","normalizeSearchInput","input","trim","toLowerCase","TemplateTitle","item","isCustomized","id","createElement","spacing","as","level","params","postId","postType","canvas","title","rendered","slug","className","AuthorField","text","icon","imageUrl","alignment","DataviewsTemplates","view","setView","records","allTemplates","isResolving","isLoadingData","per_page","shownTemplates","paginationInfo","totalItems","totalPages","filteredTemplates","normalizedSearch","filter","includes","description","sort","field","a","b","titleA","titleB","direction","localeCompare","start","length","slice","Math","ceil","fields","header","getValue","render","maxWidth","enableHiding","variant","enableSorting","resetTemplateAction","actions","onChangeView","viewUpdater","updatedView","data","isLoading","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-templates/dataviews-templates.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Link from '../routes/link';\nimport { useAddedBy, AvatarImage } from '../list/added-by';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { DataViews } from '../dataviews';\nimport {\n\tuseResetTemplateAction,\n\tdeleteTemplateAction,\n\trenameTemplateAction,\n} from './template-actions';\n\nconst EMPTY_ARRAY = [];\n\nconst DEFAULT_VIEW = {\n\ttype: 'list',\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [],\n\tlayout: {},\n};\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\n// TODO: these are going to be reused in the template part list.\n// That's the reason for leaving the template parts code for now.\nfunction TemplateTitle( { item } ) {\n\tconst { isCustomized } = useAddedBy( item.type, item.id );\n\treturn (\n\t\t<VStack spacing={ 1 }>\n\t\t\t<Heading as=\"h3\" level={ 5 }>\n\t\t\t\t<Link\n\t\t\t\t\tparams={ {\n\t\t\t\t\t\tpostId: item.id,\n\t\t\t\t\t\tpostType: item.type,\n\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( item.title?.rendered || item.slug ) ||\n\t\t\t\t\t\t__( '(no title)' ) }\n\t\t\t\t</Link>\n\t\t\t</Heading>\n\t\t\t{ isCustomized && (\n\t\t\t\t<span className=\"edit-site-list-added-by__customized-info\">\n\t\t\t\t\t{ item.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? _x( 'Customized', 'template' )\n\t\t\t\t\t\t: _x( 'Customized', 'template part' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction AuthorField( { item } ) {\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t{ imageUrl ? (\n\t\t\t\t<AvatarImage imageUrl={ imageUrl } />\n\t\t\t) : (\n\t\t\t\t<div className=\"edit-site-list-added-by__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span>{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport default function DataviewsTemplates() {\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst { records: allTemplates, isResolving: isLoadingData } =\n\t\tuseEntityRecords( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst { shownTemplates, paginationInfo } = useMemo( () => {\n\t\tif ( ! allTemplates ) {\n\t\t\treturn {\n\t\t\t\tshownTemplates: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredTemplates = [ ...allTemplates ];\n\t\t// Handle global search.\n\t\tif ( view.search ) {\n\t\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\t\tfilteredTemplates = filteredTemplates.filter( ( item ) => {\n\t\t\t\tconst title = item.title?.rendered || item.slug;\n\t\t\t\treturn (\n\t\t\t\t\tnormalizeSearchInput( title ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t) ||\n\t\t\t\t\tnormalizeSearchInput( item.description ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\t\t// Handle sorting.\n\t\t// TODO: Explore how this can be more dynamic..\n\t\tif ( view.sort ) {\n\t\t\tif ( view.sort.field === 'title' ) {\n\t\t\t\tfilteredTemplates.sort( ( a, b ) => {\n\t\t\t\t\tconst titleA = a.title?.rendered || a.slug;\n\t\t\t\t\tconst titleB = b.title?.rendered || b.slug;\n\t\t\t\t\treturn view.sort.direction === 'asc'\n\t\t\t\t\t\t? titleA.localeCompare( titleB )\n\t\t\t\t\t\t: titleB.localeCompare( titleA );\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t\t// Handle pagination.\n\t\tconst start = ( view.page - 1 ) * view.perPage;\n\t\tconst totalItems = filteredTemplates?.length || 0;\n\t\tfilteredTemplates = filteredTemplates?.slice(\n\t\t\tstart,\n\t\t\tstart + view.perPage\n\t\t);\n\t\treturn {\n\t\t\tshownTemplates: filteredTemplates,\n\t\t\tpaginationInfo: {\n\t\t\t\ttotalItems,\n\t\t\t\ttotalPages: Math.ceil( totalItems / view.perPage ),\n\t\t\t},\n\t\t};\n\t}, [ allTemplates, view ] );\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\theader: __( 'Template' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered || item.slug,\n\t\t\t\trender: ( { item } ) => <TemplateTitle item={ item } />,\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\tgetValue: ( { item } ) => item.description,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\titem.description && (\n\t\t\t\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 200,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: () => {},\n\t\t\t\trender: ( { item } ) => <AuthorField item={ item } />,\n\t\t\t\tenableHiding: false,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t],\n\t\t[]\n\t);\n\tconst resetTemplateAction = useResetTemplateAction();\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\tresetTemplateAction,\n\t\t\tdeleteTemplateAction,\n\t\t\trenameTemplateAction,\n\t\t],\n\t\t[ resetTemplateAction ]\n\t);\n\tconst onChangeView = useCallback(\n\t\t( viewUpdater ) => {\n\t\t\tconst updatedView =\n\t\t\t\ttypeof viewUpdater === 'function'\n\t\t\t\t\t? viewUpdater( view )\n\t\t\t\t\t: viewUpdater;\n\t\t\tsetView( updatedView );\n\t\t},\n\t\t[ view, setView ]\n\t);\n\treturn (\n\t\t<Page title={ __( 'Templates' ) }>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ shownTemplates }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tsupportedLayouts={ [ 'list' ] }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["removeAccents","Icon","__experimentalHeading","Heading","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","VisuallyHidden","__","_x","useState","useMemo","useCallback","useEntityRecords","decodeEntities","parse","BlockPreview","privateApis","blockEditorPrivateApis","Page","Link","useAddedBy","AvatarImage","TEMPLATE_POST_TYPE","DataViews","ENUMERATION_TYPE","OPERATOR_IN","useResetTemplateAction","deleteTemplateAction","renameTemplateAction","usePatternSettings","unlock","ExperimentalBlockEditorProvider","useGlobalStyle","EMPTY_ARRAY","defaultConfigPerViewType","list","grid","mediaField","primaryField","DEFAULT_VIEW","type","search","page","perPage","hiddenFields","layout","filters","normalizeSearchInput","input","trim","toLowerCase","TemplateTitle","item","isCustomized","id","createElement","spacing","as","level","params","postId","postType","canvas","title","rendered","slug","className","AuthorField","text","icon","imageUrl","alignment","TemplatePreview","content","viewType","settings","backgroundColor","blocks","length","style","DataviewsTemplates","view","setView","records","allTemplates","isResolving","isLoadingData","per_page","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","value","label","fields","header","render","raw","minWidth","maxWidth","enableSorting","getValue","enableHiding","description","Fragment","variant","elements","shownTemplates","paginationInfo","totalItems","totalPages","filteredTemplates","normalizedSearch","filter","includes","field","operator","sort","stringSortingFields","fieldId","fieldToSort","find","a","b","_fieldToSort$getValue","_fieldToSort$getValue2","valueA","valueB","direction","localeCompare","start","slice","Math","ceil","resetTemplateAction","actions","onChangeView","viewUpdater","updatedView","data","getItemId","isLoading","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-templates/dataviews-templates.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Link from '../routes/link';\nimport { useAddedBy, AvatarImage } from '../list/added-by';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { DataViews } from '../dataviews';\nimport { ENUMERATION_TYPE, OPERATOR_IN } from '../dataviews/constants';\nimport {\n\tuseResetTemplateAction,\n\tdeleteTemplateAction,\n\trenameTemplateAction,\n} from './template-actions';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst EMPTY_ARRAY = [];\n\nconst defaultConfigPerViewType = {\n\tlist: {},\n\tgrid: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: 'list',\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'preview' ],\n\tlayout: {},\n\tfilters: [],\n};\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\n// TODO: these are going to be reused in the template part list.\n// That's the reason for leaving the template parts code for now.\nfunction TemplateTitle( { item } ) {\n\tconst { isCustomized } = useAddedBy( item.type, item.id );\n\treturn (\n\t\t<VStack spacing={ 1 }>\n\t\t\t<Heading as=\"h3\" level={ 5 }>\n\t\t\t\t<Link\n\t\t\t\t\tparams={ {\n\t\t\t\t\t\tpostId: item.id,\n\t\t\t\t\t\tpostType: item.type,\n\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( item.title?.rendered || item.slug ) ||\n\t\t\t\t\t\t__( '(no title)' ) }\n\t\t\t\t</Link>\n\t\t\t</Heading>\n\t\t\t{ isCustomized && (\n\t\t\t\t<span className=\"edit-site-list-added-by__customized-info\">\n\t\t\t\t\t{ item.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? _x( 'Customized', 'template' )\n\t\t\t\t\t\t: _x( 'Customized', 'template part' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction AuthorField( { item } ) {\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ imageUrl ? (\n\t\t\t\t<AvatarImage imageUrl={ imageUrl } />\n\t\t\t) : (\n\t\t\t\t<div className=\"edit-site-list-added-by__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span>{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction TemplatePreview( { content, viewType } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( content );\n\t}, [ content ] );\n\tif ( ! blocks?.length ) {\n\t\treturn null;\n\t}\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function DataviewsTemplates() {\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst { records: allTemplates, isResolving: isLoadingData } =\n\t\tuseEntityRecords( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! allTemplates ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\tallTemplates.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ allTemplates ] );\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item, view: { type: viewType } } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TemplatePreview\n\t\t\t\t\t\t\tcontent={ item.content.raw }\n\t\t\t\t\t\t\tviewType={ viewType }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tminWidth: 120,\n\t\t\t\tmaxWidth: 120,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Template' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered || item.slug,\n\t\t\t\trender: ( { item } ) => <TemplateTitle item={ item } />,\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\tgetValue: ( { item } ) => item.description,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn item.description ? (\n\t\t\t\t\t\tdecodeEntities( item.description )\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t—\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 200,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <AuthorField item={ item } />;\n\t\t\t\t},\n\t\t\t\tenableHiding: false,\n\t\t\t\ttype: ENUMERATION_TYPE,\n\t\t\t\telements: authors,\n\t\t\t},\n\t\t],\n\t\t[ authors ]\n\t);\n\n\tconst { shownTemplates, paginationInfo } = useMemo( () => {\n\t\tif ( ! allTemplates ) {\n\t\t\treturn {\n\t\t\t\tshownTemplates: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredTemplates = [ ...allTemplates ];\n\t\t// Handle global search.\n\t\tif ( view.search ) {\n\t\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\t\tfilteredTemplates = filteredTemplates.filter( ( item ) => {\n\t\t\t\tconst title = item.title?.rendered || item.slug;\n\t\t\t\treturn (\n\t\t\t\t\tnormalizeSearchInput( title ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t) ||\n\t\t\t\t\tnormalizeSearchInput( item.description ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\t// Handle filters.\n\t\tif ( view.filters.length > 0 ) {\n\t\t\tview.filters.forEach( ( filter ) => {\n\t\t\t\tif (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_IN &&\n\t\t\t\t\t!! filter.value\n\t\t\t\t) {\n\t\t\t\t\tfilteredTemplates = filteredTemplates.filter( ( item ) => {\n\t\t\t\t\t\treturn item.author_text === filter.value;\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tconst stringSortingFields = [ 'title', 'author' ];\n\t\t\tconst fieldId = view.sort.field;\n\t\t\tif ( stringSortingFields.includes( fieldId ) ) {\n\t\t\t\tconst fieldToSort = fields.find( ( field ) => {\n\t\t\t\t\treturn field.id === fieldId;\n\t\t\t\t} );\n\t\t\t\tfilteredTemplates.sort( ( a, b ) => {\n\t\t\t\t\tconst valueA = fieldToSort.getValue( { item: a } ) ?? '';\n\t\t\t\t\tconst valueB = fieldToSort.getValue( { item: b } ) ?? '';\n\t\t\t\t\treturn view.sort.direction === 'asc'\n\t\t\t\t\t\t? valueA.localeCompare( valueB )\n\t\t\t\t\t\t: valueB.localeCompare( valueA );\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\t// Handle pagination.\n\t\tconst start = ( view.page - 1 ) * view.perPage;\n\t\tconst totalItems = filteredTemplates?.length || 0;\n\t\tfilteredTemplates = filteredTemplates?.slice(\n\t\t\tstart,\n\t\t\tstart + view.perPage\n\t\t);\n\t\treturn {\n\t\t\tshownTemplates: filteredTemplates,\n\t\t\tpaginationInfo: {\n\t\t\t\ttotalItems,\n\t\t\t\ttotalPages: Math.ceil( totalItems / view.perPage ),\n\t\t\t},\n\t\t};\n\t}, [ allTemplates, view, fields ] );\n\n\tconst resetTemplateAction = useResetTemplateAction();\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\tresetTemplateAction,\n\t\t\tdeleteTemplateAction,\n\t\t\trenameTemplateAction,\n\t\t],\n\t\t[ resetTemplateAction ]\n\t);\n\tconst onChangeView = useCallback(\n\t\t( viewUpdater ) => {\n\t\t\tlet updatedView =\n\t\t\t\ttypeof viewUpdater === 'function'\n\t\t\t\t\t? viewUpdater( view )\n\t\t\t\t\t: viewUpdater;\n\t\t\tif ( updatedView.type !== view.type ) {\n\t\t\t\tupdatedView = {\n\t\t\t\t\t...updatedView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...defaultConfigPerViewType[ updatedView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tsetView( updatedView );\n\t\t},\n\t\t[ view, setView ]\n\t);\n\treturn (\n\t\t<Page title={ __( 'Templates' ) }>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ shownTemplates }\n\t\t\t\tgetItemId={ ( item ) => item.id }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tsupportedLayouts={ [ 'list', 'grid' ] }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,aAAa,MAAM,gBAAgB;;AAE1C;AACA;AACA;AACA,SACCC,IAAI,EACJC,qBAAqB,IAAIC,OAAO,EAChCC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,cAAc,QACR,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,QAAQ,oBAAoB;AACnE,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,KAAK,QAAQ,mBAAmB;AACzC,SACCC,YAAY,EACZC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;;AAEhC;AACA;AACA;AACA,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,IAAI,MAAM,gBAAgB;AACjC,SAASC,UAAU,EAAEC,WAAW,QAAQ,kBAAkB;AAC1D,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,gBAAgB,EAAEC,WAAW,QAAQ,wBAAwB;AACtE,SACCC,sBAAsB,EACtBC,oBAAoB,EACpBC,oBAAoB,QACd,oBAAoB;AAC3B,OAAOC,kBAAkB,MAAM,uCAAuC;AACtE,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC,+BAA+B;EAAEC;AAAe,CAAC,GAAGF,MAAM,CACjEb,sBACD,CAAC;AAED,MAAMgB,WAAW,GAAG,EAAE;AAEtB,MAAMC,wBAAwB,GAAG;EAChCC,IAAI,EAAE,CAAC,CAAC;EACRC,IAAI,EAAE;IACLC,UAAU,EAAE,SAAS;IACrBC,YAAY,EAAE;EACf;AACD,CAAC;AAED,MAAMC,YAAY,GAAG;EACpBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,EAAE;EACVC,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,EAAE;EACX;EACA;EACAC,YAAY,EAAE,CAAE,SAAS,CAAE;EAC3BC,MAAM,EAAE,CAAC,CAAC;EACVC,OAAO,EAAE;AACV,CAAC;AAED,SAASC,oBAAoBA,CAAEC,KAAK,GAAG,EAAE,EAAG;EAC3C,OAAOpD,aAAa,CAAEoD,KAAK,CAACC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAE,CAAC;AACnD;;AAEA;AACA;AACA,SAASC,aAAaA,CAAE;EAAEC;AAAK,CAAC,EAAG;EAClC,MAAM;IAAEC;EAAa,CAAC,GAAGjC,UAAU,CAAEgC,IAAI,CAACZ,IAAI,EAAEY,IAAI,CAACE,EAAG,CAAC;EACzD,OACCC,aAAA,CAAClD,MAAM;IAACmD,OAAO,EAAG;EAAG,GACpBD,aAAA,CAACxD,OAAO;IAAC0D,EAAE,EAAC,IAAI;IAACC,KAAK,EAAG;EAAG,GAC3BH,aAAA,CAACpC,IAAI;IACJwC,MAAM,EAAG;MACRC,MAAM,EAAER,IAAI,CAACE,EAAE;MACfO,QAAQ,EAAET,IAAI,CAACZ,IAAI;MACnBsB,MAAM,EAAE;IACT;EAAG,GAEDjD,cAAc,CAAEuC,IAAI,CAACW,KAAK,EAAEC,QAAQ,IAAIZ,IAAI,CAACa,IAAK,CAAC,IACpD1D,EAAE,CAAE,YAAa,CACb,CACE,CAAC,EACR8C,YAAY,IACbE,aAAA;IAAMW,SAAS,EAAC;EAA0C,GACvDd,IAAI,CAACZ,IAAI,KAAKlB,kBAAkB,GAC/Bd,EAAE,CAAE,YAAY,EAAE,UAAW,CAAC,GAC9BA,EAAE,CAAE,YAAY,EAAE,eAAgB,CAChC,CAEA,CAAC;AAEX;AAEA,SAAS2D,WAAWA,CAAE;EAAEf;AAAK,CAAC,EAAG;EAChC,MAAM;IAAEgB,IAAI;IAAEC,IAAI;IAAEC;EAAS,CAAC,GAAGlD,UAAU,CAAEgC,IAAI,CAACZ,IAAI,EAAEY,IAAI,CAACE,EAAG,CAAC;EACjE,OACCC,aAAA,CAACpD,MAAM;IAACoE,SAAS,EAAC,MAAM;IAACf,OAAO,EAAG;EAAG,GACnCc,QAAQ,GACTf,aAAA,CAAClC,WAAW;IAACiD,QAAQ,EAAGA;EAAU,CAAE,CAAC,GAErCf,aAAA;IAAKW,SAAS,EAAC;EAA+B,GAC7CX,aAAA,CAAC1D,IAAI;IAACwE,IAAI,EAAGA;EAAM,CAAE,CACjB,CACL,EACDd,aAAA,eAAQa,IAAY,CACb,CAAC;AAEX;AAEA,SAASI,eAAeA,CAAE;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACjD,MAAMC,QAAQ,GAAG9C,kBAAkB,CAAC,CAAC;EACrC,MAAM,CAAE+C,eAAe,GAAG,OAAO,CAAE,GAAG5C,cAAc,CAAE,kBAAmB,CAAC;EAC1E,MAAM6C,MAAM,GAAGnE,OAAO,CAAE,MAAM;IAC7B,OAAOI,KAAK,CAAE2D,OAAQ,CAAC;EACxB,CAAC,EAAE,CAAEA,OAAO,CAAG,CAAC;EAChB,IAAK,CAAEI,MAAM,EAAEC,MAAM,EAAG;IACvB,OAAO,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OACCvB,aAAA,CAACxB,+BAA+B;IAAC4C,QAAQ,EAAGA;EAAU,GACrDpB,aAAA;IACCW,SAAS,EAAI,4CAA4CQ,QAAU,EAAG;IACtEK,KAAK,EAAG;MAAEH;IAAgB;EAAG,GAE7BrB,aAAA,CAACxC,YAAY;IAAC8D,MAAM,EAAGA;EAAQ,CAAE,CAC7B,CAC2B,CAAC;AAEpC;AAEA,eAAe,SAASG,kBAAkBA,CAAA,EAAG;EAC5C,MAAM,CAAEC,IAAI,EAAEC,OAAO,CAAE,GAAGzE,QAAQ,CAAE8B,YAAa,CAAC;EAClD,MAAM;IAAE4C,OAAO,EAAEC,YAAY;IAAEC,WAAW,EAAEC;EAAc,CAAC,GAC1D1E,gBAAgB,CAAE,UAAU,EAAEU,kBAAkB,EAAE;IACjDiE,QAAQ,EAAE,CAAC;EACZ,CAAE,CAAC;EAEJ,MAAMC,OAAO,GAAG9E,OAAO,CAAE,MAAM;IAC9B,IAAK,CAAE0E,YAAY,EAAG;MACrB,OAAOnD,WAAW;IACnB;IACA,MAAMwD,UAAU,GAAG,IAAIC,GAAG,CAAC,CAAC;IAC5BN,YAAY,CAACO,OAAO,CAAIC,QAAQ,IAAM;MACrCH,UAAU,CAACI,GAAG,CAAED,QAAQ,CAACE,WAAY,CAAC;IACvC,CAAE,CAAC;IACH,OAAOC,KAAK,CAACC,IAAI,CAAEP,UAAW,CAAC,CAACQ,GAAG,CAAIC,MAAM,KAAQ;MACpDC,KAAK,EAAED,MAAM;MACbE,KAAK,EAAEF;IACR,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEd,YAAY,CAAG,CAAC;EAErB,MAAMiB,MAAM,GAAG3F,OAAO,CACrB,MAAM,CACL;IACC4F,MAAM,EAAE/F,EAAE,CAAE,SAAU,CAAC;IACvB+C,EAAE,EAAE,SAAS;IACbiD,MAAM,EAAEA,CAAE;MAAEnD,IAAI;MAAE6B,IAAI,EAAE;QAAEzC,IAAI,EAAEkC;MAAS;IAAE,CAAC,KAAM;MACjD,OACCnB,aAAA,CAACiB,eAAe;QACfC,OAAO,EAAGrB,IAAI,CAACqB,OAAO,CAAC+B,GAAK;QAC5B9B,QAAQ,EAAGA;MAAU,CACrB,CAAC;IAEJ,CAAC;IACD+B,QAAQ,EAAE,GAAG;IACbC,QAAQ,EAAE,GAAG;IACbC,aAAa,EAAE;EAChB,CAAC,EACD;IACCL,MAAM,EAAE/F,EAAE,CAAE,UAAW,CAAC;IACxB+C,EAAE,EAAE,OAAO;IACXsD,QAAQ,EAAEA,CAAE;MAAExD;IAAK,CAAC,KAAMA,IAAI,CAACW,KAAK,EAAEC,QAAQ,IAAIZ,IAAI,CAACa,IAAI;IAC3DsC,MAAM,EAAEA,CAAE;MAAEnD;IAAK,CAAC,KAAMG,aAAA,CAACJ,aAAa;MAACC,IAAI,EAAGA;IAAM,CAAE,CAAC;IACvDsD,QAAQ,EAAE,GAAG;IACbG,YAAY,EAAE;EACf,CAAC,EACD;IACCP,MAAM,EAAE/F,EAAE,CAAE,aAAc,CAAC;IAC3B+C,EAAE,EAAE,aAAa;IACjBsD,QAAQ,EAAEA,CAAE;MAAExD;IAAK,CAAC,KAAMA,IAAI,CAAC0D,WAAW;IAC1CP,MAAM,EAAEA,CAAE;MAAEnD;IAAK,CAAC,KAAM;MACvB,OAAOA,IAAI,CAAC0D,WAAW,GACtBjG,cAAc,CAAEuC,IAAI,CAAC0D,WAAY,CAAC,GAElCvD,aAAA,CAAAwD,QAAA,QACCxD,aAAA,CAACtD,IAAI;QAAC+G,OAAO,EAAC,OAAO;QAAC,eAAY;MAAM,GAAC,QAEnC,CAAC,EACPzD,aAAA,CAACjD,cAAc,QACZC,EAAE,CAAE,iBAAkB,CACT,CACf,CACF;IACF,CAAC;IACDmG,QAAQ,EAAE,GAAG;IACbC,aAAa,EAAE;EAChB,CAAC,EACD;IACCL,MAAM,EAAE/F,EAAE,CAAE,QAAS,CAAC;IACtB+C,EAAE,EAAE,QAAQ;IACZsD,QAAQ,EAAEA,CAAE;MAAExD;IAAK,CAAC,KAAMA,IAAI,CAAC0C,WAAW;IAC1CS,MAAM,EAAEA,CAAE;MAAEnD;IAAK,CAAC,KAAM;MACvB,OAAOG,aAAA,CAACY,WAAW;QAACf,IAAI,EAAGA;MAAM,CAAE,CAAC;IACrC,CAAC;IACDyD,YAAY,EAAE,KAAK;IACnBrE,IAAI,EAAEhB,gBAAgB;IACtByF,QAAQ,EAAEzB;EACX,CAAC,CACD,EACD,CAAEA,OAAO,CACV,CAAC;EAED,MAAM;IAAE0B,cAAc;IAAEC;EAAe,CAAC,GAAGzG,OAAO,CAAE,MAAM;IACzD,IAAK,CAAE0E,YAAY,EAAG;MACrB,OAAO;QACN8B,cAAc,EAAEjF,WAAW;QAC3BkF,cAAc,EAAE;UAAEC,UAAU,EAAE,CAAC;UAAEC,UAAU,EAAE;QAAE;MAChD,CAAC;IACF;IACA,IAAIC,iBAAiB,GAAG,CAAE,GAAGlC,YAAY,CAAE;IAC3C;IACA,IAAKH,IAAI,CAACxC,MAAM,EAAG;MAClB,MAAM8E,gBAAgB,GAAGxE,oBAAoB,CAAEkC,IAAI,CAACxC,MAAO,CAAC;MAC5D6E,iBAAiB,GAAGA,iBAAiB,CAACE,MAAM,CAAIpE,IAAI,IAAM;QACzD,MAAMW,KAAK,GAAGX,IAAI,CAACW,KAAK,EAAEC,QAAQ,IAAIZ,IAAI,CAACa,IAAI;QAC/C,OACClB,oBAAoB,CAAEgB,KAAM,CAAC,CAAC0D,QAAQ,CACrCF,gBACD,CAAC,IACDxE,oBAAoB,CAAEK,IAAI,CAAC0D,WAAY,CAAC,CAACW,QAAQ,CAChDF,gBACD,CAAC;MAEH,CAAE,CAAC;IACJ;;IAEA;IACA,IAAKtC,IAAI,CAACnC,OAAO,CAACgC,MAAM,GAAG,CAAC,EAAG;MAC9BG,IAAI,CAACnC,OAAO,CAAC6C,OAAO,CAAI6B,MAAM,IAAM;QACnC,IACCA,MAAM,CAACE,KAAK,KAAK,QAAQ,IACzBF,MAAM,CAACG,QAAQ,KAAKlG,WAAW,IAC/B,CAAC,CAAE+F,MAAM,CAACrB,KAAK,EACd;UACDmB,iBAAiB,GAAGA,iBAAiB,CAACE,MAAM,CAAIpE,IAAI,IAAM;YACzD,OAAOA,IAAI,CAAC0C,WAAW,KAAK0B,MAAM,CAACrB,KAAK;UACzC,CAAE,CAAC;QACJ;MACD,CAAE,CAAC;IACJ;;IAEA;IACA,IAAKlB,IAAI,CAAC2C,IAAI,EAAG;MAChB,MAAMC,mBAAmB,GAAG,CAAE,OAAO,EAAE,QAAQ,CAAE;MACjD,MAAMC,OAAO,GAAG7C,IAAI,CAAC2C,IAAI,CAACF,KAAK;MAC/B,IAAKG,mBAAmB,CAACJ,QAAQ,CAAEK,OAAQ,CAAC,EAAG;QAC9C,MAAMC,WAAW,GAAG1B,MAAM,CAAC2B,IAAI,CAAIN,KAAK,IAAM;UAC7C,OAAOA,KAAK,CAACpE,EAAE,KAAKwE,OAAO;QAC5B,CAAE,CAAC;QACHR,iBAAiB,CAACM,IAAI,CAAE,CAAEK,CAAC,EAAEC,CAAC,KAAM;UAAA,IAAAC,qBAAA,EAAAC,sBAAA;UACnC,MAAMC,MAAM,IAAAF,qBAAA,GAAGJ,WAAW,CAACnB,QAAQ,CAAE;YAAExD,IAAI,EAAE6E;UAAE,CAAE,CAAC,cAAAE,qBAAA,cAAAA,qBAAA,GAAI,EAAE;UACxD,MAAMG,MAAM,IAAAF,sBAAA,GAAGL,WAAW,CAACnB,QAAQ,CAAE;YAAExD,IAAI,EAAE8E;UAAE,CAAE,CAAC,cAAAE,sBAAA,cAAAA,sBAAA,GAAI,EAAE;UACxD,OAAOnD,IAAI,CAAC2C,IAAI,CAACW,SAAS,KAAK,KAAK,GACjCF,MAAM,CAACG,aAAa,CAAEF,MAAO,CAAC,GAC9BA,MAAM,CAACE,aAAa,CAAEH,MAAO,CAAC;QAClC,CAAE,CAAC;MACJ;IACD;;IAEA;IACA,MAAMI,KAAK,GAAG,CAAExD,IAAI,CAACvC,IAAI,GAAG,CAAC,IAAKuC,IAAI,CAACtC,OAAO;IAC9C,MAAMyE,UAAU,GAAGE,iBAAiB,EAAExC,MAAM,IAAI,CAAC;IACjDwC,iBAAiB,GAAGA,iBAAiB,EAAEoB,KAAK,CAC3CD,KAAK,EACLA,KAAK,GAAGxD,IAAI,CAACtC,OACd,CAAC;IACD,OAAO;MACNuE,cAAc,EAAEI,iBAAiB;MACjCH,cAAc,EAAE;QACfC,UAAU;QACVC,UAAU,EAAEsB,IAAI,CAACC,IAAI,CAAExB,UAAU,GAAGnC,IAAI,CAACtC,OAAQ;MAClD;IACD,CAAC;EACF,CAAC,EAAE,CAAEyC,YAAY,EAAEH,IAAI,EAAEoB,MAAM,CAAG,CAAC;EAEnC,MAAMwC,mBAAmB,GAAGnH,sBAAsB,CAAC,CAAC;EACpD,MAAMoH,OAAO,GAAGpI,OAAO,CACtB,MAAM,CACLmI,mBAAmB,EACnBlH,oBAAoB,EACpBC,oBAAoB,CACpB,EACD,CAAEiH,mBAAmB,CACtB,CAAC;EACD,MAAME,YAAY,GAAGpI,WAAW,CAC7BqI,WAAW,IAAM;IAClB,IAAIC,WAAW,GACd,OAAOD,WAAW,KAAK,UAAU,GAC9BA,WAAW,CAAE/D,IAAK,CAAC,GACnB+D,WAAW;IACf,IAAKC,WAAW,CAACzG,IAAI,KAAKyC,IAAI,CAACzC,IAAI,EAAG;MACrCyG,WAAW,GAAG;QACb,GAAGA,WAAW;QACdpG,MAAM,EAAE;UACP,GAAGX,wBAAwB,CAAE+G,WAAW,CAACzG,IAAI;QAC9C;MACD,CAAC;IACF;IAEA0C,OAAO,CAAE+D,WAAY,CAAC;EACvB,CAAC,EACD,CAAEhE,IAAI,EAAEC,OAAO,CAChB,CAAC;EACD,OACC3B,aAAA,CAACrC,IAAI;IAAC6C,KAAK,EAAGxD,EAAE,CAAE,WAAY;EAAG,GAChCgD,aAAA,CAAChC,SAAS;IACT4F,cAAc,EAAGA,cAAgB;IACjCd,MAAM,EAAGA,MAAQ;IACjByC,OAAO,EAAGA,OAAS;IACnBI,IAAI,EAAGhC,cAAgB;IACvBiC,SAAS,EAAK/F,IAAI,IAAMA,IAAI,CAACE,EAAI;IACjC8F,SAAS,EAAG9D,aAAe;IAC3BL,IAAI,EAAGA,IAAM;IACb8D,YAAY,EAAGA,YAAc;IAC7BM,gBAAgB,EAAG,CAAE,MAAM,EAAE,MAAM;EAAI,CACvC,CACI,CAAC;AAET"}
|
|
@@ -32,7 +32,7 @@ export default function EditSitePreferencesModal() {
|
|
|
32
32
|
} = useDispatch(preferencesStore);
|
|
33
33
|
const toggleDistractionFree = () => {
|
|
34
34
|
registry.batch(() => {
|
|
35
|
-
setPreference('core/edit-site', 'fixedToolbar',
|
|
35
|
+
setPreference('core/edit-site', 'fixedToolbar', true);
|
|
36
36
|
setIsInserterOpened(false);
|
|
37
37
|
setIsListViewOpened(false);
|
|
38
38
|
closeGeneralSidebar();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PreferencesModal","PreferencesModalTabs","PreferencesModalSection","store","interfaceStore","useMemo","__","useSelect","useDispatch","useRegistry","preferencesStore","EnableFeature","editSiteStore","PREFERENCES_MODAL_NAME","EditSitePreferencesModal","isModalActive","select","closeModal","openModal","toggleModal","registry","closeGeneralSidebar","setIsListViewOpened","setIsInserterOpened","set","setPreference","toggleDistractionFree","batch","sections","name","tabLabel","content","createElement","title","description","featureName","onToggle","help","label"],"sources":["@wordpress/edit-site/src/components/preferences-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPreferencesModal,\n\tPreferencesModalTabs,\n\tPreferencesModalSection,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport EnableFeature from './enable-feature';\nimport { store as editSiteStore } from '../../store';\n\nexport const PREFERENCES_MODAL_NAME = 'edit-site/preferences';\n\nexport default function EditSitePreferencesModal() {\n\tconst isModalActive = useSelect( ( select ) =>\n\t\tselect( interfaceStore ).isModalActive( PREFERENCES_MODAL_NAME )\n\t);\n\tconst { closeModal, openModal } = useDispatch( interfaceStore );\n\tconst toggleModal = () =>\n\t\tisModalActive ? closeModal() : openModal( PREFERENCES_MODAL_NAME );\n\tconst registry = useRegistry();\n\tconst { closeGeneralSidebar, setIsListViewOpened, setIsInserterOpened } =\n\t\tuseDispatch( editSiteStore );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst toggleDistractionFree = () => {\n\t\tregistry.batch( () => {\n\t\t\tsetPreference( 'core/edit-site', 'fixedToolbar',
|
|
1
|
+
{"version":3,"names":["PreferencesModal","PreferencesModalTabs","PreferencesModalSection","store","interfaceStore","useMemo","__","useSelect","useDispatch","useRegistry","preferencesStore","EnableFeature","editSiteStore","PREFERENCES_MODAL_NAME","EditSitePreferencesModal","isModalActive","select","closeModal","openModal","toggleModal","registry","closeGeneralSidebar","setIsListViewOpened","setIsInserterOpened","set","setPreference","toggleDistractionFree","batch","sections","name","tabLabel","content","createElement","title","description","featureName","onToggle","help","label"],"sources":["@wordpress/edit-site/src/components/preferences-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPreferencesModal,\n\tPreferencesModalTabs,\n\tPreferencesModalSection,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport EnableFeature from './enable-feature';\nimport { store as editSiteStore } from '../../store';\n\nexport const PREFERENCES_MODAL_NAME = 'edit-site/preferences';\n\nexport default function EditSitePreferencesModal() {\n\tconst isModalActive = useSelect( ( select ) =>\n\t\tselect( interfaceStore ).isModalActive( PREFERENCES_MODAL_NAME )\n\t);\n\tconst { closeModal, openModal } = useDispatch( interfaceStore );\n\tconst toggleModal = () =>\n\t\tisModalActive ? closeModal() : openModal( PREFERENCES_MODAL_NAME );\n\tconst registry = useRegistry();\n\tconst { closeGeneralSidebar, setIsListViewOpened, setIsInserterOpened } =\n\t\tuseDispatch( editSiteStore );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst toggleDistractionFree = () => {\n\t\tregistry.batch( () => {\n\t\t\tsetPreference( 'core/edit-site', 'fixedToolbar', true );\n\t\t\tsetIsInserterOpened( false );\n\t\t\tsetIsListViewOpened( false );\n\t\t\tcloseGeneralSidebar();\n\t\t} );\n\t};\n\n\tconst sections = useMemo( () => [\n\t\t{\n\t\t\tname: 'general',\n\t\t\ttabLabel: __( 'General' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Appearance' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize options related to the block editor interface and editing flow.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"distractionFree\"\n\t\t\t\t\t\tonToggle={ toggleDistractionFree }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"focusMode\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Highlights the current block and fades other content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showIconLabels\"\n\t\t\t\t\t\tlabel={ __( 'Show button text labels' ) }\n\t\t\t\t\t\thelp={ __( 'Show text instead of icons on buttons.' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showListViewByDefault\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Opens the block list view sidebar by default.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Always open list view' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Shows block breadcrumbs at the bottom of the editor.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Display block breadcrumbs' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tname: 'blocks',\n\t\t\ttabLabel: __( 'Blocks' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Block interactions' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize how you interact with blocks in the block library and editing canvas.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"keepCaretInsideBlock\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Aids screen readers by stopping text caret from leaving blocks.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Contain text cursor inside block' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t] );\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<PreferencesModal closeModal={ toggleModal }>\n\t\t\t<PreferencesModalTabs sections={ sections } />\n\t\t</PreferencesModal>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { createElement } from "react";
|
|
|
4
4
|
*/
|
|
5
5
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
6
6
|
import { Button } from '@wordpress/components';
|
|
7
|
-
import { __ } from '@wordpress/i18n';
|
|
7
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
8
8
|
import { store as coreStore } from '@wordpress/core-data';
|
|
9
9
|
import { displayShortcut } from '@wordpress/keycodes';
|
|
10
10
|
|
|
@@ -12,7 +12,7 @@ import { displayShortcut } from '@wordpress/keycodes';
|
|
|
12
12
|
* Internal dependencies
|
|
13
13
|
*/
|
|
14
14
|
import { store as editSiteStore } from '../../store';
|
|
15
|
-
import { isPreviewingTheme } from '../../utils/is-previewing-theme';
|
|
15
|
+
import { currentlyPreviewingTheme, isPreviewingTheme } from '../../utils/is-previewing-theme';
|
|
16
16
|
export default function SaveButton({
|
|
17
17
|
className = 'edit-site-save-button__button',
|
|
18
18
|
variant = 'primary',
|
|
@@ -24,7 +24,8 @@ export default function SaveButton({
|
|
|
24
24
|
const {
|
|
25
25
|
isDirty,
|
|
26
26
|
isSaving,
|
|
27
|
-
isSaveViewOpen
|
|
27
|
+
isSaveViewOpen,
|
|
28
|
+
previewingThemeName
|
|
28
29
|
} = useSelect(select => {
|
|
29
30
|
const {
|
|
30
31
|
__experimentalGetDirtyEntityRecords,
|
|
@@ -36,10 +37,12 @@ export default function SaveButton({
|
|
|
36
37
|
isSaveViewOpened
|
|
37
38
|
} = select(editSiteStore);
|
|
38
39
|
const isActivatingTheme = isResolving('activateTheme');
|
|
40
|
+
const previewingTheme = select(coreStore).getTheme(currentlyPreviewingTheme());
|
|
39
41
|
return {
|
|
40
42
|
isDirty: dirtyEntityRecords.length > 0,
|
|
41
43
|
isSaving: dirtyEntityRecords.some(record => isSavingEntityRecord(record.kind, record.name, record.key)) || isActivatingTheme,
|
|
42
|
-
isSaveViewOpen: isSaveViewOpened()
|
|
44
|
+
isSaveViewOpen: isSaveViewOpened(),
|
|
45
|
+
previewingThemeName: previewingTheme?.name?.rendered
|
|
43
46
|
};
|
|
44
47
|
}, []);
|
|
45
48
|
const {
|
|
@@ -50,13 +53,13 @@ export default function SaveButton({
|
|
|
50
53
|
const getLabel = () => {
|
|
51
54
|
if (isPreviewingTheme()) {
|
|
52
55
|
if (isSaving) {
|
|
53
|
-
return
|
|
56
|
+
return sprintf('Activating %s', previewingThemeName);
|
|
54
57
|
} else if (disabled) {
|
|
55
58
|
return __('Saved');
|
|
56
59
|
} else if (isDirty) {
|
|
57
|
-
return
|
|
60
|
+
return sprintf('Activate %s & Save', previewingThemeName);
|
|
58
61
|
}
|
|
59
|
-
return
|
|
62
|
+
return sprintf('Activate %s', previewingThemeName);
|
|
60
63
|
}
|
|
61
64
|
if (isSaving) {
|
|
62
65
|
return __('Saving');
|
|
@@ -85,7 +88,7 @@ export default function SaveButton({
|
|
|
85
88
|
* Displaying the keyboard shortcut conditionally makes the tooltip
|
|
86
89
|
* itself show conditionally. This would trigger a full-rerendering
|
|
87
90
|
* of the button that we want to avoid. By setting `showTooltip`,
|
|
88
|
-
|
|
91
|
+
* the tooltip is always rendered even when there's no keyboard shortcut.
|
|
89
92
|
*/,
|
|
90
93
|
showTooltip: showTooltip,
|
|
91
94
|
icon: icon,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","Button","__","store","coreStore","displayShortcut","editSiteStore","isPreviewingTheme","SaveButton","className","variant","showTooltip","defaultLabel","icon","__next40pxDefaultSize","isDirty","isSaving","isSaveViewOpen","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","isResolving","dirtyEntityRecords","isSaveViewOpened","isActivatingTheme","length","some","record","kind","name","key","setIsSaveViewOpened","activateSaveEnabled","disabled","getLabel","label","createElement","isBusy","onClick","undefined","shortcut","primary"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport {
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","Button","__","sprintf","store","coreStore","displayShortcut","editSiteStore","currentlyPreviewingTheme","isPreviewingTheme","SaveButton","className","variant","showTooltip","defaultLabel","icon","__next40pxDefaultSize","isDirty","isSaving","isSaveViewOpen","previewingThemeName","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","isResolving","dirtyEntityRecords","isSaveViewOpened","isActivatingTheme","previewingTheme","getTheme","length","some","record","kind","name","key","rendered","setIsSaveViewOpened","activateSaveEnabled","disabled","getLabel","label","createElement","isBusy","onClick","undefined","shortcut","primary"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tdefaultLabel,\n\ticon,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { isDirty, isSaving, isSaveViewOpen, previewingThemeName } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tisSavingEntityRecord,\n\t\t\t\tisResolving,\n\t\t\t} = select( coreStore );\n\t\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\t\tconst previewingTheme = select( coreStore ).getTheme(\n\t\t\t\tcurrentlyPreviewingTheme()\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\tisSaving:\n\t\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t) || isActivatingTheme,\n\t\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t\t\tpreviewingThemeName: previewingTheme?.name?.rendered,\n\t\t\t};\n\t\t}, [] );\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\tconst disabled = isSaving || ! activateSaveEnabled;\n\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn sprintf( 'Activating %s', previewingThemeName );\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( isDirty ) {\n\t\t\t\treturn sprintf( 'Activate %s & Save', previewingThemeName );\n\t\t\t}\n\t\t\treturn sprintf( 'Activate %s', previewingThemeName );\n\t\t}\n\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t} else if ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t} else if ( defaultLabel ) {\n\t\t\treturn defaultLabel;\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : () => setIsSaveViewOpened( true ) }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t * the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -81,6 +81,16 @@ export default function SaveHub() {
|
|
|
81
81
|
if (isSaving) {
|
|
82
82
|
label = __('Saving');
|
|
83
83
|
}
|
|
84
|
+
const {
|
|
85
|
+
homeUrl
|
|
86
|
+
} = useSelect(select => {
|
|
87
|
+
const {
|
|
88
|
+
getUnstableBase // Site index.
|
|
89
|
+
} = select(coreStore);
|
|
90
|
+
return {
|
|
91
|
+
homeUrl: getUnstableBase()?.home
|
|
92
|
+
};
|
|
93
|
+
}, []);
|
|
84
94
|
const saveCurrentEntity = async () => {
|
|
85
95
|
if (!dirtyCurrentEntity) return;
|
|
86
96
|
removeNotice(saveNoticeId);
|
|
@@ -104,6 +114,10 @@ export default function SaveHub() {
|
|
|
104
114
|
__unstableMarkLastChangeAsPersistent();
|
|
105
115
|
createSuccessNotice(__('Site updated.'), {
|
|
106
116
|
type: 'snackbar',
|
|
117
|
+
actions: [{
|
|
118
|
+
label: __('View site'),
|
|
119
|
+
url: homeUrl
|
|
120
|
+
}],
|
|
107
121
|
id: saveNoticeId
|
|
108
122
|
});
|
|
109
123
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","Button","__experimentalHStack","HStack","__","sprintf","_n","store","coreStore","blockEditorStore","check","privateApis","routerPrivateApis","noticesStore","SaveButton","isPreviewingTheme","unlock","NAVIGATION_POST_TYPE","useLocation","PUBLISH_ON_SAVE_ENTITIES","kind","name","SaveHub","saveNoticeId","params","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","dirtyCurrentEntity","countUnsavedChanges","isDirty","isSaving","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","dirtyEntityRecords","calcDirtyCurrentEntity","length","path","includes","find","record","postId","postType","String","key","some","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","disabled","label","saveCurrentEntity","property","undefined","typeToPublish","status","type","id","error","createElement","className","alignment","spacing","variant","onClick","isBusy","__next40pxDefaultSize","showTooltip","icon","defaultLabel"],"sources":["@wordpress/edit-site/src/components/save-hub/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button, __experimentalHStack as HStack } from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { check } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport SaveButton from '../save-button';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\nimport { NAVIGATION_POST_TYPE } from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: NAVIGATION_POST_TYPE,\n\t},\n];\n\nexport default function SaveHub() {\n\tconst saveNoticeId = 'site-edit-save-notice';\n\tconst { params } = useLocation();\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { dirtyCurrentEntity, countUnsavedChanges, isDirty, isSaving } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\t\tisSavingEntityRecord,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tconst dirtyEntityRecords =\n\t\t\t\t\t__experimentalGetDirtyEntityRecords();\n\t\t\t\tlet calcDirtyCurrentEntity = null;\n\n\t\t\t\tif ( dirtyEntityRecords.length === 1 ) {\n\t\t\t\t\t// if we are on global styles\n\t\t\t\t\tif ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) => record.name === 'globalStyles'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// if we are on pages\n\t\t\t\t\telse if ( params.postId ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) =>\n\t\t\t\t\t\t\t\trecord.name === params.postType &&\n\t\t\t\t\t\t\t\tString( record.key ) === params.postId\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tdirtyCurrentEntity: calcDirtyCurrentEntity,\n\t\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\t\tisSaving: dirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tcountUnsavedChanges: dirtyEntityRecords.length,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ params.path, params.postType, params.postId ]\n\t\t);\n\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst disabled = isSaving || ( ! isDirty && ! isPreviewingTheme() );\n\n\t// if we have only one unsaved change and it matches current context, we can show a more specific label\n\tlet label = dirtyCurrentEntity\n\t\t? __( 'Save' )\n\t\t: sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change…',\n\t\t\t\t\t'Review %d changes…',\n\t\t\t\t\tcountUnsavedChanges\n\t\t\t\t),\n\t\t\t\tcountUnsavedChanges\n\t\t );\n\n\tif ( isSaving ) {\n\t\tlabel = __( 'Saving' );\n\t}\n\n\tconst saveCurrentEntity = async () => {\n\t\tif ( ! dirtyCurrentEntity ) return;\n\n\t\tremoveNotice( saveNoticeId );\n\t\tconst { kind, name, key, property } = dirtyCurrentEntity;\n\n\t\ttry {\n\t\t\tif ( 'root' === dirtyCurrentEntity.kind && 'site' === name ) {\n\t\t\t\tawait saveSpecifiedEntityEdits( 'root', 'site', undefined, [\n\t\t\t\t\tproperty,\n\t\t\t\t] );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tawait saveEditedEntityRecord( kind, name, key );\n\t\t\t}\n\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: saveNoticeId,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` );\n\t\t}\n\t};\n\n\treturn (\n\t\t<HStack className=\"edit-site-save-hub\" alignment=\"right\" spacing={ 4 }>\n\t\t\t{ dirtyCurrentEntity ? (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ saveCurrentEntity }\n\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\taria-disabled={ isSaving }\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</Button>\n\t\t\t) : (\n\t\t\t\t<SaveButton\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\tvariant={ disabled ? null : 'primary' }\n\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\ticon={ disabled && ! isSaving ? check : null }\n\t\t\t\t\tdefaultLabel={ label }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","Button","__experimentalHStack","HStack","__","sprintf","_n","store","coreStore","blockEditorStore","check","privateApis","routerPrivateApis","noticesStore","SaveButton","isPreviewingTheme","unlock","NAVIGATION_POST_TYPE","useLocation","PUBLISH_ON_SAVE_ENTITIES","kind","name","SaveHub","saveNoticeId","params","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","dirtyCurrentEntity","countUnsavedChanges","isDirty","isSaving","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","dirtyEntityRecords","calcDirtyCurrentEntity","length","path","includes","find","record","postId","postType","String","key","some","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","disabled","label","homeUrl","getUnstableBase","home","saveCurrentEntity","property","undefined","typeToPublish","status","type","actions","url","id","error","createElement","className","alignment","spacing","variant","onClick","isBusy","__next40pxDefaultSize","showTooltip","icon","defaultLabel"],"sources":["@wordpress/edit-site/src/components/save-hub/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button, __experimentalHStack as HStack } from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { check } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport SaveButton from '../save-button';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\nimport { NAVIGATION_POST_TYPE } from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: NAVIGATION_POST_TYPE,\n\t},\n];\n\nexport default function SaveHub() {\n\tconst saveNoticeId = 'site-edit-save-notice';\n\tconst { params } = useLocation();\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { dirtyCurrentEntity, countUnsavedChanges, isDirty, isSaving } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\t\tisSavingEntityRecord,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tconst dirtyEntityRecords =\n\t\t\t\t\t__experimentalGetDirtyEntityRecords();\n\t\t\t\tlet calcDirtyCurrentEntity = null;\n\n\t\t\t\tif ( dirtyEntityRecords.length === 1 ) {\n\t\t\t\t\t// if we are on global styles\n\t\t\t\t\tif ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) => record.name === 'globalStyles'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// if we are on pages\n\t\t\t\t\telse if ( params.postId ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) =>\n\t\t\t\t\t\t\t\trecord.name === params.postType &&\n\t\t\t\t\t\t\t\tString( record.key ) === params.postId\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tdirtyCurrentEntity: calcDirtyCurrentEntity,\n\t\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\t\tisSaving: dirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tcountUnsavedChanges: dirtyEntityRecords.length,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ params.path, params.postType, params.postId ]\n\t\t);\n\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst disabled = isSaving || ( ! isDirty && ! isPreviewingTheme() );\n\n\t// if we have only one unsaved change and it matches current context, we can show a more specific label\n\tlet label = dirtyCurrentEntity\n\t\t? __( 'Save' )\n\t\t: sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change…',\n\t\t\t\t\t'Review %d changes…',\n\t\t\t\t\tcountUnsavedChanges\n\t\t\t\t),\n\t\t\t\tcountUnsavedChanges\n\t\t );\n\n\tif ( isSaving ) {\n\t\tlabel = __( 'Saving' );\n\t}\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst saveCurrentEntity = async () => {\n\t\tif ( ! dirtyCurrentEntity ) return;\n\n\t\tremoveNotice( saveNoticeId );\n\t\tconst { kind, name, key, property } = dirtyCurrentEntity;\n\n\t\ttry {\n\t\t\tif ( 'root' === dirtyCurrentEntity.kind && 'site' === name ) {\n\t\t\t\tawait saveSpecifiedEntityEdits( 'root', 'site', undefined, [\n\t\t\t\t\tproperty,\n\t\t\t\t] );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tawait saveEditedEntityRecord( kind, name, key );\n\t\t\t}\n\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'View site' ),\n\t\t\t\t\t\turl: homeUrl,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tid: saveNoticeId,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` );\n\t\t}\n\t};\n\n\treturn (\n\t\t<HStack className=\"edit-site-save-hub\" alignment=\"right\" spacing={ 4 }>\n\t\t\t{ dirtyCurrentEntity ? (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ saveCurrentEntity }\n\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\taria-disabled={ isSaving }\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</Button>\n\t\t\t) : (\n\t\t\t\t<SaveButton\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\tvariant={ disabled ? null : 'primary' }\n\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\ticon={ disabled && ! isSaving ? check : null }\n\t\t\t\t\tdefaultLabel={ label }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -97,10 +97,12 @@ function CustomDataViewItem({
|
|
|
97
97
|
suffix: createElement(DropdownMenu, {
|
|
98
98
|
icon: moreVertical,
|
|
99
99
|
label: __('Actions'),
|
|
100
|
+
className: "edit-site-sidebar-dataviews-dataview-item__dropdown-menu",
|
|
100
101
|
toggleProps: {
|
|
101
102
|
style: {
|
|
102
103
|
color: 'inherit'
|
|
103
|
-
}
|
|
104
|
+
},
|
|
105
|
+
size: 'small'
|
|
104
106
|
}
|
|
105
107
|
}, ({
|
|
106
108
|
onClose
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","store","coreStore","__experimentalItemGroup","ItemGroup","__experimentalHeading","Heading","DropdownMenu","MenuGroup","MenuItem","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","Button","Modal","useMemo","useState","moreVertical","__","privateApis","routerPrivateApis","DataViewItem","AddNewItem","unlock","useHistory","useLocation","EMPTY_ARRAY","RenameItemModalContent","dataviewId","currentTitle","setIsRenaming","editEntityRecord","title","setTitle","createElement","onSubmit","event","preventDefault","spacing","__nextHasNoMarginBottom","label","value","onChange","placeholder","className","justify","variant","onClick","type","CustomDataViewItem","isActive","params","path","history","dataview","select","getEditedEntityRecord","deleteEntityRecord","viewContent","JSON","parse","content","isRenaming","Fragment","isCustom","customViewId","suffix","icon","toggleProps","style","color","onClose","id","force","replace","isDestructive","onRequestClose","useCustomDataViews","customDataViews","getEntityRecords","dataViewTypeRecords","slug","length","dataViews","wp_dataviews_type","orderby","order","CustomDataViewsList","activeView","level","map","customViewRecord","key","Number"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/custom-dataviews-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHeading as Heading,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport DataViewItem from './dataview-item';\nimport AddNewItem from './add-new-view';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction RenameItemModalContent( { dataviewId, currentTitle, setIsRenaming } ) {\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst [ title, setTitle ] = useState( currentTitle );\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\tdataviewId,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tsetIsRenaming( false );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My view' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsRenaming( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Rename' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\nfunction CustomDataViewItem( { dataviewId, isActive } ) {\n\tconst {\n\t\tparams: { path },\n\t} = useLocation();\n\tconst history = useHistory();\n\tconst { dataview } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tdataview: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\tdataviewId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ dataviewId ]\n\t);\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\tconst type = useMemo( () => {\n\t\tconst viewContent = JSON.parse( dataview.content );\n\t\treturn viewContent.type;\n\t}, [ dataview.content ] );\n\tconst [ isRenaming, setIsRenaming ] = useState( false );\n\treturn (\n\t\t<>\n\t\t\t<DataViewItem\n\t\t\t\ttitle={ dataview.title }\n\t\t\t\ttype={ type }\n\t\t\t\tisActive={ isActive }\n\t\t\t\tisCustom=\"true\"\n\t\t\t\tcustomViewId={ dataviewId }\n\t\t\t\tsuffix={\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tcolor: 'inherit',\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{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsRenaming( true );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Rename' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\t\tawait deleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\t\t\t\t\t\t\tdataview.id,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tforce: true,\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\tif ( isActive ) {\n\t\t\t\t\t\t\t\t\t\t\thistory.replace( {\n\t\t\t\t\t\t\t\t\t\t\t\tpath,\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\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ isRenaming && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename view' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsRenaming( false );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<RenameItemModalContent\n\t\t\t\t\t\tdataviewId={ dataviewId }\n\t\t\t\t\t\tsetIsRenaming={ setIsRenaming }\n\t\t\t\t\t\tcurrentTitle={ dataview.title }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function useCustomDataViews( type ) {\n\tconst customDataViews = useSelect( ( select ) => {\n\t\tconst { getEntityRecords } = select( coreStore );\n\t\tconst dataViewTypeRecords = getEntityRecords(\n\t\t\t'taxonomy',\n\t\t\t'wp_dataviews_type',\n\t\t\t{ slug: type }\n\t\t);\n\t\tif ( ! dataViewTypeRecords || dataViewTypeRecords.length === 0 ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst dataViews = getEntityRecords( 'postType', 'wp_dataviews', {\n\t\t\twp_dataviews_type: dataViewTypeRecords[ 0 ].id,\n\t\t\torderby: 'date',\n\t\t\torder: 'asc',\n\t\t} );\n\t\tif ( ! dataViews ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn dataViews;\n\t} );\n\treturn customDataViews;\n}\n\nexport default function CustomDataViewsList( { type, activeView, isCustom } ) {\n\tconst customDataViews = useCustomDataViews( type );\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-dataviews__group-header\">\n\t\t\t\t<Heading level={ 2 }>{ __( 'Custom Views' ) }</Heading>\n\t\t\t</div>\n\t\t\t<ItemGroup>\n\t\t\t\t{ customDataViews.map( ( customViewRecord ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<CustomDataViewItem\n\t\t\t\t\t\t\tkey={ customViewRecord.id }\n\t\t\t\t\t\t\tdataviewId={ customViewRecord.id }\n\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\tisCustom === 'true' &&\n\t\t\t\t\t\t\t\tNumber( activeView ) === customViewRecord.id\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\t<AddNewItem type={ type } />\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","store","coreStore","__experimentalItemGroup","ItemGroup","__experimentalHeading","Heading","DropdownMenu","MenuGroup","MenuItem","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","Button","Modal","useMemo","useState","moreVertical","__","privateApis","routerPrivateApis","DataViewItem","AddNewItem","unlock","useHistory","useLocation","EMPTY_ARRAY","RenameItemModalContent","dataviewId","currentTitle","setIsRenaming","editEntityRecord","title","setTitle","createElement","onSubmit","event","preventDefault","spacing","__nextHasNoMarginBottom","label","value","onChange","placeholder","className","justify","variant","onClick","type","CustomDataViewItem","isActive","params","path","history","dataview","select","getEditedEntityRecord","deleteEntityRecord","viewContent","JSON","parse","content","isRenaming","Fragment","isCustom","customViewId","suffix","icon","toggleProps","style","color","size","onClose","id","force","replace","isDestructive","onRequestClose","useCustomDataViews","customDataViews","getEntityRecords","dataViewTypeRecords","slug","length","dataViews","wp_dataviews_type","orderby","order","CustomDataViewsList","activeView","level","map","customViewRecord","key","Number"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/custom-dataviews-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHeading as Heading,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport DataViewItem from './dataview-item';\nimport AddNewItem from './add-new-view';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction RenameItemModalContent( { dataviewId, currentTitle, setIsRenaming } ) {\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst [ title, setTitle ] = useState( currentTitle );\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\tdataviewId,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tsetIsRenaming( false );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My view' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsRenaming( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Rename' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\nfunction CustomDataViewItem( { dataviewId, isActive } ) {\n\tconst {\n\t\tparams: { path },\n\t} = useLocation();\n\tconst history = useHistory();\n\tconst { dataview } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tdataview: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\tdataviewId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ dataviewId ]\n\t);\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\tconst type = useMemo( () => {\n\t\tconst viewContent = JSON.parse( dataview.content );\n\t\treturn viewContent.type;\n\t}, [ dataview.content ] );\n\tconst [ isRenaming, setIsRenaming ] = useState( false );\n\treturn (\n\t\t<>\n\t\t\t<DataViewItem\n\t\t\t\ttitle={ dataview.title }\n\t\t\t\ttype={ type }\n\t\t\t\tisActive={ isActive }\n\t\t\t\tisCustom=\"true\"\n\t\t\t\tcustomViewId={ dataviewId }\n\t\t\t\tsuffix={\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-dataviews-dataview-item__dropdown-menu\"\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tcolor: 'inherit',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsRenaming( true );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Rename' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\t\tawait deleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\t\t\t\t\t\t\tdataview.id,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tforce: true,\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\tif ( isActive ) {\n\t\t\t\t\t\t\t\t\t\t\thistory.replace( {\n\t\t\t\t\t\t\t\t\t\t\t\tpath,\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\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ isRenaming && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename view' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsRenaming( false );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<RenameItemModalContent\n\t\t\t\t\t\tdataviewId={ dataviewId }\n\t\t\t\t\t\tsetIsRenaming={ setIsRenaming }\n\t\t\t\t\t\tcurrentTitle={ dataview.title }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function useCustomDataViews( type ) {\n\tconst customDataViews = useSelect( ( select ) => {\n\t\tconst { getEntityRecords } = select( coreStore );\n\t\tconst dataViewTypeRecords = getEntityRecords(\n\t\t\t'taxonomy',\n\t\t\t'wp_dataviews_type',\n\t\t\t{ slug: type }\n\t\t);\n\t\tif ( ! dataViewTypeRecords || dataViewTypeRecords.length === 0 ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst dataViews = getEntityRecords( 'postType', 'wp_dataviews', {\n\t\t\twp_dataviews_type: dataViewTypeRecords[ 0 ].id,\n\t\t\torderby: 'date',\n\t\t\torder: 'asc',\n\t\t} );\n\t\tif ( ! dataViews ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn dataViews;\n\t} );\n\treturn customDataViews;\n}\n\nexport default function CustomDataViewsList( { type, activeView, isCustom } ) {\n\tconst customDataViews = useCustomDataViews( type );\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-dataviews__group-header\">\n\t\t\t\t<Heading level={ 2 }>{ __( 'Custom Views' ) }</Heading>\n\t\t\t</div>\n\t\t\t<ItemGroup>\n\t\t\t\t{ customDataViews.map( ( customViewRecord ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<CustomDataViewItem\n\t\t\t\t\t\t\tkey={ customViewRecord.id }\n\t\t\t\t\t\t\tdataviewId={ customViewRecord.id }\n\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\tisCustom === 'true' &&\n\t\t\t\t\t\t\t\tNumber( activeView ) === customViewRecord.id\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\t<AddNewItem type={ type } />\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
5
|
import { trash } from '@wordpress/icons';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Internal dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { OPERATOR_IN } from '../dataviews/constants';
|
|
6
11
|
const DEFAULT_PAGE_BASE = {
|
|
7
12
|
type: 'list',
|
|
8
13
|
search: '',
|
|
@@ -30,7 +35,7 @@ const DEFAULT_VIEWS = {
|
|
|
30
35
|
...DEFAULT_PAGE_BASE,
|
|
31
36
|
filters: [{
|
|
32
37
|
field: 'status',
|
|
33
|
-
operator:
|
|
38
|
+
operator: OPERATOR_IN,
|
|
34
39
|
value: 'draft'
|
|
35
40
|
}]
|
|
36
41
|
}
|
|
@@ -42,7 +47,7 @@ const DEFAULT_VIEWS = {
|
|
|
42
47
|
...DEFAULT_PAGE_BASE,
|
|
43
48
|
filters: [{
|
|
44
49
|
field: 'status',
|
|
45
|
-
operator:
|
|
50
|
+
operator: OPERATOR_IN,
|
|
46
51
|
value: 'trash'
|
|
47
52
|
}]
|
|
48
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","trash","DEFAULT_PAGE_BASE","type","search","filters","page","perPage","sort","field","direction","hiddenFields","layout","DEFAULT_VIEWS","title","slug","view","operator","value","icon"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/default-views.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { trash } from '@wordpress/icons';\n\nconst DEFAULT_PAGE_BASE = {\n\ttype: 'list',\n\tsearch: '',\n\tfilters: [],\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'date',\n\t\tdirection: 'desc',\n\t},\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'date', 'featured-image' ],\n\tlayout: {},\n};\n\nconst DEFAULT_VIEWS = {\n\tpage: [\n\t\t{\n\t\t\ttitle: __( 'All' ),\n\t\t\tslug: 'all',\n\t\t\tview: DEFAULT_PAGE_BASE,\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Drafts' ),\n\t\t\tslug: 'drafts',\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{ field: 'status', operator:
|
|
1
|
+
{"version":3,"names":["__","trash","OPERATOR_IN","DEFAULT_PAGE_BASE","type","search","filters","page","perPage","sort","field","direction","hiddenFields","layout","DEFAULT_VIEWS","title","slug","view","operator","value","icon"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/default-views.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { trash } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { OPERATOR_IN } from '../dataviews/constants';\n\nconst DEFAULT_PAGE_BASE = {\n\ttype: 'list',\n\tsearch: '',\n\tfilters: [],\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'date',\n\t\tdirection: 'desc',\n\t},\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'date', 'featured-image' ],\n\tlayout: {},\n};\n\nconst DEFAULT_VIEWS = {\n\tpage: [\n\t\t{\n\t\t\ttitle: __( 'All' ),\n\t\t\tslug: 'all',\n\t\t\tview: DEFAULT_PAGE_BASE,\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Drafts' ),\n\t\t\tslug: 'drafts',\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{ field: 'status', operator: OPERATOR_IN, value: 'draft' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Trash' ),\n\t\t\tslug: 'trash',\n\t\t\ticon: trash,\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{ field: 'status', operator: OPERATOR_IN, value: 'trash' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default DEFAULT_VIEWS;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,QAAQ,kBAAkB;;AAExC;AACA;AACA;AACA,SAASC,WAAW,QAAQ,wBAAwB;AAEpD,MAAMC,iBAAiB,GAAG;EACzBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,EAAE;EACVC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE;IACLC,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE;EACZ,CAAC;EACD;EACA;EACAC,YAAY,EAAE,CAAE,MAAM,EAAE,gBAAgB,CAAE;EAC1CC,MAAM,EAAE,CAAC;AACV,CAAC;AAED,MAAMC,aAAa,GAAG;EACrBP,IAAI,EAAE,CACL;IACCQ,KAAK,EAAEf,EAAE,CAAE,KAAM,CAAC;IAClBgB,IAAI,EAAE,KAAK;IACXC,IAAI,EAAEd;EACP,CAAC,EACD;IACCY,KAAK,EAAEf,EAAE,CAAE,QAAS,CAAC;IACrBgB,IAAI,EAAE,QAAQ;IACdC,IAAI,EAAE;MACL,GAAGd,iBAAiB;MACpBG,OAAO,EAAE,CACR;QAAEI,KAAK,EAAE,QAAQ;QAAEQ,QAAQ,EAAEhB,WAAW;QAAEiB,KAAK,EAAE;MAAQ,CAAC;IAE5D;EACD,CAAC,EACD;IACCJ,KAAK,EAAEf,EAAE,CAAE,OAAQ,CAAC;IACpBgB,IAAI,EAAE,OAAO;IACbI,IAAI,EAAEnB,KAAK;IACXgB,IAAI,EAAE;MACL,GAAGd,iBAAiB;MACpBG,OAAO,EAAE,CACR;QAAEI,KAAK,EAAE,QAAQ;QAAEQ,QAAQ,EAAEhB,WAAW;QAAEiB,KAAK,EAAE;MAAQ,CAAC;IAE5D;EACD,CAAC;AAEH,CAAC;AAED,eAAeL,aAAa"}
|
|
@@ -9,6 +9,7 @@ import { useEffect } from '@wordpress/element';
|
|
|
9
9
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
10
10
|
import { store as interfaceStore } from '@wordpress/interface';
|
|
11
11
|
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
12
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Internal dependencies
|
|
@@ -33,7 +34,7 @@ export function SidebarComplementaryAreaFills() {
|
|
|
33
34
|
isEditorSidebarOpened,
|
|
34
35
|
hasBlockSelection,
|
|
35
36
|
supportsGlobalStyles,
|
|
36
|
-
|
|
37
|
+
isEditingPage
|
|
37
38
|
} = useSelect(select => {
|
|
38
39
|
const _sidebar = select(interfaceStore).getActiveComplementaryArea(STORE_NAME);
|
|
39
40
|
const _isEditorSidebarOpened = [SIDEBAR_BLOCK, SIDEBAR_TEMPLATE].includes(_sidebar);
|
|
@@ -43,7 +44,7 @@ export function SidebarComplementaryAreaFills() {
|
|
|
43
44
|
isEditorSidebarOpened: _isEditorSidebarOpened,
|
|
44
45
|
hasBlockSelection: !!select(blockEditorStore).getBlockSelectionStart(),
|
|
45
46
|
supportsGlobalStyles: !settings?.supportsTemplatePartsMode,
|
|
46
|
-
|
|
47
|
+
isEditingPage: select(editSiteStore).isPage() && select(editorStore).getRenderingMode() !== 'template-only'
|
|
47
48
|
};
|
|
48
49
|
}, []);
|
|
49
50
|
const {
|
|
@@ -56,13 +57,13 @@ export function SidebarComplementaryAreaFills() {
|
|
|
56
57
|
return;
|
|
57
58
|
}
|
|
58
59
|
if (hasBlockSelection) {
|
|
59
|
-
if (!
|
|
60
|
+
if (!isEditingPage) {
|
|
60
61
|
enableComplementaryArea(STORE_NAME, SIDEBAR_BLOCK);
|
|
61
62
|
}
|
|
62
63
|
} else {
|
|
63
64
|
enableComplementaryArea(STORE_NAME, SIDEBAR_TEMPLATE);
|
|
64
65
|
}
|
|
65
|
-
}, [hasBlockSelection, isEditorSidebarOpened,
|
|
66
|
+
}, [hasBlockSelection, isEditorSidebarOpened, isEditingPage, enableComplementaryArea]);
|
|
66
67
|
let sidebarName = sidebar;
|
|
67
68
|
if (!isEditorSidebarOpened) {
|
|
68
69
|
sidebarName = hasBlockSelection ? SIDEBAR_BLOCK : SIDEBAR_TEMPLATE;
|
|
@@ -76,7 +77,7 @@ export function SidebarComplementaryAreaFills() {
|
|
|
76
77
|
sidebarName: sidebarName
|
|
77
78
|
}),
|
|
78
79
|
headerClassName: "edit-site-sidebar-edit-mode__panel-tabs"
|
|
79
|
-
}, sidebarName === SIDEBAR_TEMPLATE && createElement(Fragment, null,
|
|
80
|
+
}, sidebarName === SIDEBAR_TEMPLATE && createElement(Fragment, null, isEditingPage ? createElement(PagePanels, null) : createElement(TemplatePanel, null), createElement(PluginTemplateSettingPanel.Slot, null)), sidebarName === SIDEBAR_BLOCK && createElement(InspectorSlot, {
|
|
80
81
|
bubblesVirtually: true
|
|
81
82
|
})), supportsGlobalStyles && createElement(GlobalStylesSidebar, null));
|
|
82
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSlotFill","isRTL","__","drawerLeft","drawerRight","useEffect","useSelect","useDispatch","store","interfaceStore","blockEditorStore","DefaultSidebar","GlobalStylesSidebar","STORE_NAME","SettingsHeader","PagePanels","TemplatePanel","PluginTemplateSettingPanel","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","editSiteStore","Slot","InspectorSlot","Fill","InspectorFill","SidebarInspectorFill","SidebarComplementaryAreaFills","sidebar","isEditorSidebarOpened","hasBlockSelection","supportsGlobalStyles","
|
|
1
|
+
{"version":3,"names":["createSlotFill","isRTL","__","drawerLeft","drawerRight","useEffect","useSelect","useDispatch","store","interfaceStore","blockEditorStore","editorStore","DefaultSidebar","GlobalStylesSidebar","STORE_NAME","SettingsHeader","PagePanels","TemplatePanel","PluginTemplateSettingPanel","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","editSiteStore","Slot","InspectorSlot","Fill","InspectorFill","SidebarInspectorFill","SidebarComplementaryAreaFills","sidebar","isEditorSidebarOpened","hasBlockSelection","supportsGlobalStyles","isEditingPage","select","_sidebar","getActiveComplementaryArea","_isEditorSidebarOpened","includes","settings","getSettings","getBlockSelectionStart","supportsTemplatePartsMode","isPage","getRenderingMode","enableComplementaryArea","sidebarName","createElement","Fragment","identifier","title","icon","closeLabel","header","headerClassName","bubblesVirtually"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport DefaultSidebar from './default-sidebar';\nimport GlobalStylesSidebar from './global-styles-sidebar';\nimport { STORE_NAME } from '../../store/constants';\nimport SettingsHeader from './settings-header';\nimport PagePanels from './page-panels';\nimport TemplatePanel from './template-panel';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from './constants';\nimport { store as editSiteStore } from '../../store';\n\nconst { Slot: InspectorSlot, Fill: InspectorFill } = createSlotFill(\n\t'EditSiteSidebarInspector'\n);\nexport const SidebarInspectorFill = InspectorFill;\n\nexport function SidebarComplementaryAreaFills() {\n\tconst {\n\t\tsidebar,\n\t\tisEditorSidebarOpened,\n\t\thasBlockSelection,\n\t\tsupportsGlobalStyles,\n\t\tisEditingPage,\n\t} = useSelect( ( select ) => {\n\t\tconst _sidebar =\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( STORE_NAME );\n\t\tconst _isEditorSidebarOpened = [\n\t\t\tSIDEBAR_BLOCK,\n\t\t\tSIDEBAR_TEMPLATE,\n\t\t].includes( _sidebar );\n\t\tconst settings = select( editSiteStore ).getSettings();\n\t\treturn {\n\t\t\tsidebar: _sidebar,\n\t\t\tisEditorSidebarOpened: _isEditorSidebarOpened,\n\t\t\thasBlockSelection:\n\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\tsupportsGlobalStyles: ! settings?.supportsTemplatePartsMode,\n\t\t\tisEditingPage:\n\t\t\t\tselect( editSiteStore ).isPage() &&\n\t\t\t\tselect( editorStore ).getRenderingMode() !== 'template-only',\n\t\t};\n\t}, [] );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tuseEffect( () => {\n\t\t// Don't automatically switch tab when the sidebar is closed or when we\n\t\t// are focused on page content.\n\t\tif ( ! isEditorSidebarOpened ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( hasBlockSelection ) {\n\t\t\tif ( ! isEditingPage ) {\n\t\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t\t}\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_TEMPLATE );\n\t\t}\n\t}, [\n\t\thasBlockSelection,\n\t\tisEditorSidebarOpened,\n\t\tisEditingPage,\n\t\tenableComplementaryArea,\n\t] );\n\n\tlet sidebarName = sidebar;\n\tif ( ! isEditorSidebarOpened ) {\n\t\tsidebarName = hasBlockSelection ? SIDEBAR_BLOCK : SIDEBAR_TEMPLATE;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DefaultSidebar\n\t\t\t\tidentifier={ sidebarName }\n\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t\theader={ <SettingsHeader sidebarName={ sidebarName } /> }\n\t\t\t\theaderClassName=\"edit-site-sidebar-edit-mode__panel-tabs\"\n\t\t\t>\n\t\t\t\t{ sidebarName === SIDEBAR_TEMPLATE && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isEditingPage ? <PagePanels /> : <TemplatePanel /> }\n\t\t\t\t\t\t<PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ sidebarName === SIDEBAR_BLOCK && (\n\t\t\t\t\t<InspectorSlot bubblesVirtually />\n\t\t\t\t) }\n\t\t\t</DefaultSidebar>\n\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|