@wordpress/edit-site 5.14.0 → 5.16.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 +4 -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 +22 -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 +114 -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 +5 -5
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/global-styles-provider.js +12 -7
- package/build/components/global-styles/global-styles-provider.js.map +1 -1
- package/build/components/global-styles/screen-block.js +16 -0
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +12 -5
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +10 -22
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +32 -25
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +5 -3
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/header-edit-mode/document-actions/index.js +4 -2
- package/build/components/header-edit-mode/document-actions/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/keyboard-shortcuts/edit-mode.js +7 -5
- package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build/components/layout/index.js +17 -5
- package/build/components/layout/index.js.map +1 -1
- package/build/components/page/index.js +3 -3
- package/build/components/page/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 +110 -31
- 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 +116 -118
- 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 +3 -25
- package/build/components/page-template-parts/index.js.map +1 -1
- package/build/components/page-templates/index.js +1 -16
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/resizable-frame/index.js +85 -51
- package/build/components/resizable-frame/index.js.map +1 -1
- package/build/components/save-button/index.js +4 -2
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-hub/index.js +10 -4
- package/build/components/save-hub/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-edit-mode/template-panel/index.js +15 -8
- package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen/index.js +31 -15
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +34 -40
- package/build/components/sidebar-navigation-screen-global-styles/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 +5 -4
- 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-navigation-menus/index.js +4 -4
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +8 -0
- package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.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 +35 -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 +4 -3
- 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 +19 -4
- 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 +55 -28
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/category-item.js +0 -5
- package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +72 -60
- 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/sidebar-navigation-screen-templates/index.js +1 -10
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +9 -0
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build/components/site-hub/index.js +29 -13
- 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-canvas-mode-with-url.js +1 -1
- package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-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 +120 -32
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +65 -7
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +138 -57
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/store/private-actions.js +9 -2
- 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/utils/use-debounced-input.js +5 -7
- package/build/utils/use-debounced-input.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 +20 -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 +116 -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 +5 -5
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/global-styles-provider.js +12 -7
- package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +16 -0
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +13 -6
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +10 -22
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +28 -21
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +5 -3
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +6 -4
- package/build-module/components/header-edit-mode/document-actions/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/keyboard-shortcuts/edit-mode.js +7 -5
- package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build-module/components/layout/index.js +17 -5
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/page/index.js +3 -3
- package/build-module/components/page/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 +111 -34
- 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 +116 -119
- 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 +4 -24
- package/build-module/components/page-template-parts/index.js.map +1 -1
- package/build-module/components/page-templates/index.js +2 -15
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/resizable-frame/index.js +87 -55
- package/build-module/components/resizable-frame/index.js.map +1 -1
- package/build-module/components/save-button/index.js +4 -2
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +10 -4
- package/build-module/components/save-hub/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-edit-mode/template-panel/index.js +15 -9
- package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen/index.js +29 -16
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +34 -40
- package/build-module/components/sidebar-navigation-screen-global-styles/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 +5 -4
- 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-navigation-menus/index.js +4 -4
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +7 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +2 -2
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.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 +35 -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 +4 -3
- 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 +18 -4
- 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 +53 -28
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +0 -5
- package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +76 -60
- 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/sidebar-navigation-screen-templates/index.js +1 -8
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +7 -0
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-module/components/site-hub/index.js +28 -13
- 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-canvas-mode-with-url.js +1 -1
- package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-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 +116 -32
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +65 -9
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +139 -57
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/store/private-actions.js +9 -2
- 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-module/utils/use-debounced-input.js +5 -7
- package/build-module/utils/use-debounced-input.js.map +1 -1
- package/build-style/style-rtl.css +281 -103
- package/build-style/style.css +281 -103
- package/package.json +39 -40
- package/src/components/add-new-page/index.js +0 -3
- package/src/components/add-new-pattern/index.js +25 -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 +119 -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 +5 -5
- package/src/components/global-styles/global-styles-provider.js +7 -2
- package/src/components/global-styles/screen-block.js +15 -0
- package/src/components/global-styles/screen-revisions/index.js +64 -58
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +17 -31
- package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +14 -1
- package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +64 -48
- package/src/components/global-styles/style-variations-container.js +2 -0
- package/src/components/header-edit-mode/document-actions/index.js +8 -4
- package/src/components/header-edit-mode/document-actions/style.scss +45 -28
- package/src/components/header-edit-mode/index.js +29 -22
- package/src/components/keyboard-shortcuts/edit-mode.js +4 -5
- package/src/components/layout/index.js +49 -22
- package/src/components/layout/style.scss +4 -3
- package/src/components/page/index.js +8 -8
- package/src/components/page/style.scss +8 -5
- 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 +172 -71
- package/src/components/page-patterns/rename-menu-item.js +115 -0
- package/src/components/page-patterns/style.scss +141 -30
- package/src/components/page-patterns/use-patterns.js +115 -169
- package/src/components/page-template-parts/add-new-template-part.js +57 -0
- package/src/components/page-template-parts/index.js +3 -23
- package/src/components/page-templates/index.js +6 -19
- package/src/components/resizable-frame/index.js +104 -51
- package/src/components/resizable-frame/style.scss +9 -9
- package/src/components/save-button/index.js +2 -0
- package/src/components/save-hub/index.js +6 -1
- package/src/components/save-hub/style.scss +1 -1
- 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-edit-mode/template-panel/index.js +15 -11
- package/src/components/sidebar-navigation-item/style.scss +5 -12
- package/src/components/sidebar-navigation-screen/index.js +30 -15
- package/src/components/sidebar-navigation-screen/style.scss +18 -0
- package/src/components/sidebar-navigation-screen-details-panel/style.scss +1 -0
- package/src/components/sidebar-navigation-screen-global-styles/index.js +48 -44
- 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 +16 -7
- package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
- package/src/components/sidebar-navigation-screen-navigation-menus/index.js +4 -4
- package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +27 -15
- package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -4
- 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 +48 -33
- package/src/components/sidebar-navigation-screen-pattern/index.js +5 -2
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
- 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 +23 -3
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +74 -43
- package/src/components/sidebar-navigation-screen-patterns/category-item.js +5 -13
- package/src/components/sidebar-navigation-screen-patterns/index.js +103 -106
- 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/sidebar-navigation-screen-templates/index.js +1 -9
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +10 -0
- package/src/components/site-hub/index.js +48 -29
- package/src/components/site-hub/style.scss +14 -2
- 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-canvas-mode-with-url.js +1 -4
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +73 -66
- package/src/components/table/style.scss +1 -0
- 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 +105 -32
- package/src/hooks/commands/use-edit-mode-commands.js +94 -23
- package/src/hooks/push-changes-to-global-styles/index.js +141 -50
- package/src/store/private-actions.js +10 -2
- 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/src/utils/use-debounced-input.js +8 -7
- 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
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
import { parse } from '@wordpress/blocks';
|
|
5
5
|
import { useSelect } from '@wordpress/data';
|
|
6
6
|
import { store as coreStore } from '@wordpress/core-data';
|
|
7
|
-
import {
|
|
7
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
8
|
+
import { decodeEntities } from '@wordpress/html-entities';
|
|
8
9
|
/**
|
|
9
10
|
* Internal dependencies
|
|
10
11
|
*/
|
|
11
12
|
|
|
12
|
-
import { CORE_PATTERN_SOURCES, PATTERNS, SYNC_TYPES, TEMPLATE_PARTS, USER_PATTERNS,
|
|
13
|
+
import { CORE_PATTERN_SOURCES, PATTERNS, SYNC_TYPES, TEMPLATE_PARTS, USER_PATTERNS, filterOutDuplicatesByName } from './utils';
|
|
13
14
|
import { unlock } from '../../lock-unlock';
|
|
14
15
|
import { searchItems } from './search-items';
|
|
15
16
|
import { store as editSiteStore } from '../../store';
|
|
@@ -21,92 +22,91 @@ const templatePartToPattern = templatePart => ({
|
|
|
21
22
|
blocks: parse(templatePart.content.raw),
|
|
22
23
|
categories: [templatePart.area],
|
|
23
24
|
description: templatePart.description || '',
|
|
25
|
+
isCustom: templatePart.source === 'custom',
|
|
24
26
|
keywords: templatePart.keywords || [],
|
|
27
|
+
id: createTemplatePartId(templatePart.theme, templatePart.slug),
|
|
25
28
|
name: createTemplatePartId(templatePart.theme, templatePart.slug),
|
|
26
|
-
title: templatePart.title.rendered,
|
|
29
|
+
title: decodeEntities(templatePart.title.rendered),
|
|
27
30
|
type: templatePart.type,
|
|
28
31
|
templatePart
|
|
29
32
|
});
|
|
30
33
|
|
|
31
|
-
const
|
|
34
|
+
const selectTemplatePartsAsPatterns = (select, {
|
|
35
|
+
categoryId,
|
|
36
|
+
search = ''
|
|
37
|
+
} = {}) => {
|
|
38
|
+
var _getEntityRecords;
|
|
32
39
|
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
40
|
+
const {
|
|
41
|
+
getEntityRecords,
|
|
42
|
+
getIsResolving
|
|
43
|
+
} = select(coreStore);
|
|
44
|
+
const {
|
|
45
|
+
__experimentalGetDefaultTemplatePartAreas
|
|
46
|
+
} = select(editorStore);
|
|
47
|
+
const query = {
|
|
48
|
+
per_page: -1
|
|
49
|
+
};
|
|
50
|
+
const rawTemplateParts = (_getEntityRecords = getEntityRecords('postType', TEMPLATE_PARTS, query)) !== null && _getEntityRecords !== void 0 ? _getEntityRecords : EMPTY_PATTERN_LIST;
|
|
51
|
+
const templateParts = rawTemplateParts.map(templatePart => templatePartToPattern(templatePart)); // In the case where a custom template part area has been removed we need
|
|
52
|
+
// the current list of areas to cross check against so orphaned template
|
|
53
|
+
// parts can be treated as uncategorized.
|
|
37
54
|
|
|
38
|
-
|
|
39
|
-
|
|
55
|
+
const knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];
|
|
56
|
+
const templatePartAreas = knownAreas.map(area => area.area);
|
|
40
57
|
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
isResolving
|
|
45
|
-
} = useSelect(select => {
|
|
46
|
-
if (postType !== TEMPLATE_PARTS) {
|
|
47
|
-
return {
|
|
48
|
-
templateParts: EMPTY_PATTERN_LIST,
|
|
49
|
-
isResolving: false
|
|
50
|
-
};
|
|
58
|
+
const templatePartHasCategory = (item, category) => {
|
|
59
|
+
if (category !== 'uncategorized') {
|
|
60
|
+
return item.templatePart.area === category;
|
|
51
61
|
}
|
|
52
62
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
isResolving: _isResolving
|
|
56
|
-
} = select(coreStore);
|
|
57
|
-
const query = {
|
|
58
|
-
per_page: -1
|
|
59
|
-
};
|
|
60
|
-
const rawTemplateParts = getEntityRecords('postType', postType, query);
|
|
61
|
-
const partsAsPatterns = rawTemplateParts?.map(templatePart => templatePartToPattern(templatePart));
|
|
62
|
-
return {
|
|
63
|
-
templateParts: partsAsPatterns,
|
|
64
|
-
isResolving: _isResolving('getEntityRecords', ['postType', 'wp_template_part', query])
|
|
65
|
-
};
|
|
66
|
-
}, [postType]);
|
|
67
|
-
const filteredTemplateParts = useMemo(() => {
|
|
68
|
-
if (!templateParts) {
|
|
69
|
-
return EMPTY_PATTERN_LIST;
|
|
70
|
-
}
|
|
63
|
+
return item.templatePart.area === category || !templatePartAreas.includes(item.templatePart.area);
|
|
64
|
+
};
|
|
71
65
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
66
|
+
const isResolving = getIsResolving('getEntityRecords', ['postType', 'wp_template_part', query]);
|
|
67
|
+
const patterns = searchItems(templateParts, search, {
|
|
68
|
+
categoryId,
|
|
69
|
+
hasCategory: templatePartHasCategory
|
|
70
|
+
});
|
|
77
71
|
return {
|
|
78
|
-
|
|
72
|
+
patterns,
|
|
79
73
|
isResolving
|
|
80
74
|
};
|
|
81
75
|
};
|
|
82
76
|
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
77
|
+
const selectThemePatterns = (select, {
|
|
78
|
+
categoryId,
|
|
79
|
+
search = ''
|
|
80
|
+
} = {}) => {
|
|
81
|
+
var _settings$__experimen;
|
|
86
82
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const patterns = useMemo(() => [...(blockPatterns || []), ...(restBlockPatterns || [])].filter(pattern => !CORE_PATTERN_SOURCES.includes(pattern.source)).filter(filterOutDuplicatesByName).map(pattern => ({ ...pattern,
|
|
83
|
+
const {
|
|
84
|
+
getSettings
|
|
85
|
+
} = unlock(select(editSiteStore));
|
|
86
|
+
const settings = getSettings();
|
|
87
|
+
const blockPatterns = (_settings$__experimen = settings.__experimentalAdditionalBlockPatterns) !== null && _settings$__experimen !== void 0 ? _settings$__experimen : settings.__experimentalBlockPatterns;
|
|
88
|
+
const restBlockPatterns = select(coreStore).getBlockPatterns();
|
|
89
|
+
let patterns = [...(blockPatterns || []), ...(restBlockPatterns || [])].filter(pattern => !CORE_PATTERN_SOURCES.includes(pattern.source)).filter(filterOutDuplicatesByName).filter(pattern => pattern.inserter !== false).map(pattern => ({ ...pattern,
|
|
95
90
|
keywords: pattern.keywords || [],
|
|
96
91
|
type: 'pattern',
|
|
97
92
|
blocks: parse(pattern.content)
|
|
98
|
-
}))
|
|
99
|
-
const filteredPatterns = useMemo(() => {
|
|
100
|
-
if (postType !== PATTERNS) {
|
|
101
|
-
return EMPTY_PATTERN_LIST;
|
|
102
|
-
}
|
|
93
|
+
}));
|
|
103
94
|
|
|
104
|
-
|
|
95
|
+
if (categoryId) {
|
|
96
|
+
patterns = searchItems(patterns, search, {
|
|
105
97
|
categoryId,
|
|
106
98
|
hasCategory: (item, currentCategory) => item.categories?.includes(currentCategory)
|
|
107
99
|
});
|
|
108
|
-
}
|
|
109
|
-
|
|
100
|
+
} else {
|
|
101
|
+
patterns = searchItems(patterns, search, {
|
|
102
|
+
hasCategory: item => !item.hasOwnProperty('categories')
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return {
|
|
107
|
+
patterns,
|
|
108
|
+
isResolving: false
|
|
109
|
+
};
|
|
110
110
|
};
|
|
111
111
|
|
|
112
112
|
const reusableBlockToPattern = reusableBlock => ({
|
|
@@ -120,67 +120,64 @@ const reusableBlockToPattern = reusableBlock => ({
|
|
|
120
120
|
reusableBlock
|
|
121
121
|
});
|
|
122
122
|
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
if (!records) {
|
|
138
|
-
return EMPTY_PATTERN_LIST;
|
|
139
|
-
}
|
|
123
|
+
const selectUserPatterns = (select, {
|
|
124
|
+
search = '',
|
|
125
|
+
syncStatus
|
|
126
|
+
} = {}) => {
|
|
127
|
+
const {
|
|
128
|
+
getEntityRecords,
|
|
129
|
+
getIsResolving
|
|
130
|
+
} = select(coreStore);
|
|
131
|
+
const query = {
|
|
132
|
+
per_page: -1
|
|
133
|
+
};
|
|
134
|
+
const records = getEntityRecords('postType', USER_PATTERNS, query);
|
|
135
|
+
let patterns = records ? records.map(record => reusableBlockToPattern(record)) : EMPTY_PATTERN_LIST;
|
|
136
|
+
const isResolving = getIsResolving('getEntityRecords', ['postType', USER_PATTERNS, query]);
|
|
140
137
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
if (!unfilteredPatterns.length) {
|
|
145
|
-
return EMPTY_PATTERN_LIST;
|
|
146
|
-
}
|
|
138
|
+
if (syncStatus) {
|
|
139
|
+
patterns = patterns.filter(pattern => pattern.syncStatus === syncStatus);
|
|
140
|
+
}
|
|
147
141
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
});
|
|
154
|
-
}, [unfilteredPatterns, filterValue]);
|
|
155
|
-
const patterns = {
|
|
156
|
-
syncedPatterns: [],
|
|
157
|
-
unsyncedPatterns: []
|
|
158
|
-
};
|
|
159
|
-
filteredPatterns.forEach(pattern => {
|
|
160
|
-
if (pattern.syncStatus === SYNC_TYPES.full) {
|
|
161
|
-
patterns.syncedPatterns.push(pattern);
|
|
162
|
-
} else {
|
|
163
|
-
patterns.unsyncedPatterns.push(pattern);
|
|
164
|
-
}
|
|
142
|
+
patterns = searchItems(patterns, search, {
|
|
143
|
+
// We exit user pattern retrieval early if we aren't in the
|
|
144
|
+
// catch-all category for user created patterns, so it has
|
|
145
|
+
// to be in the category.
|
|
146
|
+
hasCategory: () => true
|
|
165
147
|
});
|
|
166
|
-
return
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
export const usePatterns = (categoryType, categoryId, filterValue) => {
|
|
170
|
-
const blockPatterns = useThemePatterns(categoryId, categoryType, filterValue);
|
|
171
|
-
const {
|
|
172
|
-
syncedPatterns = [],
|
|
173
|
-
unsyncedPatterns = []
|
|
174
|
-
} = useUserPatterns(categoryId, categoryType, filterValue);
|
|
175
|
-
const {
|
|
176
|
-
templateParts,
|
|
148
|
+
return {
|
|
149
|
+
patterns,
|
|
177
150
|
isResolving
|
|
178
|
-
} = useTemplatePartsAsPatterns(categoryId, categoryType, filterValue);
|
|
179
|
-
const patterns = {
|
|
180
|
-
syncedPatterns: [...templateParts, ...syncedPatterns],
|
|
181
|
-
unsyncedPatterns: [...blockPatterns, ...unsyncedPatterns]
|
|
182
151
|
};
|
|
183
|
-
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
export const usePatterns = (categoryType, categoryId, {
|
|
155
|
+
search = '',
|
|
156
|
+
syncStatus
|
|
157
|
+
}) => {
|
|
158
|
+
return useSelect(select => {
|
|
159
|
+
if (categoryType === TEMPLATE_PARTS) {
|
|
160
|
+
return selectTemplatePartsAsPatterns(select, {
|
|
161
|
+
categoryId,
|
|
162
|
+
search
|
|
163
|
+
});
|
|
164
|
+
} else if (categoryType === PATTERNS) {
|
|
165
|
+
return selectThemePatterns(select, {
|
|
166
|
+
categoryId,
|
|
167
|
+
search
|
|
168
|
+
});
|
|
169
|
+
} else if (categoryType === USER_PATTERNS) {
|
|
170
|
+
return selectUserPatterns(select, {
|
|
171
|
+
search,
|
|
172
|
+
syncStatus
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
return {
|
|
177
|
+
patterns: EMPTY_PATTERN_LIST,
|
|
178
|
+
isResolving: false
|
|
179
|
+
};
|
|
180
|
+
}, [categoryId, categoryType, search, syncStatus]);
|
|
184
181
|
};
|
|
185
182
|
export default usePatterns;
|
|
186
183
|
//# sourceMappingURL=use-patterns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"names":["parse","useSelect","store","coreStore","useMemo","CORE_PATTERN_SOURCES","PATTERNS","SYNC_TYPES","TEMPLATE_PARTS","USER_PATTERNS","USER_PATTERN_CATEGORY","filterOutDuplicatesByName","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","categories","area","description","keywords","name","title","rendered","type","templatePartCategories","templatePartHasCategory","item","category","includes","useTemplatePartsAsPatterns","categoryId","postType","filterValue","templateParts","isResolving","select","getEntityRecords","_isResolving","query","per_page","rawTemplateParts","partsAsPatterns","map","filteredTemplateParts","hasCategory","useThemePatterns","blockPatterns","getSettings","settings","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","patterns","filter","pattern","source","filteredPatterns","currentCategory","reusableBlockToPattern","reusableBlock","wp_pattern","id","syncStatus","wp_pattern_sync_status","full","useUserPatterns","categoryType","unfilteredPatterns","records","record","length","syncedPatterns","unsyncedPatterns","forEach","push","usePatterns"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tCORE_PATTERN_SOURCES,\n\tPATTERNS,\n\tSYNC_TYPES,\n\tTEMPLATE_PARTS,\n\tUSER_PATTERNS,\n\tUSER_PATTERN_CATEGORY,\n\tfilterOutDuplicatesByName,\n} from './utils';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tkeywords: templatePart.keywords || [],\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: templatePart.title.rendered,\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst templatePartCategories = [ 'header', 'footer', 'sidebar' ];\nconst templatePartHasCategory = ( item, category ) => {\n\tif ( category === 'uncategorized' ) {\n\t\treturn ! templatePartCategories.includes( item.templatePart.area );\n\t}\n\n\treturn item.templatePart.area === category;\n};\n\nconst useTemplatePartsAsPatterns = (\n\tcategoryId,\n\tpostType = TEMPLATE_PARTS,\n\tfilterValue = ''\n) => {\n\tconst { templateParts, isResolving } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType !== TEMPLATE_PARTS ) {\n\t\t\t\treturn {\n\t\t\t\t\ttemplateParts: EMPTY_PATTERN_LIST,\n\t\t\t\t\tisResolving: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst { getEntityRecords, isResolving: _isResolving } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst query = { per_page: -1 };\n\t\t\tconst rawTemplateParts = getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tquery\n\t\t\t);\n\t\t\tconst partsAsPatterns = rawTemplateParts?.map( ( templatePart ) =>\n\t\t\t\ttemplatePartToPattern( templatePart )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ttemplateParts: partsAsPatterns,\n\t\t\t\tisResolving: _isResolving( 'getEntityRecords', [\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_template_part',\n\t\t\t\t\tquery,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tif ( ! templateParts ) {\n\t\t\treturn EMPTY_PATTERN_LIST;\n\t\t}\n\n\t\treturn searchItems( templateParts, filterValue, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\t}, [ templateParts, filterValue, categoryId ] );\n\n\treturn { templateParts: filteredTemplateParts, isResolving };\n};\n\nconst useThemePatterns = (\n\tcategoryId,\n\tpostType = PATTERNS,\n\tfilterValue = ''\n) => {\n\tconst blockPatterns = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst settings = getSettings();\n\t\treturn (\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns\n\t\t);\n\t} );\n\n\tconst restBlockPatterns = useSelect( ( select ) =>\n\t\tselect( coreStore ).getBlockPatterns()\n\t);\n\n\tconst patterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( blockPatterns || [] ), ...( restBlockPatterns || [] ) ]\n\t\t\t\t.filter(\n\t\t\t\t\t( pattern ) =>\n\t\t\t\t\t\t! CORE_PATTERN_SOURCES.includes( pattern.source )\n\t\t\t\t)\n\t\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t\t...pattern,\n\t\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\t\ttype: 'pattern',\n\t\t\t\t\tblocks: parse( pattern.content ),\n\t\t\t\t} ) ),\n\t\t[ blockPatterns, restBlockPatterns ]\n\t);\n\n\tconst filteredPatterns = useMemo( () => {\n\t\tif ( postType !== PATTERNS ) {\n\t\t\treturn EMPTY_PATTERN_LIST;\n\t\t}\n\n\t\treturn searchItems( patterns, filterValue, {\n\t\t\tcategoryId,\n\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t} );\n\t}, [ patterns, filterValue, categoryId, postType ] );\n\n\treturn filteredPatterns;\n};\n\nconst reusableBlockToPattern = ( reusableBlock ) => ( {\n\tblocks: parse( reusableBlock.content.raw ),\n\tcategories: reusableBlock.wp_pattern,\n\tid: reusableBlock.id,\n\tname: reusableBlock.slug,\n\tsyncStatus: reusableBlock.wp_pattern_sync_status || SYNC_TYPES.full,\n\ttitle: reusableBlock.title.raw,\n\ttype: reusableBlock.type,\n\treusableBlock,\n} );\n\nconst useUserPatterns = (\n\tcategoryId,\n\tcategoryType = PATTERNS,\n\tfilterValue = ''\n) => {\n\tconst postType = categoryType === PATTERNS ? USER_PATTERNS : categoryType;\n\tconst unfilteredPatterns = useSelect(\n\t\t( select ) => {\n\t\t\tif (\n\t\t\t\tpostType !== USER_PATTERNS ||\n\t\t\t\tcategoryId !== USER_PATTERN_CATEGORY\n\t\t\t) {\n\t\t\t\treturn EMPTY_PATTERN_LIST;\n\t\t\t}\n\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst records = getEntityRecords( 'postType', postType, {\n\t\t\t\tper_page: -1,\n\t\t\t} );\n\n\t\t\tif ( ! records ) {\n\t\t\t\treturn EMPTY_PATTERN_LIST;\n\t\t\t}\n\n\t\t\treturn records.map( ( record ) =>\n\t\t\t\treusableBlockToPattern( record )\n\t\t\t);\n\t\t},\n\t\t[ postType, categoryId ]\n\t);\n\n\tconst filteredPatterns = useMemo( () => {\n\t\tif ( ! unfilteredPatterns.length ) {\n\t\t\treturn EMPTY_PATTERN_LIST;\n\t\t}\n\n\t\treturn searchItems( unfilteredPatterns, filterValue, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\t}, [ unfilteredPatterns, filterValue ] );\n\n\tconst patterns = { syncedPatterns: [], unsyncedPatterns: [] };\n\n\tfilteredPatterns.forEach( ( pattern ) => {\n\t\tif ( pattern.syncStatus === SYNC_TYPES.full ) {\n\t\t\tpatterns.syncedPatterns.push( pattern );\n\t\t} else {\n\t\t\tpatterns.unsyncedPatterns.push( pattern );\n\t\t}\n\t} );\n\n\treturn patterns;\n};\n\nexport const usePatterns = ( categoryType, categoryId, filterValue ) => {\n\tconst blockPatterns = useThemePatterns(\n\t\tcategoryId,\n\t\tcategoryType,\n\t\tfilterValue\n\t);\n\n\tconst { syncedPatterns = [], unsyncedPatterns = [] } = useUserPatterns(\n\t\tcategoryId,\n\t\tcategoryType,\n\t\tfilterValue\n\t);\n\n\tconst { templateParts, isResolving } = useTemplatePartsAsPatterns(\n\t\tcategoryId,\n\t\tcategoryType,\n\t\tfilterValue\n\t);\n\n\tconst patterns = {\n\t\tsyncedPatterns: [ ...templateParts, ...syncedPatterns ],\n\t\tunsyncedPatterns: [ ...blockPatterns, ...unsyncedPatterns ],\n\t};\n\n\treturn [ patterns, isResolving ];\n};\n\nexport default usePatterns;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"names":["parse","useSelect","store","coreStore","editorStore","decodeEntities","CORE_PATTERN_SOURCES","PATTERNS","SYNC_TYPES","TEMPLATE_PARTS","USER_PATTERNS","filterOutDuplicatesByName","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","categories","area","description","isCustom","source","keywords","id","name","title","rendered","type","selectTemplatePartsAsPatterns","select","categoryId","search","getEntityRecords","getIsResolving","__experimentalGetDefaultTemplatePartAreas","query","per_page","rawTemplateParts","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","includes","isResolving","patterns","hasCategory","selectThemePatterns","getSettings","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","inserter","currentCategory","hasOwnProperty","reusableBlockToPattern","reusableBlock","wp_pattern","syncStatus","wp_pattern_sync_status","full","selectUserPatterns","records","record","usePatterns","categoryType"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tCORE_PATTERN_SOURCES,\n\tPATTERNS,\n\tSYNC_TYPES,\n\tTEMPLATE_PARTS,\n\tUSER_PATTERNS,\n\tfilterOutDuplicatesByName,\n} from './utils';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === 'custom',\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst selectTemplatePartsAsPatterns = (\n\tselect,\n\t{ categoryId, search = '' } = {}\n) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\tconst { __experimentalGetDefaultTemplatePartAreas } = select( editorStore );\n\tconst query = { per_page: -1 };\n\tconst rawTemplateParts =\n\t\tgetEntityRecords( 'postType', TEMPLATE_PARTS, query ) ??\n\t\tEMPTY_PATTERN_LIST;\n\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\ttemplatePartToPattern( templatePart )\n\t);\n\n\t// In the case where a custom template part area has been removed we need\n\t// the current list of areas to cross check against so orphaned template\n\t// parts can be treated as uncategorized.\n\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\tconst templatePartHasCategory = ( item, category ) => {\n\t\tif ( category !== 'uncategorized' ) {\n\t\t\treturn item.templatePart.area === category;\n\t\t}\n\n\t\treturn (\n\t\t\titem.templatePart.area === category ||\n\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t);\n\t};\n\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\t'wp_template_part',\n\t\tquery,\n\t] );\n\n\tconst patterns = searchItems( templateParts, search, {\n\t\tcategoryId,\n\t\thasCategory: templatePartHasCategory,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nconst selectThemePatterns = ( select, { categoryId, search = '' } = {} ) => {\n\tconst { getSettings } = unlock( select( editSiteStore ) );\n\tconst settings = getSettings();\n\tconst blockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\tsettings.__experimentalBlockPatterns;\n\n\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\tlet patterns = [\n\t\t...( blockPatterns || [] ),\n\t\t...( restBlockPatterns || [] ),\n\t]\n\t\t.filter(\n\t\t\t( pattern ) => ! CORE_PATTERN_SOURCES.includes( pattern.source )\n\t\t)\n\t\t.filter( filterOutDuplicatesByName )\n\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t.map( ( pattern ) => ( {\n\t\t\t...pattern,\n\t\t\tkeywords: pattern.keywords || [],\n\t\t\ttype: 'pattern',\n\t\t\tblocks: parse( pattern.content ),\n\t\t} ) );\n\n\tif ( categoryId ) {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t} );\n\t} else {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t} );\n\t}\n\n\treturn { patterns, isResolving: false };\n};\n\nconst reusableBlockToPattern = ( reusableBlock ) => ( {\n\tblocks: parse( reusableBlock.content.raw ),\n\tcategories: reusableBlock.wp_pattern,\n\tid: reusableBlock.id,\n\tname: reusableBlock.slug,\n\tsyncStatus: reusableBlock.wp_pattern_sync_status || SYNC_TYPES.full,\n\ttitle: reusableBlock.title.raw,\n\ttype: reusableBlock.type,\n\treusableBlock,\n} );\n\nconst selectUserPatterns = ( select, { search = '', syncStatus } = {} ) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\n\tconst query = { per_page: -1 };\n\tconst records = getEntityRecords( 'postType', USER_PATTERNS, query );\n\n\tlet patterns = records\n\t\t? records.map( ( record ) => reusableBlockToPattern( record ) )\n\t\t: EMPTY_PATTERN_LIST;\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\tUSER_PATTERNS,\n\t\tquery,\n\t] );\n\n\tif ( syncStatus ) {\n\t\tpatterns = patterns.filter(\n\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t);\n\t}\n\n\tpatterns = searchItems( patterns, search, {\n\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t// catch-all category for user created patterns, so it has\n\t\t// to be in the category.\n\t\thasCategory: () => true,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus }\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PARTS ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns( select, {\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch,\n\t\t\t\t} );\n\t\t\t} else if ( categoryType === PATTERNS ) {\n\t\t\t\treturn selectThemePatterns( select, { categoryId, search } );\n\t\t\t} else if ( categoryType === USER_PATTERNS ) {\n\t\t\t\treturn selectUserPatterns( select, { search, syncStatus } );\n\t\t\t}\n\t\t\treturn { patterns: EMPTY_PATTERN_LIST, isResolving: false };\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { createElement, Fragment } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* WordPress dependencies
|
|
5
|
+
*/
|
|
6
|
+
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
7
|
+
import { useSelect } from '@wordpress/data';
|
|
8
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
9
|
+
import { useState } from '@wordpress/element';
|
|
10
|
+
import { Button } from '@wordpress/components';
|
|
11
|
+
/**
|
|
12
|
+
* Internal dependencies
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { unlock } from '../../lock-unlock';
|
|
16
|
+
import { store as editSiteStore } from '../../store';
|
|
17
|
+
import CreateTemplatePartModal from '../create-template-part-modal';
|
|
18
|
+
const {
|
|
19
|
+
useHistory
|
|
20
|
+
} = unlock(routerPrivateApis);
|
|
21
|
+
export default function AddNewTemplatePart() {
|
|
22
|
+
const {
|
|
23
|
+
canCreate,
|
|
24
|
+
postType
|
|
25
|
+
} = useSelect(select => {
|
|
26
|
+
const {
|
|
27
|
+
supportsTemplatePartsMode
|
|
28
|
+
} = select(editSiteStore).getSettings();
|
|
29
|
+
return {
|
|
30
|
+
canCreate: !supportsTemplatePartsMode,
|
|
31
|
+
postType: select(coreStore).getPostType('wp_template_part')
|
|
32
|
+
};
|
|
33
|
+
}, []);
|
|
34
|
+
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
35
|
+
const history = useHistory();
|
|
36
|
+
|
|
37
|
+
if (!canCreate || !postType) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return createElement(Fragment, null, createElement(Button, {
|
|
42
|
+
variant: "primary",
|
|
43
|
+
onClick: () => setIsModalOpen(true)
|
|
44
|
+
}, postType.labels.add_new_item), isModalOpen && createElement(CreateTemplatePartModal, {
|
|
45
|
+
closeModal: () => setIsModalOpen(false),
|
|
46
|
+
blocks: [],
|
|
47
|
+
onCreate: templatePart => {
|
|
48
|
+
setIsModalOpen(false);
|
|
49
|
+
history.push({
|
|
50
|
+
postId: templatePart.id,
|
|
51
|
+
postType: 'wp_template_part',
|
|
52
|
+
canvas: 'edit'
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
onError: () => setIsModalOpen(false)
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=add-new-template-part.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/page-template-parts/add-new-template-part.js"],"names":["privateApis","routerPrivateApis","useSelect","store","coreStore","useState","Button","unlock","editSiteStore","CreateTemplatePartModal","useHistory","AddNewTemplatePart","canCreate","postType","select","supportsTemplatePartsMode","getSettings","getPostType","isModalOpen","setIsModalOpen","history","labels","add_new_item","templatePart","push","postId","id","canvas"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,iBAAxB,QAAiD,mBAAjD;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,MAAT,QAAuB,uBAAvB;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,mBAAvB;AACA,SAASJ,KAAK,IAAIK,aAAlB,QAAuC,aAAvC;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAiBH,MAAM,CAAEN,iBAAF,CAA7B;AAEA,eAAe,SAASU,kBAAT,GAA8B;AAC5C,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0BX,SAAS,CAAIY,MAAF,IAAc;AACxD,UAAM;AAAEC,MAAAA;AAAF,QACLD,MAAM,CAAEN,aAAF,CAAN,CAAwBQ,WAAxB,EADD;AAEA,WAAO;AACNJ,MAAAA,SAAS,EAAE,CAAEG,yBADP;AAENF,MAAAA,QAAQ,EAAEC,MAAM,CAAEV,SAAF,CAAN,CAAoBa,WAApB,CAAiC,kBAAjC;AAFJ,KAAP;AAIA,GAPwC,EAOtC,EAPsC,CAAzC;AAQA,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkCd,QAAQ,CAAE,KAAF,CAAhD;AACA,QAAMe,OAAO,GAAGV,UAAU,EAA1B;;AAEA,MAAK,CAAEE,SAAF,IAAe,CAAEC,QAAtB,EAAiC;AAChC,WAAO,IAAP;AACA;;AAED,SACC,8BACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAC,SAAhB;AAA0B,IAAA,OAAO,EAAG,MAAMM,cAAc,CAAE,IAAF;AAAxD,KACGN,QAAQ,CAACQ,MAAT,CAAgBC,YADnB,CADD,EAIGJ,WAAW,IACZ,cAAC,uBAAD;AACC,IAAA,UAAU,EAAG,MAAMC,cAAc,CAAE,KAAF,CADlC;AAEC,IAAA,MAAM,EAAG,EAFV;AAGC,IAAA,QAAQ,EAAKI,YAAF,IAAoB;AAC9BJ,MAAAA,cAAc,CAAE,KAAF,CAAd;AACAC,MAAAA,OAAO,CAACI,IAAR,CAAc;AACbC,QAAAA,MAAM,EAAEF,YAAY,CAACG,EADR;AAEbb,QAAAA,QAAQ,EAAE,kBAFG;AAGbc,QAAAA,MAAM,EAAE;AAHK,OAAd;AAKA,KAVF;AAWC,IAAA,OAAO,EAAG,MAAMR,cAAc,CAAE,KAAF;AAX/B,IALF,CADD;AAsBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport CreateTemplatePartModal from '../create-template-part-modal';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport default function AddNewTemplatePart() {\n\tconst { canCreate, postType } = useSelect( ( select ) => {\n\t\tconst { supportsTemplatePartsMode } =\n\t\t\tselect( editSiteStore ).getSettings();\n\t\treturn {\n\t\t\tcanCreate: ! supportsTemplatePartsMode,\n\t\t\tpostType: select( coreStore ).getPostType( 'wp_template_part' ),\n\t\t};\n\t}, [] );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst history = useHistory();\n\n\tif ( ! canCreate || ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button variant=\"primary\" onClick={ () => setIsModalOpen( true ) }>\n\t\t\t\t{ postType.labels.add_new_item }\n\t\t\t</Button>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ ( templatePart ) => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\tpostId: templatePart.id,\n\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tonError={ () => setIsModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -5,8 +5,7 @@ import { createElement } from "@wordpress/element";
|
|
|
5
5
|
*/
|
|
6
6
|
import { VisuallyHidden, __experimentalHeading as Heading, __experimentalVStack as VStack } from '@wordpress/components';
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
|
-
import {
|
|
9
|
-
import { store as coreStore, useEntityRecords } from '@wordpress/core-data';
|
|
8
|
+
import { useEntityRecords } from '@wordpress/core-data';
|
|
10
9
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
11
10
|
/**
|
|
12
11
|
* Internal dependencies
|
|
@@ -17,25 +16,13 @@ import Table from '../table';
|
|
|
17
16
|
import Link from '../routes/link';
|
|
18
17
|
import AddedBy from '../list/added-by';
|
|
19
18
|
import TemplateActions from '../template-actions';
|
|
20
|
-
import
|
|
21
|
-
import { store as editSiteStore } from '../../store';
|
|
19
|
+
import AddNewTemplatePart from './add-new-template-part';
|
|
22
20
|
export default function PageTemplateParts() {
|
|
23
21
|
const {
|
|
24
22
|
records: templateParts
|
|
25
23
|
} = useEntityRecords('postType', 'wp_template_part', {
|
|
26
24
|
per_page: -1
|
|
27
25
|
});
|
|
28
|
-
const {
|
|
29
|
-
canCreate
|
|
30
|
-
} = useSelect(select => {
|
|
31
|
-
const {
|
|
32
|
-
supportsTemplatePartsMode
|
|
33
|
-
} = select(editSiteStore).getSettings();
|
|
34
|
-
return {
|
|
35
|
-
postType: select(coreStore).getPostType('wp_template_part'),
|
|
36
|
-
canCreate: !supportsTemplatePartsMode
|
|
37
|
-
};
|
|
38
|
-
});
|
|
39
26
|
const columns = [{
|
|
40
27
|
header: __('Template Part'),
|
|
41
28
|
cell: templatePart => createElement(VStack, null, createElement(Heading, {
|
|
@@ -44,8 +31,7 @@ export default function PageTemplateParts() {
|
|
|
44
31
|
}, createElement(Link, {
|
|
45
32
|
params: {
|
|
46
33
|
postId: templatePart.id,
|
|
47
|
-
postType: templatePart.type
|
|
48
|
-
canvas: 'view'
|
|
34
|
+
postType: templatePart.type
|
|
49
35
|
},
|
|
50
36
|
state: {
|
|
51
37
|
backPath: '/wp_template_part/all'
|
|
@@ -67,13 +53,7 @@ export default function PageTemplateParts() {
|
|
|
67
53
|
}];
|
|
68
54
|
return createElement(Page, {
|
|
69
55
|
title: __('Template Parts'),
|
|
70
|
-
actions:
|
|
71
|
-
templateType: 'wp_template_part',
|
|
72
|
-
showIcon: false,
|
|
73
|
-
toggleProps: {
|
|
74
|
-
variant: 'primary'
|
|
75
|
-
}
|
|
76
|
-
})
|
|
56
|
+
actions: createElement(AddNewTemplatePart, null)
|
|
77
57
|
}, templateParts && createElement(Table, {
|
|
78
58
|
data: templateParts,
|
|
79
59
|
columns: columns
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/page-template-parts/index.js"],"names":["VisuallyHidden","__experimentalHeading","Heading","__experimentalVStack","VStack","__","
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/page-template-parts/index.js"],"names":["VisuallyHidden","__experimentalHeading","Heading","__experimentalVStack","VStack","__","useEntityRecords","decodeEntities","Page","Table","Link","AddedBy","TemplateActions","AddNewTemplatePart","PageTemplateParts","records","templateParts","per_page","columns","header","cell","templatePart","postId","id","postType","type","backPath","title","rendered","slug","maxWidth"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,cADD,EAECC,qBAAqB,IAAIC,OAF1B,EAGCC,oBAAoB,IAAIC,MAHzB,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AACA,SAASC,cAAT,QAA+B,0BAA/B;AAEA;AACA;AACA;;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,KAAP,MAAkB,UAAlB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,OAAP,MAAoB,kBAApB;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;AAEA,eAAe,SAASC,iBAAT,GAA6B;AAC3C,QAAM;AAAEC,IAAAA,OAAO,EAAEC;AAAX,MAA6BV,gBAAgB,CAClD,UADkD,EAElD,kBAFkD,EAGlD;AACCW,IAAAA,QAAQ,EAAE,CAAC;AADZ,GAHkD,CAAnD;AAQA,QAAMC,OAAO,GAAG,CACf;AACCC,IAAAA,MAAM,EAAEd,EAAE,CAAE,eAAF,CADX;AAECe,IAAAA,IAAI,EAAIC,YAAF,IACL,cAAC,MAAD,QACC,cAAC,OAAD;AAAS,MAAA,EAAE,EAAC,IAAZ;AAAiB,MAAA,KAAK,EAAG;AAAzB,OACC,cAAC,IAAD;AACC,MAAA,MAAM,EAAG;AACRC,QAAAA,MAAM,EAAED,YAAY,CAACE,EADb;AAERC,QAAAA,QAAQ,EAAEH,YAAY,CAACI;AAFf,OADV;AAKC,MAAA,KAAK,EAAG;AAAEC,QAAAA,QAAQ,EAAE;AAAZ;AALT,OAOGnB,cAAc,CACfc,YAAY,CAACM,KAAb,EAAoBC,QAApB,IACCP,YAAY,CAACQ,IAFC,CAPjB,CADD,CADD,CAHF;AAoBCC,IAAAA,QAAQ,EAAE;AApBX,GADe,EAuBf;AACCX,IAAAA,MAAM,EAAEd,EAAE,CAAE,UAAF,CADX;AAECe,IAAAA,IAAI,EAAIC,YAAF,IACL,cAAC,OAAD;AACC,MAAA,QAAQ,EAAGA,YAAY,CAACI,IADzB;AAEC,MAAA,MAAM,EAAGJ,YAAY,CAACE;AAFvB;AAHF,GAvBe,EAgCf;AACCJ,IAAAA,MAAM,EAAE,cAAC,cAAD,QAAkBd,EAAE,CAAE,SAAF,CAApB,CADT;AAECe,IAAAA,IAAI,EAAIC,YAAF,IACL,cAAC,eAAD;AACC,MAAA,QAAQ,EAAGA,YAAY,CAACI,IADzB;AAEC,MAAA,MAAM,EAAGJ,YAAY,CAACE;AAFvB;AAHF,GAhCe,CAAhB;AA2CA,SACC,cAAC,IAAD;AACC,IAAA,KAAK,EAAGlB,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,OAAO,EAAG,cAAC,kBAAD;AAFX,KAIGW,aAAa,IACd,cAAC,KAAD;AAAO,IAAA,IAAI,EAAGA,aAAd;AAA8B,IAAA,OAAO,EAAGE;AAAxC,IALF,CADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Table from '../table';\nimport Link from '../routes/link';\nimport AddedBy from '../list/added-by';\nimport TemplateActions from '../template-actions';\nimport AddNewTemplatePart from './add-new-template-part';\n\nexport default function PageTemplateParts() {\n\tconst { records: templateParts } = useEntityRecords(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\n\tconst columns = [\n\t\t{\n\t\t\theader: __( 'Template Part' ),\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<VStack>\n\t\t\t\t\t<Heading as=\"h3\" level={ 5 }>\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tparams={ {\n\t\t\t\t\t\t\t\tpostId: templatePart.id,\n\t\t\t\t\t\t\t\tpostType: templatePart.type,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tstate={ { backPath: '/wp_template_part/all' } }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\ttemplatePart.title?.rendered ||\n\t\t\t\t\t\t\t\t\ttemplatePart.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Heading>\n\t\t\t\t</VStack>\n\t\t\t),\n\t\t\tmaxWidth: 400,\n\t\t},\n\t\t{\n\t\t\theader: __( 'Added by' ),\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<AddedBy\n\t\t\t\t\tpostType={ templatePart.type }\n\t\t\t\t\tpostId={ templatePart.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\theader: <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>,\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<TemplateActions\n\t\t\t\t\tpostType={ templatePart.type }\n\t\t\t\t\tpostId={ templatePart.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t];\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ __( 'Template Parts' ) }\n\t\t\tactions={ <AddNewTemplatePart /> }\n\t\t>\n\t\t\t{ templateParts && (\n\t\t\t\t<Table data={ templateParts } columns={ columns } />\n\t\t\t) }\n\t\t</Page>\n\t);\n}\n"]}
|
|
@@ -5,8 +5,7 @@ import { createElement } from "@wordpress/element";
|
|
|
5
5
|
*/
|
|
6
6
|
import { VisuallyHidden, __experimentalHeading as Heading, __experimentalText as Text, __experimentalVStack as VStack } from '@wordpress/components';
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
|
-
import {
|
|
9
|
-
import { store as coreStore, useEntityRecords } from '@wordpress/core-data';
|
|
8
|
+
import { useEntityRecords } from '@wordpress/core-data';
|
|
10
9
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
11
10
|
/**
|
|
12
11
|
* Internal dependencies
|
|
@@ -18,24 +17,12 @@ import Link from '../routes/link';
|
|
|
18
17
|
import AddedBy from '../list/added-by';
|
|
19
18
|
import TemplateActions from '../template-actions';
|
|
20
19
|
import AddNewTemplate from '../add-new-template';
|
|
21
|
-
import { store as editSiteStore } from '../../store';
|
|
22
20
|
export default function PageTemplates() {
|
|
23
21
|
const {
|
|
24
22
|
records: templates
|
|
25
23
|
} = useEntityRecords('postType', 'wp_template', {
|
|
26
24
|
per_page: -1
|
|
27
25
|
});
|
|
28
|
-
const {
|
|
29
|
-
canCreate
|
|
30
|
-
} = useSelect(select => {
|
|
31
|
-
const {
|
|
32
|
-
supportsTemplatePartsMode
|
|
33
|
-
} = select(editSiteStore).getSettings();
|
|
34
|
-
return {
|
|
35
|
-
postType: select(coreStore).getPostType('wp_template'),
|
|
36
|
-
canCreate: !supportsTemplatePartsMode
|
|
37
|
-
};
|
|
38
|
-
});
|
|
39
26
|
const columns = [{
|
|
40
27
|
header: __('Template'),
|
|
41
28
|
cell: template => createElement(VStack, null, createElement(Heading, {
|
|
@@ -66,7 +53,7 @@ export default function PageTemplates() {
|
|
|
66
53
|
}];
|
|
67
54
|
return createElement(Page, {
|
|
68
55
|
title: __('Templates'),
|
|
69
|
-
actions:
|
|
56
|
+
actions: createElement(AddNewTemplate, {
|
|
70
57
|
templateType: 'wp_template',
|
|
71
58
|
showIcon: false,
|
|
72
59
|
toggleProps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"names":["VisuallyHidden","__experimentalHeading","Heading","__experimentalText","Text","__experimentalVStack","VStack","__","
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"names":["VisuallyHidden","__experimentalHeading","Heading","__experimentalText","Text","__experimentalVStack","VStack","__","useEntityRecords","decodeEntities","Page","Table","Link","AddedBy","TemplateActions","AddNewTemplate","PageTemplates","records","templates","per_page","columns","header","cell","template","postId","id","postType","type","canvas","title","rendered","slug","description","maxWidth","variant"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,cADD,EAECC,qBAAqB,IAAIC,OAF1B,EAGCC,kBAAkB,IAAIC,IAHvB,EAICC,oBAAoB,IAAIC,MAJzB,QAKO,uBALP;AAMA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AACA,SAASC,cAAT,QAA+B,0BAA/B;AAEA;AACA;AACA;;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,KAAP,MAAkB,UAAlB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,OAAP,MAAoB,kBAApB;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,OAAOC,cAAP,MAA2B,qBAA3B;AAEA,eAAe,SAASC,aAAT,GAAyB;AACvC,QAAM;AAAEC,IAAAA,OAAO,EAAEC;AAAX,MAAyBV,gBAAgB,CAC9C,UAD8C,EAE9C,aAF8C,EAG9C;AACCW,IAAAA,QAAQ,EAAE,CAAC;AADZ,GAH8C,CAA/C;AAQA,QAAMC,OAAO,GAAG,CACf;AACCC,IAAAA,MAAM,EAAEd,EAAE,CAAE,UAAF,CADX;AAECe,IAAAA,IAAI,EAAIC,QAAF,IACL,cAAC,MAAD,QACC,cAAC,OAAD;AAAS,MAAA,EAAE,EAAC,IAAZ;AAAiB,MAAA,KAAK,EAAG;AAAzB,OACC,cAAC,IAAD;AACC,MAAA,MAAM,EAAG;AACRC,QAAAA,MAAM,EAAED,QAAQ,CAACE,EADT;AAERC,QAAAA,QAAQ,EAAEH,QAAQ,CAACI,IAFX;AAGRC,QAAAA,MAAM,EAAE;AAHA;AADV,OAOGnB,cAAc,CACfc,QAAQ,CAACM,KAAT,EAAgBC,QAAhB,IAA4BP,QAAQ,CAACQ,IADtB,CAPjB,CADD,CADD,EAcGR,QAAQ,CAACS,WAAT,IACD,cAAC,IAAD;AAAM,MAAA,OAAO,EAAC;AAAd,OACGvB,cAAc,CAAEc,QAAQ,CAACS,WAAX,CADjB,CAfF,CAHF;AAwBCC,IAAAA,QAAQ,EAAE;AAxBX,GADe,EA2Bf;AACCZ,IAAAA,MAAM,EAAEd,EAAE,CAAE,UAAF,CADX;AAECe,IAAAA,IAAI,EAAIC,QAAF,IACL,cAAC,OAAD;AAAS,MAAA,QAAQ,EAAGA,QAAQ,CAACI,IAA7B;AAAoC,MAAA,MAAM,EAAGJ,QAAQ,CAACE;AAAtD;AAHF,GA3Be,EAiCf;AACCJ,IAAAA,MAAM,EAAE,cAAC,cAAD,QAAkBd,EAAE,CAAE,SAAF,CAApB,CADT;AAECe,IAAAA,IAAI,EAAIC,QAAF,IACL,cAAC,eAAD;AACC,MAAA,QAAQ,EAAGA,QAAQ,CAACI,IADrB;AAEC,MAAA,MAAM,EAAGJ,QAAQ,CAACE;AAFnB;AAHF,GAjCe,CAAhB;AA4CA,SACC,cAAC,IAAD;AACC,IAAA,KAAK,EAAGlB,EAAE,CAAE,WAAF,CADX;AAEC,IAAA,OAAO,EACN,cAAC,cAAD;AACC,MAAA,YAAY,EAAG,aADhB;AAEC,MAAA,QAAQ,EAAG,KAFZ;AAGC,MAAA,WAAW,EAAG;AAAE2B,QAAAA,OAAO,EAAE;AAAX;AAHf;AAHF,KAUGhB,SAAS,IAAI,cAAC,KAAD;AAAO,IAAA,IAAI,EAAGA,SAAd;AAA0B,IAAA,OAAO,EAAGE;AAApC,IAVhB,CADD;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Table from '../table';\nimport Link from '../routes/link';\nimport AddedBy from '../list/added-by';\nimport TemplateActions from '../template-actions';\nimport AddNewTemplate from '../add-new-template';\n\nexport default function PageTemplates() {\n\tconst { records: templates } = useEntityRecords(\n\t\t'postType',\n\t\t'wp_template',\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\n\tconst columns = [\n\t\t{\n\t\t\theader: __( 'Template' ),\n\t\t\tcell: ( template ) => (\n\t\t\t\t<VStack>\n\t\t\t\t\t<Heading as=\"h3\" level={ 5 }>\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tparams={ {\n\t\t\t\t\t\t\t\tpostId: template.id,\n\t\t\t\t\t\t\t\tpostType: template.type,\n\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\ttemplate.title?.rendered || template.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ template.description && (\n\t\t\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t\t\t{ decodeEntities( template.description ) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) }\n\t\t\t\t</VStack>\n\t\t\t),\n\t\t\tmaxWidth: 400,\n\t\t},\n\t\t{\n\t\t\theader: __( 'Added by' ),\n\t\t\tcell: ( template ) => (\n\t\t\t\t<AddedBy postType={ template.type } postId={ template.id } />\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\theader: <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>,\n\t\t\tcell: ( template ) => (\n\t\t\t\t<TemplateActions\n\t\t\t\t\tpostType={ template.type }\n\t\t\t\t\tpostId={ template.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t];\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={\n\t\t\t\t<AddNewTemplate\n\t\t\t\t\ttemplateType={ 'wp_template' }\n\t\t\t\t\tshowIcon={ false }\n\t\t\t\t\ttoggleProps={ { variant: 'primary' } }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ templates && <Table data={ templates } columns={ columns } /> }\n\t\t</Page>\n\t);\n}\n"]}
|