@wordpress/block-library 8.29.0 → 8.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/audio/edit.js +7 -17
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js.map +1 -1
- package/build/avatar/edit.js.map +1 -1
- package/build/block/deprecated.js +71 -11
- package/build/block/deprecated.js.map +1 -1
- package/build/block/edit.js +65 -31
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +2 -2
- package/build/button/edit.js.map +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/buttons/transforms.js +16 -2
- package/build/buttons/transforms.js.map +1 -1
- package/build/code/save.js +3 -1
- package/build/code/save.js.map +1 -1
- package/build/code/transforms.js +17 -6
- package/build/code/transforms.js.map +1 -1
- package/build/columns/edit.js +3 -2
- package/build/columns/edit.js.map +1 -1
- package/build/comment-author-avatar/edit.js +1 -1
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/cover/edit/block-controls.js +14 -3
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/resizable-cover-popover.js +0 -6
- package/build/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build/cover/edit.native.js.map +1 -1
- package/build/details/edit.js +1 -0
- package/build/details/edit.js.map +1 -1
- package/build/file/deprecated.js.map +1 -1
- package/build/file/edit.js +8 -13
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/save.js.map +1 -1
- package/build/form-input/edit.js +1 -1
- package/build/form-input/edit.js.map +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/heading/index.js +4 -3
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +17 -4
- package/build/heading/transforms.js.map +1 -1
- package/build/image/edit.js +8 -4
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +22 -8
- package/build/image/image.js.map +1 -1
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/list/ordered-list-settings.js +1 -1
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/list-item/edit.js +1 -3
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/hooks/index.js +0 -7
- package/build/list-item/hooks/index.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +1 -0
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +1 -0
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-space.js +16 -7
- package/build/list-item/hooks/use-space.js.map +1 -1
- package/build/list-item/index.js +4 -1
- package/build/list-item/index.js.map +1 -1
- package/build/media-text/edit.js +33 -9
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +5 -0
- package/build/media-text/index.js.map +1 -1
- package/build/media-text/media-container.js +30 -11
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/media-container.native.js +1 -1
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/media-text/save.js +2 -2
- package/build/media-text/save.js.map +1 -1
- package/build/navigation/edit/index.js +23 -29
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +24 -23
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +4 -4
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +15 -12
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/edit.js +12 -10
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -0
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/paragraph/edit.native.js.map +1 -1
- package/build/pattern/edit.js +11 -0
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +1 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -0
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +12 -12
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +6 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-terms/edit.js +2 -0
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-title/edit.js +2 -2
- package/build/post-title/edit.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js.map +1 -1
- package/build/query/utils.js +7 -5
- package/build/query/utils.js.map +1 -1
- package/build/query-pagination-next/edit.js.map +1 -1
- package/build/query-pagination-previous/edit.js.map +1 -1
- package/build/quote/deprecated.js +111 -12
- package/build/quote/deprecated.js.map +1 -1
- package/build/quote/edit.js +7 -7
- package/build/quote/edit.js.map +1 -1
- package/build/quote/index.js +1 -1
- package/build/quote/index.js.map +1 -1
- package/build/quote/save.js +2 -2
- package/build/quote/save.js.map +1 -1
- package/build/read-more/edit.js +1 -0
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +3 -1
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +2 -2
- package/build/search/edit.native.js.map +1 -1
- package/build/site-logo/edit.js +7 -2
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-title/{edit/index.js → edit.js} +1 -1
- package/build/site-title/edit.js.map +1 -0
- package/build/social-link/edit.js +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/icons/medium.js +1 -1
- package/build/social-link/icons/medium.js.map +1 -1
- package/build/social-link/icons/reddit.js +1 -1
- package/build/social-link/icons/reddit.js.map +1 -1
- package/build/social-links/edit.native.js.map +1 -1
- package/build/spacer/edit.js.map +1 -1
- package/build/table/deprecated.js +285 -175
- package/build/table/deprecated.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/template-part/edit/index.js +53 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +2 -8
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
- package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
- package/build/utils/caption.js +15 -5
- package/build/utils/caption.js.map +1 -1
- package/build/utils/get-transformed-metadata.js +57 -0
- package/build/utils/get-transformed-metadata.js.map +1 -0
- package/build/utils/hooks.js +55 -4
- package/build/utils/hooks.js.map +1 -1
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +7 -16
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +3 -8
- package/build/video/edit.native.js.map +1 -1
- package/build-module/audio/edit.js +10 -20
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/block/deprecated.js +71 -11
- package/build-module/block/deprecated.js.map +1 -1
- package/build-module/block/edit.js +66 -32
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +3 -3
- package/build-module/button/edit.js.map +1 -1
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/buttons/transforms.js +16 -2
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/code/save.js +3 -1
- package/build-module/code/save.js.map +1 -1
- package/build-module/code/transforms.js +17 -6
- package/build-module/code/transforms.js.map +1 -1
- package/build-module/columns/edit.js +3 -2
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +1 -1
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +15 -4
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/resizable-cover-popover.js +1 -7
- package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/details/edit.js +1 -0
- package/build-module/details/edit.js.map +1 -1
- package/build-module/file/deprecated.js.map +1 -1
- package/build-module/file/edit.js +9 -14
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/form-input/edit.js +1 -1
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery.native.js.map +1 -1
- package/build-module/heading/index.js +4 -3
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +17 -4
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/image/edit.js +9 -5
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +23 -9
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +1 -1
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/list-item/edit.js +2 -4
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/list-item/hooks/index.js +0 -1
- package/build-module/list-item/hooks/index.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-space.js +17 -8
- package/build-module/list-item/hooks/use-space.js.map +1 -1
- package/build-module/list-item/index.js +4 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/media-text/edit.js +34 -10
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +5 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/media-text/media-container.js +31 -12
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/media-container.native.js +1 -1
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/media-text/save.js +2 -2
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/navigation/edit/index.js +24 -30
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +4 -4
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +15 -12
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/edit.js +13 -11
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -0
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/paragraph/edit.native.js.map +1 -1
- package/build-module/pattern/edit.js +11 -0
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-author/edit.js +1 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -0
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +13 -13
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +6 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +2 -0
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-title/edit.js +2 -2
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
- package/build-module/query/utils.js +7 -5
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-pagination-next/edit.js.map +1 -1
- package/build-module/query-pagination-previous/edit.js.map +1 -1
- package/build-module/quote/deprecated.js +112 -13
- package/build-module/quote/deprecated.js.map +1 -1
- package/build-module/quote/edit.js +7 -7
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/quote/index.js +1 -1
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/save.js +2 -2
- package/build-module/quote/save.js.map +1 -1
- package/build-module/read-more/edit.js +1 -0
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +3 -1
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +2 -2
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/site-logo/edit.js +7 -2
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-title/{edit/index.js → edit.js} +1 -1
- package/build-module/site-title/edit.js.map +1 -0
- package/build-module/social-link/edit.js +1 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/icons/medium.js +1 -1
- package/build-module/social-link/icons/medium.js.map +1 -1
- package/build-module/social-link/icons/reddit.js +1 -1
- package/build-module/social-link/icons/reddit.js.map +1 -1
- package/build-module/social-links/edit.native.js.map +1 -1
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/table/deprecated.js +286 -176
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/template-part/edit/index.js +57 -5
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +2 -8
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
- package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
- package/build-module/utils/caption.js +13 -3
- package/build-module/utils/caption.js.map +1 -1
- package/build-module/utils/get-transformed-metadata.js +51 -0
- package/build-module/utils/get-transformed-metadata.js.map +1 -0
- package/build-module/utils/hooks.js +54 -3
- package/build-module/utils/hooks.js.map +1 -1
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +10 -19
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +3 -8
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/common-rtl.css +1 -0
- package/build-style/common.css +1 -0
- package/build-style/cover/style-rtl.css +2 -1
- package/build-style/cover/style.css +2 -1
- package/build-style/editor-rtl.css +11 -2
- package/build-style/editor.css +11 -2
- package/build-style/file/editor-rtl.css +3 -0
- package/build-style/file/editor.css +3 -0
- package/build-style/group/editor-rtl.css +1 -1
- package/build-style/group/editor.css +1 -1
- package/build-style/media-text/editor-rtl.css +7 -1
- package/build-style/media-text/editor.css +7 -1
- package/build-style/search/style-rtl.css +2 -0
- package/build-style/search/style.css +2 -0
- package/build-style/social-links/style-rtl.css +2 -2
- package/build-style/social-links/style.css +2 -2
- package/build-style/style-rtl.css +6 -3
- package/build-style/style.css +6 -3
- package/package.json +34 -34
- package/src/archives/index.php +4 -0
- package/src/audio/edit.js +9 -19
- package/src/audio/edit.native.js +3 -3
- package/src/avatar/edit.js +1 -1
- package/src/avatar/index.php +6 -0
- package/src/block/deprecated.js +76 -11
- package/src/block/edit.js +100 -32
- package/src/block/index.php +27 -12
- package/src/block/test/edit.native.js +67 -0
- package/src/button/edit.js +4 -3
- package/src/buttons/edit.native.js +1 -1
- package/src/buttons/transforms.js +14 -4
- package/src/calendar/index.php +17 -0
- package/src/categories/index.php +6 -0
- package/src/code/save.js +7 -1
- package/src/code/transforms.js +20 -5
- package/src/columns/edit.js +3 -2
- package/src/comment-author-avatar/edit.js +1 -1
- package/src/comment-author-name/index.php +4 -0
- package/src/comment-content/index.php +4 -0
- package/src/comment-date/index.php +4 -0
- package/src/comment-edit-link/index.php +4 -0
- package/src/comment-reply-link/index.php +4 -0
- package/src/comment-template/index.php +4 -0
- package/src/comments/index.php +12 -0
- package/src/comments-pagination/index.php +4 -0
- package/src/comments-pagination-next/index.php +4 -0
- package/src/comments-pagination-numbers/index.php +4 -0
- package/src/comments-pagination-previous/index.php +4 -0
- package/src/comments-title/index.php +4 -0
- package/src/cover/edit/block-controls.js +16 -2
- package/src/cover/edit/index.js +6 -3
- package/src/cover/edit/inspector-controls.js +1 -1
- package/src/cover/edit/resizable-cover-popover.js +1 -6
- package/src/cover/edit.native.js +1 -1
- package/src/cover/index.php +4 -0
- package/src/cover/style.scss +3 -2
- package/src/details/edit.js +1 -0
- package/src/file/deprecated.js +3 -3
- package/src/file/edit.js +10 -15
- package/src/file/edit.native.js +4 -4
- package/src/file/editor.scss +3 -0
- package/src/file/index.php +4 -0
- package/src/file/save.js +1 -1
- package/src/footnotes/index.php +1 -1
- package/src/form-input/edit.js +1 -1
- package/src/gallery/edit.js +3 -3
- package/src/gallery/gallery.native.js +1 -1
- package/src/gallery/index.php +6 -0
- package/src/gallery/test/index.native.js +1 -1
- package/src/gallery/v1/edit.js +2 -2
- package/src/gallery/v1/gallery.native.js +1 -1
- package/src/group/editor.scss +1 -1
- package/src/heading/index.js +4 -3
- package/src/heading/index.php +4 -0
- package/src/heading/transforms.js +27 -8
- package/src/home-link/index.php +10 -0
- package/src/image/edit.js +13 -5
- package/src/image/edit.native.js +1 -1
- package/src/image/editor.scss +1 -0
- package/src/image/image.js +34 -22
- package/src/image/index.php +12 -1
- package/src/latest-comments/index.php +4 -0
- package/src/latest-posts/edit.native.js +1 -1
- package/src/latest-posts/index.php +8 -0
- package/src/list/ordered-list-settings.js +1 -1
- package/src/list-item/edit.js +1 -2
- package/src/list-item/edit.native.js +1 -1
- package/src/list-item/hooks/index.js +0 -1
- package/src/list-item/hooks/use-indent-list-item.js +2 -0
- package/src/list-item/hooks/use-outdent-list-item.js +2 -0
- package/src/list-item/hooks/use-space.js +16 -9
- package/src/list-item/index.js +3 -0
- package/src/loginout/index.php +4 -0
- package/src/media-text/block.json +5 -0
- package/src/media-text/edit.js +70 -19
- package/src/media-text/editor.scss +7 -1
- package/src/media-text/index.php +70 -0
- package/src/media-text/media-container.js +49 -9
- package/src/media-text/media-container.native.js +5 -3
- package/src/media-text/save.js +2 -2
- package/src/media-text/test/edit.native.js +58 -0
- package/src/missing/test/edit-integration.native.js +2 -1
- package/src/navigation/edit/index.js +68 -72
- package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
- package/src/navigation/edit/navigation-menu-selector.js +39 -21
- package/src/navigation/edit/placeholder/index.js +4 -4
- package/src/navigation/edit/test/navigation-menu-selector.js +77 -55
- package/src/navigation/index.php +118 -34
- package/src/navigation/test/use-navigation-menu.js +21 -21
- package/src/navigation/use-navigation-menu.js +23 -9
- package/src/navigation-link/edit.js +12 -13
- package/src/navigation-link/index.php +14 -0
- package/src/navigation-link/link-ui.js +2 -2
- package/src/navigation-submenu/edit.js +4 -0
- package/src/navigation-submenu/index.php +8 -0
- package/src/page-list/index.php +12 -0
- package/src/page-list-item/index.php +2 -0
- package/src/paragraph/edit.native.js +1 -1
- package/src/paragraph/test/edit.native.js +36 -0
- package/src/pattern/edit.js +14 -0
- package/src/pattern/index.php +2 -0
- package/src/post-author/edit.js +1 -0
- package/src/post-author/index.php +4 -0
- package/src/post-author-biography/index.php +4 -0
- package/src/post-author-name/index.php +4 -0
- package/src/post-comments-form/index.php +6 -0
- package/src/post-content/index.php +4 -0
- package/src/post-date/index.php +4 -0
- package/src/post-excerpt/edit.js +2 -1
- package/src/post-excerpt/index.php +4 -0
- package/src/post-featured-image/block.json +6 -0
- package/src/post-featured-image/dimension-controls.js +4 -4
- package/src/post-featured-image/edit.js +14 -12
- package/src/post-featured-image/index.php +15 -0
- package/src/post-navigation-link/edit.js +2 -1
- package/src/post-navigation-link/index.php +4 -0
- package/src/post-template/index.php +6 -0
- package/src/post-terms/edit.js +2 -0
- package/src/post-terms/index.php +6 -0
- package/src/post-title/edit.js +49 -43
- package/src/post-title/index.php +2 -0
- package/src/query/edit/pattern-selection-modal.js +1 -1
- package/src/query/index.php +2 -0
- package/src/query/utils.js +6 -4
- package/src/query-no-results/index.php +4 -0
- package/src/query-pagination/index.php +4 -0
- package/src/query-pagination-next/edit.js +1 -1
- package/src/query-pagination-next/index.php +4 -0
- package/src/query-pagination-numbers/index.php +4 -0
- package/src/query-pagination-previous/edit.js +1 -1
- package/src/query-pagination-previous/index.php +4 -0
- package/src/query-title/index.php +4 -0
- package/src/quote/block.json +1 -1
- package/src/quote/deprecated.js +110 -15
- package/src/quote/edit.js +16 -10
- package/src/quote/save.js +2 -2
- package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
- package/src/read-more/edit.js +2 -1
- package/src/read-more/index.php +4 -0
- package/src/rss/index.php +4 -0
- package/src/search/edit.js +3 -1
- package/src/search/edit.native.js +6 -6
- package/src/search/index.php +20 -2
- package/src/search/style.scss +2 -0
- package/src/shortcode/index.php +4 -0
- package/src/site-logo/edit.js +11 -6
- package/src/site-logo/index.php +20 -0
- package/src/site-tagline/index.php +4 -0
- package/src/site-title/index.php +4 -0
- package/src/social-link/edit.js +2 -2
- package/src/social-link/icons/medium.js +1 -1
- package/src/social-link/icons/reddit.js +1 -1
- package/src/social-link/index.php +22 -9
- package/src/social-link/socials-with-bg.scss +1 -1
- package/src/social-link/socials-without-bg.scss +1 -1
- package/src/social-links/edit.native.js +1 -1
- package/src/spacer/edit.js +1 -1
- package/src/table/block.json +1 -1
- package/src/table/deprecated.js +308 -175
- package/src/table-of-contents/edit.js +1 -1
- package/src/tag-cloud/index.php +4 -0
- package/src/template-part/edit/index.js +91 -4
- package/src/template-part/edit/selection-modal.js +4 -8
- package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
- package/src/template-part/index.php +10 -0
- package/src/term-description/index.php +4 -0
- package/src/utils/caption.js +10 -1
- package/src/utils/get-transformed-metadata.js +65 -0
- package/src/utils/hooks.js +53 -3
- package/src/video/edit-common-settings.js +1 -1
- package/src/video/edit.js +10 -18
- package/src/video/edit.native.js +7 -8
- package/src/video/test/edit.native.js +0 -14
- package/tsconfig.json +1 -0
- package/build/list-item/hooks/use-copy.js +0 -39
- package/build/list-item/hooks/use-copy.js.map +0 -1
- package/build/site-title/edit/index.js.map +0 -1
- package/build-module/list-item/hooks/use-copy.js +0 -32
- package/build-module/list-item/hooks/use-copy.js.map +0 -1
- package/build-module/site-title/edit/index.js.map +0 -1
- package/src/list-item/hooks/use-copy.js +0 -38
- /package/src/site-title/{edit/index.js → edit.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","RichText","getColorClassName","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","oldColors","v3","attributes","hasFixedLayout","type","default","caption","source","selector","head","query","cells","content","tag","scope","attribute","align","body","foot","supports","anchor","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalBorder","style","width","__experimentalSelector","save","isEmpty","length","colorProps","borderProps","classes","className","hasCaption","Section","rows","Tag","createElement","map","rowIndex","key","cellIndex","cellClasses","Content","undefined","tagName","value","v2","backgroundColor","backgroundClass","isEligible","migrate","v1"],"sources":["@wordpress/block-library/src/table/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\n\n// As the previous arbitrary colors won't match theme color palettes, the hex\n// value will be mapped to the style.color.background attribute as if it was\n// a custom color selection.\nconst oldColors = {\n\t'subtle-light-gray': '#f3f4f5',\n\t'subtle-pale-green': '#e9fbe5',\n\t'subtle-pale-blue': '#e7f5fe',\n\t'subtle-pale-pink': '#fcf0ef',\n};\n\n// In #41140 support was added to global styles for caption elements which\n// added a `wp-element-caption` classname to the embed figcaption element.\nconst v3 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tcolor: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, caption } = attributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames(\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t}\n\t\t);\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\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</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classes === '' ? undefined : classes }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n// Deprecation migrating table block to use colors block support feature.\nconst v2 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave: ( { attributes } ) => {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor, caption } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\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</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table className={ classes === '' ? undefined : classes }>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tisEligible: ( attributes ) => {\n\t\treturn (\n\t\t\tattributes.backgroundColor &&\n\t\t\tattributes.backgroundColor in oldColors &&\n\t\t\t! attributes.style\n\t\t);\n\t},\n\n\t// This version is the first to introduce the style attribute to the\n\t// table block. As a result, we'll explicitly override that.\n\tmigrate: ( attributes ) => {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tbackgroundColor: undefined,\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\tbackground: oldColors[ attributes.backgroundColor ],\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\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\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\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\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\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\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t( { content, tag, scope }, cellIndex ) => (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\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</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<table className={ classes }>\n\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t</table>\n\t\t);\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v3, v2, v1 ];\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,QAAQ,EACRC,iBAAiB,EACjBC,aAAa,EACbC,uCAAuC,IAAIC,yBAAyB,EACpEC,sCAAsC,IAAIC,wBAAwB,QAC5D,yBAAyB;;AAEhC;AACA;AACA;AACA,MAAMC,SAAS,GAAG;EACjB,mBAAmB,EAAE,SAAS;EAC9B,mBAAmB,EAAE,SAAS;EAC9B,kBAAkB,EAAE,SAAS;EAC7B,kBAAkB,EAAE;AACrB,CAAC;;AAED;AACA;AACA,MAAMC,EAAE,GAAG;EACVC,UAAU,EAAE;IACXC,cAAc,EAAE;MACfC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAE;IACV,CAAC;IACDC,OAAO,EAAE;MACRF,IAAI,EAAE,QAAQ;MACdG,MAAM,EAAE,MAAM;MACdC,QAAQ,EAAE,YAAY;MACtBH,OAAO,EAAE;IACV,CAAC;IACDI,IAAI,EAAE;MACLL,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,EAAE;MACXE,MAAM,EAAE,OAAO;MACfC,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNP,IAAI,EAAE,OAAO;UACbC,OAAO,EAAE,EAAE;UACXE,MAAM,EAAE,OAAO;UACfC,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAE;YACNE,OAAO,EAAE;cACRR,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE;YACT,CAAC;YACDM,GAAG,EAAE;cACJT,IAAI,EAAE,QAAQ;cACdC,OAAO,EAAE,IAAI;cACbE,MAAM,EAAE;YACT,CAAC;YACDO,KAAK,EAAE;cACNV,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ,CAAC;YACDC,KAAK,EAAE;cACNZ,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ;UACD;QACD;MACD;IACD,CAAC;IACDE,IAAI,EAAE;MACLb,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,EAAE;MACXE,MAAM,EAAE,OAAO;MACfC,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNP,IAAI,EAAE,OAAO;UACbC,OAAO,EAAE,EAAE;UACXE,MAAM,EAAE,OAAO;UACfC,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAE;YACNE,OAAO,EAAE;cACRR,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE;YACT,CAAC;YACDM,GAAG,EAAE;cACJT,IAAI,EAAE,QAAQ;cACdC,OAAO,EAAE,IAAI;cACbE,MAAM,EAAE;YACT,CAAC;YACDO,KAAK,EAAE;cACNV,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ,CAAC;YACDC,KAAK,EAAE;cACNZ,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ;UACD;QACD;MACD;IACD,CAAC;IACDG,IAAI,EAAE;MACLd,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,EAAE;MACXE,MAAM,EAAE,OAAO;MACfC,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNP,IAAI,EAAE,OAAO;UACbC,OAAO,EAAE,EAAE;UACXE,MAAM,EAAE,OAAO;UACfC,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAE;YACNE,OAAO,EAAE;cACRR,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE;YACT,CAAC;YACDM,GAAG,EAAE;cACJT,IAAI,EAAE,QAAQ;cACdC,OAAO,EAAE,IAAI;cACbE,MAAM,EAAE;YACT,CAAC;YACDO,KAAK,EAAE;cACNV,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ,CAAC;YACDC,KAAK,EAAE;cACNZ,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ;UACD;QACD;MACD;IACD;EACD,CAAC;EACDI,QAAQ,EAAE;IACTC,MAAM,EAAE,IAAI;IACZJ,KAAK,EAAE,IAAI;IACXK,KAAK,EAAE;MACNC,+BAA+B,EAAE,IAAI;MACrCC,SAAS,EAAE,IAAI;MACfC,6BAA6B,EAAE;QAC9BC,UAAU,EAAE,IAAI;QAChBC,IAAI,EAAE;MACP;IACD,CAAC;IACDC,OAAO,EAAE;MACRC,MAAM,EAAE,IAAI;MACZC,OAAO,EAAE;IACV,CAAC;IACDC,UAAU,EAAE;MACXC,QAAQ,EAAE,IAAI;MACdC,UAAU,EAAE,IAAI;MAChBC,wBAAwB,EAAE,IAAI;MAC9BC,uBAAuB,EAAE,IAAI;MAC7BC,wBAAwB,EAAE,IAAI;MAC9BC,2BAA2B,EAAE,IAAI;MACjCC,2BAA2B,EAAE,IAAI;MACjCC,4BAA4B,EAAE,IAAI;MAClCd,6BAA6B,EAAE;QAC9BO,QAAQ,EAAE;MACX;IACD,CAAC;IACDQ,oBAAoB,EAAE;MACrBjB,+BAA+B,EAAE,IAAI;MACrCD,KAAK,EAAE,IAAI;MACXmB,KAAK,EAAE,IAAI;MACXC,KAAK,EAAE,IAAI;MACXjB,6BAA6B,EAAE;QAC9BH,KAAK,EAAE,IAAI;QACXmB,KAAK,EAAE,IAAI;QACXC,KAAK,EAAE;MACR;IACD,CAAC;IACDC,sBAAsB,EAAE;EACzB,CAAC;EACDC,IAAIA,CAAE;IAAEzC;EAAW,CAAC,EAAG;IACtB,MAAM;MAAEC,cAAc;MAAEM,IAAI;MAAEQ,IAAI;MAAEC,IAAI;MAAEZ;IAAQ,CAAC,GAAGJ,UAAU;IAChE,MAAM0C,OAAO,GAAG,CAAEnC,IAAI,CAACoC,MAAM,IAAI,CAAE5B,IAAI,CAAC4B,MAAM,IAAI,CAAE3B,IAAI,CAAC2B,MAAM;IAE/D,IAAKD,OAAO,EAAG;MACd,OAAO,IAAI;IACZ;IAEA,MAAME,UAAU,GAAG/C,wBAAwB,CAAEG,UAAW,CAAC;IACzD,MAAM6C,WAAW,GAAGlD,yBAAyB,CAAEK,UAAW,CAAC;IAE3D,MAAM8C,OAAO,GAAGxD,UAAU,CACzBsD,UAAU,CAACG,SAAS,EACpBF,WAAW,CAACE,SAAS,EACrB;MACC,kBAAkB,EAAE9C;IACrB,CACD,CAAC;IAED,MAAM+C,UAAU,GAAG,CAAEzD,QAAQ,CAACmD,OAAO,CAAEtC,OAAQ,CAAC;IAEhD,MAAM6C,OAAO,GAAGA,CAAE;MAAE/C,IAAI;MAAEgD;IAAK,CAAC,KAAM;MACrC,IAAK,CAAEA,IAAI,CAACP,MAAM,EAAG;QACpB,OAAO,IAAI;MACZ;MAEA,MAAMQ,GAAG,GAAI,IAAIjD,IAAM,EAAC;MAExB,OACCkD,aAAA,CAACD,GAAG,QACDD,IAAI,CAACG,GAAG,CAAE,CAAE;QAAE5C;MAAM,CAAC,EAAE6C,QAAQ,KAChCF,aAAA;QAAIG,GAAG,EAAGD;MAAU,GACjB7C,KAAK,CAAC4C,GAAG,CACV,CACC;QAAE3C,OAAO;QAAEC,GAAG;QAAEC,KAAK;QAAEE;MAAM,CAAC,EAC9B0C,SAAS,KACL;QACJ,MAAMC,WAAW,GAAGnE,UAAU,CAAE;UAC/B,CAAG,kBAAkBwB,KAAO,EAAC,GAAIA;QAClC,CAAE,CAAC;QAEH,OACCsC,aAAA,CAAC7D,QAAQ,CAACmE,OAAO;UAChBX,SAAS,EACRU,WAAW,GACRA,WAAW,GACXE,SACH;UACD,cAAa7C,KAAO;UACpB8C,OAAO,EAAGjD,GAAK;UACfkD,KAAK,EAAGnD,OAAS;UACjB6C,GAAG,EAAGC,SAAW;UACjB5C,KAAK,EACJD,GAAG,KAAK,IAAI,GAAGC,KAAK,GAAG+C;QACvB,CACD,CAAC;MAEJ,CACD,CACG,CACH,CACE,CAAC;IAER,CAAC;IAED,OACCP,aAAA;MAAA,GAAa3D,aAAa,CAACgD,IAAI,CAAC;IAAC,GAChCW,aAAA;MACCL,SAAS,EAAGD,OAAO,KAAK,EAAE,GAAGa,SAAS,GAAGb,OAAS;MAClDR,KAAK,EAAG;QAAE,GAAGM,UAAU,CAACN,KAAK;QAAE,GAAGO,WAAW,CAACP;MAAM;IAAG,GAEvDc,aAAA,CAACH,OAAO;MAAC/C,IAAI,EAAC,MAAM;MAACgD,IAAI,EAAG3C;IAAM,CAAE,CAAC,EACrC6C,aAAA,CAACH,OAAO;MAAC/C,IAAI,EAAC,MAAM;MAACgD,IAAI,EAAGnC;IAAM,CAAE,CAAC,EACrCqC,aAAA,CAACH,OAAO;MAAC/C,IAAI,EAAC,MAAM;MAACgD,IAAI,EAAGlC;IAAM,CAAE,CAC9B,CAAC,EACNgC,UAAU,IACXI,aAAA,CAAC7D,QAAQ,CAACmE,OAAO;MAACE,OAAO,EAAC,YAAY;MAACC,KAAK,EAAGzD;IAAS,CAAE,CAEpD,CAAC;EAEX;AACD,CAAC;;AAED;AACA,MAAM0D,EAAE,GAAG;EACV9D,UAAU,EAAE;IACXC,cAAc,EAAE;MACfC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAE;IACV,CAAC;IACD4D,eAAe,EAAE;MAChB7D,IAAI,EAAE;IACP,CAAC;IACDE,OAAO,EAAE;MACRF,IAAI,EAAE,QAAQ;MACdG,MAAM,EAAE,MAAM;MACdC,QAAQ,EAAE,YAAY;MACtBH,OAAO,EAAE;IACV,CAAC;IACDI,IAAI,EAAE;MACLL,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,EAAE;MACXE,MAAM,EAAE,OAAO;MACfC,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNP,IAAI,EAAE,OAAO;UACbC,OAAO,EAAE,EAAE;UACXE,MAAM,EAAE,OAAO;UACfC,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAE;YACNE,OAAO,EAAE;cACRR,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE;YACT,CAAC;YACDM,GAAG,EAAE;cACJT,IAAI,EAAE,QAAQ;cACdC,OAAO,EAAE,IAAI;cACbE,MAAM,EAAE;YACT,CAAC;YACDO,KAAK,EAAE;cACNV,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ,CAAC;YACDC,KAAK,EAAE;cACNZ,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ;UACD;QACD;MACD;IACD,CAAC;IACDE,IAAI,EAAE;MACLb,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,EAAE;MACXE,MAAM,EAAE,OAAO;MACfC,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNP,IAAI,EAAE,OAAO;UACbC,OAAO,EAAE,EAAE;UACXE,MAAM,EAAE,OAAO;UACfC,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAE;YACNE,OAAO,EAAE;cACRR,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE;YACT,CAAC;YACDM,GAAG,EAAE;cACJT,IAAI,EAAE,QAAQ;cACdC,OAAO,EAAE,IAAI;cACbE,MAAM,EAAE;YACT,CAAC;YACDO,KAAK,EAAE;cACNV,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ,CAAC;YACDC,KAAK,EAAE;cACNZ,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ;UACD;QACD;MACD;IACD,CAAC;IACDG,IAAI,EAAE;MACLd,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,EAAE;MACXE,MAAM,EAAE,OAAO;MACfC,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNP,IAAI,EAAE,OAAO;UACbC,OAAO,EAAE,EAAE;UACXE,MAAM,EAAE,OAAO;UACfC,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAE;YACNE,OAAO,EAAE;cACRR,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE;YACT,CAAC;YACDM,GAAG,EAAE;cACJT,IAAI,EAAE,QAAQ;cACdC,OAAO,EAAE,IAAI;cACbE,MAAM,EAAE;YACT,CAAC;YACDO,KAAK,EAAE;cACNV,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ,CAAC;YACDC,KAAK,EAAE;cACNZ,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ;UACD;QACD;MACD;IACD;EACD,CAAC;EACDI,QAAQ,EAAE;IACTC,MAAM,EAAE,IAAI;IACZJ,KAAK,EAAE,IAAI;IACX0B,sBAAsB,EAAE;EACzB,CAAC;EACDC,IAAI,EAAEA,CAAE;IAAEzC;EAAW,CAAC,KAAM;IAC3B,MAAM;MAAEC,cAAc;MAAEM,IAAI;MAAEQ,IAAI;MAAEC,IAAI;MAAE+C,eAAe;MAAE3D;IAAQ,CAAC,GACnEJ,UAAU;IACX,MAAM0C,OAAO,GAAG,CAAEnC,IAAI,CAACoC,MAAM,IAAI,CAAE5B,IAAI,CAAC4B,MAAM,IAAI,CAAE3B,IAAI,CAAC2B,MAAM;IAE/D,IAAKD,OAAO,EAAG;MACd,OAAO,IAAI;IACZ;IAEA,MAAMsB,eAAe,GAAGxE,iBAAiB,CACxC,kBAAkB,EAClBuE,eACD,CAAC;IAED,MAAMjB,OAAO,GAAGxD,UAAU,CAAE0E,eAAe,EAAE;MAC5C,kBAAkB,EAAE/D,cAAc;MAClC,gBAAgB,EAAE,CAAC,CAAE+D;IACtB,CAAE,CAAC;IAEH,MAAMhB,UAAU,GAAG,CAAEzD,QAAQ,CAACmD,OAAO,CAAEtC,OAAQ,CAAC;IAEhD,MAAM6C,OAAO,GAAGA,CAAE;MAAE/C,IAAI;MAAEgD;IAAK,CAAC,KAAM;MACrC,IAAK,CAAEA,IAAI,CAACP,MAAM,EAAG;QACpB,OAAO,IAAI;MACZ;MAEA,MAAMQ,GAAG,GAAI,IAAIjD,IAAM,EAAC;MAExB,OACCkD,aAAA,CAACD,GAAG,QACDD,IAAI,CAACG,GAAG,CAAE,CAAE;QAAE5C;MAAM,CAAC,EAAE6C,QAAQ,KAChCF,aAAA;QAAIG,GAAG,EAAGD;MAAU,GACjB7C,KAAK,CAAC4C,GAAG,CACV,CACC;QAAE3C,OAAO;QAAEC,GAAG;QAAEC,KAAK;QAAEE;MAAM,CAAC,EAC9B0C,SAAS,KACL;QACJ,MAAMC,WAAW,GAAGnE,UAAU,CAAE;UAC/B,CAAG,kBAAkBwB,KAAO,EAAC,GAAIA;QAClC,CAAE,CAAC;QAEH,OACCsC,aAAA,CAAC7D,QAAQ,CAACmE,OAAO;UAChBX,SAAS,EACRU,WAAW,GACRA,WAAW,GACXE,SACH;UACD,cAAa7C,KAAO;UACpB8C,OAAO,EAAGjD,GAAK;UACfkD,KAAK,EAAGnD,OAAS;UACjB6C,GAAG,EAAGC,SAAW;UACjB5C,KAAK,EACJD,GAAG,KAAK,IAAI,GAAGC,KAAK,GAAG+C;QACvB,CACD,CAAC;MAEJ,CACD,CACG,CACH,CACE,CAAC;IAER,CAAC;IAED,OACCP,aAAA;MAAA,GAAa3D,aAAa,CAACgD,IAAI,CAAC;IAAC,GAChCW,aAAA;MAAOL,SAAS,EAAGD,OAAO,KAAK,EAAE,GAAGa,SAAS,GAAGb;IAAS,GACxDM,aAAA,CAACH,OAAO;MAAC/C,IAAI,EAAC,MAAM;MAACgD,IAAI,EAAG3C;IAAM,CAAE,CAAC,EACrC6C,aAAA,CAACH,OAAO;MAAC/C,IAAI,EAAC,MAAM;MAACgD,IAAI,EAAGnC;IAAM,CAAE,CAAC,EACrCqC,aAAA,CAACH,OAAO;MAAC/C,IAAI,EAAC,MAAM;MAACgD,IAAI,EAAGlC;IAAM,CAAE,CAC9B,CAAC,EACNgC,UAAU,IACXI,aAAA,CAAC7D,QAAQ,CAACmE,OAAO;MAACE,OAAO,EAAC,YAAY;MAACC,KAAK,EAAGzD;IAAS,CAAE,CAEpD,CAAC;EAEX,CAAC;EACD6D,UAAU,EAAIjE,UAAU,IAAM;IAC7B,OACCA,UAAU,CAAC+D,eAAe,IAC1B/D,UAAU,CAAC+D,eAAe,IAAIjE,SAAS,IACvC,CAAEE,UAAU,CAACsC,KAAK;EAEpB,CAAC;EAED;EACA;EACA4B,OAAO,EAAIlE,UAAU,IAAM;IAC1B,OAAO;MACN,GAAGA,UAAU;MACb+D,eAAe,EAAEJ,SAAS;MAC1BrB,KAAK,EAAE;QACNnB,KAAK,EAAE;UACNI,UAAU,EAAEzB,SAAS,CAAEE,UAAU,CAAC+D,eAAe;QAClD;MACD;IACD,CAAC;EACF;AACD,CAAC;AAED,MAAMI,EAAE,GAAG;EACVnE,UAAU,EAAE;IACXC,cAAc,EAAE;MACfC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAE;IACV,CAAC;IACD4D,eAAe,EAAE;MAChB7D,IAAI,EAAE;IACP,CAAC;IACDK,IAAI,EAAE;MACLL,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,EAAE;MACXE,MAAM,EAAE,OAAO;MACfC,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNP,IAAI,EAAE,OAAO;UACbC,OAAO,EAAE,EAAE;UACXE,MAAM,EAAE,OAAO;UACfC,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAE;YACNE,OAAO,EAAE;cACRR,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE;YACT,CAAC;YACDM,GAAG,EAAE;cACJT,IAAI,EAAE,QAAQ;cACdC,OAAO,EAAE,IAAI;cACbE,MAAM,EAAE;YACT,CAAC;YACDO,KAAK,EAAE;cACNV,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ;UACD;QACD;MACD;IACD,CAAC;IACDE,IAAI,EAAE;MACLb,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,EAAE;MACXE,MAAM,EAAE,OAAO;MACfC,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNP,IAAI,EAAE,OAAO;UACbC,OAAO,EAAE,EAAE;UACXE,MAAM,EAAE,OAAO;UACfC,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAE;YACNE,OAAO,EAAE;cACRR,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE;YACT,CAAC;YACDM,GAAG,EAAE;cACJT,IAAI,EAAE,QAAQ;cACdC,OAAO,EAAE,IAAI;cACbE,MAAM,EAAE;YACT,CAAC;YACDO,KAAK,EAAE;cACNV,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ;UACD;QACD;MACD;IACD,CAAC;IACDG,IAAI,EAAE;MACLd,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE,EAAE;MACXE,MAAM,EAAE,OAAO;MACfC,QAAQ,EAAE,UAAU;MACpBE,KAAK,EAAE;QACNC,KAAK,EAAE;UACNP,IAAI,EAAE,OAAO;UACbC,OAAO,EAAE,EAAE;UACXE,MAAM,EAAE,OAAO;UACfC,QAAQ,EAAE,OAAO;UACjBE,KAAK,EAAE;YACNE,OAAO,EAAE;cACRR,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE;YACT,CAAC;YACDM,GAAG,EAAE;cACJT,IAAI,EAAE,QAAQ;cACdC,OAAO,EAAE,IAAI;cACbE,MAAM,EAAE;YACT,CAAC;YACDO,KAAK,EAAE;cACNV,IAAI,EAAE,QAAQ;cACdG,MAAM,EAAE,WAAW;cACnBQ,SAAS,EAAE;YACZ;UACD;QACD;MACD;IACD;EACD,CAAC;EACDI,QAAQ,EAAE;IACTH,KAAK,EAAE;EACR,CAAC;EACD2B,IAAIA,CAAE;IAAEzC;EAAW,CAAC,EAAG;IACtB,MAAM;MAAEC,cAAc;MAAEM,IAAI;MAAEQ,IAAI;MAAEC,IAAI;MAAE+C;IAAgB,CAAC,GAC1D/D,UAAU;IACX,MAAM0C,OAAO,GAAG,CAAEnC,IAAI,CAACoC,MAAM,IAAI,CAAE5B,IAAI,CAAC4B,MAAM,IAAI,CAAE3B,IAAI,CAAC2B,MAAM;IAE/D,IAAKD,OAAO,EAAG;MACd,OAAO,IAAI;IACZ;IAEA,MAAMsB,eAAe,GAAGxE,iBAAiB,CACxC,kBAAkB,EAClBuE,eACD,CAAC;IAED,MAAMjB,OAAO,GAAGxD,UAAU,CAAE0E,eAAe,EAAE;MAC5C,kBAAkB,EAAE/D,cAAc;MAClC,gBAAgB,EAAE,CAAC,CAAE+D;IACtB,CAAE,CAAC;IAEH,MAAMf,OAAO,GAAGA,CAAE;MAAE/C,IAAI;MAAEgD;IAAK,CAAC,KAAM;MACrC,IAAK,CAAEA,IAAI,CAACP,MAAM,EAAG;QACpB,OAAO,IAAI;MACZ;MAEA,MAAMQ,GAAG,GAAI,IAAIjD,IAAM,EAAC;MAExB,OACCkD,aAAA,CAACD,GAAG,QACDD,IAAI,CAACG,GAAG,CAAE,CAAE;QAAE5C;MAAM,CAAC,EAAE6C,QAAQ,KAChCF,aAAA;QAAIG,GAAG,EAAGD;MAAU,GACjB7C,KAAK,CAAC4C,GAAG,CACV,CAAE;QAAE3C,OAAO;QAAEC,GAAG;QAAEC;MAAM,CAAC,EAAE4C,SAAS,KACnCJ,aAAA,CAAC7D,QAAQ,CAACmE,OAAO;QAChBE,OAAO,EAAGjD,GAAK;QACfkD,KAAK,EAAGnD,OAAS;QACjB6C,GAAG,EAAGC,SAAW;QACjB5C,KAAK,EACJD,GAAG,KAAK,IAAI,GAAGC,KAAK,GAAG+C;MACvB,CACD,CAEH,CACG,CACH,CACE,CAAC;IAER,CAAC;IAED,OACCP,aAAA;MAAOL,SAAS,EAAGD;IAAS,GAC3BM,aAAA,CAACH,OAAO;MAAC/C,IAAI,EAAC,MAAM;MAACgD,IAAI,EAAG3C;IAAM,CAAE,CAAC,EACrC6C,aAAA,CAACH,OAAO;MAAC/C,IAAI,EAAC,MAAM;MAACgD,IAAI,EAAGnC;IAAM,CAAE,CAAC,EACrCqC,aAAA,CAACH,OAAO;MAAC/C,IAAI,EAAC,MAAM;MAACgD,IAAI,EAAGlC;IAAM,CAAE,CAC9B,CAAC;EAEV;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,CAAEjB,EAAE,EAAE+D,EAAE,EAAEK,EAAE,CAAE"}
|
|
1
|
+
{"version":3,"names":["classnames","RichText","getColorClassName","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__experimentalGetElementClassName","oldColors","v4Query","content","type","source","tag","default","scope","attribute","align","colspan","rowspan","v4","attributes","hasFixedLayout","caption","selector","head","query","cells","body","foot","supports","anchor","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalBorder","style","width","__experimentalSelector","interactivity","clientNavigation","save","isEmpty","length","colorProps","borderProps","classes","className","hasCaption","Section","rows","Tag","createElement","map","rowIndex","key","cellIndex","cellClasses","Content","undefined","tagName","value","colSpan","rowSpan","v3Query","v3","v2Query","v2","backgroundColor","backgroundClass","isEligible","migrate","v1Query","v1"],"sources":["@wordpress/block-library/src/table/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\n// As the previous arbitrary colors won't match theme color palettes, the hex\n// value will be mapped to the style.color.background attribute as if it was\n// a custom color selection.\nconst oldColors = {\n\t'subtle-light-gray': '#f3f4f5',\n\t'subtle-pale-green': '#e9fbe5',\n\t'subtle-pale-blue': '#e7f5fe',\n\t'subtle-pale-pink': '#fcf0ef',\n};\n\n// Fixed width table cells on by default.\nconst v4Query = {\n\tcontent: {\n\t\ttype: 'rich-text',\n\t\tsource: 'rich-text',\n\t},\n\ttag: {\n\t\ttype: 'string',\n\t\tdefault: 'td',\n\t\tsource: 'tag',\n\t},\n\tscope: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'scope',\n\t},\n\talign: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'data-align',\n\t},\n\tcolspan: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'colspan',\n\t},\n\trowspan: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'rowspan',\n\t},\n};\n\nconst v4 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'rich-text',\n\t\t\tsource: 'rich-text',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v4Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v4Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v4Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tmargin: false,\n\t\t\t\tpadding: false,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tcolor: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t\tinteractivity: {\n\t\t\tclientNavigation: true,\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, caption } = attributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames(\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t}\n\t\t);\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\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\t\tcontent,\n\t\t\t\t\t\t\t\t\t\ttag,\n\t\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\t\t\t\trowSpan={ rowspan }\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</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classes === '' ? undefined : classes }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n// In #41140 support was added to global styles for caption elements which\n// added a `wp-element-caption` classname to the embed figcaption element.\nconst v3Query = {\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t},\n\ttag: {\n\t\ttype: 'string',\n\t\tdefault: 'td',\n\t\tsource: 'tag',\n\t},\n\tscope: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'scope',\n\t},\n\talign: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'data-align',\n\t},\n};\n\nconst v3 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v3Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v3Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v3Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tcolor: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, caption } = attributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames(\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t}\n\t\t);\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\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</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classes === '' ? undefined : classes }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n// Deprecation migrating table block to use colors block support feature.\nconst v2Query = {\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t},\n\ttag: {\n\t\ttype: 'string',\n\t\tdefault: 'td',\n\t\tsource: 'tag',\n\t},\n\tscope: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'scope',\n\t},\n\talign: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'data-align',\n\t},\n};\n\nconst v2 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v2Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v2Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v2Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave: ( { attributes } ) => {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor, caption } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\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</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table className={ classes === '' ? undefined : classes }>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tisEligible: ( attributes ) => {\n\t\treturn (\n\t\t\tattributes.backgroundColor &&\n\t\t\tattributes.backgroundColor in oldColors &&\n\t\t\t! attributes.style\n\t\t);\n\t},\n\n\t// This version is the first to introduce the style attribute to the\n\t// table block. As a result, we'll explicitly override that.\n\tmigrate: ( attributes ) => {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tbackgroundColor: undefined,\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\tbackground: oldColors[ attributes.backgroundColor ],\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n};\n\nconst v1Query = {\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t},\n\ttag: {\n\t\ttype: 'string',\n\t\tdefault: 'td',\n\t\tsource: 'tag',\n\t},\n\tscope: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'scope',\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v1Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v1Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v1Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t( { content, tag, scope }, cellIndex ) => (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\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</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<table className={ classes }>\n\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t</table>\n\t\t);\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v4, v3, v2, v1 ];\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","PanelBody","Placeholder","ToggleControl","ToolbarButton","ToolbarGroup","useDispatch","useSelect","renderToString","__","useInstanceId","noticeStore","tableOfContents","icon","TableOfContentsList","linearToNestedHeadingList","useObserveHeadings","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","clientId","setAttributes","blockProps","instanceId","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","id","type","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","replaceBlocks","headingTree","toolbarControls","createElement","onClick","ordered","values","nestedHeadingList","inspectorControls","title","__nextHasNoMarginBottom","label","checked","onChange","value","help","length","Fragment","instructions","disableLinkActivation"],"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\nimport { useObserveHeadings } from './hooks';\n\n/** @typedef {import('./utils').HeadingData} HeadingData */\n\n/**\n * Table of Contents block edit component.\n *\n * @param {Object} props The props.\n * @param {Object} props.attributes The block attributes.\n * @param {HeadingData[]} props.attributes.headings A list of data for each heading in the post.\n * @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).\n * @param {string} props.clientId\n * @param {(attributes: Object) => void} props.setAttributes\n *\n * @return {Component} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tuseObserveHeadings( clientId );\n\n\tconst blockProps = useBlockProps();\n\tconst instanceId = useInstanceId(\n\t\tTableOfContentsEdit,\n\t\t'table-of-contents'\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/table-of-contents/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 canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn canInsertBlockType( 'core/list', rootClientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = canInsertList && (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\tordered: true,\n\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\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>\n\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={\n\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'Only including headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'Toggle to only include headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\t// If there are no headings or the only heading is empty.\n\t// Note that the toolbar controls are intentionally omitted since the\n\t// \"Convert to static list\" option is useless to the placeholder state.\n\tif ( headings.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\tlabel={ __( 'Table of Contents' ) }\n\t\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t\t'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ inspectorControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ol>\n\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\tdisableLinkActivation
|
|
1
|
+
{"version":3,"names":["BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","PanelBody","Placeholder","ToggleControl","ToolbarButton","ToolbarGroup","useDispatch","useSelect","renderToString","__","useInstanceId","noticeStore","tableOfContents","icon","TableOfContentsList","linearToNestedHeadingList","useObserveHeadings","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","clientId","setAttributes","blockProps","instanceId","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","id","type","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","replaceBlocks","headingTree","toolbarControls","createElement","onClick","ordered","values","nestedHeadingList","inspectorControls","title","__nextHasNoMarginBottom","label","checked","onChange","value","help","length","Fragment","instructions","disableLinkActivation"],"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\nimport { useObserveHeadings } from './hooks';\n\n/** @typedef {import('./utils').HeadingData} HeadingData */\n\n/**\n * Table of Contents block edit component.\n *\n * @param {Object} props The props.\n * @param {Object} props.attributes The block attributes.\n * @param {HeadingData[]} props.attributes.headings A list of data for each heading in the post.\n * @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).\n * @param {string} props.clientId\n * @param {(attributes: Object) => void} props.setAttributes\n *\n * @return {Component} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tuseObserveHeadings( clientId );\n\n\tconst blockProps = useBlockProps();\n\tconst instanceId = useInstanceId(\n\t\tTableOfContentsEdit,\n\t\t'table-of-contents'\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/table-of-contents/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 canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn canInsertBlockType( 'core/list', rootClientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = canInsertList && (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\tordered: true,\n\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\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>\n\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={\n\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'Only including headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'Toggle to only include headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\t// If there are no headings or the only heading is empty.\n\t// Note that the toolbar controls are intentionally omitted since the\n\t// \"Convert to static list\" option is useless to the placeholder state.\n\tif ( headings.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\tlabel={ __( 'Table of Contents' ) }\n\t\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t\t'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ inspectorControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ol>\n\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t/>\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -2,12 +2,14 @@ import { createElement, Fragment } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
-
import { useSelect } from '@wordpress/data';
|
|
6
|
-
import { BlockSettingsMenuControls, useBlockProps, Warning, store as blockEditorStore, RecursionProvider, useHasRecursion, InspectorControls } from '@wordpress/block-editor';
|
|
7
|
-
import { Spinner, Modal, MenuItem } from '@wordpress/components';
|
|
5
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
6
|
+
import { BlockSettingsMenuControls, useBlockProps, Warning, store as blockEditorStore, RecursionProvider, useHasRecursion, InspectorControls, __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
|
|
7
|
+
import { PanelBody, Spinner, Modal, MenuItem } from '@wordpress/components';
|
|
8
|
+
import { useAsyncList } from '@wordpress/compose';
|
|
8
9
|
import { __, sprintf } from '@wordpress/i18n';
|
|
9
10
|
import { store as coreStore } from '@wordpress/core-data';
|
|
10
11
|
import { useState } from '@wordpress/element';
|
|
12
|
+
import { store as noticesStore } from '@wordpress/notices';
|
|
11
13
|
|
|
12
14
|
/**
|
|
13
15
|
* Internal dependencies
|
|
@@ -17,7 +19,8 @@ import TemplatePartSelectionModal from './selection-modal';
|
|
|
17
19
|
import { TemplatePartAdvancedControls } from './advanced-controls';
|
|
18
20
|
import TemplatePartInnerBlocks from './inner-blocks';
|
|
19
21
|
import { createTemplatePartId } from './utils/create-template-part-id';
|
|
20
|
-
import {
|
|
22
|
+
import { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';
|
|
23
|
+
import { useAlternativeBlockPatterns, useAlternativeTemplateParts, useTemplatePartArea, useCreateTemplatePartFromBlocks } from './utils/hooks';
|
|
21
24
|
function ReplaceButton({
|
|
22
25
|
isEntityAvailable,
|
|
23
26
|
area,
|
|
@@ -43,11 +46,29 @@ function ReplaceButton({
|
|
|
43
46
|
"aria-haspopup": "dialog"
|
|
44
47
|
}, __('Replace'));
|
|
45
48
|
}
|
|
49
|
+
function TemplatesList({
|
|
50
|
+
availableTemplates,
|
|
51
|
+
onSelect
|
|
52
|
+
}) {
|
|
53
|
+
const shownTemplates = useAsyncList(availableTemplates);
|
|
54
|
+
if (!availableTemplates) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return createElement(BlockPatternsList, {
|
|
58
|
+
label: __('Templates'),
|
|
59
|
+
blockPatterns: availableTemplates,
|
|
60
|
+
shownPatterns: shownTemplates,
|
|
61
|
+
onClickPattern: onSelect
|
|
62
|
+
});
|
|
63
|
+
}
|
|
46
64
|
export default function TemplatePartEdit({
|
|
47
65
|
attributes,
|
|
48
66
|
setAttributes,
|
|
49
67
|
clientId
|
|
50
68
|
}) {
|
|
69
|
+
const {
|
|
70
|
+
createSuccessNotice
|
|
71
|
+
} = useDispatch(noticesStore);
|
|
51
72
|
const currentTheme = useSelect(select => select(coreStore).getCurrentTheme()?.stylesheet, []);
|
|
52
73
|
const {
|
|
53
74
|
slug,
|
|
@@ -82,11 +103,18 @@ export default function TemplatePartEdit({
|
|
|
82
103
|
area: _area
|
|
83
104
|
};
|
|
84
105
|
}, [templatePartId, attributes.area, clientId]);
|
|
106
|
+
const {
|
|
107
|
+
templateParts
|
|
108
|
+
} = useAlternativeTemplateParts(area, templatePartId);
|
|
109
|
+
const blockPatterns = useAlternativeBlockPatterns(area, clientId);
|
|
110
|
+
const hasReplacements = !!templateParts.length || !!blockPatterns.length;
|
|
85
111
|
const areaObject = useTemplatePartArea(area);
|
|
86
112
|
const blockProps = useBlockProps();
|
|
87
113
|
const isPlaceholder = !slug;
|
|
88
114
|
const isEntityAvailable = !isPlaceholder && !isMissing && isResolved;
|
|
89
115
|
const TagName = tagName || areaObject.tagName;
|
|
116
|
+
const canReplace = isEntityAvailable && hasReplacements && (area === 'header' || area === 'footer');
|
|
117
|
+
const createFromBlocks = useCreateTemplatePartFromBlocks(area, setAttributes);
|
|
90
118
|
|
|
91
119
|
// We don't want to render a missing state if we have any inner blocks.
|
|
92
120
|
// A new template part is automatically created if we have any inner blocks but no entity.
|
|
@@ -101,6 +129,18 @@ export default function TemplatePartEdit({
|
|
|
101
129
|
...blockProps
|
|
102
130
|
}, createElement(Warning, null, __('Block cannot be rendered inside itself.')));
|
|
103
131
|
}
|
|
132
|
+
const partsAsPatterns = templateParts.map(templatePart => mapTemplatePartToBlockPattern(templatePart));
|
|
133
|
+
const onTemplatePartSelect = templatePart => {
|
|
134
|
+
setAttributes({
|
|
135
|
+
slug: templatePart.slug,
|
|
136
|
+
theme: templatePart.theme,
|
|
137
|
+
area: undefined
|
|
138
|
+
});
|
|
139
|
+
createSuccessNotice(sprintf( /* translators: %s: template part title. */
|
|
140
|
+
__('Template Part "%s" replaced.'), templatePart.title?.rendered || templatePart.slug), {
|
|
141
|
+
type: 'snackbar'
|
|
142
|
+
});
|
|
143
|
+
};
|
|
104
144
|
return createElement(Fragment, null, createElement(RecursionProvider, {
|
|
105
145
|
uniqueId: templatePartId
|
|
106
146
|
}, createElement(InspectorControls, {
|
|
@@ -136,7 +176,19 @@ export default function TemplatePartEdit({
|
|
|
136
176
|
isTemplatePartSelectionOpen,
|
|
137
177
|
setIsTemplatePartSelectionOpen
|
|
138
178
|
});
|
|
139
|
-
}),
|
|
179
|
+
}), canReplace && (partsAsPatterns.length > 0 || blockPatterns.length > 0) && createElement(InspectorControls, null, createElement(PanelBody, {
|
|
180
|
+
title: __('Replace')
|
|
181
|
+
}, createElement(TemplatesList, {
|
|
182
|
+
availableTemplates: partsAsPatterns,
|
|
183
|
+
onSelect: pattern => {
|
|
184
|
+
onTemplatePartSelect(pattern.templatePart);
|
|
185
|
+
}
|
|
186
|
+
}), createElement(TemplatesList, {
|
|
187
|
+
availableTemplates: blockPatterns,
|
|
188
|
+
onSelect: (pattern, blocks) => {
|
|
189
|
+
createFromBlocks(blocks, pattern.title);
|
|
190
|
+
}
|
|
191
|
+
}))), isEntityAvailable && createElement(TemplatePartInnerBlocks, {
|
|
140
192
|
tagName: TagName,
|
|
141
193
|
blockProps: blockProps,
|
|
142
194
|
postId: templatePartId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","BlockSettingsMenuControls","useBlockProps","Warning","store","blockEditorStore","RecursionProvider","useHasRecursion","InspectorControls","Spinner","Modal","MenuItem","__","sprintf","coreStore","useState","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","ReplaceButton","isEntityAvailable","area","clientId","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","blockPatterns","hasReplacements","length","canReplace","createElement","onClick","TemplatePartEdit","attributes","setAttributes","currentTheme","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","hasAlreadyRendered","isResolved","hasInnerBlocks","isMissing","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getEntityArgs","entityRecord","_area","hasResolvedEntity","Object","keys","areaObject","blockProps","isPlaceholder","TagName","Fragment","uniqueId","group","defaultWrapper","onOpenSelectionModal","selectedClientIds","postId","overlayClassName","title","label","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport { Spinner, Modal, MenuItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nfunction ReplaceButton( {\n\tisEntityAvailable,\n\tarea,\n\tclientId,\n\ttemplatePartId,\n\tisTemplatePartSelectionOpen,\n\tsetIsTemplatePartSelectionOpen,\n} ) {\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t} }\n\t\t\taria-expanded={ isTemplatePartSelectionOpen }\n\t\t\taria-haspopup=\"dialog\"\n\t\t>\n\t\t\t{ __( 'Replace' ) }\n\t\t</MenuItem>\n\t);\n}\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\tconst { isResolved, hasInnerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlockCount } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: getBlockCount( clientId ) > 0,\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\t! hasInnerBlocks &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ReplaceButton\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\tisEntityAvailable,\n\t\t\t\t\t\t\t\t\tarea,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\ttemplatePartId,\n\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen,\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</BlockSettingsMenuControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen={ true }\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","BlockSettingsMenuControls","useBlockProps","Warning","store","blockEditorStore","RecursionProvider","useHasRecursion","InspectorControls","__experimentalBlockPatternsList","BlockPatternsList","PanelBody","Spinner","Modal","MenuItem","useAsyncList","__","sprintf","coreStore","useState","noticesStore","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","mapTemplatePartToBlockPattern","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","useCreateTemplatePartFromBlocks","ReplaceButton","isEntityAvailable","area","clientId","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","blockPatterns","hasReplacements","length","canReplace","createElement","onClick","TemplatesList","availableTemplates","onSelect","shownTemplates","label","shownPatterns","onClickPattern","TemplatePartEdit","attributes","setAttributes","createSuccessNotice","currentTheme","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","hasAlreadyRendered","isResolved","hasInnerBlocks","isMissing","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getEntityArgs","entityRecord","_area","hasResolvedEntity","Object","keys","areaObject","blockProps","isPlaceholder","TagName","createFromBlocks","partsAsPatterns","map","templatePart","onTemplatePartSelect","undefined","title","rendered","type","Fragment","uniqueId","group","defaultWrapper","onOpenSelectionModal","selectedClientIds","pattern","blocks","postId","overlayClassName","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInspectorControls,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { PanelBody, Spinner, Modal, MenuItem } from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n\tuseCreateTemplatePartFromBlocks,\n} from './utils/hooks';\n\nfunction ReplaceButton( {\n\tisEntityAvailable,\n\tarea,\n\tclientId,\n\ttemplatePartId,\n\tisTemplatePartSelectionOpen,\n\tsetIsTemplatePartSelectionOpen,\n} ) {\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t} }\n\t\t\taria-expanded={ isTemplatePartSelectionOpen }\n\t\t\taria-haspopup=\"dialog\"\n\t\t>\n\t\t\t{ __( 'Replace' ) }\n\t\t</MenuItem>\n\t);\n}\n\nfunction TemplatesList( { availableTemplates, onSelect } ) {\n\tconst shownTemplates = useAsyncList( availableTemplates );\n\n\tif ( ! availableTemplates ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tlabel={ __( 'Templates' ) }\n\t\t\tblockPatterns={ availableTemplates }\n\t\t\tshownPatterns={ shownTemplates }\n\t\t\tonClickPattern={ onSelect }\n\t\t/>\n\t);\n}\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\tconst { isResolved, hasInnerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlockCount } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: getBlockCount( clientId ) > 0,\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\t! hasInnerBlocks &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tconst partsAsPatterns = templateParts.map( ( templatePart ) =>\n\t\tmapTemplatePartToBlockPattern( templatePart )\n\t);\n\n\tconst onTemplatePartSelect = ( templatePart ) => {\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\n\t\t} );\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" replaced.' ),\n\t\t\t\ttemplatePart.title?.rendered || templatePart.slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ReplaceButton\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\tisEntityAvailable,\n\t\t\t\t\t\t\t\t\tarea,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\ttemplatePartId,\n\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen,\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</BlockSettingsMenuControls>\n\n\t\t\t\t{ canReplace &&\n\t\t\t\t\t( partsAsPatterns.length > 0 ||\n\t\t\t\t\t\tblockPatterns.length > 0 ) && (\n\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Replace' ) }>\n\t\t\t\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\t\t\t\tavailableTemplates={ partsAsPatterns }\n\t\t\t\t\t\t\t\t\tonSelect={ ( pattern ) => {\n\t\t\t\t\t\t\t\t\t\tonTemplatePartSelect(\n\t\t\t\t\t\t\t\t\t\t\tpattern.templatePart\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\t<TemplatesList\n\t\t\t\t\t\t\t\t\tavailableTemplates={ blockPatterns }\n\t\t\t\t\t\t\t\t\tonSelect={ ( pattern, blocks ) => {\n\t\t\t\t\t\t\t\t\t\tcreateFromBlocks(\n\t\t\t\t\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\t\t\t\t\tpattern.title\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</PanelBody>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t) }\n\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@ import { useMemo, useState } from '@wordpress/element';
|
|
|
6
6
|
import { __, sprintf } from '@wordpress/i18n';
|
|
7
7
|
import { store as noticesStore } from '@wordpress/notices';
|
|
8
8
|
import { useDispatch } from '@wordpress/data';
|
|
9
|
-
import { parse } from '@wordpress/blocks';
|
|
10
9
|
import { useAsyncList } from '@wordpress/compose';
|
|
11
10
|
import { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
|
|
12
11
|
import { SearchControl, __experimentalHStack as HStack } from '@wordpress/components';
|
|
@@ -15,7 +14,7 @@ import { SearchControl, __experimentalHStack as HStack } from '@wordpress/compon
|
|
|
15
14
|
* Internal dependencies
|
|
16
15
|
*/
|
|
17
16
|
import { useAlternativeBlockPatterns, useAlternativeTemplateParts, useCreateTemplatePartFromBlocks } from './utils/hooks';
|
|
18
|
-
import {
|
|
17
|
+
import { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';
|
|
19
18
|
import { searchPatterns } from '../../utils/search-patterns';
|
|
20
19
|
export default function TemplatePartSelectionModal({
|
|
21
20
|
setAttributes,
|
|
@@ -30,12 +29,7 @@ export default function TemplatePartSelectionModal({
|
|
|
30
29
|
} = useAlternativeTemplateParts(area, templatePartId);
|
|
31
30
|
// We can map template parts to block patters to reuse the BlockPatternsList UI
|
|
32
31
|
const filteredTemplateParts = useMemo(() => {
|
|
33
|
-
const partsAsPatterns = templateParts.map(templatePart => (
|
|
34
|
-
name: createTemplatePartId(templatePart.theme, templatePart.slug),
|
|
35
|
-
title: templatePart.title.rendered,
|
|
36
|
-
blocks: parse(templatePart.content.raw),
|
|
37
|
-
templatePart
|
|
38
|
-
}));
|
|
32
|
+
const partsAsPatterns = templateParts.map(templatePart => mapTemplatePartToBlockPattern(templatePart));
|
|
39
33
|
return searchPatterns(partsAsPatterns, searchValue);
|
|
40
34
|
}, [templateParts, searchValue]);
|
|
41
35
|
const shownTemplateParts = useAsyncList(filteredTemplateParts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useState","__","sprintf","store","noticesStore","useDispatch","
|
|
1
|
+
{"version":3,"names":["useMemo","useState","__","sprintf","store","noticesStore","useDispatch","useAsyncList","__experimentalBlockPatternsList","BlockPatternsList","SearchControl","__experimentalHStack","HStack","useAlternativeBlockPatterns","useAlternativeTemplateParts","useCreateTemplatePartFromBlocks","mapTemplatePartToBlockPattern","searchPatterns","TemplatePartSelectionModal","setAttributes","onClose","templatePartId","area","clientId","searchValue","setSearchValue","templateParts","filteredTemplateParts","partsAsPatterns","map","templatePart","shownTemplateParts","blockPatterns","filteredBlockPatterns","shownBlockPatterns","createSuccessNotice","onTemplatePartSelect","slug","theme","undefined","title","rendered","type","createFromBlocks","hasTemplateParts","length","hasBlockPatterns","createElement","className","__nextHasNoMarginBottom","onChange","value","label","placeholder","shownPatterns","onClickPattern","pattern","blocks","alignment"],"sources":["@wordpress/block-library/src/template-part/edit/selection-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport {\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseCreateTemplatePartFromBlocks,\n} from './utils/hooks';\nimport { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';\nimport { searchPatterns } from '../../utils/search-patterns';\n\nexport default function TemplatePartSelectionModal( {\n\tsetAttributes,\n\tonClose,\n\ttemplatePartId = null,\n\tarea,\n\tclientId,\n} ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\t// We can map template parts to block patters to reuse the BlockPatternsList UI\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tconst partsAsPatterns = templateParts.map( ( templatePart ) =>\n\t\t\tmapTemplatePartToBlockPattern( templatePart )\n\t\t);\n\n\t\treturn searchPatterns( partsAsPatterns, searchValue );\n\t}, [ templateParts, searchValue ] );\n\tconst shownTemplateParts = useAsyncList( filteredTemplateParts );\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\treturn searchPatterns( blockPatterns, searchValue );\n\t}, [ blockPatterns, searchValue ] );\n\tconst shownBlockPatterns = useAsyncList( filteredBlockPatterns );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onTemplatePartSelect = ( templatePart ) => {\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\n\t\t} );\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" inserted.' ),\n\t\t\t\ttemplatePart.title?.rendered || templatePart.slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t\tonClose();\n\t};\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\tconst hasTemplateParts = !! filteredTemplateParts.length;\n\tconst hasBlockPatterns = !! filteredBlockPatterns.length;\n\n\treturn (\n\t\t<div className=\"block-library-template-part__selection-content\">\n\t\t\t<div className=\"block-library-template-part__selection-search\">\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearchValue }\n\t\t\t\t\tvalue={ searchValue }\n\t\t\t\t\tlabel={ __( 'Search for replacements' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasTemplateParts && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Existing template parts' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredTemplateParts }\n\t\t\t\t\t\tshownPatterns={ shownTemplateParts }\n\t\t\t\t\t\tonClickPattern={ ( pattern ) => {\n\t\t\t\t\t\t\tonTemplatePartSelect( pattern.templatePart );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ hasBlockPatterns && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Patterns' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\t\t\t\tonClickPattern={ ( pattern, blocks ) => {\n\t\t\t\t\t\t\tcreateFromBlocks( blocks, pattern.title );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! hasTemplateParts && ! hasBlockPatterns && (\n\t\t\t\t<HStack alignment=\"center\">\n\t\t\t\t\t<p>{ __( 'No results found.' ) }</p>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { parse } from '@wordpress/blocks';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { createTemplatePartId } from './create-template-part-id';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* This maps the properties of a template part to those of a block pattern.
|
|
13
|
+
* @param {Object} templatePart
|
|
14
|
+
* @return {Object} The template part in the shape of block pattern.
|
|
15
|
+
*/
|
|
16
|
+
export function mapTemplatePartToBlockPattern(templatePart) {
|
|
17
|
+
return {
|
|
18
|
+
name: createTemplatePartId(templatePart.theme, templatePart.slug),
|
|
19
|
+
title: templatePart.title.rendered,
|
|
20
|
+
blocks: parse(templatePart.content.raw),
|
|
21
|
+
templatePart
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=map-template-part-to-block-pattern.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["parse","createTemplatePartId","mapTemplatePartToBlockPattern","templatePart","name","theme","slug","title","rendered","blocks","content","raw"],"sources":["@wordpress/block-library/src/template-part/edit/utils/map-template-part-to-block-pattern.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { createTemplatePartId } from './create-template-part-id';\n\n/**\n * This maps the properties of a template part to those of a block pattern.\n * @param {Object} templatePart\n * @return {Object} The template part in the shape of block pattern.\n */\nexport function mapTemplatePartToBlockPattern( templatePart ) {\n\treturn {\n\t\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\t\ttitle: templatePart.title.rendered,\n\t\tblocks: parse( templatePart.content.raw ),\n\t\ttemplatePart,\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,QAAQ,mBAAmB;;AAEzC;AACA;AACA;AACA,SAASC,oBAAoB,QAAQ,2BAA2B;;AAEhE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,6BAA6BA,CAAEC,YAAY,EAAG;EAC7D,OAAO;IACNC,IAAI,EAAEH,oBAAoB,CAAEE,YAAY,CAACE,KAAK,EAAEF,YAAY,CAACG,IAAK,CAAC;IACnEC,KAAK,EAAEJ,YAAY,CAACI,KAAK,CAACC,QAAQ;IAClCC,MAAM,EAAET,KAAK,CAAEG,YAAY,CAACO,OAAO,CAACC,GAAI,CAAC;IACzCR;EACD,CAAC;AACF"}
|
|
@@ -10,10 +10,18 @@ import classnames from 'classnames';
|
|
|
10
10
|
import { useState, useEffect, useCallback } from '@wordpress/element';
|
|
11
11
|
import { usePrevious } from '@wordpress/compose';
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
|
-
import {
|
|
13
|
+
import { BlockControls, __experimentalGetElementClassName, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
14
14
|
import { ToolbarButton } from '@wordpress/components';
|
|
15
15
|
import { caption as captionIcon } from '@wordpress/icons';
|
|
16
16
|
import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Internal dependencies
|
|
20
|
+
*/
|
|
21
|
+
import { unlock } from '../lock-unlock';
|
|
22
|
+
const {
|
|
23
|
+
PrivateRichText: RichText
|
|
24
|
+
} = unlock(blockEditorPrivateApis);
|
|
17
25
|
export function Caption({
|
|
18
26
|
key = 'caption',
|
|
19
27
|
attributes,
|
|
@@ -23,7 +31,8 @@ export function Caption({
|
|
|
23
31
|
placeholder = __('Add caption'),
|
|
24
32
|
label = __('Caption text'),
|
|
25
33
|
showToolbarButton = true,
|
|
26
|
-
className
|
|
34
|
+
className,
|
|
35
|
+
disableEditing
|
|
27
36
|
}) {
|
|
28
37
|
const caption = attributes[key];
|
|
29
38
|
const prevCaption = usePrevious(caption);
|
|
@@ -76,7 +85,8 @@ export function Caption({
|
|
|
76
85
|
caption: value
|
|
77
86
|
}),
|
|
78
87
|
inlineToolbar: true,
|
|
79
|
-
__unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName()))
|
|
88
|
+
__unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName())),
|
|
89
|
+
disableEditing: disableEditing
|
|
80
90
|
}));
|
|
81
91
|
}
|
|
82
92
|
//# sourceMappingURL=caption.js.map
|