@wordpress/edit-site 5.3.2 → 5.4.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 +3 -0
- package/build/components/add-new-template/new-template-part.js +8 -5
- package/build/components/add-new-template/new-template-part.js.map +1 -1
- package/build/components/add-new-template/new-template.js +9 -25
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/app/index.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +4 -3
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/index.js +3 -3
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/editor/index.js +28 -24
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/border-panel.js +6 -6
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-palette-panel.js +7 -4
- package/build/components/global-styles/color-palette-panel.js.map +1 -1
- package/build/components/global-styles/color-utils.js +1 -1
- package/build/components/global-styles/color-utils.js.map +1 -1
- package/build/components/global-styles/context-menu.js +16 -3
- package/build/components/global-styles/context-menu.js.map +1 -1
- package/build/components/global-styles/custom-css.js +3 -3
- package/build/components/global-styles/custom-css.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +10 -9
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/global-styles-provider.js +2 -2
- package/build/components/global-styles/global-styles-provider.js.map +1 -1
- package/build/components/global-styles/gradients-palette-panel.js +10 -5
- package/build/components/global-styles/gradients-palette-panel.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/hooks.js +16 -53
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/navigation-button.js +1 -1
- package/build/components/global-styles/navigation-button.js.map +1 -1
- package/build/components/global-styles/palette.js +5 -3
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/preview.js +2 -2
- package/build/components/global-styles/preview.js.map +1 -1
- package/build/components/global-styles/screen-background-color.js +5 -4
- package/build/components/global-styles/screen-background-color.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +14 -3
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-button-color.js +9 -7
- package/build/components/global-styles/screen-button-color.js.map +1 -1
- package/build/components/global-styles/screen-colors.js +10 -8
- package/build/components/global-styles/screen-colors.js.map +1 -1
- package/build/components/global-styles/screen-css.js +5 -5
- package/build/components/global-styles/screen-css.js.map +1 -1
- package/build/components/global-styles/screen-heading-color.js +10 -8
- package/build/components/global-styles/screen-heading-color.js.map +1 -1
- package/build/components/global-styles/screen-link-color.js +5 -4
- package/build/components/global-styles/screen-link-color.js.map +1 -1
- package/build/components/global-styles/screen-root.js +2 -2
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +2 -2
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/screen-text-color.js +5 -4
- package/build/components/global-styles/screen-text-color.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +5 -3
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/shadow-panel.js +4 -5
- package/build/components/global-styles/shadow-panel.js.map +1 -1
- package/build/components/global-styles/subtitle.js +3 -2
- package/build/components/global-styles/subtitle.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +24 -301
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/typography-preview.js +2 -2
- package/build/components/global-styles/typography-preview.js.map +1 -1
- package/build/components/global-styles/ui.js +3 -10
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles-renderer/index.js +2 -2
- package/build/components/global-styles-renderer/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +6 -3
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/config.js +1 -1
- package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build/components/layout/index.js +10 -23
- package/build/components/layout/index.js.map +1 -1
- package/build/components/list/actions/rename-menu-item.js +1 -1
- package/build/components/list/actions/rename-menu-item.js.map +1 -1
- package/build/components/list/table.js +1 -0
- package/build/components/list/table.js.map +1 -1
- package/build/components/navigation-inspector/index.js +0 -29
- package/build/components/navigation-inspector/index.js.map +1 -1
- package/build/components/navigation-inspector/navigation-menu.js +6 -4
- package/build/components/navigation-inspector/navigation-menu.js.map +1 -1
- package/build/components/save-panel/index.js +4 -3
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar/index.js +18 -23
- package/build/components/sidebar/index.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-edit-mode/template-card/index.js +9 -2
- package/build/components/sidebar-edit-mode/template-card/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-card/last-revision.js +84 -0
- package/build/components/sidebar-edit-mode/template-card/last-revision.js.map +1 -0
- package/build/components/sidebar-navigation-screen/index.js +28 -7
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-item/index.js +72 -0
- package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js +2 -2
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-template/index.js +70 -0
- package/build/components/sidebar-navigation-screen-template/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-templates/index.js +32 -82
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +43 -0
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -0
- package/build/components/site-hub/index.js +14 -49
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/start-template-options/index.js +175 -0
- package/build/components/start-template-options/index.js.map +1 -0
- package/build/components/style-book/index.js +10 -3
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +55 -20
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +3 -3
- package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
- package/build/components/sync-state-with-url/{use-sync-sidebar-path-with-url.js → use-sync-path-with-url.js} +12 -12
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -0
- package/build/components/use-edited-entity-record/index.js +6 -2
- package/build/components/use-edited-entity-record/index.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +7 -6
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/{experiments.js → private-apis.js} +3 -3
- package/build/private-apis.js.map +1 -0
- package/build/store/index.js +3 -3
- package/build/store/index.js.map +1 -1
- package/build/utils/get-is-list-page.js +5 -6
- package/build/utils/get-is-list-page.js.map +1 -1
- package/build-module/components/add-new-template/new-template-part.js +7 -4
- package/build-module/components/add-new-template/new-template-part.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +8 -22
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +2 -1
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/index.js +3 -3
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/editor/index.js +27 -25
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +8 -8
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-palette-panel.js +8 -5
- package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/color-utils.js +2 -2
- package/build-module/components/global-styles/color-utils.js.map +1 -1
- package/build-module/components/global-styles/context-menu.js +13 -2
- package/build-module/components/global-styles/context-menu.js.map +1 -1
- package/build-module/components/global-styles/custom-css.js +4 -4
- package/build-module/components/global-styles/custom-css.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +12 -11
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/global-styles-provider.js +3 -3
- package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
- package/build-module/components/global-styles/gradients-palette-panel.js +11 -6
- package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/header.js +5 -3
- package/build-module/components/global-styles/header.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +15 -52
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/navigation-button.js +2 -2
- package/build-module/components/global-styles/navigation-button.js.map +1 -1
- package/build-module/components/global-styles/palette.js +6 -4
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/preview.js +3 -3
- package/build-module/components/global-styles/preview.js.map +1 -1
- package/build-module/components/global-styles/screen-background-color.js +7 -6
- package/build-module/components/global-styles/screen-background-color.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +12 -3
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-button-color.js +11 -9
- package/build-module/components/global-styles/screen-button-color.js.map +1 -1
- package/build-module/components/global-styles/screen-colors.js +12 -10
- package/build-module/components/global-styles/screen-colors.js.map +1 -1
- package/build-module/components/global-styles/screen-css.js +5 -5
- package/build-module/components/global-styles/screen-css.js.map +1 -1
- package/build-module/components/global-styles/screen-heading-color.js +12 -10
- package/build-module/components/global-styles/screen-heading-color.js.map +1 -1
- package/build-module/components/global-styles/screen-link-color.js +7 -6
- package/build-module/components/global-styles/screen-link-color.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/screen-style-variations.js +3 -3
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/screen-text-color.js +7 -6
- package/build-module/components/global-styles/screen-text-color.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +6 -4
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel.js +6 -7
- package/build-module/components/global-styles/shadow-panel.js.map +1 -1
- package/build-module/components/global-styles/subtitle.js +3 -2
- package/build-module/components/global-styles/subtitle.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +29 -302
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-preview.js +3 -3
- package/build-module/components/global-styles/typography-preview.js.map +1 -1
- package/build-module/components/global-styles/ui.js +4 -11
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles-renderer/index.js +3 -3
- package/build-module/components/global-styles-renderer/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +6 -3
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/config.js +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build-module/components/layout/index.js +10 -23
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/list/actions/rename-menu-item.js +1 -1
- package/build-module/components/list/actions/rename-menu-item.js.map +1 -1
- package/build-module/components/list/table.js +1 -0
- package/build-module/components/list/table.js.map +1 -1
- package/build-module/components/navigation-inspector/index.js +0 -27
- package/build-module/components/navigation-inspector/index.js.map +1 -1
- package/build-module/components/navigation-inspector/navigation-menu.js +7 -5
- package/build-module/components/navigation-inspector/navigation-menu.js.map +1 -1
- package/build-module/components/save-panel/index.js +3 -2
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +15 -21
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +1 -1
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-card/index.js +9 -4
- package/build-module/components/sidebar-edit-mode/template-card/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-card/last-revision.js +70 -0
- package/build-module/components/sidebar-edit-mode/template-card/last-revision.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen/index.js +27 -9
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +55 -0
- package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +2 -2
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/index.js +53 -0
- package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-templates/index.js +34 -81
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +31 -0
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -0
- package/build-module/components/site-hub/index.js +14 -46
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +156 -0
- package/build-module/components/start-template-options/index.js.map +1 -0
- package/build-module/components/style-book/index.js +11 -4
- 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 +55 -21
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
- package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
- package/build-module/components/sync-state-with-url/{use-sync-sidebar-path-with-url.js → use-sync-path-with-url.js} +11 -11
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -0
- package/build-module/components/use-edited-entity-record/index.js +6 -2
- package/build-module/components/use-edited-entity-record/index.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +9 -8
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/{experiments.js → private-apis.js} +2 -2
- package/build-module/private-apis.js.map +1 -0
- package/build-module/store/index.js +1 -1
- package/build-module/store/index.js.map +1 -1
- package/build-module/utils/get-is-list-page.js +5 -6
- package/build-module/utils/get-is-list-page.js.map +1 -1
- package/build-style/style-rtl.css +91 -41
- package/build-style/style.css +91 -41
- package/package.json +31 -31
- package/src/components/add-new-template/new-template-part.js +7 -4
- package/src/components/add-new-template/new-template.js +9 -22
- package/src/components/app/index.js +0 -1
- package/src/components/block-editor/editor-canvas.js +2 -1
- package/src/components/block-editor/index.js +3 -3
- package/src/components/editor/index.js +31 -28
- package/src/components/global-styles/border-panel.js +8 -8
- package/src/components/global-styles/color-palette-panel.js +6 -3
- package/src/components/global-styles/color-utils.js +2 -3
- package/src/components/global-styles/context-menu.js +17 -2
- package/src/components/global-styles/custom-css.js +4 -4
- package/src/components/global-styles/dimensions-panel.js +15 -11
- package/src/components/global-styles/global-styles-provider.js +3 -3
- package/src/components/global-styles/gradients-palette-panel.js +7 -4
- package/src/components/global-styles/header.js +9 -3
- package/src/components/global-styles/hooks.js +20 -93
- package/src/components/global-styles/navigation-button.js +4 -2
- package/src/components/global-styles/palette.js +4 -4
- package/src/components/global-styles/preview.js +3 -3
- package/src/components/global-styles/screen-background-color.js +6 -5
- package/src/components/global-styles/screen-block-list.js +19 -3
- package/src/components/global-styles/screen-button-color.js +11 -9
- package/src/components/global-styles/screen-colors.js +10 -10
- package/src/components/global-styles/screen-css.js +14 -7
- package/src/components/global-styles/screen-heading-color.js +12 -10
- package/src/components/global-styles/screen-link-color.js +6 -5
- package/src/components/global-styles/screen-root.js +3 -3
- package/src/components/global-styles/screen-style-variations.js +3 -3
- package/src/components/global-styles/screen-text-color.js +6 -5
- package/src/components/global-styles/screen-typography.js +4 -4
- package/src/components/global-styles/shadow-panel.js +9 -6
- package/src/components/global-styles/style.scss +7 -1
- package/src/components/global-styles/subtitle.js +5 -2
- package/src/components/global-styles/typography-panel.js +31 -395
- package/src/components/global-styles/typography-preview.js +3 -3
- package/src/components/global-styles/ui.js +3 -8
- package/src/components/global-styles-renderer/index.js +3 -3
- package/src/components/header-edit-mode/index.js +6 -3
- package/src/components/keyboard-shortcut-help-modal/config.js +1 -1
- package/src/components/layout/index.js +35 -48
- package/src/components/layout/style.scss +11 -23
- package/src/components/list/actions/rename-menu-item.js +1 -1
- package/src/components/list/table.js +4 -0
- package/src/components/navigation-inspector/index.js +0 -32
- package/src/components/navigation-inspector/navigation-menu.js +10 -4
- package/src/components/save-panel/index.js +4 -1
- package/src/components/sidebar/index.js +14 -19
- package/src/components/sidebar-edit-mode/index.js +1 -1
- package/src/components/sidebar-edit-mode/template-card/index.js +24 -14
- package/src/components/sidebar-edit-mode/template-card/last-revision.js +75 -0
- package/src/components/sidebar-edit-mode/template-card/style.scss +4 -0
- package/src/components/sidebar-navigation-screen/index.js +27 -11
- package/src/components/sidebar-navigation-screen/style.scss +4 -6
- package/src/components/sidebar-navigation-screen-navigation-item/index.js +52 -0
- package/src/components/sidebar-navigation-screen-navigation-menus/index.js +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -4
- package/src/components/sidebar-navigation-screen-template/index.js +52 -0
- package/src/components/sidebar-navigation-screen-templates/index.js +49 -83
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +31 -0
- package/src/components/site-hub/index.js +67 -122
- package/src/components/site-hub/style.scss +1 -11
- package/src/components/start-template-options/index.js +171 -0
- package/src/components/start-template-options/style.scss +76 -0
- package/src/components/style-book/index.js +11 -7
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +48 -14
- package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
- package/src/components/sync-state-with-url/{use-sync-sidebar-path-with-url.js → use-sync-path-with-url.js} +10 -10
- package/src/components/use-edited-entity-record/index.js +6 -2
- package/src/hooks/push-changes-to-global-styles/index.js +29 -24
- package/src/{experiments.js → private-apis.js} +1 -1
- package/src/store/index.js +1 -1
- package/src/style.scss +1 -0
- package/src/utils/get-is-list-page.js +5 -5
- package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +0 -1
- package/build/experiments.js.map +0 -1
- package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +0 -1
- package/build-module/experiments.js.map +0 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
__experimentalItemGroup as ItemGroup,
|
|
6
|
+
__experimentalItem as Item,
|
|
7
|
+
} from '@wordpress/components';
|
|
5
8
|
import { __ } from '@wordpress/i18n';
|
|
6
|
-
import { useSelect } from '@wordpress/data';
|
|
7
9
|
import { useEntityRecords } from '@wordpress/core-data';
|
|
8
10
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
9
11
|
import { useViewportMatch } from '@wordpress/compose';
|
|
@@ -14,24 +16,8 @@ import { useViewportMatch } from '@wordpress/compose';
|
|
|
14
16
|
import SidebarNavigationScreen from '../sidebar-navigation-screen';
|
|
15
17
|
import { useLink } from '../routes/link';
|
|
16
18
|
import SidebarNavigationItem from '../sidebar-navigation-item';
|
|
17
|
-
import { useLocation } from '../routes';
|
|
18
|
-
import { store as editSiteStore } from '../../store';
|
|
19
19
|
import AddNewTemplate from '../add-new-template';
|
|
20
20
|
|
|
21
|
-
function omit( object, keys ) {
|
|
22
|
-
return Object.fromEntries(
|
|
23
|
-
Object.entries( object ).filter( ( [ key ] ) => ! keys.includes( key ) )
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const Item = ( { item } ) => {
|
|
28
|
-
const linkInfo = useLink( item.params );
|
|
29
|
-
const props = item.params
|
|
30
|
-
? { ...omit( item, 'params' ), ...linkInfo }
|
|
31
|
-
: item;
|
|
32
|
-
return <SidebarNavigationItem { ...props } />;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
21
|
const config = {
|
|
36
22
|
wp_template: {
|
|
37
23
|
path: '/templates',
|
|
@@ -53,23 +39,20 @@ const config = {
|
|
|
53
39
|
},
|
|
54
40
|
};
|
|
55
41
|
|
|
42
|
+
const TemplateItem = ( { postType, postId, ...props } ) => {
|
|
43
|
+
const linkInfo = useLink( {
|
|
44
|
+
postType,
|
|
45
|
+
postId,
|
|
46
|
+
path: config[ postType ].path + '/single',
|
|
47
|
+
} );
|
|
48
|
+
return <SidebarNavigationItem { ...linkInfo } { ...props } />;
|
|
49
|
+
};
|
|
50
|
+
|
|
56
51
|
export default function SidebarNavigationScreenTemplates( {
|
|
57
52
|
postType = 'wp_template',
|
|
58
53
|
} ) {
|
|
59
|
-
const { params } = useLocation();
|
|
60
54
|
const isMobileViewport = useViewportMatch( 'medium', '<' );
|
|
61
55
|
|
|
62
|
-
// Ideally the URL params would be enough.
|
|
63
|
-
// Loading the editor should ideally redirect to the home page
|
|
64
|
-
// instead of fetching the edited entity here.
|
|
65
|
-
const { editedPostId, editedPostType } = useSelect( ( select ) => {
|
|
66
|
-
const { getEditedPostType, getEditedPostId } = select( editSiteStore );
|
|
67
|
-
return {
|
|
68
|
-
editedPostId: getEditedPostId(),
|
|
69
|
-
editedPostType: getEditedPostType(),
|
|
70
|
-
};
|
|
71
|
-
}, [] );
|
|
72
|
-
|
|
73
56
|
const { records: templates, isResolving: isLoading } = useEntityRecords(
|
|
74
57
|
'postType',
|
|
75
58
|
postType,
|
|
@@ -78,44 +61,15 @@ export default function SidebarNavigationScreenTemplates( {
|
|
|
78
61
|
}
|
|
79
62
|
);
|
|
80
63
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
},
|
|
87
|
-
];
|
|
88
|
-
} else if ( ! templates && ! isLoading ) {
|
|
89
|
-
items = [
|
|
90
|
-
{
|
|
91
|
-
children: config[ postType ].labels.notFound,
|
|
92
|
-
},
|
|
93
|
-
];
|
|
94
|
-
} else {
|
|
95
|
-
items = templates?.map( ( template ) => ( {
|
|
96
|
-
params: {
|
|
97
|
-
postType,
|
|
98
|
-
postId: template.id,
|
|
99
|
-
},
|
|
100
|
-
children: decodeEntities(
|
|
101
|
-
template.title?.rendered || template.slug
|
|
102
|
-
),
|
|
103
|
-
'aria-current':
|
|
104
|
-
( params.postType === postType &&
|
|
105
|
-
params.postId === template.id ) ||
|
|
106
|
-
// This is a special case for the home page.
|
|
107
|
-
( editedPostId === template.id &&
|
|
108
|
-
editedPostType === postType &&
|
|
109
|
-
!! params.postId )
|
|
110
|
-
? 'page'
|
|
111
|
-
: undefined,
|
|
112
|
-
} ) );
|
|
113
|
-
}
|
|
64
|
+
const browseAllLink = useLink( {
|
|
65
|
+
postType,
|
|
66
|
+
postId: undefined,
|
|
67
|
+
path: config[ postType ].path + '/all',
|
|
68
|
+
} );
|
|
114
69
|
|
|
115
70
|
return (
|
|
116
71
|
<SidebarNavigationScreen
|
|
117
72
|
path={ config[ postType ].path }
|
|
118
|
-
parentTitle={ __( 'Design' ) }
|
|
119
73
|
title={ config[ postType ].labels.title }
|
|
120
74
|
actions={
|
|
121
75
|
! isMobileViewport && (
|
|
@@ -130,25 +84,37 @@ export default function SidebarNavigationScreenTemplates( {
|
|
|
130
84
|
}
|
|
131
85
|
content={
|
|
132
86
|
<>
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
87
|
+
{ isLoading && config[ postType ].labels.loading }
|
|
88
|
+
{ ! isLoading && (
|
|
89
|
+
<ItemGroup>
|
|
90
|
+
{ ! templates?.length && (
|
|
91
|
+
<Item>
|
|
92
|
+
{ config[ postType ].labels.notFound }
|
|
93
|
+
</Item>
|
|
94
|
+
) }
|
|
95
|
+
{ ( templates ?? [] ).map( ( template ) => (
|
|
96
|
+
<TemplateItem
|
|
97
|
+
postType={ postType }
|
|
98
|
+
postId={ template.id }
|
|
99
|
+
key={ template.id }
|
|
100
|
+
>
|
|
101
|
+
{ decodeEntities(
|
|
102
|
+
template.title?.rendered ||
|
|
103
|
+
template.slug
|
|
104
|
+
) }
|
|
105
|
+
</TemplateItem>
|
|
106
|
+
) ) }
|
|
107
|
+
{ ! isMobileViewport && (
|
|
108
|
+
<SidebarNavigationItem
|
|
109
|
+
className="edit-site-sidebar-navigation-screen-templates__see-all"
|
|
110
|
+
{ ...browseAllLink }
|
|
111
|
+
children={
|
|
112
|
+
config[ postType ].labels.manage
|
|
113
|
+
}
|
|
114
|
+
/>
|
|
115
|
+
) }
|
|
116
|
+
</ItemGroup>
|
|
117
|
+
) }
|
|
152
118
|
</>
|
|
153
119
|
}
|
|
154
120
|
/>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import SidebarNavigationScreen from '../sidebar-navigation-screen';
|
|
10
|
+
|
|
11
|
+
const config = {
|
|
12
|
+
wp_template: {
|
|
13
|
+
path: '/templates/all',
|
|
14
|
+
title: __( 'All templates' ),
|
|
15
|
+
},
|
|
16
|
+
wp_template_part: {
|
|
17
|
+
path: '/template-parts/all',
|
|
18
|
+
title: __( 'All template parts' ),
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export default function SidebarNavigationScreenTemplatesBrowse( {
|
|
23
|
+
postType = 'wp_template',
|
|
24
|
+
} ) {
|
|
25
|
+
return (
|
|
26
|
+
<SidebarNavigationScreen
|
|
27
|
+
path={ config[ postType ].path }
|
|
28
|
+
title={ config[ postType ].title }
|
|
29
|
+
/>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
@@ -11,9 +11,8 @@ import {
|
|
|
11
11
|
Button,
|
|
12
12
|
__unstableMotion as motion,
|
|
13
13
|
__experimentalHStack as HStack,
|
|
14
|
-
__experimentalVStack as VStack,
|
|
15
14
|
} from '@wordpress/components';
|
|
16
|
-
import { useReducedMotion
|
|
15
|
+
import { useReducedMotion } from '@wordpress/compose';
|
|
17
16
|
import { __ } from '@wordpress/i18n';
|
|
18
17
|
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
19
18
|
import { store as coreStore } from '@wordpress/core-data';
|
|
@@ -23,137 +22,83 @@ import { forwardRef } from '@wordpress/element';
|
|
|
23
22
|
* Internal dependencies
|
|
24
23
|
*/
|
|
25
24
|
import { store as editSiteStore } from '../../store';
|
|
26
|
-
import { useLocation } from '../routes';
|
|
27
|
-
import getIsListPage from '../../utils/get-is-list-page';
|
|
28
25
|
import SiteIcon from '../site-icon';
|
|
29
|
-
import
|
|
30
|
-
import { unlock } from '../../experiments';
|
|
26
|
+
import { unlock } from '../../private-apis';
|
|
31
27
|
|
|
32
28
|
const HUB_ANIMATION_DURATION = 0.3;
|
|
33
29
|
|
|
34
|
-
const SiteHub = forwardRef(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
const { canvasMode, dashboardLink, entityConfig } = useSelect(
|
|
40
|
-
( select ) => {
|
|
41
|
-
select( editSiteStore ).getEditedPostType();
|
|
42
|
-
const { getCanvasMode, getSettings, getEditedPostType } =
|
|
43
|
-
unlock( select( editSiteStore ) );
|
|
44
|
-
return {
|
|
45
|
-
canvasMode: getCanvasMode(),
|
|
46
|
-
dashboardLink: getSettings().__experimentalDashboardLink,
|
|
47
|
-
entityConfig: select( coreStore ).getEntityConfig(
|
|
48
|
-
'postType',
|
|
49
|
-
getEditedPostType()
|
|
50
|
-
),
|
|
51
|
-
};
|
|
52
|
-
},
|
|
53
|
-
[]
|
|
30
|
+
const SiteHub = forwardRef( ( props, ref ) => {
|
|
31
|
+
const { canvasMode, dashboardLink } = useSelect( ( select ) => {
|
|
32
|
+
select( editSiteStore ).getEditedPostType();
|
|
33
|
+
const { getCanvasMode, getSettings } = unlock(
|
|
34
|
+
select( editSiteStore )
|
|
54
35
|
);
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
36
|
+
return {
|
|
37
|
+
canvasMode: getCanvasMode(),
|
|
38
|
+
dashboardLink: getSettings().__experimentalDashboardLink,
|
|
39
|
+
};
|
|
40
|
+
}, [] );
|
|
41
|
+
const disableMotion = useReducedMotion();
|
|
42
|
+
const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
|
|
43
|
+
const { clearSelectedBlock } = useDispatch( blockEditorStore );
|
|
44
|
+
const isBackToDashboardButton = canvasMode === 'view';
|
|
45
|
+
const showLabels = canvasMode !== 'edit';
|
|
46
|
+
const siteIconButtonProps = isBackToDashboardButton
|
|
47
|
+
? {
|
|
48
|
+
href: dashboardLink || 'index.php',
|
|
49
|
+
'aria-label': __( 'Go back to the dashboard' ),
|
|
50
|
+
}
|
|
51
|
+
: {
|
|
52
|
+
label: __( 'Open Navigation Sidebar' ),
|
|
53
|
+
onClick: () => {
|
|
54
|
+
clearSelectedBlock();
|
|
55
|
+
setCanvasMode( 'view' );
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
const siteTitle = useSelect(
|
|
59
|
+
( select ) =>
|
|
60
|
+
select( coreStore ).getEntityRecord( 'root', 'site' )?.title,
|
|
61
|
+
[]
|
|
62
|
+
);
|
|
82
63
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
64
|
+
return (
|
|
65
|
+
<motion.div
|
|
66
|
+
ref={ ref }
|
|
67
|
+
{ ...props }
|
|
68
|
+
className={ classnames( 'edit-site-site-hub', props.className ) }
|
|
69
|
+
layout
|
|
70
|
+
transition={ {
|
|
71
|
+
type: 'tween',
|
|
72
|
+
duration: disableMotion ? 0 : HUB_ANIMATION_DURATION,
|
|
73
|
+
ease: 'easeOut',
|
|
74
|
+
} }
|
|
75
|
+
>
|
|
76
|
+
<HStack
|
|
77
|
+
justify="flex-start"
|
|
78
|
+
className="edit-site-site-hub__text-content"
|
|
79
|
+
spacing="0"
|
|
97
80
|
>
|
|
98
|
-
<
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
81
|
+
<motion.div
|
|
82
|
+
className="edit-site-site-hub__view-mode-toggle-container"
|
|
83
|
+
layout
|
|
84
|
+
transition={ {
|
|
85
|
+
type: 'tween',
|
|
86
|
+
duration: disableMotion ? 0 : HUB_ANIMATION_DURATION,
|
|
87
|
+
ease: 'easeOut',
|
|
88
|
+
} }
|
|
102
89
|
>
|
|
103
|
-
<motion.div
|
|
104
|
-
className="edit-site-site-hub__view-mode-toggle-container"
|
|
105
|
-
layout
|
|
106
|
-
transition={ {
|
|
107
|
-
type: 'tween',
|
|
108
|
-
duration: disableMotion
|
|
109
|
-
? 0
|
|
110
|
-
: HUB_ANIMATION_DURATION,
|
|
111
|
-
ease: 'easeOut',
|
|
112
|
-
} }
|
|
113
|
-
>
|
|
114
|
-
<Button
|
|
115
|
-
{ ...siteIconButtonProps }
|
|
116
|
-
className="edit-site-layout__view-mode-toggle"
|
|
117
|
-
>
|
|
118
|
-
<SiteIcon className="edit-site-layout__view-mode-toggle-icon" />
|
|
119
|
-
</Button>
|
|
120
|
-
</motion.div>
|
|
121
|
-
|
|
122
|
-
{ showLabels && (
|
|
123
|
-
<VStack spacing={ 0 }>
|
|
124
|
-
<div className="edit-site-site-hub__title">
|
|
125
|
-
{ getTitle() }
|
|
126
|
-
</div>
|
|
127
|
-
<div className="edit-site-site-hub__post-type">
|
|
128
|
-
{ entityConfig?.label }
|
|
129
|
-
</div>
|
|
130
|
-
</VStack>
|
|
131
|
-
) }
|
|
132
|
-
</HStack>
|
|
133
|
-
|
|
134
|
-
{ showEditButton && (
|
|
135
90
|
<Button
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
setCanvasMode( 'edit' );
|
|
139
|
-
} }
|
|
140
|
-
variant="primary"
|
|
91
|
+
{ ...siteIconButtonProps }
|
|
92
|
+
className="edit-site-layout__view-mode-toggle"
|
|
141
93
|
>
|
|
142
|
-
|
|
94
|
+
<SiteIcon className="edit-site-layout__view-mode-toggle-icon" />
|
|
143
95
|
</Button>
|
|
144
|
-
|
|
96
|
+
</motion.div>
|
|
145
97
|
|
|
146
|
-
{
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
{ __( 'View Editor' ) }
|
|
152
|
-
</Button>
|
|
153
|
-
) }
|
|
154
|
-
</motion.div>
|
|
155
|
-
);
|
|
156
|
-
}
|
|
157
|
-
);
|
|
98
|
+
{ showLabels && <div>{ siteTitle }</div> }
|
|
99
|
+
</HStack>
|
|
100
|
+
</motion.div>
|
|
101
|
+
);
|
|
102
|
+
} );
|
|
158
103
|
|
|
159
104
|
export default SiteHub;
|
|
@@ -5,11 +5,6 @@
|
|
|
5
5
|
gap: $grid-unit-10;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
.edit-site-site-hub__edit-button {
|
|
9
|
-
height: $grid-unit-40;
|
|
10
|
-
color: $white;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
8
|
.edit-site-site-hub__post-type {
|
|
14
9
|
opacity: 0.6;
|
|
15
10
|
}
|
|
@@ -18,12 +13,7 @@
|
|
|
18
13
|
height: $header-height;
|
|
19
14
|
width: $header-height + 4px;
|
|
20
15
|
flex-shrink: 0;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
.edit-site-layout.is-edit-mode {
|
|
24
|
-
.edit-site-site-hub__view-mode-toggle-container {
|
|
25
|
-
width: $header-height;
|
|
26
|
-
}
|
|
16
|
+
background: $gray-900;
|
|
27
17
|
}
|
|
28
18
|
|
|
29
19
|
.edit-site-site-hub__text-content {
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { Modal } from '@wordpress/components';
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { useState, useEffect, useMemo } from '@wordpress/element';
|
|
7
|
+
import { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
|
|
8
|
+
import { useSelect } from '@wordpress/data';
|
|
9
|
+
import { useAsyncList } from '@wordpress/compose';
|
|
10
|
+
import { store as preferencesStore } from '@wordpress/preferences';
|
|
11
|
+
import { parse } from '@wordpress/blocks';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Internal dependencies
|
|
15
|
+
*/
|
|
16
|
+
import { store as editSiteStore } from '../../store';
|
|
17
|
+
import { store as coreStore, useEntityBlockEditor } from '@wordpress/core-data';
|
|
18
|
+
import apiFetch from '@wordpress/api-fetch';
|
|
19
|
+
import { addQueryArgs } from '@wordpress/url';
|
|
20
|
+
|
|
21
|
+
function useFallbackTemplateContent( slug, isCustom = false ) {
|
|
22
|
+
const [ templateContent, setTemplateContent ] = useState( '' );
|
|
23
|
+
|
|
24
|
+
useEffect( () => {
|
|
25
|
+
apiFetch( {
|
|
26
|
+
path: addQueryArgs( '/wp/v2/templates/lookup', {
|
|
27
|
+
slug,
|
|
28
|
+
is_custom: isCustom,
|
|
29
|
+
ignore_empty: true,
|
|
30
|
+
} ),
|
|
31
|
+
} ).then( ( { content } ) => setTemplateContent( content.raw ) );
|
|
32
|
+
}, [ slug ] );
|
|
33
|
+
return templateContent;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const START_BLANK_TITLE = __( 'Start blank' );
|
|
37
|
+
|
|
38
|
+
function PatternSelection( { fallbackContent, onChoosePattern, postType } ) {
|
|
39
|
+
const [ , , onChange ] = useEntityBlockEditor( 'postType', postType );
|
|
40
|
+
const blockPatterns = useMemo(
|
|
41
|
+
() => [
|
|
42
|
+
{
|
|
43
|
+
name: 'fallback',
|
|
44
|
+
blocks: parse( fallbackContent ),
|
|
45
|
+
title: __( 'Fallback content' ),
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'start-blank',
|
|
49
|
+
blocks: parse(
|
|
50
|
+
'<!-- wp:paragraph --><p></p><!-- /wp:paragraph -->'
|
|
51
|
+
),
|
|
52
|
+
title: START_BLANK_TITLE,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
[ fallbackContent ]
|
|
56
|
+
);
|
|
57
|
+
const shownBlockPatterns = useAsyncList( blockPatterns );
|
|
58
|
+
|
|
59
|
+
return (
|
|
60
|
+
<div
|
|
61
|
+
className="edit-site-start-template-options__pattern-container"
|
|
62
|
+
style={ {
|
|
63
|
+
'--wp-edit-site-start-template-options-start-blank': `"${ START_BLANK_TITLE }"`,
|
|
64
|
+
} }
|
|
65
|
+
>
|
|
66
|
+
<BlockPatternsList
|
|
67
|
+
blockPatterns={ blockPatterns }
|
|
68
|
+
shownPatterns={ shownBlockPatterns }
|
|
69
|
+
onClickPattern={ ( pattern, blocks ) => {
|
|
70
|
+
onChange( 'start-blank' === pattern.name ? [] : blocks, {
|
|
71
|
+
selection: undefined,
|
|
72
|
+
} );
|
|
73
|
+
onChoosePattern();
|
|
74
|
+
} }
|
|
75
|
+
/>
|
|
76
|
+
</div>
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function StartModal( { slug, isCustom, onClose, postType } ) {
|
|
81
|
+
const fallbackContent = useFallbackTemplateContent( slug, isCustom );
|
|
82
|
+
if ( ! fallbackContent ) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
return (
|
|
86
|
+
<Modal
|
|
87
|
+
className="edit-site-start-template-options__modal"
|
|
88
|
+
title={ __( 'Choose a pattern' ) }
|
|
89
|
+
closeLabel={ __( 'Cancel' ) }
|
|
90
|
+
focusOnMount="firstElement"
|
|
91
|
+
onRequestClose={ onClose }
|
|
92
|
+
>
|
|
93
|
+
<div className="edit-site-start-template-options__modal-content">
|
|
94
|
+
<PatternSelection
|
|
95
|
+
fallbackContent={ fallbackContent }
|
|
96
|
+
slug={ slug }
|
|
97
|
+
isCustom={ isCustom }
|
|
98
|
+
postType={ postType }
|
|
99
|
+
onChoosePattern={ () => {
|
|
100
|
+
onClose();
|
|
101
|
+
} }
|
|
102
|
+
/>
|
|
103
|
+
</div>
|
|
104
|
+
</Modal>
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const START_TEMPLATE_MODAL_STATES = {
|
|
109
|
+
INITIAL: 'INITIAL',
|
|
110
|
+
CLOSED: 'CLOSED',
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export default function StartTemplateOptions() {
|
|
114
|
+
const [ modalState, setModalState ] = useState(
|
|
115
|
+
START_TEMPLATE_MODAL_STATES.INITIAL
|
|
116
|
+
);
|
|
117
|
+
const { shouldOpenModel, slug, isCustom, postType } = useSelect(
|
|
118
|
+
( select ) => {
|
|
119
|
+
const { getEditedPostType, getEditedPostId } =
|
|
120
|
+
select( editSiteStore );
|
|
121
|
+
const _postType = getEditedPostType();
|
|
122
|
+
const postId = getEditedPostId();
|
|
123
|
+
const {
|
|
124
|
+
__experimentalGetDirtyEntityRecords,
|
|
125
|
+
getEditedEntityRecord,
|
|
126
|
+
} = select( coreStore );
|
|
127
|
+
const templateRecord = getEditedEntityRecord(
|
|
128
|
+
'postType',
|
|
129
|
+
_postType,
|
|
130
|
+
postId
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
const hasDirtyEntityRecords =
|
|
134
|
+
__experimentalGetDirtyEntityRecords().length > 0;
|
|
135
|
+
|
|
136
|
+
return {
|
|
137
|
+
shouldOpenModel:
|
|
138
|
+
! hasDirtyEntityRecords &&
|
|
139
|
+
'' === templateRecord.content &&
|
|
140
|
+
'wp_template' === _postType &&
|
|
141
|
+
! select( preferencesStore ).get(
|
|
142
|
+
'core/edit-site',
|
|
143
|
+
'welcomeGuide'
|
|
144
|
+
),
|
|
145
|
+
slug: templateRecord.slug,
|
|
146
|
+
isCustom: templateRecord.is_custom,
|
|
147
|
+
postType: _postType,
|
|
148
|
+
};
|
|
149
|
+
},
|
|
150
|
+
[]
|
|
151
|
+
);
|
|
152
|
+
|
|
153
|
+
if (
|
|
154
|
+
( modalState === START_TEMPLATE_MODAL_STATES.INITIAL &&
|
|
155
|
+
! shouldOpenModel ) ||
|
|
156
|
+
modalState === START_TEMPLATE_MODAL_STATES.CLOSED
|
|
157
|
+
) {
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return (
|
|
162
|
+
<StartModal
|
|
163
|
+
slug={ slug }
|
|
164
|
+
isCustom={ isCustom }
|
|
165
|
+
postType={ postType }
|
|
166
|
+
onClose={ () =>
|
|
167
|
+
setModalState( START_TEMPLATE_MODAL_STATES.CLOSED )
|
|
168
|
+
}
|
|
169
|
+
/>
|
|
170
|
+
);
|
|
171
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
.edit-site-start-template-options__modal.components-modal__frame {
|
|
2
|
+
// To keep modal dimensions consistent as subsections are navigated, width
|
|
3
|
+
// and height are used instead of max-(width/height).
|
|
4
|
+
@include break-small() {
|
|
5
|
+
width: calc(100% - #{ $grid-unit-20 * 2 });
|
|
6
|
+
height: calc(100% - #{ $header-height * 2 });
|
|
7
|
+
}
|
|
8
|
+
@include break-medium() {
|
|
9
|
+
width: 50%;
|
|
10
|
+
}
|
|
11
|
+
@include break-large() {
|
|
12
|
+
height: fit-content;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.edit-site-start-template-options__modal-content .block-editor-block-patterns-list {
|
|
17
|
+
display: grid;
|
|
18
|
+
width: 100%;
|
|
19
|
+
margin-top: $grid-unit-05;
|
|
20
|
+
gap: $grid-unit-30;
|
|
21
|
+
grid-template-columns: repeat(auto-fit, minmax(min(100%/2, max(240px, 100%/10)), 1fr));
|
|
22
|
+
.block-editor-block-patterns-list__list-item {
|
|
23
|
+
break-inside: avoid-column;
|
|
24
|
+
margin-bottom: 0;
|
|
25
|
+
width: 100%;
|
|
26
|
+
aspect-ratio: 3/4;
|
|
27
|
+
|
|
28
|
+
.block-editor-block-preview__container {
|
|
29
|
+
height: 100%;
|
|
30
|
+
box-shadow: 0 0 0 1px $gray-300;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.block-editor-block-preview__content {
|
|
34
|
+
width: 100%;
|
|
35
|
+
position: absolute;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.block-editor-block-patterns-list__item-title {
|
|
39
|
+
display: none;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&:hover {
|
|
43
|
+
.block-editor-block-preview__container {
|
|
44
|
+
box-shadow: 0 0 0 2px var(--wp-admin-theme-color);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&:focus {
|
|
49
|
+
.block-editor-block-preview__container {
|
|
50
|
+
box-shadow: inset 0 0 0 1px $white, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
|
|
51
|
+
|
|
52
|
+
// Windows High Contrast mode will show this outline, but not the box-shadow.
|
|
53
|
+
outline: 2px solid transparent;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// The start blank pattern is the last and we are selecting it.
|
|
59
|
+
.block-editor-block-patterns-list__list-item:nth-last-child(2) {
|
|
60
|
+
.block-editor-block-preview__container {
|
|
61
|
+
position: absolute;
|
|
62
|
+
padding: 0;
|
|
63
|
+
background: #f0f0f0;
|
|
64
|
+
&::after {
|
|
65
|
+
width: 100%;
|
|
66
|
+
top: 50%;
|
|
67
|
+
margin-top: -1em;
|
|
68
|
+
content: var(--wp-edit-site-start-template-options-start-blank);
|
|
69
|
+
text-align: center;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
iframe {
|
|
73
|
+
display: none;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|