@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,42 +9,10 @@ import classnames from 'classnames';
|
|
|
9
9
|
import { __, sprintf } from '@wordpress/i18n';
|
|
10
10
|
import { dateI18n, getDate, humanTimeDiff } from '@wordpress/date';
|
|
11
11
|
import { createInterpolateElement } from '@wordpress/element';
|
|
12
|
-
import { Path, SVG } from '@wordpress/primitives';
|
|
13
|
-
|
|
14
|
-
const publishedIcon = (
|
|
15
|
-
<SVG fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
|
16
|
-
<Path
|
|
17
|
-
fillRule="evenodd"
|
|
18
|
-
clipRule="evenodd"
|
|
19
|
-
d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16Zm-1.067-5.6 4.2-5.667.8.6-4.8 6.467-3-2.267.6-.8 2.2 1.667Z"
|
|
20
|
-
/>
|
|
21
|
-
</SVG>
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
const draftIcon = (
|
|
25
|
-
<SVG fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
|
26
|
-
<Path
|
|
27
|
-
fillRule="evenodd"
|
|
28
|
-
clipRule="evenodd"
|
|
29
|
-
d="M14.5 8a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0ZM16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8 4a4 4 0 0 0 0-8v8Z"
|
|
30
|
-
/>
|
|
31
|
-
</SVG>
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
const pendingIcon = (
|
|
35
|
-
<SVG fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
|
36
|
-
<Path
|
|
37
|
-
fillRule="evenodd"
|
|
38
|
-
clipRule="evenodd"
|
|
39
|
-
d="M14.5 8a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0ZM16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM8 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z"
|
|
40
|
-
/>
|
|
41
|
-
</SVG>
|
|
42
|
-
);
|
|
43
12
|
|
|
44
13
|
export default function StatusLabel( { status, date, short } ) {
|
|
45
14
|
const relateToNow = humanTimeDiff( date );
|
|
46
15
|
let statusLabel = status;
|
|
47
|
-
let statusIcon = pendingIcon;
|
|
48
16
|
switch ( status ) {
|
|
49
17
|
case 'publish':
|
|
50
18
|
statusLabel = date
|
|
@@ -57,7 +25,6 @@ export default function StatusLabel( { status, date, short } ) {
|
|
|
57
25
|
{ time: <time dateTime={ date } /> }
|
|
58
26
|
)
|
|
59
27
|
: __( 'Published' );
|
|
60
|
-
statusIcon = publishedIcon;
|
|
61
28
|
break;
|
|
62
29
|
case 'future':
|
|
63
30
|
const formattedDate = dateI18n(
|
|
@@ -77,7 +44,6 @@ export default function StatusLabel( { status, date, short } ) {
|
|
|
77
44
|
break;
|
|
78
45
|
case 'draft':
|
|
79
46
|
statusLabel = __( 'Draft' );
|
|
80
|
-
statusIcon = draftIcon;
|
|
81
47
|
break;
|
|
82
48
|
case 'pending':
|
|
83
49
|
statusLabel = __( 'Pending' );
|
|
@@ -99,7 +65,7 @@ export default function StatusLabel( { status, date, short } ) {
|
|
|
99
65
|
}
|
|
100
66
|
) }
|
|
101
67
|
>
|
|
102
|
-
{
|
|
68
|
+
{ statusLabel }
|
|
103
69
|
</div>
|
|
104
70
|
);
|
|
105
71
|
}
|
|
@@ -58,13 +58,16 @@ export default function SidebarNavigationScreenPages() {
|
|
|
58
58
|
templates?.find( ( template ) => template.slug === 'home' ) ||
|
|
59
59
|
templates?.find( ( template ) => template.slug === 'index' );
|
|
60
60
|
|
|
61
|
+
const getPostsPageTemplate = () =>
|
|
62
|
+
templates?.find( ( template ) => template.slug === 'home' ) ||
|
|
63
|
+
templates?.find( ( template ) => template.slug === 'index' );
|
|
64
|
+
|
|
61
65
|
const pagesAndTemplates = pages?.concat( dynamicPageTemplates, [
|
|
62
66
|
homeTemplate,
|
|
63
67
|
] );
|
|
64
68
|
|
|
65
69
|
const { frontPage, postsPage } = useSelect( ( select ) => {
|
|
66
70
|
const { getEntityRecord } = select( coreStore );
|
|
67
|
-
|
|
68
71
|
const siteSettings = getEntityRecord( 'root', 'site' );
|
|
69
72
|
return {
|
|
70
73
|
frontPage: siteSettings?.page_on_front,
|
|
@@ -106,6 +109,27 @@ export default function SidebarNavigationScreenPages() {
|
|
|
106
109
|
setShowAddPage( false );
|
|
107
110
|
};
|
|
108
111
|
|
|
112
|
+
const getPageProps = ( id ) => {
|
|
113
|
+
let itemIcon = page;
|
|
114
|
+
const postsPageTemplateId =
|
|
115
|
+
postsPage && postsPage === id ? getPostsPageTemplate()?.id : null;
|
|
116
|
+
|
|
117
|
+
switch ( id ) {
|
|
118
|
+
case frontPage:
|
|
119
|
+
itemIcon = home;
|
|
120
|
+
break;
|
|
121
|
+
case postsPage:
|
|
122
|
+
itemIcon = verse;
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return {
|
|
127
|
+
icon: itemIcon,
|
|
128
|
+
postType: postsPageTemplateId ? 'wp_template' : 'page',
|
|
129
|
+
postId: postsPageTemplateId || id,
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
|
|
109
133
|
return (
|
|
110
134
|
<>
|
|
111
135
|
{ showAddPage && (
|
|
@@ -152,34 +176,20 @@ export default function SidebarNavigationScreenPages() {
|
|
|
152
176
|
</Truncate>
|
|
153
177
|
</PageItem>
|
|
154
178
|
) }
|
|
155
|
-
{ reorderedPages?.map( (
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
postId={ item.id }
|
|
170
|
-
key={ item.id }
|
|
171
|
-
icon={ itemIcon }
|
|
172
|
-
withChevron
|
|
173
|
-
>
|
|
174
|
-
<Truncate numberOfLines={ 1 }>
|
|
175
|
-
{ decodeEntities(
|
|
176
|
-
item?.title?.rendered ||
|
|
177
|
-
__( '(no title)' )
|
|
178
|
-
) }
|
|
179
|
-
</Truncate>
|
|
180
|
-
</PageItem>
|
|
181
|
-
);
|
|
182
|
-
} ) }
|
|
179
|
+
{ reorderedPages?.map( ( { id, title } ) => (
|
|
180
|
+
<PageItem
|
|
181
|
+
{ ...getPageProps( id ) }
|
|
182
|
+
key={ id }
|
|
183
|
+
withChevron
|
|
184
|
+
>
|
|
185
|
+
<Truncate numberOfLines={ 1 }>
|
|
186
|
+
{ decodeEntities(
|
|
187
|
+
title?.rendered ||
|
|
188
|
+
__( '(no title)' )
|
|
189
|
+
) }
|
|
190
|
+
</Truncate>
|
|
191
|
+
</PageItem>
|
|
192
|
+
) ) }
|
|
183
193
|
</ItemGroup>
|
|
184
194
|
) }
|
|
185
195
|
</>
|
|
@@ -16,13 +16,16 @@ import useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-e
|
|
|
16
16
|
import usePatternDetails from './use-pattern-details';
|
|
17
17
|
import { store as editSiteStore } from '../../store';
|
|
18
18
|
import { unlock } from '../../lock-unlock';
|
|
19
|
+
import normalizeRecordKey from '../../utils/normalize-record-key';
|
|
19
20
|
|
|
20
21
|
export default function SidebarNavigationScreenPattern() {
|
|
21
|
-
const { params } = useNavigator();
|
|
22
22
|
const { categoryType } = getQueryArgs( window.location.href );
|
|
23
|
-
const { postType, postId } = params;
|
|
24
23
|
const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
|
|
25
24
|
|
|
25
|
+
const { params } = useNavigator();
|
|
26
|
+
const { postType } = params;
|
|
27
|
+
const postId = normalizeRecordKey( params?.postId );
|
|
28
|
+
|
|
26
29
|
useInitEditedEntityFromURL();
|
|
27
30
|
|
|
28
31
|
const patternDetails = usePatternDetails( postType, postId );
|
|
@@ -19,8 +19,9 @@ export default function TemplatePartNavigationMenu( { id } ) {
|
|
|
19
19
|
<>
|
|
20
20
|
<Heading
|
|
21
21
|
className="edit-site-sidebar-navigation-screen-template-part-navigation-menu__title"
|
|
22
|
-
size="
|
|
22
|
+
size="11"
|
|
23
23
|
upperCase={ true }
|
|
24
|
+
weight={ 500 }
|
|
24
25
|
>
|
|
25
26
|
{ title?.rendered || title || __( 'Navigation' ) }
|
|
26
27
|
</Heading>
|
|
@@ -22,8 +22,9 @@ export default function TemplatePartNavigationMenus( { menus } ) {
|
|
|
22
22
|
<>
|
|
23
23
|
<Heading
|
|
24
24
|
className="edit-site-sidebar-navigation-screen-template-part-navigation-menu__title"
|
|
25
|
-
size="
|
|
25
|
+
size="11"
|
|
26
26
|
upperCase={ true }
|
|
27
|
+
weight={ 500 }
|
|
27
28
|
>
|
|
28
29
|
{ __( 'Navigation' ) }
|
|
29
30
|
</Heading>
|
|
@@ -59,13 +59,23 @@ export default function useNavigationMenuContent( postType, postId ) {
|
|
|
59
59
|
record?.blocks
|
|
60
60
|
);
|
|
61
61
|
|
|
62
|
+
if ( ! navigationBlocks.length ) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
|
|
62
66
|
const navigationMenuIds = navigationBlocks?.map(
|
|
63
67
|
( block ) => block.attributes.ref
|
|
64
68
|
);
|
|
65
69
|
|
|
66
|
-
|
|
70
|
+
// Dedupe the Navigation blocks, as you can have multiple navigation blocks in the template.
|
|
71
|
+
// Also, filter out undefined values, as blocks don't have an id when initially added.
|
|
72
|
+
const uniqueNavigationMenuIds = [ ...new Set( navigationMenuIds ) ].filter(
|
|
73
|
+
( menuId ) => menuId
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
if ( ! uniqueNavigationMenuIds?.length ) {
|
|
67
77
|
return;
|
|
68
78
|
}
|
|
69
79
|
|
|
70
|
-
return <TemplatePartNavigationMenus menus={
|
|
80
|
+
return <TemplatePartNavigationMenus menus={ uniqueNavigationMenuIds } />;
|
|
71
81
|
}
|
|
@@ -19,8 +19,11 @@ import {
|
|
|
19
19
|
SidebarNavigationScreenDetailsPanelLabel,
|
|
20
20
|
SidebarNavigationScreenDetailsPanelValue,
|
|
21
21
|
} from '../sidebar-navigation-screen-details-panel';
|
|
22
|
+
import normalizeRecordKey from '../../utils/normalize-record-key';
|
|
22
23
|
|
|
23
24
|
export default function usePatternDetails( postType, postId ) {
|
|
25
|
+
postId = normalizeRecordKey( postId );
|
|
26
|
+
|
|
24
27
|
const { getDescription, getTitle, record } = useEditedEntityRecord(
|
|
25
28
|
postType,
|
|
26
29
|
postId
|
|
@@ -38,7 +41,7 @@ export default function usePatternDetails( postType, postId ) {
|
|
|
38
41
|
if ( ! descriptionText && addedBy.text ) {
|
|
39
42
|
descriptionText = sprintf(
|
|
40
43
|
// translators: %s: pattern title e.g: "Header".
|
|
41
|
-
__( 'This is
|
|
44
|
+
__( 'This is the %s pattern.' ),
|
|
42
45
|
getTitle()
|
|
43
46
|
);
|
|
44
47
|
}
|
|
@@ -46,7 +49,7 @@ export default function usePatternDetails( postType, postId ) {
|
|
|
46
49
|
if ( ! descriptionText && postType === 'wp_block' && record?.title ) {
|
|
47
50
|
descriptionText = sprintf(
|
|
48
51
|
// translators: %s: user created pattern title e.g. "Footer".
|
|
49
|
-
__( 'This is
|
|
52
|
+
__( 'This is the %s pattern.' ),
|
|
50
53
|
record.title
|
|
51
54
|
);
|
|
52
55
|
}
|
|
@@ -7,11 +7,12 @@ import {
|
|
|
7
7
|
Flex,
|
|
8
8
|
Icon,
|
|
9
9
|
Tooltip,
|
|
10
|
+
__experimentalHeading as Heading,
|
|
10
11
|
} from '@wordpress/components';
|
|
11
12
|
import { useViewportMatch } from '@wordpress/compose';
|
|
12
13
|
import { useSelect } from '@wordpress/data';
|
|
13
14
|
import { getTemplatePartIcon } from '@wordpress/editor';
|
|
14
|
-
import { __ } from '@wordpress/i18n';
|
|
15
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
15
16
|
import { getQueryArgs } from '@wordpress/url';
|
|
16
17
|
import { file, starFilled, lockSmall } from '@wordpress/icons';
|
|
17
18
|
|
|
@@ -29,12 +30,72 @@ import usePatternCategories from './use-pattern-categories';
|
|
|
29
30
|
import useMyPatterns from './use-my-patterns';
|
|
30
31
|
import useTemplatePartAreas from './use-template-part-areas';
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
function TemplatePartGroup( { areas, currentArea, currentType } ) {
|
|
34
|
+
return (
|
|
35
|
+
<>
|
|
36
|
+
<div className="edit-site-sidebar-navigation-screen-patterns__group-header">
|
|
37
|
+
<Heading level={ 2 }>{ __( 'Template parts' ) }</Heading>
|
|
38
|
+
</div>
|
|
39
|
+
<ItemGroup className="edit-site-sidebar-navigation-screen-patterns__group">
|
|
40
|
+
{ Object.entries( areas ).map(
|
|
41
|
+
( [ area, { label, templateParts } ] ) => (
|
|
42
|
+
<CategoryItem
|
|
43
|
+
key={ area }
|
|
44
|
+
count={ templateParts?.length }
|
|
45
|
+
icon={ getTemplatePartIcon( area ) }
|
|
46
|
+
label={ label }
|
|
47
|
+
id={ area }
|
|
48
|
+
type="wp_template_part"
|
|
49
|
+
isActive={
|
|
50
|
+
currentArea === area &&
|
|
51
|
+
currentType === 'wp_template_part'
|
|
52
|
+
}
|
|
53
|
+
/>
|
|
54
|
+
)
|
|
55
|
+
) }
|
|
56
|
+
</ItemGroup>
|
|
57
|
+
</>
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function ThemePatternsGroup( { categories, currentCategory, currentType } ) {
|
|
62
|
+
return (
|
|
63
|
+
<>
|
|
64
|
+
<ItemGroup className="edit-site-sidebar-navigation-screen-patterns__group">
|
|
65
|
+
{ categories.map( ( category ) => (
|
|
66
|
+
<CategoryItem
|
|
67
|
+
key={ category.name }
|
|
68
|
+
count={ category.count }
|
|
69
|
+
label={
|
|
70
|
+
<Flex justify="left" align="center" gap={ 0 }>
|
|
71
|
+
{ category.label }
|
|
72
|
+
<Tooltip
|
|
73
|
+
position="top center"
|
|
74
|
+
text={ sprintf(
|
|
75
|
+
// translators: %s: The pattern category name.
|
|
76
|
+
'"%s" patterns cannot be edited.',
|
|
77
|
+
category.label
|
|
78
|
+
) }
|
|
79
|
+
>
|
|
80
|
+
<span className="edit-site-sidebar-navigation-screen-pattern__lock-icon">
|
|
81
|
+
<Icon icon={ lockSmall } size={ 24 } />
|
|
82
|
+
</span>
|
|
83
|
+
</Tooltip>
|
|
84
|
+
</Flex>
|
|
85
|
+
}
|
|
86
|
+
icon={ file }
|
|
87
|
+
id={ category.name }
|
|
88
|
+
type="pattern"
|
|
89
|
+
isActive={
|
|
90
|
+
currentCategory === `${ category.name }` &&
|
|
91
|
+
currentType === 'pattern'
|
|
92
|
+
}
|
|
93
|
+
/>
|
|
94
|
+
) ) }
|
|
95
|
+
</ItemGroup>
|
|
96
|
+
</>
|
|
97
|
+
);
|
|
98
|
+
}
|
|
38
99
|
|
|
39
100
|
export default function SidebarNavigationScreenPatterns() {
|
|
40
101
|
const isMobileViewport = useViewportMatch( 'medium', '<' );
|
|
@@ -45,7 +106,7 @@ export default function SidebarNavigationScreenPatterns() {
|
|
|
45
106
|
const { templatePartAreas, hasTemplateParts, isLoading } =
|
|
46
107
|
useTemplatePartAreas();
|
|
47
108
|
const { patternCategories, hasPatterns } = usePatternCategories();
|
|
48
|
-
const { myPatterns
|
|
109
|
+
const { myPatterns } = useMyPatterns();
|
|
49
110
|
|
|
50
111
|
const isTemplatePartsMode = useSelect( ( select ) => {
|
|
51
112
|
const settings = select( editSiteStore ).getSettings();
|
|
@@ -55,9 +116,6 @@ export default function SidebarNavigationScreenPatterns() {
|
|
|
55
116
|
const templatePartsLink = useLink( { path: '/wp_template_part/all' } );
|
|
56
117
|
const footer = ! isMobileViewport ? (
|
|
57
118
|
<ItemGroup>
|
|
58
|
-
<SidebarNavigationItem withChevron { ...templatePartsLink }>
|
|
59
|
-
{ __( 'Manage all template parts' ) }
|
|
60
|
-
</SidebarNavigationItem>
|
|
61
119
|
<SidebarNavigationItem
|
|
62
120
|
as="a"
|
|
63
121
|
href="edit.php?post_type=wp_block"
|
|
@@ -65,6 +123,9 @@ export default function SidebarNavigationScreenPatterns() {
|
|
|
65
123
|
>
|
|
66
124
|
{ __( 'Manage all of my patterns' ) }
|
|
67
125
|
</SidebarNavigationItem>
|
|
126
|
+
<SidebarNavigationItem withChevron { ...templatePartsLink }>
|
|
127
|
+
{ __( 'Manage all template parts' ) }
|
|
128
|
+
</SidebarNavigationItem>
|
|
68
129
|
</ItemGroup>
|
|
69
130
|
) : undefined;
|
|
70
131
|
|
|
@@ -73,7 +134,7 @@ export default function SidebarNavigationScreenPatterns() {
|
|
|
73
134
|
isRoot={ isTemplatePartsMode }
|
|
74
135
|
title={ __( 'Patterns' ) }
|
|
75
136
|
description={ __(
|
|
76
|
-
'Manage what patterns are available when editing
|
|
137
|
+
'Manage what patterns are available when editing the site.'
|
|
77
138
|
) }
|
|
78
139
|
actions={ <AddNewPattern /> }
|
|
79
140
|
footer={ footer }
|
|
@@ -91,94 +152,38 @@ export default function SidebarNavigationScreenPatterns() {
|
|
|
91
152
|
</Item>
|
|
92
153
|
</ItemGroup>
|
|
93
154
|
) }
|
|
94
|
-
|
|
95
|
-
<
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
155
|
+
<ItemGroup className="edit-site-sidebar-navigation-screen-patterns__group">
|
|
156
|
+
<CategoryItem
|
|
157
|
+
key={ myPatterns.name }
|
|
158
|
+
count={
|
|
159
|
+
! myPatterns.count
|
|
160
|
+
? '0'
|
|
161
|
+
: myPatterns.count
|
|
162
|
+
}
|
|
163
|
+
label={ myPatterns.label }
|
|
164
|
+
icon={ starFilled }
|
|
165
|
+
id={ myPatterns.name }
|
|
166
|
+
type="wp_block"
|
|
167
|
+
isActive={
|
|
168
|
+
currentCategory ===
|
|
169
|
+
`${ myPatterns.name }` &&
|
|
170
|
+
currentType === 'wp_block'
|
|
171
|
+
}
|
|
172
|
+
/>
|
|
173
|
+
</ItemGroup>
|
|
174
|
+
{ hasPatterns && (
|
|
175
|
+
<ThemePatternsGroup
|
|
176
|
+
categories={ patternCategories }
|
|
177
|
+
currentCategory={ currentCategory }
|
|
178
|
+
currentType={ currentType }
|
|
179
|
+
/>
|
|
110
180
|
) }
|
|
111
181
|
{ hasTemplateParts && (
|
|
112
|
-
<
|
|
113
|
-
{
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
count={ parts.length }
|
|
118
|
-
icon={ getTemplatePartIcon(
|
|
119
|
-
area
|
|
120
|
-
) }
|
|
121
|
-
label={
|
|
122
|
-
templatePartAreaLabels[
|
|
123
|
-
area
|
|
124
|
-
]
|
|
125
|
-
}
|
|
126
|
-
id={ area }
|
|
127
|
-
type="wp_template_part"
|
|
128
|
-
isActive={
|
|
129
|
-
currentCategory === area &&
|
|
130
|
-
currentType ===
|
|
131
|
-
'wp_template_part'
|
|
132
|
-
}
|
|
133
|
-
/>
|
|
134
|
-
)
|
|
135
|
-
) }
|
|
136
|
-
</ItemGroup>
|
|
137
|
-
) }
|
|
138
|
-
{ hasPatterns && (
|
|
139
|
-
<ItemGroup className="edit-site-sidebar-navigation-screen-patterns__group">
|
|
140
|
-
{ patternCategories.map( ( category ) => (
|
|
141
|
-
<CategoryItem
|
|
142
|
-
key={ category.name }
|
|
143
|
-
count={ category.count }
|
|
144
|
-
label={
|
|
145
|
-
<Flex
|
|
146
|
-
justify="left"
|
|
147
|
-
align="center"
|
|
148
|
-
gap={ 0 }
|
|
149
|
-
>
|
|
150
|
-
{ category.label }
|
|
151
|
-
<Tooltip
|
|
152
|
-
position="top center"
|
|
153
|
-
text={ __(
|
|
154
|
-
'Theme patterns cannot be edited.'
|
|
155
|
-
) }
|
|
156
|
-
>
|
|
157
|
-
<span className="edit-site-sidebar-navigation-screen-pattern__lock-icon">
|
|
158
|
-
<Icon
|
|
159
|
-
style={ {
|
|
160
|
-
fill: 'currentcolor',
|
|
161
|
-
} }
|
|
162
|
-
icon={
|
|
163
|
-
lockSmall
|
|
164
|
-
}
|
|
165
|
-
size={ 24 }
|
|
166
|
-
/>
|
|
167
|
-
</span>
|
|
168
|
-
</Tooltip>
|
|
169
|
-
</Flex>
|
|
170
|
-
}
|
|
171
|
-
icon={ file }
|
|
172
|
-
id={ category.name }
|
|
173
|
-
type="pattern"
|
|
174
|
-
isActive={
|
|
175
|
-
currentCategory ===
|
|
176
|
-
`${ category.name }` &&
|
|
177
|
-
currentType === 'pattern'
|
|
178
|
-
}
|
|
179
|
-
/>
|
|
180
|
-
) ) }
|
|
181
|
-
</ItemGroup>
|
|
182
|
+
<TemplatePartGroup
|
|
183
|
+
areas={ templatePartAreas }
|
|
184
|
+
currentArea={ currentCategory }
|
|
185
|
+
currentType={ currentType }
|
|
186
|
+
/>
|
|
182
187
|
) }
|
|
183
188
|
</>
|
|
184
189
|
) }
|
|
@@ -1,3 +1,23 @@
|
|
|
1
1
|
.edit-site-sidebar-navigation-screen-patterns__group {
|
|
2
2
|
margin-bottom: $grid-unit-30;
|
|
3
|
+
|
|
4
|
+
&:last-of-type {
|
|
5
|
+
border-bottom: 0;
|
|
6
|
+
padding-bottom: 0;
|
|
7
|
+
margin-bottom: 0;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.edit-site-sidebar-navigation-screen-patterns__group-header {
|
|
12
|
+
margin-top: $grid-unit-20;
|
|
13
|
+
|
|
14
|
+
p {
|
|
15
|
+
color: $gray-600;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
h2 {
|
|
19
|
+
font-size: 11px;
|
|
20
|
+
font-weight: 500;
|
|
21
|
+
text-transform: uppercase;
|
|
22
|
+
}
|
|
3
23
|
}
|
|
@@ -6,18 +6,19 @@ import { useSelect } from '@wordpress/data';
|
|
|
6
6
|
import { __ } from '@wordpress/i18n';
|
|
7
7
|
|
|
8
8
|
export default function useMyPatterns() {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
const myPatternsCount = useSelect(
|
|
10
|
+
( select ) =>
|
|
11
|
+
select( coreStore ).getEntityRecords( 'postType', 'wp_block', {
|
|
12
|
+
per_page: -1,
|
|
13
|
+
} )?.length ?? 0
|
|
13
14
|
);
|
|
14
15
|
|
|
15
16
|
return {
|
|
16
17
|
myPatterns: {
|
|
17
|
-
count:
|
|
18
|
+
count: myPatternsCount,
|
|
18
19
|
name: 'my-patterns',
|
|
19
20
|
label: __( 'My patterns' ),
|
|
20
21
|
},
|
|
21
|
-
hasPatterns:
|
|
22
|
+
hasPatterns: myPatternsCount > 0,
|
|
22
23
|
};
|
|
23
24
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useMemo } from '@wordpress/element';
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Internal dependencies
|
|
@@ -11,6 +12,10 @@ import useThemePatterns from './use-theme-patterns';
|
|
|
11
12
|
|
|
12
13
|
export default function usePatternCategories() {
|
|
13
14
|
const defaultCategories = useDefaultPatternCategories();
|
|
15
|
+
defaultCategories.push( {
|
|
16
|
+
name: 'uncategorized',
|
|
17
|
+
label: __( 'Uncategorized' ),
|
|
18
|
+
} );
|
|
14
19
|
const themePatterns = useThemePatterns();
|
|
15
20
|
|
|
16
21
|
const patternCategories = useMemo( () => {
|
|
@@ -31,6 +36,10 @@ export default function usePatternCategories() {
|
|
|
31
36
|
categoryMap[ category ].count += 1;
|
|
32
37
|
}
|
|
33
38
|
} );
|
|
39
|
+
// If the pattern has no categories, add it to uncategorized.
|
|
40
|
+
if ( ! pattern.categories?.length ) {
|
|
41
|
+
categoryMap.uncategorized.count += 1;
|
|
42
|
+
}
|
|
34
43
|
} );
|
|
35
44
|
|
|
36
45
|
// Filter categories so we only have those containing patterns.
|
|
@@ -2,19 +2,41 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useEntityRecords } from '@wordpress/core-data';
|
|
5
|
+
import { useSelect } from '@wordpress/data';
|
|
6
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
5
7
|
|
|
6
|
-
const
|
|
8
|
+
const useTemplatePartsGroupedByArea = ( items ) => {
|
|
7
9
|
const allItems = items || [];
|
|
8
10
|
|
|
9
|
-
const
|
|
10
|
-
(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return accumulator;
|
|
14
|
-
},
|
|
15
|
-
{ header: [], footer: [], sidebar: [], uncategorized: [] }
|
|
11
|
+
const templatePartAreas = useSelect(
|
|
12
|
+
( select ) =>
|
|
13
|
+
select( editorStore ).__experimentalGetDefaultTemplatePartAreas(),
|
|
14
|
+
[]
|
|
16
15
|
);
|
|
17
16
|
|
|
17
|
+
// Create map of template areas ensuring that default areas are displayed before
|
|
18
|
+
// any custom registered template part areas.
|
|
19
|
+
const knownAreas = {
|
|
20
|
+
header: {},
|
|
21
|
+
footer: {},
|
|
22
|
+
sidebar: {},
|
|
23
|
+
uncategorized: {},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
templatePartAreas.forEach(
|
|
27
|
+
( templatePartArea ) =>
|
|
28
|
+
( knownAreas[ templatePartArea.area ] = {
|
|
29
|
+
...templatePartArea,
|
|
30
|
+
templateParts: [],
|
|
31
|
+
} )
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
const groupedByArea = allItems.reduce( ( accumulator, item ) => {
|
|
35
|
+
const key = accumulator[ item.area ] ? item.area : 'uncategorized';
|
|
36
|
+
accumulator[ key ].templateParts.push( item );
|
|
37
|
+
return accumulator;
|
|
38
|
+
}, knownAreas );
|
|
39
|
+
|
|
18
40
|
return groupedByArea;
|
|
19
41
|
};
|
|
20
42
|
|
|
@@ -28,6 +50,6 @@ export default function useTemplatePartAreas() {
|
|
|
28
50
|
return {
|
|
29
51
|
hasTemplateParts: templateParts ? !! templateParts.length : false,
|
|
30
52
|
isLoading,
|
|
31
|
-
templatePartAreas:
|
|
53
|
+
templatePartAreas: useTemplatePartsGroupedByArea( templateParts ),
|
|
32
54
|
};
|
|
33
55
|
}
|
|
@@ -36,7 +36,8 @@ export default function useThemePatterns() {
|
|
|
36
36
|
( pattern ) =>
|
|
37
37
|
! CORE_PATTERN_SOURCES.includes( pattern.source )
|
|
38
38
|
)
|
|
39
|
-
.filter( filterOutDuplicatesByName )
|
|
39
|
+
.filter( filterOutDuplicatesByName )
|
|
40
|
+
.filter( ( pattern ) => pattern.inserter !== false ),
|
|
40
41
|
[ blockPatterns, restBlockPatterns ]
|
|
41
42
|
);
|
|
42
43
|
|