@wordpress/edit-site 5.28.5 → 5.30.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/actions/index.js +1 -1
- package/build/components/actions/index.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +10 -11
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +2 -1
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/code-editor/index.js +3 -2
- package/build/components/code-editor/index.js.map +1 -1
- package/build/components/editor/index.js +5 -19
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +1 -1
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/global-styles/color-palette-panel.js +9 -0
- package/build/components/global-styles/color-palette-panel.js.map +1 -1
- package/build/components/global-styles/font-families.js +1 -1
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +11 -0
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +5 -16
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +2 -2
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +27 -0
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js +1 -1
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build/components/global-styles/header.js +1 -1
- package/build/components/global-styles/header.js.map +1 -1
- package/build/components/global-styles/highlighted-colors.js +50 -0
- package/build/components/global-styles/highlighted-colors.js.map +1 -0
- package/build/components/global-styles/preview-colors.js +62 -0
- package/build/components/global-styles/preview-colors.js.map +1 -0
- package/build/components/global-styles/preview-iframe.js +131 -0
- package/build/components/global-styles/preview-iframe.js.map +1 -0
- package/build/components/global-styles/preview-styles.js +163 -0
- package/build/components/global-styles/preview-styles.js.map +1 -0
- package/build/components/global-styles/preview-typography.js +65 -0
- package/build/components/global-styles/preview-typography.js.map +1 -0
- package/build/components/global-styles/screen-block-list.js +1 -1
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-block.js +1 -1
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-colors.js +10 -2
- package/build/components/global-styles/screen-colors.js.map +1 -1
- package/build/components/global-styles/screen-root.js +2 -2
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +10 -2
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +12 -84
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/{typogrphy-elements.js → typography-elements.js} +1 -1
- package/build/components/global-styles/typography-elements.js.map +1 -0
- package/build/components/global-styles/utils.js +22 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/global-styles/variations/variation.js +90 -0
- package/build/components/global-styles/variations/variation.js.map +1 -0
- package/build/components/global-styles/variations/variations-color.js +36 -0
- package/build/components/global-styles/variations/variations-color.js.map +1 -0
- package/build/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
- package/build/components/global-styles/variations/variations-panel.js.map +1 -0
- package/build/components/global-styles/variations/variations-typography.js +64 -0
- package/build/components/global-styles/variations/variations-typography.js.map +1 -0
- package/build/components/header-edit-mode/document-tools/index.js +1 -2
- package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +16 -13
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +17 -6
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/edit-mode.js +0 -13
- package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build/components/keyboard-shortcuts/register.js +0 -18
- package/build/components/keyboard-shortcuts/register.js.map +1 -1
- package/build/components/layout/index.js +4 -2
- package/build/components/layout/index.js.map +1 -1
- package/build/components/page-patterns/dataviews-pattern-actions.js +25 -8
- package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
- package/build/components/page-patterns/header.js +2 -1
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +0 -1
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/{list/added-by.js → page-templates-template-parts/hooks.js} +1 -61
- package/build/components/page-templates-template-parts/hooks.js.map +1 -0
- package/build/components/page-templates-template-parts/index.js +14 -6
- package/build/components/page-templates-template-parts/index.js.map +1 -1
- package/build/components/revisions/index.js.map +1 -1
- package/build/components/save-button/index.js +2 -1
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-panel/index.js +18 -3
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar/index.js +1 -1
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
- package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/index.js +48 -5
- package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
- package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +6 -2
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/index.js +1 -2
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -3
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- 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.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +2 -2
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-template/index.js +2 -2
- package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
- package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
- package/build/components/start-template-options/index.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +3 -171
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/index.js +0 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +4 -5
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +156 -0
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
- package/build/store/actions.js +19 -50
- package/build/store/actions.js.map +1 -1
- package/build/utils/clone-deep.js +15 -0
- package/build/utils/clone-deep.js.map +1 -0
- package/build-module/components/actions/index.js +1 -1
- package/build-module/components/actions/index.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +10 -11
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +2 -1
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/code-editor/index.js +3 -2
- package/build-module/components/code-editor/index.js.map +1 -1
- package/build-module/components/editor/index.js +6 -20
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-canvas-container/index.js +2 -2
- package/build-module/components/editor-canvas-container/index.js.map +1 -1
- package/build-module/components/global-styles/color-palette-panel.js +8 -0
- package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +1 -1
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +12 -1
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +7 -18
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js +2 -2
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +26 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/header.js +1 -1
- package/build-module/components/global-styles/header.js.map +1 -1
- package/build-module/components/global-styles/highlighted-colors.js +43 -0
- package/build-module/components/global-styles/highlighted-colors.js.map +1 -0
- package/build-module/components/global-styles/preview-colors.js +54 -0
- package/build-module/components/global-styles/preview-colors.js.map +1 -0
- package/build-module/components/global-styles/preview-iframe.js +124 -0
- package/build-module/components/global-styles/preview-iframe.js.map +1 -0
- package/build-module/components/global-styles/preview-styles.js +155 -0
- package/build-module/components/global-styles/preview-styles.js.map +1 -0
- package/build-module/components/global-styles/preview-typography.js +58 -0
- package/build-module/components/global-styles/preview-typography.js.map +1 -0
- package/build-module/components/global-styles/screen-block-list.js +1 -1
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +1 -1
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-colors.js +10 -2
- package/build-module/components/global-styles/screen-colors.js.map +1 -1
- package/build-module/components/global-styles/screen-root.js +2 -2
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +10 -2
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +13 -85
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/{typogrphy-elements.js → typography-elements.js} +1 -1
- package/build-module/components/global-styles/typography-elements.js.map +1 -0
- package/build-module/components/global-styles/utils.js +21 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/global-styles/variations/variation.js +82 -0
- package/build-module/components/global-styles/variations/variation.js.map +1 -0
- package/build-module/components/global-styles/variations/variations-color.js +28 -0
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -0
- package/build-module/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
- package/build-module/components/global-styles/variations/variations-panel.js.map +1 -0
- package/build-module/components/global-styles/variations/variations-typography.js +56 -0
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -0
- package/build-module/components/header-edit-mode/document-tools/index.js +1 -2
- package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +17 -14
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +19 -8
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/edit-mode.js +0 -13
- package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/register.js +0 -18
- package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
- package/build-module/components/layout/index.js +5 -3
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/page-patterns/dataviews-pattern-actions.js +25 -8
- package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
- package/build-module/components/page-patterns/header.js +2 -1
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +0 -1
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/{list/added-by.js → page-templates-template-parts/hooks.js} +2 -59
- package/build-module/components/page-templates-template-parts/hooks.js.map +1 -0
- package/build-module/components/page-templates-template-parts/index.js +13 -5
- package/build-module/components/page-templates-template-parts/index.js.map +1 -1
- package/build-module/components/revisions/index.js.map +1 -1
- package/build-module/components/save-button/index.js +2 -1
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +18 -3
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +1 -1
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/index.js +50 -7
- package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
- package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -2
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.js +1 -2
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -3
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- 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.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/index.js +1 -1
- package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
- package/build-module/components/start-template-options/index.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +4 -172
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/index.js +0 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +1 -3
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +144 -0
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
- package/build-module/store/actions.js +19 -50
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/clone-deep.js +9 -0
- package/build-module/utils/clone-deep.js.map +1 -0
- package/build-style/style-rtl.css +152 -472
- package/build-style/style.css +152 -472
- package/package.json +43 -42
- package/src/components/actions/index.js +1 -1
- package/src/components/block-editor/editor-canvas.js +13 -12
- package/src/components/block-editor/style.scss +0 -3
- package/src/components/block-editor/use-site-editor-settings.js +1 -0
- package/src/components/code-editor/index.js +3 -2
- package/src/components/editor/index.js +10 -27
- package/src/components/editor-canvas-container/index.js +2 -5
- package/src/components/{test → error-boundary/test}/error-boundary.js +7 -5
- package/src/components/global-styles/color-palette-panel.js +11 -1
- package/src/components/global-styles/font-families.js +1 -1
- package/src/components/global-styles/font-library-modal/collection-font-variant.js +1 -1
- package/src/components/global-styles/font-library-modal/context.js +24 -0
- package/src/components/global-styles/font-library-modal/font-collection.js +7 -24
- package/src/components/global-styles/font-library-modal/index.js +2 -2
- package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
- package/src/components/global-styles/font-library-modal/library-font-variant.js +1 -1
- package/src/components/global-styles/font-library-modal/upload-fonts.js +1 -1
- package/src/components/global-styles/font-library-modal/utils/index.js +34 -0
- package/src/components/global-styles/font-library-modal/utils/preview-styles.js +2 -1
- package/src/components/global-styles/gradients-palette-panel.js +2 -2
- package/src/components/global-styles/header.js +1 -1
- package/src/components/global-styles/highlighted-colors.js +39 -0
- package/src/components/global-styles/preview-colors.js +61 -0
- package/src/components/global-styles/preview-iframe.js +153 -0
- package/src/components/global-styles/preview-styles.js +185 -0
- package/src/components/global-styles/preview-typography.js +62 -0
- package/src/components/global-styles/screen-block-list.js +1 -1
- package/src/components/global-styles/screen-block.js +4 -1
- package/src/components/global-styles/screen-colors.js +13 -1
- package/src/components/global-styles/screen-revisions/style.scss +2 -2
- package/src/components/global-styles/screen-root.js +2 -2
- package/src/components/global-styles/screen-typography.js +19 -2
- package/src/components/global-styles/style-variations-container.js +14 -92
- package/src/components/global-styles/style.scss +1 -35
- package/src/components/global-styles/utils.js +37 -0
- package/src/components/global-styles/variations/style.scss +44 -0
- package/src/components/global-styles/variations/variation.js +93 -0
- package/src/components/global-styles/variations/variations-color.js +30 -0
- package/src/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
- package/src/components/global-styles/variations/variations-typography.js +85 -0
- package/src/components/header-edit-mode/document-tools/index.js +1 -2
- package/src/components/header-edit-mode/index.js +22 -31
- package/src/components/header-edit-mode/more-menu/index.js +25 -11
- package/src/components/header-edit-mode/style.scss +4 -0
- package/src/components/keyboard-shortcuts/edit-mode.js +0 -11
- package/src/components/keyboard-shortcuts/register.js +0 -19
- package/src/components/layout/index.js +5 -2
- package/src/components/page-patterns/dataviews-pattern-actions.js +41 -10
- package/src/components/page-patterns/header.js +1 -0
- package/src/components/page-patterns/index.js +1 -2
- package/src/components/page-patterns/style.scss +0 -182
- package/src/components/{list/added-by.js → page-templates-template-parts/hooks.js} +1 -66
- package/src/components/page-templates-template-parts/index.js +20 -3
- package/src/components/page-templates-template-parts/style.scss +48 -0
- package/src/components/revisions/index.js +1 -1
- package/src/components/save-button/index.js +2 -1
- package/src/components/save-hub/style.scss +1 -1
- package/src/components/save-panel/index.js +34 -12
- package/src/components/sidebar/index.js +1 -1
- package/src/components/sidebar-button/style.scss +1 -1
- package/src/components/sidebar-edit-mode/global-styles-sidebar.js +5 -7
- package/src/components/sidebar-edit-mode/page-panels/page-status.js +1 -1
- package/src/components/sidebar-edit-mode/style.scss +4 -0
- package/src/components/sidebar-edit-mode/template-panel/hooks.js +37 -24
- package/src/components/sidebar-edit-mode/template-panel/index.js +76 -18
- package/src/components/sidebar-edit-mode/template-panel/style.scss +5 -14
- package/src/components/sidebar-edit-mode/template-panel/template-actions.js +1 -12
- package/src/components/sidebar-navigation-screen-global-styles/index.js +4 -1
- package/src/components/sidebar-navigation-screen-main/index.js +0 -2
- package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -2
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +1 -1
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +1 -1
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
- package/src/components/sidebar-navigation-screen-template/index.js +1 -1
- package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
- package/src/components/start-template-options/index.js +1 -1
- package/src/hooks/commands/use-edit-mode-commands.js +3 -184
- package/src/hooks/index.js +0 -1
- package/src/hooks/push-changes-to-global-styles/index.js +1 -4
- package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +1137 -0
- package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +159 -0
- package/src/store/actions.js +21 -85
- package/src/store/test/actions.js +0 -75
- package/src/style.scss +3 -8
- package/src/utils/clone-deep.js +8 -0
- package/build/components/global-styles/preview.js +0 -271
- package/build/components/global-styles/preview.js.map +0 -1
- package/build/components/global-styles/typogrphy-elements.js.map +0 -1
- package/build/components/global-styles/variations-panel.js.map +0 -1
- package/build/components/header-edit-mode/mode-switcher/index.js +0 -62
- package/build/components/header-edit-mode/mode-switcher/index.js.map +0 -1
- package/build/components/list/added-by.js.map +0 -1
- package/build/components/list/header.js +0 -55
- package/build/components/list/header.js.map +0 -1
- package/build/components/list/index.js +0 -80
- package/build/components/list/index.js.map +0 -1
- package/build/components/list/table.js +0 -94
- package/build/components/list/table.js.map +0 -1
- package/build/components/list/use-register-shortcuts.js +0 -51
- package/build/components/list/use-register-shortcuts.js.map +0 -1
- package/build/components/page-patterns/duplicate-menu-item.js +0 -93
- package/build/components/page-patterns/duplicate-menu-item.js.map +0 -1
- package/build/components/page-patterns/grid-item.js +0 -223
- package/build/components/page-patterns/grid-item.js.map +0 -1
- package/build/components/page-patterns/grid.js +0 -31
- package/build/components/page-patterns/grid.js.map +0 -1
- package/build/components/page-patterns/no-patterns.js +0 -18
- package/build/components/page-patterns/no-patterns.js.map +0 -1
- package/build/components/page-patterns/patterns-list.js +0 -168
- package/build/components/page-patterns/patterns-list.js.map +0 -1
- package/build/components/page-patterns/rename-menu-item.js +0 -105
- package/build/components/page-patterns/rename-menu-item.js.map +0 -1
- package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -83
- package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
- package/build/components/sidebar-navigation-screen-main/template-part-hint.js +0 -36
- package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +0 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -36
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +0 -1
- package/build/hooks/navigation-menu-edit.js +0 -82
- package/build/hooks/navigation-menu-edit.js.map +0 -1
- package/build-module/components/global-styles/preview.js +0 -264
- package/build-module/components/global-styles/preview.js.map +0 -1
- package/build-module/components/global-styles/typogrphy-elements.js.map +0 -1
- package/build-module/components/global-styles/variations-panel.js.map +0 -1
- package/build-module/components/header-edit-mode/mode-switcher/index.js +0 -56
- package/build-module/components/header-edit-mode/mode-switcher/index.js.map +0 -1
- package/build-module/components/list/added-by.js.map +0 -1
- package/build-module/components/list/header.js +0 -47
- package/build-module/components/list/header.js.map +0 -1
- package/build-module/components/list/index.js +0 -72
- package/build-module/components/list/index.js.map +0 -1
- package/build-module/components/list/table.js +0 -86
- package/build-module/components/list/table.js.map +0 -1
- package/build-module/components/list/use-register-shortcuts.js +0 -45
- package/build-module/components/list/use-register-shortcuts.js.map +0 -1
- package/build-module/components/page-patterns/duplicate-menu-item.js +0 -85
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +0 -1
- package/build-module/components/page-patterns/grid-item.js +0 -215
- package/build-module/components/page-patterns/grid-item.js.map +0 -1
- package/build-module/components/page-patterns/grid.js +0 -23
- package/build-module/components/page-patterns/grid.js.map +0 -1
- package/build-module/components/page-patterns/no-patterns.js +0 -11
- package/build-module/components/page-patterns/no-patterns.js.map +0 -1
- package/build-module/components/page-patterns/patterns-list.js +0 -160
- package/build-module/components/page-patterns/patterns-list.js.map +0 -1
- package/build-module/components/page-patterns/rename-menu-item.js +0 -98
- package/build-module/components/page-patterns/rename-menu-item.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -76
- package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +0 -29
- package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -27
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +0 -1
- package/build-module/hooks/navigation-menu-edit.js +0 -75
- package/build-module/hooks/navigation-menu-edit.js.map +0 -1
- package/src/components/global-styles/preview.js +0 -327
- package/src/components/header-edit-mode/mode-switcher/index.js +0 -60
- package/src/components/list/header.js +0 -48
- package/src/components/list/index.js +0 -87
- package/src/components/list/style.scss +0 -188
- package/src/components/list/table.js +0 -140
- package/src/components/list/use-register-shortcuts.js +0 -49
- package/src/components/page-patterns/duplicate-menu-item.js +0 -105
- package/src/components/page-patterns/grid-item.js +0 -331
- package/src/components/page-patterns/grid.js +0 -22
- package/src/components/page-patterns/no-patterns.js +0 -12
- package/src/components/page-patterns/patterns-list.js +0 -229
- package/src/components/page-patterns/rename-menu-item.js +0 -132
- package/src/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -89
- package/src/components/sidebar-navigation-screen-main/template-part-hint.js +0 -34
- package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -22
- package/src/hooks/navigation-menu-edit.js +0 -92
- /package/src/components/global-styles/{typogrphy-elements.js → typography-elements.js} +0 -0
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* External dependencies
|
|
4
|
-
*/
|
|
5
|
-
import classnames from 'classnames';
|
|
6
|
-
import { paramCase as kebabCase } from 'change-case';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* WordPress dependencies
|
|
10
|
-
*/
|
|
11
|
-
import { BlockPreview, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
12
|
-
import { Button, __experimentalConfirmDialog as ConfirmDialog, DropdownMenu, MenuGroup, MenuItem, __experimentalHeading as Heading, __experimentalHStack as HStack, Tooltip, Flex } from '@wordpress/components';
|
|
13
|
-
import { useDispatch } from '@wordpress/data';
|
|
14
|
-
import { useState, useId, memo } from '@wordpress/element';
|
|
15
|
-
import { __, sprintf } from '@wordpress/i18n';
|
|
16
|
-
import { Icon, header, footer, symbolFilled as uncategorized, symbol, moreVertical, lockSmall } from '@wordpress/icons';
|
|
17
|
-
import { store as noticesStore } from '@wordpress/notices';
|
|
18
|
-
import { store as reusableBlocksStore } from '@wordpress/reusable-blocks';
|
|
19
|
-
import { downloadBlob } from '@wordpress/blob';
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Internal dependencies
|
|
23
|
-
*/
|
|
24
|
-
import RenameMenuItem from './rename-menu-item';
|
|
25
|
-
import DuplicateMenuItem from './duplicate-menu-item';
|
|
26
|
-
import { PATTERN_TYPES, TEMPLATE_PART_POST_TYPE, PATTERN_SYNC_TYPES } from '../../utils/constants';
|
|
27
|
-
import { store as editSiteStore } from '../../store';
|
|
28
|
-
import { useLink } from '../routes/link';
|
|
29
|
-
import { unlock } from '../../lock-unlock';
|
|
30
|
-
const {
|
|
31
|
-
useGlobalStyle
|
|
32
|
-
} = unlock(blockEditorPrivateApis);
|
|
33
|
-
const templatePartIcons = {
|
|
34
|
-
header,
|
|
35
|
-
footer,
|
|
36
|
-
uncategorized
|
|
37
|
-
};
|
|
38
|
-
function GridItem({
|
|
39
|
-
categoryId,
|
|
40
|
-
item,
|
|
41
|
-
...props
|
|
42
|
-
}) {
|
|
43
|
-
const descriptionId = useId();
|
|
44
|
-
const [isDeleteDialogOpen, setIsDeleteDialogOpen] = useState(false);
|
|
45
|
-
const [backgroundColor] = useGlobalStyle('color.background');
|
|
46
|
-
const {
|
|
47
|
-
removeTemplate
|
|
48
|
-
} = useDispatch(editSiteStore);
|
|
49
|
-
const {
|
|
50
|
-
__experimentalDeleteReusableBlock
|
|
51
|
-
} = useDispatch(reusableBlocksStore);
|
|
52
|
-
const {
|
|
53
|
-
createErrorNotice,
|
|
54
|
-
createSuccessNotice
|
|
55
|
-
} = useDispatch(noticesStore);
|
|
56
|
-
const isUserPattern = item.type === PATTERN_TYPES.user;
|
|
57
|
-
const isNonUserPattern = item.type === PATTERN_TYPES.theme;
|
|
58
|
-
const isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;
|
|
59
|
-
const {
|
|
60
|
-
onClick
|
|
61
|
-
} = useLink({
|
|
62
|
-
postType: item.type,
|
|
63
|
-
postId: isUserPattern ? item.id : item.name,
|
|
64
|
-
categoryId,
|
|
65
|
-
categoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme
|
|
66
|
-
});
|
|
67
|
-
const isEmpty = !item.blocks?.length;
|
|
68
|
-
const patternClassNames = classnames('edit-site-patterns__pattern', {
|
|
69
|
-
'is-placeholder': isEmpty
|
|
70
|
-
});
|
|
71
|
-
const previewClassNames = classnames('edit-site-patterns__preview', {
|
|
72
|
-
'is-inactive': isNonUserPattern
|
|
73
|
-
});
|
|
74
|
-
const deletePattern = async () => {
|
|
75
|
-
try {
|
|
76
|
-
await __experimentalDeleteReusableBlock(item.id);
|
|
77
|
-
createSuccessNotice(sprintf(
|
|
78
|
-
// translators: %s: The pattern's title e.g. 'Call to action'.
|
|
79
|
-
__('"%s" deleted.'), item.title), {
|
|
80
|
-
type: 'snackbar',
|
|
81
|
-
id: 'edit-site-patterns-success'
|
|
82
|
-
});
|
|
83
|
-
} catch (error) {
|
|
84
|
-
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while deleting the pattern.');
|
|
85
|
-
createErrorNotice(errorMessage, {
|
|
86
|
-
type: 'snackbar',
|
|
87
|
-
id: 'edit-site-patterns-error'
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
const deleteItem = () => isTemplatePart ? removeTemplate(item) : deletePattern();
|
|
92
|
-
const exportAsJSON = () => {
|
|
93
|
-
const json = {
|
|
94
|
-
__file: item.type,
|
|
95
|
-
title: item.title || item.name,
|
|
96
|
-
content: item.patternPost.content.raw,
|
|
97
|
-
syncStatus: item.patternPost.wp_pattern_sync_status
|
|
98
|
-
};
|
|
99
|
-
return downloadBlob(`${kebabCase(item.title || item.name)}.json`, JSON.stringify(json, null, 2), 'application/json');
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
// Only custom patterns or custom template parts can be renamed or deleted.
|
|
103
|
-
const isCustomPattern = isUserPattern || isTemplatePart && item.isCustom;
|
|
104
|
-
const hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;
|
|
105
|
-
const ariaDescriptions = [];
|
|
106
|
-
if (isCustomPattern) {
|
|
107
|
-
// User patterns don't have descriptions, but can be edited and deleted, so include some help text.
|
|
108
|
-
ariaDescriptions.push(__('Press Enter to edit, or Delete to delete the pattern.'));
|
|
109
|
-
} else if (item.description) {
|
|
110
|
-
ariaDescriptions.push(item.description);
|
|
111
|
-
}
|
|
112
|
-
if (isNonUserPattern) {
|
|
113
|
-
ariaDescriptions.push(__('Theme & plugin patterns cannot be edited.'));
|
|
114
|
-
}
|
|
115
|
-
let itemIcon;
|
|
116
|
-
if (!isUserPattern && templatePartIcons[categoryId]) {
|
|
117
|
-
itemIcon = templatePartIcons[categoryId];
|
|
118
|
-
} else {
|
|
119
|
-
itemIcon = item.syncStatus === PATTERN_SYNC_TYPES.full ? symbol : undefined;
|
|
120
|
-
}
|
|
121
|
-
const confirmButtonText = hasThemeFile ? __('Clear') : __('Delete');
|
|
122
|
-
const confirmPrompt = hasThemeFile ? __('Are you sure you want to clear these customizations?') : sprintf(
|
|
123
|
-
// translators: %s: The pattern or template part's title e.g. 'Call to action'.
|
|
124
|
-
__('Are you sure you want to delete "%s"?'), item.title || item.name);
|
|
125
|
-
const additionalStyles = !backgroundColor ? [{
|
|
126
|
-
css: 'body { background: #fff; }'
|
|
127
|
-
}] : undefined;
|
|
128
|
-
return createElement("li", {
|
|
129
|
-
className: patternClassNames
|
|
130
|
-
}, createElement("button", {
|
|
131
|
-
className: previewClassNames,
|
|
132
|
-
id: `edit-site-patterns-${item.name}`,
|
|
133
|
-
type: "button",
|
|
134
|
-
...props,
|
|
135
|
-
onClick: item.type !== PATTERN_TYPES.theme ? onClick : undefined,
|
|
136
|
-
"aria-disabled": item.type !== PATTERN_TYPES.theme ? 'false' : 'true',
|
|
137
|
-
"aria-label": item.title,
|
|
138
|
-
"aria-describedby": ariaDescriptions.length ? ariaDescriptions.map((_, index) => `${descriptionId}-${index}`).join(' ') : undefined
|
|
139
|
-
}, isEmpty && isTemplatePart && __('Empty template part'), isEmpty && !isTemplatePart && __('Empty pattern'), !isEmpty && createElement(BlockPreview, {
|
|
140
|
-
blocks: item.blocks,
|
|
141
|
-
additionalStyles: additionalStyles,
|
|
142
|
-
viewportWidth: item.viewportWidth
|
|
143
|
-
})), ariaDescriptions.map((ariaDescription, index) => createElement("div", {
|
|
144
|
-
key: index,
|
|
145
|
-
hidden: true,
|
|
146
|
-
id: `${descriptionId}-${index}`
|
|
147
|
-
}, ariaDescription)), createElement(HStack, {
|
|
148
|
-
className: "edit-site-patterns__footer",
|
|
149
|
-
justify: "space-between"
|
|
150
|
-
}, createElement(HStack, {
|
|
151
|
-
alignment: "center",
|
|
152
|
-
justify: "left",
|
|
153
|
-
spacing: 3,
|
|
154
|
-
className: "edit-site-patterns__pattern-title"
|
|
155
|
-
}, itemIcon && !isNonUserPattern && createElement(Tooltip, {
|
|
156
|
-
placement: "top",
|
|
157
|
-
text: __('Editing this pattern will also update anywhere it is used')
|
|
158
|
-
}, createElement(Icon, {
|
|
159
|
-
className: "edit-site-patterns__pattern-icon",
|
|
160
|
-
icon: itemIcon
|
|
161
|
-
})), createElement(Flex, {
|
|
162
|
-
as: "span",
|
|
163
|
-
gap: 0,
|
|
164
|
-
justify: "left"
|
|
165
|
-
}, item.type === PATTERN_TYPES.theme ? item.title : createElement(Heading, {
|
|
166
|
-
level: 5
|
|
167
|
-
}, createElement(Button, {
|
|
168
|
-
variant: "link",
|
|
169
|
-
onClick: onClick
|
|
170
|
-
// Required for the grid's roving tab index system.
|
|
171
|
-
// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.
|
|
172
|
-
,
|
|
173
|
-
tabIndex: "-1"
|
|
174
|
-
}, item.title || item.name)), item.type === PATTERN_TYPES.theme && createElement(Tooltip, {
|
|
175
|
-
placement: "top",
|
|
176
|
-
text: __('This pattern cannot be edited.')
|
|
177
|
-
}, createElement(Icon, {
|
|
178
|
-
className: "edit-site-patterns__pattern-lock-icon",
|
|
179
|
-
icon: lockSmall,
|
|
180
|
-
size: 24
|
|
181
|
-
})))), createElement(DropdownMenu, {
|
|
182
|
-
icon: moreVertical,
|
|
183
|
-
label: __('Actions'),
|
|
184
|
-
className: "edit-site-patterns__dropdown",
|
|
185
|
-
popoverProps: {
|
|
186
|
-
placement: 'bottom-end'
|
|
187
|
-
},
|
|
188
|
-
toggleProps: {
|
|
189
|
-
className: 'edit-site-patterns__button',
|
|
190
|
-
describedBy: sprintf( /* translators: %s: pattern name */
|
|
191
|
-
__('Action menu for %s pattern'), item.title)
|
|
192
|
-
}
|
|
193
|
-
}, ({
|
|
194
|
-
onClose
|
|
195
|
-
}) => createElement(MenuGroup, null, isCustomPattern && !hasThemeFile && createElement(RenameMenuItem, {
|
|
196
|
-
item: item,
|
|
197
|
-
onClose: onClose
|
|
198
|
-
}), createElement(DuplicateMenuItem, {
|
|
199
|
-
categoryId: categoryId,
|
|
200
|
-
item: item,
|
|
201
|
-
onClose: onClose,
|
|
202
|
-
label: __('Duplicate')
|
|
203
|
-
}), item.type === PATTERN_TYPES.user && createElement(MenuItem, {
|
|
204
|
-
onClick: () => exportAsJSON()
|
|
205
|
-
}, __('Export as JSON')), isCustomPattern && createElement(MenuItem, {
|
|
206
|
-
isDestructive: !hasThemeFile,
|
|
207
|
-
onClick: () => setIsDeleteDialogOpen(true)
|
|
208
|
-
}, hasThemeFile ? __('Clear customizations') : __('Delete'))))), isDeleteDialogOpen && createElement(ConfirmDialog, {
|
|
209
|
-
confirmButtonText: confirmButtonText,
|
|
210
|
-
onConfirm: deleteItem,
|
|
211
|
-
onCancel: () => setIsDeleteDialogOpen(false)
|
|
212
|
-
}, confirmPrompt));
|
|
213
|
-
}
|
|
214
|
-
export default memo(GridItem);
|
|
215
|
-
//# sourceMappingURL=grid-item.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","paramCase","kebabCase","BlockPreview","privateApis","blockEditorPrivateApis","Button","__experimentalConfirmDialog","ConfirmDialog","DropdownMenu","MenuGroup","MenuItem","__experimentalHeading","Heading","__experimentalHStack","HStack","Tooltip","Flex","useDispatch","useState","useId","memo","__","sprintf","Icon","header","footer","symbolFilled","uncategorized","symbol","moreVertical","lockSmall","store","noticesStore","reusableBlocksStore","downloadBlob","RenameMenuItem","DuplicateMenuItem","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","editSiteStore","useLink","unlock","useGlobalStyle","templatePartIcons","GridItem","categoryId","item","props","descriptionId","isDeleteDialogOpen","setIsDeleteDialogOpen","backgroundColor","removeTemplate","__experimentalDeleteReusableBlock","createErrorNotice","createSuccessNotice","isUserPattern","type","user","isNonUserPattern","theme","isTemplatePart","onClick","postType","postId","id","name","categoryType","isEmpty","blocks","length","patternClassNames","previewClassNames","deletePattern","title","error","errorMessage","message","code","deleteItem","exportAsJSON","json","__file","content","patternPost","raw","syncStatus","wp_pattern_sync_status","JSON","stringify","isCustomPattern","isCustom","hasThemeFile","templatePart","has_theme_file","ariaDescriptions","push","description","itemIcon","full","undefined","confirmButtonText","confirmPrompt","additionalStyles","css","createElement","className","map","_","index","join","viewportWidth","ariaDescription","key","hidden","justify","alignment","spacing","placement","text","icon","as","gap","level","variant","tabIndex","size","label","popoverProps","toggleProps","describedBy","onClose","isDestructive","onConfirm","onCancel"],"sources":["@wordpress/edit-site/src/components/page-patterns/grid-item.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useId, memo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tIcon,\n\theader,\n\tfooter,\n\tsymbolFilled as uncategorized,\n\tsymbol,\n\tmoreVertical,\n\tlockSmall,\n} from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { downloadBlob } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport RenameMenuItem from './rename-menu-item';\nimport DuplicateMenuItem from './duplicate-menu-item';\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n} from '../../utils/constants';\nimport { store as editSiteStore } from '../../store';\nimport { useLink } from '../routes/link';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst templatePartIcons = { header, footer, uncategorized };\n\nfunction GridItem( { categoryId, item, ...props } ) {\n\tconst descriptionId = useId();\n\tconst [ isDeleteDialogOpen, setIsDeleteDialogOpen ] = useState( false );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\n\tconst { removeTemplate } = useDispatch( editSiteStore );\n\tconst { __experimentalDeleteReusableBlock } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isNonUserPattern = item.type === PATTERN_TYPES.theme;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcategoryId,\n\t\tcategoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme,\n\t} );\n\n\tconst isEmpty = ! item.blocks?.length;\n\tconst patternClassNames = classnames( 'edit-site-patterns__pattern', {\n\t\t'is-placeholder': isEmpty,\n\t} );\n\tconst previewClassNames = classnames( 'edit-site-patterns__preview', {\n\t\t'is-inactive': isNonUserPattern,\n\t} );\n\n\tconst deletePattern = async () => {\n\t\ttry {\n\t\t\tawait __experimentalDeleteReusableBlock( item.id );\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The pattern's title e.g. 'Call to action'.\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'edit-site-patterns-success' }\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while deleting the pattern.' );\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'edit-site-patterns-error',\n\t\t\t} );\n\t\t}\n\t};\n\tconst deleteItem = () =>\n\t\tisTemplatePart ? removeTemplate( item ) : deletePattern();\n\tconst exportAsJSON = () => {\n\t\tconst json = {\n\t\t\t__file: item.type,\n\t\t\ttitle: item.title || item.name,\n\t\t\tcontent: item.patternPost.content.raw,\n\t\t\tsyncStatus: item.patternPost.wp_pattern_sync_status,\n\t\t};\n\n\t\treturn downloadBlob(\n\t\t\t`${ kebabCase( item.title || item.name ) }.json`,\n\t\t\tJSON.stringify( json, null, 2 ),\n\t\t\t'application/json'\n\t\t);\n\t};\n\n\t// Only custom patterns or custom template parts can be renamed or deleted.\n\tconst isCustomPattern =\n\t\tisUserPattern || ( isTemplatePart && item.isCustom );\n\tconst hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;\n\tconst ariaDescriptions = [];\n\n\tif ( isCustomPattern ) {\n\t\t// User patterns don't have descriptions, but can be edited and deleted, so include some help text.\n\t\tariaDescriptions.push(\n\t\t\t__( 'Press Enter to edit, or Delete to delete the pattern.' )\n\t\t);\n\t} else if ( item.description ) {\n\t\tariaDescriptions.push( item.description );\n\t}\n\n\tif ( isNonUserPattern ) {\n\t\tariaDescriptions.push(\n\t\t\t__( 'Theme & plugin patterns cannot be edited.' )\n\t\t);\n\t}\n\n\tlet itemIcon;\n\tif ( ! isUserPattern && templatePartIcons[ categoryId ] ) {\n\t\titemIcon = templatePartIcons[ categoryId ];\n\t} else {\n\t\titemIcon =\n\t\t\titem.syncStatus === PATTERN_SYNC_TYPES.full ? symbol : undefined;\n\t}\n\n\tconst confirmButtonText = hasThemeFile ? __( 'Clear' ) : __( 'Delete' );\n\tconst confirmPrompt = hasThemeFile\n\t\t? __( 'Are you sure you want to clear these customizations?' )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: The pattern or template part's title e.g. 'Call to action'.\n\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\titem.title || item.name\n\t\t );\n\n\tconst additionalStyles = ! backgroundColor\n\t\t? [ { css: 'body { background: #fff; }' } ]\n\t\t: undefined;\n\n\treturn (\n\t\t<li className={ patternClassNames }>\n\t\t\t<button\n\t\t\t\tclassName={ previewClassNames }\n\t\t\t\tid={ `edit-site-patterns-${ item.name }` }\n\t\t\t\ttype=\"button\"\n\t\t\t\t{ ...props }\n\t\t\t\tonClick={\n\t\t\t\t\titem.type !== PATTERN_TYPES.theme ? onClick : undefined\n\t\t\t\t}\n\t\t\t\taria-disabled={\n\t\t\t\t\titem.type !== PATTERN_TYPES.theme ? 'false' : 'true'\n\t\t\t\t}\n\t\t\t\taria-label={ item.title }\n\t\t\t\taria-describedby={\n\t\t\t\t\tariaDescriptions.length\n\t\t\t\t\t\t? ariaDescriptions\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( _, index ) =>\n\t\t\t\t\t\t\t\t\t\t`${ descriptionId }-${ index }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ' ' )\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\tblocks={ item.blocks }\n\t\t\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</button>\n\t\t\t{ ariaDescriptions.map( ( ariaDescription, index ) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\thidden\n\t\t\t\t\tid={ `${ descriptionId }-${ index }` }\n\t\t\t\t>\n\t\t\t\t\t{ ariaDescription }\n\t\t\t\t</div>\n\t\t\t) ) }\n\t\t\t<HStack\n\t\t\t\tclassName=\"edit-site-patterns__footer\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tjustify=\"left\"\n\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t\t>\n\t\t\t\t\t{ itemIcon && ! isNonUserPattern && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t'Editing this pattern will also update anywhere it is used'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-icon\"\n\t\t\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t\t<Flex as=\"span\" gap={ 0 } justify=\"left\">\n\t\t\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Heading level={ 5 }>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t</HStack>\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\tclassName=\"edit-site-patterns__dropdown\"\n\t\t\t\t\tpopoverProps={ { placement: 'bottom-end' } }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t/* translators: %s: pattern name */\n\t\t\t\t\t\t\t__( 'Action menu for %s pattern' ),\n\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ isCustomPattern && ! hasThemeFile && (\n\t\t\t\t\t\t\t\t<RenameMenuItem\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<DuplicateMenuItem\n\t\t\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tlabel={ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ item.type === PATTERN_TYPES.user && (\n\t\t\t\t\t\t\t\t<MenuItem onClick={ () => exportAsJSON() }>\n\t\t\t\t\t\t\t\t\t{ __( 'Export as JSON' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t{ isCustomPattern && (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tisDestructive={ ! hasThemeFile }\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tsetIsDeleteDialogOpen( true )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasThemeFile\n\t\t\t\t\t\t\t\t\t\t? __( 'Clear customizations' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Delete' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t</HStack>\n\n\t\t\t{ isDeleteDialogOpen && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tconfirmButtonText={ confirmButtonText }\n\t\t\t\t\tonConfirm={ deleteItem }\n\t\t\t\t\tonCancel={ () => setIsDeleteDialogOpen( false ) }\n\t\t\t\t>\n\t\t\t\t\t{ confirmPrompt }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\nexport default memo( GridItem );\n"],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* Internal dependencies
|
|
4
|
-
*/
|
|
5
|
-
import GridItem from './grid-item';
|
|
6
|
-
export default function Grid({
|
|
7
|
-
categoryId,
|
|
8
|
-
items,
|
|
9
|
-
...props
|
|
10
|
-
}) {
|
|
11
|
-
if (!items?.length) {
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
return createElement("ul", {
|
|
15
|
-
className: "edit-site-patterns__grid",
|
|
16
|
-
...props
|
|
17
|
-
}, items.map(item => createElement(GridItem, {
|
|
18
|
-
key: item.name,
|
|
19
|
-
item: item,
|
|
20
|
-
categoryId: categoryId
|
|
21
|
-
})));
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=grid.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["GridItem","Grid","categoryId","items","props","length","createElement","className","map","item","key","name"],"sources":["@wordpress/edit-site/src/components/page-patterns/grid.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport GridItem from './grid-item';\n\nexport default function Grid( { categoryId, items, ...props } ) {\n\tif ( ! items?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ul className=\"edit-site-patterns__grid\" { ...props }>\n\t\t\t{ items.map( ( item ) => (\n\t\t\t\t<GridItem\n\t\t\t\t\tkey={ item.name }\n\t\t\t\t\titem={ item }\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,aAAa;AAElC,eAAe,SAASC,IAAIA,CAAE;EAAEC,UAAU;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAG;EAC/D,IAAK,CAAED,KAAK,EAAEE,MAAM,EAAG;IACtB,OAAO,IAAI;EACZ;EAEA,OACCC,aAAA;IAAIC,SAAS,EAAC,0BAA0B;IAAA,GAAMH;EAAK,GAChDD,KAAK,CAACK,GAAG,CAAIC,IAAI,IAClBH,aAAA,CAACN,QAAQ;IACRU,GAAG,EAAGD,IAAI,CAACE,IAAM;IACjBF,IAAI,EAAGA,IAAM;IACbP,UAAU,EAAGA;EAAY,CACzB,CACA,CACC,CAAC;AAEP"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { __ } from '@wordpress/i18n';
|
|
6
|
-
export default function NoPatterns() {
|
|
7
|
-
return createElement("div", {
|
|
8
|
-
className: "edit-site-patterns__no-results"
|
|
9
|
-
}, __('No patterns found.'));
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=no-patterns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["__","NoPatterns","createElement","className"],"sources":["@wordpress/edit-site/src/components/page-patterns/no-patterns.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport default function NoPatterns() {\n\treturn (\n\t\t<div className=\"edit-site-patterns__no-results\">\n\t\t\t{ __( 'No patterns found.' ) }\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AAEpC,eAAe,SAASC,UAAUA,CAAA,EAAG;EACpC,OACCC,aAAA;IAAKC,SAAS,EAAC;EAAgC,GAC5CH,EAAE,CAAE,oBAAqB,CACvB,CAAC;AAER"}
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { createElement, Fragment } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { useState, useDeferredValue, useId, useMemo } from '@wordpress/element';
|
|
6
|
-
import { SearchControl, __experimentalVStack as VStack, Flex, FlexBlock, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalHeading as Heading, __experimentalText as Text } from '@wordpress/components';
|
|
7
|
-
import { __, _x, isRTL } from '@wordpress/i18n';
|
|
8
|
-
import { chevronLeft, chevronRight } from '@wordpress/icons';
|
|
9
|
-
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
10
|
-
import { useAsyncList, useViewportMatch, useDebouncedInput } from '@wordpress/compose';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Internal dependencies
|
|
14
|
-
*/
|
|
15
|
-
import PatternsHeader from './header';
|
|
16
|
-
import Grid from './grid';
|
|
17
|
-
import NoPatterns from './no-patterns';
|
|
18
|
-
import usePatterns from './use-patterns';
|
|
19
|
-
import SidebarButton from '../sidebar-button';
|
|
20
|
-
import { unlock } from '../../lock-unlock';
|
|
21
|
-
import { PATTERN_SYNC_TYPES, PATTERN_TYPES } from '../../utils/constants';
|
|
22
|
-
import Pagination from '../pagination';
|
|
23
|
-
const {
|
|
24
|
-
useLocation,
|
|
25
|
-
useHistory
|
|
26
|
-
} = unlock(routerPrivateApis);
|
|
27
|
-
const SYNC_FILTERS = {
|
|
28
|
-
all: _x('All', 'Option that shows all patterns'),
|
|
29
|
-
[PATTERN_SYNC_TYPES.full]: _x('Synced', 'Option that shows all synchronized patterns'),
|
|
30
|
-
[PATTERN_SYNC_TYPES.unsynced]: _x('Not synced', 'Option that shows all patterns that are not synchronized')
|
|
31
|
-
};
|
|
32
|
-
const SYNC_DESCRIPTIONS = {
|
|
33
|
-
all: '',
|
|
34
|
-
[PATTERN_SYNC_TYPES.full]: __('Patterns that are kept in sync across the site.'),
|
|
35
|
-
[PATTERN_SYNC_TYPES.unsynced]: __('Patterns that can be changed freely without affecting the site.')
|
|
36
|
-
};
|
|
37
|
-
const PAGE_SIZE = 20;
|
|
38
|
-
export default function PatternsList({
|
|
39
|
-
categoryId,
|
|
40
|
-
type
|
|
41
|
-
}) {
|
|
42
|
-
const location = useLocation();
|
|
43
|
-
const history = useHistory();
|
|
44
|
-
const isMobileViewport = useViewportMatch('medium', '<');
|
|
45
|
-
const [filterValue, setFilterValue, delayedFilterValue] = useDebouncedInput('');
|
|
46
|
-
const deferredFilterValue = useDeferredValue(delayedFilterValue);
|
|
47
|
-
const [syncFilter, setSyncFilter] = useState('all');
|
|
48
|
-
const [currentPage, setCurrentPage] = useState(1);
|
|
49
|
-
const deferredSyncedFilter = useDeferredValue(syncFilter);
|
|
50
|
-
const isUncategorizedThemePatterns = type === PATTERN_TYPES.theme && categoryId === 'uncategorized';
|
|
51
|
-
const {
|
|
52
|
-
patterns,
|
|
53
|
-
isResolving
|
|
54
|
-
} = usePatterns(type, isUncategorizedThemePatterns ? '' : categoryId, {
|
|
55
|
-
search: deferredFilterValue,
|
|
56
|
-
syncStatus: deferredSyncedFilter === 'all' ? undefined : deferredSyncedFilter
|
|
57
|
-
});
|
|
58
|
-
const updateSearchFilter = value => {
|
|
59
|
-
setCurrentPage(1);
|
|
60
|
-
setFilterValue(value);
|
|
61
|
-
};
|
|
62
|
-
const updateSyncFilter = value => {
|
|
63
|
-
setCurrentPage(1);
|
|
64
|
-
setSyncFilter(value);
|
|
65
|
-
};
|
|
66
|
-
const id = useId();
|
|
67
|
-
const titleId = `${id}-title`;
|
|
68
|
-
const descriptionId = `${id}-description`;
|
|
69
|
-
const hasPatterns = patterns.length;
|
|
70
|
-
const title = SYNC_FILTERS[syncFilter];
|
|
71
|
-
const description = SYNC_DESCRIPTIONS[syncFilter];
|
|
72
|
-
const totalItems = patterns.length;
|
|
73
|
-
const pageIndex = currentPage - 1;
|
|
74
|
-
const numPages = Math.ceil(patterns.length / PAGE_SIZE);
|
|
75
|
-
const list = useMemo(() => {
|
|
76
|
-
return patterns.slice(pageIndex * PAGE_SIZE, pageIndex * PAGE_SIZE + PAGE_SIZE);
|
|
77
|
-
}, [pageIndex, patterns]);
|
|
78
|
-
const asyncList = useAsyncList(list, {
|
|
79
|
-
step: 10
|
|
80
|
-
});
|
|
81
|
-
const changePage = page => {
|
|
82
|
-
const scrollContainer = document.querySelector('.edit-site-patterns');
|
|
83
|
-
scrollContainer?.scrollTo(0, 0);
|
|
84
|
-
setCurrentPage(page);
|
|
85
|
-
};
|
|
86
|
-
return createElement(Fragment, null, createElement(VStack, {
|
|
87
|
-
className: "edit-site-patterns__header",
|
|
88
|
-
spacing: 6
|
|
89
|
-
}, createElement(PatternsHeader, {
|
|
90
|
-
categoryId: categoryId,
|
|
91
|
-
type: type,
|
|
92
|
-
titleId: titleId,
|
|
93
|
-
descriptionId: descriptionId
|
|
94
|
-
}), createElement(Flex, {
|
|
95
|
-
alignment: "stretch",
|
|
96
|
-
wrap: true
|
|
97
|
-
}, isMobileViewport && createElement(SidebarButton, {
|
|
98
|
-
icon: isRTL() ? chevronRight : chevronLeft,
|
|
99
|
-
label: __('Back'),
|
|
100
|
-
onClick: () => {
|
|
101
|
-
// Go back in history if we came from the Patterns page.
|
|
102
|
-
// Otherwise push a stack onto the history.
|
|
103
|
-
if (location.state?.backPath === '/patterns') {
|
|
104
|
-
history.back();
|
|
105
|
-
} else {
|
|
106
|
-
history.push({
|
|
107
|
-
path: '/patterns'
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}), createElement(FlexBlock, {
|
|
112
|
-
className: "edit-site-patterns__search-block"
|
|
113
|
-
}, createElement(SearchControl, {
|
|
114
|
-
className: "edit-site-patterns__search",
|
|
115
|
-
onChange: value => updateSearchFilter(value),
|
|
116
|
-
placeholder: __('Search patterns'),
|
|
117
|
-
label: __('Search patterns'),
|
|
118
|
-
value: filterValue,
|
|
119
|
-
__nextHasNoMarginBottom: true
|
|
120
|
-
})), type === PATTERN_TYPES.theme && createElement(ToggleGroupControl, {
|
|
121
|
-
className: "edit-site-patterns__sync-status-filter",
|
|
122
|
-
hideLabelFromVision: true,
|
|
123
|
-
label: __('Filter by sync status'),
|
|
124
|
-
value: syncFilter,
|
|
125
|
-
isBlock: true,
|
|
126
|
-
onChange: value => updateSyncFilter(value),
|
|
127
|
-
__nextHasNoMarginBottom: true
|
|
128
|
-
}, Object.entries(SYNC_FILTERS).map(([key, label]) => createElement(ToggleGroupControlOption, {
|
|
129
|
-
className: "edit-site-patterns__sync-status-filter-option",
|
|
130
|
-
key: key,
|
|
131
|
-
value: key,
|
|
132
|
-
label: label
|
|
133
|
-
}))))), createElement(VStack, {
|
|
134
|
-
className: "edit-site-patterns__section",
|
|
135
|
-
justify: "flex-start",
|
|
136
|
-
spacing: 6
|
|
137
|
-
}, syncFilter !== 'all' && createElement(VStack, {
|
|
138
|
-
className: "edit-site-patterns__section-header"
|
|
139
|
-
}, createElement(Heading, {
|
|
140
|
-
as: "h3",
|
|
141
|
-
level: 5,
|
|
142
|
-
id: titleId
|
|
143
|
-
}, title), description ? createElement(Text, {
|
|
144
|
-
variant: "muted",
|
|
145
|
-
as: "p",
|
|
146
|
-
id: descriptionId
|
|
147
|
-
}, description) : null), hasPatterns && createElement(Grid, {
|
|
148
|
-
categoryId: categoryId,
|
|
149
|
-
items: asyncList,
|
|
150
|
-
"aria-labelledby": titleId,
|
|
151
|
-
"aria-describedby": descriptionId
|
|
152
|
-
}), !isResolving && !hasPatterns && createElement(NoPatterns, null)), numPages > 1 && createElement(Pagination, {
|
|
153
|
-
className: "edit-site-patterns__pagination",
|
|
154
|
-
currentPage: currentPage,
|
|
155
|
-
numPages: numPages,
|
|
156
|
-
changePage: changePage,
|
|
157
|
-
totalItems: totalItems
|
|
158
|
-
}));
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=patterns-list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useDeferredValue","useId","useMemo","SearchControl","__experimentalVStack","VStack","Flex","FlexBlock","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalHeading","Heading","__experimentalText","Text","__","_x","isRTL","chevronLeft","chevronRight","privateApis","routerPrivateApis","useAsyncList","useViewportMatch","useDebouncedInput","PatternsHeader","Grid","NoPatterns","usePatterns","SidebarButton","unlock","PATTERN_SYNC_TYPES","PATTERN_TYPES","Pagination","useLocation","useHistory","SYNC_FILTERS","all","full","unsynced","SYNC_DESCRIPTIONS","PAGE_SIZE","PatternsList","categoryId","type","location","history","isMobileViewport","filterValue","setFilterValue","delayedFilterValue","deferredFilterValue","syncFilter","setSyncFilter","currentPage","setCurrentPage","deferredSyncedFilter","isUncategorizedThemePatterns","theme","patterns","isResolving","search","syncStatus","undefined","updateSearchFilter","value","updateSyncFilter","id","titleId","descriptionId","hasPatterns","length","title","description","totalItems","pageIndex","numPages","Math","ceil","list","slice","asyncList","step","changePage","page","scrollContainer","document","querySelector","scrollTo","createElement","Fragment","className","spacing","alignment","wrap","icon","label","onClick","state","backPath","back","push","path","onChange","placeholder","__nextHasNoMarginBottom","hideLabelFromVision","isBlock","Object","entries","map","key","justify","as","level","variant","items"],"sources":["@wordpress/edit-site/src/components/page-patterns/patterns-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useDeferredValue, useId, useMemo } from '@wordpress/element';\nimport {\n\tSearchControl,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tFlexBlock,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tuseAsyncList,\n\tuseViewportMatch,\n\tuseDebouncedInput,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternsHeader from './header';\nimport Grid from './grid';\nimport NoPatterns from './no-patterns';\nimport usePatterns from './use-patterns';\nimport SidebarButton from '../sidebar-button';\nimport { unlock } from '../../lock-unlock';\nimport { PATTERN_SYNC_TYPES, PATTERN_TYPES } from '../../utils/constants';\nimport Pagination from '../pagination';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst SYNC_FILTERS = {\n\tall: _x( 'All', 'Option that shows all patterns' ),\n\t[ PATTERN_SYNC_TYPES.full ]: _x(\n\t\t'Synced',\n\t\t'Option that shows all synchronized patterns'\n\t),\n\t[ PATTERN_SYNC_TYPES.unsynced ]: _x(\n\t\t'Not synced',\n\t\t'Option that shows all patterns that are not synchronized'\n\t),\n};\n\nconst SYNC_DESCRIPTIONS = {\n\tall: '',\n\t[ PATTERN_SYNC_TYPES.full ]: __(\n\t\t'Patterns that are kept in sync across the site.'\n\t),\n\t[ PATTERN_SYNC_TYPES.unsynced ]: __(\n\t\t'Patterns that can be changed freely without affecting the site.'\n\t),\n};\n\nconst PAGE_SIZE = 20;\n\nexport default function PatternsList( { categoryId, type } ) {\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( '' );\n\tconst deferredFilterValue = useDeferredValue( delayedFilterValue );\n\n\tconst [ syncFilter, setSyncFilter ] = useState( 'all' );\n\tconst [ currentPage, setCurrentPage ] = useState( 1 );\n\n\tconst deferredSyncedFilter = useDeferredValue( syncFilter );\n\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERN_TYPES.theme && categoryId === 'uncategorized';\n\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: deferredFilterValue,\n\t\t\tsyncStatus:\n\t\t\t\tdeferredSyncedFilter === 'all'\n\t\t\t\t\t? undefined\n\t\t\t\t\t: deferredSyncedFilter,\n\t\t}\n\t);\n\n\tconst updateSearchFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetFilterValue( value );\n\t};\n\n\tconst updateSyncFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetSyncFilter( value );\n\t};\n\n\tconst id = useId();\n\tconst titleId = `${ id }-title`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst hasPatterns = patterns.length;\n\tconst title = SYNC_FILTERS[ syncFilter ];\n\tconst description = SYNC_DESCRIPTIONS[ syncFilter ];\n\n\tconst totalItems = patterns.length;\n\tconst pageIndex = currentPage - 1;\n\tconst numPages = Math.ceil( patterns.length / PAGE_SIZE );\n\n\tconst list = useMemo( () => {\n\t\treturn patterns.slice(\n\t\t\tpageIndex * PAGE_SIZE,\n\t\t\tpageIndex * PAGE_SIZE + PAGE_SIZE\n\t\t);\n\t}, [ pageIndex, patterns ] );\n\n\tconst asyncList = useAsyncList( list, { step: 10 } );\n\n\tconst changePage = ( page ) => {\n\t\tconst scrollContainer = document.querySelector( '.edit-site-patterns' );\n\t\tscrollContainer?.scrollTo( 0, 0 );\n\n\t\tsetCurrentPage( page );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VStack className=\"edit-site-patterns__header\" spacing={ 6 }>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ titleId }\n\t\t\t\t\tdescriptionId={ descriptionId }\n\t\t\t\t/>\n\t\t\t\t<Flex alignment=\"stretch\" wrap>\n\t\t\t\t\t{ isMobileViewport && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t// Go back in history if we came from the Patterns page.\n\t\t\t\t\t\t\t\t// Otherwise push a stack onto the history.\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tlocation.state?.backPath === '/patterns'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\thistory.back();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\thistory.push( { path: '/patterns' } );\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) }\n\t\t\t\t\t<FlexBlock className=\"edit-site-patterns__search-block\">\n\t\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__search\"\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateSearchFilter( value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder={ __( 'Search patterns' ) }\n\t\t\t\t\t\t\tlabel={ __( 'Search patterns' ) }\n\t\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t{ type === PATTERN_TYPES.theme && (\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter\"\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tlabel={ __( 'Filter by sync status' ) }\n\t\t\t\t\t\t\tvalue={ syncFilter }\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tonChange={ ( value ) => updateSyncFilter( value ) }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ Object.entries( SYNC_FILTERS ).map(\n\t\t\t\t\t\t\t\t( [ key, label ] ) => (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter-option\"\n\t\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\t\tvalue={ key }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t) }\n\t\t\t\t</Flex>\n\t\t\t</VStack>\n\t\t\t<VStack\n\t\t\t\tclassName=\"edit-site-patterns__section\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tspacing={ 6 }\n\t\t\t>\n\t\t\t\t{ syncFilter !== 'all' && (\n\t\t\t\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t\t\t\t<Heading as=\"h3\" level={ 5 } id={ titleId }>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t{ description ? (\n\t\t\t\t\t\t\t<Text variant=\"muted\" as=\"p\" id={ descriptionId }>\n\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</VStack>\n\t\t\t\t) }\n\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t<Grid\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\titems={ asyncList }\n\t\t\t\t\t\taria-labelledby={ titleId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isResolving && ! hasPatterns && <NoPatterns /> }\n\t\t\t</VStack>\n\t\t\t{ numPages > 1 && (\n\t\t\t\t<Pagination\n\t\t\t\t\tclassName=\"edit-site-patterns__pagination\"\n\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\tnumPages={ numPages }\n\t\t\t\t\tchangePage={ changePage }\n\t\t\t\t\ttotalItems={ totalItems }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { createElement, Fragment } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { Button, MenuItem, Modal, TextControl, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
|
|
6
|
-
import { store as coreStore } from '@wordpress/core-data';
|
|
7
|
-
import { useDispatch } from '@wordpress/data';
|
|
8
|
-
import { useState } from '@wordpress/element';
|
|
9
|
-
import { __ } from '@wordpress/i18n';
|
|
10
|
-
import { store as noticesStore } from '@wordpress/notices';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Internal dependencies
|
|
14
|
-
*/
|
|
15
|
-
import { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';
|
|
16
|
-
export default function RenameMenuItem({
|
|
17
|
-
item,
|
|
18
|
-
onClose
|
|
19
|
-
}) {
|
|
20
|
-
const [title, setTitle] = useState(() => item.title);
|
|
21
|
-
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
22
|
-
const {
|
|
23
|
-
editEntityRecord,
|
|
24
|
-
saveEditedEntityRecord
|
|
25
|
-
} = useDispatch(coreStore);
|
|
26
|
-
const {
|
|
27
|
-
createSuccessNotice,
|
|
28
|
-
createErrorNotice
|
|
29
|
-
} = useDispatch(noticesStore);
|
|
30
|
-
if (item.type === TEMPLATE_PART_POST_TYPE && !item.isCustom) {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
async function onRename(event) {
|
|
34
|
-
event.preventDefault();
|
|
35
|
-
try {
|
|
36
|
-
await editEntityRecord('postType', item.type, item.id, {
|
|
37
|
-
title
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
// Update state before saving rerenders the list.
|
|
41
|
-
setTitle('');
|
|
42
|
-
setIsModalOpen(false);
|
|
43
|
-
onClose();
|
|
44
|
-
|
|
45
|
-
// Persist edited entity.
|
|
46
|
-
await saveEditedEntityRecord('postType', item.type, item.id, {
|
|
47
|
-
throwOnError: true
|
|
48
|
-
});
|
|
49
|
-
createSuccessNotice(item.type === TEMPLATE_PART_POST_TYPE ? __('Template part renamed.') : __('Pattern renamed.'), {
|
|
50
|
-
type: 'snackbar'
|
|
51
|
-
});
|
|
52
|
-
} catch (error) {
|
|
53
|
-
const fallbackErrorMessage = item.type === TEMPLATE_PART_POST_TYPE ? __('An error occurred while renaming the template part.') : __('An error occurred while renaming the pattern.');
|
|
54
|
-
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : fallbackErrorMessage;
|
|
55
|
-
createErrorNotice(errorMessage, {
|
|
56
|
-
type: 'snackbar'
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return createElement(Fragment, null, createElement(MenuItem, {
|
|
61
|
-
onClick: () => {
|
|
62
|
-
setIsModalOpen(true);
|
|
63
|
-
setTitle(item.title);
|
|
64
|
-
}
|
|
65
|
-
}, __('Rename')), isModalOpen && createElement(Modal, {
|
|
66
|
-
title: __('Rename'),
|
|
67
|
-
onRequestClose: () => {
|
|
68
|
-
setIsModalOpen(false);
|
|
69
|
-
onClose();
|
|
70
|
-
},
|
|
71
|
-
overlayClassName: "edit-site-list__rename-modal"
|
|
72
|
-
}, createElement("form", {
|
|
73
|
-
onSubmit: onRename
|
|
74
|
-
}, createElement(VStack, {
|
|
75
|
-
spacing: "5"
|
|
76
|
-
}, createElement(TextControl, {
|
|
77
|
-
__nextHasNoMarginBottom: true,
|
|
78
|
-
__next40pxDefaultSize: true,
|
|
79
|
-
label: __('Name'),
|
|
80
|
-
value: title,
|
|
81
|
-
onChange: setTitle,
|
|
82
|
-
required: true
|
|
83
|
-
}), createElement(HStack, {
|
|
84
|
-
justify: "right"
|
|
85
|
-
}, createElement(Button, {
|
|
86
|
-
__next40pxDefaultSize: true,
|
|
87
|
-
variant: "tertiary",
|
|
88
|
-
onClick: () => {
|
|
89
|
-
setIsModalOpen(false);
|
|
90
|
-
onClose();
|
|
91
|
-
}
|
|
92
|
-
}, __('Cancel')), createElement(Button, {
|
|
93
|
-
__next40pxDefaultSize: true,
|
|
94
|
-
variant: "primary",
|
|
95
|
-
type: "submit"
|
|
96
|
-
}, __('Save')))))));
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=rename-menu-item.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Button","MenuItem","Modal","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","store","coreStore","useDispatch","useState","__","noticesStore","TEMPLATE_PART_POST_TYPE","RenameMenuItem","item","onClose","title","setTitle","isModalOpen","setIsModalOpen","editEntityRecord","saveEditedEntityRecord","createSuccessNotice","createErrorNotice","type","isCustom","onRename","event","preventDefault","id","throwOnError","error","fallbackErrorMessage","errorMessage","message","code","createElement","Fragment","onClick","onRequestClose","overlayClassName","onSubmit","spacing","__nextHasNoMarginBottom","__next40pxDefaultSize","label","value","onChange","required","justify","variant"],"sources":["@wordpress/edit-site/src/components/page-patterns/rename-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tMenuItem,\n\tModal,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\n\nexport default function RenameMenuItem( { item, onClose } ) {\n\tconst [ title, setTitle ] = useState( () => item.title );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tif ( item.type === TEMPLATE_PART_POST_TYPE && ! item.isCustom ) {\n\t\treturn null;\n\t}\n\n\tasync function onRename( event ) {\n\t\tevent.preventDefault();\n\n\t\ttry {\n\t\t\tawait editEntityRecord( 'postType', item.type, item.id, { title } );\n\n\t\t\t// Update state before saving rerenders the list.\n\t\t\tsetTitle( '' );\n\t\t\tsetIsModalOpen( false );\n\t\t\tonClose();\n\n\t\t\t// Persist edited entity.\n\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t? __( 'Template part renamed.' )\n\t\t\t\t\t: __( 'Pattern renamed.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst fallbackErrorMessage =\n\t\t\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t? __(\n\t\t\t\t\t\t\t'An error occurred while renaming the template part.'\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'An error occurred while renaming the pattern.' );\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsModalOpen( true );\n\t\t\t\t\tsetTitle( item.title );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Rename' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName=\"edit-site-list__rename-modal\"\n\t\t\t\t>\n\t\t\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|