@wordpress/edit-site 5.11.0 → 5.12.1
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 +7 -0
- package/build/components/add-new-page/index.js +105 -0
- package/build/components/add-new-page/index.js.map +1 -0
- package/build/components/add-new-pattern/index.js +99 -0
- package/build/components/add-new-pattern/index.js.map +1 -0
- package/build/components/add-new-template/add-custom-generic-template-modal-content.js +4 -5
- package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
- package/build/components/add-new-template/add-custom-template-modal-content.js +27 -44
- package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build/components/add-new-template/index.js +6 -15
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/add-new-template/new-template.js +26 -35
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/add-new-template/utils.js +71 -120
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/app/index.js +2 -2
- package/build/components/app/index.js.map +1 -1
- package/build/components/block-editor/back-button.js +6 -6
- package/build/components/block-editor/back-button.js.map +1 -1
- package/build/components/block-editor/block-inspector-button.js +3 -4
- package/build/components/block-editor/block-inspector-button.js.map +1 -1
- package/build/components/block-editor/constants.js +9 -0
- package/build/components/block-editor/constants.js.map +1 -0
- package/build/components/block-editor/editor-canvas.js +14 -15
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/get-block-editor-provider.js +42 -0
- package/build/components/block-editor/get-block-editor-provider.js.map +1 -0
- package/build/components/block-editor/index.js +6 -129
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/block-editor/inserter-media-categories.js +25 -42
- package/build/components/block-editor/inserter-media-categories.js.map +1 -1
- package/build/components/block-editor/providers/default-block-editor-provider.js +58 -0
- package/build/components/block-editor/providers/default-block-editor-provider.js.map +1 -0
- package/build/components/block-editor/providers/navigation-block-editor-provider.js +117 -0
- package/build/components/block-editor/providers/navigation-block-editor-provider.js.map +1 -0
- package/build/components/block-editor/resizable-editor.js +6 -7
- package/build/components/block-editor/resizable-editor.js.map +1 -1
- package/build/components/block-editor/resize-handle.js +5 -7
- package/build/components/block-editor/resize-handle.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +137 -0
- package/build/components/block-editor/site-editor-canvas.js.map +1 -0
- package/build/components/block-editor/use-site-editor-settings.js +82 -0
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -0
- package/build/components/canvas-spinner/index.js +18 -1
- package/build/components/canvas-spinner/index.js.map +1 -1
- package/build/components/code-editor/code-editor-text-area.js +5 -6
- package/build/components/code-editor/code-editor-text-area.js.map +1 -1
- package/build/components/create-pattern-modal/index.js +125 -0
- package/build/components/create-pattern-modal/index.js.map +1 -0
- package/build/components/create-template-part-modal/index.js +73 -33
- package/build/components/create-template-part-modal/index.js.map +1 -1
- package/build/components/editor/index.js +43 -24
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +29 -12
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/error-boundary/warning.js +8 -10
- package/build/components/error-boundary/warning.js.map +1 -1
- package/build/components/global-styles/block-preview-panel.js +7 -10
- package/build/components/global-styles/block-preview-panel.js.map +1 -1
- package/build/components/global-styles/color-indicator-wrapper.js +7 -9
- package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
- package/build/components/global-styles/color-palette-panel.js +5 -6
- package/build/components/global-styles/color-palette-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +3 -5
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/global-styles-provider.js +20 -26
- package/build/components/global-styles/global-styles-provider.js.map +1 -1
- package/build/components/global-styles/gradients-palette-panel.js +5 -6
- package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build/components/global-styles/header.js +4 -5
- package/build/components/global-styles/header.js.map +1 -1
- package/build/components/global-styles/hooks.js +3 -3
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/icon-with-current-color.js +7 -9
- package/build/components/global-styles/icon-with-current-color.js.map +1 -1
- package/build/components/global-styles/navigation-button.js +15 -17
- package/build/components/global-styles/navigation-button.js.map +1 -1
- package/build/components/global-styles/palette.js +12 -16
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/preview.js +43 -53
- package/build/components/global-styles/preview.js.map +1 -1
- package/build/components/global-styles/root-menu.js +2 -2
- package/build/components/global-styles/root-menu.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +6 -9
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-block.js +11 -12
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-color-palette.js +3 -4
- package/build/components/global-styles/screen-color-palette.js.map +1 -1
- package/build/components/global-styles/screen-colors.js +2 -2
- package/build/components/global-styles/screen-colors.js.map +1 -1
- package/build/components/global-styles/screen-css.js +2 -2
- package/build/components/global-styles/screen-css.js.map +1 -1
- package/build/components/global-styles/screen-layout.js +2 -2
- package/build/components/global-styles/screen-layout.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +12 -12
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +14 -19
- 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 +7 -13
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/screen-root.js +5 -5
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/screen-typography-element.js +3 -4
- package/build/components/global-styles/screen-typography-element.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +8 -9
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +15 -8
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/subtitle.js +4 -5
- package/build/components/global-styles/subtitle.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +6 -7
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/typography-preview.js +7 -8
- package/build/components/global-styles/typography-preview.js.map +1 -1
- package/build/components/global-styles/ui.js +123 -50
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/variations-panel.js +5 -6
- package/build/components/global-styles/variations-panel.js.map +1 -1
- package/build/components/global-styles-renderer/index.js +2 -2
- package/build/components/global-styles-renderer/index.js.map +1 -1
- package/build/components/header-edit-mode/document-actions/index.js +136 -24
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +8 -14
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +49 -53
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js +4 -7
- package/build/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js.map +1 -1
- package/build/components/header-edit-mode/tools-more-menu-group/index.js +5 -14
- package/build/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
- package/build/components/header-edit-mode/undo-redo/redo.js +2 -6
- package/build/components/header-edit-mode/undo-redo/redo.js.map +1 -1
- package/build/components/header-edit-mode/undo-redo/undo.js +2 -6
- package/build/components/header-edit-mode/undo-redo/undo.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
- package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +42 -51
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
- package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
- package/build/components/keyboard-shortcuts/edit-mode.js +7 -2
- package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +7 -2
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/register.js +1 -1
- package/build/components/keyboard-shortcuts/register.js.map +1 -1
- package/build/components/layout/hooks.js +21 -0
- package/build/components/layout/hooks.js.map +1 -1
- package/build/components/layout/index.js +44 -34
- package/build/components/layout/index.js.map +1 -1
- package/build/components/list/added-by.js +13 -23
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/list/header.js +4 -7
- package/build/components/list/header.js.map +1 -1
- package/build/components/list/index.js +4 -6
- package/build/components/list/index.js.map +1 -1
- package/build/components/list/table.js +35 -40
- package/build/components/list/table.js.map +1 -1
- package/build/components/page/header.js +41 -0
- package/build/components/page/header.js.map +1 -0
- package/build/components/page/index.js +49 -0
- package/build/components/page/index.js.map +1 -0
- package/build/components/page-actions/delete-page-menu-item.js +70 -0
- package/build/components/page-actions/delete-page-menu-item.js.map +1 -0
- package/build/components/page-actions/index.js +43 -0
- package/build/components/page-actions/index.js.map +1 -0
- package/build/components/page-content-focus-manager/back-to-page-notification.js +67 -0
- package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -0
- package/build/components/page-content-focus-manager/constants.js +9 -0
- package/build/components/page-content-focus-manager/constants.js.map +1 -0
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +60 -0
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -0
- package/build/components/page-content-focus-manager/edit-template-notification.js +121 -0
- package/build/components/page-content-focus-manager/edit-template-notification.js.map +1 -0
- package/build/components/page-content-focus-manager/index.js +37 -0
- package/build/components/page-content-focus-manager/index.js.map +1 -0
- package/build/components/page-library/grid-item.js +165 -0
- package/build/components/page-library/grid-item.js.map +1 -0
- package/build/components/page-library/grid.js +49 -0
- package/build/components/page-library/grid.js.map +1 -0
- package/build/components/page-library/index.js +61 -0
- package/build/components/page-library/index.js.map +1 -0
- package/build/components/page-library/no-patterns.js +20 -0
- package/build/components/page-library/no-patterns.js.map +1 -0
- package/build/components/page-library/patterns-list.js +108 -0
- package/build/components/page-library/patterns-list.js.map +1 -0
- package/build/components/page-library/search-items.js +172 -0
- package/build/components/page-library/search-items.js.map +1 -0
- package/build/components/page-library/use-library-settings.js +53 -0
- package/build/components/page-library/use-library-settings.js.map +1 -0
- package/build/components/page-library/use-patterns.js +194 -0
- package/build/components/page-library/use-patterns.js.map +1 -0
- package/build/components/page-library/utils.js +30 -0
- package/build/components/page-library/utils.js.map +1 -0
- package/build/components/page-main/index.js +46 -0
- package/build/components/page-main/index.js.map +1 -0
- package/build/components/page-templates/index.js +101 -0
- package/build/components/page-templates/index.js.map +1 -0
- package/build/components/preferences-modal/enable-feature.js +4 -7
- package/build/components/preferences-modal/enable-feature.js.map +1 -1
- package/build/components/preferences-modal/index.js +4 -5
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/resizable-frame/index.js +25 -15
- package/build/components/resizable-frame/index.js.map +1 -1
- package/build/components/revisions/index.js +14 -17
- package/build/components/revisions/index.js.map +1 -1
- package/build/components/routes/link.js +15 -22
- package/build/components/routes/link.js.map +1 -1
- package/build/components/routes/use-title.js +3 -7
- package/build/components/routes/use-title.js.map +1 -1
- package/build/components/save-button/index.js +23 -13
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-hub/index.js +97 -5
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/save-panel/index.js +63 -19
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/secondary-sidebar/inserter-sidebar.js +4 -8
- package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
- package/build/components/secondary-sidebar/list-view-sidebar.js +51 -9
- package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
- package/build/components/sidebar/index.js +14 -8
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-button/index.js +2 -4
- package/build/components/sidebar-button/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/default-sidebar.js +11 -12
- package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js +22 -8
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +13 -10
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js +84 -0
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -0
- package/build/components/sidebar-edit-mode/page-panels/index.js +99 -0
- package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -0
- package/build/components/sidebar-edit-mode/page-panels/page-content.js +35 -0
- package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -0
- package/build/components/sidebar-edit-mode/page-panels/page-status.js +192 -0
- package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -0
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js +45 -0
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -0
- package/build/components/sidebar-edit-mode/page-panels/publish-date.js +98 -0
- package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +1 -0
- package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +8 -12
- package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +52 -21
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/sidebar-card/index.js +46 -0
- package/build/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -0
- package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +5 -6
- package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
- package/build/components/sidebar-edit-mode/{template-card → template-panel}/index.js +30 -22
- package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -0
- package/build/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +7 -8
- package/{build-module/components/sidebar-edit-mode/template-revisions/index.js.map → build/components/sidebar-edit-mode/template-panel/last-revision.js.map} +1 -1
- package/build/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +12 -16
- package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -0
- package/build/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +15 -19
- package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -0
- package/build/components/sidebar-navigation-item/index.js +17 -14
- package/build/components/sidebar-navigation-item/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen/index.js +38 -20
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.js +36 -0
- package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-details-panel/index.js +58 -0
- package/build/components/sidebar-navigation-screen-details-panel/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +22 -0
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -0
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +35 -0
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -0
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +22 -0
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -0
- package/build/components/sidebar-navigation-screen-global-styles/index.js +114 -24
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-library/category-item.js +48 -0
- package/build/components/sidebar-navigation-screen-library/category-item.js.map +1 -0
- package/build/components/sidebar-navigation-screen-library/index.js +112 -0
- package/build/components/sidebar-navigation-screen-library/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js +36 -0
- package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +1 -0
- package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js +76 -0
- package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +1 -0
- package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js +41 -0
- package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +1 -0
- package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js +40 -0
- package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +1 -0
- package/build/components/sidebar-navigation-screen-main/index.js +12 -13
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-item/index.js +5 -7
- package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +42 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +41 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js +49 -97
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +84 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +71 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +54 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +49 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +163 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +3 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js +59 -26
- 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 +75 -31
- 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 +23 -53
- package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/index.js +63 -12
- package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/page-details.js +150 -0
- package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -0
- package/build/components/sidebar-navigation-screen-page/status-label.js +111 -0
- package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -0
- package/build/components/sidebar-navigation-screen-pages/index.js +133 -21
- package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js +66 -0
- package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +41 -0
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -0
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +33 -0
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +1 -0
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +40 -0
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -0
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +47 -0
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -0
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +82 -0
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -0
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +80 -0
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -0
- package/build/components/sidebar-navigation-screen-template/home-template-details.js +212 -0
- package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -0
- package/build/components/sidebar-navigation-screen-template/index.js +43 -23
- package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates/index.js +23 -28
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build/components/site-hub/index.js +29 -24
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/site-icon/index.js +4 -5
- package/build/components/site-icon/index.js.map +1 -1
- package/build/components/start-template-options/index.js +15 -21
- package/build/components/start-template-options/index.js.map +1 -1
- package/build/components/style-book/index.js +45 -50
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +16 -6
- 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 +4 -4
- 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 +21 -12
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build/components/table/index.js +29 -0
- package/build/components/table/index.js.map +1 -0
- package/build/components/{list/actions → template-actions}/index.js +34 -31
- package/build/components/template-actions/index.js.map +1 -0
- package/build/components/{list/actions → template-actions}/rename-menu-item.js +4 -5
- package/build/components/template-actions/rename-menu-item.js.map +1 -0
- package/build/components/template-part-converter/convert-to-regular.js +4 -5
- package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
- package/build/components/template-part-converter/convert-to-template-part.js +7 -27
- package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build/components/template-part-converter/index.js +12 -18
- package/build/components/template-part-converter/index.js.map +1 -1
- package/build/components/welcome-guide/editor.js +1 -1
- package/build/components/welcome-guide/editor.js.map +1 -1
- package/build/components/welcome-guide/image.js +4 -5
- package/build/components/welcome-guide/image.js.map +1 -1
- package/build/components/welcome-guide/styles.js +4 -3
- package/build/components/welcome-guide/styles.js.map +1 -1
- package/build/hooks/commands/use-common-commands.js +190 -0
- package/build/hooks/commands/use-common-commands.js.map +1 -0
- package/build/hooks/commands/use-edit-mode-commands.js +71 -29
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/index.js +2 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/navigation-menu-edit.js +95 -0
- package/build/hooks/navigation-menu-edit.js.map +1 -0
- package/build/hooks/push-changes-to-global-styles/index.js +15 -10
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/template-part-edit.js +11 -15
- package/build/hooks/template-part-edit.js.map +1 -1
- package/build/index.js +3 -6
- package/build/index.js.map +1 -1
- package/build/{private-apis.js → lock-unlock.js} +1 -1
- package/build/lock-unlock.js.map +1 -0
- package/build/store/actions.js +165 -125
- package/build/store/actions.js.map +1 -1
- package/build/store/index.js +3 -3
- package/build/store/index.js.map +1 -1
- package/build/store/private-actions.js +7 -10
- package/build/store/private-actions.js.map +1 -1
- package/build/store/reducer.js +33 -33
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +70 -22
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +1 -3
- package/build/store/utils.js.map +1 -1
- package/build/utils/get-is-list-page.js +13 -7
- package/build/utils/get-is-list-page.js.map +1 -1
- package/build/utils/is-previewing-theme.js +2 -4
- package/build/utils/is-previewing-theme.js.map +1 -1
- package/build/utils/is-template-revertable.js +1 -1
- package/build/utils/is-template-revertable.js.map +1 -1
- package/build/utils/use-activate-theme.js +3 -3
- package/build/utils/use-activate-theme.js.map +1 -1
- package/build/utils/use-debounced-input.js +26 -0
- package/build/utils/use-debounced-input.js.map +1 -0
- package/build-module/components/add-new-page/index.js +93 -0
- package/build-module/components/add-new-page/index.js.map +1 -0
- package/build-module/components/add-new-pattern/index.js +82 -0
- package/build-module/components/add-new-pattern/index.js.map +1 -0
- package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +4 -5
- package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-template-modal-content.js +25 -41
- package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build-module/components/add-new-template/index.js +6 -13
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +22 -31
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/add-new-template/utils.js +71 -120
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/app/index.js +1 -1
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/block-editor/back-button.js +5 -5
- package/build-module/components/block-editor/back-button.js.map +1 -1
- package/build-module/components/block-editor/block-inspector-button.js +3 -4
- package/build-module/components/block-editor/block-inspector-button.js.map +1 -1
- package/build-module/components/block-editor/constants.js +2 -0
- package/build-module/components/block-editor/constants.js.map +1 -0
- package/build-module/components/block-editor/editor-canvas.js +12 -12
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/get-block-editor-provider.js +31 -0
- package/build-module/components/block-editor/get-block-editor-provider.js.map +1 -0
- package/build-module/components/block-editor/index.js +9 -125
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/block-editor/inserter-media-categories.js +25 -42
- package/build-module/components/block-editor/inserter-media-categories.js.map +1 -1
- package/build-module/components/block-editor/providers/default-block-editor-provider.js +42 -0
- package/build-module/components/block-editor/providers/default-block-editor-provider.js.map +1 -0
- package/build-module/components/block-editor/providers/navigation-block-editor-provider.js +102 -0
- package/build-module/components/block-editor/providers/navigation-block-editor-provider.js.map +1 -0
- package/build-module/components/block-editor/resizable-editor.js +6 -7
- package/build-module/components/block-editor/resizable-editor.js.map +1 -1
- package/build-module/components/block-editor/resize-handle.js +5 -7
- package/build-module/components/block-editor/resize-handle.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +115 -0
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -0
- package/build-module/components/block-editor/use-site-editor-settings.js +67 -0
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -0
- package/build-module/components/canvas-spinner/index.js +15 -1
- package/build-module/components/canvas-spinner/index.js.map +1 -1
- package/build-module/components/code-editor/code-editor-text-area.js +5 -6
- package/build-module/components/code-editor/code-editor-text-area.js.map +1 -1
- package/build-module/components/create-pattern-modal/index.js +113 -0
- package/build-module/components/create-pattern-modal/index.js.map +1 -0
- package/build-module/components/create-template-part-modal/index.js +70 -34
- package/build-module/components/create-template-part-modal/index.js.map +1 -1
- package/build-module/components/editor/index.js +43 -24
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-canvas-container/index.js +26 -10
- package/build-module/components/editor-canvas-container/index.js.map +1 -1
- package/build-module/components/error-boundary/warning.js +8 -10
- package/build-module/components/error-boundary/warning.js.map +1 -1
- package/build-module/components/global-styles/block-preview-panel.js +7 -10
- package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
- package/build-module/components/global-styles/color-indicator-wrapper.js +7 -8
- package/build-module/components/global-styles/color-indicator-wrapper.js.map +1 -1
- package/build-module/components/global-styles/color-palette-panel.js +4 -5
- package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +2 -4
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/global-styles-provider.js +18 -25
- package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
- package/build-module/components/global-styles/gradients-palette-panel.js +4 -5
- package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/header.js +4 -5
- package/build-module/components/global-styles/header.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +1 -1
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/icon-with-current-color.js +7 -8
- package/build-module/components/global-styles/icon-with-current-color.js.map +1 -1
- package/build-module/components/global-styles/navigation-button.js +15 -14
- package/build-module/components/global-styles/navigation-button.js.map +1 -1
- package/build-module/components/global-styles/palette.js +11 -15
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/preview.js +42 -52
- package/build-module/components/global-styles/preview.js.map +1 -1
- package/build-module/components/global-styles/root-menu.js +1 -1
- package/build-module/components/global-styles/root-menu.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +5 -8
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +10 -11
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-color-palette.js +3 -4
- package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
- package/build-module/components/global-styles/screen-colors.js +1 -1
- package/build-module/components/global-styles/screen-colors.js.map +1 -1
- package/build-module/components/global-styles/screen-css.js +1 -1
- package/build-module/components/global-styles/screen-css.js.map +1 -1
- package/build-module/components/global-styles/screen-layout.js +1 -1
- package/build-module/components/global-styles/screen-layout.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +9 -9
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +14 -19
- 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 +6 -11
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/screen-root.js +4 -4
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/global-styles/screen-typography-element.js +3 -4
- package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +6 -7
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +15 -8
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/subtitle.js +4 -5
- package/build-module/components/global-styles/subtitle.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +5 -6
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-preview.js +6 -7
- package/build-module/components/global-styles/typography-preview.js.map +1 -1
- package/build-module/components/global-styles/ui.js +123 -50
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/variations-panel.js +5 -6
- package/build-module/components/global-styles/variations-panel.js.map +1 -1
- package/build-module/components/global-styles-renderer/index.js +1 -1
- package/build-module/components/global-styles-renderer/index.js.map +1 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +136 -25
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +6 -12
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +49 -53
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js +4 -4
- package/build-module/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js.map +1 -1
- package/build-module/components/header-edit-mode/tools-more-menu-group/index.js +5 -13
- package/build-module/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
- package/build-module/components/header-edit-mode/undo-redo/redo.js +2 -3
- package/build-module/components/header-edit-mode/undo-redo/redo.js.map +1 -1
- package/build-module/components/header-edit-mode/undo-redo/undo.js +2 -3
- package/build-module/components/header-edit-mode/undo-redo/undo.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
- package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +40 -49
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
- package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/edit-mode.js +7 -2
- package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +7 -2
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/register.js +1 -1
- package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
- package/build-module/components/layout/hooks.js +21 -0
- package/build-module/components/layout/hooks.js.map +1 -1
- package/build-module/components/layout/index.js +37 -28
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/list/added-by.js +13 -23
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/list/header.js +4 -7
- package/build-module/components/list/header.js.map +1 -1
- package/build-module/components/list/index.js +3 -5
- package/build-module/components/list/index.js.map +1 -1
- package/build-module/components/list/table.js +34 -39
- package/build-module/components/list/table.js.map +1 -1
- package/build-module/components/page/header.js +33 -0
- package/build-module/components/page/header.js.map +1 -0
- package/build-module/components/page/index.js +37 -0
- package/build-module/components/page/index.js.map +1 -0
- package/build-module/components/page-actions/delete-page-menu-item.js +58 -0
- package/build-module/components/page-actions/delete-page-menu-item.js.map +1 -0
- package/build-module/components/page-actions/index.js +30 -0
- package/build-module/components/page-actions/index.js.map +1 -0
- package/build-module/components/page-content-focus-manager/back-to-page-notification.js +53 -0
- package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -0
- package/build-module/components/page-content-focus-manager/constants.js +2 -0
- package/build-module/components/page-content-focus-manager/constants.js.map +1 -0
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +45 -0
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -0
- package/build-module/components/page-content-focus-manager/edit-template-notification.js +110 -0
- package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +1 -0
- package/build-module/components/page-content-focus-manager/index.js +23 -0
- package/build-module/components/page-content-focus-manager/index.js.map +1 -0
- package/build-module/components/page-library/grid-item.js +145 -0
- package/build-module/components/page-library/grid-item.js.map +1 -0
- package/build-module/components/page-library/grid.js +38 -0
- package/build-module/components/page-library/grid.js.map +1 -0
- package/build-module/components/page-library/index.js +43 -0
- package/build-module/components/page-library/index.js.map +1 -0
- package/build-module/components/page-library/no-patterns.js +12 -0
- package/build-module/components/page-library/no-patterns.js.map +1 -0
- package/build-module/components/page-library/patterns-list.js +87 -0
- package/build-module/components/page-library/patterns-list.js.map +1 -0
- package/build-module/components/page-library/search-items.js +156 -0
- package/build-module/components/page-library/search-items.js.map +1 -0
- package/build-module/components/page-library/use-library-settings.js +40 -0
- package/build-module/components/page-library/use-library-settings.js.map +1 -0
- package/build-module/components/page-library/use-patterns.js +176 -0
- package/build-module/components/page-library/use-patterns.js.map +1 -0
- package/build-module/components/page-library/utils.js +13 -0
- package/build-module/components/page-library/utils.js.map +1 -0
- package/build-module/components/page-main/index.js +32 -0
- package/build-module/components/page-main/index.js.map +1 -0
- package/build-module/components/page-templates/index.js +80 -0
- package/build-module/components/page-templates/index.js.map +1 -0
- package/build-module/components/preferences-modal/enable-feature.js +4 -4
- package/build-module/components/preferences-modal/enable-feature.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +4 -5
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/resizable-frame/index.js +24 -14
- package/build-module/components/resizable-frame/index.js.map +1 -1
- package/build-module/components/revisions/index.js +12 -14
- package/build-module/components/revisions/index.js.map +1 -1
- package/build-module/components/routes/link.js +14 -18
- package/build-module/components/routes/link.js.map +1 -1
- package/build-module/components/routes/use-title.js +2 -6
- package/build-module/components/routes/use-title.js.map +1 -1
- package/build-module/components/save-button/index.js +23 -13
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +95 -8
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +62 -20
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/secondary-sidebar/inserter-sidebar.js +4 -5
- package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
- package/build-module/components/secondary-sidebar/list-view-sidebar.js +48 -8
- package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
- package/build-module/components/sidebar/index.js +11 -7
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-button/index.js +2 -3
- package/build-module/components/sidebar-button/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/default-sidebar.js +11 -12
- package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +19 -6
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +14 -11
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +71 -0
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/page-panels/index.js +78 -0
- package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +23 -0
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +176 -0
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +33 -0
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +85 -0
- package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +8 -9
- package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +50 -23
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/sidebar-card/index.js +35 -0
- package/build-module/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +4 -5
- package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/index.js +72 -0
- package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +7 -8
- package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +12 -16
- package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +15 -19
- package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -0
- package/build-module/components/sidebar-navigation-item/index.js +17 -14
- package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen/index.js +39 -21
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js +27 -0
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-details-panel/index.js +30 -0
- package/build-module/components/sidebar-navigation-screen-details-panel/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +14 -0
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +24 -0
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +14 -0
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +112 -21
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-library/category-item.js +37 -0
- package/build-module/components/sidebar-navigation-screen-library/category-item.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-library/index.js +87 -0
- package/build-module/components/sidebar-navigation-screen-library/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js +25 -0
- package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js +61 -0
- package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js +34 -0
- package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js +27 -0
- package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-main/index.js +13 -13
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +4 -6
- package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +33 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +26 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +47 -95
- 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 +70 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +58 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +46 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +35 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +151 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +3 -1
- 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 +58 -26
- 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 +73 -28
- 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 +24 -53
- 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 +59 -14
- package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/page-details.js +131 -0
- package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-page/status-label.js +98 -0
- package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-pages/index.js +130 -22
- package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js +46 -0
- package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +28 -0
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +22 -0
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +27 -0
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +34 -0
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +71 -0
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +64 -0
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +192 -0
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-template/index.js +40 -23
- package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates/index.js +23 -27
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build-module/components/site-hub/index.js +28 -22
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/site-icon/index.js +4 -5
- package/build-module/components/site-icon/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +15 -21
- package/build-module/components/start-template-options/index.js.map +1 -1
- package/build-module/components/style-book/index.js +44 -48
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +15 -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 +20 -11
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build-module/components/table/index.js +21 -0
- package/build-module/components/table/index.js.map +1 -0
- package/build-module/components/{list/actions → template-actions}/index.js +34 -31
- package/build-module/components/template-actions/index.js.map +1 -0
- package/build-module/components/{list/actions → template-actions}/rename-menu-item.js +4 -5
- package/build-module/components/template-actions/rename-menu-item.js.map +1 -0
- package/build-module/components/template-part-converter/convert-to-regular.js +4 -5
- package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
- package/build-module/components/template-part-converter/convert-to-template-part.js +8 -26
- package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build-module/components/template-part-converter/index.js +12 -18
- package/build-module/components/template-part-converter/index.js.map +1 -1
- package/build-module/components/welcome-guide/editor.js +1 -1
- package/build-module/components/welcome-guide/editor.js.map +1 -1
- package/build-module/components/welcome-guide/image.js +4 -5
- package/build-module/components/welcome-guide/image.js.map +1 -1
- package/build-module/components/welcome-guide/styles.js +5 -3
- package/build-module/components/welcome-guide/styles.js.map +1 -1
- package/build-module/hooks/commands/use-common-commands.js +172 -0
- package/build-module/hooks/commands/use-common-commands.js.map +1 -0
- package/build-module/hooks/commands/use-edit-mode-commands.js +72 -30
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/index.js +1 -0
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/navigation-menu-edit.js +77 -0
- package/build-module/hooks/navigation-menu-edit.js.map +1 -0
- package/build-module/hooks/push-changes-to-global-styles/index.js +14 -9
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/template-part-edit.js +10 -11
- package/build-module/hooks/template-part-edit.js.map +1 -1
- package/build-module/index.js +3 -6
- package/build-module/index.js.map +1 -1
- package/build-module/{private-apis.js → lock-unlock.js} +1 -1
- package/build-module/lock-unlock.js.map +1 -0
- package/build-module/store/actions.js +157 -126
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/index.js +1 -1
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/private-actions.js +7 -10
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/reducer.js +31 -33
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +62 -21
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +1 -3
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/get-is-list-page.js +13 -7
- package/build-module/utils/get-is-list-page.js.map +1 -1
- package/build-module/utils/is-previewing-theme.js +2 -4
- package/build-module/utils/is-previewing-theme.js.map +1 -1
- package/build-module/utils/is-template-revertable.js +1 -1
- package/build-module/utils/is-template-revertable.js.map +1 -1
- package/build-module/utils/use-activate-theme.js +2 -2
- package/build-module/utils/use-activate-theme.js.map +1 -1
- package/build-module/utils/use-debounced-input.js +17 -0
- package/build-module/utils/use-debounced-input.js.map +1 -0
- package/build-style/style-rtl.css +587 -71
- package/build-style/style.css +587 -71
- package/package.json +44 -37
- package/src/components/add-new-page/index.js +105 -0
- package/src/components/add-new-pattern/index.js +94 -0
- package/src/components/add-new-template/add-custom-template-modal-content.js +1 -13
- package/src/components/add-new-template/index.js +0 -3
- package/src/components/add-new-template/new-template.js +3 -3
- package/src/components/app/index.js +1 -1
- package/src/components/block-editor/back-button.js +5 -2
- package/src/components/block-editor/constants.js +1 -0
- package/src/components/block-editor/editor-canvas.js +1 -1
- package/src/components/block-editor/get-block-editor-provider.js +29 -0
- package/src/components/block-editor/index.js +15 -188
- package/src/components/block-editor/providers/default-block-editor-provider.js +44 -0
- package/src/components/block-editor/providers/navigation-block-editor-provider.js +114 -0
- package/src/components/block-editor/site-editor-canvas.js +155 -0
- package/src/components/block-editor/style.scss +6 -0
- package/src/components/block-editor/use-site-editor-settings.js +91 -0
- package/src/components/canvas-spinner/index.js +11 -1
- package/src/components/create-pattern-modal/index.js +134 -0
- package/src/components/create-pattern-modal/style.scss +3 -0
- package/src/components/create-template-part-modal/index.js +63 -3
- package/src/components/editor/index.js +32 -17
- package/src/components/editor/style.scss +6 -11
- package/src/components/editor-canvas-container/index.js +21 -4
- package/src/components/global-styles/color-palette-panel.js +1 -1
- package/src/components/global-styles/dimensions-panel.js +1 -1
- package/src/components/global-styles/global-styles-provider.js +10 -14
- package/src/components/global-styles/gradients-palette-panel.js +1 -1
- package/src/components/global-styles/hooks.js +1 -1
- package/src/components/global-styles/palette.js +2 -2
- package/src/components/global-styles/preview.js +1 -1
- package/src/components/global-styles/root-menu.js +1 -1
- package/src/components/global-styles/screen-block-list.js +1 -1
- package/src/components/global-styles/screen-block.js +1 -1
- package/src/components/global-styles/screen-colors.js +1 -1
- package/src/components/global-styles/screen-css.js +1 -1
- package/src/components/global-styles/screen-layout.js +1 -1
- package/src/components/global-styles/screen-revisions/index.js +1 -1
- package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +8 -6
- package/src/components/global-styles/screen-root.js +1 -1
- package/src/components/global-styles/screen-typography.js +1 -1
- package/src/components/global-styles/stories/index.js +1 -1
- package/src/components/global-styles/style-variations-container.js +13 -3
- package/src/components/global-styles/style.scss +11 -0
- package/src/components/global-styles/typography-panel.js +1 -1
- package/src/components/global-styles/typography-preview.js +1 -1
- package/src/components/global-styles/ui.js +132 -45
- package/src/components/global-styles-renderer/index.js +1 -1
- package/src/components/header-edit-mode/document-actions/index.js +155 -36
- package/src/components/header-edit-mode/document-actions/style.scss +72 -13
- package/src/components/header-edit-mode/index.js +4 -4
- package/src/components/header-edit-mode/tools-more-menu-group/index.js +1 -6
- package/src/components/keyboard-shortcuts/edit-mode.js +5 -1
- package/src/components/keyboard-shortcuts/index.js +5 -1
- package/src/components/keyboard-shortcuts/register.js +1 -1
- package/src/components/layout/hooks.js +21 -0
- package/src/components/layout/index.js +92 -70
- package/src/components/layout/style.scss +7 -0
- package/src/components/list/index.js +1 -1
- package/src/components/list/table.js +6 -2
- package/src/components/page/header.js +38 -0
- package/src/components/page/index.js +38 -0
- package/src/components/page/style.scss +38 -0
- package/src/components/page-actions/delete-page-menu-item.js +71 -0
- package/src/components/page-actions/index.js +36 -0
- package/src/components/page-content-focus-manager/back-to-page-notification.js +65 -0
- package/src/components/page-content-focus-manager/constants.js +5 -0
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +52 -0
- package/src/components/page-content-focus-manager/edit-template-notification.js +108 -0
- package/src/components/page-content-focus-manager/index.js +26 -0
- package/src/components/page-library/grid-item.js +179 -0
- package/src/components/page-library/grid.js +39 -0
- package/src/components/page-library/index.js +39 -0
- package/src/components/page-library/no-patterns.js +12 -0
- package/src/components/page-library/patterns-list.js +114 -0
- package/src/components/page-library/search-items.js +171 -0
- package/src/components/page-library/style.scss +105 -0
- package/src/components/page-library/use-library-settings.js +51 -0
- package/src/components/page-library/use-patterns.js +238 -0
- package/src/components/page-library/utils.js +21 -0
- package/src/components/page-main/index.js +27 -0
- package/src/components/page-templates/index.js +104 -0
- package/src/components/resizable-frame/index.js +18 -6
- package/src/components/resizable-frame/style.scss +20 -18
- package/src/components/revisions/index.js +7 -8
- package/src/components/routes/link.js +2 -2
- package/src/components/routes/use-title.js +1 -1
- package/src/components/save-button/index.js +16 -7
- package/src/components/save-hub/index.js +143 -38
- package/src/components/save-hub/style.scss +6 -0
- package/src/components/save-panel/index.js +63 -16
- package/src/components/secondary-sidebar/list-view-sidebar.js +56 -2
- package/src/components/sidebar/index.js +13 -7
- package/src/components/sidebar/style.scss +3 -4
- package/src/components/sidebar-edit-mode/global-styles-sidebar.js +42 -29
- package/src/components/sidebar-edit-mode/index.js +16 -14
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +69 -0
- package/src/components/sidebar-edit-mode/page-panels/index.js +89 -0
- package/src/components/sidebar-edit-mode/page-panels/page-content.js +27 -0
- package/src/components/sidebar-edit-mode/page-panels/page-status.js +233 -0
- package/src/components/sidebar-edit-mode/page-panels/page-summary.js +35 -0
- package/src/components/sidebar-edit-mode/page-panels/publish-date.js +94 -0
- package/src/components/sidebar-edit-mode/page-panels/style.scss +41 -0
- package/src/components/sidebar-edit-mode/settings-header/index.js +61 -29
- package/src/components/sidebar-edit-mode/sidebar-card/index.js +34 -0
- package/src/components/sidebar-edit-mode/sidebar-card/style.scss +34 -0
- package/src/components/sidebar-edit-mode/sidebar-fixed-bottom.js +1 -1
- package/src/components/sidebar-edit-mode/template-panel/index.js +65 -0
- package/src/components/sidebar-edit-mode/{template-card → template-panel}/style.scss +2 -32
- package/src/components/sidebar-navigation-item/index.js +6 -2
- package/src/components/sidebar-navigation-item/style.scss +7 -0
- package/src/components/sidebar-navigation-screen/index.js +89 -53
- package/src/components/sidebar-navigation-screen/style.scss +66 -5
- package/src/components/sidebar-navigation-screen-details-footer/index.js +45 -0
- package/src/components/sidebar-navigation-screen-details-footer/style.scss +5 -0
- package/src/components/sidebar-navigation-screen-details-panel/index.js +40 -0
- package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +14 -0
- package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +29 -0
- package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +14 -0
- package/src/components/sidebar-navigation-screen-details-panel/style.scss +25 -0
- package/src/components/sidebar-navigation-screen-global-styles/index.js +126 -14
- package/src/components/sidebar-navigation-screen-global-styles/style.scss +12 -0
- package/src/components/sidebar-navigation-screen-library/category-item.js +43 -0
- package/src/components/sidebar-navigation-screen-library/index.js +136 -0
- package/src/components/sidebar-navigation-screen-library/style.scss +7 -0
- package/src/components/sidebar-navigation-screen-library/use-default-pattern-categories.js +32 -0
- package/src/components/sidebar-navigation-screen-library/use-pattern-categories.js +64 -0
- package/src/components/sidebar-navigation-screen-library/use-template-part-areas.js +33 -0
- package/src/components/sidebar-navigation-screen-library/use-theme-patterns.js +44 -0
- package/src/components/sidebar-navigation-screen-main/index.js +11 -14
- package/src/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +45 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +24 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/index.js +50 -96
- package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +89 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +51 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +51 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +39 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +15 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +175 -0
- package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +3 -1
- package/src/components/sidebar-navigation-screen-navigation-menus/index.js +43 -7
- package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +61 -2
- package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +25 -47
- package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +5 -1
- package/src/components/sidebar-navigation-screen-page/index.js +98 -24
- package/src/components/sidebar-navigation-screen-page/page-details.js +166 -0
- package/src/components/sidebar-navigation-screen-page/status-label.js +105 -0
- package/src/components/sidebar-navigation-screen-page/style.scss +63 -0
- package/src/components/sidebar-navigation-screen-pages/index.js +181 -44
- package/src/components/sidebar-navigation-screen-pattern/index.js +44 -0
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +28 -0
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +21 -0
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +30 -0
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +33 -0
- package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +71 -0
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +86 -0
- package/src/components/sidebar-navigation-screen-template/home-template-details.js +230 -0
- package/src/components/sidebar-navigation-screen-template/index.js +44 -27
- package/src/components/sidebar-navigation-screen-template/style.scss +23 -0
- package/src/components/sidebar-navigation-screen-templates/index.js +19 -26
- package/src/components/site-hub/index.js +26 -7
- package/src/components/site-hub/style.scss +26 -0
- package/src/components/style-book/index.js +1 -1
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +16 -3
- package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +11 -1
- package/src/components/table/index.js +33 -0
- package/src/components/table/style.scss +37 -0
- package/src/components/{list/actions → template-actions}/index.js +19 -6
- package/src/components/template-part-converter/convert-to-template-part.js +4 -27
- package/src/components/welcome-guide/editor.js +1 -1
- package/src/components/welcome-guide/styles.js +5 -3
- package/src/hooks/commands/use-common-commands.js +167 -0
- package/src/hooks/commands/use-edit-mode-commands.js +61 -25
- package/src/hooks/index.js +1 -0
- package/src/hooks/navigation-menu-edit.js +95 -0
- package/src/hooks/push-changes-to-global-styles/index.js +14 -8
- package/src/hooks/template-part-edit.js +1 -1
- package/src/store/actions.js +52 -1
- package/src/store/index.js +1 -1
- package/src/store/reducer.js +21 -0
- package/src/store/selectors.js +54 -5
- package/src/store/test/actions.js +31 -0
- package/src/store/test/reducer.js +44 -0
- package/src/store/test/selectors.js +57 -0
- package/src/style.scss +17 -4
- package/src/utils/get-is-list-page.js +16 -4
- package/src/utils/is-previewing-theme.js +2 -3
- package/src/utils/use-activate-theme.js +3 -2
- package/src/utils/use-debounced-input.js +17 -0
- package/build/components/add-new-template/new-template-part.js +0 -116
- package/build/components/add-new-template/new-template-part.js.map +0 -1
- package/build/components/list/actions/index.js.map +0 -1
- package/build/components/list/actions/rename-menu-item.js.map +0 -1
- package/build/components/sidebar-edit-mode/template-card/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/template-card/template-actions.js.map +0 -1
- package/build/components/sidebar-edit-mode/template-card/template-areas.js.map +0 -1
- package/build/components/sidebar-edit-mode/template-revisions/index.js.map +0 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +0 -53
- package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +0 -1
- package/build/components/sidebar-navigation-subtitle/index.js +0 -18
- package/build/components/sidebar-navigation-subtitle/index.js.map +0 -1
- package/build/private-apis.js.map +0 -1
- package/build-module/components/add-new-template/new-template-part.js +0 -96
- package/build-module/components/add-new-template/new-template-part.js.map +0 -1
- package/build-module/components/list/actions/index.js.map +0 -1
- package/build-module/components/list/actions/rename-menu-item.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/template-card/index.js +0 -68
- package/build-module/components/sidebar-edit-mode/template-card/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/template-card/template-actions.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/template-card/template-areas.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +0 -40
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +0 -1
- package/build-module/components/sidebar-navigation-subtitle/index.js +0 -10
- package/build-module/components/sidebar-navigation-subtitle/index.js.map +0 -1
- package/build-module/private-apis.js.map +0 -1
- package/src/components/add-new-template/new-template-part.js +0 -109
- package/src/components/sidebar-edit-mode/template-card/index.js +0 -59
- package/src/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +0 -47
- package/src/components/sidebar-navigation-screen-pages/style.scss +0 -4
- package/src/components/sidebar-navigation-screen-templates/style.scss +0 -4
- package/src/components/sidebar-navigation-subtitle/index.js +0 -5
- package/src/components/sidebar-navigation-subtitle/style.scss +0 -7
- /package/src/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +0 -0
- /package/src/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +0 -0
- /package/src/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +0 -0
- /package/src/components/{list/actions → template-actions}/rename-menu-item.js +0 -0
- /package/src/{private-apis.js → lock-unlock.js} +0 -0
|
@@ -55,13 +55,10 @@ const usePublicPostTypes = () => {
|
|
|
55
55
|
}), []);
|
|
56
56
|
return useMemo(() => {
|
|
57
57
|
const excludedPostTypes = ['attachment'];
|
|
58
|
-
return postTypes
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
} = _ref;
|
|
63
|
-
return viewable && !excludedPostTypes.includes(slug);
|
|
64
|
-
});
|
|
58
|
+
return postTypes?.filter(({
|
|
59
|
+
viewable,
|
|
60
|
+
slug
|
|
61
|
+
}) => viewable && !excludedPostTypes.includes(slug));
|
|
65
62
|
}, [postTypes]);
|
|
66
63
|
};
|
|
67
64
|
|
|
@@ -70,29 +67,24 @@ const usePublicTaxonomies = () => {
|
|
|
70
67
|
per_page: -1
|
|
71
68
|
}), []);
|
|
72
69
|
return useMemo(() => {
|
|
73
|
-
return taxonomies
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
} = _ref2;
|
|
77
|
-
return visibility === null || visibility === void 0 ? void 0 : visibility.publicly_queryable;
|
|
78
|
-
});
|
|
70
|
+
return taxonomies?.filter(({
|
|
71
|
+
visibility
|
|
72
|
+
}) => visibility?.publicly_queryable);
|
|
79
73
|
}, [taxonomies]);
|
|
80
74
|
};
|
|
81
75
|
|
|
82
76
|
function usePostTypeNeedsUniqueIdentifier(publicPostTypes) {
|
|
83
|
-
const postTypeLabels = useMemo(() => publicPostTypes
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
} = _ref3;
|
|
77
|
+
const postTypeLabels = useMemo(() => publicPostTypes?.reduce((accumulator, {
|
|
78
|
+
labels
|
|
79
|
+
}) => {
|
|
87
80
|
const singularName = labels.singular_name.toLowerCase();
|
|
88
81
|
accumulator[singularName] = (accumulator[singularName] || 0) + 1;
|
|
89
82
|
return accumulator;
|
|
90
83
|
}, {}));
|
|
91
|
-
return useCallback(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
} = _ref4;
|
|
84
|
+
return useCallback(({
|
|
85
|
+
labels,
|
|
86
|
+
slug
|
|
87
|
+
}) => {
|
|
96
88
|
const singularName = labels.singular_name.toLowerCase();
|
|
97
89
|
return postTypeLabels[singularName] > 1 && singularName !== slug;
|
|
98
90
|
}, [postTypeLabels]);
|
|
@@ -100,12 +92,10 @@ function usePostTypeNeedsUniqueIdentifier(publicPostTypes) {
|
|
|
100
92
|
|
|
101
93
|
export function usePostTypeArchiveMenuItems() {
|
|
102
94
|
const publicPostTypes = usePublicPostTypes();
|
|
103
|
-
const postTypesWithArchives = useMemo(() => publicPostTypes
|
|
95
|
+
const postTypesWithArchives = useMemo(() => publicPostTypes?.filter(postType => postType.has_archive), [publicPostTypes]);
|
|
104
96
|
const existingTemplates = useExistingTemplates();
|
|
105
97
|
const needsUniqueIdentifier = usePostTypeNeedsUniqueIdentifier(postTypesWithArchives);
|
|
106
|
-
return useMemo(() =>
|
|
107
|
-
var _postType$icon;
|
|
108
|
-
|
|
98
|
+
return useMemo(() => postTypesWithArchives?.filter(postType => !(existingTemplates || []).some(existingTemplate => existingTemplate.slug === 'archive-' + postType.slug)).map(postType => {
|
|
109
99
|
let title;
|
|
110
100
|
|
|
111
101
|
if (needsUniqueIdentifier(postType)) {
|
|
@@ -124,10 +114,10 @@ export function usePostTypeArchiveMenuItems() {
|
|
|
124
114
|
// `icon` is the `menu_icon` property of a post type. We
|
|
125
115
|
// only handle `dashicons` for now, even if the `menu_icon`
|
|
126
116
|
// also supports urls and svg as values.
|
|
127
|
-
icon:
|
|
117
|
+
icon: postType.icon?.startsWith('dashicons-') ? postType.icon.slice(10) : archive,
|
|
128
118
|
templatePrefix: 'archive'
|
|
129
119
|
};
|
|
130
|
-
})
|
|
120
|
+
}) || [], [postTypesWithArchives, existingTemplates, needsUniqueIdentifier]);
|
|
131
121
|
}
|
|
132
122
|
export const usePostTypeMenuItems = onClickMenuItem => {
|
|
133
123
|
const publicPostTypes = usePublicPostTypes();
|
|
@@ -135,10 +125,9 @@ export const usePostTypeMenuItems = onClickMenuItem => {
|
|
|
135
125
|
const defaultTemplateTypes = useDefaultTemplateTypes();
|
|
136
126
|
const needsUniqueIdentifier = usePostTypeNeedsUniqueIdentifier(publicPostTypes); // `page`is a special case in template hierarchy.
|
|
137
127
|
|
|
138
|
-
const templatePrefixes = useMemo(() => publicPostTypes
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
} = _ref5;
|
|
128
|
+
const templatePrefixes = useMemo(() => publicPostTypes?.reduce((accumulator, {
|
|
129
|
+
slug
|
|
130
|
+
}) => {
|
|
142
131
|
let suffix = slug;
|
|
143
132
|
|
|
144
133
|
if (slug !== 'page') {
|
|
@@ -149,15 +138,10 @@ export const usePostTypeMenuItems = onClickMenuItem => {
|
|
|
149
138
|
return accumulator;
|
|
150
139
|
}, {}), [publicPostTypes]);
|
|
151
140
|
const postTypesInfo = useEntitiesInfo('postType', templatePrefixes);
|
|
152
|
-
const existingTemplateSlugs = (existingTemplates || []).map(
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
} = _ref6;
|
|
156
|
-
return slug;
|
|
157
|
-
});
|
|
141
|
+
const existingTemplateSlugs = (existingTemplates || []).map(({
|
|
142
|
+
slug
|
|
143
|
+
}) => slug);
|
|
158
144
|
const menuItems = (publicPostTypes || []).reduce((accumulator, postType) => {
|
|
159
|
-
var _postTypesInfo$slug;
|
|
160
|
-
|
|
161
145
|
const {
|
|
162
146
|
slug,
|
|
163
147
|
labels,
|
|
@@ -167,13 +151,10 @@ export const usePostTypeMenuItems = onClickMenuItem => {
|
|
|
167
151
|
// augment it with the specific template functionality.
|
|
168
152
|
|
|
169
153
|
const generalTemplateSlug = templatePrefixes[slug];
|
|
170
|
-
const defaultTemplateType = defaultTemplateTypes
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
return _slug === generalTemplateSlug;
|
|
175
|
-
});
|
|
176
|
-
const hasGeneralTemplate = existingTemplateSlugs === null || existingTemplateSlugs === void 0 ? void 0 : existingTemplateSlugs.includes(generalTemplateSlug);
|
|
154
|
+
const defaultTemplateType = defaultTemplateTypes?.find(({
|
|
155
|
+
slug: _slug
|
|
156
|
+
}) => _slug === generalTemplateSlug);
|
|
157
|
+
const hasGeneralTemplate = existingTemplateSlugs?.includes(generalTemplateSlug);
|
|
177
158
|
|
|
178
159
|
const _needsUniqueIdentifier = needsUniqueIdentifier(postType);
|
|
179
160
|
|
|
@@ -195,10 +176,10 @@ export const usePostTypeMenuItems = onClickMenuItem => {
|
|
|
195
176
|
// `icon` is the `menu_icon` property of a post type. We
|
|
196
177
|
// only handle `dashicons` for now, even if the `menu_icon`
|
|
197
178
|
// also supports urls and svg as values.
|
|
198
|
-
icon: icon
|
|
179
|
+
icon: icon?.startsWith('dashicons-') ? icon.slice(10) : post,
|
|
199
180
|
templatePrefix: templatePrefixes[slug]
|
|
200
181
|
};
|
|
201
|
-
const hasEntities = postTypesInfo
|
|
182
|
+
const hasEntities = postTypesInfo?.[slug]?.hasEntities; // We have a different template creation flow only if they have entities.
|
|
202
183
|
|
|
203
184
|
if (hasEntities) {
|
|
204
185
|
menuItem.onClick = template => {
|
|
@@ -207,10 +188,9 @@ export const usePostTypeMenuItems = onClickMenuItem => {
|
|
|
207
188
|
slug,
|
|
208
189
|
config: {
|
|
209
190
|
recordNamePath: 'title.rendered',
|
|
210
|
-
queryArgs:
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
} = _ref8;
|
|
191
|
+
queryArgs: ({
|
|
192
|
+
search
|
|
193
|
+
}) => {
|
|
214
194
|
return {
|
|
215
195
|
_fields: 'id,title,slug,link',
|
|
216
196
|
orderBy: search ? 'relevance' : 'modified',
|
|
@@ -266,10 +246,9 @@ export const useTaxonomiesMenuItems = onClickMenuItem => {
|
|
|
266
246
|
const existingTemplates = useExistingTemplates();
|
|
267
247
|
const defaultTemplateTypes = useDefaultTemplateTypes(); // `category` and `post_tag` are special cases in template hierarchy.
|
|
268
248
|
|
|
269
|
-
const templatePrefixes = useMemo(() => publicTaxonomies
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
} = _ref9;
|
|
249
|
+
const templatePrefixes = useMemo(() => publicTaxonomies?.reduce((accumulator, {
|
|
250
|
+
slug
|
|
251
|
+
}) => {
|
|
273
252
|
let suffix = slug;
|
|
274
253
|
|
|
275
254
|
if (!['category', 'post_tag'].includes(slug)) {
|
|
@@ -285,10 +264,9 @@ export const useTaxonomiesMenuItems = onClickMenuItem => {
|
|
|
285
264
|
}, {}), [publicTaxonomies]); // We need to keep track of naming conflicts. If a conflict
|
|
286
265
|
// occurs, we need to add slug.
|
|
287
266
|
|
|
288
|
-
const taxonomyLabels = publicTaxonomies
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
} = _ref10;
|
|
267
|
+
const taxonomyLabels = publicTaxonomies?.reduce((accumulator, {
|
|
268
|
+
labels
|
|
269
|
+
}) => {
|
|
292
270
|
const singularName = labels.singular_name.toLowerCase();
|
|
293
271
|
accumulator[singularName] = (accumulator[singularName] || 0) + 1;
|
|
294
272
|
return accumulator;
|
|
@@ -304,15 +282,10 @@ export const useTaxonomiesMenuItems = onClickMenuItem => {
|
|
|
304
282
|
};
|
|
305
283
|
|
|
306
284
|
const taxonomiesInfo = useEntitiesInfo('taxonomy', templatePrefixes);
|
|
307
|
-
const existingTemplateSlugs = (existingTemplates || []).map(
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
} = _ref11;
|
|
311
|
-
return slug;
|
|
312
|
-
});
|
|
285
|
+
const existingTemplateSlugs = (existingTemplates || []).map(({
|
|
286
|
+
slug
|
|
287
|
+
}) => slug);
|
|
313
288
|
const menuItems = (publicTaxonomies || []).reduce((accumulator, taxonomy) => {
|
|
314
|
-
var _taxonomiesInfo$slug;
|
|
315
|
-
|
|
316
289
|
const {
|
|
317
290
|
slug,
|
|
318
291
|
labels
|
|
@@ -321,13 +294,10 @@ export const useTaxonomiesMenuItems = onClickMenuItem => {
|
|
|
321
294
|
// augment it with the specific template functionality.
|
|
322
295
|
|
|
323
296
|
const generalTemplateSlug = templatePrefixes[slug];
|
|
324
|
-
const defaultTemplateType = defaultTemplateTypes
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
return _slug === generalTemplateSlug;
|
|
329
|
-
});
|
|
330
|
-
const hasGeneralTemplate = existingTemplateSlugs === null || existingTemplateSlugs === void 0 ? void 0 : existingTemplateSlugs.includes(generalTemplateSlug);
|
|
297
|
+
const defaultTemplateType = defaultTemplateTypes?.find(({
|
|
298
|
+
slug: _slug
|
|
299
|
+
}) => _slug === generalTemplateSlug);
|
|
300
|
+
const hasGeneralTemplate = existingTemplateSlugs?.includes(generalTemplateSlug);
|
|
331
301
|
|
|
332
302
|
const _needsUniqueIdentifier = needsUniqueIdentifier(labels, slug);
|
|
333
303
|
|
|
@@ -348,7 +318,7 @@ export const useTaxonomiesMenuItems = onClickMenuItem => {
|
|
|
348
318
|
icon: blockMeta,
|
|
349
319
|
templatePrefix: templatePrefixes[slug]
|
|
350
320
|
};
|
|
351
|
-
const hasEntities = taxonomiesInfo
|
|
321
|
+
const hasEntities = taxonomiesInfo?.[slug]?.hasEntities; // We have a different template creation flow only if they have entities.
|
|
352
322
|
|
|
353
323
|
if (hasEntities) {
|
|
354
324
|
menuItem.onClick = template => {
|
|
@@ -356,10 +326,9 @@ export const useTaxonomiesMenuItems = onClickMenuItem => {
|
|
|
356
326
|
type: 'taxonomy',
|
|
357
327
|
slug,
|
|
358
328
|
config: {
|
|
359
|
-
queryArgs:
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
} = _ref13;
|
|
329
|
+
queryArgs: ({
|
|
330
|
+
search
|
|
331
|
+
}) => {
|
|
363
332
|
return {
|
|
364
333
|
_fields: 'id,name,slug,link',
|
|
365
334
|
orderBy: search ? 'name' : 'count',
|
|
@@ -419,17 +388,12 @@ const USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS = {
|
|
|
419
388
|
}
|
|
420
389
|
};
|
|
421
390
|
export function useAuthorMenuItem(onClickMenuItem) {
|
|
422
|
-
var _authorInfo$user, _authorInfo$user2;
|
|
423
|
-
|
|
424
391
|
const existingTemplates = useExistingTemplates();
|
|
425
392
|
const defaultTemplateTypes = useDefaultTemplateTypes();
|
|
426
393
|
const authorInfo = useEntitiesInfo('root', USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX, USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS);
|
|
427
|
-
let authorMenuItem = defaultTemplateTypes
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
} = _ref14;
|
|
431
|
-
return slug === 'author';
|
|
432
|
-
});
|
|
394
|
+
let authorMenuItem = defaultTemplateTypes?.find(({
|
|
395
|
+
slug
|
|
396
|
+
}) => slug === 'author');
|
|
433
397
|
|
|
434
398
|
if (!authorMenuItem) {
|
|
435
399
|
authorMenuItem = {
|
|
@@ -439,14 +403,11 @@ export function useAuthorMenuItem(onClickMenuItem) {
|
|
|
439
403
|
};
|
|
440
404
|
}
|
|
441
405
|
|
|
442
|
-
const hasGeneralTemplate = !!
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
} = _ref15;
|
|
446
|
-
return slug === 'author';
|
|
447
|
-
}));
|
|
406
|
+
const hasGeneralTemplate = !!existingTemplates?.find(({
|
|
407
|
+
slug
|
|
408
|
+
}) => slug === 'author');
|
|
448
409
|
|
|
449
|
-
if (
|
|
410
|
+
if (authorInfo.user?.hasEntities) {
|
|
450
411
|
authorMenuItem = { ...authorMenuItem,
|
|
451
412
|
templatePrefix: 'author'
|
|
452
413
|
};
|
|
@@ -456,10 +417,9 @@ export function useAuthorMenuItem(onClickMenuItem) {
|
|
|
456
417
|
type: 'root',
|
|
457
418
|
slug: 'user',
|
|
458
419
|
config: {
|
|
459
|
-
queryArgs:
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
} = _ref16;
|
|
420
|
+
queryArgs: ({
|
|
421
|
+
search
|
|
422
|
+
}) => {
|
|
463
423
|
return {
|
|
464
424
|
_fields: 'id,name,slug,link',
|
|
465
425
|
orderBy: search ? 'name' : 'registered_date',
|
|
@@ -488,7 +448,7 @@ export function useAuthorMenuItem(onClickMenuItem) {
|
|
|
488
448
|
};
|
|
489
449
|
}
|
|
490
450
|
|
|
491
|
-
if (!hasGeneralTemplate ||
|
|
451
|
+
if (!hasGeneralTemplate || authorInfo.user?.hasEntities) {
|
|
492
452
|
return authorMenuItem;
|
|
493
453
|
}
|
|
494
454
|
}
|
|
@@ -510,8 +470,7 @@ export function useAuthorMenuItem(onClickMenuItem) {
|
|
|
510
470
|
const useExistingTemplateSlugs = templatePrefixes => {
|
|
511
471
|
const existingTemplates = useExistingTemplates();
|
|
512
472
|
const existingSlugs = useMemo(() => {
|
|
513
|
-
return Object.entries(templatePrefixes || {}).reduce((accumulator,
|
|
514
|
-
let [slug, prefix] = _ref17;
|
|
473
|
+
return Object.entries(templatePrefixes || {}).reduce((accumulator, [slug, prefix]) => {
|
|
515
474
|
const slugsWithTemplates = (existingTemplates || []).reduce((_accumulator, existingTemplate) => {
|
|
516
475
|
const _prefix = `${prefix}-`;
|
|
517
476
|
|
|
@@ -542,12 +501,10 @@ const useExistingTemplateSlugs = templatePrefixes => {
|
|
|
542
501
|
*/
|
|
543
502
|
|
|
544
503
|
|
|
545
|
-
const useTemplatesToExclude =
|
|
546
|
-
let additionalQueryParameters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
504
|
+
const useTemplatesToExclude = (entityName, templatePrefixes, additionalQueryParameters = {}) => {
|
|
547
505
|
const slugsToExcludePerEntity = useExistingTemplateSlugs(templatePrefixes);
|
|
548
506
|
const recordsToExcludePerEntity = useSelect(select => {
|
|
549
|
-
return Object.entries(slugsToExcludePerEntity || {}).reduce((accumulator,
|
|
550
|
-
let [slug, slugsWithTemplates] = _ref18;
|
|
507
|
+
return Object.entries(slugsToExcludePerEntity || {}).reduce((accumulator, [slug, slugsWithTemplates]) => {
|
|
551
508
|
const entitiesWithTemplates = select(coreStore).getEntityRecords(entityName, slug, {
|
|
552
509
|
_fields: 'id',
|
|
553
510
|
context: 'view',
|
|
@@ -555,7 +512,7 @@ const useTemplatesToExclude = function (entityName, templatePrefixes) {
|
|
|
555
512
|
...additionalQueryParameters[slug]
|
|
556
513
|
});
|
|
557
514
|
|
|
558
|
-
if (entitiesWithTemplates
|
|
515
|
+
if (entitiesWithTemplates?.length) {
|
|
559
516
|
accumulator[slug] = entitiesWithTemplates;
|
|
560
517
|
}
|
|
561
518
|
|
|
@@ -581,27 +538,21 @@ const useTemplatesToExclude = function (entityName, templatePrefixes) {
|
|
|
581
538
|
*/
|
|
582
539
|
|
|
583
540
|
|
|
584
|
-
const useEntitiesInfo =
|
|
585
|
-
let additionalQueryParameters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
541
|
+
const useEntitiesInfo = (entityName, templatePrefixes, additionalQueryParameters = {}) => {
|
|
586
542
|
const recordsToExcludePerEntity = useTemplatesToExclude(entityName, templatePrefixes, additionalQueryParameters);
|
|
587
543
|
const entitiesInfo = useSelect(select => {
|
|
588
544
|
return Object.keys(templatePrefixes || {}).reduce((accumulator, slug) => {
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
let {
|
|
593
|
-
id
|
|
594
|
-
} = _ref19;
|
|
595
|
-
return id;
|
|
596
|
-
})) || [];
|
|
545
|
+
const existingEntitiesIds = recordsToExcludePerEntity?.[slug]?.map(({
|
|
546
|
+
id
|
|
547
|
+
}) => id) || [];
|
|
597
548
|
accumulator[slug] = {
|
|
598
|
-
hasEntities: !!
|
|
549
|
+
hasEntities: !!select(coreStore).getEntityRecords(entityName, slug, {
|
|
599
550
|
per_page: 1,
|
|
600
551
|
_fields: 'id',
|
|
601
552
|
context: 'view',
|
|
602
553
|
exclude: existingEntitiesIds,
|
|
603
554
|
...additionalQueryParameters[slug]
|
|
604
|
-
})
|
|
555
|
+
})?.length,
|
|
605
556
|
existingEntitiesIds
|
|
606
557
|
};
|
|
607
558
|
return accumulator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/utils.js"],"names":["get","useSelect","store","coreStore","editorStore","decodeEntities","useMemo","useCallback","__","sprintf","blockMeta","post","archive","mapToIHasNameAndId","entities","path","map","entity","name","useExistingTemplates","select","getEntityRecords","per_page","useDefaultTemplateTypes","__experimentalGetDefaultTemplateTypes","usePublicPostTypes","postTypes","getPostTypes","excludedPostTypes","filter","viewable","slug","includes","usePublicTaxonomies","taxonomies","getTaxonomies","visibility","publicly_queryable","usePostTypeNeedsUniqueIdentifier","publicPostTypes","postTypeLabels","reduce","accumulator","labels","singularName","singular_name","toLowerCase","usePostTypeArchiveMenuItems","postTypesWithArchives","postType","has_archive","existingTemplates","needsUniqueIdentifier","some","existingTemplate","title","description","icon","startsWith","slice","templatePrefix","usePostTypeMenuItems","onClickMenuItem","defaultTemplateTypes","templatePrefixes","suffix","postTypesInfo","useEntitiesInfo","existingTemplateSlugs","menuItems","generalTemplateSlug","defaultTemplateType","find","_slug","hasGeneralTemplate","_needsUniqueIdentifier","menuItemTitle","menuItem","hasEntities","onClick","template","type","config","recordNamePath","queryArgs","search","_fields","orderBy","exclude","existingEntitiesIds","getSpecificTemplate","suggestion","templateSlug","push","postTypesMenuItems","key","defaultPostTypesMenuItems","useTaxonomiesMenuItems","publicTaxonomies","taxonomyLabels","taxonomiesInfo","taxonomy","taxonomiesMenuItems","defaultTaxonomiesMenuItems","USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX","user","USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS","who","useAuthorMenuItem","authorInfo","authorMenuItem","search_items","not_found","all_items","useExistingTemplateSlugs","existingSlugs","Object","entries","prefix","slugsWithTemplates","_accumulator","_prefix","substring","length","useTemplatesToExclude","entityName","additionalQueryParameters","slugsToExcludePerEntity","recordsToExcludePerEntity","entitiesWithTemplates","context","entitiesInfo","keys","id"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\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';\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { blockMeta, post, archive } from '@wordpress/icons';\n\n/**\n * @typedef IHasNameAndId\n * @property {string|number} id The entity's id.\n * @property {string} name The entity's name.\n */\n\n/**\n * Helper util to map records to add a `name` prop from a\n * provided path, in order to handle all entities in the same\n * fashion(implementing`IHasNameAndId` interface).\n *\n * @param {Object[]} entities The array of entities.\n * @param {string} path The path to map a `name` property from the entity.\n * @return {IHasNameAndId[]} An array of enitities that now implement the `IHasNameAndId` interface.\n */\nexport const mapToIHasNameAndId = ( entities, path ) => {\n\treturn ( entities || [] ).map( ( entity ) => ( {\n\t\t...entity,\n\t\tname: decodeEntities( get( entity, path ) ),\n\t} ) );\n};\n\n/**\n * @typedef {Object} EntitiesInfo\n * @property {boolean} hasEntities If an entity has available records(posts, terms, etc..).\n * @property {number[]} existingEntitiesIds An array of the existing entities ids.\n */\n\nexport const useExistingTemplates = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\tper_page: -1,\n\t\t\t} ),\n\t\t[]\n\t);\n};\n\nexport const useDefaultTemplateTypes = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplateTypes(),\n\t\t[]\n\t);\n};\n\nconst usePublicPostTypes = () => {\n\tconst postTypes = useSelect(\n\t\t( select ) => select( coreStore ).getPostTypes( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\tconst excludedPostTypes = [ 'attachment' ];\n\t\treturn postTypes?.filter(\n\t\t\t( { viewable, slug } ) =>\n\t\t\t\tviewable && ! excludedPostTypes.includes( slug )\n\t\t);\n\t}, [ postTypes ] );\n};\n\nconst usePublicTaxonomies = () => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\treturn taxonomies?.filter(\n\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t);\n\t}, [ taxonomies ] );\n};\n\nfunction usePostTypeNeedsUniqueIdentifier( publicPostTypes ) {\n\tconst postTypeLabels = useMemo( () =>\n\t\tpublicPostTypes?.reduce( ( accumulator, { labels } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\taccumulator[ singularName ] =\n\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\treturn accumulator;\n\t\t}, {} )\n\t);\n\treturn useCallback(\n\t\t( { labels, slug } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\treturn postTypeLabels[ singularName ] > 1 && singularName !== slug;\n\t\t},\n\t\t[ postTypeLabels ]\n\t);\n}\n\nexport function usePostTypeArchiveMenuItems() {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst postTypesWithArchives = useMemo(\n\t\t() => publicPostTypes?.filter( ( postType ) => postType.has_archive ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst existingTemplates = useExistingTemplates();\n\tconst needsUniqueIdentifier = usePostTypeNeedsUniqueIdentifier(\n\t\tpostTypesWithArchives\n\t);\n\treturn useMemo(\n\t\t() =>\n\t\t\tpostTypesWithArchives\n\t\t\t\t?.filter(\n\t\t\t\t\t( postType ) =>\n\t\t\t\t\t\t! ( existingTemplates || [] ).some(\n\t\t\t\t\t\t\t( existingTemplate ) =>\n\t\t\t\t\t\t\t\texistingTemplate.slug ===\n\t\t\t\t\t\t\t\t'archive-' + postType.slug\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( postType ) => {\n\t\t\t\t\tlet title;\n\t\t\t\t\tif ( needsUniqueIdentifier( postType ) ) {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t__( 'Archive: %1$s (%2$s)' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name,\n\t\t\t\t\t\t\tpostType.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Archive: %s' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tslug: 'archive-' + postType.slug,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Displays an archive with the latest posts of type: %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon: postType.icon?.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t? postType.icon.slice( 10 )\n\t\t\t\t\t\t\t: archive,\n\t\t\t\t\t\ttemplatePrefix: 'archive',\n\t\t\t\t\t};\n\t\t\t\t} ) || [],\n\t\t[ postTypesWithArchives, existingTemplates, needsUniqueIdentifier ]\n\t);\n}\n\nexport const usePostTypeMenuItems = ( onClickMenuItem ) => {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst needsUniqueIdentifier =\n\t\tusePostTypeNeedsUniqueIdentifier( publicPostTypes );\n\t// `page`is a special case in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( slug !== 'page' ) {\n\t\t\t\t\tsuffix = `single-${ suffix }`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst postTypesInfo = useEntitiesInfo( 'postType', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicPostTypes || [] ).reduce(\n\t\t( accumulator, postType ) => {\n\t\t\tconst { slug, labels, icon } = postType;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier( postType );\n\t\t\tlet menuItemTitle = sprintf(\n\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t__( 'Single item: %s' ),\n\t\t\t\tlabels.singular_name\n\t\t\t);\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = sprintf(\n\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t__( 'Single item: %1$s (%2$s)' ),\n\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Displays a single item: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon: icon?.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t? icon.slice( 10 )\n\t\t\t\t\t\t\t: post,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = postTypesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'postType',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\trecordNamePath: 'title.rendered',\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,title,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'relevance' : 'modified',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\tpostTypesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = `${ templatePrefixes[ slug ] }-${ suggestion.slug }`;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default post types\n\t// and one for the rest.\n\tconst postTypesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, postType ) => {\n\t\t\t\t\tconst { slug } = postType;\n\t\t\t\t\tlet key = 'postTypesMenuItems';\n\t\t\t\t\tif ( slug === 'page' ) {\n\t\t\t\t\t\tkey = 'defaultPostTypesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( postType );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultPostTypesMenuItems: [], postTypesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn postTypesMenuItems;\n};\n\nexport const useTaxonomiesMenuItems = ( onClickMenuItem ) => {\n\tconst publicTaxonomies = usePublicTaxonomies();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\t// `category` and `post_tag` are special cases in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicTaxonomies?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( ! [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\t\t\tsuffix = `taxonomy-${ suffix }`;\n\t\t\t\t}\n\t\t\t\tif ( slug === 'post_tag' ) {\n\t\t\t\t\tsuffix = `tag`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicTaxonomies ]\n\t);\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst taxonomyLabels = publicTaxonomies?.reduce(\n\t\t( accumulator, { labels } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\taccumulator[ singularName ] =\n\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{}\n\t);\n\tconst needsUniqueIdentifier = ( labels, slug ) => {\n\t\tif ( [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\treturn taxonomyLabels[ singularName ] > 1 && singularName !== slug;\n\t};\n\tconst taxonomiesInfo = useEntitiesInfo( 'taxonomy', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicTaxonomies || [] ).reduce(\n\t\t( accumulator, taxonomy ) => {\n\t\t\tconst { slug, labels } = taxonomy;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier(\n\t\t\t\tlabels,\n\t\t\t\tslug\n\t\t\t);\n\t\t\tlet menuItemTitle = labels.singular_name;\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = sprintf(\n\t\t\t\t\t// translators: %1s: Name of the taxonomy e.g: \"Category\"; %2s: Slug of the taxonomy e.g: \"product_cat\".\n\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the taxonomy e.g: \"Product Categories\".\n\t\t\t\t\t\t\t__( 'Displays taxonomy: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ticon: blockMeta,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = taxonomiesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'taxonomy',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'name' : 'count',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\ttaxonomiesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = `${ templatePrefixes[ slug ] }-${ suggestion.slug }`;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default taxonomies\n\t// and one for the rest.\n\tconst taxonomiesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, taxonomy ) => {\n\t\t\t\t\tconst { slug } = taxonomy;\n\t\t\t\t\tlet key = 'taxonomiesMenuItems';\n\t\t\t\t\tif ( [ 'category', 'tag' ].includes( slug ) ) {\n\t\t\t\t\t\tkey = 'defaultTaxonomiesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( taxonomy );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultTaxonomiesMenuItems: [], taxonomiesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn taxonomiesMenuItems;\n};\n\nconst USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX = { user: 'author' };\nconst USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS = { user: { who: 'authors' } };\nexport function useAuthorMenuItem( onClickMenuItem ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst authorInfo = useEntitiesInfo(\n\t\t'root',\n\t\tUSE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX,\n\t\tUSE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS\n\t);\n\tlet authorMenuItem = defaultTemplateTypes?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( ! authorMenuItem ) {\n\t\tauthorMenuItem = {\n\t\t\tdescription: __(\n\t\t\t\t'Displays latest posts written by a single author.'\n\t\t\t),\n\t\t\tslug: 'author',\n\t\t\ttitle: 'Author',\n\t\t};\n\t}\n\tconst hasGeneralTemplate = !! existingTemplates?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( authorInfo.user?.hasEntities ) {\n\t\tauthorMenuItem = { ...authorMenuItem, templatePrefix: 'author' };\n\t\tauthorMenuItem.onClick = ( template ) => {\n\t\t\tonClickMenuItem( {\n\t\t\t\ttype: 'root',\n\t\t\t\tslug: 'user',\n\t\t\t\tconfig: {\n\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\torderBy: search ? 'name' : 'registered_date',\n\t\t\t\t\t\t\texclude: authorInfo.user.existingEntitiesIds,\n\t\t\t\t\t\t\twho: 'authors',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\tconst templateSlug = `author-${ suggestion.slug }`;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\ttemplatePrefix: 'author',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlabels: {\n\t\t\t\t\tsingular_name: __( 'Author' ),\n\t\t\t\t\tsearch_items: __( 'Search Authors' ),\n\t\t\t\t\tnot_found: __( 'No authors found.' ),\n\t\t\t\t\tall_items: __( 'All Authors' ),\n\t\t\t\t},\n\t\t\t\thasGeneralTemplate,\n\t\t\t\ttemplate,\n\t\t\t} );\n\t\t};\n\t}\n\tif ( ! hasGeneralTemplate || authorInfo.user?.hasEntities ) {\n\t\treturn authorMenuItem;\n\t}\n}\n\n/**\n * Helper hook that filters all the existing templates by the given\n * object with the entity's slug as key and the template prefix as value.\n *\n * Example:\n * `existingTemplates` is: [ { slug: 'tag-apple' }, { slug: 'page-about' }, { slug: 'tag' } ]\n * `templatePrefixes` is: { post_tag: 'tag' }\n * It will return: { post_tag: ['apple'] }\n *\n * Note: We append the `-` to the given template prefix in this function for our checks.\n *\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @return {Record<string,string[]>} An object with the entity's slug as key and an array with the existing template slugs as value.\n */\nconst useExistingTemplateSlugs = ( templatePrefixes ) => {\n\tconst existingTemplates = useExistingTemplates();\n\tconst existingSlugs = useMemo( () => {\n\t\treturn Object.entries( templatePrefixes || {} ).reduce(\n\t\t\t( accumulator, [ slug, prefix ] ) => {\n\t\t\t\tconst slugsWithTemplates = ( existingTemplates || [] ).reduce(\n\t\t\t\t\t( _accumulator, existingTemplate ) => {\n\t\t\t\t\t\tconst _prefix = `${ prefix }-`;\n\t\t\t\t\t\tif ( existingTemplate.slug.startsWith( _prefix ) ) {\n\t\t\t\t\t\t\t_accumulator.push(\n\t\t\t\t\t\t\t\texistingTemplate.slug.substring(\n\t\t\t\t\t\t\t\t\t_prefix.length\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn _accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tif ( slugsWithTemplates.length ) {\n\t\t\t\t\taccumulator[ slug ] = slugsWithTemplates;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t}, [ templatePrefixes, existingTemplates ] );\n\treturn existingSlugs;\n};\n\n/**\n * Helper hook that finds the existing records with an associated template,\n * as they need to be excluded from the template suggestions.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the existing records as value.\n */\nconst useTemplatesToExclude = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = {}\n) => {\n\tconst slugsToExcludePerEntity =\n\t\tuseExistingTemplateSlugs( templatePrefixes );\n\tconst recordsToExcludePerEntity = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.entries( slugsToExcludePerEntity || {} ).reduce(\n\t\t\t\t( accumulator, [ slug, slugsWithTemplates ] ) => {\n\t\t\t\t\tconst entitiesWithTemplates = select(\n\t\t\t\t\t\tcoreStore\n\t\t\t\t\t).getEntityRecords( entityName, slug, {\n\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\tslug: slugsWithTemplates,\n\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t} );\n\t\t\t\t\tif ( entitiesWithTemplates?.length ) {\n\t\t\t\t\t\taccumulator[ slug ] = entitiesWithTemplates;\n\t\t\t\t\t}\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[ slugsToExcludePerEntity ]\n\t);\n\treturn recordsToExcludePerEntity;\n};\n\n/**\n * Helper hook that returns information about an entity having\n * records that we can create a specific template for.\n *\n * For example we can search for `terms` in `taxonomy` entity or\n * `posts` in `postType` entity.\n *\n * First we need to find the existing records with an associated template,\n * to query afterwards for any remaining record, by excluding them.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the EntitiesInfo as value.\n */\nconst useEntitiesInfo = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = {}\n) => {\n\tconst recordsToExcludePerEntity = useTemplatesToExclude(\n\t\tentityName,\n\t\ttemplatePrefixes,\n\t\tadditionalQueryParameters\n\t);\n\tconst entitiesInfo = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.keys( templatePrefixes || {} ).reduce(\n\t\t\t\t( accumulator, slug ) => {\n\t\t\t\t\tconst existingEntitiesIds =\n\t\t\t\t\t\trecordsToExcludePerEntity?.[ slug ]?.map(\n\t\t\t\t\t\t\t( { id } ) => id\n\t\t\t\t\t\t) || [];\n\t\t\t\t\taccumulator[ slug ] = {\n\t\t\t\t\t\thasEntities: !! select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t\tentityName,\n\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tper_page: 1,\n\t\t\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\t\texclude: existingEntitiesIds,\n\t\t\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)?.length,\n\t\t\t\t\t\texistingEntitiesIds,\n\t\t\t\t\t};\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[ templatePrefixes, recordsToExcludePerEntity ]\n\t);\n\treturn entitiesInfo;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/utils.js"],"names":["get","useSelect","store","coreStore","editorStore","decodeEntities","useMemo","useCallback","__","sprintf","blockMeta","post","archive","mapToIHasNameAndId","entities","path","map","entity","name","useExistingTemplates","select","getEntityRecords","per_page","useDefaultTemplateTypes","__experimentalGetDefaultTemplateTypes","usePublicPostTypes","postTypes","getPostTypes","excludedPostTypes","filter","viewable","slug","includes","usePublicTaxonomies","taxonomies","getTaxonomies","visibility","publicly_queryable","usePostTypeNeedsUniqueIdentifier","publicPostTypes","postTypeLabels","reduce","accumulator","labels","singularName","singular_name","toLowerCase","usePostTypeArchiveMenuItems","postTypesWithArchives","postType","has_archive","existingTemplates","needsUniqueIdentifier","some","existingTemplate","title","description","icon","startsWith","slice","templatePrefix","usePostTypeMenuItems","onClickMenuItem","defaultTemplateTypes","templatePrefixes","suffix","postTypesInfo","useEntitiesInfo","existingTemplateSlugs","menuItems","generalTemplateSlug","defaultTemplateType","find","_slug","hasGeneralTemplate","_needsUniqueIdentifier","menuItemTitle","menuItem","hasEntities","onClick","template","type","config","recordNamePath","queryArgs","search","_fields","orderBy","exclude","existingEntitiesIds","getSpecificTemplate","suggestion","templateSlug","push","postTypesMenuItems","key","defaultPostTypesMenuItems","useTaxonomiesMenuItems","publicTaxonomies","taxonomyLabels","taxonomiesInfo","taxonomy","taxonomiesMenuItems","defaultTaxonomiesMenuItems","USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX","user","USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS","who","useAuthorMenuItem","authorInfo","authorMenuItem","search_items","not_found","all_items","useExistingTemplateSlugs","existingSlugs","Object","entries","prefix","slugsWithTemplates","_accumulator","_prefix","substring","length","useTemplatesToExclude","entityName","additionalQueryParameters","slugsToExcludePerEntity","recordsToExcludePerEntity","entitiesWithTemplates","context","entitiesInfo","keys","id"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\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';\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { blockMeta, post, archive } from '@wordpress/icons';\n\n/**\n * @typedef IHasNameAndId\n * @property {string|number} id The entity's id.\n * @property {string} name The entity's name.\n */\n\n/**\n * Helper util to map records to add a `name` prop from a\n * provided path, in order to handle all entities in the same\n * fashion(implementing`IHasNameAndId` interface).\n *\n * @param {Object[]} entities The array of entities.\n * @param {string} path The path to map a `name` property from the entity.\n * @return {IHasNameAndId[]} An array of enitities that now implement the `IHasNameAndId` interface.\n */\nexport const mapToIHasNameAndId = ( entities, path ) => {\n\treturn ( entities || [] ).map( ( entity ) => ( {\n\t\t...entity,\n\t\tname: decodeEntities( get( entity, path ) ),\n\t} ) );\n};\n\n/**\n * @typedef {Object} EntitiesInfo\n * @property {boolean} hasEntities If an entity has available records(posts, terms, etc..).\n * @property {number[]} existingEntitiesIds An array of the existing entities ids.\n */\n\nexport const useExistingTemplates = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\tper_page: -1,\n\t\t\t} ),\n\t\t[]\n\t);\n};\n\nexport const useDefaultTemplateTypes = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplateTypes(),\n\t\t[]\n\t);\n};\n\nconst usePublicPostTypes = () => {\n\tconst postTypes = useSelect(\n\t\t( select ) => select( coreStore ).getPostTypes( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\tconst excludedPostTypes = [ 'attachment' ];\n\t\treturn postTypes?.filter(\n\t\t\t( { viewable, slug } ) =>\n\t\t\t\tviewable && ! excludedPostTypes.includes( slug )\n\t\t);\n\t}, [ postTypes ] );\n};\n\nconst usePublicTaxonomies = () => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\treturn taxonomies?.filter(\n\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t);\n\t}, [ taxonomies ] );\n};\n\nfunction usePostTypeNeedsUniqueIdentifier( publicPostTypes ) {\n\tconst postTypeLabels = useMemo( () =>\n\t\tpublicPostTypes?.reduce( ( accumulator, { labels } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\taccumulator[ singularName ] =\n\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\treturn accumulator;\n\t\t}, {} )\n\t);\n\treturn useCallback(\n\t\t( { labels, slug } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\treturn postTypeLabels[ singularName ] > 1 && singularName !== slug;\n\t\t},\n\t\t[ postTypeLabels ]\n\t);\n}\n\nexport function usePostTypeArchiveMenuItems() {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst postTypesWithArchives = useMemo(\n\t\t() => publicPostTypes?.filter( ( postType ) => postType.has_archive ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst existingTemplates = useExistingTemplates();\n\tconst needsUniqueIdentifier = usePostTypeNeedsUniqueIdentifier(\n\t\tpostTypesWithArchives\n\t);\n\treturn useMemo(\n\t\t() =>\n\t\t\tpostTypesWithArchives\n\t\t\t\t?.filter(\n\t\t\t\t\t( postType ) =>\n\t\t\t\t\t\t! ( existingTemplates || [] ).some(\n\t\t\t\t\t\t\t( existingTemplate ) =>\n\t\t\t\t\t\t\t\texistingTemplate.slug ===\n\t\t\t\t\t\t\t\t'archive-' + postType.slug\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( postType ) => {\n\t\t\t\t\tlet title;\n\t\t\t\t\tif ( needsUniqueIdentifier( postType ) ) {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t__( 'Archive: %1$s (%2$s)' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name,\n\t\t\t\t\t\t\tpostType.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Archive: %s' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tslug: 'archive-' + postType.slug,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Displays an archive with the latest posts of type: %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon: postType.icon?.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t? postType.icon.slice( 10 )\n\t\t\t\t\t\t\t: archive,\n\t\t\t\t\t\ttemplatePrefix: 'archive',\n\t\t\t\t\t};\n\t\t\t\t} ) || [],\n\t\t[ postTypesWithArchives, existingTemplates, needsUniqueIdentifier ]\n\t);\n}\n\nexport const usePostTypeMenuItems = ( onClickMenuItem ) => {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst needsUniqueIdentifier =\n\t\tusePostTypeNeedsUniqueIdentifier( publicPostTypes );\n\t// `page`is a special case in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( slug !== 'page' ) {\n\t\t\t\t\tsuffix = `single-${ suffix }`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst postTypesInfo = useEntitiesInfo( 'postType', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicPostTypes || [] ).reduce(\n\t\t( accumulator, postType ) => {\n\t\t\tconst { slug, labels, icon } = postType;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier( postType );\n\t\t\tlet menuItemTitle = sprintf(\n\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t__( 'Single item: %s' ),\n\t\t\t\tlabels.singular_name\n\t\t\t);\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = sprintf(\n\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t__( 'Single item: %1$s (%2$s)' ),\n\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Displays a single item: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon: icon?.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t? icon.slice( 10 )\n\t\t\t\t\t\t\t: post,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = postTypesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'postType',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\trecordNamePath: 'title.rendered',\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,title,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'relevance' : 'modified',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\tpostTypesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = `${ templatePrefixes[ slug ] }-${ suggestion.slug }`;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default post types\n\t// and one for the rest.\n\tconst postTypesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, postType ) => {\n\t\t\t\t\tconst { slug } = postType;\n\t\t\t\t\tlet key = 'postTypesMenuItems';\n\t\t\t\t\tif ( slug === 'page' ) {\n\t\t\t\t\t\tkey = 'defaultPostTypesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( postType );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultPostTypesMenuItems: [], postTypesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn postTypesMenuItems;\n};\n\nexport const useTaxonomiesMenuItems = ( onClickMenuItem ) => {\n\tconst publicTaxonomies = usePublicTaxonomies();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\t// `category` and `post_tag` are special cases in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicTaxonomies?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( ! [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\t\t\tsuffix = `taxonomy-${ suffix }`;\n\t\t\t\t}\n\t\t\t\tif ( slug === 'post_tag' ) {\n\t\t\t\t\tsuffix = `tag`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicTaxonomies ]\n\t);\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst taxonomyLabels = publicTaxonomies?.reduce(\n\t\t( accumulator, { labels } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\taccumulator[ singularName ] =\n\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{}\n\t);\n\tconst needsUniqueIdentifier = ( labels, slug ) => {\n\t\tif ( [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\treturn taxonomyLabels[ singularName ] > 1 && singularName !== slug;\n\t};\n\tconst taxonomiesInfo = useEntitiesInfo( 'taxonomy', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicTaxonomies || [] ).reduce(\n\t\t( accumulator, taxonomy ) => {\n\t\t\tconst { slug, labels } = taxonomy;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier(\n\t\t\t\tlabels,\n\t\t\t\tslug\n\t\t\t);\n\t\t\tlet menuItemTitle = labels.singular_name;\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = sprintf(\n\t\t\t\t\t// translators: %1s: Name of the taxonomy e.g: \"Category\"; %2s: Slug of the taxonomy e.g: \"product_cat\".\n\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the taxonomy e.g: \"Product Categories\".\n\t\t\t\t\t\t\t__( 'Displays taxonomy: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ticon: blockMeta,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = taxonomiesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'taxonomy',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'name' : 'count',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\ttaxonomiesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = `${ templatePrefixes[ slug ] }-${ suggestion.slug }`;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default taxonomies\n\t// and one for the rest.\n\tconst taxonomiesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, taxonomy ) => {\n\t\t\t\t\tconst { slug } = taxonomy;\n\t\t\t\t\tlet key = 'taxonomiesMenuItems';\n\t\t\t\t\tif ( [ 'category', 'tag' ].includes( slug ) ) {\n\t\t\t\t\t\tkey = 'defaultTaxonomiesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( taxonomy );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultTaxonomiesMenuItems: [], taxonomiesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn taxonomiesMenuItems;\n};\n\nconst USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX = { user: 'author' };\nconst USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS = { user: { who: 'authors' } };\nexport function useAuthorMenuItem( onClickMenuItem ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst authorInfo = useEntitiesInfo(\n\t\t'root',\n\t\tUSE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX,\n\t\tUSE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS\n\t);\n\tlet authorMenuItem = defaultTemplateTypes?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( ! authorMenuItem ) {\n\t\tauthorMenuItem = {\n\t\t\tdescription: __(\n\t\t\t\t'Displays latest posts written by a single author.'\n\t\t\t),\n\t\t\tslug: 'author',\n\t\t\ttitle: 'Author',\n\t\t};\n\t}\n\tconst hasGeneralTemplate = !! existingTemplates?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( authorInfo.user?.hasEntities ) {\n\t\tauthorMenuItem = { ...authorMenuItem, templatePrefix: 'author' };\n\t\tauthorMenuItem.onClick = ( template ) => {\n\t\t\tonClickMenuItem( {\n\t\t\t\ttype: 'root',\n\t\t\t\tslug: 'user',\n\t\t\t\tconfig: {\n\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\torderBy: search ? 'name' : 'registered_date',\n\t\t\t\t\t\t\texclude: authorInfo.user.existingEntitiesIds,\n\t\t\t\t\t\t\twho: 'authors',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\tconst templateSlug = `author-${ suggestion.slug }`;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\ttemplatePrefix: 'author',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlabels: {\n\t\t\t\t\tsingular_name: __( 'Author' ),\n\t\t\t\t\tsearch_items: __( 'Search Authors' ),\n\t\t\t\t\tnot_found: __( 'No authors found.' ),\n\t\t\t\t\tall_items: __( 'All Authors' ),\n\t\t\t\t},\n\t\t\t\thasGeneralTemplate,\n\t\t\t\ttemplate,\n\t\t\t} );\n\t\t};\n\t}\n\tif ( ! hasGeneralTemplate || authorInfo.user?.hasEntities ) {\n\t\treturn authorMenuItem;\n\t}\n}\n\n/**\n * Helper hook that filters all the existing templates by the given\n * object with the entity's slug as key and the template prefix as value.\n *\n * Example:\n * `existingTemplates` is: [ { slug: 'tag-apple' }, { slug: 'page-about' }, { slug: 'tag' } ]\n * `templatePrefixes` is: { post_tag: 'tag' }\n * It will return: { post_tag: ['apple'] }\n *\n * Note: We append the `-` to the given template prefix in this function for our checks.\n *\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @return {Record<string,string[]>} An object with the entity's slug as key and an array with the existing template slugs as value.\n */\nconst useExistingTemplateSlugs = ( templatePrefixes ) => {\n\tconst existingTemplates = useExistingTemplates();\n\tconst existingSlugs = useMemo( () => {\n\t\treturn Object.entries( templatePrefixes || {} ).reduce(\n\t\t\t( accumulator, [ slug, prefix ] ) => {\n\t\t\t\tconst slugsWithTemplates = ( existingTemplates || [] ).reduce(\n\t\t\t\t\t( _accumulator, existingTemplate ) => {\n\t\t\t\t\t\tconst _prefix = `${ prefix }-`;\n\t\t\t\t\t\tif ( existingTemplate.slug.startsWith( _prefix ) ) {\n\t\t\t\t\t\t\t_accumulator.push(\n\t\t\t\t\t\t\t\texistingTemplate.slug.substring(\n\t\t\t\t\t\t\t\t\t_prefix.length\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn _accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tif ( slugsWithTemplates.length ) {\n\t\t\t\t\taccumulator[ slug ] = slugsWithTemplates;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t}, [ templatePrefixes, existingTemplates ] );\n\treturn existingSlugs;\n};\n\n/**\n * Helper hook that finds the existing records with an associated template,\n * as they need to be excluded from the template suggestions.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the existing records as value.\n */\nconst useTemplatesToExclude = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = {}\n) => {\n\tconst slugsToExcludePerEntity =\n\t\tuseExistingTemplateSlugs( templatePrefixes );\n\tconst recordsToExcludePerEntity = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.entries( slugsToExcludePerEntity || {} ).reduce(\n\t\t\t\t( accumulator, [ slug, slugsWithTemplates ] ) => {\n\t\t\t\t\tconst entitiesWithTemplates = select(\n\t\t\t\t\t\tcoreStore\n\t\t\t\t\t).getEntityRecords( entityName, slug, {\n\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\tslug: slugsWithTemplates,\n\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t} );\n\t\t\t\t\tif ( entitiesWithTemplates?.length ) {\n\t\t\t\t\t\taccumulator[ slug ] = entitiesWithTemplates;\n\t\t\t\t\t}\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[ slugsToExcludePerEntity ]\n\t);\n\treturn recordsToExcludePerEntity;\n};\n\n/**\n * Helper hook that returns information about an entity having\n * records that we can create a specific template for.\n *\n * For example we can search for `terms` in `taxonomy` entity or\n * `posts` in `postType` entity.\n *\n * First we need to find the existing records with an associated template,\n * to query afterwards for any remaining record, by excluding them.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the EntitiesInfo as value.\n */\nconst useEntitiesInfo = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = {}\n) => {\n\tconst recordsToExcludePerEntity = useTemplatesToExclude(\n\t\tentityName,\n\t\ttemplatePrefixes,\n\t\tadditionalQueryParameters\n\t);\n\tconst entitiesInfo = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.keys( templatePrefixes || {} ).reduce(\n\t\t\t\t( accumulator, slug ) => {\n\t\t\t\t\tconst existingEntitiesIds =\n\t\t\t\t\t\trecordsToExcludePerEntity?.[ slug ]?.map(\n\t\t\t\t\t\t\t( { id } ) => id\n\t\t\t\t\t\t) || [];\n\t\t\t\t\taccumulator[ slug ] = {\n\t\t\t\t\t\thasEntities: !! select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t\tentityName,\n\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tper_page: 1,\n\t\t\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\t\texclude: existingEntitiesIds,\n\t\t\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)?.length,\n\t\t\t\t\t\texistingEntitiesIds,\n\t\t\t\t\t};\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[ templatePrefixes, recordsToExcludePerEntity ]\n\t);\n\treturn entitiesInfo;\n};\n"]}
|
|
@@ -17,7 +17,7 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
|
17
17
|
|
|
18
18
|
import Layout from '../layout';
|
|
19
19
|
import { GlobalStylesProvider } from '../global-styles/global-styles-provider';
|
|
20
|
-
import { unlock } from '../../
|
|
20
|
+
import { unlock } from '../../lock-unlock';
|
|
21
21
|
const {
|
|
22
22
|
RouterProvider
|
|
23
23
|
} = unlock(routerPrivateApis);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/app/index.js"],"names":["SlotFillProvider","Popover","UnsavedChangesWarning","ShortcutProvider","store","noticesStore","useDispatch","__","sprintf","PluginArea","privateApis","routerPrivateApis","Layout","GlobalStylesProvider","unlock","RouterProvider","App","createErrorNotice","onPluginAreaError","name","height"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,gBAAT,EAA2BC,OAA3B,QAA0C,uBAA1C;AACA,SAASC,qBAAT,QAAsC,mBAAtC;AACA,SAASC,gBAAT,QAAiC,+BAAjC;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,WAAW,IAAIC,iBAAxB,QAAiD,mBAAjD;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,SAASC,oBAAT,QAAqC,yCAArC;AACA,SAASC,MAAT,QAAuB,
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/app/index.js"],"names":["SlotFillProvider","Popover","UnsavedChangesWarning","ShortcutProvider","store","noticesStore","useDispatch","__","sprintf","PluginArea","privateApis","routerPrivateApis","Layout","GlobalStylesProvider","unlock","RouterProvider","App","createErrorNotice","onPluginAreaError","name","height"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,gBAAT,EAA2BC,OAA3B,QAA0C,uBAA1C;AACA,SAASC,qBAAT,QAAsC,mBAAtC;AACA,SAASC,gBAAT,QAAiC,+BAAjC;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,WAAW,IAAIC,iBAAxB,QAAiD,mBAAjD;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,SAASC,oBAAT,QAAqC,yCAArC;AACA,SAASC,MAAT,QAAuB,mBAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAqBD,MAAM,CAAEH,iBAAF,CAAjC;AAEA,eAAe,SAASK,GAAT,GAAe;AAC7B,QAAM;AAAEC,IAAAA;AAAF,MAAwBX,WAAW,CAAED,YAAF,CAAzC;;AAEA,WAASa,iBAAT,CAA4BC,IAA5B,EAAmC;AAClCF,IAAAA,iBAAiB,CAChBT,OAAO;AACN;AACAD,IAAAA,EAAE,CACD,kEADC,CAFI,EAKNY,IALM,CADS,CAAjB;AASA;;AAED,SACC,cAAC,gBAAD;AAAkB,IAAA,KAAK,EAAG;AAAEC,MAAAA,MAAM,EAAE;AAAV;AAA1B,KACC,cAAC,gBAAD,QACC,cAAC,oBAAD,QACC,cAAC,OAAD,CAAS,IAAT,OADD,EAEC,cAAC,qBAAD,OAFD,EAGC,cAAC,cAAD,QACC,cAAC,MAAD,OADD,EAEC,cAAC,UAAD;AAAY,IAAA,OAAO,EAAGF;AAAtB,IAFD,CAHD,CADD,CADD,CADD;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SlotFillProvider, Popover } from '@wordpress/components';\nimport { UnsavedChangesWarning } from '@wordpress/editor';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Layout from '../layout';\nimport { GlobalStylesProvider } from '../global-styles/global-styles-provider';\nimport { unlock } from '../../lock-unlock';\n\nconst { RouterProvider } = unlock( routerPrivateApis );\n\nexport default function App() {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<ShortcutProvider style={ { height: '100%' } }>\n\t\t\t<SlotFillProvider>\n\t\t\t\t<GlobalStylesProvider>\n\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t<RouterProvider>\n\t\t\t\t\t\t<Layout />\n\t\t\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t\t</RouterProvider>\n\t\t\t\t</GlobalStylesProvider>\n\t\t\t</SlotFillProvider>\n\t\t</ShortcutProvider>\n\t);\n}\n"]}
|
|
@@ -11,21 +11,21 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
|
11
11
|
* Internal dependencies
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
import { unlock } from '../../
|
|
14
|
+
import { unlock } from '../../lock-unlock';
|
|
15
15
|
const {
|
|
16
16
|
useLocation,
|
|
17
17
|
useHistory
|
|
18
18
|
} = unlock(routerPrivateApis);
|
|
19
19
|
|
|
20
20
|
function BackButton() {
|
|
21
|
-
var _location$state;
|
|
22
|
-
|
|
23
21
|
const location = useLocation();
|
|
24
22
|
const history = useHistory();
|
|
25
23
|
const isTemplatePart = location.params.postType === 'wp_template_part';
|
|
26
|
-
const
|
|
24
|
+
const isNavigationMenu = location.params.postType === 'wp_navigation';
|
|
25
|
+
const previousTemplateId = location.state?.fromTemplateId;
|
|
26
|
+
const isFocusMode = isTemplatePart || isNavigationMenu;
|
|
27
27
|
|
|
28
|
-
if (!
|
|
28
|
+
if (!isFocusMode || !previousTemplateId) {
|
|
29
29
|
return null;
|
|
30
30
|
}
|
|
31
31
|
|