@wordpress/edit-site 5.18.0 → 5.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/add-new-pattern/index.js +62 -1
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/add-new-template/index.js +3 -2
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/add-new-template/new-template.js +6 -1
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/add-new-template/utils.js +6 -1
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/app/index.js +2 -7
- package/build/components/app/index.js.map +1 -1
- package/build/components/block-editor/back-button.js +3 -2
- package/build/components/block-editor/back-button.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +20 -16
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +1 -3
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +8 -4
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/canvas-loader/index.js +18 -1
- package/build/components/canvas-loader/index.js.map +1 -1
- package/build/components/editor/index.js +3 -8
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +5 -4
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/font-families.js +68 -0
- package/build/components/global-styles/font-families.js.map +1 -0
- package/build/components/global-styles/font-family-item.js +47 -0
- package/build/components/global-styles/font-family-item.js.map +1 -0
- package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +31 -0
- package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
- package/build/components/global-styles/font-library-modal/context.js +285 -0
- package/build/components/global-styles/font-library-modal/context.js.map +1 -0
- package/build/components/global-styles/font-library-modal/font-card.js +58 -0
- package/build/components/global-styles/font-library-modal/font-card.js.map +1 -0
- package/build/components/global-styles/font-library-modal/font-demo.js +69 -0
- package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -0
- package/build/components/global-styles/font-library-modal/font-variant.js +51 -0
- package/build/components/global-styles/font-library-modal/font-variant.js.map +1 -0
- package/build/components/global-styles/font-library-modal/fonts-grid.js +54 -0
- package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
- package/build/components/global-styles/font-library-modal/index.js +47 -0
- package/build/components/global-styles/font-library-modal/index.js.map +1 -0
- package/build/components/global-styles/font-library-modal/installed-fonts.js +128 -0
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
- package/build/components/global-styles/font-library-modal/library-font-card.js +44 -0
- package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
- package/build/components/global-styles/font-library-modal/library-font-details.js +43 -0
- package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
- package/build/components/global-styles/font-library-modal/library-font-variant.js +59 -0
- package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
- package/build/components/global-styles/font-library-modal/local-fonts.js +143 -0
- package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
- package/build/components/global-styles/font-library-modal/resolvers.js +37 -0
- package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -0
- package/build/components/global-styles/font-library-modal/tab-layout.js +45 -0
- package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/constants.js +37 -0
- package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/index.js +205 -0
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +22 -0
- package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/toggleFont.js +92 -0
- package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
- package/build/components/global-styles/global-styles-provider.js +7 -12
- package/build/components/global-styles/global-styles-provider.js.map +1 -1
- package/build/components/global-styles/screen-block.js +34 -21
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +1 -3
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +4 -72
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +3 -5
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/typogrphy-elements.js +96 -0
- package/build/components/global-styles/typogrphy-elements.js.map +1 -0
- package/build/components/page-patterns/duplicate-menu-item.js +52 -16
- package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build/components/page-patterns/grid-item.js +46 -20
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/header.js +3 -7
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +3 -3
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/patterns-list.js +7 -7
- package/build/components/page-patterns/patterns-list.js.map +1 -1
- package/build/components/page-patterns/rename-menu-item.js +6 -5
- package/build/components/page-patterns/rename-menu-item.js.map +1 -1
- package/build/components/page-patterns/search-items.js +8 -2
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +53 -27
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-patterns/utils.js +1 -20
- package/build/components/page-patterns/utils.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js +33 -24
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js +64 -0
- package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
- package/build/components/sidebar-edit-mode/page-panels/index.js +1 -4
- package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +56 -0
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +91 -0
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
- package/build/components/sidebar-edit-mode/template-panel/index.js +11 -9
- package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/last-revision.js +6 -4
- package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +211 -0
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
- package/build/components/sidebar-navigation-screen/index.js +6 -4
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.js +32 -4
- package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +4 -31
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/index.js +3 -3
- package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js +18 -8
- package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +34 -5
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +7 -35
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +38 -4
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.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/index.js +1 -1
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build/components/template-actions/index.js +7 -4
- package/build/components/template-actions/index.js.map +1 -1
- package/build/components/template-actions/rename-menu-item.js +3 -2
- package/build/components/template-actions/rename-menu-item.js.map +1 -1
- package/build/components/welcome-guide/styles.js +2 -2
- package/build/components/welcome-guide/styles.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +5 -37
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/store/actions.js +29 -6
- package/build/store/actions.js.map +1 -1
- package/build/utils/constants.js +45 -2
- package/build/utils/constants.js.map +1 -1
- package/build/utils/is-template-removable.js +6 -1
- package/build/utils/is-template-removable.js.map +1 -1
- package/build/utils/is-template-revertable.js +6 -1
- package/build/utils/is-template-revertable.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +66 -5
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/add-new-template/index.js +3 -2
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +6 -1
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/add-new-template/utils.js +6 -1
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/app/index.js +2 -7
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/block-editor/back-button.js +3 -2
- package/build-module/components/block-editor/back-button.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +21 -17
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +3 -5
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +8 -4
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/canvas-loader/index.js +18 -1
- package/build-module/components/canvas-loader/index.js.map +1 -1
- package/build-module/components/editor/index.js +3 -8
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +5 -4
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +58 -0
- package/build-module/components/global-styles/font-families.js.map +1 -0
- package/build-module/components/global-styles/font-family-item.js +40 -0
- package/build-module/components/global-styles/font-family-item.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +23 -0
- package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/context.js +276 -0
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/font-card.js +49 -0
- package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/font-demo.js +62 -0
- package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/font-variant.js +42 -0
- package/build-module/components/global-styles/font-library-modal/font-variant.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/fonts-grid.js +47 -0
- package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/index.js +38 -0
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +120 -0
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/library-font-card.js +36 -0
- package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/library-font-details.js +34 -0
- package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js +50 -0
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/local-fonts.js +135 -0
- package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/resolvers.js +28 -0
- package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/tab-layout.js +37 -0
- package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/constants.js +26 -0
- package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +52 -0
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js +190 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +16 -0
- package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +86 -0
- package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
- package/build-module/components/global-styles/global-styles-provider.js +7 -12
- package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +34 -21
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +1 -3
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +6 -74
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +3 -5
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/typogrphy-elements.js +87 -0
- package/build-module/components/global-styles/typogrphy-elements.js.map +1 -0
- package/build-module/components/page-patterns/duplicate-menu-item.js +51 -16
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/grid-item.js +47 -21
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/header.js +3 -7
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +3 -3
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/patterns-list.js +7 -7
- package/build-module/components/page-patterns/patterns-list.js.map +1 -1
- package/build-module/components/page-patterns/rename-menu-item.js +6 -5
- package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +8 -2
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +54 -28
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-patterns/utils.js +0 -11
- package/build-module/components/page-patterns/utils.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +34 -27
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +54 -0
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/page-panels/index.js +1 -4
- package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +49 -0
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +85 -0
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/template-panel/index.js +12 -10
- package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +8 -6
- package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +202 -0
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen/index.js +6 -4
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js +32 -5
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -33
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/index.js +3 -3
- package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js +19 -9
- package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +34 -5
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +10 -38
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +38 -4
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/index.js +2 -2
- package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates/index.js +1 -1
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build-module/components/template-actions/index.js +7 -4
- package/build-module/components/template-actions/index.js.map +1 -1
- package/build-module/components/template-actions/rename-menu-item.js +3 -2
- package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
- package/build-module/components/welcome-guide/styles.js +2 -2
- package/build-module/components/welcome-guide/styles.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +5 -37
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/store/actions.js +30 -7
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/constants.js +35 -1
- package/build-module/utils/constants.js.map +1 -1
- package/build-module/utils/is-template-removable.js +6 -1
- package/build-module/utils/is-template-removable.js.map +1 -1
- package/build-module/utils/is-template-revertable.js +6 -1
- package/build-module/utils/is-template-revertable.js.map +1 -1
- package/build-style/style-rtl.css +244 -37
- package/build-style/style.css +244 -37
- package/lib/inflate.js +4082 -0
- package/lib/lib-font.browser.js +3831 -0
- package/lib/unbrotli.js +2679 -0
- package/package.json +40 -40
- package/src/components/add-new-pattern/index.js +83 -5
- package/src/components/add-new-template/index.js +3 -2
- package/src/components/add-new-template/new-template.js +6 -1
- package/src/components/add-new-template/utils.js +12 -3
- package/src/components/app/index.js +9 -12
- package/src/components/block-editor/back-button.js +6 -2
- package/src/components/block-editor/editor-canvas.js +31 -19
- package/src/components/block-editor/site-editor-canvas.js +2 -10
- package/src/components/block-editor/style.scss +88 -1
- package/src/components/block-editor/use-site-editor-settings.js +26 -19
- package/src/components/canvas-loader/index.js +12 -1
- package/src/components/canvas-loader/style.scss +1 -1
- package/src/components/editor/index.js +3 -8
- package/src/components/global-styles/dimensions-panel.js +8 -4
- package/src/components/global-styles/font-families.js +71 -0
- package/src/components/global-styles/font-family-item.js +44 -0
- package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +33 -0
- package/src/components/global-styles/font-library-modal/context.js +347 -0
- package/src/components/global-styles/font-library-modal/font-card.js +70 -0
- package/src/components/global-styles/font-library-modal/font-demo.js +57 -0
- package/src/components/global-styles/font-library-modal/font-variant.js +53 -0
- package/src/components/global-styles/font-library-modal/fonts-grid.js +55 -0
- package/src/components/global-styles/font-library-modal/index.js +42 -0
- package/src/components/global-styles/font-library-modal/installed-fonts.js +174 -0
- package/src/components/global-styles/font-library-modal/library-font-card.js +40 -0
- package/src/components/global-styles/font-library-modal/library-font-details.js +46 -0
- package/src/components/global-styles/font-library-modal/library-font-variant.js +54 -0
- package/src/components/global-styles/font-library-modal/local-fonts.js +160 -0
- package/src/components/global-styles/font-library-modal/resolvers.js +29 -0
- package/src/components/global-styles/font-library-modal/style.scss +113 -0
- package/src/components/global-styles/font-library-modal/tab-layout.js +50 -0
- package/src/components/global-styles/font-library-modal/utils/constants.js +31 -0
- package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
- package/src/components/global-styles/font-library-modal/utils/index.js +213 -0
- package/src/components/global-styles/font-library-modal/utils/make-families-from-faces.js +15 -0
- package/src/components/global-styles/font-library-modal/utils/test/getDisplaySrcFromFontFace.spec.js +53 -0
- package/src/components/global-styles/font-library-modal/utils/test/getFontFaceVariantName.spec.js +30 -0
- package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +240 -0
- package/src/components/global-styles/font-library-modal/utils/test/getPreviewStyle.spec.js +121 -0
- package/src/components/global-styles/font-library-modal/utils/test/isUrlEncoded.spec.js +31 -0
- package/src/components/global-styles/font-library-modal/utils/test/makeFamiliesFromFaces.spec.js +57 -0
- package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +62 -0
- package/src/components/global-styles/font-library-modal/utils/test/mergeFontFaces.spec.js +56 -0
- package/src/components/global-styles/font-library-modal/utils/test/mergeFontFamilies.spec.js +108 -0
- package/src/components/global-styles/font-library-modal/utils/test/setUIValuesNeeded.spec.js +41 -0
- package/src/components/global-styles/font-library-modal/utils/test/toggleFont.spec.js +141 -0
- package/src/components/global-styles/font-library-modal/utils/toggleFont.js +90 -0
- package/src/components/global-styles/global-styles-provider.js +2 -7
- package/src/components/global-styles/screen-block.js +42 -20
- package/src/components/global-styles/screen-revisions/index.js +0 -2
- package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
- package/src/components/global-styles/screen-typography.js +7 -95
- package/src/components/global-styles/style-variations-container.js +0 -2
- package/src/components/global-styles/typogrphy-elements.js +110 -0
- package/src/components/list/style.scss +2 -0
- package/src/components/page-patterns/duplicate-menu-item.js +63 -20
- package/src/components/page-patterns/grid-item.js +77 -30
- package/src/components/page-patterns/header.js +3 -12
- package/src/components/page-patterns/index.js +3 -3
- package/src/components/page-patterns/patterns-list.js +7 -7
- package/src/components/page-patterns/rename-menu-item.js +18 -7
- package/src/components/page-patterns/search-items.js +14 -2
- package/src/components/page-patterns/style.scss +1 -5
- package/src/components/page-patterns/use-patterns.js +67 -33
- package/src/components/page-patterns/utils.js +0 -19
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +47 -33
- package/src/components/sidebar-edit-mode/page-panels/hooks.js +83 -0
- package/src/components/sidebar-edit-mode/page-panels/index.js +0 -4
- package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -0
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +44 -0
- package/src/components/sidebar-edit-mode/page-panels/style.scss +41 -10
- package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +82 -0
- package/src/components/sidebar-edit-mode/template-panel/index.js +28 -24
- package/src/components/sidebar-edit-mode/template-panel/last-revision.js +19 -15
- package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +270 -0
- package/src/components/sidebar-navigation-screen/index.js +4 -9
- package/src/components/sidebar-navigation-screen/style.scss +7 -1
- package/src/components/sidebar-navigation-screen-details-footer/index.js +38 -10
- package/src/components/sidebar-navigation-screen-details-footer/style.scss +10 -3
- package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -0
- package/src/components/sidebar-navigation-screen-global-styles/index.js +6 -44
- package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -4
- package/src/components/sidebar-navigation-screen-page/index.js +3 -3
- package/src/components/sidebar-navigation-screen-pattern/index.js +20 -7
- package/src/components/sidebar-navigation-screen-pattern/style.scss +0 -3
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +46 -13
- package/src/components/sidebar-navigation-screen-patterns/index.js +14 -49
- package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +48 -6
- package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -5
- package/src/components/sidebar-navigation-screen-template/index.js +2 -4
- package/src/components/sidebar-navigation-screen-templates/index.js +1 -1
- package/src/components/template-actions/index.js +14 -8
- package/src/components/template-actions/rename-menu-item.js +15 -4
- package/src/components/welcome-guide/styles.js +2 -2
- package/src/hooks/push-changes-to-global-styles/index.js +6 -49
- package/src/store/actions.js +39 -13
- package/src/store/test/actions.js +0 -1
- package/src/store/test/reducer.js +0 -1
- package/src/style.scss +1 -1
- package/src/utils/constants.js +38 -3
- package/src/utils/is-template-removable.js +8 -1
- package/src/utils/is-template-revertable.js +8 -1
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -30
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -23
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
- package/src/components/sidebar-navigation-screen-global-styles/style.scss +0 -12
- package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -24
|
@@ -8,11 +8,9 @@ exports.default = void 0;
|
|
|
8
8
|
var _element = require("@wordpress/element");
|
|
9
9
|
var _i18n = require("@wordpress/i18n");
|
|
10
10
|
var _components = require("@wordpress/components");
|
|
11
|
-
var
|
|
11
|
+
var _typogrphyElements = _interopRequireDefault(require("./typogrphy-elements"));
|
|
12
|
+
var _fontFamilies = _interopRequireDefault(require("./font-families"));
|
|
12
13
|
var _header = _interopRequireDefault(require("./header"));
|
|
13
|
-
var _navigationButton = require("./navigation-button");
|
|
14
|
-
var _subtitle = _interopRequireDefault(require("./subtitle"));
|
|
15
|
-
var _lockUnlock = require("../../lock-unlock");
|
|
16
14
|
/**
|
|
17
15
|
* WordPress dependencies
|
|
18
16
|
*/
|
|
@@ -21,81 +19,15 @@ var _lockUnlock = require("../../lock-unlock");
|
|
|
21
19
|
* Internal dependencies
|
|
22
20
|
*/
|
|
23
21
|
|
|
24
|
-
const {
|
|
25
|
-
useGlobalStyle
|
|
26
|
-
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
27
|
-
function Item({
|
|
28
|
-
parentMenu,
|
|
29
|
-
element,
|
|
30
|
-
label
|
|
31
|
-
}) {
|
|
32
|
-
const prefix = element === 'text' || !element ? '' : `elements.${element}.`;
|
|
33
|
-
const extraStyles = element === 'link' ? {
|
|
34
|
-
textDecoration: 'underline'
|
|
35
|
-
} : {};
|
|
36
|
-
const [fontFamily] = useGlobalStyle(prefix + 'typography.fontFamily');
|
|
37
|
-
const [fontStyle] = useGlobalStyle(prefix + 'typography.fontStyle');
|
|
38
|
-
const [fontWeight] = useGlobalStyle(prefix + 'typography.fontWeight');
|
|
39
|
-
const [letterSpacing] = useGlobalStyle(prefix + 'typography.letterSpacing');
|
|
40
|
-
const [backgroundColor] = useGlobalStyle(prefix + 'color.background');
|
|
41
|
-
const [gradientValue] = useGlobalStyle(prefix + 'color.gradient');
|
|
42
|
-
const [color] = useGlobalStyle(prefix + 'color.text');
|
|
43
|
-
const navigationButtonLabel = (0, _i18n.sprintf)(
|
|
44
|
-
// translators: %s: is a subset of Typography, e.g., 'text' or 'links'.
|
|
45
|
-
(0, _i18n.__)('Typography %s styles'), label);
|
|
46
|
-
return (0, _element.createElement)(_navigationButton.NavigationButtonAsItem, {
|
|
47
|
-
path: parentMenu + '/typography/' + element,
|
|
48
|
-
"aria-label": navigationButtonLabel
|
|
49
|
-
}, (0, _element.createElement)(_components.__experimentalHStack, {
|
|
50
|
-
justify: "flex-start"
|
|
51
|
-
}, (0, _element.createElement)(_components.FlexItem, {
|
|
52
|
-
className: "edit-site-global-styles-screen-typography__indicator",
|
|
53
|
-
style: {
|
|
54
|
-
fontFamily: fontFamily !== null && fontFamily !== void 0 ? fontFamily : 'serif',
|
|
55
|
-
background: gradientValue !== null && gradientValue !== void 0 ? gradientValue : backgroundColor,
|
|
56
|
-
color,
|
|
57
|
-
fontStyle,
|
|
58
|
-
fontWeight,
|
|
59
|
-
letterSpacing,
|
|
60
|
-
...extraStyles
|
|
61
|
-
}
|
|
62
|
-
}, (0, _i18n.__)('Aa')), (0, _element.createElement)(_components.FlexItem, null, label)));
|
|
63
|
-
}
|
|
64
22
|
function ScreenTypography() {
|
|
65
|
-
const parentMenu = '';
|
|
66
23
|
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_header.default, {
|
|
67
24
|
title: (0, _i18n.__)('Typography'),
|
|
68
25
|
description: (0, _i18n.__)('Manage the typography settings for different elements.')
|
|
69
26
|
}), (0, _element.createElement)("div", {
|
|
70
27
|
className: "edit-site-global-styles-screen-typography"
|
|
71
28
|
}, (0, _element.createElement)(_components.__experimentalVStack, {
|
|
72
|
-
spacing:
|
|
73
|
-
}, (0, _element.createElement)(
|
|
74
|
-
level: 3
|
|
75
|
-
}, (0, _i18n.__)('Elements')), (0, _element.createElement)(_components.__experimentalItemGroup, {
|
|
76
|
-
isBordered: true,
|
|
77
|
-
isSeparated: true
|
|
78
|
-
}, (0, _element.createElement)(Item, {
|
|
79
|
-
parentMenu: parentMenu,
|
|
80
|
-
element: "text",
|
|
81
|
-
label: (0, _i18n.__)('Text')
|
|
82
|
-
}), (0, _element.createElement)(Item, {
|
|
83
|
-
parentMenu: parentMenu,
|
|
84
|
-
element: "link",
|
|
85
|
-
label: (0, _i18n.__)('Links')
|
|
86
|
-
}), (0, _element.createElement)(Item, {
|
|
87
|
-
parentMenu: parentMenu,
|
|
88
|
-
element: "heading",
|
|
89
|
-
label: (0, _i18n.__)('Headings')
|
|
90
|
-
}), (0, _element.createElement)(Item, {
|
|
91
|
-
parentMenu: parentMenu,
|
|
92
|
-
element: "caption",
|
|
93
|
-
label: (0, _i18n.__)('Captions')
|
|
94
|
-
}), (0, _element.createElement)(Item, {
|
|
95
|
-
parentMenu: parentMenu,
|
|
96
|
-
element: "button",
|
|
97
|
-
label: (0, _i18n.__)('Buttons')
|
|
98
|
-
})))));
|
|
29
|
+
spacing: 6
|
|
30
|
+
}, window.__experimentalFontLibrary && (0, _element.createElement)(_fontFamilies.default, null), (0, _element.createElement)(_typogrphyElements.default, null))));
|
|
99
31
|
}
|
|
100
32
|
var _default = ScreenTypography;
|
|
101
33
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_typogrphyElements","_interopRequireDefault","_fontFamilies","_header","ScreenTypography","_element","createElement","Fragment","default","title","__","description","className","__experimentalVStack","spacing","window","__experimentalFontLibrary","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-typography.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalVStack as VStack } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport TypographyElements from './typogrphy-elements';\nimport FontFamilies from './font-families';\nimport ScreenHeader from './header';\n\nfunction ScreenTypography() {\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Typography' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Manage the typography settings for different elements.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<div className=\"edit-site-global-styles-screen-typography\">\n\t\t\t\t<VStack spacing={ 6 }>\n\t\t\t\t\t{ window.__experimentalFontLibrary && <FontFamilies /> }\n\t\t\t\t\t<TypographyElements />\n\t\t\t\t</VStack>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ScreenTypography;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,aAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,OAAA,GAAAF,sBAAA,CAAAH,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAKA,SAASM,gBAAgBA,CAAA,EAAG;EAC3B,OACC,IAAAC,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAE,QAAA,QACC,IAAAF,QAAA,CAAAC,aAAA,EAACH,OAAA,CAAAK,OAAY;IACZC,KAAK,EAAG,IAAAC,QAAE,EAAE,YAAa,CAAG;IAC5BC,WAAW,EAAG,IAAAD,QAAE,EACf,wDACD;EAAG,CACH,CAAC,EACF,IAAAL,QAAA,CAAAC,aAAA;IAAKM,SAAS,EAAC;EAA2C,GACzD,IAAAP,QAAA,CAAAC,aAAA,EAACP,WAAA,CAAAc,oBAAM;IAACC,OAAO,EAAG;EAAG,GAClBC,MAAM,CAACC,yBAAyB,IAAI,IAAAX,QAAA,CAAAC,aAAA,EAACJ,aAAA,CAAAM,OAAY,MAAE,CAAC,EACtD,IAAAH,QAAA,CAAAC,aAAA,EAACN,kBAAA,CAAAQ,OAAkB,MAAE,CACd,CACJ,CACJ,CAAC;AAEL;AAAC,IAAAS,QAAA,GAEcb,gBAAgB;AAAAc,OAAA,CAAAV,OAAA,GAAAS,QAAA"}
|
|
@@ -105,15 +105,13 @@ function StyleVariationsContainer() {
|
|
|
105
105
|
return [{
|
|
106
106
|
title: (0, _i18n.__)('Default'),
|
|
107
107
|
settings: {},
|
|
108
|
-
styles: {}
|
|
109
|
-
behaviors: {}
|
|
108
|
+
styles: {}
|
|
110
109
|
}, ...(variations !== null && variations !== void 0 ? variations : []).map(variation => {
|
|
111
|
-
var _variation$settings2, _variation$styles2
|
|
110
|
+
var _variation$settings2, _variation$styles2;
|
|
112
111
|
return {
|
|
113
112
|
...variation,
|
|
114
113
|
settings: (_variation$settings2 = variation.settings) !== null && _variation$settings2 !== void 0 ? _variation$settings2 : {},
|
|
115
|
-
styles: (_variation$styles2 = variation.styles) !== null && _variation$styles2 !== void 0 ? _variation$styles2 : {}
|
|
116
|
-
behaviors: (_variation$behaviors = variation.behaviors) !== null && _variation$behaviors !== void 0 ? _variation$behaviors : {}
|
|
114
|
+
styles: (_variation$styles2 = variation.styles) !== null && _variation$styles2 !== void 0 ? _variation$styles2 : {}
|
|
117
115
|
};
|
|
118
116
|
})];
|
|
119
117
|
}, [variations]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_coreData","_data","_keycodes","_components","_i18n","_blockEditor","_globalStylesProvider","_preview","_lockUnlock","GlobalStylesContext","areGlobalStyleConfigsEqual","unlock","blockEditorPrivateApis","Variation","variation","isFocused","setIsFocused","useState","base","user","setUserConfig","useContext","context","useMemo","_variation$settings","_variation$styles","settings","styles","merged","mergeBaseAndUserConfigs","selectVariation","selectOnEnter","event","keyCode","ENTER","preventDefault","isActive","label","title","description","sprintf","__","createElement","Provider","value","className","classnames","role","onClick","onKeyDown","tabIndex","onFocus","onBlur","default","withHoverView","StyleVariationsContainer","variations","useSelect","select","coreStore","__experimentalGetCurrentThemeGlobalStylesVariations","withEmptyVariation","
|
|
1
|
+
{"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_coreData","_data","_keycodes","_components","_i18n","_blockEditor","_globalStylesProvider","_preview","_lockUnlock","GlobalStylesContext","areGlobalStyleConfigsEqual","unlock","blockEditorPrivateApis","Variation","variation","isFocused","setIsFocused","useState","base","user","setUserConfig","useContext","context","useMemo","_variation$settings","_variation$styles","settings","styles","merged","mergeBaseAndUserConfigs","selectVariation","selectOnEnter","event","keyCode","ENTER","preventDefault","isActive","label","title","description","sprintf","__","createElement","Provider","value","className","classnames","role","onClick","onKeyDown","tabIndex","onFocus","onBlur","default","withHoverView","StyleVariationsContainer","variations","useSelect","select","coreStore","__experimentalGetCurrentThemeGlobalStylesVariations","withEmptyVariation","map","_variation$settings2","_variation$styles2","__experimentalGrid","columns","index","key"],"sources":["@wordpress/edit-site/src/components/global-styles/style-variations-container.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, useContext, useState } from '@wordpress/element';\nimport { ENTER } from '@wordpress/keycodes';\nimport { __experimentalGrid as Grid } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { mergeBaseAndUserConfigs } from './global-styles-provider';\nimport StylesPreview from './preview';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction Variation( { variation } ) {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\tconst { base, user, setUserConfig } = useContext( GlobalStylesContext );\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tuser: {\n\t\t\t\tsettings: variation.settings ?? {},\n\t\t\t\tstyles: variation.styles ?? {},\n\t\t\t},\n\t\t\tbase,\n\t\t\tmerged: mergeBaseAndUserConfigs( base, variation ),\n\t\t\tsetUserConfig: () => {},\n\t\t};\n\t}, [ variation, base ] );\n\n\tconst selectVariation = () => {\n\t\tsetUserConfig( () => {\n\t\t\treturn {\n\t\t\t\tsettings: variation.settings,\n\t\t\t\tstyles: variation.styles,\n\t\t\t};\n\t\t} );\n\t};\n\n\tconst selectOnEnter = ( event ) => {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tselectVariation();\n\t\t}\n\t};\n\n\tconst isActive = useMemo( () => {\n\t\treturn areGlobalStyleConfigsEqual( user, variation );\n\t}, [ user, variation ] );\n\n\tlet label = variation?.title;\n\tif ( variation?.description ) {\n\t\tlabel = sprintf(\n\t\t\t/* translators: %1$s: variation title. %2$s variation description. */\n\t\t\t__( '%1$s (%2$s)' ),\n\t\t\tvariation?.title,\n\t\t\tvariation?.description\n\t\t);\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t<div\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-global-styles-variations_item',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-active': isActive,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\trole=\"button\"\n\t\t\t\tonClick={ selectVariation }\n\t\t\t\tonKeyDown={ selectOnEnter }\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\taria-label={ label }\n\t\t\t\taria-current={ isActive }\n\t\t\t\tonFocus={ () => setIsFocused( true ) }\n\t\t\t\tonBlur={ () => setIsFocused( false ) }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-global-styles-variations_item-preview\">\n\t\t\t\t\t<StylesPreview\n\t\t\t\t\t\tlabel={ variation?.title }\n\t\t\t\t\t\tisFocused={ isFocused }\n\t\t\t\t\t\twithHoverView\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n\nexport default function StyleVariationsContainer() {\n\tconst variations = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\t}, [] );\n\n\tconst withEmptyVariation = useMemo( () => {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttitle: __( 'Default' ),\n\t\t\t\tsettings: {},\n\t\t\t\tstyles: {},\n\t\t\t},\n\t\t\t...( variations ?? [] ).map( ( variation ) => ( {\n\t\t\t\t...variation,\n\t\t\t\tsettings: variation.settings ?? {},\n\t\t\t\tstyles: variation.styles ?? {},\n\t\t\t} ) ),\n\t\t];\n\t}, [ variations ] );\n\n\treturn (\n\t\t<Grid\n\t\t\tcolumns={ 2 }\n\t\t\tclassName=\"edit-site-global-styles-style-variations-container\"\n\t\t>\n\t\t\t{ withEmptyVariation.map( ( variation, index ) => (\n\t\t\t\t<Variation key={ index } variation={ variation } />\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
var _i18n = require("@wordpress/i18n");
|
|
10
|
+
var _components = require("@wordpress/components");
|
|
11
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
12
|
+
var _navigationButton = require("./navigation-button");
|
|
13
|
+
var _subtitle = _interopRequireDefault(require("./subtitle"));
|
|
14
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
15
|
+
/**
|
|
16
|
+
* WordPress dependencies
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Internal dependencies
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
const {
|
|
24
|
+
useGlobalStyle
|
|
25
|
+
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
26
|
+
function ElementItem({
|
|
27
|
+
parentMenu,
|
|
28
|
+
element,
|
|
29
|
+
label
|
|
30
|
+
}) {
|
|
31
|
+
const prefix = element === 'text' || !element ? '' : `elements.${element}.`;
|
|
32
|
+
const extraStyles = element === 'link' ? {
|
|
33
|
+
textDecoration: 'underline'
|
|
34
|
+
} : {};
|
|
35
|
+
const [fontFamily] = useGlobalStyle(prefix + 'typography.fontFamily');
|
|
36
|
+
const [fontStyle] = useGlobalStyle(prefix + 'typography.fontStyle');
|
|
37
|
+
const [fontWeight] = useGlobalStyle(prefix + 'typography.fontWeight');
|
|
38
|
+
const [letterSpacing] = useGlobalStyle(prefix + 'typography.letterSpacing');
|
|
39
|
+
const [backgroundColor] = useGlobalStyle(prefix + 'color.background');
|
|
40
|
+
const [gradientValue] = useGlobalStyle(prefix + 'color.gradient');
|
|
41
|
+
const [color] = useGlobalStyle(prefix + 'color.text');
|
|
42
|
+
const navigationButtonLabel = (0, _i18n.sprintf)(
|
|
43
|
+
// translators: %s: is a subset of Typography, e.g., 'text' or 'links'.
|
|
44
|
+
(0, _i18n.__)('Typography %s styles'), label);
|
|
45
|
+
return (0, _element.createElement)(_navigationButton.NavigationButtonAsItem, {
|
|
46
|
+
path: parentMenu + '/typography/' + element,
|
|
47
|
+
"aria-label": navigationButtonLabel
|
|
48
|
+
}, (0, _element.createElement)(_components.__experimentalHStack, {
|
|
49
|
+
justify: "flex-start"
|
|
50
|
+
}, (0, _element.createElement)(_components.FlexItem, {
|
|
51
|
+
className: "edit-site-global-styles-screen-typography__indicator",
|
|
52
|
+
style: {
|
|
53
|
+
fontFamily: fontFamily !== null && fontFamily !== void 0 ? fontFamily : 'serif',
|
|
54
|
+
background: gradientValue !== null && gradientValue !== void 0 ? gradientValue : backgroundColor,
|
|
55
|
+
color,
|
|
56
|
+
fontStyle,
|
|
57
|
+
fontWeight,
|
|
58
|
+
letterSpacing,
|
|
59
|
+
...extraStyles
|
|
60
|
+
}
|
|
61
|
+
}, (0, _i18n.__)('Aa')), (0, _element.createElement)(_components.FlexItem, null, label)));
|
|
62
|
+
}
|
|
63
|
+
function TypographyElements() {
|
|
64
|
+
const parentMenu = '';
|
|
65
|
+
return (0, _element.createElement)(_components.__experimentalVStack, {
|
|
66
|
+
spacing: 3
|
|
67
|
+
}, (0, _element.createElement)(_subtitle.default, {
|
|
68
|
+
level: 3
|
|
69
|
+
}, (0, _i18n.__)('Elements')), (0, _element.createElement)(_components.__experimentalItemGroup, {
|
|
70
|
+
isBordered: true,
|
|
71
|
+
isSeparated: true
|
|
72
|
+
}, (0, _element.createElement)(ElementItem, {
|
|
73
|
+
parentMenu: parentMenu,
|
|
74
|
+
element: "text",
|
|
75
|
+
label: (0, _i18n.__)('Text')
|
|
76
|
+
}), (0, _element.createElement)(ElementItem, {
|
|
77
|
+
parentMenu: parentMenu,
|
|
78
|
+
element: "link",
|
|
79
|
+
label: (0, _i18n.__)('Links')
|
|
80
|
+
}), (0, _element.createElement)(ElementItem, {
|
|
81
|
+
parentMenu: parentMenu,
|
|
82
|
+
element: "heading",
|
|
83
|
+
label: (0, _i18n.__)('Headings')
|
|
84
|
+
}), (0, _element.createElement)(ElementItem, {
|
|
85
|
+
parentMenu: parentMenu,
|
|
86
|
+
element: "caption",
|
|
87
|
+
label: (0, _i18n.__)('Captions')
|
|
88
|
+
}), (0, _element.createElement)(ElementItem, {
|
|
89
|
+
parentMenu: parentMenu,
|
|
90
|
+
element: "button",
|
|
91
|
+
label: (0, _i18n.__)('Buttons')
|
|
92
|
+
})));
|
|
93
|
+
}
|
|
94
|
+
var _default = TypographyElements;
|
|
95
|
+
exports.default = _default;
|
|
96
|
+
//# sourceMappingURL=typogrphy-elements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_blockEditor","_navigationButton","_subtitle","_interopRequireDefault","_lockUnlock","useGlobalStyle","unlock","blockEditorPrivateApis","ElementItem","parentMenu","element","label","prefix","extraStyles","textDecoration","fontFamily","fontStyle","fontWeight","letterSpacing","backgroundColor","gradientValue","color","navigationButtonLabel","sprintf","__","_element","createElement","NavigationButtonAsItem","path","__experimentalHStack","justify","FlexItem","className","style","background","TypographyElements","__experimentalVStack","spacing","default","level","__experimentalItemGroup","isBordered","isSeparated","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/typogrphy-elements.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n} from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { NavigationButtonAsItem } from './navigation-button';\nimport Subtitle from './subtitle';\n\nimport { unlock } from '../../lock-unlock';\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction ElementItem( { parentMenu, element, label } ) {\n\tconst prefix =\n\t\telement === 'text' || ! element ? '' : `elements.${ element }.`;\n\tconst extraStyles =\n\t\telement === 'link'\n\t\t\t? {\n\t\t\t\t\ttextDecoration: 'underline',\n\t\t\t }\n\t\t\t: {};\n\tconst [ fontFamily ] = useGlobalStyle( prefix + 'typography.fontFamily' );\n\tconst [ fontStyle ] = useGlobalStyle( prefix + 'typography.fontStyle' );\n\tconst [ fontWeight ] = useGlobalStyle( prefix + 'typography.fontWeight' );\n\tconst [ letterSpacing ] = useGlobalStyle(\n\t\tprefix + 'typography.letterSpacing'\n\t);\n\tconst [ backgroundColor ] = useGlobalStyle( prefix + 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( prefix + 'color.gradient' );\n\tconst [ color ] = useGlobalStyle( prefix + 'color.text' );\n\n\tconst navigationButtonLabel = sprintf(\n\t\t// translators: %s: is a subset of Typography, e.g., 'text' or 'links'.\n\t\t__( 'Typography %s styles' ),\n\t\tlabel\n\t);\n\n\treturn (\n\t\t<NavigationButtonAsItem\n\t\t\tpath={ parentMenu + '/typography/' + element }\n\t\t\taria-label={ navigationButtonLabel }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<FlexItem\n\t\t\t\t\tclassName=\"edit-site-global-styles-screen-typography__indicator\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tfontFamily: fontFamily ?? 'serif',\n\t\t\t\t\t\tbackground: gradientValue ?? backgroundColor,\n\t\t\t\t\t\tcolor,\n\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\tletterSpacing,\n\t\t\t\t\t\t...extraStyles,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Aa' ) }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>{ label }</FlexItem>\n\t\t\t</HStack>\n\t\t</NavigationButtonAsItem>\n\t);\n}\n\nfunction TypographyElements() {\n\tconst parentMenu = '';\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<Subtitle level={ 3 }>{ __( 'Elements' ) }</Subtitle>\n\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t<ElementItem\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\telement=\"text\"\n\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t/>\n\t\t\t\t<ElementItem\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\telement=\"link\"\n\t\t\t\t\tlabel={ __( 'Links' ) }\n\t\t\t\t/>\n\t\t\t\t<ElementItem\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\telement=\"heading\"\n\t\t\t\t\tlabel={ __( 'Headings' ) }\n\t\t\t\t/>\n\t\t\t\t<ElementItem\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\telement=\"caption\"\n\t\t\t\t\tlabel={ __( 'Captions' ) }\n\t\t\t\t/>\n\t\t\t\t<ElementItem\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\telement=\"button\"\n\t\t\t\t\tlabel={ __( 'Buttons' ) }\n\t\t\t\t/>\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nexport default TypographyElements;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -11,9 +12,10 @@ var _data = require("@wordpress/data");
|
|
|
11
12
|
var _i18n = require("@wordpress/i18n");
|
|
12
13
|
var _notices = require("@wordpress/notices");
|
|
13
14
|
var _router = require("@wordpress/router");
|
|
14
|
-
var
|
|
15
|
+
var _constants = require("../../utils/constants");
|
|
15
16
|
var _templatePartCreate = require("../../utils/template-part-create");
|
|
16
17
|
var _lockUnlock = require("../../lock-unlock");
|
|
18
|
+
var _usePatternCategories = _interopRequireDefault(require("../sidebar-navigation-screen-patterns/use-pattern-categories"));
|
|
17
19
|
/**
|
|
18
20
|
* WordPress dependencies
|
|
19
21
|
*/
|
|
@@ -26,15 +28,15 @@ const {
|
|
|
26
28
|
useHistory
|
|
27
29
|
} = (0, _lockUnlock.unlock)(_router.privateApis);
|
|
28
30
|
function getPatternMeta(item) {
|
|
29
|
-
if (item.type ===
|
|
31
|
+
if (item.type === _constants.PATTERN_TYPES.theme) {
|
|
30
32
|
return {
|
|
31
|
-
wp_pattern_sync_status:
|
|
33
|
+
wp_pattern_sync_status: _constants.PATTERN_SYNC_TYPES.unsynced
|
|
32
34
|
};
|
|
33
35
|
}
|
|
34
|
-
const syncStatus = item.
|
|
35
|
-
const isUnsynced = syncStatus ===
|
|
36
|
+
const syncStatus = item.patternBlock.wp_pattern_sync_status;
|
|
37
|
+
const isUnsynced = syncStatus === _constants.PATTERN_SYNC_TYPES.unsynced;
|
|
36
38
|
return {
|
|
37
|
-
...item.
|
|
39
|
+
...item.patternBlock.meta,
|
|
38
40
|
wp_pattern_sync_status: isUnsynced ? syncStatus : undefined
|
|
39
41
|
};
|
|
40
42
|
}
|
|
@@ -45,7 +47,8 @@ function DuplicateMenuItem({
|
|
|
45
47
|
onClose
|
|
46
48
|
}) {
|
|
47
49
|
const {
|
|
48
|
-
saveEntityRecord
|
|
50
|
+
saveEntityRecord,
|
|
51
|
+
invalidateResolution
|
|
49
52
|
} = (0, _data.useDispatch)(_coreData.store);
|
|
50
53
|
const {
|
|
51
54
|
createErrorNotice,
|
|
@@ -53,6 +56,9 @@ function DuplicateMenuItem({
|
|
|
53
56
|
} = (0, _data.useDispatch)(_notices.store);
|
|
54
57
|
const history = useHistory();
|
|
55
58
|
const existingTemplateParts = (0, _templatePartCreate.useExistingTemplateParts)();
|
|
59
|
+
const {
|
|
60
|
+
patternCategories
|
|
61
|
+
} = (0, _usePatternCategories.default)();
|
|
56
62
|
async function createTemplatePart() {
|
|
57
63
|
try {
|
|
58
64
|
const copiedTitle = (0, _i18n.sprintf)( /* translators: %s: Existing template part title */
|
|
@@ -78,9 +84,9 @@ function DuplicateMenuItem({
|
|
|
78
84
|
id: 'edit-site-patterns-success'
|
|
79
85
|
});
|
|
80
86
|
history.push({
|
|
81
|
-
postType:
|
|
87
|
+
postType: _constants.TEMPLATE_PART_POST_TYPE,
|
|
82
88
|
postId: result?.id,
|
|
83
|
-
categoryType:
|
|
89
|
+
categoryType: _constants.TEMPLATE_PART_POST_TYPE,
|
|
84
90
|
categoryId
|
|
85
91
|
});
|
|
86
92
|
onClose();
|
|
@@ -93,16 +99,46 @@ function DuplicateMenuItem({
|
|
|
93
99
|
onClose();
|
|
94
100
|
}
|
|
95
101
|
}
|
|
102
|
+
async function findOrCreateTerm(term) {
|
|
103
|
+
try {
|
|
104
|
+
const newTerm = await saveEntityRecord('taxonomy', 'wp_pattern_category', {
|
|
105
|
+
name: term.label,
|
|
106
|
+
slug: term.name,
|
|
107
|
+
description: term.description
|
|
108
|
+
}, {
|
|
109
|
+
throwOnError: true
|
|
110
|
+
});
|
|
111
|
+
invalidateResolution('getUserPatternCategories');
|
|
112
|
+
return newTerm.id;
|
|
113
|
+
} catch (error) {
|
|
114
|
+
if (error.code !== 'term_exists') {
|
|
115
|
+
throw error;
|
|
116
|
+
}
|
|
117
|
+
return error.data.term_id;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
async function getCategories(categories) {
|
|
121
|
+
const terms = categories.map(category => {
|
|
122
|
+
const fullCategory = patternCategories.find(cat => cat.name === category);
|
|
123
|
+
if (fullCategory.id) {
|
|
124
|
+
return fullCategory.id;
|
|
125
|
+
}
|
|
126
|
+
return findOrCreateTerm(fullCategory);
|
|
127
|
+
});
|
|
128
|
+
return Promise.all(terms);
|
|
129
|
+
}
|
|
96
130
|
async function createPattern() {
|
|
97
131
|
try {
|
|
98
|
-
const isThemePattern = item.type ===
|
|
132
|
+
const isThemePattern = item.type === _constants.PATTERN_TYPES.theme;
|
|
99
133
|
const title = (0, _i18n.sprintf)( /* translators: %s: Existing pattern title */
|
|
100
134
|
(0, _i18n.__)('%s (Copy)'), item.title);
|
|
135
|
+
const categories = await getCategories(item.categories);
|
|
101
136
|
const result = await saveEntityRecord('postType', 'wp_block', {
|
|
102
|
-
content: isThemePattern ? item.content : item.
|
|
137
|
+
content: isThemePattern ? item.content : item.patternBlock.content,
|
|
103
138
|
meta: getPatternMeta(item),
|
|
104
139
|
status: 'publish',
|
|
105
|
-
title
|
|
140
|
+
title,
|
|
141
|
+
wp_pattern_category: categories
|
|
106
142
|
}, {
|
|
107
143
|
throwOnError: true
|
|
108
144
|
});
|
|
@@ -113,9 +149,9 @@ function DuplicateMenuItem({
|
|
|
113
149
|
id: 'edit-site-patterns-success'
|
|
114
150
|
});
|
|
115
151
|
history.push({
|
|
116
|
-
categoryType:
|
|
117
|
-
categoryId
|
|
118
|
-
postType:
|
|
152
|
+
categoryType: _constants.PATTERN_TYPES.theme,
|
|
153
|
+
categoryId,
|
|
154
|
+
postType: _constants.PATTERN_TYPES.user,
|
|
119
155
|
postId: result?.id
|
|
120
156
|
});
|
|
121
157
|
onClose();
|
|
@@ -128,7 +164,7 @@ function DuplicateMenuItem({
|
|
|
128
164
|
onClose();
|
|
129
165
|
}
|
|
130
166
|
}
|
|
131
|
-
const createItem = item.type ===
|
|
167
|
+
const createItem = item.type === _constants.TEMPLATE_PART_POST_TYPE ? createTemplatePart : createPattern;
|
|
132
168
|
return (0, _element.createElement)(_components.MenuItem, {
|
|
133
169
|
onClick: createItem
|
|
134
170
|
}, label);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_coreData","_data","_i18n","_notices","_router","_utils","_templatePartCreate","_lockUnlock","useHistory","unlock","routerPrivateApis","getPatternMeta","item","type","PATTERNS","wp_pattern_sync_status","SYNC_TYPES","unsynced","syncStatus","reusableBlock","isUnsynced","meta","undefined","DuplicateMenuItem","categoryId","label","__","onClose","saveEntityRecord","useDispatch","coreStore","createErrorNotice","createSuccessNotice","noticesStore","history","existingTemplateParts","useExistingTemplateParts","createTemplatePart","copiedTitle","sprintf","title","getUniqueTemplatePartTitle","slug","getCleanTemplatePartSlug","area","content","templatePart","result","throwOnError","id","push","postType","TEMPLATE_PARTS","postId","categoryType","error","errorMessage","message","code","createPattern","isThemePattern","status","USER_PATTERNS","USER_PATTERN_CATEGORY","createItem","_element","createElement","MenuItem","onClick"],"sources":["@wordpress/edit-site/src/components/page-patterns/duplicate-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_PARTS,\n\tPATTERNS,\n\tSYNC_TYPES,\n\tUSER_PATTERNS,\n\tUSER_PATTERN_CATEGORY,\n} from './utils';\nimport {\n\tuseExistingTemplateParts,\n\tgetUniqueTemplatePartTitle,\n\tgetCleanTemplatePartSlug,\n} from '../../utils/template-part-create';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nfunction getPatternMeta( item ) {\n\tif ( item.type === PATTERNS ) {\n\t\treturn { wp_pattern_sync_status: SYNC_TYPES.unsynced };\n\t}\n\n\tconst syncStatus = item.reusableBlock.wp_pattern_sync_status;\n\tconst isUnsynced = syncStatus === SYNC_TYPES.unsynced;\n\n\treturn {\n\t\t...item.reusableBlock.meta,\n\t\twp_pattern_sync_status: isUnsynced ? syncStatus : undefined,\n\t};\n}\n\nexport default function DuplicateMenuItem( {\n\tcategoryId,\n\titem,\n\tlabel = __( 'Duplicate' ),\n\tonClose,\n} ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst history = useHistory();\n\tconst existingTemplateParts = useExistingTemplateParts();\n\n\tasync function createTemplatePart() {\n\t\ttry {\n\t\t\tconst copiedTitle = sprintf(\n\t\t\t\t/* translators: %s: Existing template part title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\titem.title\n\t\t\t);\n\t\t\tconst title = getUniqueTemplatePartTitle(\n\t\t\t\tcopiedTitle,\n\t\t\t\texistingTemplateParts\n\t\t\t);\n\t\t\tconst slug = getCleanTemplatePartSlug( title );\n\t\t\tconst { area, content } = item.templatePart;\n\n\t\t\tconst result = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t{ slug, title, content, area },\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new template part's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-patterns-success',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\thistory.push( {\n\t\t\t\tpostType: TEMPLATE_PARTS,\n\t\t\t\tpostId: result?.id,\n\t\t\t\tcategoryType: TEMPLATE_PARTS,\n\t\t\t\tcategoryId,\n\t\t\t} );\n\n\t\t\tonClose();\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: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\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\tonClose();\n\t\t}\n\t}\n\n\tasync function createPattern() {\n\t\ttry {\n\t\t\tconst isThemePattern = item.type === PATTERNS;\n\t\t\tconst title = sprintf(\n\t\t\t\t/* translators: %s: Existing pattern title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\titem.title\n\t\t\t);\n\n\t\t\tconst result = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\t{\n\t\t\t\t\tcontent: isThemePattern\n\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t: item.reusableBlock.content,\n\t\t\t\t\tmeta: getPatternMeta( item ),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new pattern's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-patterns-success',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\thistory.push( {\n\t\t\t\tcategoryType: USER_PATTERNS,\n\t\t\t\tcategoryId: USER_PATTERN_CATEGORY,\n\t\t\t\tpostType: USER_PATTERNS,\n\t\t\t\tpostId: result?.id,\n\t\t\t} );\n\n\t\t\tonClose();\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 creating the pattern.' );\n\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\tonClose();\n\t\t}\n\t}\n\n\tconst createItem =\n\t\titem.type === TEMPLATE_PARTS ? createTemplatePart : createPattern;\n\n\treturn <MenuItem onClick={ createItem }>{ label }</MenuItem>;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_components","require","_coreData","_data","_i18n","_notices","_router","_constants","_templatePartCreate","_lockUnlock","_usePatternCategories","_interopRequireDefault","useHistory","unlock","routerPrivateApis","getPatternMeta","item","type","PATTERN_TYPES","theme","wp_pattern_sync_status","PATTERN_SYNC_TYPES","unsynced","syncStatus","patternBlock","isUnsynced","meta","undefined","DuplicateMenuItem","categoryId","label","__","onClose","saveEntityRecord","invalidateResolution","useDispatch","coreStore","createErrorNotice","createSuccessNotice","noticesStore","history","existingTemplateParts","useExistingTemplateParts","patternCategories","usePatternCategories","createTemplatePart","copiedTitle","sprintf","title","getUniqueTemplatePartTitle","slug","getCleanTemplatePartSlug","area","content","templatePart","result","throwOnError","id","push","postType","TEMPLATE_PART_POST_TYPE","postId","categoryType","error","errorMessage","message","code","findOrCreateTerm","term","newTerm","name","description","data","term_id","getCategories","categories","terms","map","category","fullCategory","find","cat","Promise","all","createPattern","isThemePattern","status","wp_pattern_category","user","createItem","_element","createElement","MenuItem","onClick"],"sources":["@wordpress/edit-site/src/components/page-patterns/duplicate-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n} from '../../utils/constants';\nimport {\n\tuseExistingTemplateParts,\n\tgetUniqueTemplatePartTitle,\n\tgetCleanTemplatePartSlug,\n} from '../../utils/template-part-create';\nimport { unlock } from '../../lock-unlock';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nfunction getPatternMeta( item ) {\n\tif ( item.type === PATTERN_TYPES.theme ) {\n\t\treturn { wp_pattern_sync_status: PATTERN_SYNC_TYPES.unsynced };\n\t}\n\n\tconst syncStatus = item.patternBlock.wp_pattern_sync_status;\n\tconst isUnsynced = syncStatus === PATTERN_SYNC_TYPES.unsynced;\n\n\treturn {\n\t\t...item.patternBlock.meta,\n\t\twp_pattern_sync_status: isUnsynced ? syncStatus : undefined,\n\t};\n}\n\nexport default function DuplicateMenuItem( {\n\tcategoryId,\n\titem,\n\tlabel = __( 'Duplicate' ),\n\tonClose,\n} ) {\n\tconst { saveEntityRecord, invalidateResolution } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst history = useHistory();\n\tconst existingTemplateParts = useExistingTemplateParts();\n\tconst { patternCategories } = usePatternCategories();\n\n\tasync function createTemplatePart() {\n\t\ttry {\n\t\t\tconst copiedTitle = sprintf(\n\t\t\t\t/* translators: %s: Existing template part title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\titem.title\n\t\t\t);\n\t\t\tconst title = getUniqueTemplatePartTitle(\n\t\t\t\tcopiedTitle,\n\t\t\t\texistingTemplateParts\n\t\t\t);\n\t\t\tconst slug = getCleanTemplatePartSlug( title );\n\t\t\tconst { area, content } = item.templatePart;\n\n\t\t\tconst result = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t{ slug, title, content, area },\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new template part's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-patterns-success',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\thistory.push( {\n\t\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\t\tpostId: result?.id,\n\t\t\t\tcategoryType: TEMPLATE_PART_POST_TYPE,\n\t\t\t\tcategoryId,\n\t\t\t} );\n\n\t\t\tonClose();\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: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\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\tonClose();\n\t\t}\n\t}\n\n\tasync function findOrCreateTerm( term ) {\n\t\ttry {\n\t\t\tconst newTerm = await saveEntityRecord(\n\t\t\t\t'taxonomy',\n\t\t\t\t'wp_pattern_category',\n\t\t\t\t{\n\t\t\t\t\tname: term.label,\n\t\t\t\t\tslug: term.name,\n\t\t\t\t\tdescription: term.description,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t}\n\t\t\t);\n\t\t\tinvalidateResolution( 'getUserPatternCategories' );\n\t\t\treturn newTerm.id;\n\t\t} catch ( error ) {\n\t\t\tif ( error.code !== 'term_exists' ) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn error.data.term_id;\n\t\t}\n\t}\n\n\tasync function getCategories( categories ) {\n\t\tconst terms = categories.map( ( category ) => {\n\t\t\tconst fullCategory = patternCategories.find(\n\t\t\t\t( cat ) => cat.name === category\n\t\t\t);\n\t\t\tif ( fullCategory.id ) {\n\t\t\t\treturn fullCategory.id;\n\t\t\t}\n\t\t\treturn findOrCreateTerm( fullCategory );\n\t\t} );\n\n\t\treturn Promise.all( terms );\n\t}\n\n\tasync function createPattern() {\n\t\ttry {\n\t\t\tconst isThemePattern = item.type === PATTERN_TYPES.theme;\n\t\t\tconst title = sprintf(\n\t\t\t\t/* translators: %s: Existing pattern title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\titem.title\n\t\t\t);\n\t\t\tconst categories = await getCategories( item.categories );\n\n\t\t\tconst result = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\t{\n\t\t\t\t\tcontent: isThemePattern\n\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t: item.patternBlock.content,\n\t\t\t\t\tmeta: getPatternMeta( item ),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\twp_pattern_category: categories,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new pattern's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-patterns-success',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\thistory.push( {\n\t\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\t\tcategoryId,\n\t\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\t\tpostId: result?.id,\n\t\t\t} );\n\n\t\t\tonClose();\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 creating the pattern.' );\n\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\tonClose();\n\t\t}\n\t}\n\n\tconst createItem =\n\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t? createTemplatePart\n\t\t\t: createPattern;\n\n\treturn <MenuItem onClick={ createItem }>{ label }</MenuItem>;\n}\n"],"mappings":"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"}
|