@wordpress/edit-site 5.22.0 → 5.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/components/actions/index.js +115 -15
- package/build/components/actions/index.js.map +1 -1
- package/build/components/add-new-template/new-template.js +0 -7
- package/build/components/add-new-template/new-template.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/block-editor/use-site-editor-settings.js +54 -63
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/dataviews/add-filter.js +91 -0
- package/build/components/dataviews/add-filter.js.map +1 -0
- package/build/components/dataviews/constants.js +14 -0
- package/build/components/dataviews/constants.js.map +1 -0
- package/build/components/dataviews/dataviews.js +30 -9
- 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 +37 -48
- package/build/components/dataviews/filters.js.map +1 -1
- package/build/components/dataviews/index.js +9 -2
- package/build/components/dataviews/index.js.map +1 -1
- package/build/components/dataviews/item-actions.js +139 -17
- package/build/components/dataviews/item-actions.js.map +1 -1
- package/build/components/dataviews/pagination.js +7 -2
- package/build/components/dataviews/pagination.js.map +1 -1
- package/build/components/dataviews/reset-filters.js +33 -0
- package/build/components/dataviews/reset-filters.js.map +1 -0
- package/build/components/dataviews/search.js +1 -0
- package/build/components/dataviews/search.js.map +1 -1
- package/build/components/dataviews/view-actions.js +49 -32
- 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 +130 -14
- package/build/components/dataviews/view-list.js.map +1 -1
- package/build/components/dataviews/view-side-by-side.js +20 -0
- package/build/components/dataviews/view-side-by-side.js.map +1 -0
- package/build/components/editor/index.js +52 -56
- 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 +66 -24
- 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/screen-root.js +3 -3
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/ui.js +31 -39
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles-renderer/index.js +1 -1
- package/build/components/global-styles-renderer/index.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/document-tools/index.js +160 -0
- package/build/components/header-edit-mode/document-tools/index.js.map +1 -0
- package/build/components/header-edit-mode/index.js +50 -117
- 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/header-edit-mode/more-menu/site-export.js +2 -6
- package/build/components/header-edit-mode/more-menu/site-export.js.map +1 -1
- package/build/components/layout/index.js +4 -19
- package/build/components/layout/index.js.map +1 -1
- package/build/components/list/added-by.js +44 -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 +11 -15
- 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-main/index.js +2 -1
- package/build/components/page-main/index.js.map +1 -1
- package/build/components/page-pages/index.js +137 -88
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-pages/side-editor.js +25 -0
- package/build/components/page-pages/side-editor.js.map +1 -0
- package/build/components/page-patterns/grid-item.js +2 -2
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/patterns-list.js +3 -3
- package/build/components/page-patterns/patterns-list.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +2 -2
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/dataviews-templates.js +316 -0
- package/build/components/page-templates/dataviews-templates.js.map +1 -0
- package/build/components/page-templates/template-actions.js +168 -0
- package/build/components/page-templates/template-actions.js.map +1 -0
- 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/index.js +1 -2
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/add-new-view.js +124 -0
- package/build/components/sidebar-dataviews/add-new-view.js.map +1 -0
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +191 -0
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
- package/build/components/sidebar-dataviews/dataview-item.js +71 -0
- package/build/components/sidebar-dataviews/dataview-item.js.map +1 -0
- package/build/components/sidebar-dataviews/default-views.js +65 -0
- package/build/components/sidebar-dataviews/default-views.js.map +1 -0
- package/build/components/sidebar-dataviews/index.js +21 -38
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/default-sidebar.js +2 -6
- package/build/components/sidebar-edit-mode/default-sidebar.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 +18 -29
- 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 +5 -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 +6 -14
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +4 -12
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
- package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
- package/build/components/sidebar-edit-mode/plugin-sidebar/index.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-edit-mode/template-panel/hooks.js +3 -3
- package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.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/sidebar-navigation-screen-page/page-details.js +3 -11
- package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build/components/site-hub/index.js +18 -6
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/start-template-options/index.js +12 -16
- package/build/components/start-template-options/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 +150 -55
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/template-part-converter/convert-to-regular.js +1 -1
- package/build/components/template-part-converter/convert-to-regular.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/hooks/push-changes-to-global-styles/index.js +3 -1
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/template-part-edit.js +6 -2
- package/build/hooks/template-part-edit.js.map +1 -1
- package/build/index.js +0 -3
- package/build/index.js.map +1 -1
- package/build/store/actions.js +39 -83
- 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 +33 -67
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +3 -14
- package/build/utils/constants.js.map +1 -1
- package/build-module/components/actions/index.js +113 -14
- package/build-module/components/actions/index.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +0 -7
- package/build-module/components/add-new-template/new-template.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/block-editor/use-site-editor-settings.js +54 -62
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/dataviews/add-filter.js +84 -0
- package/build-module/components/dataviews/add-filter.js.map +1 -0
- 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 +29 -9
- 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 +37 -48
- package/build-module/components/dataviews/filters.js.map +1 -1
- package/build-module/components/dataviews/index.js +1 -1
- package/build-module/components/dataviews/index.js.map +1 -1
- package/build-module/components/dataviews/item-actions.js +142 -20
- package/build-module/components/dataviews/item-actions.js.map +1 -1
- package/build-module/components/dataviews/pagination.js +7 -2
- package/build-module/components/dataviews/pagination.js.map +1 -1
- package/build-module/components/dataviews/reset-filters.js +26 -0
- package/build-module/components/dataviews/reset-filters.js.map +1 -0
- package/build-module/components/dataviews/search.js +1 -0
- package/build-module/components/dataviews/search.js.map +1 -1
- package/build-module/components/dataviews/view-actions.js +50 -33
- 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 +132 -16
- package/build-module/components/dataviews/view-list.js.map +1 -1
- package/build-module/components/dataviews/view-side-by-side.js +12 -0
- package/build-module/components/dataviews/view-side-by-side.js.map +1 -0
- package/build-module/components/editor/index.js +55 -59
- 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 +67 -25
- 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/screen-root.js +3 -3
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/global-styles/ui.js +31 -39
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles-renderer/index.js +1 -1
- package/build-module/components/global-styles-renderer/index.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/document-tools/index.js +152 -0
- package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -0
- package/build-module/components/header-edit-mode/index.js +54 -121
- 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/header-edit-mode/more-menu/site-export.js +2 -6
- package/build-module/components/header-edit-mode/more-menu/site-export.js.map +1 -1
- package/build-module/components/layout/index.js +5 -20
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/list/added-by.js +45 -56
- 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 +11 -15
- 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-main/index.js +2 -1
- package/build-module/components/page-main/index.js.map +1 -1
- package/build-module/components/page-pages/index.js +141 -90
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-pages/side-editor.js +17 -0
- package/build-module/components/page-pages/side-editor.js.map +1 -0
- package/build-module/components/page-patterns/grid-item.js +2 -2
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/patterns-list.js +4 -4
- package/build-module/components/page-patterns/patterns-list.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +3 -3
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/dataviews-templates.js +308 -0
- package/build-module/components/page-templates/dataviews-templates.js.map +1 -0
- package/build-module/components/page-templates/template-actions.js +157 -0
- package/build-module/components/page-templates/template-actions.js.map +1 -0
- 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/index.js +1 -2
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js +116 -0
- package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -0
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +182 -0
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
- package/build-module/components/sidebar-dataviews/dataview-item.js +63 -0
- package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -0
- package/build-module/components/sidebar-dataviews/default-views.js +57 -0
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -0
- package/build-module/components/sidebar-dataviews/index.js +22 -39
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/default-sidebar.js +2 -6
- package/build-module/components/sidebar-edit-mode/default-sidebar.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 +20 -31
- 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 +6 -8
- 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 +8 -16
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +5 -13
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
- package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.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-edit-mode/template-panel/hooks.js +4 -4
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.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/sidebar-navigation-screen-page/page-details.js +3 -11
- package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build-module/components/site-hub/index.js +19 -7
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +13 -16
- package/build-module/components/start-template-options/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 +150 -56
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/template-part-converter/convert-to-regular.js +1 -1
- package/build-module/components/template-part-converter/convert-to-regular.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/hooks/push-changes-to-global-styles/index.js +4 -2
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/template-part-edit.js +6 -2
- package/build-module/hooks/template-part-edit.js.map +1 -1
- package/build-module/index.js +0 -3
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +37 -80
- 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 +27 -62
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +1 -11
- package/build-module/utils/constants.js.map +1 -1
- package/build-style/style-rtl.css +221 -181
- package/build-style/style.css +221 -181
- package/package.json +41 -41
- package/src/components/actions/index.js +150 -14
- package/src/components/add-new-template/new-template.js +0 -5
- package/src/components/block-editor/site-editor-canvas.js +8 -2
- package/src/components/block-editor/style.scss +0 -87
- package/src/components/block-editor/use-site-editor-settings.js +68 -89
- package/src/components/dataviews/README.md +80 -83
- package/src/components/dataviews/add-filter.js +108 -0
- package/src/components/dataviews/constants.js +5 -0
- package/src/components/dataviews/dataviews.js +28 -10
- package/src/components/dataviews/filter-summary.js +79 -0
- package/src/components/dataviews/filters.js +48 -58
- package/src/components/dataviews/index.js +1 -1
- package/src/components/dataviews/item-actions.js +169 -30
- package/src/components/dataviews/pagination.js +9 -4
- package/src/components/dataviews/reset-filters.js +26 -0
- package/src/components/dataviews/search.js +1 -0
- package/src/components/dataviews/style.scss +89 -9
- package/src/components/dataviews/view-actions.js +77 -49
- package/src/components/dataviews/view-grid.js +63 -38
- package/src/components/dataviews/view-list.js +182 -18
- package/src/components/dataviews/view-side-by-side.js +9 -0
- package/src/components/editor/index.js +135 -123
- 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 +91 -35
- 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/screen-root.js +2 -1
- package/src/components/global-styles/style.scss +0 -11
- package/src/components/global-styles/ui.js +60 -75
- package/src/components/global-styles-renderer/index.js +1 -1
- package/src/components/header-edit-mode/document-actions/index.js +20 -18
- package/src/components/header-edit-mode/document-tools/index.js +201 -0
- package/src/components/header-edit-mode/index.js +87 -184
- package/src/components/header-edit-mode/more-menu/index.js +1 -1
- package/src/components/header-edit-mode/more-menu/site-export.js +2 -6
- package/src/components/header-edit-mode/style.scss +35 -2
- package/src/components/layout/index.js +4 -11
- package/src/components/layout/style.scss +6 -18
- package/src/components/list/added-by.js +24 -64
- package/src/components/list/style.scss +11 -13
- package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +10 -22
- 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-main/index.js +6 -1
- package/src/components/page-pages/index.js +167 -91
- package/src/components/page-pages/side-editor.js +14 -0
- package/src/components/page-patterns/grid-item.js +3 -3
- package/src/components/page-patterns/patterns-list.js +10 -4
- package/src/components/page-patterns/use-patterns.js +4 -3
- package/src/components/page-templates/dataviews-templates.js +345 -0
- package/src/components/page-templates/style.scss +13 -0
- package/src/components/page-templates/template-actions.js +209 -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/index.js +1 -2
- package/src/components/sidebar-dataviews/add-new-view.js +141 -0
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +229 -0
- package/src/components/sidebar-dataviews/dataview-item.js +67 -0
- package/src/components/sidebar-dataviews/default-views.js +59 -0
- package/src/components/sidebar-dataviews/index.js +36 -45
- package/src/components/sidebar-dataviews/style.scss +29 -0
- package/src/components/sidebar-edit-mode/default-sidebar.js +6 -6
- package/src/components/sidebar-edit-mode/index.js +13 -9
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +31 -57
- 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 +10 -8
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +13 -12
- package/src/components/sidebar-edit-mode/page-panels/style.scss +14 -19
- package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +10 -9
- package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +6 -6
- package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
- package/src/components/sidebar-edit-mode/template-panel/hooks.js +11 -7
- package/src/components/sidebar-navigation-screen/style.scss +1 -0
- package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
- package/src/components/sidebar-navigation-screen-page/index.js +24 -3
- package/src/components/sidebar-navigation-screen-page/page-details.js +4 -17
- package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
- package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
- package/src/components/site-hub/index.js +9 -8
- package/src/components/start-template-options/index.js +14 -12
- package/src/components/style-book/index.js +48 -35
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +182 -63
- package/src/components/template-part-converter/convert-to-regular.js +1 -1
- 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/hooks/push-changes-to-global-styles/index.js +13 -6
- package/src/hooks/template-part-edit.js +4 -2
- package/src/index.js +0 -8
- package/src/store/actions.js +42 -96
- 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 +43 -95
- package/src/store/test/actions.js +14 -169
- package/src/store/test/reducer.js +0 -62
- package/src/store/test/selectors.js +0 -117
- package/src/style.scss +2 -0
- package/src/utils/constants.js +1 -11
- package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -77
- package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
- package/build/components/block-editor/block-editor-provider/index.js +0 -31
- package/build/components/block-editor/block-editor-provider/index.js.map +0 -1
- package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -110
- package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
- package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -84
- package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
- package/build/components/block-editor/index.js +0 -30
- package/build/components/block-editor/index.js.map +0 -1
- package/build/components/dataviews/in-filter.js +0 -49
- 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 -50
- 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/page-pages/default-views.js +0 -62
- package/build/components/page-pages/default-views.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/block-editor/block-editor-provider/default-block-editor-provider.js +0 -69
- package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/block-editor-provider/index.js +0 -23
- package/build-module/components/block-editor/block-editor-provider/index.js.map +0 -1
- package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -102
- package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -78
- package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
- package/build-module/components/block-editor/index.js +0 -22
- package/build-module/components/block-editor/index.js.map +0 -1
- package/build-module/components/dataviews/in-filter.js +0 -41
- 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 -43
- 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/page-pages/default-views.js +0 -55
- package/build-module/components/page-pages/default-views.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/block-editor/block-editor-provider/default-block-editor-provider.js +0 -75
- package/src/components/block-editor/block-editor-provider/index.js +0 -29
- package/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -114
- package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +0 -116
- package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -90
- package/src/components/block-editor/index.js +0 -28
- package/src/components/dataviews/in-filter.js +0 -45
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -52
- package/src/components/page-content-focus-manager/index.js +0 -51
- package/src/components/page-pages/default-views.js +0 -60
- package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js
CHANGED
|
@@ -47,7 +47,7 @@ export default function getIntersectingFontFaces( incoming, existing ) {
|
|
|
47
47
|
} );
|
|
48
48
|
}
|
|
49
49
|
);
|
|
50
|
-
matches.push( { ...
|
|
50
|
+
matches.push( { ...incomingFont, fontFace: matchingFaces } );
|
|
51
51
|
} else {
|
|
52
52
|
matches.push( incomingFont );
|
|
53
53
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { paramCase as kebabCase } from 'change-case';
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
7
|
* Internal dependencies
|
|
3
8
|
*/
|
|
4
9
|
import { FONT_WEIGHTS, FONT_STYLES } from './constants';
|
|
5
|
-
import { formatFontFamily } from './preview-styles';
|
|
6
10
|
|
|
7
11
|
export function setUIValuesNeeded( font, extraValues = {} ) {
|
|
8
12
|
if ( ! font.name && ( font.fontFamily || font.slug ) ) {
|
|
@@ -85,14 +89,10 @@ export async function loadFontFaceInBrowser( fontFace, source, addTo = 'all' ) {
|
|
|
85
89
|
}
|
|
86
90
|
|
|
87
91
|
// eslint-disable-next-line no-undef
|
|
88
|
-
const newFont = new FontFace(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
style: fontFace.fontStyle,
|
|
93
|
-
weight: fontFace.fontWeight,
|
|
94
|
-
}
|
|
95
|
-
);
|
|
92
|
+
const newFont = new FontFace( fontFace.fontFamily, dataSource, {
|
|
93
|
+
style: fontFace.fontStyle,
|
|
94
|
+
weight: fontFace.fontWeight,
|
|
95
|
+
} );
|
|
96
96
|
|
|
97
97
|
const loadedFace = await newFont.load();
|
|
98
98
|
|
|
@@ -129,9 +129,20 @@ export function getDisplaySrcFromFontFace( input, urlPrefix ) {
|
|
|
129
129
|
return src;
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
+
// This function replicates one behavior of _wp_to_kebab_case().
|
|
133
|
+
// Additional context: https://github.com/WordPress/gutenberg/issues/53695
|
|
134
|
+
export function wpKebabCase( str ) {
|
|
135
|
+
// If a string contains a digit followed by a number, insert a dash between them.
|
|
136
|
+
return kebabCase( str ).replace(
|
|
137
|
+
/([a-zA-Z])(\d)|(\d)([a-zA-Z])/g,
|
|
138
|
+
'$1$3-$2$4'
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
|
|
132
142
|
export function makeFormDataFromFontFamilies( fontFamilies ) {
|
|
133
143
|
const formData = new FormData();
|
|
134
144
|
const newFontFamilies = fontFamilies.map( ( family, familyIndex ) => {
|
|
145
|
+
family.slug = wpKebabCase( family.slug );
|
|
135
146
|
if ( family?.fontFace ) {
|
|
136
147
|
family.fontFace = family.fontFace.map( ( face, faceIndex ) => {
|
|
137
148
|
if ( face.file ) {
|
package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js
CHANGED
|
@@ -5,7 +5,7 @@ import getIntersectingFontFaces from '../get-intersecting-font-faces';
|
|
|
5
5
|
|
|
6
6
|
describe( 'getIntersectingFontFaces', () => {
|
|
7
7
|
it( 'returns matching font faces for matching font family', () => {
|
|
8
|
-
const
|
|
8
|
+
const incomingFontFamilies = [
|
|
9
9
|
{
|
|
10
10
|
slug: 'lobster',
|
|
11
11
|
fontFace: [
|
|
@@ -30,15 +30,15 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
30
30
|
];
|
|
31
31
|
|
|
32
32
|
const result = getIntersectingFontFaces(
|
|
33
|
-
|
|
33
|
+
incomingFontFamilies,
|
|
34
34
|
existingFontFamilies
|
|
35
35
|
);
|
|
36
36
|
|
|
37
|
-
expect( result ).toEqual(
|
|
37
|
+
expect( result ).toEqual( incomingFontFamilies );
|
|
38
38
|
} );
|
|
39
39
|
|
|
40
40
|
it( 'returns empty array when there is no match', () => {
|
|
41
|
-
const
|
|
41
|
+
const incomingFontFamilies = [
|
|
42
42
|
{
|
|
43
43
|
slug: 'lobster',
|
|
44
44
|
fontFace: [
|
|
@@ -63,7 +63,7 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
63
63
|
];
|
|
64
64
|
|
|
65
65
|
const result = getIntersectingFontFaces(
|
|
66
|
-
|
|
66
|
+
incomingFontFamilies,
|
|
67
67
|
existingFontFamilies
|
|
68
68
|
);
|
|
69
69
|
|
|
@@ -71,7 +71,7 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
71
71
|
} );
|
|
72
72
|
|
|
73
73
|
it( 'returns matching font faces', () => {
|
|
74
|
-
const
|
|
74
|
+
const incomingFontFamilies = [
|
|
75
75
|
{
|
|
76
76
|
slug: 'lobster',
|
|
77
77
|
fontFace: [
|
|
@@ -129,7 +129,7 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
129
129
|
];
|
|
130
130
|
|
|
131
131
|
const result = getIntersectingFontFaces(
|
|
132
|
-
|
|
132
|
+
incomingFontFamilies,
|
|
133
133
|
existingFontFamilies
|
|
134
134
|
);
|
|
135
135
|
|
|
@@ -137,7 +137,7 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
137
137
|
} );
|
|
138
138
|
|
|
139
139
|
it( 'returns empty array when the first list is empty', () => {
|
|
140
|
-
const
|
|
140
|
+
const incomingFontFamilies = [];
|
|
141
141
|
|
|
142
142
|
const existingFontFamilies = [
|
|
143
143
|
{
|
|
@@ -152,7 +152,7 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
152
152
|
];
|
|
153
153
|
|
|
154
154
|
const result = getIntersectingFontFaces(
|
|
155
|
-
|
|
155
|
+
incomingFontFamilies,
|
|
156
156
|
existingFontFamilies
|
|
157
157
|
);
|
|
158
158
|
|
|
@@ -160,7 +160,7 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
160
160
|
} );
|
|
161
161
|
|
|
162
162
|
it( 'returns empty array when the second list is empty', () => {
|
|
163
|
-
const
|
|
163
|
+
const incomingFontFamilies = [
|
|
164
164
|
{
|
|
165
165
|
slug: 'lobster',
|
|
166
166
|
fontFace: [
|
|
@@ -175,7 +175,7 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
175
175
|
const existingFontFamilies = [];
|
|
176
176
|
|
|
177
177
|
const result = getIntersectingFontFaces(
|
|
178
|
-
|
|
178
|
+
incomingFontFamilies,
|
|
179
179
|
existingFontFamilies
|
|
180
180
|
);
|
|
181
181
|
|
|
@@ -183,7 +183,7 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
183
183
|
} );
|
|
184
184
|
|
|
185
185
|
it( 'returns intersecting font family when there are no fonfaces', () => {
|
|
186
|
-
const
|
|
186
|
+
const incomingFontFamilies = [
|
|
187
187
|
{
|
|
188
188
|
slug: 'piazzolla',
|
|
189
189
|
fontFace: [ { fontStyle: 'normal', fontWeight: '400' } ],
|
|
@@ -200,7 +200,7 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
200
200
|
];
|
|
201
201
|
|
|
202
202
|
const result = getIntersectingFontFaces(
|
|
203
|
-
|
|
203
|
+
incomingFontFamilies,
|
|
204
204
|
existingFontFamilies
|
|
205
205
|
);
|
|
206
206
|
|
|
@@ -208,7 +208,7 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
208
208
|
} );
|
|
209
209
|
|
|
210
210
|
it( 'returns intersecting if there is an intended font face and is not present in the returning it should not be returned', () => {
|
|
211
|
-
const
|
|
211
|
+
const incomingFontFamilies = [
|
|
212
212
|
{
|
|
213
213
|
slug: 'piazzolla',
|
|
214
214
|
fontFace: [ { fontStyle: 'normal', fontWeight: '400' } ],
|
|
@@ -226,7 +226,7 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
226
226
|
];
|
|
227
227
|
|
|
228
228
|
const result = getIntersectingFontFaces(
|
|
229
|
-
|
|
229
|
+
incomingFontFamilies,
|
|
230
230
|
existingFontFamilies
|
|
231
231
|
);
|
|
232
232
|
const expected = [
|
|
@@ -237,4 +237,35 @@ describe( 'getIntersectingFontFaces', () => {
|
|
|
237
237
|
];
|
|
238
238
|
expect( result ).toEqual( expected );
|
|
239
239
|
} );
|
|
240
|
+
|
|
241
|
+
it( 'updates font family definition using the incoming data', () => {
|
|
242
|
+
const incomingFontFamilies = [
|
|
243
|
+
{
|
|
244
|
+
slug: 'gothic-a1',
|
|
245
|
+
fontFace: [ { fontStyle: 'normal', fontWeight: '400' } ],
|
|
246
|
+
fontFamily: "'Gothic A1', serif",
|
|
247
|
+
},
|
|
248
|
+
];
|
|
249
|
+
|
|
250
|
+
const existingFontFamilies = [
|
|
251
|
+
{
|
|
252
|
+
slug: 'gothic-a1',
|
|
253
|
+
fontFace: [ { fontStyle: 'normal', fontWeight: '400' } ],
|
|
254
|
+
fontFamily: 'Gothic A1, serif',
|
|
255
|
+
},
|
|
256
|
+
];
|
|
257
|
+
|
|
258
|
+
const result = getIntersectingFontFaces(
|
|
259
|
+
incomingFontFamilies,
|
|
260
|
+
existingFontFamilies
|
|
261
|
+
);
|
|
262
|
+
const expected = [
|
|
263
|
+
{
|
|
264
|
+
slug: 'gothic-a1',
|
|
265
|
+
fontFace: [ { fontStyle: 'normal', fontWeight: '400' } ],
|
|
266
|
+
fontFamily: "'Gothic A1', serif",
|
|
267
|
+
},
|
|
268
|
+
];
|
|
269
|
+
expect( result ).toEqual( expected );
|
|
270
|
+
} );
|
|
240
271
|
} );
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { wpKebabCase } from '../index';
|
|
5
|
+
|
|
6
|
+
describe( 'wpKebabCase', () => {
|
|
7
|
+
it( 'should insert a dash between a letter and a digit', () => {
|
|
8
|
+
const input = 'abc1def';
|
|
9
|
+
const expectedOutput = 'abc-1def';
|
|
10
|
+
expect( wpKebabCase( input ) ).toEqual( expectedOutput );
|
|
11
|
+
|
|
12
|
+
const input2 = 'abc1def2ghi';
|
|
13
|
+
const expectedOutput2 = 'abc-1def-2ghi';
|
|
14
|
+
expect( wpKebabCase( input2 ) ).toEqual( expectedOutput2 );
|
|
15
|
+
} );
|
|
16
|
+
|
|
17
|
+
it( 'should not insert a dash between two letters', () => {
|
|
18
|
+
const input = 'abcdef';
|
|
19
|
+
const expectedOutput = 'abcdef';
|
|
20
|
+
expect( wpKebabCase( input ) ).toEqual( expectedOutput );
|
|
21
|
+
} );
|
|
22
|
+
|
|
23
|
+
it( 'should not insert a dash between a digit and a hyphen', () => {
|
|
24
|
+
const input = 'abc1-def';
|
|
25
|
+
const expectedOutput = 'abc-1-def';
|
|
26
|
+
expect( wpKebabCase( input ) ).toEqual( expectedOutput );
|
|
27
|
+
} );
|
|
28
|
+
} );
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import { isRTL, __ } from '@wordpress/i18n';
|
|
13
13
|
import { chevronRight, chevronLeft } from '@wordpress/icons';
|
|
14
14
|
|
|
15
|
-
function ScreenHeader( { title, description } ) {
|
|
15
|
+
function ScreenHeader( { title, description, onBack } ) {
|
|
16
16
|
return (
|
|
17
17
|
<VStack spacing={ 0 }>
|
|
18
18
|
<View>
|
|
@@ -27,6 +27,7 @@ function ScreenHeader( { title, description } ) {
|
|
|
27
27
|
icon={ isRTL() ? chevronRight : chevronLeft }
|
|
28
28
|
isSmall
|
|
29
29
|
aria-label={ __( 'Navigate to the previous view' ) }
|
|
30
|
+
onClick={ onBack }
|
|
30
31
|
/>
|
|
31
32
|
<Spacer>
|
|
32
33
|
<Heading
|
|
@@ -9,7 +9,13 @@ import {
|
|
|
9
9
|
__experimentalHStack as HStack,
|
|
10
10
|
} from '@wordpress/components';
|
|
11
11
|
import { useSelect } from '@wordpress/data';
|
|
12
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
useState,
|
|
14
|
+
useEffect,
|
|
15
|
+
useRef,
|
|
16
|
+
useDeferredValue,
|
|
17
|
+
memo,
|
|
18
|
+
} from '@wordpress/element';
|
|
13
19
|
import {
|
|
14
20
|
BlockIcon,
|
|
15
21
|
privateApis as blockEditorPrivateApis,
|
|
@@ -99,22 +105,16 @@ function BlockMenuItem( { block } ) {
|
|
|
99
105
|
);
|
|
100
106
|
}
|
|
101
107
|
|
|
102
|
-
function
|
|
108
|
+
function BlockList( { filterValue } ) {
|
|
103
109
|
const sortedBlockTypes = useSortedBlockTypes();
|
|
104
|
-
const [ filterValue, setFilterValue ] = useState( '' );
|
|
105
110
|
const debouncedSpeak = useDebounce( speak, 500 );
|
|
106
|
-
const isMatchingSearchTerm = useSelect(
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
return sortedBlockTypes.filter( ( blockType ) =>
|
|
115
|
-
isMatchingSearchTerm( blockType, filterValue )
|
|
116
|
-
);
|
|
117
|
-
}, [ filterValue, sortedBlockTypes, isMatchingSearchTerm ] );
|
|
111
|
+
const { isMatchingSearchTerm } = useSelect( blocksStore );
|
|
112
|
+
|
|
113
|
+
const filteredBlockTypes = ! filterValue
|
|
114
|
+
? sortedBlockTypes
|
|
115
|
+
: sortedBlockTypes.filter( ( blockType ) =>
|
|
116
|
+
isMatchingSearchTerm( blockType, filterValue )
|
|
117
|
+
);
|
|
118
118
|
|
|
119
119
|
const blockTypesListRef = useRef();
|
|
120
120
|
|
|
@@ -140,6 +140,27 @@ function ScreenBlockList() {
|
|
|
140
140
|
debouncedSpeak( resultsFoundMessage, count );
|
|
141
141
|
}, [ filterValue, debouncedSpeak ] );
|
|
142
142
|
|
|
143
|
+
return (
|
|
144
|
+
<div
|
|
145
|
+
ref={ blockTypesListRef }
|
|
146
|
+
className="edit-site-block-types-item-list"
|
|
147
|
+
>
|
|
148
|
+
{ filteredBlockTypes.map( ( block ) => (
|
|
149
|
+
<BlockMenuItem
|
|
150
|
+
block={ block }
|
|
151
|
+
key={ 'menu-itemblock-' + block.name }
|
|
152
|
+
/>
|
|
153
|
+
) ) }
|
|
154
|
+
</div>
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const MemoizedBlockList = memo( BlockList );
|
|
159
|
+
|
|
160
|
+
function ScreenBlockList() {
|
|
161
|
+
const [ filterValue, setFilterValue ] = useState( '' );
|
|
162
|
+
const deferredFilterValue = useDeferredValue( filterValue );
|
|
163
|
+
|
|
143
164
|
return (
|
|
144
165
|
<>
|
|
145
166
|
<ScreenHeader
|
|
@@ -156,17 +177,7 @@ function ScreenBlockList() {
|
|
|
156
177
|
label={ __( 'Search for blocks' ) }
|
|
157
178
|
placeholder={ __( 'Search' ) }
|
|
158
179
|
/>
|
|
159
|
-
<
|
|
160
|
-
ref={ blockTypesListRef }
|
|
161
|
-
className="edit-site-block-types-item-list"
|
|
162
|
-
>
|
|
163
|
-
{ filteredBlockTypes.map( ( block ) => (
|
|
164
|
-
<BlockMenuItem
|
|
165
|
-
block={ block }
|
|
166
|
-
key={ 'menu-itemblock-' + block.name }
|
|
167
|
-
/>
|
|
168
|
-
) ) }
|
|
169
|
-
</div>
|
|
180
|
+
<MemoizedBlockList filterValue={ deferredFilterValue } />
|
|
170
181
|
</>
|
|
171
182
|
);
|
|
172
183
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { __ } from '@wordpress/i18n';
|
|
4
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
5
5
|
import {
|
|
6
6
|
Button,
|
|
7
7
|
__experimentalUseNavigator as useNavigator,
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
__experimentalSpacer as Spacer,
|
|
11
11
|
} from '@wordpress/components';
|
|
12
12
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
13
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
13
14
|
import { useContext, useState, useEffect } from '@wordpress/element';
|
|
14
15
|
import {
|
|
15
16
|
privateApis as blockEditorPrivateApis,
|
|
@@ -32,22 +33,43 @@ const { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(
|
|
|
32
33
|
);
|
|
33
34
|
|
|
34
35
|
function ScreenRevisions() {
|
|
35
|
-
const {
|
|
36
|
-
const { user:
|
|
36
|
+
const { goTo } = useNavigator();
|
|
37
|
+
const { user: currentEditorGlobalStyles, setUserConfig } =
|
|
37
38
|
useContext( GlobalStylesContext );
|
|
38
|
-
const { blocks, editorCanvasContainerView } = useSelect(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
const { blocks, editorCanvasContainerView, revisionsCount } = useSelect(
|
|
40
|
+
( select ) => {
|
|
41
|
+
const {
|
|
42
|
+
getEntityRecord,
|
|
43
|
+
__experimentalGetCurrentGlobalStylesId,
|
|
44
|
+
__experimentalGetDirtyEntityRecords,
|
|
45
|
+
} = select( coreStore );
|
|
46
|
+
const isDirty = __experimentalGetDirtyEntityRecords().length > 0;
|
|
47
|
+
const globalStylesId = __experimentalGetCurrentGlobalStylesId();
|
|
48
|
+
const globalStyles = globalStylesId
|
|
49
|
+
? getEntityRecord( 'root', 'globalStyles', globalStylesId )
|
|
50
|
+
: undefined;
|
|
51
|
+
let _revisionsCount =
|
|
52
|
+
globalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count || 0;
|
|
53
|
+
// one for the reset item.
|
|
54
|
+
_revisionsCount++;
|
|
55
|
+
// one for any dirty changes (unsaved).
|
|
56
|
+
if ( isDirty ) {
|
|
57
|
+
_revisionsCount++;
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
editorCanvasContainerView: unlock(
|
|
61
|
+
select( editSiteStore )
|
|
62
|
+
).getEditorCanvasContainerView(),
|
|
63
|
+
blocks: select( blockEditorStore ).getBlocks(),
|
|
64
|
+
revisionsCount: _revisionsCount,
|
|
65
|
+
};
|
|
66
|
+
},
|
|
67
|
+
[]
|
|
68
|
+
);
|
|
46
69
|
const { revisions, isLoading, hasUnsavedChanges } =
|
|
47
70
|
useGlobalStylesRevisions();
|
|
48
|
-
const [
|
|
49
|
-
|
|
50
|
-
useState( userConfig );
|
|
71
|
+
const [ currentlySelectedRevision, setCurrentlySelectedRevision ] =
|
|
72
|
+
useState( currentEditorGlobalStyles );
|
|
51
73
|
const [
|
|
52
74
|
isLoadingRevisionWithUnsavedChanges,
|
|
53
75
|
setIsLoadingRevisionWithUnsavedChanges,
|
|
@@ -55,16 +77,14 @@ function ScreenRevisions() {
|
|
|
55
77
|
const { setEditorCanvasContainerView } = unlock(
|
|
56
78
|
useDispatch( editSiteStore )
|
|
57
79
|
);
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
setEditorCanvasContainerView( editorCanvasContainerView );
|
|
63
|
-
}
|
|
64
|
-
}, [ editorCanvasContainerView ] );
|
|
80
|
+
const selectedRevisionMatchesEditorStyles = areGlobalStyleConfigsEqual(
|
|
81
|
+
currentlySelectedRevision,
|
|
82
|
+
currentEditorGlobalStyles
|
|
83
|
+
);
|
|
65
84
|
|
|
66
85
|
const onCloseRevisions = () => {
|
|
67
|
-
|
|
86
|
+
goTo( '/' ); // Return to global styles main panel.
|
|
87
|
+
setEditorCanvasContainerView( undefined );
|
|
68
88
|
};
|
|
69
89
|
|
|
70
90
|
const restoreRevision = ( revision ) => {
|
|
@@ -77,26 +97,61 @@ function ScreenRevisions() {
|
|
|
77
97
|
};
|
|
78
98
|
|
|
79
99
|
const selectRevision = ( revision ) => {
|
|
80
|
-
|
|
100
|
+
setCurrentlySelectedRevision( {
|
|
81
101
|
styles: revision?.styles || {},
|
|
82
102
|
settings: revision?.settings || {},
|
|
83
103
|
id: revision?.id,
|
|
84
104
|
} );
|
|
85
|
-
setSelectedRevisionId( revision?.id );
|
|
86
105
|
};
|
|
87
106
|
|
|
107
|
+
useEffect( () => {
|
|
108
|
+
if ( editorCanvasContainerView !== 'global-styles-revisions' ) {
|
|
109
|
+
goTo( '/' ); // Return to global styles main panel.
|
|
110
|
+
setEditorCanvasContainerView( editorCanvasContainerView );
|
|
111
|
+
}
|
|
112
|
+
}, [ editorCanvasContainerView ] );
|
|
113
|
+
|
|
114
|
+
const firstRevision = revisions[ 0 ];
|
|
115
|
+
const currentlySelectedRevisionId = currentlySelectedRevision?.id;
|
|
116
|
+
const shouldSelectFirstItem =
|
|
117
|
+
!! firstRevision?.id &&
|
|
118
|
+
! selectedRevisionMatchesEditorStyles &&
|
|
119
|
+
! currentlySelectedRevisionId;
|
|
120
|
+
|
|
121
|
+
useEffect( () => {
|
|
122
|
+
/*
|
|
123
|
+
* Ensure that the first item is selected and loaded into the preview pane
|
|
124
|
+
* when no revision is selected and the selected styles don't match the current editor styles.
|
|
125
|
+
* This is required in case editor styles are changed outside the revisions panel,
|
|
126
|
+
* e.g., via the reset styles function of useGlobalStylesReset().
|
|
127
|
+
* See: https://github.com/WordPress/gutenberg/issues/55866
|
|
128
|
+
*/
|
|
129
|
+
if ( shouldSelectFirstItem ) {
|
|
130
|
+
setCurrentlySelectedRevision( {
|
|
131
|
+
styles: firstRevision?.styles || {},
|
|
132
|
+
settings: firstRevision?.settings || {},
|
|
133
|
+
id: firstRevision?.id,
|
|
134
|
+
} );
|
|
135
|
+
}
|
|
136
|
+
}, [ shouldSelectFirstItem, firstRevision ] );
|
|
137
|
+
|
|
138
|
+
// Only display load button if there is a revision to load and it is different from the current editor styles.
|
|
88
139
|
const isLoadButtonEnabled =
|
|
89
|
-
!!
|
|
90
|
-
! areGlobalStyleConfigsEqual( globalStylesRevision, userConfig );
|
|
140
|
+
!! currentlySelectedRevisionId && ! selectedRevisionMatchesEditorStyles;
|
|
91
141
|
const shouldShowRevisions = ! isLoading && revisions.length;
|
|
92
142
|
|
|
93
143
|
return (
|
|
94
144
|
<>
|
|
95
145
|
<ScreenHeader
|
|
96
|
-
title={
|
|
146
|
+
title={
|
|
147
|
+
revisionsCount &&
|
|
148
|
+
// translators: %s: number of revisions.
|
|
149
|
+
sprintf( __( 'Revisions (%s)' ), revisionsCount )
|
|
150
|
+
}
|
|
97
151
|
description={ __(
|
|
98
|
-
'
|
|
152
|
+
'Click on previously saved styles to preview them. To restore a selected version to the editor, hit "Apply." When you\'re ready, use the Save button to save your changes.'
|
|
99
153
|
) }
|
|
154
|
+
onBack={ onCloseRevisions }
|
|
100
155
|
/>
|
|
101
156
|
{ isLoading && (
|
|
102
157
|
<Spinner className="edit-site-global-styles-screen-revisions__loading" />
|
|
@@ -105,13 +160,13 @@ function ScreenRevisions() {
|
|
|
105
160
|
<>
|
|
106
161
|
<Revisions
|
|
107
162
|
blocks={ blocks }
|
|
108
|
-
userConfig={
|
|
163
|
+
userConfig={ currentlySelectedRevision }
|
|
109
164
|
onClose={ onCloseRevisions }
|
|
110
165
|
/>
|
|
111
166
|
<div className="edit-site-global-styles-screen-revisions">
|
|
112
167
|
<RevisionsButtons
|
|
113
168
|
onChange={ selectRevision }
|
|
114
|
-
selectedRevisionId={
|
|
169
|
+
selectedRevisionId={ currentlySelectedRevisionId }
|
|
115
170
|
userRevisions={ revisions }
|
|
116
171
|
/>
|
|
117
172
|
{ isLoadButtonEnabled && (
|
|
@@ -120,8 +175,9 @@ function ScreenRevisions() {
|
|
|
120
175
|
variant="primary"
|
|
121
176
|
className="edit-site-global-styles-screen-revisions__button"
|
|
122
177
|
disabled={
|
|
123
|
-
!
|
|
124
|
-
|
|
178
|
+
! currentlySelectedRevisionId ||
|
|
179
|
+
currentlySelectedRevisionId ===
|
|
180
|
+
'unsaved'
|
|
125
181
|
}
|
|
126
182
|
onClick={ () => {
|
|
127
183
|
if ( hasUnsavedChanges ) {
|
|
@@ -130,12 +186,12 @@ function ScreenRevisions() {
|
|
|
130
186
|
);
|
|
131
187
|
} else {
|
|
132
188
|
restoreRevision(
|
|
133
|
-
|
|
189
|
+
currentlySelectedRevision
|
|
134
190
|
);
|
|
135
191
|
}
|
|
136
192
|
} }
|
|
137
193
|
>
|
|
138
|
-
{
|
|
194
|
+
{ currentlySelectedRevisionId === 'parent'
|
|
139
195
|
? __( 'Reset to defaults' )
|
|
140
196
|
: __( 'Apply' ) }
|
|
141
197
|
</Button>
|
|
@@ -147,7 +203,7 @@ function ScreenRevisions() {
|
|
|
147
203
|
isOpen={ isLoadingRevisionWithUnsavedChanges }
|
|
148
204
|
confirmButtonText={ __( 'Apply' ) }
|
|
149
205
|
onConfirm={ () =>
|
|
150
|
-
restoreRevision(
|
|
206
|
+
restoreRevision( currentlySelectedRevision )
|
|
151
207
|
}
|
|
152
208
|
onCancel={ () =>
|
|
153
209
|
setIsLoadingRevisionWithUnsavedChanges( false )
|