@wordpress/edit-site 5.23.0 → 5.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/actions/index.js +56 -38
- package/build/components/actions/index.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +7 -2
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/dataviews/add-filter.js +21 -20
- package/build/components/dataviews/add-filter.js.map +1 -1
- package/build/components/dataviews/constants.js +14 -0
- package/build/components/dataviews/constants.js.map +1 -0
- package/build/components/dataviews/dataviews.js +9 -7
- package/build/components/dataviews/dataviews.js.map +1 -1
- package/build/components/dataviews/filter-summary.js +62 -0
- package/build/components/dataviews/filter-summary.js.map +1 -0
- package/build/components/dataviews/filters.js +15 -30
- package/build/components/dataviews/filters.js.map +1 -1
- package/build/components/dataviews/item-actions.js +84 -30
- package/build/components/dataviews/item-actions.js.map +1 -1
- package/build/components/dataviews/pagination.js +4 -0
- package/build/components/dataviews/pagination.js.map +1 -1
- package/build/components/dataviews/view-actions.js +24 -24
- package/build/components/dataviews/view-actions.js.map +1 -1
- package/build/components/dataviews/view-grid.js +48 -25
- package/build/components/dataviews/view-grid.js.map +1 -1
- package/build/components/dataviews/view-list.js +28 -33
- package/build/components/dataviews/view-list.js.map +1 -1
- package/build/components/editor/index.js +23 -27
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +15 -2
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/header.js +4 -2
- package/build/components/global-styles/header.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +22 -16
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +26 -5
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +52 -24
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/ui.js +28 -36
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/header-edit-mode/document-actions/index.js +21 -16
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +2 -1
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +1 -1
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/list/added-by.js +43 -54
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
- package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
- package/build/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/build/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
- package/build/components/page-content-focus-notifications/index.js +22 -0
- package/build/components/page-content-focus-notifications/index.js.map +1 -0
- package/build/components/page-pages/index.js +9 -15
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +1 -1
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/dataviews-templates.js +166 -51
- package/build/components/page-templates/dataviews-templates.js.map +1 -1
- package/build/components/preferences-modal/index.js +1 -1
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/save-button/index.js +9 -6
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-hub/index.js +14 -0
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +7 -2
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +6 -5
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js +15 -26
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js +22 -8
- package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-status.js +8 -5
- package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js +4 -8
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +2 -2
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +10 -6
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/index.js +23 -4
- package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build/components/style-book/index.js +22 -12
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/welcome-guide/page.js +2 -2
- package/build/components/welcome-guide/page.js.map +1 -1
- package/build/components/welcome-guide/template.js +6 -3
- package/build/components/welcome-guide/template.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +24 -14
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/store/actions.js +4 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +2 -27
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +0 -23
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -40
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +8 -4
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +1 -12
- package/build/utils/constants.js.map +1 -1
- package/build-module/components/actions/index.js +55 -36
- package/build-module/components/actions/index.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +7 -2
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/dataviews/add-filter.js +21 -20
- package/build-module/components/dataviews/add-filter.js.map +1 -1
- package/build-module/components/dataviews/constants.js +6 -0
- package/build-module/components/dataviews/constants.js.map +1 -0
- package/build-module/components/dataviews/dataviews.js +9 -7
- package/build-module/components/dataviews/dataviews.js.map +1 -1
- package/build-module/components/dataviews/filter-summary.js +55 -0
- package/build-module/components/dataviews/filter-summary.js.map +1 -0
- package/build-module/components/dataviews/filters.js +15 -28
- package/build-module/components/dataviews/filters.js.map +1 -1
- package/build-module/components/dataviews/item-actions.js +84 -30
- package/build-module/components/dataviews/item-actions.js.map +1 -1
- package/build-module/components/dataviews/pagination.js +4 -0
- package/build-module/components/dataviews/pagination.js.map +1 -1
- package/build-module/components/dataviews/view-actions.js +24 -24
- package/build-module/components/dataviews/view-actions.js.map +1 -1
- package/build-module/components/dataviews/view-grid.js +49 -26
- package/build-module/components/dataviews/view-grid.js.map +1 -1
- package/build-module/components/dataviews/view-list.js +28 -33
- package/build-module/components/dataviews/view-list.js.map +1 -1
- package/build-module/components/editor/index.js +26 -30
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +14 -2
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/header.js +4 -2
- package/build-module/components/global-styles/header.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +23 -17
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +27 -6
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +51 -24
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/ui.js +28 -36
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +21 -16
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +2 -1
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/list/added-by.js +44 -55
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
- package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
- package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
- package/build-module/components/page-content-focus-notifications/index.js +14 -0
- package/build-module/components/page-content-focus-notifications/index.js.map +1 -0
- package/build-module/components/page-pages/index.js +10 -16
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +1 -1
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/dataviews-templates.js +168 -53
- package/build-module/components/page-templates/dataviews-templates.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +1 -1
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/save-button/index.js +11 -8
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +14 -0
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +7 -2
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +6 -5
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +16 -27
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +21 -7
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +9 -6
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +5 -9
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +10 -6
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/index.js +23 -4
- package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build-module/components/style-book/index.js +22 -12
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/welcome-guide/page.js +2 -2
- package/build-module/components/welcome-guide/page.js.map +1 -1
- package/build-module/components/welcome-guide/template.js +6 -3
- package/build-module/components/welcome-guide/template.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +24 -14
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/store/actions.js +4 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +1 -25
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +0 -22
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -38
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +8 -4
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +0 -10
- package/build-module/utils/constants.js.map +1 -1
- package/build-style/style-rtl.css +152 -62
- package/build-style/style.css +152 -62
- package/package.json +41 -41
- package/src/components/actions/index.js +76 -48
- package/src/components/block-editor/site-editor-canvas.js +8 -2
- package/src/components/dataviews/README.md +14 -11
- package/src/components/dataviews/add-filter.js +21 -24
- package/src/components/dataviews/constants.js +5 -0
- package/src/components/dataviews/dataviews.js +10 -10
- package/src/components/dataviews/filter-summary.js +79 -0
- package/src/components/dataviews/filters.js +18 -35
- package/src/components/dataviews/item-actions.js +106 -42
- package/src/components/dataviews/pagination.js +4 -0
- package/src/components/dataviews/style.scss +84 -8
- package/src/components/dataviews/view-actions.js +39 -41
- package/src/components/dataviews/view-grid.js +63 -38
- package/src/components/dataviews/view-list.js +50 -57
- package/src/components/editor/index.js +18 -34
- package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/src/components/global-styles/font-library-modal/utils/index.js +20 -9
- package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +46 -15
- package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +28 -0
- package/src/components/global-styles/header.js +2 -1
- package/src/components/global-styles/screen-block-list.js +37 -26
- package/src/components/global-styles/screen-revisions/index.js +39 -10
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +65 -45
- package/src/components/global-styles/screen-revisions/style.scss +52 -28
- package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -6
- package/src/components/global-styles/style.scss +0 -11
- package/src/components/global-styles/ui.js +59 -74
- package/src/components/header-edit-mode/document-actions/index.js +20 -18
- package/src/components/header-edit-mode/index.js +1 -0
- package/src/components/header-edit-mode/more-menu/index.js +1 -1
- package/src/components/list/added-by.js +23 -63
- package/src/components/list/style.scss +11 -13
- package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +12 -13
- package/src/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/src/components/page-content-focus-notifications/index.js +14 -0
- package/src/components/page-pages/index.js +15 -20
- package/src/components/page-patterns/use-patterns.js +1 -1
- package/src/components/page-templates/dataviews-templates.js +169 -48
- package/src/components/page-templates/style.scss +13 -0
- package/src/components/preferences-modal/index.js +1 -1
- package/src/components/save-button/index.js +37 -24
- package/src/components/save-hub/index.js +15 -0
- package/src/components/save-hub/style.scss +7 -0
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +2 -0
- package/src/components/sidebar-dataviews/default-views.js +7 -2
- package/src/components/sidebar-dataviews/style.scss +7 -0
- package/src/components/sidebar-edit-mode/index.js +13 -9
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +33 -52
- package/src/components/sidebar-edit-mode/page-panels/hooks.js +20 -9
- package/src/components/sidebar-edit-mode/page-panels/page-status.js +6 -6
- package/src/components/sidebar-edit-mode/page-panels/page-summary.js +8 -9
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
- package/src/components/sidebar-edit-mode/page-panels/style.scss +9 -19
- package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
- package/src/components/sidebar-navigation-screen/style.scss +1 -0
- package/src/components/sidebar-navigation-screen-page/index.js +24 -3
- package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
- package/src/components/style-book/index.js +48 -35
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +69 -17
- package/src/components/welcome-guide/page.js +2 -2
- package/src/components/welcome-guide/template.js +4 -2
- package/src/hooks/commands/use-edit-mode-commands.js +22 -16
- package/src/store/actions.js +5 -1
- package/src/store/private-actions.js +1 -24
- package/src/store/private-selectors.js +0 -22
- package/src/store/reducer.js +0 -39
- package/src/store/selectors.js +12 -4
- package/src/store/test/actions.js +3 -32
- package/src/store/test/reducer.js +0 -62
- package/src/store/test/selectors.js +0 -35
- package/src/style.scss +1 -0
- package/src/utils/constants.js +0 -10
- package/build/components/dataviews/in-filter.js +0 -51
- package/build/components/dataviews/in-filter.js.map +0 -1
- package/build/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -63
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
- package/build/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
- package/build/components/page-content-focus-manager/index.js +0 -61
- package/build/components/page-content-focus-manager/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/page-panels/publish-date.js +0 -87
- package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
- package/build-module/components/dataviews/in-filter.js +0 -42
- package/build-module/components/dataviews/in-filter.js.map +0 -1
- package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -56
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
- package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
- package/build-module/components/page-content-focus-manager/index.js +0 -52
- package/build-module/components/page-content-focus-manager/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +0 -80
- package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
- package/src/components/dataviews/in-filter.js +0 -63
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -57
- package/src/components/page-content-focus-manager/index.js +0 -51
- package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
* WordPress dependencies
|
|
15
15
|
*/
|
|
16
16
|
import { __ } from '@wordpress/i18n';
|
|
17
|
+
import { useAsyncList } from '@wordpress/compose';
|
|
17
18
|
import {
|
|
18
19
|
chevronDown,
|
|
19
20
|
chevronUp,
|
|
@@ -36,14 +37,15 @@ import { useMemo, Children, Fragment } from '@wordpress/element';
|
|
|
36
37
|
*/
|
|
37
38
|
import { unlock } from '../../lock-unlock';
|
|
38
39
|
import ItemActions from './item-actions';
|
|
40
|
+
import { ENUMERATION_TYPE, OPERATOR_IN } from './constants';
|
|
39
41
|
|
|
40
42
|
const {
|
|
41
|
-
DropdownMenuV2,
|
|
42
|
-
DropdownMenuGroupV2,
|
|
43
|
-
DropdownMenuItemV2,
|
|
44
|
-
DropdownMenuSeparatorV2,
|
|
45
|
-
DropdownSubMenuV2,
|
|
46
|
-
DropdownSubMenuTriggerV2,
|
|
43
|
+
DropdownMenuV2: DropdownMenu,
|
|
44
|
+
DropdownMenuGroupV2: DropdownMenuGroup,
|
|
45
|
+
DropdownMenuItemV2: DropdownMenuItem,
|
|
46
|
+
DropdownMenuSeparatorV2: DropdownMenuSeparator,
|
|
47
|
+
DropdownSubMenuV2: DropdownSubMenu,
|
|
48
|
+
DropdownSubMenuTriggerV2: DropdownSubMenuTrigger,
|
|
47
49
|
} = unlock( componentsPrivateApis );
|
|
48
50
|
|
|
49
51
|
const EMPTY_OBJECT = {};
|
|
@@ -52,6 +54,7 @@ const sortingItemsInfo = {
|
|
|
52
54
|
desc: { icon: arrowDown, label: __( 'Sort descending' ) },
|
|
53
55
|
};
|
|
54
56
|
const sortIcons = { asc: chevronUp, desc: chevronDown };
|
|
57
|
+
|
|
55
58
|
function HeaderMenu( { dataView, header } ) {
|
|
56
59
|
if ( header.isPlaceholder ) {
|
|
57
60
|
return null;
|
|
@@ -68,27 +71,16 @@ function HeaderMenu( { dataView, header } ) {
|
|
|
68
71
|
const sortedDirection = header.column.getIsSorted();
|
|
69
72
|
|
|
70
73
|
let filter;
|
|
71
|
-
if (
|
|
72
|
-
header.column.columnDef.filters?.length > 0 &&
|
|
73
|
-
header.column.columnDef.filters.some(
|
|
74
|
-
( f ) => 'string' === typeof f && f === 'in'
|
|
75
|
-
)
|
|
76
|
-
) {
|
|
74
|
+
if ( header.column.columnDef.type === ENUMERATION_TYPE ) {
|
|
77
75
|
filter = {
|
|
78
76
|
field: header.column.columnDef.id,
|
|
79
|
-
elements: [
|
|
80
|
-
{
|
|
81
|
-
value: '',
|
|
82
|
-
label: __( 'All' ),
|
|
83
|
-
},
|
|
84
|
-
...( header.column.columnDef.elements || [] ),
|
|
85
|
-
],
|
|
77
|
+
elements: header.column.columnDef.elements || [],
|
|
86
78
|
};
|
|
87
79
|
}
|
|
88
80
|
const isFilterable = !! filter;
|
|
89
81
|
|
|
90
82
|
return (
|
|
91
|
-
<
|
|
83
|
+
<DropdownMenu
|
|
92
84
|
align="start"
|
|
93
85
|
trigger={
|
|
94
86
|
<Button
|
|
@@ -101,10 +93,10 @@ function HeaderMenu( { dataView, header } ) {
|
|
|
101
93
|
>
|
|
102
94
|
<WithSeparators>
|
|
103
95
|
{ isSortable && (
|
|
104
|
-
<
|
|
96
|
+
<DropdownMenuGroup>
|
|
105
97
|
{ Object.entries( sortingItemsInfo ).map(
|
|
106
98
|
( [ direction, info ] ) => (
|
|
107
|
-
<
|
|
99
|
+
<DropdownMenuItem
|
|
108
100
|
key={ direction }
|
|
109
101
|
prefix={ <Icon icon={ info.icon } /> }
|
|
110
102
|
suffix={
|
|
@@ -127,13 +119,13 @@ function HeaderMenu( { dataView, header } ) {
|
|
|
127
119
|
} }
|
|
128
120
|
>
|
|
129
121
|
{ info.label }
|
|
130
|
-
</
|
|
122
|
+
</DropdownMenuItem>
|
|
131
123
|
)
|
|
132
124
|
) }
|
|
133
|
-
</
|
|
125
|
+
</DropdownMenuGroup>
|
|
134
126
|
) }
|
|
135
127
|
{ isHidable && (
|
|
136
|
-
<
|
|
128
|
+
<DropdownMenuItem
|
|
137
129
|
prefix={ <Icon icon={ unseen } /> }
|
|
138
130
|
onSelect={ ( event ) => {
|
|
139
131
|
event.preventDefault();
|
|
@@ -141,21 +133,21 @@ function HeaderMenu( { dataView, header } ) {
|
|
|
141
133
|
} }
|
|
142
134
|
>
|
|
143
135
|
{ __( 'Hide' ) }
|
|
144
|
-
</
|
|
136
|
+
</DropdownMenuItem>
|
|
145
137
|
) }
|
|
146
138
|
{ isFilterable && (
|
|
147
|
-
<
|
|
148
|
-
<
|
|
139
|
+
<DropdownMenuGroup>
|
|
140
|
+
<DropdownSubMenu
|
|
149
141
|
key={ filter.field }
|
|
150
142
|
trigger={
|
|
151
|
-
<
|
|
143
|
+
<DropdownSubMenuTrigger
|
|
152
144
|
prefix={ <Icon icon={ funnel } /> }
|
|
153
145
|
suffix={
|
|
154
146
|
<Icon icon={ chevronRightSmall } />
|
|
155
147
|
}
|
|
156
148
|
>
|
|
157
149
|
{ __( 'Filter by' ) }
|
|
158
|
-
</
|
|
150
|
+
</DropdownSubMenuTrigger>
|
|
159
151
|
}
|
|
160
152
|
>
|
|
161
153
|
{ filter.elements.map( ( element ) => {
|
|
@@ -169,11 +161,6 @@ function HeaderMenu( { dataView, header } ) {
|
|
|
169
161
|
)[ 0 ] === filter.field
|
|
170
162
|
);
|
|
171
163
|
|
|
172
|
-
// Set the empty item as active if the filter is not set.
|
|
173
|
-
if ( ! columnFilter && element.value === '' ) {
|
|
174
|
-
isActive = true;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
164
|
if ( columnFilter ) {
|
|
178
165
|
const value =
|
|
179
166
|
Object.values( columnFilter )[ 0 ];
|
|
@@ -183,7 +170,7 @@ function HeaderMenu( { dataView, header } ) {
|
|
|
183
170
|
}
|
|
184
171
|
|
|
185
172
|
return (
|
|
186
|
-
<
|
|
173
|
+
<DropdownMenuItem
|
|
187
174
|
key={ element.value }
|
|
188
175
|
suffix={
|
|
189
176
|
isActive && <Icon icon={ check } />
|
|
@@ -202,35 +189,32 @@ function HeaderMenu( { dataView, header } ) {
|
|
|
202
189
|
return (
|
|
203
190
|
field !==
|
|
204
191
|
filter.field ||
|
|
205
|
-
operator !==
|
|
192
|
+
operator !==
|
|
193
|
+
OPERATOR_IN
|
|
206
194
|
);
|
|
207
195
|
}
|
|
208
196
|
);
|
|
209
197
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
':in' ]: element.value,
|
|
220
|
-
},
|
|
221
|
-
] );
|
|
222
|
-
}
|
|
198
|
+
dataView.setColumnFilters( [
|
|
199
|
+
...otherFilters,
|
|
200
|
+
{
|
|
201
|
+
[ filter.field + ':in' ]:
|
|
202
|
+
isActive
|
|
203
|
+
? undefined
|
|
204
|
+
: element.value,
|
|
205
|
+
},
|
|
206
|
+
] );
|
|
223
207
|
} }
|
|
224
208
|
>
|
|
225
209
|
{ element.label }
|
|
226
|
-
</
|
|
210
|
+
</DropdownMenuItem>
|
|
227
211
|
);
|
|
228
212
|
} ) }
|
|
229
|
-
</
|
|
230
|
-
</
|
|
213
|
+
</DropdownSubMenu>
|
|
214
|
+
</DropdownMenuGroup>
|
|
231
215
|
) }
|
|
232
216
|
</WithSeparators>
|
|
233
|
-
</
|
|
217
|
+
</DropdownMenu>
|
|
234
218
|
);
|
|
235
219
|
}
|
|
236
220
|
|
|
@@ -239,7 +223,7 @@ function WithSeparators( { children } ) {
|
|
|
239
223
|
.filter( Boolean )
|
|
240
224
|
.map( ( child, i ) => (
|
|
241
225
|
<Fragment key={ i }>
|
|
242
|
-
{ i > 0 && <
|
|
226
|
+
{ i > 0 && <DropdownMenuSeparator /> }
|
|
243
227
|
{ child }
|
|
244
228
|
</Fragment>
|
|
245
229
|
) );
|
|
@@ -251,6 +235,7 @@ function ViewList( {
|
|
|
251
235
|
fields,
|
|
252
236
|
actions,
|
|
253
237
|
data,
|
|
238
|
+
getItemId,
|
|
254
239
|
isLoading = false,
|
|
255
240
|
paginationInfo,
|
|
256
241
|
} ) {
|
|
@@ -348,8 +333,9 @@ function ViewList( {
|
|
|
348
333
|
return { field, operator, value };
|
|
349
334
|
} );
|
|
350
335
|
|
|
336
|
+
const shownData = useAsyncList( data );
|
|
351
337
|
const dataView = useReactTable( {
|
|
352
|
-
data,
|
|
338
|
+
data: shownData,
|
|
353
339
|
columns,
|
|
354
340
|
manualSorting: true,
|
|
355
341
|
manualFiltering: true,
|
|
@@ -372,6 +358,7 @@ function ViewList( {
|
|
|
372
358
|
},
|
|
373
359
|
columnVisibility: columnVisibility ?? EMPTY_OBJECT,
|
|
374
360
|
},
|
|
361
|
+
getRowId: getItemId,
|
|
375
362
|
onSortingChange: ( sortingUpdater ) => {
|
|
376
363
|
onChangeView( ( currentView ) => {
|
|
377
364
|
const sort =
|
|
@@ -470,6 +457,9 @@ function ViewList( {
|
|
|
470
457
|
width:
|
|
471
458
|
header.column.columnDef.width ||
|
|
472
459
|
undefined,
|
|
460
|
+
minWidth:
|
|
461
|
+
header.column.columnDef
|
|
462
|
+
.minWidth || undefined,
|
|
473
463
|
maxWidth:
|
|
474
464
|
header.column.columnDef
|
|
475
465
|
.maxWidth || undefined,
|
|
@@ -490,11 +480,14 @@ function ViewList( {
|
|
|
490
480
|
<tr key={ row.id }>
|
|
491
481
|
{ row.getVisibleCells().map( ( cell ) => (
|
|
492
482
|
<td
|
|
493
|
-
key={ cell.id }
|
|
483
|
+
key={ cell.column.id }
|
|
494
484
|
style={ {
|
|
495
485
|
width:
|
|
496
486
|
cell.column.columnDef.width ||
|
|
497
487
|
undefined,
|
|
488
|
+
minWidth:
|
|
489
|
+
cell.column.columnDef
|
|
490
|
+
.minWidth || undefined,
|
|
498
491
|
maxWidth:
|
|
499
492
|
cell.column.columnDef
|
|
500
493
|
.maxWidth || undefined,
|
|
@@ -6,7 +6,7 @@ import classnames from 'classnames';
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
-
import { useSelect } from '@wordpress/data';
|
|
9
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
10
10
|
import { Notice } from '@wordpress/components';
|
|
11
11
|
import { useInstanceId } from '@wordpress/compose';
|
|
12
12
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
@@ -25,10 +25,11 @@ import {
|
|
|
25
25
|
EditorNotices,
|
|
26
26
|
EditorSnackbars,
|
|
27
27
|
privateApis as editorPrivateApis,
|
|
28
|
+
store as editorStore,
|
|
28
29
|
} from '@wordpress/editor';
|
|
29
30
|
import { __, sprintf } from '@wordpress/i18n';
|
|
30
31
|
import { store as coreDataStore } from '@wordpress/core-data';
|
|
31
|
-
import {
|
|
32
|
+
import { useEffect } from '@wordpress/element';
|
|
32
33
|
|
|
33
34
|
/**
|
|
34
35
|
* Internal dependencies
|
|
@@ -97,14 +98,13 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
|
|
|
97
98
|
contextPost,
|
|
98
99
|
editorMode,
|
|
99
100
|
canvasMode,
|
|
101
|
+
renderingMode,
|
|
100
102
|
blockEditorMode,
|
|
101
103
|
isRightSidebarOpen,
|
|
102
104
|
isInserterOpen,
|
|
103
105
|
isListViewOpen,
|
|
104
106
|
showIconLabels,
|
|
105
107
|
showBlockBreadcrumbs,
|
|
106
|
-
hasPageContentFocus,
|
|
107
|
-
pageContentFocusType,
|
|
108
108
|
} = useSelect( ( select ) => {
|
|
109
109
|
const {
|
|
110
110
|
getEditedPostContext,
|
|
@@ -112,12 +112,11 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
|
|
|
112
112
|
getCanvasMode,
|
|
113
113
|
isInserterOpened,
|
|
114
114
|
isListViewOpened,
|
|
115
|
-
hasPageContentFocus: _hasPageContentFocus,
|
|
116
|
-
getPageContentFocusType,
|
|
117
115
|
} = unlock( select( editSiteStore ) );
|
|
118
116
|
const { __unstableGetEditorMode } = select( blockEditorStore );
|
|
119
117
|
const { getActiveComplementaryArea } = select( interfaceStore );
|
|
120
118
|
const { getEntityRecord } = select( coreDataStore );
|
|
119
|
+
const { getRenderingMode } = select( editorStore );
|
|
121
120
|
const _context = getEditedPostContext();
|
|
122
121
|
|
|
123
122
|
// The currently selected entity to display.
|
|
@@ -133,6 +132,7 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
|
|
|
133
132
|
: undefined,
|
|
134
133
|
editorMode: getEditorMode(),
|
|
135
134
|
canvasMode: getCanvasMode(),
|
|
135
|
+
renderingMode: getRenderingMode(),
|
|
136
136
|
blockEditorMode: __unstableGetEditorMode(),
|
|
137
137
|
isInserterOpen: isInserterOpened(),
|
|
138
138
|
isListViewOpen: isListViewOpened(),
|
|
@@ -147,10 +147,9 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
|
|
|
147
147
|
'core/edit-site',
|
|
148
148
|
'showBlockBreadcrumbs'
|
|
149
149
|
),
|
|
150
|
-
hasPageContentFocus: _hasPageContentFocus(),
|
|
151
|
-
pageContentFocusType: getPageContentFocusType(),
|
|
152
150
|
};
|
|
153
151
|
}, [] );
|
|
152
|
+
const { setRenderingMode } = useDispatch( editorStore );
|
|
154
153
|
|
|
155
154
|
const isViewMode = canvasMode === 'view';
|
|
156
155
|
const isEditMode = canvasMode === 'edit';
|
|
@@ -165,7 +164,7 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
|
|
|
165
164
|
const secondarySidebarLabel = isListViewOpen
|
|
166
165
|
? __( 'List View' )
|
|
167
166
|
: __( 'Block Library' );
|
|
168
|
-
const postWithTemplate = context?.postId;
|
|
167
|
+
const postWithTemplate = !! context?.postId;
|
|
169
168
|
|
|
170
169
|
let title;
|
|
171
170
|
if ( hasLoadedPost ) {
|
|
@@ -192,31 +191,16 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
|
|
|
192
191
|
! isLoading &&
|
|
193
192
|
( ( postWithTemplate && !! contextPost && !! editedPost ) ||
|
|
194
193
|
( ! postWithTemplate && !! editedPost ) );
|
|
195
|
-
const mode = useMemo( () => {
|
|
196
|
-
if ( isViewMode ) {
|
|
197
|
-
return postWithTemplate ? 'template-locked' : 'all';
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
if ( isEditMode && pageContentFocusType === 'hideTemplate' ) {
|
|
201
|
-
return 'post-only';
|
|
202
|
-
}
|
|
203
194
|
|
|
204
|
-
|
|
205
|
-
|
|
195
|
+
// This is the only reliable way I've found to reinitialize the rendering mode
|
|
196
|
+
// when the canvas mode or the edited entity changes.
|
|
197
|
+
useEffect( () => {
|
|
198
|
+
if ( canvasMode === 'edit' && postWithTemplate ) {
|
|
199
|
+
setRenderingMode( 'template-locked' );
|
|
200
|
+
} else {
|
|
201
|
+
setRenderingMode( 'all' );
|
|
206
202
|
}
|
|
207
|
-
|
|
208
|
-
if ( postWithTemplate && ! hasPageContentFocus ) {
|
|
209
|
-
return 'template-only';
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
return 'all';
|
|
213
|
-
}, [
|
|
214
|
-
isViewMode,
|
|
215
|
-
isEditMode,
|
|
216
|
-
postWithTemplate,
|
|
217
|
-
pageContentFocusType,
|
|
218
|
-
hasPageContentFocus,
|
|
219
|
-
] );
|
|
203
|
+
}, [ canvasMode, postWithTemplate, setRenderingMode ] );
|
|
220
204
|
|
|
221
205
|
return (
|
|
222
206
|
<>
|
|
@@ -237,7 +221,6 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
|
|
|
237
221
|
}
|
|
238
222
|
settings={ settings }
|
|
239
223
|
useSubRegistry={ false }
|
|
240
|
-
mode={ mode }
|
|
241
224
|
>
|
|
242
225
|
<SidebarComplementaryAreaFills />
|
|
243
226
|
{ isEditMode && <StartTemplateOptions /> }
|
|
@@ -298,7 +281,8 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
|
|
|
298
281
|
shouldShowBlockBreadcrumbs && (
|
|
299
282
|
<BlockBreadcrumb
|
|
300
283
|
rootLabelText={
|
|
301
|
-
|
|
284
|
+
postWithTemplate &&
|
|
285
|
+
renderingMode !== 'template-only'
|
|
302
286
|
? __( 'Page' )
|
|
303
287
|
: __( 'Template' )
|
|
304
288
|
}
|
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
|