@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,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { setUIValuesNeeded } from '../index';
|
|
5
|
+
|
|
6
|
+
describe( 'setUIValuesNeeded function', () => {
|
|
7
|
+
test( 'Should set name from fontFamily if name is missing', () => {
|
|
8
|
+
const font = { fontFamily: 'Arial' };
|
|
9
|
+
const result = setUIValuesNeeded( font );
|
|
10
|
+
expect( result.name ).toBe( 'Arial' );
|
|
11
|
+
} );
|
|
12
|
+
|
|
13
|
+
test( 'Should set name from slug if name and fontFamily are missing', () => {
|
|
14
|
+
const font = { slug: 'arial-slug' };
|
|
15
|
+
const result = setUIValuesNeeded( font );
|
|
16
|
+
expect( result.name ).toBe( 'arial-slug' );
|
|
17
|
+
} );
|
|
18
|
+
|
|
19
|
+
test( 'Should not overwrite name if it exists', () => {
|
|
20
|
+
const font = { name: 'ExistingName', fontFamily: 'Arial' };
|
|
21
|
+
const result = setUIValuesNeeded( font );
|
|
22
|
+
expect( result.name ).toBe( 'ExistingName' );
|
|
23
|
+
} );
|
|
24
|
+
|
|
25
|
+
test( 'Should merge extra values', () => {
|
|
26
|
+
const font = { name: 'Arial', slug: 'arial' };
|
|
27
|
+
const extraValues = { source: 'custom' };
|
|
28
|
+
const result = setUIValuesNeeded( font, extraValues );
|
|
29
|
+
expect( result ).toEqual( {
|
|
30
|
+
name: 'Arial',
|
|
31
|
+
slug: 'arial',
|
|
32
|
+
source: 'custom',
|
|
33
|
+
} );
|
|
34
|
+
} );
|
|
35
|
+
|
|
36
|
+
test( 'Should return the same object if no conditions met', () => {
|
|
37
|
+
const font = { randomProperty: 'randomValue' };
|
|
38
|
+
const result = setUIValuesNeeded( font );
|
|
39
|
+
expect( result ).toEqual( font );
|
|
40
|
+
} );
|
|
41
|
+
} );
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { toggleFont } from '../toggleFont';
|
|
5
|
+
|
|
6
|
+
describe( 'toggleFont function', () => {
|
|
7
|
+
const initialCustomFonts = [
|
|
8
|
+
{
|
|
9
|
+
slug: 'font1',
|
|
10
|
+
fontFace: [
|
|
11
|
+
{ fontWeight: '400', fontStyle: 'normal' },
|
|
12
|
+
{ fontWeight: '700', fontStyle: 'italic' },
|
|
13
|
+
],
|
|
14
|
+
},
|
|
15
|
+
];
|
|
16
|
+
|
|
17
|
+
const newFont = { slug: 'font2', fontFace: [] };
|
|
18
|
+
|
|
19
|
+
// Basic Toggles
|
|
20
|
+
describe( 'Basic Toggles', () => {
|
|
21
|
+
it( 'should toggle the entire font family on/off', () => {
|
|
22
|
+
let updatedFonts = toggleFont( newFont, null, initialCustomFonts );
|
|
23
|
+
expect( updatedFonts ).toEqual( [
|
|
24
|
+
...initialCustomFonts,
|
|
25
|
+
newFont,
|
|
26
|
+
] );
|
|
27
|
+
|
|
28
|
+
updatedFonts = toggleFont( newFont, null, updatedFonts );
|
|
29
|
+
expect( updatedFonts ).toEqual( initialCustomFonts );
|
|
30
|
+
} );
|
|
31
|
+
|
|
32
|
+
it( 'should toggle a specific font face of an activated font family', () => {
|
|
33
|
+
const face = { fontWeight: '400', fontStyle: 'normal' };
|
|
34
|
+
let updatedFonts = toggleFont(
|
|
35
|
+
initialCustomFonts[ 0 ],
|
|
36
|
+
face,
|
|
37
|
+
initialCustomFonts
|
|
38
|
+
);
|
|
39
|
+
expect( updatedFonts[ 0 ].fontFace ).toEqual( [
|
|
40
|
+
{ fontWeight: '700', fontStyle: 'italic' },
|
|
41
|
+
] );
|
|
42
|
+
|
|
43
|
+
updatedFonts = toggleFont(
|
|
44
|
+
initialCustomFonts[ 0 ],
|
|
45
|
+
face,
|
|
46
|
+
updatedFonts
|
|
47
|
+
);
|
|
48
|
+
expect( updatedFonts[ 0 ].fontFace ).toEqual( [
|
|
49
|
+
{ fontWeight: '700', fontStyle: 'italic' },
|
|
50
|
+
{ fontWeight: '400', fontStyle: 'normal' },
|
|
51
|
+
] );
|
|
52
|
+
} );
|
|
53
|
+
|
|
54
|
+
it( 'should toggle a specific font face of a non-activated font family', () => {
|
|
55
|
+
const face = { fontWeight: '500', fontStyle: 'normal' };
|
|
56
|
+
const updatedFonts = toggleFont(
|
|
57
|
+
newFont,
|
|
58
|
+
face,
|
|
59
|
+
initialCustomFonts
|
|
60
|
+
);
|
|
61
|
+
expect( updatedFonts ).toEqual( [
|
|
62
|
+
...initialCustomFonts,
|
|
63
|
+
{ ...newFont, fontFace: [ face ] },
|
|
64
|
+
] );
|
|
65
|
+
} );
|
|
66
|
+
} );
|
|
67
|
+
|
|
68
|
+
// Edge Cases
|
|
69
|
+
describe( 'Edge Cases', () => {
|
|
70
|
+
it( 'should handle empty initial fonts', () => {
|
|
71
|
+
const updatedFonts = toggleFont( newFont, null, [] );
|
|
72
|
+
expect( updatedFonts ).toEqual( [ newFont ] );
|
|
73
|
+
} );
|
|
74
|
+
|
|
75
|
+
it( 'should deactivate font family when all font faces are deactivated', () => {
|
|
76
|
+
const face1 = { fontWeight: '400', fontStyle: 'normal' };
|
|
77
|
+
const face2 = { fontWeight: '700', fontStyle: 'italic' };
|
|
78
|
+
let updatedFonts = toggleFont(
|
|
79
|
+
initialCustomFonts[ 0 ],
|
|
80
|
+
face1,
|
|
81
|
+
initialCustomFonts
|
|
82
|
+
);
|
|
83
|
+
updatedFonts = toggleFont(
|
|
84
|
+
initialCustomFonts[ 0 ],
|
|
85
|
+
face2,
|
|
86
|
+
updatedFonts
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
expect( updatedFonts ).toEqual( [] );
|
|
90
|
+
} );
|
|
91
|
+
|
|
92
|
+
it( 'should not duplicate an already activated font face', () => {
|
|
93
|
+
const face = { fontWeight: '400', fontStyle: 'normal' };
|
|
94
|
+
const updatedFonts = toggleFont(
|
|
95
|
+
initialCustomFonts[ 0 ],
|
|
96
|
+
face,
|
|
97
|
+
initialCustomFonts
|
|
98
|
+
);
|
|
99
|
+
const furtherUpdatedFonts = toggleFont(
|
|
100
|
+
initialCustomFonts[ 0 ],
|
|
101
|
+
face,
|
|
102
|
+
updatedFonts
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
expect( furtherUpdatedFonts ).toHaveLength( 1 );
|
|
106
|
+
// Sort the font faces by fontWeight to ensure the order is consistent for the toEqual assertion.
|
|
107
|
+
expect(
|
|
108
|
+
furtherUpdatedFonts[ 0 ].fontFace.sort(
|
|
109
|
+
( a, b ) => a.fontWeight - b.fontWeight
|
|
110
|
+
)
|
|
111
|
+
).toEqual( initialCustomFonts[ 0 ].fontFace );
|
|
112
|
+
} );
|
|
113
|
+
|
|
114
|
+
it( 'should handle undefined or null fontFace gracefully', () => {
|
|
115
|
+
const fontWithoutFaces = { slug: 'font3' }; // no fontFace defined
|
|
116
|
+
const face = { fontWeight: '500', fontStyle: 'normal' };
|
|
117
|
+
const updatedFonts = toggleFont(
|
|
118
|
+
fontWithoutFaces,
|
|
119
|
+
face,
|
|
120
|
+
initialCustomFonts
|
|
121
|
+
);
|
|
122
|
+
expect( updatedFonts ).toEqual( [
|
|
123
|
+
...initialCustomFonts,
|
|
124
|
+
{ ...fontWithoutFaces, fontFace: [ face ] },
|
|
125
|
+
] );
|
|
126
|
+
} );
|
|
127
|
+
|
|
128
|
+
it( 'should handle fonts with the same slug but different properties', () => {
|
|
129
|
+
const differentFontWithSameSlug = {
|
|
130
|
+
slug: 'font1',
|
|
131
|
+
displayName: 'Different Font with Same Slug',
|
|
132
|
+
};
|
|
133
|
+
const updatedFonts = toggleFont(
|
|
134
|
+
differentFontWithSameSlug,
|
|
135
|
+
null,
|
|
136
|
+
initialCustomFonts
|
|
137
|
+
);
|
|
138
|
+
expect( updatedFonts ).toEqual( [] );
|
|
139
|
+
} );
|
|
140
|
+
} );
|
|
141
|
+
} );
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toggles the activation of a given font or font variant within a list of custom fonts.
|
|
3
|
+
*
|
|
4
|
+
* - If only the font is provided (without face), the entire font family's activation is toggled.
|
|
5
|
+
* - If both font and face are provided, the activation of the specific font variant is toggled.
|
|
6
|
+
*
|
|
7
|
+
* @param {Object} font - The font to be toggled.
|
|
8
|
+
* @param {string} font.slug - The unique identifier for the font.
|
|
9
|
+
* @param {Array} [font.fontFace] - The list of font variants (faces) associated with the font.
|
|
10
|
+
*
|
|
11
|
+
* @param {Object} [face] - The specific font variant to be toggled.
|
|
12
|
+
* @param {string} face.fontWeight - The weight of the font variant.
|
|
13
|
+
* @param {string} face.fontStyle - The style of the font variant.
|
|
14
|
+
*
|
|
15
|
+
* @param {Array} initialfonts - The initial list of custom fonts.
|
|
16
|
+
*
|
|
17
|
+
* @return {Array} - The updated list of custom fonts with the font/font variant toggled.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* const customFonts = [
|
|
21
|
+
* { slug: 'roboto', fontFace: [{ fontWeight: '400', fontStyle: 'normal' }] }
|
|
22
|
+
* ];
|
|
23
|
+
*
|
|
24
|
+
* toggleFont({ slug: 'roboto' }, null, customFonts);
|
|
25
|
+
* // This will remove 'roboto' from customFonts
|
|
26
|
+
*
|
|
27
|
+
* toggleFont({ slug: 'roboto' }, { fontWeight: '400', fontStyle: 'normal' }, customFonts);
|
|
28
|
+
* // This will remove the specified face from 'roboto' in customFonts
|
|
29
|
+
*
|
|
30
|
+
* toggleFont({ slug: 'roboto' }, { fontWeight: '500', fontStyle: 'normal' }, customFonts);
|
|
31
|
+
* // This will add the specified face to 'roboto' in customFonts
|
|
32
|
+
*/
|
|
33
|
+
export function toggleFont( font, face, initialfonts ) {
|
|
34
|
+
// Helper to check if a font is activated based on its slug
|
|
35
|
+
const isFontActivated = ( f ) => f.slug === font.slug;
|
|
36
|
+
|
|
37
|
+
// Helper to get the activated font from a list of fonts
|
|
38
|
+
const getActivatedFont = ( fonts ) => fonts.find( isFontActivated );
|
|
39
|
+
|
|
40
|
+
// Toggle the activation status of an entire font family
|
|
41
|
+
const toggleEntireFontFamily = ( activatedFont ) => {
|
|
42
|
+
if ( ! activatedFont ) {
|
|
43
|
+
// If the font is not active, activate the entire font family
|
|
44
|
+
return [ ...initialfonts, font ];
|
|
45
|
+
}
|
|
46
|
+
// If the font is already active, deactivate the entire font family
|
|
47
|
+
return initialfonts.filter( ( f ) => ! isFontActivated( f ) );
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
// Toggle the activation status of a specific font variant
|
|
51
|
+
const toggleFontVariant = ( activatedFont ) => {
|
|
52
|
+
const isFaceActivated = ( f ) =>
|
|
53
|
+
f.fontWeight === face.fontWeight && f.fontStyle === face.fontStyle;
|
|
54
|
+
|
|
55
|
+
if ( ! activatedFont ) {
|
|
56
|
+
// If the font family is not active, activate the font family with the font variant
|
|
57
|
+
return [ ...initialfonts, { ...font, fontFace: [ face ] } ];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
let newFontFaces = activatedFont.fontFace || [];
|
|
61
|
+
|
|
62
|
+
if ( newFontFaces.find( isFaceActivated ) ) {
|
|
63
|
+
// If the font variant is active, deactivate it
|
|
64
|
+
newFontFaces = newFontFaces.filter(
|
|
65
|
+
( f ) => ! isFaceActivated( f )
|
|
66
|
+
);
|
|
67
|
+
} else {
|
|
68
|
+
// If the font variant is not active, activate it
|
|
69
|
+
newFontFaces = [ ...newFontFaces, face ];
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// If there are no more font faces, deactivate the font family
|
|
73
|
+
if ( newFontFaces.length === 0 ) {
|
|
74
|
+
return initialfonts.filter( ( f ) => ! isFontActivated( f ) );
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Return updated fonts list with toggled font variant
|
|
78
|
+
return initialfonts.map( ( f ) =>
|
|
79
|
+
isFontActivated( f ) ? { ...f, fontFace: newFontFaces } : f
|
|
80
|
+
);
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
const activatedFont = getActivatedFont( initialfonts );
|
|
84
|
+
|
|
85
|
+
if ( ! face ) {
|
|
86
|
+
return toggleEntireFontFamily( activatedFont );
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return toggleFontVariant( activatedFont );
|
|
90
|
+
}
|
|
@@ -31,7 +31,7 @@ export function mergeBaseAndUserConfigs( base, user ) {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
function useGlobalStylesUserConfig() {
|
|
34
|
-
const { globalStylesId, isReady, settings, styles
|
|
34
|
+
const { globalStylesId, isReady, settings, styles } = useSelect(
|
|
35
35
|
( select ) => {
|
|
36
36
|
const { getEditedEntityRecord, hasFinishedResolution } =
|
|
37
37
|
select( coreStore );
|
|
@@ -65,7 +65,6 @@ function useGlobalStylesUserConfig() {
|
|
|
65
65
|
isReady: hasResolved,
|
|
66
66
|
settings: record?.settings,
|
|
67
67
|
styles: record?.styles,
|
|
68
|
-
behaviors: record?.behaviors,
|
|
69
68
|
};
|
|
70
69
|
},
|
|
71
70
|
[]
|
|
@@ -77,9 +76,8 @@ function useGlobalStylesUserConfig() {
|
|
|
77
76
|
return {
|
|
78
77
|
settings: settings ?? {},
|
|
79
78
|
styles: styles ?? {},
|
|
80
|
-
behaviors: behaviors ?? {},
|
|
81
79
|
};
|
|
82
|
-
}, [ settings, styles
|
|
80
|
+
}, [ settings, styles ] );
|
|
83
81
|
|
|
84
82
|
const setConfig = useCallback(
|
|
85
83
|
( callback, options = {} ) => {
|
|
@@ -91,7 +89,6 @@ function useGlobalStylesUserConfig() {
|
|
|
91
89
|
const currentConfig = {
|
|
92
90
|
styles: record?.styles ?? {},
|
|
93
91
|
settings: record?.settings ?? {},
|
|
94
|
-
behaviors: record?.behaviors ?? {},
|
|
95
92
|
};
|
|
96
93
|
const updatedConfig = callback( currentConfig );
|
|
97
94
|
editEntityRecord(
|
|
@@ -101,8 +98,6 @@ function useGlobalStylesUserConfig() {
|
|
|
101
98
|
{
|
|
102
99
|
styles: cleanEmptyObject( updatedConfig.styles ) || {},
|
|
103
100
|
settings: cleanEmptyObject( updatedConfig.settings ) || {},
|
|
104
|
-
behaviors:
|
|
105
|
-
cleanEmptyObject( updatedConfig.behaviors ) || {},
|
|
106
101
|
},
|
|
107
102
|
options
|
|
108
103
|
);
|
|
@@ -61,21 +61,20 @@ const {
|
|
|
61
61
|
useHasDimensionsPanel,
|
|
62
62
|
useHasTypographyPanel,
|
|
63
63
|
useHasBorderPanel,
|
|
64
|
-
__experimentalUseHasBehaviorsPanel: useHasBehaviorsPanel,
|
|
65
64
|
useGlobalSetting,
|
|
66
65
|
useSettingsForBlockElement,
|
|
67
66
|
useHasColorPanel,
|
|
68
67
|
useHasEffectsPanel,
|
|
69
68
|
useHasFiltersPanel,
|
|
69
|
+
useHasImageSettingsPanel,
|
|
70
70
|
useGlobalStyle,
|
|
71
|
-
__experimentalUseGlobalBehaviors: useGlobalBehaviors,
|
|
72
|
-
__experimentalBehaviorsPanel: StylesBehaviorsPanel,
|
|
73
71
|
BorderPanel: StylesBorderPanel,
|
|
74
72
|
ColorPanel: StylesColorPanel,
|
|
75
73
|
TypographyPanel: StylesTypographyPanel,
|
|
76
74
|
DimensionsPanel: StylesDimensionsPanel,
|
|
77
75
|
EffectsPanel: StylesEffectsPanel,
|
|
78
76
|
FiltersPanel: StylesFiltersPanel,
|
|
77
|
+
ImageSettingsPanel,
|
|
79
78
|
AdvancedPanel: StylesAdvancedPanel,
|
|
80
79
|
} = unlock( blockEditorPrivateApis );
|
|
81
80
|
|
|
@@ -92,11 +91,9 @@ function ScreenBlock( { name, variation } ) {
|
|
|
92
91
|
const [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {
|
|
93
92
|
shouldDecodeEncode: false,
|
|
94
93
|
} );
|
|
94
|
+
const [ userSettings ] = useGlobalSetting( '', name, 'user' );
|
|
95
95
|
const [ rawSettings, setSettings ] = useGlobalSetting( '', name );
|
|
96
96
|
const settings = useSettingsForBlockElement( rawSettings, name );
|
|
97
|
-
const { inheritedBehaviors, setBehavior } = useGlobalBehaviors( name );
|
|
98
|
-
const { behavior } = useGlobalBehaviors( name, 'user' );
|
|
99
|
-
|
|
100
97
|
const blockType = getBlockType( name );
|
|
101
98
|
|
|
102
99
|
// Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.
|
|
@@ -115,11 +112,15 @@ function ScreenBlock( { name, variation } ) {
|
|
|
115
112
|
const blockVariations = useBlockVariations( name );
|
|
116
113
|
const hasTypographyPanel = useHasTypographyPanel( settings );
|
|
117
114
|
const hasColorPanel = useHasColorPanel( settings );
|
|
118
|
-
const hasBehaviorsPanel = useHasBehaviorsPanel( rawSettings, name );
|
|
119
115
|
const hasBorderPanel = useHasBorderPanel( settings );
|
|
120
116
|
const hasDimensionsPanel = useHasDimensionsPanel( settings );
|
|
121
117
|
const hasEffectsPanel = useHasEffectsPanel( settings );
|
|
122
118
|
const hasFiltersPanel = useHasFiltersPanel( settings );
|
|
119
|
+
const hasImageSettingsPanel = useHasImageSettingsPanel(
|
|
120
|
+
name,
|
|
121
|
+
userSettings,
|
|
122
|
+
settings
|
|
123
|
+
);
|
|
123
124
|
const hasVariationsPanel = !! blockVariations?.length && ! variation;
|
|
124
125
|
const { canEditCSS } = useSelect( ( select ) => {
|
|
125
126
|
const { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =
|
|
@@ -150,21 +151,42 @@ function ScreenBlock( { name, variation } ) {
|
|
|
150
151
|
const styleWithLayout = useMemo( () => {
|
|
151
152
|
return {
|
|
152
153
|
...style,
|
|
153
|
-
layout:
|
|
154
|
+
layout: userSettings.layout,
|
|
154
155
|
};
|
|
155
|
-
}, [ style,
|
|
156
|
+
}, [ style, userSettings.layout ] );
|
|
156
157
|
const onChangeDimensions = ( newStyle ) => {
|
|
157
158
|
const updatedStyle = { ...newStyle };
|
|
158
159
|
delete updatedStyle.layout;
|
|
159
160
|
setStyle( updatedStyle );
|
|
160
161
|
|
|
161
|
-
if ( newStyle.layout !==
|
|
162
|
+
if ( newStyle.layout !== userSettings.layout ) {
|
|
162
163
|
setSettings( {
|
|
163
|
-
...
|
|
164
|
+
...userSettings,
|
|
164
165
|
layout: newStyle.layout,
|
|
165
166
|
} );
|
|
166
167
|
}
|
|
167
168
|
};
|
|
169
|
+
const onChangeLightbox = ( newSetting ) => {
|
|
170
|
+
// If the newSetting is undefined, this means that the user has deselected
|
|
171
|
+
// (reset) the lightbox setting.
|
|
172
|
+
if ( newSetting === undefined ) {
|
|
173
|
+
setSettings( {
|
|
174
|
+
...rawSettings,
|
|
175
|
+
lightbox: undefined,
|
|
176
|
+
} );
|
|
177
|
+
|
|
178
|
+
// Otherwise, we simply set the lightbox setting to the new value but
|
|
179
|
+
// taking care of not overriding the other lightbox settings.
|
|
180
|
+
} else {
|
|
181
|
+
setSettings( {
|
|
182
|
+
...rawSettings,
|
|
183
|
+
lightbox: {
|
|
184
|
+
...rawSettings.lightbox,
|
|
185
|
+
...newSetting,
|
|
186
|
+
},
|
|
187
|
+
} );
|
|
188
|
+
}
|
|
189
|
+
};
|
|
168
190
|
const onChangeBorders = ( newStyle ) => {
|
|
169
191
|
if ( ! newStyle?.border ) {
|
|
170
192
|
setStyle( newStyle );
|
|
@@ -272,13 +294,21 @@ function ScreenBlock( { name, variation } ) {
|
|
|
272
294
|
includeLayoutControls
|
|
273
295
|
/>
|
|
274
296
|
) }
|
|
297
|
+
{ hasImageSettingsPanel && (
|
|
298
|
+
<ImageSettingsPanel
|
|
299
|
+
onChange={ onChangeLightbox }
|
|
300
|
+
value={ userSettings }
|
|
301
|
+
inheritedValue={ settings }
|
|
302
|
+
/>
|
|
303
|
+
) }
|
|
304
|
+
|
|
275
305
|
{ canEditCSS && (
|
|
276
306
|
<PanelBody title={ __( 'Advanced' ) } initialOpen={ false }>
|
|
277
307
|
<p>
|
|
278
308
|
{ sprintf(
|
|
279
309
|
// translators: %s: is the name of a block e.g., 'Image' or 'Table'.
|
|
280
310
|
__(
|
|
281
|
-
'Add your own CSS to customize the appearance of the %s block.'
|
|
311
|
+
'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.'
|
|
282
312
|
),
|
|
283
313
|
blockType?.title
|
|
284
314
|
) }
|
|
@@ -288,14 +318,6 @@ function ScreenBlock( { name, variation } ) {
|
|
|
288
318
|
onChange={ setStyle }
|
|
289
319
|
inheritedValue={ inheritedStyle }
|
|
290
320
|
/>
|
|
291
|
-
{ hasBehaviorsPanel && (
|
|
292
|
-
<StylesBehaviorsPanel
|
|
293
|
-
value={ behavior }
|
|
294
|
-
onChange={ setBehavior }
|
|
295
|
-
behaviors={ inheritedBehaviors }
|
|
296
|
-
blockName={ name }
|
|
297
|
-
></StylesBehaviorsPanel>
|
|
298
|
-
) }
|
|
299
321
|
</PanelBody>
|
|
300
322
|
) }
|
|
301
323
|
</>
|
|
@@ -71,7 +71,6 @@ function ScreenRevisions() {
|
|
|
71
71
|
setUserConfig( () => ( {
|
|
72
72
|
styles: revision?.styles,
|
|
73
73
|
settings: revision?.settings,
|
|
74
|
-
behaviors: revision?.behaviors,
|
|
75
74
|
} ) );
|
|
76
75
|
setIsLoadingRevisionWithUnsavedChanges( false );
|
|
77
76
|
onCloseRevisions();
|
|
@@ -81,7 +80,6 @@ function ScreenRevisions() {
|
|
|
81
80
|
setGlobalStylesRevision( {
|
|
82
81
|
styles: revision?.styles || {},
|
|
83
82
|
settings: revision?.settings || {},
|
|
84
|
-
behaviors: revision?.behaviors || {},
|
|
85
83
|
id: revision?.id,
|
|
86
84
|
} );
|
|
87
85
|
setSelectedRevisionId( revision?.id );
|
|
@@ -1,79 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { __
|
|
5
|
-
import {
|
|
6
|
-
__experimentalItemGroup as ItemGroup,
|
|
7
|
-
__experimentalVStack as VStack,
|
|
8
|
-
__experimentalHStack as HStack,
|
|
9
|
-
FlexItem,
|
|
10
|
-
} from '@wordpress/components';
|
|
11
|
-
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
import { __experimentalVStack as VStack } from '@wordpress/components';
|
|
12
6
|
|
|
13
7
|
/**
|
|
14
8
|
* Internal dependencies
|
|
15
9
|
*/
|
|
10
|
+
import TypographyElements from './typogrphy-elements';
|
|
11
|
+
import FontFamilies from './font-families';
|
|
16
12
|
import ScreenHeader from './header';
|
|
17
|
-
import { NavigationButtonAsItem } from './navigation-button';
|
|
18
|
-
import Subtitle from './subtitle';
|
|
19
|
-
import { unlock } from '../../lock-unlock';
|
|
20
|
-
|
|
21
|
-
const { useGlobalStyle } = unlock( blockEditorPrivateApis );
|
|
22
|
-
|
|
23
|
-
function Item( { parentMenu, element, label } ) {
|
|
24
|
-
const prefix =
|
|
25
|
-
element === 'text' || ! element ? '' : `elements.${ element }.`;
|
|
26
|
-
const extraStyles =
|
|
27
|
-
element === 'link'
|
|
28
|
-
? {
|
|
29
|
-
textDecoration: 'underline',
|
|
30
|
-
}
|
|
31
|
-
: {};
|
|
32
|
-
const [ fontFamily ] = useGlobalStyle( prefix + 'typography.fontFamily' );
|
|
33
|
-
const [ fontStyle ] = useGlobalStyle( prefix + 'typography.fontStyle' );
|
|
34
|
-
const [ fontWeight ] = useGlobalStyle( prefix + 'typography.fontWeight' );
|
|
35
|
-
const [ letterSpacing ] = useGlobalStyle(
|
|
36
|
-
prefix + 'typography.letterSpacing'
|
|
37
|
-
);
|
|
38
|
-
const [ backgroundColor ] = useGlobalStyle( prefix + 'color.background' );
|
|
39
|
-
const [ gradientValue ] = useGlobalStyle( prefix + 'color.gradient' );
|
|
40
|
-
const [ color ] = useGlobalStyle( prefix + 'color.text' );
|
|
41
|
-
|
|
42
|
-
const navigationButtonLabel = sprintf(
|
|
43
|
-
// translators: %s: is a subset of Typography, e.g., 'text' or 'links'.
|
|
44
|
-
__( 'Typography %s styles' ),
|
|
45
|
-
label
|
|
46
|
-
);
|
|
47
|
-
|
|
48
|
-
return (
|
|
49
|
-
<NavigationButtonAsItem
|
|
50
|
-
path={ parentMenu + '/typography/' + element }
|
|
51
|
-
aria-label={ navigationButtonLabel }
|
|
52
|
-
>
|
|
53
|
-
<HStack justify="flex-start">
|
|
54
|
-
<FlexItem
|
|
55
|
-
className="edit-site-global-styles-screen-typography__indicator"
|
|
56
|
-
style={ {
|
|
57
|
-
fontFamily: fontFamily ?? 'serif',
|
|
58
|
-
background: gradientValue ?? backgroundColor,
|
|
59
|
-
color,
|
|
60
|
-
fontStyle,
|
|
61
|
-
fontWeight,
|
|
62
|
-
letterSpacing,
|
|
63
|
-
...extraStyles,
|
|
64
|
-
} }
|
|
65
|
-
>
|
|
66
|
-
{ __( 'Aa' ) }
|
|
67
|
-
</FlexItem>
|
|
68
|
-
<FlexItem>{ label }</FlexItem>
|
|
69
|
-
</HStack>
|
|
70
|
-
</NavigationButtonAsItem>
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
13
|
|
|
74
14
|
function ScreenTypography() {
|
|
75
|
-
const parentMenu = '';
|
|
76
|
-
|
|
77
15
|
return (
|
|
78
16
|
<>
|
|
79
17
|
<ScreenHeader
|
|
@@ -83,35 +21,9 @@ function ScreenTypography() {
|
|
|
83
21
|
) }
|
|
84
22
|
/>
|
|
85
23
|
<div className="edit-site-global-styles-screen-typography">
|
|
86
|
-
<VStack spacing={
|
|
87
|
-
|
|
88
|
-
<
|
|
89
|
-
<Item
|
|
90
|
-
parentMenu={ parentMenu }
|
|
91
|
-
element="text"
|
|
92
|
-
label={ __( 'Text' ) }
|
|
93
|
-
/>
|
|
94
|
-
<Item
|
|
95
|
-
parentMenu={ parentMenu }
|
|
96
|
-
element="link"
|
|
97
|
-
label={ __( 'Links' ) }
|
|
98
|
-
/>
|
|
99
|
-
<Item
|
|
100
|
-
parentMenu={ parentMenu }
|
|
101
|
-
element="heading"
|
|
102
|
-
label={ __( 'Headings' ) }
|
|
103
|
-
/>
|
|
104
|
-
<Item
|
|
105
|
-
parentMenu={ parentMenu }
|
|
106
|
-
element="caption"
|
|
107
|
-
label={ __( 'Captions' ) }
|
|
108
|
-
/>
|
|
109
|
-
<Item
|
|
110
|
-
parentMenu={ parentMenu }
|
|
111
|
-
element="button"
|
|
112
|
-
label={ __( 'Buttons' ) }
|
|
113
|
-
/>
|
|
114
|
-
</ItemGroup>
|
|
24
|
+
<VStack spacing={ 6 }>
|
|
25
|
+
{ window.__experimentalFontLibrary && <FontFamilies /> }
|
|
26
|
+
<TypographyElements />
|
|
115
27
|
</VStack>
|
|
116
28
|
</div>
|
|
117
29
|
</>
|
|
@@ -113,13 +113,11 @@ export default function StyleVariationsContainer() {
|
|
|
113
113
|
title: __( 'Default' ),
|
|
114
114
|
settings: {},
|
|
115
115
|
styles: {},
|
|
116
|
-
behaviors: {},
|
|
117
116
|
},
|
|
118
117
|
...( variations ?? [] ).map( ( variation ) => ( {
|
|
119
118
|
...variation,
|
|
120
119
|
settings: variation.settings ?? {},
|
|
121
120
|
styles: variation.styles ?? {},
|
|
122
|
-
behaviors: variation.behaviors ?? {},
|
|
123
121
|
} ) ),
|
|
124
122
|
];
|
|
125
123
|
}, [ variations ] );
|