@wordpress/block-library 5.0.1 → 6.0.1
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 +6 -0
- package/README.md +1 -1
- package/build/audio/edit.js +2 -2
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js +2 -2
- package/build/audio/edit.native.js.map +1 -1
- package/build/button/edit.js +97 -87
- package/build/button/edit.js.map +1 -1
- package/build/button/edit.native.js +1 -1
- package/build/button/edit.native.js.map +1 -1
- package/build/button/index.js +4 -1
- package/build/button/index.js.map +1 -1
- package/build/buttons/edit.js +2 -1
- package/build/buttons/edit.js.map +1 -1
- package/build/buttons/index.js +2 -1
- package/build/buttons/index.js.map +1 -1
- package/build/buttons/transforms.js +2 -1
- package/build/buttons/transforms.js.map +1 -1
- package/build/column/index.js +4 -1
- package/build/column/index.js.map +1 -1
- package/build/column/save.js +9 -1
- package/build/column/save.js.map +1 -1
- package/build/columns/edit.native.js +5 -2
- package/build/columns/edit.native.js.map +1 -1
- package/build/columns/index.js +10 -1
- package/build/columns/index.js.map +1 -1
- package/build/cover/deprecated.js +0 -27
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit.js +57 -27
- package/build/cover/edit.js.map +1 -1
- package/build/cover/index.js +11 -1
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +2 -1
- package/build/cover/save.js.map +1 -1
- package/build/cover/shared.js +1 -0
- package/build/cover/shared.js.map +1 -1
- package/build/cover/transforms.js +4 -0
- package/build/cover/transforms.js.map +1 -1
- package/build/embed/edit.js +1 -5
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +85 -22
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/embed-bottom-sheet.native.js +17 -16
- package/build/embed/embed-bottom-sheet.native.js.map +1 -1
- package/build/embed/embed-controls.js +4 -1
- package/build/embed/embed-controls.js.map +1 -1
- package/build/embed/embed-no-preview.native.js +22 -9
- package/build/embed/embed-no-preview.native.js.map +1 -1
- package/build/embed/embed-placeholder.native.js +51 -7
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/embed/embed-preview.native.js +28 -10
- package/build/embed/embed-preview.native.js.map +1 -1
- package/build/embed/variations.js +0 -10
- package/build/embed/variations.js.map +1 -1
- package/build/embed/wp-embed-preview.js +44 -56
- package/build/embed/wp-embed-preview.js.map +1 -1
- package/build/embed/wp-embed-preview.native.js +95 -0
- package/build/embed/wp-embed-preview.native.js.map +1 -0
- package/build/file/deprecated.js +108 -0
- package/build/file/deprecated.js.map +1 -0
- package/build/file/edit.js +8 -1
- package/build/file/edit.js.map +1 -1
- package/build/file/index.js +9 -0
- package/build/file/index.js.map +1 -1
- package/build/file/inspector.js +1 -1
- package/build/file/inspector.js.map +1 -1
- package/build/file/save.js +4 -1
- package/build/file/save.js.map +1 -1
- package/build/file/transforms.js +3 -1
- package/build/file/transforms.js.map +1 -1
- package/build/gallery/constants.js +2 -2
- package/build/gallery/constants.js.map +1 -1
- package/build/gallery/deprecated.js +17 -8
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit-wrapper.js +63 -0
- package/build/gallery/edit-wrapper.js.map +1 -0
- package/build/gallery/edit.js +225 -231
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +67 -49
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gallery.native.js +42 -79
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/index.js +31 -7
- package/build/gallery/index.js.map +1 -1
- package/build/gallery/save.js +26 -43
- package/build/gallery/save.js.map +1 -1
- package/build/gallery/shared.js +9 -2
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +211 -12
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-get-media.js +58 -0
- package/build/gallery/use-get-media.js.map +1 -0
- package/build/gallery/use-get-new-images.js +58 -0
- package/build/gallery/use-get-new-images.js.map +1 -0
- package/build/gallery/use-image-sizes.js +73 -0
- package/build/gallery/use-image-sizes.js.map +1 -0
- package/build/gallery/use-short-code-transform.js +63 -0
- package/build/gallery/use-short-code-transform.js.map +1 -0
- package/build/gallery/utils.js +51 -0
- package/build/gallery/utils.js.map +1 -0
- package/build/gallery/v1/constants.js +13 -0
- package/build/gallery/v1/constants.js.map +1 -0
- package/build/gallery/v1/edit.js +459 -0
- package/build/gallery/v1/edit.js.map +1 -0
- package/build/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
- package/build/gallery/v1/gallery-button.native.js.map +1 -0
- package/build/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
- package/build/gallery/v1/gallery-image.js.map +1 -0
- package/build/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
- package/build/gallery/v1/gallery-image.native.js.map +1 -0
- package/build/gallery/v1/gallery.js +122 -0
- package/build/gallery/v1/gallery.js.map +1 -0
- package/build/gallery/v1/gallery.native.js +159 -0
- package/build/gallery/v1/gallery.native.js.map +1 -0
- package/build/gallery/v1/save.js +75 -0
- package/build/gallery/v1/save.js.map +1 -0
- package/build/gallery/v1/shared.js +26 -0
- package/build/gallery/v1/shared.js.map +1 -0
- package/build/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
- package/build/gallery/v1/tiles.native.js.map +1 -0
- package/build/gallery/v1/update-gallery-modal.js +110 -0
- package/build/gallery/v1/update-gallery-modal.js.map +1 -0
- package/build/group/edit.js +21 -5
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +8 -2
- package/build/group/index.js.map +1 -1
- package/build/group/variations.js +31 -0
- package/build/group/variations.js.map +1 -0
- package/build/heading/heading-level-dropdown.js +11 -37
- package/build/heading/heading-level-dropdown.js.map +1 -1
- package/build/home-link/edit.js +2 -2
- package/build/home-link/edit.js.map +1 -1
- package/build/image/edit.js +8 -6
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +46 -17
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +11 -17
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +1 -0
- package/build/image/index.js.map +1 -1
- package/build/image/transforms.js +30 -7
- package/build/image/transforms.js.map +1 -1
- package/build/image/utils.js +23 -0
- package/build/image/utils.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/latest-comments/edit.js +7 -1
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/edit.native.js +12 -6
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/media-text/edit.js +1 -1
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +2 -0
- package/build/media-text/index.js.map +1 -1
- package/build/navigation/block-navigation-list.js +14 -3
- package/build/navigation/block-navigation-list.js.map +1 -1
- package/build/navigation/edit.js +44 -14
- package/build/navigation/edit.js.map +1 -1
- package/build/navigation/index.js +7 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/menu-items-to-blocks.js +6 -5
- package/build/navigation/menu-items-to-blocks.js.map +1 -1
- package/build/navigation/placeholder-preview.js +3 -3
- package/build/navigation/placeholder-preview.js.map +1 -1
- package/build/navigation/placeholder.js +1 -1
- package/build/navigation/placeholder.js.map +1 -1
- package/build/navigation/use-block-navigator.js +2 -1
- package/build/navigation/use-block-navigator.js.map +1 -1
- package/build/navigation/variations.js +2 -3
- package/build/navigation/variations.js.map +1 -1
- package/build/navigation/view.js +53 -1
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +56 -72
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/index.js +6 -2
- package/build/navigation-link/index.js.map +1 -1
- package/build/navigation-link/transforms.js +83 -0
- package/build/navigation-link/transforms.js.map +1 -0
- package/build/navigation-submenu/edit.js +651 -0
- package/build/navigation-submenu/edit.js.map +1 -0
- package/build/navigation-submenu/icons.js +27 -0
- package/build/navigation-submenu/icons.js.map +1 -0
- package/build/navigation-submenu/index.js +89 -0
- package/build/navigation-submenu/index.js.map +1 -0
- package/build/navigation-submenu/save.js +18 -0
- package/build/navigation-submenu/save.js.map +1 -0
- package/build/navigation-submenu/transforms.js +82 -0
- package/build/navigation-submenu/transforms.js.map +1 -0
- package/build/navigation-submenu/view.js +51 -0
- package/build/navigation-submenu/view.js.map +1 -0
- package/build/page-list/convert-to-links-modal.js +19 -1
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/edit.js +16 -5
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +10 -1
- package/build/page-list/index.js.map +1 -1
- package/build/post-author/index.js +2 -1
- package/build/post-author/index.js.map +1 -1
- package/build/post-comment/edit.js +7 -4
- package/build/post-comment/edit.js.map +1 -1
- package/build/post-comment-author/edit.js +1 -1
- package/build/post-comment-author/edit.js.map +1 -1
- package/build/post-comment-content/edit.js +16 -12
- package/build/post-comment-content/edit.js.map +1 -1
- package/build/post-content/edit.js +1 -3
- package/build/post-content/edit.js.map +1 -1
- package/build/post-date/edit.js +35 -14
- package/build/post-date/edit.js.map +1 -1
- package/build/post-date/index.js +2 -1
- package/build/post-date/index.js.map +1 -1
- package/build/post-excerpt/edit.js +2 -1
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +24 -10
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/index.js +5 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/edit.js +19 -3
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-navigation-link/index.js +9 -1
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/post-template/index.js +5 -2
- package/build/post-template/index.js.map +1 -1
- package/build/post-terms/edit.js +4 -2
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/index.js +2 -1
- package/build/post-terms/index.js.map +1 -1
- package/build/post-title/edit.js +3 -3
- package/build/post-title/edit.js.map +1 -1
- package/build/post-title/index.js +4 -1
- package/build/post-title/index.js.map +1 -1
- package/build/query/edit/index.js +3 -1
- package/build/query/edit/index.js.map +1 -1
- package/build/query/variations.js +4 -4
- package/build/query/variations.js.map +1 -1
- package/build/query-pagination/deprecated.js +24 -0
- package/build/query-pagination/deprecated.js.map +1 -0
- package/build/query-pagination/edit.js +54 -3
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-pagination/index.js +20 -1
- package/build/query-pagination/index.js.map +1 -1
- package/build/query-pagination/query-pagination-arrow-controls.js +38 -0
- package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -0
- package/build/query-pagination/save.js +1 -1
- package/build/query-pagination/save.js.map +1 -1
- package/build/query-pagination-next/edit.js +19 -4
- package/build/query-pagination-next/edit.js.map +1 -1
- package/build/query-pagination-next/index.js +1 -1
- package/build/query-pagination-previous/edit.js +19 -4
- package/build/query-pagination-previous/edit.js.map +1 -1
- package/build/query-pagination-previous/index.js +1 -1
- package/build/site-logo/edit.js +75 -30
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +7 -2
- package/build/site-logo/index.js.map +1 -1
- package/build/site-tagline/index.js +1 -0
- package/build/site-tagline/index.js.map +1 -1
- package/build/site-title/edit/index.js +25 -6
- package/build/site-title/edit/index.js.map +1 -1
- package/build/site-title/index.js +9 -2
- package/build/site-title/index.js.map +1 -1
- package/build/social-links/deprecated.js +106 -2
- package/build/social-links/deprecated.js.map +1 -1
- package/build/social-links/edit.js +15 -19
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/index.js +16 -1
- package/build/social-links/index.js.map +1 -1
- package/build/social-links/save.js +1 -3
- package/build/social-links/save.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/template-part/edit/advanced-controls.js +3 -1
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/index.js +1 -4
- package/build/template-part/edit/index.js.map +1 -1
- package/build/video/edit-common-settings.js +1 -1
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +10 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +3 -1
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/audio/edit.js +3 -3
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js +3 -3
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/button/edit.js +101 -91
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/edit.native.js +2 -2
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/button/index.js +4 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/buttons/edit.js +2 -1
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/buttons/index.js +2 -1
- package/build-module/buttons/index.js.map +1 -1
- package/build-module/buttons/transforms.js +2 -1
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/column/index.js +4 -1
- package/build-module/column/index.js.map +1 -1
- package/build-module/column/save.js +9 -1
- package/build-module/column/save.js.map +1 -1
- package/build-module/columns/edit.native.js +6 -3
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/columns/index.js +10 -1
- package/build-module/columns/index.js.map +1 -1
- package/build-module/cover/deprecated.js +0 -27
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit.js +57 -28
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/cover/index.js +11 -1
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +2 -1
- package/build-module/cover/save.js.map +1 -1
- package/build-module/cover/shared.js +1 -0
- package/build-module/cover/shared.js.map +1 -1
- package/build-module/cover/transforms.js +4 -0
- package/build-module/cover/transforms.js.map +1 -1
- package/build-module/embed/edit.js +1 -5
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +87 -25
- package/build-module/embed/edit.native.js.map +1 -1
- package/build-module/embed/embed-bottom-sheet.native.js +18 -16
- package/build-module/embed/embed-bottom-sheet.native.js.map +1 -1
- package/build-module/embed/embed-controls.js +4 -1
- package/build-module/embed/embed-controls.js.map +1 -1
- package/build-module/embed/embed-no-preview.native.js +22 -10
- package/build-module/embed/embed-no-preview.native.js.map +1 -1
- package/build-module/embed/embed-placeholder.native.js +51 -8
- package/build-module/embed/embed-placeholder.native.js.map +1 -1
- package/build-module/embed/embed-preview.native.js +26 -11
- package/build-module/embed/embed-preview.native.js.map +1 -1
- package/build-module/embed/variations.js +0 -10
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/embed/wp-embed-preview.js +39 -56
- package/build-module/embed/wp-embed-preview.js.map +1 -1
- package/build-module/embed/wp-embed-preview.native.js +83 -0
- package/build-module/embed/wp-embed-preview.native.js.map +1 -0
- package/build-module/file/deprecated.js +98 -0
- package/build-module/file/deprecated.js.map +1 -0
- package/build-module/file/edit.js +8 -1
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/index.js +8 -0
- package/build-module/file/index.js.map +1 -1
- package/build-module/file/inspector.js +1 -1
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/file/save.js +4 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/file/transforms.js +2 -1
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/gallery/constants.js +2 -2
- package/build-module/gallery/constants.js.map +1 -1
- package/build-module/gallery/deprecated.js +15 -7
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit-wrapper.js +50 -0
- package/build-module/gallery/edit-wrapper.js.map +1 -0
- package/build-module/gallery/edit.js +222 -234
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +70 -51
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gallery.native.js +43 -78
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/index.js +30 -6
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/gallery/save.js +24 -43
- package/build-module/gallery/save.js.map +1 -1
- package/build-module/gallery/shared.js +8 -2
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +207 -12
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-get-media.js +48 -0
- package/build-module/gallery/use-get-media.js.map +1 -0
- package/build-module/gallery/use-get-new-images.js +50 -0
- package/build-module/gallery/use-get-new-images.js.map +1 -0
- package/build-module/gallery/use-image-sizes.js +64 -0
- package/build-module/gallery/use-image-sizes.js.map +1 -0
- package/build-module/gallery/use-short-code-transform.js +53 -0
- package/build-module/gallery/use-short-code-transform.js.map +1 -0
- package/build-module/gallery/utils.js +42 -0
- package/build-module/gallery/utils.js.map +1 -0
- package/build-module/gallery/v1/constants.js +4 -0
- package/build-module/gallery/v1/constants.js.map +1 -0
- package/build-module/gallery/v1/edit.js +430 -0
- package/build-module/gallery/v1/edit.js.map +1 -0
- package/build-module/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
- package/build-module/gallery/v1/gallery-button.native.js.map +1 -0
- package/build-module/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
- package/build-module/gallery/v1/gallery-image.js.map +1 -0
- package/build-module/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
- package/build-module/gallery/v1/gallery-image.native.js.map +1 -0
- package/build-module/gallery/v1/gallery.js +102 -0
- package/build-module/gallery/v1/gallery.js.map +1 -0
- package/build-module/gallery/v1/gallery.native.js +136 -0
- package/build-module/gallery/v1/gallery.native.js.map +1 -0
- package/build-module/gallery/v1/save.js +65 -0
- package/build-module/gallery/v1/save.js.map +1 -0
- package/build-module/gallery/v1/shared.js +16 -0
- package/build-module/gallery/v1/shared.js.map +1 -0
- package/build-module/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
- package/build-module/gallery/v1/tiles.native.js.map +1 -0
- package/build-module/gallery/v1/update-gallery-modal.js +93 -0
- package/build-module/gallery/v1/update-gallery-modal.js.map +1 -0
- package/build-module/group/edit.js +21 -6
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +7 -2
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/variations.js +22 -0
- package/build-module/group/variations.js.map +1 -0
- package/build-module/heading/heading-level-dropdown.js +12 -37
- package/build-module/heading/heading-level-dropdown.js.map +1 -1
- package/build-module/home-link/edit.js +2 -2
- package/build-module/home-link/edit.js.map +1 -1
- package/build-module/image/edit.js +8 -6
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +48 -19
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +11 -15
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +1 -0
- package/build-module/image/index.js.map +1 -1
- package/build-module/image/transforms.js +26 -7
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/image/utils.js +22 -1
- package/build-module/image/utils.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/latest-comments/edit.js +7 -1
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +12 -6
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/media-text/edit.js +1 -1
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +2 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/navigation/block-navigation-list.js +15 -3
- package/build-module/navigation/block-navigation-list.js.map +1 -1
- package/build-module/navigation/edit.js +45 -15
- package/build-module/navigation/edit.js.map +1 -1
- package/build-module/navigation/index.js +7 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/menu-items-to-blocks.js +6 -5
- package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
- package/build-module/navigation/placeholder-preview.js +3 -3
- package/build-module/navigation/placeholder-preview.js.map +1 -1
- package/build-module/navigation/placeholder.js +1 -1
- package/build-module/navigation/placeholder.js.map +1 -1
- package/build-module/navigation/use-block-navigator.js +2 -1
- package/build-module/navigation/use-block-navigator.js.map +1 -1
- package/build-module/navigation/variations.js +2 -3
- package/build-module/navigation/variations.js.map +1 -1
- package/build-module/navigation/view.js +53 -2
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +59 -74
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/index.js +5 -2
- package/build-module/navigation-link/index.js.map +1 -1
- package/build-module/navigation-link/transforms.js +74 -0
- package/build-module/navigation-link/transforms.js.map +1 -0
- package/build-module/navigation-submenu/edit.js +628 -0
- package/build-module/navigation-submenu/edit.js.map +1 -0
- package/build-module/navigation-submenu/icons.js +17 -0
- package/build-module/navigation-submenu/icons.js.map +1 -0
- package/build-module/navigation-submenu/index.js +74 -0
- package/build-module/navigation-submenu/index.js.map +1 -0
- package/build-module/navigation-submenu/save.js +10 -0
- package/build-module/navigation-submenu/save.js.map +1 -0
- package/build-module/navigation-submenu/transforms.js +73 -0
- package/build-module/navigation-submenu/transforms.js.map +1 -0
- package/build-module/navigation-submenu/view.js +49 -0
- package/build-module/navigation-submenu/view.js.map +1 -0
- package/build-module/page-list/convert-to-links-modal.js +19 -1
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/page-list/edit.js +16 -5
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +10 -1
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/post-author/index.js +2 -1
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-comment/edit.js +8 -6
- package/build-module/post-comment/edit.js.map +1 -1
- package/build-module/post-comment-author/edit.js +1 -1
- package/build-module/post-comment-author/edit.js.map +1 -1
- package/build-module/post-comment-content/edit.js +16 -13
- package/build-module/post-comment-content/edit.js.map +1 -1
- package/build-module/post-content/edit.js +1 -3
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-date/edit.js +36 -16
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-date/index.js +2 -1
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-excerpt/edit.js +2 -1
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +22 -11
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/index.js +5 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +19 -3
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-navigation-link/index.js +9 -1
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/post-template/index.js +6 -3
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/post-terms/edit.js +5 -3
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/index.js +2 -1
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/post-title/edit.js +3 -3
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/post-title/index.js +4 -1
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/query/edit/index.js +4 -2
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/variations.js +4 -4
- package/build-module/query/variations.js.map +1 -1
- package/build-module/query-pagination/deprecated.js +15 -0
- package/build-module/query-pagination/deprecated.js.map +1 -0
- package/build-module/query-pagination/edit.js +52 -5
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-pagination/index.js +19 -1
- package/build-module/query-pagination/index.js.map +1 -1
- package/build-module/query-pagination/query-pagination-arrow-controls.js +29 -0
- package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -0
- package/build-module/query-pagination/save.js +2 -2
- package/build-module/query-pagination/save.js.map +1 -1
- package/build-module/query-pagination-next/edit.js +18 -4
- package/build-module/query-pagination-next/edit.js.map +1 -1
- package/build-module/query-pagination-next/index.js +1 -1
- package/build-module/query-pagination-previous/edit.js +18 -4
- package/build-module/query-pagination-previous/edit.js.map +1 -1
- package/build-module/query-pagination-previous/index.js +1 -1
- package/build-module/site-logo/edit.js +79 -34
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +7 -2
- package/build-module/site-logo/index.js.map +1 -1
- package/build-module/site-tagline/index.js +1 -0
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/site-title/edit/index.js +25 -7
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/site-title/index.js +9 -2
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-links/deprecated.js +106 -2
- package/build-module/social-links/deprecated.js.map +1 -1
- package/build-module/social-links/edit.js +16 -20
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/social-links/index.js +16 -1
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/social-links/save.js +1 -3
- package/build-module/social-links/save.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/template-part/edit/advanced-controls.js +4 -2
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +1 -4
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/video/edit-common-settings.js +2 -2
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +10 -5
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +2 -1
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/button/style-rtl.css +1 -1
- package/build-style/button/style.css +1 -1
- package/build-style/columns/editor-rtl.css +2 -2
- package/build-style/columns/editor.css +2 -2
- package/build-style/columns/style-rtl.css +4 -4
- package/build-style/columns/style.css +4 -4
- package/build-style/common-rtl.css +4 -105
- package/build-style/common.css +4 -105
- package/build-style/editor-rtl.css +188 -205
- package/build-style/editor.css +188 -205
- package/build-style/embed/style-rtl.css +1 -0
- package/build-style/embed/style.css +1 -0
- package/build-style/gallery/editor-rtl.css +89 -21
- package/build-style/gallery/editor.css +89 -21
- package/build-style/gallery/style-rtl.css +202 -39
- package/build-style/gallery/style.css +202 -39
- package/build-style/group/theme-rtl.css +1 -3
- package/build-style/group/theme.css +1 -3
- package/build-style/heading/style-rtl.css +8 -0
- package/build-style/heading/style.css +8 -0
- package/build-style/html/editor-rtl.css +12 -11
- package/build-style/html/editor.css +12 -11
- package/build-style/list/style-rtl.css +4 -0
- package/build-style/list/style.css +4 -0
- package/build-style/navigation/editor-rtl.css +12 -7
- package/build-style/navigation/editor.css +12 -7
- package/build-style/navigation/style-rtl.css +140 -134
- package/build-style/navigation/style.css +140 -134
- package/build-style/navigation-link/editor-rtl.css +22 -13
- package/build-style/navigation-link/editor.css +22 -13
- package/build-style/{post-content → navigation-submenu}/editor-rtl.css +29 -8
- package/build-style/{post-content → navigation-submenu}/editor.css +29 -8
- package/build-style/{heading/editor.css → navigation-submenu/style-rtl.css} +13 -7
- package/build-style/{heading/editor-rtl.css → navigation-submenu/style.css} +13 -7
- package/build-style/page-list/editor-rtl.css +8 -0
- package/build-style/page-list/editor.css +8 -0
- package/build-style/page-list/style-rtl.css +2 -8
- package/build-style/page-list/style.css +2 -8
- package/build-style/paragraph/style-rtl.css +5 -1
- package/build-style/paragraph/style.css +5 -1
- package/build-style/post-featured-image/editor-rtl.css +4 -8
- package/build-style/post-featured-image/editor.css +4 -8
- package/build-style/post-featured-image/style-rtl.css +1 -0
- package/build-style/post-featured-image/style.css +1 -0
- package/build-style/post-template/style-rtl.css +2 -0
- package/build-style/post-template/style.css +2 -0
- package/build-style/pullquote/style-rtl.css +1 -0
- package/build-style/pullquote/style.css +1 -0
- package/build-style/query-pagination/editor-rtl.css +2 -5
- package/build-style/query-pagination/editor.css +2 -5
- package/build-style/query-pagination/style-rtl.css +17 -6
- package/build-style/query-pagination/style.css +17 -6
- package/build-style/quote/style-rtl.css +3 -0
- package/build-style/quote/style.css +3 -0
- package/build-style/reset-rtl.css +2 -1
- package/build-style/reset.css +2 -1
- package/build-style/social-links/style-rtl.css +0 -5
- package/build-style/social-links/style.css +0 -5
- package/build-style/style-rtl.css +415 -307
- package/build-style/style.css +415 -307
- package/build-style/theme-rtl.css +1 -11
- package/build-style/theme.css +1 -11
- package/package.json +30 -31
- package/src/audio/edit.js +6 -3
- package/src/audio/edit.native.js +9 -3
- package/src/button/block.json +4 -1
- package/src/button/edit.js +107 -115
- package/src/button/edit.native.js +5 -2
- package/src/button/style.scss +1 -1
- package/src/buttons/block.json +2 -1
- package/src/buttons/edit.js +1 -1
- package/src/column/block.json +4 -1
- package/src/column/save.js +11 -1
- package/src/columns/block.json +8 -1
- package/src/columns/edit.native.js +8 -3
- package/src/columns/editor.scss +2 -2
- package/src/columns/index.js +1 -0
- package/src/columns/style.scss +4 -4
- package/src/common.scss +3 -9
- package/src/cover/block.json +11 -1
- package/src/cover/deprecated.js +0 -27
- package/src/cover/edit.js +82 -32
- package/src/cover/save.js +2 -1
- package/src/cover/shared.js +1 -0
- package/src/cover/transforms.js +4 -2
- package/src/editor.scss +4 -20
- package/src/embed/edit.js +1 -11
- package/src/embed/edit.native.js +120 -32
- package/src/embed/embed-bottom-sheet.native.js +26 -20
- package/src/embed/embed-controls.js +10 -1
- package/src/embed/embed-no-preview.native.js +53 -14
- package/src/embed/embed-placeholder.native.js +58 -9
- package/src/embed/embed-preview.native.js +58 -41
- package/src/embed/style.scss +1 -0
- package/src/embed/styles.native.scss +18 -8
- package/src/embed/variations.js +0 -8
- package/src/embed/wp-embed-preview.js +41 -62
- package/src/embed/wp-embed-preview.native.js +80 -0
- package/src/file/block.json +6 -0
- package/src/file/deprecated.js +123 -0
- package/src/file/edit.js +6 -0
- package/src/file/index.js +2 -0
- package/src/file/inspector.js +12 -10
- package/src/file/save.js +3 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +4 -0
- package/src/file/transforms.js +3 -1
- package/src/gallery/block.json +18 -0
- package/src/gallery/constants.js +2 -2
- package/src/gallery/deprecated.js +15 -7
- package/src/gallery/deprecated.scss +132 -0
- package/src/gallery/edit-wrapper.js +47 -0
- package/src/gallery/edit.js +317 -276
- package/src/gallery/editor.scss +106 -22
- package/src/gallery/gallery-styles.native.scss +4 -2
- package/src/gallery/gallery.js +82 -71
- package/src/gallery/gallery.native.js +49 -85
- package/src/gallery/index.js +12 -6
- package/src/gallery/save.js +20 -60
- package/src/gallery/shared.js +9 -2
- package/src/gallery/style.scss +113 -75
- package/src/gallery/transforms.js +212 -11
- package/src/gallery/use-get-media.js +59 -0
- package/src/gallery/use-get-new-images.js +68 -0
- package/src/gallery/use-image-sizes.js +66 -0
- package/src/gallery/use-short-code-transform.js +52 -0
- package/src/gallery/utils.js +46 -0
- package/src/gallery/v1/constants.js +3 -0
- package/src/gallery/v1/edit.js +509 -0
- package/src/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
- package/src/gallery/{gallery-image-style.native.scss → v1/gallery-image-style.native.scss} +0 -0
- package/src/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
- package/src/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
- package/src/gallery/v1/gallery-styles.native.scss +8 -0
- package/src/gallery/v1/gallery.js +119 -0
- package/src/gallery/v1/gallery.native.js +162 -0
- package/src/gallery/v1/save.js +81 -0
- package/src/gallery/v1/shared.js +19 -0
- package/src/gallery/{tiles-styles.native.scss → v1/tiles-styles.native.scss} +0 -0
- package/src/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
- package/src/gallery/v1/update-gallery-modal.js +97 -0
- package/src/group/block.json +4 -1
- package/src/group/edit.js +31 -7
- package/src/group/index.js +2 -0
- package/src/group/theme.scss +1 -3
- package/src/group/variations.js +18 -0
- package/src/heading/heading-level-dropdown.js +26 -58
- package/src/heading/style.scss +3 -0
- package/src/home-link/edit.js +2 -2
- package/src/home-link/index.php +2 -2
- package/src/html/editor.scss +16 -10
- package/src/image/block.json +1 -0
- package/src/image/edit.js +9 -7
- package/src/image/edit.native.js +75 -35
- package/src/image/image.js +10 -14
- package/src/image/styles.native.scss +5 -0
- package/src/image/transforms.js +32 -9
- package/src/image/utils.js +17 -1
- package/src/index.js +2 -0
- package/src/latest-comments/edit.js +4 -0
- package/src/latest-comments/index.php +2 -1
- package/src/latest-posts/edit.native.js +10 -8
- package/src/list/style.scss +8 -3
- package/src/media-text/edit.js +1 -1
- package/src/media-text/index.js +1 -0
- package/src/navigation/block-navigation-list.js +16 -7
- package/src/navigation/block.json +7 -1
- package/src/navigation/edit.js +60 -17
- package/src/navigation/editor.scss +38 -19
- package/src/navigation/index.php +12 -4
- package/src/navigation/menu-items-to-blocks.js +8 -7
- package/src/navigation/placeholder-preview.js +3 -3
- package/src/navigation/placeholder.js +1 -1
- package/src/navigation/style.scss +191 -145
- package/src/navigation/test/menu-items-to-blocks.js +6 -6
- package/src/navigation/use-block-navigator.js +1 -0
- package/src/navigation/variations.js +2 -3
- package/src/navigation/view.js +74 -4
- package/src/navigation-link/block.json +2 -1
- package/src/navigation-link/edit.js +63 -90
- package/src/navigation-link/editor.scss +30 -15
- package/src/navigation-link/index.js +2 -0
- package/src/navigation-link/index.php +8 -8
- package/src/navigation-link/transforms.js +93 -0
- package/src/navigation-submenu/block.json +65 -0
- package/src/navigation-submenu/edit.js +662 -0
- package/src/navigation-submenu/editor.scss +42 -0
- package/src/navigation-submenu/icons.js +16 -0
- package/src/navigation-submenu/index.js +29 -0
- package/src/navigation-submenu/index.php +299 -0
- package/src/navigation-submenu/save.js +8 -0
- package/src/navigation-submenu/style.scss +20 -0
- package/src/navigation-submenu/transforms.js +58 -0
- package/src/navigation-submenu/view.js +62 -0
- package/src/page-list/block.json +11 -1
- package/src/page-list/convert-to-links-modal.js +20 -0
- package/src/page-list/edit.js +18 -4
- package/src/page-list/editor.scss +14 -0
- package/src/page-list/index.php +48 -12
- package/src/page-list/style.scss +2 -14
- package/src/page-list/test/convert-to-links-modal.js +6 -6
- package/src/paragraph/style.scss +10 -1
- package/src/post-author/block.json +2 -1
- package/src/post-comment/edit.js +14 -7
- package/src/post-comment-author/edit.js +13 -10
- package/src/post-comment-content/edit.js +17 -9
- package/src/post-comment-content/index.php +6 -3
- package/src/post-content/edit.js +1 -3
- package/src/post-date/block.json +2 -1
- package/src/post-date/edit.js +36 -22
- package/src/post-excerpt/edit.js +1 -0
- package/src/post-featured-image/block.json +5 -0
- package/src/post-featured-image/dimension-controls.js +43 -35
- package/src/post-featured-image/editor.scss +4 -9
- package/src/post-featured-image/style.scss +1 -0
- package/src/post-navigation-link/block.json +9 -1
- package/src/post-navigation-link/edit.js +29 -2
- package/src/post-navigation-link/index.php +28 -3
- package/src/post-template/block.json +4 -1
- package/src/post-template/index.js +2 -2
- package/src/post-template/index.php +11 -0
- package/src/post-template/style.scss +2 -0
- package/src/post-terms/block.json +2 -1
- package/src/post-terms/edit.js +4 -5
- package/src/post-title/block.json +4 -1
- package/src/post-title/edit.js +4 -6
- package/src/post-title/index.php +1 -1
- package/src/pullquote/style.scss +1 -0
- package/src/query/edit/index.js +3 -3
- package/src/query/variations.js +4 -0
- package/src/query-pagination/block.json +16 -0
- package/src/query-pagination/deprecated.js +19 -0
- package/src/query-pagination/edit.js +58 -3
- package/src/query-pagination/editor.scss +3 -6
- package/src/query-pagination/index.js +2 -0
- package/src/query-pagination/index.php +24 -1
- package/src/query-pagination/query-pagination-arrow-controls.js +44 -0
- package/src/query-pagination/save.js +2 -6
- package/src/query-pagination/style.scss +22 -5
- package/src/query-pagination-next/block.json +1 -1
- package/src/query-pagination-next/edit.js +30 -8
- package/src/query-pagination-next/index.php +5 -1
- package/src/query-pagination-previous/block.json +1 -1
- package/src/query-pagination-previous/edit.js +30 -8
- package/src/query-pagination-previous/index.php +5 -1
- package/src/quote/style.scss +2 -0
- package/src/reset.scss +2 -1
- package/src/search/index.php +12 -15
- package/src/search/test/__snapshots__/edit.native.js.snap +7 -0
- package/src/site-logo/block.json +7 -2
- package/src/site-logo/edit.js +98 -30
- package/src/site-logo/index.php +31 -2
- package/src/site-tagline/block.json +1 -0
- package/src/site-title/block.json +9 -2
- package/src/site-title/edit/index.js +36 -9
- package/src/site-title/index.php +12 -2
- package/src/social-links/block.json +22 -1
- package/src/social-links/deprecated.js +99 -0
- package/src/social-links/edit.js +13 -24
- package/src/social-links/save.js +1 -7
- package/src/social-links/style.scss +0 -8
- package/src/style.scss +1 -5
- package/src/table/block.json +1 -1
- package/src/template-part/edit/advanced-controls.js +3 -3
- package/src/template-part/edit/index.js +0 -3
- package/src/template-part/index.php +1 -1
- package/src/theme.scss +0 -10
- package/src/video/edit-common-settings.js +2 -2
- package/src/video/edit.js +15 -5
- package/src/video/tracks-editor.js +2 -3
- package/build/embed/embed-controls.native.js +0 -32
- package/build/embed/embed-controls.native.js.map +0 -1
- package/build/embed/variations.native.js +0 -10
- package/build/embed/variations.native.js.map +0 -1
- package/build/gallery/gallery-button.native.js.map +0 -1
- package/build/gallery/gallery-image.js.map +0 -1
- package/build/gallery/gallery-image.native.js.map +0 -1
- package/build/gallery/tiles.native.js.map +0 -1
- package/build/image/image-editing/aspect-ratio-dropdown.js +0 -126
- package/build/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
- package/build/image/image-editing/constants.js +0 -16
- package/build/image/image-editing/constants.js.map +0 -1
- package/build/image/image-editing/context.js +0 -59
- package/build/image/image-editing/context.js.map +0 -1
- package/build/image/image-editing/cropper.js +0 -83
- package/build/image/image-editing/cropper.js.map +0 -1
- package/build/image/image-editing/form-controls.js +0 -36
- package/build/image/image-editing/form-controls.js.map +0 -1
- package/build/image/image-editing/index.js +0 -60
- package/build/image/image-editing/index.js.map +0 -1
- package/build/image/image-editing/rotation-button.js +0 -37
- package/build/image/image-editing/rotation-button.js.map +0 -1
- package/build/image/image-editing/use-save-image.js +0 -84
- package/build/image/image-editing/use-save-image.js.map +0 -1
- package/build/image/image-editing/use-transform-image.js +0 -135
- package/build/image/image-editing/use-transform-image.js.map +0 -1
- package/build/image/image-editing/zoom-dropdown.js +0 -55
- package/build/image/image-editing/zoom-dropdown.js.map +0 -1
- package/build-module/embed/embed-controls.native.js +0 -21
- package/build-module/embed/embed-controls.native.js.map +0 -1
- package/build-module/embed/variations.native.js +0 -3
- package/build-module/embed/variations.native.js.map +0 -1
- package/build-module/gallery/gallery-button.native.js.map +0 -1
- package/build-module/gallery/gallery-image.js.map +0 -1
- package/build-module/gallery/gallery-image.native.js.map +0 -1
- package/build-module/gallery/tiles.native.js.map +0 -1
- package/build-module/image/image-editing/aspect-ratio-dropdown.js +0 -115
- package/build-module/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
- package/build-module/image/image-editing/constants.js +0 -7
- package/build-module/image/image-editing/constants.js.map +0 -1
- package/build-module/image/image-editing/context.js +0 -44
- package/build-module/image/image-editing/context.js.map +0 -1
- package/build-module/image/image-editing/cropper.js +0 -69
- package/build-module/image/image-editing/cropper.js.map +0 -1
- package/build-module/image/image-editing/form-controls.js +0 -26
- package/build-module/image/image-editing/form-controls.js.map +0 -1
- package/build-module/image/image-editing/index.js +0 -37
- package/build-module/image/image-editing/index.js.map +0 -1
- package/build-module/image/image-editing/rotation-button.js +0 -26
- package/build-module/image/image-editing/rotation-button.js.map +0 -1
- package/build-module/image/image-editing/use-save-image.js +0 -70
- package/build-module/image/image-editing/use-save-image.js.map +0 -1
- package/build-module/image/image-editing/use-transform-image.js +0 -127
- package/build-module/image/image-editing/use-transform-image.js.map +0 -1
- package/build-module/image/image-editing/zoom-dropdown.js +0 -43
- package/build-module/image/image-editing/zoom-dropdown.js.map +0 -1
- package/src/embed/embed-controls.native.js +0 -23
- package/src/embed/variations.native.js +0 -3
- package/src/heading/editor.scss +0 -20
- package/src/image/image-editing/aspect-ratio-dropdown.js +0 -129
- package/src/image/image-editing/constants.js +0 -6
- package/src/image/image-editing/context.js +0 -56
- package/src/image/image-editing/cropper.js +0 -74
- package/src/image/image-editing/form-controls.js +0 -22
- package/src/image/image-editing/index.js +0 -52
- package/src/image/image-editing/rotation-button.js +0 -24
- package/src/image/image-editing/use-save-image.js +0 -97
- package/src/image/image-editing/use-transform-image.js +0 -162
- package/src/image/image-editing/zoom-dropdown.js +0 -40
- package/src/post-content/editor.scss +0 -11
|
@@ -6,21 +6,35 @@ import { createElement } from "@wordpress/element";
|
|
|
6
6
|
*/
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
8
|
import { useBlockProps, PlainText } from '@wordpress/block-editor';
|
|
9
|
+
const arrowMap = {
|
|
10
|
+
none: '',
|
|
11
|
+
arrow: '→',
|
|
12
|
+
chevron: '»'
|
|
13
|
+
};
|
|
9
14
|
export default function QueryPaginationNextEdit({
|
|
10
15
|
attributes: {
|
|
11
16
|
label
|
|
12
17
|
},
|
|
13
|
-
setAttributes
|
|
18
|
+
setAttributes,
|
|
19
|
+
context: {
|
|
20
|
+
paginationArrow
|
|
21
|
+
}
|
|
14
22
|
}) {
|
|
15
|
-
|
|
23
|
+
const displayArrow = arrowMap[paginationArrow];
|
|
24
|
+
return createElement("a", _extends({
|
|
25
|
+
href: "#pagination-next-pseudo-link",
|
|
26
|
+
onClick: event => event.preventDefault()
|
|
27
|
+
}, useBlockProps()), createElement(PlainText, {
|
|
16
28
|
__experimentalVersion: 2,
|
|
17
|
-
tagName: "
|
|
29
|
+
tagName: "span",
|
|
18
30
|
"aria-label": __('Next page link'),
|
|
19
31
|
placeholder: __('Next Page'),
|
|
20
32
|
value: label,
|
|
21
33
|
onChange: newLabel => setAttributes({
|
|
22
34
|
label: newLabel
|
|
23
35
|
})
|
|
24
|
-
},
|
|
36
|
+
}), displayArrow && createElement("span", {
|
|
37
|
+
className: `wp-block-query-pagination-next-arrow is-arrow-${paginationArrow}`
|
|
38
|
+
}, displayArrow));
|
|
25
39
|
}
|
|
26
40
|
//# sourceMappingURL=edit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query-pagination-next/edit.js"],"names":["__","useBlockProps","PlainText","QueryPaginationNextEdit","attributes","label","setAttributes","newLabel"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,yBAAzC;AAEA,eAAe,SAASC,uBAAT,CAAkC;AAChDC,EAAAA,UAAU,EAAE;AAAEC,IAAAA;AAAF,GADoC;AAEhDC,EAAAA;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query-pagination-next/edit.js"],"names":["__","useBlockProps","PlainText","arrowMap","none","arrow","chevron","QueryPaginationNextEdit","attributes","label","setAttributes","context","paginationArrow","displayArrow","event","preventDefault","newLabel"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,yBAAzC;AAEA,MAAMC,QAAQ,GAAG;AAChBC,EAAAA,IAAI,EAAE,EADU;AAEhBC,EAAAA,KAAK,EAAE,GAFS;AAGhBC,EAAAA,OAAO,EAAE;AAHO,CAAjB;AAMA,eAAe,SAASC,uBAAT,CAAkC;AAChDC,EAAAA,UAAU,EAAE;AAAEC,IAAAA;AAAF,GADoC;AAEhDC,EAAAA,aAFgD;AAGhDC,EAAAA,OAAO,EAAE;AAAEC,IAAAA;AAAF;AAHuC,CAAlC,EAIX;AACH,QAAMC,YAAY,GAAGV,QAAQ,CAAES,eAAF,CAA7B;AACA,SACC;AACC,IAAA,IAAI,EAAC,8BADN;AAEC,IAAA,OAAO,EAAKE,KAAF,IAAaA,KAAK,CAACC,cAAN;AAFxB,KAGMd,aAAa,EAHnB,GAKC,cAAC,SAAD;AACC,IAAA,qBAAqB,EAAG,CADzB;AAEC,IAAA,OAAO,EAAC,MAFT;AAGC,kBAAaD,EAAE,CAAE,gBAAF,CAHhB;AAIC,IAAA,WAAW,EAAGA,EAAE,CAAE,WAAF,CAJjB;AAKC,IAAA,KAAK,EAAGS,KALT;AAMC,IAAA,QAAQ,EAAKO,QAAF,IACVN,aAAa,CAAE;AAAED,MAAAA,KAAK,EAAEO;AAAT,KAAF;AAPf,IALD,EAeGH,YAAY,IACb;AACC,IAAA,SAAS,EAAI,iDAAiDD,eAAiB;AADhF,KAGGC,YAHH,CAhBF,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useBlockProps, PlainText } from '@wordpress/block-editor';\n\nconst arrowMap = {\n\tnone: '',\n\tarrow: '→',\n\tchevron: '»',\n};\n\nexport default function QueryPaginationNextEdit( {\n\tattributes: { label },\n\tsetAttributes,\n\tcontext: { paginationArrow },\n} ) {\n\tconst displayArrow = arrowMap[ paginationArrow ];\n\treturn (\n\t\t<a\n\t\t\thref=\"#pagination-next-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t{ ...useBlockProps() }\n\t\t>\n\t\t\t<PlainText\n\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\ttagName=\"span\"\n\t\t\t\taria-label={ __( 'Next page link' ) }\n\t\t\t\tplaceholder={ __( 'Next Page' ) }\n\t\t\t\tvalue={ label }\n\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ displayArrow && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={ `wp-block-query-pagination-next-arrow is-arrow-${ paginationArrow }` }\n\t\t\t\t>\n\t\t\t\t\t{ displayArrow }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</a>\n\t);\n}\n"]}
|
|
@@ -6,21 +6,35 @@ import { createElement } from "@wordpress/element";
|
|
|
6
6
|
*/
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
8
|
import { useBlockProps, PlainText } from '@wordpress/block-editor';
|
|
9
|
+
const arrowMap = {
|
|
10
|
+
none: '',
|
|
11
|
+
arrow: '←',
|
|
12
|
+
chevron: '«'
|
|
13
|
+
};
|
|
9
14
|
export default function QueryPaginationPreviousEdit({
|
|
10
15
|
attributes: {
|
|
11
16
|
label
|
|
12
17
|
},
|
|
13
|
-
setAttributes
|
|
18
|
+
setAttributes,
|
|
19
|
+
context: {
|
|
20
|
+
paginationArrow
|
|
21
|
+
}
|
|
14
22
|
}) {
|
|
15
|
-
|
|
23
|
+
const displayArrow = arrowMap[paginationArrow];
|
|
24
|
+
return createElement("a", _extends({
|
|
25
|
+
href: "#pagination-previous-pseudo-link",
|
|
26
|
+
onClick: event => event.preventDefault()
|
|
27
|
+
}, useBlockProps()), displayArrow && createElement("span", {
|
|
28
|
+
className: `wp-block-query-pagination-previous-arrow is-arrow-${paginationArrow}`
|
|
29
|
+
}, displayArrow), createElement(PlainText, {
|
|
16
30
|
__experimentalVersion: 2,
|
|
17
|
-
tagName: "
|
|
31
|
+
tagName: "span",
|
|
18
32
|
"aria-label": __('Previous page link'),
|
|
19
33
|
placeholder: __('Previous Page'),
|
|
20
34
|
value: label,
|
|
21
35
|
onChange: newLabel => setAttributes({
|
|
22
36
|
label: newLabel
|
|
23
37
|
})
|
|
24
|
-
}
|
|
38
|
+
}));
|
|
25
39
|
}
|
|
26
40
|
//# sourceMappingURL=edit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query-pagination-previous/edit.js"],"names":["__","useBlockProps","PlainText","QueryPaginationPreviousEdit","attributes","label","setAttributes","newLabel"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,yBAAzC;AAEA,eAAe,SAASC,2BAAT,CAAsC;AACpDC,EAAAA,UAAU,EAAE;AAAEC,IAAAA;AAAF,GADwC;AAEpDC,EAAAA;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query-pagination-previous/edit.js"],"names":["__","useBlockProps","PlainText","arrowMap","none","arrow","chevron","QueryPaginationPreviousEdit","attributes","label","setAttributes","context","paginationArrow","displayArrow","event","preventDefault","newLabel"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,yBAAzC;AAEA,MAAMC,QAAQ,GAAG;AAChBC,EAAAA,IAAI,EAAE,EADU;AAEhBC,EAAAA,KAAK,EAAE,GAFS;AAGhBC,EAAAA,OAAO,EAAE;AAHO,CAAjB;AAMA,eAAe,SAASC,2BAAT,CAAsC;AACpDC,EAAAA,UAAU,EAAE;AAAEC,IAAAA;AAAF,GADwC;AAEpDC,EAAAA,aAFoD;AAGpDC,EAAAA,OAAO,EAAE;AAAEC,IAAAA;AAAF;AAH2C,CAAtC,EAIX;AACH,QAAMC,YAAY,GAAGV,QAAQ,CAAES,eAAF,CAA7B;AACA,SACC;AACC,IAAA,IAAI,EAAC,kCADN;AAEC,IAAA,OAAO,EAAKE,KAAF,IAAaA,KAAK,CAACC,cAAN;AAFxB,KAGMd,aAAa,EAHnB,GAKGY,YAAY,IACb;AACC,IAAA,SAAS,EAAI,qDAAqDD,eAAiB;AADpF,KAGGC,YAHH,CANF,EAYC,cAAC,SAAD;AACC,IAAA,qBAAqB,EAAG,CADzB;AAEC,IAAA,OAAO,EAAC,MAFT;AAGC,kBAAab,EAAE,CAAE,oBAAF,CAHhB;AAIC,IAAA,WAAW,EAAGA,EAAE,CAAE,eAAF,CAJjB;AAKC,IAAA,KAAK,EAAGS,KALT;AAMC,IAAA,QAAQ,EAAKO,QAAF,IACVN,aAAa,CAAE;AAAED,MAAAA,KAAK,EAAEO;AAAT,KAAF;AAPf,IAZD,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useBlockProps, PlainText } from '@wordpress/block-editor';\n\nconst arrowMap = {\n\tnone: '',\n\tarrow: '←',\n\tchevron: '«',\n};\n\nexport default function QueryPaginationPreviousEdit( {\n\tattributes: { label },\n\tsetAttributes,\n\tcontext: { paginationArrow },\n} ) {\n\tconst displayArrow = arrowMap[ paginationArrow ];\n\treturn (\n\t\t<a\n\t\t\thref=\"#pagination-previous-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t{ ...useBlockProps() }\n\t\t>\n\t\t\t{ displayArrow && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={ `wp-block-query-pagination-previous-arrow is-arrow-${ paginationArrow }` }\n\t\t\t\t>\n\t\t\t\t\t{ displayArrow }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t\t<PlainText\n\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\ttagName=\"span\"\n\t\t\t\taria-label={ __( 'Previous page link' ) }\n\t\t\t\tplaceholder={ __( 'Previous Page' ) }\n\t\t\t\tvalue={ label }\n\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</a>\n\t);\n}\n"]}
|
|
@@ -10,14 +10,14 @@ import { includes, pick } from 'lodash';
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import { isBlobURL } from '@wordpress/blob';
|
|
13
|
-
import { useState, useRef } from '@wordpress/element';
|
|
13
|
+
import { useEffect, useState, useRef } from '@wordpress/element';
|
|
14
14
|
import { __, isRTL } from '@wordpress/i18n';
|
|
15
|
-
import { Notice, PanelBody, RangeControl, ResizableBox, Spinner, ToggleControl, Placeholder } from '@wordpress/components';
|
|
15
|
+
import { Notice, PanelBody, RangeControl, ResizableBox, Spinner, ToggleControl, ToolbarButton, ToolbarGroup, Placeholder } from '@wordpress/components';
|
|
16
16
|
import { useViewportMatch } from '@wordpress/compose';
|
|
17
|
-
import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
|
|
17
|
+
import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, store as blockEditorStore, __experimentalImageEditor as ImageEditor, __experimentalImageEditingProvider as ImageEditingProvider } from '@wordpress/block-editor';
|
|
18
18
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
19
19
|
import { store as coreStore } from '@wordpress/core-data';
|
|
20
|
-
import { siteLogo as icon } from '@wordpress/icons';
|
|
20
|
+
import { crop, siteLogo as icon } from '@wordpress/icons';
|
|
21
21
|
/**
|
|
22
22
|
* Internal dependencies
|
|
23
23
|
*/
|
|
@@ -43,8 +43,10 @@ const SiteLogo = ({
|
|
|
43
43
|
containerRef,
|
|
44
44
|
isSelected,
|
|
45
45
|
setAttributes,
|
|
46
|
+
setLogo,
|
|
46
47
|
logoUrl,
|
|
47
|
-
siteUrl
|
|
48
|
+
siteUrl,
|
|
49
|
+
logoId
|
|
48
50
|
}) => {
|
|
49
51
|
const clientWidth = useClientWidth(containerRef, [align]);
|
|
50
52
|
const isLargeViewport = useViewportMatch('medium');
|
|
@@ -54,6 +56,7 @@ const SiteLogo = ({
|
|
|
54
56
|
naturalWidth,
|
|
55
57
|
naturalHeight
|
|
56
58
|
}, setNaturalSize] = useState({});
|
|
59
|
+
const [isEditingImage, setIsEditingImage] = useState(false);
|
|
57
60
|
const {
|
|
58
61
|
toggleSelection
|
|
59
62
|
} = useDispatch(blockEditorStore);
|
|
@@ -61,6 +64,7 @@ const SiteLogo = ({
|
|
|
61
64
|
'is-transient': isBlobURL(logoUrl)
|
|
62
65
|
});
|
|
63
66
|
const {
|
|
67
|
+
imageEditing,
|
|
64
68
|
maxWidth,
|
|
65
69
|
title
|
|
66
70
|
} = useSelect(select => {
|
|
@@ -70,9 +74,14 @@ const SiteLogo = ({
|
|
|
70
74
|
const siteEntities = select(coreStore).getEditedEntityRecord('root', 'site');
|
|
71
75
|
return {
|
|
72
76
|
title: siteEntities.title,
|
|
73
|
-
...pick(getSettings(), ['
|
|
77
|
+
...pick(getSettings(), ['imageEditing', 'maxWidth'])
|
|
74
78
|
};
|
|
75
79
|
}, []);
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
if (!isSelected) {
|
|
82
|
+
setIsEditingImage(false);
|
|
83
|
+
}
|
|
84
|
+
}, [isSelected]);
|
|
76
85
|
|
|
77
86
|
function onResizeStart() {
|
|
78
87
|
toggleSelection(false);
|
|
@@ -171,6 +180,51 @@ const SiteLogo = ({
|
|
|
171
180
|
/* eslint-enable no-lonely-if */
|
|
172
181
|
|
|
173
182
|
|
|
183
|
+
const canEditImage = logoId && naturalWidth && naturalHeight && imageEditing;
|
|
184
|
+
const imgEdit = canEditImage && isEditingImage ? createElement(ImageEditingProvider, {
|
|
185
|
+
id: logoId,
|
|
186
|
+
url: logoUrl,
|
|
187
|
+
naturalWidth: naturalWidth,
|
|
188
|
+
naturalHeight: naturalHeight,
|
|
189
|
+
clientWidth: clientWidth,
|
|
190
|
+
onSaveImage: imageAttributes => {
|
|
191
|
+
setLogo(imageAttributes.id);
|
|
192
|
+
},
|
|
193
|
+
isEditing: isEditingImage,
|
|
194
|
+
onFinishEditing: () => setIsEditingImage(false)
|
|
195
|
+
}, createElement(ImageEditor, {
|
|
196
|
+
url: logoUrl,
|
|
197
|
+
width: currentWidth,
|
|
198
|
+
height: currentHeight,
|
|
199
|
+
clientWidth: clientWidth,
|
|
200
|
+
naturalHeight: naturalHeight,
|
|
201
|
+
naturalWidth: naturalWidth
|
|
202
|
+
})) : createElement(ResizableBox, {
|
|
203
|
+
size: {
|
|
204
|
+
width: currentWidth,
|
|
205
|
+
height: currentHeight
|
|
206
|
+
},
|
|
207
|
+
showHandle: isSelected,
|
|
208
|
+
minWidth: minWidth,
|
|
209
|
+
maxWidth: maxWidthBuffer,
|
|
210
|
+
minHeight: minHeight,
|
|
211
|
+
maxHeight: maxWidthBuffer / ratio,
|
|
212
|
+
lockAspectRatio: true,
|
|
213
|
+
enable: {
|
|
214
|
+
top: false,
|
|
215
|
+
right: showRightHandle,
|
|
216
|
+
bottom: true,
|
|
217
|
+
left: showLeftHandle
|
|
218
|
+
},
|
|
219
|
+
onResizeStart: onResizeStart,
|
|
220
|
+
onResizeStop: (event, direction, elt, delta) => {
|
|
221
|
+
onResizeStop();
|
|
222
|
+
setAttributes({
|
|
223
|
+
width: parseInt(currentWidth + delta.width, 10),
|
|
224
|
+
height: parseInt(currentHeight + delta.height, 10)
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}, imgWrapper);
|
|
174
228
|
return createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
|
|
175
229
|
title: __('Settings')
|
|
176
230
|
}, createElement(RangeControl, {
|
|
@@ -195,32 +249,13 @@ const SiteLogo = ({
|
|
|
195
249
|
linkTarget: value ? '_blank' : '_self'
|
|
196
250
|
}),
|
|
197
251
|
checked: linkTarget === '_blank'
|
|
198
|
-
})))), createElement(
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
maxWidth: maxWidthBuffer,
|
|
206
|
-
minHeight: minHeight,
|
|
207
|
-
maxHeight: maxWidthBuffer / ratio,
|
|
208
|
-
lockAspectRatio: true,
|
|
209
|
-
enable: {
|
|
210
|
-
top: false,
|
|
211
|
-
right: showRightHandle,
|
|
212
|
-
bottom: true,
|
|
213
|
-
left: showLeftHandle
|
|
214
|
-
},
|
|
215
|
-
onResizeStart: onResizeStart,
|
|
216
|
-
onResizeStop: (event, direction, elt, delta) => {
|
|
217
|
-
onResizeStop();
|
|
218
|
-
setAttributes({
|
|
219
|
-
width: parseInt(currentWidth + delta.width, 10),
|
|
220
|
-
height: parseInt(currentHeight + delta.height, 10)
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
}, imgWrapper));
|
|
252
|
+
})))), createElement(BlockControls, {
|
|
253
|
+
group: "block"
|
|
254
|
+
}, canEditImage && !isEditingImage && createElement(ToolbarButton, {
|
|
255
|
+
onClick: () => setIsEditingImage(true),
|
|
256
|
+
icon: crop,
|
|
257
|
+
label: __('Crop')
|
|
258
|
+
})), imgEdit);
|
|
224
259
|
};
|
|
225
260
|
|
|
226
261
|
export default function LogoEdit({
|
|
@@ -256,7 +291,7 @@ export default function LogoEdit({
|
|
|
256
291
|
|
|
257
292
|
const _canUserEdit = canUser('update', 'settings');
|
|
258
293
|
|
|
259
|
-
const _siteLogoId = _siteLogo
|
|
294
|
+
const _siteLogoId = _canUserEdit ? _siteLogo : _readOnlyLogo;
|
|
260
295
|
|
|
261
296
|
const mediaItem = _siteLogoId && select(coreStore).getMedia(_siteLogoId, {
|
|
262
297
|
context: 'view'
|
|
@@ -271,6 +306,7 @@ export default function LogoEdit({
|
|
|
271
306
|
canUserEdit: _canUserEdit,
|
|
272
307
|
url: siteData === null || siteData === void 0 ? void 0 : siteData.url,
|
|
273
308
|
mediaItemData: mediaItem && {
|
|
309
|
+
id: mediaItem.id,
|
|
274
310
|
url: mediaItem.source_url,
|
|
275
311
|
alt: mediaItem.alt_text
|
|
276
312
|
},
|
|
@@ -311,6 +347,11 @@ export default function LogoEdit({
|
|
|
311
347
|
setLogo(media.id);
|
|
312
348
|
};
|
|
313
349
|
|
|
350
|
+
const onRemoveLogo = () => {
|
|
351
|
+
setLogo(null);
|
|
352
|
+
setLogoUrl(undefined);
|
|
353
|
+
};
|
|
354
|
+
|
|
314
355
|
const onUploadError = message => {
|
|
315
356
|
setError(message[2] ? message[2] : null);
|
|
316
357
|
};
|
|
@@ -323,7 +364,9 @@ export default function LogoEdit({
|
|
|
323
364
|
accept: ACCEPT_MEDIA_STRING,
|
|
324
365
|
onSelect: onSelectLogo,
|
|
325
366
|
onError: onUploadError
|
|
326
|
-
})
|
|
367
|
+
}), createElement(ToolbarGroup, null, createElement(ToolbarButton, {
|
|
368
|
+
onClick: onRemoveLogo
|
|
369
|
+
}, __('Reset'))));
|
|
327
370
|
|
|
328
371
|
const label = __('Site Logo');
|
|
329
372
|
|
|
@@ -343,6 +386,8 @@ export default function LogoEdit({
|
|
|
343
386
|
isSelected: isSelected,
|
|
344
387
|
setAttributes: setAttributes,
|
|
345
388
|
logoUrl: logoUrl,
|
|
389
|
+
setLogo: setLogo,
|
|
390
|
+
logoId: (mediaItemData === null || mediaItemData === void 0 ? void 0 : mediaItemData.id) || siteLogoId,
|
|
346
391
|
siteUrl: url
|
|
347
392
|
});
|
|
348
393
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["classnames","includes","pick","isBlobURL","useState","useRef","__","isRTL","Notice","PanelBody","RangeControl","ResizableBox","Spinner","ToggleControl","Placeholder","useViewportMatch","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","useSelect","useDispatch","coreStore","siteLogo","icon","useClientWidth","MIN_SIZE","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","containerRef","isSelected","setAttributes","logoUrl","siteUrl","clientWidth","isLargeViewport","isWideAligned","isResizable","naturalWidth","naturalHeight","setNaturalSize","toggleSelection","classes","maxWidth","title","select","getSettings","siteEntities","getEditedEntityRecord","onResizeStart","onResizeStop","img","event","target","imgWrapper","preventDefault","imageWidthWithinContainer","exceedMaxWidth","currentWidth","ratio","currentHeight","minWidth","minHeight","maxWidthBuffer","defaultWidth","showRightHandle","showLeftHandle","newWidth","Math","min","value","top","right","bottom","left","direction","elt","delta","parseInt","LogoEdit","className","setLogoUrl","error","setError","ref","siteLogoId","canUserEdit","url","mediaItemData","isRequestingMediaItem","canUser","getEntityRecord","siteSettings","siteData","_siteLogo","site_logo","_readOnlyLogo","_canUserEdit","_siteLogoId","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","source_url","alt_text","editEntityRecord","setLogo","newValue","undefined","onSelectLogo","media","id","onUploadError","message","controls","label","logoImage","isLoading","blockProps","instructions"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { includes, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tPlaceholder,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { siteLogo as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tlogoUrl,\n\tsiteUrl,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = includes( [ 'wide', 'full' ], align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\n\tconst { maxWidth, title } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst siteEntities = select( coreStore ).getEditedEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities.title,\n\t\t\t...pick( getSettings(), [ 'imageSizes', 'maxWidth' ] ),\n\t\t};\n\t}, [] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize(\n\t\t\t\t\tpick( event.target, [ 'naturalWidth', 'naturalHeight' ] )\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName={ classes }\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\tconst currentWidth = width || imageWidthWithinContainer;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth = naturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached CSS file.\n\tconst defaultWidth = 120;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ { width, height } }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t</>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width } = attributes;\n\tconst [ logoUrl, setLogoUrl ] = useState();\n\tconst [ error, setError ] = useState();\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } = select(\n\t\t\tcoreStore\n\t\t);\n\t\tconst siteSettings = getEditedEntityRecord( 'root', 'site' );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogo = siteSettings?.site_logo;\n\t\tconst _readOnlyLogo = siteData?.site_logo;\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\n\t\tconst _siteLogoId = _siteLogo || _readOnlyLogo;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.url,\n\t\t\tmediaItemData: mediaItem && {\n\t\t\t\turl: mediaItem.source_url,\n\t\t\t\talt: mediaItem.alt_text,\n\t\t\t},\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t};\n\t}, [] );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst setLogo = ( newValue ) =>\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\n\tlet alt = null;\n\tif ( mediaItemData ) {\n\t\talt = mediaItemData.alt;\n\t\tif ( logoUrl !== mediaItemData.url ) {\n\t\t\tsetLogoUrl( mediaItemData.url );\n\t\t}\n\t}\n\tconst onSelectLogo = ( media ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image\n\t\t\tsetLogo( undefined );\n\t\t\tsetError( null );\n\t\t\tsetLogoUrl( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tsetError( message[ 2 ] ? message[ 2 ] : null );\n\t};\n\n\tconst controls = canUserEdit && logoUrl && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaURL={ logoUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\tonError={ onUploadError }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst label = __( 'Site Logo' );\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsiteUrl={ url }\n\t\t\t/>\n\t\t);\n\t}\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ !! logoUrl && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tclassName=\"site-logo_placeholder\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: label,\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload an image, or pick one from your media library, to be your site logo'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tmediaPreview={ logoImage }\n\t\t\t\t\tnotices={\n\t\t\t\t\t\terror && (\n\t\t\t\t\t\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ error }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["classnames","includes","pick","isBlobURL","useEffect","useState","useRef","__","isRTL","Notice","PanelBody","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","ToolbarGroup","Placeholder","useViewportMatch","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","__experimentalImageEditingProvider","ImageEditingProvider","useSelect","useDispatch","coreStore","crop","siteLogo","icon","useClientWidth","MIN_SIZE","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","clientWidth","isLargeViewport","isWideAligned","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","classes","imageEditing","maxWidth","title","select","getSettings","siteEntities","getEditedEntityRecord","onResizeStart","onResizeStop","img","event","target","imgWrapper","preventDefault","imageWidthWithinContainer","exceedMaxWidth","currentWidth","ratio","currentHeight","minWidth","minHeight","maxWidthBuffer","defaultWidth","showRightHandle","showLeftHandle","canEditImage","imgEdit","imageAttributes","id","top","right","bottom","left","direction","elt","delta","parseInt","newWidth","Math","min","value","LogoEdit","className","setLogoUrl","error","setError","ref","siteLogoId","canUserEdit","url","mediaItemData","isRequestingMediaItem","canUser","getEntityRecord","siteSettings","siteData","_siteLogo","site_logo","_readOnlyLogo","_canUserEdit","_siteLogoId","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","source_url","alt_text","editEntityRecord","newValue","undefined","onSelectLogo","media","onRemoveLogo","onUploadError","message","controls","label","logoImage","isLoading","blockProps","instructions"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { includes, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n\tPlaceholder,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalImageEditingProvider as ImageEditingProvider,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, siteLogo as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = includes( [ 'wide', 'full' ], align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst siteEntities = select( coreStore ).getEditedEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities.title,\n\t\t\t...pick( getSettings(), [ 'imageEditing', 'maxWidth' ] ),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize(\n\t\t\t\t\tpick( event.target, [ 'naturalWidth', 'naturalHeight' ] )\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName={ classes }\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\tconst currentWidth = width || imageWidthWithinContainer;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth = naturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached CSS file.\n\tconst defaultWidth = 120;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditingProvider\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tisEditing={ isEditingImage }\n\t\t\t\tonFinishEditing={ () => setIsEditingImage( false ) }\n\t\t\t>\n\t\t\t\t<ImageEditor\n\t\t\t\t\turl={ logoUrl }\n\t\t\t\t\twidth={ currentWidth }\n\t\t\t\t\theight={ currentHeight }\n\t\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t/>\n\t\t\t</ImageEditingProvider>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width } = attributes;\n\tconst [ logoUrl, setLogoUrl ] = useState();\n\tconst [ error, setError ] = useState();\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } = select(\n\t\t\tcoreStore\n\t\t);\n\t\tconst siteSettings = getEditedEntityRecord( 'root', 'site' );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogo = siteSettings?.site_logo;\n\t\tconst _readOnlyLogo = siteData?.site_logo;\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\n\t\tconst _siteLogoId = _canUserEdit ? _siteLogo : _readOnlyLogo;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.url,\n\t\t\tmediaItemData: mediaItem && {\n\t\t\t\tid: mediaItem.id,\n\t\t\t\turl: mediaItem.source_url,\n\t\t\t\talt: mediaItem.alt_text,\n\t\t\t},\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t};\n\t}, [] );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst setLogo = ( newValue ) =>\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\n\tlet alt = null;\n\tif ( mediaItemData ) {\n\t\talt = mediaItemData.alt;\n\t\tif ( logoUrl !== mediaItemData.url ) {\n\t\t\tsetLogoUrl( mediaItemData.url );\n\t\t}\n\t}\n\tconst onSelectLogo = ( media ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image\n\t\t\tsetLogo( undefined );\n\t\t\tsetError( null );\n\t\t\tsetLogoUrl( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetLogoUrl( undefined );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tsetError( message[ 2 ] ? message[ 2 ] : null );\n\t};\n\n\tconst controls = canUserEdit && logoUrl && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaURL={ logoUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\tonError={ onUploadError }\n\t\t\t/>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton onClick={ onRemoveLogo }>\n\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\tconst label = __( 'Site Logo' );\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsetLogo={ setLogo }\n\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\tsiteUrl={ url }\n\t\t\t/>\n\t\t);\n\t}\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ !! logoUrl && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tclassName=\"site-logo_placeholder\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: label,\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload an image, or pick one from your media library, to be your site logo'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tmediaPreview={ logoImage }\n\t\t\t\t\tnotices={\n\t\t\t\t\t\terror && (\n\t\t\t\t\t\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ error }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -11,7 +11,7 @@ const metadata = {
|
|
|
11
11
|
name: "core/site-logo",
|
|
12
12
|
title: "Site Logo",
|
|
13
13
|
category: "layout",
|
|
14
|
-
description: "
|
|
14
|
+
description: "Display a graphic to represent this site. Update the block, and the changes apply everywhere it\u2019s used. This is different than the site icon, which is the smaller image visible in your dashboard, browser tabs, etc used to help others recognize this site.",
|
|
15
15
|
textdomain: "default",
|
|
16
16
|
attributes: {
|
|
17
17
|
align: {
|
|
@@ -32,7 +32,12 @@ const metadata = {
|
|
|
32
32
|
supports: {
|
|
33
33
|
html: false,
|
|
34
34
|
align: true,
|
|
35
|
-
alignWide: false
|
|
35
|
+
alignWide: false,
|
|
36
|
+
color: {
|
|
37
|
+
__experimentalDuotone: "img",
|
|
38
|
+
text: false,
|
|
39
|
+
background: false
|
|
40
|
+
}
|
|
36
41
|
},
|
|
37
42
|
styles: [{
|
|
38
43
|
name: "default",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/site-logo/index.js"],"names":["siteLogo","icon","edit","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAArB,QAAiC,kBAAjC;AAEA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/site-logo/index.js"],"names":["siteLogo","icon","edit","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAArB,QAAiC,kBAAjC;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBJ,EAAAA,IADuB;AAEvBC,EAAAA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { siteLogo as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/site-tagline/index.js"],"names":["edit","icon","name","metadata","settings"],"mappings":"AAAA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/site-tagline/index.js"],"names":["edit","icon","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOA,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBH,EAAAA,IADuB;AAEvBD,EAAAA;AAFuB,CAAjB","sourcesContent":["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport icon from './icon';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
|
|
@@ -11,7 +11,8 @@ import classnames from 'classnames';
|
|
|
11
11
|
import { useSelect } from '@wordpress/data';
|
|
12
12
|
import { useEntityProp, store as coreStore } from '@wordpress/core-data';
|
|
13
13
|
import { __ } from '@wordpress/i18n';
|
|
14
|
-
import { RichText, AlignmentControl, BlockControls, useBlockProps } from '@wordpress/block-editor';
|
|
14
|
+
import { RichText, AlignmentControl, InspectorControls, BlockControls, useBlockProps } from '@wordpress/block-editor';
|
|
15
|
+
import { ToggleControl, PanelBody } from '@wordpress/components';
|
|
15
16
|
import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
|
|
16
17
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
17
18
|
/**
|
|
@@ -26,7 +27,9 @@ export default function SiteTitleEdit({
|
|
|
26
27
|
}) {
|
|
27
28
|
const {
|
|
28
29
|
level,
|
|
29
|
-
textAlign
|
|
30
|
+
textAlign,
|
|
31
|
+
isLink,
|
|
32
|
+
linkTarget
|
|
30
33
|
} = attributes;
|
|
31
34
|
const [title, setTitle] = useEntityProp('root', 'site', 'title');
|
|
32
35
|
const {
|
|
@@ -51,18 +54,19 @@ export default function SiteTitleEdit({
|
|
|
51
54
|
})
|
|
52
55
|
});
|
|
53
56
|
const siteTitleContent = canUserEdit ? createElement(TagName, blockProps, createElement(RichText, {
|
|
54
|
-
tagName:
|
|
57
|
+
tagName: isLink ? 'a' : 'span',
|
|
58
|
+
href: isLink ? '#site-title-pseudo-link' : undefined,
|
|
55
59
|
"aria-label": __('Site title text'),
|
|
56
60
|
placeholder: __('Write site title…'),
|
|
57
|
-
value: title
|
|
61
|
+
value: title,
|
|
58
62
|
onChange: setTitle,
|
|
59
63
|
allowedFormats: [],
|
|
60
64
|
disableLineBreaks: true,
|
|
61
65
|
__unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName()))
|
|
62
|
-
})) : createElement(TagName, blockProps, createElement("a", {
|
|
66
|
+
})) : createElement(TagName, blockProps, isLink ? createElement("a", {
|
|
63
67
|
href: "#site-title-pseudo-link",
|
|
64
68
|
onClick: event => event.preventDefault()
|
|
65
|
-
}, readOnlyTitle || __('Site Title placeholder')));
|
|
69
|
+
}, readOnlyTitle || __('Site Title placeholder')) : createElement("span", null, title || readOnlyTitle));
|
|
66
70
|
return createElement(Fragment, null, createElement(BlockControls, {
|
|
67
71
|
group: "block"
|
|
68
72
|
}, createElement(LevelControl, {
|
|
@@ -77,6 +81,20 @@ export default function SiteTitleEdit({
|
|
|
77
81
|
textAlign: nextAlign
|
|
78
82
|
});
|
|
79
83
|
}
|
|
80
|
-
})),
|
|
84
|
+
})), createElement(InspectorControls, null, createElement(PanelBody, {
|
|
85
|
+
title: __('Link settings')
|
|
86
|
+
}, createElement(ToggleControl, {
|
|
87
|
+
label: __('Make title link to home'),
|
|
88
|
+
onChange: () => setAttributes({
|
|
89
|
+
isLink: !isLink
|
|
90
|
+
}),
|
|
91
|
+
checked: isLink
|
|
92
|
+
}), isLink && createElement(ToggleControl, {
|
|
93
|
+
label: __('Open in new tab'),
|
|
94
|
+
onChange: value => setAttributes({
|
|
95
|
+
linkTarget: value ? '_blank' : '_self'
|
|
96
|
+
}),
|
|
97
|
+
checked: linkTarget === '_blank'
|
|
98
|
+
}))), siteTitleContent);
|
|
81
99
|
}
|
|
82
100
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/site-title/edit/index.js"],"names":["classnames","useSelect","useEntityProp","store","coreStore","__","RichText","AlignmentControl","BlockControls","useBlockProps","createBlock","getDefaultBlockName","decodeEntities","LevelControl","SiteTitleEdit","attributes","setAttributes","insertBlocksAfter","level","textAlign","title","setTitle","canUserEdit","readOnlyTitle","select","canUser","getEntityRecord","siteData","name","TagName","blockProps","className","siteTitleContent","event","preventDefault","newLevel","nextAlign"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,aAAT,EAAwBC,KAAK,IAAIC,SAAjC,QAAkD,sBAAlD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,QADD,EAECC,gBAFD,EAGCC,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/site-title/edit/index.js"],"names":["classnames","useSelect","useEntityProp","store","coreStore","__","RichText","AlignmentControl","InspectorControls","BlockControls","useBlockProps","ToggleControl","PanelBody","createBlock","getDefaultBlockName","decodeEntities","LevelControl","SiteTitleEdit","attributes","setAttributes","insertBlocksAfter","level","textAlign","isLink","linkTarget","title","setTitle","canUserEdit","readOnlyTitle","select","canUser","getEntityRecord","siteData","name","TagName","blockProps","className","siteTitleContent","undefined","event","preventDefault","newLevel","nextAlign","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tAlignmentControl,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport LevelControl from './level-toolbar';\n\nexport default function SiteTitleEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { level, textAlign, isLink, linkTarget } = attributes;\n\tconst [ title, setTitle ] = useEntityProp( 'root', 'site', 'title' );\n\tconst { canUserEdit, readOnlyTitle } = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord } = select( coreStore );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\treturn {\n\t\t\tcanUserEdit: canUser( 'update', 'settings' ),\n\t\t\treadOnlyTitle: decodeEntities( siteData?.name ),\n\t\t};\n\t}, [] );\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-site-title__placeholder':\n\t\t\t\t! canUserEdit && ! readOnlyTitle,\n\t\t} ),\n\t} );\n\tconst siteTitleContent = canUserEdit ? (\n\t\t<TagName { ...blockProps }>\n\t\t\t<RichText\n\t\t\t\ttagName={ isLink ? 'a' : 'span' }\n\t\t\t\thref={ isLink ? '#site-title-pseudo-link' : undefined }\n\t\t\t\taria-label={ __( 'Site title text' ) }\n\t\t\t\tplaceholder={ __( 'Write site title…' ) }\n\t\t\t\tvalue={ title }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\tallowedFormats={ [] }\n\t\t\t\tdisableLineBreaks\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t/>\n\t\t</TagName>\n\t) : (\n\t\t<TagName { ...blockProps }>\n\t\t\t{ isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#site-title-pseudo-link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t{ readOnlyTitle || __( 'Site Title placeholder' ) }\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<span>{ title || readOnlyTitle }</span>\n\t\t\t) }\n\t\t</TagName>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<LevelControl\n\t\t\t\t\tlevel={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ siteTitleContent }\n\t\t</>\n\t);\n}\n"]}
|