@wordpress/edit-site 5.14.0 → 5.15.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/add-new-page/index.js +1 -6
- package/build/components/add-new-page/index.js.map +1 -1
- package/build/components/add-new-pattern/index.js +21 -7
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/add-new-template/utils.js +10 -8
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/block-editor/constants.js +1 -1
- package/build/components/block-editor/constants.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +1 -1
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/index.js +0 -4
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +87 -13
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/code-editor/index.js +60 -28
- package/build/components/code-editor/index.js.map +1 -1
- package/build/components/create-pattern-modal/index.js +7 -3
- package/build/components/create-pattern-modal/index.js.map +1 -1
- package/build/components/editor/index.js +1 -1
- package/build/components/editor/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +13 -9
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/layout/index.js +8 -3
- package/build/components/layout/index.js.map +1 -1
- package/build/components/page-actions/index.js +2 -2
- package/build/components/page-actions/index.js.map +1 -1
- package/build/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -16
- package/build/components/page-actions/trash-page-menu-item.js.map +1 -0
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -5
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/page-patterns/duplicate-menu-item.js +163 -0
- package/build/components/page-patterns/duplicate-menu-item.js.map +1 -0
- package/build/components/page-patterns/grid-item.js +83 -58
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/grid.js +5 -18
- package/build/components/page-patterns/grid.js.map +1 -1
- package/build/components/page-patterns/header.js +69 -0
- package/build/components/page-patterns/header.js.map +1 -0
- package/build/components/page-patterns/index.js +3 -1
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/pagination.js +63 -0
- package/build/components/page-patterns/pagination.js.map +1 -0
- package/build/components/page-patterns/patterns-list.js +95 -30
- package/build/components/page-patterns/patterns-list.js.map +1 -1
- package/build/components/page-patterns/rename-menu-item.js +109 -0
- package/build/components/page-patterns/rename-menu-item.js.map +1 -0
- package/build/components/page-patterns/use-patterns.js +102 -121
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-template-parts/add-new-template-part.js +74 -0
- package/build/components/page-template-parts/add-new-template-part.js.map +1 -0
- package/build/components/page-template-parts/index.js +2 -23
- package/build/components/page-template-parts/index.js.map +1 -1
- package/build/components/resizable-frame/index.js +78 -36
- package/build/components/resizable-frame/index.js.map +1 -1
- package/build/components/save-panel/index.js +5 -5
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-content.js +4 -3
- package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
- package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build/components/sidebar-navigation-screen/index.js +14 -8
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/index.js +4 -2
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/template-part-hint.js +45 -0
- package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js +4 -4
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +4 -3
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
- package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/index.js +2 -3
- package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/status-label.js +1 -34
- package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pages/index.js +33 -25
- package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js +9 -7
- package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -3
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +5 -2
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +72 -51
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +11 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +20 -9
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build/components/site-hub/index.js +24 -11
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -5
- 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-path-with-url.js +15 -12
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build/components/template-actions/index.js +3 -1
- package/build/components/template-actions/index.js.map +1 -1
- package/build/components/template-actions/rename-menu-item.js +12 -8
- package/build/components/template-actions/rename-menu-item.js.map +1 -1
- package/build/components/use-edited-entity-record/index.js +6 -1
- package/build/components/use-edited-entity-record/index.js.map +1 -1
- package/build/hooks/commands/use-common-commands.js +78 -20
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +56 -10
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/store/private-actions.js +7 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/utils/normalize-record-key.js +19 -0
- package/build/utils/normalize-record-key.js.map +1 -0
- package/build/utils/use-activate-theme.js +1 -1
- package/build/utils/use-activate-theme.js.map +1 -1
- package/build-module/components/add-new-page/index.js +1 -6
- package/build-module/components/add-new-page/index.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +19 -7
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/add-new-template/utils.js +9 -6
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/block-editor/constants.js +1 -1
- package/build-module/components/block-editor/constants.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +1 -1
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/index.js +0 -4
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +89 -14
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/code-editor/index.js +62 -30
- package/build-module/components/code-editor/index.js.map +1 -1
- package/build-module/components/create-pattern-modal/index.js +6 -3
- package/build-module/components/create-pattern-modal/index.js.map +1 -1
- package/build-module/components/editor/index.js +1 -1
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +13 -9
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/layout/index.js +8 -3
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/page-actions/index.js +2 -2
- package/build-module/components/page-actions/index.js.map +1 -1
- package/build-module/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -17
- package/build-module/components/page-actions/trash-page-menu-item.js.map +1 -0
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -3
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/page-patterns/duplicate-menu-item.js +147 -0
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -0
- package/build-module/components/page-patterns/grid-item.js +84 -64
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/grid.js +5 -17
- package/build-module/components/page-patterns/grid.js.map +1 -1
- package/build-module/components/page-patterns/header.js +54 -0
- package/build-module/components/page-patterns/header.js.map +1 -0
- package/build-module/components/page-patterns/index.js +3 -1
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/pagination.js +54 -0
- package/build-module/components/page-patterns/pagination.js.map +1 -0
- package/build-module/components/page-patterns/patterns-list.js +96 -33
- package/build-module/components/page-patterns/patterns-list.js.map +1 -1
- package/build-module/components/page-patterns/rename-menu-item.js +97 -0
- package/build-module/components/page-patterns/rename-menu-item.js.map +1 -0
- package/build-module/components/page-patterns/use-patterns.js +103 -122
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-template-parts/add-new-template-part.js +58 -0
- package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -0
- package/build-module/components/page-template-parts/index.js +3 -22
- package/build-module/components/page-template-parts/index.js.map +1 -1
- package/build-module/components/resizable-frame/index.js +79 -39
- package/build-module/components/resizable-frame/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +5 -5
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +5 -2
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen/index.js +15 -9
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.js +4 -3
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +33 -0
- package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +4 -4
- package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +4 -3
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/index.js +2 -3
- package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/status-label.js +1 -32
- package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pages/index.js +33 -25
- package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js +8 -7
- package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -3
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +4 -2
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +76 -53
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +10 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +18 -9
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build-module/components/site-hub/index.js +24 -11
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +7 -5
- 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-path-with-url.js +16 -12
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build-module/components/template-actions/index.js +2 -1
- package/build-module/components/template-actions/index.js.map +1 -1
- package/build-module/components/template-actions/rename-menu-item.js +11 -8
- package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
- package/build-module/components/use-edited-entity-record/index.js +3 -1
- package/build-module/components/use-edited-entity-record/index.js.map +1 -1
- package/build-module/hooks/commands/use-common-commands.js +74 -20
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +57 -10
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/store/private-actions.js +7 -1
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/utils/normalize-record-key.js +12 -0
- package/build-module/utils/normalize-record-key.js.map +1 -0
- package/build-module/utils/use-activate-theme.js +1 -1
- package/build-module/utils/use-activate-theme.js.map +1 -1
- package/build-style/style-rtl.css +221 -63
- package/build-style/style.css +221 -63
- package/package.json +39 -40
- package/src/components/add-new-page/index.js +0 -3
- package/src/components/add-new-pattern/index.js +23 -12
- package/src/components/add-new-template/utils.js +9 -6
- package/src/components/block-editor/constants.js +5 -1
- package/src/components/block-editor/editor-canvas.js +1 -1
- package/src/components/block-editor/index.js +0 -4
- package/src/components/block-editor/use-site-editor-settings.js +99 -20
- package/src/components/canvas-spinner/style.scss +14 -0
- package/src/components/code-editor/index.js +51 -33
- package/src/components/create-pattern-modal/index.js +5 -2
- package/src/components/editor/index.js +2 -2
- package/src/components/header-edit-mode/document-actions/style.scss +4 -0
- package/src/components/header-edit-mode/index.js +29 -22
- package/src/components/layout/index.js +16 -2
- package/src/components/layout/style.scss +2 -1
- package/src/components/page-actions/index.js +2 -2
- package/src/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +9 -22
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +12 -3
- package/src/components/page-patterns/duplicate-menu-item.js +196 -0
- package/src/components/page-patterns/grid-item.js +189 -133
- package/src/components/page-patterns/grid.js +3 -20
- package/src/components/page-patterns/header.js +69 -0
- package/src/components/page-patterns/index.js +6 -1
- package/src/components/page-patterns/pagination.js +80 -0
- package/src/components/page-patterns/patterns-list.js +160 -72
- package/src/components/page-patterns/rename-menu-item.js +115 -0
- package/src/components/page-patterns/style.scss +140 -30
- package/src/components/page-patterns/use-patterns.js +102 -172
- package/src/components/page-template-parts/add-new-template-part.js +57 -0
- package/src/components/page-template-parts/index.js +3 -22
- package/src/components/resizable-frame/index.js +102 -34
- package/src/components/resizable-frame/style.scss +9 -9
- package/src/components/save-panel/index.js +10 -4
- package/src/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
- package/src/components/sidebar-edit-mode/page-panels/page-status.js +2 -5
- package/src/components/sidebar-navigation-item/style.scss +5 -12
- package/src/components/sidebar-navigation-screen/index.js +14 -7
- package/src/components/sidebar-navigation-screen/style.scss +14 -0
- package/src/components/sidebar-navigation-screen-main/index.js +44 -40
- package/src/components/sidebar-navigation-screen-main/template-part-hint.js +34 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/index.js +4 -3
- package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +15 -5
- package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
- package/src/components/sidebar-navigation-screen-page/index.js +3 -3
- package/src/components/sidebar-navigation-screen-page/status-label.js +1 -35
- package/src/components/sidebar-navigation-screen-pages/index.js +39 -29
- package/src/components/sidebar-navigation-screen-pattern/index.js +5 -2
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +2 -1
- package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +12 -2
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +5 -2
- package/src/components/sidebar-navigation-screen-patterns/index.js +103 -98
- package/src/components/sidebar-navigation-screen-patterns/style.scss +20 -0
- package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +7 -6
- package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +9 -0
- package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +31 -9
- package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
- package/src/components/site-hub/index.js +45 -28
- package/src/components/site-hub/style.scss +13 -0
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +8 -2
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +73 -66
- package/src/components/template-actions/index.js +2 -1
- package/src/components/template-actions/rename-menu-item.js +17 -10
- package/src/components/use-edited-entity-record/index.js +6 -1
- package/src/hooks/commands/use-common-commands.js +56 -23
- package/src/hooks/push-changes-to-global-styles/index.js +63 -9
- package/src/store/private-actions.js +5 -1
- package/src/style.scss +10 -12
- package/src/utils/normalize-record-key.js +11 -0
- package/src/utils/use-activate-theme.js +1 -1
- package/build/components/code-editor/code-editor-text-area.js +0 -96
- package/build/components/code-editor/code-editor-text-area.js.map +0 -1
- package/build/components/keyboard-shortcuts/index.js +0 -148
- package/build/components/keyboard-shortcuts/index.js.map +0 -1
- package/build/components/page-actions/delete-page-menu-item.js.map +0 -1
- package/build/components/page-content-focus-manager/constants.js +0 -9
- package/build/components/page-content-focus-manager/constants.js.map +0 -1
- package/build-module/components/code-editor/code-editor-text-area.js +0 -84
- package/build-module/components/code-editor/code-editor-text-area.js.map +0 -1
- package/build-module/components/keyboard-shortcuts/index.js +0 -132
- package/build-module/components/keyboard-shortcuts/index.js.map +0 -1
- package/build-module/components/page-actions/delete-page-menu-item.js.map +0 -1
- package/build-module/components/page-content-focus-manager/constants.js +0 -2
- package/build-module/components/page-content-focus-manager/constants.js.map +0 -1
- package/src/components/code-editor/code-editor-text-area.js +0 -84
- package/src/components/keyboard-shortcuts/index.js +0 -137
- package/src/components/page-content-focus-manager/constants.js +0 -5
|
@@ -9,9 +9,12 @@ import classnames from 'classnames';
|
|
|
9
9
|
import { useState, useRef, useEffect } from '@wordpress/element';
|
|
10
10
|
import {
|
|
11
11
|
ResizableBox,
|
|
12
|
+
Tooltip,
|
|
12
13
|
__unstableMotion as motion,
|
|
13
14
|
} from '@wordpress/components';
|
|
14
|
-
import {
|
|
15
|
+
import { useInstanceId } from '@wordpress/compose';
|
|
16
|
+
import { useDispatch, useSelect } from '@wordpress/data';
|
|
17
|
+
import { __ } from '@wordpress/i18n';
|
|
15
18
|
|
|
16
19
|
/**
|
|
17
20
|
* Internal dependencies
|
|
@@ -33,7 +36,7 @@ const HANDLE_STYLES_OVERRIDE = {
|
|
|
33
36
|
};
|
|
34
37
|
|
|
35
38
|
// The minimum width of the frame (in px) while resizing.
|
|
36
|
-
const FRAME_MIN_WIDTH =
|
|
39
|
+
const FRAME_MIN_WIDTH = 320;
|
|
37
40
|
// The reference width of the frame (in px) used to calculate the aspect ratio.
|
|
38
41
|
const FRAME_REFERENCE_WIDTH = 1300;
|
|
39
42
|
// 9 : 19.5 is the target aspect ratio enforced (when possible) while resizing.
|
|
@@ -42,6 +45,8 @@ const FRAME_TARGET_ASPECT_RATIO = 9 / 19.5;
|
|
|
42
45
|
// viewport's edge. If the frame is resized to be closer to the viewport's edge
|
|
43
46
|
// than this distance, then "canvas mode" will be enabled.
|
|
44
47
|
const SNAP_TO_EDIT_CANVAS_MODE_THRESHOLD = 200;
|
|
48
|
+
// Default size for the `frameSize` state.
|
|
49
|
+
const INITIAL_FRAME_SIZE = { width: '100%', height: '100%' };
|
|
45
50
|
|
|
46
51
|
function calculateNewHeight( width, initialAspectRatio ) {
|
|
47
52
|
const lerp = ( a, b, amount ) => {
|
|
@@ -73,27 +78,32 @@ function calculateNewHeight( width, initialAspectRatio ) {
|
|
|
73
78
|
|
|
74
79
|
function ResizableFrame( {
|
|
75
80
|
isFullWidth,
|
|
81
|
+
isOversized,
|
|
82
|
+
setIsOversized,
|
|
76
83
|
isReady,
|
|
77
84
|
children,
|
|
78
|
-
oversizedClassName,
|
|
79
85
|
innerContentStyle,
|
|
80
86
|
} ) {
|
|
81
|
-
const [ frameSize, setFrameSize ] = useState(
|
|
82
|
-
width: '100%',
|
|
83
|
-
height: '100%',
|
|
84
|
-
} );
|
|
87
|
+
const [ frameSize, setFrameSize ] = useState( INITIAL_FRAME_SIZE );
|
|
85
88
|
// The width of the resizable frame when a new resize gesture starts.
|
|
86
89
|
const [ startingWidth, setStartingWidth ] = useState();
|
|
87
90
|
const [ isResizing, setIsResizing ] = useState( false );
|
|
88
|
-
const [
|
|
89
|
-
const [ isOversized, setIsOversized ] = useState( false );
|
|
91
|
+
const [ shouldShowHandle, setShouldShowHandle ] = useState( false );
|
|
90
92
|
const [ resizeRatio, setResizeRatio ] = useState( 1 );
|
|
93
|
+
const canvasMode = useSelect(
|
|
94
|
+
( select ) => unlock( select( editSiteStore ) ).getCanvasMode(),
|
|
95
|
+
[]
|
|
96
|
+
);
|
|
91
97
|
const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
|
|
92
98
|
const initialAspectRatioRef = useRef( null );
|
|
93
99
|
// The width of the resizable frame on initial render.
|
|
94
100
|
const initialComputedWidthRef = useRef( null );
|
|
95
101
|
const FRAME_TRANSITION = { type: 'tween', duration: isResizing ? 0 : 0.5 };
|
|
96
102
|
const frameRef = useRef( null );
|
|
103
|
+
const resizableHandleHelpId = useInstanceId(
|
|
104
|
+
ResizableFrame,
|
|
105
|
+
'edit-site-resizable-frame-handle-help'
|
|
106
|
+
);
|
|
97
107
|
|
|
98
108
|
// Remember frame dimensions on initial render.
|
|
99
109
|
useEffect( () => {
|
|
@@ -154,13 +164,40 @@ function ResizableFrame( {
|
|
|
154
164
|
if ( remainingWidth > SNAP_TO_EDIT_CANVAS_MODE_THRESHOLD ) {
|
|
155
165
|
// Reset the initial aspect ratio if the frame is resized slightly
|
|
156
166
|
// above the sidebar but not far enough to trigger full screen.
|
|
157
|
-
setFrameSize(
|
|
167
|
+
setFrameSize( INITIAL_FRAME_SIZE );
|
|
158
168
|
} else {
|
|
159
169
|
// Trigger full screen if the frame is resized far enough to the left.
|
|
160
170
|
setCanvasMode( 'edit' );
|
|
161
171
|
}
|
|
162
172
|
};
|
|
163
173
|
|
|
174
|
+
// Handle resize by arrow keys
|
|
175
|
+
const handleResizableHandleKeyDown = ( event ) => {
|
|
176
|
+
if ( ! [ 'ArrowLeft', 'ArrowRight' ].includes( event.key ) ) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
event.preventDefault();
|
|
181
|
+
|
|
182
|
+
const step = 20 * ( event.shiftKey ? 5 : 1 );
|
|
183
|
+
const delta = step * ( event.key === 'ArrowLeft' ? 1 : -1 );
|
|
184
|
+
const newWidth = Math.min(
|
|
185
|
+
Math.max(
|
|
186
|
+
FRAME_MIN_WIDTH,
|
|
187
|
+
frameRef.current.resizable.offsetWidth + delta
|
|
188
|
+
),
|
|
189
|
+
initialComputedWidthRef.current
|
|
190
|
+
);
|
|
191
|
+
|
|
192
|
+
setFrameSize( {
|
|
193
|
+
width: newWidth,
|
|
194
|
+
height: calculateNewHeight(
|
|
195
|
+
newWidth,
|
|
196
|
+
initialAspectRatioRef.current
|
|
197
|
+
),
|
|
198
|
+
} );
|
|
199
|
+
};
|
|
200
|
+
|
|
164
201
|
const frameAnimationVariants = {
|
|
165
202
|
default: {
|
|
166
203
|
flexGrow: 0,
|
|
@@ -173,16 +210,26 @@ function ResizableFrame( {
|
|
|
173
210
|
};
|
|
174
211
|
|
|
175
212
|
const resizeHandleVariants = {
|
|
176
|
-
|
|
213
|
+
hidden: {
|
|
214
|
+
opacity: 0,
|
|
215
|
+
left: 0,
|
|
216
|
+
},
|
|
217
|
+
visible: {
|
|
177
218
|
opacity: 1,
|
|
178
219
|
left: -16,
|
|
179
220
|
},
|
|
180
|
-
|
|
221
|
+
active: {
|
|
181
222
|
opacity: 1,
|
|
182
223
|
left: -16,
|
|
183
224
|
scaleY: 1.3,
|
|
184
225
|
},
|
|
185
226
|
};
|
|
227
|
+
const currentResizeHandleVariant = ( () => {
|
|
228
|
+
if ( isResizing ) {
|
|
229
|
+
return 'active';
|
|
230
|
+
}
|
|
231
|
+
return shouldShowHandle ? 'visible' : 'hidden';
|
|
232
|
+
} )();
|
|
186
233
|
|
|
187
234
|
return (
|
|
188
235
|
<ResizableBox
|
|
@@ -217,35 +264,56 @@ function ResizableFrame( {
|
|
|
217
264
|
minWidth={ FRAME_MIN_WIDTH }
|
|
218
265
|
maxWidth={ isFullWidth ? '100%' : '150%' }
|
|
219
266
|
maxHeight={ '100%' }
|
|
220
|
-
|
|
221
|
-
|
|
267
|
+
onFocus={ () => setShouldShowHandle( true ) }
|
|
268
|
+
onBlur={ () => setShouldShowHandle( false ) }
|
|
269
|
+
onMouseOver={ () => setShouldShowHandle( true ) }
|
|
270
|
+
onMouseOut={ () => setShouldShowHandle( false ) }
|
|
222
271
|
handleComponent={ {
|
|
223
|
-
left:
|
|
224
|
-
|
|
225
|
-
<
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
272
|
+
left: canvasMode === 'view' && (
|
|
273
|
+
<>
|
|
274
|
+
<Tooltip text={ __( 'Drag to resize' ) }>
|
|
275
|
+
{ /* Disable reason: role="separator" does in fact support aria-valuenow */ }
|
|
276
|
+
{ /* eslint-disable-next-line jsx-a11y/role-supports-aria-props */ }
|
|
277
|
+
<motion.button
|
|
278
|
+
key="handle"
|
|
279
|
+
role="separator"
|
|
280
|
+
aria-orientation="vertical"
|
|
281
|
+
className={ classnames(
|
|
282
|
+
'edit-site-resizable-frame__handle',
|
|
283
|
+
{ 'is-resizing': isResizing }
|
|
284
|
+
) }
|
|
285
|
+
variants={ resizeHandleVariants }
|
|
286
|
+
animate={ currentResizeHandleVariant }
|
|
287
|
+
aria-label={ __( 'Drag to resize' ) }
|
|
288
|
+
aria-describedby={ resizableHandleHelpId }
|
|
289
|
+
aria-valuenow={
|
|
290
|
+
frameRef.current?.resizable?.offsetWidth ||
|
|
291
|
+
undefined
|
|
292
|
+
}
|
|
293
|
+
aria-valuemin={ FRAME_MIN_WIDTH }
|
|
294
|
+
aria-valuemax={
|
|
295
|
+
initialComputedWidthRef.current
|
|
296
|
+
}
|
|
297
|
+
onKeyDown={ handleResizableHandleKeyDown }
|
|
298
|
+
initial="hidden"
|
|
299
|
+
exit="hidden"
|
|
300
|
+
whileFocus="active"
|
|
301
|
+
whileHover="active"
|
|
302
|
+
/>
|
|
303
|
+
</Tooltip>
|
|
304
|
+
<div hidden id={ resizableHandleHelpId }>
|
|
305
|
+
{ __(
|
|
306
|
+
'Use left and right arrow keys to resize the canvas. Hold shift to resize in larger increments.'
|
|
307
|
+
) }
|
|
308
|
+
</div>
|
|
309
|
+
</>
|
|
310
|
+
),
|
|
242
311
|
} }
|
|
243
312
|
onResizeStart={ handleResizeStart }
|
|
244
313
|
onResize={ handleResize }
|
|
245
314
|
onResizeStop={ handleResizeStop }
|
|
246
315
|
className={ classnames( 'edit-site-resizable-frame__inner', {
|
|
247
316
|
'is-resizing': isResizing,
|
|
248
|
-
[ oversizedClassName ]: isOversized,
|
|
249
317
|
} ) }
|
|
250
318
|
>
|
|
251
319
|
<motion.div
|
|
@@ -30,11 +30,13 @@
|
|
|
30
30
|
.edit-site-resizable-frame__handle {
|
|
31
31
|
align-items: center;
|
|
32
32
|
background-color: rgba($gray-700, 0.4);
|
|
33
|
+
border: 0;
|
|
33
34
|
border-radius: $grid-unit-05;
|
|
34
35
|
cursor: col-resize;
|
|
35
36
|
display: flex;
|
|
36
37
|
height: $grid-unit-80;
|
|
37
38
|
justify-content: flex-end;
|
|
39
|
+
padding: 0;
|
|
38
40
|
position: absolute;
|
|
39
41
|
top: calc(50% - #{$grid-unit-40});
|
|
40
42
|
width: $grid-unit-05;
|
|
@@ -56,16 +58,14 @@
|
|
|
56
58
|
width: $grid-unit-40;
|
|
57
59
|
}
|
|
58
60
|
|
|
59
|
-
&:
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
&:focus-visible {
|
|
62
|
+
// Works with Windows high contrast mode while also hiding weird outline in Safari.
|
|
63
|
+
outline: 2px solid transparent;
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
color:
|
|
68
|
-
margin-right: $grid-unit-10;
|
|
69
|
-
padding: 4px 8px;
|
|
66
|
+
&:hover,
|
|
67
|
+
&:focus,
|
|
68
|
+
&.is-resizing {
|
|
69
|
+
background-color: var(--wp-admin-theme-color);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -39,13 +39,19 @@ const EntitiesSavedStatesForPreview = ( { onClose } ) => {
|
|
|
39
39
|
activateSaveLabel = __( 'Activate' );
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
const
|
|
43
|
-
|
|
42
|
+
const themeName = useSelect( ( select ) => {
|
|
43
|
+
const theme = select( coreStore ).getTheme(
|
|
44
|
+
currentlyPreviewingTheme()
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
return theme?.name?.rendered;
|
|
48
|
+
}, [] );
|
|
49
|
+
|
|
44
50
|
const additionalPrompt = (
|
|
45
51
|
<p>
|
|
46
52
|
{ sprintf(
|
|
47
|
-
'Saving your changes will change your active theme to
|
|
48
|
-
|
|
53
|
+
'Saving your changes will change your active theme to %s.',
|
|
54
|
+
themeName
|
|
49
55
|
) }
|
|
50
56
|
</p>
|
|
51
57
|
);
|
|
@@ -6,22 +6,24 @@ import {
|
|
|
6
6
|
store as blockEditorStore,
|
|
7
7
|
privateApis as blockEditorPrivateApis,
|
|
8
8
|
} from '@wordpress/block-editor';
|
|
9
|
+
import { useMemo } from '@wordpress/element';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Internal dependencies
|
|
12
13
|
*/
|
|
13
|
-
import { PAGE_CONTENT_BLOCK_TYPES } from '../../page-content-focus-manager/constants';
|
|
14
14
|
import { unlock } from '../../../lock-unlock';
|
|
15
15
|
|
|
16
16
|
const { BlockQuickNavigation } = unlock( blockEditorPrivateApis );
|
|
17
17
|
|
|
18
18
|
export default function PageContent() {
|
|
19
|
-
const
|
|
19
|
+
const clientIdsTree = useSelect(
|
|
20
20
|
( select ) =>
|
|
21
|
-
select( blockEditorStore ).
|
|
22
|
-
PAGE_CONTENT_BLOCK_TYPES
|
|
23
|
-
),
|
|
21
|
+
unlock( select( blockEditorStore ) ).getEnabledClientIdsTree(),
|
|
24
22
|
[]
|
|
25
23
|
);
|
|
24
|
+
const clientIds = useMemo(
|
|
25
|
+
() => clientIdsTree.map( ( { clientId } ) => clientId ),
|
|
26
|
+
[ clientIdsTree ]
|
|
27
|
+
);
|
|
26
28
|
return <BlockQuickNavigation clientIds={ clientIds } />;
|
|
27
29
|
}
|
|
@@ -212,13 +212,10 @@ export default function PageStatus( {
|
|
|
212
212
|
} )
|
|
213
213
|
}
|
|
214
214
|
value={ password }
|
|
215
|
-
/* eslint-disable jsx-a11y/no-autofocus */
|
|
216
|
-
autoFocus={ ! password }
|
|
217
|
-
/* eslint-enable jsx-a11y/no-autofocus */
|
|
218
215
|
placeholder={ __(
|
|
219
|
-
'
|
|
216
|
+
'Use a secure password'
|
|
220
217
|
) }
|
|
221
|
-
type="
|
|
218
|
+
type="text"
|
|
222
219
|
/>
|
|
223
220
|
) }
|
|
224
221
|
</BaseControl>
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
&[aria-current] {
|
|
12
12
|
color: $gray-200;
|
|
13
13
|
background: $gray-800;
|
|
14
|
+
|
|
15
|
+
.edit-site-sidebar-navigation-item__drilldown-indicator {
|
|
16
|
+
fill: $gray-200;
|
|
17
|
+
}
|
|
14
18
|
}
|
|
15
19
|
|
|
16
20
|
&[aria-current] {
|
|
@@ -19,18 +23,7 @@
|
|
|
19
23
|
}
|
|
20
24
|
|
|
21
25
|
.edit-site-sidebar-navigation-item__drilldown-indicator {
|
|
22
|
-
fill: $gray-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
&:is(a) {
|
|
26
|
-
text-decoration: none;
|
|
27
|
-
display: flex;
|
|
28
|
-
align-items: center;
|
|
29
|
-
|
|
30
|
-
&:focus {
|
|
31
|
-
box-shadow: none;
|
|
32
|
-
outline: none;
|
|
33
|
-
}
|
|
26
|
+
fill: $gray-600;
|
|
34
27
|
}
|
|
35
28
|
|
|
36
29
|
&.with-suffix {
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import {
|
|
5
5
|
__experimentalHStack as HStack,
|
|
6
6
|
__experimentalHeading as Heading,
|
|
7
|
-
__experimentalNavigatorToParentButton as NavigatorToParentButton,
|
|
8
7
|
__experimentalUseNavigator as useNavigator,
|
|
9
8
|
__experimentalVStack as VStack,
|
|
10
9
|
} from '@wordpress/components';
|
|
@@ -41,7 +40,7 @@ export default function SidebarNavigationScreen( {
|
|
|
41
40
|
};
|
|
42
41
|
}, [] );
|
|
43
42
|
const { getTheme } = useSelect( coreStore );
|
|
44
|
-
const
|
|
43
|
+
const navigator = useNavigator();
|
|
45
44
|
const theme = getTheme( currentlyPreviewingTheme() );
|
|
46
45
|
const icon = isRTL() ? chevronRight : chevronLeft;
|
|
47
46
|
|
|
@@ -58,16 +57,24 @@ export default function SidebarNavigationScreen( {
|
|
|
58
57
|
className="edit-site-sidebar-navigation-screen__title-icon"
|
|
59
58
|
>
|
|
60
59
|
{ ! isRoot && ! backPath && (
|
|
61
|
-
<
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
<SidebarButton
|
|
61
|
+
onClick={ () => {
|
|
62
|
+
if ( navigator.location.isInitial ) {
|
|
63
|
+
navigator.goToParent( { replace: true } );
|
|
64
|
+
} else {
|
|
65
|
+
navigator.goBack();
|
|
66
|
+
}
|
|
67
|
+
} }
|
|
68
|
+
icon={ icon }
|
|
64
69
|
label={ __( 'Back' ) }
|
|
65
70
|
showTooltip={ false }
|
|
66
71
|
/>
|
|
67
72
|
) }
|
|
68
73
|
{ ! isRoot && backPath && (
|
|
69
74
|
<SidebarButton
|
|
70
|
-
onClick={ () =>
|
|
75
|
+
onClick={ () =>
|
|
76
|
+
navigator.goTo( backPath, { isBack: true } )
|
|
77
|
+
}
|
|
71
78
|
icon={ icon }
|
|
72
79
|
label={ __( 'Back' ) }
|
|
73
80
|
showTooltip={ false }
|
|
@@ -78,7 +85,7 @@ export default function SidebarNavigationScreen( {
|
|
|
78
85
|
icon={ icon }
|
|
79
86
|
label={
|
|
80
87
|
! isPreviewingTheme()
|
|
81
|
-
? __( 'Go
|
|
88
|
+
? __( 'Go to the Dashboard' )
|
|
82
89
|
: __( 'Go back to the theme showcase' )
|
|
83
90
|
}
|
|
84
91
|
href={
|
|
@@ -98,6 +98,20 @@
|
|
|
98
98
|
border-top: 1px solid $gray-800;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
.edit-site-sidebar__notice {
|
|
102
|
+
background: $gray-800;
|
|
103
|
+
color: $gray-300;
|
|
104
|
+
margin: $grid-unit-30 0;
|
|
105
|
+
&.is-dismissible {
|
|
106
|
+
padding-right: $grid-unit-10;
|
|
107
|
+
}
|
|
108
|
+
.components-notice__dismiss:not(:disabled):not([aria-disabled="true"]):focus,
|
|
109
|
+
.components-notice__dismiss:not(:disabled):not([aria-disabled="true"]):not(.is-secondary):active,
|
|
110
|
+
.components-notice__dismiss:not(:disabled):not([aria-disabled="true"]):not(.is-secondary):hover {
|
|
111
|
+
color: $gray-100;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
101
115
|
/* In general style overrides are discouraged.
|
|
102
116
|
* This is a temporary solution to override the InputControl component's styles.
|
|
103
117
|
* The `Theme` component will potentially be the more appropriate approach
|
|
@@ -20,6 +20,7 @@ import SidebarNavigationItem from '../sidebar-navigation-item';
|
|
|
20
20
|
import { SidebarNavigationItemGlobalStyles } from '../sidebar-navigation-screen-global-styles';
|
|
21
21
|
import { unlock } from '../../lock-unlock';
|
|
22
22
|
import { store as editSiteStore } from '../../store';
|
|
23
|
+
import TemplatePartHint from './template-part-hint';
|
|
23
24
|
|
|
24
25
|
export default function SidebarNavigationScreenMain() {
|
|
25
26
|
const { location } = useNavigator();
|
|
@@ -42,46 +43,49 @@ export default function SidebarNavigationScreenMain() {
|
|
|
42
43
|
'Customize the appearance of your website using the block editor.'
|
|
43
44
|
) }
|
|
44
45
|
content={
|
|
45
|
-
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
46
|
+
<>
|
|
47
|
+
<ItemGroup>
|
|
48
|
+
<NavigatorButton
|
|
49
|
+
as={ SidebarNavigationItem }
|
|
50
|
+
path="/navigation"
|
|
51
|
+
withChevron
|
|
52
|
+
icon={ navigation }
|
|
53
|
+
>
|
|
54
|
+
{ __( 'Navigation' ) }
|
|
55
|
+
</NavigatorButton>
|
|
56
|
+
<SidebarNavigationItemGlobalStyles
|
|
57
|
+
withChevron
|
|
58
|
+
icon={ styles }
|
|
59
|
+
>
|
|
60
|
+
{ __( 'Styles' ) }
|
|
61
|
+
</SidebarNavigationItemGlobalStyles>
|
|
62
|
+
<NavigatorButton
|
|
63
|
+
as={ SidebarNavigationItem }
|
|
64
|
+
path="/page"
|
|
65
|
+
withChevron
|
|
66
|
+
icon={ page }
|
|
67
|
+
>
|
|
68
|
+
{ __( 'Pages' ) }
|
|
69
|
+
</NavigatorButton>
|
|
70
|
+
<NavigatorButton
|
|
71
|
+
as={ SidebarNavigationItem }
|
|
72
|
+
path="/wp_template"
|
|
73
|
+
withChevron
|
|
74
|
+
icon={ layout }
|
|
75
|
+
>
|
|
76
|
+
{ __( 'Templates' ) }
|
|
77
|
+
</NavigatorButton>
|
|
78
|
+
<NavigatorButton
|
|
79
|
+
as={ SidebarNavigationItem }
|
|
80
|
+
path="/patterns"
|
|
81
|
+
withChevron
|
|
82
|
+
icon={ symbol }
|
|
83
|
+
>
|
|
84
|
+
{ __( 'Patterns' ) }
|
|
85
|
+
</NavigatorButton>
|
|
86
|
+
</ItemGroup>
|
|
87
|
+
<TemplatePartHint />
|
|
88
|
+
</>
|
|
85
89
|
}
|
|
86
90
|
/>
|
|
87
91
|
);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { Notice } from '@wordpress/components';
|
|
5
|
+
import { useDispatch, useSelect } from '@wordpress/data';
|
|
6
|
+
import { __ } from '@wordpress/i18n';
|
|
7
|
+
import { store as preferencesStore } from '@wordpress/preferences';
|
|
8
|
+
|
|
9
|
+
const PREFERENCE_NAME = 'isTemplatePartMoveHintVisible';
|
|
10
|
+
|
|
11
|
+
export default function TemplatePartHint() {
|
|
12
|
+
const showTemplatePartHint = useSelect(
|
|
13
|
+
( select ) =>
|
|
14
|
+
select( preferencesStore ).get( 'core', PREFERENCE_NAME ) ?? true,
|
|
15
|
+
[]
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
const { set: setPreference } = useDispatch( preferencesStore );
|
|
19
|
+
if ( ! showTemplatePartHint ) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<Notice
|
|
25
|
+
politeness="polite"
|
|
26
|
+
className="edit-site-sidebar__notice"
|
|
27
|
+
onRemove={ () => {
|
|
28
|
+
setPreference( 'core', PREFERENCE_NAME, false );
|
|
29
|
+
} }
|
|
30
|
+
>
|
|
31
|
+
{ __( 'Looking for template parts? Find them in "Patterns".' ) }
|
|
32
|
+
</Notice>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
@@ -22,9 +22,10 @@ import buildNavigationLabel from '../sidebar-navigation-screen-navigation-menus/
|
|
|
22
22
|
export const postType = `wp_navigation`;
|
|
23
23
|
|
|
24
24
|
export default function SidebarNavigationScreenNavigationMenu() {
|
|
25
|
-
const {
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
const { params } = useNavigator();
|
|
26
|
+
|
|
27
|
+
// See https://github.com/WordPress/gutenberg/pull/52120.
|
|
28
|
+
const postId = Number( params?.postId );
|
|
28
29
|
|
|
29
30
|
const { record: navigationMenu, isResolving } = useEntityRecord(
|
|
30
31
|
'postType',
|
|
@@ -24,13 +24,13 @@ export default function SingleNavigationMenu( {
|
|
|
24
24
|
<SidebarNavigationScreenWrapper
|
|
25
25
|
actions={
|
|
26
26
|
<>
|
|
27
|
-
<EditButton postId={ navigationMenu?.id } />
|
|
28
27
|
<ScreenNavigationMoreMenu
|
|
29
28
|
menuTitle={ decodeEntities( menuTitle ) }
|
|
30
29
|
onDelete={ handleDelete }
|
|
31
30
|
onSave={ handleSave }
|
|
32
31
|
onDuplicate={ handleDuplicate }
|
|
33
32
|
/>
|
|
33
|
+
<EditButton postId={ navigationMenu?.id } />
|
|
34
34
|
</>
|
|
35
35
|
}
|
|
36
36
|
title={ buildNavigationLabel(
|
package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js
CHANGED
|
@@ -65,8 +65,10 @@ function useSaveNavigationMenu() {
|
|
|
65
65
|
};
|
|
66
66
|
}, [] );
|
|
67
67
|
|
|
68
|
-
const {
|
|
69
|
-
|
|
68
|
+
const {
|
|
69
|
+
editEntityRecord,
|
|
70
|
+
__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,
|
|
71
|
+
} = useDispatch( coreStore );
|
|
70
72
|
|
|
71
73
|
const { createSuccessNotice, createErrorNotice } =
|
|
72
74
|
useDispatch( noticesStore );
|
|
@@ -87,11 +89,19 @@ function useSaveNavigationMenu() {
|
|
|
87
89
|
// Apply the edits.
|
|
88
90
|
editEntityRecord( 'postType', postType, postId, edits );
|
|
89
91
|
|
|
92
|
+
const recordPropertiesToSave = Object.keys( edits );
|
|
93
|
+
|
|
90
94
|
// Attempt to persist.
|
|
91
95
|
try {
|
|
92
|
-
await
|
|
93
|
-
|
|
94
|
-
|
|
96
|
+
await saveSpecifiedEntityEdits(
|
|
97
|
+
'postType',
|
|
98
|
+
postType,
|
|
99
|
+
postId,
|
|
100
|
+
recordPropertiesToSave,
|
|
101
|
+
{
|
|
102
|
+
throwOnError: true,
|
|
103
|
+
}
|
|
104
|
+
);
|
|
95
105
|
createSuccessNotice( __( 'Renamed Navigation menu' ), {
|
|
96
106
|
type: 'snackbar',
|
|
97
107
|
} );
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
// on apiFetch this query is limited to 100.
|
|
4
4
|
// These parameters must be kept aligned with those in
|
|
5
5
|
// lib/compat/wordpress-6.3/navigation-block-preloading.php
|
|
6
|
+
// and
|
|
7
|
+
// block-library/src/navigation/constants.js
|
|
6
8
|
export const PRELOADED_NAVIGATION_MENUS_QUERY = {
|
|
7
9
|
per_page: 100,
|
|
8
10
|
status: [ 'publish', 'draft' ],
|
|
@@ -30,9 +30,9 @@ import SidebarNavigationScreenDetailsFooter from '../sidebar-navigation-screen-d
|
|
|
30
30
|
export default function SidebarNavigationScreenPage() {
|
|
31
31
|
const navigator = useNavigator();
|
|
32
32
|
const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
|
|
33
|
-
const {
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
const { params } = useNavigator();
|
|
34
|
+
|
|
35
|
+
const postId = Number( params?.postId );
|
|
36
36
|
const { record } = useEntityRecord( 'postType', 'page', postId );
|
|
37
37
|
|
|
38
38
|
const { featuredMediaAltText, featuredMediaSourceUrl } = useSelect(
|