@wordpress/block-library 11.0.0 → 11.0.2-next.v.202609171837.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 +18 -0
- package/README.md +7 -7
- package/build/archives/edit.cjs.map +3 -3
- package/build/audio/edit.cjs.map +3 -3
- package/build/avatar/hooks.cjs.map +2 -2
- package/build/button/edit.cjs.map +2 -2
- package/build/categories/edit.cjs.map +3 -3
- package/build/code/block.json +1 -0
- package/build/code/save.cjs.map +2 -2
- package/build/comment-template/hooks.cjs.map +2 -2
- package/build/cover/edit/index.cjs.map +2 -2
- package/build/cover/edit/inspector-controls.cjs.map +2 -2
- package/build/cover/transforms.cjs.map +2 -2
- package/build/details/block.json +1 -0
- package/build/details/index.cjs.map +2 -2
- package/build/embed/embed-controls.cjs.map +2 -2
- package/build/file/deprecated.cjs.map +2 -2
- package/build/file/edit.cjs.map +2 -2
- package/build/file/inspector.cjs.map +3 -3
- package/build/file/save.cjs.map +2 -2
- package/build/footnotes/block.json +1 -0
- package/build/footnotes/edit.cjs.map +2 -2
- package/build/gallery/dynamic-gallery.cjs.map +3 -3
- package/build/gallery/edit.cjs +64 -37
- package/build/gallery/edit.cjs.map +3 -3
- package/build/gallery/{flex-styles.cjs → gallery-styles.cjs} +31 -32
- package/build/gallery/gallery-styles.cjs.map +7 -0
- package/build/gallery/responsive-styles.cjs +27 -5
- package/build/gallery/responsive-styles.cjs.map +2 -2
- package/build/heading/block.json +2 -0
- package/build/heading/index.cjs.map +2 -2
- package/build/html/modal.cjs +3 -6
- package/build/html/modal.cjs.map +2 -2
- package/build/image/edit.cjs.map +2 -2
- package/build/image/image.cjs.map +2 -2
- package/build/index.cjs.map +2 -2
- package/build/latest-comments/edit.cjs.map +3 -3
- package/build/latest-posts/edit.cjs.map +2 -2
- package/build/list/ordered-list-settings.cjs.map +3 -3
- package/build/list-item/hooks/use-enter.cjs.map +2 -2
- package/build/math/block.json +2 -0
- package/build/math/deprecated.cjs +29 -12
- package/build/math/deprecated.cjs.map +2 -2
- package/build/math/edit.cjs +67 -46
- package/build/math/edit.cjs.map +2 -2
- package/build/math/save.cjs +2 -2
- package/build/math/save.cjs.map +2 -2
- package/build/media-text/constants.cjs +3 -0
- package/build/media-text/constants.cjs.map +2 -2
- package/build/media-text/deprecated.cjs.map +2 -2
- package/build/media-text/edit.cjs +40 -0
- package/build/media-text/edit.cjs.map +3 -3
- package/build/media-text/image-fill.cjs.map +2 -2
- package/build/media-text/media-container.cjs +3 -3
- package/build/media-text/media-container.cjs.map +2 -2
- package/build/navigation/edit/index.cjs.map +2 -2
- package/build/navigation/edit/menu-inspector-controls.cjs.map +2 -2
- package/build/navigation/edit/overlay-template-part-selector.cjs.map +3 -3
- package/build/navigation/edit/responsive-wrapper.cjs.map +2 -2
- package/build/navigation/edit/use-generate-default-navigation-title.cjs.map +2 -2
- package/build/navigation/view.cjs +2 -2
- package/build/navigation/view.cjs.map +2 -2
- package/build/navigation-link/edit.cjs.map +2 -2
- package/build/navigation-link/shared/invalid-draft-display.cjs.map +2 -2
- package/build/navigation-submenu/edit.cjs.map +2 -2
- package/build/paragraph/block.json +1 -0
- package/build/paragraph/edit.cjs.map +2 -2
- package/build/paragraph/index.cjs +6 -0
- package/build/paragraph/index.cjs.map +3 -3
- package/build/playlist/edit.cjs +2 -1
- package/build/playlist/edit.cjs.map +3 -3
- package/build/post-author/edit.cjs.map +3 -3
- package/build/post-author-name/edit.cjs.map +2 -2
- package/build/post-content/block.json +1 -0
- package/build/post-date/edit.cjs.map +2 -2
- package/build/post-excerpt/block.json +1 -0
- package/build/post-excerpt/edit.cjs.map +2 -2
- package/build/post-featured-image/edit.cjs.map +2 -2
- package/build/post-navigation-link/edit.cjs.map +3 -3
- package/build/post-time-to-read/edit.cjs.map +2 -2
- package/build/pullquote/deprecated.cjs.map +2 -2
- package/build/query/deprecated.cjs.map +2 -2
- package/build/query/edit/inspector-controls/index.cjs.map +3 -3
- package/build/query/edit/inspector-controls/order-control.cjs.map +3 -3
- package/build/query/edit/inspector-controls/sticky-control.cjs.map +3 -3
- package/build/query/view.cjs.map +2 -2
- package/build/query-title/use-archive-label.cjs.map +2 -2
- package/build/quote/deprecated.cjs.map +2 -2
- package/build/quote/transforms.cjs.map +2 -2
- package/build/search/edit.cjs.map +3 -3
- package/build/separator/edit.cjs.map +3 -3
- package/build/social-links/edit.cjs.map +3 -3
- package/build/table/state.cjs.map +2 -2
- package/build/table-of-contents/edit.cjs.map +3 -3
- package/build/table-of-contents/utils.cjs.map +2 -2
- package/build/tabs/use-tab-actions.cjs.map +2 -2
- package/build/tag-cloud/edit.cjs.map +3 -3
- package/build/template-part/edit/advanced-controls.cjs.map +3 -3
- package/build/template-part/edit/import-controls.cjs.map +3 -3
- package/build/template-part/edit/index.cjs.map +2 -2
- package/build/template-part/edit/inner-blocks.cjs.map +2 -2
- package/build/template-part/edit/placeholder.cjs.map +2 -2
- package/build/term-count/use-term-count.cjs.map +2 -2
- package/build/term-description/use-term-description.cjs.map +2 -2
- package/build/term-name/use-term-name.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/index.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
- package/build/terms-query/edit/inspector-controls/order-control.cjs.map +3 -3
- package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +3 -3
- package/build/utils/hooks.cjs.map +2 -2
- package/build/utils/media-control.cjs +5 -1
- package/build/utils/media-control.cjs.map +2 -2
- package/build/utils/poster-image.cjs.map +2 -2
- package/build/verse/block.json +1 -0
- package/build/video/edit-common-settings.cjs.map +3 -3
- package/build/video/tracks-editor.cjs.map +3 -3
- package/build-module/archives/edit.mjs +2 -2
- package/build-module/archives/edit.mjs.map +2 -2
- package/build-module/audio/edit.mjs +2 -2
- package/build-module/audio/edit.mjs.map +2 -2
- package/build-module/avatar/hooks.mjs.map +2 -2
- package/build-module/button/edit.mjs.map +2 -2
- package/build-module/categories/edit.mjs +2 -2
- package/build-module/categories/edit.mjs.map +2 -2
- package/build-module/code/block.json +1 -0
- package/build-module/code/save.mjs.map +2 -2
- package/build-module/comment-template/hooks.mjs.map +2 -2
- package/build-module/cover/edit/index.mjs.map +2 -2
- package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
- package/build-module/cover/transforms.mjs.map +2 -2
- package/build-module/details/block.json +1 -0
- package/build-module/details/index.mjs.map +2 -2
- package/build-module/embed/embed-controls.mjs.map +2 -2
- package/build-module/file/deprecated.mjs.map +2 -2
- package/build-module/file/edit.mjs.map +2 -2
- package/build-module/file/inspector.mjs +2 -2
- package/build-module/file/inspector.mjs.map +2 -2
- package/build-module/file/save.mjs.map +2 -2
- package/build-module/footnotes/block.json +1 -0
- package/build-module/footnotes/edit.mjs.map +2 -2
- package/build-module/gallery/dynamic-gallery.mjs +2 -2
- package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
- package/build-module/gallery/edit.mjs +67 -40
- package/build-module/gallery/edit.mjs.map +2 -2
- package/build-module/gallery/{flex-styles.mjs → gallery-styles.mjs} +29 -30
- package/build-module/gallery/gallery-styles.mjs.map +7 -0
- package/build-module/gallery/responsive-styles.mjs +25 -4
- package/build-module/gallery/responsive-styles.mjs.map +2 -2
- package/build-module/heading/block.json +2 -0
- package/build-module/heading/index.mjs.map +2 -2
- package/build-module/html/modal.mjs +3 -6
- package/build-module/html/modal.mjs.map +2 -2
- package/build-module/image/edit.mjs.map +2 -2
- package/build-module/image/image.mjs.map +2 -2
- package/build-module/index.mjs.map +2 -2
- package/build-module/latest-comments/edit.mjs +2 -2
- package/build-module/latest-comments/edit.mjs.map +2 -2
- package/build-module/latest-posts/edit.mjs.map +2 -2
- package/build-module/list/ordered-list-settings.mjs +2 -2
- package/build-module/list/ordered-list-settings.mjs.map +2 -2
- package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
- package/build-module/math/block.json +2 -0
- package/build-module/math/deprecated.mjs +29 -12
- package/build-module/math/deprecated.mjs.map +2 -2
- package/build-module/math/edit.mjs +68 -47
- package/build-module/math/edit.mjs.map +2 -2
- package/build-module/math/save.mjs +2 -2
- package/build-module/math/save.mjs.map +2 -2
- package/build-module/media-text/constants.mjs +2 -0
- package/build-module/media-text/constants.mjs.map +2 -2
- package/build-module/media-text/deprecated.mjs.map +2 -2
- package/build-module/media-text/edit.mjs +42 -1
- package/build-module/media-text/edit.mjs.map +2 -2
- package/build-module/media-text/image-fill.mjs.map +2 -2
- package/build-module/media-text/media-container.mjs +1 -1
- package/build-module/media-text/media-container.mjs.map +2 -2
- package/build-module/navigation/edit/index.mjs.map +2 -2
- package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
- package/build-module/navigation/edit/overlay-template-part-selector.mjs +2 -2
- package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
- package/build-module/navigation/edit/responsive-wrapper.mjs.map +2 -2
- package/build-module/navigation/edit/use-generate-default-navigation-title.mjs.map +2 -2
- package/build-module/navigation/view.mjs +2 -2
- package/build-module/navigation/view.mjs.map +2 -2
- package/build-module/navigation-link/edit.mjs.map +2 -2
- package/build-module/navigation-link/shared/invalid-draft-display.mjs.map +2 -2
- package/build-module/navigation-submenu/edit.mjs.map +2 -2
- package/build-module/paragraph/block.json +1 -0
- package/build-module/paragraph/edit.mjs.map +2 -2
- package/build-module/paragraph/index.mjs +6 -0
- package/build-module/paragraph/index.mjs.map +2 -2
- package/build-module/playlist/edit.mjs +5 -4
- package/build-module/playlist/edit.mjs.map +2 -2
- package/build-module/post-author/edit.mjs +2 -2
- package/build-module/post-author/edit.mjs.map +2 -2
- package/build-module/post-author-name/edit.mjs.map +2 -2
- package/build-module/post-content/block.json +1 -0
- package/build-module/post-date/edit.mjs.map +2 -2
- package/build-module/post-excerpt/block.json +1 -0
- package/build-module/post-excerpt/edit.mjs.map +2 -2
- package/build-module/post-featured-image/edit.mjs.map +2 -2
- package/build-module/post-navigation-link/edit.mjs +2 -2
- package/build-module/post-navigation-link/edit.mjs.map +2 -2
- package/build-module/post-time-to-read/edit.mjs.map +2 -2
- package/build-module/pullquote/deprecated.mjs.map +2 -2
- package/build-module/query/deprecated.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/index.mjs +2 -2
- package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/order-control.mjs +2 -2
- package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/sticky-control.mjs +2 -2
- package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
- package/build-module/query/view.mjs.map +2 -2
- package/build-module/query-title/use-archive-label.mjs.map +2 -2
- package/build-module/quote/deprecated.mjs.map +2 -2
- package/build-module/quote/transforms.mjs.map +2 -2
- package/build-module/search/edit.mjs +3 -3
- package/build-module/search/edit.mjs.map +2 -2
- package/build-module/separator/edit.mjs +5 -2
- package/build-module/separator/edit.mjs.map +2 -2
- package/build-module/social-links/edit.mjs +2 -2
- package/build-module/social-links/edit.mjs.map +2 -2
- package/build-module/table/state.mjs.map +2 -2
- package/build-module/table-of-contents/edit.mjs +2 -2
- package/build-module/table-of-contents/edit.mjs.map +2 -2
- package/build-module/table-of-contents/utils.mjs.map +2 -2
- package/build-module/tabs/use-tab-actions.mjs.map +2 -2
- package/build-module/tag-cloud/edit.mjs +2 -2
- package/build-module/tag-cloud/edit.mjs.map +2 -2
- package/build-module/template-part/edit/advanced-controls.mjs +5 -2
- package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
- package/build-module/template-part/edit/import-controls.mjs +2 -2
- package/build-module/template-part/edit/import-controls.mjs.map +2 -2
- package/build-module/template-part/edit/index.mjs.map +2 -2
- package/build-module/template-part/edit/inner-blocks.mjs.map +2 -2
- package/build-module/template-part/edit/placeholder.mjs.map +2 -2
- package/build-module/term-count/use-term-count.mjs.map +2 -2
- package/build-module/term-description/use-term-description.mjs.map +2 -2
- package/build-module/term-name/use-term-name.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/index.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/order-control.mjs +2 -2
- package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs +2 -2
- package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
- package/build-module/utils/hooks.mjs.map +2 -2
- package/build-module/utils/media-control.mjs +5 -1
- package/build-module/utils/media-control.mjs.map +2 -2
- package/build-module/utils/poster-image.mjs.map +2 -2
- package/build-module/verse/block.json +1 -0
- package/build-module/video/edit-common-settings.mjs +2 -2
- package/build-module/video/edit-common-settings.mjs.map +2 -2
- package/build-module/video/tracks-editor.mjs +2 -2
- package/build-module/video/tracks-editor.mjs.map +2 -2
- package/build-style/button/style-rtl.css +2 -1
- package/build-style/button/style.css +2 -1
- package/build-style/columns/style-rtl.css +1 -1
- package/build-style/columns/style.css +1 -1
- package/build-style/comments/editor-rtl.css +1 -1
- package/build-style/comments/editor.css +1 -1
- package/build-style/comments/style-rtl.css +1 -1
- package/build-style/comments/style.css +1 -1
- package/build-style/common-rtl.css +1 -1
- package/build-style/common.css +1 -1
- package/build-style/cover/style-rtl.css +6 -0
- package/build-style/cover/style.css +6 -0
- package/build-style/editor-rtl.css +9 -5
- package/build-style/editor.css +9 -5
- package/build-style/embed/editor-rtl.css +2 -1
- package/build-style/embed/editor.css +2 -1
- package/build-style/gallery/style-rtl.css +1 -2
- package/build-style/gallery/style.css +1 -2
- package/build-style/image/style-rtl.css +6 -9
- package/build-style/image/style.css +6 -9
- package/build-style/math/editor-rtl.css +5 -0
- package/build-style/math/editor.css +5 -0
- package/build-style/navigation/editor-rtl.css +1 -0
- package/build-style/navigation/editor.css +1 -0
- package/build-style/navigation/style-rtl.css +1 -1
- package/build-style/navigation/style.css +1 -1
- package/build-style/post-title/style-rtl.css +2 -2
- package/build-style/post-title/style.css +2 -2
- package/build-style/query-pagination/editor-rtl.css +0 -3
- package/build-style/query-pagination/editor.css +0 -3
- package/build-style/search/theme-rtl.css +1 -1
- package/build-style/search/theme.css +1 -1
- package/build-style/style-rtl.css +23 -19
- package/build-style/style.css +23 -19
- package/build-style/theme-rtl.css +1 -1
- package/build-style/theme.css +1 -1
- package/build-style/verse/style-rtl.css +2 -1
- package/build-style/verse/style.css +2 -1
- package/package.json +40 -40
- package/src/archives/edit.jsx +2 -2
- package/src/audio/edit.jsx +2 -2
- package/src/avatar/hooks.js +2 -2
- package/src/button/edit.jsx +1 -1
- package/src/button/style.scss +2 -2
- package/src/calendar/index.php +1 -1
- package/src/categories/edit.jsx +2 -2
- package/src/code/README.md +1 -0
- package/src/code/block.json +1 -0
- package/src/code/save.jsx +1 -1
- package/src/columns/style.scss +2 -3
- package/src/comment-template/hooks.js +1 -1
- package/src/comments/style.scss +1 -1
- package/src/common.scss +1 -2
- package/src/cover/edit/index.jsx +2 -2
- package/src/cover/edit/inspector-controls.jsx +2 -2
- package/src/cover/style.scss +10 -0
- package/src/cover/test/{edit.jsdom.test.js → edit.browser.test.js} +104 -145
- package/src/cover/transforms.js +3 -3
- package/src/details/README.md +1 -0
- package/src/details/block.json +1 -0
- package/src/details/index.js +1 -1
- package/src/embed/editor.scss +2 -2
- package/src/embed/embed-controls.jsx +2 -2
- package/src/file/deprecated.jsx +3 -3
- package/src/file/edit.jsx +5 -3
- package/src/file/inspector.jsx +3 -3
- package/src/file/save.jsx +2 -2
- package/src/footnotes/README.md +1 -0
- package/src/footnotes/block.json +1 -0
- package/src/footnotes/edit.jsx +1 -1
- package/src/gallery/dynamic-gallery.jsx +4 -4
- package/src/gallery/edit.jsx +121 -68
- package/src/gallery/gallery-styles.js +117 -0
- package/src/gallery/index.php +181 -67
- package/src/gallery/responsive-styles.js +59 -5
- package/src/gallery/test/edit.jsdom.test.js +71 -3
- package/src/gallery/test/responsive-styles.js +59 -5
- package/src/heading/README.md +2 -0
- package/src/heading/block.json +2 -0
- package/src/heading/index.js +2 -2
- package/src/html/modal.jsx +0 -3
- package/src/image/edit.jsx +1 -1
- package/src/image/image.jsx +7 -7
- package/src/image/index.php +10 -4
- package/src/image/style.scss +1 -0
- package/src/image/test/use-open-image-media-editor-modal.jsdom.test.js +1 -1
- package/src/index.jsx +1 -1
- package/src/latest-comments/edit.jsx +2 -2
- package/src/latest-posts/edit.jsx +1 -1
- package/src/list/ordered-list-settings.jsx +2 -2
- package/src/list-item/hooks/use-enter.js +1 -1
- package/src/math/README.md +2 -2
- package/src/math/block.json +2 -0
- package/src/math/deprecated.jsx +38 -12
- package/src/math/edit.jsx +49 -20
- package/src/math/editor.scss +5 -0
- package/src/math/save.jsx +20 -4
- package/src/media-text/constants.js +1 -0
- package/src/media-text/deprecated.jsx +3 -3
- package/src/media-text/edit.jsx +48 -3
- package/src/media-text/image-fill.js +2 -2
- package/src/media-text/media-container.jsx +1 -1
- package/src/navigation/edit/index.jsx +1 -1
- package/src/navigation/edit/menu-inspector-controls.jsx +2 -2
- package/src/navigation/edit/overlay-template-part-selector.jsx +3 -3
- package/src/navigation/edit/responsive-wrapper.jsx +1 -1
- package/src/navigation/edit/use-generate-default-navigation-title.js +2 -2
- package/src/navigation/editor.scss +1 -0
- package/src/navigation/index.php +12 -0
- package/src/navigation/style.scss +1 -1
- package/src/navigation/test/use-navigation-menu.jsdom.test.js +6 -28
- package/src/navigation/test/view.jsdom.test.js +23 -0
- package/src/navigation/view.js +9 -6
- package/src/navigation-link/edit.jsx +1 -1
- package/src/navigation-link/shared/invalid-draft-display.jsx +2 -2
- package/src/navigation-link/test/__snapshots__/hooks.jsdom.test.js.snap +41 -11
- package/src/navigation-submenu/edit.jsx +1 -1
- package/src/paragraph/README.md +1 -0
- package/src/paragraph/block.json +1 -0
- package/src/paragraph/edit.jsx +1 -1
- package/src/paragraph/index.js +7 -0
- package/src/pattern/index.php +2 -2
- package/src/playlist/edit.jsx +6 -4
- package/src/playlist-track/test/edit.jsdom.test.jsx +2 -3
- package/src/post-author/edit.jsx +2 -2
- package/src/post-author-name/edit.jsx +1 -1
- package/src/post-content/README.md +1 -0
- package/src/post-content/block.json +1 -0
- package/src/post-date/edit.jsx +2 -2
- package/src/post-excerpt/README.md +1 -0
- package/src/post-excerpt/block.json +1 -0
- package/src/post-excerpt/edit.jsx +1 -1
- package/src/post-featured-image/edit.jsx +2 -2
- package/src/post-navigation-link/edit.jsx +4 -4
- package/src/post-time-to-read/edit.jsx +2 -2
- package/src/post-title/style.scss +2 -3
- package/src/pullquote/deprecated.jsx +1 -1
- package/src/query/deprecated.jsx +1 -1
- package/src/query/edit/inspector-controls/index.jsx +4 -4
- package/src/query/edit/inspector-controls/order-control.jsx +2 -2
- package/src/query/edit/inspector-controls/sticky-control.jsx +2 -2
- package/src/query/view.js +6 -9
- package/src/query-pagination/editor.scss +0 -3
- package/src/query-title/use-archive-label.js +1 -1
- package/src/quote/deprecated.jsx +2 -2
- package/src/quote/transforms.js +3 -3
- package/src/search/edit.jsx +6 -6
- package/src/search/theme.scss +1 -1
- package/src/separator/edit.jsx +7 -4
- package/src/social-links/edit.jsx +2 -2
- package/src/table/state.js +1 -1
- package/src/table-of-contents/edit.jsx +6 -6
- package/src/table-of-contents/utils.ts +2 -2
- package/src/tabs/use-tab-actions.js +1 -1
- package/src/tag-cloud/edit.jsx +2 -2
- package/src/template-part/edit/advanced-controls.jsx +5 -2
- package/src/template-part/edit/import-controls.jsx +2 -2
- package/src/template-part/edit/index.jsx +2 -2
- package/src/template-part/edit/inner-blocks.jsx +1 -1
- package/src/template-part/edit/placeholder.jsx +2 -2
- package/src/term-count/use-term-count.js +1 -1
- package/src/term-description/use-term-description.js +1 -1
- package/src/term-name/use-term-name.js +1 -1
- package/src/terms-query/edit/inspector-controls/index.jsx +2 -2
- package/src/terms-query/edit/inspector-controls/inherit-control.jsx +1 -1
- package/src/terms-query/edit/inspector-controls/order-control.jsx +2 -2
- package/src/terms-query/edit/inspector-controls/taxonomy-control.jsx +2 -2
- package/src/utils/hooks.js +1 -1
- package/src/utils/media-control.jsx +16 -10
- package/src/utils/poster-image.jsx +2 -2
- package/src/utils/test/waveform-player.jsdom.test.jsx +36 -38
- package/src/utils/test/{waveform-utils.jsdom.test.js → waveform-utils.browser.test.js} +64 -44
- package/src/verse/README.md +1 -0
- package/src/verse/block.json +1 -0
- package/src/verse/style.scss +2 -2
- package/src/video/edit-common-settings.jsx +3 -3
- package/src/video/tracks-editor.jsx +2 -2
- package/build/gallery/flex-styles.cjs.map +0 -7
- package/build-module/gallery/flex-styles.mjs.map +0 -7
- package/src/gallery/flex-styles.js +0 -99
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 11.0.1-next.0 (2026-09-17)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- Math: Read the LaTeX source from the `<annotation>` inside the saved `<math>` instead of the block comment, so `&` and `<` survive `wp_kses` for users without `unfiltered_html`. Input that cannot be rendered is saved as an annotation-only `<semantics>`, which browsers display as the source text ([#82987](https://github.com/WordPress/gutenberg/pull/82987)).
|
|
10
|
+
- Image: Inject the lightbox trigger with a literal string replacement instead of `preg_replace`, so `$` and `\` sequences in author-controlled image attributes (such as a price in the alt text) are no longer interpreted as regex backreferences and silently removed ([#79369](https://github.com/WordPress/gutenberg/pull/79369)).
|
|
11
|
+
- Cover: Grow the block with its content in Safari when an aspect ratio is set, instead of clipping the overflow. WebKit locks the box to the ratio where other engines let content expand it ([#70152](https://github.com/WordPress/gutenberg/pull/70152)).
|
|
12
|
+
- Query Pagination: Remove the editor-only `margin: 0` override on the block wrapper so the parent layout's block gap applies in the canvas as it does on the front end ([#82399](https://github.com/WordPress/gutenberg/pull/82399)).
|
|
13
|
+
- Navigation: Reset the submenu detection for each rendered block. Once a Navigation with a submenu rendered, every Navigation rendered afterwards in the same request was treated as having one and loaded the navigation view module it does not need ([#82366](https://github.com/WordPress/gutenberg/pull/82366)).
|
|
14
|
+
- Gallery: Skip the generated gap styles, and the unique classname that scopes them, for themes opting out of layout styles via `add_theme_support( 'disable-layout-styles' )` ([#81633](https://github.com/WordPress/gutenberg/pull/81633)).
|
|
15
|
+
|
|
16
|
+
### Internal
|
|
17
|
+
|
|
18
|
+
- Button: Replace deprecated `word-break: break-word` with `word-break: normal` and `overflow-wrap: anywhere` to clear the Stylelint suppression ([#82854](https://github.com/WordPress/gutenberg/pull/82854)).
|
|
19
|
+
|
|
5
20
|
## 11.0.0 (2026-09-10)
|
|
6
21
|
|
|
7
22
|
### Breaking Changes
|
|
@@ -13,9 +28,11 @@
|
|
|
13
28
|
- Math: Declare `interactivity.clientNavigation` support. The block's front end output is static markup, and without the declaration a Math block inside a Query block forced full page reloads on pagination ([#82248](https://github.com/WordPress/gutenberg/pull/82248)).
|
|
14
29
|
- Paragraph, List, Heading, Preformatted, Columns, Group, Template Part: Read the default padding these blocks add when they have a background color from the `--wp--style--block-background-padding` custom property, so themes can change or remove it ([#82024](https://github.com/WordPress/gutenberg/pull/82024)).
|
|
15
30
|
- Query: Show a snackbar notice instead of a blocking modal when "Reload full page" is turned on automatically because a block inside the Query block doesn't support client-side navigation ([#82246](https://github.com/WordPress/gutenberg/pull/82246)).
|
|
31
|
+
- Gallery: Support viewport-specific aspect ratios, in every Gallery layout and in dynamic galleries. ([#82233](https://github.com/WordPress/gutenberg/pull/82233))
|
|
16
32
|
|
|
17
33
|
### Bug Fixes
|
|
18
34
|
|
|
35
|
+
- Navigation: Give the block appender an explicit width so it renders square, matching the appender in other container blocks ([#82718](https://github.com/WordPress/gutenberg/pull/82718)).
|
|
19
36
|
- Footnotes: Prefix newly created footnote IDs with `fn-` so they always start with a letter. A bare UUID often starts with a digit, and an ID that does is not a valid CSS identifier, so `querySelector( '#' + id )` threw and `#id` style rules never matched. Existing footnotes keep their IDs ([#82398](https://github.com/WordPress/gutenberg/pull/82398)).
|
|
20
37
|
- Navigation: Restore `flex-grow` on the menu container in the editor, where the visually hidden menu description breaks the `:only-child` selector the front end relies on, so the "Space between" and other justification settings apply in the canvas as they do on the front end ([#78447](https://github.com/WordPress/gutenberg/pull/78447)).
|
|
21
38
|
- Image: Fix cropped galleries rendering images at their natural height in the editor canvas. The baseline inline `height: auto` is no longer emitted for images inside a cropped gallery, so the gallery's own cropping CSS applies ([#82318](https://github.com/WordPress/gutenberg/pull/82318)).
|
|
@@ -58,6 +75,7 @@
|
|
|
58
75
|
- Columns: Preserve individual Column attributes supported by Group, including styles and layouts, when transforming to Row or Grid.
|
|
59
76
|
- Gallery: Don't offer the Image and Grid transforms while the block is in dynamic mode, where it has no inner blocks to convert ([#82009](https://github.com/WordPress/gutenberg/pull/82009)).
|
|
60
77
|
- Icon: Apply only padding to the inner SVG in the editor, so margin is no longer applied twice compared to the front end ([#81292](https://github.com/WordPress/gutenberg/pull/81292)).
|
|
78
|
+
- Playlist: Prevent track selector fallback values from triggering `useSelect` stability warnings.
|
|
61
79
|
- Playlist: Attach the inner block drop zone to the track list, so Playlist Track blocks show insertion markers while being reordered.
|
|
62
80
|
- Playlist Track: Hide the Title and Replace audio controls when multiple tracks are selected.
|
|
63
81
|
- Playlist Track: Mark track media fields as content so toolbar inserters add an empty track instead of duplicating the selected track.
|
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ registerCoreBlocks();
|
|
|
30
30
|
|
|
31
31
|
_Parameters_
|
|
32
32
|
|
|
33
|
-
-
|
|
33
|
+
- _blocks_ `Array`: An optional array of the core blocks being registered.
|
|
34
34
|
|
|
35
35
|
<!-- END TOKEN(Autogenerated API docs) -->
|
|
36
36
|
|
|
@@ -125,9 +125,9 @@ To find out more about contributing to this package or Gutenberg as a whole, ple
|
|
|
125
125
|
|
|
126
126
|
All PHP function names declared within the subdirectories of the `packages/block-library/src/` directory should start with one of the following prefixes:
|
|
127
127
|
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
128
|
+
- `block_core_<directory_name>`
|
|
129
|
+
- `render_block_core_<directory_name>`
|
|
130
|
+
- `register_block_core_<directory_name>`
|
|
131
131
|
|
|
132
132
|
In this context, `<directory_name>` represents the name of the directory where the corresponding `.php` file is located.
|
|
133
133
|
The directory name is converted to lowercase, and any characters except for letters and digits are replaced with underscores.
|
|
@@ -136,9 +136,9 @@ The directory name is converted to lowercase, and any characters except for lett
|
|
|
136
136
|
|
|
137
137
|
For the PHP functions declared in the `packages/block-library/src/my-block/index.php` file, the correct prefixes would be:
|
|
138
138
|
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
-
|
|
139
|
+
- `block_core_my_block`
|
|
140
|
+
- `render_block_core_my_block`
|
|
141
|
+
- `register_block_core_my_block`
|
|
142
142
|
|
|
143
143
|
#### Using plugin-specific prefixes/suffixes
|
|
144
144
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/archives/edit.jsx"],
|
|
4
|
-
"sourcesContent": ["import {\n\tToggleControl,\n\tSelectControl,\n\tSpinner,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport { useServerSideRender } from '@wordpress/server-side-render';\nimport { useDisabled } from '@wordpress/compose';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport HtmlRenderer from '../utils/html-renderer';\n\nexport default function ArchivesEdit( { attributes, setAttributes, name } ) {\n\tconst { showLabel, showPostCounts, displayAsDropdown, type } = attributes;\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { content, status, error } = useServerSideRender( {\n\t\tattributes,\n\t\tskipBlockSupportAttributes: true,\n\t\tblock: name,\n\t} );\n\n\tconst disabledRef = useDisabled();\n\tconst blockProps = useBlockProps( { ref: disabledRef } );\n\n\treturn (\n\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\tdisplayAsDropdown: false,\n\t\t\t\t\t\t\tshowLabel: true,\n\t\t\t\t\t\t\tshowPostCounts: false,\n\t\t\t\t\t\t\ttype: 'monthly',\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<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => displayAsDropdown }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAsDropdown: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayAsDropdown: ! displayAsDropdown,\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</ToolsPanelItem>\n\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => ! showLabel }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabel: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\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</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => showPostCounts }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showPostCounts: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowPostCounts: ! showPostCounts,\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</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Group by' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => type !== 'monthly' }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { type: 'monthly' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["ToolsPanel", "ToolsPanelItem", "HtmlRenderer"]
|
|
4
|
+
"sourcesContent": ["import {\n\tToggleControl,\n\tSelectControl as WCSelectControl,\n\tSpinner,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport { useServerSideRender } from '@wordpress/server-side-render';\nimport { useDisabled } from '@wordpress/compose';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport HtmlRenderer from '../utils/html-renderer';\n\nexport default function ArchivesEdit( { attributes, setAttributes, name } ) {\n\tconst { showLabel, showPostCounts, displayAsDropdown, type } = attributes;\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { content, status, error } = useServerSideRender( {\n\t\tattributes,\n\t\tskipBlockSupportAttributes: true,\n\t\tblock: name,\n\t} );\n\n\tconst disabledRef = useDisabled();\n\tconst blockProps = useBlockProps( { ref: disabledRef } );\n\n\treturn (\n\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\tdisplayAsDropdown: false,\n\t\t\t\t\t\t\tshowLabel: true,\n\t\t\t\t\t\t\tshowPostCounts: false,\n\t\t\t\t\t\t\ttype: 'monthly',\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<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => displayAsDropdown }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAsDropdown: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayAsDropdown: ! displayAsDropdown,\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</ToolsPanelItem>\n\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => ! showLabel }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabel: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\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</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => showPostCounts }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showPostCounts: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowPostCounts: ! showPostCounts,\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</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Group by' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => type !== 'monthly' }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { type: 'monthly' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<WCSelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Group by' ) }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'Year' ), value: 'yearly' },\n\t\t\t\t\t\t\t\t{ label: __( 'Month' ), value: 'monthly' },\n\t\t\t\t\t\t\t\t{ label: __( 'Week' ), value: 'weekly' },\n\t\t\t\t\t\t\t\t{ label: __( 'Day' ), value: 'daily' },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tvalue={ type }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { type: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ status === 'loading' && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ status === 'error' && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: error message returned when rendering the block. */\n\t\t\t\t\t\t\t__( 'Error: %s' ),\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ status === 'success' && (\n\t\t\t\t<HtmlRenderer wrapperProps={ blockProps } html={ content } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["ToolsPanel", "ToolsPanelItem", "WCSelectControl", "HtmlRenderer"]
|
|
7
7
|
}
|
package/build/audio/edit.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/audio/edit.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { Text } from '@wordpress/ui';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport {\n\tuseUploadMediaFromBlobURL,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\n/**\n * Renders the `core/audio` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.attributes Block attributes: `blob`, `src`, `caption`, `id`, `autoplay`, `loop` and `preload`.\n * @param {string} props.className Class name generated for the block.\n * @param {Function} props.setAttributes Callback for updating block attributes.\n * @param {Function} props.onReplace Callback for replacing this block with other blocks.\n * @param {boolean} props.isSelected Whether the block is the only selected block.\n * @param {Function} props.insertBlocksAfter Callback for inserting blocks after this one.\n *\n * @return {React.JSX.Element} React element.\n */\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected: isSingleSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\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: onSelectAudio,\n\t\tonError: onUploadError,\n\t} );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\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: newSrc },\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( { src: newSrc, id: undefined, blob: undefined } );\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\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed 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\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, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\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\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\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/>\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<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tonReset={ () => onSelectAudio( undefined ) }\n\t\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\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\tloop: false,\n\t\t\t\t\t\t\tpreload: 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<Text className=\"wp-block-audio__autoplay-help-text\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Most browsers block audio until a visitor interacts with the page, so autoplay often won’t work, especially on mobile. Unexpected sound can also be disruptive for screen reader users.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! autoplay }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tautoplay: false,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\t\tchecked={ !! autoplay }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! loop }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tloop: false,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\t\tchecked={ !! loop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! preload }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["noticesStore", "clsx", "icon", "ToolsPanel", "ToolsPanelItem"]
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tSelectControl as WCSelectControl,\n\tSpinner,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { Text } from '@wordpress/ui';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport {\n\tuseUploadMediaFromBlobURL,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\n/**\n * Renders the `core/audio` block on the editor.\n *\n * @param {Object} props React props.\n * @param {Object} props.attributes Block attributes: `blob`, `src`, `caption`, `id`, `autoplay`, `loop` and `preload`.\n * @param {string} props.className Class name generated for the block.\n * @param {Function} props.setAttributes Callback for updating block attributes.\n * @param {Function} props.onReplace Callback for replacing this block with other blocks.\n * @param {boolean} props.isSelected Whether the block is the only selected block.\n * @param {Function} props.insertBlocksAfter Callback for inserting blocks after this one.\n *\n * @return {React.JSX.Element} React element.\n */\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected: isSingleSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\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: onSelectAudio,\n\t\tonError: onUploadError,\n\t} );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\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: newSrc },\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( { src: newSrc, id: undefined, blob: undefined } );\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\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed 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\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, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\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\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\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/>\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<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tonReset={ () => onSelectAudio( undefined ) }\n\t\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\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\tloop: false,\n\t\t\t\t\t\t\tpreload: 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<Text className=\"wp-block-audio__autoplay-help-text\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Most browsers block audio until a visitor interacts with the page, so autoplay often won’t work, especially on mobile. Unexpected sound can also be disruptive for screen reader users.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! autoplay }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tautoplay: false,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\t\tchecked={ !! autoplay }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! loop }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tloop: false,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\t\tchecked={ !! loop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! preload }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<WCSelectControl\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Preload',\n\t\t\t\t\t\t\t\t'noun; Audio block parameter'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t<audio\n\t\t\t\t\tcontrols=\"controls\"\n\t\t\t\t\tinert={ ! isSingleSelected ? 'true' : undefined }\n\t\t\t\t\tsrc={ src ?? temporaryURL }\n\t\t\t\t/>\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={ __( 'Audio 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 AudioEdit;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["noticesStore", "clsx", "icon", "ToolsPanel", "ToolsPanelItem", "WCSelectControl"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/avatar/hooks.js"],
|
|
4
|
-
"sourcesContent": ["import { store as coreStore, useEntityProp } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useDefaultAvatar } from '../utils/hooks';\n\nfunction getAvatarSizes( sizes ) {\n\tconst minSize = sizes ? sizes[ 0 ] : 24;\n\tconst maxSize = sizes ? sizes[ sizes.length - 1 ] : 96;\n\tconst maxSizeBuffer = Math.floor( maxSize * 2.5 );\n\treturn {\n\t\tminSize,\n\t\tmaxSize: maxSizeBuffer,\n\t};\n}\n\nexport function useCommentAvatar( { commentId } ) {\n\tconst [ avatars ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_avatar_urls',\n\t\tcommentId\n\t);\n\n\tconst [ authorName ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_name',\n\t\tcommentId\n\t);\n\tconst avatarUrls = avatars ? Object.values( avatars ) : null;\n\tconst sizes = avatars ? Object.keys( avatars ) : null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\talt: authorName\n\t\t\t? // translators: %s: Author name.\n\t\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAkD;AAClD,kBAA4B;AAC5B,kBAA0B;AAC1B,mBAAiC;AAEjC,SAAS,eAAgB,OAAQ;AAChC,QAAM,UAAU,QAAQ,MAAO,CAAE,IAAI;AACrC,QAAM,UAAU,QAAQ,MAAO,MAAM,SAAS,CAAE,IAAI;AACpD,QAAM,gBAAgB,KAAK,MAAO,UAAU,GAAI;AAChD,SAAO;AAAA,IACN;AAAA,IACA,SAAS;AAAA,EACV;AACD;AAEO,SAAS,iBAAkB,EAAE,UAAU,GAAI;AACjD,QAAM,CAAE,OAAQ,QAAI;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,QAAM,CAAE,UAAW,QAAI;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,QAAM,aAAa,UAAU,OAAO,OAAQ,OAAQ,IAAI;AACxD,QAAM,QAAQ,UAAU,OAAO,KAAM,OAAQ,IAAI;AACjD,QAAM,EAAE,SAAS,QAAQ,IAAI,eAAgB,KAAM;AACnD,QAAM,oBAAgB,+BAAiB;AACvC,SAAO;AAAA,IACN,KAAK,aAAa,WAAY,WAAW,SAAS,CAAE,IAAI;AAAA,IACxD;AAAA,IACA;AAAA,IACA,KAAK;AAAA;AAAA,
|
|
4
|
+
"sourcesContent": ["import { store as coreStore, useEntityProp } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useDefaultAvatar } from '../utils/hooks';\n\nfunction getAvatarSizes( sizes ) {\n\tconst minSize = sizes ? sizes[ 0 ] : 24;\n\tconst maxSize = sizes ? sizes[ sizes.length - 1 ] : 96;\n\tconst maxSizeBuffer = Math.floor( maxSize * 2.5 );\n\treturn {\n\t\tminSize,\n\t\tmaxSize: maxSizeBuffer,\n\t};\n}\n\nexport function useCommentAvatar( { commentId } ) {\n\tconst [ avatars ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_avatar_urls',\n\t\tcommentId\n\t);\n\n\tconst [ authorName ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_name',\n\t\tcommentId\n\t);\n\tconst avatarUrls = avatars ? Object.values( avatars ) : null;\n\tconst sizes = avatars ? Object.keys( avatars ) : null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\talt: authorName\n\t\t\t? // translators: %s: Author name.\n\t\t\t\tsprintf( __( '%s Avatar' ), authorName )\n\t\t\t: __( 'Default Avatar' ),\n\t};\n}\n\nexport function useUserAvatar( { userId, postId, postType } ) {\n\tconst { authorDetails } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser } = select( coreStore );\n\t\t\tif ( userId ) {\n\t\t\t\treturn {\n\t\t\t\t\tauthorDetails: getUser( userId ),\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, userId ]\n\t);\n\tconst avatarUrls = authorDetails?.avatar_urls\n\t\t? Object.values( authorDetails.avatar_urls )\n\t\t: null;\n\tconst sizes = authorDetails?.avatar_urls\n\t\t? Object.keys( authorDetails.avatar_urls )\n\t\t: null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\talt: authorDetails\n\t\t\t? // translators: %s: Author name.\n\t\t\t\tsprintf( __( '%s Avatar' ), authorDetails?.name )\n\t\t\t: __( 'Default Avatar' ),\n\t};\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAkD;AAClD,kBAA4B;AAC5B,kBAA0B;AAC1B,mBAAiC;AAEjC,SAAS,eAAgB,OAAQ;AAChC,QAAM,UAAU,QAAQ,MAAO,CAAE,IAAI;AACrC,QAAM,UAAU,QAAQ,MAAO,MAAM,SAAS,CAAE,IAAI;AACpD,QAAM,gBAAgB,KAAK,MAAO,UAAU,GAAI;AAChD,SAAO;AAAA,IACN;AAAA,IACA,SAAS;AAAA,EACV;AACD;AAEO,SAAS,iBAAkB,EAAE,UAAU,GAAI;AACjD,QAAM,CAAE,OAAQ,QAAI;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,QAAM,CAAE,UAAW,QAAI;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,QAAM,aAAa,UAAU,OAAO,OAAQ,OAAQ,IAAI;AACxD,QAAM,QAAQ,UAAU,OAAO,KAAM,OAAQ,IAAI;AACjD,QAAM,EAAE,SAAS,QAAQ,IAAI,eAAgB,KAAM;AACnD,QAAM,oBAAgB,+BAAiB;AACvC,SAAO;AAAA,IACN,KAAK,aAAa,WAAY,WAAW,SAAS,CAAE,IAAI;AAAA,IACxD;AAAA,IACA;AAAA,IACA,KAAK;AAAA;AAAA,UAEH,yBAAS,gBAAI,WAAY,GAAG,UAAW;AAAA,YACtC,gBAAI,gBAAiB;AAAA,EACzB;AACD;AAEO,SAAS,cAAe,EAAE,QAAQ,QAAQ,SAAS,GAAI;AAC7D,QAAM,EAAE,cAAc,QAAI;AAAA,IACzB,CAAE,WAAY;AACb,YAAM,EAAE,uBAAuB,QAAQ,IAAI,OAAQ,iBAAAA,KAAU;AAC7D,UAAK,QAAS;AACb,eAAO;AAAA,UACN,eAAe,QAAS,MAAO;AAAA,QAChC;AAAA,MACD;AACA,YAAM,YAAY;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,MACD,GAAG;AAEH,aAAO;AAAA,QACN,eAAe,YAAY,QAAS,SAAU,IAAI;AAAA,MACnD;AAAA,IACD;AAAA,IACA,CAAE,UAAU,QAAQ,MAAO;AAAA,EAC5B;AACA,QAAM,aAAa,eAAe,cAC/B,OAAO,OAAQ,cAAc,WAAY,IACzC;AACH,QAAM,QAAQ,eAAe,cAC1B,OAAO,KAAM,cAAc,WAAY,IACvC;AACH,QAAM,EAAE,SAAS,QAAQ,IAAI,eAAgB,KAAM;AACnD,QAAM,oBAAgB,+BAAiB;AACvC,SAAO;AAAA,IACN,KAAK,aAAa,WAAY,WAAW,SAAS,CAAE,IAAI;AAAA,IACxD;AAAA,IACA;AAAA,IACA,KAAK;AAAA;AAAA,UAEH,yBAAS,gBAAI,WAAY,GAAG,eAAe,IAAK;AAAA,YAC/C,gBAAI,gBAAiB;AAAA,EACzB;AACD;",
|
|
6
6
|
"names": ["coreStore"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/button/edit.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseMemo,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport { TextControl, ToolbarButton, Popover } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tLinkControl,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalGetDimensionsClassesAndStyles as useDimensionsProps,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tuseSettings,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n\tgetBlockBindingsSource,\n} from '@wordpress/blocks';\nimport {\n\tuseMergeRefs,\n\tuseRefEffect,\n\tprivateApis as composePrivateApis,\n} from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Link } from '@wordpress/ui';\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { unlock } from '../lock-unlock';\nimport useDeprecatedTextAlign from '../utils/deprecated-text-align-attributes';\nimport { getWidthClasses, isPercentageWidth } from './utils';\n\nconst { HTMLElementControl } = unlock( blockEditorPrivateApis );\nconst { subscribeDelegatedListener } = unlock( composePrivateApis );\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( clientId ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlock,\n\t\tgetBlockAttributes,\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t} = useSelect( blockEditorStore );\n\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { text } = getBlockAttributes( clientId ) ?? {};\n\t\t\tif ( text?.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\t// Capture phase so we run before writing-flow's ancestor-bubble\n\t\t// keydown handlers that gate on `event.defaultPrevented`.\n\t\treturn subscribeDelegatedListener(\n\t\t\telement,\n\t\t\t'keydown',\n\t\t\tonKeyDown,\n\t\t\ttrue\n\t\t);\n\t}, [] );\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t\tcontext,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\tmetadata,\n\t} = attributes;\n\tconst width = style?.dimensions?.width;\n\n\tuseDeprecatedTextAlign( props );\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst dimensionsProps = useDimensionsProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tconst {\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tlockUrlControls = false,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst _settings = select( blockEditorStore ).getSettings();\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcreatePageEntity: _settings.__experimentalCreatePageEntity,\n\t\t\t\tuserCanCreatePages: _settings.__experimentalUserCanCreatePages,\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSelected, metadata?.bindings?.url ]\n\t);\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await createPageEntity( {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: page.type,\n\t\t\ttitle: page.title.rendered,\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tfunction createButtonText( searchTerm ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t__( 'Create page: <mark>%s</mark>' ),\n\t\t\t\tsearchTerm\n\t\t\t),\n\t\t\t{ mark: <mark /> }\n\t\t);\n\t}\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( clientId );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst [ fluidTypographySettings, layout, dimensionSizes ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout',\n\t\t'dimensions.dimensionSizes'\n\t);\n\tconst dimensionPresets = useMemo( () => {\n\t\tif ( ! dimensionSizes ) {\n\t\t\treturn [];\n\t\t}\n\t\treturn [\n\t\t\t...( dimensionSizes?.custom ?? [] ),\n\t\t\t...( dimensionSizes?.theme ?? [] ),\n\t\t\t...( dimensionSizes?.default ?? [] ),\n\t\t];\n\t}, [ dimensionSizes ] );\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\n\t// Resolve preset dimension references to their actual values.\n\tconst resolvedWidth = useMemo( () => {\n\t\tif ( ! width ) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst presetPrefix = 'var:preset|dimension|';\n\t\tif ( width.startsWith( presetPrefix ) ) {\n\t\t\tconst slug = width.slice( presetPrefix.length );\n\t\t\tconst preset = dimensionPresets?.find( ( p ) => p.slug === slug );\n\t\t\treturn preset?.size ?? width;\n\t\t}\n\t\treturn width;\n\t}, [ width, dimensionPresets ] );\n\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst hasBlockControls =\n\t\thasNonContentControls || ( isLinkTag && ! lockUrlControls );\n\tconst classes = clsx(\n\t\tblockProps.className,\n\t\tgetWidthClasses( resolvedWidth )\n\t);\n\n\tconst widthStyle = useMemo( () => {\n\t\tif ( ! width ) {\n\t\t\treturn {};\n\t\t}\n\t\tif ( isPercentageWidth( resolvedWidth ) ) {\n\t\t\treturn {\n\t\t\t\t'--wp--block-button--width': parseFloat( resolvedWidth ),\n\t\t\t};\n\t\t}\n\t\treturn dimensionsProps.style;\n\t}, [ width, resolvedWidth, dimensionsProps.style ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classes }\n\t\t\t\tstyle={ { ...blockProps.style, ...widthStyle } }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\ttypographyProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\t\t\t\tblockProps.style.fontSize,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t\t...typographyProps.style,\n\t\t\t\t\t\twritingMode: undefined,\n\t\t\t\t\t} }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasBlockControls && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t{ isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ ! isURLSet ? link : linkOff }\n\t\t\t\t\t\t\ttitle={ ! isURLSet ? __( 'Link' ) : __( 'Unlink' ) }\n\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t! isURLSet\n\t\t\t\t\t\t\t\t\t? displayShortcut.primary( 'k' )\n\t\t\t\t\t\t\t\t\t: displayShortcut.primaryShift( 'k' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ ! isURLSet ? startEditing : unlink }\n\t\t\t\t\t\t\tisActive={ isURLSet }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName=\"__unstable-block-tools-after\"\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\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\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t\tcreateSuggestion={\n\t\t\t\t\t\t\t\tcreatePageEntity && handleCreate\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreatePages }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={ createButtonText }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<HTMLElementControl\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<a>)' ), value: 'a' },\n\t\t\t\t\t\t{ label: '<button>', value: 'button' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Link relation' ) }\n\t\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\topenInNewTab\n\t\t\t\t\t\t\t\t\t\thref=\"https://developer.mozilla.org/docs/Web/HTML/Attributes/rel\"\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\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,kBAA4B;AAC5B,qBAMO;AACP,wBAAoD;AACpD,0BAiBO;AACP,sBAAwD;AACxD,mBAA8B;AAC9B,oBAKO;AACP,qBAIO;AACP,kBAAuC;AACvC,gBAAqB;AACrB,uBAA6C;AAC7C,yCAAyC;AACzC,+BAA4B;AAC5B,yBAAuB;AACvB,8CAAmC;AACnC,mBAAmD;AA4LxC;AA1LX,IAAM,EAAE,mBAAmB,QAAI,2BAAQ,oBAAAA,WAAuB;AAC9D,IAAM,EAAE,2BAA2B,QAAI,2BAAQ,eAAAC,WAAmB;AAElE,IAAM,gBAAgB;AAAA,EACrB,GAAG,gCAAY;AAAA,EACf;AAAA,IACC,IAAI;AAAA,IACJ,WAAO,gBAAI,kBAAmB;AAAA,EAC/B;AACD;AAEA,SAAS,SAAU,UAAW;AAC7B,QAAM,EAAE,eAAe,gBAAgB,QAAI,yBAAa,oBAAAC,KAAiB;AACzE,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,uBAAW,oBAAAA,KAAiB;AAEhC,aAAO,6BAAc,CAAE,YAAa;AACnC,aAAS,UAAW,OAAQ;AAC3B,UAAK,MAAM,oBAAoB,MAAM,YAAY,uBAAQ;AACxD;AAAA,MACD;AACA,YAAM,EAAE,KAAK,IAAI,mBAAoB,QAAS,KAAK,CAAC;AACpD,UAAK,MAAM,QAAS;AACnB;AAAA,MACD;AACA,YAAM,eAAe;AACrB,YAAM,qBAAqB;AAAA,QAC1B,qBAAsB,QAAS;AAAA,MAChC;AACA,YAAM,aAAa,cAAe,QAAS;AAC3C,YAAM,WAAO,0BAAY;AAAA,QACxB,GAAG;AAAA,QACH,aAAa,mBAAmB,YAAY;AAAA,UAC3C;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAE;AACF,YAAM,aAAS,+BAAa,mCAAoB,CAAE;AAClD,YAAM,QAAQ,mBAAmB,YAAY;AAAA,QAC5C,aAAa;AAAA,MACd;AACA,YAAM,OAAO,MAAM,SAChB;AAAA,YACA,0BAAY;AAAA,UACX,GAAG;AAAA,UACH,aAAa;AAAA,QACd,CAAE;AAAA,
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseMemo,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport { TextControl, ToolbarButton, Popover } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tLinkControl,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalGetDimensionsClassesAndStyles as useDimensionsProps,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tuseSettings,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n\tgetBlockBindingsSource,\n} from '@wordpress/blocks';\nimport {\n\tuseMergeRefs,\n\tuseRefEffect,\n\tprivateApis as composePrivateApis,\n} from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Link } from '@wordpress/ui';\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { unlock } from '../lock-unlock';\nimport useDeprecatedTextAlign from '../utils/deprecated-text-align-attributes';\nimport { getWidthClasses, isPercentageWidth } from './utils';\n\nconst { HTMLElementControl } = unlock( blockEditorPrivateApis );\nconst { subscribeDelegatedListener } = unlock( composePrivateApis );\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( clientId ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlock,\n\t\tgetBlockAttributes,\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t} = useSelect( blockEditorStore );\n\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { text } = getBlockAttributes( clientId ) ?? {};\n\t\t\tif ( text?.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\t// Capture phase so we run before writing-flow's ancestor-bubble\n\t\t// keydown handlers that gate on `event.defaultPrevented`.\n\t\treturn subscribeDelegatedListener(\n\t\t\telement,\n\t\t\t'keydown',\n\t\t\tonKeyDown,\n\t\t\ttrue\n\t\t);\n\t}, [] );\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t\tcontext,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\tmetadata,\n\t} = attributes;\n\tconst width = style?.dimensions?.width;\n\n\tuseDeprecatedTextAlign( props );\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst dimensionsProps = useDimensionsProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tconst {\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tlockUrlControls = false,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst _settings = select( blockEditorStore ).getSettings();\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcreatePageEntity: _settings.__experimentalCreatePageEntity,\n\t\t\t\tuserCanCreatePages: _settings.__experimentalUserCanCreatePages,\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSelected, metadata?.bindings?.url ]\n\t);\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await createPageEntity( {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: page.type,\n\t\t\ttitle: page.title.rendered,\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tfunction createButtonText( searchTerm ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t__( 'Create page: <mark>%s</mark>' ),\n\t\t\t\tsearchTerm\n\t\t\t),\n\t\t\t{ mark: <mark /> }\n\t\t);\n\t}\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( clientId );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst [ fluidTypographySettings, layout, dimensionSizes ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout',\n\t\t'dimensions.dimensionSizes'\n\t);\n\tconst dimensionPresets = useMemo( () => {\n\t\tif ( ! dimensionSizes ) {\n\t\t\treturn [];\n\t\t}\n\t\treturn [\n\t\t\t...( dimensionSizes?.custom ?? [] ),\n\t\t\t...( dimensionSizes?.theme ?? [] ),\n\t\t\t...( dimensionSizes?.default ?? [] ),\n\t\t];\n\t}, [ dimensionSizes ] );\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\n\t// Resolve preset dimension references to their actual values.\n\tconst resolvedWidth = useMemo( () => {\n\t\tif ( ! width ) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst presetPrefix = 'var:preset|dimension|';\n\t\tif ( width.startsWith( presetPrefix ) ) {\n\t\t\tconst slug = width.slice( presetPrefix.length );\n\t\t\tconst preset = dimensionPresets?.find( ( p ) => p.slug === slug );\n\t\t\treturn preset?.size ?? width;\n\t\t}\n\t\treturn width;\n\t}, [ width, dimensionPresets ] );\n\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst hasBlockControls =\n\t\thasNonContentControls || ( isLinkTag && ! lockUrlControls );\n\tconst classes = clsx(\n\t\tblockProps.className,\n\t\tgetWidthClasses( resolvedWidth )\n\t);\n\n\tconst widthStyle = useMemo( () => {\n\t\tif ( ! width ) {\n\t\t\treturn {};\n\t\t}\n\t\tif ( isPercentageWidth( resolvedWidth ) ) {\n\t\t\treturn {\n\t\t\t\t'--wp--block-button--width': parseFloat( resolvedWidth ),\n\t\t\t};\n\t\t}\n\t\treturn dimensionsProps.style;\n\t}, [ width, resolvedWidth, dimensionsProps.style ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classes }\n\t\t\t\tstyle={ { ...blockProps.style, ...widthStyle } }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\ttypographyProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\t\t\t\tblockProps.style.fontSize,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t\t...typographyProps.style,\n\t\t\t\t\t\twritingMode: undefined,\n\t\t\t\t\t} }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasBlockControls && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t{ isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ ! isURLSet ? link : linkOff }\n\t\t\t\t\t\t\ttitle={ ! isURLSet ? __( 'Link' ) : __( 'Unlink' ) }\n\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t! isURLSet\n\t\t\t\t\t\t\t\t\t? displayShortcut.primary( 'k' )\n\t\t\t\t\t\t\t\t\t: displayShortcut.primaryShift( 'k' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ ! isURLSet ? startEditing : unlink }\n\t\t\t\t\t\t\tisActive={ isURLSet }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName=\"__unstable-block-tools-after\"\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\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\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t\tcreateSuggestion={\n\t\t\t\t\t\t\t\tcreatePageEntity && handleCreate\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreatePages }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={ createButtonText }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<HTMLElementControl\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<a>)' ), value: 'a' },\n\t\t\t\t\t\t{ label: '<button>', value: 'button' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Link relation' ) }\n\t\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\topenInNewTab\n\t\t\t\t\t\t\t\t\t\thref=\"https://developer.mozilla.org/docs/Web/HTML/Attributes/rel\"\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\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["blockEditorPrivateApis", "composePrivateApis", "blockEditorStore", "useDeprecatedTextAlign", "useBorderProps", "useColorProps", "useSpacingProps", "useShadowProps", "useDimensionsProps", "useTypographyProps", "clsx", "removeAnchorTag"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/categories/edit.jsx"],
|
|
4
|
-
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tPlaceholder,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t\tlabel,\n\t\tshowLabel,\n\t\ttaxonomy: taxonomySlug,\n\t},\n\tsetAttributes,\n\tclassName,\n\tclientId,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\n\tconst { records: allTaxonomies, isResolvingTaxonomies } = useEntityRecords(\n\t\t'root',\n\t\t'taxonomy',\n\t\t{ per_page: -1 }\n\t);\n\n\tconst taxonomies = allTaxonomies?.filter( ( t ) => t.visibility.public );\n\n\tconst taxonomy = taxonomies?.find( ( t ) => t.slug === taxonomySlug );\n\n\tconst isHierarchicalTaxonomy =\n\t\t! isResolvingTaxonomies && taxonomy?.hierarchical;\n\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( isHierarchicalTaxonomy && showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\ttaxonomySlug,\n\t\tquery\n\t);\n\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/categories/redirection-prevented/${ clientId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : decodeEntities( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn categoriesList.map( ( category ) =>\n\t\t\trenderCategoryListItem( category )\n\t\t);\n\t};\n\n\tconst renderCategoryListItem = ( category ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id } className={ `cat-item cat-item-${ id }` }>\n\t\t\t\t<a href={ link } onClick={ showRedirectionPreventedNotice }>\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t\t{ isHierarchicalTaxonomy &&\n\t\t\t\t\tshowHierarchy &&\n\t\t\t\t\t!! childCategories.length && (\n\t\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ showLabel ? (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-categories__label\"\n\t\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\t\tplaceholder={ taxonomy?.name }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/label-has-associated-control\n\t\t\t\t\t<VisuallyHidden render={ <label htmlFor={ selectId } /> }>\n\t\t\t\t\t\t{ label ? label : taxonomy?.name }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t\t<select id={ selectId }>\n\t\t\t\t\t<option>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: taxonomy's singular name */\n\t\t\t\t\t\t\t__( 'Select %s' ),\n\t\t\t\t\t\t\ttaxonomy?.labels?.singular_name\n\t\t\t\t\t\t) }\n\t\t\t\t\t</option>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id } className={ `level-${ level }` }>\n\t\t\t\t{ Array.from( { length: level * 3 } ).map( () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tisHierarchicalTaxonomy &&\n\t\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\tconst TagName =\n\t\t!! categories?.length && ! displayAsDropdown && ! isResolving\n\t\t\t? 'ul'\n\t\t\t: 'div';\n\n\tconst classes = clsx(\n\t\tclassName,\n\t\t`wp-block-categories-taxonomy-${ taxonomySlug }`,\n\t\t{\n\t\t\t'wp-block-categories-list':\n\t\t\t\t!! categories?.length && ! displayAsDropdown && ! isResolving,\n\t\t\t'wp-block-categories-dropdown':\n\t\t\t\t!! categories?.length && displayAsDropdown && ! isResolving,\n\t\t}\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<TagName { ...blockProps }>\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\ttaxonomy: 'category',\n\t\t\t\t\t\t\tdisplayAsDropdown: false,\n\t\t\t\t\t\t\tshowHierarchy: false,\n\t\t\t\t\t\t\tshowPostCounts: false,\n\t\t\t\t\t\t\tshowOnlyTopLevel: false,\n\t\t\t\t\t\t\tshowEmpty: false,\n\t\t\t\t\t\t\tshowLabel: true,\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{ Array.isArray( taxonomies ) && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t\treturn taxonomySlug !== 'category';\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { taxonomy: 'category' } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\t\toptions={ taxonomies.map( ( t ) => ( {\n\t\t\t\t\t\t\t\t\tlabel: t.name,\n\t\t\t\t\t\t\t\t\tvalue: t.slug,\n\t\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\t\t\tvalue={ taxonomySlug }\n\t\t\t\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\ttaxonomy: selectedTaxonomy,\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</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! displayAsDropdown }\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAsDropdown: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showLabel }\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabel: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-categories__indentation\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showLabel' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showPostCounts }\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showPostCounts: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showOnlyTopLevel }\n\t\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showOnlyTopLevel: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute(\n\t\t\t\t\t\t\t\t\t'showOnlyTopLevel'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showEmpty }\n\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showEmpty: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showHierarchy }\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHierarchy: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Terms' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>{ taxonomy.labels.no_terms }</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</TagName>\n\t);\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
6
|
-
"names": ["noticeStore", "clsx", "ToolsPanel", "ToolsPanelItem"]
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tPlaceholder,\n\tSelectControl as WCSelectControl,\n\tSpinner,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t\tlabel,\n\t\tshowLabel,\n\t\ttaxonomy: taxonomySlug,\n\t},\n\tsetAttributes,\n\tclassName,\n\tclientId,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\n\tconst { records: allTaxonomies, isResolvingTaxonomies } = useEntityRecords(\n\t\t'root',\n\t\t'taxonomy',\n\t\t{ per_page: -1 }\n\t);\n\n\tconst taxonomies = allTaxonomies?.filter( ( t ) => t.visibility.public );\n\n\tconst taxonomy = taxonomies?.find( ( t ) => t.slug === taxonomySlug );\n\n\tconst isHierarchicalTaxonomy =\n\t\t! isResolvingTaxonomies && taxonomy?.hierarchical;\n\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( isHierarchicalTaxonomy && showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\ttaxonomySlug,\n\t\tquery\n\t);\n\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/categories/redirection-prevented/${ clientId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : decodeEntities( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn categoriesList.map( ( category ) =>\n\t\t\trenderCategoryListItem( category )\n\t\t);\n\t};\n\n\tconst renderCategoryListItem = ( category ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id } className={ `cat-item cat-item-${ id }` }>\n\t\t\t\t<a href={ link } onClick={ showRedirectionPreventedNotice }>\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t\t{ isHierarchicalTaxonomy &&\n\t\t\t\t\tshowHierarchy &&\n\t\t\t\t\t!! childCategories.length && (\n\t\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ showLabel ? (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-categories__label\"\n\t\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\t\tplaceholder={ taxonomy?.name }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/label-has-associated-control\n\t\t\t\t\t<VisuallyHidden render={ <label htmlFor={ selectId } /> }>\n\t\t\t\t\t\t{ label ? label : taxonomy?.name }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t\t<select id={ selectId }>\n\t\t\t\t\t<option>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: taxonomy's singular name */\n\t\t\t\t\t\t\t__( 'Select %s' ),\n\t\t\t\t\t\t\ttaxonomy?.labels?.singular_name\n\t\t\t\t\t\t) }\n\t\t\t\t\t</option>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id } className={ `level-${ level }` }>\n\t\t\t\t{ Array.from( { length: level * 3 } ).map( () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tisHierarchicalTaxonomy &&\n\t\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\tconst TagName =\n\t\t!! categories?.length && ! displayAsDropdown && ! isResolving\n\t\t\t? 'ul'\n\t\t\t: 'div';\n\n\tconst classes = clsx(\n\t\tclassName,\n\t\t`wp-block-categories-taxonomy-${ taxonomySlug }`,\n\t\t{\n\t\t\t'wp-block-categories-list':\n\t\t\t\t!! categories?.length && ! displayAsDropdown && ! isResolving,\n\t\t\t'wp-block-categories-dropdown':\n\t\t\t\t!! categories?.length && displayAsDropdown && ! isResolving,\n\t\t}\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<TagName { ...blockProps }>\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\ttaxonomy: 'category',\n\t\t\t\t\t\t\tdisplayAsDropdown: false,\n\t\t\t\t\t\t\tshowHierarchy: false,\n\t\t\t\t\t\t\tshowPostCounts: false,\n\t\t\t\t\t\t\tshowOnlyTopLevel: false,\n\t\t\t\t\t\t\tshowEmpty: false,\n\t\t\t\t\t\t\tshowLabel: true,\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{ Array.isArray( taxonomies ) && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t\treturn taxonomySlug !== 'category';\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { taxonomy: 'category' } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<WCSelectControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\t\toptions={ taxonomies.map( ( t ) => ( {\n\t\t\t\t\t\t\t\t\tlabel: t.name,\n\t\t\t\t\t\t\t\t\tvalue: t.slug,\n\t\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\t\t\tvalue={ taxonomySlug }\n\t\t\t\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\ttaxonomy: selectedTaxonomy,\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</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! displayAsDropdown }\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAsDropdown: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showLabel }\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabel: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-categories__indentation\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showLabel' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showPostCounts }\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showPostCounts: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showOnlyTopLevel }\n\t\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showOnlyTopLevel: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute(\n\t\t\t\t\t\t\t\t\t'showOnlyTopLevel'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showEmpty }\n\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showEmpty: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showHierarchy }\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHierarchy: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Terms' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>{ taxonomy.labels.no_terms }</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</TagName>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["noticeStore", "clsx", "ToolsPanel", "ToolsPanelItem", "WCSelectControl"]
|
|
7
7
|
}
|
package/build/code/block.json
CHANGED
package/build/code/save.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/code/save.jsx"],
|
|
4
|
-
"sourcesContent": ["import { RichText, useBlockProps } from '@wordpress/block-editor';\nimport { escape } from './utils';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<pre { ...useBlockProps.save() }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"code\"\n\t\t\t\t// To do: `escape` encodes characters in shortcodes and URLs to\n\t\t\t\t// prevent embedding in PHP. Ideally checks for the code block,\n\t\t\t\t// or pre/code tags, should be made on the PHP side?\n\t\t\t\tvalue={ escape(\n\t\t\t\t\ttypeof attributes.content === 'string'\n\t\t\t\t\t\t? attributes.content\n\t\t\t\t\t\t: attributes.content.toHTMLString( {\n\t\t\t\t\t\t\t\tpreserveWhiteSpace: true,\n\t\t\t\t\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAwC;AACxC,mBAAuB;AAKpB;AAHY,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,SACC,4CAAC,SAAM,GAAG,kCAAc,KAAK,GAC5B;AAAA,IAAC,6BAAS;AAAA,IAAT;AAAA,MACA,SAAQ;AAAA,MAIR,WAAQ;AAAA,QACP,OAAO,WAAW,YAAY,WAC3B,WAAW,UACX,WAAW,QAAQ,aAAc;AAAA,UACjC,oBAAoB;AAAA,
|
|
4
|
+
"sourcesContent": ["import { RichText, useBlockProps } from '@wordpress/block-editor';\nimport { escape } from './utils';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<pre { ...useBlockProps.save() }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"code\"\n\t\t\t\t// To do: `escape` encodes characters in shortcodes and URLs to\n\t\t\t\t// prevent embedding in PHP. Ideally checks for the code block,\n\t\t\t\t// or pre/code tags, should be made on the PHP side?\n\t\t\t\tvalue={ escape(\n\t\t\t\t\ttypeof attributes.content === 'string'\n\t\t\t\t\t\t? attributes.content\n\t\t\t\t\t\t: attributes.content.toHTMLString( {\n\t\t\t\t\t\t\t\tpreserveWhiteSpace: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t) }\n\t\t\t/>\n\t\t</pre>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAwC;AACxC,mBAAuB;AAKpB;AAHY,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,SACC,4CAAC,SAAM,GAAG,kCAAc,KAAK,GAC5B;AAAA,IAAC,6BAAS;AAAA,IAAT;AAAA,MACA,SAAQ;AAAA,MAIR,WAAQ;AAAA,QACP,OAAO,WAAW,YAAY,WAC3B,WAAW,UACX,WAAW,QAAQ,aAAc;AAAA,UACjC,oBAAoB;AAAA,QACrB,CAAE;AAAA,MACL;AAAA;AAAA,EACD,GACD;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/comment-template/hooks.js"],
|
|
4
|
-
"sourcesContent": ["import { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\n\n// This is limited by WP REST API\nconst MAX_COMMENTS_PER_PAGE = 100;\n\n/**\n * Return an object with the query args needed to fetch the default page of\n * comments.\n *\n * @param {Object} props Hook props.\n * @param {number} props.postId ID of the post that contains the comments.\n * discussion settings.\n *\n * @return {Object} Query args to retrieve the comments.\n */\nexport const useCommentQueryArgs = ( { postId } ) => {\n\t// Initialize the query args that are not going to change.\n\tconst queryArgs = {\n\t\tstatus: 'approve',\n\t\torder: 'asc',\n\t\tcontext: 'embed',\n\t\tparent: 0,\n\t\t_embed: 'children',\n\t};\n\n\t// Get the Discussion settings that may be needed to query the comments.\n\tconst {\n\t\tpageComments,\n\t\tcommentsPerPage,\n\t\tdefaultCommentsPage: defaultPage,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings ?? {};\n\t}, [] );\n\n\t// WP REST API doesn't allow fetching more than max items limit set per single page of data.\n\t// As for the editor performance is more important than completeness of data and fetching only the\n\t// max allowed for single page should be enough for the purpose of design and laying out the page.\n\t// Fetching over the limit would return an error here but would work with backend query.\n\tconst perPage = pageComments\n\t\t? Math.min( commentsPerPage, MAX_COMMENTS_PER_PAGE )\n\t\t: MAX_COMMENTS_PER_PAGE;\n\n\t// Get the number of the default page.\n\tconst page = useDefaultPageIndex( {\n\t\tdefaultPage,\n\t\tpostId,\n\t\tperPage,\n\t\tqueryArgs,\n\t} );\n\n\t// Merge, memoize and return all query arguments, unless the default page's\n\t// number is not known yet.\n\treturn useMemo( () => {\n\t\treturn page\n\t\t\t? {\n\t\t\t\t\t...queryArgs,\n\t\t\t\t\tpost: postId,\n\t\t\t\t\tper_page: perPage,\n\t\t\t\t\tpage,\n\t\t\t
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA6C;AAC7C,kBAA0B;AAC1B,0BAA0C;AAC1C,iBAA6B;AAC7B,uBAAqB;AAGrB,IAAM,wBAAwB;AAYvB,IAAM,sBAAsB,CAAE,EAAE,OAAO,MAAO;AAEpD,QAAM,YAAY;AAAA,IACjB,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,EACT;AAGA,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,EACtB,QAAI,uBAAW,CAAE,WAAY;AAC5B,UAAM,EAAE,YAAY,IAAI,OAAQ,oBAAAA,KAAiB;AACjD,UAAM,EAAE,iCAAiC,IAAI,YAAY;AACzD,WAAO,oCAAoC,CAAC;AAAA,EAC7C,GAAG,CAAC,CAAE;AAMN,QAAM,UAAU,eACb,KAAK,IAAK,iBAAiB,qBAAsB,IACjD;AAGH,QAAM,OAAO,oBAAqB;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAIF,aAAO,wBAAS,MAAM;AACrB,WAAO,OACJ;AAAA,MACA,GAAG;AAAA,MACH,MAAM;AAAA,MACN,UAAU;AAAA,MACV;AAAA,
|
|
4
|
+
"sourcesContent": ["import { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\n\n// This is limited by WP REST API\nconst MAX_COMMENTS_PER_PAGE = 100;\n\n/**\n * Return an object with the query args needed to fetch the default page of\n * comments.\n *\n * @param {Object} props Hook props.\n * @param {number} props.postId ID of the post that contains the comments.\n * discussion settings.\n *\n * @return {Object} Query args to retrieve the comments.\n */\nexport const useCommentQueryArgs = ( { postId } ) => {\n\t// Initialize the query args that are not going to change.\n\tconst queryArgs = {\n\t\tstatus: 'approve',\n\t\torder: 'asc',\n\t\tcontext: 'embed',\n\t\tparent: 0,\n\t\t_embed: 'children',\n\t};\n\n\t// Get the Discussion settings that may be needed to query the comments.\n\tconst {\n\t\tpageComments,\n\t\tcommentsPerPage,\n\t\tdefaultCommentsPage: defaultPage,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings ?? {};\n\t}, [] );\n\n\t// WP REST API doesn't allow fetching more than max items limit set per single page of data.\n\t// As for the editor performance is more important than completeness of data and fetching only the\n\t// max allowed for single page should be enough for the purpose of design and laying out the page.\n\t// Fetching over the limit would return an error here but would work with backend query.\n\tconst perPage = pageComments\n\t\t? Math.min( commentsPerPage, MAX_COMMENTS_PER_PAGE )\n\t\t: MAX_COMMENTS_PER_PAGE;\n\n\t// Get the number of the default page.\n\tconst page = useDefaultPageIndex( {\n\t\tdefaultPage,\n\t\tpostId,\n\t\tperPage,\n\t\tqueryArgs,\n\t} );\n\n\t// Merge, memoize and return all query arguments, unless the default page's\n\t// number is not known yet.\n\treturn useMemo( () => {\n\t\treturn page\n\t\t\t? {\n\t\t\t\t\t...queryArgs,\n\t\t\t\t\tpost: postId,\n\t\t\t\t\tper_page: perPage,\n\t\t\t\t\tpage,\n\t\t\t\t}\n\t\t\t: null;\n\t}, [ postId, perPage, page ] );\n};\n\n/**\n * Return the index of the default page, depending on whether `defaultPage` is\n * `newest` or `oldest`. In the first case, the only way to know the page's\n * index is by using the `X-WP-TotalPages` header, which forces to make an\n * additional request.\n *\n * @param {Object} props Hook props.\n * @param {string} props.defaultPage Page shown by default (newest/oldest).\n * @param {number} props.postId ID of the post that contains the comments.\n * @param {number} props.perPage The number of comments included per page.\n * @param {Object} props.queryArgs Other query args.\n *\n * @return {number} Index of the default comments page.\n */\nconst useDefaultPageIndex = ( { defaultPage, postId, perPage, queryArgs } ) => {\n\t// Store the default page indices.\n\tconst [ defaultPages, setDefaultPages ] = useState( {} );\n\tconst key = `${ postId }_${ perPage }`;\n\tconst page = defaultPages[ key ] || 0;\n\n\tuseEffect( () => {\n\t\t// Do nothing if the page is already known or not the newest page.\n\t\tif ( page || defaultPage !== 'newest' ) {\n\t\t\treturn;\n\t\t}\n\t\t// We need to fetch comments to know the index. Use HEAD and limit\n\t\t// fields just to ID, to make this call as light as possible.\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/comments', {\n\t\t\t\t...queryArgs,\n\t\t\t\tpost: postId,\n\t\t\t\tper_page: perPage,\n\t\t\t\t_fields: 'id',\n\t\t\t} ),\n\t\t\tmethod: 'HEAD',\n\t\t\tparse: false,\n\t\t} )\n\t\t\t.then( ( res ) => {\n\t\t\t\tconst pages = parseInt( res.headers.get( 'X-WP-TotalPages' ) );\n\t\t\t\tsetDefaultPages( {\n\t\t\t\t\t...defaultPages,\n\t\t\t\t\t[ key ]: pages <= 1 ? 1 : pages, // If there are 0 pages, it means that there are no comments, but there is no 0th page.\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\t// There's no 0th page, but we can't know the number of pages, fallback to 1.\n\t\t\t\tsetDefaultPages( {\n\t\t\t\t\t...defaultPages,\n\t\t\t\t\t[ key ]: 1,\n\t\t\t\t} );\n\t\t\t} );\n\t}, [ defaultPage, postId, perPage, setDefaultPages ] );\n\n\t// The oldest one is always the first one.\n\treturn defaultPage === 'newest' ? page : 1;\n};\n\n/**\n * Generate a tree structure of comment IDs from a list of comment entities. The\n * children of each comment are obtained from `_embedded`.\n *\n * @typedef {{ commentId: number, children: CommentNode }} CommentNode\n *\n * @param {Object[]} topLevelComments List of comment entities.\n * @return {{ commentTree: CommentNode[]}} Tree of comment IDs.\n */\nexport const useCommentTree = ( topLevelComments ) => {\n\tconst commentTree = useMemo(\n\t\t() =>\n\t\t\ttopLevelComments?.map( ( { id, _embedded } ) => {\n\t\t\t\tconst [ children ] = _embedded?.children || [ [] ];\n\t\t\t\treturn {\n\t\t\t\t\tcommentId: id,\n\t\t\t\t\tchildren: children.map( ( child ) => ( {\n\t\t\t\t\t\tcommentId: child.id,\n\t\t\t\t\t} ) ),\n\t\t\t\t};\n\t\t\t} ),\n\t\t[ topLevelComments ]\n\t);\n\n\treturn commentTree;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA6C;AAC7C,kBAA0B;AAC1B,0BAA0C;AAC1C,iBAA6B;AAC7B,uBAAqB;AAGrB,IAAM,wBAAwB;AAYvB,IAAM,sBAAsB,CAAE,EAAE,OAAO,MAAO;AAEpD,QAAM,YAAY;AAAA,IACjB,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,EACT;AAGA,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,EACtB,QAAI,uBAAW,CAAE,WAAY;AAC5B,UAAM,EAAE,YAAY,IAAI,OAAQ,oBAAAA,KAAiB;AACjD,UAAM,EAAE,iCAAiC,IAAI,YAAY;AACzD,WAAO,oCAAoC,CAAC;AAAA,EAC7C,GAAG,CAAC,CAAE;AAMN,QAAM,UAAU,eACb,KAAK,IAAK,iBAAiB,qBAAsB,IACjD;AAGH,QAAM,OAAO,oBAAqB;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAIF,aAAO,wBAAS,MAAM;AACrB,WAAO,OACJ;AAAA,MACA,GAAG;AAAA,MACH,MAAM;AAAA,MACN,UAAU;AAAA,MACV;AAAA,IACD,IACC;AAAA,EACJ,GAAG,CAAE,QAAQ,SAAS,IAAK,CAAE;AAC9B;AAgBA,IAAM,sBAAsB,CAAE,EAAE,aAAa,QAAQ,SAAS,UAAU,MAAO;AAE9E,QAAM,CAAE,cAAc,eAAgB,QAAI,yBAAU,CAAC,CAAE;AACvD,QAAM,MAAM,GAAI,MAAO,IAAK,OAAQ;AACpC,QAAM,OAAO,aAAc,GAAI,KAAK;AAEpC,gCAAW,MAAM;AAEhB,QAAK,QAAQ,gBAAgB,UAAW;AACvC;AAAA,IACD;AAGA,yBAAAC,SAAU;AAAA,MACT,UAAM,yBAAc,mBAAmB;AAAA,QACtC,GAAG;AAAA,QACH,MAAM;AAAA,QACN,UAAU;AAAA,QACV,SAAS;AAAA,MACV,CAAE;AAAA,MACF,QAAQ;AAAA,MACR,OAAO;AAAA,IACR,CAAE,EACA,KAAM,CAAE,QAAS;AACjB,YAAM,QAAQ,SAAU,IAAI,QAAQ,IAAK,iBAAkB,CAAE;AAC7D,sBAAiB;AAAA,QAChB,GAAG;AAAA,QACH,CAAE,GAAI,GAAG,SAAS,IAAI,IAAI;AAAA;AAAA,MAC3B,CAAE;AAAA,IACH,CAAE,EACD,MAAO,MAAM;AAEb,sBAAiB;AAAA,QAChB,GAAG;AAAA,QACH,CAAE,GAAI,GAAG;AAAA,MACV,CAAE;AAAA,IACH,CAAE;AAAA,EACJ,GAAG,CAAE,aAAa,QAAQ,SAAS,eAAgB,CAAE;AAGrD,SAAO,gBAAgB,WAAW,OAAO;AAC1C;AAWO,IAAM,iBAAiB,CAAE,qBAAsB;AACrD,QAAM,kBAAc;AAAA,IACnB,MACC,kBAAkB,IAAK,CAAE,EAAE,IAAI,UAAU,MAAO;AAC/C,YAAM,CAAE,QAAS,IAAI,WAAW,YAAY,CAAE,CAAC,CAAE;AACjD,aAAO;AAAA,QACN,WAAW;AAAA,QACX,UAAU,SAAS,IAAK,CAAE,WAAa;AAAA,UACtC,WAAW,MAAM;AAAA,QAClB,EAAI;AAAA,MACL;AAAA,IACD,CAAE;AAAA,IACH,CAAE,gBAAiB;AAAA,EACpB;AAEA,SAAO;AACR;",
|
|
6
6
|
"names": ["blockEditorStore", "apiFetch"]
|
|
7
7
|
}
|