@wordpress/block-library 8.12.0 → 8.12.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/build/archives/edit.js +2 -1
- package/build/archives/edit.js.map +1 -1
- package/build/archives/index.js +0 -1
- package/build/archives/index.js.map +1 -1
- package/build/audio/edit.js +4 -2
- package/build/audio/edit.js.map +1 -1
- package/build/audio/save.js +2 -1
- package/build/audio/save.js.map +1 -1
- package/build/avatar/edit.js +6 -3
- package/build/avatar/edit.js.map +1 -1
- package/build/avatar/index.js +0 -1
- package/build/avatar/index.js.map +1 -1
- package/build/block/edit.js +8 -4
- package/build/block/edit.js.map +1 -1
- package/build/block/index.js +1 -1
- package/build/button/deprecated.js +20 -15
- package/build/button/deprecated.js.map +1 -1
- package/build/button/edit.js +2 -4
- package/build/button/edit.js.map +1 -1
- package/build/button/save.js +4 -3
- package/build/button/save.js.map +1 -1
- package/build/buttons/deprecated.js +6 -5
- package/build/buttons/deprecated.js.map +1 -1
- package/build/buttons/edit.js +2 -1
- package/build/buttons/edit.js.map +1 -1
- package/build/buttons/edit.native.js +6 -6
- package/build/buttons/edit.native.js.map +1 -1
- package/build/buttons/index.js +1 -1
- package/build/buttons/save.js +2 -1
- package/build/buttons/save.js.map +1 -1
- package/build/buttons/transforms.js +1 -1
- package/build/calendar/edit.js +4 -2
- package/build/calendar/edit.js.map +1 -1
- package/build/calendar/index.js +0 -1
- package/build/calendar/index.js.map +1 -1
- package/build/categories/edit.js +2 -1
- package/build/categories/edit.js.map +1 -1
- package/build/categories/index.js +0 -1
- package/build/categories/index.js.map +1 -1
- package/build/code/edit.js +2 -1
- package/build/code/edit.js.map +1 -1
- package/build/code/save.js +2 -1
- package/build/code/save.js.map +1 -1
- package/build/column/edit.js +2 -1
- package/build/column/edit.js.map +1 -1
- package/build/column/edit.native.js +2 -1
- package/build/column/edit.native.js.map +1 -1
- package/build/column/index.js +1 -1
- package/build/column/save.js +2 -1
- package/build/column/save.js.map +1 -1
- package/build/columns/edit.js +6 -3
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +4 -5
- package/build/columns/edit.native.js.map +1 -1
- package/build/columns/index.js +1 -1
- package/build/columns/save.js +2 -1
- package/build/columns/save.js.map +1 -1
- package/build/comment-author-avatar/edit.js +6 -8
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/comment-author-avatar/index.js +0 -1
- package/build/comment-author-avatar/index.js.map +1 -1
- package/build/comment-author-name/edit.js +2 -1
- package/build/comment-author-name/edit.js.map +1 -1
- package/build/comment-author-name/index.js +0 -1
- package/build/comment-author-name/index.js.map +1 -1
- package/build/comment-content/edit.js +4 -2
- package/build/comment-content/edit.js.map +1 -1
- package/build/comment-content/index.js +0 -1
- package/build/comment-content/index.js.map +1 -1
- package/build/comment-date/edit.js +2 -1
- package/build/comment-date/edit.js.map +1 -1
- package/build/comment-date/index.js +0 -1
- package/build/comment-date/index.js.map +1 -1
- package/build/comment-edit-link/edit.js +2 -1
- package/build/comment-edit-link/edit.js.map +1 -1
- package/build/comment-edit-link/index.js +0 -1
- package/build/comment-edit-link/index.js.map +1 -1
- package/build/comment-reply-link/edit.js +2 -1
- package/build/comment-reply-link/edit.js.map +1 -1
- package/build/comment-reply-link/index.js +0 -1
- package/build/comment-reply-link/index.js.map +1 -1
- package/build/comment-template/edit.js +10 -10
- package/build/comment-template/edit.js.map +1 -1
- package/build/comment-template/index.js +0 -1
- package/build/comment-template/index.js.map +1 -1
- package/build/comments/deprecated.js +2 -1
- package/build/comments/deprecated.js.map +1 -1
- package/build/comments/edit/comments-legacy.js +2 -1
- package/build/comments/edit/comments-legacy.js.map +1 -1
- package/build/comments/edit/index.js +4 -2
- package/build/comments/edit/index.js.map +1 -1
- package/build/comments/index.js +0 -1
- package/build/comments/index.js.map +1 -1
- package/build/comments/save.js +2 -1
- package/build/comments/save.js.map +1 -1
- package/build/comments-pagination/edit.js +2 -1
- package/build/comments-pagination/edit.js.map +1 -1
- package/build/comments-pagination/index.js +1 -2
- package/build/comments-pagination/index.js.map +1 -1
- package/build/comments-pagination-next/edit.js +4 -7
- package/build/comments-pagination-next/edit.js.map +1 -1
- package/build/comments-pagination-next/index.js +0 -1
- package/build/comments-pagination-next/index.js.map +1 -1
- package/build/comments-pagination-numbers/edit.js +2 -1
- package/build/comments-pagination-numbers/edit.js.map +1 -1
- package/build/comments-pagination-numbers/index.js +0 -1
- package/build/comments-pagination-numbers/index.js.map +1 -1
- package/build/comments-pagination-previous/edit.js +4 -7
- package/build/comments-pagination-previous/edit.js.map +1 -1
- package/build/comments-pagination-previous/index.js +0 -1
- package/build/comments-pagination-previous/index.js.map +1 -1
- package/build/comments-title/edit.js +4 -9
- package/build/comments-title/edit.js.map +1 -1
- package/build/cover/deprecated.js +46 -36
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit/index.js +8 -7
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +4 -7
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/resizable-cover-popover.js +6 -7
- package/build/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build/cover/edit.native.js +12 -11
- package/build/cover/edit.native.js.map +1 -1
- package/build/cover/index.js +1 -1
- package/build/cover/save.js +9 -7
- package/build/cover/save.js.map +1 -1
- package/build/cover/transforms.js +2 -2
- package/build/cover/transforms.js.map +1 -1
- package/build/details/edit.js +3 -7
- package/build/details/edit.js.map +1 -1
- package/build/details/index.js +1 -1
- package/build/details/init.js +16 -0
- package/build/details/init.js.map +1 -0
- package/build/details/save.js +2 -6
- package/build/details/save.js.map +1 -1
- package/build/embed/deprecated.js +4 -3
- package/build/embed/deprecated.js.map +1 -1
- package/build/embed/edit.js +6 -3
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +6 -3
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/save.js +4 -3
- package/build/embed/save.js.map +1 -1
- package/build/embed/wp-embed-preview.js +4 -7
- package/build/embed/wp-embed-preview.js.map +1 -1
- package/build/embed/wp-embed-preview.native.js +4 -7
- package/build/embed/wp-embed-preview.native.js.map +1 -1
- package/build/file/deprecated.js +6 -3
- package/build/file/deprecated.js.map +1 -1
- package/build/file/edit.js +4 -2
- package/build/file/edit.js.map +1 -1
- package/build/file/index.js +1 -1
- package/build/file/save.js +2 -1
- package/build/file/save.js.map +1 -1
- package/build/file/view.js +9 -0
- package/build/file/view.js.map +1 -0
- package/build/footnotes/edit.js +57 -0
- package/build/footnotes/edit.js.map +1 -0
- package/build/footnotes/format.js +142 -0
- package/build/footnotes/format.js.map +1 -0
- package/build/footnotes/index.js +67 -0
- package/build/footnotes/index.js.map +1 -0
- package/build/freeform/edit.js +6 -3
- package/build/freeform/edit.js.map +1 -1
- package/build/freeform/edit.native.js +2 -4
- package/build/freeform/edit.native.js.map +1 -1
- package/build/freeform/modal.js +2 -1
- package/build/freeform/modal.js.map +1 -1
- package/build/gallery/deprecated.js +6 -4
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit-wrapper.js +4 -2
- package/build/gallery/edit-wrapper.js.map +1 -1
- package/build/gallery/edit.js +16 -13
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +2 -4
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gallery.native.js +3 -2
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/index.js +1 -1
- package/build/gallery/save.js +2 -1
- package/build/gallery/save.js.map +1 -1
- package/build/gallery/shared-icon.native.js +4 -5
- package/build/gallery/shared-icon.native.js.map +1 -1
- package/build/gallery/v1/edit.js +8 -9
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery.js +7 -7
- package/build/gallery/v1/gallery.js.map +1 -1
- package/build/gallery/v1/save.js +4 -3
- package/build/gallery/v1/save.js.map +1 -1
- package/build/group/deprecated.js +5 -3
- package/build/group/deprecated.js.map +1 -1
- package/build/group/edit.js +4 -1
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +1 -1
- package/build/group/placeholder.js +2 -1
- package/build/group/placeholder.js.map +1 -1
- package/build/group/save.js +2 -1
- package/build/group/save.js.map +1 -1
- package/build/heading/deprecated.js +8 -6
- package/build/heading/deprecated.js.map +1 -1
- package/build/heading/edit.js +9 -11
- package/build/heading/edit.js.map +1 -1
- package/build/heading/save.js +4 -3
- package/build/heading/save.js.map +1 -1
- package/build/home-link/edit.js +2 -1
- package/build/home-link/edit.js.map +1 -1
- package/build/home-link/index.js +0 -1
- package/build/home-link/index.js.map +1 -1
- package/build/html/edit.js +4 -3
- package/build/html/edit.js.map +1 -1
- package/build/image/deprecated.js +14 -12
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.js +4 -3
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +8 -8
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +16 -9
- package/build/image/image.js.map +1 -1
- package/build/image/interactivity.js +119 -6
- package/build/image/interactivity.js.map +1 -1
- package/build/image/save.js +4 -3
- package/build/image/save.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/latest-comments/edit.js +2 -1
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-comments/index.js +0 -1
- package/build/latest-comments/index.js.map +1 -1
- package/build/latest-posts/deprecated.js +0 -1
- package/build/latest-posts/deprecated.js.map +1 -1
- package/build/latest-posts/edit.js +14 -7
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/edit.native.js +4 -5
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/latest-posts/index.js +0 -1
- package/build/latest-posts/index.js.map +1 -1
- package/build/list/deprecated.js +12 -10
- package/build/list/deprecated.js.map +1 -1
- package/build/list/edit.js +4 -5
- package/build/list/edit.js.map +1 -1
- package/build/list/ordered-list-settings.js +25 -1
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/list/save.js +6 -5
- package/build/list/save.js.map +1 -1
- package/build/list/tag-name.js +4 -7
- package/build/list/tag-name.js.map +1 -1
- package/build/list/tag-name.native.js +4 -7
- package/build/list/tag-name.native.js.map +1 -1
- package/build/list-item/edit.js +2 -1
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/edit.native.js +2 -1
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/save.js +2 -1
- package/build/list-item/save.js.map +1 -1
- package/build/{private-apis.js → lock-unlock.js} +1 -1
- package/build/lock-unlock.js.map +1 -0
- package/build/loginout/edit.js +4 -3
- package/build/loginout/edit.js.map +1 -1
- package/build/loginout/index.js +0 -1
- package/build/loginout/index.js.map +1 -1
- package/build/media-text/deprecated.js +43 -33
- package/build/media-text/deprecated.js.map +1 -1
- package/build/media-text/edit.js +7 -4
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/media-container.js +8 -7
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/media-container.native.js +8 -8
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/media-text/save.js +17 -13
- package/build/media-text/save.js.map +1 -1
- package/build/missing/edit.js +4 -3
- package/build/missing/edit.js.map +1 -1
- package/build/more/edit.js +2 -1
- package/build/more/edit.js.map +1 -1
- package/build/navigation/constants.js +8 -1
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/deprecated.js +1 -1
- package/build/navigation/deprecated.js.map +1 -1
- package/build/navigation/edit/index.js +35 -21
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +2 -1
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/leaf-more-menu.js +5 -9
- package/build/navigation/edit/leaf-more-menu.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +12 -16
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +15 -7
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/responsive-wrapper.js +2 -1
- package/build/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +3 -5
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/index.js +2 -3
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +9 -7
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation/view-modal.js +64 -0
- package/build/navigation/view-modal.js.map +1 -0
- package/build/navigation/view.js +61 -0
- package/build/navigation/view.js.map +1 -0
- package/build/navigation-link/edit.js +4 -2
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -2
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/nextpage/edit.js +2 -1
- package/build/nextpage/edit.js.map +1 -1
- package/build/page-list/edit.js +12 -6
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +0 -1
- package/build/page-list/index.js.map +1 -1
- package/build/page-list-item/edit.js +2 -1
- package/build/page-list-item/edit.js.map +1 -1
- package/build/paragraph/deprecated.js +5 -4
- package/build/paragraph/deprecated.js.map +1 -1
- package/build/paragraph/edit.js +4 -6
- package/build/paragraph/edit.js.map +1 -1
- package/build/paragraph/save.js +5 -4
- package/build/paragraph/save.js.map +1 -1
- package/build/pattern/edit.js +7 -32
- package/build/pattern/edit.js.map +1 -1
- package/build/pattern/index.js +3 -11
- package/build/pattern/index.js.map +1 -1
- package/build/post-author/edit.js +4 -2
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author/index.js +0 -1
- package/build/post-author/index.js.map +1 -1
- package/build/post-author-biography/edit.js +2 -4
- package/build/post-author-biography/edit.js.map +1 -1
- package/build/post-author-biography/index.js +0 -1
- package/build/post-author-biography/index.js.map +1 -1
- package/build/post-author-name/edit.js +2 -1
- package/build/post-author-name/edit.js.map +1 -1
- package/build/post-author-name/index.js +0 -1
- package/build/post-author-name/index.js.map +1 -1
- package/build/post-comment/edit.js +4 -2
- package/build/post-comment/edit.js.map +1 -1
- package/build/post-comment/save.js +2 -1
- package/build/post-comment/save.js.map +1 -1
- package/build/post-comments-count/edit.js +2 -4
- package/build/post-comments-count/edit.js.map +1 -1
- package/build/post-comments-count/index.js +0 -1
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-form/edit.js +2 -1
- package/build/post-comments-form/edit.js.map +1 -1
- package/build/post-comments-form/index.js +0 -1
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/edit.js +2 -1
- package/build/post-comments-link/edit.js.map +1 -1
- package/build/post-comments-link/index.js +0 -1
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-content/edit.js +11 -10
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +1 -2
- package/build/post-content/index.js.map +1 -1
- package/build/post-date/edit.js +2 -1
- package/build/post-date/edit.js.map +1 -1
- package/build/post-date/index.js +0 -1
- package/build/post-date/index.js.map +1 -1
- package/build/post-excerpt/edit.js +6 -3
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-excerpt/index.js +0 -1
- package/build/post-excerpt/index.js.map +1 -1
- package/build/post-featured-image/edit.js +4 -2
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +0 -1
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-featured-image/overlay.js +4 -5
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/post-navigation-link/edit.js +2 -1
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-navigation-link/index.js +0 -1
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/post-template/edit.js +14 -9
- package/build/post-template/edit.js.map +1 -1
- package/build/post-template/index.js +1 -2
- package/build/post-template/index.js.map +1 -1
- package/build/post-terms/edit.js +4 -8
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/hooks.js +9 -5
- package/build/post-terms/hooks.js.map +1 -1
- package/build/post-terms/index.js +0 -1
- package/build/post-terms/index.js.map +1 -1
- package/build/post-time-to-read/edit.js +2 -1
- package/build/post-time-to-read/edit.js.map +1 -1
- package/build/post-time-to-read/init.js +16 -0
- package/build/post-time-to-read/init.js.map +1 -0
- package/build/post-title/edit.js +16 -16
- package/build/post-title/edit.js.map +1 -1
- package/build/post-title/index.js +0 -1
- package/build/post-title/index.js.map +1 -1
- package/build/preformatted/edit.js +4 -8
- package/build/preformatted/edit.js.map +1 -1
- package/build/preformatted/edit.native.js +2 -1
- package/build/preformatted/edit.native.js.map +1 -1
- package/build/preformatted/save.js +2 -1
- package/build/preformatted/save.js.map +1 -1
- package/build/pullquote/deprecated.js +10 -8
- package/build/pullquote/deprecated.js.map +1 -1
- package/build/pullquote/edit.js +2 -1
- package/build/pullquote/edit.js.map +1 -1
- package/build/pullquote/edit.native.js +2 -1
- package/build/pullquote/edit.native.js.map +1 -1
- package/build/pullquote/save.js +5 -4
- package/build/pullquote/save.js.map +1 -1
- package/build/query/deprecated.js +16 -10
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/index.js +2 -4
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +4 -3
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/query-content.js +20 -6
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/edit/query-placeholder.js +4 -2
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/index.js +1 -2
- package/build/query/index.js.map +1 -1
- package/build/query/save.js +2 -1
- package/build/query/save.js.map +1 -1
- package/build/query/utils.js +1 -2
- package/build/query/utils.js.map +1 -1
- package/build/query-no-results/edit.js +2 -1
- package/build/query-no-results/edit.js.map +1 -1
- package/build/query-no-results/index.js +0 -1
- package/build/query-no-results/index.js.map +1 -1
- package/build/query-pagination/deprecated.js +2 -1
- package/build/query-pagination/deprecated.js.map +1 -1
- package/build/query-pagination/edit.js +2 -1
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-pagination/index.js +1 -2
- package/build/query-pagination/index.js.map +1 -1
- package/build/query-pagination-next/edit.js +4 -7
- package/build/query-pagination-next/edit.js.map +1 -1
- package/build/query-pagination-next/index.js +0 -1
- package/build/query-pagination-next/index.js.map +1 -1
- package/build/query-pagination-numbers/edit.js +2 -1
- package/build/query-pagination-numbers/edit.js.map +1 -1
- package/build/query-pagination-numbers/index.js +0 -1
- package/build/query-pagination-numbers/index.js.map +1 -1
- package/build/query-pagination-previous/edit.js +4 -7
- package/build/query-pagination-previous/edit.js.map +1 -1
- package/build/query-pagination-previous/index.js +0 -1
- package/build/query-pagination-previous/index.js.map +1 -1
- package/build/query-title/edit.js +8 -11
- package/build/query-title/edit.js.map +1 -1
- package/build/query-title/index.js +0 -1
- package/build/query-title/index.js.map +1 -1
- package/build/quote/deprecated.js +4 -3
- package/build/quote/deprecated.js.map +1 -1
- package/build/quote/edit.js +7 -7
- package/build/quote/edit.js.map +1 -1
- package/build/quote/save.js +4 -3
- package/build/quote/save.js.map +1 -1
- package/build/read-more/edit.js +4 -7
- package/build/read-more/edit.js.map +1 -1
- package/build/read-more/index.js +0 -1
- package/build/read-more/index.js.map +1 -1
- package/build/rss/edit.js +4 -2
- package/build/rss/edit.js.map +1 -1
- package/build/rss/index.js +0 -1
- package/build/rss/index.js.map +1 -1
- package/build/search/edit.js +4 -3
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +6 -8
- package/build/search/edit.native.js.map +1 -1
- package/build/search/index.js +0 -1
- package/build/search/index.js.map +1 -1
- package/build/separator/deprecated.js +5 -4
- package/build/separator/deprecated.js.map +1 -1
- package/build/separator/edit.js +5 -4
- package/build/separator/edit.js.map +1 -1
- package/build/separator/save.js +5 -4
- package/build/separator/save.js.map +1 -1
- package/build/shortcode/edit.js +4 -3
- package/build/shortcode/edit.js.map +1 -1
- package/build/site-logo/edit.js +10 -10
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +0 -1
- package/build/site-logo/index.js.map +1 -1
- package/build/site-tagline/edit.js +5 -5
- package/build/site-tagline/edit.js.map +1 -1
- package/build/site-tagline/icon.js +0 -3
- package/build/site-tagline/icon.js.map +1 -1
- package/build/site-tagline/index.js +0 -1
- package/build/site-tagline/index.js.map +1 -1
- package/build/site-title/edit/index.js +8 -9
- package/build/site-title/edit/index.js.map +1 -1
- package/build/site-title/index.js +0 -1
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/edit.js +2 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/index.js +0 -1
- package/build/social-link/index.js.map +1 -1
- package/build/social-links/deprecated.js +5 -4
- package/build/social-links/deprecated.js.map +1 -1
- package/build/social-links/edit.js +6 -6
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/index.js +1 -1
- package/build/social-links/save.js +2 -1
- package/build/social-links/save.js.map +1 -1
- package/build/spacer/deprecated.js +8 -7
- package/build/spacer/deprecated.js.map +1 -1
- package/build/spacer/edit.js +10 -10
- package/build/spacer/edit.js.map +1 -1
- package/build/spacer/edit.native.js +4 -5
- package/build/spacer/edit.native.js.map +1 -1
- package/build/spacer/save.js +21 -11
- package/build/spacer/save.js.map +1 -1
- package/build/spacer/save.native.js +8 -7
- package/build/spacer/save.native.js.map +1 -1
- package/build/table/deprecated.js +4 -2
- package/build/table/deprecated.js.map +1 -1
- package/build/table/edit.js +6 -4
- package/build/table/edit.js.map +1 -1
- package/build/table/save.js +2 -1
- package/build/table/save.js.map +1 -1
- package/build/table-of-contents/edit.js +4 -2
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/table-of-contents/save.js +2 -1
- package/build/table-of-contents/save.js.map +1 -1
- package/build/tag-cloud/edit.js +2 -1
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/tag-cloud/index.js +0 -1
- package/build/tag-cloud/index.js.map +1 -1
- package/build/template-part/edit/index.js +8 -4
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/inner-blocks.js +3 -2
- package/build/template-part/edit/inner-blocks.js.map +1 -1
- package/build/template-part/index.js +0 -1
- package/build/template-part/index.js.map +1 -1
- package/build/term-description/edit.js +2 -1
- package/build/term-description/edit.js.map +1 -1
- package/build/term-description/index.js +0 -1
- package/build/term-description/index.js.map +1 -1
- package/build/text-columns/edit.js +4 -3
- package/build/text-columns/edit.js.map +1 -1
- package/build/text-columns/save.js +4 -3
- package/build/text-columns/save.js.map +1 -1
- package/build/utils/interactivity/directives.js +4 -7
- package/build/utils/interactivity/directives.js.map +1 -1
- package/build/utils/interactivity/index.js +1 -3
- package/build/utils/interactivity/index.js.map +1 -1
- package/build/utils/migrate-font-family.js +2 -2
- package/build/utils/migrate-font-family.js.map +1 -1
- package/build/verse/deprecated.js +4 -3
- package/build/verse/deprecated.js.map +1 -1
- package/build/verse/edit.js +4 -6
- package/build/verse/edit.js.map +1 -1
- package/build/verse/save.js +4 -3
- package/build/verse/save.js.map +1 -1
- package/build/video/deprecated.js +2 -1
- package/build/video/deprecated.js.map +1 -1
- package/build/video/edit.js +4 -2
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +8 -8
- package/build/video/edit.native.js.map +1 -1
- package/build/video/save.js +2 -1
- package/build/video/save.js.map +1 -1
- package/build/video/tracks.js +4 -7
- package/build/video/tracks.js.map +1 -1
- package/build-module/archives/edit.js +2 -1
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/archives/index.js +0 -1
- package/build-module/archives/index.js.map +1 -1
- package/build-module/audio/edit.js +4 -2
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/save.js +2 -1
- package/build-module/audio/save.js.map +1 -1
- package/build-module/avatar/edit.js +6 -3
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/avatar/index.js +0 -1
- package/build-module/avatar/index.js.map +1 -1
- package/build-module/block/edit.js +8 -4
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/index.js +1 -1
- package/build-module/button/deprecated.js +20 -15
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/edit.js +2 -3
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/save.js +4 -3
- package/build-module/button/save.js.map +1 -1
- package/build-module/buttons/deprecated.js +6 -5
- package/build-module/buttons/deprecated.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/edit.native.js +6 -6
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/buttons/index.js +1 -1
- package/build-module/buttons/save.js +2 -1
- package/build-module/buttons/save.js.map +1 -1
- package/build-module/buttons/transforms.js +1 -1
- package/build-module/calendar/edit.js +4 -2
- package/build-module/calendar/edit.js.map +1 -1
- package/build-module/calendar/index.js +0 -1
- package/build-module/calendar/index.js.map +1 -1
- package/build-module/categories/edit.js +2 -1
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/categories/index.js +0 -1
- package/build-module/categories/index.js.map +1 -1
- package/build-module/code/edit.js +2 -1
- package/build-module/code/edit.js.map +1 -1
- package/build-module/code/save.js +2 -1
- package/build-module/code/save.js.map +1 -1
- package/build-module/column/edit.js +2 -1
- package/build-module/column/edit.js.map +1 -1
- package/build-module/column/edit.native.js +2 -1
- package/build-module/column/edit.native.js.map +1 -1
- package/build-module/column/index.js +1 -1
- package/build-module/column/save.js +2 -1
- package/build-module/column/save.js.map +1 -1
- package/build-module/columns/edit.js +6 -3
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +4 -4
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/columns/index.js +1 -1
- package/build-module/columns/save.js +2 -1
- package/build-module/columns/save.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +6 -5
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/comment-author-avatar/index.js +0 -1
- package/build-module/comment-author-avatar/index.js.map +1 -1
- package/build-module/comment-author-name/edit.js +2 -1
- package/build-module/comment-author-name/edit.js.map +1 -1
- package/build-module/comment-author-name/index.js +0 -1
- package/build-module/comment-author-name/index.js.map +1 -1
- package/build-module/comment-content/edit.js +4 -2
- package/build-module/comment-content/edit.js.map +1 -1
- package/build-module/comment-content/index.js +0 -1
- package/build-module/comment-content/index.js.map +1 -1
- package/build-module/comment-date/edit.js +2 -1
- package/build-module/comment-date/edit.js.map +1 -1
- package/build-module/comment-date/index.js +0 -1
- package/build-module/comment-date/index.js.map +1 -1
- package/build-module/comment-edit-link/edit.js +2 -1
- package/build-module/comment-edit-link/edit.js.map +1 -1
- package/build-module/comment-edit-link/index.js +0 -1
- package/build-module/comment-edit-link/index.js.map +1 -1
- package/build-module/comment-reply-link/edit.js +2 -1
- package/build-module/comment-reply-link/edit.js.map +1 -1
- package/build-module/comment-reply-link/index.js +0 -1
- package/build-module/comment-reply-link/index.js.map +1 -1
- package/build-module/comment-template/edit.js +10 -7
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comment-template/index.js +0 -1
- package/build-module/comment-template/index.js.map +1 -1
- package/build-module/comments/deprecated.js +2 -1
- package/build-module/comments/deprecated.js.map +1 -1
- package/build-module/comments/edit/comments-legacy.js +2 -1
- package/build-module/comments/edit/comments-legacy.js.map +1 -1
- package/build-module/comments/edit/index.js +4 -2
- package/build-module/comments/edit/index.js.map +1 -1
- package/build-module/comments/index.js +0 -1
- package/build-module/comments/index.js.map +1 -1
- package/build-module/comments/save.js +2 -1
- package/build-module/comments/save.js.map +1 -1
- package/build-module/comments-pagination/edit.js +2 -1
- package/build-module/comments-pagination/edit.js.map +1 -1
- package/build-module/comments-pagination/index.js +1 -2
- package/build-module/comments-pagination/index.js.map +1 -1
- package/build-module/comments-pagination-next/edit.js +4 -4
- package/build-module/comments-pagination-next/edit.js.map +1 -1
- package/build-module/comments-pagination-next/index.js +0 -1
- package/build-module/comments-pagination-next/index.js.map +1 -1
- package/build-module/comments-pagination-numbers/edit.js +2 -1
- package/build-module/comments-pagination-numbers/edit.js.map +1 -1
- package/build-module/comments-pagination-numbers/index.js +0 -1
- package/build-module/comments-pagination-numbers/index.js.map +1 -1
- package/build-module/comments-pagination-previous/edit.js +4 -4
- package/build-module/comments-pagination-previous/edit.js.map +1 -1
- package/build-module/comments-pagination-previous/index.js +0 -1
- package/build-module/comments-pagination-previous/index.js.map +1 -1
- package/build-module/comments-title/edit.js +4 -8
- package/build-module/comments-title/edit.js.map +1 -1
- package/build-module/cover/deprecated.js +46 -36
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit/index.js +8 -6
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +4 -4
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/resizable-cover-popover.js +5 -5
- package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build-module/cover/edit.native.js +12 -10
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/cover/index.js +1 -1
- package/build-module/cover/save.js +9 -7
- package/build-module/cover/save.js.map +1 -1
- package/build-module/cover/transforms.js +1 -1
- package/build-module/cover/transforms.js.map +1 -1
- package/build-module/details/edit.js +3 -4
- package/build-module/details/edit.js.map +1 -1
- package/build-module/details/index.js +1 -1
- package/build-module/details/init.js +6 -0
- package/build-module/details/init.js.map +1 -0
- package/build-module/details/save.js +2 -3
- package/build-module/details/save.js.map +1 -1
- package/build-module/embed/deprecated.js +4 -3
- package/build-module/embed/deprecated.js.map +1 -1
- package/build-module/embed/edit.js +6 -3
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +6 -3
- package/build-module/embed/edit.native.js.map +1 -1
- package/build-module/embed/save.js +4 -3
- package/build-module/embed/save.js.map +1 -1
- package/build-module/embed/wp-embed-preview.js +4 -4
- package/build-module/embed/wp-embed-preview.js.map +1 -1
- package/build-module/embed/wp-embed-preview.native.js +4 -4
- package/build-module/embed/wp-embed-preview.native.js.map +1 -1
- package/build-module/file/deprecated.js +6 -3
- package/build-module/file/deprecated.js.map +1 -1
- package/build-module/file/edit.js +4 -2
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/index.js +1 -1
- package/build-module/file/save.js +2 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/file/view.js +6 -0
- package/build-module/file/view.js.map +1 -0
- package/build-module/footnotes/edit.js +48 -0
- package/build-module/footnotes/edit.js.map +1 -0
- package/build-module/footnotes/format.js +126 -0
- package/build-module/footnotes/format.js.map +1 -0
- package/build-module/footnotes/index.js +48 -0
- package/build-module/footnotes/index.js.map +1 -0
- package/build-module/freeform/edit.js +6 -3
- package/build-module/freeform/edit.js.map +1 -1
- package/build-module/freeform/edit.native.js +2 -3
- package/build-module/freeform/edit.native.js.map +1 -1
- package/build-module/freeform/modal.js +2 -1
- package/build-module/freeform/modal.js.map +1 -1
- package/build-module/gallery/deprecated.js +6 -4
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit-wrapper.js +4 -2
- package/build-module/gallery/edit-wrapper.js.map +1 -1
- package/build-module/gallery/edit.js +16 -12
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +2 -3
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gallery.native.js +3 -2
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/index.js +1 -1
- package/build-module/gallery/save.js +2 -1
- package/build-module/gallery/save.js.map +1 -1
- package/build-module/gallery/shared-icon.native.js +4 -4
- package/build-module/gallery/shared-icon.native.js.map +1 -1
- package/build-module/gallery/v1/edit.js +8 -8
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery.js +7 -6
- package/build-module/gallery/v1/gallery.js.map +1 -1
- package/build-module/gallery/v1/save.js +4 -3
- package/build-module/gallery/v1/save.js.map +1 -1
- package/build-module/group/deprecated.js +5 -3
- package/build-module/group/deprecated.js.map +1 -1
- package/build-module/group/edit.js +4 -1
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +1 -1
- package/build-module/group/placeholder.js +2 -1
- package/build-module/group/placeholder.js.map +1 -1
- package/build-module/group/save.js +2 -1
- package/build-module/group/save.js.map +1 -1
- package/build-module/heading/deprecated.js +8 -6
- package/build-module/heading/deprecated.js.map +1 -1
- package/build-module/heading/edit.js +9 -9
- package/build-module/heading/edit.js.map +1 -1
- package/build-module/heading/save.js +4 -3
- package/build-module/heading/save.js.map +1 -1
- package/build-module/home-link/edit.js +2 -1
- package/build-module/home-link/edit.js.map +1 -1
- package/build-module/home-link/index.js +0 -1
- package/build-module/home-link/index.js.map +1 -1
- package/build-module/html/edit.js +4 -3
- package/build-module/html/edit.js.map +1 -1
- package/build-module/image/deprecated.js +14 -11
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/edit.js +3 -2
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +8 -7
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +17 -10
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/interactivity.js +119 -6
- package/build-module/image/interactivity.js.map +1 -1
- package/build-module/image/save.js +4 -3
- package/build-module/image/save.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 +2 -1
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-comments/index.js +0 -1
- package/build-module/latest-comments/index.js.map +1 -1
- package/build-module/latest-posts/deprecated.js +0 -1
- package/build-module/latest-posts/deprecated.js.map +1 -1
- package/build-module/latest-posts/edit.js +15 -7
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +4 -4
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/latest-posts/index.js +0 -1
- package/build-module/latest-posts/index.js.map +1 -1
- package/build-module/list/deprecated.js +12 -10
- package/build-module/list/deprecated.js.map +1 -1
- package/build-module/list/edit.js +4 -4
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +26 -2
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/list/save.js +6 -5
- package/build-module/list/save.js.map +1 -1
- package/build-module/list/tag-name.js +4 -4
- package/build-module/list/tag-name.js.map +1 -1
- package/build-module/list/tag-name.native.js +4 -4
- package/build-module/list/tag-name.native.js.map +1 -1
- package/build-module/list-item/edit.js +2 -1
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js +2 -1
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/list-item/save.js +2 -1
- package/build-module/list-item/save.js.map +1 -1
- package/build-module/{private-apis.js → lock-unlock.js} +1 -1
- package/build-module/lock-unlock.js.map +1 -0
- package/build-module/loginout/edit.js +4 -3
- package/build-module/loginout/edit.js.map +1 -1
- package/build-module/loginout/index.js +0 -1
- package/build-module/loginout/index.js.map +1 -1
- package/build-module/media-text/deprecated.js +43 -33
- package/build-module/media-text/deprecated.js.map +1 -1
- package/build-module/media-text/edit.js +6 -3
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/media-container.js +8 -6
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/media-container.native.js +8 -7
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/media-text/save.js +17 -13
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/missing/edit.js +4 -3
- package/build-module/missing/edit.js.map +1 -1
- package/build-module/more/edit.js +2 -1
- package/build-module/more/edit.js.map +1 -1
- package/build-module/navigation/constants.js +6 -0
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/deprecated.js +1 -1
- package/build-module/navigation/deprecated.js.map +1 -1
- package/build-module/navigation/edit/index.js +34 -21
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +2 -1
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/leaf-more-menu.js +5 -6
- package/build-module/navigation/edit/leaf-more-menu.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +12 -16
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +15 -7
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/responsive-wrapper.js +2 -1
- package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +4 -6
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/index.js +2 -3
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +8 -7
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation/view-modal.js +58 -0
- package/build-module/navigation/view-modal.js.map +1 -0
- package/build-module/navigation/view.js +59 -0
- package/build-module/navigation/view.js.map +1 -0
- package/build-module/navigation-link/edit.js +4 -2
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -2
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/nextpage/edit.js +2 -1
- package/build-module/nextpage/edit.js.map +1 -1
- package/build-module/page-list/edit.js +12 -6
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +0 -1
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/page-list-item/edit.js +2 -1
- package/build-module/page-list-item/edit.js.map +1 -1
- package/build-module/paragraph/deprecated.js +5 -4
- package/build-module/paragraph/deprecated.js.map +1 -1
- package/build-module/paragraph/edit.js +4 -5
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/paragraph/save.js +5 -4
- package/build-module/paragraph/save.js.map +1 -1
- package/build-module/pattern/edit.js +8 -33
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/pattern/index.js +4 -11
- package/build-module/pattern/index.js.map +1 -1
- package/build-module/post-author/edit.js +4 -2
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author/index.js +0 -1
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-author-biography/edit.js +2 -3
- package/build-module/post-author-biography/edit.js.map +1 -1
- package/build-module/post-author-biography/index.js +0 -1
- package/build-module/post-author-biography/index.js.map +1 -1
- package/build-module/post-author-name/edit.js +2 -1
- package/build-module/post-author-name/edit.js.map +1 -1
- package/build-module/post-author-name/index.js +0 -1
- package/build-module/post-author-name/index.js.map +1 -1
- package/build-module/post-comment/edit.js +4 -2
- package/build-module/post-comment/edit.js.map +1 -1
- package/build-module/post-comment/save.js +2 -1
- package/build-module/post-comment/save.js.map +1 -1
- package/build-module/post-comments-count/edit.js +2 -3
- package/build-module/post-comments-count/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +0 -1
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-form/edit.js +2 -1
- package/build-module/post-comments-form/edit.js.map +1 -1
- package/build-module/post-comments-form/index.js +0 -1
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/edit.js +2 -1
- package/build-module/post-comments-link/edit.js.map +1 -1
- package/build-module/post-comments-link/index.js +0 -1
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-content/edit.js +11 -7
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +1 -2
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-date/edit.js +2 -1
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-date/index.js +0 -1
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-excerpt/edit.js +6 -3
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-excerpt/index.js +0 -1
- package/build-module/post-excerpt/index.js.map +1 -1
- package/build-module/post-featured-image/edit.js +4 -2
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +0 -1
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-featured-image/overlay.js +4 -4
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +2 -1
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-navigation-link/index.js +0 -1
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/post-template/edit.js +14 -8
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-template/index.js +1 -2
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/post-terms/edit.js +4 -8
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/hooks.js +9 -5
- package/build-module/post-terms/hooks.js.map +1 -1
- package/build-module/post-terms/index.js +0 -1
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/post-time-to-read/edit.js +2 -1
- package/build-module/post-time-to-read/edit.js.map +1 -1
- package/build-module/post-time-to-read/init.js +6 -0
- package/build-module/post-time-to-read/init.js.map +1 -0
- package/build-module/post-title/edit.js +15 -13
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/post-title/index.js +0 -1
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/preformatted/edit.js +4 -5
- package/build-module/preformatted/edit.js.map +1 -1
- package/build-module/preformatted/edit.native.js +2 -1
- package/build-module/preformatted/edit.native.js.map +1 -1
- package/build-module/preformatted/save.js +2 -1
- package/build-module/preformatted/save.js.map +1 -1
- package/build-module/pullquote/deprecated.js +10 -8
- package/build-module/pullquote/deprecated.js.map +1 -1
- package/build-module/pullquote/edit.js +2 -1
- package/build-module/pullquote/edit.js.map +1 -1
- package/build-module/pullquote/edit.native.js +2 -1
- package/build-module/pullquote/edit.native.js.map +1 -1
- package/build-module/pullquote/save.js +5 -4
- package/build-module/pullquote/save.js.map +1 -1
- package/build-module/query/deprecated.js +15 -9
- package/build-module/query/deprecated.js.map +1 -1
- package/build-module/query/edit/index.js +2 -3
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +3 -2
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/query-content.js +19 -6
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +4 -2
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/index.js +1 -2
- package/build-module/query/index.js.map +1 -1
- package/build-module/query/save.js +2 -1
- package/build-module/query/save.js.map +1 -1
- package/build-module/query/utils.js +1 -2
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-no-results/edit.js +2 -1
- package/build-module/query-no-results/edit.js.map +1 -1
- package/build-module/query-no-results/index.js +0 -1
- package/build-module/query-no-results/index.js.map +1 -1
- package/build-module/query-pagination/deprecated.js +2 -1
- package/build-module/query-pagination/deprecated.js.map +1 -1
- package/build-module/query-pagination/edit.js +2 -1
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-pagination/index.js +1 -2
- package/build-module/query-pagination/index.js.map +1 -1
- package/build-module/query-pagination-next/edit.js +4 -4
- package/build-module/query-pagination-next/edit.js.map +1 -1
- package/build-module/query-pagination-next/index.js +0 -1
- package/build-module/query-pagination-next/index.js.map +1 -1
- package/build-module/query-pagination-numbers/edit.js +2 -1
- package/build-module/query-pagination-numbers/edit.js.map +1 -1
- package/build-module/query-pagination-numbers/index.js +0 -1
- package/build-module/query-pagination-numbers/index.js.map +1 -1
- package/build-module/query-pagination-previous/edit.js +4 -4
- package/build-module/query-pagination-previous/edit.js.map +1 -1
- package/build-module/query-pagination-previous/index.js +0 -1
- package/build-module/query-pagination-previous/index.js.map +1 -1
- package/build-module/query-title/edit.js +8 -10
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/query-title/index.js +0 -1
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/quote/deprecated.js +4 -3
- package/build-module/quote/deprecated.js.map +1 -1
- package/build-module/quote/edit.js +7 -6
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/quote/save.js +4 -3
- package/build-module/quote/save.js.map +1 -1
- package/build-module/read-more/edit.js +4 -4
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/read-more/index.js +0 -1
- package/build-module/read-more/index.js.map +1 -1
- package/build-module/rss/edit.js +4 -2
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/rss/index.js +0 -1
- package/build-module/rss/index.js.map +1 -1
- package/build-module/search/edit.js +4 -3
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +6 -7
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/search/index.js +0 -1
- package/build-module/search/index.js.map +1 -1
- package/build-module/separator/deprecated.js +5 -4
- package/build-module/separator/deprecated.js.map +1 -1
- package/build-module/separator/edit.js +5 -4
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/separator/save.js +5 -4
- package/build-module/separator/save.js.map +1 -1
- package/build-module/shortcode/edit.js +4 -3
- package/build-module/shortcode/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +10 -9
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +0 -1
- package/build-module/site-logo/index.js.map +1 -1
- package/build-module/site-tagline/edit.js +5 -4
- package/build-module/site-tagline/edit.js.map +1 -1
- package/build-module/site-tagline/icon.js +0 -3
- package/build-module/site-tagline/icon.js.map +1 -1
- package/build-module/site-tagline/index.js +0 -1
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/site-title/edit/index.js +9 -10
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/site-title/index.js +0 -1
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/edit.js +2 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/index.js +0 -1
- package/build-module/social-link/index.js.map +1 -1
- package/build-module/social-links/deprecated.js +5 -4
- package/build-module/social-links/deprecated.js.map +1 -1
- package/build-module/social-links/edit.js +6 -5
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/social-links/index.js +1 -1
- package/build-module/social-links/save.js +2 -1
- package/build-module/social-links/save.js.map +1 -1
- package/build-module/spacer/deprecated.js +8 -7
- package/build-module/spacer/deprecated.js.map +1 -1
- package/build-module/spacer/edit.js +10 -9
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/spacer/edit.native.js +4 -4
- package/build-module/spacer/edit.native.js.map +1 -1
- package/build-module/spacer/save.js +21 -11
- package/build-module/spacer/save.js.map +1 -1
- package/build-module/spacer/save.native.js +8 -7
- package/build-module/spacer/save.native.js.map +1 -1
- package/build-module/table/deprecated.js +4 -2
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/edit.js +6 -4
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/save.js +2 -1
- package/build-module/table/save.js.map +1 -1
- package/build-module/table-of-contents/edit.js +4 -2
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/table-of-contents/save.js +2 -1
- package/build-module/table-of-contents/save.js.map +1 -1
- package/build-module/tag-cloud/edit.js +2 -1
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/tag-cloud/index.js +0 -1
- package/build-module/tag-cloud/index.js.map +1 -1
- package/build-module/template-part/edit/index.js +8 -4
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/inner-blocks.js +3 -2
- package/build-module/template-part/edit/inner-blocks.js.map +1 -1
- package/build-module/template-part/index.js +0 -1
- package/build-module/template-part/index.js.map +1 -1
- package/build-module/term-description/edit.js +2 -1
- package/build-module/term-description/edit.js.map +1 -1
- package/build-module/term-description/index.js +0 -1
- package/build-module/term-description/index.js.map +1 -1
- package/build-module/text-columns/edit.js +4 -3
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-module/text-columns/save.js +4 -3
- package/build-module/text-columns/save.js.map +1 -1
- package/build-module/utils/interactivity/directives.js +4 -4
- package/build-module/utils/interactivity/directives.js.map +1 -1
- package/build-module/utils/interactivity/index.js +1 -3
- package/build-module/utils/interactivity/index.js.map +1 -1
- package/build-module/utils/migrate-font-family.js +1 -1
- package/build-module/utils/migrate-font-family.js.map +1 -1
- package/build-module/verse/deprecated.js +4 -3
- package/build-module/verse/deprecated.js.map +1 -1
- package/build-module/verse/edit.js +4 -5
- package/build-module/verse/edit.js.map +1 -1
- package/build-module/verse/save.js +4 -3
- package/build-module/verse/save.js.map +1 -1
- package/build-module/video/deprecated.js +2 -1
- package/build-module/video/deprecated.js.map +1 -1
- package/build-module/video/edit.js +4 -2
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +8 -7
- package/build-module/video/edit.native.js.map +1 -1
- package/build-module/video/save.js +2 -1
- package/build-module/video/save.js.map +1 -1
- package/build-module/video/tracks.js +4 -4
- package/build-module/video/tracks.js.map +1 -1
- package/build-style/avatar/style-rtl.css +1 -0
- package/build-style/avatar/style.css +1 -0
- package/build-style/editor-rtl.css +0 -17
- package/build-style/editor.css +0 -17
- package/build-style/footnotes/style-rtl.css +106 -0
- package/build-style/footnotes/style.css +106 -0
- package/build-style/image/style-rtl.css +71 -11
- package/build-style/image/style.css +71 -11
- package/build-style/navigation/editor-rtl.css +0 -17
- package/build-style/navigation/editor.css +0 -17
- package/build-style/style-rtl.css +91 -12
- package/build-style/style.css +91 -12
- package/package.json +33 -32
- package/src/archives/block.json +0 -1
- package/src/avatar/block.json +0 -1
- package/src/avatar/style.scss +1 -0
- package/src/block/block.json +1 -1
- package/src/block/edit.js +1 -0
- package/src/block/test/__snapshots__/transforms.native.js.snap +2 -2
- package/src/block/test/edit.native.js +5 -7
- package/src/block/test/transforms.native.js +1 -1
- package/src/buttons/block.json +1 -1
- package/src/buttons/edit.native.js +7 -6
- package/src/buttons/test/__snapshots__/edit.native.js.snap +6 -0
- package/src/buttons/test/edit.native.js +30 -2
- package/src/calendar/block.json +0 -1
- package/src/categories/block.json +0 -1
- package/src/column/block.json +1 -1
- package/src/columns/block.json +1 -1
- package/src/columns/test/edit.native.js +36 -32
- package/src/comment-author-avatar/block.json +0 -1
- package/src/comment-author-name/block.json +0 -1
- package/src/comment-content/block.json +0 -1
- package/src/comment-date/block.json +0 -1
- package/src/comment-edit-link/block.json +0 -1
- package/src/comment-reply-link/block.json +0 -1
- package/src/comment-template/block.json +0 -1
- package/src/comments/block.json +0 -1
- package/src/comments-pagination/block.json +1 -2
- package/src/comments-pagination-next/block.json +0 -1
- package/src/comments-pagination-numbers/block.json +0 -1
- package/src/comments-pagination-previous/block.json +0 -1
- package/src/comments-title/edit.js +2 -6
- package/src/cover/block.json +1 -1
- package/src/cover/edit/resizable-cover-popover.js +1 -1
- package/src/cover/test/edit.native.js +45 -31
- package/src/cover/transforms.js +1 -1
- package/src/details/block.json +1 -1
- package/src/details/edit.js +12 -9
- package/src/details/init.js +6 -0
- package/src/embed/test/index.native.js +38 -44
- package/src/file/block.json +1 -1
- package/src/file/index.php +18 -1
- package/src/file/view.js +9 -0
- package/src/footnotes/block.json +18 -0
- package/src/footnotes/edit.js +52 -0
- package/src/footnotes/format.js +112 -0
- package/src/footnotes/index.js +29 -0
- package/src/footnotes/index.php +78 -0
- package/src/footnotes/style.scss +18 -0
- package/src/gallery/block.json +1 -1
- package/src/gallery/edit.js +4 -1
- package/src/gallery/gallery.native.js +1 -1
- package/src/gallery/test/__snapshots__/index.native.js.snap +6 -0
- package/src/gallery/test/index.native.js +23 -1
- package/src/group/block.json +1 -1
- package/src/group/deprecated.js +1 -1
- package/src/group/test/edit.native.js +2 -4
- package/src/heading/edit.js +2 -2
- package/src/home-link/block.json +0 -1
- package/src/image/edit.js +1 -1
- package/src/image/image.js +23 -11
- package/src/image/interactivity.js +155 -13
- package/src/image/style.scss +79 -9
- package/src/image/test/edit.native.js +3 -13
- package/src/index.js +2 -0
- package/src/latest-comments/block.json +0 -1
- package/src/latest-posts/block.json +0 -1
- package/src/latest-posts/edit.js +17 -9
- package/src/latest-posts/index.php +8 -0
- package/src/list/ordered-list-settings.js +20 -2
- package/src/list/test/edit.native.js +5 -0
- package/src/loginout/block.json +0 -1
- package/src/media-text/edit.js +1 -1
- package/src/navigation/block.json +2 -3
- package/src/navigation/constants.js +11 -0
- package/src/navigation/deprecated.js +1 -1
- package/src/navigation/edit/index.js +15 -6
- package/src/navigation/edit/leaf-more-menu.js +1 -2
- package/src/navigation/edit/menu-inspector-controls.js +24 -26
- package/src/navigation/edit/navigation-menu-selector.js +17 -7
- package/src/navigation/edit/unsaved-inner-blocks.js +6 -6
- package/src/navigation/editor.scss +0 -24
- package/src/navigation/index.php +85 -70
- package/src/navigation/test/use-navigation-menu.js +15 -3
- package/src/navigation/use-navigation-menu.js +11 -8
- package/src/navigation/view-modal.js +78 -0
- package/src/navigation/view.js +74 -0
- package/src/page-list/block.json +0 -1
- package/src/paragraph/test/__snapshots__/edit.native.js.snap +39 -0
- package/src/paragraph/test/edit.native.js +3 -3
- package/src/pattern/block.json +1 -5
- package/src/pattern/edit.js +14 -40
- package/src/pattern/index.js +4 -5
- package/src/pattern/index.php +1 -13
- package/src/post-author/block.json +0 -1
- package/src/post-author/edit.js +3 -3
- package/src/post-author-biography/block.json +0 -1
- package/src/post-author-name/block.json +0 -1
- package/src/post-comments-count/block.json +0 -1
- package/src/post-comments-form/block.json +0 -1
- package/src/post-comments-link/block.json +0 -1
- package/src/post-content/block.json +1 -2
- package/src/post-date/block.json +0 -1
- package/src/post-excerpt/block.json +0 -1
- package/src/post-featured-image/block.json +0 -1
- package/src/post-navigation-link/block.json +0 -1
- package/src/post-template/block.json +1 -2
- package/src/post-template/edit.js +4 -1
- package/src/post-template/index.php +5 -0
- package/src/post-terms/block.json +0 -1
- package/src/post-terms/edit.js +8 -7
- package/src/post-terms/hooks.js +3 -3
- package/src/post-time-to-read/init.js +6 -0
- package/src/post-title/block.json +0 -1
- package/src/post-title/edit.js +4 -4
- package/src/post-title/index.php +1 -1
- package/src/preformatted/test/edit.native.js +1 -13
- package/src/query/block.json +1 -2
- package/src/query/deprecated.js +7 -5
- package/src/query/edit/inspector-controls/index.js +1 -1
- package/src/query/edit/query-content.js +13 -4
- package/src/query-no-results/block.json +0 -1
- package/src/query-pagination/block.json +1 -2
- package/src/query-pagination-next/block.json +0 -1
- package/src/query-pagination-numbers/block.json +0 -1
- package/src/query-pagination-previous/block.json +0 -1
- package/src/query-title/block.json +0 -1
- package/src/query-title/edit.js +2 -6
- package/src/read-more/block.json +0 -1
- package/src/rss/block.json +0 -1
- package/src/search/block.json +0 -1
- package/src/search/edit.js +3 -3
- package/src/site-logo/block.json +0 -1
- package/src/site-tagline/block.json +0 -1
- package/src/site-tagline/icon.js +0 -1
- package/src/site-title/block.json +0 -1
- package/src/site-title/edit/index.js +5 -6
- package/src/social-link/block.json +0 -1
- package/src/social-links/block.json +1 -1
- package/src/spacer/save.js +7 -2
- package/src/spacer/test/index.native.js +33 -29
- package/src/style.scss +1 -0
- package/src/tag-cloud/block.json +0 -1
- package/src/template-part/block.json +0 -1
- package/src/template-part/edit/inner-blocks.js +1 -1
- package/src/template-part/index.php +18 -11
- package/src/term-description/block.json +0 -1
- package/src/utils/interactivity/index.js +0 -2
- package/src/utils/migrate-font-family.js +1 -1
- package/build/heading/heading-level-dropdown.js +0 -81
- package/build/heading/heading-level-dropdown.js.map +0 -1
- package/build/heading/heading-level-dropdown.native.js +0 -72
- package/build/heading/heading-level-dropdown.native.js.map +0 -1
- package/build/pattern/v1/edit.js +0 -56
- package/build/pattern/v1/edit.js.map +0 -1
- package/build/private-apis.js.map +0 -1
- package/build/site-title/edit/level-icon.js +0 -40
- package/build/site-title/edit/level-icon.js.map +0 -1
- package/build/site-title/edit/level-toolbar.js +0 -51
- package/build/site-title/edit/level-toolbar.js.map +0 -1
- package/build-module/heading/heading-level-dropdown.js +0 -69
- package/build-module/heading/heading-level-dropdown.js.map +0 -1
- package/build-module/heading/heading-level-dropdown.native.js +0 -60
- package/build-module/heading/heading-level-dropdown.native.js.map +0 -1
- package/build-module/pattern/v1/edit.js +0 -47
- package/build-module/pattern/v1/edit.js.map +0 -1
- package/build-module/private-apis.js.map +0 -1
- package/build-module/site-title/edit/level-icon.js +0 -31
- package/build-module/site-title/edit/level-icon.js.map +0 -1
- package/build-module/site-title/edit/level-toolbar.js +0 -39
- package/build-module/site-title/edit/level-toolbar.js.map +0 -1
- package/src/heading/heading-level-dropdown.js +0 -69
- package/src/heading/heading-level-dropdown.native.js +0 -63
- package/src/pattern/v1/edit.js +0 -57
- package/src/site-title/edit/level-icon.js +0 -28
- package/src/site-title/edit/level-toolbar.js +0 -34
- /package/src/{private-apis.js → lock-unlock.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["classnames","compose","usePrevious","BaseControl","PanelBody","SelectControl","ToggleControl","RangeControl","Spinner","ToolbarButton","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","Platform","useCallback","useEffect","useState","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","caption","captionIcon","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","allowedBlocks","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","columns","imageCrop","linkTarget","linkTo","sizeSlug","showCaption","setShowCaption","prevCaption","captionRef","node","focus","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","wasBlockJustInserted","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","length","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","title","instructions","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","orientation","renderAppender","children","hasLinkTo","Math","min","isWeb","style","spacing","blockGap","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose, usePrevious } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { caption as captionIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst allowedBlocks = [ 'core/image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t} = props;\n\n\tconst { columns, imageCrop, linkTarget, linkTo, sizeSlug, caption } =\n\t\tattributes;\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst prevCaption = usePrevious( caption );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst wasBlockJustInserted = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\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{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\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{ ! isContentLocked && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\tmultiple={ true }\n\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<GapStyles\n\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tshowCaption={ showCaption }\n\t\t\t\tref={ Platform.isWeb ? captionRef : undefined }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["classnames","compose","usePrevious","BaseControl","PanelBody","SelectControl","ToggleControl","RangeControl","Spinner","ToolbarButton","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","Platform","useCallback","useEffect","useState","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","caption","captionIcon","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","allowedBlocks","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","columns","imageCrop","linkTarget","linkTo","sizeSlug","showCaption","setShowCaption","prevCaption","captionRef","node","focus","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","wasBlockJustInserted","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","length","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","title","instructions","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","orientation","renderAppender","children","hasLinkTo","Math","min","isWeb","style","spacing","blockGap","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose, usePrevious } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { caption as captionIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst allowedBlocks = [ 'core/image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t} = props;\n\n\tconst { columns, imageCrop, linkTarget, linkTo, sizeSlug, caption } =\n\t\tattributes;\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst prevCaption = usePrevious( caption );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\tconst innerBlocks =\n\t\t\t\tselect( blockEditorStore ).getBlock( clientId )?.innerBlocks ??\n\t\t\t\t[];\n\t\t\treturn innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst wasBlockJustInserted = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\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{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\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{ ! isContentLocked && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\tmultiple={ true }\n\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<GapStyles\n\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tshowCaption={ showCaption }\n\t\t\t\tref={ Platform.isWeb ? captionRef : undefined }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -31,14 +30,14 @@ export const Gallery = (props, captionRef) => {
|
|
|
31
30
|
caption,
|
|
32
31
|
imageCrop
|
|
33
32
|
} = attributes;
|
|
34
|
-
return createElement("figure",
|
|
33
|
+
return createElement("figure", { ...blockProps,
|
|
35
34
|
className: classnames(blockProps.className, layoutClassNames, 'blocks-gallery-grid', {
|
|
36
35
|
[`align${align}`]: align,
|
|
37
36
|
[`columns-${columns}`]: columns !== undefined,
|
|
38
37
|
[`columns-default`]: columns === undefined,
|
|
39
38
|
'is-cropped': imageCrop
|
|
40
39
|
})
|
|
41
|
-
}
|
|
40
|
+
}, blockProps.children, isSelected && !blockProps.children && createElement(View, {
|
|
42
41
|
className: "blocks-gallery-media-placeholder-wrapper"
|
|
43
42
|
}, mediaPlaceholder), showCaption && (!RichText.isEmpty(caption) || isSelected) && createElement(RichText, {
|
|
44
43
|
identifier: "caption",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/gallery.js"],"names":["classnames","RichText","__experimentalGetElementClassName","__","createBlock","getDefaultBlockName","View","forwardRef","Gallery","props","captionRef","attributes","isSelected","setAttributes","mediaPlaceholder","insertBlocksAfter","blockProps","__unstableLayoutClassNames","layoutClassNames","showCaption","align","columns","caption","imageCrop","className","undefined","children","isEmpty","value"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/gallery.js"],"names":["classnames","RichText","__experimentalGetElementClassName","__","createBlock","getDefaultBlockName","View","forwardRef","Gallery","props","captionRef","attributes","isSelected","setAttributes","mediaPlaceholder","insertBlocksAfter","blockProps","__unstableLayoutClassNames","layoutClassNames","showCaption","align","columns","caption","imageCrop","className","undefined","children","isEmpty","value"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,QADD,EAECC,iCAFD,QAGO,yBAHP;AAIA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,WAAT,EAAsBC,mBAAtB,QAAiD,mBAAjD;AACA,SAASC,IAAT,QAAqB,uBAArB;AACA,SAASC,UAAT,QAA2B,oBAA3B;AAEA,OAAO,MAAMC,OAAO,GAAG,CAAEC,KAAF,EAASC,UAAT,KAAyB;AAC/C,QAAM;AACLC,IAAAA,UADK;AAELC,IAAAA,UAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,gBAJK;AAKLC,IAAAA,iBALK;AAMLC,IAAAA,UANK;AAOLC,IAAAA,0BAA0B,EAAEC,gBAPvB;AAQLC,IAAAA;AARK,MASFV,KATJ;AAWA,QAAM;AAAEW,IAAAA,KAAF;AAASC,IAAAA,OAAT;AAAkBC,IAAAA,OAAlB;AAA2BC,IAAAA;AAA3B,MAAyCZ,UAA/C;AAEA,SACC,6BACMK,UADN;AAEC,IAAA,SAAS,EAAGhB,UAAU,CACrBgB,UAAU,CAACQ,SADU,EAErBN,gBAFqB,EAGrB,qBAHqB,EAIrB;AACC,OAAG,QAAQE,KAAO,EAAlB,GAAuBA,KADxB;AAEC,OAAG,WAAWC,OAAS,EAAvB,GAA4BA,OAAO,KAAKI,SAFzC;AAGC,OAAG,iBAAH,GAAuBJ,OAAO,KAAKI,SAHpC;AAIC,oBAAcF;AAJf,KAJqB;AAFvB,KAcGP,UAAU,CAACU,QAdd,EAeGd,UAAU,IAAI,CAAEI,UAAU,CAACU,QAA3B,IACD,cAAC,IAAD;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGZ,gBADH,CAhBF,EAoBGK,WAAW,KACV,CAAElB,QAAQ,CAAC0B,OAAT,CAAkBL,OAAlB,CAAF,IAAiCV,UADvB,CAAX,IAEA,cAAC,QAAD;AACC,IAAA,UAAU,EAAC,SADZ;AAEC,kBAAaT,EAAE,CAAE,sBAAF,CAFhB;AAGC,IAAA,WAAW,EAAGA,EAAE,CAAE,wBAAF,CAHjB;AAIC,IAAA,KAAK,EAAGmB,OAJT;AAKC,IAAA,SAAS,EAAGtB,UAAU,CACrB,wBADqB,EAErBE,iCAAiC,CAAE,SAAF,CAFZ,CALvB;AASC,IAAA,GAAG,EAAGQ,UATP;AAUC,IAAA,OAAO,EAAC,YAVT;AAWC,IAAA,QAAQ,EAAKkB,KAAF,IACVf,aAAa,CAAE;AAAES,MAAAA,OAAO,EAAEM;AAAX,KAAF,CAZf;AAcC,IAAA,aAAa,MAdd;AAeC,IAAA,sBAAsB,EAAG,MACxBb,iBAAiB,CAChBX,WAAW,CAAEC,mBAAmB,EAArB,CADK;AAhBnB,IAtBH,CADD;AA+CA,CA7DM;AA+DP,eAAeE,UAAU,CAAEC,OAAF,CAAzB","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { View } from '@wordpress/primitives';\nimport { forwardRef } from '@wordpress/element';\n\nexport const Gallery = ( props, captionRef ) => {\n\tconst {\n\t\tattributes,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tmediaPlaceholder,\n\t\tinsertBlocksAfter,\n\t\tblockProps,\n\t\t__unstableLayoutClassNames: layoutClassNames,\n\t\tshowCaption,\n\t} = props;\n\n\tconst { align, columns, caption, imageCrop } = attributes;\n\n\treturn (\n\t\t<figure\n\t\t\t{ ...blockProps }\n\t\t\tclassName={ classnames(\n\t\t\t\tblockProps.className,\n\t\t\t\tlayoutClassNames,\n\t\t\t\t'blocks-gallery-grid',\n\t\t\t\t{\n\t\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t\t\t\t[ `columns-default` ]: columns === undefined,\n\t\t\t\t\t'is-cropped': imageCrop,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t{ blockProps.children }\n\t\t\t{ isSelected && ! blockProps.children && (\n\t\t\t\t<View className=\"blocks-gallery-media-placeholder-wrapper\">\n\t\t\t\t\t{ mediaPlaceholder }\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t{ showCaption &&\n\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\t\taria-label={ __( 'Gallery caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Write gallery caption…' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'blocks-gallery-caption',\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'caption' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tref={ captionRef }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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) }\n\t\t</figure>\n\t);\n};\n\nexport default forwardRef( Gallery );\n"]}
|
|
@@ -60,7 +60,7 @@ export const Gallery = props => {
|
|
|
60
60
|
numColumns: displayedColumns,
|
|
61
61
|
marginHorizontal: TILE_SPACING,
|
|
62
62
|
marginVertical: TILE_SPACING,
|
|
63
|
-
|
|
63
|
+
layout: {
|
|
64
64
|
type: 'default',
|
|
65
65
|
alignments: []
|
|
66
66
|
},
|
|
@@ -79,7 +79,8 @@ export const Gallery = props => {
|
|
|
79
79
|
const isFullWidth = align === WIDE_ALIGNMENTS.alignments.full;
|
|
80
80
|
return createElement(View, {
|
|
81
81
|
style: isFullWidth && styles.fullWidth
|
|
82
|
-
}, resizeObserver, createElement(View, innerBlocksProps
|
|
82
|
+
}, resizeObserver, createElement(View, { ...innerBlocksProps
|
|
83
|
+
}), createElement(View, {
|
|
83
84
|
style: [isFullWidth && styles.fullWidth, styles.galleryAppender]
|
|
84
85
|
}, mediaPlaceholder), createElement(BlockCaption, {
|
|
85
86
|
clientId: clientId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/gallery.native.js"],"names":["View","defaultColumnsNumber","styles","__","sprintf","BlockCaption","useInnerBlocksProps","useState","useEffect","mediaUploadSync","WIDE_ALIGNMENTS","useResizeObserver","TILE_SPACING","MAX_DISPLAYED_COLUMNS","MAX_DISPLAYED_COLUMNS_NARROW","Gallery","props","isCaptionSelected","setIsCaptionSelected","resizeObserver","sizes","maxWidth","setMaxWidth","mediaPlaceholder","attributes","images","isNarrow","onBlur","insertBlocksAfter","clientId","width","align","columns","length","displayedColumns","Math","min","innerBlocksProps","contentResizeMode","allowedBlocks","orientation","renderAppender","numColumns","marginHorizontal","marginVertical","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/gallery.native.js"],"names":["View","defaultColumnsNumber","styles","__","sprintf","BlockCaption","useInnerBlocksProps","useState","useEffect","mediaUploadSync","WIDE_ALIGNMENTS","useResizeObserver","TILE_SPACING","MAX_DISPLAYED_COLUMNS","MAX_DISPLAYED_COLUMNS_NARROW","Gallery","props","isCaptionSelected","setIsCaptionSelected","resizeObserver","sizes","maxWidth","setMaxWidth","mediaPlaceholder","attributes","images","isNarrow","onBlur","insertBlocksAfter","clientId","width","align","columns","length","displayedColumns","Math","min","innerBlocksProps","contentResizeMode","allowedBlocks","orientation","renderAppender","numColumns","marginHorizontal","marginVertical","layout","type","alignments","gridProperties","parentWidth","focusGalleryCaption","isFullWidth","full","fullWidth","galleryAppender","caption"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport { defaultColumnsNumber } from './shared';\nimport styles from './gallery-styles.scss';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BlockCaption, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useState, useEffect } from '@wordpress/element';\nimport { mediaUploadSync } from '@wordpress/react-native-bridge';\nimport { WIDE_ALIGNMENTS } from '@wordpress/components';\nimport { useResizeObserver } from '@wordpress/compose';\n\nconst TILE_SPACING = 8;\n\n// we must limit displayed columns since readable content max-width is 580px\nconst MAX_DISPLAYED_COLUMNS = 4;\nconst MAX_DISPLAYED_COLUMNS_NARROW = 2;\n\nexport const Gallery = ( props ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tuseEffect( mediaUploadSync, [] );\n\n\tconst {\n\t\tmediaPlaceholder,\n\t\tattributes,\n\t\timages,\n\t\tisNarrow,\n\t\tonBlur,\n\t\tinsertBlocksAfter,\n\t\tclientId,\n\t} = props;\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tif ( width ) {\n\t\t\tsetMaxWidth( width );\n\t\t}\n\t}, [ sizes ] );\n\n\tconst { align, columns = defaultColumnsNumber( images.length ) } =\n\t\tattributes;\n\n\tconst displayedColumns = Math.min(\n\t\tcolumns,\n\t\tisNarrow ? MAX_DISPLAYED_COLUMNS_NARROW : MAX_DISPLAYED_COLUMNS\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{},\n\t\t{\n\t\t\tcontentResizeMode: 'stretch',\n\t\t\tallowedBlocks: [ 'core/image' ],\n\t\t\torientation: 'horizontal',\n\t\t\trenderAppender: false,\n\t\t\tnumColumns: displayedColumns,\n\t\t\tmarginHorizontal: TILE_SPACING,\n\t\t\tmarginVertical: TILE_SPACING,\n\t\t\tlayout: { type: 'default', alignments: [] },\n\t\t\tgridProperties: {\n\t\t\t\tnumColumns: displayedColumns,\n\t\t\t},\n\t\t\tparentWidth: maxWidth + 2 * TILE_SPACING,\n\t\t}\n\t);\n\n\tconst focusGalleryCaption = () => {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t};\n\n\tconst isFullWidth = align === WIDE_ALIGNMENTS.alignments.full;\n\n\treturn (\n\t\t<View style={ isFullWidth && styles.fullWidth }>\n\t\t\t{ resizeObserver }\n\t\t\t<View { ...innerBlocksProps } />\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisFullWidth && styles.fullWidth,\n\t\t\t\t\tstyles.galleryAppender,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t\t<BlockCaption\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t! caption\n\t\t\t\t\t\t? /* translators: accessibility text. Empty gallery caption. */\n\n\t\t\t\t\t\t 'Gallery caption. Empty'\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: gallery caption. */\n\t\t\t\t\t\t\t\t__( 'Gallery caption. %s' ),\n\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tonFocus={ focusGalleryCaption }\n\t\t\t\tonBlur={ onBlur } // Always assign onBlur as props.\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default Gallery;\n"]}
|
|
@@ -38,7 +38,8 @@ export default function saveWithInnerBlocks({
|
|
|
38
38
|
className
|
|
39
39
|
});
|
|
40
40
|
const innerBlocksProps = useInnerBlocksProps.save(blockProps);
|
|
41
|
-
return createElement("figure",
|
|
41
|
+
return createElement("figure", { ...innerBlocksProps
|
|
42
|
+
}, innerBlocksProps.children, !RichText.isEmpty(caption) && createElement(RichText.Content, {
|
|
42
43
|
tagName: "figcaption",
|
|
43
44
|
className: classnames('blocks-gallery-caption', __experimentalGetElementClassName('caption')),
|
|
44
45
|
value: caption
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/save.js"],"names":["classnames","RichText","useBlockProps","useInnerBlocksProps","__experimentalGetElementClassName","saveWithoutInnerBlocks","isGalleryV2Enabled","saveWithInnerBlocks","attributes","caption","columns","imageCrop","className","undefined","blockProps","save","innerBlocksProps","children","isEmpty"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,QADD,EAECC,aAFD,EAGCC,mBAHD,EAICC,iCAJD,QAKO,yBALP;AAOA;AACA;AACA;;AACA,OAAOC,sBAAP,MAAmC,WAAnC;AACA,SAASC,kBAAT,QAAmC,UAAnC;AAEA,eAAe,SAASC,mBAAT,CAA8B;AAAEC,EAAAA;AAAF,CAA9B,EAA+C;AAC7D,MAAK,CAAEF,kBAAkB,EAAzB,EAA8B;AAC7B,WAAOD,sBAAsB,CAAE;AAAEG,MAAAA;AAAF,KAAF,CAA7B;AACA;;AAED,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,OAAX;AAAoBC,IAAAA;AAApB,MAAkCH,UAAxC;AAEA,QAAMI,SAAS,GAAGZ,UAAU,CAAE,mBAAF,EAAuB;AAClD,KAAG,WAAWU,OAAS,EAAvB,GAA4BA,OAAO,KAAKG,SADU;AAElD,KAAG,iBAAH,GAAuBH,OAAO,KAAKG,SAFe;AAGlD,kBAAcF;AAHoC,GAAvB,CAA5B;AAKA,QAAMG,UAAU,GAAGZ,aAAa,CAACa,IAAd,CAAoB;AAAEH,IAAAA;AAAF,GAApB,CAAnB;AACA,QAAMI,gBAAgB,GAAGb,mBAAmB,CAACY,IAApB,CAA0BD,UAA1B,CAAzB;AAEA,SACC,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/save.js"],"names":["classnames","RichText","useBlockProps","useInnerBlocksProps","__experimentalGetElementClassName","saveWithoutInnerBlocks","isGalleryV2Enabled","saveWithInnerBlocks","attributes","caption","columns","imageCrop","className","undefined","blockProps","save","innerBlocksProps","children","isEmpty"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,QADD,EAECC,aAFD,EAGCC,mBAHD,EAICC,iCAJD,QAKO,yBALP;AAOA;AACA;AACA;;AACA,OAAOC,sBAAP,MAAmC,WAAnC;AACA,SAASC,kBAAT,QAAmC,UAAnC;AAEA,eAAe,SAASC,mBAAT,CAA8B;AAAEC,EAAAA;AAAF,CAA9B,EAA+C;AAC7D,MAAK,CAAEF,kBAAkB,EAAzB,EAA8B;AAC7B,WAAOD,sBAAsB,CAAE;AAAEG,MAAAA;AAAF,KAAF,CAA7B;AACA;;AAED,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,OAAX;AAAoBC,IAAAA;AAApB,MAAkCH,UAAxC;AAEA,QAAMI,SAAS,GAAGZ,UAAU,CAAE,mBAAF,EAAuB;AAClD,KAAG,WAAWU,OAAS,EAAvB,GAA4BA,OAAO,KAAKG,SADU;AAElD,KAAG,iBAAH,GAAuBH,OAAO,KAAKG,SAFe;AAGlD,kBAAcF;AAHoC,GAAvB,CAA5B;AAKA,QAAMG,UAAU,GAAGZ,aAAa,CAACa,IAAd,CAAoB;AAAEH,IAAAA;AAAF,GAApB,CAAnB;AACA,QAAMI,gBAAgB,GAAGb,mBAAmB,CAACY,IAApB,CAA0BD,UAA1B,CAAzB;AAEA,SACC,6BAAaE;AAAb,KACGA,gBAAgB,CAACC,QADpB,EAEG,CAAEhB,QAAQ,CAACiB,OAAT,CAAkBT,OAAlB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,YADT;AAEC,IAAA,SAAS,EAAGT,UAAU,CACrB,wBADqB,EAErBI,iCAAiC,CAAE,SAAF,CAFZ,CAFvB;AAMC,IAAA,KAAK,EAAGK;AANT,IAHF,CADD;AAeA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport saveWithoutInnerBlocks from './v1/save';\nimport { isGalleryV2Enabled } from './shared';\n\nexport default function saveWithInnerBlocks( { attributes } ) {\n\tif ( ! isGalleryV2Enabled() ) {\n\t\treturn saveWithoutInnerBlocks( { attributes } );\n\t}\n\n\tconst { caption, columns, imageCrop } = attributes;\n\n\tconst className = classnames( 'has-nested-images', {\n\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t[ `columns-default` ]: columns === undefined,\n\t\t'is-cropped': imageCrop,\n\t} );\n\tconst blockProps = useBlockProps.save( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\n\treturn (\n\t\t<figure { ...innerBlocksProps }>\n\t\t\t{ innerBlocksProps.children }\n\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'blocks-gallery-caption',\n\t\t\t\t\t\t__experimentalGetElementClassName( 'caption' )\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -16,9 +15,10 @@ const IconWithColorScheme = withPreferredColorScheme(({
|
|
|
16
15
|
getStylesFromColorScheme
|
|
17
16
|
}) => {
|
|
18
17
|
const colorSchemeStyles = getStylesFromColorScheme(styles.icon, styles.iconDark);
|
|
19
|
-
return createElement(Icon,
|
|
20
|
-
icon: icon
|
|
21
|
-
|
|
18
|
+
return createElement(Icon, {
|
|
19
|
+
icon: icon,
|
|
20
|
+
...colorSchemeStyles
|
|
21
|
+
});
|
|
22
22
|
});
|
|
23
23
|
export const sharedIcon = createElement(IconWithColorScheme, null);
|
|
24
24
|
//# sourceMappingURL=shared-icon.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/shared-icon.native.js"],"names":["Icon","withPreferredColorScheme","gallery","icon","styles","IconWithColorScheme","getStylesFromColorScheme","colorSchemeStyles","iconDark","sharedIcon"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/shared-icon.native.js"],"names":["Icon","withPreferredColorScheme","gallery","icon","styles","IconWithColorScheme","getStylesFromColorScheme","colorSchemeStyles","iconDark","sharedIcon"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,uBAArB;AACA,SAASC,wBAAT,QAAyC,oBAAzC;AACA,SAASC,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,eAAnB;AAEA,MAAMC,mBAAmB,GAAGJ,wBAAwB,CACnD,CAAE;AAAEK,EAAAA;AAAF,CAAF,KAAoC;AACnC,QAAMC,iBAAiB,GAAGD,wBAAwB,CACjDF,MAAM,CAACD,IAD0C,EAEjDC,MAAM,CAACI,QAF0C,CAAlD;AAIA,SAAO,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGL,IAAb;AAAA,OAAyBI;AAAzB,IAAP;AACA,CAPkD,CAApD;AAUA,OAAO,MAAME,UAAU,GAAG,cAAC,mBAAD,OAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { gallery as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nconst IconWithColorScheme = withPreferredColorScheme(\n\t( { getStylesFromColorScheme } ) => {\n\t\tconst colorSchemeStyles = getStylesFromColorScheme(\n\t\t\tstyles.icon,\n\t\t\tstyles.iconDark\n\t\t);\n\t\treturn <Icon icon={ icon } { ...colorSchemeStyles } />;\n\t}\n);\n\nexport const sharedIcon = <IconWithColorScheme />;\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement, Fragment } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -355,23 +354,24 @@ function GalleryEdit(props) {
|
|
|
355
354
|
const blockProps = useBlockProps();
|
|
356
355
|
|
|
357
356
|
if (!hasImages) {
|
|
358
|
-
return createElement(View, blockProps
|
|
357
|
+
return createElement(View, { ...blockProps
|
|
358
|
+
}, mediaPlaceholder);
|
|
359
359
|
}
|
|
360
360
|
|
|
361
361
|
const imageSizeOptions = getImagesSizeOptions();
|
|
362
362
|
const shouldShowSizeOptions = hasImages && imageSizeOptions.length > 0;
|
|
363
363
|
return createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
|
|
364
364
|
title: __('Settings')
|
|
365
|
-
}, images.length > 1 && createElement(RangeControl,
|
|
365
|
+
}, images.length > 1 && createElement(RangeControl, {
|
|
366
366
|
__nextHasNoMarginBottom: true,
|
|
367
367
|
label: __('Columns'),
|
|
368
368
|
value: columns,
|
|
369
369
|
onChange: setColumnsNumber,
|
|
370
370
|
min: 1,
|
|
371
|
-
max: Math.min(MAX_COLUMNS, images.length)
|
|
372
|
-
|
|
371
|
+
max: Math.min(MAX_COLUMNS, images.length),
|
|
372
|
+
...MOBILE_CONTROL_PROPS_RANGE_CONTROL,
|
|
373
373
|
required: true
|
|
374
|
-
})
|
|
374
|
+
}), createElement(ToggleControl, {
|
|
375
375
|
__nextHasNoMarginBottom: true,
|
|
376
376
|
label: __('Crop images'),
|
|
377
377
|
checked: !!imageCrop,
|
|
@@ -391,7 +391,7 @@ function GalleryEdit(props) {
|
|
|
391
391
|
options: imageSizeOptions,
|
|
392
392
|
onChange: updateImagesSize,
|
|
393
393
|
hideCancelButton: true
|
|
394
|
-
}))), noticeUI, createElement(Gallery,
|
|
394
|
+
}))), noticeUI, createElement(Gallery, { ...props,
|
|
395
395
|
selectedImage: selectedImage,
|
|
396
396
|
mediaPlaceholder: mediaPlaceholder,
|
|
397
397
|
onMoveBackward: onMoveBackward,
|
|
@@ -403,7 +403,7 @@ function GalleryEdit(props) {
|
|
|
403
403
|
blockProps: blockProps // This prop is used by gallery.native.js.
|
|
404
404
|
,
|
|
405
405
|
onFocusGalleryCaption: onFocusGalleryCaption
|
|
406
|
-
}))
|
|
406
|
+
}));
|
|
407
407
|
}
|
|
408
408
|
|
|
409
409
|
export default compose([withNotices, withViewportMatch({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["compose","PanelBody","SelectControl","ToggleControl","withNotices","RangeControl","MediaPlaceholder","InspectorControls","useBlockProps","store","blockEditorStore","Platform","useEffect","useState","useMemo","__","getBlobByURL","isBlobURL","revokeBlobURL","useDispatch","useSelect","withViewportMatch","View","coreStore","sharedIcon","pickRelevantMediaFiles","defaultColumnsNumberV1","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","resizedImages","ids","reduce","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","url","mediaDetailsUrl","media_details","source_url","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","map","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","filter","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","find","currentImageCaption","caption","attachment","onSelectImages","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","resizedImageSizes","Object","values","some","name","updateImagesSize","newSizeSlug","updatedImages","OS","every","filesList","forEach","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","mediaPlaceholder","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","isNarrow"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\t\twasBlockJustInserted: select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t\t};\n\t\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn ( attributes.ids ?? [] ).reduce(\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = imageSizes.reduce( ( currentSizes, size ) => {\n\t\t\t\t\t\tconst defaultUrl = image?.sizes?.[ size.slug ]?.url;\n\t\t\t\t\t\tconst mediaDetailsUrl =\n\t\t\t\t\t\t\timage?.media_details?.sizes?.[ size.slug ]\n\t\t\t\t\t\t\t\t?.source_url;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t};\n\t\t\t\t\t}, {} );\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: newAttrs.images.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = images.filter( ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = newImage.id.toString();\n\t\tconst currentImage = images.find( ( { id } ) => id === newImageId );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = attachmentCaptions.find(\n\t\t\t( { id } ) => id === newImageId\n\t\t);\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\tconst resizedImageSizes = Object.values( resizedImages );\n\t\treturn imageSizes\n\t\t\t.filter( ( { slug } ) =>\n\t\t\t\tresizedImageSizes.some( ( sizes ) => sizes[ slug ] )\n\t\t\t)\n\t\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = ( images ?? [] ).map( ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url =\n\t\t\t\tresizedImages[ parseInt( image.id, 10 ) ]?.[ newSizeSlug ];\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\timages.every( ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = images.map( ( { url } ) => getBlobByURL( url ) );\n\t\t\timages.forEach( ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block.\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && imageSizeOptions.length > 0;\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{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ shouldShowSizeOptions && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\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{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["compose","PanelBody","SelectControl","ToggleControl","withNotices","RangeControl","MediaPlaceholder","InspectorControls","useBlockProps","store","blockEditorStore","Platform","useEffect","useState","useMemo","__","getBlobByURL","isBlobURL","revokeBlobURL","useDispatch","useSelect","withViewportMatch","View","coreStore","sharedIcon","pickRelevantMediaFiles","defaultColumnsNumberV1","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","resizedImages","ids","reduce","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","url","mediaDetailsUrl","media_details","source_url","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","map","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","filter","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","find","currentImageCaption","caption","attachment","onSelectImages","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","resizedImageSizes","Object","values","some","name","updateImagesSize","newSizeSlug","updatedImages","OS","every","filesList","forEach","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","mediaPlaceholder","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","isNarrow"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\t\twasBlockJustInserted: select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t\t};\n\t\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn ( attributes.ids ?? [] ).reduce(\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = imageSizes.reduce( ( currentSizes, size ) => {\n\t\t\t\t\t\tconst defaultUrl = image?.sizes?.[ size.slug ]?.url;\n\t\t\t\t\t\tconst mediaDetailsUrl =\n\t\t\t\t\t\t\timage?.media_details?.sizes?.[ size.slug ]\n\t\t\t\t\t\t\t\t?.source_url;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t};\n\t\t\t\t\t}, {} );\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: newAttrs.images.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = images.filter( ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = newImage.id.toString();\n\t\tconst currentImage = images.find( ( { id } ) => id === newImageId );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = attachmentCaptions.find(\n\t\t\t( { id } ) => id === newImageId\n\t\t);\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\tconst resizedImageSizes = Object.values( resizedImages );\n\t\treturn imageSizes\n\t\t\t.filter( ( { slug } ) =>\n\t\t\t\tresizedImageSizes.some( ( sizes ) => sizes[ slug ] )\n\t\t\t)\n\t\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = ( images ?? [] ).map( ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url =\n\t\t\t\tresizedImages[ parseInt( image.id, 10 ) ]?.[ newSizeSlug ];\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\timages.every( ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = images.map( ( { url } ) => getBlobByURL( url ) );\n\t\t\timages.forEach( ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block.\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && imageSizeOptions.length > 0;\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{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ shouldShowSizeOptions && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\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{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -42,13 +41,13 @@ export const Gallery = props => {
|
|
|
42
41
|
imageCrop,
|
|
43
42
|
images
|
|
44
43
|
} = attributes;
|
|
45
|
-
return createElement("figure",
|
|
44
|
+
return createElement("figure", { ...blockProps,
|
|
46
45
|
className: classnames(blockProps.className, {
|
|
47
46
|
[`align${align}`]: align,
|
|
48
47
|
[`columns-${columns}`]: columns,
|
|
49
48
|
'is-cropped': imageCrop
|
|
50
49
|
})
|
|
51
|
-
}
|
|
50
|
+
}, createElement("ul", {
|
|
52
51
|
className: "blocks-gallery-grid"
|
|
53
52
|
}, images.map((img, index) => {
|
|
54
53
|
const ariaLabel = sprintf(
|
|
@@ -93,9 +92,11 @@ function RichTextVisibilityHelper({
|
|
|
93
92
|
isHidden,
|
|
94
93
|
...richTextProps
|
|
95
94
|
}) {
|
|
96
|
-
return isHidden ? createElement(VisuallyHidden,
|
|
97
|
-
as: RichText
|
|
98
|
-
|
|
95
|
+
return isHidden ? createElement(VisuallyHidden, {
|
|
96
|
+
as: RichText,
|
|
97
|
+
...richTextProps
|
|
98
|
+
}) : createElement(RichText, { ...richTextProps
|
|
99
|
+
});
|
|
99
100
|
}
|
|
100
101
|
|
|
101
102
|
export default Gallery;
|