@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
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.toggleFont = toggleFont;
|
|
7
|
+
/**
|
|
8
|
+
* Toggles the activation of a given font or font variant within a list of custom fonts.
|
|
9
|
+
*
|
|
10
|
+
* - If only the font is provided (without face), the entire font family's activation is toggled.
|
|
11
|
+
* - If both font and face are provided, the activation of the specific font variant is toggled.
|
|
12
|
+
*
|
|
13
|
+
* @param {Object} font - The font to be toggled.
|
|
14
|
+
* @param {string} font.slug - The unique identifier for the font.
|
|
15
|
+
* @param {Array} [font.fontFace] - The list of font variants (faces) associated with the font.
|
|
16
|
+
*
|
|
17
|
+
* @param {Object} [face] - The specific font variant to be toggled.
|
|
18
|
+
* @param {string} face.fontWeight - The weight of the font variant.
|
|
19
|
+
* @param {string} face.fontStyle - The style of the font variant.
|
|
20
|
+
*
|
|
21
|
+
* @param {Array} initialfonts - The initial list of custom fonts.
|
|
22
|
+
*
|
|
23
|
+
* @return {Array} - The updated list of custom fonts with the font/font variant toggled.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* const customFonts = [
|
|
27
|
+
* { slug: 'roboto', fontFace: [{ fontWeight: '400', fontStyle: 'normal' }] }
|
|
28
|
+
* ];
|
|
29
|
+
*
|
|
30
|
+
* toggleFont({ slug: 'roboto' }, null, customFonts);
|
|
31
|
+
* // This will remove 'roboto' from customFonts
|
|
32
|
+
*
|
|
33
|
+
* toggleFont({ slug: 'roboto' }, { fontWeight: '400', fontStyle: 'normal' }, customFonts);
|
|
34
|
+
* // This will remove the specified face from 'roboto' in customFonts
|
|
35
|
+
*
|
|
36
|
+
* toggleFont({ slug: 'roboto' }, { fontWeight: '500', fontStyle: 'normal' }, customFonts);
|
|
37
|
+
* // This will add the specified face to 'roboto' in customFonts
|
|
38
|
+
*/
|
|
39
|
+
function toggleFont(font, face, initialfonts) {
|
|
40
|
+
// Helper to check if a font is activated based on its slug
|
|
41
|
+
const isFontActivated = f => f.slug === font.slug;
|
|
42
|
+
|
|
43
|
+
// Helper to get the activated font from a list of fonts
|
|
44
|
+
const getActivatedFont = fonts => fonts.find(isFontActivated);
|
|
45
|
+
|
|
46
|
+
// Toggle the activation status of an entire font family
|
|
47
|
+
const toggleEntireFontFamily = activatedFont => {
|
|
48
|
+
if (!activatedFont) {
|
|
49
|
+
// If the font is not active, activate the entire font family
|
|
50
|
+
return [...initialfonts, font];
|
|
51
|
+
}
|
|
52
|
+
// If the font is already active, deactivate the entire font family
|
|
53
|
+
return initialfonts.filter(f => !isFontActivated(f));
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// Toggle the activation status of a specific font variant
|
|
57
|
+
const toggleFontVariant = activatedFont => {
|
|
58
|
+
const isFaceActivated = f => f.fontWeight === face.fontWeight && f.fontStyle === face.fontStyle;
|
|
59
|
+
if (!activatedFont) {
|
|
60
|
+
// If the font family is not active, activate the font family with the font variant
|
|
61
|
+
return [...initialfonts, {
|
|
62
|
+
...font,
|
|
63
|
+
fontFace: [face]
|
|
64
|
+
}];
|
|
65
|
+
}
|
|
66
|
+
let newFontFaces = activatedFont.fontFace || [];
|
|
67
|
+
if (newFontFaces.find(isFaceActivated)) {
|
|
68
|
+
// If the font variant is active, deactivate it
|
|
69
|
+
newFontFaces = newFontFaces.filter(f => !isFaceActivated(f));
|
|
70
|
+
} else {
|
|
71
|
+
// If the font variant is not active, activate it
|
|
72
|
+
newFontFaces = [...newFontFaces, face];
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// If there are no more font faces, deactivate the font family
|
|
76
|
+
if (newFontFaces.length === 0) {
|
|
77
|
+
return initialfonts.filter(f => !isFontActivated(f));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Return updated fonts list with toggled font variant
|
|
81
|
+
return initialfonts.map(f => isFontActivated(f) ? {
|
|
82
|
+
...f,
|
|
83
|
+
fontFace: newFontFaces
|
|
84
|
+
} : f);
|
|
85
|
+
};
|
|
86
|
+
const activatedFont = getActivatedFont(initialfonts);
|
|
87
|
+
if (!face) {
|
|
88
|
+
return toggleEntireFontFamily(activatedFont);
|
|
89
|
+
}
|
|
90
|
+
return toggleFontVariant(activatedFont);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=toggleFont.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["toggleFont","font","face","initialfonts","isFontActivated","f","slug","getActivatedFont","fonts","find","toggleEntireFontFamily","activatedFont","filter","toggleFontVariant","isFaceActivated","fontWeight","fontStyle","fontFace","newFontFaces","length","map"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/toggleFont.js"],"sourcesContent":["/**\n * Toggles the activation of a given font or font variant within a list of custom fonts.\n *\n * - If only the font is provided (without face), the entire font family's activation is toggled.\n * - If both font and face are provided, the activation of the specific font variant is toggled.\n *\n * @param {Object} font - The font to be toggled.\n * @param {string} font.slug - The unique identifier for the font.\n * @param {Array} [font.fontFace] - The list of font variants (faces) associated with the font.\n *\n * @param {Object} [face] - The specific font variant to be toggled.\n * @param {string} face.fontWeight - The weight of the font variant.\n * @param {string} face.fontStyle - The style of the font variant.\n *\n * @param {Array} initialfonts - The initial list of custom fonts.\n *\n * @return {Array} - The updated list of custom fonts with the font/font variant toggled.\n *\n * @example\n * const customFonts = [\n * { slug: 'roboto', fontFace: [{ fontWeight: '400', fontStyle: 'normal' }] }\n * ];\n *\n * toggleFont({ slug: 'roboto' }, null, customFonts);\n * // This will remove 'roboto' from customFonts\n *\n * toggleFont({ slug: 'roboto' }, { fontWeight: '400', fontStyle: 'normal' }, customFonts);\n * // This will remove the specified face from 'roboto' in customFonts\n *\n * toggleFont({ slug: 'roboto' }, { fontWeight: '500', fontStyle: 'normal' }, customFonts);\n * // This will add the specified face to 'roboto' in customFonts\n */\nexport function toggleFont( font, face, initialfonts ) {\n\t// Helper to check if a font is activated based on its slug\n\tconst isFontActivated = ( f ) => f.slug === font.slug;\n\n\t// Helper to get the activated font from a list of fonts\n\tconst getActivatedFont = ( fonts ) => fonts.find( isFontActivated );\n\n\t// Toggle the activation status of an entire font family\n\tconst toggleEntireFontFamily = ( activatedFont ) => {\n\t\tif ( ! activatedFont ) {\n\t\t\t// If the font is not active, activate the entire font family\n\t\t\treturn [ ...initialfonts, font ];\n\t\t}\n\t\t// If the font is already active, deactivate the entire font family\n\t\treturn initialfonts.filter( ( f ) => ! isFontActivated( f ) );\n\t};\n\n\t// Toggle the activation status of a specific font variant\n\tconst toggleFontVariant = ( activatedFont ) => {\n\t\tconst isFaceActivated = ( f ) =>\n\t\t\tf.fontWeight === face.fontWeight && f.fontStyle === face.fontStyle;\n\n\t\tif ( ! activatedFont ) {\n\t\t\t// If the font family is not active, activate the font family with the font variant\n\t\t\treturn [ ...initialfonts, { ...font, fontFace: [ face ] } ];\n\t\t}\n\n\t\tlet newFontFaces = activatedFont.fontFace || [];\n\n\t\tif ( newFontFaces.find( isFaceActivated ) ) {\n\t\t\t// If the font variant is active, deactivate it\n\t\t\tnewFontFaces = newFontFaces.filter(\n\t\t\t\t( f ) => ! isFaceActivated( f )\n\t\t\t);\n\t\t} else {\n\t\t\t// If the font variant is not active, activate it\n\t\t\tnewFontFaces = [ ...newFontFaces, face ];\n\t\t}\n\n\t\t// If there are no more font faces, deactivate the font family\n\t\tif ( newFontFaces.length === 0 ) {\n\t\t\treturn initialfonts.filter( ( f ) => ! isFontActivated( f ) );\n\t\t}\n\n\t\t// Return updated fonts list with toggled font variant\n\t\treturn initialfonts.map( ( f ) =>\n\t\t\tisFontActivated( f ) ? { ...f, fontFace: newFontFaces } : f\n\t\t);\n\t};\n\n\tconst activatedFont = getActivatedFont( initialfonts );\n\n\tif ( ! face ) {\n\t\treturn toggleEntireFontFamily( activatedFont );\n\t}\n\n\treturn toggleFontVariant( activatedFont );\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,UAAUA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,YAAY,EAAG;EACtD;EACA,MAAMC,eAAe,GAAKC,CAAC,IAAMA,CAAC,CAACC,IAAI,KAAKL,IAAI,CAACK,IAAI;;EAErD;EACA,MAAMC,gBAAgB,GAAKC,KAAK,IAAMA,KAAK,CAACC,IAAI,CAAEL,eAAgB,CAAC;;EAEnE;EACA,MAAMM,sBAAsB,GAAKC,aAAa,IAAM;IACnD,IAAK,CAAEA,aAAa,EAAG;MACtB;MACA,OAAO,CAAE,GAAGR,YAAY,EAAEF,IAAI,CAAE;IACjC;IACA;IACA,OAAOE,YAAY,CAACS,MAAM,CAAIP,CAAC,IAAM,CAAED,eAAe,CAAEC,CAAE,CAAE,CAAC;EAC9D,CAAC;;EAED;EACA,MAAMQ,iBAAiB,GAAKF,aAAa,IAAM;IAC9C,MAAMG,eAAe,GAAKT,CAAC,IAC1BA,CAAC,CAACU,UAAU,KAAKb,IAAI,CAACa,UAAU,IAAIV,CAAC,CAACW,SAAS,KAAKd,IAAI,CAACc,SAAS;IAEnE,IAAK,CAAEL,aAAa,EAAG;MACtB;MACA,OAAO,CAAE,GAAGR,YAAY,EAAE;QAAE,GAAGF,IAAI;QAAEgB,QAAQ,EAAE,CAAEf,IAAI;MAAG,CAAC,CAAE;IAC5D;IAEA,IAAIgB,YAAY,GAAGP,aAAa,CAACM,QAAQ,IAAI,EAAE;IAE/C,IAAKC,YAAY,CAACT,IAAI,CAAEK,eAAgB,CAAC,EAAG;MAC3C;MACAI,YAAY,GAAGA,YAAY,CAACN,MAAM,CAC/BP,CAAC,IAAM,CAAES,eAAe,CAAET,CAAE,CAC/B,CAAC;IACF,CAAC,MAAM;MACN;MACAa,YAAY,GAAG,CAAE,GAAGA,YAAY,EAAEhB,IAAI,CAAE;IACzC;;IAEA;IACA,IAAKgB,YAAY,CAACC,MAAM,KAAK,CAAC,EAAG;MAChC,OAAOhB,YAAY,CAACS,MAAM,CAAIP,CAAC,IAAM,CAAED,eAAe,CAAEC,CAAE,CAAE,CAAC;IAC9D;;IAEA;IACA,OAAOF,YAAY,CAACiB,GAAG,CAAIf,CAAC,IAC3BD,eAAe,CAAEC,CAAE,CAAC,GAAG;MAAE,GAAGA,CAAC;MAAEY,QAAQ,EAAEC;IAAa,CAAC,GAAGb,CAC3D,CAAC;EACF,CAAC;EAED,MAAMM,aAAa,GAAGJ,gBAAgB,CAAEJ,YAAa,CAAC;EAEtD,IAAK,CAAED,IAAI,EAAG;IACb,OAAOQ,sBAAsB,CAAEC,aAAc,CAAC;EAC/C;EAEA,OAAOE,iBAAiB,CAAEF,aAAc,CAAC;AAC1C"}
|
|
@@ -42,8 +42,7 @@ function useGlobalStylesUserConfig() {
|
|
|
42
42
|
globalStylesId,
|
|
43
43
|
isReady,
|
|
44
44
|
settings,
|
|
45
|
-
styles
|
|
46
|
-
behaviors
|
|
45
|
+
styles
|
|
47
46
|
} = (0, _data.useSelect)(select => {
|
|
48
47
|
const {
|
|
49
48
|
getEditedEntityRecord,
|
|
@@ -59,8 +58,7 @@ function useGlobalStylesUserConfig() {
|
|
|
59
58
|
globalStylesId: _globalStylesId,
|
|
60
59
|
isReady: hasResolved,
|
|
61
60
|
settings: record?.settings,
|
|
62
|
-
styles: record?.styles
|
|
63
|
-
behaviors: record?.behaviors
|
|
61
|
+
styles: record?.styles
|
|
64
62
|
};
|
|
65
63
|
}, []);
|
|
66
64
|
const {
|
|
@@ -72,23 +70,20 @@ function useGlobalStylesUserConfig() {
|
|
|
72
70
|
const config = (0, _element.useMemo)(() => {
|
|
73
71
|
return {
|
|
74
72
|
settings: settings !== null && settings !== void 0 ? settings : {},
|
|
75
|
-
styles: styles !== null && styles !== void 0 ? styles : {}
|
|
76
|
-
behaviors: behaviors !== null && behaviors !== void 0 ? behaviors : {}
|
|
73
|
+
styles: styles !== null && styles !== void 0 ? styles : {}
|
|
77
74
|
};
|
|
78
|
-
}, [settings, styles
|
|
75
|
+
}, [settings, styles]);
|
|
79
76
|
const setConfig = (0, _element.useCallback)((callback, options = {}) => {
|
|
80
|
-
var _record$styles, _record$settings
|
|
77
|
+
var _record$styles, _record$settings;
|
|
81
78
|
const record = getEditedEntityRecord('root', 'globalStyles', globalStylesId);
|
|
82
79
|
const currentConfig = {
|
|
83
80
|
styles: (_record$styles = record?.styles) !== null && _record$styles !== void 0 ? _record$styles : {},
|
|
84
|
-
settings: (_record$settings = record?.settings) !== null && _record$settings !== void 0 ? _record$settings : {}
|
|
85
|
-
behaviors: (_record$behaviors = record?.behaviors) !== null && _record$behaviors !== void 0 ? _record$behaviors : {}
|
|
81
|
+
settings: (_record$settings = record?.settings) !== null && _record$settings !== void 0 ? _record$settings : {}
|
|
86
82
|
};
|
|
87
83
|
const updatedConfig = callback(currentConfig);
|
|
88
84
|
editEntityRecord('root', 'globalStyles', globalStylesId, {
|
|
89
85
|
styles: cleanEmptyObject(updatedConfig.styles) || {},
|
|
90
|
-
settings: cleanEmptyObject(updatedConfig.settings) || {}
|
|
91
|
-
behaviors: cleanEmptyObject(updatedConfig.behaviors) || {}
|
|
86
|
+
settings: cleanEmptyObject(updatedConfig.settings) || {}
|
|
92
87
|
}, options);
|
|
93
88
|
}, [globalStylesId]);
|
|
94
89
|
return [isReady, config, setConfig];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_deepmerge","_interopRequireDefault","_isPlainObject","_data","_coreData","_blockEditor","_lockUnlock","GlobalStylesContext","cleanEmptyObject","unlock","blockEditorPrivateApis","mergeBaseAndUserConfigs","base","user","deepmerge","isMergeableObject","isPlainObject","useGlobalStylesUserConfig","globalStylesId","isReady","settings","styles","
|
|
1
|
+
{"version":3,"names":["_element","require","_deepmerge","_interopRequireDefault","_isPlainObject","_data","_coreData","_blockEditor","_lockUnlock","GlobalStylesContext","cleanEmptyObject","unlock","blockEditorPrivateApis","mergeBaseAndUserConfigs","base","user","deepmerge","isMergeableObject","isPlainObject","useGlobalStylesUserConfig","globalStylesId","isReady","settings","styles","useSelect","select","getEditedEntityRecord","hasFinishedResolution","coreStore","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","undefined","hasResolved","editEntityRecord","useDispatch","config","useMemo","setConfig","useCallback","callback","options","_record$styles","_record$settings","currentConfig","updatedConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","userConfig","setUserConfig","isBaseConfigReady","mergedConfig","context","merged","GlobalStylesProvider","children","createElement","Provider","value"],"sources":["@wordpress/edit-site/src/components/global-styles/global-styles-provider.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport deepmerge from 'deepmerge';\nimport { isPlainObject } from 'is-plain-object';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext, cleanEmptyObject } = unlock(\n\tblockEditorPrivateApis\n);\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn deepmerge( base, user, {\n\t\t// We only pass as arrays the presets,\n\t\t// in which case we want the new array of values\n\t\t// to override the old array (no merging).\n\t\tisMergeableObject: isPlainObject,\n\t} );\n}\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\t\t\tconst record = _globalStylesId\n\t\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId\n\t\t\t\t )\n\t\t\t\t: undefined;\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\thasResolved = _globalStylesId\n\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t ] )\n\t\t\t\t\t: true;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t};\n\t}, [ settings, styles ] );\n\n\tconst setConfig = useCallback(\n\t\t( callback, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t};\n\t\t\tconst updatedConfig = callback( currentConfig );\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nfunction useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -59,21 +59,20 @@ const {
|
|
|
59
59
|
useHasDimensionsPanel,
|
|
60
60
|
useHasTypographyPanel,
|
|
61
61
|
useHasBorderPanel,
|
|
62
|
-
__experimentalUseHasBehaviorsPanel: useHasBehaviorsPanel,
|
|
63
62
|
useGlobalSetting,
|
|
64
63
|
useSettingsForBlockElement,
|
|
65
64
|
useHasColorPanel,
|
|
66
65
|
useHasEffectsPanel,
|
|
67
66
|
useHasFiltersPanel,
|
|
67
|
+
useHasImageSettingsPanel,
|
|
68
68
|
useGlobalStyle,
|
|
69
|
-
__experimentalUseGlobalBehaviors: useGlobalBehaviors,
|
|
70
|
-
__experimentalBehaviorsPanel: StylesBehaviorsPanel,
|
|
71
69
|
BorderPanel: StylesBorderPanel,
|
|
72
70
|
ColorPanel: StylesColorPanel,
|
|
73
71
|
TypographyPanel: StylesTypographyPanel,
|
|
74
72
|
DimensionsPanel: StylesDimensionsPanel,
|
|
75
73
|
EffectsPanel: StylesEffectsPanel,
|
|
76
74
|
FiltersPanel: StylesFiltersPanel,
|
|
75
|
+
ImageSettingsPanel,
|
|
77
76
|
AdvancedPanel: StylesAdvancedPanel
|
|
78
77
|
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
79
78
|
function ScreenBlock({
|
|
@@ -91,15 +90,9 @@ function ScreenBlock({
|
|
|
91
90
|
const [inheritedStyle, setStyle] = useGlobalStyle(prefix, name, 'all', {
|
|
92
91
|
shouldDecodeEncode: false
|
|
93
92
|
});
|
|
93
|
+
const [userSettings] = useGlobalSetting('', name, 'user');
|
|
94
94
|
const [rawSettings, setSettings] = useGlobalSetting('', name);
|
|
95
95
|
const settings = useSettingsForBlockElement(rawSettings, name);
|
|
96
|
-
const {
|
|
97
|
-
inheritedBehaviors,
|
|
98
|
-
setBehavior
|
|
99
|
-
} = useGlobalBehaviors(name);
|
|
100
|
-
const {
|
|
101
|
-
behavior
|
|
102
|
-
} = useGlobalBehaviors(name, 'user');
|
|
103
96
|
const blockType = (0, _blocks.getBlockType)(name);
|
|
104
97
|
|
|
105
98
|
// Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.
|
|
@@ -109,11 +102,11 @@ function ScreenBlock({
|
|
|
109
102
|
const blockVariations = (0, _variationsPanel.useBlockVariations)(name);
|
|
110
103
|
const hasTypographyPanel = useHasTypographyPanel(settings);
|
|
111
104
|
const hasColorPanel = useHasColorPanel(settings);
|
|
112
|
-
const hasBehaviorsPanel = useHasBehaviorsPanel(rawSettings, name);
|
|
113
105
|
const hasBorderPanel = useHasBorderPanel(settings);
|
|
114
106
|
const hasDimensionsPanel = useHasDimensionsPanel(settings);
|
|
115
107
|
const hasEffectsPanel = useHasEffectsPanel(settings);
|
|
116
108
|
const hasFiltersPanel = useHasFiltersPanel(settings);
|
|
109
|
+
const hasImageSettingsPanel = useHasImageSettingsPanel(name, userSettings, settings);
|
|
117
110
|
const hasVariationsPanel = !!blockVariations?.length && !variation;
|
|
118
111
|
const {
|
|
119
112
|
canEditCSS
|
|
@@ -142,22 +135,43 @@ function ScreenBlock({
|
|
|
142
135
|
const styleWithLayout = (0, _element.useMemo)(() => {
|
|
143
136
|
return {
|
|
144
137
|
...style,
|
|
145
|
-
layout:
|
|
138
|
+
layout: userSettings.layout
|
|
146
139
|
};
|
|
147
|
-
}, [style,
|
|
140
|
+
}, [style, userSettings.layout]);
|
|
148
141
|
const onChangeDimensions = newStyle => {
|
|
149
142
|
const updatedStyle = {
|
|
150
143
|
...newStyle
|
|
151
144
|
};
|
|
152
145
|
delete updatedStyle.layout;
|
|
153
146
|
setStyle(updatedStyle);
|
|
154
|
-
if (newStyle.layout !==
|
|
147
|
+
if (newStyle.layout !== userSettings.layout) {
|
|
155
148
|
setSettings({
|
|
156
|
-
...
|
|
149
|
+
...userSettings,
|
|
157
150
|
layout: newStyle.layout
|
|
158
151
|
});
|
|
159
152
|
}
|
|
160
153
|
};
|
|
154
|
+
const onChangeLightbox = newSetting => {
|
|
155
|
+
// If the newSetting is undefined, this means that the user has deselected
|
|
156
|
+
// (reset) the lightbox setting.
|
|
157
|
+
if (newSetting === undefined) {
|
|
158
|
+
setSettings({
|
|
159
|
+
...rawSettings,
|
|
160
|
+
lightbox: undefined
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
// Otherwise, we simply set the lightbox setting to the new value but
|
|
164
|
+
// taking care of not overriding the other lightbox settings.
|
|
165
|
+
} else {
|
|
166
|
+
setSettings({
|
|
167
|
+
...rawSettings,
|
|
168
|
+
lightbox: {
|
|
169
|
+
...rawSettings.lightbox,
|
|
170
|
+
...newSetting
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
};
|
|
161
175
|
const onChangeBorders = newStyle => {
|
|
162
176
|
if (!newStyle?.border) {
|
|
163
177
|
setStyle(newStyle);
|
|
@@ -250,20 +264,19 @@ function ScreenBlock({
|
|
|
250
264
|
},
|
|
251
265
|
|
|
252
266
|
includeLayoutControls: true
|
|
267
|
+
}), hasImageSettingsPanel && (0, _element.createElement)(ImageSettingsPanel, {
|
|
268
|
+
onChange: onChangeLightbox,
|
|
269
|
+
value: userSettings,
|
|
270
|
+
inheritedValue: settings
|
|
253
271
|
}), canEditCSS && (0, _element.createElement)(_components.PanelBody, {
|
|
254
272
|
title: (0, _i18n.__)('Advanced'),
|
|
255
273
|
initialOpen: false
|
|
256
274
|
}, (0, _element.createElement)("p", null, (0, _i18n.sprintf)(
|
|
257
275
|
// translators: %s: is the name of a block e.g., 'Image' or 'Table'.
|
|
258
|
-
(0, _i18n.__)('Add your own CSS to customize the appearance of the %s block.'), blockType?.title)), (0, _element.createElement)(StylesAdvancedPanel, {
|
|
276
|
+
(0, _i18n.__)('Add your own CSS to customize the appearance of the %s block. You do not need to include a CSS selector, just add the property and value.'), blockType?.title)), (0, _element.createElement)(StylesAdvancedPanel, {
|
|
259
277
|
value: style,
|
|
260
278
|
onChange: setStyle,
|
|
261
279
|
inheritedValue: inheritedStyle
|
|
262
|
-
}), hasBehaviorsPanel && (0, _element.createElement)(StylesBehaviorsPanel, {
|
|
263
|
-
value: behavior,
|
|
264
|
-
onChange: setBehavior,
|
|
265
|
-
behaviors: inheritedBehaviors,
|
|
266
|
-
blockName: name
|
|
267
280
|
})));
|
|
268
281
|
}
|
|
269
282
|
var _default = ScreenBlock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_blocks","_blockEditor","_data","_coreData","_components","_i18n","_header","_interopRequireDefault","_blockPreviewPanel","_lockUnlock","_subtitle","_variationsPanel","applyFallbackStyle","border","hasColorOrWidth","color","width","style","undefined","applyAllFallbackStyles","hasSplitBorders","top","right","bottom","left","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","__experimentalUseHasBehaviorsPanel","useHasBehaviorsPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useHasEffectsPanel","useHasFiltersPanel","useGlobalStyle","__experimentalUseGlobalBehaviors","useGlobalBehaviors","__experimentalBehaviorsPanel","StylesBehaviorsPanel","BorderPanel","StylesBorderPanel","ColorPanel","StylesColorPanel","TypographyPanel","StylesTypographyPanel","DimensionsPanel","StylesDimensionsPanel","EffectsPanel","StylesEffectsPanel","FiltersPanel","StylesFiltersPanel","AdvancedPanel","StylesAdvancedPanel","unlock","blockEditorPrivateApis","ScreenBlock","name","variation","prefixParts","concat","prefix","join","shouldDecodeEncode","inheritedStyle","setStyle","rawSettings","setSettings","settings","inheritedBehaviors","setBehavior","behavior","blockType","getBlockType","spacing","blockGap","supports","__experimentalSkipSerialization","some","spacingType","blockVariations","useBlockVariations","hasTypographyPanel","hasColorPanel","hasBehaviorsPanel","hasBorderPanel","hasDimensionsPanel","hasEffectsPanel","hasFiltersPanel","hasVariationsPanel","length","canEditCSS","useSelect","select","_globalStyles$_links$","getEntityRecord","__experimentalGetCurrentGlobalStylesId","coreStore","globalStylesId","globalStyles","_links","currentBlockStyle","find","s","inheritedStyleWithLayout","useMemo","layout","styleWithLayout","onChangeDimensions","newStyle","updatedStyle","onChangeBorders","radius","newBorder","updatedBorder","createElement","Fragment","default","title","label","className","__experimentalVStack","__","VariationsPanel","inheritedValue","value","onChange","includeLayoutControls","customDuotone","PanelBody","initialOpen","sprintf","behaviors","blockName","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-block.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tPanelBody,\n\t__experimentalVStack as VStack,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport BlockPreviewPanel from './block-preview-panel';\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport { useBlockVariations, VariationsPanel } from './variations-panel';\n\nfunction applyFallbackStyle( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tconst hasColorOrWidth = border.color || border.width;\n\n\tif ( ! border.style && hasColorOrWidth ) {\n\t\treturn { ...border, style: 'solid' };\n\t}\n\n\tif ( border.style && ! hasColorOrWidth ) {\n\t\treturn undefined;\n\t}\n\n\treturn border;\n}\n\nfunction applyAllFallbackStyles( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tif ( hasSplitBorders( border ) ) {\n\t\treturn {\n\t\t\ttop: applyFallbackStyle( border.top ),\n\t\t\tright: applyFallbackStyle( border.right ),\n\t\t\tbottom: applyFallbackStyle( border.bottom ),\n\t\t\tleft: applyFallbackStyle( border.left ),\n\t\t};\n\t}\n\n\treturn applyFallbackStyle( border );\n}\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\t__experimentalUseHasBehaviorsPanel: useHasBehaviorsPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n\tuseHasEffectsPanel,\n\tuseHasFiltersPanel,\n\tuseGlobalStyle,\n\t__experimentalUseGlobalBehaviors: useGlobalBehaviors,\n\t__experimentalBehaviorsPanel: StylesBehaviorsPanel,\n\tBorderPanel: StylesBorderPanel,\n\tColorPanel: StylesColorPanel,\n\tTypographyPanel: StylesTypographyPanel,\n\tDimensionsPanel: StylesDimensionsPanel,\n\tEffectsPanel: StylesEffectsPanel,\n\tFiltersPanel: StylesFiltersPanel,\n\tAdvancedPanel: StylesAdvancedPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction ScreenBlock( { name, variation } ) {\n\tlet prefixParts = [];\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings, setSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\n\tconst { inheritedBehaviors, setBehavior } = useGlobalBehaviors( name );\n\tconst { behavior } = useGlobalBehaviors( name, 'user' );\n\n\tconst blockType = getBlockType( name );\n\n\t// Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.\n\tif (\n\t\tsettings?.spacing?.blockGap &&\n\t\tblockType?.supports?.spacing?.blockGap &&\n\t\t( blockType?.supports?.spacing?.__experimentalSkipSerialization ===\n\t\t\ttrue ||\n\t\t\tblockType?.supports?.spacing?.__experimentalSkipSerialization?.some?.(\n\t\t\t\t( spacingType ) => spacingType === 'blockGap'\n\t\t\t) )\n\t) {\n\t\tsettings.spacing.blockGap = false;\n\t}\n\n\tconst blockVariations = useBlockVariations( name );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBehaviorsPanel = useHasBehaviorsPanel( rawSettings, name );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasEffectsPanel = useHasEffectsPanel( settings );\n\tconst hasFiltersPanel = useHasFiltersPanel( settings );\n\tconst hasVariationsPanel = !! blockVariations?.length && ! variation;\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS:\n\t\t\t\t!! globalStyles?._links?.[ 'wp:action-edit-css' ] ?? false,\n\t\t};\n\t}, [] );\n\tconst currentBlockStyle = variation\n\t\t? blockVariations.find( ( s ) => s.name === variation )\n\t\t: null;\n\n\t// These intermediary objects are needed because the \"layout\" property is stored\n\t// in settings rather than styles.\n\tconst inheritedStyleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...inheritedStyle,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ inheritedStyle, settings.layout ] );\n\tconst styleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...style,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ style, settings.layout ] );\n\tconst onChangeDimensions = ( newStyle ) => {\n\t\tconst updatedStyle = { ...newStyle };\n\t\tdelete updatedStyle.layout;\n\t\tsetStyle( updatedStyle );\n\n\t\tif ( newStyle.layout !== settings.layout ) {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlayout: newStyle.layout,\n\t\t\t} );\n\t\t}\n\t};\n\tconst onChangeBorders = ( newStyle ) => {\n\t\tif ( ! newStyle?.border ) {\n\t\t\tsetStyle( newStyle );\n\t\t\treturn;\n\t\t}\n\n\t\t// As Global Styles can't conditionally generate styles based on if\n\t\t// other style properties have been set, we need to force split\n\t\t// border definitions for user set global border styles. Border\n\t\t// radius is derived from the same property i.e. `border.radius` if\n\t\t// it is a string that is used. The longhand border radii styles are\n\t\t// only generated if that property is an object.\n\t\t//\n\t\t// For borders (color, style, and width) those are all properties on\n\t\t// the `border` style property. This means if the theme.json defined\n\t\t// split borders and the user condenses them into a flat border or\n\t\t// vice-versa we'd get both sets of styles which would conflict.\n\t\tconst { radius, ...newBorder } = newStyle.border;\n\t\tconst border = applyAllFallbackStyles( newBorder );\n\t\tconst updatedBorder = ! hasSplitBorders( border )\n\t\t\t? {\n\t\t\t\t\ttop: border,\n\t\t\t\t\tright: border,\n\t\t\t\t\tbottom: border,\n\t\t\t\t\tleft: border,\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tcolor: null,\n\t\t\t\t\tstyle: null,\n\t\t\t\t\twidth: null,\n\t\t\t\t\t...border,\n\t\t\t };\n\n\t\tsetStyle( { ...newStyle, border: { ...updatedBorder, radius } } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ variation ? currentBlockStyle.label : blockType.title }\n\t\t\t/>\n\t\t\t<BlockPreviewPanel name={ name } variation={ variation } />\n\t\t\t{ hasVariationsPanel && (\n\t\t\t\t<div className=\"edit-site-global-styles-screen-variations\">\n\t\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t\t<Subtitle>{ __( 'Style Variations' ) }</Subtitle>\n\t\t\t\t\t\t<VariationsPanel name={ name } />\n\t\t\t\t\t</VStack>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasColorPanel && (\n\t\t\t\t<StylesColorPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasTypographyPanel && (\n\t\t\t\t<StylesTypographyPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasDimensionsPanel && (\n\t\t\t\t<StylesDimensionsPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ onChangeDimensions }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBorderPanel && (\n\t\t\t\t<StylesBorderPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ onChangeBorders }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasEffectsPanel && (\n\t\t\t\t<StylesEffectsPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasFiltersPanel && (\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ {\n\t\t\t\t\t\t...settings,\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t...settings.color,\n\t\t\t\t\t\t\tcustomDuotone: false, //TO FIX: Custom duotone only works on the block level right now\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ canEditCSS && (\n\t\t\t\t<PanelBody title={ __( 'Advanced' ) } initialOpen={ false }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: is the name of a block e.g., 'Image' or 'Table'.\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Add your own CSS to customize the appearance of the %s block.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tblockType?.title\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<StylesAdvancedPanel\n\t\t\t\t\t\tvalue={ style }\n\t\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasBehaviorsPanel && (\n\t\t\t\t\t\t<StylesBehaviorsPanel\n\t\t\t\t\t\t\tvalue={ behavior }\n\t\t\t\t\t\t\tonChange={ setBehavior }\n\t\t\t\t\t\t\tbehaviors={ inheritedBehaviors }\n\t\t\t\t\t\t\tblockName={ name }\n\t\t\t\t\t\t></StylesBehaviorsPanel>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenBlock;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_blocks","_blockEditor","_data","_coreData","_components","_i18n","_header","_interopRequireDefault","_blockPreviewPanel","_lockUnlock","_subtitle","_variationsPanel","applyFallbackStyle","border","hasColorOrWidth","color","width","style","undefined","applyAllFallbackStyles","hasSplitBorders","top","right","bottom","left","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useHasEffectsPanel","useHasFiltersPanel","useHasImageSettingsPanel","useGlobalStyle","BorderPanel","StylesBorderPanel","ColorPanel","StylesColorPanel","TypographyPanel","StylesTypographyPanel","DimensionsPanel","StylesDimensionsPanel","EffectsPanel","StylesEffectsPanel","FiltersPanel","StylesFiltersPanel","ImageSettingsPanel","AdvancedPanel","StylesAdvancedPanel","unlock","blockEditorPrivateApis","ScreenBlock","name","variation","prefixParts","concat","prefix","join","shouldDecodeEncode","inheritedStyle","setStyle","userSettings","rawSettings","setSettings","settings","blockType","getBlockType","spacing","blockGap","supports","__experimentalSkipSerialization","some","spacingType","blockVariations","useBlockVariations","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasEffectsPanel","hasFiltersPanel","hasImageSettingsPanel","hasVariationsPanel","length","canEditCSS","useSelect","select","_globalStyles$_links$","getEntityRecord","__experimentalGetCurrentGlobalStylesId","coreStore","globalStylesId","globalStyles","_links","currentBlockStyle","find","s","inheritedStyleWithLayout","useMemo","layout","styleWithLayout","onChangeDimensions","newStyle","updatedStyle","onChangeLightbox","newSetting","lightbox","onChangeBorders","radius","newBorder","updatedBorder","createElement","Fragment","default","title","label","className","__experimentalVStack","__","VariationsPanel","inheritedValue","value","onChange","includeLayoutControls","customDuotone","PanelBody","initialOpen","sprintf","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-block.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tPanelBody,\n\t__experimentalVStack as VStack,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport BlockPreviewPanel from './block-preview-panel';\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport { useBlockVariations, VariationsPanel } from './variations-panel';\n\nfunction applyFallbackStyle( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tconst hasColorOrWidth = border.color || border.width;\n\n\tif ( ! border.style && hasColorOrWidth ) {\n\t\treturn { ...border, style: 'solid' };\n\t}\n\n\tif ( border.style && ! hasColorOrWidth ) {\n\t\treturn undefined;\n\t}\n\n\treturn border;\n}\n\nfunction applyAllFallbackStyles( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tif ( hasSplitBorders( border ) ) {\n\t\treturn {\n\t\t\ttop: applyFallbackStyle( border.top ),\n\t\t\tright: applyFallbackStyle( border.right ),\n\t\t\tbottom: applyFallbackStyle( border.bottom ),\n\t\t\tleft: applyFallbackStyle( border.left ),\n\t\t};\n\t}\n\n\treturn applyFallbackStyle( border );\n}\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n\tuseHasEffectsPanel,\n\tuseHasFiltersPanel,\n\tuseHasImageSettingsPanel,\n\tuseGlobalStyle,\n\tBorderPanel: StylesBorderPanel,\n\tColorPanel: StylesColorPanel,\n\tTypographyPanel: StylesTypographyPanel,\n\tDimensionsPanel: StylesDimensionsPanel,\n\tEffectsPanel: StylesEffectsPanel,\n\tFiltersPanel: StylesFiltersPanel,\n\tImageSettingsPanel,\n\tAdvancedPanel: StylesAdvancedPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction ScreenBlock( { name, variation } ) {\n\tlet prefixParts = [];\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ userSettings ] = useGlobalSetting( '', name, 'user' );\n\tconst [ rawSettings, setSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\n\tconst blockType = getBlockType( name );\n\n\t// Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.\n\tif (\n\t\tsettings?.spacing?.blockGap &&\n\t\tblockType?.supports?.spacing?.blockGap &&\n\t\t( blockType?.supports?.spacing?.__experimentalSkipSerialization ===\n\t\t\ttrue ||\n\t\t\tblockType?.supports?.spacing?.__experimentalSkipSerialization?.some?.(\n\t\t\t\t( spacingType ) => spacingType === 'blockGap'\n\t\t\t) )\n\t) {\n\t\tsettings.spacing.blockGap = false;\n\t}\n\n\tconst blockVariations = useBlockVariations( name );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasEffectsPanel = useHasEffectsPanel( settings );\n\tconst hasFiltersPanel = useHasFiltersPanel( settings );\n\tconst hasImageSettingsPanel = useHasImageSettingsPanel(\n\t\tname,\n\t\tuserSettings,\n\t\tsettings\n\t);\n\tconst hasVariationsPanel = !! blockVariations?.length && ! variation;\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS:\n\t\t\t\t!! globalStyles?._links?.[ 'wp:action-edit-css' ] ?? false,\n\t\t};\n\t}, [] );\n\tconst currentBlockStyle = variation\n\t\t? blockVariations.find( ( s ) => s.name === variation )\n\t\t: null;\n\n\t// These intermediary objects are needed because the \"layout\" property is stored\n\t// in settings rather than styles.\n\tconst inheritedStyleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...inheritedStyle,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ inheritedStyle, settings.layout ] );\n\tconst styleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...style,\n\t\t\tlayout: userSettings.layout,\n\t\t};\n\t}, [ style, userSettings.layout ] );\n\tconst onChangeDimensions = ( newStyle ) => {\n\t\tconst updatedStyle = { ...newStyle };\n\t\tdelete updatedStyle.layout;\n\t\tsetStyle( updatedStyle );\n\n\t\tif ( newStyle.layout !== userSettings.layout ) {\n\t\t\tsetSettings( {\n\t\t\t\t...userSettings,\n\t\t\t\tlayout: newStyle.layout,\n\t\t\t} );\n\t\t}\n\t};\n\tconst onChangeLightbox = ( newSetting ) => {\n\t\t// If the newSetting is undefined, this means that the user has deselected\n\t\t// (reset) the lightbox setting.\n\t\tif ( newSetting === undefined ) {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\n\t\t\t// Otherwise, we simply set the lightbox setting to the new value but\n\t\t\t// taking care of not overriding the other lightbox settings.\n\t\t} else {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlightbox: {\n\t\t\t\t\t...rawSettings.lightbox,\n\t\t\t\t\t...newSetting,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t};\n\tconst onChangeBorders = ( newStyle ) => {\n\t\tif ( ! newStyle?.border ) {\n\t\t\tsetStyle( newStyle );\n\t\t\treturn;\n\t\t}\n\n\t\t// As Global Styles can't conditionally generate styles based on if\n\t\t// other style properties have been set, we need to force split\n\t\t// border definitions for user set global border styles. Border\n\t\t// radius is derived from the same property i.e. `border.radius` if\n\t\t// it is a string that is used. The longhand border radii styles are\n\t\t// only generated if that property is an object.\n\t\t//\n\t\t// For borders (color, style, and width) those are all properties on\n\t\t// the `border` style property. This means if the theme.json defined\n\t\t// split borders and the user condenses them into a flat border or\n\t\t// vice-versa we'd get both sets of styles which would conflict.\n\t\tconst { radius, ...newBorder } = newStyle.border;\n\t\tconst border = applyAllFallbackStyles( newBorder );\n\t\tconst updatedBorder = ! hasSplitBorders( border )\n\t\t\t? {\n\t\t\t\t\ttop: border,\n\t\t\t\t\tright: border,\n\t\t\t\t\tbottom: border,\n\t\t\t\t\tleft: border,\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tcolor: null,\n\t\t\t\t\tstyle: null,\n\t\t\t\t\twidth: null,\n\t\t\t\t\t...border,\n\t\t\t };\n\n\t\tsetStyle( { ...newStyle, border: { ...updatedBorder, radius } } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ variation ? currentBlockStyle.label : blockType.title }\n\t\t\t/>\n\t\t\t<BlockPreviewPanel name={ name } variation={ variation } />\n\t\t\t{ hasVariationsPanel && (\n\t\t\t\t<div className=\"edit-site-global-styles-screen-variations\">\n\t\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t\t<Subtitle>{ __( 'Style Variations' ) }</Subtitle>\n\t\t\t\t\t\t<VariationsPanel name={ name } />\n\t\t\t\t\t</VStack>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasColorPanel && (\n\t\t\t\t<StylesColorPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasTypographyPanel && (\n\t\t\t\t<StylesTypographyPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasDimensionsPanel && (\n\t\t\t\t<StylesDimensionsPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ onChangeDimensions }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBorderPanel && (\n\t\t\t\t<StylesBorderPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ onChangeBorders }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasEffectsPanel && (\n\t\t\t\t<StylesEffectsPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasFiltersPanel && (\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ {\n\t\t\t\t\t\t...settings,\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t...settings.color,\n\t\t\t\t\t\t\tcustomDuotone: false, //TO FIX: Custom duotone only works on the block level right now\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasImageSettingsPanel && (\n\t\t\t\t<ImageSettingsPanel\n\t\t\t\t\tonChange={ onChangeLightbox }\n\t\t\t\t\tvalue={ userSettings }\n\t\t\t\t\tinheritedValue={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ canEditCSS && (\n\t\t\t\t<PanelBody title={ __( 'Advanced' ) } initialOpen={ false }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: is the name of a block e.g., 'Image' or 'Table'.\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Add your own CSS to customize the appearance of the %s block. You do not need to include a CSS selector, just add the property and value.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tblockType?.title\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<StylesAdvancedPanel\n\t\t\t\t\t\tvalue={ style }\n\t\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenBlock;\n"],"mappings":";;;;;;;AAKA,IAAAA,QAAA,GAAAC,OAAA;AAFA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAKA,IAAAM,KAAA,GAAAN,OAAA;AAKA,IAAAO,OAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,kBAAA,GAAAD,sBAAA,CAAAR,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AACA,IAAAW,SAAA,GAAAH,sBAAA,CAAAR,OAAA;AACA,IAAAY,gBAAA,GAAAZ,OAAA;AAtBA;AACA;AACA;;AAaA;AACA;AACA;;AAOA,SAASa,kBAAkBA,CAAEC,MAAM,EAAG;EACrC,IAAK,CAAEA,MAAM,EAAG;IACf,OAAOA,MAAM;EACd;EAEA,MAAMC,eAAe,GAAGD,MAAM,CAACE,KAAK,IAAIF,MAAM,CAACG,KAAK;EAEpD,IAAK,CAAEH,MAAM,CAACI,KAAK,IAAIH,eAAe,EAAG;IACxC,OAAO;MAAE,GAAGD,MAAM;MAAEI,KAAK,EAAE;IAAQ,CAAC;EACrC;EAEA,IAAKJ,MAAM,CAACI,KAAK,IAAI,CAAEH,eAAe,EAAG;IACxC,OAAOI,SAAS;EACjB;EAEA,OAAOL,MAAM;AACd;AAEA,SAASM,sBAAsBA,CAAEN,MAAM,EAAG;EACzC,IAAK,CAAEA,MAAM,EAAG;IACf,OAAOA,MAAM;EACd;EAEA,IAAK,IAAAO,yCAAe,EAAEP,MAAO,CAAC,EAAG;IAChC,OAAO;MACNQ,GAAG,EAAET,kBAAkB,CAAEC,MAAM,CAACQ,GAAI,CAAC;MACrCC,KAAK,EAAEV,kBAAkB,CAAEC,MAAM,CAACS,KAAM,CAAC;MACzCC,MAAM,EAAEX,kBAAkB,CAAEC,MAAM,CAACU,MAAO,CAAC;MAC3CC,IAAI,EAAEZ,kBAAkB,CAAEC,MAAM,CAACW,IAAK;IACvC,CAAC;EACF;EAEA,OAAOZ,kBAAkB,CAAEC,MAAO,CAAC;AACpC;AAEA,MAAM;EACLY,qBAAqB;EACrBC,qBAAqB;EACrBC,iBAAiB;EACjBC,gBAAgB;EAChBC,0BAA0B;EAC1BC,gBAAgB;EAChBC,kBAAkB;EAClBC,kBAAkB;EAClBC,wBAAwB;EACxBC,cAAc;EACdC,WAAW,EAAEC,iBAAiB;EAC9BC,UAAU,EAAEC,gBAAgB;EAC5BC,eAAe,EAAEC,qBAAqB;EACtCC,eAAe,EAAEC,qBAAqB;EACtCC,YAAY,EAAEC,kBAAkB;EAChCC,YAAY,EAAEC,kBAAkB;EAChCC,kBAAkB;EAClBC,aAAa,EAAEC;AAChB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAEpC,SAASC,WAAWA,CAAE;EAAEC,IAAI;EAAEC;AAAU,CAAC,EAAG;EAC3C,IAAIC,WAAW,GAAG,EAAE;EACpB,IAAKD,SAAS,EAAG;IAChBC,WAAW,GAAG,CAAE,YAAY,EAAED,SAAS,CAAE,CAACE,MAAM,CAAED,WAAY,CAAC;EAChE;EACA,MAAME,MAAM,GAAGF,WAAW,CAACG,IAAI,CAAE,GAAI,CAAC;EAEtC,MAAM,CAAEzC,KAAK,CAAE,GAAGiB,cAAc,CAAEuB,MAAM,EAAEJ,IAAI,EAAE,MAAM,EAAE;IACvDM,kBAAkB,EAAE;EACrB,CAAE,CAAC;EACH,MAAM,CAAEC,cAAc,EAAEC,QAAQ,CAAE,GAAG3B,cAAc,CAAEuB,MAAM,EAAEJ,IAAI,EAAE,KAAK,EAAE;IACzEM,kBAAkB,EAAE;EACrB,CAAE,CAAC;EACH,MAAM,CAAEG,YAAY,CAAE,GAAGlC,gBAAgB,CAAE,EAAE,EAAEyB,IAAI,EAAE,MAAO,CAAC;EAC7D,MAAM,CAAEU,WAAW,EAAEC,WAAW,CAAE,GAAGpC,gBAAgB,CAAE,EAAE,EAAEyB,IAAK,CAAC;EACjE,MAAMY,QAAQ,GAAGpC,0BAA0B,CAAEkC,WAAW,EAAEV,IAAK,CAAC;EAChE,MAAMa,SAAS,GAAG,IAAAC,oBAAY,EAAEd,IAAK,CAAC;;EAEtC;EACA,IACCY,QAAQ,EAAEG,OAAO,EAAEC,QAAQ,IAC3BH,SAAS,EAAEI,QAAQ,EAAEF,OAAO,EAAEC,QAAQ,KACpCH,SAAS,EAAEI,QAAQ,EAAEF,OAAO,EAAEG,+BAA+B,KAC9D,IAAI,IACJL,SAAS,EAAEI,QAAQ,EAAEF,OAAO,EAAEG,+BAA+B,EAAEC,IAAI,GAChEC,WAAW,IAAMA,WAAW,KAAK,UACpC,CAAC,CAAE,EACH;IACDR,QAAQ,CAACG,OAAO,CAACC,QAAQ,GAAG,KAAK;EAClC;EAEA,MAAMK,eAAe,GAAG,IAAAC,mCAAkB,EAAEtB,IAAK,CAAC;EAClD,MAAMuB,kBAAkB,GAAGlD,qBAAqB,CAAEuC,QAAS,CAAC;EAC5D,MAAMY,aAAa,GAAG/C,gBAAgB,CAAEmC,QAAS,CAAC;EAClD,MAAMa,cAAc,GAAGnD,iBAAiB,CAAEsC,QAAS,CAAC;EACpD,MAAMc,kBAAkB,GAAGtD,qBAAqB,CAAEwC,QAAS,CAAC;EAC5D,MAAMe,eAAe,GAAGjD,kBAAkB,CAAEkC,QAAS,CAAC;EACtD,MAAMgB,eAAe,GAAGjD,kBAAkB,CAAEiC,QAAS,CAAC;EACtD,MAAMiB,qBAAqB,GAAGjD,wBAAwB,CACrDoB,IAAI,EACJS,YAAY,EACZG,QACD,CAAC;EACD,MAAMkB,kBAAkB,GAAG,CAAC,CAAET,eAAe,EAAEU,MAAM,IAAI,CAAE9B,SAAS;EACpE,MAAM;IAAE+B;EAAW,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAAA,IAAAC,qBAAA;IAC/C,MAAM;MAAEC,eAAe;MAAEC;IAAuC,CAAC,GAChEH,MAAM,CAAEI,eAAU,CAAC;IAEpB,MAAMC,cAAc,GAAGF,sCAAsC,CAAC,CAAC;IAC/D,MAAMG,YAAY,GAAGD,cAAc,GAChCH,eAAe,CAAE,MAAM,EAAE,cAAc,EAAEG,cAAe,CAAC,GACzD1E,SAAS;IAEZ,OAAO;MACNmE,UAAU,GAAAG,qBAAA,GACT,CAAC,CAAEK,YAAY,EAAEC,MAAM,GAAI,oBAAoB,CAAE,cAAAN,qBAAA,cAAAA,qBAAA,GAAI;IACvD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMO,iBAAiB,GAAGzC,SAAS,GAChCoB,eAAe,CAACsB,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAAC5C,IAAI,KAAKC,SAAU,CAAC,GACrD,IAAI;;EAEP;EACA;EACA,MAAM4C,wBAAwB,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/C,OAAO;MACN,GAAGvC,cAAc;MACjBwC,MAAM,EAAEnC,QAAQ,CAACmC;IAClB,CAAC;EACF,CAAC,EAAE,CAAExC,cAAc,EAAEK,QAAQ,CAACmC,MAAM,CAAG,CAAC;EACxC,MAAMC,eAAe,GAAG,IAAAF,gBAAO,EAAE,MAAM;IACtC,OAAO;MACN,GAAGlF,KAAK;MACRmF,MAAM,EAAEtC,YAAY,CAACsC;IACtB,CAAC;EACF,CAAC,EAAE,CAAEnF,KAAK,EAAE6C,YAAY,CAACsC,MAAM,CAAG,CAAC;EACnC,MAAME,kBAAkB,GAAKC,QAAQ,IAAM;IAC1C,MAAMC,YAAY,GAAG;MAAE,GAAGD;IAAS,CAAC;IACpC,OAAOC,YAAY,CAACJ,MAAM;IAC1BvC,QAAQ,CAAE2C,YAAa,CAAC;IAExB,IAAKD,QAAQ,CAACH,MAAM,KAAKtC,YAAY,CAACsC,MAAM,EAAG;MAC9CpC,WAAW,CAAE;QACZ,GAAGF,YAAY;QACfsC,MAAM,EAAEG,QAAQ,CAACH;MAClB,CAAE,CAAC;IACJ;EACD,CAAC;EACD,MAAMK,gBAAgB,GAAKC,UAAU,IAAM;IAC1C;IACA;IACA,IAAKA,UAAU,KAAKxF,SAAS,EAAG;MAC/B8C,WAAW,CAAE;QACZ,GAAGD,WAAW;QACd4C,QAAQ,EAAEzF;MACX,CAAE,CAAC;;MAEH;MACA;IACD,CAAC,MAAM;MACN8C,WAAW,CAAE;QACZ,GAAGD,WAAW;QACd4C,QAAQ,EAAE;UACT,GAAG5C,WAAW,CAAC4C,QAAQ;UACvB,GAAGD;QACJ;MACD,CAAE,CAAC;IACJ;EACD,CAAC;EACD,MAAME,eAAe,GAAKL,QAAQ,IAAM;IACvC,IAAK,CAAEA,QAAQ,EAAE1F,MAAM,EAAG;MACzBgD,QAAQ,CAAE0C,QAAS,CAAC;MACpB;IACD;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAM;MAAEM,MAAM;MAAE,GAAGC;IAAU,CAAC,GAAGP,QAAQ,CAAC1F,MAAM;IAChD,MAAMA,MAAM,GAAGM,sBAAsB,CAAE2F,SAAU,CAAC;IAClD,MAAMC,aAAa,GAAG,CAAE,IAAA3F,yCAAe,EAAEP,MAAO,CAAC,GAC9C;MACAQ,GAAG,EAAER,MAAM;MACXS,KAAK,EAAET,MAAM;MACbU,MAAM,EAAEV,MAAM;MACdW,IAAI,EAAEX;IACN,CAAC,GACD;MACAE,KAAK,EAAE,IAAI;MACXE,KAAK,EAAE,IAAI;MACXD,KAAK,EAAE,IAAI;MACX,GAAGH;IACH,CAAC;IAEJgD,QAAQ,CAAE;MAAE,GAAG0C,QAAQ;MAAE1F,MAAM,EAAE;QAAE,GAAGkG,aAAa;QAAEF;MAAO;IAAE,CAAE,CAAC;EAClE,CAAC;EAED,OACC,IAAA/G,QAAA,CAAAkH,aAAA,EAAAlH,QAAA,CAAAmH,QAAA,QACC,IAAAnH,QAAA,CAAAkH,aAAA,EAAC1G,OAAA,CAAA4G,OAAY;IACZC,KAAK,EAAG7D,SAAS,GAAGyC,iBAAiB,CAACqB,KAAK,GAAGlD,SAAS,CAACiD;EAAO,CAC/D,CAAC,EACF,IAAArH,QAAA,CAAAkH,aAAA,EAACxG,kBAAA,CAAA0G,OAAiB;IAAC7D,IAAI,EAAGA,IAAM;IAACC,SAAS,EAAGA;EAAW,CAAE,CAAC,EACzD6B,kBAAkB,IACnB,IAAArF,QAAA,CAAAkH,aAAA;IAAKK,SAAS,EAAC;EAA2C,GACzD,IAAAvH,QAAA,CAAAkH,aAAA,EAAC5G,WAAA,CAAAkH,oBAAM;IAAClD,OAAO,EAAG;EAAG,GACpB,IAAAtE,QAAA,CAAAkH,aAAA,EAACtG,SAAA,CAAAwG,OAAQ,QAAG,IAAAK,QAAE,EAAE,kBAAmB,CAAa,CAAC,EACjD,IAAAzH,QAAA,CAAAkH,aAAA,EAACrG,gBAAA,CAAA6G,eAAe;IAACnE,IAAI,EAAGA;EAAM,CAAE,CACzB,CACJ,CACL,EACCwB,aAAa,IACd,IAAA/E,QAAA,CAAAkH,aAAA,EAAC1E,gBAAgB;IAChBmF,cAAc,EAAG7D,cAAgB;IACjC8D,KAAK,EAAGzG,KAAO;IACf0G,QAAQ,EAAG9D,QAAU;IACrBI,QAAQ,EAAGA;EAAU,CACrB,CACD,EACCW,kBAAkB,IACnB,IAAA9E,QAAA,CAAAkH,aAAA,EAACxE,qBAAqB;IACrBiF,cAAc,EAAG7D,cAAgB;IACjC8D,KAAK,EAAGzG,KAAO;IACf0G,QAAQ,EAAG9D,QAAU;IACrBI,QAAQ,EAAGA;EAAU,CACrB,CACD,EACCc,kBAAkB,IACnB,IAAAjF,QAAA,CAAAkH,aAAA,EAACtE,qBAAqB;IACrB+E,cAAc,EAAGvB,wBAA0B;IAC3CwB,KAAK,EAAGrB,eAAiB;IACzBsB,QAAQ,EAAGrB,kBAAoB;IAC/BrC,QAAQ,EAAGA,QAAU;IACrB2D,qBAAqB;EAAA,CACrB,CACD,EACC9C,cAAc,IACf,IAAAhF,QAAA,CAAAkH,aAAA,EAAC5E,iBAAiB;IACjBqF,cAAc,EAAG7D,cAAgB;IACjC8D,KAAK,EAAGzG,KAAO;IACf0G,QAAQ,EAAGf,eAAiB;IAC5B3C,QAAQ,EAAGA;EAAU,CACrB,CACD,EACCe,eAAe,IAChB,IAAAlF,QAAA,CAAAkH,aAAA,EAACpE,kBAAkB;IAClB6E,cAAc,EAAGvB,wBAA0B;IAC3CwB,KAAK,EAAGrB,eAAiB;IACzBsB,QAAQ,EAAG9D,QAAU;IACrBI,QAAQ,EAAGA,QAAU;IACrB2D,qBAAqB;EAAA,CACrB,CACD,EACC3C,eAAe,IAChB,IAAAnF,QAAA,CAAAkH,aAAA,EAAClE,kBAAkB;IAClB2E,cAAc,EAAGvB,wBAA0B;IAC3CwB,KAAK,EAAGrB,eAAiB;IACzBsB,QAAQ,EAAG9D,QAAU;IACrBI,QAAQ,EAAG;MACV,GAAGA,QAAQ;MACXlD,KAAK,EAAE;QACN,GAAGkD,QAAQ,CAAClD,KAAK;QACjB8G,aAAa,EAAE,KAAK,CAAE;MACvB;IACD,CAAG;;IACHD,qBAAqB;EAAA,CACrB,CACD,EACC1C,qBAAqB,IACtB,IAAApF,QAAA,CAAAkH,aAAA,EAACjE,kBAAkB;IAClB4E,QAAQ,EAAGlB,gBAAkB;IAC7BiB,KAAK,EAAG5D,YAAc;IACtB2D,cAAc,EAAGxD;EAAU,CAC3B,CACD,EAECoB,UAAU,IACX,IAAAvF,QAAA,CAAAkH,aAAA,EAAC5G,WAAA,CAAA0H,SAAS;IAACX,KAAK,EAAG,IAAAI,QAAE,EAAE,UAAW,CAAG;IAACQ,WAAW,EAAG;EAAO,GAC1D,IAAAjI,QAAA,CAAAkH,aAAA,aACG,IAAAgB,aAAO;EACR;EACA,IAAAT,QAAE,EACD,2IACD,CAAC,EACDrD,SAAS,EAAEiD,KACZ,CACE,CAAC,EACJ,IAAArH,QAAA,CAAAkH,aAAA,EAAC/D,mBAAmB;IACnByE,KAAK,EAAGzG,KAAO;IACf0G,QAAQ,EAAG9D,QAAU;IACrB4D,cAAc,EAAG7D;EAAgB,CACjC,CACS,CAEX,CAAC;AAEL;AAAC,IAAAqE,QAAA,GAEc7E,WAAW;AAAA8E,OAAA,CAAAhB,OAAA,GAAAe,QAAA"}
|
|
@@ -69,8 +69,7 @@ function ScreenRevisions() {
|
|
|
69
69
|
const restoreRevision = revision => {
|
|
70
70
|
setUserConfig(() => ({
|
|
71
71
|
styles: revision?.styles,
|
|
72
|
-
settings: revision?.settings
|
|
73
|
-
behaviors: revision?.behaviors
|
|
72
|
+
settings: revision?.settings
|
|
74
73
|
}));
|
|
75
74
|
setIsLoadingRevisionWithUnsavedChanges(false);
|
|
76
75
|
onCloseRevisions();
|
|
@@ -79,7 +78,6 @@ function ScreenRevisions() {
|
|
|
79
78
|
setGlobalStylesRevision({
|
|
80
79
|
styles: revision?.styles || {},
|
|
81
80
|
settings: revision?.settings || {},
|
|
82
|
-
behaviors: revision?.behaviors || {},
|
|
83
81
|
id: revision?.id
|
|
84
82
|
});
|
|
85
83
|
setSelectedRevisionId(revision?.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_i18n","_components","_data","_blockEditor","_header","_interopRequireDefault","_lockUnlock","_revisions","_sidebarFixedBottom","_store","_useGlobalStylesRevisions","_revisionsButtons","GlobalStylesContext","areGlobalStyleConfigsEqual","unlock","blockEditorPrivateApis","ScreenRevisions","goBack","useNavigator","user","userConfig","setUserConfig","useContext","blocks","editorCanvasContainerView","useSelect","select","editSiteStore","getEditorCanvasContainerView","blockEditorStore","getBlocks","revisions","isLoading","hasUnsavedChanges","useGlobalStylesRevisions","selectedRevisionId","setSelectedRevisionId","useState","globalStylesRevision","setGlobalStylesRevision","isLoadingRevisionWithUnsavedChanges","setIsLoadingRevisionWithUnsavedChanges","setEditorCanvasContainerView","useDispatch","useEffect","onCloseRevisions","restoreRevision","revision","styles","settings","behaviors","selectRevision","id","isLoadButtonEnabled","shouldShowRevisions","length","createElement","Fragment","default","title","__","description","Spinner","className","onClose","onChange","userRevisions","Button","variant","disabled","onClick","__experimentalConfirmDialog","isOpen","confirmButtonText","onConfirm","onCancel","__experimentalSpacer","marginX","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tSpinner,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext, useState, useEffect } from '@wordpress/element';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from '../header';\nimport { unlock } from '../../../lock-unlock';\nimport Revisions from '../../revisions';\nimport SidebarFixedBottom from '../../sidebar-edit-mode/sidebar-fixed-bottom';\nimport { store as editSiteStore } from '../../../store';\nimport useGlobalStylesRevisions from './use-global-styles-revisions';\nimport RevisionsButtons from './revisions-buttons';\n\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction ScreenRevisions() {\n\tconst { goBack } = useNavigator();\n\tconst { user: userConfig, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\tconst { blocks, editorCanvasContainerView } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\teditorCanvasContainerView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\tblocks: select( blockEditorStore ).getBlocks(),\n\t\t};\n\t}, [] );\n\tconst { revisions, isLoading, hasUnsavedChanges } =\n\t\tuseGlobalStylesRevisions();\n\tconst [ selectedRevisionId, setSelectedRevisionId ] = useState();\n\tconst [ globalStylesRevision, setGlobalStylesRevision ] =\n\t\tuseState( userConfig );\n\tconst [\n\t\tisLoadingRevisionWithUnsavedChanges,\n\t\tsetIsLoadingRevisionWithUnsavedChanges,\n\t] = useState( false );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\n\tuseEffect( () => {\n\t\tif ( editorCanvasContainerView !== 'global-styles-revisions' ) {\n\t\t\tgoBack();\n\t\t\tsetEditorCanvasContainerView( editorCanvasContainerView );\n\t\t}\n\t}, [ editorCanvasContainerView ] );\n\n\tconst onCloseRevisions = () => {\n\t\tgoBack();\n\t};\n\n\tconst restoreRevision = ( revision ) => {\n\t\tsetUserConfig( () => ( {\n\t\t\tstyles: revision?.styles,\n\t\t\tsettings: revision?.settings,\n\t\t\tbehaviors: revision?.behaviors,\n\t\t} ) );\n\t\tsetIsLoadingRevisionWithUnsavedChanges( false );\n\t\tonCloseRevisions();\n\t};\n\n\tconst selectRevision = ( revision ) => {\n\t\tsetGlobalStylesRevision( {\n\t\t\tstyles: revision?.styles || {},\n\t\t\tsettings: revision?.settings || {},\n\t\t\tbehaviors: revision?.behaviors || {},\n\t\t\tid: revision?.id,\n\t\t} );\n\t\tsetSelectedRevisionId( revision?.id );\n\t};\n\n\tconst isLoadButtonEnabled =\n\t\t!! globalStylesRevision?.id &&\n\t\t! areGlobalStyleConfigsEqual( globalStylesRevision, userConfig );\n\tconst shouldShowRevisions = ! isLoading && revisions.length;\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Revisions' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Revisions are added to the timeline when style changes are saved.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t{ isLoading && (\n\t\t\t\t<Spinner className=\"edit-site-global-styles-screen-revisions__loading\" />\n\t\t\t) }\n\t\t\t{ shouldShowRevisions ? (\n\t\t\t\t<>\n\t\t\t\t\t<Revisions\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tuserConfig={ globalStylesRevision }\n\t\t\t\t\t\tonClose={ onCloseRevisions }\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"edit-site-global-styles-screen-revisions\">\n\t\t\t\t\t\t<RevisionsButtons\n\t\t\t\t\t\t\tonChange={ selectRevision }\n\t\t\t\t\t\t\tselectedRevisionId={ selectedRevisionId }\n\t\t\t\t\t\t\tuserRevisions={ revisions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isLoadButtonEnabled && (\n\t\t\t\t\t\t\t<SidebarFixedBottom>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__button\"\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t! globalStylesRevision?.id ||\n\t\t\t\t\t\t\t\t\t\tglobalStylesRevision?.id === 'unsaved'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tif ( hasUnsavedChanges ) {\n\t\t\t\t\t\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges(\n\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\trestoreRevision(\n\t\t\t\t\t\t\t\t\t\t\t\tglobalStylesRevision\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\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{ globalStylesRevision?.id === 'parent'\n\t\t\t\t\t\t\t\t\t\t? __( 'Reset to defaults' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Apply' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</SidebarFixedBottom>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t\t{ isLoadingRevisionWithUnsavedChanges && (\n\t\t\t\t\t\t<ConfirmDialog\n\t\t\t\t\t\t\tisOpen={ isLoadingRevisionWithUnsavedChanges }\n\t\t\t\t\t\t\tconfirmButtonText={ __( 'Apply' ) }\n\t\t\t\t\t\t\tonConfirm={ () =>\n\t\t\t\t\t\t\t\trestoreRevision( globalStylesRevision )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonCancel={ () =>\n\t\t\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges( false )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Any unsaved changes will be lost when you apply this revision.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ConfirmDialog>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<Spacer marginX={ 4 } data-testid=\"global-styles-no-revisions\">\n\t\t\t\t\t{\n\t\t\t\t\t\t// Adding an existing translation here in case these changes are shipped to WordPress 6.3.\n\t\t\t\t\t\t// Later we could update to something better, e.g., \"There are currently no style revisions.\".\n\t\t\t\t\t\t__( 'No results found.' )\n\t\t\t\t\t}\n\t\t\t\t</Spacer>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenRevisions;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_i18n","_components","_data","_blockEditor","_header","_interopRequireDefault","_lockUnlock","_revisions","_sidebarFixedBottom","_store","_useGlobalStylesRevisions","_revisionsButtons","GlobalStylesContext","areGlobalStyleConfigsEqual","unlock","blockEditorPrivateApis","ScreenRevisions","goBack","useNavigator","user","userConfig","setUserConfig","useContext","blocks","editorCanvasContainerView","useSelect","select","editSiteStore","getEditorCanvasContainerView","blockEditorStore","getBlocks","revisions","isLoading","hasUnsavedChanges","useGlobalStylesRevisions","selectedRevisionId","setSelectedRevisionId","useState","globalStylesRevision","setGlobalStylesRevision","isLoadingRevisionWithUnsavedChanges","setIsLoadingRevisionWithUnsavedChanges","setEditorCanvasContainerView","useDispatch","useEffect","onCloseRevisions","restoreRevision","revision","styles","settings","selectRevision","id","isLoadButtonEnabled","shouldShowRevisions","length","createElement","Fragment","default","title","__","description","Spinner","className","onClose","onChange","userRevisions","Button","variant","disabled","onClick","__experimentalConfirmDialog","isOpen","confirmButtonText","onConfirm","onCancel","__experimentalSpacer","marginX","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tSpinner,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext, useState, useEffect } from '@wordpress/element';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from '../header';\nimport { unlock } from '../../../lock-unlock';\nimport Revisions from '../../revisions';\nimport SidebarFixedBottom from '../../sidebar-edit-mode/sidebar-fixed-bottom';\nimport { store as editSiteStore } from '../../../store';\nimport useGlobalStylesRevisions from './use-global-styles-revisions';\nimport RevisionsButtons from './revisions-buttons';\n\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction ScreenRevisions() {\n\tconst { goBack } = useNavigator();\n\tconst { user: userConfig, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\tconst { blocks, editorCanvasContainerView } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\teditorCanvasContainerView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\tblocks: select( blockEditorStore ).getBlocks(),\n\t\t};\n\t}, [] );\n\tconst { revisions, isLoading, hasUnsavedChanges } =\n\t\tuseGlobalStylesRevisions();\n\tconst [ selectedRevisionId, setSelectedRevisionId ] = useState();\n\tconst [ globalStylesRevision, setGlobalStylesRevision ] =\n\t\tuseState( userConfig );\n\tconst [\n\t\tisLoadingRevisionWithUnsavedChanges,\n\t\tsetIsLoadingRevisionWithUnsavedChanges,\n\t] = useState( false );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\n\tuseEffect( () => {\n\t\tif ( editorCanvasContainerView !== 'global-styles-revisions' ) {\n\t\t\tgoBack();\n\t\t\tsetEditorCanvasContainerView( editorCanvasContainerView );\n\t\t}\n\t}, [ editorCanvasContainerView ] );\n\n\tconst onCloseRevisions = () => {\n\t\tgoBack();\n\t};\n\n\tconst restoreRevision = ( revision ) => {\n\t\tsetUserConfig( () => ( {\n\t\t\tstyles: revision?.styles,\n\t\t\tsettings: revision?.settings,\n\t\t} ) );\n\t\tsetIsLoadingRevisionWithUnsavedChanges( false );\n\t\tonCloseRevisions();\n\t};\n\n\tconst selectRevision = ( revision ) => {\n\t\tsetGlobalStylesRevision( {\n\t\t\tstyles: revision?.styles || {},\n\t\t\tsettings: revision?.settings || {},\n\t\t\tid: revision?.id,\n\t\t} );\n\t\tsetSelectedRevisionId( revision?.id );\n\t};\n\n\tconst isLoadButtonEnabled =\n\t\t!! globalStylesRevision?.id &&\n\t\t! areGlobalStyleConfigsEqual( globalStylesRevision, userConfig );\n\tconst shouldShowRevisions = ! isLoading && revisions.length;\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Revisions' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Revisions are added to the timeline when style changes are saved.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t{ isLoading && (\n\t\t\t\t<Spinner className=\"edit-site-global-styles-screen-revisions__loading\" />\n\t\t\t) }\n\t\t\t{ shouldShowRevisions ? (\n\t\t\t\t<>\n\t\t\t\t\t<Revisions\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tuserConfig={ globalStylesRevision }\n\t\t\t\t\t\tonClose={ onCloseRevisions }\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"edit-site-global-styles-screen-revisions\">\n\t\t\t\t\t\t<RevisionsButtons\n\t\t\t\t\t\t\tonChange={ selectRevision }\n\t\t\t\t\t\t\tselectedRevisionId={ selectedRevisionId }\n\t\t\t\t\t\t\tuserRevisions={ revisions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isLoadButtonEnabled && (\n\t\t\t\t\t\t\t<SidebarFixedBottom>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__button\"\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t! globalStylesRevision?.id ||\n\t\t\t\t\t\t\t\t\t\tglobalStylesRevision?.id === 'unsaved'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tif ( hasUnsavedChanges ) {\n\t\t\t\t\t\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges(\n\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\trestoreRevision(\n\t\t\t\t\t\t\t\t\t\t\t\tglobalStylesRevision\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\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{ globalStylesRevision?.id === 'parent'\n\t\t\t\t\t\t\t\t\t\t? __( 'Reset to defaults' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Apply' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</SidebarFixedBottom>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t\t{ isLoadingRevisionWithUnsavedChanges && (\n\t\t\t\t\t\t<ConfirmDialog\n\t\t\t\t\t\t\tisOpen={ isLoadingRevisionWithUnsavedChanges }\n\t\t\t\t\t\t\tconfirmButtonText={ __( 'Apply' ) }\n\t\t\t\t\t\t\tonConfirm={ () =>\n\t\t\t\t\t\t\t\trestoreRevision( globalStylesRevision )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonCancel={ () =>\n\t\t\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges( false )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Any unsaved changes will be lost when you apply this revision.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ConfirmDialog>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<Spacer marginX={ 4 } data-testid=\"global-styles-no-revisions\">\n\t\t\t\t\t{\n\t\t\t\t\t\t// Adding an existing translation here in case these changes are shipped to WordPress 6.3.\n\t\t\t\t\t\t// Later we could update to something better, e.g., \"There are currently no style revisions.\".\n\t\t\t\t\t\t__( 'No results found.' )\n\t\t\t\t\t}\n\t\t\t\t</Spacer>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenRevisions;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_coreData","_element","_blockEditor","_lockUnlock","SITE_EDITOR_AUTHORS_QUERY","per_page","_fields","context","capabilities","EMPTY_ARRAY","GlobalStylesContext","unlock","blockEditorPrivateApis","useGlobalStylesRevisions","user","userConfig","useContext","authors","currentUser","isDirty","revisions","isLoadingGlobalStylesRevisions","useSelect","select","__experimentalGetDirtyEntityRecords","getCurrentUser","getUsers","getCurrentThemeGlobalStylesRevisions","isResolving","coreStore","dirtyEntityRecords","_currentUser","_isDirty","length","globalStylesRevisions","_authors","useMemo","_modifiedRevisions","hasUnsavedChanges","isLoading","map","revision","author","find","id","isLatest","Object","keys","unsavedRevision","styles","settings","
|
|
1
|
+
{"version":3,"names":["_data","require","_coreData","_element","_blockEditor","_lockUnlock","SITE_EDITOR_AUTHORS_QUERY","per_page","_fields","context","capabilities","EMPTY_ARRAY","GlobalStylesContext","unlock","blockEditorPrivateApis","useGlobalStylesRevisions","user","userConfig","useContext","authors","currentUser","isDirty","revisions","isLoadingGlobalStylesRevisions","useSelect","select","__experimentalGetDirtyEntityRecords","getCurrentUser","getUsers","getCurrentThemeGlobalStylesRevisions","isResolving","coreStore","dirtyEntityRecords","_currentUser","_isDirty","length","globalStylesRevisions","_authors","useMemo","_modifiedRevisions","hasUnsavedChanges","isLoading","map","revision","author","find","id","isLatest","Object","keys","unsavedRevision","styles","settings","name","avatar_urls","modified","Date","unshift","push"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/use-global-styles-revisions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst SITE_EDITOR_AUTHORS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,avatar_urls',\n\tcontext: 'view',\n\tcapabilities: [ 'edit_theme_options' ],\n};\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nexport default function useGlobalStylesRevisions() {\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst {\n\t\tauthors,\n\t\tcurrentUser,\n\t\tisDirty,\n\t\trevisions,\n\t\tisLoadingGlobalStylesRevisions,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\tgetCurrentUser,\n\t\t\tgetUsers,\n\t\t\tgetCurrentThemeGlobalStylesRevisions,\n\t\t\tisResolving,\n\t\t} = select( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst _currentUser = getCurrentUser();\n\t\tconst _isDirty = dirtyEntityRecords.length > 0;\n\t\tconst globalStylesRevisions =\n\t\t\tgetCurrentThemeGlobalStylesRevisions() || EMPTY_ARRAY;\n\t\tconst _authors = getUsers( SITE_EDITOR_AUTHORS_QUERY ) || EMPTY_ARRAY;\n\n\t\treturn {\n\t\t\tauthors: _authors,\n\t\t\tcurrentUser: _currentUser,\n\t\t\tisDirty: _isDirty,\n\t\t\trevisions: globalStylesRevisions,\n\t\t\tisLoadingGlobalStylesRevisions: isResolving(\n\t\t\t\t'getCurrentThemeGlobalStylesRevisions'\n\t\t\t),\n\t\t};\n\t}, [] );\n\treturn useMemo( () => {\n\t\tlet _modifiedRevisions = [];\n\t\tif ( ! authors.length || isLoadingGlobalStylesRevisions ) {\n\t\t\treturn {\n\t\t\t\trevisions: _modifiedRevisions,\n\t\t\t\thasUnsavedChanges: isDirty,\n\t\t\t\tisLoading: true,\n\t\t\t};\n\t\t}\n\n\t\t// Adds author details to each revision.\n\t\t_modifiedRevisions = revisions.map( ( revision ) => {\n\t\t\treturn {\n\t\t\t\t...revision,\n\t\t\t\tauthor: authors.find(\n\t\t\t\t\t( author ) => author.id === revision.author\n\t\t\t\t),\n\t\t\t};\n\t\t} );\n\n\t\tif ( _modifiedRevisions.length ) {\n\t\t\t// Flags the most current saved revision.\n\t\t\tif ( _modifiedRevisions[ 0 ].id !== 'unsaved' ) {\n\t\t\t\t_modifiedRevisions[ 0 ].isLatest = true;\n\t\t\t}\n\n\t\t\t// Adds an item for unsaved changes.\n\t\t\tif (\n\t\t\t\tisDirty &&\n\t\t\t\tuserConfig &&\n\t\t\t\tObject.keys( userConfig ).length > 0 &&\n\t\t\t\tcurrentUser\n\t\t\t) {\n\t\t\t\tconst unsavedRevision = {\n\t\t\t\t\tid: 'unsaved',\n\t\t\t\t\tstyles: userConfig?.styles,\n\t\t\t\t\tsettings: userConfig?.settings,\n\t\t\t\t\tauthor: {\n\t\t\t\t\t\tname: currentUser?.name,\n\t\t\t\t\t\tavatar_urls: currentUser?.avatar_urls,\n\t\t\t\t\t},\n\t\t\t\t\tmodified: new Date(),\n\t\t\t\t};\n\n\t\t\t\t_modifiedRevisions.unshift( unsavedRevision );\n\t\t\t}\n\n\t\t\t_modifiedRevisions.push( {\n\t\t\t\tid: 'parent',\n\t\t\t\tstyles: {},\n\t\t\t\tsettings: {},\n\t\t\t} );\n\t\t}\n\n\t\treturn {\n\t\t\trevisions: _modifiedRevisions,\n\t\t\thasUnsavedChanges: isDirty,\n\t\t\tisLoading: false,\n\t\t};\n\t}, [\n\t\tisDirty,\n\t\trevisions,\n\t\tcurrentUser,\n\t\tauthors,\n\t\tuserConfig,\n\t\tisLoadingGlobalStylesRevisions,\n\t] );\n}\n"],"mappings":"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"}
|