@wordpress/edit-site 5.13.0 → 5.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/components/add-new-page/index.js +2 -13
- package/build/components/add-new-page/index.js.map +1 -1
- package/build/components/add-new-pattern/index.js +29 -15
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/add-new-template/add-custom-generic-template-modal-content.js +2 -2
- package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
- package/build/components/add-new-template/new-template.js +69 -14
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/add-new-template/utils.js +10 -8
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/block-editor/constants.js +1 -1
- package/build/components/block-editor/constants.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +1 -1
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/index.js +0 -4
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/block-editor/inserter-media-categories.js +1 -22
- package/build/components/block-editor/inserter-media-categories.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +29 -32
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +90 -19
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/canvas-spinner/index.js +1 -18
- package/build/components/canvas-spinner/index.js.map +1 -1
- package/build/components/code-editor/index.js +60 -28
- package/build/components/code-editor/index.js.map +1 -1
- package/build/components/create-pattern-modal/index.js +15 -11
- package/build/components/create-pattern-modal/index.js.map +1 -1
- package/build/components/create-template-part-modal/index.js +1 -1
- package/build/components/create-template-part-modal/index.js.map +1 -1
- package/build/components/editor/index.js +11 -1
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/palette.js +1 -1
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/ui.js +7 -2
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/header-edit-mode/document-actions/index.js +9 -1
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +49 -14
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +47 -17
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +17 -4
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/edit-mode.js +32 -1
- package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build/components/keyboard-shortcuts/register.js +9 -0
- package/build/components/keyboard-shortcuts/register.js.map +1 -1
- package/build/components/layout/index.js +110 -28
- package/build/components/layout/index.js.map +1 -1
- package/build/components/page/header.js +1 -1
- package/build/components/page/header.js.map +1 -1
- package/build/components/page/index.js +3 -1
- package/build/components/page/index.js.map +1 -1
- package/build/components/page-actions/index.js +2 -2
- package/build/components/page-actions/index.js.map +1 -1
- package/build/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -15
- package/build/components/page-actions/trash-page-menu-item.js.map +1 -0
- package/build/components/page-content-focus-manager/back-to-page-notification.js +9 -3
- package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -5
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/page-main/index.js +8 -4
- package/build/components/page-main/index.js.map +1 -1
- package/build/components/page-patterns/duplicate-menu-item.js +163 -0
- package/build/components/page-patterns/duplicate-menu-item.js.map +1 -0
- package/build/components/page-patterns/grid-item.js +218 -0
- package/build/components/page-patterns/grid-item.js.map +1 -0
- package/build/components/{page-library → page-patterns}/grid.js +6 -19
- package/build/components/page-patterns/grid.js.map +1 -0
- package/build/components/page-patterns/header.js +69 -0
- package/build/components/page-patterns/header.js.map +1 -0
- package/build/components/{page-library → page-patterns}/index.js +9 -7
- package/build/components/page-patterns/index.js.map +1 -0
- package/build/components/{page-library → page-patterns}/no-patterns.js +1 -1
- package/build/components/page-patterns/no-patterns.js.map +1 -0
- package/build/components/page-patterns/pagination.js +63 -0
- package/build/components/page-patterns/pagination.js.map +1 -0
- package/build/components/page-patterns/patterns-list.js +175 -0
- package/build/components/page-patterns/patterns-list.js.map +1 -0
- package/build/components/page-patterns/rename-menu-item.js +109 -0
- package/build/components/page-patterns/rename-menu-item.js.map +1 -0
- package/build/components/page-patterns/search-items.js.map +1 -0
- package/build/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +3 -3
- package/build/components/page-patterns/use-pattern-settings.js.map +1 -0
- package/build/components/page-patterns/use-patterns.js +185 -0
- package/build/components/page-patterns/use-patterns.js.map +1 -0
- package/build/components/{page-library → page-patterns}/utils.js +3 -3
- package/build/components/page-patterns/utils.js.map +1 -0
- package/build/components/page-template-parts/add-new-template-part.js +74 -0
- package/build/components/page-template-parts/add-new-template-part.js.map +1 -0
- package/build/components/page-template-parts/index.js +82 -0
- package/build/components/page-template-parts/index.js.map +1 -0
- package/build/components/page-templates/index.js +1 -0
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/preferences-modal/enable-feature.js +5 -1
- package/build/components/preferences-modal/enable-feature.js.map +1 -1
- package/build/components/preferences-modal/index.js +43 -4
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/resizable-frame/index.js +78 -36
- package/build/components/resizable-frame/index.js.map +1 -1
- package/build/components/save-panel/index.js +5 -5
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar/index.js +6 -6
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +4 -2
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-content.js +4 -3
- package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
- package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +7 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen/index.js +21 -11
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +69 -5
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/index.js +5 -3
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/template-part-hint.js +45 -0
- package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +7 -16
- package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +10 -11
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js +10 -10
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +10 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +9 -3
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +9 -4
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +29 -0
- package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
- package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js +27 -4
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/index.js +2 -3
- package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/page-details.js +11 -4
- package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/status-label.js +2 -35
- package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pages/index.js +33 -25
- package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js +20 -13
- package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +4 -3
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -3
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +28 -2
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +4 -4
- package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -0
- package/build/components/sidebar-navigation-screen-patterns/index.js +173 -0
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +1 -0
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +34 -0
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -0
- package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +11 -19
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -0
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +52 -0
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -0
- package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +2 -2
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -0
- package/build/components/sidebar-navigation-screen-templates/index.js +11 -63
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +4 -2
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build/components/site-hub/index.js +25 -12
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -5
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js +16 -13
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build/components/template-actions/index.js +25 -7
- package/build/components/template-actions/index.js.map +1 -1
- package/build/components/template-actions/rename-menu-item.js +12 -8
- package/build/components/template-actions/rename-menu-item.js.map +1 -1
- package/build/components/use-edited-entity-record/index.js +6 -1
- package/build/components/use-edited-entity-record/index.js.map +1 -1
- package/build/components/welcome-guide/editor.js +1 -1
- package/build/components/welcome-guide/editor.js.map +1 -1
- package/build/components/welcome-guide/index.js +5 -1
- package/build/components/welcome-guide/index.js.map +1 -1
- package/build/components/welcome-guide/page.js +70 -0
- package/build/components/welcome-guide/page.js.map +1 -0
- package/build/components/welcome-guide/styles.js +1 -1
- package/build/components/welcome-guide/styles.js.map +1 -1
- package/build/components/welcome-guide/template.js +71 -0
- package/build/components/welcome-guide/template.js.map +1 -0
- package/build/hooks/commands/use-common-commands.js +115 -20
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +195 -44
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +56 -10
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/index.js +9 -0
- package/build/index.js.map +1 -1
- package/build/store/actions.js +5 -2
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +7 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/selectors.js +2 -1
- package/build/store/selectors.js.map +1 -1
- package/build/utils/get-is-list-page.js +2 -2
- package/build/utils/get-is-list-page.js.map +1 -1
- package/build/utils/normalize-record-key.js +19 -0
- package/build/utils/normalize-record-key.js.map +1 -0
- package/build/utils/template-part-create.js +2 -2
- package/build/utils/template-part-create.js.map +1 -1
- package/build/utils/use-activate-theme.js +1 -1
- package/build/utils/use-activate-theme.js.map +1 -1
- package/build-module/components/add-new-page/index.js +2 -12
- package/build-module/components/add-new-page/index.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +28 -16
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +1 -1
- package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +72 -17
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/add-new-template/utils.js +9 -6
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/block-editor/constants.js +1 -1
- package/build-module/components/block-editor/constants.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +1 -1
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/index.js +0 -4
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/block-editor/inserter-media-categories.js +1 -22
- package/build-module/components/block-editor/inserter-media-categories.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +29 -32
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +92 -20
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/canvas-spinner/index.js +1 -15
- package/build-module/components/canvas-spinner/index.js.map +1 -1
- package/build-module/components/code-editor/index.js +62 -30
- package/build-module/components/code-editor/index.js.map +1 -1
- package/build-module/components/create-pattern-modal/index.js +14 -11
- package/build-module/components/create-pattern-modal/index.js.map +1 -1
- package/build-module/components/create-template-part-modal/index.js +1 -1
- package/build-module/components/create-template-part-modal/index.js.map +1 -1
- package/build-module/components/editor/index.js +11 -1
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/palette.js +1 -1
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/ui.js +8 -3
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +10 -2
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +51 -16
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +44 -20
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +15 -6
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/edit-mode.js +29 -1
- package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/register.js +9 -0
- package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
- package/build-module/components/layout/index.js +110 -28
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/page/header.js +1 -1
- package/build-module/components/page/header.js.map +1 -1
- package/build-module/components/page/index.js +2 -1
- package/build-module/components/page/index.js.map +1 -1
- package/build-module/components/page-actions/index.js +2 -2
- package/build-module/components/page-actions/index.js.map +1 -1
- package/build-module/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -16
- package/build-module/components/page-actions/trash-page-menu-item.js.map +1 -0
- package/build-module/components/page-content-focus-manager/back-to-page-notification.js +9 -3
- package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -3
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/page-main/index.js +6 -3
- package/build-module/components/page-main/index.js.map +1 -1
- package/build-module/components/page-patterns/duplicate-menu-item.js +147 -0
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -0
- package/build-module/components/page-patterns/grid-item.js +195 -0
- package/build-module/components/page-patterns/grid-item.js.map +1 -0
- package/build-module/components/page-patterns/grid.js +26 -0
- package/build-module/components/page-patterns/grid.js.map +1 -0
- package/build-module/components/page-patterns/header.js +54 -0
- package/build-module/components/page-patterns/header.js.map +1 -0
- package/build-module/components/{page-library → page-patterns}/index.js +8 -6
- package/build-module/components/page-patterns/index.js.map +1 -0
- package/build-module/components/{page-library → page-patterns}/no-patterns.js +1 -1
- package/build-module/components/page-patterns/no-patterns.js.map +1 -0
- package/build-module/components/page-patterns/pagination.js +54 -0
- package/build-module/components/page-patterns/pagination.js.map +1 -0
- package/build-module/components/page-patterns/patterns-list.js +152 -0
- package/build-module/components/page-patterns/patterns-list.js.map +1 -0
- package/build-module/components/page-patterns/rename-menu-item.js +97 -0
- package/build-module/components/page-patterns/rename-menu-item.js.map +1 -0
- package/build-module/components/page-patterns/search-items.js.map +1 -0
- package/build-module/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +2 -2
- package/build-module/components/page-patterns/use-pattern-settings.js.map +1 -0
- package/build-module/components/page-patterns/use-patterns.js +167 -0
- package/build-module/components/page-patterns/use-patterns.js.map +1 -0
- package/build-module/components/{page-library → page-patterns}/utils.js +3 -3
- package/build-module/components/page-patterns/utils.js.map +1 -0
- package/build-module/components/page-template-parts/add-new-template-part.js +58 -0
- package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -0
- package/build-module/components/page-template-parts/index.js +63 -0
- package/build-module/components/page-template-parts/index.js.map +1 -0
- package/build-module/components/page-templates/index.js +1 -0
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/preferences-modal/enable-feature.js +5 -1
- package/build-module/components/preferences-modal/enable-feature.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +38 -5
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/resizable-frame/index.js +79 -39
- package/build-module/components/resizable-frame/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +5 -5
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +5 -5
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +4 -2
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +5 -2
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +6 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen/index.js +22 -12
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +67 -5
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.js +5 -4
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +33 -0
- package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +8 -17
- package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +10 -9
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +9 -10
- package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +11 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +8 -4
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +9 -4
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +20 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +26 -6
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/index.js +2 -3
- package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/page-details.js +11 -4
- package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/status-label.js +2 -33
- package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pages/index.js +34 -26
- package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js +18 -12
- package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +4 -3
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -3
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +25 -2
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +4 -4
- package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +148 -0
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +24 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -0
- package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +11 -17
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +43 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -0
- package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +2 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-templates/index.js +12 -62
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +4 -2
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-module/components/site-hub/index.js +25 -12
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +7 -5
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +17 -13
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build-module/components/template-actions/index.js +26 -8
- package/build-module/components/template-actions/index.js.map +1 -1
- package/build-module/components/template-actions/rename-menu-item.js +11 -8
- package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
- package/build-module/components/use-edited-entity-record/index.js +3 -1
- package/build-module/components/use-edited-entity-record/index.js.map +1 -1
- package/build-module/components/welcome-guide/editor.js +1 -1
- package/build-module/components/welcome-guide/editor.js.map +1 -1
- package/build-module/components/welcome-guide/index.js +3 -1
- package/build-module/components/welcome-guide/index.js.map +1 -1
- package/build-module/components/welcome-guide/page.js +59 -0
- package/build-module/components/welcome-guide/page.js.map +1 -0
- package/build-module/components/welcome-guide/styles.js +1 -1
- package/build-module/components/welcome-guide/styles.js.map +1 -1
- package/build-module/components/welcome-guide/template.js +60 -0
- package/build-module/components/welcome-guide/template.js.map +1 -0
- package/build-module/hooks/commands/use-common-commands.js +111 -21
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +193 -46
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +57 -10
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/index.js +4 -0
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +5 -2
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +7 -1
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/selectors.js +2 -1
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/get-is-list-page.js +2 -2
- package/build-module/utils/get-is-list-page.js.map +1 -1
- package/build-module/utils/normalize-record-key.js +12 -0
- package/build-module/utils/normalize-record-key.js.map +1 -0
- package/build-module/utils/template-part-create.js +1 -1
- package/build-module/utils/template-part-create.js.map +1 -1
- package/build-module/utils/use-activate-theme.js +1 -1
- package/build-module/utils/use-activate-theme.js.map +1 -1
- package/build-style/style-rtl.css +383 -109
- package/build-style/style.css +383 -109
- package/package.json +39 -40
- package/src/components/add-new-page/index.js +1 -9
- package/src/components/add-new-pattern/index.js +30 -21
- package/src/components/add-new-template/add-custom-generic-template-modal-content.js +1 -1
- package/src/components/add-new-template/new-template.js +120 -24
- package/src/components/add-new-template/style.scss +30 -2
- package/src/components/add-new-template/utils.js +9 -6
- package/src/components/block-editor/constants.js +5 -1
- package/src/components/block-editor/editor-canvas.js +3 -1
- package/src/components/block-editor/index.js +0 -4
- package/src/components/block-editor/inserter-media-categories.js +1 -21
- package/src/components/block-editor/site-editor-canvas.js +7 -1
- package/src/components/block-editor/use-site-editor-settings.js +100 -25
- package/src/components/canvas-spinner/index.js +1 -11
- package/src/components/canvas-spinner/style.scss +18 -0
- package/src/components/code-editor/index.js +51 -33
- package/src/components/create-pattern-modal/index.js +15 -13
- package/src/components/create-template-part-modal/index.js +1 -1
- package/src/components/editor/index.js +16 -1
- package/src/components/editor/style.scss +4 -0
- package/src/components/global-styles/palette.js +10 -9
- package/src/components/global-styles/stories/index.js +1 -0
- package/src/components/global-styles/ui.js +34 -24
- package/src/components/header-edit-mode/document-actions/index.js +9 -1
- package/src/components/header-edit-mode/document-actions/style.scss +12 -0
- package/src/components/header-edit-mode/index.js +136 -79
- package/src/components/header-edit-mode/more-menu/index.js +74 -30
- package/src/components/keyboard-shortcut-help-modal/index.js +21 -7
- package/src/components/keyboard-shortcuts/edit-mode.js +35 -2
- package/src/components/keyboard-shortcuts/register.js +10 -0
- package/src/components/layout/index.js +156 -78
- package/src/components/layout/style.scss +49 -2
- package/src/components/page/header.js +1 -1
- package/src/components/page/index.js +5 -1
- package/src/components/page-actions/index.js +2 -2
- package/src/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +9 -21
- package/src/components/page-content-focus-manager/back-to-page-notification.js +7 -2
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +12 -3
- package/src/components/page-main/index.js +6 -3
- package/src/components/page-patterns/duplicate-menu-item.js +196 -0
- package/src/components/page-patterns/grid-item.js +284 -0
- package/src/components/page-patterns/grid.js +22 -0
- package/src/components/page-patterns/header.js +69 -0
- package/src/components/{page-library → page-patterns}/index.js +11 -6
- package/src/components/{page-library → page-patterns}/no-patterns.js +1 -1
- package/src/components/page-patterns/pagination.js +80 -0
- package/src/components/page-patterns/patterns-list.js +206 -0
- package/src/components/page-patterns/rename-menu-item.js +115 -0
- package/src/components/page-patterns/style.scss +219 -0
- package/src/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +1 -1
- package/src/components/page-patterns/use-patterns.js +177 -0
- package/src/components/{page-library → page-patterns}/utils.js +3 -3
- package/src/components/page-template-parts/add-new-template-part.js +57 -0
- package/src/components/page-template-parts/index.js +86 -0
- package/src/components/page-templates/index.js +1 -1
- package/src/components/preferences-modal/enable-feature.js +5 -2
- package/src/components/preferences-modal/index.js +35 -4
- package/src/components/resizable-frame/index.js +102 -34
- package/src/components/resizable-frame/style.scss +9 -9
- package/src/components/save-panel/index.js +10 -4
- package/src/components/sidebar/index.js +6 -6
- package/src/components/sidebar-button/style.scss +1 -1
- package/src/components/sidebar-edit-mode/index.js +4 -2
- package/src/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
- package/src/components/sidebar-edit-mode/page-panels/page-status.js +2 -5
- package/src/components/sidebar-edit-mode/settings-header/index.js +7 -2
- package/src/components/sidebar-navigation-item/style.scss +7 -13
- package/src/components/sidebar-navigation-screen/index.js +18 -9
- package/src/components/sidebar-navigation-screen/style.scss +21 -2
- package/src/components/sidebar-navigation-screen-details-panel/style.scss +1 -1
- package/src/components/sidebar-navigation-screen-global-styles/index.js +57 -17
- package/src/components/sidebar-navigation-screen-main/index.js +44 -40
- package/src/components/sidebar-navigation-screen-main/template-part-hint.js +34 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +14 -35
- package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +8 -11
- package/src/components/sidebar-navigation-screen-navigation-menu/index.js +13 -11
- package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +12 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +16 -7
- package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +2 -7
- package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +20 -6
- package/src/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +24 -0
- package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
- package/src/components/sidebar-navigation-screen-navigation-menus/index.js +39 -8
- package/src/components/sidebar-navigation-screen-page/index.js +3 -3
- package/src/components/sidebar-navigation-screen-page/page-details.js +8 -3
- package/src/components/sidebar-navigation-screen-page/status-label.js +2 -36
- package/src/components/sidebar-navigation-screen-pages/index.js +40 -30
- package/src/components/sidebar-navigation-screen-pattern/index.js +18 -8
- package/src/components/sidebar-navigation-screen-pattern/style.scss +29 -0
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +2 -1
- package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +12 -2
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +48 -3
- package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +4 -4
- package/src/components/sidebar-navigation-screen-patterns/index.js +194 -0
- package/src/components/sidebar-navigation-screen-patterns/style.scss +23 -0
- package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +24 -0
- package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +9 -17
- package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +55 -0
- package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +3 -2
- package/src/components/sidebar-navigation-screen-template/style.scss +15 -15
- package/src/components/sidebar-navigation-screen-templates/index.js +15 -82
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +2 -0
- package/src/components/site-hub/index.js +46 -29
- package/src/components/site-hub/style.scss +17 -3
- package/src/components/start-template-options/style.scss +0 -3
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +8 -2
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +73 -66
- package/src/components/template-actions/index.js +40 -9
- package/src/components/template-actions/rename-menu-item.js +17 -10
- package/src/components/use-edited-entity-record/index.js +6 -1
- package/src/components/welcome-guide/editor.js +1 -1
- package/src/components/welcome-guide/index.js +4 -0
- package/src/components/welcome-guide/page.js +75 -0
- package/src/components/welcome-guide/style.scss +15 -1
- package/src/components/welcome-guide/styles.js +1 -1
- package/src/components/welcome-guide/template.js +82 -0
- package/src/hooks/commands/use-common-commands.js +88 -24
- package/src/hooks/commands/use-edit-mode-commands.js +182 -38
- package/src/hooks/push-changes-to-global-styles/index.js +63 -9
- package/src/index.js +4 -0
- package/src/store/actions.js +8 -1
- package/src/store/private-actions.js +5 -1
- package/src/store/selectors.js +5 -0
- package/src/store/test/selectors.js +2 -0
- package/src/style.scss +13 -14
- package/src/utils/get-is-list-page.js +4 -3
- package/src/utils/normalize-record-key.js +11 -0
- package/src/utils/template-part-create.js +1 -1
- package/src/utils/use-activate-theme.js +1 -1
- package/build/components/code-editor/code-editor-text-area.js +0 -96
- package/build/components/code-editor/code-editor-text-area.js.map +0 -1
- package/build/components/keyboard-shortcuts/index.js +0 -148
- package/build/components/keyboard-shortcuts/index.js.map +0 -1
- package/build/components/page-actions/delete-page-menu-item.js.map +0 -1
- package/build/components/page-content-focus-manager/constants.js +0 -9
- package/build/components/page-content-focus-manager/constants.js.map +0 -1
- package/build/components/page-library/grid-item.js +0 -165
- package/build/components/page-library/grid-item.js.map +0 -1
- package/build/components/page-library/grid.js.map +0 -1
- package/build/components/page-library/index.js.map +0 -1
- package/build/components/page-library/no-patterns.js.map +0 -1
- package/build/components/page-library/patterns-list.js +0 -108
- package/build/components/page-library/patterns-list.js.map +0 -1
- package/build/components/page-library/search-items.js.map +0 -1
- package/build/components/page-library/use-library-settings.js.map +0 -1
- package/build/components/page-library/use-patterns.js +0 -194
- package/build/components/page-library/use-patterns.js.map +0 -1
- package/build/components/page-library/utils.js.map +0 -1
- package/build/components/sidebar-navigation-screen-library/category-item.js.map +0 -1
- package/build/components/sidebar-navigation-screen-library/index.js +0 -112
- package/build/components/sidebar-navigation-screen-library/index.js.map +0 -1
- package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +0 -1
- package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +0 -1
- package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js +0 -41
- package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +0 -1
- package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +0 -1
- package/build-module/components/code-editor/code-editor-text-area.js +0 -84
- package/build-module/components/code-editor/code-editor-text-area.js.map +0 -1
- package/build-module/components/keyboard-shortcuts/index.js +0 -132
- package/build-module/components/keyboard-shortcuts/index.js.map +0 -1
- package/build-module/components/page-actions/delete-page-menu-item.js.map +0 -1
- package/build-module/components/page-content-focus-manager/constants.js +0 -2
- package/build-module/components/page-content-focus-manager/constants.js.map +0 -1
- package/build-module/components/page-library/grid-item.js +0 -145
- package/build-module/components/page-library/grid-item.js.map +0 -1
- package/build-module/components/page-library/grid.js +0 -38
- package/build-module/components/page-library/grid.js.map +0 -1
- package/build-module/components/page-library/index.js.map +0 -1
- package/build-module/components/page-library/no-patterns.js.map +0 -1
- package/build-module/components/page-library/patterns-list.js +0 -87
- package/build-module/components/page-library/patterns-list.js.map +0 -1
- package/build-module/components/page-library/search-items.js.map +0 -1
- package/build-module/components/page-library/use-library-settings.js.map +0 -1
- package/build-module/components/page-library/use-patterns.js +0 -176
- package/build-module/components/page-library/use-patterns.js.map +0 -1
- package/build-module/components/page-library/utils.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-library/category-item.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-library/index.js +0 -87
- package/build-module/components/sidebar-navigation-screen-library/index.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js +0 -34
- package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +0 -1
- package/src/components/code-editor/code-editor-text-area.js +0 -84
- package/src/components/keyboard-shortcuts/index.js +0 -137
- package/src/components/page-content-focus-manager/constants.js +0 -5
- package/src/components/page-library/grid-item.js +0 -179
- package/src/components/page-library/grid.js +0 -39
- package/src/components/page-library/patterns-list.js +0 -114
- package/src/components/page-library/style.scss +0 -105
- package/src/components/page-library/use-patterns.js +0 -238
- package/src/components/sidebar-navigation-screen-library/index.js +0 -136
- package/src/components/sidebar-navigation-screen-library/style.scss +0 -7
- package/src/components/sidebar-navigation-screen-library/use-template-part-areas.js +0 -33
- /package/build/components/{page-library → page-patterns}/search-items.js +0 -0
- /package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
- /package/build-module/components/{page-library → page-patterns}/search-items.js +0 -0
- /package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
- /package/src/components/{page-library → page-patterns}/search-items.js +0 -0
- /package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { parse } from '@wordpress/blocks';
|
|
5
|
+
import { useSelect } from '@wordpress/data';
|
|
6
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
7
|
+
import { decodeEntities } from '@wordpress/html-entities';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import {
|
|
13
|
+
CORE_PATTERN_SOURCES,
|
|
14
|
+
PATTERNS,
|
|
15
|
+
SYNC_TYPES,
|
|
16
|
+
TEMPLATE_PARTS,
|
|
17
|
+
USER_PATTERNS,
|
|
18
|
+
filterOutDuplicatesByName,
|
|
19
|
+
} from './utils';
|
|
20
|
+
import { unlock } from '../../lock-unlock';
|
|
21
|
+
import { searchItems } from './search-items';
|
|
22
|
+
import { store as editSiteStore } from '../../store';
|
|
23
|
+
|
|
24
|
+
const EMPTY_PATTERN_LIST = [];
|
|
25
|
+
|
|
26
|
+
const createTemplatePartId = ( theme, slug ) =>
|
|
27
|
+
theme && slug ? theme + '//' + slug : null;
|
|
28
|
+
|
|
29
|
+
const templatePartToPattern = ( templatePart ) => ( {
|
|
30
|
+
blocks: parse( templatePart.content.raw ),
|
|
31
|
+
categories: [ templatePart.area ],
|
|
32
|
+
description: templatePart.description || '',
|
|
33
|
+
isCustom: templatePart.source === 'custom',
|
|
34
|
+
keywords: templatePart.keywords || [],
|
|
35
|
+
id: createTemplatePartId( templatePart.theme, templatePart.slug ),
|
|
36
|
+
name: createTemplatePartId( templatePart.theme, templatePart.slug ),
|
|
37
|
+
title: decodeEntities( templatePart.title.rendered ),
|
|
38
|
+
type: templatePart.type,
|
|
39
|
+
templatePart,
|
|
40
|
+
} );
|
|
41
|
+
|
|
42
|
+
const templatePartHasCategory = ( item, category ) =>
|
|
43
|
+
item.templatePart.area === category;
|
|
44
|
+
|
|
45
|
+
const selectTemplatePartsAsPatterns = (
|
|
46
|
+
select,
|
|
47
|
+
{ categoryId, search = '' } = {}
|
|
48
|
+
) => {
|
|
49
|
+
const { getEntityRecords, getIsResolving } = select( coreStore );
|
|
50
|
+
const query = { per_page: -1 };
|
|
51
|
+
const rawTemplateParts =
|
|
52
|
+
getEntityRecords( 'postType', TEMPLATE_PARTS, query ) ??
|
|
53
|
+
EMPTY_PATTERN_LIST;
|
|
54
|
+
const templateParts = rawTemplateParts.map( ( templatePart ) =>
|
|
55
|
+
templatePartToPattern( templatePart )
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
const isResolving = getIsResolving( 'getEntityRecords', [
|
|
59
|
+
'postType',
|
|
60
|
+
'wp_template_part',
|
|
61
|
+
query,
|
|
62
|
+
] );
|
|
63
|
+
|
|
64
|
+
const patterns = searchItems( templateParts, search, {
|
|
65
|
+
categoryId,
|
|
66
|
+
hasCategory: templatePartHasCategory,
|
|
67
|
+
} );
|
|
68
|
+
|
|
69
|
+
return { patterns, isResolving };
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const selectThemePatterns = ( select, { categoryId, search = '' } = {} ) => {
|
|
73
|
+
const { getSettings } = unlock( select( editSiteStore ) );
|
|
74
|
+
const settings = getSettings();
|
|
75
|
+
const blockPatterns =
|
|
76
|
+
settings.__experimentalAdditionalBlockPatterns ??
|
|
77
|
+
settings.__experimentalBlockPatterns;
|
|
78
|
+
|
|
79
|
+
const restBlockPatterns = select( coreStore ).getBlockPatterns();
|
|
80
|
+
|
|
81
|
+
let patterns = [
|
|
82
|
+
...( blockPatterns || [] ),
|
|
83
|
+
...( restBlockPatterns || [] ),
|
|
84
|
+
]
|
|
85
|
+
.filter(
|
|
86
|
+
( pattern ) => ! CORE_PATTERN_SOURCES.includes( pattern.source )
|
|
87
|
+
)
|
|
88
|
+
.filter( filterOutDuplicatesByName )
|
|
89
|
+
.filter( ( pattern ) => pattern.inserter !== false )
|
|
90
|
+
.map( ( pattern ) => ( {
|
|
91
|
+
...pattern,
|
|
92
|
+
keywords: pattern.keywords || [],
|
|
93
|
+
type: 'pattern',
|
|
94
|
+
blocks: parse( pattern.content ),
|
|
95
|
+
} ) );
|
|
96
|
+
|
|
97
|
+
if ( categoryId ) {
|
|
98
|
+
patterns = searchItems( patterns, search, {
|
|
99
|
+
categoryId,
|
|
100
|
+
hasCategory: ( item, currentCategory ) =>
|
|
101
|
+
item.categories?.includes( currentCategory ),
|
|
102
|
+
} );
|
|
103
|
+
} else {
|
|
104
|
+
patterns = searchItems( patterns, search, {
|
|
105
|
+
hasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),
|
|
106
|
+
} );
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return { patterns, isResolving: false };
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
const reusableBlockToPattern = ( reusableBlock ) => ( {
|
|
113
|
+
blocks: parse( reusableBlock.content.raw ),
|
|
114
|
+
categories: reusableBlock.wp_pattern,
|
|
115
|
+
id: reusableBlock.id,
|
|
116
|
+
name: reusableBlock.slug,
|
|
117
|
+
syncStatus: reusableBlock.wp_pattern_sync_status || SYNC_TYPES.full,
|
|
118
|
+
title: reusableBlock.title.raw,
|
|
119
|
+
type: reusableBlock.type,
|
|
120
|
+
reusableBlock,
|
|
121
|
+
} );
|
|
122
|
+
|
|
123
|
+
const selectUserPatterns = ( select, { search = '', syncStatus } = {} ) => {
|
|
124
|
+
const { getEntityRecords, getIsResolving } = select( coreStore );
|
|
125
|
+
|
|
126
|
+
const query = { per_page: -1 };
|
|
127
|
+
const records = getEntityRecords( 'postType', USER_PATTERNS, query );
|
|
128
|
+
|
|
129
|
+
let patterns = records
|
|
130
|
+
? records.map( ( record ) => reusableBlockToPattern( record ) )
|
|
131
|
+
: EMPTY_PATTERN_LIST;
|
|
132
|
+
const isResolving = getIsResolving( 'getEntityRecords', [
|
|
133
|
+
'postType',
|
|
134
|
+
USER_PATTERNS,
|
|
135
|
+
query,
|
|
136
|
+
] );
|
|
137
|
+
|
|
138
|
+
if ( syncStatus ) {
|
|
139
|
+
patterns = patterns.filter(
|
|
140
|
+
( pattern ) => pattern.syncStatus === syncStatus
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
patterns = searchItems( patterns, search, {
|
|
145
|
+
// We exit user pattern retrieval early if we aren't in the
|
|
146
|
+
// catch-all category for user created patterns, so it has
|
|
147
|
+
// to be in the category.
|
|
148
|
+
hasCategory: () => true,
|
|
149
|
+
} );
|
|
150
|
+
|
|
151
|
+
return { patterns, isResolving };
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
export const usePatterns = (
|
|
155
|
+
categoryType,
|
|
156
|
+
categoryId,
|
|
157
|
+
{ search = '', syncStatus }
|
|
158
|
+
) => {
|
|
159
|
+
return useSelect(
|
|
160
|
+
( select ) => {
|
|
161
|
+
if ( categoryType === TEMPLATE_PARTS ) {
|
|
162
|
+
return selectTemplatePartsAsPatterns( select, {
|
|
163
|
+
categoryId,
|
|
164
|
+
search,
|
|
165
|
+
} );
|
|
166
|
+
} else if ( categoryType === PATTERNS ) {
|
|
167
|
+
return selectThemePatterns( select, { categoryId, search } );
|
|
168
|
+
} else if ( categoryType === USER_PATTERNS ) {
|
|
169
|
+
return selectUserPatterns( select, { search, syncStatus } );
|
|
170
|
+
}
|
|
171
|
+
return { patterns: EMPTY_PATTERN_LIST, isResolving: false };
|
|
172
|
+
},
|
|
173
|
+
[ categoryId, categoryType, search, syncStatus ]
|
|
174
|
+
);
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
export default usePatterns;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export const DEFAULT_CATEGORY = '
|
|
2
|
-
export const DEFAULT_TYPE = '
|
|
1
|
+
export const DEFAULT_CATEGORY = 'my-patterns';
|
|
2
|
+
export const DEFAULT_TYPE = 'wp_block';
|
|
3
3
|
export const PATTERNS = 'pattern';
|
|
4
4
|
export const TEMPLATE_PARTS = 'wp_template_part';
|
|
5
5
|
export const USER_PATTERNS = 'wp_block';
|
|
6
|
-
export const USER_PATTERN_CATEGORY = '
|
|
6
|
+
export const USER_PATTERN_CATEGORY = 'my-patterns';
|
|
7
7
|
|
|
8
8
|
export const CORE_PATTERN_SOURCES = [
|
|
9
9
|
'core',
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
5
|
+
import { useSelect } from '@wordpress/data';
|
|
6
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
7
|
+
import { useState } from '@wordpress/element';
|
|
8
|
+
import { Button } from '@wordpress/components';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Internal dependencies
|
|
12
|
+
*/
|
|
13
|
+
import { unlock } from '../../lock-unlock';
|
|
14
|
+
import { store as editSiteStore } from '../../store';
|
|
15
|
+
import CreateTemplatePartModal from '../create-template-part-modal';
|
|
16
|
+
|
|
17
|
+
const { useHistory } = unlock( routerPrivateApis );
|
|
18
|
+
|
|
19
|
+
export default function AddNewTemplatePart() {
|
|
20
|
+
const { canCreate, postType } = useSelect( ( select ) => {
|
|
21
|
+
const { supportsTemplatePartsMode } =
|
|
22
|
+
select( editSiteStore ).getSettings();
|
|
23
|
+
return {
|
|
24
|
+
canCreate: ! supportsTemplatePartsMode,
|
|
25
|
+
postType: select( coreStore ).getPostType( 'wp_template_part' ),
|
|
26
|
+
};
|
|
27
|
+
}, [] );
|
|
28
|
+
const [ isModalOpen, setIsModalOpen ] = useState( false );
|
|
29
|
+
const history = useHistory();
|
|
30
|
+
|
|
31
|
+
if ( ! canCreate || ! postType ) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<>
|
|
37
|
+
<Button variant="primary" onClick={ () => setIsModalOpen( true ) }>
|
|
38
|
+
{ postType.labels.add_new_item }
|
|
39
|
+
</Button>
|
|
40
|
+
{ isModalOpen && (
|
|
41
|
+
<CreateTemplatePartModal
|
|
42
|
+
closeModal={ () => setIsModalOpen( false ) }
|
|
43
|
+
blocks={ [] }
|
|
44
|
+
onCreate={ ( templatePart ) => {
|
|
45
|
+
setIsModalOpen( false );
|
|
46
|
+
history.push( {
|
|
47
|
+
postId: templatePart.id,
|
|
48
|
+
postType: 'wp_template_part',
|
|
49
|
+
canvas: 'edit',
|
|
50
|
+
} );
|
|
51
|
+
} }
|
|
52
|
+
onError={ () => setIsModalOpen( false ) }
|
|
53
|
+
/>
|
|
54
|
+
) }
|
|
55
|
+
</>
|
|
56
|
+
);
|
|
57
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
VisuallyHidden,
|
|
6
|
+
__experimentalHeading as Heading,
|
|
7
|
+
__experimentalVStack as VStack,
|
|
8
|
+
} from '@wordpress/components';
|
|
9
|
+
import { __ } from '@wordpress/i18n';
|
|
10
|
+
import { useEntityRecords } from '@wordpress/core-data';
|
|
11
|
+
import { decodeEntities } from '@wordpress/html-entities';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Internal dependencies
|
|
15
|
+
*/
|
|
16
|
+
import Page from '../page';
|
|
17
|
+
import Table from '../table';
|
|
18
|
+
import Link from '../routes/link';
|
|
19
|
+
import AddedBy from '../list/added-by';
|
|
20
|
+
import TemplateActions from '../template-actions';
|
|
21
|
+
import AddNewTemplatePart from './add-new-template-part';
|
|
22
|
+
|
|
23
|
+
export default function PageTemplateParts() {
|
|
24
|
+
const { records: templateParts } = useEntityRecords(
|
|
25
|
+
'postType',
|
|
26
|
+
'wp_template_part',
|
|
27
|
+
{
|
|
28
|
+
per_page: -1,
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
const columns = [
|
|
33
|
+
{
|
|
34
|
+
header: __( 'Template Part' ),
|
|
35
|
+
cell: ( templatePart ) => (
|
|
36
|
+
<VStack>
|
|
37
|
+
<Heading as="h3" level={ 5 }>
|
|
38
|
+
<Link
|
|
39
|
+
params={ {
|
|
40
|
+
postId: templatePart.id,
|
|
41
|
+
postType: templatePart.type,
|
|
42
|
+
canvas: 'view',
|
|
43
|
+
} }
|
|
44
|
+
state={ { backPath: '/wp_template_part/all' } }
|
|
45
|
+
>
|
|
46
|
+
{ decodeEntities(
|
|
47
|
+
templatePart.title?.rendered ||
|
|
48
|
+
templatePart.slug
|
|
49
|
+
) }
|
|
50
|
+
</Link>
|
|
51
|
+
</Heading>
|
|
52
|
+
</VStack>
|
|
53
|
+
),
|
|
54
|
+
maxWidth: 400,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
header: __( 'Added by' ),
|
|
58
|
+
cell: ( templatePart ) => (
|
|
59
|
+
<AddedBy
|
|
60
|
+
postType={ templatePart.type }
|
|
61
|
+
postId={ templatePart.id }
|
|
62
|
+
/>
|
|
63
|
+
),
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
header: <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>,
|
|
67
|
+
cell: ( templatePart ) => (
|
|
68
|
+
<TemplateActions
|
|
69
|
+
postType={ templatePart.type }
|
|
70
|
+
postId={ templatePart.id }
|
|
71
|
+
/>
|
|
72
|
+
),
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
|
|
76
|
+
return (
|
|
77
|
+
<Page
|
|
78
|
+
title={ __( 'Template Parts' ) }
|
|
79
|
+
actions={ <AddNewTemplatePart /> }
|
|
80
|
+
>
|
|
81
|
+
{ templateParts && (
|
|
82
|
+
<Table data={ templateParts } columns={ columns } />
|
|
83
|
+
) }
|
|
84
|
+
</Page>
|
|
85
|
+
);
|
|
86
|
+
}
|
|
@@ -6,14 +6,17 @@ import { ___unstablePreferencesModalBaseOption as BaseOption } from '@wordpress/
|
|
|
6
6
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
7
7
|
|
|
8
8
|
export default function EnableFeature( props ) {
|
|
9
|
-
const { featureName, ...remainingProps } = props;
|
|
9
|
+
const { featureName, onToggle = () => {}, ...remainingProps } = props;
|
|
10
10
|
const isChecked = useSelect(
|
|
11
11
|
( select ) =>
|
|
12
12
|
!! select( preferencesStore ).get( 'core/edit-site', featureName ),
|
|
13
13
|
[ featureName ]
|
|
14
14
|
);
|
|
15
15
|
const { toggle } = useDispatch( preferencesStore );
|
|
16
|
-
const onChange = () =>
|
|
16
|
+
const onChange = () => {
|
|
17
|
+
onToggle();
|
|
18
|
+
toggle( 'core/edit-site', featureName );
|
|
19
|
+
};
|
|
17
20
|
return (
|
|
18
21
|
<BaseOption
|
|
19
22
|
onChange={ onChange }
|
|
@@ -5,19 +5,42 @@ import {
|
|
|
5
5
|
PreferencesModal,
|
|
6
6
|
PreferencesModalTabs,
|
|
7
7
|
PreferencesModalSection,
|
|
8
|
+
store as interfaceStore,
|
|
8
9
|
} from '@wordpress/interface';
|
|
9
10
|
import { useMemo } from '@wordpress/element';
|
|
10
11
|
import { __ } from '@wordpress/i18n';
|
|
12
|
+
import { useSelect, useDispatch, useRegistry } from '@wordpress/data';
|
|
13
|
+
import { store as preferencesStore } from '@wordpress/preferences';
|
|
11
14
|
|
|
12
15
|
/**
|
|
13
16
|
* Internal dependencies
|
|
14
17
|
*/
|
|
15
18
|
import EnableFeature from './enable-feature';
|
|
19
|
+
import { store as editSiteStore } from '../../store';
|
|
20
|
+
|
|
21
|
+
export const PREFERENCES_MODAL_NAME = 'edit-site/preferences';
|
|
22
|
+
|
|
23
|
+
export default function EditSitePreferencesModal() {
|
|
24
|
+
const isModalActive = useSelect( ( select ) =>
|
|
25
|
+
select( interfaceStore ).isModalActive( PREFERENCES_MODAL_NAME )
|
|
26
|
+
);
|
|
27
|
+
const { closeModal, openModal } = useDispatch( interfaceStore );
|
|
28
|
+
const toggleModal = () =>
|
|
29
|
+
isModalActive ? closeModal() : openModal( PREFERENCES_MODAL_NAME );
|
|
30
|
+
const registry = useRegistry();
|
|
31
|
+
const { closeGeneralSidebar, setIsListViewOpened, setIsInserterOpened } =
|
|
32
|
+
useDispatch( editSiteStore );
|
|
33
|
+
|
|
34
|
+
const { set: setPreference } = useDispatch( preferencesStore );
|
|
35
|
+
const toggleDistractionFree = () => {
|
|
36
|
+
registry.batch( () => {
|
|
37
|
+
setPreference( 'core/edit-site', 'fixedToolbar', false );
|
|
38
|
+
setIsInserterOpened( false );
|
|
39
|
+
setIsListViewOpened( false );
|
|
40
|
+
closeGeneralSidebar();
|
|
41
|
+
} );
|
|
42
|
+
};
|
|
16
43
|
|
|
17
|
-
export default function EditSitePreferencesModal( {
|
|
18
|
-
isModalActive,
|
|
19
|
-
toggleModal,
|
|
20
|
-
} ) {
|
|
21
44
|
const sections = useMemo( () => [
|
|
22
45
|
{
|
|
23
46
|
name: 'general',
|
|
@@ -29,6 +52,14 @@ export default function EditSitePreferencesModal( {
|
|
|
29
52
|
'Customize options related to the block editor interface and editing flow.'
|
|
30
53
|
) }
|
|
31
54
|
>
|
|
55
|
+
<EnableFeature
|
|
56
|
+
featureName="distractionFree"
|
|
57
|
+
onToggle={ toggleDistractionFree }
|
|
58
|
+
help={ __(
|
|
59
|
+
'Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'
|
|
60
|
+
) }
|
|
61
|
+
label={ __( 'Distraction free' ) }
|
|
62
|
+
/>
|
|
32
63
|
<EnableFeature
|
|
33
64
|
featureName="focusMode"
|
|
34
65
|
help={ __(
|
|
@@ -9,9 +9,12 @@ import classnames from 'classnames';
|
|
|
9
9
|
import { useState, useRef, useEffect } from '@wordpress/element';
|
|
10
10
|
import {
|
|
11
11
|
ResizableBox,
|
|
12
|
+
Tooltip,
|
|
12
13
|
__unstableMotion as motion,
|
|
13
14
|
} from '@wordpress/components';
|
|
14
|
-
import {
|
|
15
|
+
import { useInstanceId } from '@wordpress/compose';
|
|
16
|
+
import { useDispatch, useSelect } from '@wordpress/data';
|
|
17
|
+
import { __ } from '@wordpress/i18n';
|
|
15
18
|
|
|
16
19
|
/**
|
|
17
20
|
* Internal dependencies
|
|
@@ -33,7 +36,7 @@ const HANDLE_STYLES_OVERRIDE = {
|
|
|
33
36
|
};
|
|
34
37
|
|
|
35
38
|
// The minimum width of the frame (in px) while resizing.
|
|
36
|
-
const FRAME_MIN_WIDTH =
|
|
39
|
+
const FRAME_MIN_WIDTH = 320;
|
|
37
40
|
// The reference width of the frame (in px) used to calculate the aspect ratio.
|
|
38
41
|
const FRAME_REFERENCE_WIDTH = 1300;
|
|
39
42
|
// 9 : 19.5 is the target aspect ratio enforced (when possible) while resizing.
|
|
@@ -42,6 +45,8 @@ const FRAME_TARGET_ASPECT_RATIO = 9 / 19.5;
|
|
|
42
45
|
// viewport's edge. If the frame is resized to be closer to the viewport's edge
|
|
43
46
|
// than this distance, then "canvas mode" will be enabled.
|
|
44
47
|
const SNAP_TO_EDIT_CANVAS_MODE_THRESHOLD = 200;
|
|
48
|
+
// Default size for the `frameSize` state.
|
|
49
|
+
const INITIAL_FRAME_SIZE = { width: '100%', height: '100%' };
|
|
45
50
|
|
|
46
51
|
function calculateNewHeight( width, initialAspectRatio ) {
|
|
47
52
|
const lerp = ( a, b, amount ) => {
|
|
@@ -73,27 +78,32 @@ function calculateNewHeight( width, initialAspectRatio ) {
|
|
|
73
78
|
|
|
74
79
|
function ResizableFrame( {
|
|
75
80
|
isFullWidth,
|
|
81
|
+
isOversized,
|
|
82
|
+
setIsOversized,
|
|
76
83
|
isReady,
|
|
77
84
|
children,
|
|
78
|
-
oversizedClassName,
|
|
79
85
|
innerContentStyle,
|
|
80
86
|
} ) {
|
|
81
|
-
const [ frameSize, setFrameSize ] = useState(
|
|
82
|
-
width: '100%',
|
|
83
|
-
height: '100%',
|
|
84
|
-
} );
|
|
87
|
+
const [ frameSize, setFrameSize ] = useState( INITIAL_FRAME_SIZE );
|
|
85
88
|
// The width of the resizable frame when a new resize gesture starts.
|
|
86
89
|
const [ startingWidth, setStartingWidth ] = useState();
|
|
87
90
|
const [ isResizing, setIsResizing ] = useState( false );
|
|
88
|
-
const [
|
|
89
|
-
const [ isOversized, setIsOversized ] = useState( false );
|
|
91
|
+
const [ shouldShowHandle, setShouldShowHandle ] = useState( false );
|
|
90
92
|
const [ resizeRatio, setResizeRatio ] = useState( 1 );
|
|
93
|
+
const canvasMode = useSelect(
|
|
94
|
+
( select ) => unlock( select( editSiteStore ) ).getCanvasMode(),
|
|
95
|
+
[]
|
|
96
|
+
);
|
|
91
97
|
const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
|
|
92
98
|
const initialAspectRatioRef = useRef( null );
|
|
93
99
|
// The width of the resizable frame on initial render.
|
|
94
100
|
const initialComputedWidthRef = useRef( null );
|
|
95
101
|
const FRAME_TRANSITION = { type: 'tween', duration: isResizing ? 0 : 0.5 };
|
|
96
102
|
const frameRef = useRef( null );
|
|
103
|
+
const resizableHandleHelpId = useInstanceId(
|
|
104
|
+
ResizableFrame,
|
|
105
|
+
'edit-site-resizable-frame-handle-help'
|
|
106
|
+
);
|
|
97
107
|
|
|
98
108
|
// Remember frame dimensions on initial render.
|
|
99
109
|
useEffect( () => {
|
|
@@ -154,13 +164,40 @@ function ResizableFrame( {
|
|
|
154
164
|
if ( remainingWidth > SNAP_TO_EDIT_CANVAS_MODE_THRESHOLD ) {
|
|
155
165
|
// Reset the initial aspect ratio if the frame is resized slightly
|
|
156
166
|
// above the sidebar but not far enough to trigger full screen.
|
|
157
|
-
setFrameSize(
|
|
167
|
+
setFrameSize( INITIAL_FRAME_SIZE );
|
|
158
168
|
} else {
|
|
159
169
|
// Trigger full screen if the frame is resized far enough to the left.
|
|
160
170
|
setCanvasMode( 'edit' );
|
|
161
171
|
}
|
|
162
172
|
};
|
|
163
173
|
|
|
174
|
+
// Handle resize by arrow keys
|
|
175
|
+
const handleResizableHandleKeyDown = ( event ) => {
|
|
176
|
+
if ( ! [ 'ArrowLeft', 'ArrowRight' ].includes( event.key ) ) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
event.preventDefault();
|
|
181
|
+
|
|
182
|
+
const step = 20 * ( event.shiftKey ? 5 : 1 );
|
|
183
|
+
const delta = step * ( event.key === 'ArrowLeft' ? 1 : -1 );
|
|
184
|
+
const newWidth = Math.min(
|
|
185
|
+
Math.max(
|
|
186
|
+
FRAME_MIN_WIDTH,
|
|
187
|
+
frameRef.current.resizable.offsetWidth + delta
|
|
188
|
+
),
|
|
189
|
+
initialComputedWidthRef.current
|
|
190
|
+
);
|
|
191
|
+
|
|
192
|
+
setFrameSize( {
|
|
193
|
+
width: newWidth,
|
|
194
|
+
height: calculateNewHeight(
|
|
195
|
+
newWidth,
|
|
196
|
+
initialAspectRatioRef.current
|
|
197
|
+
),
|
|
198
|
+
} );
|
|
199
|
+
};
|
|
200
|
+
|
|
164
201
|
const frameAnimationVariants = {
|
|
165
202
|
default: {
|
|
166
203
|
flexGrow: 0,
|
|
@@ -173,16 +210,26 @@ function ResizableFrame( {
|
|
|
173
210
|
};
|
|
174
211
|
|
|
175
212
|
const resizeHandleVariants = {
|
|
176
|
-
|
|
213
|
+
hidden: {
|
|
214
|
+
opacity: 0,
|
|
215
|
+
left: 0,
|
|
216
|
+
},
|
|
217
|
+
visible: {
|
|
177
218
|
opacity: 1,
|
|
178
219
|
left: -16,
|
|
179
220
|
},
|
|
180
|
-
|
|
221
|
+
active: {
|
|
181
222
|
opacity: 1,
|
|
182
223
|
left: -16,
|
|
183
224
|
scaleY: 1.3,
|
|
184
225
|
},
|
|
185
226
|
};
|
|
227
|
+
const currentResizeHandleVariant = ( () => {
|
|
228
|
+
if ( isResizing ) {
|
|
229
|
+
return 'active';
|
|
230
|
+
}
|
|
231
|
+
return shouldShowHandle ? 'visible' : 'hidden';
|
|
232
|
+
} )();
|
|
186
233
|
|
|
187
234
|
return (
|
|
188
235
|
<ResizableBox
|
|
@@ -217,35 +264,56 @@ function ResizableFrame( {
|
|
|
217
264
|
minWidth={ FRAME_MIN_WIDTH }
|
|
218
265
|
maxWidth={ isFullWidth ? '100%' : '150%' }
|
|
219
266
|
maxHeight={ '100%' }
|
|
220
|
-
|
|
221
|
-
|
|
267
|
+
onFocus={ () => setShouldShowHandle( true ) }
|
|
268
|
+
onBlur={ () => setShouldShowHandle( false ) }
|
|
269
|
+
onMouseOver={ () => setShouldShowHandle( true ) }
|
|
270
|
+
onMouseOut={ () => setShouldShowHandle( false ) }
|
|
222
271
|
handleComponent={ {
|
|
223
|
-
left:
|
|
224
|
-
|
|
225
|
-
<
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
272
|
+
left: canvasMode === 'view' && (
|
|
273
|
+
<>
|
|
274
|
+
<Tooltip text={ __( 'Drag to resize' ) }>
|
|
275
|
+
{ /* Disable reason: role="separator" does in fact support aria-valuenow */ }
|
|
276
|
+
{ /* eslint-disable-next-line jsx-a11y/role-supports-aria-props */ }
|
|
277
|
+
<motion.button
|
|
278
|
+
key="handle"
|
|
279
|
+
role="separator"
|
|
280
|
+
aria-orientation="vertical"
|
|
281
|
+
className={ classnames(
|
|
282
|
+
'edit-site-resizable-frame__handle',
|
|
283
|
+
{ 'is-resizing': isResizing }
|
|
284
|
+
) }
|
|
285
|
+
variants={ resizeHandleVariants }
|
|
286
|
+
animate={ currentResizeHandleVariant }
|
|
287
|
+
aria-label={ __( 'Drag to resize' ) }
|
|
288
|
+
aria-describedby={ resizableHandleHelpId }
|
|
289
|
+
aria-valuenow={
|
|
290
|
+
frameRef.current?.resizable?.offsetWidth ||
|
|
291
|
+
undefined
|
|
292
|
+
}
|
|
293
|
+
aria-valuemin={ FRAME_MIN_WIDTH }
|
|
294
|
+
aria-valuemax={
|
|
295
|
+
initialComputedWidthRef.current
|
|
296
|
+
}
|
|
297
|
+
onKeyDown={ handleResizableHandleKeyDown }
|
|
298
|
+
initial="hidden"
|
|
299
|
+
exit="hidden"
|
|
300
|
+
whileFocus="active"
|
|
301
|
+
whileHover="active"
|
|
302
|
+
/>
|
|
303
|
+
</Tooltip>
|
|
304
|
+
<div hidden id={ resizableHandleHelpId }>
|
|
305
|
+
{ __(
|
|
306
|
+
'Use left and right arrow keys to resize the canvas. Hold shift to resize in larger increments.'
|
|
307
|
+
) }
|
|
308
|
+
</div>
|
|
309
|
+
</>
|
|
310
|
+
),
|
|
242
311
|
} }
|
|
243
312
|
onResizeStart={ handleResizeStart }
|
|
244
313
|
onResize={ handleResize }
|
|
245
314
|
onResizeStop={ handleResizeStop }
|
|
246
315
|
className={ classnames( 'edit-site-resizable-frame__inner', {
|
|
247
316
|
'is-resizing': isResizing,
|
|
248
|
-
[ oversizedClassName ]: isOversized,
|
|
249
317
|
} ) }
|
|
250
318
|
>
|
|
251
319
|
<motion.div
|
|
@@ -30,11 +30,13 @@
|
|
|
30
30
|
.edit-site-resizable-frame__handle {
|
|
31
31
|
align-items: center;
|
|
32
32
|
background-color: rgba($gray-700, 0.4);
|
|
33
|
+
border: 0;
|
|
33
34
|
border-radius: $grid-unit-05;
|
|
34
35
|
cursor: col-resize;
|
|
35
36
|
display: flex;
|
|
36
37
|
height: $grid-unit-80;
|
|
37
38
|
justify-content: flex-end;
|
|
39
|
+
padding: 0;
|
|
38
40
|
position: absolute;
|
|
39
41
|
top: calc(50% - #{$grid-unit-40});
|
|
40
42
|
width: $grid-unit-05;
|
|
@@ -56,16 +58,14 @@
|
|
|
56
58
|
width: $grid-unit-40;
|
|
57
59
|
}
|
|
58
60
|
|
|
59
|
-
&:
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
&:focus-visible {
|
|
62
|
+
// Works with Windows high contrast mode while also hiding weird outline in Safari.
|
|
63
|
+
outline: 2px solid transparent;
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
color:
|
|
68
|
-
margin-right: $grid-unit-10;
|
|
69
|
-
padding: 4px 8px;
|
|
66
|
+
&:hover,
|
|
67
|
+
&:focus,
|
|
68
|
+
&.is-resizing {
|
|
69
|
+
background-color: var(--wp-admin-theme-color);
|
|
70
70
|
}
|
|
71
71
|
}
|