@wordpress/edit-site 5.23.0 → 5.24.1
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":["_i18n","require","_data","_components","_coreData","_htmlEntities","_icons","_dom","_escapeHtml","_url","_sidebarNavigationScreen","_interopRequireDefault","_lockUnlock","_store","_sidebarButton","_pageDetails","_pageActions","_sidebarNavigationScreenDetailsFooter","
|
|
1
|
+
{"version":3,"names":["_i18n","require","_data","_components","_coreData","_htmlEntities","_icons","_dom","_escapeHtml","_url","_element","_router","_sidebarNavigationScreen","_interopRequireDefault","_lockUnlock","_store","_sidebarButton","_pageDetails","_pageActions","_sidebarNavigationScreenDetailsFooter","useHistory","unlock","routerPrivateApis","SidebarNavigationScreenPage","setCanvasMode","useDispatch","editSiteStore","history","params","postId","goTo","useNavigator","record","hasResolved","useEntityRecord","featuredMediaAltText","featuredMediaSourceUrl","useSelect","select","getEntityRecord","coreStore","attachedMedia","featured_media","media_details","sizes","medium","source_url","escapeAttribute","alt_text","description","raw","useEffect","push","path","undefined","postType","canvas","featureImageAltText","decodeEntities","title","rendered","__","_react","createElement","default","actions","Fragment","toggleProps","as","SidebarButton","onRemove","onClick","label","icon","pencil","meta","ExternalLink","className","href","link","filterURLForDisplay","safeDecodeURIComponent","content","__experimentalVStack","alignment","spacing","alt","src","excerpt","__experimentalTruncate","numberOfLines","stripHTML","id","footer","modified"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-page/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalVStack as VStack,\n\tExternalLink,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { store as coreStore, useEntityRecord } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { pencil } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { escapeAttribute } from '@wordpress/escape-html';\nimport { safeDecodeURIComponent, filterURLForDisplay } from '@wordpress/url';\nimport { useEffect } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport SidebarButton from '../sidebar-button';\nimport PageDetails from './page-details';\nimport PageActions from '../page-actions';\nimport SidebarNavigationScreenDetailsFooter from '../sidebar-navigation-screen-details-footer';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport default function SidebarNavigationScreenPage() {\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst history = useHistory();\n\tconst {\n\t\tparams: { postId },\n\t\tgoTo,\n\t} = useNavigator();\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'page',\n\t\tpostId\n\t);\n\n\tconst { featuredMediaAltText, featuredMediaSourceUrl } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\t// Featured image.\n\t\t\tconst attachedMedia = record?.featured_media\n\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\trecord?.featured_media\n\t\t\t\t )\n\t\t\t\t: null;\n\n\t\t\treturn {\n\t\t\t\tfeaturedMediaSourceUrl:\n\t\t\t\t\tattachedMedia?.media_details.sizes?.medium?.source_url ||\n\t\t\t\t\tattachedMedia?.source_url,\n\t\t\t\tfeaturedMediaAltText: escapeAttribute(\n\t\t\t\t\tattachedMedia?.alt_text ||\n\t\t\t\t\t\tattachedMedia?.description?.raw ||\n\t\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ record ]\n\t);\n\n\t// Redirect to the main pages navigation screen if the page is not found or has been deleted.\n\tuseEffect( () => {\n\t\tif ( hasResolved && ! record ) {\n\t\t\thistory.push( {\n\t\t\t\tpath: '/page',\n\t\t\t\tpostId: undefined,\n\t\t\t\tpostType: undefined,\n\t\t\t\tcanvas: 'view',\n\t\t\t} );\n\t\t}\n\t}, [ hasResolved, history ] );\n\n\tconst featureImageAltText = featuredMediaAltText\n\t\t? decodeEntities( featuredMediaAltText )\n\t\t: decodeEntities( record?.title?.rendered || __( 'Featured image' ) );\n\n\treturn record ? (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ decodeEntities(\n\t\t\t\trecord?.title?.rendered || __( '(no title)' )\n\t\t\t) }\n\t\t\tactions={\n\t\t\t\t<>\n\t\t\t\t\t<PageActions\n\t\t\t\t\t\tpostId={ postId }\n\t\t\t\t\t\ttoggleProps={ { as: SidebarButton } }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tgoTo( '/page' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\tonClick={ () => setCanvasMode( 'edit' ) }\n\t\t\t\t\t\tlabel={ __( 'Edit' ) }\n\t\t\t\t\t\ticon={ pencil }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t}\n\t\t\tmeta={\n\t\t\t\t<ExternalLink\n\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__page-link\"\n\t\t\t\t\thref={ record.link }\n\t\t\t\t>\n\t\t\t\t\t{ filterURLForDisplay(\n\t\t\t\t\t\tsafeDecodeURIComponent( record.link )\n\t\t\t\t\t) }\n\t\t\t\t</ExternalLink>\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ !! featuredMediaSourceUrl && (\n\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-page__featured-image-wrapper\"\n\t\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen-page__featured-image has-image\">\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\talt={ featureImageAltText }\n\t\t\t\t\t\t\t\t\tsrc={ featuredMediaSourceUrl }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t) }\n\t\t\t\t\t{ !! record?.excerpt?.rendered && (\n\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-page__excerpt\"\n\t\t\t\t\t\t\tnumberOfLines={ 3 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ stripHTML( record.excerpt.rendered ) }\n\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t) }\n\t\t\t\t\t<PageDetails id={ postId } />\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\trecord?.modified ? (\n\t\t\t\t\t<SidebarNavigationScreenDetailsFooter record={ record } />\n\t\t\t\t) : null\n\t\t\t}\n\t\t/>\n\t) : null;\n}\n"],"mappings":"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"}
|
|
@@ -33,6 +33,11 @@ const {
|
|
|
33
33
|
ExperimentalBlockEditorProvider,
|
|
34
34
|
useGlobalStyle
|
|
35
35
|
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
36
|
+
const {
|
|
37
|
+
CompositeV2: Composite,
|
|
38
|
+
CompositeItemV2: CompositeItem,
|
|
39
|
+
useCompositeStoreV2: useCompositeStore
|
|
40
|
+
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
36
41
|
|
|
37
42
|
// The content area of the Style Book is rendered within an iframe so that global styles
|
|
38
43
|
// are applied to elements within the entire content area. To support elements that are
|
|
@@ -57,6 +62,8 @@ const STYLE_BOOK_IFRAME_STYLES = `
|
|
|
57
62
|
padding: 16px;
|
|
58
63
|
width: 100%;
|
|
59
64
|
box-sizing: border-box;
|
|
65
|
+
scroll-margin-top: 32px;
|
|
66
|
+
scroll-margin-bottom: 32px;
|
|
60
67
|
}
|
|
61
68
|
|
|
62
69
|
.edit-site-style-book__example.is-selected {
|
|
@@ -262,7 +269,8 @@ const StyleBookBody = ({
|
|
|
262
269
|
// translators: %s: Category of blocks, e.g. Text.
|
|
263
270
|
(0, _i18n.__)('Examples of blocks in the %s category'), title) : (0, _i18n.__)('Examples of blocks'),
|
|
264
271
|
isSelected: isSelected,
|
|
265
|
-
onSelect: onSelect
|
|
272
|
+
onSelect: onSelect,
|
|
273
|
+
key: category
|
|
266
274
|
}));
|
|
267
275
|
};
|
|
268
276
|
const Examples = (0, _element.memo)(({
|
|
@@ -273,17 +281,17 @@ const Examples = (0, _element.memo)(({
|
|
|
273
281
|
isSelected,
|
|
274
282
|
onSelect
|
|
275
283
|
}) => {
|
|
276
|
-
const
|
|
284
|
+
const compositeStore = useCompositeStore({
|
|
277
285
|
orientation: 'vertical'
|
|
278
286
|
});
|
|
279
|
-
return (0, _react.createElement)(
|
|
280
|
-
|
|
287
|
+
return (0, _react.createElement)(Composite, {
|
|
288
|
+
store: compositeStore,
|
|
281
289
|
className: className,
|
|
282
|
-
"aria-label": label
|
|
290
|
+
"aria-label": label,
|
|
291
|
+
role: "grid"
|
|
283
292
|
}, examples.filter(example => category ? example.category === category : true).map(example => (0, _react.createElement)(Example, {
|
|
284
293
|
key: example.name,
|
|
285
294
|
id: `example-${example.name}`,
|
|
286
|
-
composite: composite,
|
|
287
295
|
title: example.title,
|
|
288
296
|
blocks: example.blocks,
|
|
289
297
|
isSelected: isSelected(example.name),
|
|
@@ -293,7 +301,6 @@ const Examples = (0, _element.memo)(({
|
|
|
293
301
|
})));
|
|
294
302
|
});
|
|
295
303
|
const Example = ({
|
|
296
|
-
composite,
|
|
297
304
|
id,
|
|
298
305
|
title,
|
|
299
306
|
blocks,
|
|
@@ -308,8 +315,11 @@ const Example = ({
|
|
|
308
315
|
|
|
309
316
|
// Cache the list of blocks to avoid additional processing when the component is re-rendered.
|
|
310
317
|
const renderedBlocks = (0, _element.useMemo)(() => Array.isArray(blocks) ? blocks : [blocks], [blocks]);
|
|
311
|
-
return (0, _react.createElement)(
|
|
312
|
-
|
|
318
|
+
return (0, _react.createElement)("div", {
|
|
319
|
+
role: "row"
|
|
320
|
+
}, (0, _react.createElement)("div", {
|
|
321
|
+
role: "gridcell"
|
|
322
|
+
}, (0, _react.createElement)(CompositeItem, {
|
|
313
323
|
className: (0, _classnames.default)('edit-site-style-book__example', {
|
|
314
324
|
'is-selected': isSelected
|
|
315
325
|
}),
|
|
@@ -317,9 +327,9 @@ const Example = ({
|
|
|
317
327
|
"aria-label": (0, _i18n.sprintf)(
|
|
318
328
|
// translators: %s: Title of a block, e.g. Heading.
|
|
319
329
|
(0, _i18n.__)('Open %s styles in Styles panel'), title),
|
|
320
|
-
|
|
330
|
+
render: (0, _react.createElement)("div", null),
|
|
321
331
|
role: "button",
|
|
322
|
-
|
|
332
|
+
onClick: onClick
|
|
323
333
|
}, (0, _react.createElement)("span", {
|
|
324
334
|
className: "edit-site-style-book__example-title"
|
|
325
335
|
}, title), (0, _react.createElement)("div", {
|
|
@@ -332,7 +342,7 @@ const Example = ({
|
|
|
332
342
|
settings: settings
|
|
333
343
|
}, (0, _react.createElement)(_blockEditor.BlockList, {
|
|
334
344
|
renderAppender: false
|
|
335
|
-
})))));
|
|
345
|
+
})))))));
|
|
336
346
|
};
|
|
337
347
|
var _default = StyleBook;
|
|
338
348
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_blocks","_blockEditor","_data","_compose","_element","_keycodes","_lockUnlock","_editorCanvasContainer","ExperimentalBlockEditorProvider","useGlobalStyle","unlock","blockEditorPrivateApis","STYLE_BOOK_IFRAME_STYLES","getExamples","headingsExample","name","title","__","category","blocks","createBlock","content","level","otherExamples","getBlockTypes","filter","blockType","example","supports","inserter","map","getBlockFromExample","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","showTabs","resizeObserver","sizes","useResizeObserver","textColor","backgroundColor","examples","useMemo","tabs","getCategories","some","slug","icon","originalSettings","useSelect","select","blockEditorStore","getSettings","settings","__unstableIsPreviewMode","_react","createElement","default","closeButtonLabel","className","classnames","width","style","color","background","TabPanel","tab","StyleBookBody","isFocused","setIsFocused","useState","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","ENTER","SPACE","preventDefault","readonly","buttonModeStyles","__unstableIframe","tabIndex","__unstableEditorStyles","styles","Examples","label","sprintf","memo","composite","useCompositeState","orientation","__unstableComposite","Example","key","id","renderedBlocks","Array","isArray","__unstableCompositeItem","as","Disabled","value","BlockList","renderAppender","_default","exports"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n\tDisabled,\n\tTabPanel,\n} from '@wordpress/components';\n\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tgetCategories,\n\tgetBlockTypes,\n\tgetBlockFromExample,\n\tcreateBlock,\n} from '@wordpress/blocks';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo, useState, memo } from '@wordpress/element';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport EditorCanvasContainer from '../editor-canvas-container';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\n\n// The content area of the Style Book is rendered within an iframe so that global styles\n// are applied to elements within the entire content area. To support elements that are\n// not part of the block previews, such as headings and layout for the block previews,\n// additional CSS rules need to be passed into the iframe. These are hard-coded below.\n// Note that button styles are unset, and then focus rules from the `Button` component are\n// applied to the `button` element, targeted via `.edit-site-style-book__example`.\n// This is to ensure that browser default styles for buttons are not applied to the previews.\nconst STYLE_BOOK_IFRAME_STYLES = `\n\t.edit-site-style-book__examples {\n\t\tmax-width: 900px;\n\t\tmargin: 0 auto;\n\t}\n\n\t.edit-site-style-book__example {\n\t\tborder-radius: 2px;\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 40px;\n\t\tmargin-bottom: 40px;\n\t\tpadding: 16px;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t}\n\n\t.edit-site-style-book__example.is-selected {\n\t\tbox-shadow: 0 0 0 1px var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t}\n\n\t.edit-site-style-book__example:focus:not(:disabled) {\n\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t\toutline: 3px solid transparent;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example {\n\t\tflex-direction: row;\n\t}\n\n\t.edit-site-style-book__example-title {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\tfont-size: 11px;\n\t\tfont-weight: 500;\n\t\tline-height: normal;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\ttext-transform: uppercase;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example-title {\n\t\ttext-align: right;\n\t\twidth: 120px;\n\t}\n\n\t.edit-site-style-book__example-preview {\n\t\twidth: 100%;\n\t}\n\n\t.edit-site-style-book__example-preview .block-editor-block-list__insertion-point,\n\t.edit-site-style-book__example-preview .block-list-appender {\n\t\tdisplay: none;\n\t}\n\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:first-child {\n\t\tmargin-top: 0;\n\t}\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:last-child {\n\t\tmargin-bottom: 0;\n\t}\n`;\n\nfunction getExamples() {\n\t// Use our own example for the Heading block so that we can show multiple\n\t// heading levels.\n\tconst headingsExample = {\n\t\tname: 'core/heading',\n\t\ttitle: __( 'Headings' ),\n\t\tcategory: 'text',\n\t\tblocks: [\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 1,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 2,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 3,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 4,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 5,\n\t\t\t} ),\n\t\t],\n\t};\n\n\tconst otherExamples = getBlockTypes()\n\t\t.filter( ( blockType ) => {\n\t\t\tconst { name, example, supports } = blockType;\n\t\t\treturn (\n\t\t\t\tname !== 'core/heading' &&\n\t\t\t\t!! example &&\n\t\t\t\tsupports.inserter !== false\n\t\t\t);\n\t\t} )\n\t\t.map( ( blockType ) => ( {\n\t\t\tname: blockType.name,\n\t\t\ttitle: blockType.title,\n\t\t\tcategory: blockType.category,\n\t\t\tblocks: getBlockFromExample( blockType.name, blockType.example ),\n\t\t} ) );\n\n\treturn [ headingsExample, ...otherExamples ];\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tshowTabs = true,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst examples = useMemo( getExamples, [] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetCategories()\n\t\t\t\t.filter( ( category ) =>\n\t\t\t\t\texamples.some(\n\t\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( category ) => ( {\n\t\t\t\t\tname: category.slug,\n\t\t\t\t\ttitle: category.title,\n\t\t\t\t\ticon: category.icon,\n\t\t\t\t} ) ),\n\t\t[ examples ]\n\t);\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={\n\t\t\t\tshowCloseButton ? __( 'Close Style Book' ) : null\n\t\t\t}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'edit-site-style-book', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t\t'is-button': !! onClick,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textColor,\n\t\t\t\t\tbackground: backgroundColor,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<TabPanel\n\t\t\t\t\t\tclassName=\"edit-site-style-book__tab-panel\"\n\t\t\t\t\t\ttabs={ tabs }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( tab ) => (\n\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\tcategory={ tab.name }\n\t\t\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</TabPanel>\n\t\t\t\t) : (\n\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\nconst StyleBookBody = ( {\n\tcategory,\n\texamples,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tsettings,\n\tsizes,\n\ttitle,\n} ) => {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\t// The presence of an `onClick` prop indicates that the Style Book is being used as a button.\n\t// In this case, add additional props to the iframe to make it behave like a button.\n\tconst buttonModeProps = {\n\t\trole: 'button',\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( onClick && ( keyCode === ENTER || keyCode === SPACE ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\tonClick: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( onClick ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\tconst buttonModeStyles = onClick\n\t\t? 'body { cursor: pointer; } body * { pointer-events: none; }'\n\t\t: '';\n\n\treturn (\n\t\t<Iframe\n\t\t\tclassName={ classnames( 'edit-site-style-book__iframe', {\n\t\t\t\t'is-focused': isFocused && !! onClick,\n\t\t\t\t'is-button': !! onClick,\n\t\t\t} ) }\n\t\t\tname=\"style-book-canvas\"\n\t\t\ttabIndex={ 0 }\n\t\t\t{ ...( onClick ? buttonModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>\n\t\t\t\t{\n\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t`.is-root-container { display: flow-root; }\n\t\t\t\t\t\tbody { position: relative; padding: 32px !important; }` +\n\t\t\t\t\t\tSTYLE_BOOK_IFRAME_STYLES +\n\t\t\t\t\t\tbuttonModeStyles\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ classnames( 'edit-site-style-book__examples', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t} ) }\n\t\t\t\texamples={ examples }\n\t\t\t\tcategory={ category }\n\t\t\t\tlabel={\n\t\t\t\t\ttitle\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Category of blocks, e.g. Text.\n\t\t\t\t\t\t\t\t__( 'Examples of blocks in the %s category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Examples of blocks' )\n\t\t\t\t}\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, examples, category, label, isSelected, onSelect } ) => {\n\t\tconst composite = useCompositeState( { orientation: 'vertical' } );\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\t{ ...composite }\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t>\n\t\t\t\t{ examples\n\t\t\t\t\t.filter( ( example ) =>\n\t\t\t\t\t\tcategory ? example.category === category : true\n\t\t\t\t\t)\n\t\t\t\t\t.map( ( example ) => (\n\t\t\t\t\t\t<Example\n\t\t\t\t\t\t\tkey={ example.name }\n\t\t\t\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\t\ttitle={ example.title }\n\t\t\t\t\t\t\tblocks={ example.blocks }\n\t\t\t\t\t\t\tisSelected={ isSelected( example.name ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonSelect?.( example.name );\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</Composite>\n\t\t);\n\t}\n);\n\nconst Example = ( { composite, id, title, blocks, isSelected, onClick } ) => {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\n\t// Cache the list of blocks to avoid additional processing when the component is re-rendered.\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\treturn (\n\t\t<CompositeItem\n\t\t\t{ ...composite }\n\t\t\tclassName={ classnames( 'edit-site-style-book__example', {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\tid={ id }\n\t\t\taria-label={ sprintf(\n\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\ttitle\n\t\t\t) }\n\t\t\tonClick={ onClick }\n\t\t\trole=\"button\"\n\t\t\tas=\"div\"\n\t\t>\n\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t{ title }\n\t\t\t</span>\n\t\t\t<div className=\"edit-site-style-book__example-preview\" aria-hidden>\n\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</CompositeItem>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_blocks","_blockEditor","_data","_compose","_element","_keycodes","_lockUnlock","_editorCanvasContainer","ExperimentalBlockEditorProvider","useGlobalStyle","unlock","blockEditorPrivateApis","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","componentsPrivateApis","STYLE_BOOK_IFRAME_STYLES","getExamples","headingsExample","name","title","__","category","blocks","createBlock","content","level","otherExamples","getBlockTypes","filter","blockType","example","supports","inserter","map","getBlockFromExample","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","showTabs","resizeObserver","sizes","useResizeObserver","textColor","backgroundColor","examples","useMemo","tabs","getCategories","some","slug","icon","originalSettings","useSelect","select","blockEditorStore","getSettings","settings","__unstableIsPreviewMode","_react","createElement","default","closeButtonLabel","className","classnames","width","style","color","background","TabPanel","tab","StyleBookBody","isFocused","setIsFocused","useState","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","ENTER","SPACE","preventDefault","readonly","buttonModeStyles","__unstableIframe","tabIndex","__unstableEditorStyles","styles","Examples","label","sprintf","key","memo","compositeStore","orientation","store","Example","id","renderedBlocks","Array","isArray","render","Disabled","value","BlockList","renderAppender","_default","exports"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDisabled,\n\tTabPanel,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tgetCategories,\n\tgetBlockTypes,\n\tgetBlockFromExample,\n\tcreateBlock,\n} from '@wordpress/blocks';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo, useState, memo } from '@wordpress/element';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport EditorCanvasContainer from '../editor-canvas-container';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\n// The content area of the Style Book is rendered within an iframe so that global styles\n// are applied to elements within the entire content area. To support elements that are\n// not part of the block previews, such as headings and layout for the block previews,\n// additional CSS rules need to be passed into the iframe. These are hard-coded below.\n// Note that button styles are unset, and then focus rules from the `Button` component are\n// applied to the `button` element, targeted via `.edit-site-style-book__example`.\n// This is to ensure that browser default styles for buttons are not applied to the previews.\nconst STYLE_BOOK_IFRAME_STYLES = `\n\t.edit-site-style-book__examples {\n\t\tmax-width: 900px;\n\t\tmargin: 0 auto;\n\t}\n\n\t.edit-site-style-book__example {\n\t\tborder-radius: 2px;\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 40px;\n\t\tmargin-bottom: 40px;\n\t\tpadding: 16px;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\tscroll-margin-top: 32px;\n\t\tscroll-margin-bottom: 32px;\n\t}\n\n\t.edit-site-style-book__example.is-selected {\n\t\tbox-shadow: 0 0 0 1px var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t}\n\n\t.edit-site-style-book__example:focus:not(:disabled) {\n\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t\toutline: 3px solid transparent;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example {\n\t\tflex-direction: row;\n\t}\n\n\t.edit-site-style-book__example-title {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\tfont-size: 11px;\n\t\tfont-weight: 500;\n\t\tline-height: normal;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\ttext-transform: uppercase;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example-title {\n\t\ttext-align: right;\n\t\twidth: 120px;\n\t}\n\n\t.edit-site-style-book__example-preview {\n\t\twidth: 100%;\n\t}\n\n\t.edit-site-style-book__example-preview .block-editor-block-list__insertion-point,\n\t.edit-site-style-book__example-preview .block-list-appender {\n\t\tdisplay: none;\n\t}\n\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:first-child {\n\t\tmargin-top: 0;\n\t}\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:last-child {\n\t\tmargin-bottom: 0;\n\t}\n`;\n\nfunction getExamples() {\n\t// Use our own example for the Heading block so that we can show multiple\n\t// heading levels.\n\tconst headingsExample = {\n\t\tname: 'core/heading',\n\t\ttitle: __( 'Headings' ),\n\t\tcategory: 'text',\n\t\tblocks: [\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 1,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 2,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 3,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 4,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 5,\n\t\t\t} ),\n\t\t],\n\t};\n\n\tconst otherExamples = getBlockTypes()\n\t\t.filter( ( blockType ) => {\n\t\t\tconst { name, example, supports } = blockType;\n\t\t\treturn (\n\t\t\t\tname !== 'core/heading' &&\n\t\t\t\t!! example &&\n\t\t\t\tsupports.inserter !== false\n\t\t\t);\n\t\t} )\n\t\t.map( ( blockType ) => ( {\n\t\t\tname: blockType.name,\n\t\t\ttitle: blockType.title,\n\t\t\tcategory: blockType.category,\n\t\t\tblocks: getBlockFromExample( blockType.name, blockType.example ),\n\t\t} ) );\n\n\treturn [ headingsExample, ...otherExamples ];\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tshowTabs = true,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst examples = useMemo( getExamples, [] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetCategories()\n\t\t\t\t.filter( ( category ) =>\n\t\t\t\t\texamples.some(\n\t\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( category ) => ( {\n\t\t\t\t\tname: category.slug,\n\t\t\t\t\ttitle: category.title,\n\t\t\t\t\ticon: category.icon,\n\t\t\t\t} ) ),\n\t\t[ examples ]\n\t);\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={\n\t\t\t\tshowCloseButton ? __( 'Close Style Book' ) : null\n\t\t\t}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'edit-site-style-book', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t\t'is-button': !! onClick,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textColor,\n\t\t\t\t\tbackground: backgroundColor,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<TabPanel\n\t\t\t\t\t\tclassName=\"edit-site-style-book__tab-panel\"\n\t\t\t\t\t\ttabs={ tabs }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( tab ) => (\n\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\tcategory={ tab.name }\n\t\t\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</TabPanel>\n\t\t\t\t) : (\n\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\nconst StyleBookBody = ( {\n\tcategory,\n\texamples,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tsettings,\n\tsizes,\n\ttitle,\n} ) => {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\t// The presence of an `onClick` prop indicates that the Style Book is being used as a button.\n\t// In this case, add additional props to the iframe to make it behave like a button.\n\tconst buttonModeProps = {\n\t\trole: 'button',\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( onClick && ( keyCode === ENTER || keyCode === SPACE ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\tonClick: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( onClick ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\tconst buttonModeStyles = onClick\n\t\t? 'body { cursor: pointer; } body * { pointer-events: none; }'\n\t\t: '';\n\n\treturn (\n\t\t<Iframe\n\t\t\tclassName={ classnames( 'edit-site-style-book__iframe', {\n\t\t\t\t'is-focused': isFocused && !! onClick,\n\t\t\t\t'is-button': !! onClick,\n\t\t\t} ) }\n\t\t\tname=\"style-book-canvas\"\n\t\t\ttabIndex={ 0 }\n\t\t\t{ ...( onClick ? buttonModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>\n\t\t\t\t{\n\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t`.is-root-container { display: flow-root; }\n\t\t\t\t\t\tbody { position: relative; padding: 32px !important; }` +\n\t\t\t\t\t\tSTYLE_BOOK_IFRAME_STYLES +\n\t\t\t\t\t\tbuttonModeStyles\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ classnames( 'edit-site-style-book__examples', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t} ) }\n\t\t\t\texamples={ examples }\n\t\t\t\tcategory={ category }\n\t\t\t\tlabel={\n\t\t\t\t\ttitle\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Category of blocks, e.g. Text.\n\t\t\t\t\t\t\t\t__( 'Examples of blocks in the %s category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Examples of blocks' )\n\t\t\t\t}\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tkey={ category }\n\t\t\t/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, examples, category, label, isSelected, onSelect } ) => {\n\t\tconst compositeStore = useCompositeStore( { orientation: 'vertical' } );\n\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\tstore={ compositeStore }\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t\trole=\"grid\"\n\t\t\t>\n\t\t\t\t{ examples\n\t\t\t\t\t.filter( ( example ) =>\n\t\t\t\t\t\tcategory ? example.category === category : true\n\t\t\t\t\t)\n\t\t\t\t\t.map( ( example ) => (\n\t\t\t\t\t\t<Example\n\t\t\t\t\t\t\tkey={ example.name }\n\t\t\t\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\t\t\t\ttitle={ example.title }\n\t\t\t\t\t\t\tblocks={ example.blocks }\n\t\t\t\t\t\t\tisSelected={ isSelected( example.name ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonSelect?.( example.name );\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</Composite>\n\t\t);\n\t}\n);\n\nconst Example = ( { id, title, blocks, isSelected, onClick } ) => {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\n\t// Cache the list of blocks to avoid additional processing when the component is re-rendered.\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\treturn (\n\t\t<div role=\"row\">\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<CompositeItem\n\t\t\t\t\tclassName={ classnames( 'edit-site-style-book__example', {\n\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t} ) }\n\t\t\t\t\tid={ id }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t) }\n\t\t\t\t\trender={ <div /> }\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t>\n\t\t\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"edit-site-style-book__example-preview\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t\t\t</Disabled>\n\t\t\t\t\t</div>\n\t\t\t\t</CompositeItem>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"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"}
|
|
@@ -29,22 +29,40 @@ function useResolveEditedEntityAndContext({
|
|
|
29
29
|
postType
|
|
30
30
|
}) {
|
|
31
31
|
const {
|
|
32
|
-
|
|
32
|
+
hasLoadedAllDependencies,
|
|
33
33
|
homepageId,
|
|
34
|
-
url
|
|
34
|
+
url,
|
|
35
|
+
frontPageTemplateId
|
|
35
36
|
} = (0, _data.useSelect)(select => {
|
|
36
37
|
const {
|
|
37
38
|
getSite,
|
|
38
|
-
getUnstableBase
|
|
39
|
+
getUnstableBase,
|
|
40
|
+
getEntityRecords
|
|
39
41
|
} = select(_coreData.store);
|
|
40
42
|
const siteData = getSite();
|
|
41
43
|
const base = getUnstableBase();
|
|
44
|
+
const templates = getEntityRecords('postType', _constants.TEMPLATE_POST_TYPE, {
|
|
45
|
+
per_page: -1
|
|
46
|
+
});
|
|
47
|
+
let _frontPateTemplateId;
|
|
48
|
+
if (templates) {
|
|
49
|
+
const frontPageTemplate = templates.find(t => t.slug === 'front-page');
|
|
50
|
+
_frontPateTemplateId = frontPageTemplate ? frontPageTemplate.id : false;
|
|
51
|
+
}
|
|
42
52
|
return {
|
|
43
|
-
|
|
44
|
-
homepageId: siteData?.show_on_front === 'page' ? siteData.page_on_front : null,
|
|
45
|
-
url: base?.home
|
|
53
|
+
hasLoadedAllDependencies: !!base && !!siteData,
|
|
54
|
+
homepageId: siteData?.show_on_front === 'page' ? siteData.page_on_front.toString() : null,
|
|
55
|
+
url: base?.home,
|
|
56
|
+
frontPageTemplateId: _frontPateTemplateId
|
|
46
57
|
};
|
|
47
58
|
}, []);
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* This is a hook that recreates the logic to resolve a template for a given WordPress postID postTypeId
|
|
62
|
+
* in order to match the frontend as closely as possible in the site editor.
|
|
63
|
+
*
|
|
64
|
+
* It is not possible to rely on the server logic because there maybe unsaved changes that impact the template resolution.
|
|
65
|
+
*/
|
|
48
66
|
const resolvedTemplateId = (0, _data.useSelect)(select => {
|
|
49
67
|
// If we're rendering a post type that doesn't have a template
|
|
50
68
|
// no need to resolve its template.
|
|
@@ -58,6 +76,17 @@ function useResolveEditedEntityAndContext({
|
|
|
58
76
|
__experimentalGetTemplateForLink
|
|
59
77
|
} = select(_coreData.store);
|
|
60
78
|
function resolveTemplateForPostTypeAndId(postTypeToResolve, postIdToResolve) {
|
|
79
|
+
// For the front page, we always use the front page template if existing.
|
|
80
|
+
if (postTypeToResolve === 'page' && homepageId === postIdToResolve) {
|
|
81
|
+
// We're still checking whether the front page template exists.
|
|
82
|
+
// Don't resolve the template yet.
|
|
83
|
+
if (frontPageTemplateId === undefined) {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
if (!!frontPageTemplateId) {
|
|
87
|
+
return frontPageTemplateId;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
61
90
|
const editedEntity = getEditedEntityRecord('postType', postTypeToResolve, postIdToResolve);
|
|
62
91
|
if (!editedEntity) {
|
|
63
92
|
return undefined;
|
|
@@ -80,6 +109,9 @@ function useResolveEditedEntityAndContext({
|
|
|
80
109
|
slug: `${postTypeToResolve}-${editedEntity?.slug}`
|
|
81
110
|
});
|
|
82
111
|
}
|
|
112
|
+
if (!hasLoadedAllDependencies) {
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
83
115
|
|
|
84
116
|
// If we're rendering a specific page, post... we need to resolve its template.
|
|
85
117
|
if (postType && postId) {
|
|
@@ -92,11 +124,11 @@ function useResolveEditedEntityAndContext({
|
|
|
92
124
|
}
|
|
93
125
|
|
|
94
126
|
// If we're not rendering a specific page, use the front page template.
|
|
95
|
-
if (
|
|
127
|
+
if (url) {
|
|
96
128
|
const template = __experimentalGetTemplateForLink(url);
|
|
97
129
|
return template?.id;
|
|
98
130
|
}
|
|
99
|
-
}, [homepageId,
|
|
131
|
+
}, [homepageId, hasLoadedAllDependencies, url, postId, postType, frontPageTemplateId]);
|
|
100
132
|
const context = (0, _element.useMemo)(() => {
|
|
101
133
|
if (postTypesWithoutParentTemplate.includes(postType)) {
|
|
102
134
|
return {};
|
|
@@ -123,7 +155,7 @@ function useResolveEditedEntityAndContext({
|
|
|
123
155
|
context
|
|
124
156
|
};
|
|
125
157
|
}
|
|
126
|
-
if (
|
|
158
|
+
if (hasLoadedAllDependencies) {
|
|
127
159
|
return {
|
|
128
160
|
isReady: resolvedTemplateId !== undefined,
|
|
129
161
|
postType: _constants.TEMPLATE_POST_TYPE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_data","_coreData","_router","_store","_lockUnlock","_constants","useLocation","unlock","routerPrivateApis","postTypesWithoutParentTemplate","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","NAVIGATION_POST_TYPE","PATTERN_TYPES","user","useResolveEditedEntityAndContext","postId","postType","isRequestingSite","homepageId","url","useSelect","select","getSite","getUnstableBase","coreDataStore","siteData","base","show_on_front","page_on_front","home","resolvedTemplateId","includes","undefined","getEditedEntityRecord","getEntityRecords","getDefaultTemplateId","__experimentalGetTemplateForLink","resolveTemplateForPostTypeAndId","postTypeToResolve","postIdToResolve","editedEntity","currentTemplateSlug","template","currentTemplate","per_page","find","slug","id","context","useMemo","isReady","useInitEditedEntity","params","setEditedEntity","useDispatch","editSiteStore","useEffect","useInitEditedEntityFromURL"],"sources":["@wordpress/edit-site/src/components/sync-state-with-url/use-init-edited-entity-from-url.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst postTypesWithoutParentTemplate = [\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nfunction useResolveEditedEntityAndContext( { postId, postType } ) {\n\tconst { isRequestingSite, homepageId, url } = useSelect( ( select ) => {\n\t\tconst { getSite, getUnstableBase } = select( coreDataStore );\n\t\tconst siteData = getSite();\n\t\tconst base = getUnstableBase();\n\n\t\treturn {\n\t\t\tisRequestingSite: ! base,\n\t\t\thomepageId:\n\t\t\t\tsiteData?.show_on_front === 'page'\n\t\t\t\t\t? siteData.page_on_front\n\t\t\t\t\t: null,\n\t\t\turl: base?.home,\n\t\t};\n\t}, [] );\n\n\tconst resolvedTemplateId = useSelect(\n\t\t( select ) => {\n\t\t\t// If we're rendering a post type that doesn't have a template\n\t\t\t// no need to resolve its template.\n\t\t\tif ( postTypesWithoutParentTemplate.includes( postType ) ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\tgetDefaultTemplateId,\n\t\t\t\t__experimentalGetTemplateForLink,\n\t\t\t} = select( coreDataStore );\n\n\t\t\tfunction resolveTemplateForPostTypeAndId(\n\t\t\t\tpostTypeToResolve,\n\t\t\t\tpostIdToResolve\n\t\t\t) {\n\t\t\t\tconst editedEntity = getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeToResolve,\n\t\t\t\t\tpostIdToResolve\n\t\t\t\t);\n\t\t\t\tif ( ! editedEntity ) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\t// First see if the post/page has an assigned template and fetch it.\n\t\t\t\tconst currentTemplateSlug = editedEntity.template;\n\t\t\t\tif ( currentTemplateSlug ) {\n\t\t\t\t\tconst currentTemplate = getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\t}\n\t\t\t\t\t)?.find( ( { slug } ) => slug === currentTemplateSlug );\n\t\t\t\t\tif ( currentTemplate ) {\n\t\t\t\t\t\treturn currentTemplate.id;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// If no template is assigned, use the default template.\n\t\t\t\treturn getDefaultTemplateId( {\n\t\t\t\t\tslug: `${ postTypeToResolve }-${ editedEntity?.slug }`,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// If we're rendering a specific page, post... we need to resolve its template.\n\t\t\tif ( postType && postId ) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( postType, postId );\n\t\t\t}\n\n\t\t\t// If we're rendering the home page, and we have a static home page, resolve its template.\n\t\t\tif ( homepageId ) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( 'page', homepageId );\n\t\t\t}\n\n\t\t\t// If we're not rendering a specific page, use the front page template.\n\t\t\tif ( ! isRequestingSite && url ) {\n\t\t\t\tconst template = __experimentalGetTemplateForLink( url );\n\t\t\t\treturn template?.id;\n\t\t\t}\n\t\t},\n\t\t[ homepageId, isRequestingSite, url, postId, postType ]\n\t);\n\n\tconst context = useMemo( () => {\n\t\tif ( postTypesWithoutParentTemplate.includes( postType ) ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif ( postType && postId ) {\n\t\t\treturn { postType, postId };\n\t\t}\n\n\t\tif ( homepageId ) {\n\t\t\treturn { postType: 'page', postId: homepageId };\n\t\t}\n\n\t\treturn {};\n\t}, [ homepageId, postType, postId ] );\n\n\tif ( postTypesWithoutParentTemplate.includes( postType ) ) {\n\t\treturn { isReady: true, postType, postId, context };\n\t}\n\n\tif ( ( postType && postId ) || homepageId || ! isRequestingSite ) {\n\t\treturn {\n\t\t\tisReady: resolvedTemplateId !== undefined,\n\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\tpostId: resolvedTemplateId,\n\t\t\tcontext,\n\t\t};\n\t}\n\n\treturn { isReady: false };\n}\n\nexport function useInitEditedEntity( params ) {\n\tconst { postType, postId, context, isReady } =\n\t\tuseResolveEditedEntityAndContext( params );\n\n\tconst { setEditedEntity } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( isReady ) {\n\t\t\tsetEditedEntity( postType, postId, context );\n\t\t}\n\t}, [ isReady, postType, postId, context, setEditedEntity ] );\n}\n\nexport default function useInitEditedEntityFromURL() {\n\tconst { params = {} } = useLocation();\n\treturn useInitEditedEntity( params );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_data","_coreData","_router","_store","_lockUnlock","_constants","useLocation","unlock","routerPrivateApis","postTypesWithoutParentTemplate","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","NAVIGATION_POST_TYPE","PATTERN_TYPES","user","useResolveEditedEntityAndContext","postId","postType","hasLoadedAllDependencies","homepageId","url","frontPageTemplateId","useSelect","select","getSite","getUnstableBase","getEntityRecords","coreDataStore","siteData","base","templates","per_page","_frontPateTemplateId","frontPageTemplate","find","t","slug","id","show_on_front","page_on_front","toString","home","resolvedTemplateId","includes","undefined","getEditedEntityRecord","getDefaultTemplateId","__experimentalGetTemplateForLink","resolveTemplateForPostTypeAndId","postTypeToResolve","postIdToResolve","editedEntity","currentTemplateSlug","template","currentTemplate","context","useMemo","isReady","useInitEditedEntity","params","setEditedEntity","useDispatch","editSiteStore","useEffect","useInitEditedEntityFromURL"],"sources":["@wordpress/edit-site/src/components/sync-state-with-url/use-init-edited-entity-from-url.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst postTypesWithoutParentTemplate = [\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nfunction useResolveEditedEntityAndContext( { postId, postType } ) {\n\tconst { hasLoadedAllDependencies, homepageId, url, frontPageTemplateId } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getSite, getUnstableBase, getEntityRecords } =\n\t\t\t\tselect( coreDataStore );\n\t\t\tconst siteData = getSite();\n\t\t\tconst base = getUnstableBase();\n\t\t\tconst templates = getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tper_page: -1,\n\t\t\t\t}\n\t\t\t);\n\t\t\tlet _frontPateTemplateId;\n\t\t\tif ( templates ) {\n\t\t\t\tconst frontPageTemplate = templates.find(\n\t\t\t\t\t( t ) => t.slug === 'front-page'\n\t\t\t\t);\n\t\t\t\t_frontPateTemplateId = frontPageTemplate\n\t\t\t\t\t? frontPageTemplate.id\n\t\t\t\t\t: false;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thasLoadedAllDependencies: !! base && !! siteData,\n\t\t\t\thomepageId:\n\t\t\t\t\tsiteData?.show_on_front === 'page'\n\t\t\t\t\t\t? siteData.page_on_front.toString()\n\t\t\t\t\t\t: null,\n\t\t\t\turl: base?.home,\n\t\t\t\tfrontPageTemplateId: _frontPateTemplateId,\n\t\t\t};\n\t\t}, [] );\n\n\t/**\n\t * This is a hook that recreates the logic to resolve a template for a given WordPress postID postTypeId\n\t * in order to match the frontend as closely as possible in the site editor.\n\t *\n\t * It is not possible to rely on the server logic because there maybe unsaved changes that impact the template resolution.\n\t */\n\tconst resolvedTemplateId = useSelect(\n\t\t( select ) => {\n\t\t\t// If we're rendering a post type that doesn't have a template\n\t\t\t// no need to resolve its template.\n\t\t\tif ( postTypesWithoutParentTemplate.includes( postType ) ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\tgetDefaultTemplateId,\n\t\t\t\t__experimentalGetTemplateForLink,\n\t\t\t} = select( coreDataStore );\n\n\t\t\tfunction resolveTemplateForPostTypeAndId(\n\t\t\t\tpostTypeToResolve,\n\t\t\t\tpostIdToResolve\n\t\t\t) {\n\t\t\t\t// For the front page, we always use the front page template if existing.\n\t\t\t\tif (\n\t\t\t\t\tpostTypeToResolve === 'page' &&\n\t\t\t\t\thomepageId === postIdToResolve\n\t\t\t\t) {\n\t\t\t\t\t// We're still checking whether the front page template exists.\n\t\t\t\t\t// Don't resolve the template yet.\n\t\t\t\t\tif ( frontPageTemplateId === undefined ) {\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !! frontPageTemplateId ) {\n\t\t\t\t\t\treturn frontPageTemplateId;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst editedEntity = getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeToResolve,\n\t\t\t\t\tpostIdToResolve\n\t\t\t\t);\n\t\t\t\tif ( ! editedEntity ) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\t// First see if the post/page has an assigned template and fetch it.\n\t\t\t\tconst currentTemplateSlug = editedEntity.template;\n\t\t\t\tif ( currentTemplateSlug ) {\n\t\t\t\t\tconst currentTemplate = getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\t}\n\t\t\t\t\t)?.find( ( { slug } ) => slug === currentTemplateSlug );\n\t\t\t\t\tif ( currentTemplate ) {\n\t\t\t\t\t\treturn currentTemplate.id;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// If no template is assigned, use the default template.\n\t\t\t\treturn getDefaultTemplateId( {\n\t\t\t\t\tslug: `${ postTypeToResolve }-${ editedEntity?.slug }`,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( ! hasLoadedAllDependencies ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// If we're rendering a specific page, post... we need to resolve its template.\n\t\t\tif ( postType && postId ) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( postType, postId );\n\t\t\t}\n\n\t\t\t// If we're rendering the home page, and we have a static home page, resolve its template.\n\t\t\tif ( homepageId ) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( 'page', homepageId );\n\t\t\t}\n\n\t\t\t// If we're not rendering a specific page, use the front page template.\n\t\t\tif ( url ) {\n\t\t\t\tconst template = __experimentalGetTemplateForLink( url );\n\t\t\t\treturn template?.id;\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\thomepageId,\n\t\t\thasLoadedAllDependencies,\n\t\t\turl,\n\t\t\tpostId,\n\t\t\tpostType,\n\t\t\tfrontPageTemplateId,\n\t\t]\n\t);\n\n\tconst context = useMemo( () => {\n\t\tif ( postTypesWithoutParentTemplate.includes( postType ) ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif ( postType && postId ) {\n\t\t\treturn { postType, postId };\n\t\t}\n\n\t\tif ( homepageId ) {\n\t\t\treturn { postType: 'page', postId: homepageId };\n\t\t}\n\n\t\treturn {};\n\t}, [ homepageId, postType, postId ] );\n\n\tif ( postTypesWithoutParentTemplate.includes( postType ) ) {\n\t\treturn { isReady: true, postType, postId, context };\n\t}\n\n\tif ( hasLoadedAllDependencies ) {\n\t\treturn {\n\t\t\tisReady: resolvedTemplateId !== undefined,\n\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\tpostId: resolvedTemplateId,\n\t\t\tcontext,\n\t\t};\n\t}\n\n\treturn { isReady: false };\n}\n\nexport function useInitEditedEntity( params ) {\n\tconst { postType, postId, context, isReady } =\n\t\tuseResolveEditedEntityAndContext( params );\n\n\tconst { setEditedEntity } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( isReady ) {\n\t\t\tsetEditedEntity( postType, postId, context );\n\t\t}\n\t}, [ isReady, postType, postId, context, setEditedEntity ] );\n}\n\nexport default function useInitEditedEntityFromURL() {\n\tconst { params = {} } = useLocation();\n\treturn useInitEditedEntity( params );\n}\n"],"mappings":"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"}
|
|
@@ -26,9 +26,9 @@ function WelcomeGuidePage() {
|
|
|
26
26
|
const isPageActive = !!select(_preferences.store).get('core/edit-site', 'welcomeGuidePage');
|
|
27
27
|
const isEditorActive = !!select(_preferences.store).get('core/edit-site', 'welcomeGuide');
|
|
28
28
|
const {
|
|
29
|
-
|
|
29
|
+
isPage
|
|
30
30
|
} = select(_store.store);
|
|
31
|
-
return isPageActive && !isEditorActive &&
|
|
31
|
+
return isPageActive && !isEditorActive && isPage();
|
|
32
32
|
}, []);
|
|
33
33
|
if (!isVisible) {
|
|
34
34
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_components","_i18n","_preferences","_store","WelcomeGuidePage","toggle","useDispatch","preferencesStore","isVisible","useSelect","select","isPageActive","get","isEditorActive","
|
|
1
|
+
{"version":3,"names":["_data","require","_components","_i18n","_preferences","_store","WelcomeGuidePage","toggle","useDispatch","preferencesStore","isVisible","useSelect","select","isPageActive","get","isEditorActive","isPage","editSiteStore","heading","__","_react","createElement","Guide","className","contentLabel","finishButtonText","onFinish","pages","image","autoPlay","loop","muted","width","height","src","type","content","Fragment"],"sources":["@wordpress/edit-site/src/components/welcome-guide/page.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Guide } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\nexport default function WelcomeGuidePage() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst isPageActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuidePage'\n\t\t);\n\t\tconst isEditorActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuide'\n\t\t);\n\t\tconst { isPage } = select( editSiteStore );\n\t\treturn isPageActive && ! isEditorActive && isPage();\n\t}, [] );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\tconst heading = __( 'Editing a page' );\n\n\treturn (\n\t\t<Guide\n\t\t\tclassName=\"edit-site-welcome-guide guide-page\"\n\t\t\tcontentLabel={ heading }\n\t\t\tfinishButtonText={ __( 'Continue' ) }\n\t\t\tonFinish={ () => toggle( 'core/edit-site', 'welcomeGuidePage' ) }\n\t\t\tpages={ [\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<video\n\t\t\t\t\t\t\tclassName=\"edit-site-welcome-guide__video\"\n\t\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\twidth=\"312\"\n\t\t\t\t\t\t\theight=\"240\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<source\n\t\t\t\t\t\t\t\tsrc=\"https://s.w.org/images/block-editor/editing-your-page.mp4\"\n\t\t\t\t\t\t\t\ttype=\"video/mp4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</video>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-site-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ heading }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-site-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'It’s now possible to edit page content in the site editor. To customise other parts of the page like the header and footer switch to editing the template using the settings sidebar.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t] }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGe,SAASK,gBAAgBA,CAAA,EAAG;EAC1C,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAElD,MAAMC,SAAS,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1C,MAAMC,YAAY,GAAG,CAAC,CAAED,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACrD,gBAAgB,EAChB,kBACD,CAAC;IACD,MAAMC,cAAc,GAAG,CAAC,CAAEH,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACvD,gBAAgB,EAChB,cACD,CAAC;IACD,MAAM;MAAEE;IAAO,CAAC,GAAGJ,MAAM,CAAEK,YAAc,CAAC;IAC1C,OAAOJ,YAAY,IAAI,CAAEE,cAAc,IAAIC,MAAM,CAAC,CAAC;EACpD,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEN,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMQ,OAAO,GAAG,IAAAC,QAAE,EAAE,gBAAiB,CAAC;EAEtC,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAoB,KAAK;IACLC,SAAS,EAAC,oCAAoC;IAC9CC,YAAY,EAAGN,OAAS;IACxBO,gBAAgB,EAAG,IAAAN,QAAE,EAAE,UAAW,CAAG;IACrCO,QAAQ,EAAGA,CAAA,KAAMnB,MAAM,CAAE,gBAAgB,EAAE,kBAAmB,CAAG;IACjEoB,KAAK,EAAG,CACP;MACCC,KAAK,EACJ,IAAAR,MAAA,CAAAC,aAAA;QACCE,SAAS,EAAC,gCAAgC;QAC1CM,QAAQ;QACRC,IAAI;QACJC,KAAK;QACLC,KAAK,EAAC,KAAK;QACXC,MAAM,EAAC;MAAK,GAEZ,IAAAb,MAAA,CAAAC,aAAA;QACCa,GAAG,EAAC,2DAA2D;QAC/DC,IAAI,EAAC;MAAW,CAChB,CACK,CACP;MACDC,OAAO,EACN,IAAAhB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAiB,QAAA,QACC,IAAAjB,MAAA,CAAAC,aAAA;QAAIE,SAAS,EAAC;MAAkC,GAC7CL,OACC,CAAC,EACL,IAAAE,MAAA,CAAAC,aAAA;QAAGE,SAAS,EAAC;MAA+B,GACzC,IAAAJ,QAAE,EACH,uLACD,CACE,CACF;IAEJ,CAAC;EACC,CACH,CAAC;AAEJ"}
|
|
@@ -9,6 +9,7 @@ var _data = require("@wordpress/data");
|
|
|
9
9
|
var _components = require("@wordpress/components");
|
|
10
10
|
var _i18n = require("@wordpress/i18n");
|
|
11
11
|
var _preferences = require("@wordpress/preferences");
|
|
12
|
+
var _editor = require("@wordpress/editor");
|
|
12
13
|
var _store = require("../../store");
|
|
13
14
|
/**
|
|
14
15
|
* WordPress dependencies
|
|
@@ -26,10 +27,12 @@ function WelcomeGuideTemplate() {
|
|
|
26
27
|
const isTemplateActive = !!select(_preferences.store).get('core/edit-site', 'welcomeGuideTemplate');
|
|
27
28
|
const isEditorActive = !!select(_preferences.store).get('core/edit-site', 'welcomeGuide');
|
|
28
29
|
const {
|
|
29
|
-
isPage
|
|
30
|
-
hasPageContentFocus
|
|
30
|
+
isPage
|
|
31
31
|
} = select(_store.store);
|
|
32
|
-
|
|
32
|
+
const {
|
|
33
|
+
getRenderingMode
|
|
34
|
+
} = select(_editor.store);
|
|
35
|
+
return isTemplateActive && !isEditorActive && isPage() && getRenderingMode() === 'template-only';
|
|
33
36
|
}, []);
|
|
34
37
|
if (!isVisible) {
|
|
35
38
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_components","_i18n","_preferences","_store","WelcomeGuideTemplate","toggle","useDispatch","preferencesStore","isVisible","useSelect","select","isTemplateActive","get","isEditorActive","isPage","
|
|
1
|
+
{"version":3,"names":["_data","require","_components","_i18n","_preferences","_editor","_store","WelcomeGuideTemplate","toggle","useDispatch","preferencesStore","isVisible","useSelect","select","isTemplateActive","get","isEditorActive","isPage","editSiteStore","getRenderingMode","editorStore","heading","__","_react","createElement","Guide","className","contentLabel","finishButtonText","onFinish","pages","image","autoPlay","loop","muted","width","height","src","type","content","Fragment"],"sources":["@wordpress/edit-site/src/components/welcome-guide/template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Guide } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\nexport default function WelcomeGuideTemplate() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst isTemplateActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuideTemplate'\n\t\t);\n\t\tconst isEditorActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuide'\n\t\t);\n\t\tconst { isPage } = select( editSiteStore );\n\t\tconst { getRenderingMode } = select( editorStore );\n\t\treturn (\n\t\t\tisTemplateActive &&\n\t\t\t! isEditorActive &&\n\t\t\tisPage() &&\n\t\t\tgetRenderingMode() === 'template-only'\n\t\t);\n\t}, [] );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\tconst heading = __( 'Editing a template' );\n\n\treturn (\n\t\t<Guide\n\t\t\tclassName=\"edit-site-welcome-guide guide-template\"\n\t\t\tcontentLabel={ heading }\n\t\t\tfinishButtonText={ __( 'Continue' ) }\n\t\t\tonFinish={ () =>\n\t\t\t\ttoggle( 'core/edit-site', 'welcomeGuideTemplate' )\n\t\t\t}\n\t\t\tpages={ [\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<video\n\t\t\t\t\t\t\tclassName=\"edit-site-welcome-guide__video\"\n\t\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\twidth=\"312\"\n\t\t\t\t\t\t\theight=\"240\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<source\n\t\t\t\t\t\t\t\tsrc=\"https://s.w.org/images/block-editor/editing-your-template.mp4\"\n\t\t\t\t\t\t\t\ttype=\"video/mp4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</video>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-site-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ heading }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-site-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Note that the same template can be used by multiple pages, so any changes made here may affect other pages on the site. To switch back to editing the page content click the ‘Back’ button in the toolbar.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t] }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAZA;AACA;AACA;;AAOA;AACA;AACA;;AAGe,SAASM,oBAAoBA,CAAA,EAAG;EAC9C,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAElD,MAAMC,SAAS,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1C,MAAMC,gBAAgB,GAAG,CAAC,CAAED,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACzD,gBAAgB,EAChB,sBACD,CAAC;IACD,MAAMC,cAAc,GAAG,CAAC,CAAEH,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACvD,gBAAgB,EAChB,cACD,CAAC;IACD,MAAM;MAAEE;IAAO,CAAC,GAAGJ,MAAM,CAAEK,YAAc,CAAC;IAC1C,MAAM;MAAEC;IAAiB,CAAC,GAAGN,MAAM,CAAEO,aAAY,CAAC;IAClD,OACCN,gBAAgB,IAChB,CAAEE,cAAc,IAChBC,MAAM,CAAC,CAAC,IACRE,gBAAgB,CAAC,CAAC,KAAK,eAAe;EAExC,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAER,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMU,OAAO,GAAG,IAAAC,QAAE,EAAE,oBAAqB,CAAC;EAE1C,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACtB,WAAA,CAAAuB,KAAK;IACLC,SAAS,EAAC,wCAAwC;IAClDC,YAAY,EAAGN,OAAS;IACxBO,gBAAgB,EAAG,IAAAN,QAAE,EAAE,UAAW,CAAG;IACrCO,QAAQ,EAAGA,CAAA,KACVrB,MAAM,CAAE,gBAAgB,EAAE,sBAAuB,CACjD;IACDsB,KAAK,EAAG,CACP;MACCC,KAAK,EACJ,IAAAR,MAAA,CAAAC,aAAA;QACCE,SAAS,EAAC,gCAAgC;QAC1CM,QAAQ;QACRC,IAAI;QACJC,KAAK;QACLC,KAAK,EAAC,KAAK;QACXC,MAAM,EAAC;MAAK,GAEZ,IAAAb,MAAA,CAAAC,aAAA;QACCa,GAAG,EAAC,+DAA+D;QACnEC,IAAI,EAAC;MAAW,CAChB,CACK,CACP;MACDC,OAAO,EACN,IAAAhB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAiB,QAAA,QACC,IAAAjB,MAAA,CAAAC,aAAA;QAAIE,SAAS,EAAC;MAAkC,GAC7CL,OACC,CAAC,EACL,IAAAE,MAAA,CAAAC,aAAA;QAAGE,SAAS,EAAC;MAA+B,GACzC,IAAAJ,QAAE,EACH,4MACD,CACE,CACF;IAEJ,CAAC;EACC,CACH,CAAC;AAEJ"}
|
|
@@ -14,6 +14,7 @@ var _router = require("@wordpress/router");
|
|
|
14
14
|
var _preferences = require("@wordpress/preferences");
|
|
15
15
|
var _interface = require("@wordpress/interface");
|
|
16
16
|
var _notices = require("@wordpress/notices");
|
|
17
|
+
var _editor = require("@wordpress/editor");
|
|
17
18
|
var _store = require("../../store");
|
|
18
19
|
var _useEditedEntityRecord = _interopRequireDefault(require("../../components/use-edited-entity-record"));
|
|
19
20
|
var _isTemplateRemovable = _interopRequireDefault(require("../../utils/is-template-removable"));
|
|
@@ -41,15 +42,24 @@ function usePageContentFocusCommands() {
|
|
|
41
42
|
const {
|
|
42
43
|
isPage,
|
|
43
44
|
canvasMode,
|
|
44
|
-
|
|
45
|
-
} = (0, _data.useSelect)(select =>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
renderingMode
|
|
46
|
+
} = (0, _data.useSelect)(select => {
|
|
47
|
+
const {
|
|
48
|
+
isPage: _isPage,
|
|
49
|
+
getCanvasMode
|
|
50
|
+
} = (0, _lockUnlock.unlock)(select(_store.store));
|
|
51
|
+
const {
|
|
52
|
+
getRenderingMode
|
|
53
|
+
} = select(_editor.store);
|
|
54
|
+
return {
|
|
55
|
+
isPage: _isPage(),
|
|
56
|
+
canvasMode: getCanvasMode(),
|
|
57
|
+
renderingMode: getRenderingMode()
|
|
58
|
+
};
|
|
59
|
+
}, []);
|
|
50
60
|
const {
|
|
51
|
-
|
|
52
|
-
} = (0, _data.useDispatch)(
|
|
61
|
+
setRenderingMode
|
|
62
|
+
} = (0, _data.useDispatch)(_editor.store);
|
|
53
63
|
if (!isPage || canvasMode !== 'edit') {
|
|
54
64
|
return {
|
|
55
65
|
isLoading: false,
|
|
@@ -57,7 +67,7 @@ function usePageContentFocusCommands() {
|
|
|
57
67
|
};
|
|
58
68
|
}
|
|
59
69
|
const commands = [];
|
|
60
|
-
if (
|
|
70
|
+
if (renderingMode !== 'template-only') {
|
|
61
71
|
commands.push({
|
|
62
72
|
name: 'core/switch-to-template-focus',
|
|
63
73
|
/* translators: %1$s: template title */
|
|
@@ -66,7 +76,7 @@ function usePageContentFocusCommands() {
|
|
|
66
76
|
callback: ({
|
|
67
77
|
close
|
|
68
78
|
}) => {
|
|
69
|
-
|
|
79
|
+
setRenderingMode('template-only');
|
|
70
80
|
close();
|
|
71
81
|
}
|
|
72
82
|
});
|
|
@@ -78,7 +88,7 @@ function usePageContentFocusCommands() {
|
|
|
78
88
|
callback: ({
|
|
79
89
|
close
|
|
80
90
|
}) => {
|
|
81
|
-
|
|
91
|
+
setRenderingMode('template-locked');
|
|
82
92
|
close();
|
|
83
93
|
}
|
|
84
94
|
});
|
|
@@ -134,7 +144,7 @@ function useManipulateDocumentCommands() {
|
|
|
134
144
|
revertTemplate
|
|
135
145
|
} = (0, _data.useDispatch)(_store.store);
|
|
136
146
|
const history = useHistory();
|
|
137
|
-
const
|
|
147
|
+
const isEditingPage = (0, _data.useSelect)(select => select(_store.store).isPage() && select(_editor.store).getRenderingMode() !== 'template-only', []);
|
|
138
148
|
if (!isLoaded) {
|
|
139
149
|
return {
|
|
140
150
|
isLoading: true,
|
|
@@ -142,7 +152,7 @@ function useManipulateDocumentCommands() {
|
|
|
142
152
|
};
|
|
143
153
|
}
|
|
144
154
|
const commands = [];
|
|
145
|
-
if ((0, _isTemplateRevertable.default)(template) && !
|
|
155
|
+
if ((0, _isTemplateRevertable.default)(template) && !isEditingPage) {
|
|
146
156
|
const label = template.type === _constants.TEMPLATE_POST_TYPE ? /* translators: %1$s: template title */
|
|
147
157
|
(0, _i18n.sprintf)('Reset template: %s', (0, _htmlEntities.decodeEntities)(template.title)) : /* translators: %1$s: template part title */
|
|
148
158
|
(0, _i18n.sprintf)('Reset template part: %s', (0, _htmlEntities.decodeEntities)(template.title));
|
|
@@ -158,7 +168,7 @@ function useManipulateDocumentCommands() {
|
|
|
158
168
|
}
|
|
159
169
|
});
|
|
160
170
|
}
|
|
161
|
-
if ((0, _isTemplateRemovable.default)(template) && !
|
|
171
|
+
if ((0, _isTemplateRemovable.default)(template) && !isEditingPage) {
|
|
162
172
|
const label = template.type === _constants.TEMPLATE_POST_TYPE ? /* translators: %1$s: template title */
|
|
163
173
|
(0, _i18n.sprintf)('Delete template: %s', (0, _htmlEntities.decodeEntities)(template.title)) : /* translators: %1$s: template part title */
|
|
164
174
|
(0, _i18n.sprintf)('Delete template part: %s', (0, _htmlEntities.decodeEntities)(template.title));
|