@wordpress/edit-site 4.19.0 → 5.0.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 +6 -0
- package/build/components/add-new-template/add-custom-template-modal.js +1 -0
- package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
- package/build/components/add-new-template/index.js +8 -5
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/add-new-template/new-template-part.js +21 -6
- package/build/components/add-new-template/new-template-part.js.map +1 -1
- package/build/components/add-new-template/new-template.js +12 -8
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/app/index.js +15 -30
- package/build/components/app/index.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +64 -0
- package/build/components/block-editor/editor-canvas.js.map +1 -0
- package/build/components/block-editor/index.js +61 -59
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/block-editor/resizable-editor.js +10 -44
- package/build/components/block-editor/resizable-editor.js.map +1 -1
- package/build/components/editor/index.js +80 -127
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/block-preview-panel.js +42 -0
- package/build/components/global-styles/block-preview-panel.js.map +1 -0
- package/build/components/global-styles/context-menu.js +6 -2
- package/build/components/global-styles/context-menu.js.map +1 -1
- package/build/components/global-styles/custom-css.js +61 -0
- package/build/components/global-styles/custom-css.js.map +1 -0
- package/build/components/global-styles/dimensions-panel.js +2 -6
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/global-styles-provider.js +15 -2
- package/build/components/global-styles/global-styles-provider.js.map +1 -1
- package/build/components/global-styles/hooks.js +5 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/palette.js +1 -1
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +2 -1
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-block.js +10 -2
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-border.js +43 -0
- package/build/components/global-styles/screen-border.js.map +1 -0
- package/build/components/global-styles/screen-colors.js +1 -1
- package/build/components/global-styles/screen-colors.js.map +1 -1
- package/build/components/global-styles/screen-css.js +42 -0
- package/build/components/global-styles/screen-css.js.map +1 -0
- package/build/components/global-styles/screen-layout.js +0 -5
- package/build/components/global-styles/screen-layout.js.map +1 -1
- package/build/components/global-styles/screen-root.js +14 -1
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +3 -3
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/ui.js +50 -4
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +5 -1
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +3 -3
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -8
- package/build/components/global-styles-renderer/index.js.map +1 -0
- package/build/components/header-edit-mode/document-actions/index.js +12 -5
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +19 -12
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +11 -1
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/layout/index.js +231 -0
- package/build/components/layout/index.js.map +1 -0
- package/build/components/list/header.js +5 -1
- package/build/components/list/header.js.map +1 -1
- package/build/components/list/index.js +4 -22
- package/build/components/list/index.js.map +1 -1
- package/build/components/navigate-to-link/index.js +1 -3
- package/build/components/navigate-to-link/index.js.map +1 -1
- package/build/components/routes/index.js +1 -1
- package/build/components/routes/index.js.map +1 -1
- package/build/components/sidebar/index.js +42 -0
- package/build/components/sidebar/index.js.map +1 -0
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js +24 -4
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +1 -1
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-navigation-item/index.js +53 -0
- package/build/components/sidebar-navigation-item/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen/index.js +49 -0
- package/build/components/sidebar-navigation-screen/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-main/index.js +76 -0
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-templates/index.js +188 -0
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -0
- package/build/components/site-icon/index.js +70 -0
- package/build/components/site-icon/index.js.map +1 -0
- package/build/components/site-title/index.js +55 -0
- package/build/components/site-title/index.js.map +1 -0
- package/build/components/style-book/index.js +173 -0
- package/build/components/style-book/index.js.map +1 -0
- package/build/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +5 -4
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
- package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +53 -0
- package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
- package/build/index.js +2 -45
- package/build/index.js.map +1 -1
- package/build/store/actions.js +93 -43
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +35 -107
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +69 -78
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-template-modal.js +1 -0
- package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
- package/build-module/components/add-new-template/index.js +7 -5
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/add-new-template/new-template-part.js +18 -6
- package/build-module/components/add-new-template/new-template-part.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +13 -9
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/app/index.js +15 -28
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +51 -0
- package/build-module/components/block-editor/editor-canvas.js.map +1 -0
- package/build-module/components/block-editor/index.js +61 -60
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/block-editor/resizable-editor.js +11 -40
- package/build-module/components/block-editor/resizable-editor.js.map +1 -1
- package/build-module/components/editor/index.js +81 -124
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/block-preview-panel.js +32 -0
- package/build-module/components/global-styles/block-preview-panel.js.map +1 -0
- package/build-module/components/global-styles/context-menu.js +7 -3
- package/build-module/components/global-styles/context-menu.js.map +1 -1
- package/build-module/components/global-styles/custom-css.js +51 -0
- package/build-module/components/global-styles/custom-css.js.map +1 -0
- package/build-module/components/global-styles/dimensions-panel.js +3 -7
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/global-styles-provider.js +15 -2
- package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +5 -3
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/palette.js +1 -1
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +2 -1
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +8 -2
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-border.js +27 -0
- package/build-module/components/global-styles/screen-border.js.map +1 -0
- package/build-module/components/global-styles/screen-colors.js +1 -1
- package/build-module/components/global-styles/screen-colors.js.map +1 -1
- package/build-module/components/global-styles/screen-css.js +28 -0
- package/build-module/components/global-styles/screen-css.js.map +1 -0
- package/build-module/components/global-styles/screen-layout.js +0 -4
- package/build-module/components/global-styles/screen-layout.js.map +1 -1
- package/build-module/components/global-styles/screen-root.js +14 -1
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/global-styles/screen-style-variations.js +2 -2
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/ui.js +48 -5
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +5 -1
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +4 -4
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -7
- package/build-module/components/global-styles-renderer/index.js.map +1 -0
- package/build-module/components/header-edit-mode/document-actions/index.js +13 -6
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +16 -11
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +10 -1
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/layout/index.js +203 -0
- package/build-module/components/layout/index.js.map +1 -0
- package/build-module/components/list/header.js +5 -1
- package/build-module/components/list/header.js.map +1 -1
- package/build-module/components/list/index.js +4 -19
- package/build-module/components/list/index.js.map +1 -1
- package/build-module/components/navigate-to-link/index.js +1 -3
- package/build-module/components/navigate-to-link/index.js.map +1 -1
- package/build-module/components/routes/index.js +1 -1
- package/build-module/components/routes/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +30 -0
- package/build-module/components/sidebar/index.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +27 -7
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +3 -3
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-item/index.js +40 -0
- package/build-module/components/sidebar-navigation-item/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen/index.js +39 -0
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-main/index.js +57 -0
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-templates/index.js +165 -0
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -0
- package/build-module/components/site-icon/index.js +55 -0
- package/build-module/components/site-icon/index.js.map +1 -0
- package/build-module/components/site-title/index.js +43 -0
- package/build-module/components/site-title/index.js.map +1 -0
- package/build-module/components/style-book/index.js +156 -0
- package/build-module/components/style-book/index.js.map +1 -0
- package/build-module/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +4 -3
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
- package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +43 -0
- package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
- package/build-module/index.js +5 -36
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +87 -42
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +35 -102
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +60 -72
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +550 -346
- package/build-style/style.css +550 -346
- package/package.json +32 -31
- package/src/components/add-new-template/add-custom-template-modal.js +1 -0
- package/src/components/add-new-template/index.js +6 -3
- package/src/components/add-new-template/new-template-part.js +15 -3
- package/src/components/add-new-template/new-template.js +14 -7
- package/src/components/add-new-template/style.scss +0 -4
- package/src/components/app/index.js +14 -43
- package/src/components/block-editor/editor-canvas.js +69 -0
- package/src/components/block-editor/index.js +102 -87
- package/src/components/block-editor/resizable-editor.js +9 -64
- package/src/components/block-editor/style.scss +25 -1
- package/src/components/code-editor/style.scss +1 -1
- package/src/components/editor/index.js +170 -236
- package/src/components/editor/style.scss +0 -22
- package/src/components/global-styles/block-preview-panel.js +29 -0
- package/src/components/global-styles/context-menu.js +11 -2
- package/src/components/global-styles/custom-css.js +73 -0
- package/src/components/global-styles/dimensions-panel.js +2 -5
- package/src/components/global-styles/global-styles-provider.js +39 -17
- package/src/components/global-styles/hooks.js +8 -3
- package/src/components/global-styles/palette.js +1 -1
- package/src/components/global-styles/screen-block-list.js +2 -1
- package/src/components/global-styles/screen-block.js +9 -1
- package/src/components/global-styles/screen-border.js +23 -0
- package/src/components/global-styles/screen-colors.js +2 -1
- package/src/components/global-styles/screen-css.js +33 -0
- package/src/components/global-styles/screen-layout.js +0 -3
- package/src/components/global-styles/screen-root.js +30 -1
- package/src/components/global-styles/screen-style-variations.js +5 -2
- package/src/components/global-styles/style.scss +31 -2
- package/src/components/global-styles/ui.js +47 -4
- package/src/components/global-styles/use-global-styles-output.js +5 -0
- package/src/components/global-styles/utils.js +8 -5
- package/src/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +3 -9
- package/src/components/header-edit-mode/document-actions/index.js +14 -9
- package/src/components/header-edit-mode/document-actions/style.scss +8 -1
- package/src/components/header-edit-mode/index.js +96 -78
- package/src/components/header-edit-mode/style.scss +5 -33
- package/src/components/keyboard-shortcuts/index.js +13 -0
- package/src/components/layout/index.js +278 -0
- package/src/components/layout/style.scss +176 -0
- package/src/components/list/header.js +5 -1
- package/src/components/list/index.js +12 -31
- package/src/components/list/style.scss +10 -4
- package/src/components/navigate-to-link/index.js +2 -8
- package/src/components/routes/index.js +1 -1
- package/src/components/sidebar/index.js +34 -0
- package/src/components/sidebar/style.scss +8 -0
- package/src/components/sidebar-edit-mode/global-styles-sidebar.js +42 -7
- package/src/components/sidebar-edit-mode/index.js +3 -3
- package/src/components/sidebar-edit-mode/navigation-menu-sidebar/style.scss +21 -3
- package/src/components/sidebar-edit-mode/settings-header/style.scss +47 -34
- package/src/components/sidebar-edit-mode/style.scss +0 -13
- package/src/components/sidebar-navigation-item/index.js +51 -0
- package/src/components/sidebar-navigation-item/style.scss +17 -0
- package/src/components/sidebar-navigation-screen/index.js +55 -0
- package/src/components/sidebar-navigation-screen/style.scss +41 -0
- package/src/components/sidebar-navigation-screen-main/index.js +72 -0
- package/src/components/sidebar-navigation-screen-templates/index.js +181 -0
- package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
- package/src/components/site-icon/index.js +56 -0
- package/src/components/site-icon/style.scss +10 -0
- package/src/components/site-title/index.js +39 -0
- package/src/components/style-book/index.js +193 -0
- package/src/components/style-book/style.scss +78 -0
- package/src/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +3 -3
- package/src/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +36 -0
- package/src/components/template-details/style.scss +4 -0
- package/src/index.js +3 -53
- package/src/store/actions.js +93 -48
- package/src/store/reducer.js +29 -91
- package/src/store/selectors.js +61 -101
- package/src/store/test/actions.js +3 -15
- package/src/store/test/reducer.js +8 -192
- package/src/store/test/selectors.js +3 -42
- package/src/style.scss +19 -3
- package/build/components/editor/global-styles-renderer.js.map +0 -1
- package/build/components/navigation-sidebar/index.js +0 -62
- package/build/components/navigation-sidebar/index.js.map +0 -1
- package/build/components/navigation-sidebar/navigation-panel/constants.js +0 -77
- package/build/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
- package/build/components/navigation-sidebar/navigation-panel/index.js +0 -152
- package/build/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
- package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
- package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
- package/build/components/navigation-sidebar/navigation-toggle/index.js +0 -124
- package/build/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
- package/build/components/url-query-controller/index.js.map +0 -1
- package/build-module/components/editor/global-styles-renderer.js.map +0 -1
- package/build-module/components/navigation-sidebar/index.js +0 -45
- package/build-module/components/navigation-sidebar/index.js.map +0 -1
- package/build-module/components/navigation-sidebar/navigation-panel/constants.js +0 -49
- package/build-module/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
- package/build-module/components/navigation-sidebar/navigation-panel/index.js +0 -131
- package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
- package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -66
- package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
- package/build-module/components/navigation-sidebar/navigation-toggle/index.js +0 -108
- package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
- package/build-module/components/url-query-controller/index.js.map +0 -1
- package/src/components/navigation-sidebar/index.js +0 -46
- package/src/components/navigation-sidebar/navigation-panel/constants.js +0 -94
- package/src/components/navigation-sidebar/navigation-panel/index.js +0 -142
- package/src/components/navigation-sidebar/navigation-panel/style.scss +0 -152
- package/src/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
- package/src/components/navigation-sidebar/navigation-toggle/index.js +0 -114
- package/src/components/navigation-sidebar/navigation-toggle/style.scss +0 -71
- package/src/components/navigation-sidebar/navigation-toggle/test/index.js +0 -65
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
.edit-site-navigation-panel {
|
|
2
|
-
height: 100%;
|
|
3
|
-
position: relative;
|
|
4
|
-
width: 0;
|
|
5
|
-
overflow: hidden;
|
|
6
|
-
background: $gray-900;
|
|
7
|
-
color: $white;
|
|
8
|
-
transition: width 100ms linear;
|
|
9
|
-
@include reduce-motion("transition");
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.edit-site-navigation-panel__inner {
|
|
13
|
-
position: relative;
|
|
14
|
-
width: $nav-sidebar-width;
|
|
15
|
-
height: 100%;
|
|
16
|
-
overflow: hidden;
|
|
17
|
-
// Inner container is hidden to remove menu from the accessibility tree when not visible.
|
|
18
|
-
// Setting visibility here (rather than on the parent container) preserves the slide transition.
|
|
19
|
-
visibility: hidden;
|
|
20
|
-
// Transition settings should match parent container.
|
|
21
|
-
transition: visibility 100ms linear;
|
|
22
|
-
@include reduce-motion("transition");
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.edit-site-navigation-panel.is-open {
|
|
26
|
-
width: $nav-sidebar-width;
|
|
27
|
-
|
|
28
|
-
.edit-site-navigation-panel__inner {
|
|
29
|
-
visibility: visible;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.edit-site-navigation-panel__site-title-container {
|
|
34
|
-
height: $header-height;
|
|
35
|
-
padding-left: $header-height;
|
|
36
|
-
margin: 0 $grid-unit-20 0 $grid-unit-10;
|
|
37
|
-
display: flex;
|
|
38
|
-
align-items: center;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.edit-site-navigation-panel__site-title {
|
|
42
|
-
font-style: normal;
|
|
43
|
-
font-weight: 600;
|
|
44
|
-
font-size: 14px; /* Matches menu items */
|
|
45
|
-
line-height: 20px;
|
|
46
|
-
color: $gray-300;
|
|
47
|
-
|
|
48
|
-
display: -webkit-box;
|
|
49
|
-
-webkit-line-clamp: 2;
|
|
50
|
-
-webkit-box-orient: vertical;
|
|
51
|
-
overflow: hidden;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.edit-site-navigation-panel__scroll-container {
|
|
55
|
-
overflow-x: hidden;
|
|
56
|
-
overflow-y: auto;
|
|
57
|
-
height: calc(100% - #{$header-height});
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.edit-site-navigation-panel__back-to-dashboard.components-button.is-tertiary {
|
|
61
|
-
height: $button-size;
|
|
62
|
-
margin-top: $grid-unit-30;
|
|
63
|
-
padding: $grid-unit $grid-unit-20 $grid-unit $grid-unit;
|
|
64
|
-
|
|
65
|
-
&:focus:not(:disabled) {
|
|
66
|
-
border-bottom-color: transparent;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.edit-site-navigation-panel__preview {
|
|
71
|
-
display: none;
|
|
72
|
-
border: $border-width solid $gray-400;
|
|
73
|
-
width: $nav-sidebar-width;
|
|
74
|
-
padding: $grid-unit-20;
|
|
75
|
-
background: $white;
|
|
76
|
-
box-shadow: $shadow-popover;
|
|
77
|
-
border-radius: $radius-block-ui;
|
|
78
|
-
position: absolute;
|
|
79
|
-
top: $header-height + $grid-unit-15 + 1px; // +1px for the header border
|
|
80
|
-
left: $nav-sidebar-width + $grid-unit-15;
|
|
81
|
-
color: $gray-900;
|
|
82
|
-
z-index: z-index(".edit-site-navigation-panel__preview");
|
|
83
|
-
|
|
84
|
-
@include break-medium {
|
|
85
|
-
display: block;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.edit-site-navigation-panel__template-item {
|
|
90
|
-
display: block;
|
|
91
|
-
|
|
92
|
-
.components-button {
|
|
93
|
-
display: flex;
|
|
94
|
-
flex-direction: column;
|
|
95
|
-
align-items: flex-start;
|
|
96
|
-
justify-content: center;
|
|
97
|
-
height: auto;
|
|
98
|
-
min-height: $button-size;
|
|
99
|
-
text-align: left;
|
|
100
|
-
padding-left: $grid-unit-20;
|
|
101
|
-
padding-right: $grid-unit-20;
|
|
102
|
-
color: inherit;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.edit-site-navigation-panel__template-item-title {
|
|
107
|
-
font-size: 14px;
|
|
108
|
-
line-height: 20px;
|
|
109
|
-
|
|
110
|
-
em {
|
|
111
|
-
margin-right: 1ch;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.edit-site-navigation-panel__template-parts .components-navigation__menu-title-heading {
|
|
116
|
-
text-transform: capitalize;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.edit-site-navigation-panel__template-part-item .components-navigation__item-title {
|
|
120
|
-
text-transform: capitalize;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
.components-navigation__item + .edit-site-navigation-panel__template-item {
|
|
124
|
-
margin-top: $grid-unit-20;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
.edit-site-navigation-panel__template-item + .edit-site-navigation-panel__template-item {
|
|
128
|
-
margin-top: $grid-unit-10;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
.edit-site-navigation-panel__info-wrapper {
|
|
132
|
-
padding: $grid-unit-05 0;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
.edit-site-navigation-panel__template-item-description {
|
|
136
|
-
padding-top: $grid-unit-10;
|
|
137
|
-
font-size: 12px;
|
|
138
|
-
line-height: 16px;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
.edit-site-navigation-panel__new-template-dropdown {
|
|
142
|
-
margin: 0 0 0 $grid-unit-15;
|
|
143
|
-
|
|
144
|
-
button {
|
|
145
|
-
margin: 0;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
.edit-site-navigation-panel__new-template-popover {
|
|
149
|
-
@include break-small() {
|
|
150
|
-
min-width: 300px;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { map } from 'lodash';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Internal dependencies
|
|
8
|
-
*/
|
|
9
|
-
import {
|
|
10
|
-
MENU_TEMPLATES,
|
|
11
|
-
MENU_TEMPLATES_GENERAL,
|
|
12
|
-
MENU_TEMPLATES_PAGES,
|
|
13
|
-
MENU_TEMPLATES_POSTS,
|
|
14
|
-
TEMPLATE_OVERRIDES,
|
|
15
|
-
TEMPLATES_GENERAL,
|
|
16
|
-
TEMPLATES_PAGES_PREFIXES,
|
|
17
|
-
TEMPLATES_POSTS_PREFIXES,
|
|
18
|
-
TEMPLATES_TOP_LEVEL,
|
|
19
|
-
} from './constants';
|
|
20
|
-
|
|
21
|
-
export function isTemplateSuperseded( slug, existingSlugs, showOnFront ) {
|
|
22
|
-
if ( ! TEMPLATE_OVERRIDES[ slug ] ) {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// `home` template is unused if it is superseded by `front-page`
|
|
27
|
-
// or "show on front" is set to show a page rather than blog posts.
|
|
28
|
-
if ( slug === 'home' && showOnFront !== 'posts' ) {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return TEMPLATE_OVERRIDES[ slug ].every(
|
|
33
|
-
( overrideSlug ) =>
|
|
34
|
-
existingSlugs.includes( overrideSlug ) ||
|
|
35
|
-
isTemplateSuperseded( overrideSlug, existingSlugs, showOnFront )
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export function getTemplateLocation( slug ) {
|
|
40
|
-
const isTopLevelTemplate = TEMPLATES_TOP_LEVEL.includes( slug );
|
|
41
|
-
if ( isTopLevelTemplate ) {
|
|
42
|
-
return MENU_TEMPLATES;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const isGeneralTemplate = TEMPLATES_GENERAL.includes( slug );
|
|
46
|
-
if ( isGeneralTemplate ) {
|
|
47
|
-
return MENU_TEMPLATES_GENERAL;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const isPostsTemplate = TEMPLATES_POSTS_PREFIXES.some( ( prefix ) =>
|
|
51
|
-
slug.startsWith( prefix )
|
|
52
|
-
);
|
|
53
|
-
if ( isPostsTemplate ) {
|
|
54
|
-
return MENU_TEMPLATES_POSTS;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const isPagesTemplate = TEMPLATES_PAGES_PREFIXES.some( ( prefix ) =>
|
|
58
|
-
slug.startsWith( prefix )
|
|
59
|
-
);
|
|
60
|
-
if ( isPagesTemplate ) {
|
|
61
|
-
return MENU_TEMPLATES_PAGES;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return MENU_TEMPLATES_GENERAL;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export function getUnusedTemplates( templates, showOnFront ) {
|
|
68
|
-
const templateSlugs = map( templates, 'slug' );
|
|
69
|
-
const supersededTemplates = templates.filter( ( { slug } ) =>
|
|
70
|
-
isTemplateSuperseded( slug, templateSlugs, showOnFront )
|
|
71
|
-
);
|
|
72
|
-
|
|
73
|
-
return supersededTemplates;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export function getTemplatesLocationMap( templates ) {
|
|
77
|
-
return templates.reduce( ( obj, template ) => {
|
|
78
|
-
obj[ template.slug ] = getTemplateLocation( template.slug );
|
|
79
|
-
return obj;
|
|
80
|
-
}, {} );
|
|
81
|
-
}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import classnames from 'classnames';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* WordPress dependencies
|
|
8
|
-
*/
|
|
9
|
-
import { useSelect, useDispatch } from '@wordpress/data';
|
|
10
|
-
import { useEffect, useRef } from '@wordpress/element';
|
|
11
|
-
import {
|
|
12
|
-
Button,
|
|
13
|
-
Icon,
|
|
14
|
-
__unstableMotion as motion,
|
|
15
|
-
} from '@wordpress/components';
|
|
16
|
-
import { __ } from '@wordpress/i18n';
|
|
17
|
-
import { wordpress } from '@wordpress/icons';
|
|
18
|
-
import { store as coreDataStore } from '@wordpress/core-data';
|
|
19
|
-
import { useReducedMotion } from '@wordpress/compose';
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Internal dependencies
|
|
23
|
-
*/
|
|
24
|
-
import { store as editSiteStore } from '../../../store';
|
|
25
|
-
|
|
26
|
-
function NavigationToggle( { icon } ) {
|
|
27
|
-
const { isNavigationOpen, isRequestingSiteIcon, siteIconUrl } = useSelect(
|
|
28
|
-
( select ) => {
|
|
29
|
-
const { getEntityRecord, isResolving } = select( coreDataStore );
|
|
30
|
-
const siteData =
|
|
31
|
-
getEntityRecord( 'root', '__unstableBase', undefined ) || {};
|
|
32
|
-
|
|
33
|
-
return {
|
|
34
|
-
isNavigationOpen: select( editSiteStore ).isNavigationOpened(),
|
|
35
|
-
isRequestingSiteIcon: isResolving( 'core', 'getEntityRecord', [
|
|
36
|
-
'root',
|
|
37
|
-
'__unstableBase',
|
|
38
|
-
undefined,
|
|
39
|
-
] ),
|
|
40
|
-
siteIconUrl: siteData.site_icon_url,
|
|
41
|
-
};
|
|
42
|
-
},
|
|
43
|
-
[]
|
|
44
|
-
);
|
|
45
|
-
const { setIsNavigationPanelOpened } = useDispatch( editSiteStore );
|
|
46
|
-
|
|
47
|
-
const disableMotion = useReducedMotion();
|
|
48
|
-
|
|
49
|
-
const navigationToggleRef = useRef();
|
|
50
|
-
|
|
51
|
-
useEffect( () => {
|
|
52
|
-
// TODO: Remove this effect when alternative solution is merged.
|
|
53
|
-
// See: https://github.com/WordPress/gutenberg/pull/37314
|
|
54
|
-
if ( ! isNavigationOpen ) {
|
|
55
|
-
navigationToggleRef.current.focus();
|
|
56
|
-
}
|
|
57
|
-
}, [ isNavigationOpen ] );
|
|
58
|
-
|
|
59
|
-
const toggleNavigationPanel = () =>
|
|
60
|
-
setIsNavigationPanelOpened( ! isNavigationOpen );
|
|
61
|
-
|
|
62
|
-
let buttonIcon = <Icon size="36px" icon={ wordpress } />;
|
|
63
|
-
|
|
64
|
-
const effect = {
|
|
65
|
-
expand: {
|
|
66
|
-
scale: 1.25,
|
|
67
|
-
transition: { type: 'tween', duration: '0.3' },
|
|
68
|
-
},
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
if ( siteIconUrl ) {
|
|
72
|
-
buttonIcon = (
|
|
73
|
-
<motion.img
|
|
74
|
-
variants={ ! disableMotion && effect }
|
|
75
|
-
alt={ __( 'Site Icon' ) }
|
|
76
|
-
className="edit-site-navigation-toggle__site-icon"
|
|
77
|
-
src={ siteIconUrl }
|
|
78
|
-
/>
|
|
79
|
-
);
|
|
80
|
-
} else if ( isRequestingSiteIcon ) {
|
|
81
|
-
buttonIcon = null;
|
|
82
|
-
} else if ( icon ) {
|
|
83
|
-
buttonIcon = <Icon size="36px" icon={ icon } />;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const classes = classnames( {
|
|
87
|
-
'edit-site-navigation-toggle__button': true,
|
|
88
|
-
'has-icon': siteIconUrl,
|
|
89
|
-
} );
|
|
90
|
-
|
|
91
|
-
return (
|
|
92
|
-
<motion.div
|
|
93
|
-
className={
|
|
94
|
-
'edit-site-navigation-toggle' +
|
|
95
|
-
( isNavigationOpen ? ' is-open' : '' )
|
|
96
|
-
}
|
|
97
|
-
whileHover="expand"
|
|
98
|
-
>
|
|
99
|
-
<Button
|
|
100
|
-
className={ classes }
|
|
101
|
-
label={ __( 'Toggle navigation' ) }
|
|
102
|
-
ref={ navigationToggleRef }
|
|
103
|
-
// isPressed will add unwanted styles.
|
|
104
|
-
aria-pressed={ isNavigationOpen }
|
|
105
|
-
onClick={ toggleNavigationPanel }
|
|
106
|
-
showTooltip
|
|
107
|
-
>
|
|
108
|
-
{ buttonIcon }
|
|
109
|
-
</Button>
|
|
110
|
-
</motion.div>
|
|
111
|
-
);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
export default NavigationToggle;
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
// Developer notes: these rules are duplicated for the post editor.
|
|
2
|
-
// They need to be updated in both places.
|
|
3
|
-
|
|
4
|
-
.edit-site-navigation-toggle {
|
|
5
|
-
align-items: center;
|
|
6
|
-
background: $gray-900;
|
|
7
|
-
border-radius: 0;
|
|
8
|
-
display: flex;
|
|
9
|
-
position: absolute;
|
|
10
|
-
z-index: z-index(".edit-site-navigation-toggle");
|
|
11
|
-
height: $header-height;
|
|
12
|
-
width: $header-height;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.edit-site-navigation-toggle__button.components-button {
|
|
16
|
-
align-items: center;
|
|
17
|
-
background: $gray-900;
|
|
18
|
-
border-radius: 0;
|
|
19
|
-
color: $white;
|
|
20
|
-
height: $header-height + $border-width;
|
|
21
|
-
width: $header-height;
|
|
22
|
-
z-index: 1;
|
|
23
|
-
margin-bottom: - $border-width;
|
|
24
|
-
min-width: $header-height;
|
|
25
|
-
|
|
26
|
-
&:hover,
|
|
27
|
-
&:active {
|
|
28
|
-
color: $white;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
&:focus {
|
|
32
|
-
box-shadow: none;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
&::before {
|
|
36
|
-
transition: box-shadow 0.1s ease;
|
|
37
|
-
@include reduce-motion("transition");
|
|
38
|
-
content: "";
|
|
39
|
-
display: block;
|
|
40
|
-
position: absolute;
|
|
41
|
-
top: 9px;
|
|
42
|
-
right: 9px;
|
|
43
|
-
bottom: 9px;
|
|
44
|
-
left: 9px;
|
|
45
|
-
border-radius: $radius-block-ui + $border-width + $border-width;
|
|
46
|
-
box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) $gray-900;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// Hover color.
|
|
50
|
-
&:hover::before {
|
|
51
|
-
box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) $gray-700;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
&.has-icon:hover::before {
|
|
55
|
-
box-shadow: none;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Lightened spot color focus.
|
|
59
|
-
&:focus::before {
|
|
60
|
-
box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) rgba($white, 0.1), inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.edit-site-navigation-toggle__site-icon {
|
|
64
|
-
width: $button-size;
|
|
65
|
-
height: $button-size;
|
|
66
|
-
border-radius: $radius-block-ui;
|
|
67
|
-
object-fit: cover;
|
|
68
|
-
// Compensate for the top-bar border.
|
|
69
|
-
margin-top: -($border-width);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { render, screen } from '@testing-library/react';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* WordPress dependencies
|
|
8
|
-
*/
|
|
9
|
-
import { useSelect } from '@wordpress/data';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Internal dependencies
|
|
13
|
-
*/
|
|
14
|
-
import NavigationToggle from '..';
|
|
15
|
-
|
|
16
|
-
jest.mock( '@wordpress/data/src/components/use-select', () => {
|
|
17
|
-
// This allows us to tweak the returned value on each test.
|
|
18
|
-
return jest.fn();
|
|
19
|
-
} );
|
|
20
|
-
|
|
21
|
-
describe( 'NavigationToggle', () => {
|
|
22
|
-
describe( 'when in full screen mode', () => {
|
|
23
|
-
it( 'should display a user uploaded site icon if it exists', () => {
|
|
24
|
-
useSelect.mockImplementation( ( cb ) =>
|
|
25
|
-
cb( () => ( {
|
|
26
|
-
getEntityRecord: () => ( {
|
|
27
|
-
site_icon_url: 'https://fakeUrl.com',
|
|
28
|
-
} ),
|
|
29
|
-
isResolving: () => false,
|
|
30
|
-
isNavigationOpened: () => false,
|
|
31
|
-
} ) )
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
const { unmount } = render( <NavigationToggle /> );
|
|
35
|
-
|
|
36
|
-
const siteIcon = screen.getByAltText( 'Site Icon' );
|
|
37
|
-
expect( siteIcon ).toBeVisible();
|
|
38
|
-
|
|
39
|
-
// Unmount the UI synchronously so that any async effects, like the on-mount focus
|
|
40
|
-
// that shows and positions a tooltip, are cancelled right away and never run.
|
|
41
|
-
unmount();
|
|
42
|
-
} );
|
|
43
|
-
|
|
44
|
-
it( 'should display a default site icon if no user uploaded site icon exists', () => {
|
|
45
|
-
useSelect.mockImplementation( ( cb ) =>
|
|
46
|
-
cb( () => ( {
|
|
47
|
-
getEntityRecord: () => ( {
|
|
48
|
-
site_icon_url: '',
|
|
49
|
-
} ),
|
|
50
|
-
isResolving: () => false,
|
|
51
|
-
isNavigationOpened: () => false,
|
|
52
|
-
} ) )
|
|
53
|
-
);
|
|
54
|
-
|
|
55
|
-
const { unmount } = render( <NavigationToggle /> );
|
|
56
|
-
|
|
57
|
-
const siteIcon = screen.queryByAltText( 'Site Icon' );
|
|
58
|
-
expect( siteIcon ).not.toBeInTheDocument();
|
|
59
|
-
|
|
60
|
-
// Unmount the UI synchronously so that any async effects, like the on-mount focus
|
|
61
|
-
// that shows and positions a tooltip, are cancelled right away and never run.
|
|
62
|
-
unmount();
|
|
63
|
-
} );
|
|
64
|
-
} );
|
|
65
|
-
} );
|