@wordpress/block-library 8.4.0 → 8.5.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 +2 -0
- package/build/archives/edit.js +3 -0
- package/build/archives/edit.js.map +1 -1
- package/build/audio/edit.js +2 -0
- package/build/audio/edit.js.map +1 -1
- package/build/avatar/edit.js +5 -9
- package/build/avatar/edit.js.map +1 -1
- package/build/categories/edit.js +5 -0
- package/build/categories/edit.js.map +1 -1
- package/build/columns/edit.js +1 -0
- package/build/columns/edit.js.map +1 -1
- package/build/columns/utils.js +2 -2
- package/build/columns/utils.js.map +1 -1
- package/build/comment-author-name/edit.js +2 -0
- package/build/comment-author-name/edit.js.map +1 -1
- package/build/comment-date/edit.js +1 -0
- package/build/comment-date/edit.js.map +1 -1
- package/build/comment-edit-link/edit.js +1 -0
- package/build/comment-edit-link/edit.js.map +1 -1
- package/build/comments-title/edit.js +2 -0
- package/build/comments-title/edit.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +2 -0
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/embed/embed-controls.js +1 -0
- package/build/embed/embed-controls.js.map +1 -1
- package/build/file/inspector.js +3 -0
- package/build/file/inspector.js.map +1 -1
- package/build/freeform/modal.js +1 -1
- package/build/freeform/modal.js.map +1 -1
- package/build/gallery/edit.js +2 -0
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/shared.js +4 -8
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/use-image-sizes.js +4 -8
- package/build/gallery/use-image-sizes.js.map +1 -1
- package/build/gallery/v1/edit.js +8 -3
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery-image.js +1 -3
- package/build/gallery/v1/gallery-image.js.map +1 -1
- package/build/gallery/v1/shared.js +4 -7
- package/build/gallery/v1/shared.js.map +1 -1
- package/build/image/edit.js +6 -4
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +6 -2
- package/build/image/image.js.map +1 -1
- package/build/image/utils.js +3 -1
- package/build/image/utils.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/latest-comments/edit.js +3 -0
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/edit.js +4 -0
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/ordered-list-settings.js +1 -0
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/list-item/edit.js +2 -2
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +2 -1
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/loginout/edit.js +2 -0
- package/build/loginout/edit.js.map +1 -1
- package/build/media-text/edit.js +2 -0
- package/build/media-text/edit.js.map +1 -1
- package/build/more/edit.js +1 -0
- package/build/more/edit.js.map +1 -1
- package/build/navigation/edit/index.js +80 -54
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +1 -1
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/overlay-menu-preview.js +1 -0
- package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +1 -1
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build/navigation/edit/use-generate-default-navigation-title.js +1 -1
- package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
- package/build/navigation/edit/use-navigation-notice.js +4 -7
- package/build/navigation/edit/use-navigation-notice.js.map +1 -1
- package/build/navigation-link/link-ui.js +1 -0
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/page-list/convert-to-links-modal.js +47 -0
- package/build/page-list/convert-to-links-modal.js.map +1 -0
- package/build/page-list/edit.js +10 -24
- package/build/page-list/edit.js.map +1 -1
- package/build/paragraph/edit.js +1 -0
- package/build/paragraph/edit.js.map +1 -1
- package/build/post-author/edit.js +4 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author-name/edit.js +2 -0
- package/build/post-author-name/edit.js.map +1 -1
- package/build/post-date/edit.js +2 -0
- package/build/post-date/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -0
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +2 -0
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-navigation-link/edit.js +2 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-terms/use-post-terms.js +1 -1
- package/build/post-terms/use-post-terms.js.map +1 -1
- package/build/post-time-to-read/edit.js +104 -0
- package/build/post-time-to-read/edit.js.map +1 -0
- package/build/post-time-to-read/icon.js +25 -0
- package/build/post-time-to-read/icon.js.map +1 -0
- package/build/post-time-to-read/index.js +57 -0
- package/build/post-time-to-read/index.js.map +1 -0
- package/build/post-title/edit.js +2 -0
- package/build/post-title/edit.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +1 -0
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query-title/edit.js +2 -0
- package/build/query-title/edit.js.map +1 -1
- package/build/read-more/edit.js +1 -0
- package/build/read-more/edit.js.map +1 -1
- package/build/rss/edit.js +3 -0
- package/build/rss/edit.js.map +1 -1
- package/build/site-logo/edit.js +3 -0
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-tagline/index.js +1 -0
- package/build/site-tagline/index.js.map +1 -1
- package/build/site-title/edit/index.js +2 -0
- package/build/site-title/edit/index.js.map +1 -1
- package/build/social-links/edit.js +4 -1
- package/build/social-links/edit.js.map +1 -1
- package/build/spacer/controls.native.js +10 -8
- package/build/spacer/controls.native.js.map +1 -1
- package/build/spacer/edit.native.js +43 -5
- package/build/spacer/edit.native.js.map +1 -1
- package/build/spacer/save.native.js +30 -0
- package/build/spacer/save.native.js.map +1 -0
- package/build/table/edit.js +3 -0
- package/build/table/edit.js.map +1 -1
- package/build/table-of-contents/edit.js +1 -0
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -0
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/import-controls.js +29 -6
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/video/edit-common-settings.js +5 -0
- package/build/video/edit-common-settings.js.map +1 -1
- package/build-module/archives/edit.js +3 -0
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/audio/edit.js +2 -0
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/avatar/edit.js +5 -8
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/categories/edit.js +5 -0
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/columns/edit.js +1 -0
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/utils.js +3 -3
- package/build-module/columns/utils.js.map +1 -1
- package/build-module/comment-author-name/edit.js +2 -0
- package/build-module/comment-author-name/edit.js.map +1 -1
- package/build-module/comment-date/edit.js +1 -0
- package/build-module/comment-date/edit.js.map +1 -1
- package/build-module/comment-edit-link/edit.js +1 -0
- package/build-module/comment-edit-link/edit.js.map +1 -1
- package/build-module/comments-title/edit.js +2 -0
- package/build-module/comments-title/edit.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +2 -0
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/embed/embed-controls.js +1 -0
- package/build-module/embed/embed-controls.js.map +1 -1
- package/build-module/file/inspector.js +3 -0
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/freeform/modal.js +1 -1
- package/build-module/freeform/modal.js.map +1 -1
- package/build-module/gallery/edit.js +2 -0
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/shared.js +4 -7
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/use-image-sizes.js +4 -7
- package/build-module/gallery/use-image-sizes.js.map +1 -1
- package/build-module/gallery/v1/edit.js +9 -4
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery-image.js +1 -2
- package/build-module/gallery/v1/gallery-image.js.map +1 -1
- package/build-module/gallery/v1/shared.js +4 -6
- package/build-module/gallery/v1/shared.js.map +1 -1
- package/build-module/image/edit.js +7 -5
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +7 -3
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/utils.js +4 -2
- package/build-module/image/utils.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/latest-comments/edit.js +3 -0
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/edit.js +4 -0
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +1 -0
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/list-item/edit.js +2 -2
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +2 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/loginout/edit.js +2 -0
- package/build-module/loginout/edit.js.map +1 -1
- package/build-module/media-text/edit.js +2 -0
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/more/edit.js +1 -0
- package/build-module/more/edit.js.map +1 -1
- package/build-module/navigation/edit/index.js +82 -56
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js +1 -0
- package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +1 -1
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -1
- package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
- package/build-module/navigation/edit/use-navigation-notice.js +5 -8
- package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +1 -0
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/page-list/convert-to-links-modal.js +35 -0
- package/build-module/page-list/convert-to-links-modal.js.map +1 -0
- package/build-module/page-list/edit.js +10 -25
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/paragraph/edit.js +1 -0
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/post-author/edit.js +4 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author-name/edit.js +2 -0
- package/build-module/post-author-name/edit.js.map +1 -1
- package/build-module/post-date/edit.js +2 -0
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -0
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +2 -0
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +2 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-terms/use-post-terms.js +1 -1
- package/build-module/post-terms/use-post-terms.js.map +1 -1
- package/build-module/post-time-to-read/edit.js +90 -0
- package/build-module/post-time-to-read/edit.js.map +1 -0
- package/build-module/post-time-to-read/icon.js +15 -0
- package/build-module/post-time-to-read/icon.js.map +1 -0
- package/build-module/post-time-to-read/index.js +40 -0
- package/build-module/post-time-to-read/index.js.map +1 -0
- package/build-module/post-title/edit.js +2 -0
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +1 -0
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query-title/edit.js +2 -0
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/read-more/edit.js +1 -0
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/rss/edit.js +3 -0
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +3 -0
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +1 -0
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/site-title/edit/index.js +2 -0
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/social-links/edit.js +4 -1
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/spacer/controls.native.js +9 -8
- package/build-module/spacer/controls.native.js.map +1 -1
- package/build-module/spacer/edit.native.js +39 -7
- package/build-module/spacer/edit.native.js.map +1 -1
- package/build-module/spacer/save.native.js +22 -0
- package/build-module/spacer/save.native.js.map +1 -0
- package/build-module/table/edit.js +3 -0
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -0
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -0
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +28 -6
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/video/edit-common-settings.js +5 -0
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-style/editor-rtl.css +4 -3
- package/build-style/editor.css +4 -3
- package/build-style/post-excerpt/editor-rtl.css +1 -1
- package/build-style/post-excerpt/editor.css +1 -1
- package/build-style/query/editor-rtl.css +1 -0
- package/build-style/query/editor.css +1 -0
- package/build-style/site-logo/editor-rtl.css +2 -2
- package/build-style/site-logo/editor.css +2 -2
- package/package.json +31 -30
- package/src/archives/edit.js +3 -0
- package/src/audio/edit.js +2 -0
- package/src/audio/test/__snapshots__/edit.native.js.snap +38 -38
- package/src/avatar/edit.js +2 -4
- package/src/buttons/test/__snapshots__/edit.native.js.snap +11 -11
- package/src/categories/edit.js +5 -0
- package/src/code/test/__snapshots__/edit.native.js.snap +2 -2
- package/src/columns/edit.js +1 -0
- package/src/columns/test/__snapshots__/edit.native.js.snap +66 -66
- package/src/columns/test/utils.js +54 -0
- package/src/columns/utils.js +8 -8
- package/src/comment-author-name/edit.js +2 -0
- package/src/comment-date/edit.js +1 -0
- package/src/comment-edit-link/edit.js +1 -0
- package/src/comments-title/edit.js +2 -0
- package/src/cover/edit/inspector-controls.js +2 -0
- package/src/cover/index.php +4 -6
- package/src/cover/test/__snapshots__/edit.native.js.snap +36 -36
- package/src/embed/embed-controls.js +1 -0
- package/src/embed/test/__snapshots__/index.native.js.snap +52 -52
- package/src/file/inspector.js +3 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +49 -49
- package/src/freeform/modal.js +1 -1
- package/src/gallery/edit.js +2 -0
- package/src/gallery/shared.js +6 -11
- package/src/gallery/test/__snapshots__/index.native.js.snap +71 -71
- package/src/gallery/use-image-sizes.js +3 -16
- package/src/gallery/v1/edit.js +8 -16
- package/src/gallery/v1/gallery-image.js +1 -2
- package/src/gallery/v1/shared.js +5 -10
- package/src/group/test/__snapshots__/edit.native.js.snap +5 -5
- package/src/heading/test/__snapshots__/index.native.js.snap +1 -1
- package/src/image/edit.js +4 -4
- package/src/image/image.js +4 -9
- package/src/image/index.php +4 -4
- package/src/image/utils.js +2 -2
- package/src/index.js +2 -0
- package/src/latest-comments/edit.js +3 -0
- package/src/latest-posts/edit.js +4 -0
- package/src/list/ordered-list-settings.js +1 -0
- package/src/list/test/__snapshots__/edit.native.js.snap +4 -4
- package/src/list-item/edit.js +10 -3
- package/src/list-item/hooks/use-outdent-list-item.js +2 -1
- package/src/loginout/edit.js +2 -0
- package/src/media-text/edit.js +2 -0
- package/src/missing/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/more/edit.js +1 -0
- package/src/navigation/edit/index.js +130 -82
- package/src/navigation/edit/navigation-menu-selector.js +1 -1
- package/src/navigation/edit/overlay-menu-preview.js +1 -0
- package/src/navigation/edit/placeholder/index.js +1 -1
- package/src/navigation/edit/unsaved-inner-blocks.js +1 -0
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +51 -48
- package/src/navigation/edit/use-create-navigation-menu.js +1 -1
- package/src/navigation/edit/use-generate-default-navigation-title.js +1 -1
- package/src/navigation/edit/use-navigation-notice.js +16 -13
- package/src/navigation/index.php +42 -19
- package/src/navigation-link/link-ui.js +1 -0
- package/src/navigation-link/test/__snapshots__/hooks.js.snap +12 -12
- package/src/page-list/convert-to-links-modal.js +38 -0
- package/src/page-list/edit.js +11 -32
- package/src/paragraph/edit.js +1 -0
- package/src/post-author/edit.js +4 -0
- package/src/post-author-name/edit.js +2 -0
- package/src/post-date/edit.js +2 -0
- package/src/post-excerpt/edit.js +1 -0
- package/src/post-excerpt/editor.scss +1 -1
- package/src/post-featured-image/edit.js +2 -0
- package/src/post-navigation-link/edit.js +2 -0
- package/src/post-terms/index.php +1 -0
- package/src/post-terms/use-post-terms.js +1 -1
- package/src/post-time-to-read/block.json +20 -0
- package/src/post-time-to-read/edit.js +101 -0
- package/src/post-time-to-read/icon.js +15 -0
- package/src/post-time-to-read/index.js +17 -0
- package/src/post-time-to-read/index.php +62 -0
- package/src/post-title/edit.js +2 -0
- package/src/preformatted/test/__snapshots__/edit.native.js.snap +10 -10
- package/src/query/edit/inspector-controls/index.js +1 -0
- package/src/query/editor.scss +1 -0
- package/src/query-title/edit.js +2 -0
- package/src/read-more/edit.js +1 -0
- package/src/rss/edit.js +3 -0
- package/src/search/test/__snapshots__/edit.native.js.snap +60 -60
- package/src/separator/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/site-logo/edit.js +3 -0
- package/src/site-logo/editor.scss +3 -3
- package/src/site-logo/index.php +7 -2
- package/src/site-tagline/block.json +1 -0
- package/src/site-title/edit/index.js +2 -0
- package/src/social-link/index.php +6 -6
- package/src/social-links/edit.js +3 -0
- package/src/social-links/test/__snapshots__/edit.native.js.snap +16 -16
- package/src/spacer/controls.native.js +13 -5
- package/src/spacer/edit.native.js +45 -6
- package/src/spacer/save.native.js +18 -0
- package/src/spacer/test/__snapshots__/index.native.js.snap +21 -9
- package/src/spacer/test/index.native.js +81 -0
- package/src/table/edit.js +3 -0
- package/src/table-of-contents/edit.js +1 -0
- package/src/tag-cloud/edit.js +1 -0
- package/src/template-part/edit/import-controls.js +24 -5
- package/src/template-part/index.php +7 -6
- package/src/verse/test/__snapshots__/edit.native.js.snap +2 -2
- package/src/video/edit-common-settings.js +5 -0
- package/tsconfig.json +2 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/template-part/edit/import-controls.js"],"names":["TemplatePartImportControls","area","setAttributes","selectedSidebar","setSelectedSidebar","isBusy","setIsBusy","registry","sidebars","select","coreStore","getSidebars","per_page","_fields","createErrorNotice","noticesStore","createFromBlocks","options","sidebarOptions","filter","widgetArea","id","widgets","length","map","value","label","name","createFromWidgets","event","preventDefault","sidebar","find","getWidgets","resolveSelect","_embed","skippedWidgets","Set","blocks","flatMap","widget","block","transforms","item","hasWildCardFrom","from","includes","hasWildCardTo","to","add","id_base","size","Array","join","type","marginBottom","marginTop"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tButton,\n\tFlexBlock,\n\tFlexItem,\n\tSelectControl,\n\t__experimentalHStack as HStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tgetPossibleBlockTransformations,\n} from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { useCreateTemplatePartFromBlocks } from './utils/hooks';\nimport { transformWidgetToBlock } from './utils/transformers';\n\nexport function TemplatePartImportControls( { area, setAttributes } ) {\n\tconst [ selectedSidebar, setSelectedSidebar ] = useState( '' );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\n\tconst registry = useRegistry();\n\tconst sidebars = useSelect( ( select ) => {\n\t\treturn select( coreStore ).getSidebars( {\n\t\t\tper_page: -1,\n\t\t\t_fields: 'id,name,description,status,widgets',\n\t\t} );\n\t}, [] );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\tconst options = useMemo( () => {\n\t\tconst sidebarOptions = ( sidebars ?? [] )\n\t\t\t.filter(\n\t\t\t\t( widgetArea ) =>\n\t\t\t\t\twidgetArea.id !== 'wp_inactive_widgets' &&\n\t\t\t\t\twidgetArea.widgets.length > 0\n\t\t\t)\n\t\t\t.map( ( widgetArea ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: widgetArea.id,\n\t\t\t\t\tlabel: widgetArea.name,\n\t\t\t\t};\n\t\t\t} );\n\n\t\tif ( ! sidebarOptions.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn [\n\t\t\t{ value: '', label: __( 'Select widget area' ) },\n\t\t\t...sidebarOptions,\n\t\t];\n\t}, [ sidebars ] );\n\n\tasync function createFromWidgets( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isBusy || ! selectedSidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsBusy( true );\n\n\t\tconst sidebar = options.find(\n\t\t\t( { value } ) => value === selectedSidebar\n\t\t);\n\t\tconst { getWidgets } = registry.resolveSelect( coreStore );\n\n\t\t// The widgets API always returns a successful response.\n\t\tconst widgets = await getWidgets( {\n\t\t\tsidebar: sidebar.value,\n\t\t\t_embed: 'about',\n\t\t} );\n\n\t\tconst skippedWidgets = new Set();\n\t\tconst blocks = widgets.flatMap( ( widget ) => {\n\t\t\tconst block = transformWidgetToBlock( widget );\n\n\t\t\tif ( block.name !== 'core/legacy-widget' ) {\n\t\t\t\treturn block;\n\t\t\t}\n\n\t\t\tconst transforms = getPossibleBlockTransformations( [\n\t\t\t\tblock,\n\t\t\t] ).filter( ( item ) => {\n\t\t\t\t// The block without any transformations can't be a wildcard.\n\t\t\t\tif ( ! item.transforms ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tconst hasWildCardFrom = item.transforms?.from?.find(\n\t\t\t\t\t( from ) => from.blocks && from.blocks.includes( '*' )\n\t\t\t\t);\n\t\t\t\tconst hasWildCardTo = item.transforms?.to?.find(\n\t\t\t\t\t( to ) => to.blocks && to.blocks.includes( '*' )\n\t\t\t\t);\n\n\t\t\t\treturn ! hasWildCardFrom && ! hasWildCardTo;\n\t\t\t} );\n\n\t\t\t// Skip the block if we have no matching transformations.\n\t\t\tif ( ! transforms.length ) {\n\t\t\t\tskippedWidgets.add( widget.id_base );\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\t// Try transforming the Legacy Widget into a first matching block.\n\t\t\treturn switchToBlockType( block, transforms[ 0 ].name );\n\t\t} );\n\n\t\tawait createFromBlocks(\n\t\t\tblocks,\n\t\t\t/* translators: %s: name of the widget area */\n\t\t\tsprintf( __( 'Widget area: %s' ), sidebar.label )\n\t\t);\n\n\t\tif ( skippedWidgets.size ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: the list of widgets */\n\t\t\t\t\t__( 'Unable to import the following widgets: %s.' ),\n\t\t\t\t\tArray.from( skippedWidgets ).join( ', ' )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tsetIsBusy( false );\n\t}\n\n\treturn (\n\t\t<Spacer marginBottom=\"4\">\n\t\t\t<HStack as=\"form\" onSubmit={ createFromWidgets }>\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Import widget area' ) }\n\t\t\t\t\t\tvalue={ selectedSidebar }\n\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\tonChange={ ( value ) => setSelectedSidebar( value ) }\n\t\t\t\t\t\tdisabled={ ! options.length }\n\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t\t<FlexItem\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tmarginBottom: '8px',\n\t\t\t\t\t\tmarginTop: 'auto',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\taria-disabled={ isBusy || ! selectedSidebar }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Import' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</Spacer>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/template-part/edit/import-controls.js"],"names":["SIDEBARS_QUERY","per_page","_fields","TemplatePartImportControls","area","setAttributes","selectedSidebar","setSelectedSidebar","isBusy","setIsBusy","registry","sidebars","hasResolved","select","getSidebars","hasFinishedResolution","coreStore","createErrorNotice","noticesStore","createFromBlocks","options","sidebarOptions","filter","widgetArea","id","widgets","length","map","value","label","name","createFromWidgets","event","preventDefault","sidebar","find","getWidgets","resolveSelect","_embed","skippedWidgets","Set","blocks","flatMap","widget","block","transforms","item","hasWildCardFrom","from","includes","hasWildCardTo","to","add","id_base","size","Array","join","type","marginBottom","marginTop"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tButton,\n\tFlexBlock,\n\tFlexItem,\n\tSelectControl,\n\t__experimentalHStack as HStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tgetPossibleBlockTransformations,\n} from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { useCreateTemplatePartFromBlocks } from './utils/hooks';\nimport { transformWidgetToBlock } from './utils/transformers';\n\nconst SIDEBARS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,description,status,widgets',\n};\n\nexport function TemplatePartImportControls( { area, setAttributes } ) {\n\tconst [ selectedSidebar, setSelectedSidebar ] = useState( '' );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\n\tconst registry = useRegistry();\n\tconst { sidebars, hasResolved } = useSelect( ( select ) => {\n\t\tconst { getSidebars, hasFinishedResolution } = select( coreStore );\n\n\t\treturn {\n\t\t\tsidebars: getSidebars( SIDEBARS_QUERY ),\n\t\t\thasResolved: hasFinishedResolution( 'getSidebars', [\n\t\t\t\tSIDEBARS_QUERY,\n\t\t\t] ),\n\t\t};\n\t}, [] );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\tconst options = useMemo( () => {\n\t\tconst sidebarOptions = ( sidebars ?? [] )\n\t\t\t.filter(\n\t\t\t\t( widgetArea ) =>\n\t\t\t\t\twidgetArea.id !== 'wp_inactive_widgets' &&\n\t\t\t\t\twidgetArea.widgets.length > 0\n\t\t\t)\n\t\t\t.map( ( widgetArea ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: widgetArea.id,\n\t\t\t\t\tlabel: widgetArea.name,\n\t\t\t\t};\n\t\t\t} );\n\n\t\tif ( ! sidebarOptions.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn [\n\t\t\t{ value: '', label: __( 'Select widget area' ) },\n\t\t\t...sidebarOptions,\n\t\t];\n\t}, [ sidebars ] );\n\n\t// Render an empty node while data is loading to avoid SlotFill re-positioning bug.\n\t// See: https://github.com/WordPress/gutenberg/issues/15641.\n\tif ( ! hasResolved ) {\n\t\treturn <Spacer marginBottom=\"0\" />;\n\t}\n\n\tif ( hasResolved && ! options.length ) {\n\t\treturn null;\n\t}\n\n\tasync function createFromWidgets( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isBusy || ! selectedSidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsBusy( true );\n\n\t\tconst sidebar = options.find(\n\t\t\t( { value } ) => value === selectedSidebar\n\t\t);\n\t\tconst { getWidgets } = registry.resolveSelect( coreStore );\n\n\t\t// The widgets API always returns a successful response.\n\t\tconst widgets = await getWidgets( {\n\t\t\tsidebar: sidebar.value,\n\t\t\t_embed: 'about',\n\t\t} );\n\n\t\tconst skippedWidgets = new Set();\n\t\tconst blocks = widgets.flatMap( ( widget ) => {\n\t\t\tconst block = transformWidgetToBlock( widget );\n\n\t\t\tif ( block.name !== 'core/legacy-widget' ) {\n\t\t\t\treturn block;\n\t\t\t}\n\n\t\t\tconst transforms = getPossibleBlockTransformations( [\n\t\t\t\tblock,\n\t\t\t] ).filter( ( item ) => {\n\t\t\t\t// The block without any transformations can't be a wildcard.\n\t\t\t\tif ( ! item.transforms ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tconst hasWildCardFrom = item.transforms?.from?.find(\n\t\t\t\t\t( from ) => from.blocks && from.blocks.includes( '*' )\n\t\t\t\t);\n\t\t\t\tconst hasWildCardTo = item.transforms?.to?.find(\n\t\t\t\t\t( to ) => to.blocks && to.blocks.includes( '*' )\n\t\t\t\t);\n\n\t\t\t\treturn ! hasWildCardFrom && ! hasWildCardTo;\n\t\t\t} );\n\n\t\t\t// Skip the block if we have no matching transformations.\n\t\t\tif ( ! transforms.length ) {\n\t\t\t\tskippedWidgets.add( widget.id_base );\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\t// Try transforming the Legacy Widget into a first matching block.\n\t\t\treturn switchToBlockType( block, transforms[ 0 ].name );\n\t\t} );\n\n\t\tawait createFromBlocks(\n\t\t\tblocks,\n\t\t\t/* translators: %s: name of the widget area */\n\t\t\tsprintf( __( 'Widget area: %s' ), sidebar.label )\n\t\t);\n\n\t\tif ( skippedWidgets.size ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: the list of widgets */\n\t\t\t\t\t__( 'Unable to import the following widgets: %s.' ),\n\t\t\t\t\tArray.from( skippedWidgets ).join( ', ' )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tsetIsBusy( false );\n\t}\n\n\treturn (\n\t\t<Spacer marginBottom=\"4\">\n\t\t\t<HStack as=\"form\" onSubmit={ createFromWidgets }>\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Import widget area' ) }\n\t\t\t\t\t\tvalue={ selectedSidebar }\n\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\tonChange={ ( value ) => setSelectedSidebar( value ) }\n\t\t\t\t\t\tdisabled={ ! options.length }\n\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t\t<FlexItem\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tmarginBottom: '8px',\n\t\t\t\t\t\tmarginTop: 'auto',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\taria-disabled={ isBusy || ! selectedSidebar }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Import' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</Spacer>\n\t);\n}\n"]}
|
|
@@ -70,23 +70,28 @@ const VideoSettings = _ref => {
|
|
|
70
70
|
});
|
|
71
71
|
}, []);
|
|
72
72
|
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.ToggleControl, {
|
|
73
|
+
__nextHasNoMarginBottom: true,
|
|
73
74
|
label: (0, _i18n.__)('Autoplay'),
|
|
74
75
|
onChange: toggleFactory.autoplay,
|
|
75
76
|
checked: !!autoplay,
|
|
76
77
|
help: getAutoplayHelp
|
|
77
78
|
}), (0, _element.createElement)(_components.ToggleControl, {
|
|
79
|
+
__nextHasNoMarginBottom: true,
|
|
78
80
|
label: (0, _i18n.__)('Loop'),
|
|
79
81
|
onChange: toggleFactory.loop,
|
|
80
82
|
checked: !!loop
|
|
81
83
|
}), (0, _element.createElement)(_components.ToggleControl, {
|
|
84
|
+
__nextHasNoMarginBottom: true,
|
|
82
85
|
label: (0, _i18n.__)('Muted'),
|
|
83
86
|
onChange: toggleFactory.muted,
|
|
84
87
|
checked: !!muted
|
|
85
88
|
}), (0, _element.createElement)(_components.ToggleControl, {
|
|
89
|
+
__nextHasNoMarginBottom: true,
|
|
86
90
|
label: (0, _i18n.__)('Playback controls'),
|
|
87
91
|
onChange: toggleFactory.controls,
|
|
88
92
|
checked: !!controls
|
|
89
93
|
}), (0, _element.createElement)(_components.ToggleControl, {
|
|
94
|
+
__nextHasNoMarginBottom: true,
|
|
90
95
|
label: (0, _i18n.__)('Play inline'),
|
|
91
96
|
onChange: toggleFactory.playsInline,
|
|
92
97
|
checked: !!playsInline
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/video/edit-common-settings.js"],"names":["options","value","label","VideoSettings","setAttributes","attributes","autoplay","controls","loop","muted","playsInline","preload","autoPlayHelpText","getAutoplayHelp","Platform","select","web","checked","native","toggleFactory","toggleAttribute","attribute","newValue","onChangePreload"],"mappings":";;;;;;;AAKA;;AAFA;;AACA;;AAJA;AACA;AACA;AAKA,MAAMA,OAAO,GAAG,CACf;AAAEC,EAAAA,KAAK,EAAE,MAAT;AAAiBC,EAAAA,KAAK,EAAE,cAAI,MAAJ;AAAxB,CADe,EAEf;AAAED,EAAAA,KAAK,EAAE,UAAT;AAAqBC,EAAAA,KAAK,EAAE,cAAI,UAAJ;AAA5B,CAFe,EAGf;AAAED,EAAAA,KAAK,EAAE,MAAT;AAAiBC,EAAAA,KAAK,EAAE,cAAI,MAAJ,EAAY,eAAZ;AAAxB,CAHe,CAAhB;;AAMA,MAAMC,aAAa,GAAG,QAAqC;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAAmC;AAC1D,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA,IAAtB;AAA4BC,IAAAA,KAA5B;AAAmCC,IAAAA,WAAnC;AAAgDC,IAAAA;AAAhD,MACLN,UADD;AAGA,QAAMO,gBAAgB,GAAG,cACxB,qDADwB,CAAzB;;AAGA,QAAMC,eAAe,GAAGC,kBAASC,MAAT,CAAiB;AACxCC,IAAAA,GAAG,EAAE,0BAAeC,OAAF,IAAe;AAChC,aAAOA,OAAO,GAAGL,gBAAH,GAAsB,IAApC;AACA,KAFI,EAEF,EAFE,CADmC;AAIxCM,IAAAA,MAAM,EAAEN;AAJgC,GAAjB,CAAxB;;AAOA,QAAMO,aAAa,GAAG,sBAAS,MAAM;AACpC,UAAMC,eAAe,GAAKC,SAAF,IAAiB;AACxC,aAASC,QAAF,IAAgB;AACtBlB,QAAAA,aAAa,CAAE;AAAE,WAAEiB,SAAF,GAAeC;AAAjB,SAAF,CAAb;AACA,OAFD;AAGA,KAJD;;AAMA,WAAO;AACNhB,MAAAA,QAAQ,EAAEc,eAAe,CAAE,UAAF,CADnB;AAENZ,MAAAA,IAAI,EAAEY,eAAe,CAAE,MAAF,CAFf;AAGNX,MAAAA,KAAK,EAAEW,eAAe,CAAE,OAAF,CAHhB;AAINb,MAAAA,QAAQ,EAAEa,eAAe,CAAE,UAAF,CAJnB;AAKNV,MAAAA,WAAW,EAAEU,eAAe,CAAE,aAAF;AALtB,KAAP;AAOA,GAdqB,EAcnB,EAdmB,CAAtB;AAgBA,QAAMG,eAAe,GAAG,0BAAetB,KAAF,IAAa;AACjDG,IAAAA,aAAa,CAAE;AAAEO,MAAAA,OAAO,EAAEV;AAAX,KAAF,CAAb;AACA,GAFuB,EAErB,EAFqB,CAAxB;AAIA,SACC,qDACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,UAAJ,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/video/edit-common-settings.js"],"names":["options","value","label","VideoSettings","setAttributes","attributes","autoplay","controls","loop","muted","playsInline","preload","autoPlayHelpText","getAutoplayHelp","Platform","select","web","checked","native","toggleFactory","toggleAttribute","attribute","newValue","onChangePreload"],"mappings":";;;;;;;AAKA;;AAFA;;AACA;;AAJA;AACA;AACA;AAKA,MAAMA,OAAO,GAAG,CACf;AAAEC,EAAAA,KAAK,EAAE,MAAT;AAAiBC,EAAAA,KAAK,EAAE,cAAI,MAAJ;AAAxB,CADe,EAEf;AAAED,EAAAA,KAAK,EAAE,UAAT;AAAqBC,EAAAA,KAAK,EAAE,cAAI,UAAJ;AAA5B,CAFe,EAGf;AAAED,EAAAA,KAAK,EAAE,MAAT;AAAiBC,EAAAA,KAAK,EAAE,cAAI,MAAJ,EAAY,eAAZ;AAAxB,CAHe,CAAhB;;AAMA,MAAMC,aAAa,GAAG,QAAqC;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAAmC;AAC1D,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA,IAAtB;AAA4BC,IAAAA,KAA5B;AAAmCC,IAAAA,WAAnC;AAAgDC,IAAAA;AAAhD,MACLN,UADD;AAGA,QAAMO,gBAAgB,GAAG,cACxB,qDADwB,CAAzB;;AAGA,QAAMC,eAAe,GAAGC,kBAASC,MAAT,CAAiB;AACxCC,IAAAA,GAAG,EAAE,0BAAeC,OAAF,IAAe;AAChC,aAAOA,OAAO,GAAGL,gBAAH,GAAsB,IAApC;AACA,KAFI,EAEF,EAFE,CADmC;AAIxCM,IAAAA,MAAM,EAAEN;AAJgC,GAAjB,CAAxB;;AAOA,QAAMO,aAAa,GAAG,sBAAS,MAAM;AACpC,UAAMC,eAAe,GAAKC,SAAF,IAAiB;AACxC,aAASC,QAAF,IAAgB;AACtBlB,QAAAA,aAAa,CAAE;AAAE,WAAEiB,SAAF,GAAeC;AAAjB,SAAF,CAAb;AACA,OAFD;AAGA,KAJD;;AAMA,WAAO;AACNhB,MAAAA,QAAQ,EAAEc,eAAe,CAAE,UAAF,CADnB;AAENZ,MAAAA,IAAI,EAAEY,eAAe,CAAE,MAAF,CAFf;AAGNX,MAAAA,KAAK,EAAEW,eAAe,CAAE,OAAF,CAHhB;AAINb,MAAAA,QAAQ,EAAEa,eAAe,CAAE,UAAF,CAJnB;AAKNV,MAAAA,WAAW,EAAEU,eAAe,CAAE,aAAF;AALtB,KAAP;AAOA,GAdqB,EAcnB,EAdmB,CAAtB;AAgBA,QAAMG,eAAe,GAAG,0BAAetB,KAAF,IAAa;AACjDG,IAAAA,aAAa,CAAE;AAAEO,MAAAA,OAAO,EAAEV;AAAX,KAAF,CAAb;AACA,GAFuB,EAErB,EAFqB,CAAxB;AAIA,SACC,qDACC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,UAAJ,CAFT;AAGC,IAAA,QAAQ,EAAGkB,aAAa,CAACb,QAH1B;AAIC,IAAA,OAAO,EAAG,CAAC,CAAEA,QAJd;AAKC,IAAA,IAAI,EAAGO;AALR,IADD,EAQC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,MAAJ,CAFT;AAGC,IAAA,QAAQ,EAAGM,aAAa,CAACX,IAH1B;AAIC,IAAA,OAAO,EAAG,CAAC,CAAEA;AAJd,IARD,EAcC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,OAAJ,CAFT;AAGC,IAAA,QAAQ,EAAGW,aAAa,CAACV,KAH1B;AAIC,IAAA,OAAO,EAAG,CAAC,CAAEA;AAJd,IAdD,EAoBC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,mBAAJ,CAFT;AAGC,IAAA,QAAQ,EAAGU,aAAa,CAACZ,QAH1B;AAIC,IAAA,OAAO,EAAG,CAAC,CAAEA;AAJd,IApBD,EA0BC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,aAAJ,CAFT;AAGC,IAAA,QAAQ,EAAGY,aAAa,CAACT,WAH1B;AAIC,IAAA,OAAO,EAAG,CAAC,CAAEA;AAJd,IA1BD,EAgCC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,SAAJ,CAFT;AAGC,IAAA,KAAK,EAAGC,OAHT;AAIC,IAAA,QAAQ,EAAGY,eAJZ;AAKC,IAAA,OAAO,EAAGvB,OALX;AAMC,IAAA,gBAAgB,EAAG;AANpB,IAhCD,CADD;AA2CA,CA7ED;;eA+EeG,a","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { ToggleControl, SelectControl } from '@wordpress/components';\nimport { useMemo, useCallback, Platform } from '@wordpress/element';\n\nconst options = [\n\t{ value: 'auto', label: __( 'Auto' ) },\n\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t{ value: 'none', label: _x( 'None', 'Preload value' ) },\n];\n\nconst VideoSettings = ( { setAttributes, attributes } ) => {\n\tconst { autoplay, controls, loop, muted, playsInline, preload } =\n\t\tattributes;\n\n\tconst autoPlayHelpText = __(\n\t\t'Autoplay may cause usability issues for some users.'\n\t);\n\tconst getAutoplayHelp = Platform.select( {\n\t\tweb: useCallback( ( checked ) => {\n\t\t\treturn checked ? autoPlayHelpText : null;\n\t\t}, [] ),\n\t\tnative: autoPlayHelpText,\n\t} );\n\n\tconst toggleFactory = useMemo( () => {\n\t\tconst toggleAttribute = ( attribute ) => {\n\t\t\treturn ( newValue ) => {\n\t\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t\t};\n\t\t};\n\n\t\treturn {\n\t\t\tautoplay: toggleAttribute( 'autoplay' ),\n\t\t\tloop: toggleAttribute( 'loop' ),\n\t\t\tmuted: toggleAttribute( 'muted' ),\n\t\t\tcontrols: toggleAttribute( 'controls' ),\n\t\t\tplaysInline: toggleAttribute( 'playsInline' ),\n\t\t};\n\t}, [] );\n\n\tconst onChangePreload = useCallback( ( value ) => {\n\t\tsetAttributes( { preload: value } );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\tonChange={ toggleFactory.autoplay }\n\t\t\t\tchecked={ !! autoplay }\n\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\tonChange={ toggleFactory.loop }\n\t\t\t\tchecked={ !! loop }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\tonChange={ toggleFactory.muted }\n\t\t\t\tchecked={ !! muted }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\tonChange={ toggleFactory.controls }\n\t\t\t\tchecked={ !! controls }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\tonChange={ toggleFactory.playsInline }\n\t\t\t\tchecked={ !! playsInline }\n\t\t\t/>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\tvalue={ preload }\n\t\t\t\tonChange={ onChangePreload }\n\t\t\t\toptions={ options }\n\t\t\t\thideCancelButton={ true }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default VideoSettings;\n"]}
|
|
@@ -21,18 +21,21 @@ export default function ArchivesEdit(_ref) {
|
|
|
21
21
|
return createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
|
|
22
22
|
title: __('Settings')
|
|
23
23
|
}, createElement(ToggleControl, {
|
|
24
|
+
__nextHasNoMarginBottom: true,
|
|
24
25
|
label: __('Display as dropdown'),
|
|
25
26
|
checked: displayAsDropdown,
|
|
26
27
|
onChange: () => setAttributes({
|
|
27
28
|
displayAsDropdown: !displayAsDropdown
|
|
28
29
|
})
|
|
29
30
|
}), displayAsDropdown && createElement(ToggleControl, {
|
|
31
|
+
__nextHasNoMarginBottom: true,
|
|
30
32
|
label: __('Show label'),
|
|
31
33
|
checked: showLabel,
|
|
32
34
|
onChange: () => setAttributes({
|
|
33
35
|
showLabel: !showLabel
|
|
34
36
|
})
|
|
35
37
|
}), createElement(ToggleControl, {
|
|
38
|
+
__nextHasNoMarginBottom: true,
|
|
36
39
|
label: __('Show post counts'),
|
|
37
40
|
checked: showPostCounts,
|
|
38
41
|
onChange: () => setAttributes({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/archives/edit.js"],"names":["PanelBody","ToggleControl","SelectControl","Disabled","__","InspectorControls","useBlockProps","ServerSideRender","ArchivesEdit","attributes","setAttributes","showLabel","showPostCounts","displayAsDropdown","type","label","value"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,SADD,EAECC,aAFD,EAGCC,aAHD,EAICC,QAJD,QAKO,uBALP;AAMA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,iBAAT,EAA4BC,aAA5B,QAAiD,yBAAjD;AACA,OAAOC,gBAAP,MAA6B,+BAA7B;AAEA,eAAe,SAASC,YAAT,OAAuD;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACrE,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,cAAb;AAA6BC,IAAAA,iBAA7B;AAAgDC,IAAAA;AAAhD,MAAyDL,UAA/D;AAEA,SACC,8BACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGL,EAAE,CAAE,UAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,qBAAF,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/archives/edit.js"],"names":["PanelBody","ToggleControl","SelectControl","Disabled","__","InspectorControls","useBlockProps","ServerSideRender","ArchivesEdit","attributes","setAttributes","showLabel","showPostCounts","displayAsDropdown","type","label","value"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,SADD,EAECC,aAFD,EAGCC,aAHD,EAICC,QAJD,QAKO,uBALP;AAMA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,iBAAT,EAA4BC,aAA5B,QAAiD,yBAAjD;AACA,OAAOC,gBAAP,MAA6B,+BAA7B;AAEA,eAAe,SAASC,YAAT,OAAuD;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACrE,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,cAAb;AAA6BC,IAAAA,iBAA7B;AAAgDC,IAAAA;AAAhD,MAAyDL,UAA/D;AAEA,SACC,8BACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGL,EAAE,CAAE,UAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGA,EAAE,CAAE,qBAAF,CAFX;AAGC,IAAA,OAAO,EAAGS,iBAHX;AAIC,IAAA,QAAQ,EAAG,MACVH,aAAa,CAAE;AACdG,MAAAA,iBAAiB,EAAE,CAAEA;AADP,KAAF;AALf,IADD,EAWGA,iBAAiB,IAClB,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGT,EAAE,CAAE,YAAF,CAFX;AAGC,IAAA,OAAO,EAAGO,SAHX;AAIC,IAAA,QAAQ,EAAG,MACVD,aAAa,CAAE;AACdC,MAAAA,SAAS,EAAE,CAAEA;AADC,KAAF;AALf,IAZF,EAuBC,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGP,EAAE,CAAE,kBAAF,CAFX;AAGC,IAAA,OAAO,EAAGQ,cAHX;AAIC,IAAA,QAAQ,EAAG,MACVF,aAAa,CAAE;AACdE,MAAAA,cAAc,EAAE,CAAEA;AADJ,KAAF;AALf,IAvBD,EAiCC,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGR,EAAE,CAAE,WAAF,CAFX;AAGC,IAAA,OAAO,EAAG,CACT;AAAEW,MAAAA,KAAK,EAAEX,EAAE,CAAE,MAAF,CAAX;AAAuBY,MAAAA,KAAK,EAAE;AAA9B,KADS,EAET;AAAED,MAAAA,KAAK,EAAEX,EAAE,CAAE,OAAF,CAAX;AAAwBY,MAAAA,KAAK,EAAE;AAA/B,KAFS,EAGT;AAAED,MAAAA,KAAK,EAAEX,EAAE,CAAE,MAAF,CAAX;AAAuBY,MAAAA,KAAK,EAAE;AAA9B,KAHS,EAIT;AAAED,MAAAA,KAAK,EAAEX,EAAE,CAAE,KAAF,CAAX;AAAsBY,MAAAA,KAAK,EAAE;AAA7B,KAJS,CAHX;AASC,IAAA,KAAK,EAAGF,IATT;AAUC,IAAA,QAAQ,EAAKE,KAAF,IACVN,aAAa,CAAE;AAAEI,MAAAA,IAAI,EAAEE;AAAR,KAAF;AAXf,IAjCD,CADD,CADD,EAmDC,qBAAUV,aAAa,EAAvB,EACC,cAAC,QAAD,QACC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAC,eADP;AAEC,IAAA,0BAA0B,MAF3B;AAGC,IAAA,UAAU,EAAGG;AAHd,IADD,CADD,CAnDD,CADD;AA+DA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n\tDisabled,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport ServerSideRender from '@wordpress/server-side-render';\n\nexport default function ArchivesEdit( { attributes, setAttributes } ) {\n\tconst { showLabel, showPostCounts, displayAsDropdown, type } = attributes;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayAsDropdown: ! displayAsDropdown,\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{ displayAsDropdown && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tchecked={ showLabel }\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\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowPostCounts: ! showPostCounts,\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<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Group by:' ) }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Year' ), value: 'yearly' },\n\t\t\t\t\t\t\t{ label: __( 'Month' ), value: 'monthly' },\n\t\t\t\t\t\t\t{ label: __( 'Week' ), value: 'weekly' },\n\t\t\t\t\t\t\t{ label: __( 'Day' ), value: 'daily' },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tvalue={ type }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { type: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<Disabled>\n\t\t\t\t\t<ServerSideRender\n\t\t\t\t\t\tblock=\"core/archives\"\n\t\t\t\t\t\tskipBlockSupportAttributes\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -202,11 +202,13 @@ function AudioEdit(_ref) {
|
|
|
202
202
|
})), createElement(InspectorControls, null, createElement(PanelBody, {
|
|
203
203
|
title: __('Settings')
|
|
204
204
|
}, createElement(ToggleControl, {
|
|
205
|
+
__nextHasNoMarginBottom: true,
|
|
205
206
|
label: __('Autoplay'),
|
|
206
207
|
onChange: toggleAttribute('autoplay'),
|
|
207
208
|
checked: autoplay,
|
|
208
209
|
help: getAutoplayHelp
|
|
209
210
|
}), createElement(ToggleControl, {
|
|
211
|
+
__nextHasNoMarginBottom: true,
|
|
210
212
|
label: __('Loop'),
|
|
211
213
|
onChange: toggleAttribute('loop'),
|
|
212
214
|
checked: loop
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/audio/edit.js"],"names":["classnames","getBlobByURL","isBlobURL","Disabled","PanelBody","SelectControl","Spinner","ToggleControl","ToolbarButton","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useEffect","useState","useCallback","__","_x","useDispatch","useSelect","audio","icon","caption","captionIcon","createBlock","getDefaultBlockName","noticesStore","usePrevious","createUpgradedEmbedBlock","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","insertBlocksAfter","id","autoplay","loop","preload","src","prevCaption","showCaption","setShowCaption","isTemporaryAudio","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","captionRef","node","focus","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","url","undefined","createErrorNotice","message","type","getAutoplayHelp","checked","classes","blockProps","value","label","isEmpty"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,YAAT,EAAuBC,SAAvB,QAAwC,iBAAxC;AACA,SACCC,QADD,EAECC,SAFD,EAGCC,aAHD,EAICC,OAJD,EAKCC,aALD,EAMCC,aAND,QAOO,uBAPP;AAQA,SACCC,aADD,EAECC,SAFD,EAGCC,iBAHD,EAICC,gBAJD,EAKCC,gBALD,EAMCC,QAND,EAOCC,aAPD,EAQCC,KAAK,IAAIC,gBARV,EASCC,iCATD,QAUO,yBAVP;AAWA,SAASC,SAAT,EAAoBC,QAApB,EAA8BC,WAA9B,QAAiD,oBAAjD;AACA,SAASC,EAAT,EAAaC,EAAb,QAAuB,iBAAvB;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,KAAK,IAAIC,IAAlB,EAAwBC,OAAO,IAAIC,WAAnC,QAAsD,kBAAtD;AACA,SAASC,WAAT,EAAsBC,mBAAtB,QAAiD,mBAAjD;AACA,SAASf,KAAK,IAAIgB,YAAlB,QAAsC,oBAAtC;AACA,SAASC,WAAT,QAA4B,oBAA5B;AAEA;AACA;AACA;;AACA,SAASC,wBAAT,QAAyC,eAAzC;AAEA,MAAMC,mBAAmB,GAAG,CAAE,OAAF,CAA5B;;AAEA,SAASC,SAAT,OAOI;AAAA,MAPgB;AACnBC,IAAAA,UADmB;AAEnBC,IAAAA,SAFmB;AAGnBC,IAAAA,aAHmB;AAInBC,IAAAA,SAJmB;AAKnBC,IAAAA,UALmB;AAMnBC,IAAAA;AANmB,GAOhB;AACH,QAAM;AAAEC,IAAAA,EAAF;AAAMC,IAAAA,QAAN;AAAgBhB,IAAAA,OAAhB;AAAyBiB,IAAAA,IAAzB;AAA+BC,IAAAA,OAA/B;AAAwCC,IAAAA;AAAxC,MAAgDV,UAAtD;AACA,QAAMW,WAAW,GAAGf,WAAW,CAAEL,OAAF,CAA/B;AACA,QAAM,CAAEqB,WAAF,EAAeC,cAAf,IAAkC9B,QAAQ,CAAE,CAAC,CAAEQ,OAAL,CAAhD;AACA,QAAMuB,gBAAgB,GAAG,CAAER,EAAF,IAAQzC,SAAS,CAAE6C,GAAF,CAA1C;AACA,QAAMK,WAAW,GAAG3B,SAAS,CAAI4B,MAAF,IAAc;AAC5C,UAAM;AAAEC,MAAAA;AAAF,QAAkBD,MAAM,CAAEpC,gBAAF,CAA9B;AACA,WAAOqC,WAAW,GAAGF,WAArB;AACA,GAH4B,EAG1B,EAH0B,CAA7B;AAKAjC,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAEwB,EAAF,IAAQzC,SAAS,CAAE6C,GAAF,CAAtB,EAAgC;AAC/B,YAAMQ,IAAI,GAAGtD,YAAY,CAAE8C,GAAF,CAAzB;;AAEA,UAAKQ,IAAL,EAAY;AACXH,QAAAA,WAAW,CAAE;AACZI,UAAAA,SAAS,EAAE,CAAED,IAAF,CADC;AAEZE,UAAAA,YAAY,EAAE;AAAA,gBAAE,CAAEC,KAAF,CAAF;AAAA,mBAAiBC,aAAa,CAAED,KAAF,CAA9B;AAAA,WAFF;AAGZE,UAAAA,OAAO,EAAIC,CAAF,IAASC,aAAa,CAAED,CAAF,CAHnB;AAIZE,UAAAA,YAAY,EAAE5B;AAJF,SAAF,CAAX;AAMA;AACD;AACD,GAbQ,EAaN,EAbM,CAAT,CAVG,CAyBH;AACA;;AACAhB,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKS,OAAO,IAAI,CAAEoB,WAAlB,EAAgC;AAC/BE,MAAAA,cAAc,CAAE,IAAF,CAAd;AACA;AACD,GAJQ,EAIN,CAAEtB,OAAF,EAAWoB,WAAX,CAJM,CAAT,CA3BG,CAiCH;;AACA,QAAMgB,UAAU,GAAG3C,WAAW,CAC3B4C,IAAF,IAAY;AACX,QAAKA,IAAI,IAAI,CAAErC,OAAf,EAAyB;AACxBqC,MAAAA,IAAI,CAACC,KAAL;AACA;AACD,GAL4B,EAM7B,CAAEtC,OAAF,CAN6B,CAA9B;AASAT,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAEsB,UAAF,IAAgB,CAAEb,OAAvB,EAAiC;AAChCsB,MAAAA,cAAc,CAAE,KAAF,CAAd;AACA;AACD,GAJQ,EAIN,CAAET,UAAF,EAAcb,OAAd,CAJM,CAAT;;AAMA,WAASuC,eAAT,CAA0BC,SAA1B,EAAsC;AACrC,WAASC,QAAF,IAAgB;AACtB9B,MAAAA,aAAa,CAAE;AAAE,SAAE6B,SAAF,GAAeC;AAAjB,OAAF,CAAb;AACA,KAFD;AAGA;;AAED,WAASC,WAAT,CAAsBC,MAAtB,EAA+B;AAC9B;AACA;AACA,QAAKA,MAAM,KAAKxB,GAAhB,EAAsB;AACrB;AACA,YAAMyB,UAAU,GAAGtC,wBAAwB,CAAE;AAC5CG,QAAAA,UAAU,EAAE;AAAEoC,UAAAA,GAAG,EAAEF;AAAP;AADgC,OAAF,CAA3C;;AAGA,UAAKG,SAAS,KAAKF,UAAd,IAA4BhC,SAAjC,EAA6C;AAC5CA,QAAAA,SAAS,CAAEgC,UAAF,CAAT;AACA;AACA;;AACDjC,MAAAA,aAAa,CAAE;AAAEQ,QAAAA,GAAG,EAAEwB,MAAP;AAAe5B,QAAAA,EAAE,EAAE+B;AAAnB,OAAF,CAAb;AACA;AACD;;AAED,QAAM;AAAEC,IAAAA;AAAF,MAAwBnD,WAAW,CAAEQ,YAAF,CAAzC;;AACA,WAAS8B,aAAT,CAAwBc,OAAxB,EAAkC;AACjCD,IAAAA,iBAAiB,CAAEC,OAAF,EAAW;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAAX,CAAjB;AACA;;AAED,WAASC,eAAT,CAA0BC,OAA1B,EAAoC;AACnC,WAAOA,OAAO,GACXzD,EAAE,CAAE,qDAAF,CADS,GAEX,IAFH;AAGA;;AAED,WAASqC,aAAT,CAAwBD,KAAxB,EAAgC;AAC/B,QAAK,CAAEA,KAAF,IAAW,CAAEA,KAAK,CAACe,GAAxB,EAA8B;AAC7B;AACA;AACAlC,MAAAA,aAAa,CAAE;AACdQ,QAAAA,GAAG,EAAE2B,SADS;AAEd/B,QAAAA,EAAE,EAAE+B,SAFU;AAGd9C,QAAAA,OAAO,EAAE8C;AAHK,OAAF,CAAb;AAKA;AACA,KAV8B,CAW/B;AACA;;;AACAnC,IAAAA,aAAa,CAAE;AACdQ,MAAAA,GAAG,EAAEW,KAAK,CAACe,GADG;AAEd9B,MAAAA,EAAE,EAAEe,KAAK,CAACf,EAFI;AAGdf,MAAAA,OAAO,EAAE8B,KAAK,CAAC9B;AAHD,KAAF,CAAb;AAKA;;AAED,QAAMoD,OAAO,GAAGhF,UAAU,CAAEsC,SAAF,EAAa;AACtC,oBAAgBa;AADsB,GAAb,CAA1B;AAIA,QAAM8B,UAAU,GAAGlE,aAAa,CAAE;AACjCuB,IAAAA,SAAS,EAAE0C;AADsB,GAAF,CAAhC;;AAIA,MAAK,CAAEjC,GAAP,EAAa;AACZ,WACC,qBAAUkC,UAAV,EACC,cAAC,gBAAD;AACC,MAAA,IAAI,EAAG,cAAC,SAAD;AAAW,QAAA,IAAI,EAAGtD;AAAlB,QADR;AAEC,MAAA,QAAQ,EAAGgC,aAFZ;AAGC,MAAA,WAAW,EAAGW,WAHf;AAIC,MAAA,MAAM,EAAC,SAJR;AAKC,MAAA,YAAY,EAAGnC,mBALhB;AAMC,MAAA,KAAK,EAAGE,UANT;AAOC,MAAA,OAAO,EAAGyB;AAPX,MADD,CADD;AAaA;;AAED,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,aAAD;AACC,IAAA,OAAO,EAAG,MAAM;AACfZ,MAAAA,cAAc,CAAE,CAAED,WAAJ,CAAd;;AACA,UAAKA,WAAW,IAAIrB,OAApB,EAA8B;AAC7BW,QAAAA,aAAa,CAAE;AAAEX,UAAAA,OAAO,EAAE8C;AAAX,SAAF,CAAb;AACA;AACD,KANF;AAOC,IAAA,IAAI,EAAG7C,WAPR;AAQC,IAAA,SAAS,EAAGoB,WARb;AASC,IAAA,KAAK,EACJA,WAAW,GACR3B,EAAE,CAAE,gBAAF,CADM,GAERA,EAAE,CAAE,aAAF;AAZP,IADD,CADD,EAkBC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,gBAAD;AACC,IAAA,OAAO,EAAGqB,EADX;AAEC,IAAA,QAAQ,EAAGI,GAFZ;AAGC,IAAA,YAAY,EAAGZ,mBAHhB;AAIC,IAAA,MAAM,EAAC,SAJR;AAKC,IAAA,QAAQ,EAAGwB,aALZ;AAMC,IAAA,WAAW,EAAGW,WANf;AAOC,IAAA,OAAO,EAAGR;AAPX,IADD,CAlBD,EA6BC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGxC,EAAE,CAAE,UAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,UAAF,CADX;AAEC,IAAA,QAAQ,EAAG6C,eAAe,CAAE,UAAF,CAF3B;AAGC,IAAA,OAAO,EAAGvB,QAHX;AAIC,IAAA,IAAI,EAAGkC;AAJR,IADD,EAOC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGxD,EAAE,CAAE,MAAF,CADX;AAEC,IAAA,QAAQ,EAAG6C,eAAe,CAAE,MAAF,CAF3B;AAGC,IAAA,OAAO,EAAGtB;AAHX,IAPD,EAYC,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGtB,EAAE,CAAE,SAAF,EAAa,6BAAb,CAFX;AAGC,IAAA,KAAK,EAAGuB,OAAO,IAAI,EAHpB,CAIC;AAJD;AAKC,IAAA,QAAQ,EAAKoC,KAAF,IACV3C,aAAa,CAAE;AACdO,MAAAA,OAAO,EAAEoC,KAAK,IAAIR;AADJ,KAAF,CANf;AAUC,IAAA,OAAO,EAAG,CACT;AAAEQ,MAAAA,KAAK,EAAE,EAAT;AAAaC,MAAAA,KAAK,EAAE7D,EAAE,CAAE,iBAAF;AAAtB,KADS,EAET;AAAE4D,MAAAA,KAAK,EAAE,MAAT;AAAiBC,MAAAA,KAAK,EAAE7D,EAAE,CAAE,MAAF;AAA1B,KAFS,EAGT;AAAE4D,MAAAA,KAAK,EAAE,UAAT;AAAqBC,MAAAA,KAAK,EAAE7D,EAAE,CAAE,UAAF;AAA9B,KAHS,EAIT;AACC4D,MAAAA,KAAK,EAAE,MADR;AAECC,MAAAA,KAAK,EAAE5D,EAAE,CAAE,MAAF,EAAU,eAAV;AAFV,KAJS;AAVX,IAZD,CADD,CA7BD,EAgEC,wBAAa0D,UAAb,EAMC,cAAC,QAAD;AAAU,IAAA,UAAU,EAAG,CAAExC;AAAzB,KACC;AAAO,IAAA,QAAQ,EAAC,UAAhB;AAA2B,IAAA,GAAG,EAAGM;AAAjC,IADD,CAND,EASGI,gBAAgB,IAAI,cAAC,OAAD,OATvB,EAUGF,WAAW,KACV,CAAEnC,QAAQ,CAACsE,OAAT,CAAkBxD,OAAlB,CAAF,IAAiCa,UADvB,CAAX,IAEA,cAAC,QAAD;AACC,IAAA,UAAU,EAAC,SADZ;AAEC,IAAA,OAAO,EAAC,YAFT;AAGC,IAAA,SAAS,EAAGvB,iCAAiC,CAC5C,SAD4C,CAH9C;AAMC,IAAA,GAAG,EAAG8C,UANP;AAOC,kBAAa1C,EAAE,CAAE,oBAAF,CAPhB;AAQC,IAAA,WAAW,EAAGA,EAAE,CAAE,aAAF,CARjB;AASC,IAAA,KAAK,EAAGM,OATT;AAUC,IAAA,QAAQ,EAAKsD,KAAF,IACV3C,aAAa,CAAE;AAAEX,MAAAA,OAAO,EAAEsD;AAAX,KAAF,CAXf;AAaC,IAAA,aAAa,MAbd;AAcC,IAAA,sBAAsB,EAAG,MACxBxC,iBAAiB,CAChBZ,WAAW,CAAEC,mBAAmB,EAArB,CADK;AAfnB,IAZH,CAhED,CADD;AAqGA;;AAED,eAAeK,SAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { audio as icon, caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, caption, loop, preload, src } = attributes;\n\tconst prevCaption = usePrevious( caption );\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\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 } );\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 getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\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} );\n\t\t\treturn;\n\t\t}\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\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\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<BlockControls group=\"block\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t{ showCaption &&\n\t\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tref={ captionRef }\n\t\t\t\t\t\t\taria-label={ __( 'Audio caption text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/audio/edit.js"],"names":["classnames","getBlobByURL","isBlobURL","Disabled","PanelBody","SelectControl","Spinner","ToggleControl","ToolbarButton","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useEffect","useState","useCallback","__","_x","useDispatch","useSelect","audio","icon","caption","captionIcon","createBlock","getDefaultBlockName","noticesStore","usePrevious","createUpgradedEmbedBlock","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","insertBlocksAfter","id","autoplay","loop","preload","src","prevCaption","showCaption","setShowCaption","isTemporaryAudio","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","captionRef","node","focus","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","url","undefined","createErrorNotice","message","type","getAutoplayHelp","checked","classes","blockProps","value","label","isEmpty"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { audio as icon, caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, caption, loop, preload, src } = attributes;\n\tconst prevCaption = usePrevious( caption );\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\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 } );\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 getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\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} );\n\t\t\treturn;\n\t\t}\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\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\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<BlockControls group=\"block\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t{ showCaption &&\n\t\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tref={ captionRef }\n\t\t\t\t\t\t\taria-label={ __( 'Audio caption text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement, Fragment } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -40,6 +39,7 @@ const AvatarInspectorControls = _ref => {
|
|
|
40
39
|
initialPosition: attributes === null || attributes === void 0 ? void 0 : attributes.size,
|
|
41
40
|
value: attributes === null || attributes === void 0 ? void 0 : attributes.size
|
|
42
41
|
}), createElement(ToggleControl, {
|
|
42
|
+
__nextHasNoMarginBottom: true,
|
|
43
43
|
label: __('Link to user profile'),
|
|
44
44
|
onChange: () => setAttributes({
|
|
45
45
|
isLink: !attributes.isLink
|
|
@@ -93,15 +93,12 @@ const ResizableAvatar = _ref2 => {
|
|
|
93
93
|
},
|
|
94
94
|
minWidth: avatar.minSize,
|
|
95
95
|
maxWidth: avatar.maxSize
|
|
96
|
-
}, createElement("img",
|
|
96
|
+
}, createElement("img", {
|
|
97
97
|
src: doubledSizedSrc,
|
|
98
|
-
alt: avatar.alt
|
|
99
|
-
}, borderProps, {
|
|
98
|
+
alt: avatar.alt,
|
|
100
99
|
className: classnames('avatar', 'avatar-' + attributes.size, 'photo', 'wp-block-avatar__image', borderProps.className),
|
|
101
|
-
style:
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
}))));
|
|
100
|
+
style: borderProps.style
|
|
101
|
+
})));
|
|
105
102
|
};
|
|
106
103
|
|
|
107
104
|
const CommentEdit = _ref3 => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/avatar/edit.js"],"names":["classnames","InspectorControls","useBlockProps","__experimentalUseBorderProps","useBorderProps","PanelBody","RangeControl","ResizableBox","ToggleControl","__","isRTL","addQueryArgs","removeQueryArgs","useUserAvatar","useCommentAvatar","UserControl","AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","newSize","size","minSize","maxSize","isLink","value","linkTarget","userId","ResizableAvatar","blockProps","isSelected","borderProps","doubledSizedSrc","src","s","width","height","event","direction","elt","delta","parseInt","top","right","bottom","left","alt","className","style","CommentEdit","context","commentId","preventDefault","UserEdit","postId","postType","Edit","props"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { useUserAvatar, useCommentAvatar } from './hooks';\nimport UserControl from './user-control';\n\nconst AvatarInspectorControls = ( {\n\tsetAttributes,\n\tavatar,\n\tattributes,\n\tselectUser,\n} ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: newSize,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tmin={ avatar.minSize }\n\t\t\t\tmax={ avatar.maxSize }\n\t\t\t\tinitialPosition={ attributes?.size }\n\t\t\t\tvalue={ attributes?.size }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Link to user profile' ) }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( { isLink: ! attributes.isLink } )\n\t\t\t\t}\n\t\t\t\tchecked={ attributes.isLink }\n\t\t\t/>\n\t\t\t{ attributes.isLink && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ attributes.linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ selectUser && (\n\t\t\t\t<UserControl\n\t\t\t\t\tvalue={ attributes?.userId }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tuserId: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t</InspectorControls>\n);\n\nconst ResizableAvatar = ( {\n\tsetAttributes,\n\tattributes,\n\tavatar,\n\tblockProps,\n\tisSelected,\n} ) => {\n\tconst borderProps = useBorderProps( attributes );\n\tconst doubledSizedSrc = addQueryArgs(\n\t\tremoveQueryArgs( avatar?.src, [ 's' ] ),\n\t\t{\n\t\t\ts: attributes?.size * 2,\n\t\t}\n\t);\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: attributes.size,\n\t\t\t\t\theight: attributes.size,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: parseInt(\n\t\t\t\t\t\t\tattributes.size + ( delta.height || delta.width ),\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: ! isRTL(),\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: isRTL(),\n\t\t\t\t} }\n\t\t\t\tminWidth={ avatar.minSize }\n\t\t\t\tmaxWidth={ avatar.maxSize }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ doubledSizedSrc }\n\t\t\t\t\talt={ avatar.alt }\n\t\t\t\t\t{ ...borderProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'avatar',\n\t\t\t\t\t\t'avatar-' + attributes.size,\n\t\t\t\t\t\t'photo',\n\t\t\t\t\t\t'wp-block-avatar__image',\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style, // Border radius, width and style.\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n};\nconst CommentEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { commentId } = context;\n\tconst blockProps = useBlockProps();\n\tconst avatar = useCommentAvatar( { commentId } );\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tselectUser={ false }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nconst UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { postId, postType } = context;\n\tconst avatar = useUserAvatar( {\n\t\tuserId: attributes?.userId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tselectUser={ true }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t{ attributes.isLink ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default function Edit( props ) {\n\t// Don't show the Comment Edit controls if we have a comment ID set, or if we're in the Site Editor (where it is `null`).\n\tif ( props?.context?.commentId || props?.context?.commentId === null ) {\n\t\treturn <CommentEdit { ...props } />;\n\t}\n\treturn <UserEdit { ...props } />;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/avatar/edit.js"],"names":["classnames","InspectorControls","useBlockProps","__experimentalUseBorderProps","useBorderProps","PanelBody","RangeControl","ResizableBox","ToggleControl","__","isRTL","addQueryArgs","removeQueryArgs","useUserAvatar","useCommentAvatar","UserControl","AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","newSize","size","minSize","maxSize","isLink","value","linkTarget","userId","ResizableAvatar","blockProps","isSelected","borderProps","doubledSizedSrc","src","s","width","height","event","direction","elt","delta","parseInt","top","right","bottom","left","alt","className","style","CommentEdit","context","commentId","preventDefault","UserEdit","postId","postType","Edit","props"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { useUserAvatar, useCommentAvatar } from './hooks';\nimport UserControl from './user-control';\n\nconst AvatarInspectorControls = ( {\n\tsetAttributes,\n\tavatar,\n\tattributes,\n\tselectUser,\n} ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: newSize,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tmin={ avatar.minSize }\n\t\t\t\tmax={ avatar.maxSize }\n\t\t\t\tinitialPosition={ attributes?.size }\n\t\t\t\tvalue={ attributes?.size }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Link to user profile' ) }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( { isLink: ! attributes.isLink } )\n\t\t\t\t}\n\t\t\t\tchecked={ attributes.isLink }\n\t\t\t/>\n\t\t\t{ attributes.isLink && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ attributes.linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ selectUser && (\n\t\t\t\t<UserControl\n\t\t\t\t\tvalue={ attributes?.userId }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tuserId: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t</InspectorControls>\n);\n\nconst ResizableAvatar = ( {\n\tsetAttributes,\n\tattributes,\n\tavatar,\n\tblockProps,\n\tisSelected,\n} ) => {\n\tconst borderProps = useBorderProps( attributes );\n\tconst doubledSizedSrc = addQueryArgs(\n\t\tremoveQueryArgs( avatar?.src, [ 's' ] ),\n\t\t{\n\t\t\ts: attributes?.size * 2,\n\t\t}\n\t);\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: attributes.size,\n\t\t\t\t\theight: attributes.size,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: parseInt(\n\t\t\t\t\t\t\tattributes.size + ( delta.height || delta.width ),\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: ! isRTL(),\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: isRTL(),\n\t\t\t\t} }\n\t\t\t\tminWidth={ avatar.minSize }\n\t\t\t\tmaxWidth={ avatar.maxSize }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ doubledSizedSrc }\n\t\t\t\t\talt={ avatar.alt }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'avatar',\n\t\t\t\t\t\t'avatar-' + attributes.size,\n\t\t\t\t\t\t'photo',\n\t\t\t\t\t\t'wp-block-avatar__image',\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ borderProps.style }\n\t\t\t\t/>\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n};\nconst CommentEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { commentId } = context;\n\tconst blockProps = useBlockProps();\n\tconst avatar = useCommentAvatar( { commentId } );\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tselectUser={ false }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nconst UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { postId, postType } = context;\n\tconst avatar = useUserAvatar( {\n\t\tuserId: attributes?.userId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tselectUser={ true }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t{ attributes.isLink ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default function Edit( props ) {\n\t// Don't show the Comment Edit controls if we have a comment ID set, or if we're in the Site Editor (where it is `null`).\n\tif ( props?.context?.commentId || props?.context?.commentId === null ) {\n\t\treturn <CommentEdit { ...props } />;\n\t}\n\treturn <UserEdit { ...props } />;\n}\n"]}
|
|
@@ -129,22 +129,27 @@ export default function CategoriesEdit(_ref) {
|
|
|
129
129
|
return createElement(TagName, blockProps, createElement(InspectorControls, null, createElement(PanelBody, {
|
|
130
130
|
title: __('Settings')
|
|
131
131
|
}, createElement(ToggleControl, {
|
|
132
|
+
__nextHasNoMarginBottom: true,
|
|
132
133
|
label: __('Display as dropdown'),
|
|
133
134
|
checked: displayAsDropdown,
|
|
134
135
|
onChange: toggleAttribute('displayAsDropdown')
|
|
135
136
|
}), createElement(ToggleControl, {
|
|
137
|
+
__nextHasNoMarginBottom: true,
|
|
136
138
|
label: __('Show post counts'),
|
|
137
139
|
checked: showPostCounts,
|
|
138
140
|
onChange: toggleAttribute('showPostCounts')
|
|
139
141
|
}), createElement(ToggleControl, {
|
|
142
|
+
__nextHasNoMarginBottom: true,
|
|
140
143
|
label: __('Show only top level categories'),
|
|
141
144
|
checked: showOnlyTopLevel,
|
|
142
145
|
onChange: toggleAttribute('showOnlyTopLevel')
|
|
143
146
|
}), createElement(ToggleControl, {
|
|
147
|
+
__nextHasNoMarginBottom: true,
|
|
144
148
|
label: __('Show empty categories'),
|
|
145
149
|
checked: showEmpty,
|
|
146
150
|
onChange: toggleAttribute('showEmpty')
|
|
147
151
|
}), !showOnlyTopLevel && createElement(ToggleControl, {
|
|
152
|
+
__nextHasNoMarginBottom: true,
|
|
148
153
|
label: __('Show hierarchy'),
|
|
149
154
|
checked: showHierarchy,
|
|
150
155
|
onChange: toggleAttribute('showHierarchy')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/categories/edit.js"],"names":["classnames","PanelBody","Placeholder","Spinner","ToggleControl","VisuallyHidden","useInstanceId","InspectorControls","useBlockProps","decodeEntities","__","pin","useEntityRecords","CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","setAttributes","className","selectId","query","per_page","hide_empty","context","parent","records","categories","isResolving","getCategoriesList","parentId","length","filter","toggleAttribute","attributeName","newValue","renderCategoryName","name","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","childCategory","renderCategoryDropdown","renderCategoryDropdownItem","level","Array","from","TagName","classes","blockProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t},\n\tsetAttributes,\n\tclassName,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\t'category',\n\t\tquery\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 = 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 } target=\"_blank\" rel=\"noreferrer noopener\">\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{ showHierarchy && !! childCategories.length && (\n\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ul>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ selectId }>\n\t\t\t\t\t{ __( 'Categories' ) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<select id={ selectId }>\n\t\t\t\t\t<option>{ __( 'Select Category' ) }</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\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 = classnames( className, {\n\t\t'wp-block-categories-list':\n\t\t\t!! categories?.length && ! displayAsDropdown && ! isResolving,\n\t\t'wp-block-categories-dropdown':\n\t\t\t!! categories?.length && displayAsDropdown && ! isResolving,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show only top level categories' ) }\n\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showOnlyTopLevel' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show empty categories' ) }\n\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Categories' ) }>\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>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Your site does not have any posts, so there is nothing to display here at the moment.'\n\t\t\t\t\t) }\n\t\t\t\t</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"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/categories/edit.js"],"names":["classnames","PanelBody","Placeholder","Spinner","ToggleControl","VisuallyHidden","useInstanceId","InspectorControls","useBlockProps","decodeEntities","__","pin","useEntityRecords","CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","setAttributes","className","selectId","query","per_page","hide_empty","context","parent","records","categories","isResolving","getCategoriesList","parentId","length","filter","toggleAttribute","attributeName","newValue","renderCategoryName","name","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","childCategory","renderCategoryDropdown","renderCategoryDropdownItem","level","Array","from","TagName","classes","blockProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t},\n\tsetAttributes,\n\tclassName,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\t'category',\n\t\tquery\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 = 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 } target=\"_blank\" rel=\"noreferrer noopener\">\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{ showHierarchy && !! childCategories.length && (\n\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ul>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ selectId }>\n\t\t\t\t\t{ __( 'Categories' ) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<select id={ selectId }>\n\t\t\t\t\t<option>{ __( 'Select Category' ) }</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\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 = classnames( className, {\n\t\t'wp-block-categories-list':\n\t\t\t!! categories?.length && ! displayAsDropdown && ! isResolving,\n\t\t'wp-block-categories-dropdown':\n\t\t\t!! categories?.length && displayAsDropdown && ! isResolving,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show only top level categories' ) }\n\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showOnlyTopLevel' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show empty categories' ) }\n\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Categories' ) }>\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>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Your site does not have any posts, so there is nothing to display here at the moment.'\n\t\t\t\t\t) }\n\t\t\t\t</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"]}
|
|
@@ -76,6 +76,7 @@ function ColumnsEditContainer(_ref) {
|
|
|
76
76
|
status: "warning",
|
|
77
77
|
isDismissible: false
|
|
78
78
|
}, __('This column count exceeds the recommended amount and may cause visual breakage.')), createElement(ToggleControl, {
|
|
79
|
+
__nextHasNoMarginBottom: true,
|
|
79
80
|
label: __('Stack on mobile'),
|
|
80
81
|
checked: isStackedOnMobile,
|
|
81
82
|
onChange: () => setAttributes({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/columns/edit.js"],"names":["classnames","get","__","Notice","PanelBody","RangeControl","ToggleControl","InspectorControls","useInnerBlocksProps","BlockControls","BlockVerticalAlignmentToolbar","__experimentalBlockVariationPicker","useBlockProps","store","blockEditorStore","withDispatch","useDispatch","useSelect","createBlock","createBlocksFromInnerBlocksTemplate","blocksStore","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","ALLOWED_BLOCKS","ColumnsEditContainer","attributes","setAttributes","updateAlignment","updateColumns","clientId","isStackedOnMobile","verticalAlignment","count","select","getBlockCount","classes","blockProps","className","innerBlocksProps","allowedBlocks","orientation","renderAppender","value","Math","max","ColumnsEditContainerWrapper","dispatch","ownProps","registry","updateBlockAttributes","getBlockOrder","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","length","map","width","slice","Placeholder","name","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","nextVariation","ColumnsEdit","props","hasInnerBlocks","Component"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tsetAttributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tclientId,\n} ) {\n\tconst { isStackedOnMobile, verticalAlignment } = attributes;\n\n\tconst { count } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tcount: select( blockEditorStore ).getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst classes = classnames( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\tonChange={ ( value ) => updateColumns( count, value ) }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Updates the column count, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column count.\n\t\t * @param {number} newColumns New column count.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t} )\n)( ColumnsEditContainer );\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ get( blockType, [ 'icon', 'src' ] ) }\n\t\t\t\tlabel={ get( blockType, [ 'title' ] ) }\n\t\t\t\tvariations={ variations }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks\n\t\t? ColumnsEditContainerWrapper\n\t\t: Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/columns/edit.js"],"names":["classnames","get","__","Notice","PanelBody","RangeControl","ToggleControl","InspectorControls","useInnerBlocksProps","BlockControls","BlockVerticalAlignmentToolbar","__experimentalBlockVariationPicker","useBlockProps","store","blockEditorStore","withDispatch","useDispatch","useSelect","createBlock","createBlocksFromInnerBlocksTemplate","blocksStore","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","ALLOWED_BLOCKS","ColumnsEditContainer","attributes","setAttributes","updateAlignment","updateColumns","clientId","isStackedOnMobile","verticalAlignment","count","select","getBlockCount","classes","blockProps","className","innerBlocksProps","allowedBlocks","orientation","renderAppender","value","Math","max","ColumnsEditContainerWrapper","dispatch","ownProps","registry","updateBlockAttributes","getBlockOrder","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","length","map","width","slice","Placeholder","name","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","nextVariation","ColumnsEdit","props","hasInnerBlocks","Component"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tsetAttributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tclientId,\n} ) {\n\tconst { isStackedOnMobile, verticalAlignment } = attributes;\n\n\tconst { count } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tcount: select( blockEditorStore ).getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst classes = classnames( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\tonChange={ ( value ) => updateColumns( count, value ) }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Updates the column count, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column count.\n\t\t * @param {number} newColumns New column count.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t} )\n)( ColumnsEditContainer );\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ get( blockType, [ 'icon', 'src' ] ) }\n\t\t\t\tlabel={ get( blockType, [ 'title' ] ) }\n\t\t\t\tvariations={ variations }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks\n\t\t? ColumnsEditContainerWrapper\n\t\t: Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { mapValues } from 'lodash';
|
|
5
5
|
/**
|
|
6
6
|
* Returns a column width attribute value rounded to standard precision.
|
|
7
7
|
* Returns `undefined` if the value is not a valid finite number.
|
|
@@ -113,8 +113,8 @@ export function hasExplicitPercentColumnWidths(blocks) {
|
|
|
113
113
|
*/
|
|
114
114
|
|
|
115
115
|
export function getMappedColumnWidths(blocks, widths) {
|
|
116
|
-
return blocks.map(block =>
|
|
117
|
-
attributes: {
|
|
116
|
+
return blocks.map(block => ({ ...block,
|
|
117
|
+
attributes: { ...block.attributes,
|
|
118
118
|
width: `${widths[block.clientId]}%`
|
|
119
119
|
}
|
|
120
120
|
}));
|