@wordpress/edit-site 6.13.1-next.cd6172eb0.0 → 6.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/LICENSE.md +1 -1
- package/build/components/add-new-pattern/index.js +7 -10
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/add-new-post/index.js +1 -1
- package/build/components/add-new-post/index.js.map +1 -1
- package/build/components/add-new-template/add-custom-template-modal-content.js +1 -0
- package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build/components/add-new-template/index.js +1 -0
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/add-new-template/utils.js +1 -0
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/editor/index.js +1 -9
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +1 -0
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/global-styles/confirm-reset-shadow-dialog.js +39 -0
- package/build/components/global-styles/confirm-reset-shadow-dialog.js.map +1 -0
- package/build/components/global-styles/font-families.js +1 -0
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +1 -0
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +1 -0
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-demo.js +1 -0
- package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +2 -1
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +1 -0
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-details.js +1 -0
- package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
- package/build/components/global-styles/font-library-modal/upload-fonts.js +1 -0
- package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +1 -0
- package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +1 -0
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +1 -0
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +1 -0
- package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js +1 -0
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/toggleFont.js +1 -0
- package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -1
- package/build/components/global-styles/font-sizes/font-size.js +18 -14
- package/build/components/global-styles/font-sizes/font-size.js.map +1 -1
- package/build/components/global-styles/font-sizes/font-sizes.js +18 -20
- package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -1
- package/build/components/global-styles/highlighted-colors.js +1 -0
- package/build/components/global-styles/highlighted-colors.js.map +1 -1
- package/build/components/global-styles/hooks.js +1 -0
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/palette.js +1 -0
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/preset-colors.js +1 -0
- package/build/components/global-styles/preset-colors.js.map +1 -1
- package/build/components/global-styles/preview-colors.js +2 -2
- package/build/components/global-styles/preview-colors.js.map +1 -1
- package/build/components/global-styles/preview-styles.js +3 -2
- package/build/components/global-styles/preview-styles.js.map +1 -1
- package/build/components/global-styles/preview-typography.js +2 -2
- package/build/components/global-styles/preview-typography.js.map +1 -1
- package/build/components/global-styles/{preview-iframe.js → preview-wrapper.js} +11 -29
- package/build/components/global-styles/preview-wrapper.js.map +1 -0
- package/build/components/global-styles/screen-block-list.js +1 -0
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-block.js +1 -1
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +1 -0
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -0
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/shadow-utils.js +1 -0
- package/build/components/global-styles/shadow-utils.js.map +1 -1
- package/build/components/global-styles/shadows-edit-panel.js +36 -34
- package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build/components/global-styles/shadows-panel.js +44 -5
- package/build/components/global-styles/shadows-panel.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +1 -0
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/typeset.js +1 -0
- package/build/components/global-styles/typeset.js.map +1 -1
- package/build/components/global-styles/typography-example.js +8 -1
- package/build/components/global-styles/typography-example.js.map +1 -1
- package/build/components/global-styles/ui.js +1 -0
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/utils.js +1 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/global-styles/variations/variations-color.js +1 -0
- package/build/components/global-styles/variations/variations-color.js.map +1 -1
- package/build/components/global-styles/variations/variations-panel.js +1 -0
- package/build/components/global-styles/variations/variations-panel.js.map +1 -1
- package/build/components/global-styles/variations/variations-typography.js +1 -0
- package/build/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build/components/global-styles-renderer/index.js +1 -0
- package/build/components/global-styles-renderer/index.js.map +1 -1
- package/build/components/layout/index.js +24 -8
- package/build/components/layout/index.js.map +1 -1
- package/build/components/maybe-editor/index.js +65 -0
- package/build/components/maybe-editor/index.js.map +1 -0
- package/build/components/media/index.js +1 -0
- package/build/components/media/index.js.map +1 -1
- package/build/components/page-patterns/fields.js +8 -82
- package/build/components/page-patterns/fields.js.map +1 -1
- package/build/components/page-patterns/header.js +1 -0
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +18 -14
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/search-items.js +1 -0
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-patterns/use-pattern-settings.js +1 -0
- package/build/components/page-patterns/use-pattern-settings.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +1 -0
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/fields.js +7 -39
- package/build/components/page-templates/fields.js.map +1 -1
- package/build/components/page-templates/index.js +38 -41
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/post-edit/index.js +16 -8
- package/build/components/post-edit/index.js.map +1 -1
- package/build/components/post-list/index.js +40 -21
- package/build/components/post-list/index.js.map +1 -1
- package/build/components/posts-app-routes/index.js +1 -0
- package/build/components/posts-app-routes/index.js.map +1 -1
- package/build/components/resizable-frame/index.js +9 -1
- package/build/components/resizable-frame/index.js.map +1 -1
- package/build/components/save-button/index.js +1 -0
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-hub/index.js +1 -0
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/save-keyboard-shortcut/index.js +1 -0
- package/build/components/save-keyboard-shortcut/index.js.map +1 -1
- package/build/components/save-panel/index.js +1 -0
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar/index.js +1 -0
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +6 -7
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build/components/sidebar-dataviews/dataview-item.js +1 -0
- package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +10 -26
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +2 -0
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-global-styles-wrapper/index.js +40 -71
- package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/content.js +12 -38
- package/build/components/sidebar-navigation-screen-global-styles/content.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/index.js +38 -23
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +1 -4
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -0
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +1 -0
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -0
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -0
- package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
- package/build/components/site-editor-routes/home.js +4 -2
- package/build/components/site-editor-routes/home.js.map +1 -1
- package/build/components/site-editor-routes/index.js +3 -1
- package/build/components/site-editor-routes/index.js.map +1 -1
- package/build/components/site-editor-routes/stylebook.js +37 -0
- package/build/components/site-editor-routes/stylebook.js.map +1 -0
- package/build/components/site-editor-routes/styles.js +7 -1
- package/build/components/site-editor-routes/styles.js.map +1 -1
- package/build/components/site-editor-routes/template-item.js +3 -3
- package/build/components/site-editor-routes/template-item.js.map +1 -1
- package/build/components/site-editor-routes/template-part-item.js +3 -3
- package/build/components/site-editor-routes/template-part-item.js.map +1 -1
- package/build/components/style-book/categories.js +1 -0
- package/build/components/style-book/categories.js.map +1 -1
- package/build/components/style-book/color-examples.js +9 -3
- package/build/components/style-book/color-examples.js.map +1 -1
- package/build/components/style-book/constants.js +36 -3
- package/build/components/style-book/constants.js.map +1 -1
- package/build/components/style-book/duotone-examples.js +1 -0
- package/build/components/style-book/duotone-examples.js.map +1 -1
- package/build/components/style-book/examples.js +48 -30
- package/build/components/style-book/examples.js.map +1 -1
- package/build/components/style-book/index.js +185 -61
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/style-book/types.js.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/posts.js +1 -0
- package/build/posts.js.map +1 -1
- package/build/store/reducer.js +1 -0
- package/build/store/reducer.js.map +1 -1
- package/build/utils/get-filtered-template-parts.js +1 -0
- package/build/utils/get-filtered-template-parts.js.map +1 -1
- package/build/utils/set-nested-value.js +1 -0
- package/build/utils/set-nested-value.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +7 -10
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/add-new-post/index.js +1 -1
- package/build-module/components/add-new-post/index.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-template-modal-content.js +1 -0
- package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build-module/components/add-new-template/index.js +1 -0
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/add-new-template/utils.js +1 -0
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/editor/index.js +1 -9
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-canvas-container/index.js +1 -0
- package/build-module/components/editor-canvas-container/index.js.map +1 -1
- package/build-module/components/global-styles/confirm-reset-shadow-dialog.js +32 -0
- package/build-module/components/global-styles/confirm-reset-shadow-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-families.js +1 -0
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +1 -0
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +1 -0
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-demo.js +1 -0
- package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js +2 -1
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +1 -0
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-details.js +1 -0
- package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js +1 -0
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/font-size.js +18 -14
- package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/font-sizes.js +25 -27
- package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -1
- package/build-module/components/global-styles/highlighted-colors.js +1 -0
- package/build-module/components/global-styles/highlighted-colors.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +1 -0
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/palette.js +1 -0
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/preset-colors.js +1 -0
- package/build-module/components/global-styles/preset-colors.js.map +1 -1
- package/build-module/components/global-styles/preview-colors.js +2 -2
- package/build-module/components/global-styles/preview-colors.js.map +1 -1
- package/build-module/components/global-styles/preview-styles.js +3 -2
- package/build-module/components/global-styles/preview-styles.js.map +1 -1
- package/build-module/components/global-styles/preview-typography.js +2 -2
- package/build-module/components/global-styles/preview-typography.js.map +1 -1
- package/build-module/components/global-styles/{preview-iframe.js → preview-wrapper.js} +13 -31
- package/build-module/components/global-styles/preview-wrapper.js.map +1 -0
- package/build-module/components/global-styles/screen-block-list.js +1 -0
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +1 -1
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -0
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -0
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/shadow-utils.js +1 -0
- package/build-module/components/global-styles/shadow-utils.js.map +1 -1
- package/build-module/components/global-styles/shadows-edit-panel.js +37 -35
- package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build-module/components/global-styles/shadows-panel.js +47 -8
- package/build-module/components/global-styles/shadows-panel.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +1 -0
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/typeset.js +1 -0
- package/build-module/components/global-styles/typeset.js.map +1 -1
- package/build-module/components/global-styles/typography-example.js +8 -1
- package/build-module/components/global-styles/typography-example.js.map +1 -1
- package/build-module/components/global-styles/ui.js +1 -0
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/utils.js +1 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-color.js +1 -0
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-panel.js +1 -0
- package/build-module/components/global-styles/variations/variations-panel.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-typography.js +1 -0
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build-module/components/global-styles-renderer/index.js +1 -0
- package/build-module/components/global-styles-renderer/index.js.map +1 -1
- package/build-module/components/layout/index.js +25 -9
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/maybe-editor/index.js +59 -0
- package/build-module/components/maybe-editor/index.js.map +1 -0
- package/build-module/components/media/index.js +1 -0
- package/build-module/components/media/index.js.map +1 -1
- package/build-module/components/page-patterns/fields.js +10 -84
- package/build-module/components/page-patterns/fields.js.map +1 -1
- package/build-module/components/page-patterns/header.js +1 -0
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +16 -12
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +1 -0
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-patterns/use-pattern-settings.js +1 -0
- package/build-module/components/page-patterns/use-pattern-settings.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +1 -0
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/fields.js +6 -38
- package/build-module/components/page-templates/fields.js.map +1 -1
- package/build-module/components/page-templates/index.js +37 -40
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/post-edit/index.js +16 -8
- package/build-module/components/post-edit/index.js.map +1 -1
- package/build-module/components/post-list/index.js +41 -22
- package/build-module/components/post-list/index.js.map +1 -1
- package/build-module/components/posts-app-routes/index.js +1 -0
- package/build-module/components/posts-app-routes/index.js.map +1 -1
- package/build-module/components/resizable-frame/index.js +9 -1
- package/build-module/components/resizable-frame/index.js.map +1 -1
- package/build-module/components/save-button/index.js +1 -0
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +1 -0
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/save-keyboard-shortcut/index.js +1 -0
- package/build-module/components/save-keyboard-shortcut/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +1 -0
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +1 -0
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +6 -7
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/dataview-item.js +1 -0
- package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +10 -26
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +2 -0
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-global-styles-wrapper/index.js +41 -74
- package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/content.js +12 -38
- package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.js +40 -25
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +1 -4
- 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 +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +2 -0
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
- package/build-module/components/site-editor-routes/home.js +4 -2
- package/build-module/components/site-editor-routes/home.js.map +1 -1
- package/build-module/components/site-editor-routes/index.js +3 -1
- package/build-module/components/site-editor-routes/index.js.map +1 -1
- package/build-module/components/site-editor-routes/stylebook.js +29 -0
- package/build-module/components/site-editor-routes/stylebook.js.map +1 -0
- package/build-module/components/site-editor-routes/styles.js +7 -1
- package/build-module/components/site-editor-routes/styles.js.map +1 -1
- package/build-module/components/site-editor-routes/template-item.js +3 -3
- package/build-module/components/site-editor-routes/template-item.js.map +1 -1
- package/build-module/components/site-editor-routes/template-part-item.js +3 -3
- package/build-module/components/site-editor-routes/template-part-item.js.map +1 -1
- package/build-module/components/style-book/categories.js +1 -0
- package/build-module/components/style-book/categories.js.map +1 -1
- package/build-module/components/style-book/color-examples.js +9 -3
- package/build-module/components/style-book/color-examples.js.map +1 -1
- package/build-module/components/style-book/constants.js +35 -2
- package/build-module/components/style-book/constants.js.map +1 -1
- package/build-module/components/style-book/duotone-examples.js +1 -0
- package/build-module/components/style-book/duotone-examples.js.map +1 -1
- package/build-module/components/style-book/examples.js +48 -30
- package/build-module/components/style-book/examples.js.map +1 -1
- package/build-module/components/style-book/index.js +185 -64
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/style-book/types.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/posts.js +1 -0
- package/build-module/posts.js.map +1 -1
- package/build-module/store/reducer.js +1 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/utils/get-filtered-template-parts.js +1 -0
- package/build-module/utils/get-filtered-template-parts.js.map +1 -1
- package/build-module/utils/set-nested-value.js +1 -0
- package/build-module/utils/set-nested-value.js.map +1 -1
- package/build-style/posts-rtl.css +151 -182
- package/build-style/posts.css +151 -182
- package/build-style/style-rtl.css +343 -354
- package/build-style/style.css +343 -354
- package/package.json +42 -41
- package/src/components/add-new-pattern/index.js +10 -7
- package/src/components/add-new-post/index.js +1 -1
- package/src/components/canvas-loader/style.scss +4 -3
- package/src/components/editor/index.js +1 -7
- package/src/components/editor/style.scss +4 -2
- package/src/components/editor-canvas-container/style.scss +7 -1
- package/src/components/global-styles/confirm-reset-shadow-dialog.js +37 -0
- package/src/components/global-styles/font-library-modal/index.js +1 -1
- package/src/components/global-styles/font-library-modal/style.scss +4 -2
- package/src/components/global-styles/font-sizes/font-size.js +28 -19
- package/src/components/global-styles/font-sizes/font-sizes.js +37 -35
- package/src/components/global-styles/preview-colors.js +3 -3
- package/src/components/global-styles/preview-styles.js +3 -3
- package/src/components/global-styles/preview-typography.js +3 -3
- package/src/components/global-styles/{preview-iframe.js → preview-wrapper.js} +9 -35
- package/src/components/global-styles/screen-block.js +3 -2
- package/src/components/global-styles/shadows-edit-panel.js +58 -49
- package/src/components/global-styles/shadows-panel.js +64 -5
- package/src/components/global-styles/style.scss +40 -18
- package/src/components/global-styles/typography-example.js +12 -1
- package/src/components/global-styles/variations/style.scss +4 -3
- package/src/components/layout/index.js +20 -7
- package/src/components/layout/style.scss +8 -3
- package/src/components/maybe-editor/index.js +58 -0
- package/src/components/page/style.scss +8 -5
- package/src/components/page-patterns/fields.js +13 -100
- package/src/components/page-patterns/index.js +23 -11
- package/src/components/page-patterns/style.scss +4 -53
- package/src/components/page-templates/fields.js +6 -33
- package/src/components/page-templates/index.js +38 -55
- package/src/components/page-templates/style.scss +4 -20
- package/src/components/post-edit/index.js +22 -18
- package/src/components/post-list/index.js +59 -44
- package/src/components/post-list/style.scss +0 -36
- package/src/components/resizable-frame/index.js +10 -1
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +7 -6
- package/src/components/sidebar-dataviews/default-views.js +10 -26
- package/src/components/sidebar-dataviews/index.js +1 -1
- package/src/components/sidebar-dataviews/style.scss +9 -1
- package/src/components/sidebar-global-styles-wrapper/index.js +37 -83
- package/src/components/sidebar-global-styles-wrapper/style.scss +22 -0
- package/src/components/sidebar-navigation-item/style.scss +6 -0
- package/src/components/sidebar-navigation-screen/style.scss +0 -5
- package/src/components/sidebar-navigation-screen-global-styles/content.js +7 -35
- package/src/components/sidebar-navigation-screen-main/index.js +67 -38
- package/src/components/sidebar-navigation-screen-main/style.scss +4 -0
- package/src/components/sidebar-navigation-screen-navigation-menus/index.js +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +5 -0
- package/src/components/sidebar-navigation-screen-patterns/index.js +0 -7
- package/src/components/sidebar-navigation-screen-patterns/style.scss +2 -0
- package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
- package/src/components/sidebar-navigation-screen-templates-browse/style.scss +4 -0
- package/src/components/site-editor-routes/home.js +2 -2
- package/src/components/site-editor-routes/index.js +2 -0
- package/src/components/site-editor-routes/stylebook.js +28 -0
- package/src/components/site-editor-routes/styles.js +5 -1
- package/src/components/site-editor-routes/template-item.js +3 -3
- package/src/components/site-editor-routes/template-part-item.js +3 -3
- package/src/components/site-hub/style.scss +4 -2
- package/src/components/style-book/color-examples.tsx +21 -3
- package/src/components/style-book/constants.ts +49 -2
- package/src/components/style-book/examples.tsx +55 -31
- package/src/components/style-book/index.js +268 -87
- package/src/components/style-book/style.scss +4 -0
- package/src/components/style-book/types.ts +1 -1
- package/src/style.scss +4 -1
- package/build/components/error-boundary/index.js +0 -47
- package/build/components/error-boundary/index.js.map +0 -1
- package/build/components/error-boundary/warning.js +0 -42
- package/build/components/error-boundary/warning.js.map +0 -1
- package/build/components/global-styles/preview-iframe.js.map +0 -1
- package/build-module/components/error-boundary/index.js +0 -38
- package/build-module/components/error-boundary/index.js.map +0 -1
- package/build-module/components/error-boundary/warning.js +0 -35
- package/build-module/components/error-boundary/warning.js.map +0 -1
- package/build-module/components/global-styles/preview-iframe.js.map +0 -1
- package/src/components/error-boundary/index.js +0 -44
- package/src/components/error-boundary/test/error-boundary.js +0 -40
- package/src/components/error-boundary/warning.js +0 -30
|
@@ -1,19 +1,19 @@
|
|
|
1
|
+
/* wp:polyfill */
|
|
1
2
|
/**
|
|
2
3
|
* WordPress dependencies
|
|
3
4
|
*/
|
|
4
|
-
import {
|
|
5
|
+
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
5
6
|
import { __unstableMotion as motion } from '@wordpress/components';
|
|
6
7
|
import { useThrottle, useReducedMotion, useResizeObserver } from '@wordpress/compose';
|
|
7
|
-
import { useLayoutEffect, useState
|
|
8
|
+
import { useLayoutEffect, useState } from '@wordpress/element';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Internal dependencies
|
|
11
12
|
*/
|
|
12
13
|
import { unlock } from '../../lock-unlock';
|
|
13
|
-
import { jsx as _jsx,
|
|
14
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
15
|
const {
|
|
15
|
-
useGlobalStyle
|
|
16
|
-
useGlobalStylesOutput
|
|
16
|
+
useGlobalStyle
|
|
17
17
|
} = unlock(blockEditorPrivateApis);
|
|
18
18
|
const normalizedWidth = 248;
|
|
19
19
|
const normalizedHeight = 152;
|
|
@@ -24,7 +24,7 @@ const THROTTLE_OPTIONS = {
|
|
|
24
24
|
leading: true,
|
|
25
25
|
trailing: true
|
|
26
26
|
};
|
|
27
|
-
export default function
|
|
27
|
+
export default function PreviewWrapper({
|
|
28
28
|
children,
|
|
29
29
|
label,
|
|
30
30
|
isFocused,
|
|
@@ -32,7 +32,6 @@ export default function PreviewIframe({
|
|
|
32
32
|
}) {
|
|
33
33
|
const [backgroundColor = 'white'] = useGlobalStyle('color.background');
|
|
34
34
|
const [gradientValue] = useGlobalStyle('color.gradient');
|
|
35
|
-
const [styles] = useGlobalStylesOutput();
|
|
36
35
|
const disableMotion = useReducedMotion();
|
|
37
36
|
const [isHovered, setIsHovered] = useState(false);
|
|
38
37
|
const [containerResizeListener, {
|
|
@@ -42,7 +41,7 @@ export default function PreviewIframe({
|
|
|
42
41
|
const [ratioState, setRatioState] = useState();
|
|
43
42
|
const setThrottledWidth = useThrottle(setThrottledWidthState, 250, THROTTLE_OPTIONS);
|
|
44
43
|
|
|
45
|
-
// Must use useLayoutEffect to avoid a flash of the
|
|
44
|
+
// Must use useLayoutEffect to avoid a flash of the container at the wrong
|
|
46
45
|
// size before the width is set.
|
|
47
46
|
useLayoutEffect(() => {
|
|
48
47
|
if (width) {
|
|
@@ -50,7 +49,7 @@ export default function PreviewIframe({
|
|
|
50
49
|
}
|
|
51
50
|
}, [width, setThrottledWidth]);
|
|
52
51
|
|
|
53
|
-
// Must use useLayoutEffect to avoid a flash of the
|
|
52
|
+
// Must use useLayoutEffect to avoid a flash of the container at the wrong
|
|
54
53
|
// size before the width is set.
|
|
55
54
|
useLayoutEffect(() => {
|
|
56
55
|
const newRatio = throttledWidth ? throttledWidth / normalizedWidth : 1;
|
|
@@ -75,21 +74,6 @@ export default function PreviewIframe({
|
|
|
75
74
|
* See: https://github.com/WordPress/gutenberg/issues/55112
|
|
76
75
|
*/
|
|
77
76
|
const ratio = ratioState ? ratioState : fallbackRatio;
|
|
78
|
-
|
|
79
|
-
/*
|
|
80
|
-
* Reset leaked styles from WP common.css and remove main content layout padding and border.
|
|
81
|
-
* Add pointer cursor to the body to indicate the iframe is interactive,
|
|
82
|
-
* similar to Typography variation previews.
|
|
83
|
-
*/
|
|
84
|
-
const editorStyles = useMemo(() => {
|
|
85
|
-
if (styles) {
|
|
86
|
-
return [...styles, {
|
|
87
|
-
css: 'html{overflow:hidden}body{min-width: 0;padding: 0;border: none;cursor: pointer;}',
|
|
88
|
-
isGlobalStyles: true
|
|
89
|
-
}];
|
|
90
|
-
}
|
|
91
|
-
return styles;
|
|
92
|
-
}, [styles]);
|
|
93
77
|
const isReady = !!width;
|
|
94
78
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
95
79
|
children: [/*#__PURE__*/_jsx("div", {
|
|
@@ -97,17 +81,15 @@ export default function PreviewIframe({
|
|
|
97
81
|
position: 'relative'
|
|
98
82
|
},
|
|
99
83
|
children: containerResizeListener
|
|
100
|
-
}), isReady && /*#__PURE__*/
|
|
101
|
-
className: "edit-site-global-styles-
|
|
84
|
+
}), isReady && /*#__PURE__*/_jsx("div", {
|
|
85
|
+
className: "edit-site-global-styles-preview__wrapper",
|
|
102
86
|
style: {
|
|
103
87
|
height: normalizedHeight * ratio
|
|
104
88
|
},
|
|
105
89
|
onMouseEnter: () => setIsHovered(true),
|
|
106
90
|
onMouseLeave: () => setIsHovered(false),
|
|
107
91
|
tabIndex: -1,
|
|
108
|
-
children:
|
|
109
|
-
styles: editorStyles
|
|
110
|
-
}), /*#__PURE__*/_jsx(motion.div, {
|
|
92
|
+
children: /*#__PURE__*/_jsx(motion.div, {
|
|
111
93
|
style: {
|
|
112
94
|
height: normalizedHeight * ratio,
|
|
113
95
|
width: '100%',
|
|
@@ -121,8 +103,8 @@ export default function PreviewIframe({
|
|
|
121
103
|
ratio,
|
|
122
104
|
key
|
|
123
105
|
}))
|
|
124
|
-
})
|
|
106
|
+
})
|
|
125
107
|
})]
|
|
126
108
|
});
|
|
127
109
|
}
|
|
128
|
-
//# sourceMappingURL=preview-
|
|
110
|
+
//# sourceMappingURL=preview-wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["privateApis","blockEditorPrivateApis","__unstableMotion","motion","useThrottle","useReducedMotion","useResizeObserver","useLayoutEffect","useState","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useGlobalStyle","normalizedWidth","normalizedHeight","THROTTLE_OPTIONS","leading","trailing","PreviewWrapper","children","label","isFocused","withHoverView","backgroundColor","gradientValue","disableMotion","isHovered","setIsHovered","containerResizeListener","width","throttledWidth","setThrottledWidthState","ratioState","setRatioState","setThrottledWidth","newRatio","ratioDiff","isRatioDiffBigEnough","Math","abs","fallbackRatio","ratio","isReady","style","position","className","height","onMouseEnter","onMouseLeave","tabIndex","div","background","cursor","undefined","initial","animate","concat","map","child","key"],"sources":["@wordpress/edit-site/src/components/global-styles/preview-wrapper.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport {\n\tuseThrottle,\n\tuseReducedMotion,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { useLayoutEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst normalizedWidth = 248;\nconst normalizedHeight = 152;\n\n// Throttle options for useThrottle. Must be defined outside of the component,\n// so that the object reference is the same on each render.\nconst THROTTLE_OPTIONS = {\n\tleading: true,\n\ttrailing: true,\n};\n\nexport default function PreviewWrapper( {\n\tchildren,\n\tlabel,\n\tisFocused,\n\twithHoverView,\n} ) {\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\tconst disableMotion = useReducedMotion();\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ containerResizeListener, { width } ] = useResizeObserver();\n\tconst [ throttledWidth, setThrottledWidthState ] = useState( width );\n\tconst [ ratioState, setRatioState ] = useState();\n\n\tconst setThrottledWidth = useThrottle(\n\t\tsetThrottledWidthState,\n\t\t250,\n\t\tTHROTTLE_OPTIONS\n\t);\n\n\t// Must use useLayoutEffect to avoid a flash of the container at the wrong\n\t// size before the width is set.\n\tuseLayoutEffect( () => {\n\t\tif ( width ) {\n\t\t\tsetThrottledWidth( width );\n\t\t}\n\t}, [ width, setThrottledWidth ] );\n\n\t// Must use useLayoutEffect to avoid a flash of the container at the wrong\n\t// size before the width is set.\n\tuseLayoutEffect( () => {\n\t\tconst newRatio = throttledWidth ? throttledWidth / normalizedWidth : 1;\n\t\tconst ratioDiff = newRatio - ( ratioState || 0 );\n\n\t\t// Only update the ratio state if the difference is big enough\n\t\t// or if the ratio state is not yet set. This is to avoid an\n\t\t// endless loop of updates at particular viewport heights when the\n\t\t// presence of a scrollbar causes the width to change slightly.\n\t\tconst isRatioDiffBigEnough = Math.abs( ratioDiff ) > 0.1;\n\n\t\tif ( isRatioDiffBigEnough || ! ratioState ) {\n\t\t\tsetRatioState( newRatio );\n\t\t}\n\t}, [ throttledWidth, ratioState ] );\n\n\t// Set a fallbackRatio to use before the throttled ratio has been set.\n\tconst fallbackRatio = width ? width / normalizedWidth : 1;\n\t/*\n\t * Use the throttled ratio if it has been calculated, otherwise\n\t * use the fallback ratio. The throttled ratio is used to avoid\n\t * an endless loop of updates at particular viewport heights.\n\t * See: https://github.com/WordPress/gutenberg/issues/55112\n\t */\n\tconst ratio = ratioState ? ratioState : fallbackRatio;\n\n\tconst isReady = !! width;\n\n\treturn (\n\t\t<>\n\t\t\t<div style={ { position: 'relative' } }>\n\t\t\t\t{ containerResizeListener }\n\t\t\t</div>\n\t\t\t{ isReady && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"edit-site-global-styles-preview__wrapper\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: normalizedHeight * ratio,\n\t\t\t\t\t} }\n\t\t\t\t\tonMouseEnter={ () => setIsHovered( true ) }\n\t\t\t\t\tonMouseLeave={ () => setIsHovered( false ) }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\theight: normalizedHeight * ratio,\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\tbackground: gradientValue ?? backgroundColor,\n\t\t\t\t\t\t\tcursor: withHoverView ? 'pointer' : undefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tinitial=\"start\"\n\t\t\t\t\t\tanimate={\n\t\t\t\t\t\t\t( isHovered || isFocused ) &&\n\t\t\t\t\t\t\t! disableMotion &&\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t? 'hover'\n\t\t\t\t\t\t\t\t: 'start'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ []\n\t\t\t\t\t\t\t.concat( children ) // This makes sure children is always an array.\n\t\t\t\t\t\t\t.map( ( child, key ) => child( { ratio, key } ) ) }\n\t\t\t\t\t</motion.div>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["store","blocksStore","__","sprintf","_n","FlexItem","SearchControl","__experimentalHStack","HStack","useSelect","useState","useEffect","useRef","useDeferredValue","memo","BlockIcon","privateApis","blockEditorPrivateApis","useDebounce","speak","useBlockVariations","ScreenHeader","NavigationButtonAsItem","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useSortedBlockTypes","blockItems","select","getBlockTypes","groupByType","blocks","block","core","noncore","type","name","startsWith","push","coreItems","nonCoreItems","reduce","useBlockHasGlobalStyles","blockName","rawSettings","settings","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasLayoutPanel","hasVariationsPanel","length","hasGlobalStyles","BlockMenuItem","hasBlockMenuItem","path","encodeURIComponent","children","justify","icon","title","BlockList","filterValue","sortedBlockTypes","debouncedSpeak","isMatchingSearchTerm","filteredBlockTypes","filter","blockType","blockTypesListRef","count","current","childElementCount","resultsFoundMessage","ref","className","map","MemoizedBlockList","ScreenBlockList","setFilterValue","deferredFilterValue","description","__nextHasNoMarginBottom","onChange","value","label","placeholder"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-block-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport {\n\tFlexItem,\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseDeferredValue,\n\tmemo,\n} from '@wordpress/element';\nimport {\n\tBlockIcon,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport { useBlockVariations } from './variations/variations-panel';\nimport ScreenHeader from './header';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction useSortedBlockTypes() {\n\tconst blockItems = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockTypes(),\n\t\t[]\n\t);\n\t// Ensure core blocks are prioritized in the returned results,\n\t// because third party blocks can be registered earlier than\n\t// the core blocks (usually by using the `init` action),\n\t// thus affecting the display order.\n\t// We don't sort reusable blocks as they are handled differently.\n\tconst groupByType = ( blocks, block ) => {\n\t\tconst { core, noncore } = blocks;\n\t\tconst type = block.name.startsWith( 'core/' ) ? core : noncore;\n\t\ttype.push( block );\n\t\treturn blocks;\n\t};\n\tconst { core: coreItems, noncore: nonCoreItems } = blockItems.reduce(\n\t\tgroupByType,\n\t\t{ core: [], noncore: [] }\n\t);\n\treturn [ ...coreItems, ...nonCoreItems ];\n}\n\nexport function useBlockHasGlobalStyles( blockName ) {\n\tconst [ rawSettings ] = useGlobalSetting( '', blockName );\n\tconst settings = useSettingsForBlockElement( rawSettings, blockName );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;\n\tconst hasVariationsPanel = !! useBlockVariations( blockName )?.length;\n\tconst hasGlobalStyles =\n\t\thasTypographyPanel ||\n\t\thasColorPanel ||\n\t\thasLayoutPanel ||\n\t\thasVariationsPanel;\n\treturn hasGlobalStyles;\n}\n\nfunction BlockMenuItem( { block } ) {\n\tconst hasBlockMenuItem = useBlockHasGlobalStyles( block.name );\n\tif ( ! hasBlockMenuItem ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<NavigationButtonAsItem\n\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<BlockIcon icon={ block.icon } />\n\t\t\t\t<FlexItem>{ block.title }</FlexItem>\n\t\t\t</HStack>\n\t\t</NavigationButtonAsItem>\n\t);\n}\n\nfunction BlockList( { filterValue } ) {\n\tconst sortedBlockTypes = useSortedBlockTypes();\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst { isMatchingSearchTerm } = useSelect( blocksStore );\n\n\tconst filteredBlockTypes = ! filterValue\n\t\t? sortedBlockTypes\n\t\t: sortedBlockTypes.filter( ( blockType ) =>\n\t\t\t\tisMatchingSearchTerm( blockType, filterValue )\n\t\t );\n\n\tconst blockTypesListRef = useRef();\n\n\t// Announce search results on change\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\t// We extract the results from the wrapper div's `ref` because\n\t\t// filtered items can contain items that will eventually not\n\t\t// render and there is no reliable way to detect when a child\n\t\t// will return `null`.\n\t\t// TODO: We should find a better way of handling this as it's\n\t\t// fragile and depends on the number of rendered elements of `BlockMenuItem`,\n\t\t// which is now one.\n\t\t// @see https://github.com/WordPress/gutenberg/pull/39117#discussion_r816022116\n\t\tconst count = blockTypesListRef.current.childElementCount;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage, count );\n\t}, [ filterValue, debouncedSpeak ] );\n\n\treturn (\n\t\t<div\n\t\t\tref={ blockTypesListRef }\n\t\t\tclassName=\"edit-site-block-types-item-list\"\n\t\t>\n\t\t\t{ filteredBlockTypes.map( ( block ) => (\n\t\t\t\t<BlockMenuItem\n\t\t\t\t\tblock={ block }\n\t\t\t\t\tkey={ 'menu-itemblock-' + block.name }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</div>\n\t);\n}\n\nconst MemoizedBlockList = memo( BlockList );\n\nfunction ScreenBlockList() {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst deferredFilterValue = useDeferredValue( filterValue );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Blocks' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Customize the appearance of specific blocks and for the whole site.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<SearchControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tclassName=\"edit-site-block-types-search\"\n\t\t\t\tonChange={ setFilterValue }\n\t\t\t\tvalue={ filterValue }\n\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t/>\n\t\t\t<MemoizedBlockList filterValue={ deferredFilterValue } />\n\t\t</>\n\t);\n}\n\nexport default ScreenBlockList;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["store","blocksStore","__","sprintf","_n","FlexItem","SearchControl","__experimentalHStack","HStack","useSelect","useState","useEffect","useRef","useDeferredValue","memo","BlockIcon","privateApis","blockEditorPrivateApis","useDebounce","speak","useBlockVariations","ScreenHeader","NavigationButtonAsItem","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useSortedBlockTypes","blockItems","select","getBlockTypes","groupByType","blocks","block","core","noncore","type","name","startsWith","push","coreItems","nonCoreItems","reduce","useBlockHasGlobalStyles","blockName","rawSettings","settings","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasLayoutPanel","hasVariationsPanel","length","hasGlobalStyles","BlockMenuItem","hasBlockMenuItem","path","encodeURIComponent","children","justify","icon","title","BlockList","filterValue","sortedBlockTypes","debouncedSpeak","isMatchingSearchTerm","filteredBlockTypes","filter","blockType","blockTypesListRef","count","current","childElementCount","resultsFoundMessage","ref","className","map","MemoizedBlockList","ScreenBlockList","setFilterValue","deferredFilterValue","description","__nextHasNoMarginBottom","onChange","value","label","placeholder"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-block-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport {\n\tFlexItem,\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseDeferredValue,\n\tmemo,\n} from '@wordpress/element';\nimport {\n\tBlockIcon,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport { useBlockVariations } from './variations/variations-panel';\nimport ScreenHeader from './header';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction useSortedBlockTypes() {\n\tconst blockItems = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockTypes(),\n\t\t[]\n\t);\n\t// Ensure core blocks are prioritized in the returned results,\n\t// because third party blocks can be registered earlier than\n\t// the core blocks (usually by using the `init` action),\n\t// thus affecting the display order.\n\t// We don't sort reusable blocks as they are handled differently.\n\tconst groupByType = ( blocks, block ) => {\n\t\tconst { core, noncore } = blocks;\n\t\tconst type = block.name.startsWith( 'core/' ) ? core : noncore;\n\t\ttype.push( block );\n\t\treturn blocks;\n\t};\n\tconst { core: coreItems, noncore: nonCoreItems } = blockItems.reduce(\n\t\tgroupByType,\n\t\t{ core: [], noncore: [] }\n\t);\n\treturn [ ...coreItems, ...nonCoreItems ];\n}\n\nexport function useBlockHasGlobalStyles( blockName ) {\n\tconst [ rawSettings ] = useGlobalSetting( '', blockName );\n\tconst settings = useSettingsForBlockElement( rawSettings, blockName );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;\n\tconst hasVariationsPanel = !! useBlockVariations( blockName )?.length;\n\tconst hasGlobalStyles =\n\t\thasTypographyPanel ||\n\t\thasColorPanel ||\n\t\thasLayoutPanel ||\n\t\thasVariationsPanel;\n\treturn hasGlobalStyles;\n}\n\nfunction BlockMenuItem( { block } ) {\n\tconst hasBlockMenuItem = useBlockHasGlobalStyles( block.name );\n\tif ( ! hasBlockMenuItem ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<NavigationButtonAsItem\n\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<BlockIcon icon={ block.icon } />\n\t\t\t\t<FlexItem>{ block.title }</FlexItem>\n\t\t\t</HStack>\n\t\t</NavigationButtonAsItem>\n\t);\n}\n\nfunction BlockList( { filterValue } ) {\n\tconst sortedBlockTypes = useSortedBlockTypes();\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst { isMatchingSearchTerm } = useSelect( blocksStore );\n\n\tconst filteredBlockTypes = ! filterValue\n\t\t? sortedBlockTypes\n\t\t: sortedBlockTypes.filter( ( blockType ) =>\n\t\t\t\tisMatchingSearchTerm( blockType, filterValue )\n\t\t );\n\n\tconst blockTypesListRef = useRef();\n\n\t// Announce search results on change\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\t// We extract the results from the wrapper div's `ref` because\n\t\t// filtered items can contain items that will eventually not\n\t\t// render and there is no reliable way to detect when a child\n\t\t// will return `null`.\n\t\t// TODO: We should find a better way of handling this as it's\n\t\t// fragile and depends on the number of rendered elements of `BlockMenuItem`,\n\t\t// which is now one.\n\t\t// @see https://github.com/WordPress/gutenberg/pull/39117#discussion_r816022116\n\t\tconst count = blockTypesListRef.current.childElementCount;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage, count );\n\t}, [ filterValue, debouncedSpeak ] );\n\n\treturn (\n\t\t<div\n\t\t\tref={ blockTypesListRef }\n\t\t\tclassName=\"edit-site-block-types-item-list\"\n\t\t>\n\t\t\t{ filteredBlockTypes.map( ( block ) => (\n\t\t\t\t<BlockMenuItem\n\t\t\t\t\tblock={ block }\n\t\t\t\t\tkey={ 'menu-itemblock-' + block.name }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</div>\n\t);\n}\n\nconst MemoizedBlockList = memo( BlockList );\n\nfunction ScreenBlockList() {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst deferredFilterValue = useDeferredValue( filterValue );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Blocks' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Customize the appearance of specific blocks and for the whole site.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<SearchControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tclassName=\"edit-site-block-types-search\"\n\t\t\t\tonChange={ setFilterValue }\n\t\t\t\tvalue={ filterValue }\n\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t/>\n\t\t\t<MemoizedBlockList filterValue={ deferredFilterValue } />\n\t\t</>\n\t);\n}\n\nexport default ScreenBlockList;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -97,7 +97,7 @@ function ScreenBlock({
|
|
|
97
97
|
|
|
98
98
|
// Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.
|
|
99
99
|
let disableBlockGap = false;
|
|
100
|
-
if (settingsForBlockElement?.spacing?.blockGap && blockType?.supports?.spacing?.blockGap && (blockType?.supports?.spacing?.
|
|
100
|
+
if (settingsForBlockElement?.spacing?.blockGap && blockType?.supports?.spacing?.blockGap && (blockType?.supports?.spacing?.__experimentalSkipSerialization === true || blockType?.supports?.spacing?.__experimentalSkipSerialization?.some?.(spacingType => spacingType === 'blockGap'))) {
|
|
101
101
|
disableBlockGap = true;
|
|
102
102
|
}
|
|
103
103
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getBlockType","privateApis","blockEditorPrivateApis","useMemo","useSelect","store","coreStore","PanelBody","__experimentalVStack","VStack","__experimentalHasSplitBorders","hasSplitBorders","__","sprintf","ScreenHeader","BlockPreviewPanel","unlock","Subtitle","useBlockVariations","VariationsPanel","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BACKGROUND_BLOCK_DEFAULT_VALUES","backgroundSize","backgroundPosition","applyFallbackStyle","border","hasColorOrWidth","color","width","style","undefined","applyAllFallbackStyles","top","right","bottom","left","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useHasFiltersPanel","useHasImageSettingsPanel","useGlobalStyle","useHasBackgroundPanel","BackgroundPanel","StylesBackgroundPanel","BorderPanel","StylesBorderPanel","ColorPanel","StylesColorPanel","TypographyPanel","StylesTypographyPanel","DimensionsPanel","StylesDimensionsPanel","FiltersPanel","StylesFiltersPanel","ImageSettingsPanel","AdvancedPanel","StylesAdvancedPanel","ScreenBlock","name","variation","prefixParts","concat","prefix","join","shouldDecodeEncode","inheritedStyle","setStyle","userSettings","rawSettings","setSettings","settingsForBlockElement","blockType","disableBlockGap","spacing","blockGap","supports","skipSerialization","some","spacingType","disableAspectRatio","dimensions","aspectRatio","settings","updatedSettings","structuredClone","blockVariations","hasBackgroundPanel","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasFiltersPanel","hasImageSettingsPanel","hasVariationsPanel","length","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","_links","currentBlockStyle","find","s","inheritedStyleWithLayout","layout","styleWithLayout","onChangeDimensions","newStyle","updatedStyle","onChangeLightbox","newSetting","lightbox","onChangeBorders","radius","newBorder","updatedBorder","children","title","label","className","inheritedValue","value","onChange","defaultValues","includeLayoutControls","initialOpen"],"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 {\n\tuseBlockVariations,\n\tVariationsPanel,\n} from './variations/variations-panel';\n\n// Initial control values.\nconst BACKGROUND_BLOCK_DEFAULT_VALUES = {\n\tbackgroundSize: 'cover',\n\tbackgroundPosition: '50% 50%', // used only when backgroundSize is 'contain'.\n};\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\tuseHasFiltersPanel,\n\tuseHasImageSettingsPanel,\n\tuseGlobalStyle,\n\tuseHasBackgroundPanel,\n\tBackgroundPanel: StylesBackgroundPanel,\n\tBorderPanel: StylesBorderPanel,\n\tColorPanel: StylesColorPanel,\n\tTypographyPanel: StylesTypographyPanel,\n\tDimensionsPanel: StylesDimensionsPanel,\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 settingsForBlockElement = useSettingsForBlockElement(\n\t\trawSettings,\n\t\tname\n\t);\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\tlet disableBlockGap = false;\n\tif (\n\t\tsettingsForBlockElement?.spacing?.blockGap &&\n\t\tblockType?.supports?.spacing?.blockGap &&\n\t\t( blockType?.supports?.spacing?.skipSerialization === true ||\n\t\t\tblockType?.supports?.spacing?.skipSerialization?.some?.(\n\t\t\t\t( spacingType ) => spacingType === 'blockGap'\n\t\t\t) )\n\t) {\n\t\tdisableBlockGap = true;\n\t}\n\n\t// Only allow `aspectRatio` support if the block is not the grouping block.\n\t// The grouping block allows the user to use Group, Row and Stack variations,\n\t// and it is highly likely that the user will not want to set an aspect ratio\n\t// for all three at once. Until there is the ability to set a different aspect\n\t// ratio for each variation, we disable the aspect ratio controls for the\n\t// grouping block in global styles.\n\tlet disableAspectRatio = false;\n\tif (\n\t\tsettingsForBlockElement?.dimensions?.aspectRatio &&\n\t\tname === 'core/group'\n\t) {\n\t\tdisableAspectRatio = true;\n\t}\n\n\tconst settings = useMemo( () => {\n\t\tconst updatedSettings = structuredClone( settingsForBlockElement );\n\t\tif ( disableBlockGap ) {\n\t\t\tupdatedSettings.spacing.blockGap = false;\n\t\t}\n\t\tif ( disableAspectRatio ) {\n\t\t\tupdatedSettings.dimensions.aspectRatio = false;\n\t\t}\n\t\treturn updatedSettings;\n\t}, [ settingsForBlockElement, disableBlockGap, disableAspectRatio ] );\n\n\tconst blockVariations = useBlockVariations( name );\n\tconst hasBackgroundPanel = useHasBackgroundPanel( settings );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( 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: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\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{ hasBackgroundPanel && (\n\t\t\t\t<StylesBackgroundPanel\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\tdefaultValues={ BACKGROUND_BLOCK_DEFAULT_VALUES }\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{ 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={ settings }\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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["getBlockType","privateApis","blockEditorPrivateApis","useMemo","useSelect","store","coreStore","PanelBody","__experimentalVStack","VStack","__experimentalHasSplitBorders","hasSplitBorders","__","sprintf","ScreenHeader","BlockPreviewPanel","unlock","Subtitle","useBlockVariations","VariationsPanel","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BACKGROUND_BLOCK_DEFAULT_VALUES","backgroundSize","backgroundPosition","applyFallbackStyle","border","hasColorOrWidth","color","width","style","undefined","applyAllFallbackStyles","top","right","bottom","left","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useHasFiltersPanel","useHasImageSettingsPanel","useGlobalStyle","useHasBackgroundPanel","BackgroundPanel","StylesBackgroundPanel","BorderPanel","StylesBorderPanel","ColorPanel","StylesColorPanel","TypographyPanel","StylesTypographyPanel","DimensionsPanel","StylesDimensionsPanel","FiltersPanel","StylesFiltersPanel","ImageSettingsPanel","AdvancedPanel","StylesAdvancedPanel","ScreenBlock","name","variation","prefixParts","concat","prefix","join","shouldDecodeEncode","inheritedStyle","setStyle","userSettings","rawSettings","setSettings","settingsForBlockElement","blockType","disableBlockGap","spacing","blockGap","supports","__experimentalSkipSerialization","some","spacingType","disableAspectRatio","dimensions","aspectRatio","settings","updatedSettings","structuredClone","blockVariations","hasBackgroundPanel","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasFiltersPanel","hasImageSettingsPanel","hasVariationsPanel","length","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","_links","currentBlockStyle","find","s","inheritedStyleWithLayout","layout","styleWithLayout","onChangeDimensions","newStyle","updatedStyle","onChangeLightbox","newSetting","lightbox","onChangeBorders","radius","newBorder","updatedBorder","children","title","label","className","inheritedValue","value","onChange","defaultValues","includeLayoutControls","initialOpen"],"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 {\n\tuseBlockVariations,\n\tVariationsPanel,\n} from './variations/variations-panel';\n\n// Initial control values.\nconst BACKGROUND_BLOCK_DEFAULT_VALUES = {\n\tbackgroundSize: 'cover',\n\tbackgroundPosition: '50% 50%', // used only when backgroundSize is 'contain'.\n};\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\tuseHasFiltersPanel,\n\tuseHasImageSettingsPanel,\n\tuseGlobalStyle,\n\tuseHasBackgroundPanel,\n\tBackgroundPanel: StylesBackgroundPanel,\n\tBorderPanel: StylesBorderPanel,\n\tColorPanel: StylesColorPanel,\n\tTypographyPanel: StylesTypographyPanel,\n\tDimensionsPanel: StylesDimensionsPanel,\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 settingsForBlockElement = useSettingsForBlockElement(\n\t\trawSettings,\n\t\tname\n\t);\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\tlet disableBlockGap = false;\n\tif (\n\t\tsettingsForBlockElement?.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\tdisableBlockGap = true;\n\t}\n\n\t// Only allow `aspectRatio` support if the block is not the grouping block.\n\t// The grouping block allows the user to use Group, Row and Stack variations,\n\t// and it is highly likely that the user will not want to set an aspect ratio\n\t// for all three at once. Until there is the ability to set a different aspect\n\t// ratio for each variation, we disable the aspect ratio controls for the\n\t// grouping block in global styles.\n\tlet disableAspectRatio = false;\n\tif (\n\t\tsettingsForBlockElement?.dimensions?.aspectRatio &&\n\t\tname === 'core/group'\n\t) {\n\t\tdisableAspectRatio = true;\n\t}\n\n\tconst settings = useMemo( () => {\n\t\tconst updatedSettings = structuredClone( settingsForBlockElement );\n\t\tif ( disableBlockGap ) {\n\t\t\tupdatedSettings.spacing.blockGap = false;\n\t\t}\n\t\tif ( disableAspectRatio ) {\n\t\t\tupdatedSettings.dimensions.aspectRatio = false;\n\t\t}\n\t\treturn updatedSettings;\n\t}, [ settingsForBlockElement, disableBlockGap, disableAspectRatio ] );\n\n\tconst blockVariations = useBlockVariations( name );\n\tconst hasBackgroundPanel = useHasBackgroundPanel( settings );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( 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: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\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{ hasBackgroundPanel && (\n\t\t\t\t<StylesBackgroundPanel\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\tdefaultValues={ BACKGROUND_BLOCK_DEFAULT_VALUES }\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{ 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={ settings }\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":";AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,mBAAmB;AAChD,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;AAC/E,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SACCC,SAAS,EACTC,oBAAoB,IAAIC,MAAM,EAC9BC,6BAA6B,IAAIC,eAAe,QAC1C,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAE7C;AACA;AACA;AACA,OAAOC,YAAY,MAAM,UAAU;AACnC,OAAOC,iBAAiB,MAAM,uBAAuB;AACrD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,QAAQ,MAAM,YAAY;AACjC,SACCC,kBAAkB,EAClBC,eAAe,QACT,+BAA+B;;AAEtC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AACA,MAAMC,+BAA+B,GAAG;EACvCC,cAAc,EAAE,OAAO;EACvBC,kBAAkB,EAAE,SAAS,CAAE;AAChC,CAAC;AAED,SAASC,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,IAAKnB,eAAe,CAAEmB,MAAO,CAAC,EAAG;IAChC,OAAO;MACNO,GAAG,EAAER,kBAAkB,CAAEC,MAAM,CAACO,GAAI,CAAC;MACrCC,KAAK,EAAET,kBAAkB,CAAEC,MAAM,CAACQ,KAAM,CAAC;MACzCC,MAAM,EAAEV,kBAAkB,CAAEC,MAAM,CAACS,MAAO,CAAC;MAC3CC,IAAI,EAAEX,kBAAkB,CAAEC,MAAM,CAACU,IAAK;IACvC,CAAC;EACF;EAEA,OAAOX,kBAAkB,CAAEC,MAAO,CAAC;AACpC;AAEA,MAAM;EACLW,qBAAqB;EACrBC,qBAAqB;EACrBC,iBAAiB;EACjBC,gBAAgB;EAChBC,0BAA0B;EAC1BC,gBAAgB;EAChBC,kBAAkB;EAClBC,wBAAwB;EACxBC,cAAc;EACdC,qBAAqB;EACrBC,eAAe,EAAEC,qBAAqB;EACtCC,WAAW,EAAEC,iBAAiB;EAC9BC,UAAU,EAAEC,gBAAgB;EAC5BC,eAAe,EAAEC,qBAAqB;EACtCC,eAAe,EAAEC,qBAAqB;EACtCC,YAAY,EAAEC,kBAAkB;EAChCC,kBAAkB;EAClBC,aAAa,EAAEC;AAChB,CAAC,GAAGjD,MAAM,CAAEd,sBAAuB,CAAC;AAEpC,SAASgE,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,CAAEtC,KAAK,CAAE,GAAGe,cAAc,CAAEsB,MAAM,EAAEJ,IAAI,EAAE,MAAM,EAAE;IACvDM,kBAAkB,EAAE;EACrB,CAAE,CAAC;EACH,MAAM,CAAEC,cAAc,EAAEC,QAAQ,CAAE,GAAG1B,cAAc,CAAEsB,MAAM,EAAEJ,IAAI,EAAE,KAAK,EAAE;IACzEM,kBAAkB,EAAE;EACrB,CAAE,CAAC;EACH,MAAM,CAAEG,YAAY,CAAE,GAAGhC,gBAAgB,CAAE,EAAE,EAAEuB,IAAI,EAAE,MAAO,CAAC;EAC7D,MAAM,CAAEU,WAAW,EAAEC,WAAW,CAAE,GAAGlC,gBAAgB,CAAE,EAAE,EAAEuB,IAAK,CAAC;EACjE,MAAMY,uBAAuB,GAAGlC,0BAA0B,CACzDgC,WAAW,EACXV,IACD,CAAC;EACD,MAAMa,SAAS,GAAGhF,YAAY,CAAEmE,IAAK,CAAC;;EAEtC;EACA,IAAIc,eAAe,GAAG,KAAK;EAC3B,IACCF,uBAAuB,EAAEG,OAAO,EAAEC,QAAQ,IAC1CH,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;IACDN,eAAe,GAAG,IAAI;EACvB;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA,IAAIO,kBAAkB,GAAG,KAAK;EAC9B,IACCT,uBAAuB,EAAEU,UAAU,EAAEC,WAAW,IAChDvB,IAAI,KAAK,YAAY,EACpB;IACDqB,kBAAkB,GAAG,IAAI;EAC1B;EAEA,MAAMG,QAAQ,GAAGxF,OAAO,CAAE,MAAM;IAC/B,MAAMyF,eAAe,GAAGC,eAAe,CAAEd,uBAAwB,CAAC;IAClE,IAAKE,eAAe,EAAG;MACtBW,eAAe,CAACV,OAAO,CAACC,QAAQ,GAAG,KAAK;IACzC;IACA,IAAKK,kBAAkB,EAAG;MACzBI,eAAe,CAACH,UAAU,CAACC,WAAW,GAAG,KAAK;IAC/C;IACA,OAAOE,eAAe;EACvB,CAAC,EAAE,CAAEb,uBAAuB,EAAEE,eAAe,EAAEO,kBAAkB,CAAG,CAAC;EAErE,MAAMM,eAAe,GAAG5E,kBAAkB,CAAEiD,IAAK,CAAC;EAClD,MAAM4B,kBAAkB,GAAG7C,qBAAqB,CAAEyC,QAAS,CAAC;EAC5D,MAAMK,kBAAkB,GAAGtD,qBAAqB,CAAEiD,QAAS,CAAC;EAC5D,MAAMM,aAAa,GAAGnD,gBAAgB,CAAE6C,QAAS,CAAC;EAClD,MAAMO,cAAc,GAAGvD,iBAAiB,CAAEgD,QAAS,CAAC;EACpD,MAAMQ,kBAAkB,GAAG1D,qBAAqB,CAAEkD,QAAS,CAAC;EAC5D,MAAMS,eAAe,GAAGrD,kBAAkB,CAAE4C,QAAS,CAAC;EACtD,MAAMU,qBAAqB,GAAGrD,wBAAwB,CACrDmB,IAAI,EACJS,YAAY,EACZe,QACD,CAAC;EACD,MAAMW,kBAAkB,GAAG,CAAC,CAAER,eAAe,EAAES,MAAM,IAAI,CAAEnC,SAAS;EACpE,MAAM;IAAEoC;EAAW,CAAC,GAAGpG,SAAS,CAAIqG,MAAM,IAAM;IAC/C,MAAM;MAAEC,eAAe;MAAEC;IAAuC,CAAC,GAChEF,MAAM,CAAEnG,SAAU,CAAC;IAEpB,MAAMsG,cAAc,GAAGD,sCAAsC,CAAC,CAAC;IAC/D,MAAME,YAAY,GAAGD,cAAc,GAChCF,eAAe,CAAE,MAAM,EAAE,cAAc,EAAEE,cAAe,CAAC,GACzDzE,SAAS;IAEZ,OAAO;MACNqE,UAAU,EAAE,CAAC,CAAEK,YAAY,EAAEC,MAAM,GAAI,oBAAoB;IAC5D,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,iBAAiB,GAAG3C,SAAS,GAChC0B,eAAe,CAACkB,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAAC9C,IAAI,KAAKC,SAAU,CAAC,GACrD,IAAI;;EAEP;EACA;EACA,MAAM8C,wBAAwB,GAAG/G,OAAO,CAAE,MAAM;IAC/C,OAAO;MACN,GAAGuE,cAAc;MACjByC,MAAM,EAAExB,QAAQ,CAACwB;IAClB,CAAC;EACF,CAAC,EAAE,CAAEzC,cAAc,EAAEiB,QAAQ,CAACwB,MAAM,CAAG,CAAC;EACxC,MAAMC,eAAe,GAAGjH,OAAO,CAAE,MAAM;IACtC,OAAO;MACN,GAAG+B,KAAK;MACRiF,MAAM,EAAEvC,YAAY,CAACuC;IACtB,CAAC;EACF,CAAC,EAAE,CAAEjF,KAAK,EAAE0C,YAAY,CAACuC,MAAM,CAAG,CAAC;EACnC,MAAME,kBAAkB,GAAKC,QAAQ,IAAM;IAC1C,MAAMC,YAAY,GAAG;MAAE,GAAGD;IAAS,CAAC;IACpC,OAAOC,YAAY,CAACJ,MAAM;IAC1BxC,QAAQ,CAAE4C,YAAa,CAAC;IAExB,IAAKD,QAAQ,CAACH,MAAM,KAAKvC,YAAY,CAACuC,MAAM,EAAG;MAC9CrC,WAAW,CAAE;QACZ,GAAGF,YAAY;QACfuC,MAAM,EAAEG,QAAQ,CAACH;MAClB,CAAE,CAAC;IACJ;EACD,CAAC;EACD,MAAMK,gBAAgB,GAAKC,UAAU,IAAM;IAC1C;IACA;IACA,IAAKA,UAAU,KAAKtF,SAAS,EAAG;MAC/B2C,WAAW,CAAE;QACZ,GAAGD,WAAW;QACd6C,QAAQ,EAAEvF;MACX,CAAE,CAAC;;MAEH;MACA;IACD,CAAC,MAAM;MACN2C,WAAW,CAAE;QACZ,GAAGD,WAAW;QACd6C,QAAQ,EAAE;UACT,GAAG7C,WAAW,CAAC6C,QAAQ;UACvB,GAAGD;QACJ;MACD,CAAE,CAAC;IACJ;EACD,CAAC;EACD,MAAME,eAAe,GAAKL,QAAQ,IAAM;IACvC,IAAK,CAAEA,QAAQ,EAAExF,MAAM,EAAG;MACzB6C,QAAQ,CAAE2C,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,CAACxF,MAAM;IAChD,MAAMA,MAAM,GAAGM,sBAAsB,CAAEyF,SAAU,CAAC;IAClD,MAAMC,aAAa,GAAG,CAAEnH,eAAe,CAAEmB,MAAO,CAAC,GAC9C;MACAO,GAAG,EAAEP,MAAM;MACXQ,KAAK,EAAER,MAAM;MACbS,MAAM,EAAET,MAAM;MACdU,IAAI,EAAEV;IACN,CAAC,GACD;MACAE,KAAK,EAAE,IAAI;MACXE,KAAK,EAAE,IAAI;MACXD,KAAK,EAAE,IAAI;MACX,GAAGH;IACH,CAAC;IAEJ6C,QAAQ,CAAE;MAAE,GAAG2C,QAAQ;MAAExF,MAAM,EAAE;QAAE,GAAGgG,aAAa;QAAEF;MAAO;IAAE,CAAE,CAAC;EAClE,CAAC;EAED,oBACCrG,KAAA,CAAAE,SAAA;IAAAsG,QAAA,gBACC1G,IAAA,CAACP,YAAY;MACZkH,KAAK,EAAG5D,SAAS,GAAG2C,iBAAiB,EAAEkB,KAAK,GAAGjD,SAAS,CAACgD;IAAO,CAChE,CAAC,eACF3G,IAAA,CAACN,iBAAiB;MAACoD,IAAI,EAAGA,IAAM;MAACC,SAAS,EAAGA;IAAW,CAAE,CAAC,EACzDkC,kBAAkB,iBACnBjF,IAAA;MAAK6G,SAAS,EAAC,2CAA2C;MAAAH,QAAA,eACzDxG,KAAA,CAACd,MAAM;QAACyE,OAAO,EAAG,CAAG;QAAA6C,QAAA,gBACpB1G,IAAA,CAACJ,QAAQ;UAAA8G,QAAA,EAAGnH,EAAE,CAAE,kBAAmB;QAAC,CAAY,CAAC,eACjDS,IAAA,CAACF,eAAe;UAACgD,IAAI,EAAGA;QAAM,CAAE,CAAC;MAAA,CAC1B;IAAC,CACL,CACL,EACC8B,aAAa,iBACd5E,IAAA,CAACmC,gBAAgB;MAChB2E,cAAc,EAAGzD,cAAgB;MACjC0D,KAAK,EAAGlG,KAAO;MACfmG,QAAQ,EAAG1D,QAAU;MACrBgB,QAAQ,EAAGA;IAAU,CACrB,CACD,EACCI,kBAAkB,iBACnB1E,IAAA,CAAC+B,qBAAqB;MACrB+E,cAAc,EAAGzD,cAAgB;MACjC0D,KAAK,EAAGlG,KAAO;MACfmG,QAAQ,EAAG1D,QAAU;MACrBgB,QAAQ,EAAGA,QAAU;MACrB2C,aAAa,EAAG5G;IAAiC,CACjD,CACD,EACCsE,kBAAkB,iBACnB3E,IAAA,CAACqC,qBAAqB;MACrByE,cAAc,EAAGzD,cAAgB;MACjC0D,KAAK,EAAGlG,KAAO;MACfmG,QAAQ,EAAG1D,QAAU;MACrBgB,QAAQ,EAAGA;IAAU,CACrB,CACD,EACCQ,kBAAkB,iBACnB9E,IAAA,CAACuC,qBAAqB;MACrBuE,cAAc,EAAGjB,wBAA0B;MAC3CkB,KAAK,EAAGhB,eAAiB;MACzBiB,QAAQ,EAAGhB,kBAAoB;MAC/B1B,QAAQ,EAAGA,QAAU;MACrB4C,qBAAqB;IAAA,CACrB,CACD,EACCrC,cAAc,iBACf7E,IAAA,CAACiC,iBAAiB;MACjB6E,cAAc,EAAGzD,cAAgB;MACjC0D,KAAK,EAAGlG,KAAO;MACfmG,QAAQ,EAAGV,eAAiB;MAC5BhC,QAAQ,EAAGA;IAAU,CACrB,CACD,EACCS,eAAe,iBAChB/E,IAAA,CAACyC,kBAAkB;MAClBqE,cAAc,EAAGjB,wBAA0B;MAC3CkB,KAAK,EAAGhB,eAAiB;MACzBiB,QAAQ,EAAG1D,QAAU;MACrBgB,QAAQ,EAAGA,QAAU;MACrB4C,qBAAqB;IAAA,CACrB,CACD,EACClC,qBAAqB,iBACtBhF,IAAA,CAAC0C,kBAAkB;MAClBsE,QAAQ,EAAGb,gBAAkB;MAC7BY,KAAK,EAAGxD,YAAc;MACtBuD,cAAc,EAAGxC;IAAU,CAC3B,CACD,EAECa,UAAU,iBACXjF,KAAA,CAAChB,SAAS;MAACyH,KAAK,EAAGpH,EAAE,CAAE,UAAW,CAAG;MAAC4H,WAAW,EAAG,KAAO;MAAAT,QAAA,gBAC1D1G,IAAA;QAAA0G,QAAA,EACGlH,OAAO;QACR;QACAD,EAAE,CACD,2IACD,CAAC,EACDoE,SAAS,EAAEgD,KACZ;MAAC,CACC,CAAC,eACJ3G,IAAA,CAAC4C,mBAAmB;QACnBmE,KAAK,EAAGlG,KAAO;QACfmG,QAAQ,EAAG1D,QAAU;QACrBwD,cAAc,EAAGzD;MAAgB,CACjC,CAAC;IAAA,CACQ,CACX;EAAA,CACA,CAAC;AAEL;AAEA,eAAeR,WAAW","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","sprintf","Button","Composite","dateI18n","getDate","humanTimeDiff","getSettings","store","coreStore","useSelect","privateApis","blockEditorPrivateApis","ENTER","SPACE","unlock","jsx","_jsx","jsxs","_jsxs","DAY_IN_MILLISECONDS","getGlobalStylesChanges","ChangesSummary","revision","previousRevision","changes","maxResults","length","className","children","map","change","getRevisionLabel","id","authorDisplayName","formattedModifiedDate","areStylesEqual","RevisionsButtons","userRevisions","selectedRevisionId","onChange","canApplyRevision","onApplyRevision","currentThemeName","currentUser","select","getCurrentTheme","getCurrentUser","currentTheme","name","rendered","stylesheet","dateNowInMs","getTime","datetimeAbbreviated","formats","orientation","role","index","author","modified","isUnsaved","revisionAuthor","authorAvatar","avatar_urls","isFirstItem","isSelected","isReset","modifiedDate","displayDate","revisionLabel","Item","onKeyDown","event","keyCode","onClick","preventDefault","render","dateTime","alt","src","size","variant"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/revisions-buttons.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button, Composite } from '@wordpress/components';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst DAY_IN_MILLISECONDS = 60 * 60 * 1000 * 24;\nconst { getGlobalStylesChanges } = unlock( blockEditorPrivateApis );\n\nfunction ChangesSummary( { revision, previousRevision } ) {\n\tconst changes = getGlobalStylesChanges( revision, previousRevision, {\n\t\tmaxResults: 7,\n\t} );\n\n\tif ( ! changes.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ul\n\t\t\tdata-testid=\"global-styles-revision-changes\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__changes\"\n\t\t>\n\t\t\t{ changes.map( ( change ) => (\n\t\t\t\t<li key={ change }>{ change }</li>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n\n/**\n * Returns a button label for the revision.\n *\n * @param {string|number} id A revision object.\n * @param {string} authorDisplayName Author name.\n * @param {string} formattedModifiedDate Revision modified date formatted.\n * @param {boolean} areStylesEqual Whether the revision matches the current editor styles.\n * @return {string} Translated label.\n */\nfunction getRevisionLabel(\n\tid,\n\tauthorDisplayName,\n\tformattedModifiedDate,\n\tareStylesEqual\n) {\n\tif ( 'parent' === id ) {\n\t\treturn __( 'Reset the styles to the theme defaults' );\n\t}\n\n\tif ( 'unsaved' === id ) {\n\t\treturn sprintf(\n\t\t\t/* translators: %s: author display name */\n\t\t\t__( 'Unsaved changes by %s' ),\n\t\t\tauthorDisplayName\n\t\t);\n\t}\n\n\treturn areStylesEqual\n\t\t? sprintf(\n\t\t\t\t// translators: 1: author display name. 2: revision creation date.\n\t\t\t\t__(\n\t\t\t\t\t'Changes saved by %1$s on %2$s. This revision matches current editor styles.'\n\t\t\t\t),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: 1: author display name. 2: revision creation date.\n\t\t\t\t__( 'Changes saved by %1$s on %2$s' ),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t );\n}\n\n/**\n * Returns a rendered list of revisions buttons.\n *\n * @typedef {Object} props\n * @property {Array<Object>} userRevisions A collection of user revisions.\n * @property {number} selectedRevisionId The id of the currently-selected revision.\n * @property {Function} onChange Callback fired when a revision is selected.\n *\n * @param {props} Component props.\n * @return {JSX.Element} The modal component.\n */\nfunction RevisionsButtons( {\n\tuserRevisions,\n\tselectedRevisionId,\n\tonChange,\n\tcanApplyRevision,\n\tonApplyRevision,\n} ) {\n\tconst { currentThemeName, currentUser } = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getCurrentUser } = select( coreStore );\n\t\tconst currentTheme = getCurrentTheme();\n\t\treturn {\n\t\t\tcurrentThemeName:\n\t\t\t\tcurrentTheme?.name?.rendered || currentTheme?.stylesheet,\n\t\t\tcurrentUser: getCurrentUser(),\n\t\t};\n\t}, [] );\n\tconst dateNowInMs = getDate().getTime();\n\tconst { datetimeAbbreviated } = getSettings().formats;\n\n\treturn (\n\t\t<Composite\n\t\t\torientation=\"vertical\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revisions-list\"\n\t\t\taria-label={ __( 'Global styles revisions list' ) }\n\t\t\trole=\"listbox\"\n\t\t>\n\t\t\t{ userRevisions.map( ( revision, index ) => {\n\t\t\t\tconst { id, author, modified } = revision;\n\t\t\t\tconst isUnsaved = 'unsaved' === id;\n\t\t\t\t// Unsaved changes are created by the current user.\n\t\t\t\tconst revisionAuthor = isUnsaved ? currentUser : author;\n\t\t\t\tconst authorDisplayName = revisionAuthor?.name || __( 'User' );\n\t\t\t\tconst authorAvatar = revisionAuthor?.avatar_urls?.[ '48' ];\n\t\t\t\tconst isFirstItem = index === 0;\n\t\t\t\tconst isSelected = selectedRevisionId\n\t\t\t\t\t? selectedRevisionId === id\n\t\t\t\t\t: isFirstItem;\n\t\t\t\tconst areStylesEqual = ! canApplyRevision && isSelected;\n\t\t\t\tconst isReset = 'parent' === id;\n\t\t\t\tconst modifiedDate = getDate( modified );\n\t\t\t\tconst displayDate =\n\t\t\t\t\tmodified &&\n\t\t\t\t\tdateNowInMs - modifiedDate.getTime() > DAY_IN_MILLISECONDS\n\t\t\t\t\t\t? dateI18n( datetimeAbbreviated, modifiedDate )\n\t\t\t\t\t\t: humanTimeDiff( modified );\n\t\t\t\tconst revisionLabel = getRevisionLabel(\n\t\t\t\t\tid,\n\t\t\t\t\tauthorDisplayName,\n\t\t\t\t\tdateI18n( datetimeAbbreviated, modifiedDate ),\n\t\t\t\t\tareStylesEqual\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revision-item\"\n\t\t\t\t\t\taria-current={ isSelected }\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\tconst { keyCode } = event;\n\t\t\t\t\t\t\tif ( keyCode === ENTER || keyCode === SPACE ) {\n\t\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\taria-selected={ isSelected }\n\t\t\t\t\t\taria-label={ revisionLabel }\n\t\t\t\t\t\trender={ <div /> }\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__revision-item-wrapper\">\n\t\t\t\t\t\t\t{ isReset ? (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ __( 'Default styles' ) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t{ currentThemeName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ isUnsaved ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__date\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( '(Unsaved)' ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__date\"\n\t\t\t\t\t\t\t\t\t\t\tdateTime={ modified }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ displayDate }\n\t\t\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\talt={ authorDisplayName }\n\t\t\t\t\t\t\t\t\t\t\tsrc={ authorAvatar }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ authorDisplayName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t\t\t<ChangesSummary\n\t\t\t\t\t\t\t\t\t\t\trevision={ revision }\n\t\t\t\t\t\t\t\t\t\t\tpreviousRevision={\n\t\t\t\t\t\t\t\t\t\t\t\tindex < userRevisions.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t? userRevisions[ index + 1 ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\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</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t( areStylesEqual ? (\n\t\t\t\t\t\t\t\t<p className=\"edit-site-global-styles-screen-revisions__applied-text\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'These styles are already applied to your site.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\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__apply-button\"\n\t\t\t\t\t\t\t\t\tonClick={ onApplyRevision }\n\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t'Apply the selected revision to your site.'\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{ isReset\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) ) }\n\t\t\t\t\t</Composite.Item>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n\nexport default RevisionsButtons;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","sprintf","Button","Composite","dateI18n","getDate","humanTimeDiff","getSettings","store","coreStore","useSelect","privateApis","blockEditorPrivateApis","ENTER","SPACE","unlock","jsx","_jsx","jsxs","_jsxs","DAY_IN_MILLISECONDS","getGlobalStylesChanges","ChangesSummary","revision","previousRevision","changes","maxResults","length","className","children","map","change","getRevisionLabel","id","authorDisplayName","formattedModifiedDate","areStylesEqual","RevisionsButtons","userRevisions","selectedRevisionId","onChange","canApplyRevision","onApplyRevision","currentThemeName","currentUser","select","getCurrentTheme","getCurrentUser","currentTheme","name","rendered","stylesheet","dateNowInMs","getTime","datetimeAbbreviated","formats","orientation","role","index","author","modified","isUnsaved","revisionAuthor","authorAvatar","avatar_urls","isFirstItem","isSelected","isReset","modifiedDate","displayDate","revisionLabel","Item","onKeyDown","event","keyCode","onClick","preventDefault","render","dateTime","alt","src","size","variant"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/revisions-buttons.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button, Composite } from '@wordpress/components';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst DAY_IN_MILLISECONDS = 60 * 60 * 1000 * 24;\nconst { getGlobalStylesChanges } = unlock( blockEditorPrivateApis );\n\nfunction ChangesSummary( { revision, previousRevision } ) {\n\tconst changes = getGlobalStylesChanges( revision, previousRevision, {\n\t\tmaxResults: 7,\n\t} );\n\n\tif ( ! changes.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ul\n\t\t\tdata-testid=\"global-styles-revision-changes\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__changes\"\n\t\t>\n\t\t\t{ changes.map( ( change ) => (\n\t\t\t\t<li key={ change }>{ change }</li>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n\n/**\n * Returns a button label for the revision.\n *\n * @param {string|number} id A revision object.\n * @param {string} authorDisplayName Author name.\n * @param {string} formattedModifiedDate Revision modified date formatted.\n * @param {boolean} areStylesEqual Whether the revision matches the current editor styles.\n * @return {string} Translated label.\n */\nfunction getRevisionLabel(\n\tid,\n\tauthorDisplayName,\n\tformattedModifiedDate,\n\tareStylesEqual\n) {\n\tif ( 'parent' === id ) {\n\t\treturn __( 'Reset the styles to the theme defaults' );\n\t}\n\n\tif ( 'unsaved' === id ) {\n\t\treturn sprintf(\n\t\t\t/* translators: %s: author display name */\n\t\t\t__( 'Unsaved changes by %s' ),\n\t\t\tauthorDisplayName\n\t\t);\n\t}\n\n\treturn areStylesEqual\n\t\t? sprintf(\n\t\t\t\t// translators: 1: author display name. 2: revision creation date.\n\t\t\t\t__(\n\t\t\t\t\t'Changes saved by %1$s on %2$s. This revision matches current editor styles.'\n\t\t\t\t),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: 1: author display name. 2: revision creation date.\n\t\t\t\t__( 'Changes saved by %1$s on %2$s' ),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t );\n}\n\n/**\n * Returns a rendered list of revisions buttons.\n *\n * @typedef {Object} props\n * @property {Array<Object>} userRevisions A collection of user revisions.\n * @property {number} selectedRevisionId The id of the currently-selected revision.\n * @property {Function} onChange Callback fired when a revision is selected.\n *\n * @param {props} Component props.\n * @return {JSX.Element} The modal component.\n */\nfunction RevisionsButtons( {\n\tuserRevisions,\n\tselectedRevisionId,\n\tonChange,\n\tcanApplyRevision,\n\tonApplyRevision,\n} ) {\n\tconst { currentThemeName, currentUser } = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getCurrentUser } = select( coreStore );\n\t\tconst currentTheme = getCurrentTheme();\n\t\treturn {\n\t\t\tcurrentThemeName:\n\t\t\t\tcurrentTheme?.name?.rendered || currentTheme?.stylesheet,\n\t\t\tcurrentUser: getCurrentUser(),\n\t\t};\n\t}, [] );\n\tconst dateNowInMs = getDate().getTime();\n\tconst { datetimeAbbreviated } = getSettings().formats;\n\n\treturn (\n\t\t<Composite\n\t\t\torientation=\"vertical\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revisions-list\"\n\t\t\taria-label={ __( 'Global styles revisions list' ) }\n\t\t\trole=\"listbox\"\n\t\t>\n\t\t\t{ userRevisions.map( ( revision, index ) => {\n\t\t\t\tconst { id, author, modified } = revision;\n\t\t\t\tconst isUnsaved = 'unsaved' === id;\n\t\t\t\t// Unsaved changes are created by the current user.\n\t\t\t\tconst revisionAuthor = isUnsaved ? currentUser : author;\n\t\t\t\tconst authorDisplayName = revisionAuthor?.name || __( 'User' );\n\t\t\t\tconst authorAvatar = revisionAuthor?.avatar_urls?.[ '48' ];\n\t\t\t\tconst isFirstItem = index === 0;\n\t\t\t\tconst isSelected = selectedRevisionId\n\t\t\t\t\t? selectedRevisionId === id\n\t\t\t\t\t: isFirstItem;\n\t\t\t\tconst areStylesEqual = ! canApplyRevision && isSelected;\n\t\t\t\tconst isReset = 'parent' === id;\n\t\t\t\tconst modifiedDate = getDate( modified );\n\t\t\t\tconst displayDate =\n\t\t\t\t\tmodified &&\n\t\t\t\t\tdateNowInMs - modifiedDate.getTime() > DAY_IN_MILLISECONDS\n\t\t\t\t\t\t? dateI18n( datetimeAbbreviated, modifiedDate )\n\t\t\t\t\t\t: humanTimeDiff( modified );\n\t\t\t\tconst revisionLabel = getRevisionLabel(\n\t\t\t\t\tid,\n\t\t\t\t\tauthorDisplayName,\n\t\t\t\t\tdateI18n( datetimeAbbreviated, modifiedDate ),\n\t\t\t\t\tareStylesEqual\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revision-item\"\n\t\t\t\t\t\taria-current={ isSelected }\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\tconst { keyCode } = event;\n\t\t\t\t\t\t\tif ( keyCode === ENTER || keyCode === SPACE ) {\n\t\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\taria-selected={ isSelected }\n\t\t\t\t\t\taria-label={ revisionLabel }\n\t\t\t\t\t\trender={ <div /> }\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__revision-item-wrapper\">\n\t\t\t\t\t\t\t{ isReset ? (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ __( 'Default styles' ) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t{ currentThemeName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ isUnsaved ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__date\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( '(Unsaved)' ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__date\"\n\t\t\t\t\t\t\t\t\t\t\tdateTime={ modified }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ displayDate }\n\t\t\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\talt={ authorDisplayName }\n\t\t\t\t\t\t\t\t\t\t\tsrc={ authorAvatar }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ authorDisplayName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t\t\t<ChangesSummary\n\t\t\t\t\t\t\t\t\t\t\trevision={ revision }\n\t\t\t\t\t\t\t\t\t\t\tpreviousRevision={\n\t\t\t\t\t\t\t\t\t\t\t\tindex < userRevisions.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t? userRevisions[ index + 1 ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\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</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t( areStylesEqual ? (\n\t\t\t\t\t\t\t\t<p className=\"edit-site-global-styles-screen-revisions__applied-text\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'These styles are already applied to your site.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\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__apply-button\"\n\t\t\t\t\t\t\t\t\tonClick={ onApplyRevision }\n\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t'Apply the selected revision to your site.'\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{ isReset\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) ) }\n\t\t\t\t\t</Composite.Item>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n\nexport default RevisionsButtons;\n"],"mappings":"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","ignoreList":[]}
|
package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","store","coreStore","useContext","useMemo","privateApis","blockEditorPrivateApis","unlock","SITE_EDITOR_AUTHORS_QUERY","per_page","_fields","context","capabilities","DEFAULT_QUERY","page","EMPTY_ARRAY","GlobalStylesContext","useGlobalStylesRevisions","query","user","userConfig","_query","authors","currentUser","isDirty","revisions","isLoadingGlobalStylesRevisions","revisionsCount","select","_globalStyles$_links$","__experimentalGetDirtyEntityRecords","getCurrentUser","getUsers","getRevisions","__experimentalGetCurrentGlobalStylesId","getEntityRecord","isResolving","dirtyEntityRecords","_currentUser","_isDirty","length","globalStylesId","globalStyles","undefined","_revisionsCount","_links","count","globalStylesRevisions","_authors","_isResolving","hasUnsavedChanges","isLoading","_modifiedRevisions","map","revision","author","find","id","fetchedRevisionsCount","isLatest","Object","keys","unsavedRevision","styles","settings","name","avatar_urls","modified","Date","unshift","Math","ceil","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 DEFAULT_QUERY = { per_page: 100, page: 1 };\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nexport default function useGlobalStylesRevisions( { query } = {} ) {\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst _query = { ...DEFAULT_QUERY, ...query };\n\tconst {\n\t\tauthors,\n\t\tcurrentUser,\n\t\tisDirty,\n\t\trevisions,\n\t\tisLoadingGlobalStylesRevisions,\n\t\trevisionsCount,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tgetCurrentUser,\n\t\t\t\tgetUsers,\n\t\t\t\tgetRevisions,\n\t\t\t\t__experimentalGetCurrentGlobalStylesId,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tisResolving,\n\t\t\t} = select( coreStore );\n\t\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\t\tconst _currentUser = getCurrentUser();\n\t\t\tconst _isDirty = dirtyEntityRecords.length > 0;\n\t\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\t\tconst globalStyles = globalStylesId\n\t\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t\t: undefined;\n\t\t\tconst _revisionsCount =\n\t\t\t\tglobalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\t\tconst globalStylesRevisions =\n\t\t\t\tgetRevisions(\n\t\t\t\t\t'root',\n\t\t\t\t\t'globalStyles',\n\t\t\t\t\tglobalStylesId,\n\t\t\t\t\t_query\n\t\t\t\t) || EMPTY_ARRAY;\n\t\t\tconst _authors =\n\t\t\t\tgetUsers( SITE_EDITOR_AUTHORS_QUERY ) || EMPTY_ARRAY;\n\t\t\tconst _isResolving = isResolving( 'getRevisions', [\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t_query,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\tauthors: _authors,\n\t\t\t\tcurrentUser: _currentUser,\n\t\t\t\tisDirty: _isDirty,\n\t\t\t\trevisions: globalStylesRevisions,\n\t\t\t\tisLoadingGlobalStylesRevisions: _isResolving,\n\t\t\t\trevisionsCount: _revisionsCount,\n\t\t\t};\n\t\t},\n\t\t[ query ]\n\t);\n\treturn useMemo( () => {\n\t\tif ( ! authors.length || isLoadingGlobalStylesRevisions ) {\n\t\t\treturn {\n\t\t\t\trevisions: EMPTY_ARRAY,\n\t\t\t\thasUnsavedChanges: isDirty,\n\t\t\t\tisLoading: true,\n\t\t\t\trevisionsCount,\n\t\t\t};\n\t\t}\n\n\t\t// Adds author details to each revision.\n\t\tconst _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\tconst fetchedRevisionsCount = revisions.length;\n\n\t\tif ( fetchedRevisionsCount ) {\n\t\t\t// Flags the most current saved revision.\n\t\t\tif (\n\t\t\t\t_modifiedRevisions[ 0 ].id !== 'unsaved' &&\n\t\t\t\t_query.page === 1\n\t\t\t) {\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\t_query.page === 1\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\t_links: userConfig?._links,\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\tif (\n\t\t\t\t_query.page === Math.ceil( revisionsCount / _query.per_page )\n\t\t\t) {\n\t\t\t\t// Adds an item for the default theme styles.\n\t\t\t\t_modifiedRevisions.push( {\n\t\t\t\t\tid: 'parent',\n\t\t\t\t\tstyles: {},\n\t\t\t\t\tsettings: {},\n\t\t\t\t} );\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\trevisionsCount,\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useSelect","store","coreStore","useContext","useMemo","privateApis","blockEditorPrivateApis","unlock","SITE_EDITOR_AUTHORS_QUERY","per_page","_fields","context","capabilities","DEFAULT_QUERY","page","EMPTY_ARRAY","GlobalStylesContext","useGlobalStylesRevisions","query","user","userConfig","_query","authors","currentUser","isDirty","revisions","isLoadingGlobalStylesRevisions","revisionsCount","select","_globalStyles$_links$","__experimentalGetDirtyEntityRecords","getCurrentUser","getUsers","getRevisions","__experimentalGetCurrentGlobalStylesId","getEntityRecord","isResolving","dirtyEntityRecords","_currentUser","_isDirty","length","globalStylesId","globalStyles","undefined","_revisionsCount","_links","count","globalStylesRevisions","_authors","_isResolving","hasUnsavedChanges","isLoading","_modifiedRevisions","map","revision","author","find","id","fetchedRevisionsCount","isLatest","Object","keys","unsavedRevision","styles","settings","name","avatar_urls","modified","Date","unshift","Math","ceil","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 DEFAULT_QUERY = { per_page: 100, page: 1 };\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nexport default function useGlobalStylesRevisions( { query } = {} ) {\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst _query = { ...DEFAULT_QUERY, ...query };\n\tconst {\n\t\tauthors,\n\t\tcurrentUser,\n\t\tisDirty,\n\t\trevisions,\n\t\tisLoadingGlobalStylesRevisions,\n\t\trevisionsCount,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tgetCurrentUser,\n\t\t\t\tgetUsers,\n\t\t\t\tgetRevisions,\n\t\t\t\t__experimentalGetCurrentGlobalStylesId,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tisResolving,\n\t\t\t} = select( coreStore );\n\t\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\t\tconst _currentUser = getCurrentUser();\n\t\t\tconst _isDirty = dirtyEntityRecords.length > 0;\n\t\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\t\tconst globalStyles = globalStylesId\n\t\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t\t: undefined;\n\t\t\tconst _revisionsCount =\n\t\t\t\tglobalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\t\tconst globalStylesRevisions =\n\t\t\t\tgetRevisions(\n\t\t\t\t\t'root',\n\t\t\t\t\t'globalStyles',\n\t\t\t\t\tglobalStylesId,\n\t\t\t\t\t_query\n\t\t\t\t) || EMPTY_ARRAY;\n\t\t\tconst _authors =\n\t\t\t\tgetUsers( SITE_EDITOR_AUTHORS_QUERY ) || EMPTY_ARRAY;\n\t\t\tconst _isResolving = isResolving( 'getRevisions', [\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t_query,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\tauthors: _authors,\n\t\t\t\tcurrentUser: _currentUser,\n\t\t\t\tisDirty: _isDirty,\n\t\t\t\trevisions: globalStylesRevisions,\n\t\t\t\tisLoadingGlobalStylesRevisions: _isResolving,\n\t\t\t\trevisionsCount: _revisionsCount,\n\t\t\t};\n\t\t},\n\t\t[ query ]\n\t);\n\treturn useMemo( () => {\n\t\tif ( ! authors.length || isLoadingGlobalStylesRevisions ) {\n\t\t\treturn {\n\t\t\t\trevisions: EMPTY_ARRAY,\n\t\t\t\thasUnsavedChanges: isDirty,\n\t\t\t\tisLoading: true,\n\t\t\t\trevisionsCount,\n\t\t\t};\n\t\t}\n\n\t\t// Adds author details to each revision.\n\t\tconst _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\tconst fetchedRevisionsCount = revisions.length;\n\n\t\tif ( fetchedRevisionsCount ) {\n\t\t\t// Flags the most current saved revision.\n\t\t\tif (\n\t\t\t\t_modifiedRevisions[ 0 ].id !== 'unsaved' &&\n\t\t\t\t_query.page === 1\n\t\t\t) {\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\t_query.page === 1\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\t_links: userConfig?._links,\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\tif (\n\t\t\t\t_query.page === Math.ceil( revisionsCount / _query.per_page )\n\t\t\t) {\n\t\t\t\t// Adds an item for the default theme styles.\n\t\t\t\t_modifiedRevisions.push( {\n\t\t\t\t\tid: 'parent',\n\t\t\t\t\tstyles: {},\n\t\t\t\t\tsettings: {},\n\t\t\t\t} );\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\trevisionsCount,\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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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CUSTOM_VALUE_SETTINGS","px","max","step","vw","vh","em","rm","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","getShadowParts","shadow","shadowValues","match","map","value","trim","shadowStringToObject","shadowValue","defaultShadow","x","y","blur","spread","color","inset","includes","lengthsRegex","matches","length","lengths","split","filter","insets","hasInset","colorString","replace","colorRegex","colorMatches","shadowObjectToString","shadowObj","shadowString"],"sources":["@wordpress/edit-site/src/components/global-styles/shadow-utils.js"],"sourcesContent":["export const CUSTOM_VALUE_SETTINGS = {\n\tpx: { max: 20, step: 1 },\n\t'%': { max: 100, step: 1 },\n\tvw: { max: 100, step: 1 },\n\tvh: { max: 100, step: 1 },\n\tem: { max: 10, step: 0.1 },\n\trm: { max: 10, step: 0.1 },\n\tsvw: { max: 100, step: 1 },\n\tlvw: { max: 100, step: 1 },\n\tdvw: { max: 100, step: 1 },\n\tsvh: { max: 100, step: 1 },\n\tlvh: { max: 100, step: 1 },\n\tdvh: { max: 100, step: 1 },\n\tvi: { max: 100, step: 1 },\n\tsvi: { max: 100, step: 1 },\n\tlvi: { max: 100, step: 1 },\n\tdvi: { max: 100, step: 1 },\n\tvb: { max: 100, step: 1 },\n\tsvb: { max: 100, step: 1 },\n\tlvb: { max: 100, step: 1 },\n\tdvb: { max: 100, step: 1 },\n\tvmin: { max: 100, step: 1 },\n\tsvmin: { max: 100, step: 1 },\n\tlvmin: { max: 100, step: 1 },\n\tdvmin: { max: 100, step: 1 },\n\tvmax: { max: 100, step: 1 },\n\tsvmax: { max: 100, step: 1 },\n\tlvmax: { max: 100, step: 1 },\n\tdvmax: { max: 100, step: 1 },\n};\n\nexport function getShadowParts( shadow ) {\n\tconst shadowValues = shadow.match( /(?:[^,(]|\\([^)]*\\))+/g ) || [];\n\treturn shadowValues.map( ( value ) => value.trim() );\n}\n\nexport function shadowStringToObject( shadowValue ) {\n\t/*\n\t * Shadow spec: https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow\n\t * Shadow string format: <offset-x> <offset-y> <blur-radius> <spread-radius> <color> [inset]\n\t *\n\t * A shadow to be valid it must satisfy the following.\n\t *\n\t * 1. Should not contain \"none\" keyword.\n\t * 2. Values x, y, blur, spread should be in the order. Color and inset can be anywhere in the string except in between x, y, blur, spread values.\n\t * 3. Should not contain more than one set of x, y, blur, spread values.\n\t * 4. Should contain at least x and y values. Others are optional.\n\t * 5. Should not contain more than one \"inset\" (case insensitive) keyword.\n\t * 6. Should not contain more than one color value.\n\t */\n\n\tconst defaultShadow = {\n\t\tx: '0',\n\t\ty: '0',\n\t\tblur: '0',\n\t\tspread: '0',\n\t\tcolor: '#000',\n\t\tinset: false,\n\t};\n\n\tif ( ! shadowValue ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 1: Should not contain \"none\" keyword.\n\t// if the shadow has \"none\" keyword, it is not a valid shadow string\n\tif ( shadowValue.includes( 'none' ) ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 2: Values x, y, blur, spread should be in the order.\n\t//\t\t Color and inset can be anywhere in the string except in between x, y, blur, spread values.\n\t// Extract length values (x, y, blur, spread) from shadow string\n\t// Regex match groups of 1 to 4 length values.\n\tconst lengthsRegex =\n\t\t/((?:^|\\s+)(-?\\d*\\.?\\d+(?:px|%|in|cm|mm|em|rem|ex|pt|pc|vh|vw|vmin|vmax|ch|lh)?)(?=\\s|$)(?![^(]*\\))){1,4}/g;\n\tconst matches = shadowValue.match( lengthsRegex ) || [];\n\n\t// Rule 3: Should not contain more than one set of x, y, blur, spread values.\n\t// if the string doesn't contain exactly 1 set of x, y, blur, spread values,\n\t// it is not a valid shadow string\n\tif ( matches.length !== 1 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Extract length values (x, y, blur, spread) from shadow string\n\tconst lengths = matches[ 0 ]\n\t\t.split( ' ' )\n\t\t.map( ( value ) => value.trim() )\n\t\t.filter( ( value ) => value );\n\n\t// Rule 4: Should contain at least x and y values. Others are optional.\n\tif ( lengths.length < 2 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 5: Should not contain more than one \"inset\" (case insensitive) keyword.\n\t// check if the shadow string contains \"inset\" keyword\n\tconst insets = shadowValue.match( /inset/gi ) || [];\n\tif ( insets.length > 1 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Strip lengths and inset from shadow string, leaving just color.\n\tconst hasInset = insets.length === 1;\n\tlet colorString = shadowValue.replace( lengthsRegex, '' ).trim();\n\tif ( hasInset ) {\n\t\tcolorString = colorString\n\t\t\t.replace( 'inset', '' )\n\t\t\t.replace( 'INSET', '' )\n\t\t\t.trim();\n\t}\n\n\t// Rule 6: Should not contain more than one color value.\n\t// validate color string with regular expression\n\t// check if color has matching hex, rgb or hsl values\n\tconst colorRegex =\n\t\t/^#([0-9a-f]{3}){1,2}$|^#([0-9a-f]{4}){1,2}$|^(?:rgb|hsl)a?\\(?[\\d*\\.?\\d+%?,?\\/?\\s]*\\)$/gi;\n\tlet colorMatches = ( colorString.match( colorRegex ) || [] )\n\t\t.map( ( value ) => value?.trim() )\n\t\t.filter( ( value ) => value );\n\n\t// If color string has more than one color values, it is not a valid\n\tif ( colorMatches.length > 1 ) {\n\t\treturn defaultShadow;\n\t} else if ( colorMatches.length === 0 ) {\n\t\t// check if color string has multiple named color values separated by space\n\t\tcolorMatches = colorString\n\t\t\t.trim()\n\t\t\t.split( ' ' )\n\t\t\t.filter( ( value ) => value );\n\t\t// If color string has more than one color values, it is not a valid\n\t\tif ( colorMatches.length > 1 ) {\n\t\t\treturn defaultShadow;\n\t\t}\n\t}\n\n\t// Return parsed shadow object.\n\tconst [ x, y, blur, spread ] = lengths;\n\treturn {\n\t\tx,\n\t\ty,\n\t\tblur: blur || defaultShadow.blur,\n\t\tspread: spread || defaultShadow.spread,\n\t\tinset: hasInset,\n\t\tcolor: colorString || defaultShadow.color,\n\t};\n}\n\nexport function shadowObjectToString( shadowObj ) {\n\tconst shadowString = `${ shadowObj.x || '0px' } ${ shadowObj.y || '0px' } ${\n\t\tshadowObj.blur || '0px'\n\t} ${ shadowObj.spread || '0px' }`;\n\n\treturn `${ shadowObj.inset ? 'inset' : '' } ${ shadowString } ${\n\t\tshadowObj.color || ''\n\t}`.trim();\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CUSTOM_VALUE_SETTINGS","px","max","step","vw","vh","em","rm","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","getShadowParts","shadow","shadowValues","match","map","value","trim","shadowStringToObject","shadowValue","defaultShadow","x","y","blur","spread","color","inset","includes","lengthsRegex","matches","length","lengths","split","filter","insets","hasInset","colorString","replace","colorRegex","colorMatches","shadowObjectToString","shadowObj","shadowString"],"sources":["@wordpress/edit-site/src/components/global-styles/shadow-utils.js"],"sourcesContent":["export const CUSTOM_VALUE_SETTINGS = {\n\tpx: { max: 20, step: 1 },\n\t'%': { max: 100, step: 1 },\n\tvw: { max: 100, step: 1 },\n\tvh: { max: 100, step: 1 },\n\tem: { max: 10, step: 0.1 },\n\trm: { max: 10, step: 0.1 },\n\tsvw: { max: 100, step: 1 },\n\tlvw: { max: 100, step: 1 },\n\tdvw: { max: 100, step: 1 },\n\tsvh: { max: 100, step: 1 },\n\tlvh: { max: 100, step: 1 },\n\tdvh: { max: 100, step: 1 },\n\tvi: { max: 100, step: 1 },\n\tsvi: { max: 100, step: 1 },\n\tlvi: { max: 100, step: 1 },\n\tdvi: { max: 100, step: 1 },\n\tvb: { max: 100, step: 1 },\n\tsvb: { max: 100, step: 1 },\n\tlvb: { max: 100, step: 1 },\n\tdvb: { max: 100, step: 1 },\n\tvmin: { max: 100, step: 1 },\n\tsvmin: { max: 100, step: 1 },\n\tlvmin: { max: 100, step: 1 },\n\tdvmin: { max: 100, step: 1 },\n\tvmax: { max: 100, step: 1 },\n\tsvmax: { max: 100, step: 1 },\n\tlvmax: { max: 100, step: 1 },\n\tdvmax: { max: 100, step: 1 },\n};\n\nexport function getShadowParts( shadow ) {\n\tconst shadowValues = shadow.match( /(?:[^,(]|\\([^)]*\\))+/g ) || [];\n\treturn shadowValues.map( ( value ) => value.trim() );\n}\n\nexport function shadowStringToObject( shadowValue ) {\n\t/*\n\t * Shadow spec: https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow\n\t * Shadow string format: <offset-x> <offset-y> <blur-radius> <spread-radius> <color> [inset]\n\t *\n\t * A shadow to be valid it must satisfy the following.\n\t *\n\t * 1. Should not contain \"none\" keyword.\n\t * 2. Values x, y, blur, spread should be in the order. Color and inset can be anywhere in the string except in between x, y, blur, spread values.\n\t * 3. Should not contain more than one set of x, y, blur, spread values.\n\t * 4. Should contain at least x and y values. Others are optional.\n\t * 5. Should not contain more than one \"inset\" (case insensitive) keyword.\n\t * 6. Should not contain more than one color value.\n\t */\n\n\tconst defaultShadow = {\n\t\tx: '0',\n\t\ty: '0',\n\t\tblur: '0',\n\t\tspread: '0',\n\t\tcolor: '#000',\n\t\tinset: false,\n\t};\n\n\tif ( ! shadowValue ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 1: Should not contain \"none\" keyword.\n\t// if the shadow has \"none\" keyword, it is not a valid shadow string\n\tif ( shadowValue.includes( 'none' ) ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 2: Values x, y, blur, spread should be in the order.\n\t//\t\t Color and inset can be anywhere in the string except in between x, y, blur, spread values.\n\t// Extract length values (x, y, blur, spread) from shadow string\n\t// Regex match groups of 1 to 4 length values.\n\tconst lengthsRegex =\n\t\t/((?:^|\\s+)(-?\\d*\\.?\\d+(?:px|%|in|cm|mm|em|rem|ex|pt|pc|vh|vw|vmin|vmax|ch|lh)?)(?=\\s|$)(?![^(]*\\))){1,4}/g;\n\tconst matches = shadowValue.match( lengthsRegex ) || [];\n\n\t// Rule 3: Should not contain more than one set of x, y, blur, spread values.\n\t// if the string doesn't contain exactly 1 set of x, y, blur, spread values,\n\t// it is not a valid shadow string\n\tif ( matches.length !== 1 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Extract length values (x, y, blur, spread) from shadow string\n\tconst lengths = matches[ 0 ]\n\t\t.split( ' ' )\n\t\t.map( ( value ) => value.trim() )\n\t\t.filter( ( value ) => value );\n\n\t// Rule 4: Should contain at least x and y values. Others are optional.\n\tif ( lengths.length < 2 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 5: Should not contain more than one \"inset\" (case insensitive) keyword.\n\t// check if the shadow string contains \"inset\" keyword\n\tconst insets = shadowValue.match( /inset/gi ) || [];\n\tif ( insets.length > 1 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Strip lengths and inset from shadow string, leaving just color.\n\tconst hasInset = insets.length === 1;\n\tlet colorString = shadowValue.replace( lengthsRegex, '' ).trim();\n\tif ( hasInset ) {\n\t\tcolorString = colorString\n\t\t\t.replace( 'inset', '' )\n\t\t\t.replace( 'INSET', '' )\n\t\t\t.trim();\n\t}\n\n\t// Rule 6: Should not contain more than one color value.\n\t// validate color string with regular expression\n\t// check if color has matching hex, rgb or hsl values\n\tconst colorRegex =\n\t\t/^#([0-9a-f]{3}){1,2}$|^#([0-9a-f]{4}){1,2}$|^(?:rgb|hsl)a?\\(?[\\d*\\.?\\d+%?,?\\/?\\s]*\\)$/gi;\n\tlet colorMatches = ( colorString.match( colorRegex ) || [] )\n\t\t.map( ( value ) => value?.trim() )\n\t\t.filter( ( value ) => value );\n\n\t// If color string has more than one color values, it is not a valid\n\tif ( colorMatches.length > 1 ) {\n\t\treturn defaultShadow;\n\t} else if ( colorMatches.length === 0 ) {\n\t\t// check if color string has multiple named color values separated by space\n\t\tcolorMatches = colorString\n\t\t\t.trim()\n\t\t\t.split( ' ' )\n\t\t\t.filter( ( value ) => value );\n\t\t// If color string has more than one color values, it is not a valid\n\t\tif ( colorMatches.length > 1 ) {\n\t\t\treturn defaultShadow;\n\t\t}\n\t}\n\n\t// Return parsed shadow object.\n\tconst [ x, y, blur, spread ] = lengths;\n\treturn {\n\t\tx,\n\t\ty,\n\t\tblur: blur || defaultShadow.blur,\n\t\tspread: spread || defaultShadow.spread,\n\t\tinset: hasInset,\n\t\tcolor: colorString || defaultShadow.color,\n\t};\n}\n\nexport function shadowObjectToString( shadowObj ) {\n\tconst shadowString = `${ shadowObj.x || '0px' } ${ shadowObj.y || '0px' } ${\n\t\tshadowObj.blur || '0px'\n\t} ${ shadowObj.spread || '0px' }`;\n\n\treturn `${ shadowObj.inset ? 'inset' : '' } ${ shadowString } ${\n\t\tshadowObj.color || ''\n\t}`.trim();\n}\n"],"mappings":"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","ignoreList":[]}
|