@wordpress/block-library 8.19.6 → 8.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +0 -5
- package/build/archives/edit.js +8 -8
- package/build/archives/edit.js.map +1 -1
- package/build/audio/deprecated.js +3 -3
- package/build/audio/deprecated.js.map +1 -1
- package/build/audio/edit.js +17 -16
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js +15 -14
- package/build/audio/edit.native.js.map +1 -1
- package/build/audio/save.js +4 -4
- package/build/audio/save.js.map +1 -1
- package/build/avatar/edit.js +19 -19
- package/build/avatar/edit.js.map +1 -1
- package/build/avatar/user-control.js +3 -2
- package/build/avatar/user-control.js.map +1 -1
- package/build/block/edit-title.native.js +8 -8
- package/build/block/edit-title.native.js.map +1 -1
- package/build/block/edit.js +11 -10
- package/build/block/edit.js.map +1 -1
- package/build/block/edit.native.js +17 -16
- package/build/block/edit.native.js.map +1 -1
- package/build/button/color-background.native.js +3 -3
- package/build/button/color-background.native.js.map +1 -1
- package/build/button/constants.js +13 -0
- package/build/button/constants.js.map +1 -0
- package/build/button/deprecated.js +19 -19
- package/build/button/deprecated.js.map +1 -1
- package/build/button/edit.js +42 -44
- package/build/button/edit.js.map +1 -1
- package/build/button/edit.native.js +15 -14
- package/build/button/edit.native.js.map +1 -1
- package/build/button/get-updated-link-attributes.js +54 -0
- package/build/button/get-updated-link-attributes.js.map +1 -0
- package/build/button/save.js +3 -3
- package/build/button/save.js.map +1 -1
- package/build/buttons/deprecated.js +4 -4
- package/build/buttons/deprecated.js.map +1 -1
- package/build/buttons/edit.js +2 -2
- package/build/buttons/edit.js.map +1 -1
- package/build/buttons/edit.native.js +7 -6
- package/build/buttons/edit.native.js.map +1 -1
- package/build/buttons/save.js +2 -2
- package/build/buttons/save.js.map +1 -1
- package/build/calendar/edit.js +6 -6
- package/build/calendar/edit.js.map +1 -1
- package/build/categories/edit.js +17 -17
- package/build/categories/edit.js.map +1 -1
- package/build/code/edit.js +3 -3
- package/build/code/edit.js.map +1 -1
- package/build/code/edit.native.js +2 -2
- package/build/code/edit.native.js.map +1 -1
- package/build/code/save.js +3 -3
- package/build/code/save.js.map +1 -1
- package/build/column/column-preview.native.js +4 -4
- package/build/column/column-preview.native.js.map +1 -1
- package/build/column/deprecated.js +3 -3
- package/build/column/deprecated.js.map +1 -1
- package/build/column/edit.js +5 -5
- package/build/column/edit.js.map +1 -1
- package/build/column/edit.native.js +14 -13
- package/build/column/edit.native.js.map +1 -1
- package/build/column/save.js +2 -2
- package/build/column/save.js.map +1 -1
- package/build/columns/deprecated.js +7 -7
- package/build/columns/deprecated.js.map +1 -1
- package/build/columns/edit.js +9 -9
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +15 -14
- package/build/columns/edit.native.js.map +1 -1
- package/build/columns/save.js +2 -2
- package/build/columns/save.js.map +1 -1
- package/build/columns/variations.js +13 -13
- package/build/columns/variations.js.map +1 -1
- package/build/comment-author-avatar/edit.js +6 -6
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/comment-author-name/edit.js +8 -8
- package/build/comment-author-name/edit.js.map +1 -1
- package/build/comment-content/edit.js +8 -7
- package/build/comment-content/edit.js.map +1 -1
- package/build/comment-date/edit.js +8 -8
- package/build/comment-date/edit.js.map +1 -1
- package/build/comment-edit-link/edit.js +7 -7
- package/build/comment-edit-link/edit.js.map +1 -1
- package/build/comment-reply-link/edit.js +5 -5
- package/build/comment-reply-link/edit.js.map +1 -1
- package/build/comment-template/edit.js +14 -13
- package/build/comment-template/edit.js.map +1 -1
- package/build/comment-template/save.js +2 -2
- package/build/comment-template/save.js.map +1 -1
- package/build/comments/deprecated.js +3 -3
- package/build/comments/deprecated.js.map +1 -1
- package/build/comments/edit/comments-inspector-controls.js +3 -3
- package/build/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build/comments/edit/comments-legacy.js +7 -7
- package/build/comments/edit/comments-legacy.js.map +1 -1
- package/build/comments/edit/index.js +4 -4
- package/build/comments/edit/index.js.map +1 -1
- package/build/comments/edit/placeholder.js +34 -33
- package/build/comments/edit/placeholder.js.map +1 -1
- package/build/comments/save.js +2 -2
- package/build/comments/save.js.map +1 -1
- package/build/comments-pagination/comments-pagination-arrow-controls.js +5 -5
- package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
- package/build/comments-pagination/edit.js +5 -5
- package/build/comments-pagination/edit.js.map +1 -1
- package/build/comments-pagination/save.js +2 -2
- package/build/comments-pagination/save.js.map +1 -1
- package/build/comments-pagination-next/edit.js +4 -4
- package/build/comments-pagination-next/edit.js.map +1 -1
- package/build/comments-pagination-numbers/edit.js +11 -11
- package/build/comments-pagination-numbers/edit.js.map +1 -1
- package/build/comments-pagination-previous/edit.js +4 -4
- package/build/comments-pagination-previous/edit.js.map +1 -1
- package/build/comments-title/edit.js +9 -8
- package/build/comments-title/edit.js.map +1 -1
- package/build/cover/controls.native.js +17 -16
- package/build/cover/controls.native.js.map +1 -1
- package/build/cover/deprecated.js +239 -62
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit/block-controls.js +6 -5
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/color-utils.js +135 -0
- package/build/cover/edit/color-utils.js.map +1 -0
- package/build/cover/edit/cover-placeholder.js +3 -3
- package/build/cover/edit/cover-placeholder.js.map +1 -1
- package/build/cover/edit/index.js +106 -52
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +19 -18
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/resizable-cover-popover.js +3 -2
- package/build/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build/cover/edit.native.js +44 -37
- package/build/cover/edit.native.js.map +1 -1
- package/build/cover/focal-point-settings-button.native.js +4 -4
- package/build/cover/focal-point-settings-button.native.js.map +1 -1
- package/build/cover/index.js +3 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/overlay-color-settings.native.js +3 -2
- package/build/cover/overlay-color-settings.native.js.map +1 -1
- package/build/cover/save.js +7 -7
- package/build/cover/save.js.map +1 -1
- package/build/cover/shared.js +33 -133
- package/build/cover/shared.js.map +1 -1
- package/build/details/edit.js +6 -6
- package/build/details/edit.js.map +1 -1
- package/build/details/save.js +4 -4
- package/build/details/save.js.map +1 -1
- package/build/embed/deprecated.js +6 -6
- package/build/embed/deprecated.js.map +1 -1
- package/build/embed/edit.js +9 -8
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +10 -9
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/embed-controls.js +4 -4
- package/build/embed/embed-controls.js.map +1 -1
- package/build/embed/embed-controls.native.js +5 -5
- package/build/embed/embed-controls.native.js.map +1 -1
- package/build/embed/embed-link-settings.native.js +4 -3
- package/build/embed/embed-link-settings.native.js.map +1 -1
- package/build/embed/embed-loading.js +3 -3
- package/build/embed/embed-loading.js.map +1 -1
- package/build/embed/embed-loading.native.js +3 -3
- package/build/embed/embed-loading.native.js.map +1 -1
- package/build/embed/embed-no-preview.native.js +21 -20
- package/build/embed/embed-no-preview.native.js.map +1 -1
- package/build/embed/embed-placeholder.js +12 -12
- package/build/embed/embed-placeholder.js.map +1 -1
- package/build/embed/embed-placeholder.native.js +13 -12
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/embed/embed-preview.js +13 -12
- package/build/embed/embed-preview.js.map +1 -1
- package/build/embed/embed-preview.native.js +8 -7
- package/build/embed/embed-preview.native.js.map +1 -1
- package/build/embed/icons.js +49 -49
- package/build/embed/icons.js.map +1 -1
- package/build/embed/save.js +4 -4
- package/build/embed/save.js.map +1 -1
- package/build/embed/util.js +4 -3
- package/build/embed/util.js.map +1 -1
- package/build/embed/wp-embed-preview.js +5 -4
- package/build/embed/wp-embed-preview.js.map +1 -1
- package/build/embed/wp-embed-preview.native.js +2 -1
- package/build/embed/wp-embed-preview.native.js.map +1 -1
- package/build/file/deprecated.js +19 -19
- package/build/file/deprecated.js.map +1 -1
- package/build/file/edit.js +18 -17
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js +23 -22
- package/build/file/edit.native.js.map +1 -1
- package/build/file/inspector.js +8 -8
- package/build/file/inspector.js.map +1 -1
- package/build/file/save.js +7 -7
- package/build/file/save.js.map +1 -1
- package/build/footnotes/edit.js +11 -11
- package/build/footnotes/edit.js.map +1 -1
- package/build/footnotes/format.js +2 -2
- package/build/footnotes/format.js.map +1 -1
- package/build/footnotes/index.js +1 -1
- package/build/freeform/convert-to-blocks-button.js +2 -2
- package/build/freeform/convert-to-blocks-button.js.map +1 -1
- package/build/freeform/edit.js +8 -7
- package/build/freeform/edit.js.map +1 -1
- package/build/freeform/edit.native.js +2 -2
- package/build/freeform/edit.native.js.map +1 -1
- package/build/freeform/modal.js +11 -10
- package/build/freeform/modal.js.map +1 -1
- package/build/freeform/save.js +2 -1
- package/build/freeform/save.js.map +1 -1
- package/build/gallery/deprecated.js +38 -38
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit-wrapper.js +3 -3
- package/build/gallery/edit-wrapper.js.map +1 -1
- package/build/gallery/edit.js +18 -17
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +5 -4
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gallery.native.js +6 -5
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/gap-styles.js +4 -3
- package/build/gallery/gap-styles.js.map +1 -1
- package/build/gallery/save.js +3 -3
- package/build/gallery/save.js.map +1 -1
- package/build/gallery/shared-icon.js +2 -2
- package/build/gallery/shared-icon.js.map +1 -1
- package/build/gallery/v1/edit.js +10 -9
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery-button.native.js +3 -3
- package/build/gallery/v1/gallery-button.native.js.map +1 -1
- package/build/gallery/v1/gallery-image.js +14 -13
- package/build/gallery/v1/gallery-image.js.map +1 -1
- package/build/gallery/v1/gallery-image.native.js +15 -14
- package/build/gallery/v1/gallery-image.native.js.map +1 -1
- package/build/gallery/v1/gallery.js +8 -8
- package/build/gallery/v1/gallery.js.map +1 -1
- package/build/gallery/v1/gallery.native.js +7 -6
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/gallery/v1/save.js +8 -8
- package/build/gallery/v1/save.js.map +1 -1
- package/build/gallery/v1/tiles.native.js +4 -3
- package/build/gallery/v1/tiles.native.js.map +1 -1
- package/build/group/deprecated.js +13 -13
- package/build/group/deprecated.js.map +1 -1
- package/build/group/edit.js +8 -8
- package/build/group/edit.js.map +1 -1
- package/build/group/edit.native.js +7 -6
- package/build/group/edit.native.js.map +1 -1
- package/build/group/placeholder.js +16 -15
- package/build/group/placeholder.js.map +1 -1
- package/build/group/save.js +2 -2
- package/build/group/save.js.map +1 -1
- package/build/heading/deprecated.js +8 -8
- package/build/heading/deprecated.js.map +1 -1
- package/build/heading/edit.js +6 -5
- package/build/heading/edit.js.map +1 -1
- package/build/heading/save.js +3 -3
- package/build/heading/save.js.map +1 -1
- package/build/home-link/edit.js +5 -4
- package/build/home-link/edit.js.map +1 -1
- package/build/home-link/save.js +2 -2
- package/build/home-link/save.js.map +1 -1
- package/build/html/edit.js +16 -9
- package/build/html/edit.js.map +1 -1
- package/build/html/preview.js +7 -3
- package/build/html/preview.js.map +1 -1
- package/build/html/save.js +2 -1
- package/build/html/save.js.map +1 -1
- package/build/image/deprecated.js +35 -35
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.js +10 -9
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +30 -29
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +31 -33
- package/build/image/image.js.map +1 -1
- package/build/image/save.js +5 -5
- package/build/image/save.js.map +1 -1
- package/build/image/view.js +6 -25
- package/build/image/view.js.map +1 -1
- package/build/latest-comments/edit.js +8 -8
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/edit.js +35 -38
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/edit.native.js +19 -18
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/list/deprecated.js +7 -7
- package/build/list/deprecated.js.map +1 -1
- package/build/list/edit.js +9 -8
- package/build/list/edit.js.map +1 -1
- package/build/list/ordered-list-settings.js +5 -5
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/list/save.js +3 -3
- package/build/list/save.js.map +1 -1
- package/build/list/tag-name.js +2 -1
- package/build/list/tag-name.js.map +1 -1
- package/build/list/tag-name.native.js +2 -1
- package/build/list/tag-name.native.js.map +1 -1
- package/build/list-item/edit.js +7 -7
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/edit.native.js +11 -10
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +15 -15
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/icons.native.js +7 -7
- package/build/list-item/icons.native.js.map +1 -1
- package/build/list-item/list-style-type.native.js +8 -7
- package/build/list-item/list-style-type.native.js.map +1 -1
- package/build/list-item/save.js +4 -4
- package/build/list-item/save.js.map +1 -1
- package/build/lock-unlock.js +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/loginout/edit.js +6 -6
- package/build/loginout/edit.js.map +1 -1
- package/build/loginout/index.js +8 -0
- package/build/loginout/index.js.map +1 -1
- package/build/media-text/deprecated.js +44 -44
- package/build/media-text/deprecated.js.map +1 -1
- package/build/media-text/edit.js +20 -19
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/edit.native.js +12 -11
- package/build/media-text/edit.native.js.map +1 -1
- package/build/media-text/icon-retry.native.js +4 -4
- package/build/media-text/icon-retry.native.js.map +1 -1
- package/build/media-text/media-container.js +13 -12
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/media-container.native.js +20 -19
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/media-text/save.js +10 -10
- package/build/media-text/save.js.map +1 -1
- package/build/missing/edit.js +6 -5
- package/build/missing/edit.js.map +1 -1
- package/build/missing/edit.native.js +17 -16
- package/build/missing/edit.native.js.map +1 -1
- package/build/missing/save.js +2 -1
- package/build/missing/save.js.map +1 -1
- package/build/more/edit.js +4 -4
- package/build/more/edit.js.map +1 -1
- package/build/more/edit.native.js +3 -2
- package/build/more/edit.native.js.map +1 -1
- package/build/more/save.js +2 -1
- package/build/more/save.js.map +1 -1
- package/build/navigation/deprecated.js +7 -7
- package/build/navigation/deprecated.js.map +1 -1
- package/build/navigation/edit/accessible-description.js +2 -2
- package/build/navigation/edit/accessible-description.js.map +1 -1
- package/build/navigation/edit/accessible-menu-description.js +2 -2
- package/build/navigation/edit/accessible-menu-description.js.map +1 -1
- package/build/navigation/edit/deleted-navigation-warning.js +4 -3
- package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
- package/build/navigation/edit/index.js +45 -43
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +4 -3
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/leaf-more-menu.js +7 -7
- package/build/navigation/edit/leaf-more-menu.js.map +1 -1
- package/build/navigation/edit/manage-menus-button.js +2 -2
- package/build/navigation/edit/manage-menus-button.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +13 -13
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +7 -6
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-name-control.js +2 -2
- package/build/navigation/edit/navigation-menu-name-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +9 -8
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/overlay-menu-icon.js +5 -5
- package/build/navigation/edit/overlay-menu-icon.js.map +1 -1
- package/build/navigation/edit/overlay-menu-preview.js +7 -7
- package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +10 -9
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/placeholder/placeholder-preview.js +4 -4
- package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
- package/build/navigation/edit/responsive-wrapper.js +9 -9
- package/build/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +3 -2
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/save.js +2 -2
- package/build/navigation/save.js.map +1 -1
- package/build/navigation/view.js +0 -7
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +21 -20
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/icons.js +3 -3
- package/build/navigation-link/icons.js.map +1 -1
- package/build/navigation-link/index.js +2 -2
- package/build/navigation-link/index.js.map +1 -1
- package/build/navigation-link/link-ui.js +20 -11
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/navigation-link/save.js +2 -2
- package/build/navigation-link/save.js.map +1 -1
- package/build/navigation-submenu/edit.js +16 -15
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/navigation-submenu/icons.js +3 -3
- package/build/navigation-submenu/icons.js.map +1 -1
- package/build/navigation-submenu/save.js +2 -2
- package/build/navigation-submenu/save.js.map +1 -1
- package/build/nextpage/edit.js +3 -3
- package/build/nextpage/edit.js.map +1 -1
- package/build/nextpage/edit.native.js +3 -3
- package/build/nextpage/edit.native.js.map +1 -1
- package/build/nextpage/save.js +2 -1
- package/build/nextpage/save.js.map +1 -1
- package/build/page-list/convert-to-links-modal.js +6 -6
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/edit.js +21 -20
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list-item/edit.js +7 -7
- package/build/page-list-item/edit.js.map +1 -1
- package/build/paragraph/deprecated.js +9 -8
- package/build/paragraph/deprecated.js.map +1 -1
- package/build/paragraph/edit.js +9 -9
- package/build/paragraph/edit.js.map +1 -1
- package/build/paragraph/edit.native.js +5 -4
- package/build/paragraph/edit.native.js.map +1 -1
- package/build/paragraph/save.js +3 -3
- package/build/paragraph/save.js.map +1 -1
- package/build/pattern/edit.js +3 -2
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +19 -19
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author-biography/edit.js +4 -4
- package/build/post-author-biography/edit.js.map +1 -1
- package/build/post-author-name/edit.js +8 -8
- package/build/post-author-name/edit.js.map +1 -1
- package/build/post-comment/edit.js +7 -6
- package/build/post-comment/edit.js.map +1 -1
- package/build/post-comment/save.js +2 -2
- package/build/post-comment/save.js.map +1 -1
- package/build/post-comments-count/edit.js +6 -5
- package/build/post-comments-count/edit.js.map +1 -1
- package/build/post-comments-form/edit.js +6 -6
- package/build/post-comments-form/edit.js.map +1 -1
- package/build/post-comments-form/form.js +13 -13
- package/build/post-comments-form/form.js.map +1 -1
- package/build/post-comments-link/edit.js +7 -6
- package/build/post-comments-link/edit.js.map +1 -1
- package/build/post-content/edit.js +14 -14
- package/build/post-content/edit.js.map +1 -1
- package/build/post-date/edit.js +14 -13
- package/build/post-date/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +16 -15
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +15 -15
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +17 -17
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/overlay.js +6 -6
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/post-navigation-link/edit.js +13 -13
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-template/edit.js +11 -10
- package/build/post-template/edit.js.map +1 -1
- package/build/post-template/save.js +2 -2
- package/build/post-template/save.js.map +1 -1
- package/build/post-terms/edit.js +9 -9
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-time-to-read/edit.js +5 -4
- package/build/post-time-to-read/edit.js.map +1 -1
- package/build/post-time-to-read/icon.js +3 -3
- package/build/post-time-to-read/icon.js.map +1 -1
- package/build/post-title/edit.js +15 -15
- package/build/post-title/edit.js.map +1 -1
- package/build/preformatted/edit.js +2 -2
- package/build/preformatted/edit.js.map +1 -1
- package/build/preformatted/edit.native.js +3 -3
- package/build/preformatted/edit.native.js.map +1 -1
- package/build/preformatted/save.js +3 -3
- package/build/preformatted/save.js.map +1 -1
- package/build/pullquote/blockquote.native.js +3 -2
- package/build/pullquote/blockquote.native.js.map +1 -1
- package/build/pullquote/deprecated.js +21 -21
- package/build/pullquote/deprecated.js.map +1 -1
- package/build/pullquote/edit.js +7 -6
- package/build/pullquote/edit.js.map +1 -1
- package/build/pullquote/edit.native.js +7 -7
- package/build/pullquote/edit.native.js.map +1 -1
- package/build/pullquote/figure.native.js +2 -2
- package/build/pullquote/figure.native.js.map +1 -1
- package/build/pullquote/save.js +4 -4
- package/build/pullquote/save.js.map +1 -1
- package/build/query/deprecated.js +6 -6
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/enhanced-pagination-modal.js +6 -5
- package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build/query/edit/index.js +4 -3
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/inspector-controls/author-control.js +2 -2
- package/build/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build/query/edit/inspector-controls/create-new-post-link.js +4 -3
- package/build/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js +3 -3
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +20 -19
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/order-control.js +2 -2
- package/build/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build/query/edit/inspector-controls/parent-control.js +3 -2
- package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build/query/edit/inspector-controls/sticky-control.js +2 -2
- package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +6 -5
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js +7 -6
- package/build/query/edit/pattern-selection-modal.js.map +1 -1
- package/build/query/edit/query-content.js +8 -7
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/edit/query-placeholder.js +9 -8
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/edit/query-toolbar.js +9 -9
- package/build/query/edit/query-toolbar.js.map +1 -1
- package/build/query/icons.js +9 -9
- package/build/query/icons.js.map +1 -1
- package/build/query/save.js +2 -2
- package/build/query/save.js.map +1 -1
- package/build/query/view.js +5 -5
- package/build/query/view.js.map +1 -1
- package/build/query-no-results/edit.js +2 -2
- package/build/query-no-results/edit.js.map +1 -1
- package/build/query-no-results/save.js +2 -2
- package/build/query-no-results/save.js.map +1 -1
- package/build/query-pagination/deprecated.js +3 -3
- package/build/query-pagination/deprecated.js.map +1 -1
- package/build/query-pagination/edit.js +6 -5
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-pagination/query-pagination-arrow-controls.js +5 -5
- package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -1
- package/build/query-pagination/query-pagination-label-control.js +2 -2
- package/build/query-pagination/query-pagination-label-control.js.map +1 -1
- package/build/query-pagination/save.js +2 -2
- package/build/query-pagination/save.js.map +1 -1
- package/build/query-pagination-next/edit.js +4 -4
- package/build/query-pagination-next/edit.js.map +1 -1
- package/build/query-pagination-numbers/edit.js +6 -6
- package/build/query-pagination-numbers/edit.js.map +1 -1
- package/build/query-pagination-previous/edit.js +4 -4
- package/build/query-pagination-previous/edit.js.map +1 -1
- package/build/query-title/edit.js +12 -12
- package/build/query-title/edit.js.map +1 -1
- package/build/quote/deprecated.js +13 -13
- package/build/quote/deprecated.js.map +1 -1
- package/build/quote/edit.js +6 -5
- package/build/quote/edit.js.map +1 -1
- package/build/quote/save.js +3 -3
- package/build/quote/save.js.map +1 -1
- package/build/read-more/edit.js +4 -4
- package/build/read-more/edit.js.map +1 -1
- package/build/rss/edit.js +20 -18
- package/build/rss/edit.js.map +1 -1
- package/build/search/edit.js +18 -17
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +16 -15
- package/build/search/edit.native.js.map +1 -1
- package/build/search/icons.js +17 -17
- package/build/search/icons.js.map +1 -1
- package/build/separator/deprecated.js +2 -2
- package/build/separator/deprecated.js.map +1 -1
- package/build/separator/edit.js +2 -2
- package/build/separator/edit.js.map +1 -1
- package/build/separator/save.js +2 -2
- package/build/separator/save.js.map +1 -1
- package/build/shortcode/edit.js +5 -5
- package/build/shortcode/edit.js.map +1 -1
- package/build/shortcode/edit.native.js +5 -4
- package/build/shortcode/edit.native.js.map +1 -1
- package/build/shortcode/save.js +2 -1
- package/build/shortcode/save.js.map +1 -1
- package/build/site-logo/edit.js +41 -40
- package/build/site-logo/edit.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 +3 -3
- package/build/site-tagline/icon.js.map +1 -1
- package/build/site-title/edit/index.js +12 -12
- package/build/site-title/edit/index.js.map +1 -1
- package/build/social-link/edit.js +15 -14
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/edit.native.js +8 -7
- package/build/social-link/edit.native.js.map +1 -1
- package/build/social-link/icons/amazon.js +3 -3
- package/build/social-link/icons/amazon.js.map +1 -1
- package/build/social-link/icons/bandcamp.js +3 -3
- package/build/social-link/icons/bandcamp.js.map +1 -1
- package/build/social-link/icons/behance.js +3 -3
- package/build/social-link/icons/behance.js.map +1 -1
- package/build/social-link/icons/chain.js +3 -3
- package/build/social-link/icons/chain.js.map +1 -1
- package/build/social-link/icons/codepen.js +3 -3
- package/build/social-link/icons/codepen.js.map +1 -1
- package/build/social-link/icons/deviantart.js +3 -3
- package/build/social-link/icons/deviantart.js.map +1 -1
- package/build/social-link/icons/dribbble.js +3 -3
- package/build/social-link/icons/dribbble.js.map +1 -1
- package/build/social-link/icons/dropbox.js +3 -3
- package/build/social-link/icons/dropbox.js.map +1 -1
- package/build/social-link/icons/etsy.js +3 -3
- package/build/social-link/icons/etsy.js.map +1 -1
- package/build/social-link/icons/facebook.js +3 -3
- package/build/social-link/icons/facebook.js.map +1 -1
- package/build/social-link/icons/feed.js +3 -3
- package/build/social-link/icons/feed.js.map +1 -1
- package/build/social-link/icons/fivehundredpx.js +3 -3
- package/build/social-link/icons/fivehundredpx.js.map +1 -1
- package/build/social-link/icons/flickr.js +3 -3
- package/build/social-link/icons/flickr.js.map +1 -1
- package/build/social-link/icons/foursquare.js +3 -3
- package/build/social-link/icons/foursquare.js.map +1 -1
- package/build/social-link/icons/github.js +3 -3
- package/build/social-link/icons/github.js.map +1 -1
- package/build/social-link/icons/goodreads.js +3 -3
- package/build/social-link/icons/goodreads.js.map +1 -1
- package/build/social-link/icons/google.js +3 -3
- package/build/social-link/icons/google.js.map +1 -1
- package/build/social-link/icons/instagram.js +3 -3
- package/build/social-link/icons/instagram.js.map +1 -1
- package/build/social-link/icons/lastfm.js +3 -3
- package/build/social-link/icons/lastfm.js.map +1 -1
- package/build/social-link/icons/linkedin.js +3 -3
- package/build/social-link/icons/linkedin.js.map +1 -1
- package/build/social-link/icons/mail.js +3 -3
- package/build/social-link/icons/mail.js.map +1 -1
- package/build/social-link/icons/mastodon.js +3 -3
- package/build/social-link/icons/mastodon.js.map +1 -1
- package/build/social-link/icons/medium.js +3 -3
- package/build/social-link/icons/medium.js.map +1 -1
- package/build/social-link/icons/meetup.js +3 -3
- package/build/social-link/icons/meetup.js.map +1 -1
- package/build/social-link/icons/patreon.js +4 -4
- package/build/social-link/icons/patreon.js.map +1 -1
- package/build/social-link/icons/pinterest.js +3 -3
- package/build/social-link/icons/pinterest.js.map +1 -1
- package/build/social-link/icons/pocket.js +3 -3
- package/build/social-link/icons/pocket.js.map +1 -1
- package/build/social-link/icons/reddit.js +3 -3
- package/build/social-link/icons/reddit.js.map +1 -1
- package/build/social-link/icons/skype.js +3 -3
- package/build/social-link/icons/skype.js.map +1 -1
- package/build/social-link/icons/snapchat.js +3 -3
- package/build/social-link/icons/snapchat.js.map +1 -1
- package/build/social-link/icons/soundcloud.js +3 -3
- package/build/social-link/icons/soundcloud.js.map +1 -1
- package/build/social-link/icons/spotify.js +3 -3
- package/build/social-link/icons/spotify.js.map +1 -1
- package/build/social-link/icons/telegram.js +3 -3
- package/build/social-link/icons/telegram.js.map +1 -1
- package/build/social-link/icons/threads.js +3 -3
- package/build/social-link/icons/threads.js.map +1 -1
- package/build/social-link/icons/tiktok.js +3 -3
- package/build/social-link/icons/tiktok.js.map +1 -1
- package/build/social-link/icons/tumblr.js +3 -3
- package/build/social-link/icons/tumblr.js.map +1 -1
- package/build/social-link/icons/twitch.js +3 -3
- package/build/social-link/icons/twitch.js.map +1 -1
- package/build/social-link/icons/twitter.js +3 -3
- package/build/social-link/icons/twitter.js.map +1 -1
- package/build/social-link/icons/vimeo.js +3 -3
- package/build/social-link/icons/vimeo.js.map +1 -1
- package/build/social-link/icons/vk.js +3 -3
- package/build/social-link/icons/vk.js.map +1 -1
- package/build/social-link/icons/whatsapp.js +3 -3
- package/build/social-link/icons/whatsapp.js.map +1 -1
- package/build/social-link/icons/wordpress.js +3 -3
- package/build/social-link/icons/wordpress.js.map +1 -1
- package/build/social-link/icons/x.js +3 -3
- package/build/social-link/icons/x.js.map +1 -1
- package/build/social-link/icons/yelp.js +3 -3
- package/build/social-link/icons/yelp.js.map +1 -1
- package/build/social-link/icons/youtube.js +3 -3
- package/build/social-link/icons/youtube.js.map +1 -1
- package/build/social-link/social-list.js +1 -1
- package/build/social-link/social-list.js.map +1 -1
- package/build/social-links/deprecated.js +3 -3
- package/build/social-links/deprecated.js.map +1 -1
- package/build/social-links/edit.js +19 -18
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/edit.native.js +7 -6
- package/build/social-links/edit.native.js.map +1 -1
- package/build/social-links/save.js +2 -2
- package/build/social-links/save.js.map +1 -1
- package/build/spacer/controls.js +8 -8
- package/build/spacer/controls.js.map +1 -1
- package/build/spacer/controls.native.js +4 -3
- package/build/spacer/controls.native.js.map +1 -1
- package/build/spacer/deprecated.js +2 -2
- package/build/spacer/deprecated.js.map +1 -1
- package/build/spacer/edit.js +7 -6
- package/build/spacer/edit.js.map +1 -1
- package/build/spacer/edit.native.js +4 -3
- package/build/spacer/edit.native.js.map +1 -1
- package/build/spacer/save.js +2 -2
- package/build/spacer/save.js.map +1 -1
- package/build/spacer/save.native.js +2 -2
- package/build/spacer/save.native.js.map +1 -1
- package/build/table/deprecated.js +26 -26
- package/build/table/deprecated.js.map +1 -1
- package/build/table/edit.js +24 -23
- package/build/table/edit.js.map +1 -1
- package/build/table/save.js +10 -10
- package/build/table/save.js.map +1 -1
- package/build/table-of-contents/edit.js +35 -14
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/table-of-contents/icon.js +3 -3
- package/build/table-of-contents/icon.js.map +1 -1
- package/build/table-of-contents/list.js +16 -10
- package/build/table-of-contents/list.js.map +1 -1
- package/build/table-of-contents/save.js +3 -3
- package/build/table-of-contents/save.js.map +1 -1
- package/build/tag-cloud/edit.js +11 -11
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +6 -6
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/import-controls.js +10 -8
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/template-part/edit/index.js +17 -16
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/inner-blocks.js +2 -2
- package/build/template-part/edit/inner-blocks.js.map +1 -1
- package/build/template-part/edit/placeholder.js +6 -5
- package/build/template-part/edit/placeholder.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +8 -7
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/title-modal.js +7 -6
- package/build/template-part/edit/title-modal.js.map +1 -1
- package/build/term-description/edit.js +6 -6
- package/build/term-description/edit.js.map +1 -1
- package/build/text-columns/edit.js +6 -6
- package/build/text-columns/edit.js.map +1 -1
- package/build/text-columns/save.js +4 -4
- package/build/text-columns/save.js.map +1 -1
- package/build/verse/deprecated.js +4 -4
- package/build/verse/deprecated.js.map +1 -1
- package/build/verse/edit.js +3 -3
- package/build/verse/edit.js.map +1 -1
- package/build/verse/save.js +3 -3
- package/build/verse/save.js.map +1 -1
- package/build/video/deprecated.js +5 -5
- package/build/video/deprecated.js.map +1 -1
- package/build/video/edit-common-settings.js +8 -7
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +23 -22
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +21 -20
- package/build/video/edit.native.js.map +1 -1
- package/build/video/icon-retry.native.js +4 -4
- package/build/video/icon-retry.native.js.map +1 -1
- package/build/video/save.js +5 -5
- package/build/video/save.js.map +1 -1
- package/build/video/tracks-editor.js +25 -24
- package/build/video/tracks-editor.js.map +1 -1
- package/build/video/tracks.js +2 -2
- package/build/video/tracks.js.map +1 -1
- package/build-module/archives/edit.js +1 -1
- package/build-module/audio/deprecated.js +1 -1
- package/build-module/audio/edit.js +1 -1
- package/build-module/audio/edit.native.js +3 -3
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/audio/save.js +1 -1
- package/build-module/avatar/edit.js +1 -1
- package/build-module/avatar/user-control.js +1 -1
- package/build-module/block/edit-title.native.js +1 -1
- package/build-module/block/edit.js +1 -1
- package/build-module/block/edit.native.js +1 -1
- package/build-module/button/color-background.native.js +1 -1
- package/build-module/button/constants.js +4 -0
- package/build-module/button/constants.js.map +1 -0
- package/build-module/button/deprecated.js +1 -1
- package/build-module/button/edit.js +27 -30
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/edit.native.js +1 -1
- package/build-module/button/get-updated-link-attributes.js +48 -0
- package/build-module/button/get-updated-link-attributes.js.map +1 -0
- package/build-module/button/save.js +1 -1
- package/build-module/buttons/deprecated.js +1 -1
- package/build-module/buttons/edit.js +1 -1
- package/build-module/buttons/edit.native.js +1 -1
- package/build-module/buttons/save.js +1 -1
- package/build-module/calendar/edit.js +1 -1
- package/build-module/categories/edit.js +1 -1
- package/build-module/code/edit.js +1 -1
- package/build-module/code/edit.native.js +1 -1
- package/build-module/code/save.js +1 -1
- package/build-module/column/column-preview.native.js +1 -1
- package/build-module/column/deprecated.js +1 -1
- package/build-module/column/edit.js +1 -1
- package/build-module/column/edit.native.js +1 -1
- package/build-module/column/save.js +1 -1
- package/build-module/columns/deprecated.js +1 -1
- package/build-module/columns/edit.js +1 -1
- package/build-module/columns/edit.native.js +1 -1
- package/build-module/columns/save.js +1 -1
- package/build-module/columns/variations.js +1 -1
- package/build-module/comment-author-avatar/edit.js +1 -1
- package/build-module/comment-author-name/edit.js +1 -1
- package/build-module/comment-content/edit.js +1 -1
- package/build-module/comment-date/edit.js +1 -1
- package/build-module/comment-edit-link/edit.js +1 -1
- package/build-module/comment-reply-link/edit.js +1 -1
- package/build-module/comment-template/edit.js +3 -3
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comment-template/save.js +1 -1
- package/build-module/comments/deprecated.js +1 -1
- package/build-module/comments/edit/comments-inspector-controls.js +1 -1
- package/build-module/comments/edit/comments-legacy.js +1 -1
- package/build-module/comments/edit/index.js +1 -1
- package/build-module/comments/edit/placeholder.js +1 -1
- package/build-module/comments/save.js +1 -1
- package/build-module/comments-pagination/comments-pagination-arrow-controls.js +1 -1
- package/build-module/comments-pagination/edit.js +1 -1
- package/build-module/comments-pagination/save.js +1 -1
- package/build-module/comments-pagination-next/edit.js +1 -1
- package/build-module/comments-pagination-numbers/edit.js +1 -1
- package/build-module/comments-pagination-previous/edit.js +1 -1
- package/build-module/comments-title/edit.js +1 -1
- package/build-module/cover/controls.native.js +1 -1
- package/build-module/cover/deprecated.js +190 -13
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +1 -1
- package/build-module/cover/edit/color-utils.js +121 -0
- package/build-module/cover/edit/color-utils.js.map +1 -0
- package/build-module/cover/edit/cover-placeholder.js +1 -1
- package/build-module/cover/edit/index.js +90 -37
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/resizable-cover-popover.js +1 -1
- package/build-module/cover/edit.native.js +9 -3
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/cover/focal-point-settings-button.native.js +1 -1
- package/build-module/cover/index.js +3 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/overlay-color-settings.native.js +1 -1
- package/build-module/cover/save.js +1 -1
- package/build-module/cover/shared.js +33 -132
- package/build-module/cover/shared.js.map +1 -1
- package/build-module/details/edit.js +1 -1
- package/build-module/details/save.js +1 -1
- package/build-module/embed/deprecated.js +1 -1
- package/build-module/embed/edit.js +1 -1
- package/build-module/embed/edit.native.js +1 -1
- package/build-module/embed/embed-controls.js +1 -1
- package/build-module/embed/embed-controls.native.js +1 -1
- package/build-module/embed/embed-link-settings.native.js +1 -1
- package/build-module/embed/embed-loading.js +1 -1
- package/build-module/embed/embed-loading.native.js +1 -1
- package/build-module/embed/embed-no-preview.native.js +1 -1
- package/build-module/embed/embed-placeholder.js +1 -1
- package/build-module/embed/embed-placeholder.native.js +1 -1
- package/build-module/embed/embed-preview.js +1 -1
- package/build-module/embed/embed-preview.native.js +1 -1
- package/build-module/embed/icons.js +1 -1
- package/build-module/embed/save.js +1 -1
- package/build-module/embed/util.js +1 -1
- package/build-module/embed/wp-embed-preview.js +2 -2
- package/build-module/embed/wp-embed-preview.js.map +1 -1
- package/build-module/embed/wp-embed-preview.native.js +1 -1
- package/build-module/file/deprecated.js +1 -1
- package/build-module/file/edit.js +1 -1
- package/build-module/file/edit.native.js +1 -1
- package/build-module/file/inspector.js +1 -1
- package/build-module/file/save.js +1 -1
- package/build-module/footnotes/edit.js +1 -1
- package/build-module/footnotes/format.js +1 -1
- package/build-module/footnotes/index.js +1 -1
- package/build-module/freeform/convert-to-blocks-button.js +1 -1
- package/build-module/freeform/edit.js +1 -1
- package/build-module/freeform/edit.native.js +1 -1
- package/build-module/freeform/modal.js +1 -1
- package/build-module/freeform/save.js +1 -1
- package/build-module/gallery/deprecated.js +1 -1
- package/build-module/gallery/edit-wrapper.js +1 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/gallery.js +1 -1
- package/build-module/gallery/gallery.native.js +1 -1
- package/build-module/gallery/gap-styles.js +1 -1
- package/build-module/gallery/save.js +1 -1
- package/build-module/gallery/shared-icon.js +1 -1
- package/build-module/gallery/v1/edit.js +1 -1
- package/build-module/gallery/v1/gallery-button.native.js +1 -1
- package/build-module/gallery/v1/gallery-image.js +1 -1
- package/build-module/gallery/v1/gallery-image.native.js +1 -1
- package/build-module/gallery/v1/gallery.js +1 -1
- package/build-module/gallery/v1/gallery.native.js +1 -1
- package/build-module/gallery/v1/save.js +1 -1
- package/build-module/gallery/v1/tiles.native.js +1 -1
- package/build-module/group/deprecated.js +1 -1
- package/build-module/group/edit.js +1 -1
- package/build-module/group/edit.native.js +1 -1
- package/build-module/group/placeholder.js +1 -1
- package/build-module/group/save.js +1 -1
- package/build-module/heading/deprecated.js +1 -1
- package/build-module/heading/edit.js +1 -1
- package/build-module/heading/save.js +1 -1
- package/build-module/home-link/edit.js +1 -1
- package/build-module/home-link/save.js +1 -1
- package/build-module/html/edit.js +13 -7
- package/build-module/html/edit.js.map +1 -1
- package/build-module/html/preview.js +5 -2
- package/build-module/html/preview.js.map +1 -1
- package/build-module/html/save.js +1 -1
- package/build-module/image/deprecated.js +1 -1
- package/build-module/image/edit.js +1 -1
- package/build-module/image/edit.native.js +1 -1
- package/build-module/image/image.js +2 -5
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/save.js +1 -1
- package/build-module/image/view.js +6 -25
- package/build-module/image/view.js.map +1 -1
- package/build-module/latest-comments/edit.js +1 -1
- package/build-module/latest-posts/edit.js +3 -7
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +1 -1
- package/build-module/list/deprecated.js +1 -1
- package/build-module/list/edit.js +1 -1
- package/build-module/list/ordered-list-settings.js +1 -1
- package/build-module/list/save.js +1 -1
- package/build-module/list/tag-name.js +1 -1
- package/build-module/list/tag-name.native.js +1 -1
- package/build-module/list-item/edit.js +1 -1
- package/build-module/list-item/edit.native.js +1 -1
- package/build-module/list-item/hooks/use-merge.js +15 -15
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/icons.native.js +1 -1
- package/build-module/list-item/list-style-type.native.js +1 -1
- package/build-module/list-item/save.js +1 -1
- package/build-module/lock-unlock.js +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/loginout/edit.js +1 -1
- package/build-module/loginout/index.js +8 -0
- package/build-module/loginout/index.js.map +1 -1
- package/build-module/media-text/deprecated.js +1 -1
- package/build-module/media-text/edit.js +1 -1
- package/build-module/media-text/edit.native.js +1 -1
- package/build-module/media-text/icon-retry.native.js +1 -1
- package/build-module/media-text/media-container.js +1 -1
- package/build-module/media-text/media-container.native.js +1 -1
- package/build-module/media-text/save.js +1 -1
- package/build-module/missing/edit.js +1 -1
- package/build-module/missing/edit.native.js +1 -1
- package/build-module/missing/save.js +1 -1
- package/build-module/more/edit.js +1 -1
- package/build-module/more/edit.native.js +1 -1
- package/build-module/more/save.js +1 -1
- package/build-module/navigation/deprecated.js +1 -1
- package/build-module/navigation/edit/accessible-description.js +1 -1
- package/build-module/navigation/edit/accessible-menu-description.js +1 -1
- package/build-module/navigation/edit/deleted-navigation-warning.js +1 -1
- package/build-module/navigation/edit/index.js +2 -1
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +1 -1
- package/build-module/navigation/edit/leaf-more-menu.js +1 -1
- package/build-module/navigation/edit/manage-menus-button.js +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -1
- package/build-module/navigation/edit/navigation-menu-name-control.js +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +1 -1
- package/build-module/navigation/edit/overlay-menu-icon.js +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js +1 -1
- package/build-module/navigation/edit/placeholder/index.js +1 -1
- package/build-module/navigation/edit/placeholder/placeholder-preview.js +1 -1
- package/build-module/navigation/edit/responsive-wrapper.js +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +1 -1
- package/build-module/navigation/save.js +1 -1
- package/build-module/navigation/view.js +0 -7
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +1 -1
- package/build-module/navigation-link/icons.js +1 -1
- package/build-module/navigation-link/index.js +1 -1
- package/build-module/navigation-link/link-ui.js +10 -2
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/navigation-link/save.js +1 -1
- package/build-module/navigation-submenu/edit.js +1 -1
- package/build-module/navigation-submenu/icons.js +1 -1
- package/build-module/navigation-submenu/save.js +1 -1
- package/build-module/nextpage/edit.js +1 -1
- package/build-module/nextpage/edit.native.js +1 -1
- package/build-module/nextpage/save.js +1 -1
- package/build-module/page-list/convert-to-links-modal.js +1 -1
- package/build-module/page-list/edit.js +1 -1
- package/build-module/page-list-item/edit.js +1 -1
- package/build-module/paragraph/deprecated.js +1 -1
- package/build-module/paragraph/edit.js +1 -1
- package/build-module/paragraph/edit.native.js +1 -1
- package/build-module/paragraph/save.js +1 -1
- package/build-module/pattern/edit.js +1 -1
- package/build-module/post-author/edit.js +1 -1
- package/build-module/post-author-biography/edit.js +1 -1
- package/build-module/post-author-name/edit.js +1 -1
- package/build-module/post-comment/edit.js +1 -1
- package/build-module/post-comment/save.js +1 -1
- package/build-module/post-comments-count/edit.js +1 -1
- package/build-module/post-comments-form/edit.js +1 -1
- package/build-module/post-comments-form/form.js +1 -1
- package/build-module/post-comments-link/edit.js +1 -1
- package/build-module/post-content/edit.js +1 -1
- package/build-module/post-date/edit.js +1 -1
- package/build-module/post-excerpt/edit.js +1 -1
- package/build-module/post-featured-image/dimension-controls.js +1 -1
- package/build-module/post-featured-image/edit.js +1 -1
- package/build-module/post-featured-image/overlay.js +1 -1
- package/build-module/post-navigation-link/edit.js +1 -1
- package/build-module/post-template/edit.js +1 -1
- package/build-module/post-template/save.js +1 -1
- package/build-module/post-terms/edit.js +1 -1
- package/build-module/post-time-to-read/edit.js +1 -1
- package/build-module/post-time-to-read/icon.js +1 -1
- package/build-module/post-title/edit.js +1 -1
- package/build-module/preformatted/edit.js +1 -1
- package/build-module/preformatted/edit.native.js +1 -1
- package/build-module/preformatted/save.js +1 -1
- package/build-module/pullquote/blockquote.native.js +1 -1
- package/build-module/pullquote/deprecated.js +1 -1
- package/build-module/pullquote/edit.js +1 -1
- package/build-module/pullquote/edit.native.js +1 -1
- package/build-module/pullquote/figure.native.js +1 -1
- package/build-module/pullquote/save.js +1 -1
- package/build-module/query/deprecated.js +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
- package/build-module/query/edit/index.js +1 -1
- package/build-module/query/edit/inspector-controls/author-control.js +1 -1
- package/build-module/query/edit/inspector-controls/create-new-post-link.js +1 -1
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +1 -1
- package/build-module/query/edit/inspector-controls/index.js +1 -1
- package/build-module/query/edit/inspector-controls/order-control.js +1 -1
- package/build-module/query/edit/inspector-controls/parent-control.js +1 -1
- package/build-module/query/edit/inspector-controls/sticky-control.js +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +1 -1
- package/build-module/query/edit/pattern-selection-modal.js +1 -1
- package/build-module/query/edit/query-content.js +1 -1
- package/build-module/query/edit/query-placeholder.js +1 -1
- package/build-module/query/edit/query-toolbar.js +1 -1
- package/build-module/query/icons.js +1 -1
- package/build-module/query/save.js +1 -1
- package/build-module/query/view.js +5 -5
- package/build-module/query/view.js.map +1 -1
- package/build-module/query-no-results/edit.js +1 -1
- package/build-module/query-no-results/save.js +1 -1
- package/build-module/query-pagination/deprecated.js +1 -1
- package/build-module/query-pagination/edit.js +1 -1
- package/build-module/query-pagination/query-pagination-arrow-controls.js +1 -1
- package/build-module/query-pagination/query-pagination-label-control.js +1 -1
- package/build-module/query-pagination/save.js +1 -1
- package/build-module/query-pagination-next/edit.js +1 -1
- package/build-module/query-pagination-numbers/edit.js +1 -1
- package/build-module/query-pagination-previous/edit.js +1 -1
- package/build-module/query-title/edit.js +1 -1
- package/build-module/quote/deprecated.js +1 -1
- package/build-module/quote/edit.js +1 -1
- package/build-module/quote/save.js +1 -1
- package/build-module/read-more/edit.js +1 -1
- package/build-module/rss/edit.js +3 -2
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/search/edit.js +1 -1
- package/build-module/search/edit.native.js +1 -1
- package/build-module/search/icons.js +1 -1
- package/build-module/separator/deprecated.js +1 -1
- package/build-module/separator/edit.js +1 -1
- package/build-module/separator/save.js +1 -1
- package/build-module/shortcode/edit.js +1 -1
- package/build-module/shortcode/edit.native.js +1 -1
- package/build-module/shortcode/save.js +1 -1
- package/build-module/site-logo/edit.js +1 -1
- package/build-module/site-tagline/edit.js +1 -1
- package/build-module/site-tagline/icon.js +1 -1
- package/build-module/site-title/edit/index.js +1 -1
- package/build-module/social-link/edit.js +1 -1
- package/build-module/social-link/edit.native.js +1 -1
- package/build-module/social-link/icons/amazon.js +1 -1
- package/build-module/social-link/icons/bandcamp.js +1 -1
- package/build-module/social-link/icons/behance.js +1 -1
- package/build-module/social-link/icons/chain.js +1 -1
- package/build-module/social-link/icons/codepen.js +1 -1
- package/build-module/social-link/icons/deviantart.js +1 -1
- package/build-module/social-link/icons/dribbble.js +1 -1
- package/build-module/social-link/icons/dropbox.js +1 -1
- package/build-module/social-link/icons/etsy.js +1 -1
- package/build-module/social-link/icons/facebook.js +1 -1
- package/build-module/social-link/icons/feed.js +1 -1
- package/build-module/social-link/icons/fivehundredpx.js +1 -1
- package/build-module/social-link/icons/flickr.js +1 -1
- package/build-module/social-link/icons/foursquare.js +1 -1
- package/build-module/social-link/icons/github.js +1 -1
- package/build-module/social-link/icons/goodreads.js +1 -1
- package/build-module/social-link/icons/google.js +1 -1
- package/build-module/social-link/icons/instagram.js +1 -1
- package/build-module/social-link/icons/lastfm.js +1 -1
- package/build-module/social-link/icons/linkedin.js +1 -1
- package/build-module/social-link/icons/mail.js +1 -1
- package/build-module/social-link/icons/mastodon.js +1 -1
- package/build-module/social-link/icons/medium.js +1 -1
- package/build-module/social-link/icons/meetup.js +1 -1
- package/build-module/social-link/icons/patreon.js +1 -1
- package/build-module/social-link/icons/pinterest.js +1 -1
- package/build-module/social-link/icons/pocket.js +1 -1
- package/build-module/social-link/icons/reddit.js +1 -1
- package/build-module/social-link/icons/skype.js +1 -1
- package/build-module/social-link/icons/snapchat.js +1 -1
- package/build-module/social-link/icons/soundcloud.js +1 -1
- package/build-module/social-link/icons/spotify.js +1 -1
- package/build-module/social-link/icons/telegram.js +1 -1
- package/build-module/social-link/icons/threads.js +1 -1
- package/build-module/social-link/icons/tiktok.js +1 -1
- package/build-module/social-link/icons/tumblr.js +1 -1
- package/build-module/social-link/icons/twitch.js +1 -1
- package/build-module/social-link/icons/twitter.js +1 -1
- package/build-module/social-link/icons/vimeo.js +1 -1
- package/build-module/social-link/icons/vk.js +1 -1
- package/build-module/social-link/icons/whatsapp.js +1 -1
- package/build-module/social-link/icons/wordpress.js +1 -1
- package/build-module/social-link/icons/x.js +1 -1
- package/build-module/social-link/icons/yelp.js +1 -1
- package/build-module/social-link/icons/youtube.js +1 -1
- package/build-module/social-link/social-list.js +1 -1
- package/build-module/social-link/social-list.js.map +1 -1
- package/build-module/social-links/deprecated.js +1 -1
- package/build-module/social-links/edit.js +1 -1
- package/build-module/social-links/edit.native.js +1 -1
- package/build-module/social-links/save.js +1 -1
- package/build-module/spacer/controls.js +1 -1
- package/build-module/spacer/controls.native.js +1 -1
- package/build-module/spacer/deprecated.js +1 -1
- package/build-module/spacer/edit.js +1 -1
- package/build-module/spacer/edit.native.js +1 -1
- package/build-module/spacer/save.js +1 -1
- package/build-module/spacer/save.native.js +1 -1
- package/build-module/table/deprecated.js +1 -1
- package/build-module/table/edit.js +1 -1
- package/build-module/table/save.js +1 -1
- package/build-module/table-of-contents/edit.js +26 -6
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/table-of-contents/icon.js +1 -1
- package/build-module/table-of-contents/list.js +11 -5
- package/build-module/table-of-contents/list.js.map +1 -1
- package/build-module/table-of-contents/save.js +1 -1
- package/build-module/tag-cloud/edit.js +1 -1
- package/build-module/template-part/edit/advanced-controls.js +1 -1
- package/build-module/template-part/edit/import-controls.js +3 -2
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +1 -1
- package/build-module/template-part/edit/inner-blocks.js +1 -1
- package/build-module/template-part/edit/placeholder.js +1 -1
- package/build-module/template-part/edit/selection-modal.js +1 -1
- package/build-module/template-part/edit/title-modal.js +1 -1
- package/build-module/term-description/edit.js +1 -1
- package/build-module/text-columns/edit.js +1 -1
- package/build-module/text-columns/save.js +1 -1
- package/build-module/verse/deprecated.js +1 -1
- package/build-module/verse/edit.js +1 -1
- package/build-module/verse/save.js +1 -1
- package/build-module/video/deprecated.js +1 -1
- package/build-module/video/edit-common-settings.js +1 -1
- package/build-module/video/edit.js +1 -1
- package/build-module/video/edit.native.js +2 -2
- package/build-module/video/edit.native.js.map +1 -1
- package/build-module/video/icon-retry.native.js +1 -1
- package/build-module/video/save.js +1 -1
- package/build-module/video/tracks-editor.js +1 -1
- package/build-module/video/tracks.js +1 -1
- package/build-style/common-rtl.css +2 -4
- package/build-style/common.css +2 -4
- package/build-style/cover/style-rtl.css +2 -1
- package/build-style/cover/style.css +2 -1
- package/build-style/editor-rtl.css +1 -0
- package/build-style/editor.css +1 -0
- package/build-style/gallery/style-rtl.css +4 -2
- package/build-style/gallery/style.css +4 -2
- package/build-style/image/style-rtl.css +2 -17
- package/build-style/image/style.css +2 -17
- package/build-style/post-template/style-rtl.css +6 -12
- package/build-style/post-template/style.css +6 -12
- package/build-style/query-pagination/style-rtl.css +2 -4
- package/build-style/query-pagination/style.css +2 -4
- package/build-style/search/editor-rtl.css +1 -0
- package/build-style/search/editor.css +1 -0
- package/build-style/search/style-rtl.css +4 -2
- package/build-style/search/style.css +4 -2
- package/build-style/style-rtl.css +23 -42
- package/build-style/style.css +23 -42
- package/build-style/video/style-rtl.css +2 -1
- package/build-style/video/style.css +2 -1
- package/build-types/table-of-contents/list.d.ts +6 -4
- package/build-types/table-of-contents/list.d.ts.map +1 -1
- package/package.json +32 -32
- package/src/audio/edit.native.js +2 -2
- package/src/audio/test/edit.native.js +28 -14
- package/src/button/constants.js +3 -0
- package/src/button/edit.js +30 -29
- package/src/button/get-updated-link-attributes.js +54 -0
- package/src/button/test/get-updated-link-attributes.js +113 -0
- package/src/categories/index.php +2 -4
- package/src/comment-template/edit.js +2 -2
- package/src/cover/block.json +3 -0
- package/src/cover/deprecated.js +236 -12
- package/src/cover/edit/color-utils.js +122 -0
- package/src/cover/edit/index.js +132 -51
- package/src/cover/edit.native.js +9 -2
- package/src/cover/shared.js +36 -129
- package/src/cover/test/__snapshots__/edit.native.js.snap +18 -10
- package/src/cover/test/__snapshots__/transforms.native.js.snap +4 -4
- package/src/cover/test/edit.js +1 -1
- package/src/cover/test/edit.native.js +38 -0
- package/src/embed/test/index.native.js +6 -1
- package/src/embed/wp-embed-preview.js +1 -1
- package/src/footnotes/block.json +1 -1
- package/src/html/edit.js +26 -6
- package/src/html/preview.js +7 -1
- package/src/image/image.js +0 -10
- package/src/image/index.php +78 -114
- package/src/image/style.scss +2 -23
- package/src/image/view.js +7 -28
- package/src/latest-posts/edit.js +2 -11
- package/src/latest-posts/index.php +8 -17
- package/src/list-item/hooks/use-merge.js +23 -20
- package/src/lock-unlock.js +1 -1
- package/src/loginout/block.json +8 -0
- package/src/navigation/edit/index.js +1 -0
- package/src/navigation/index.php +6 -19
- package/src/navigation/view.js +0 -7
- package/src/navigation-link/link-ui.js +9 -1
- package/src/pattern/index.php +3 -0
- package/src/post-title/index.php +1 -1
- package/src/query/index.php +1 -2
- package/src/query/view.js +5 -5
- package/src/rss/edit.js +6 -2
- package/src/search/editor.scss +1 -0
- package/src/search/index.php +4 -0
- package/src/search/style.scss +5 -1
- package/src/social-link/social-list.js +1 -1
- package/src/table-of-contents/edit.js +27 -3
- package/src/table-of-contents/list.tsx +27 -4
- package/src/template-part/edit/import-controls.js +2 -1
- package/src/template-part/index.php +7 -4
- package/src/video/edit.native.js +1 -1
- package/src/video/test/edit.native.js +29 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["store","focusableSelectors","scrollCallback","isTouching","lastTouchTime","handleScroll","context","Date","now","window","scrollTo","core","image","scrollLeftReset","scrollTopReset","state","windowWidth","innerWidth","windowHeight","innerHeight","actions","showLightbox","event","imageLoaded","initialized","lastFocusedElement","document","activeElement","scrollDelta","lightboxEnabled","setStyles","target","previousElementSibling","pageYOffset","documentElement","scrollTop","pageXOffset","scrollLeft","bind","addEventListener","hideLightbox","hideAnimationEnabled","setTimeout","removeEventListener","focus","preventScroll","handleKeydown","key","keyCode","shiftKey","firstFocusableElement","preventDefault","lastFocusableElement","handleLoad","effects","ref","imageCurrentSrc","currentSrc","setButtonStyles","handleTouchStart","handleTouchMove","handleTouchEnd","selectors","roleAttribute","ariaModal","dialogLabel","lightboxObjectFit","enlargedImgSrc","imageUploadedSrc","setCurrentSrc","complete","initLightbox","figureRef","querySelector","imageRef","focusableElements","querySelectorAll","length","naturalWidth","naturalHeight","offsetWidth","offsetHeight","scaleAttr","naturalRatio","offsetRatio","imageButtonWidth","buttonHeight","imageButtonHeight","imageButtonTop","buttonWidth","imageButtonLeft","setStylesOnResize","afterLoad","debounce","originalWidth","originalHeight","x","screenPosX","y","screenPosY","getBoundingClientRect","originalRatio","heightWithoutSpace","widthWithoutSpace","imgMaxWidth","parseFloat","targetWidth","imgMaxHeight","targetHeight","imgRatio","containerMaxWidth","containerMaxHeight","containerWidth","containerHeight","toFixed","reducedHeight","reducedWidth","horizontalPadding","verticalPadding","targetMaxWidth","Math","min","targetMaxHeight","targetContainerRatio","containerScale","lightboxImgWidth","lightboxImgHeight","styleTag","getElementById","createElement","id","head","appendChild","innerHTML","func","wait","timeout","later","clearTimeout"],"sources":["@wordpress/block-library/src/image/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store } from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'area[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'iframe',\n\t'object',\n\t'embed',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n/*\n * Stores a context-bound scroll handler.\n *\n * This callback could be defined inline inside of the store\n * object but it's created externally to avoid confusion about\n * how its logic is called. This logic is not referenced directly\n * by the directives in the markup because the scroll event we\n * need to listen to is triggered on the window; so by defining it\n * outside of the store, we signal that the behavior here is different.\n * If we find a compelling reason to move it to the store, feel free.\n *\n * @type {Function}\n */\nlet scrollCallback;\n\n/*\n * Tracks whether user is touching screen; used to\n * differentiate behavior for touch and mouse input.\n *\n * @type {boolean}\n */\nlet isTouching = false;\n\n/*\n * Tracks the last time the screen was touched; used to\n * differentiate behavior for touch and mouse input.\n *\n * @type {number}\n */\nlet lastTouchTime = 0;\n\n/*\n * Lightbox page-scroll handler: prevents scrolling.\n *\n * This handler is added to prevent scrolling behaviors that\n * trigger content shift while the lightbox is open.\n *\n * It would be better to accomplish this through CSS alone, but\n * using overflow: hidden is currently the only way to do so, and\n * that causes the layout to shift and prevents the zoom animation\n * from working in some cases because we're unable to account for\n * the layout shift when doing the animation calculations. Instead,\n * here we use JavaScript to prevent and reset the scrolling\n * behavior. In the future, we may be able to use CSS or overflow: hidden\n * instead to not rely on JavaScript, but this seems to be the best approach\n * for now that provides the best visual experience.\n *\n * @param {Object} context Interactivity page context?\n */\nfunction handleScroll( context ) {\n\t// We can't override the scroll behavior on mobile devices\n\t// because doing so breaks the pinch to zoom functionality, and we\n\t// want to allow users to zoom in further on the high-res image.\n\tif ( ! isTouching && Date.now() - lastTouchTime > 450 ) {\n\t\t// We are unable to use event.preventDefault() to prevent scrolling\n\t\t// because the scroll event can't be canceled, so we reset the position instead.\n\t\twindow.scrollTo(\n\t\t\tcontext.core.image.scrollLeftReset,\n\t\t\tcontext.core.image.scrollTopReset\n\t\t);\n\t}\n}\n\nstore(\n\t{\n\t\tstate: {\n\t\t\tcore: {\n\t\t\t\timage: {\n\t\t\t\t\twindowWidth: window.innerWidth,\n\t\t\t\t\twindowHeight: window.innerHeight,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\tcore: {\n\t\t\t\timage: {\n\t\t\t\t\tshowLightbox: ( { context, event } ) => {\n\t\t\t\t\t\t// We can't initialize the lightbox until the reference\n\t\t\t\t\t\t// image is loaded, otherwise the UX is broken.\n\t\t\t\t\t\tif ( ! context.core.image.imageLoaded ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontext.core.image.initialized = true;\n\t\t\t\t\t\tcontext.core.image.lastFocusedElement =\n\t\t\t\t\t\t\twindow.document.activeElement;\n\t\t\t\t\t\tcontext.core.image.scrollDelta = 0;\n\n\t\t\t\t\t\tcontext.core.image.lightboxEnabled = true;\n\t\t\t\t\t\tsetStyles(\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tevent.target.previousElementSibling\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tcontext.core.image.scrollTopReset =\n\t\t\t\t\t\t\twindow.pageYOffset ||\n\t\t\t\t\t\t\tdocument.documentElement.scrollTop;\n\n\t\t\t\t\t\t// In most cases, this value will be 0, but this is included\n\t\t\t\t\t\t// in case a user has created a page with horizontal scrolling.\n\t\t\t\t\t\tcontext.core.image.scrollLeftReset =\n\t\t\t\t\t\t\twindow.pageXOffset ||\n\t\t\t\t\t\t\tdocument.documentElement.scrollLeft;\n\n\t\t\t\t\t\t// We define and bind the scroll callback here so\n\t\t\t\t\t\t// that we can pass the context and as an argument.\n\t\t\t\t\t\t// We may be able to change this in the future if we\n\t\t\t\t\t\t// define the scroll callback in the store instead, but\n\t\t\t\t\t\t// this approach seems to tbe clearest for now.\n\t\t\t\t\t\tscrollCallback = handleScroll.bind( null, context );\n\n\t\t\t\t\t\t// We need to add a scroll event listener to the window\n\t\t\t\t\t\t// here because we are unable to otherwise access it via\n\t\t\t\t\t\t// the Interactivity API directives. If we add a native way\n\t\t\t\t\t\t// to access the window, we can remove this.\n\t\t\t\t\t\twindow.addEventListener(\n\t\t\t\t\t\t\t'scroll',\n\t\t\t\t\t\t\tscrollCallback,\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t\thideLightbox: async ( { context } ) => {\n\t\t\t\t\t\tcontext.core.image.hideAnimationEnabled = true;\n\t\t\t\t\t\tif ( context.core.image.lightboxEnabled ) {\n\t\t\t\t\t\t\t// We want to wait until the close animation is completed\n\t\t\t\t\t\t\t// before allowing a user to scroll again. The duration of this\n\t\t\t\t\t\t\t// animation is defined in the styles.scss and depends on if the\n\t\t\t\t\t\t\t// animation is 'zoom' or 'fade', but in any case we should wait\n\t\t\t\t\t\t\t// a few milliseconds longer than the duration, otherwise a user\n\t\t\t\t\t\t\t// may scroll too soon and cause the animation to look sloppy.\n\t\t\t\t\t\t\tsetTimeout( function () {\n\t\t\t\t\t\t\t\twindow.removeEventListener(\n\t\t\t\t\t\t\t\t\t'scroll',\n\t\t\t\t\t\t\t\t\tscrollCallback\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}, 450 );\n\n\t\t\t\t\t\t\tcontext.core.image.lightboxEnabled = false;\n\t\t\t\t\t\t\tcontext.core.image.lastFocusedElement.focus( {\n\t\t\t\t\t\t\t\tpreventScroll: true,\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\thandleKeydown: ( { context, actions, event } ) => {\n\t\t\t\t\t\tif ( context.core.image.lightboxEnabled ) {\n\t\t\t\t\t\t\tif ( event.key === 'Tab' || event.keyCode === 9 ) {\n\t\t\t\t\t\t\t\t// If shift + tab it change the direction\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\t\t\tcontext.core.image.firstFocusableElement\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\tcontext.core.image.lastFocusableElement.focus();\n\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\t\t\tcontext.core.image.lastFocusableElement\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\tcontext.core.image.firstFocusableElement.focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tevent.key === 'Escape' ||\n\t\t\t\t\t\t\t\tevent.keyCode === 27\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tactions.core.image.hideLightbox( {\n\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t} );\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\thandleLoad: ( { state, context, effects, ref } ) => {\n\t\t\t\t\t\tcontext.core.image.imageLoaded = true;\n\t\t\t\t\t\tcontext.core.image.imageCurrentSrc = ref.currentSrc;\n\t\t\t\t\t\teffects.core.image.setButtonStyles( {\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t} );\n\t\t\t\t\t},\n\t\t\t\t\thandleTouchStart: () => {\n\t\t\t\t\t\tisTouching = true;\n\t\t\t\t\t},\n\t\t\t\t\thandleTouchMove: ( { context, event } ) => {\n\t\t\t\t\t\t// On mobile devices, we want to prevent triggering the\n\t\t\t\t\t\t// scroll event because otherwise the page jumps around as\n\t\t\t\t\t\t// we reset the scroll position. This also means that closing\n\t\t\t\t\t\t// the lightbox requires that a user perform a simple tap. This\n\t\t\t\t\t\t// may be changed in the future if we find a better alternative\n\t\t\t\t\t\t// to override or reset the scroll position during swipe actions.\n\t\t\t\t\t\tif ( context.core.image.lightboxEnabled ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\thandleTouchEnd: () => {\n\t\t\t\t\t\t// We need to wait a few milliseconds before resetting\n\t\t\t\t\t\t// to ensure that pinch to zoom works consistently\n\t\t\t\t\t\t// on mobile devices when the lightbox is open.\n\t\t\t\t\t\tlastTouchTime = Date.now();\n\t\t\t\t\t\tisTouching = false;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tselectors: {\n\t\t\tcore: {\n\t\t\t\timage: {\n\t\t\t\t\troleAttribute: ( { context } ) => {\n\t\t\t\t\t\treturn context.core.image.lightboxEnabled\n\t\t\t\t\t\t\t? 'dialog'\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\t},\n\t\t\t\t\tariaModal: ( { context } ) => {\n\t\t\t\t\t\treturn context.core.image.lightboxEnabled\n\t\t\t\t\t\t\t? 'true'\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\t},\n\t\t\t\t\tdialogLabel: ( { context } ) => {\n\t\t\t\t\t\treturn context.core.image.lightboxEnabled\n\t\t\t\t\t\t\t? context.core.image.dialogLabel\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\t},\n\t\t\t\t\tlightboxObjectFit: ( { context } ) => {\n\t\t\t\t\t\tif ( context.core.image.initialized ) {\n\t\t\t\t\t\t\treturn 'cover';\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tenlargedImgSrc: ( { context } ) => {\n\t\t\t\t\t\treturn context.core.image.initialized\n\t\t\t\t\t\t\t? context.core.image.imageUploadedSrc\n\t\t\t\t\t\t\t: 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\teffects: {\n\t\t\tcore: {\n\t\t\t\timage: {\n\t\t\t\t\tsetCurrentSrc: ( { context, ref } ) => {\n\t\t\t\t\t\tif ( ref.complete ) {\n\t\t\t\t\t\t\tcontext.core.image.imageLoaded = true;\n\t\t\t\t\t\t\tcontext.core.image.imageCurrentSrc = ref.currentSrc;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tinitLightbox: async ( { context, ref } ) => {\n\t\t\t\t\t\tcontext.core.image.figureRef =\n\t\t\t\t\t\t\tref.querySelector( 'figure' );\n\t\t\t\t\t\tcontext.core.image.imageRef =\n\t\t\t\t\t\t\tref.querySelector( 'img' );\n\t\t\t\t\t\tif ( context.core.image.lightboxEnabled ) {\n\t\t\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\t\t\tcontext.core.image.firstFocusableElement =\n\t\t\t\t\t\t\t\tfocusableElements[ 0 ];\n\t\t\t\t\t\t\tcontext.core.image.lastFocusableElement =\n\t\t\t\t\t\t\t\tfocusableElements[\n\t\t\t\t\t\t\t\t\tfocusableElements.length - 1\n\t\t\t\t\t\t\t\t];\n\n\t\t\t\t\t\t\tref.querySelector( '.close-button' ).focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tsetButtonStyles: ( { state, context, ref } ) => {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tnaturalWidth,\n\t\t\t\t\t\t\tnaturalHeight,\n\t\t\t\t\t\t\toffsetWidth,\n\t\t\t\t\t\t\toffsetHeight,\n\t\t\t\t\t\t} = ref;\n\n\t\t\t\t\t\t// If the image isn't loaded yet, we can't\n\t\t\t\t\t\t// calculate how big the button should be.\n\t\t\t\t\t\tif ( naturalWidth === 0 || naturalHeight === 0 ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Subscribe to the window dimensions so we can\n\t\t\t\t\t\t// recalculate the styles if the window is resized.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t( state.core.image.windowWidth ||\n\t\t\t\t\t\t\t\tstate.core.image.windowHeight ) &&\n\t\t\t\t\t\t\tcontext.core.image.scaleAttr === 'contain'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// In the case of an image with object-fit: contain, the\n\t\t\t\t\t\t\t// size of the img element can be larger than the image itself,\n\t\t\t\t\t\t\t// so we need to calculate the size of the button to match.\n\n\t\t\t\t\t\t\t// Natural ratio of the image.\n\t\t\t\t\t\t\tconst naturalRatio = naturalWidth / naturalHeight;\n\t\t\t\t\t\t\t// Offset ratio of the image.\n\t\t\t\t\t\t\tconst offsetRatio = offsetWidth / offsetHeight;\n\n\t\t\t\t\t\t\tif ( naturalRatio > offsetRatio ) {\n\t\t\t\t\t\t\t\t// If it reaches the width first, keep\n\t\t\t\t\t\t\t\t// the width and recalculate the height.\n\t\t\t\t\t\t\t\tcontext.core.image.imageButtonWidth =\n\t\t\t\t\t\t\t\t\toffsetWidth;\n\t\t\t\t\t\t\t\tconst buttonHeight = offsetWidth / naturalRatio;\n\t\t\t\t\t\t\t\tcontext.core.image.imageButtonHeight =\n\t\t\t\t\t\t\t\t\tbuttonHeight;\n\t\t\t\t\t\t\t\tcontext.core.image.imageButtonTop =\n\t\t\t\t\t\t\t\t\t( offsetHeight - buttonHeight ) / 2;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If it reaches the height first, keep\n\t\t\t\t\t\t\t\t// the height and recalculate the width.\n\t\t\t\t\t\t\t\tcontext.core.image.imageButtonHeight =\n\t\t\t\t\t\t\t\t\toffsetHeight;\n\t\t\t\t\t\t\t\tconst buttonWidth = offsetHeight * naturalRatio;\n\t\t\t\t\t\t\t\tcontext.core.image.imageButtonWidth =\n\t\t\t\t\t\t\t\t\tbuttonWidth;\n\t\t\t\t\t\t\t\tcontext.core.image.imageButtonLeft =\n\t\t\t\t\t\t\t\t\t( offsetWidth - buttonWidth ) / 2;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// In all other cases, we can trust that the size of\n\t\t\t\t\t\t\t// the image is the right size for the button as well.\n\n\t\t\t\t\t\t\tcontext.core.image.imageButtonWidth = offsetWidth;\n\t\t\t\t\t\t\tcontext.core.image.imageButtonHeight = offsetHeight;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tsetStylesOnResize: ( { state, context, ref } ) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcontext.core.image.lightboxEnabled &&\n\t\t\t\t\t\t\t( state.core.image.windowWidth ||\n\t\t\t\t\t\t\t\tstate.core.image.windowHeight )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tsetStyles( context, ref );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tafterLoad: ( { state } ) => {\n\t\t\twindow.addEventListener(\n\t\t\t\t'resize',\n\t\t\t\tdebounce( () => {\n\t\t\t\t\tstate.core.image.windowWidth = window.innerWidth;\n\t\t\t\t\tstate.core.image.windowHeight = window.innerHeight;\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t}\n);\n\n/*\n * Computes styles for the lightbox and adds them to the document.\n *\n * @function\n * @param {Object} context - An Interactivity API context\n * @param {Object} event - A triggering event\n */\nfunction setStyles( context, ref ) {\n\t// The reference img element lies adjacent\n\t// to the event target button in the DOM.\n\tlet {\n\t\tnaturalWidth,\n\t\tnaturalHeight,\n\t\toffsetWidth: originalWidth,\n\t\toffsetHeight: originalHeight,\n\t} = ref;\n\tlet { x: screenPosX, y: screenPosY } = ref.getBoundingClientRect();\n\n\t// Natural ratio of the image clicked to open the lightbox.\n\tconst naturalRatio = naturalWidth / naturalHeight;\n\t// Original ratio of the image clicked to open the lightbox.\n\tlet originalRatio = originalWidth / originalHeight;\n\n\t// If it has object-fit: contain, recalculate the original sizes\n\t// and the screen position without the blank spaces.\n\tif ( context.core.image.scaleAttr === 'contain' ) {\n\t\tif ( naturalRatio > originalRatio ) {\n\t\t\tconst heightWithoutSpace = originalWidth / naturalRatio;\n\t\t\t// Recalculate screen position without the top space.\n\t\t\tscreenPosY += ( originalHeight - heightWithoutSpace ) / 2;\n\t\t\toriginalHeight = heightWithoutSpace;\n\t\t} else {\n\t\t\tconst widthWithoutSpace = originalHeight * naturalRatio;\n\t\t\t// Recalculate screen position without the left space.\n\t\t\tscreenPosX += ( originalWidth - widthWithoutSpace ) / 2;\n\t\t\toriginalWidth = widthWithoutSpace;\n\t\t}\n\t}\n\toriginalRatio = originalWidth / originalHeight;\n\n\t// Typically, we use the image's full-sized dimensions. If those\n\t// dimensions have not been set (i.e. an external image with only one size),\n\t// the image's dimensions in the lightbox are the same\n\t// as those of the image in the content.\n\tlet imgMaxWidth = parseFloat(\n\t\tcontext.core.image.targetWidth !== 'none'\n\t\t\t? context.core.image.targetWidth\n\t\t\t: naturalWidth\n\t);\n\tlet imgMaxHeight = parseFloat(\n\t\tcontext.core.image.targetHeight !== 'none'\n\t\t\t? context.core.image.targetHeight\n\t\t\t: naturalHeight\n\t);\n\n\t// Ratio of the biggest image stored in the database.\n\tlet imgRatio = imgMaxWidth / imgMaxHeight;\n\tlet containerMaxWidth = imgMaxWidth;\n\tlet containerMaxHeight = imgMaxHeight;\n\tlet containerWidth = imgMaxWidth;\n\tlet containerHeight = imgMaxHeight;\n\t// Check if the target image has a different ratio than the original one (thumbnail).\n\t// Recalculate the width and height.\n\tif ( naturalRatio.toFixed( 2 ) !== imgRatio.toFixed( 2 ) ) {\n\t\tif ( naturalRatio > imgRatio ) {\n\t\t\t// If the width is reached before the height, we keep the maxWidth\n\t\t\t// and recalculate the height.\n\t\t\t// Unless the difference between the maxHeight and the reducedHeight\n\t\t\t// is higher than the maxWidth, where we keep the reducedHeight and\n\t\t\t// recalculate the width.\n\t\t\tconst reducedHeight = imgMaxWidth / naturalRatio;\n\t\t\tif ( imgMaxHeight - reducedHeight > imgMaxWidth ) {\n\t\t\t\timgMaxHeight = reducedHeight;\n\t\t\t\timgMaxWidth = reducedHeight * naturalRatio;\n\t\t\t} else {\n\t\t\t\timgMaxHeight = imgMaxWidth / naturalRatio;\n\t\t\t}\n\t\t} else {\n\t\t\t// If the height is reached before the width, we keep the maxHeight\n\t\t\t// and recalculate the width.\n\t\t\t// Unless the difference between the maxWidth and the reducedWidth\n\t\t\t// is higher than the maxHeight, where we keep the reducedWidth and\n\t\t\t// recalculate the height.\n\t\t\tconst reducedWidth = imgMaxHeight * naturalRatio;\n\t\t\tif ( imgMaxWidth - reducedWidth > imgMaxHeight ) {\n\t\t\t\timgMaxWidth = reducedWidth;\n\t\t\t\timgMaxHeight = reducedWidth / naturalRatio;\n\t\t\t} else {\n\t\t\t\timgMaxWidth = imgMaxHeight * naturalRatio;\n\t\t\t}\n\t\t}\n\t\tcontainerWidth = imgMaxWidth;\n\t\tcontainerHeight = imgMaxHeight;\n\t\timgRatio = imgMaxWidth / imgMaxHeight;\n\n\t\t// Calculate the max size of the container.\n\t\tif ( originalRatio > imgRatio ) {\n\t\t\tcontainerMaxWidth = imgMaxWidth;\n\t\t\tcontainerMaxHeight = containerMaxWidth / originalRatio;\n\t\t} else {\n\t\t\tcontainerMaxHeight = imgMaxHeight;\n\t\t\tcontainerMaxWidth = containerMaxHeight * originalRatio;\n\t\t}\n\t}\n\n\t// If the image has been pixelated on purpose, keep that size.\n\tif ( originalWidth > containerWidth || originalHeight > containerHeight ) {\n\t\tcontainerWidth = originalWidth;\n\t\tcontainerHeight = originalHeight;\n\t}\n\n\t// Calculate the final lightbox image size and the\n\t// scale factor. MaxWidth is either the window container\n\t// (accounting for padding) or the image resolution.\n\tlet horizontalPadding = 0;\n\tif ( window.innerWidth > 480 ) {\n\t\thorizontalPadding = 80;\n\t} else if ( window.innerWidth > 1920 ) {\n\t\thorizontalPadding = 160;\n\t}\n\tconst verticalPadding = 80;\n\n\tconst targetMaxWidth = Math.min(\n\t\twindow.innerWidth - horizontalPadding,\n\t\tcontainerWidth\n\t);\n\tconst targetMaxHeight = Math.min(\n\t\twindow.innerHeight - verticalPadding,\n\t\tcontainerHeight\n\t);\n\tconst targetContainerRatio = targetMaxWidth / targetMaxHeight;\n\n\tif ( originalRatio > targetContainerRatio ) {\n\t\t// If targetMaxWidth is reached before targetMaxHeight\n\t\tcontainerWidth = targetMaxWidth;\n\t\tcontainerHeight = containerWidth / originalRatio;\n\t} else {\n\t\t// If targetMaxHeight is reached before targetMaxWidth\n\t\tcontainerHeight = targetMaxHeight;\n\t\tcontainerWidth = containerHeight * originalRatio;\n\t}\n\n\tconst containerScale = originalWidth / containerWidth;\n\tconst lightboxImgWidth =\n\t\timgMaxWidth * ( containerWidth / containerMaxWidth );\n\tconst lightboxImgHeight =\n\t\timgMaxHeight * ( containerHeight / containerMaxHeight );\n\n\t// Add the CSS variables needed.\n\tlet styleTag = document.getElementById( 'wp-lightbox-styles' );\n\tif ( ! styleTag ) {\n\t\tstyleTag = document.createElement( 'style' );\n\t\tstyleTag.id = 'wp-lightbox-styles';\n\t\tdocument.head.appendChild( styleTag );\n\t}\n\n\t// As of this writing, using the calculations above will render the lightbox\n\t// with a small, erroneous whitespace on the left side of the image in iOS Safari,\n\t// perhaps due to an inconsistency in how browsers handle absolute positioning and CSS\n\t// transformation. In any case, adding 1 pixel to the container width and height solves\n\t// the problem, though this can be removed if the issue is fixed in the future.\n\tstyleTag.innerHTML = `\n\t\t:root {\n\t\t\t--wp--lightbox-initial-top-position: ${ screenPosY }px;\n\t\t\t--wp--lightbox-initial-left-position: ${ screenPosX }px;\n\t\t\t--wp--lightbox-container-width: ${ containerWidth + 1 }px;\n\t\t\t--wp--lightbox-container-height: ${ containerHeight + 1 }px;\n\t\t\t--wp--lightbox-image-width: ${ lightboxImgWidth }px;\n\t\t\t--wp--lightbox-image-height: ${ lightboxImgHeight }px;\n\t\t\t--wp--lightbox-scale: ${ containerScale };\n\t\t}\n\t`;\n}\n\n/*\n * Debounces a function call.\n *\n * @function\n * @param {Function} func - A function to be called\n * @param {number} wait - The time to wait before calling the function\n */\nfunction debounce( func, wait = 50 ) {\n\tlet timeout;\n\treturn () => {\n\t\tconst later = () => {\n\t\t\ttimeout = null;\n\t\t\tfunc();\n\t\t};\n\t\tclearTimeout( timeout );\n\t\ttimeout = setTimeout( later, wait );\n\t};\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["store","focusableSelectors","scrollCallback","isTouching","lastTouchTime","handleScroll","context","Date","now","window","scrollTo","core","image","scrollLeftReset","scrollTopReset","state","windowWidth","innerWidth","windowHeight","innerHeight","actions","showLightbox","event","imageLoaded","initialized","lastFocusedElement","document","activeElement","scrollDelta","lightboxEnabled","setStyles","pageYOffset","documentElement","scrollTop","pageXOffset","scrollLeft","bind","addEventListener","hideLightbox","hideAnimationEnabled","setTimeout","removeEventListener","focus","preventScroll","handleKeydown","key","keyCode","shiftKey","firstFocusableElement","preventDefault","lastFocusableElement","handleLoad","effects","ref","imageCurrentSrc","currentSrc","setButtonStyles","handleTouchStart","handleTouchMove","handleTouchEnd","selectors","roleAttribute","lightboxObjectFit","enlargedImgSrc","imageUploadedSrc","setCurrentSrc","complete","initLightbox","figureRef","querySelector","imageRef","focusableElements","querySelectorAll","length","naturalWidth","naturalHeight","offsetWidth","offsetHeight","scaleAttr","naturalRatio","offsetRatio","imageButtonWidth","buttonHeight","imageButtonHeight","imageButtonTop","buttonWidth","imageButtonLeft","afterLoad","debounce","originalWidth","originalHeight","target","nextElementSibling","x","screenPosX","y","screenPosY","getBoundingClientRect","originalRatio","heightWithoutSpace","widthWithoutSpace","imgMaxWidth","parseFloat","targetWidth","imgMaxHeight","targetHeight","imgRatio","containerMaxWidth","containerMaxHeight","containerWidth","containerHeight","toFixed","reducedHeight","reducedWidth","horizontalPadding","verticalPadding","targetMaxWidth","Math","min","targetMaxHeight","targetContainerRatio","containerScale","lightboxImgWidth","lightboxImgHeight","styleTag","getElementById","createElement","id","head","appendChild","innerHTML","func","wait","timeout","later","clearTimeout"],"sources":["@wordpress/block-library/src/image/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store } from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'area[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'iframe',\n\t'object',\n\t'embed',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n/*\n * Stores a context-bound scroll handler.\n *\n * This callback could be defined inline inside of the store\n * object but it's created externally to avoid confusion about\n * how its logic is called. This logic is not referenced directly\n * by the directives in the markup because the scroll event we\n * need to listen to is triggered on the window; so by defining it\n * outside of the store, we signal that the behavior here is different.\n * If we find a compelling reason to move it to the store, feel free.\n *\n * @type {Function}\n */\nlet scrollCallback;\n\n/*\n * Tracks whether user is touching screen; used to\n * differentiate behavior for touch and mouse input.\n *\n * @type {boolean}\n */\nlet isTouching = false;\n\n/*\n * Tracks the last time the screen was touched; used to\n * differentiate behavior for touch and mouse input.\n *\n * @type {number}\n */\nlet lastTouchTime = 0;\n\n/*\n * Lightbox page-scroll handler: prevents scrolling.\n *\n * This handler is added to prevent scrolling behaviors that\n * trigger content shift while the lightbox is open.\n *\n * It would be better to accomplish this through CSS alone, but\n * using overflow: hidden is currently the only way to do so, and\n * that causes the layout to shift and prevents the zoom animation\n * from working in some cases because we're unable to account for\n * the layout shift when doing the animation calculations. Instead,\n * here we use JavaScript to prevent and reset the scrolling\n * behavior. In the future, we may be able to use CSS or overflow: hidden\n * instead to not rely on JavaScript, but this seems to be the best approach\n * for now that provides the best visual experience.\n *\n * @param {Object} context Interactivity page context?\n */\nfunction handleScroll( context ) {\n\t// We can't override the scroll behavior on mobile devices\n\t// because doing so breaks the pinch to zoom functionality, and we\n\t// want to allow users to zoom in further on the high-res image.\n\tif ( ! isTouching && Date.now() - lastTouchTime > 450 ) {\n\t\t// We are unable to use event.preventDefault() to prevent scrolling\n\t\t// because the scroll event can't be canceled, so we reset the position instead.\n\t\twindow.scrollTo(\n\t\t\tcontext.core.image.scrollLeftReset,\n\t\t\tcontext.core.image.scrollTopReset\n\t\t);\n\t}\n}\n\nstore(\n\t{\n\t\tstate: {\n\t\t\tcore: {\n\t\t\t\timage: {\n\t\t\t\t\twindowWidth: window.innerWidth,\n\t\t\t\t\twindowHeight: window.innerHeight,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\tcore: {\n\t\t\t\timage: {\n\t\t\t\t\tshowLightbox: ( { context, event } ) => {\n\t\t\t\t\t\t// We can't initialize the lightbox until the reference\n\t\t\t\t\t\t// image is loaded, otherwise the UX is broken.\n\t\t\t\t\t\tif ( ! context.core.image.imageLoaded ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontext.core.image.initialized = true;\n\t\t\t\t\t\tcontext.core.image.lastFocusedElement =\n\t\t\t\t\t\t\twindow.document.activeElement;\n\t\t\t\t\t\tcontext.core.image.scrollDelta = 0;\n\n\t\t\t\t\t\tcontext.core.image.lightboxEnabled = true;\n\t\t\t\t\t\tsetStyles( context, event );\n\n\t\t\t\t\t\tcontext.core.image.scrollTopReset =\n\t\t\t\t\t\t\twindow.pageYOffset ||\n\t\t\t\t\t\t\tdocument.documentElement.scrollTop;\n\n\t\t\t\t\t\t// In most cases, this value will be 0, but this is included\n\t\t\t\t\t\t// in case a user has created a page with horizontal scrolling.\n\t\t\t\t\t\tcontext.core.image.scrollLeftReset =\n\t\t\t\t\t\t\twindow.pageXOffset ||\n\t\t\t\t\t\t\tdocument.documentElement.scrollLeft;\n\n\t\t\t\t\t\t// We define and bind the scroll callback here so\n\t\t\t\t\t\t// that we can pass the context and as an argument.\n\t\t\t\t\t\t// We may be able to change this in the future if we\n\t\t\t\t\t\t// define the scroll callback in the store instead, but\n\t\t\t\t\t\t// this approach seems to tbe clearest for now.\n\t\t\t\t\t\tscrollCallback = handleScroll.bind( null, context );\n\n\t\t\t\t\t\t// We need to add a scroll event listener to the window\n\t\t\t\t\t\t// here because we are unable to otherwise access it via\n\t\t\t\t\t\t// the Interactivity API directives. If we add a native way\n\t\t\t\t\t\t// to access the window, we can remove this.\n\t\t\t\t\t\twindow.addEventListener(\n\t\t\t\t\t\t\t'scroll',\n\t\t\t\t\t\t\tscrollCallback,\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t\thideLightbox: async ( { context } ) => {\n\t\t\t\t\t\tcontext.core.image.hideAnimationEnabled = true;\n\t\t\t\t\t\tif ( context.core.image.lightboxEnabled ) {\n\t\t\t\t\t\t\t// We want to wait until the close animation is completed\n\t\t\t\t\t\t\t// before allowing a user to scroll again. The duration of this\n\t\t\t\t\t\t\t// animation is defined in the styles.scss and depends on if the\n\t\t\t\t\t\t\t// animation is 'zoom' or 'fade', but in any case we should wait\n\t\t\t\t\t\t\t// a few milliseconds longer than the duration, otherwise a user\n\t\t\t\t\t\t\t// may scroll too soon and cause the animation to look sloppy.\n\t\t\t\t\t\t\tsetTimeout( function () {\n\t\t\t\t\t\t\t\twindow.removeEventListener(\n\t\t\t\t\t\t\t\t\t'scroll',\n\t\t\t\t\t\t\t\t\tscrollCallback\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}, 450 );\n\n\t\t\t\t\t\t\tcontext.core.image.lightboxEnabled = false;\n\t\t\t\t\t\t\tcontext.core.image.lastFocusedElement.focus( {\n\t\t\t\t\t\t\t\tpreventScroll: true,\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\thandleKeydown: ( { context, actions, event } ) => {\n\t\t\t\t\t\tif ( context.core.image.lightboxEnabled ) {\n\t\t\t\t\t\t\tif ( event.key === 'Tab' || event.keyCode === 9 ) {\n\t\t\t\t\t\t\t\t// If shift + tab it change the direction\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\t\t\tcontext.core.image.firstFocusableElement\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\tcontext.core.image.lastFocusableElement.focus();\n\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\t\t\tcontext.core.image.lastFocusableElement\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\tcontext.core.image.firstFocusableElement.focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tevent.key === 'Escape' ||\n\t\t\t\t\t\t\t\tevent.keyCode === 27\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tactions.core.image.hideLightbox( {\n\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t} );\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\thandleLoad: ( { state, context, effects, ref } ) => {\n\t\t\t\t\t\tcontext.core.image.imageLoaded = true;\n\t\t\t\t\t\tcontext.core.image.imageCurrentSrc = ref.currentSrc;\n\t\t\t\t\t\teffects.core.image.setButtonStyles( {\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t} );\n\t\t\t\t\t},\n\t\t\t\t\thandleTouchStart: () => {\n\t\t\t\t\t\tisTouching = true;\n\t\t\t\t\t},\n\t\t\t\t\thandleTouchMove: ( { context, event } ) => {\n\t\t\t\t\t\t// On mobile devices, we want to prevent triggering the\n\t\t\t\t\t\t// scroll event because otherwise the page jumps around as\n\t\t\t\t\t\t// we reset the scroll position. This also means that closing\n\t\t\t\t\t\t// the lightbox requires that a user perform a simple tap. This\n\t\t\t\t\t\t// may be changed in the future if we find a better alternative\n\t\t\t\t\t\t// to override or reset the scroll position during swipe actions.\n\t\t\t\t\t\tif ( context.core.image.lightboxEnabled ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\thandleTouchEnd: () => {\n\t\t\t\t\t\t// We need to wait a few milliseconds before resetting\n\t\t\t\t\t\t// to ensure that pinch to zoom works consistently\n\t\t\t\t\t\t// on mobile devices when the lightbox is open.\n\t\t\t\t\t\tlastTouchTime = Date.now();\n\t\t\t\t\t\tisTouching = false;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tselectors: {\n\t\t\tcore: {\n\t\t\t\timage: {\n\t\t\t\t\troleAttribute: ( { context } ) => {\n\t\t\t\t\t\treturn context.core.image.lightboxEnabled\n\t\t\t\t\t\t\t? 'dialog'\n\t\t\t\t\t\t\t: '';\n\t\t\t\t\t},\n\t\t\t\t\tlightboxObjectFit: ( { context } ) => {\n\t\t\t\t\t\tif ( context.core.image.initialized ) {\n\t\t\t\t\t\t\treturn 'cover';\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tenlargedImgSrc: ( { context } ) => {\n\t\t\t\t\t\treturn context.core.image.initialized\n\t\t\t\t\t\t\t? context.core.image.imageUploadedSrc\n\t\t\t\t\t\t\t: '';\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\teffects: {\n\t\t\tcore: {\n\t\t\t\timage: {\n\t\t\t\t\tsetCurrentSrc: ( { context, ref } ) => {\n\t\t\t\t\t\tif ( ref.complete ) {\n\t\t\t\t\t\t\tcontext.core.image.imageLoaded = true;\n\t\t\t\t\t\t\tcontext.core.image.imageCurrentSrc = ref.currentSrc;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tinitLightbox: async ( { context, ref } ) => {\n\t\t\t\t\t\tcontext.core.image.figureRef =\n\t\t\t\t\t\t\tref.querySelector( 'figure' );\n\t\t\t\t\t\tcontext.core.image.imageRef =\n\t\t\t\t\t\t\tref.querySelector( 'img' );\n\t\t\t\t\t\tif ( context.core.image.lightboxEnabled ) {\n\t\t\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\t\t\tcontext.core.image.firstFocusableElement =\n\t\t\t\t\t\t\t\tfocusableElements[ 0 ];\n\t\t\t\t\t\t\tcontext.core.image.lastFocusableElement =\n\t\t\t\t\t\t\t\tfocusableElements[\n\t\t\t\t\t\t\t\t\tfocusableElements.length - 1\n\t\t\t\t\t\t\t\t];\n\n\t\t\t\t\t\t\tref.querySelector( '.close-button' ).focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tsetButtonStyles: ( { state, context, ref } ) => {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tnaturalWidth,\n\t\t\t\t\t\t\tnaturalHeight,\n\t\t\t\t\t\t\toffsetWidth,\n\t\t\t\t\t\t\toffsetHeight,\n\t\t\t\t\t\t} = ref;\n\n\t\t\t\t\t\t// If the image isn't loaded yet, we can't\n\t\t\t\t\t\t// calculate how big the button should be.\n\t\t\t\t\t\tif ( naturalWidth === 0 || naturalHeight === 0 ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Subscribe to the window dimensions so we can\n\t\t\t\t\t\t// recalculate the styles if the window is resized.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t( state.core.image.windowWidth ||\n\t\t\t\t\t\t\t\tstate.core.image.windowHeight ) &&\n\t\t\t\t\t\t\tcontext.core.image.scaleAttr === 'contain'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// In the case of an image with object-fit: contain, the\n\t\t\t\t\t\t\t// size of the img element can be larger than the image itself,\n\t\t\t\t\t\t\t// so we need to calculate the size of the button to match.\n\n\t\t\t\t\t\t\t// Natural ratio of the image.\n\t\t\t\t\t\t\tconst naturalRatio = naturalWidth / naturalHeight;\n\t\t\t\t\t\t\t// Offset ratio of the image.\n\t\t\t\t\t\t\tconst offsetRatio = offsetWidth / offsetHeight;\n\n\t\t\t\t\t\t\tif ( naturalRatio > offsetRatio ) {\n\t\t\t\t\t\t\t\t// If it reaches the width first, keep\n\t\t\t\t\t\t\t\t// the width and recalculate the height.\n\t\t\t\t\t\t\t\tcontext.core.image.imageButtonWidth =\n\t\t\t\t\t\t\t\t\toffsetWidth;\n\t\t\t\t\t\t\t\tconst buttonHeight = offsetWidth / naturalRatio;\n\t\t\t\t\t\t\t\tcontext.core.image.imageButtonHeight =\n\t\t\t\t\t\t\t\t\tbuttonHeight;\n\t\t\t\t\t\t\t\tcontext.core.image.imageButtonTop =\n\t\t\t\t\t\t\t\t\t( offsetHeight - buttonHeight ) / 2;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If it reaches the height first, keep\n\t\t\t\t\t\t\t\t// the height and recalculate the width.\n\t\t\t\t\t\t\t\tcontext.core.image.imageButtonHeight =\n\t\t\t\t\t\t\t\t\toffsetHeight;\n\t\t\t\t\t\t\t\tconst buttonWidth = offsetHeight * naturalRatio;\n\t\t\t\t\t\t\t\tcontext.core.image.imageButtonWidth =\n\t\t\t\t\t\t\t\t\tbuttonWidth;\n\t\t\t\t\t\t\t\tcontext.core.image.imageButtonLeft =\n\t\t\t\t\t\t\t\t\t( offsetWidth - buttonWidth ) / 2;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// In all other cases, we can trust that the size of\n\t\t\t\t\t\t\t// the image is the right size for the button as well.\n\n\t\t\t\t\t\t\tcontext.core.image.imageButtonWidth = offsetWidth;\n\t\t\t\t\t\t\tcontext.core.image.imageButtonHeight = offsetHeight;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tafterLoad: ( { state } ) => {\n\t\t\twindow.addEventListener(\n\t\t\t\t'resize',\n\t\t\t\tdebounce( () => {\n\t\t\t\t\tstate.core.image.windowWidth = window.innerWidth;\n\t\t\t\t\tstate.core.image.windowHeight = window.innerHeight;\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t}\n);\n\n/*\n * Computes styles for the lightbox and adds them to the document.\n *\n * @function\n * @param {Object} context - An Interactivity API context\n * @param {Object} event - A triggering event\n */\nfunction setStyles( context, event ) {\n\t// The reference img element lies adjacent\n\t// to the event target button in the DOM.\n\tlet {\n\t\tnaturalWidth,\n\t\tnaturalHeight,\n\t\toffsetWidth: originalWidth,\n\t\toffsetHeight: originalHeight,\n\t} = event.target.nextElementSibling;\n\tlet { x: screenPosX, y: screenPosY } =\n\t\tevent.target.nextElementSibling.getBoundingClientRect();\n\n\t// Natural ratio of the image clicked to open the lightbox.\n\tconst naturalRatio = naturalWidth / naturalHeight;\n\t// Original ratio of the image clicked to open the lightbox.\n\tlet originalRatio = originalWidth / originalHeight;\n\n\t// If it has object-fit: contain, recalculate the original sizes\n\t// and the screen position without the blank spaces.\n\tif ( context.core.image.scaleAttr === 'contain' ) {\n\t\tif ( naturalRatio > originalRatio ) {\n\t\t\tconst heightWithoutSpace = originalWidth / naturalRatio;\n\t\t\t// Recalculate screen position without the top space.\n\t\t\tscreenPosY += ( originalHeight - heightWithoutSpace ) / 2;\n\t\t\toriginalHeight = heightWithoutSpace;\n\t\t} else {\n\t\t\tconst widthWithoutSpace = originalHeight * naturalRatio;\n\t\t\t// Recalculate screen position without the left space.\n\t\t\tscreenPosX += ( originalWidth - widthWithoutSpace ) / 2;\n\t\t\toriginalWidth = widthWithoutSpace;\n\t\t}\n\t}\n\toriginalRatio = originalWidth / originalHeight;\n\n\t// Typically, we use the image's full-sized dimensions. If those\n\t// dimensions have not been set (i.e. an external image with only one size),\n\t// the image's dimensions in the lightbox are the same\n\t// as those of the image in the content.\n\tlet imgMaxWidth = parseFloat(\n\t\tcontext.core.image.targetWidth !== 'none'\n\t\t\t? context.core.image.targetWidth\n\t\t\t: naturalWidth\n\t);\n\tlet imgMaxHeight = parseFloat(\n\t\tcontext.core.image.targetHeight !== 'none'\n\t\t\t? context.core.image.targetHeight\n\t\t\t: naturalHeight\n\t);\n\n\t// Ratio of the biggest image stored in the database.\n\tlet imgRatio = imgMaxWidth / imgMaxHeight;\n\tlet containerMaxWidth = imgMaxWidth;\n\tlet containerMaxHeight = imgMaxHeight;\n\tlet containerWidth = imgMaxWidth;\n\tlet containerHeight = imgMaxHeight;\n\t// Check if the target image has a different ratio than the original one (thumbnail).\n\t// Recalculate the width and height.\n\tif ( naturalRatio.toFixed( 2 ) !== imgRatio.toFixed( 2 ) ) {\n\t\tif ( naturalRatio > imgRatio ) {\n\t\t\t// If the width is reached before the height, we keep the maxWidth\n\t\t\t// and recalculate the height.\n\t\t\t// Unless the difference between the maxHeight and the reducedHeight\n\t\t\t// is higher than the maxWidth, where we keep the reducedHeight and\n\t\t\t// recalculate the width.\n\t\t\tconst reducedHeight = imgMaxWidth / naturalRatio;\n\t\t\tif ( imgMaxHeight - reducedHeight > imgMaxWidth ) {\n\t\t\t\timgMaxHeight = reducedHeight;\n\t\t\t\timgMaxWidth = reducedHeight * naturalRatio;\n\t\t\t} else {\n\t\t\t\timgMaxHeight = imgMaxWidth / naturalRatio;\n\t\t\t}\n\t\t} else {\n\t\t\t// If the height is reached before the width, we keep the maxHeight\n\t\t\t// and recalculate the width.\n\t\t\t// Unless the difference between the maxWidth and the reducedWidth\n\t\t\t// is higher than the maxHeight, where we keep the reducedWidth and\n\t\t\t// recalculate the height.\n\t\t\tconst reducedWidth = imgMaxHeight * naturalRatio;\n\t\t\tif ( imgMaxWidth - reducedWidth > imgMaxHeight ) {\n\t\t\t\timgMaxWidth = reducedWidth;\n\t\t\t\timgMaxHeight = reducedWidth / naturalRatio;\n\t\t\t} else {\n\t\t\t\timgMaxWidth = imgMaxHeight * naturalRatio;\n\t\t\t}\n\t\t}\n\t\tcontainerWidth = imgMaxWidth;\n\t\tcontainerHeight = imgMaxHeight;\n\t\timgRatio = imgMaxWidth / imgMaxHeight;\n\n\t\t// Calculate the max size of the container.\n\t\tif ( originalRatio > imgRatio ) {\n\t\t\tcontainerMaxWidth = imgMaxWidth;\n\t\t\tcontainerMaxHeight = containerMaxWidth / originalRatio;\n\t\t} else {\n\t\t\tcontainerMaxHeight = imgMaxHeight;\n\t\t\tcontainerMaxWidth = containerMaxHeight * originalRatio;\n\t\t}\n\t}\n\n\t// If the image has been pixelated on purpose, keep that size.\n\tif ( originalWidth > containerWidth || originalHeight > containerHeight ) {\n\t\tcontainerWidth = originalWidth;\n\t\tcontainerHeight = originalHeight;\n\t}\n\n\t// Calculate the final lightbox image size and the\n\t// scale factor. MaxWidth is either the window container\n\t// (accounting for padding) or the image resolution.\n\tlet horizontalPadding = 0;\n\tif ( window.innerWidth > 480 ) {\n\t\thorizontalPadding = 80;\n\t} else if ( window.innerWidth > 1920 ) {\n\t\thorizontalPadding = 160;\n\t}\n\tconst verticalPadding = 80;\n\n\tconst targetMaxWidth = Math.min(\n\t\twindow.innerWidth - horizontalPadding,\n\t\tcontainerWidth\n\t);\n\tconst targetMaxHeight = Math.min(\n\t\twindow.innerHeight - verticalPadding,\n\t\tcontainerHeight\n\t);\n\tconst targetContainerRatio = targetMaxWidth / targetMaxHeight;\n\n\tif ( originalRatio > targetContainerRatio ) {\n\t\t// If targetMaxWidth is reached before targetMaxHeight\n\t\tcontainerWidth = targetMaxWidth;\n\t\tcontainerHeight = containerWidth / originalRatio;\n\t} else {\n\t\t// If targetMaxHeight is reached before targetMaxWidth\n\t\tcontainerHeight = targetMaxHeight;\n\t\tcontainerWidth = containerHeight * originalRatio;\n\t}\n\n\tconst containerScale = originalWidth / containerWidth;\n\tconst lightboxImgWidth =\n\t\timgMaxWidth * ( containerWidth / containerMaxWidth );\n\tconst lightboxImgHeight =\n\t\timgMaxHeight * ( containerHeight / containerMaxHeight );\n\n\t// Add the CSS variables needed.\n\tlet styleTag = document.getElementById( 'wp-lightbox-styles' );\n\tif ( ! styleTag ) {\n\t\tstyleTag = document.createElement( 'style' );\n\t\tstyleTag.id = 'wp-lightbox-styles';\n\t\tdocument.head.appendChild( styleTag );\n\t}\n\n\t// As of this writing, using the calculations above will render the lightbox\n\t// with a small, erroneous whitespace on the left side of the image in iOS Safari,\n\t// perhaps due to an inconsistency in how browsers handle absolute positioning and CSS\n\t// transformation. In any case, adding 1 pixel to the container width and height solves\n\t// the problem, though this can be removed if the issue is fixed in the future.\n\tstyleTag.innerHTML = `\n\t\t:root {\n\t\t\t--wp--lightbox-initial-top-position: ${ screenPosY }px;\n\t\t\t--wp--lightbox-initial-left-position: ${ screenPosX }px;\n\t\t\t--wp--lightbox-container-width: ${ containerWidth + 1 }px;\n\t\t\t--wp--lightbox-container-height: ${ containerHeight + 1 }px;\n\t\t\t--wp--lightbox-image-width: ${ lightboxImgWidth }px;\n\t\t\t--wp--lightbox-image-height: ${ lightboxImgHeight }px;\n\t\t\t--wp--lightbox-scale: ${ containerScale };\n\t\t}\n\t`;\n}\n\n/*\n * Debounces a function call.\n *\n * @function\n * @param {Function} func - A function to be called\n * @param {number} wait - The time to wait before calling the function\n */\nfunction debounce( func, wait = 50 ) {\n\tlet timeout;\n\treturn () => {\n\t\tconst later = () => {\n\t\t\ttimeout = null;\n\t\t\tfunc();\n\t\t};\n\t\tclearTimeout( timeout );\n\t\ttimeout = setTimeout( later, wait );\n\t};\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createElement, Fragment } from "
|
|
1
|
+
import { createElement, Fragment } from "react";
|
|
2
2
|
/**
|
|
3
3
|
* External dependencies
|
|
4
4
|
*/
|
|
@@ -346,18 +346,14 @@ export default function LatestPostsEdit({
|
|
|
346
346
|
}
|
|
347
347
|
});
|
|
348
348
|
const needsReadMore = excerptLength < excerpt.trim().split(' ').length && post.excerpt.raw === '';
|
|
349
|
-
const postExcerpt = needsReadMore ? createElement(Fragment, null, excerpt.trim().split(' ', excerptLength).join(' '), createInterpolateElement(
|
|
350
|
-
__('… <a>Read more
|
|
349
|
+
const postExcerpt = needsReadMore ? createElement(Fragment, null, excerpt.trim().split(' ', excerptLength).join(' '), createInterpolateElement( /* translators: excerpt truncation character, default … */
|
|
350
|
+
__(' … <a>Read more</a>'), {
|
|
351
351
|
a:
|
|
352
352
|
// eslint-disable-next-line jsx-a11y/anchor-has-content
|
|
353
353
|
createElement("a", {
|
|
354
|
-
className: "wp-block-latest-posts__read-more",
|
|
355
354
|
href: post.link,
|
|
356
355
|
rel: "noopener noreferrer",
|
|
357
356
|
onClick: showRedirectionPreventedNotice
|
|
358
|
-
}),
|
|
359
|
-
span: createElement("span", {
|
|
360
|
-
className: "screen-reader-text"
|
|
361
357
|
})
|
|
362
358
|
})) : excerpt;
|
|
363
359
|
return createElement("li", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","BaseControl","PanelBody","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__","sprintf","dateI18n","format","getSettings","InspectorControls","BlockAlignmentToolbar","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","useDispatch","pin","list","grid","coreStore","noticeStore","useInstanceId","createInterpolateElement","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","_categoriesList$reduc","instanceId","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","settings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","filter","value","imageDimensions","width","height","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","hasPosts","inspectorControls","createElement","title","checked","onChange","selected","options","__nextHasNoMarginBottom","__next40pxDefaultSize","min","max","Fragment","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","className","VisualLabel","controls","isCollapsed","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","Math","required","blockProps","icon","Array","isArray","displayPosts","slice","layoutControls","onClick","isActive","dateFormat","formats","date","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","a","href","link","rel","span","key","dangerouslySetInnerHTML","__html","date_gmt","dateTime","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockAlignmentToolbar,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { pin, list, grid } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n} from './constants';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'wp:featuredmedia',\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticeStore );\n\tlet noticeId;\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\t// Remove previous warning if any, to show one at a time per block.\n\t\tremoveNotice( noticeId );\n\t\tnoticeId = `block-library/core/latest-posts/redirection-prevented/${ instanceId }`;\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: noticeId,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Show:' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\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\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Post meta' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BaseControl className=\"editor-latest-posts-image-alignment-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<BlockAlignmentToolbar\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageAlign: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisCollapsed={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BaseControl>\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={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: value,\n\t\t\t\t\t\t\t\t} )\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\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<div>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = classnames( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: current author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","BaseControl","PanelBody","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__","sprintf","dateI18n","format","getSettings","InspectorControls","BlockAlignmentToolbar","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","useDispatch","pin","list","grid","coreStore","noticeStore","useInstanceId","createInterpolateElement","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","_categoriesList$reduc","instanceId","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","settings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","filter","value","imageDimensions","width","height","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","hasPosts","inspectorControls","createElement","title","checked","onChange","selected","options","__nextHasNoMarginBottom","__next40pxDefaultSize","min","max","Fragment","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","className","VisualLabel","controls","isCollapsed","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","Math","required","blockProps","icon","Array","isArray","displayPosts","slice","layoutControls","onClick","isActive","dateFormat","formats","date","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","a","href","link","rel","key","dangerouslySetInnerHTML","__html","date_gmt","dateTime","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockAlignmentToolbar,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { pin, list, grid } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n} from './constants';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'wp:featuredmedia',\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticeStore );\n\tlet noticeId;\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\t// Remove previous warning if any, to show one at a time per block.\n\t\tremoveNotice( noticeId );\n\t\tnoticeId = `block-library/core/latest-posts/redirection-prevented/${ instanceId }`;\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: noticeId,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Show:' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\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\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Post meta' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BaseControl className=\"editor-latest-posts-image-alignment-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<BlockAlignmentToolbar\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageAlign: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisCollapsed={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BaseControl>\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={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: value,\n\t\t\t\t\t\t\t\t} )\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\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<div>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = classnames( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t/* translators: excerpt truncation character, default … */\n\t\t\t\t\t\t\t\t__( ' … <a>Read more</a>' ),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: current author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -72,19 +72,6 @@ export default function useMerge(clientId, onMerge) {
|
|
|
72
72
|
return getBlockOrder(order[0])[0];
|
|
73
73
|
}
|
|
74
74
|
return forward => {
|
|
75
|
-
function mergeWithNested(clientIdA, clientIdB) {
|
|
76
|
-
registry.batch(() => {
|
|
77
|
-
// When merging a sub list item with a higher next list item, we
|
|
78
|
-
// also need to move any nested list items. Check if there's a
|
|
79
|
-
// listed list, and append its nested list items to the current
|
|
80
|
-
// list.
|
|
81
|
-
const [nestedListClientId] = getBlockOrder(clientIdB);
|
|
82
|
-
if (nestedListClientId) {
|
|
83
|
-
moveBlocksToPosition(getBlockOrder(nestedListClientId), nestedListClientId, getBlockRootClientId(clientIdA));
|
|
84
|
-
}
|
|
85
|
-
mergeBlocks(clientIdA, clientIdB);
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
75
|
if (forward) {
|
|
89
76
|
const nextBlockClientId = getNextId(clientId);
|
|
90
77
|
if (!nextBlockClientId) {
|
|
@@ -94,7 +81,10 @@ export default function useMerge(clientId, onMerge) {
|
|
|
94
81
|
if (getParentListItemId(nextBlockClientId)) {
|
|
95
82
|
outdentListItem(nextBlockClientId);
|
|
96
83
|
} else {
|
|
97
|
-
|
|
84
|
+
registry.batch(() => {
|
|
85
|
+
moveBlocksToPosition(getBlockOrder(nextBlockClientId), nextBlockClientId, getPreviousBlockClientId(nextBlockClientId));
|
|
86
|
+
mergeBlocks(clientId, nextBlockClientId);
|
|
87
|
+
});
|
|
98
88
|
}
|
|
99
89
|
} else {
|
|
100
90
|
// Merging is only done from the top level. For lowel levels, the
|
|
@@ -104,7 +94,17 @@ export default function useMerge(clientId, onMerge) {
|
|
|
104
94
|
outdentListItem(clientId);
|
|
105
95
|
} else if (previousBlockClientId) {
|
|
106
96
|
const trailingId = getTrailingId(previousBlockClientId);
|
|
107
|
-
|
|
97
|
+
registry.batch(() => {
|
|
98
|
+
// When merging a list item with a previous trailing list
|
|
99
|
+
// item, we also need to move any nested list items. First,
|
|
100
|
+
// check if there's a listed list. If there's a nested list,
|
|
101
|
+
// append its nested list items to the trailing list.
|
|
102
|
+
const [nestedListClientId] = getBlockOrder(clientId);
|
|
103
|
+
if (nestedListClientId) {
|
|
104
|
+
moveBlocksToPosition(getBlockOrder(nestedListClientId), nestedListClientId, getBlockRootClientId(trailingId));
|
|
105
|
+
}
|
|
106
|
+
mergeBlocks(trailingId, clientId);
|
|
107
|
+
});
|
|
108
108
|
} else {
|
|
109
109
|
onMerge(forward);
|
|
110
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRegistry","useDispatch","useSelect","store","blockEditorStore","useOutdentListItem","useMerge","clientId","onMerge","registry","getPreviousBlockClientId","getNextBlockClientId","getBlockOrder","getBlockRootClientId","getBlockName","mergeBlocks","moveBlocksToPosition","outdentListItem","getTrailingId","id","order","length","getParentListItemId","listId","parentListItemId","_getNextId","next","getNextId","forward","
|
|
1
|
+
{"version":3,"names":["useRegistry","useDispatch","useSelect","store","blockEditorStore","useOutdentListItem","useMerge","clientId","onMerge","registry","getPreviousBlockClientId","getNextBlockClientId","getBlockOrder","getBlockRootClientId","getBlockName","mergeBlocks","moveBlocksToPosition","outdentListItem","getTrailingId","id","order","length","getParentListItemId","listId","parentListItemId","_getNextId","next","getNextId","forward","nextBlockClientId","batch","previousBlockClientId","trailingId","nestedListClientId"],"sources":["@wordpress/block-library/src/list-item/hooks/use-merge.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport useOutdentListItem from './use-outdent-list-item';\n\nexport default function useMerge( clientId, onMerge ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t} = useSelect( blockEditorStore );\n\tconst { mergeBlocks, moveBlocksToPosition } =\n\t\tuseDispatch( blockEditorStore );\n\tconst [ , outdentListItem ] = useOutdentListItem( clientId );\n\n\tfunction getTrailingId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn id;\n\t\t}\n\n\t\treturn getTrailingId( order[ order.length - 1 ] );\n\t}\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) return;\n\t\tif ( getBlockName( parentListItemId ) !== 'core/list-item' ) return;\n\t\treturn parentListItemId;\n\t}\n\n\t/**\n\t * Return the next list item with respect to the given list item. If none,\n\t * return the next list item of the parent list item if it exists.\n\t *\n\t * @param {string} id A list item client ID.\n\t * @return {string?} The client ID of the next list item.\n\t */\n\tfunction _getNextId( id ) {\n\t\tconst next = getNextBlockClientId( id );\n\t\tif ( next ) return next;\n\t\tconst parentListItemId = getParentListItemId( id );\n\t\tif ( ! parentListItemId ) return;\n\t\treturn _getNextId( parentListItemId );\n\t}\n\n\t/**\n\t * Given a client ID, return the client ID of the list item on the next\n\t * line, regardless of indentation level.\n\t *\n\t * @param {string} id The client ID of the current list item.\n\t * @return {string?} The client ID of the next list item.\n\t */\n\tfunction getNextId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\t// If the list item does not have a nested list, return the next list\n\t\t// item.\n\t\tif ( ! order.length ) {\n\t\t\treturn _getNextId( id );\n\t\t}\n\n\t\t// Get the first list item in the nested list.\n\t\treturn getBlockOrder( order[ 0 ] )[ 0 ];\n\t}\n\n\treturn ( forward ) => {\n\t\tif ( forward ) {\n\t\t\tconst nextBlockClientId = getNextId( clientId );\n\n\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\tonMerge( forward );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( getParentListItemId( nextBlockClientId ) ) {\n\t\t\t\toutdentListItem( nextBlockClientId );\n\t\t\t} else {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\tgetBlockOrder( nextBlockClientId ),\n\t\t\t\t\t\tnextBlockClientId,\n\t\t\t\t\t\tgetPreviousBlockClientId( nextBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\t// Merging is only done from the top level. For lowel levels, the\n\t\t\t// list item is outdented instead.\n\t\t\tconst previousBlockClientId = getPreviousBlockClientId( clientId );\n\t\t\tif ( getParentListItemId( clientId ) ) {\n\t\t\t\toutdentListItem( clientId );\n\t\t\t} else if ( previousBlockClientId ) {\n\t\t\t\tconst trailingId = getTrailingId( previousBlockClientId );\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t// When merging a list item with a previous trailing list\n\t\t\t\t\t// item, we also need to move any nested list items. First,\n\t\t\t\t\t// check if there's a listed list. If there's a nested list,\n\t\t\t\t\t// append its nested list items to the trailing list.\n\t\t\t\t\tconst [ nestedListClientId ] = getBlockOrder( clientId );\n\t\t\t\t\tif ( nestedListClientId ) {\n\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\tgetBlockOrder( nestedListClientId ),\n\t\t\t\t\t\t\tnestedListClientId,\n\t\t\t\t\t\t\tgetBlockRootClientId( trailingId )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tmergeBlocks( trailingId, clientId );\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tonMerge( forward );\n\t\t\t}\n\t\t}\n\t};\n}\n"],"mappings":"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"}
|
|
@@ -5,5 +5,5 @@ import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/pri
|
|
|
5
5
|
export const {
|
|
6
6
|
lock,
|
|
7
7
|
unlock
|
|
8
|
-
} = __dangerousOptInToUnstableAPIsOnlyForCoreModules('I know using unstable features means my
|
|
8
|
+
} = __dangerousOptInToUnstableAPIsOnlyForCoreModules('I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.', '@wordpress/block-library');
|
|
9
9
|
//# sourceMappingURL=lock-unlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__dangerousOptInToUnstableAPIsOnlyForCoreModules","lock","unlock"],"sources":["@wordpress/block-library/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my
|
|
1
|
+
{"version":3,"names":["__dangerousOptInToUnstableAPIsOnlyForCoreModules","lock","unlock"],"sources":["@wordpress/block-library/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.',\n\t\t'@wordpress/block-library'\n\t);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gDAAgD,QAAQ,yBAAyB;AAE1F,OAAO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5BF,gDAAgD,CAC/C,8GAA8G,EAC9G,0BACD,CAAC"}
|
|
@@ -29,6 +29,14 @@ const metadata = {
|
|
|
29
29
|
},
|
|
30
30
|
supports: {
|
|
31
31
|
className: true,
|
|
32
|
+
spacing: {
|
|
33
|
+
margin: true,
|
|
34
|
+
padding: true,
|
|
35
|
+
__experimentalDefaultControls: {
|
|
36
|
+
margin: false,
|
|
37
|
+
padding: false
|
|
38
|
+
}
|
|
39
|
+
},
|
|
32
40
|
typography: {
|
|
33
41
|
fontSize: true,
|
|
34
42
|
lineHeight: true,
|