@wordpress/block-library 11.0.2-next.v.202609171837.0 → 11.1.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 +12 -1
- package/build/accordion/block.json +4 -1
- package/build/accordion-item/block.json +7 -1
- package/build/accordion-panel/block.json +9 -1
- package/build/archives/block.json +9 -0
- package/build/audio/block.json +8 -0
- package/build/breadcrumbs/block.json +3 -0
- package/build/breadcrumbs/edit.cjs.map +3 -3
- package/build/buttons/block.json +9 -0
- package/build/categories/block.json +12 -1
- package/build/code/block.json +9 -0
- package/build/column/block.json +9 -0
- package/build/columns/block.json +9 -0
- package/build/comment-author-name/block.json +3 -0
- package/build/comment-content/block.json +5 -0
- package/build/comment-date/block.json +3 -0
- package/build/comment-edit-link/block.json +3 -0
- package/build/comment-reply-link/block.json +3 -0
- package/build/comments/block.json +10 -0
- package/build/comments-pagination/block.json +3 -0
- package/build/comments-pagination-next/block.json +3 -0
- package/build/comments-pagination-numbers/block.json +3 -0
- package/build/comments-pagination-previous/block.json +6 -0
- package/build/comments-title/block.json +3 -0
- package/build/cover/edit/index.cjs +4 -1
- package/build/cover/edit/index.cjs.map +2 -2
- package/build/cover/edit/inspector-controls.cjs +52 -13
- package/build/cover/edit/inspector-controls.cjs.map +2 -2
- package/build/details/block.json +11 -0
- package/build/file/block.json +9 -0
- package/build/footnotes/block.json +9 -0
- package/build/gallery/block.json +9 -0
- package/build/gallery/edit.cjs +1 -2
- package/build/gallery/edit.cjs.map +2 -2
- package/build/group/block.json +1 -0
- package/build/heading/block.json +9 -0
- package/build/home-link/block.json +18 -0
- package/build/home-link/edit.cjs.map +3 -3
- package/build/image/image.cjs +10 -8
- package/build/image/image.cjs.map +3 -3
- package/build/image/use-open-image-media-editor-modal.cjs +20 -0
- package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
- package/build/latest-comments/block.json +10 -0
- package/build/latest-posts/block.json +10 -0
- package/build/loginout/block.json +10 -0
- package/build/math/block.json +10 -0
- package/build/media-text/block.json +1 -0
- package/build/navigation/edit/index.cjs +1 -4
- package/build/navigation/edit/index.cjs.map +2 -2
- package/build/navigation-link/link-ui/page-creator.cjs.map +3 -3
- package/build/navigation-link/shared/controls.cjs.map +3 -3
- package/build/navigation-link/shared/use-link-preview.cjs +13 -13
- package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
- package/build/navigation-overlay-close/block.json +7 -0
- package/build/navigation-submenu/block.json +6 -0
- package/build/navigation-submenu/edit.cjs +9 -1
- package/build/navigation-submenu/edit.cjs.map +3 -3
- package/build/page-list/block.json +10 -0
- package/build/paragraph/edit.cjs +1 -2
- package/build/paragraph/edit.cjs.map +2 -2
- package/build/playlist/block.json +1 -0
- package/build/post-author-biography/block.json +4 -0
- package/build/post-author-name/block.json +5 -0
- package/build/post-comments-count/block.json +3 -0
- package/build/post-comments-form/block.json +10 -0
- package/build/post-content/block.json +2 -0
- package/build/post-date/block.json +3 -0
- package/build/post-excerpt/block.json +5 -0
- package/build/post-featured-image/edit.cjs +11 -9
- package/build/post-featured-image/edit.cjs.map +2 -2
- package/build/post-navigation-link/block.json +30 -0
- package/build/post-navigation-link/edit.cjs +13 -2
- package/build/post-navigation-link/edit.cjs.map +3 -3
- package/build/post-template/block.json +13 -1
- package/build/post-terms/block.json +6 -0
- package/build/post-time-to-read/block.json +6 -0
- package/build/post-title/block.json +10 -0
- package/build/preformatted/block.json +7 -0
- package/build/pullquote/block.json +1 -0
- package/build/query-no-results/block.json +10 -2
- package/build/query-pagination/block.json +3 -0
- package/build/query-pagination-next/block.json +3 -0
- package/build/query-pagination-numbers/block.json +3 -0
- package/build/query-pagination-previous/block.json +3 -0
- package/build/query-title/block.json +3 -0
- package/build/query-total/block.json +6 -0
- package/build/quote/block.json +1 -0
- package/build/read-more/block.json +6 -0
- package/build/rss/block.json +6 -0
- package/build/site-tagline/block.json +8 -1
- package/build/site-title/block.json +7 -1
- package/build/social-links/block.json +3 -0
- package/build/social-links/edit.cjs +2 -3
- package/build/social-links/edit.cjs.map +2 -2
- package/build/tab-panel/block.json +25 -0
- package/build/tab-panel/controls.cjs.map +3 -3
- package/build/tab-panels/block.json +18 -1
- package/build/table-of-contents/block.json +7 -0
- package/build/tabs/block.json +24 -1
- package/build/tag-cloud/block.json +19 -0
- package/build/template-part/edit/selection-modal.cjs.map +1 -1
- package/build/term-count/block.json +7 -0
- package/build/term-description/block.json +9 -0
- package/build/term-name/block.json +10 -0
- package/build/term-template/block.json +10 -1
- package/build/utils/search-patterns.cjs +7 -43
- package/build/utils/search-patterns.cjs.map +3 -3
- package/build/utils/style-state.cjs +4 -6
- package/build/utils/style-state.cjs.map +2 -2
- package/build/video/block.json +6 -0
- package/build/video/edit.cjs +23 -15
- package/build/video/edit.cjs.map +3 -3
- package/build/video/index.cjs +0 -2
- package/build/video/index.cjs.map +3 -3
- package/build/video/save.cjs +5 -1
- package/build/video/save.cjs.map +3 -3
- package/build-module/accordion/block.json +4 -1
- package/build-module/accordion-item/block.json +7 -1
- package/build-module/accordion-panel/block.json +9 -1
- package/build-module/archives/block.json +9 -0
- package/build-module/audio/block.json +8 -0
- package/build-module/breadcrumbs/block.json +3 -0
- package/build-module/breadcrumbs/edit.mjs +3 -3
- package/build-module/breadcrumbs/edit.mjs.map +2 -2
- package/build-module/buttons/block.json +9 -0
- package/build-module/categories/block.json +12 -1
- package/build-module/code/block.json +9 -0
- package/build-module/column/block.json +9 -0
- package/build-module/columns/block.json +9 -0
- package/build-module/comment-author-name/block.json +3 -0
- package/build-module/comment-content/block.json +5 -0
- package/build-module/comment-date/block.json +3 -0
- package/build-module/comment-edit-link/block.json +3 -0
- package/build-module/comment-reply-link/block.json +3 -0
- package/build-module/comments/block.json +10 -0
- package/build-module/comments-pagination/block.json +3 -0
- package/build-module/comments-pagination-next/block.json +3 -0
- package/build-module/comments-pagination-numbers/block.json +3 -0
- package/build-module/comments-pagination-previous/block.json +6 -0
- package/build-module/comments-title/block.json +3 -0
- package/build-module/cover/edit/index.mjs +4 -1
- package/build-module/cover/edit/index.mjs.map +2 -2
- package/build-module/cover/edit/inspector-controls.mjs +57 -14
- package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
- package/build-module/details/block.json +11 -0
- package/build-module/file/block.json +9 -0
- package/build-module/footnotes/block.json +9 -0
- package/build-module/gallery/block.json +9 -0
- package/build-module/gallery/edit.mjs +1 -2
- package/build-module/gallery/edit.mjs.map +2 -2
- package/build-module/group/block.json +1 -0
- package/build-module/heading/block.json +9 -0
- package/build-module/home-link/block.json +18 -0
- package/build-module/home-link/edit.mjs +2 -2
- package/build-module/home-link/edit.mjs.map +2 -2
- package/build-module/image/image.mjs +12 -10
- package/build-module/image/image.mjs.map +2 -2
- package/build-module/image/use-open-image-media-editor-modal.mjs +20 -0
- package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
- package/build-module/latest-comments/block.json +10 -0
- package/build-module/latest-posts/block.json +10 -0
- package/build-module/loginout/block.json +10 -0
- package/build-module/math/block.json +10 -0
- package/build-module/media-text/block.json +1 -0
- package/build-module/navigation/edit/index.mjs +1 -4
- package/build-module/navigation/edit/index.mjs.map +2 -2
- package/build-module/navigation-link/link-ui/page-creator.mjs +2 -2
- package/build-module/navigation-link/link-ui/page-creator.mjs.map +2 -2
- package/build-module/navigation-link/shared/controls.mjs +2 -2
- package/build-module/navigation-link/shared/controls.mjs.map +2 -2
- package/build-module/navigation-link/shared/use-link-preview.mjs +13 -13
- package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
- package/build-module/navigation-overlay-close/block.json +7 -0
- package/build-module/navigation-submenu/block.json +6 -0
- package/build-module/navigation-submenu/edit.mjs +11 -2
- package/build-module/navigation-submenu/edit.mjs.map +2 -2
- package/build-module/page-list/block.json +10 -0
- package/build-module/paragraph/edit.mjs +1 -2
- package/build-module/paragraph/edit.mjs.map +2 -2
- package/build-module/playlist/block.json +1 -0
- package/build-module/post-author-biography/block.json +4 -0
- package/build-module/post-author-name/block.json +5 -0
- package/build-module/post-comments-count/block.json +3 -0
- package/build-module/post-comments-form/block.json +10 -0
- package/build-module/post-content/block.json +2 -0
- package/build-module/post-date/block.json +3 -0
- package/build-module/post-excerpt/block.json +5 -0
- package/build-module/post-featured-image/edit.mjs +11 -9
- package/build-module/post-featured-image/edit.mjs.map +2 -2
- package/build-module/post-navigation-link/block.json +30 -0
- package/build-module/post-navigation-link/edit.mjs +17 -3
- package/build-module/post-navigation-link/edit.mjs.map +2 -2
- package/build-module/post-template/block.json +13 -1
- package/build-module/post-terms/block.json +6 -0
- package/build-module/post-time-to-read/block.json +6 -0
- package/build-module/post-title/block.json +10 -0
- package/build-module/preformatted/block.json +7 -0
- package/build-module/pullquote/block.json +1 -0
- package/build-module/query-no-results/block.json +10 -2
- package/build-module/query-pagination/block.json +3 -0
- package/build-module/query-pagination-next/block.json +3 -0
- package/build-module/query-pagination-numbers/block.json +3 -0
- package/build-module/query-pagination-previous/block.json +3 -0
- package/build-module/query-title/block.json +3 -0
- package/build-module/query-total/block.json +6 -0
- package/build-module/quote/block.json +1 -0
- package/build-module/read-more/block.json +6 -0
- package/build-module/rss/block.json +6 -0
- package/build-module/site-tagline/block.json +8 -1
- package/build-module/site-title/block.json +7 -1
- package/build-module/social-links/block.json +3 -0
- package/build-module/social-links/edit.mjs +2 -3
- package/build-module/social-links/edit.mjs.map +2 -2
- package/build-module/tab-panel/block.json +25 -0
- package/build-module/tab-panel/controls.mjs +2 -2
- package/build-module/tab-panel/controls.mjs.map +2 -2
- package/build-module/tab-panels/block.json +18 -1
- package/build-module/table-of-contents/block.json +7 -0
- package/build-module/tabs/block.json +24 -1
- package/build-module/tag-cloud/block.json +19 -0
- package/build-module/template-part/edit/selection-modal.mjs.map +1 -1
- package/build-module/term-count/block.json +7 -0
- package/build-module/term-description/block.json +9 -0
- package/build-module/term-name/block.json +10 -0
- package/build-module/term-template/block.json +10 -1
- package/build-module/utils/search-patterns.mjs +7 -32
- package/build-module/utils/search-patterns.mjs.map +2 -2
- package/build-module/utils/style-state.mjs +6 -4
- package/build-module/utils/style-state.mjs.map +2 -2
- package/build-module/video/block.json +6 -0
- package/build-module/video/edit.mjs +25 -16
- package/build-module/video/edit.mjs.map +2 -2
- package/build-module/video/index.mjs +0 -2
- package/build-module/video/index.mjs.map +2 -2
- package/build-module/video/save.mjs +7 -2
- package/build-module/video/save.mjs.map +2 -2
- package/build-style/editor-rtl.css +12 -2
- package/build-style/editor.css +12 -2
- package/build-style/image/editor-rtl.css +6 -0
- package/build-style/image/editor.css +6 -0
- package/build-style/navigation/style-rtl.css +18 -3
- package/build-style/navigation/style.css +18 -3
- package/build-style/navigation-link/editor-rtl.css +3 -1
- package/build-style/navigation-link/editor.css +3 -1
- package/build-style/navigation-overlay-close/style-rtl.css +1 -1
- package/build-style/navigation-overlay-close/style.css +1 -1
- package/build-style/navigation-submenu/editor-rtl.css +3 -1
- package/build-style/navigation-submenu/editor.css +3 -1
- package/build-style/post-navigation-link/style-rtl.css +3 -0
- package/build-style/post-navigation-link/style.css +3 -0
- package/build-style/style-rtl.css +24 -4
- package/build-style/style.css +24 -4
- package/build-style/tab-panel/style-rtl.css +2 -0
- package/build-style/tab-panel/style.css +2 -0
- package/package.json +41 -42
- package/src/accordion/README.md +3 -0
- package/src/accordion/block.json +4 -1
- package/src/accordion-item/README.md +5 -0
- package/src/accordion-item/block.json +7 -1
- package/src/accordion-panel/README.md +7 -0
- package/src/accordion-panel/block.json +9 -1
- package/src/archives/README.md +4 -0
- package/src/archives/block.json +9 -0
- package/src/audio/README.md +4 -0
- package/src/audio/block.json +8 -0
- package/src/breadcrumbs/README.md +2 -0
- package/src/breadcrumbs/block.json +3 -0
- package/src/breadcrumbs/edit.jsx +3 -3
- package/src/breadcrumbs/index.php +1 -1
- package/src/buttons/README.md +4 -0
- package/src/buttons/block.json +9 -0
- package/src/categories/README.md +6 -0
- package/src/categories/block.json +12 -1
- package/src/code/README.md +4 -0
- package/src/code/block.json +9 -0
- package/src/column/README.md +4 -0
- package/src/column/block.json +9 -0
- package/src/columns/README.md +4 -0
- package/src/columns/block.json +9 -0
- package/src/comment-author-name/README.md +2 -0
- package/src/comment-author-name/block.json +3 -0
- package/src/comment-content/README.md +4 -0
- package/src/comment-content/block.json +5 -0
- package/src/comment-date/README.md +2 -0
- package/src/comment-date/block.json +3 -0
- package/src/comment-edit-link/README.md +2 -0
- package/src/comment-edit-link/block.json +3 -0
- package/src/comment-reply-link/README.md +2 -0
- package/src/comment-reply-link/block.json +3 -0
- package/src/comments/README.md +5 -0
- package/src/comments/block.json +10 -0
- package/src/comments-pagination/README.md +2 -0
- package/src/comments-pagination/block.json +3 -0
- package/src/comments-pagination-next/README.md +2 -0
- package/src/comments-pagination-next/block.json +3 -0
- package/src/comments-pagination-numbers/README.md +2 -0
- package/src/comments-pagination-numbers/block.json +3 -0
- package/src/comments-pagination-previous/README.md +2 -0
- package/src/comments-pagination-previous/block.json +6 -0
- package/src/comments-title/README.md +2 -0
- package/src/comments-title/block.json +3 -0
- package/src/cover/edit/index.jsx +3 -0
- package/src/cover/edit/inspector-controls.jsx +64 -13
- package/src/cover/test/edit.browser.test.js +18 -2
- package/src/details/README.md +6 -0
- package/src/details/block.json +11 -0
- package/src/file/README.md +4 -0
- package/src/file/block.json +9 -0
- package/src/footnotes/README.md +4 -0
- package/src/footnotes/block.json +9 -0
- package/src/gallery/README.md +4 -0
- package/src/gallery/block.json +9 -0
- package/src/gallery/edit.jsx +1 -2
- package/src/group/README.md +1 -0
- package/src/group/block.json +1 -0
- package/src/heading/README.md +4 -0
- package/src/heading/block.json +9 -0
- package/src/home-link/README.md +5 -0
- package/src/home-link/block.json +18 -0
- package/src/home-link/edit.jsx +2 -2
- package/src/icon/index.php +9 -0
- package/src/image/editor.scss +8 -0
- package/src/image/image.jsx +13 -11
- package/src/image/test/use-open-image-media-editor-modal.jsdom.test.js +139 -0
- package/src/image/use-open-image-media-editor-modal.js +37 -0
- package/src/latest-comments/README.md +5 -0
- package/src/latest-comments/block.json +10 -0
- package/src/latest-posts/README.md +5 -0
- package/src/latest-posts/block.json +10 -0
- package/src/loginout/README.md +5 -0
- package/src/loginout/block.json +10 -0
- package/src/math/README.md +5 -0
- package/src/math/block.json +10 -0
- package/src/media-text/README.md +1 -0
- package/src/media-text/block.json +1 -0
- package/src/navigation/edit/index.jsx +2 -4
- package/src/navigation/style.scss +40 -4
- package/src/navigation-link/editor.scss +6 -1
- package/src/navigation-link/link-ui/page-creator.jsx +2 -2
- package/src/navigation-link/shared/controls.jsx +2 -2
- package/src/navigation-link/shared/test/use-link-preview.jsdom.test.js +22 -22
- package/src/navigation-link/shared/use-link-preview.js +15 -14
- package/src/navigation-overlay-close/README.md +1 -0
- package/src/navigation-overlay-close/block.json +7 -0
- package/src/navigation-overlay-close/style.scss +1 -1
- package/src/navigation-submenu/README.md +7 -0
- package/src/navigation-submenu/block.json +6 -0
- package/src/navigation-submenu/edit.jsx +11 -1
- package/src/navigation-submenu/editor.scss +6 -1
- package/src/navigation-submenu/index.php +11 -0
- package/src/page-list/README.md +5 -0
- package/src/page-list/block.json +10 -0
- package/src/paragraph/edit.jsx +1 -3
- package/src/playlist/README.md +1 -0
- package/src/playlist/block.json +1 -0
- package/src/post-author-biography/README.md +3 -0
- package/src/post-author-biography/block.json +4 -0
- package/src/post-author-name/README.md +4 -0
- package/src/post-author-name/block.json +5 -0
- package/src/post-comments-count/README.md +2 -0
- package/src/post-comments-count/block.json +3 -0
- package/src/post-comments-form/README.md +5 -0
- package/src/post-comments-form/block.json +10 -0
- package/src/post-content/README.md +2 -0
- package/src/post-content/block.json +2 -0
- package/src/post-date/README.md +2 -0
- package/src/post-date/block.json +3 -0
- package/src/post-excerpt/README.md +4 -0
- package/src/post-excerpt/block.json +5 -0
- package/src/post-featured-image/edit.jsx +11 -9
- package/src/post-navigation-link/README.md +12 -0
- package/src/post-navigation-link/block.json +30 -0
- package/src/post-navigation-link/edit.jsx +23 -2
- package/src/post-navigation-link/index.php +94 -5
- package/src/post-navigation-link/style.scss +2 -0
- package/src/post-template/README.md +7 -0
- package/src/post-template/block.json +13 -1
- package/src/post-terms/README.md +5 -0
- package/src/post-terms/block.json +6 -0
- package/src/post-time-to-read/README.md +5 -0
- package/src/post-time-to-read/block.json +6 -0
- package/src/post-title/README.md +5 -0
- package/src/post-title/block.json +10 -0
- package/src/preformatted/README.md +6 -0
- package/src/preformatted/block.json +7 -0
- package/src/pullquote/README.md +1 -0
- package/src/pullquote/block.json +1 -0
- package/src/query-no-results/README.md +7 -0
- package/src/query-no-results/block.json +10 -2
- package/src/query-pagination/README.md +2 -0
- package/src/query-pagination/block.json +3 -0
- package/src/query-pagination-next/README.md +2 -0
- package/src/query-pagination-next/block.json +3 -0
- package/src/query-pagination-numbers/README.md +2 -0
- package/src/query-pagination-numbers/block.json +3 -0
- package/src/query-pagination-previous/README.md +2 -0
- package/src/query-pagination-previous/block.json +3 -0
- package/src/query-title/README.md +2 -0
- package/src/query-title/block.json +3 -0
- package/src/query-total/README.md +5 -0
- package/src/query-total/block.json +6 -0
- package/src/quote/README.md +1 -0
- package/src/quote/block.json +1 -0
- package/src/read-more/README.md +5 -0
- package/src/read-more/block.json +6 -0
- package/src/rss/README.md +5 -0
- package/src/rss/block.json +6 -0
- package/src/site-tagline/README.md +6 -0
- package/src/site-tagline/block.json +8 -1
- package/src/site-title/README.md +5 -0
- package/src/site-title/block.json +7 -1
- package/src/social-links/README.md +2 -0
- package/src/social-links/block.json +3 -0
- package/src/social-links/edit.jsx +2 -3
- package/src/tab-panel/README.md +9 -0
- package/src/tab-panel/block.json +25 -0
- package/src/tab-panel/controls.jsx +2 -2
- package/src/tab-panel/style.scss +5 -2
- package/src/tab-panels/README.md +7 -0
- package/src/tab-panels/block.json +18 -1
- package/src/table-of-contents/README.md +6 -0
- package/src/table-of-contents/block.json +7 -0
- package/src/tabs/README.md +9 -0
- package/src/tabs/block.json +24 -1
- package/src/tag-cloud/README.md +9 -0
- package/src/tag-cloud/block.json +19 -0
- package/src/template-part/edit/selection-modal.jsx +1 -1
- package/src/term-count/README.md +6 -0
- package/src/term-count/block.json +7 -0
- package/src/term-description/README.md +5 -0
- package/src/term-description/block.json +9 -0
- package/src/term-name/README.md +5 -0
- package/src/term-name/block.json +10 -0
- package/src/term-name/index.php +1 -1
- package/src/term-template/README.md +5 -0
- package/src/term-template/block.json +10 -1
- package/src/utils/search-patterns.js +9 -53
- package/src/utils/style-state.js +6 -4
- package/src/utils/test/{search-patterns.js → search-patterns.jsdom.test.js} +1 -22
- package/src/video/README.md +7 -0
- package/src/video/block.json +6 -0
- package/src/video/edit.jsx +56 -51
- package/src/video/index.js +0 -2
- package/src/video/save.jsx +10 -1
- package/build/video/variations.cjs +0 -75
- package/build/video/variations.cjs.map +0 -7
- package/build-module/video/variations.mjs +0 -50
- package/build-module/video/variations.mjs.map +0 -7
- package/src/video/test/variations.js +0 -63
- package/src/video/variations.js +0 -62
|
@@ -33,12 +33,18 @@
|
|
|
33
33
|
"anchor": true,
|
|
34
34
|
"ariaLabel": true,
|
|
35
35
|
"html": false,
|
|
36
|
+
"background": {
|
|
37
|
+
"backgroundImage": true,
|
|
38
|
+
"backgroundSize": true,
|
|
39
|
+
"gradient": true
|
|
40
|
+
},
|
|
36
41
|
"color": {
|
|
37
42
|
"text": true,
|
|
38
43
|
"background": true,
|
|
39
44
|
"gradients": true,
|
|
40
45
|
"link": true
|
|
41
46
|
},
|
|
47
|
+
"shadow": true,
|
|
42
48
|
"spacing": {
|
|
43
49
|
"margin": true,
|
|
44
50
|
"padding": true
|
|
@@ -46,6 +52,7 @@
|
|
|
46
52
|
"typography": {
|
|
47
53
|
"fontSize": true,
|
|
48
54
|
"lineHeight": true,
|
|
55
|
+
"textAlign": true,
|
|
49
56
|
"__experimentalFontFamily": true,
|
|
50
57
|
"__experimentalFontWeight": true,
|
|
51
58
|
"__experimentalFontStyle": true,
|
|
@@ -20,14 +20,31 @@
|
|
|
20
20
|
"supports": {
|
|
21
21
|
"align": true,
|
|
22
22
|
"anchor": true,
|
|
23
|
+
"background": {
|
|
24
|
+
"backgroundImage": true,
|
|
25
|
+
"backgroundSize": true,
|
|
26
|
+
"gradient": true,
|
|
27
|
+
"__experimentalDefaultControls": {
|
|
28
|
+
"backgroundImage": true
|
|
29
|
+
}
|
|
30
|
+
},
|
|
23
31
|
"color": {
|
|
24
32
|
"text": true,
|
|
25
33
|
"background": true,
|
|
34
|
+
"heading": true,
|
|
35
|
+
"button": true,
|
|
36
|
+
"link": true,
|
|
26
37
|
"__experimentalDefaultControls": {
|
|
27
38
|
"text": true,
|
|
28
39
|
"background": true
|
|
29
40
|
}
|
|
30
41
|
},
|
|
42
|
+
"__experimentalBorder": {
|
|
43
|
+
"color": true,
|
|
44
|
+
"radius": true,
|
|
45
|
+
"style": true,
|
|
46
|
+
"width": true
|
|
47
|
+
},
|
|
31
48
|
"layout": {
|
|
32
49
|
"allowEditing": false
|
|
33
50
|
},
|
|
@@ -38,9 +55,15 @@
|
|
|
38
55
|
"margin": true,
|
|
39
56
|
"padding": true
|
|
40
57
|
},
|
|
58
|
+
"shadow": true,
|
|
41
59
|
"typography": {
|
|
42
60
|
"fontSize": true,
|
|
43
|
-
"
|
|
61
|
+
"lineHeight": true,
|
|
62
|
+
"__experimentalFontFamily": true,
|
|
63
|
+
"__experimentalFontWeight": true,
|
|
64
|
+
"__experimentalFontStyle": true,
|
|
65
|
+
"__experimentalTextTransform": true,
|
|
66
|
+
"__experimentalLetterSpacing": true
|
|
44
67
|
}
|
|
45
68
|
},
|
|
46
69
|
"usesContext": [ "core/tabs-list", "core/tabs-id" ],
|
|
@@ -36,8 +36,27 @@
|
|
|
36
36
|
],
|
|
37
37
|
"supports": {
|
|
38
38
|
"anchor": true,
|
|
39
|
+
"background": {
|
|
40
|
+
"backgroundImage": true,
|
|
41
|
+
"backgroundSize": true,
|
|
42
|
+
"gradient": true,
|
|
43
|
+
"__experimentalDefaultControls": {
|
|
44
|
+
"backgroundImage": true,
|
|
45
|
+
"gradient": true
|
|
46
|
+
}
|
|
47
|
+
},
|
|
39
48
|
"html": false,
|
|
40
49
|
"align": true,
|
|
50
|
+
"color": {
|
|
51
|
+
"background": true,
|
|
52
|
+
"link": true,
|
|
53
|
+
"text": false,
|
|
54
|
+
"__experimentalDefaultControls": {
|
|
55
|
+
"background": true,
|
|
56
|
+
"link": true
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"shadow": true,
|
|
41
60
|
"spacing": {
|
|
42
61
|
"margin": true,
|
|
43
62
|
"padding": true
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/template-part/edit/selection-modal.jsx"],
|
|
4
|
-
"sourcesContent": ["import { useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport {\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\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\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\n\t// We can map template parts to block
|
|
4
|
+
"sourcesContent": ["import { useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport {\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\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\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\n\t// We can map template parts to block patterns 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 blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\treturn searchPatterns( blockPatterns, searchValue );\n\t}, [ blockPatterns, searchValue ] );\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 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\tonChange={ setSearchValue }\n\t\t\t\t\tvalue={ searchValue }\n\t\t\t\t\tlabel={ __( 'Search' ) }\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\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{ ! 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"],
|
|
5
5
|
"mappings": ";AAAA,SAAS,SAAS,gBAAgB;AAClC,SAAS,IAAI,eAAe;AAC5B,SAAS,SAAS,oBAAoB;AACtC,SAAS,mBAAmB;AAC5B,SAAS,mCAAmC,yBAAyB;AACrE;AAAA,EACC;AAAA,EACA,wBAAwB;AAAA,OAClB;AACP;AAAA,EACC;AAAA,EACA;AAAA,OACM;AACP,SAAS,qCAAqC;AAC9C,SAAS,sBAAsB;AAuD3B,cAQA,YARA;AArDW,SAAR,2BAA6C;AAAA,EACnD;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA;AACD,GAAI;AACH,QAAM,CAAE,aAAa,cAAe,IAAI,SAAU,EAAG;AACrD,QAAM,EAAE,cAAc,IAAI;AAAA,IACzB;AAAA,IACA;AAAA,EACD;AAGA,QAAM,wBAAwB,QAAS,MAAM;AAC5C,UAAM,kBAAkB,cAAc;AAAA,MAAK,CAAE,iBAC5C,8BAA+B,YAAa;AAAA,IAC7C;AAEA,WAAO,eAAgB,iBAAiB,WAAY;AAAA,EACrD,GAAG,CAAE,eAAe,WAAY,CAAE;AAClC,QAAM,gBAAgB,4BAA6B,MAAM,QAAS;AAClE,QAAM,wBAAwB,QAAS,MAAM;AAC5C,WAAO,eAAgB,eAAe,WAAY;AAAA,EACnD,GAAG,CAAE,eAAe,WAAY,CAAE;AAElC,QAAM,EAAE,oBAAoB,IAAI,YAAa,YAAa;AAE1D,QAAM,uBAAuB,CAAE,iBAAkB;AAChD,kBAAe;AAAA,MACd,MAAM,aAAa;AAAA,MACnB,OAAO,aAAa;AAAA,MACpB,MAAM;AAAA,IACP,CAAE;AACF;AAAA,MACC;AAAA;AAAA,QAEC,GAAI,8BAA+B;AAAA,QACnC,aAAa,OAAO,YAAY,aAAa;AAAA,MAC9C;AAAA,MACA;AAAA,QACC,MAAM;AAAA,MACP;AAAA,IACD;AACA,YAAQ;AAAA,EACT;AAEA,QAAM,mBAAmB,CAAC,CAAE,sBAAsB;AAClD,QAAM,mBAAmB,CAAC,CAAE,sBAAsB;AAElD,SACC,qBAAC,SAAI,WAAU,kDACd;AAAA,wBAAC,SAAI,WAAU,iDACd;AAAA,MAAC;AAAA;AAAA,QACA,UAAW;AAAA,QACX,OAAQ;AAAA,QACR,OAAQ,GAAI,QAAS;AAAA,QACrB,aAAc,GAAI,QAAS;AAAA;AAAA,IAC5B,GACD;AAAA,IACE,oBACD,qBAAC,SACA;AAAA,0BAAC,QAAK,aAAI,yBAA0B,GAAG;AAAA,MACvC;AAAA,QAAC;AAAA;AAAA,UACA,eAAgB;AAAA,UAChB,gBAAiB,CAAE,YAAa;AAC/B,iCAAsB,QAAQ,YAAa;AAAA,UAC5C;AAAA;AAAA,MACD;AAAA,OACD;AAAA,IAGC,CAAE,oBAAoB,CAAE,oBACzB,oBAAC,UAAO,WAAU,UACjB,8BAAC,OAAI,aAAI,mBAAoB,GAAG,GACjC;AAAA,KAEF;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"supports": {
|
|
18
18
|
"anchor": true,
|
|
19
19
|
"html": false,
|
|
20
|
+
"background": {
|
|
21
|
+
"backgroundImage": true,
|
|
22
|
+
"backgroundSize": true,
|
|
23
|
+
"gradient": true
|
|
24
|
+
},
|
|
20
25
|
"color": {
|
|
21
26
|
"gradients": true,
|
|
22
27
|
"__experimentalDefaultControls": {
|
|
@@ -24,12 +29,14 @@
|
|
|
24
29
|
"text": true
|
|
25
30
|
}
|
|
26
31
|
},
|
|
32
|
+
"shadow": true,
|
|
27
33
|
"spacing": {
|
|
28
34
|
"padding": true
|
|
29
35
|
},
|
|
30
36
|
"typography": {
|
|
31
37
|
"fontSize": true,
|
|
32
38
|
"lineHeight": true,
|
|
39
|
+
"textAlign": true,
|
|
33
40
|
"__experimentalFontFamily": true,
|
|
34
41
|
"__experimentalFontWeight": true,
|
|
35
42
|
"__experimentalFontStyle": true,
|
|
@@ -11,6 +11,14 @@
|
|
|
11
11
|
"anchor": true,
|
|
12
12
|
"align": [ "wide", "full" ],
|
|
13
13
|
"html": false,
|
|
14
|
+
"background": {
|
|
15
|
+
"backgroundImage": true,
|
|
16
|
+
"backgroundSize": true,
|
|
17
|
+
"gradient": true,
|
|
18
|
+
"__experimentalDefaultControls": {
|
|
19
|
+
"backgroundImage": true
|
|
20
|
+
}
|
|
21
|
+
},
|
|
14
22
|
"color": {
|
|
15
23
|
"link": true,
|
|
16
24
|
"__experimentalDefaultControls": {
|
|
@@ -39,6 +47,7 @@
|
|
|
39
47
|
"interactivity": {
|
|
40
48
|
"clientNavigation": true
|
|
41
49
|
},
|
|
50
|
+
"shadow": true,
|
|
42
51
|
"__experimentalBorder": {
|
|
43
52
|
"radius": true,
|
|
44
53
|
"color": true,
|
|
@@ -25,6 +25,15 @@
|
|
|
25
25
|
"anchor": true,
|
|
26
26
|
"align": [ "wide", "full" ],
|
|
27
27
|
"html": false,
|
|
28
|
+
"background": {
|
|
29
|
+
"backgroundImage": true,
|
|
30
|
+
"backgroundSize": true,
|
|
31
|
+
"gradient": true,
|
|
32
|
+
"__experimentalDefaultControls": {
|
|
33
|
+
"backgroundImage": true,
|
|
34
|
+
"gradient": true
|
|
35
|
+
}
|
|
36
|
+
},
|
|
28
37
|
"color": {
|
|
29
38
|
"gradients": true,
|
|
30
39
|
"link": true,
|
|
@@ -34,6 +43,7 @@
|
|
|
34
43
|
"link": true
|
|
35
44
|
}
|
|
36
45
|
},
|
|
46
|
+
"shadow": true,
|
|
37
47
|
"spacing": {
|
|
38
48
|
"padding": true
|
|
39
49
|
},
|
|
@@ -14,6 +14,14 @@
|
|
|
14
14
|
"html": false,
|
|
15
15
|
"align": [ "wide", "full" ],
|
|
16
16
|
"layout": true,
|
|
17
|
+
"background": {
|
|
18
|
+
"backgroundImage": true,
|
|
19
|
+
"backgroundSize": true,
|
|
20
|
+
"gradient": true,
|
|
21
|
+
"__experimentalDefaultControls": {
|
|
22
|
+
"backgroundImage": true
|
|
23
|
+
}
|
|
24
|
+
},
|
|
17
25
|
"color": {
|
|
18
26
|
"gradients": true,
|
|
19
27
|
"link": true,
|
|
@@ -55,7 +63,8 @@
|
|
|
55
63
|
"color": true,
|
|
56
64
|
"width": true,
|
|
57
65
|
"style": true
|
|
58
|
-
}
|
|
66
|
+
},
|
|
67
|
+
"shadow": true
|
|
59
68
|
},
|
|
60
69
|
"style": "wp-block-term-template",
|
|
61
70
|
"editorStyle": "wp-block-term-template-editor"
|
|
@@ -1,41 +1,16 @@
|
|
|
1
1
|
// packages/block-library/src/utils/search-patterns.js
|
|
2
|
-
import
|
|
2
|
+
import { privateApis as blockEditorPrivateApis } from "@wordpress/block-editor";
|
|
3
|
+
import { unlock } from "../lock-unlock.mjs";
|
|
4
|
+
var { normalizeString, searchItems } = unlock(blockEditorPrivateApis);
|
|
3
5
|
function normalizeSearchInput(input = "") {
|
|
4
|
-
|
|
5
|
-
input = input.trim().toLowerCase();
|
|
6
|
-
return input;
|
|
7
|
-
}
|
|
8
|
-
function getPatternSearchRank(pattern, searchValue) {
|
|
9
|
-
const normalizedSearchValue = normalizeSearchInput(searchValue);
|
|
10
|
-
const normalizedTitle = normalizeSearchInput(pattern.title);
|
|
11
|
-
let rank = 0;
|
|
12
|
-
if (normalizedSearchValue === normalizedTitle) {
|
|
13
|
-
rank += 30;
|
|
14
|
-
} else if (normalizedTitle.startsWith(normalizedSearchValue)) {
|
|
15
|
-
rank += 20;
|
|
16
|
-
} else {
|
|
17
|
-
const searchTerms = normalizedSearchValue.split(" ");
|
|
18
|
-
const hasMatchedTerms = searchTerms.every(
|
|
19
|
-
(searchTerm) => normalizedTitle.includes(searchTerm)
|
|
20
|
-
);
|
|
21
|
-
if (hasMatchedTerms) {
|
|
22
|
-
rank += 10;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return rank;
|
|
6
|
+
return normalizeString(input).trim();
|
|
26
7
|
}
|
|
27
8
|
function searchPatterns(patterns = [], searchValue = "") {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
const rankedPatterns = patterns.map((pattern) => {
|
|
32
|
-
return [pattern, getPatternSearchRank(pattern, searchValue)];
|
|
33
|
-
}).filter(([, rank]) => rank > 0);
|
|
34
|
-
rankedPatterns.sort(([, rank1], [, rank2]) => rank2 - rank1);
|
|
35
|
-
return rankedPatterns.map(([pattern]) => pattern);
|
|
9
|
+
return searchItems(patterns, searchValue, {
|
|
10
|
+
fields: [{ get: (pattern) => pattern.title }]
|
|
11
|
+
});
|
|
36
12
|
}
|
|
37
13
|
export {
|
|
38
|
-
getPatternSearchRank,
|
|
39
14
|
normalizeSearchInput,
|
|
40
15
|
searchPatterns
|
|
41
16
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/search-patterns.js"],
|
|
4
|
-
"sourcesContent": ["import
|
|
5
|
-
"mappings": ";AAAA,
|
|
4
|
+
"sourcesContent": ["import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { unlock } from '../lock-unlock';\n\nconst { normalizeString, searchItems } = unlock( blockEditorPrivateApis );\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nexport function normalizeSearchInput( input = '' ) {\n\treturn normalizeString( input ).trim();\n}\n\n/**\n * Filters a pattern list given a search term.\n *\n * @param {Array} patterns Item list\n * @param {string} searchValue Search input.\n *\n * @return {Array} Filtered pattern list.\n */\nexport function searchPatterns( patterns = [], searchValue = '' ) {\n\treturn searchItems( patterns, searchValue, {\n\t\tfields: [ { get: ( pattern ) => pattern.title } ],\n\t} );\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,eAAe,8BAA8B;AACtD,SAAS,cAAc;AAEvB,IAAM,EAAE,iBAAiB,YAAY,IAAI,OAAQ,sBAAuB;AASjE,SAAS,qBAAsB,QAAQ,IAAK;AAClD,SAAO,gBAAiB,KAAM,EAAE,KAAK;AACtC;AAUO,SAAS,eAAgB,WAAW,CAAC,GAAG,cAAc,IAAK;AACjE,SAAO,YAAa,UAAU,aAAa;AAAA,IAC1C,QAAQ,CAAE,EAAE,KAAK,CAAE,YAAa,QAAQ,MAAM,CAAE;AAAA,EACjD,CAAE;AACH;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
// packages/block-library/src/utils/style-state.js
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
getStyleForState,
|
|
4
|
+
setStyleForState,
|
|
5
|
+
privateApis as blockEditorPrivateApis
|
|
6
|
+
} from "@wordpress/block-editor";
|
|
3
7
|
import { unlock } from "../lock-unlock.mjs";
|
|
4
|
-
var { cleanEmptyObject
|
|
5
|
-
blockEditorPrivateApis
|
|
6
|
-
);
|
|
8
|
+
var { cleanEmptyObject } = unlock(blockEditorPrivateApis);
|
|
7
9
|
function getStateStyle(style, selectedState) {
|
|
8
10
|
return getStyleForState(style, selectedState) || {};
|
|
9
11
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/style-state.js"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": ";AAAA,
|
|
4
|
+
"sourcesContent": ["import {\n\tgetStyleForState,\n\tsetStyleForState,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { unlock } from '../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nfunction getStateStyle( style, selectedState ) {\n\treturn getStyleForState( style, selectedState ) || {};\n}\n\nfunction getMappedDimensions( dimensions, dimensionKeyMap = {} ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( dimensions ).map( ( [ key, value ] ) => [\n\t\t\tdimensionKeyMap[ key ] || key,\n\t\t\tvalue,\n\t\t] )\n\t);\n}\n\nfunction getControlledDimensions( dimensions, dimensionKeys ) {\n\tif ( ! dimensionKeys ) {\n\t\treturn dimensions;\n\t}\n\n\treturn Object.fromEntries(\n\t\tdimensionKeys.map( ( key ) => [ key, dimensions[ key ] ] )\n\t);\n}\n\nexport function getStyleStateKey( selectedState ) {\n\treturn [\n\t\tselectedState?.viewport || 'default',\n\t\tselectedState?.pseudo || 'default',\n\t].join( ':' );\n}\n\nexport function getStateDimensions( style, selectedState ) {\n\treturn getStateStyle( style, selectedState )?.dimensions || {};\n}\n\nexport function getActiveDimensionValue( options = {} ) {\n\tconst {\n\t\tattributes = {},\n\t\tstyle = attributes?.style,\n\t\tselectedState,\n\t\thasSelectedStyleState,\n\t\tattributeKey,\n\t\tstyleKey = attributeKey,\n\t\trootValue,\n\t} = options;\n\n\tif ( hasSelectedStyleState ) {\n\t\treturn getStateDimensions( style, selectedState )?.[ styleKey ];\n\t}\n\n\tif ( Object.hasOwn( options, 'rootValue' ) ) {\n\t\treturn rootValue;\n\t}\n\n\treturn attributes?.[ attributeKey ];\n}\n\nexport function setStateDimensions( style, selectedState, nextDimensions ) {\n\tconst stateStyle = getStateStyle( style, selectedState );\n\n\treturn setStyleForState(\n\t\tstyle,\n\t\tselectedState,\n\t\tcleanEmptyObject( {\n\t\t\t...stateStyle,\n\t\t\tdimensions: cleanEmptyObject( {\n\t\t\t\t...stateStyle?.dimensions,\n\t\t\t\t...nextDimensions,\n\t\t\t} ),\n\t\t} )\n\t);\n}\n\nexport function getDimensionUpdateAttributes( {\n\tstyle,\n\tselectedState,\n\thasSelectedStyleState,\n\tnextDimensions,\n\tdimensionKeyMap,\n\tdimensionKeys,\n} ) {\n\tconst controlledDimensions = getControlledDimensions(\n\t\tnextDimensions,\n\t\tdimensionKeys\n\t);\n\n\tif ( ! hasSelectedStyleState ) {\n\t\treturn controlledDimensions;\n\t}\n\n\treturn {\n\t\tstyle: setStateDimensions(\n\t\t\tstyle,\n\t\t\tselectedState,\n\t\t\tgetMappedDimensions( controlledDimensions, dimensionKeyMap )\n\t\t),\n\t};\n}\n\nexport function resetDimensions( style, keys ) {\n\tconst dimensionsReset = Object.fromEntries(\n\t\tkeys.map( ( key ) => [ key, undefined ] )\n\t);\n\n\treturn cleanEmptyObject( {\n\t\t...style,\n\t\tdimensions: cleanEmptyObject( {\n\t\t\t...style?.dimensions,\n\t\t\t...dimensionsReset,\n\t\t} ),\n\t} );\n}\n\nexport function resetStateDimensions( style, selectedState, keys ) {\n\treturn setStyleForState(\n\t\tstyle,\n\t\tselectedState,\n\t\tresetDimensions( getStateStyle( style, selectedState ), keys )\n\t);\n}\n\nexport function getDimensionResetAttributes( {\n\tattributes = {},\n\tstyle = attributes?.style,\n\tselectedState,\n\thasSelectedStyleState,\n\tkeys,\n\tdefaultAttributes = {},\n} ) {\n\treturn {\n\t\t...( hasSelectedStyleState\n\t\t\t? {}\n\t\t\t: { ...attributes, ...defaultAttributes } ),\n\t\tstyle: hasSelectedStyleState\n\t\t\t? resetStateDimensions( style, selectedState, keys )\n\t\t\t: resetDimensions( style, keys ),\n\t};\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -101,8 +101,14 @@
|
|
|
101
101
|
},
|
|
102
102
|
"interactivity": {
|
|
103
103
|
"clientNavigation": true
|
|
104
|
+
},
|
|
105
|
+
"shadow": {
|
|
106
|
+
"__experimentalSkipSerialization": true
|
|
104
107
|
}
|
|
105
108
|
},
|
|
109
|
+
"selectors": {
|
|
110
|
+
"shadow": ".wp-block-video video"
|
|
111
|
+
},
|
|
106
112
|
"editorStyle": "wp-block-video-editor",
|
|
107
113
|
"style": "wp-block-video"
|
|
108
114
|
}
|
|
@@ -13,7 +13,8 @@ import {
|
|
|
13
13
|
MediaPlaceholder,
|
|
14
14
|
MediaReplaceFlow,
|
|
15
15
|
useBlockProps,
|
|
16
|
-
useBlockEditingMode
|
|
16
|
+
useBlockEditingMode,
|
|
17
|
+
__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles
|
|
17
18
|
} from "@wordpress/block-editor";
|
|
18
19
|
import { useRef, useEffect, useState } from "@wordpress/element";
|
|
19
20
|
import { __ } from "@wordpress/i18n";
|
|
@@ -31,7 +32,6 @@ import TracksEditor from "./tracks-editor.mjs";
|
|
|
31
32
|
import Tracks from "./tracks.mjs";
|
|
32
33
|
import { Caption } from "../utils/caption.mjs";
|
|
33
34
|
import PosterImage from "../utils/poster-image.mjs";
|
|
34
|
-
import { isGifVariation } from "./variations.mjs";
|
|
35
35
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
36
36
|
var ALLOWED_MEDIA_TYPES = ["video"];
|
|
37
37
|
function VideoEdit({
|
|
@@ -43,9 +43,24 @@ function VideoEdit({
|
|
|
43
43
|
onReplace
|
|
44
44
|
}) {
|
|
45
45
|
const videoPlayer = useRef();
|
|
46
|
-
const {
|
|
47
|
-
|
|
46
|
+
const {
|
|
47
|
+
id,
|
|
48
|
+
controls,
|
|
49
|
+
poster,
|
|
50
|
+
src,
|
|
51
|
+
tracks,
|
|
52
|
+
width,
|
|
53
|
+
height,
|
|
54
|
+
autoplay,
|
|
55
|
+
loop,
|
|
56
|
+
muted,
|
|
57
|
+
playsInline
|
|
58
|
+
} = attributes;
|
|
48
59
|
const aspectRatio = width && height ? `${width} / ${height}` : void 0;
|
|
60
|
+
const videoStyle = {
|
|
61
|
+
...aspectRatio && { aspectRatio },
|
|
62
|
+
...getShadowClassesAndStyles(attributes).style
|
|
63
|
+
};
|
|
49
64
|
const [temporaryURL, setTemporaryURL] = useState(attributes.blob);
|
|
50
65
|
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
51
66
|
const blockEditingMode = useBlockEditingMode();
|
|
@@ -61,12 +76,6 @@ function VideoEdit({
|
|
|
61
76
|
videoPlayer.current.load();
|
|
62
77
|
}
|
|
63
78
|
}, [poster]);
|
|
64
|
-
useEffect(() => {
|
|
65
|
-
if (isGif) {
|
|
66
|
-
videoPlayer.current?.play().catch(() => {
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}, [isGif, src, poster]);
|
|
70
79
|
function onSelectVideo(media) {
|
|
71
80
|
if (!media || !media.url) {
|
|
72
81
|
setAttributes({
|
|
@@ -177,7 +186,7 @@ function VideoEdit({
|
|
|
177
186
|
}
|
|
178
187
|
) })
|
|
179
188
|
] }),
|
|
180
|
-
|
|
189
|
+
/* @__PURE__ */ jsx(InspectorControls, { children: /* @__PURE__ */ jsxs(
|
|
181
190
|
ToolsPanel,
|
|
182
191
|
{
|
|
183
192
|
label: __("Settings"),
|
|
@@ -222,13 +231,13 @@ function VideoEdit({
|
|
|
222
231
|
poster,
|
|
223
232
|
src: src || temporaryURL,
|
|
224
233
|
ref: videoPlayer,
|
|
225
|
-
autoPlay:
|
|
226
|
-
loop
|
|
227
|
-
muted
|
|
228
|
-
playsInline
|
|
234
|
+
autoPlay: autoplay,
|
|
235
|
+
loop,
|
|
236
|
+
muted,
|
|
237
|
+
playsInline,
|
|
229
238
|
width,
|
|
230
239
|
height,
|
|
231
|
-
style:
|
|
240
|
+
style: Object.keys(videoStyle).length ? videoStyle : void 0,
|
|
232
241
|
children: /* @__PURE__ */ jsx(Tracks, { tracks })
|
|
233
242
|
}
|
|
234
243
|
),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/video/edit.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tSpinner,\n\tPlaceholder,\n\t__experimentalToolsPanel as ToolsPanel,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { prependHTTPS } from '@wordpress/url';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport {\n\tuseUploadMediaFromBlobURL,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\nimport PosterImage from '../utils/poster-image';\
|
|
5
|
-
"mappings": ";AAAA,OAAO,UAAU;AACjB,SAAS,iBAAiB;AAC1B;AAAA,EACC;AAAA,EACA;AAAA,EACA,4BAA4B;AAAA,OACtB;AACP;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tSpinner,\n\tPlaceholder,\n\t__experimentalToolsPanel as ToolsPanel,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { prependHTTPS } from '@wordpress/url';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport {\n\tuseUploadMediaFromBlobURL,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\nimport PosterImage from '../utils/poster-image';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst videoPlayer = useRef();\n\tconst {\n\t\tid,\n\t\tcontrols,\n\t\tposter,\n\t\tsrc,\n\t\ttracks,\n\t\twidth,\n\t\theight,\n\t\tautoplay,\n\t\tloop,\n\t\tmuted,\n\t\tplaysInline,\n\t} = attributes;\n\t// Give the <video> an explicit (non-`auto`) aspect ratio derived from the\n\t// stored dimensions. The width/height attributes alone only yield\n\t// `aspect-ratio: auto W/H`, whose `auto` keyword defers to the element's\n\t// natural ratio while the poster/metadata load - during which Chrome briefly\n\t// computes a runaway height (tens of thousands of pixels) before settling.\n\t// That spike is what reads as a duplicated image during the GIF-to-video\n\t// swap. A non-`auto` ratio governs the box height throughout the load.\n\tconst aspectRatio =\n\t\twidth && height ? `${ width } / ${ height }` : undefined;\n\tconst videoStyle = {\n\t\t...( aspectRatio && { aspectRatio } ),\n\t\t...getShadowClassesAndStyles( attributes ).style,\n\t};\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\t// TODO: Whether the video was obtained from the media library or was provided by URL, obtain the `videoWidth` and `videoHeight` of the video once its metadata has loaded and persist in the block attributes.\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\tconst url = prependHTTPS( newSrc );\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tsrc: url,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\t\twithIllustration={ ! isSingleSelected }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Video' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ () => onSelectVideo( undefined ) }\n\t\t\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tautoplay: false,\n\t\t\t\t\t\t\tcontrols: true,\n\t\t\t\t\t\t\tloop: false,\n\t\t\t\t\t\t\tmuted: false,\n\t\t\t\t\t\t\tplaysInline: false,\n\t\t\t\t\t\t\tpreload: 'metadata',\n\t\t\t\t\t\t\tposter: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<PosterImage\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tonChange={ ( posterImage ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tposter: posterImage?.url,\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</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t<video\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\tinert={ ! isSingleSelected ? 'true' : undefined }\n\t\t\t\t\tposter={ poster }\n\t\t\t\t\tsrc={ src || temporaryURL }\n\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\tloop={ loop }\n\t\t\t\t\tmuted={ muted }\n\t\t\t\t\tplaysInline={ playsInline }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tObject.keys( videoStyle ).length\n\t\t\t\t\t\t\t? videoStyle\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t</video>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Video caption text' ) }\n\t\t\t\t\tshowToolbarButton={\n\t\t\t\t\t\tisSingleSelected && hasNonContentControls\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -7,7 +7,6 @@ import edit from "./edit.mjs";
|
|
|
7
7
|
import metadata from "./block.json";
|
|
8
8
|
import save from "./save.mjs";
|
|
9
9
|
import transforms from "./transforms.mjs";
|
|
10
|
-
import variations from "./variations.mjs";
|
|
11
10
|
var { name } = metadata;
|
|
12
11
|
var settings = {
|
|
13
12
|
icon,
|
|
@@ -19,7 +18,6 @@ var settings = {
|
|
|
19
18
|
}
|
|
20
19
|
},
|
|
21
20
|
transforms,
|
|
22
|
-
variations,
|
|
23
21
|
deprecated,
|
|
24
22
|
edit,
|
|
25
23
|
save
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/video/index.js"],
|
|
4
|
-
"sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { video as icon } from '@wordpress/icons';\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\
|
|
5
|
-
"mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,SAAS,YAAY;AAC9B,OAAO,eAAe;AACtB,OAAO,gBAAgB;AACvB,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,gBAAgB;
|
|
4
|
+
"sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { video as icon } from '@wordpress/icons';\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsrc: 'https://upload.wikimedia.org/wikipedia/commons/c/ca/Wood_thrush_in_Central_Park_switch_sides_%2816510%29.webm',\n\t\t\t// translators: Caption accompanying a video of the wood thrush singing, which serves as an example for the Video block.\n\t\t\tcaption: __( 'Wood thrush singing in Central Park, NYC.' ),\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,SAAS,YAAY;AAC9B,OAAO,eAAe;AACtB,OAAO,gBAAgB;AACvB,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AAEvB,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,KAAK;AAAA;AAAA,MAEL,SAAS,GAAI,2CAA4C;AAAA,IAC1D;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,OAAO,MAAM,UAAW,EAAE,MAAM,UAAU,SAAS,CAAE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import {
|
|
3
3
|
RichText,
|
|
4
4
|
useBlockProps,
|
|
5
|
-
__experimentalGetElementClassName
|
|
5
|
+
__experimentalGetElementClassName,
|
|
6
|
+
__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles
|
|
6
7
|
} from "@wordpress/block-editor";
|
|
7
8
|
import Tracks from "./tracks.mjs";
|
|
8
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -22,6 +23,10 @@ function save({ attributes }) {
|
|
|
22
23
|
height
|
|
23
24
|
} = attributes;
|
|
24
25
|
const aspectRatio = width && height ? `${width} / ${height}` : void 0;
|
|
26
|
+
const videoStyle = {
|
|
27
|
+
...aspectRatio && { aspectRatio },
|
|
28
|
+
...getShadowClassesAndStyles(attributes).style
|
|
29
|
+
};
|
|
25
30
|
return /* @__PURE__ */ jsxs("figure", { ...useBlockProps.save(), children: [
|
|
26
31
|
src && /* @__PURE__ */ jsx(
|
|
27
32
|
"video",
|
|
@@ -36,7 +41,7 @@ function save({ attributes }) {
|
|
|
36
41
|
playsInline,
|
|
37
42
|
width,
|
|
38
43
|
height,
|
|
39
|
-
style:
|
|
44
|
+
style: Object.keys(videoStyle).length ? videoStyle : void 0,
|
|
40
45
|
children: /* @__PURE__ */ jsx(Tracks, { tracks })
|
|
41
46
|
}
|
|
42
47
|
),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/video/save.jsx"],
|
|
4
|
-
"sourcesContent": ["import {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport Tracks from './tracks';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tautoplay,\n\t\tcaption,\n\t\tcontrols,\n\t\tloop,\n\t\tmuted,\n\t\tposter,\n\t\tpreload,\n\t\tsrc,\n\t\tplaysInline,\n\t\ttracks,\n\t\twidth,\n\t\theight,\n\t} = attributes;\n\t// Match the editor: an explicit (non-`auto`) aspect ratio keeps the\n\t// converted GIF video from briefly blowing up to a runaway height while the\n\t// poster/metadata load, which would otherwise flash on the front end and\n\t// cause layout shift. The width/height attributes only yield\n\t// `aspect-ratio: auto W/H`, whose `auto` keyword is unreliable during load.\n\tconst aspectRatio =\n\t\twidth && height ? `${ width } / ${ height }` : undefined;\n\treturn (\n\t\t<figure { ...useBlockProps.save() }>\n\t\t\t{ src && (\n\t\t\t\t<video\n\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\tloop={ loop }\n\t\t\t\t\tmuted={ muted }\n\t\t\t\t\tposter={ poster }\n\t\t\t\t\tpreload={ preload !== 'metadata' ? preload : undefined }\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tplaysInline={ playsInline }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t\tstyle={
|
|
5
|
-
"mappings": ";AAAA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,
|
|
4
|
+
"sourcesContent": ["import {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n} from '@wordpress/block-editor';\nimport Tracks from './tracks';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tautoplay,\n\t\tcaption,\n\t\tcontrols,\n\t\tloop,\n\t\tmuted,\n\t\tposter,\n\t\tpreload,\n\t\tsrc,\n\t\tplaysInline,\n\t\ttracks,\n\t\twidth,\n\t\theight,\n\t} = attributes;\n\t// Match the editor: an explicit (non-`auto`) aspect ratio keeps the\n\t// converted GIF video from briefly blowing up to a runaway height while the\n\t// poster/metadata load, which would otherwise flash on the front end and\n\t// cause layout shift. The width/height attributes only yield\n\t// `aspect-ratio: auto W/H`, whose `auto` keyword is unreliable during load.\n\tconst aspectRatio =\n\t\twidth && height ? `${ width } / ${ height }` : undefined;\n\tconst videoStyle = {\n\t\t...( aspectRatio && { aspectRatio } ),\n\t\t...getShadowClassesAndStyles( attributes ).style,\n\t};\n\treturn (\n\t\t<figure { ...useBlockProps.save() }>\n\t\t\t{ src && (\n\t\t\t\t<video\n\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\tloop={ loop }\n\t\t\t\t\tmuted={ muted }\n\t\t\t\t\tposter={ poster }\n\t\t\t\t\tpreload={ preload !== 'metadata' ? preload : undefined }\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tplaysInline={ playsInline }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tObject.keys( videoStyle ).length\n\t\t\t\t\t\t\t? videoStyle\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t</video>\n\t\t\t) }\n\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAAA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,2CAA2C;AAAA,OACrC;AACP,OAAO,YAAY;AA6BjB,SAmBG,KAnBH;AA3Ba,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI;AAMJ,QAAM,cACL,SAAS,SAAS,GAAI,KAAM,MAAO,MAAO,KAAK;AAChD,QAAM,aAAa;AAAA,IAClB,GAAK,eAAe,EAAE,YAAY;AAAA,IAClC,GAAG,0BAA2B,UAAW,EAAE;AAAA,EAC5C;AACA,SACC,qBAAC,YAAS,GAAG,cAAc,KAAK,GAC7B;AAAA,WACD;AAAA,MAAC;AAAA;AAAA,QACA,UAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAU,YAAY,aAAa,UAAU;AAAA,QAC7C;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OACC,OAAO,KAAM,UAAW,EAAE,SACvB,aACA;AAAA,QAGJ,8BAAC,UAAO,QAAkB;AAAA;AAAA,IAC3B;AAAA,IAEC,CAAE,SAAS,QAAS,OAAQ,KAC7B;AAAA,MAAC,SAAS;AAAA,MAAT;AAAA,QACA,WAAY,kCAAmC,SAAU;AAAA,QACzD,SAAQ;AAAA,QACR,OAAQ;AAAA;AAAA,IACT;AAAA,KAEF;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|