@wordpress/block-library 8.4.0 → 8.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/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/buttons/edit.native.js +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/categories/edit.js +5 -0
- package/build/categories/edit.js.map +1 -1
- package/build/columns/edit.js +11 -8
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +1 -1
- package/build/columns/edit.native.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/edit/placeholder.js +8 -5
- package/build/comments/edit/placeholder.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/cover/index.js +13 -4
- package/build/cover/index.js.map +1 -1
- package/build/cover/variations.js +29 -0
- package/build/cover/variations.js.map +1 -0
- package/build/embed/edit.js +13 -14
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +18 -14
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/embed-controls.js +1 -0
- package/build/embed/embed-controls.js.map +1 -1
- package/build/embed/util.js +39 -12
- package/build/embed/util.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 +3 -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 +14 -10
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/edit.native.js +3 -3
- package/build/latest-posts/edit.native.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/constants.js +17 -1
- package/build/media-text/constants.js.map +1 -1
- package/build/media-text/edit.js +9 -19
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/edit.native.js +6 -5
- package/build/media-text/edit.native.js.map +1 -1
- package/build/media-text/transforms.js +32 -44
- package/build/media-text/transforms.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 +64 -68
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +4 -1
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +2 -5
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +26 -22
- 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 +14 -1
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +3 -5
- 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/edit.js +0 -11
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +1 -13
- package/build/navigation-submenu/edit.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 +62 -62
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list-item/edit.js +3 -2
- package/build/page-list-item/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-content/edit.js +6 -1
- package/build/post-content/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/dimension-controls.js +0 -6
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +3 -1
- 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/pullquote/deprecated.js +3 -3
- package/build/pullquote/deprecated.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/edit/query-placeholder.js +3 -2
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/utils.js +26 -9
- package/build/query/utils.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/state.js +12 -4
- package/build/table/state.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 +33 -30
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/template-part/edit/utils/transformers.js +69 -19
- package/build/template-part/edit/utils/transformers.js.map +1 -1
- package/build/text-columns/edit.js +3 -7
- package/build/text-columns/edit.js.map +1 -1
- package/build/text-columns/save.js +11 -13
- package/build/text-columns/save.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/buttons/edit.native.js +1 -1
- package/build-module/buttons/edit.native.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 +11 -7
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +1 -1
- package/build-module/columns/edit.native.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/edit/placeholder.js +9 -5
- package/build-module/comments/edit/placeholder.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/cover/index.js +12 -4
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/variations.js +19 -0
- package/build-module/cover/variations.js.map +1 -0
- package/build-module/embed/edit.js +14 -15
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +19 -15
- package/build-module/embed/edit.native.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/embed/util.js +34 -10
- package/build-module/embed/util.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 +3 -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 +14 -9
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +3 -3
- package/build-module/latest-posts/edit.native.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/constants.js +10 -0
- package/build-module/media-text/constants.js.map +1 -1
- package/build-module/media-text/edit.js +4 -14
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/edit.native.js +4 -3
- package/build-module/media-text/edit.native.js.map +1 -1
- package/build-module/media-text/transforms.js +32 -44
- package/build-module/media-text/transforms.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 +65 -69
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +4 -1
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +2 -5
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +25 -22
- 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 +14 -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 +3 -5
- 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/edit.js +0 -11
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +1 -13
- package/build-module/navigation-submenu/edit.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 +64 -65
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list-item/edit.js +3 -2
- package/build-module/page-list-item/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-content/edit.js +6 -1
- package/build-module/post-content/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/dimension-controls.js +0 -6
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +3 -1
- 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/pullquote/deprecated.js +3 -2
- package/build-module/pullquote/deprecated.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/edit/query-placeholder.js +4 -3
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/utils.js +21 -6
- package/build-module/query/utils.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/state.js +13 -5
- package/build-module/table/state.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 +32 -29
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/template-part/edit/utils/transformers.js +69 -20
- package/build-module/template-part/edit/utils/transformers.js.map +1 -1
- package/build-module/text-columns/edit.js +3 -6
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-module/text-columns/save.js +11 -12
- package/build-module/text-columns/save.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/cover/style-rtl.css +11 -5
- package/build-style/cover/style.css +11 -5
- package/build-style/editor-rtl.css +9 -4
- package/build-style/editor.css +9 -4
- package/build-style/navigation/editor-rtl.css +1 -1
- package/build-style/navigation/editor.css +1 -1
- package/build-style/page-list/editor-rtl.css +4 -0
- package/build-style/page-list/editor.css +4 -0
- package/build-style/post-excerpt/editor-rtl.css +1 -1
- package/build-style/post-excerpt/editor.css +1 -1
- package/build-style/post-featured-image/style-rtl.css +1 -0
- package/build-style/post-featured-image/style.css +1 -0
- 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/build-style/style-rtl.css +12 -5
- package/build-style/style.css +12 -5
- 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 +82 -42
- package/src/audio/test/__snapshots__/transforms.native.js.snap +25 -0
- package/src/audio/test/transforms.native.js +42 -0
- package/src/avatar/edit.js +2 -4
- package/src/block/test/__snapshots__/transforms.native.js.snap +15 -0
- package/src/block/test/transforms.native.js +40 -0
- package/src/buttons/edit.native.js +1 -1
- package/src/buttons/test/__snapshots__/edit.native.js.snap +11 -11
- package/src/buttons/test/__snapshots__/transforms.native.js.snap +31 -0
- package/src/buttons/test/transforms.native.js +48 -0
- package/src/categories/edit.js +5 -0
- package/src/code/test/__snapshots__/edit.native.js.snap +2 -2
- package/src/columns/edit.js +29 -17
- package/src/columns/edit.native.js +1 -1
- package/src/columns/test/__snapshots__/edit.native.js.snap +66 -66
- package/src/columns/test/__snapshots__/transforms.native.js.snap +61 -0
- package/src/columns/test/transforms.native.js +91 -0
- 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/comment-template/index.php +1 -2
- package/src/comments/edit/placeholder.js +16 -4
- package/src/comments-title/edit.js +2 -0
- package/src/cover/block.json +9 -3
- package/src/cover/edit/inspector-controls.js +2 -0
- package/src/cover/index.js +2 -0
- package/src/cover/index.php +4 -6
- package/src/cover/style.scss +16 -7
- package/src/cover/test/__snapshots__/edit.native.js.snap +36 -36
- package/src/cover/test/__snapshots__/transforms.native.js.snap +73 -0
- package/src/cover/test/transforms.native.js +112 -0
- package/src/cover/variations.js +20 -0
- package/src/embed/edit.js +16 -12
- package/src/embed/edit.native.js +28 -18
- package/src/embed/embed-controls.js +1 -0
- package/src/embed/test/__snapshots__/index.native.js.snap +52 -52
- package/src/embed/test/__snapshots__/transforms.native.js.snap +23 -0
- package/src/embed/test/index.js +12 -0
- package/src/embed/test/transforms.native.js +44 -0
- package/src/embed/util.js +29 -8
- package/src/file/inspector.js +3 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +67 -51
- package/src/file/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/file/test/transforms.native.js +42 -0
- package/src/freeform/modal.js +1 -1
- package/src/freeform/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/freeform/test/transforms.native.js +39 -0
- package/src/gallery/edit.js +5 -0
- package/src/gallery/shared.js +6 -11
- package/src/gallery/test/__snapshots__/index.native.js.snap +71 -71
- package/src/gallery/test/__snapshots__/transforms.native.js.snap +53 -0
- package/src/gallery/test/transforms.native.js +52 -0
- 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/group/test/__snapshots__/transforms.native.js.snap +35 -0
- package/src/group/test/transforms.native.js +75 -0
- package/src/heading/test/__snapshots__/index.native.js.snap +1 -1
- package/src/heading/test/__snapshots__/transforms.native.js.snap +47 -0
- package/src/heading/test/transforms.native.js +46 -0
- package/src/image/edit.js +4 -4
- package/src/image/image.js +4 -9
- package/src/image/index.php +4 -4
- package/src/image/test/__snapshots__/transforms.native.js.snap +49 -0
- package/src/image/test/transforms.native.js +48 -0
- 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 +15 -16
- package/src/latest-posts/edit.native.js +3 -3
- package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +15 -0
- package/src/latest-posts/test/transforms.native.js +61 -0
- package/src/list/ordered-list-settings.js +1 -0
- package/src/list/test/__snapshots__/edit.native.js.snap +4 -4
- package/src/list/test/__snapshots__/transforms.native.js.snap +85 -0
- package/src/list/test/transforms.native.js +56 -0
- 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/constants.js +16 -0
- package/src/media-text/edit.js +10 -18
- package/src/media-text/edit.native.js +3 -9
- package/src/media-text/test/__snapshots__/transforms.native.js.snap +73 -0
- package/src/media-text/test/transforms.native.js +112 -0
- package/src/media-text/transforms.js +24 -51
- package/src/missing/test/__snapshots__/edit.native.js.snap +21 -3
- package/src/more/edit.js +1 -0
- package/src/more/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/more/test/transforms.native.js +42 -0
- package/src/navigation/edit/index.js +121 -76
- package/src/navigation/edit/inner-blocks.js +3 -0
- package/src/navigation/edit/menu-inspector-controls.js +2 -7
- package/src/navigation/edit/navigation-menu-selector.js +41 -25
- 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 +46 -32
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +124 -122
- 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/editor.scss +23 -20
- package/src/navigation/index.php +5 -3
- package/src/navigation-link/edit.js +0 -9
- package/src/navigation-link/index.php +5 -8
- package/src/navigation-link/test/__snapshots__/hooks.js.snap +12 -12
- package/src/navigation-submenu/edit.js +0 -10
- package/src/navigation-submenu/index.php +23 -6
- package/src/nextpage/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/nextpage/test/transforms.native.js +42 -0
- package/src/page-list/convert-to-links-modal.js +38 -0
- package/src/page-list/edit.js +82 -69
- package/src/page-list/editor.scss +6 -0
- package/src/page-list-item/edit.js +2 -3
- package/src/paragraph/edit.js +1 -0
- package/src/paragraph/test/__snapshots__/transforms.native.js.snap +59 -0
- package/src/paragraph/test/transforms.native.js +50 -0
- package/src/post-author/edit.js +4 -0
- package/src/post-author-name/edit.js +2 -0
- package/src/post-content/edit.js +5 -1
- 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-excerpt/index.php +1 -2
- package/src/post-featured-image/dimension-controls.js +0 -8
- package/src/post-featured-image/edit.js +3 -1
- package/src/post-featured-image/style.scss +1 -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/preformatted/test/__snapshots__/transforms.native.js.snap +31 -0
- package/src/preformatted/test/transforms.native.js +42 -0
- package/src/pullquote/deprecated.js +2 -6
- package/src/pullquote/test/__snapshots__/transforms.native.js.snap +47 -0
- package/src/pullquote/test/transforms.native.js +46 -0
- package/src/query/edit/inspector-controls/index.js +1 -0
- package/src/query/edit/query-placeholder.js +10 -5
- package/src/query/editor.scss +1 -0
- package/src/query/test/utils.js +33 -1
- package/src/query/utils.js +19 -6
- package/src/query-title/edit.js +2 -0
- package/src/quote/test/__snapshots__/transforms.native.js.snap +39 -0
- package/src/quote/test/transforms.native.js +67 -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 +71 -61
- package/src/search/test/__snapshots__/transforms.native.js.snap +15 -0
- package/src/search/test/transforms.native.js +40 -0
- package/src/separator/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/separator/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/separator/test/transforms.native.js +42 -0
- package/src/shortcode/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/shortcode/test/transforms.native.js +42 -0
- 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/social-links/test/__snapshots__/transforms.native.js.snap +31 -0
- package/src/social-links/test/transforms.native.js +53 -0
- 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/__snapshots__/transforms.native.js.snap +19 -0
- package/src/spacer/test/index.native.js +81 -0
- package/src/spacer/test/transforms.native.js +42 -0
- package/src/table/edit.js +3 -0
- package/src/table/state.js +8 -17
- 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 +26 -34
- package/src/template-part/edit/utils/transformers.js +96 -19
- package/src/template-part/index.php +7 -6
- package/src/text-columns/edit.js +1 -6
- package/src/text-columns/save.js +1 -6
- package/src/verse/test/__snapshots__/edit.native.js.snap +2 -2
- package/src/verse/test/__snapshots__/transforms.native.js.snap +25 -0
- package/src/verse/test/transforms.native.js +42 -0
- package/src/video/edit-common-settings.js +5 -0
- package/src/video/test/__snapshots__/transforms.native.js.snap +41 -0
- package/src/video/test/transforms.native.js +48 -0
- package/tsconfig.json +2 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/social-links/edit.js"],"names":["ALLOWED_BLOCKS","sizeOptions","name","value","SocialLinksEdit","props","clientId","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","customIconBackgroundColor","iconColorValue","openInNewTab","showLabels","size","logosOnly","className","includes","backgroundBackup","current","undefined","SocialPlaceholder","SelectedSocialPlaceholder","color","blockProps","innerBlocksProps","allowedBlocks","placeholder","templateLock","__experimentalAppenderTagName","POPOVER_PROPS","position","colorSettings","onChange","colorValue","label","resetAllFilter","push","colorGradientSettings","onClose","map","entry","check","onColorChange","isShownByDefault","enableAlpha","textColor","backgroundColor","iconColorAttributes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\twithColors,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPanelBody,\n\tToggleControl,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check } from '@wordpress/icons';\n\nconst ALLOWED_BLOCKS = [ 'core/social-link' ];\n\nconst sizeOptions = [\n\t{ name: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ name: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ name: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ name: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\tcustomIconBackgroundColor,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t} = attributes;\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tconst backgroundBackup = useRef( {} );\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tbackgroundBackup.current = {\n\t\t\t\ticonBackgroundColor,\n\t\t\t\ticonBackgroundColorValue,\n\t\t\t\tcustomIconBackgroundColor,\n\t\t\t};\n\t\t\tsetAttributes( {\n\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( { ...backgroundBackup.current } );\n\t\t}\n\t}, [ logosOnly ] );\n\n\tconst SocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-placeholder\">\n\t\t\t<div className=\"wp-block-social-links__social-placeholder-icons\">\n\t\t\t\t<div className=\"wp-social-link wp-social-link-twitter\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-facebook\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-instagram\"></div>\n\t\t\t</div>\n\t\t</li>\n\t);\n\n\tconst SelectedSocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-prompt\">\n\t\t\t{ __( 'Click plus to add' ) }\n\t\t</li>\n\t);\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = classNames( size, {\n\t\t'has-visible-labels': showLabels,\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\tplaceholder: isSelected ? SelectedSocialPlaceholder : SocialPlaceholder,\n\t\ttemplateLock: false,\n\t\t__experimentalAppenderTagName: 'li',\n\t} );\n\n\tconst POPOVER_PROPS = {\n\t\tposition: 'bottom right',\n\t};\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconColor( undefined );\n\t\t\t\tsetAttributes( { iconColorValue: undefined } );\n\t\t\t},\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconBackgroundColor( undefined );\n\t\t\t\tsetAttributes( { iconBackgroundColorValue: undefined } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\ttext={ __( 'Size' ) }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ sizeOptions.map( ( entry ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t( size === entry.value ||\n\t\t\t\t\t\t\t\t\t\t\t\t( ! size &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry.value ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'has-normal-icon-size' ) ) &&\n\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisSelected={ size === entry.value }\n\t\t\t\t\t\t\t\t\t\tkey={ entry.value }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tsize: entry.value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ entry.name }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: ! openInNewTab } )\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\tlabel={ __( 'Show labels' ) }\n\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\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<InspectorControls group=\"color\">\n\t\t\t\t{ colorSettings.map(\n\t\t\t\t\t( { onChange, label, value, resetAllFilter } ) => (\n\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\tkey={ `social-links-color-${ label }` }\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcolorValue: value,\n\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\tonColorChange: onChange,\n\t\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\t\tresetAllFilter,\n\t\t\t\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t) }\n\t\t\t\t{ ! logosOnly && (\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/social-links/edit.js"],"names":["ALLOWED_BLOCKS","sizeOptions","name","value","SocialLinksEdit","props","clientId","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","customIconBackgroundColor","iconColorValue","openInNewTab","showLabels","size","logosOnly","className","includes","backgroundBackup","current","undefined","SocialPlaceholder","SelectedSocialPlaceholder","color","blockProps","innerBlocksProps","allowedBlocks","placeholder","templateLock","orientation","layout","__experimentalAppenderTagName","POPOVER_PROPS","position","colorSettings","onChange","colorValue","label","resetAllFilter","push","colorGradientSettings","onClose","map","entry","check","onColorChange","isShownByDefault","enableAlpha","textColor","backgroundColor","iconColorAttributes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\twithColors,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPanelBody,\n\tToggleControl,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check } from '@wordpress/icons';\n\nconst ALLOWED_BLOCKS = [ 'core/social-link' ];\n\nconst sizeOptions = [\n\t{ name: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ name: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ name: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ name: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\tcustomIconBackgroundColor,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t} = attributes;\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tconst backgroundBackup = useRef( {} );\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tbackgroundBackup.current = {\n\t\t\t\ticonBackgroundColor,\n\t\t\t\ticonBackgroundColorValue,\n\t\t\t\tcustomIconBackgroundColor,\n\t\t\t};\n\t\t\tsetAttributes( {\n\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( { ...backgroundBackup.current } );\n\t\t}\n\t}, [ logosOnly ] );\n\n\tconst SocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-placeholder\">\n\t\t\t<div className=\"wp-block-social-links__social-placeholder-icons\">\n\t\t\t\t<div className=\"wp-social-link wp-social-link-twitter\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-facebook\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-instagram\"></div>\n\t\t\t</div>\n\t\t</li>\n\t);\n\n\tconst SelectedSocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-prompt\">\n\t\t\t{ __( 'Click plus to add' ) }\n\t\t</li>\n\t);\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = classNames( size, {\n\t\t'has-visible-labels': showLabels,\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\tplaceholder: isSelected ? SelectedSocialPlaceholder : SocialPlaceholder,\n\t\ttemplateLock: false,\n\t\torientation: attributes.layout?.orientation ?? 'horizontal',\n\t\t__experimentalAppenderTagName: 'li',\n\t} );\n\n\tconst POPOVER_PROPS = {\n\t\tposition: 'bottom right',\n\t};\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconColor( undefined );\n\t\t\t\tsetAttributes( { iconColorValue: undefined } );\n\t\t\t},\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconBackgroundColor( undefined );\n\t\t\t\tsetAttributes( { iconBackgroundColorValue: undefined } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\ttext={ __( 'Size' ) }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ sizeOptions.map( ( entry ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t( size === entry.value ||\n\t\t\t\t\t\t\t\t\t\t\t\t( ! size &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry.value ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'has-normal-icon-size' ) ) &&\n\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisSelected={ size === entry.value }\n\t\t\t\t\t\t\t\t\t\tkey={ entry.value }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tsize: entry.value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ entry.name }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: ! openInNewTab } )\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 labels' ) }\n\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\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<InspectorControls group=\"color\">\n\t\t\t\t{ colorSettings.map(\n\t\t\t\t\t( { onChange, label, value, resetAllFilter } ) => (\n\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\tkey={ `social-links-color-${ label }` }\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcolorValue: value,\n\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\tonColorChange: onChange,\n\t\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\t\tresetAllFilter,\n\t\t\t\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t) }\n\t\t\t\t{ ! logosOnly && (\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"]}
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.default = void 0;
|
|
8
|
+
exports.default = exports.DEFAULT_VALUES = void 0;
|
|
9
9
|
|
|
10
10
|
var _element = require("@wordpress/element");
|
|
11
11
|
|
|
@@ -33,26 +33,28 @@ const DEFAULT_VALUES = {
|
|
|
33
33
|
vw: 10,
|
|
34
34
|
vh: 25
|
|
35
35
|
};
|
|
36
|
+
exports.DEFAULT_VALUES = DEFAULT_VALUES;
|
|
36
37
|
|
|
37
38
|
function Controls(_ref) {
|
|
38
39
|
let {
|
|
39
40
|
attributes,
|
|
40
41
|
context,
|
|
41
|
-
setAttributes
|
|
42
|
+
setAttributes,
|
|
43
|
+
presetWidth,
|
|
44
|
+
presetHeight
|
|
42
45
|
} = _ref;
|
|
43
46
|
const {
|
|
44
47
|
orientation
|
|
45
48
|
} = context;
|
|
46
49
|
const label = orientation !== 'horizontal' ? (0, _i18n.__)('Height') : (0, _i18n.__)('Width');
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
width
|
|
50
|
-
} = attributes;
|
|
50
|
+
const width = presetWidth || attributes.width;
|
|
51
|
+
const height = presetHeight || attributes.height;
|
|
51
52
|
const {
|
|
52
53
|
valueToConvert,
|
|
53
54
|
valueUnit: unit
|
|
54
55
|
} = (0, _components.getValueAndUnit)(orientation !== 'horizontal' ? height : width) || {};
|
|
55
56
|
const value = Number(valueToConvert);
|
|
57
|
+
const currentUnit = unit || 'px';
|
|
56
58
|
|
|
57
59
|
const setNewDimensions = (nextValue, nextUnit) => {
|
|
58
60
|
const valueWithUnit = `${nextValue}${nextUnit}`;
|
|
@@ -69,7 +71,7 @@ function Controls(_ref) {
|
|
|
69
71
|
};
|
|
70
72
|
|
|
71
73
|
const handleChange = (0, _element.useCallback)(nextValue => {
|
|
72
|
-
setNewDimensions(nextValue,
|
|
74
|
+
setNewDimensions(nextValue, currentUnit);
|
|
73
75
|
}, [height, width]);
|
|
74
76
|
const handleUnitChange = (0, _element.useCallback)(nextUnit => {
|
|
75
77
|
setNewDimensions(value, nextUnit);
|
|
@@ -87,7 +89,7 @@ function Controls(_ref) {
|
|
|
87
89
|
onChange: handleChange,
|
|
88
90
|
onUnitChange: handleUnitChange,
|
|
89
91
|
units: units,
|
|
90
|
-
unit:
|
|
92
|
+
unit: currentUnit,
|
|
91
93
|
style: _style.default.rangeCellContainer
|
|
92
94
|
})));
|
|
93
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/spacer/controls.native.js"],"names":["DEFAULT_VALUES","px","em","rem","vw","vh","Controls","attributes","context","setAttributes","orientation","label","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/spacer/controls.native.js"],"names":["DEFAULT_VALUES","px","em","rem","vw","vh","Controls","attributes","context","setAttributes","presetWidth","presetHeight","orientation","label","width","height","valueToConvert","valueUnit","unit","value","Number","currentUnit","setNewDimensions","nextValue","nextUnit","valueWithUnit","handleChange","handleUnitChange","units","availableUnits","defaultValues","MIN_SPACER_SIZE","styles","rangeCellContainer"],"mappings":";;;;;;;;;AASA;;AANA;;AAOA;;AACA;;AAKA;;AACA;;AAjBA;AACA;AACA;;AAWA;AACA;AACA;AAIO,MAAMA,cAAc,GAAG;AAAEC,EAAAA,EAAE,EAAE,GAAN;AAAWC,EAAAA,EAAE,EAAE,EAAf;AAAmBC,EAAAA,GAAG,EAAE,EAAxB;AAA4BC,EAAAA,EAAE,EAAE,EAAhC;AAAoCC,EAAAA,EAAE,EAAE;AAAxC,CAAvB;;;AAEP,SAASC,QAAT,OAMI;AAAA,MANe;AAClBC,IAAAA,UADkB;AAElBC,IAAAA,OAFkB;AAGlBC,IAAAA,aAHkB;AAIlBC,IAAAA,WAJkB;AAKlBC,IAAAA;AALkB,GAMf;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAkBJ,OAAxB;AACA,QAAMK,KAAK,GAAGD,WAAW,KAAK,YAAhB,GAA+B,cAAI,QAAJ,CAA/B,GAAgD,cAAI,OAAJ,CAA9D;AAEA,QAAME,KAAK,GAAGJ,WAAW,IAAIH,UAAU,CAACO,KAAxC;AACA,QAAMC,MAAM,GAAGJ,YAAY,IAAIJ,UAAU,CAACQ,MAA1C;AACA,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,SAAS,EAAEC;AAA7B,MACL,iCAAiBN,WAAW,KAAK,YAAhB,GAA+BG,MAA/B,GAAwCD,KAAzD,KAAoE,EADrE;AAEA,QAAMK,KAAK,GAAGC,MAAM,CAAEJ,cAAF,CAApB;AACA,QAAMK,WAAW,GAAGH,IAAI,IAAI,IAA5B;;AAEA,QAAMI,gBAAgB,GAAG,CAAEC,SAAF,EAAaC,QAAb,KAA2B;AACnD,UAAMC,aAAa,GAAI,GAAGF,SAAW,GAAGC,QAAU,EAAlD;;AACA,QAAKZ,WAAW,KAAK,YAArB,EAAoC;AACnCH,MAAAA,aAAa,CAAE;AAAEK,QAAAA,KAAK,EAAEW;AAAT,OAAF,CAAb;AACA,KAFD,MAEO;AACNhB,MAAAA,aAAa,CAAE;AAAEM,QAAAA,MAAM,EAAEU;AAAV,OAAF,CAAb;AACA;AACD,GAPD;;AASA,QAAMC,YAAY,GAAG,0BAClBH,SAAF,IAAiB;AAChBD,IAAAA,gBAAgB,CAAEC,SAAF,EAAaF,WAAb,CAAhB;AACA,GAHmB,EAIpB,CAAEN,MAAF,EAAUD,KAAV,CAJoB,CAArB;AAOA,QAAMa,gBAAgB,GAAG,0BACtBH,QAAF,IAAgB;AACfF,IAAAA,gBAAgB,CAAEH,KAAF,EAASK,QAAT,CAAhB;AACA,GAHuB,EAIxB,CAAET,MAAF,EAAUD,KAAV,CAJwB,CAAzB;AAOA,QAAMc,KAAK,GAAG,8CAAgB;AAC7BC,IAAAA,cAAc,EAAE,6BAAY,eAAZ,KAAiC,CAChD,IADgD,EAEhD,IAFgD,EAGhD,KAHgD,EAIhD,IAJgD,EAKhD,IALgD,CADpB;AAQ7BC,IAAAA,aAAa,EAAE9B;AARc,GAAhB,CAAd;AAWA,SACC,qDACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,YAAJ;AAAnB,KACC,4BAAC,uBAAD;AACC,IAAA,KAAK,EAAGa,KADT;AAEC,IAAA,GAAG,EAAGkB,0BAFP;AAGC,IAAA,KAAK,EAAGZ,KAHT;AAIC,IAAA,QAAQ,EAAGO,YAJZ;AAKC,IAAA,YAAY,EAAGC,gBALhB;AAMC,IAAA,KAAK,EAAGC,KANT;AAOC,IAAA,IAAI,EAAGP,WAPR;AAQC,IAAA,KAAK,EAAGW,eAAOC;AARhB,IADD,CADD,CADD;AAgBA;;eAEc3B,Q","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { useCallback } from '@wordpress/element';\nimport { useSetting } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SPACER_SIZE } from './constants';\nimport styles from './style.scss';\n\nexport const DEFAULT_VALUES = { px: 100, em: 10, rem: 10, vw: 10, vh: 25 };\n\nfunction Controls( {\n\tattributes,\n\tcontext,\n\tsetAttributes,\n\tpresetWidth,\n\tpresetHeight,\n} ) {\n\tconst { orientation } = context;\n\tconst label = orientation !== 'horizontal' ? __( 'Height' ) : __( 'Width' );\n\n\tconst width = presetWidth || attributes.width;\n\tconst height = presetHeight || attributes.height;\n\tconst { valueToConvert, valueUnit: unit } =\n\t\tgetValueAndUnit( orientation !== 'horizontal' ? height : width ) || {};\n\tconst value = Number( valueToConvert );\n\tconst currentUnit = unit || 'px';\n\n\tconst setNewDimensions = ( nextValue, nextUnit ) => {\n\t\tconst valueWithUnit = `${ nextValue }${ nextUnit }`;\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tsetAttributes( { width: valueWithUnit } );\n\t\t} else {\n\t\t\tsetAttributes( { height: valueWithUnit } );\n\t\t}\n\t};\n\n\tconst handleChange = useCallback(\n\t\t( nextValue ) => {\n\t\t\tsetNewDimensions( nextValue, currentUnit );\n\t\t},\n\t\t[ height, width ]\n\t);\n\n\tconst handleUnitChange = useCallback(\n\t\t( nextUnit ) => {\n\t\t\tsetNewDimensions( value, nextUnit );\n\t\t},\n\t\t[ height, width ]\n\t);\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: DEFAULT_VALUES,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Dimensions' ) }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tmin={ MIN_SPACER_SIZE }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ handleChange }\n\t\t\t\t\tonUnitChange={ handleUnitChange }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tunit={ currentUnit }\n\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default Controls;\n"]}
|
|
@@ -9,6 +9,8 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _element = require("@wordpress/element");
|
|
11
11
|
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
12
14
|
var _reactNative = require("react-native");
|
|
13
15
|
|
|
14
16
|
var _components = require("@wordpress/components");
|
|
@@ -17,10 +19,14 @@ var _compose = require("@wordpress/compose");
|
|
|
17
19
|
|
|
18
20
|
var _blockEditor = require("@wordpress/block-editor");
|
|
19
21
|
|
|
20
|
-
var _controls =
|
|
22
|
+
var _controls = _interopRequireWildcard(require("./controls"));
|
|
21
23
|
|
|
22
24
|
var _editorNative = _interopRequireDefault(require("./editor.native.scss"));
|
|
23
25
|
|
|
26
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
+
|
|
28
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
|
+
|
|
24
30
|
/**
|
|
25
31
|
* External dependencies
|
|
26
32
|
*/
|
|
@@ -32,6 +38,8 @@ var _editorNative = _interopRequireDefault(require("./editor.native.scss"));
|
|
|
32
38
|
/**
|
|
33
39
|
* Internal dependencies
|
|
34
40
|
*/
|
|
41
|
+
const DEFAULT_FONT_SIZE = 16;
|
|
42
|
+
|
|
35
43
|
const Spacer = _ref => {
|
|
36
44
|
let {
|
|
37
45
|
attributes,
|
|
@@ -40,10 +48,24 @@ const Spacer = _ref => {
|
|
|
40
48
|
isSelected,
|
|
41
49
|
getStylesFromColorScheme
|
|
42
50
|
} = _ref;
|
|
51
|
+
const {
|
|
52
|
+
height: screenHeight,
|
|
53
|
+
width: screenWidth
|
|
54
|
+
} = (0, _reactNative.useWindowDimensions)();
|
|
55
|
+
const cssUnitOptions = {
|
|
56
|
+
height: screenHeight,
|
|
57
|
+
width: screenWidth,
|
|
58
|
+
fontSize: DEFAULT_FONT_SIZE
|
|
59
|
+
};
|
|
43
60
|
const {
|
|
44
61
|
height,
|
|
45
62
|
width
|
|
46
63
|
} = attributes;
|
|
64
|
+
const spacingSizes = [{
|
|
65
|
+
name: 0,
|
|
66
|
+
slug: '0',
|
|
67
|
+
size: 0
|
|
68
|
+
}, ...((0, _blockEditor.useSetting)('spacing.spacingSizes') || [])];
|
|
47
69
|
const {
|
|
48
70
|
orientation
|
|
49
71
|
} = context;
|
|
@@ -56,18 +78,34 @@ const Spacer = _ref => {
|
|
|
56
78
|
});
|
|
57
79
|
}
|
|
58
80
|
}, []);
|
|
59
|
-
|
|
60
|
-
|
|
81
|
+
let convertedHeight = (0, _components.useConvertUnitToMobile)(height);
|
|
82
|
+
let convertedWidth = (0, _components.useConvertUnitToMobile)(width);
|
|
83
|
+
const presetValues = {};
|
|
84
|
+
|
|
85
|
+
if ((0, _blockEditor.isValueSpacingPreset)(height)) {
|
|
86
|
+
const heightValue = (0, _blockEditor.getCustomValueFromPreset)(height, spacingSizes);
|
|
87
|
+
const parsedPresetHeightValue = parseFloat((0, _blockEditor.getPxFromCssUnit)(heightValue, cssUnitOptions));
|
|
88
|
+
convertedHeight = parsedPresetHeightValue || _controls.DEFAULT_VALUES.px;
|
|
89
|
+
presetValues.presetHeight = convertedHeight;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if ((0, _blockEditor.isValueSpacingPreset)(width)) {
|
|
93
|
+
const widthValue = (0, _blockEditor.getCustomValueFromPreset)(width, spacingSizes);
|
|
94
|
+
const parsedPresetWidthValue = parseFloat((0, _blockEditor.getPxFromCssUnit)(widthValue, cssUnitOptions));
|
|
95
|
+
convertedWidth = parsedPresetWidthValue || _controls.DEFAULT_VALUES.px;
|
|
96
|
+
presetValues.presetWidth = convertedWidth;
|
|
97
|
+
}
|
|
98
|
+
|
|
61
99
|
return (0, _element.createElement)(_reactNative.View, {
|
|
62
100
|
style: [defaultStyle, isSelected && _editorNative.default.selectedSpacer, {
|
|
63
101
|
height: convertedHeight,
|
|
64
102
|
width: convertedWidth
|
|
65
103
|
}]
|
|
66
|
-
}, isSelected && (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_controls.default, {
|
|
104
|
+
}, isSelected && (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_controls.default, (0, _extends2.default)({
|
|
67
105
|
attributes: attributes,
|
|
68
106
|
context: context,
|
|
69
107
|
setAttributes: setAttributes
|
|
70
|
-
})));
|
|
108
|
+
}, presetValues))));
|
|
71
109
|
};
|
|
72
110
|
|
|
73
111
|
var _default = (0, _compose.withPreferredColorScheme)(Spacer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/spacer/edit.native.js"],"names":["Spacer","attributes","context","setAttributes","isSelected","getStylesFromColorScheme","height","width","orientation","defaultStyle","styles","staticSpacer","staticDarkSpacer","convertedHeight","convertedWidth","selectedSpacer"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/spacer/edit.native.js"],"names":["DEFAULT_FONT_SIZE","Spacer","attributes","context","setAttributes","isSelected","getStylesFromColorScheme","height","screenHeight","width","screenWidth","cssUnitOptions","fontSize","spacingSizes","name","slug","size","orientation","defaultStyle","styles","staticSpacer","staticDarkSpacer","convertedHeight","convertedWidth","presetValues","heightValue","parsedPresetHeightValue","parseFloat","DEFAULT_VALUES","px","presetHeight","widthValue","parsedPresetWidthValue","presetWidth","selectedSpacer"],"mappings":";;;;;;;;;AAiBA;;;;AAdA;;AAKA;;AACA;;AACA;;AAYA;;AACA;;;;;;AAvBA;AACA;AACA;;AAGA;AACA;AACA;;AAYA;AACA;AACA;AAIA,MAAMA,iBAAiB,GAAG,EAA1B;;AAEA,MAAMC,MAAM,GAAG,QAMR;AAAA,MANU;AAChBC,IAAAA,UADgB;AAEhBC,IAAAA,OAFgB;AAGhBC,IAAAA,aAHgB;AAIhBC,IAAAA,UAJgB;AAKhBC,IAAAA;AALgB,GAMV;AACN,QAAM;AAAEC,IAAAA,MAAM,EAAEC,YAAV;AAAwBC,IAAAA,KAAK,EAAEC;AAA/B,MAA+C,uCAArD;AACA,QAAMC,cAAc,GAAG;AACtBJ,IAAAA,MAAM,EAAEC,YADc;AAEtBC,IAAAA,KAAK,EAAEC,WAFe;AAGtBE,IAAAA,QAAQ,EAAEZ;AAHY,GAAvB;AAKA,QAAM;AAAEO,IAAAA,MAAF;AAAUE,IAAAA;AAAV,MAAoBP,UAA1B;AACA,QAAMW,YAAY,GAAG,CACpB;AAAEC,IAAAA,IAAI,EAAE,CAAR;AAAWC,IAAAA,IAAI,EAAE,GAAjB;AAAsBC,IAAAA,IAAI,EAAE;AAA5B,GADoB,EAEpB,IAAK,6BAAY,sBAAZ,KAAwC,EAA7C,CAFoB,CAArB;AAIA,QAAM;AAAEC,IAAAA;AAAF,MAAkBd,OAAxB;AACA,QAAMe,YAAY,GAAGZ,wBAAwB,CAC5Ca,sBAAOC,YADqC,EAE5CD,sBAAOE,gBAFqC,CAA7C;AAKA,0BAAW,MAAM;AAChB,QAAKJ,WAAW,KAAK,YAAhB,IAAgC,CAAER,KAAvC,EAA+C;AAC9CL,MAAAA,aAAa,CAAE;AACdG,QAAAA,MAAM,EAAE,KADM;AAEdE,QAAAA,KAAK,EAAE;AAFO,OAAF,CAAb;AAIA;AACD,GAPD,EAOG,EAPH;AASA,MAAIa,eAAe,GAAG,wCAAwBf,MAAxB,CAAtB;AACA,MAAIgB,cAAc,GAAG,wCAAwBd,KAAxB,CAArB;AACA,QAAMe,YAAY,GAAG,EAArB;;AAEA,MAAK,uCAAsBjB,MAAtB,CAAL,EAAsC;AACrC,UAAMkB,WAAW,GAAG,2CAA0BlB,MAA1B,EAAkCM,YAAlC,CAApB;AACA,UAAMa,uBAAuB,GAAGC,UAAU,CACzC,mCAAkBF,WAAlB,EAA+Bd,cAA/B,CADyC,CAA1C;AAIAW,IAAAA,eAAe,GAAGI,uBAAuB,IAAIE,yBAAeC,EAA5D;AACAL,IAAAA,YAAY,CAACM,YAAb,GAA4BR,eAA5B;AACA;;AAED,MAAK,uCAAsBb,KAAtB,CAAL,EAAqC;AACpC,UAAMsB,UAAU,GAAG,2CAA0BtB,KAA1B,EAAiCI,YAAjC,CAAnB;AACA,UAAMmB,sBAAsB,GAAGL,UAAU,CACxC,mCAAkBI,UAAlB,EAA8BpB,cAA9B,CADwC,CAAzC;AAIAY,IAAAA,cAAc,GAAGS,sBAAsB,IAAIJ,yBAAeC,EAA1D;AACAL,IAAAA,YAAY,CAACS,WAAb,GAA2BV,cAA3B;AACA;;AAED,SACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG,CACPL,YADO,EAEPb,UAAU,IAAIc,sBAAOe,cAFd,EAGP;AAAE3B,MAAAA,MAAM,EAAEe,eAAV;AAA2Bb,MAAAA,KAAK,EAAEc;AAAlC,KAHO;AADT,KAOGlB,UAAU,IACX,4BAAC,8BAAD,QACC,4BAAC,iBAAD;AACC,IAAA,UAAU,EAAGH,UADd;AAEC,IAAA,OAAO,EAAGC,OAFX;AAGC,IAAA,aAAa,EAAGC;AAHjB,KAIMoB,YAJN,EADD,CARF,CADD;AAoBA,CA7ED;;eA+Ee,uCAA0BvB,MAA1B,C","sourcesContent":["/**\n * External dependencies\n */\nimport { View, useWindowDimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useConvertUnitToMobile } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tisValueSpacingPreset,\n\tuseSetting,\n\tgetCustomValueFromPreset,\n\tgetPxFromCssUnit,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Controls, { DEFAULT_VALUES } from './controls';\nimport styles from './editor.native.scss';\n\nconst DEFAULT_FONT_SIZE = 16;\n\nconst Spacer = ( {\n\tattributes,\n\tcontext,\n\tsetAttributes,\n\tisSelected,\n\tgetStylesFromColorScheme,\n} ) => {\n\tconst { height: screenHeight, width: screenWidth } = useWindowDimensions();\n\tconst cssUnitOptions = {\n\t\theight: screenHeight,\n\t\twidth: screenWidth,\n\t\tfontSize: DEFAULT_FONT_SIZE,\n\t};\n\tconst { height, width } = attributes;\n\tconst spacingSizes = [\n\t\t{ name: 0, slug: '0', size: 0 },\n\t\t...( useSetting( 'spacing.spacingSizes' ) || [] ),\n\t];\n\tconst { orientation } = context;\n\tconst defaultStyle = getStylesFromColorScheme(\n\t\tstyles.staticSpacer,\n\t\tstyles.staticDarkSpacer\n\t);\n\n\tuseEffect( () => {\n\t\tif ( orientation === 'horizontal' && ! width ) {\n\t\t\tsetAttributes( {\n\t\t\t\theight: '0px',\n\t\t\t\twidth: '72px',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tlet convertedHeight = useConvertUnitToMobile( height );\n\tlet convertedWidth = useConvertUnitToMobile( width );\n\tconst presetValues = {};\n\n\tif ( isValueSpacingPreset( height ) ) {\n\t\tconst heightValue = getCustomValueFromPreset( height, spacingSizes );\n\t\tconst parsedPresetHeightValue = parseFloat(\n\t\t\tgetPxFromCssUnit( heightValue, cssUnitOptions )\n\t\t);\n\n\t\tconvertedHeight = parsedPresetHeightValue || DEFAULT_VALUES.px;\n\t\tpresetValues.presetHeight = convertedHeight;\n\t}\n\n\tif ( isValueSpacingPreset( width ) ) {\n\t\tconst widthValue = getCustomValueFromPreset( width, spacingSizes );\n\t\tconst parsedPresetWidthValue = parseFloat(\n\t\t\tgetPxFromCssUnit( widthValue, cssUnitOptions )\n\t\t);\n\n\t\tconvertedWidth = parsedPresetWidthValue || DEFAULT_VALUES.px;\n\t\tpresetValues.presetWidth = convertedWidth;\n\t}\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tdefaultStyle,\n\t\t\t\tisSelected && styles.selectedSpacer,\n\t\t\t\t{ height: convertedHeight, width: convertedWidth },\n\t\t\t] }\n\t\t>\n\t\t\t{ isSelected && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<Controls\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t{ ...presetValues }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default withPreferredColorScheme( Spacer );\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = save;
|
|
7
|
+
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
|
|
10
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* WordPress dependencies
|
|
14
|
+
*/
|
|
15
|
+
function save(_ref) {
|
|
16
|
+
let {
|
|
17
|
+
attributes: {
|
|
18
|
+
height,
|
|
19
|
+
width
|
|
20
|
+
}
|
|
21
|
+
} = _ref;
|
|
22
|
+
return (0, _element.createElement)("div", _blockEditor.useBlockProps.save({
|
|
23
|
+
style: {
|
|
24
|
+
height: (0, _blockEditor.getSpacingPresetCssVar)(height),
|
|
25
|
+
width: (0, _blockEditor.getSpacingPresetCssVar)(width)
|
|
26
|
+
},
|
|
27
|
+
'aria-hidden': true
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=save.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/spacer/save.native.js"],"names":["save","attributes","height","width","useBlockProps","style"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGe,SAASA,IAAT,OAAmD;AAAA,MAApC;AAAEC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,MAAF;AAAUC,MAAAA;AAAV;AAAd,GAAoC;AACjE,SACC,mCACMC,2BAAcJ,IAAd,CAAoB;AACxBK,IAAAA,KAAK,EAAE;AACNH,MAAAA,MAAM,EAAE,yCAAwBA,MAAxB,CADF;AAENC,MAAAA,KAAK,EAAE,yCAAwBA,KAAxB;AAFD,KADiB;AAKxB,mBAAe;AALS,GAApB,CADN,CADD;AAWA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useBlockProps, getSpacingPresetCssVar } from '@wordpress/block-editor';\n\nexport default function save( { attributes: { height, width } } ) {\n\treturn (\n\t\t<div\n\t\t\t{ ...useBlockProps.save( {\n\t\t\t\tstyle: {\n\t\t\t\t\theight: getSpacingPresetCssVar( height ),\n\t\t\t\t\twidth: getSpacingPresetCssVar( width ),\n\t\t\t\t},\n\t\t\t\t'aria-hidden': true,\n\t\t\t} ) }\n\t\t/>\n\t);\n}\n"]}
|
package/build/table/edit.js
CHANGED
|
@@ -439,14 +439,17 @@ function TableEdit(_ref2) {
|
|
|
439
439
|
title: (0, _i18n.__)('Settings'),
|
|
440
440
|
className: "blocks-table-settings"
|
|
441
441
|
}, (0, _element.createElement)(_components.ToggleControl, {
|
|
442
|
+
__nextHasNoMarginBottom: true,
|
|
442
443
|
label: (0, _i18n.__)('Fixed width table cells'),
|
|
443
444
|
checked: !!hasFixedLayout,
|
|
444
445
|
onChange: onChangeFixedLayout
|
|
445
446
|
}), !isEmpty && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.ToggleControl, {
|
|
447
|
+
__nextHasNoMarginBottom: true,
|
|
446
448
|
label: (0, _i18n.__)('Header section'),
|
|
447
449
|
checked: !!(head && head.length),
|
|
448
450
|
onChange: onToggleHeaderSection
|
|
449
451
|
}), (0, _element.createElement)(_components.ToggleControl, {
|
|
452
|
+
__nextHasNoMarginBottom: true,
|
|
450
453
|
label: (0, _i18n.__)('Footer section'),
|
|
451
454
|
checked: !!(foot && foot.length),
|
|
452
455
|
onChange: onToggleFooterSection
|
package/build/table/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/table/edit.js"],"names":["ALIGNMENT_CONTROLS","icon","alignLeft","title","align","alignCenter","alignRight","cellAriaLabel","head","body","foot","placeholder","TSection","name","props","TagName","TableEdit","attributes","setAttributes","insertBlocksAfter","isSelected","hasFixedLayout","caption","initialRowCount","setInitialRowCount","initialColumnCount","setInitialColumnCount","selectedCell","setSelectedCell","colorProps","borderProps","tableRef","hasTableCreated","setHasTableCreated","onChangeInitialColumnCount","count","onChangeInitialRowCount","onCreateTable","event","preventDefault","rowCount","parseInt","columnCount","onChangeFixedLayout","onChange","content","cellAttributes","onChangeColumnAlignment","columnSelection","type","columnIndex","newAttributes","getCellAlignment","onToggleHeaderSection","onToggleFooterSection","onInsertRow","delta","sectionName","rowIndex","newRowIndex","onInsertRowBefore","onInsertRowAfter","onDeleteRow","onInsertColumn","newColumnIndex","onInsertColumnBefore","onInsertColumnAfter","onDeleteColumn","current","querySelector","focus","sections","filter","tableControls","tableRowBefore","isDisabled","onClick","tableRowAfter","tableRowDelete","tableColumnBefore","tableColumnAfter","tableColumnDelete","renderedSections","map","cells","tag","CellTag","scope","colspan","rowspan","undefined","isEmpty","length","ref","nextAlign","table","className","style","border","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tRichText,\n\tBlockIcon,\n\tAlignmentControl,\n\tuseBlockProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPanelBody,\n\tPlaceholder,\n\tTextControl,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport {\n\talignLeft,\n\talignRight,\n\talignCenter,\n\tblockTable as icon,\n\ttableColumnAfter,\n\ttableColumnBefore,\n\ttableColumnDelete,\n\ttableRowAfter,\n\ttableRowBefore,\n\ttableRowDelete,\n\ttable,\n} from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcreateTable,\n\tupdateSelectedCell,\n\tgetCellAttribute,\n\tinsertRow,\n\tdeleteRow,\n\tinsertColumn,\n\tdeleteColumn,\n\ttoggleSection,\n\tisEmptyTableSection,\n} from './state';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align column left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align column center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align column right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst cellAriaLabel = {\n\thead: __( 'Header cell text' ),\n\tbody: __( 'Body cell text' ),\n\tfoot: __( 'Footer cell text' ),\n};\n\nconst placeholder = {\n\thead: __( 'Header label' ),\n\tfoot: __( 'Footer label' ),\n};\n\nfunction TSection( { name, ...props } ) {\n\tconst TagName = `t${ name }`;\n\treturn <TagName { ...props } />;\n}\n\nfunction TableEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tisSelected,\n} ) {\n\tconst { hasFixedLayout, caption, head, foot } = attributes;\n\tconst [ initialRowCount, setInitialRowCount ] = useState( 2 );\n\tconst [ initialColumnCount, setInitialColumnCount ] = useState( 2 );\n\tconst [ selectedCell, setSelectedCell ] = useState();\n\n\tconst colorProps = useColorProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst tableRef = useRef();\n\tconst [ hasTableCreated, setHasTableCreated ] = useState( false );\n\n\t/**\n\t * Updates the initial column count used for table creation.\n\t *\n\t * @param {number} count New initial column count.\n\t */\n\tfunction onChangeInitialColumnCount( count ) {\n\t\tsetInitialColumnCount( count );\n\t}\n\n\t/**\n\t * Updates the initial row count used for table creation.\n\t *\n\t * @param {number} count New initial row count.\n\t */\n\tfunction onChangeInitialRowCount( count ) {\n\t\tsetInitialRowCount( count );\n\t}\n\n\t/**\n\t * Creates a table based on dimensions in local state.\n\t *\n\t * @param {Object} event Form submit event.\n\t */\n\tfunction onCreateTable( event ) {\n\t\tevent.preventDefault();\n\n\t\tsetAttributes(\n\t\t\tcreateTable( {\n\t\t\t\trowCount: parseInt( initialRowCount, 10 ) || 2,\n\t\t\t\tcolumnCount: parseInt( initialColumnCount, 10 ) || 2,\n\t\t\t} )\n\t\t);\n\t\tsetHasTableCreated( true );\n\t}\n\n\t/**\n\t * Toggles whether the table has a fixed layout or not.\n\t */\n\tfunction onChangeFixedLayout() {\n\t\tsetAttributes( { hasFixedLayout: ! hasFixedLayout } );\n\t}\n\n\t/**\n\t * Changes the content of the currently selected cell.\n\t *\n\t * @param {Array} content A RichText content value.\n\t */\n\tfunction onChange( content ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes(\n\t\t\tupdateSelectedCell(\n\t\t\t\tattributes,\n\t\t\t\tselectedCell,\n\t\t\t\t( cellAttributes ) => ( {\n\t\t\t\t\t...cellAttributes,\n\t\t\t\t\tcontent,\n\t\t\t\t} )\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Align text within the a column.\n\t *\n\t * @param {string} align The new alignment to apply to the column.\n\t */\n\tfunction onChangeColumnAlignment( align ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert the cell selection to a column selection so that alignment\n\t\t// is applied to the entire column.\n\t\tconst columnSelection = {\n\t\t\ttype: 'column',\n\t\t\tcolumnIndex: selectedCell.columnIndex,\n\t\t};\n\n\t\tconst newAttributes = updateSelectedCell(\n\t\t\tattributes,\n\t\t\tcolumnSelection,\n\t\t\t( cellAttributes ) => ( {\n\t\t\t\t...cellAttributes,\n\t\t\t\talign,\n\t\t\t} )\n\t\t);\n\t\tsetAttributes( newAttributes );\n\t}\n\n\t/**\n\t * Get the alignment of the currently selected cell.\n\t *\n\t * @return {string | undefined} The new alignment to apply to the column.\n\t */\n\tfunction getCellAlignment() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getCellAttribute( attributes, selectedCell, 'align' );\n\t}\n\n\t/**\n\t * Add or remove a `head` table section.\n\t */\n\tfunction onToggleHeaderSection() {\n\t\tsetAttributes( toggleSection( attributes, 'head' ) );\n\t}\n\n\t/**\n\t * Add or remove a `foot` table section.\n\t */\n\tfunction onToggleFooterSection() {\n\t\tsetAttributes( toggleSection( attributes, 'foot' ) );\n\t}\n\n\t/**\n\t * Inserts a row at the currently selected row index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected row index at which to insert.\n\t */\n\tfunction onInsertRow( delta ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\t\tconst newRowIndex = rowIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertRow( attributes, {\n\t\t\t\tsectionName,\n\t\t\t\trowIndex: newRowIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new row.\n\t\tsetSelectedCell( {\n\t\t\tsectionName,\n\t\t\trowIndex: newRowIndex,\n\t\t\tcolumnIndex: 0,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a row before the currently selected row.\n\t */\n\tfunction onInsertRowBefore() {\n\t\tonInsertRow( 0 );\n\t}\n\n\t/**\n\t * Inserts a row after the currently selected row.\n\t */\n\tfunction onInsertRowAfter() {\n\t\tonInsertRow( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected row.\n\t */\n\tfunction onDeleteRow() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes( deleteRow( attributes, { sectionName, rowIndex } ) );\n\t}\n\n\t/**\n\t * Inserts a column at the currently selected column index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected column index at which to insert.\n\t */\n\tfunction onInsertColumn( delta = 0 ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { columnIndex } = selectedCell;\n\t\tconst newColumnIndex = columnIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertColumn( attributes, {\n\t\t\t\tcolumnIndex: newColumnIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new column.\n\t\tsetSelectedCell( {\n\t\t\trowIndex: 0,\n\t\t\tcolumnIndex: newColumnIndex,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a column before the currently selected column.\n\t */\n\tfunction onInsertColumnBefore() {\n\t\tonInsertColumn( 0 );\n\t}\n\n\t/**\n\t * Inserts a column after the currently selected column.\n\t */\n\tfunction onInsertColumnAfter() {\n\t\tonInsertColumn( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected column.\n\t */\n\tfunction onDeleteColumn() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, columnIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes(\n\t\t\tdeleteColumn( attributes, { sectionName, columnIndex } )\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedCell();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tif ( hasTableCreated ) {\n\t\t\ttableRef?.current\n\t\t\t\t?.querySelector( 'td[contentEditable=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t\tsetHasTableCreated( false );\n\t\t}\n\t}, [ hasTableCreated ] );\n\n\tconst sections = [ 'head', 'body', 'foot' ].filter(\n\t\t( name ) => ! isEmptyTableSection( attributes[ name ] )\n\t);\n\n\tconst tableControls = [\n\t\t{\n\t\t\ticon: tableRowBefore,\n\t\t\ttitle: __( 'Insert row before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowAfter,\n\t\t\ttitle: __( 'Insert row after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowDelete,\n\t\t\ttitle: __( 'Delete row' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteRow,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnBefore,\n\t\t\ttitle: __( 'Insert column before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnAfter,\n\t\t\ttitle: __( 'Insert column after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnDelete,\n\t\t\ttitle: __( 'Delete column' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteColumn,\n\t\t},\n\t];\n\n\tconst renderedSections = sections.map( ( name ) => (\n\t\t<TSection name={ name } key={ name }>\n\t\t\t{ attributes[ name ].map( ( { cells }, rowIndex ) => (\n\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\ttag: CellTag,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\ttagName={ CellTag }\n\t\t\t\t\t\t\t\tkey={ columnIndex }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'wp-block-table__cell-content'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tscope={ CellTag === 'th' ? scope : undefined }\n\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\t\t\t\tsetSelectedCell( {\n\t\t\t\t\t\t\t\t\t\tsectionName: name,\n\t\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\t\ttype: 'cell',\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taria-label={ cellAriaLabel[ name ] }\n\t\t\t\t\t\t\t\tplaceholder={ placeholder[ name ] }\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</tr>\n\t\t\t) ) }\n\t\t</TSection>\n\t) );\n\n\tconst isEmpty = ! sections.length;\n\n\treturn (\n\t\t<figure { ...useBlockProps( { ref: tableRef } ) }>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tlabel={ __( 'Change column alignment' ) }\n\t\t\t\t\t\t\talignmentControls={ ALIGNMENT_CONTROLS }\n\t\t\t\t\t\t\tvalue={ getCellAlignment() }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) =>\n\t\t\t\t\t\t\t\tonChangeColumnAlignment( nextAlign )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\thasArrowIndicator\n\t\t\t\t\t\t\ticon={ table }\n\t\t\t\t\t\t\tlabel={ __( 'Edit table' ) }\n\t\t\t\t\t\t\tcontrols={ tableControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\t\tclassName=\"blocks-table-settings\"\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Fixed width table cells' ) }\n\t\t\t\t\t\tchecked={ !! hasFixedLayout }\n\t\t\t\t\t\tonChange={ onChangeFixedLayout }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Header section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( head && head.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleHeaderSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Footer section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( foot && foot.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleFooterSection }\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{ ! isEmpty && (\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t\t\t\t// This is required in the editor only to overcome\n\t\t\t\t\t\t\t// the fact the editor rewrites individual border\n\t\t\t\t\t\t\t// widths into a shorthand format.\n\t\t\t\t\t\t\t'has-individual-borders': hasSplitBorders(\n\t\t\t\t\t\t\t\tattributes?.style?.border\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\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t{ renderedSections }\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\taria-label={ __( 'Table caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\t// Deselect the selected table cell when the caption is focused.\n\t\t\t\t\tonFocus={ () => setSelectedCell() }\n\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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\t{ isEmpty && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tlabel={ __( 'Table' ) }\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\tinstructions={ __( 'Insert a table for sharing data.' ) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"blocks-table__placeholder-form\"\n\t\t\t\t\t\tonSubmit={ onCreateTable }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Column count' ) }\n\t\t\t\t\t\t\tvalue={ initialColumnCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialColumnCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Row count' ) }\n\t\t\t\t\t\t\tvalue={ initialRowCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialRowCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create Table' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n\nexport default TableEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/table/edit.js"],"names":["ALIGNMENT_CONTROLS","icon","alignLeft","title","align","alignCenter","alignRight","cellAriaLabel","head","body","foot","placeholder","TSection","name","props","TagName","TableEdit","attributes","setAttributes","insertBlocksAfter","isSelected","hasFixedLayout","caption","initialRowCount","setInitialRowCount","initialColumnCount","setInitialColumnCount","selectedCell","setSelectedCell","colorProps","borderProps","tableRef","hasTableCreated","setHasTableCreated","onChangeInitialColumnCount","count","onChangeInitialRowCount","onCreateTable","event","preventDefault","rowCount","parseInt","columnCount","onChangeFixedLayout","onChange","content","cellAttributes","onChangeColumnAlignment","columnSelection","type","columnIndex","newAttributes","getCellAlignment","onToggleHeaderSection","onToggleFooterSection","onInsertRow","delta","sectionName","rowIndex","newRowIndex","onInsertRowBefore","onInsertRowAfter","onDeleteRow","onInsertColumn","newColumnIndex","onInsertColumnBefore","onInsertColumnAfter","onDeleteColumn","current","querySelector","focus","sections","filter","tableControls","tableRowBefore","isDisabled","onClick","tableRowAfter","tableRowDelete","tableColumnBefore","tableColumnAfter","tableColumnDelete","renderedSections","map","cells","tag","CellTag","scope","colspan","rowspan","undefined","isEmpty","length","ref","nextAlign","table","className","style","border","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tRichText,\n\tBlockIcon,\n\tAlignmentControl,\n\tuseBlockProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPanelBody,\n\tPlaceholder,\n\tTextControl,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport {\n\talignLeft,\n\talignRight,\n\talignCenter,\n\tblockTable as icon,\n\ttableColumnAfter,\n\ttableColumnBefore,\n\ttableColumnDelete,\n\ttableRowAfter,\n\ttableRowBefore,\n\ttableRowDelete,\n\ttable,\n} from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcreateTable,\n\tupdateSelectedCell,\n\tgetCellAttribute,\n\tinsertRow,\n\tdeleteRow,\n\tinsertColumn,\n\tdeleteColumn,\n\ttoggleSection,\n\tisEmptyTableSection,\n} from './state';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align column left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align column center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align column right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst cellAriaLabel = {\n\thead: __( 'Header cell text' ),\n\tbody: __( 'Body cell text' ),\n\tfoot: __( 'Footer cell text' ),\n};\n\nconst placeholder = {\n\thead: __( 'Header label' ),\n\tfoot: __( 'Footer label' ),\n};\n\nfunction TSection( { name, ...props } ) {\n\tconst TagName = `t${ name }`;\n\treturn <TagName { ...props } />;\n}\n\nfunction TableEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tisSelected,\n} ) {\n\tconst { hasFixedLayout, caption, head, foot } = attributes;\n\tconst [ initialRowCount, setInitialRowCount ] = useState( 2 );\n\tconst [ initialColumnCount, setInitialColumnCount ] = useState( 2 );\n\tconst [ selectedCell, setSelectedCell ] = useState();\n\n\tconst colorProps = useColorProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst tableRef = useRef();\n\tconst [ hasTableCreated, setHasTableCreated ] = useState( false );\n\n\t/**\n\t * Updates the initial column count used for table creation.\n\t *\n\t * @param {number} count New initial column count.\n\t */\n\tfunction onChangeInitialColumnCount( count ) {\n\t\tsetInitialColumnCount( count );\n\t}\n\n\t/**\n\t * Updates the initial row count used for table creation.\n\t *\n\t * @param {number} count New initial row count.\n\t */\n\tfunction onChangeInitialRowCount( count ) {\n\t\tsetInitialRowCount( count );\n\t}\n\n\t/**\n\t * Creates a table based on dimensions in local state.\n\t *\n\t * @param {Object} event Form submit event.\n\t */\n\tfunction onCreateTable( event ) {\n\t\tevent.preventDefault();\n\n\t\tsetAttributes(\n\t\t\tcreateTable( {\n\t\t\t\trowCount: parseInt( initialRowCount, 10 ) || 2,\n\t\t\t\tcolumnCount: parseInt( initialColumnCount, 10 ) || 2,\n\t\t\t} )\n\t\t);\n\t\tsetHasTableCreated( true );\n\t}\n\n\t/**\n\t * Toggles whether the table has a fixed layout or not.\n\t */\n\tfunction onChangeFixedLayout() {\n\t\tsetAttributes( { hasFixedLayout: ! hasFixedLayout } );\n\t}\n\n\t/**\n\t * Changes the content of the currently selected cell.\n\t *\n\t * @param {Array} content A RichText content value.\n\t */\n\tfunction onChange( content ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes(\n\t\t\tupdateSelectedCell(\n\t\t\t\tattributes,\n\t\t\t\tselectedCell,\n\t\t\t\t( cellAttributes ) => ( {\n\t\t\t\t\t...cellAttributes,\n\t\t\t\t\tcontent,\n\t\t\t\t} )\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Align text within the a column.\n\t *\n\t * @param {string} align The new alignment to apply to the column.\n\t */\n\tfunction onChangeColumnAlignment( align ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert the cell selection to a column selection so that alignment\n\t\t// is applied to the entire column.\n\t\tconst columnSelection = {\n\t\t\ttype: 'column',\n\t\t\tcolumnIndex: selectedCell.columnIndex,\n\t\t};\n\n\t\tconst newAttributes = updateSelectedCell(\n\t\t\tattributes,\n\t\t\tcolumnSelection,\n\t\t\t( cellAttributes ) => ( {\n\t\t\t\t...cellAttributes,\n\t\t\t\talign,\n\t\t\t} )\n\t\t);\n\t\tsetAttributes( newAttributes );\n\t}\n\n\t/**\n\t * Get the alignment of the currently selected cell.\n\t *\n\t * @return {string | undefined} The new alignment to apply to the column.\n\t */\n\tfunction getCellAlignment() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getCellAttribute( attributes, selectedCell, 'align' );\n\t}\n\n\t/**\n\t * Add or remove a `head` table section.\n\t */\n\tfunction onToggleHeaderSection() {\n\t\tsetAttributes( toggleSection( attributes, 'head' ) );\n\t}\n\n\t/**\n\t * Add or remove a `foot` table section.\n\t */\n\tfunction onToggleFooterSection() {\n\t\tsetAttributes( toggleSection( attributes, 'foot' ) );\n\t}\n\n\t/**\n\t * Inserts a row at the currently selected row index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected row index at which to insert.\n\t */\n\tfunction onInsertRow( delta ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\t\tconst newRowIndex = rowIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertRow( attributes, {\n\t\t\t\tsectionName,\n\t\t\t\trowIndex: newRowIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new row.\n\t\tsetSelectedCell( {\n\t\t\tsectionName,\n\t\t\trowIndex: newRowIndex,\n\t\t\tcolumnIndex: 0,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a row before the currently selected row.\n\t */\n\tfunction onInsertRowBefore() {\n\t\tonInsertRow( 0 );\n\t}\n\n\t/**\n\t * Inserts a row after the currently selected row.\n\t */\n\tfunction onInsertRowAfter() {\n\t\tonInsertRow( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected row.\n\t */\n\tfunction onDeleteRow() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes( deleteRow( attributes, { sectionName, rowIndex } ) );\n\t}\n\n\t/**\n\t * Inserts a column at the currently selected column index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected column index at which to insert.\n\t */\n\tfunction onInsertColumn( delta = 0 ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { columnIndex } = selectedCell;\n\t\tconst newColumnIndex = columnIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertColumn( attributes, {\n\t\t\t\tcolumnIndex: newColumnIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new column.\n\t\tsetSelectedCell( {\n\t\t\trowIndex: 0,\n\t\t\tcolumnIndex: newColumnIndex,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a column before the currently selected column.\n\t */\n\tfunction onInsertColumnBefore() {\n\t\tonInsertColumn( 0 );\n\t}\n\n\t/**\n\t * Inserts a column after the currently selected column.\n\t */\n\tfunction onInsertColumnAfter() {\n\t\tonInsertColumn( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected column.\n\t */\n\tfunction onDeleteColumn() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, columnIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes(\n\t\t\tdeleteColumn( attributes, { sectionName, columnIndex } )\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedCell();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tif ( hasTableCreated ) {\n\t\t\ttableRef?.current\n\t\t\t\t?.querySelector( 'td[contentEditable=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t\tsetHasTableCreated( false );\n\t\t}\n\t}, [ hasTableCreated ] );\n\n\tconst sections = [ 'head', 'body', 'foot' ].filter(\n\t\t( name ) => ! isEmptyTableSection( attributes[ name ] )\n\t);\n\n\tconst tableControls = [\n\t\t{\n\t\t\ticon: tableRowBefore,\n\t\t\ttitle: __( 'Insert row before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowAfter,\n\t\t\ttitle: __( 'Insert row after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowDelete,\n\t\t\ttitle: __( 'Delete row' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteRow,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnBefore,\n\t\t\ttitle: __( 'Insert column before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnAfter,\n\t\t\ttitle: __( 'Insert column after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnDelete,\n\t\t\ttitle: __( 'Delete column' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteColumn,\n\t\t},\n\t];\n\n\tconst renderedSections = sections.map( ( name ) => (\n\t\t<TSection name={ name } key={ name }>\n\t\t\t{ attributes[ name ].map( ( { cells }, rowIndex ) => (\n\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\ttag: CellTag,\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\ttagName={ CellTag }\n\t\t\t\t\t\t\t\tkey={ columnIndex }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'wp-block-table__cell-content'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tscope={ CellTag === 'th' ? scope : undefined }\n\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\t\t\t\tsetSelectedCell( {\n\t\t\t\t\t\t\t\t\t\tsectionName: name,\n\t\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\t\ttype: 'cell',\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taria-label={ cellAriaLabel[ name ] }\n\t\t\t\t\t\t\t\tplaceholder={ placeholder[ name ] }\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</tr>\n\t\t\t) ) }\n\t\t</TSection>\n\t) );\n\n\tconst isEmpty = ! sections.length;\n\n\treturn (\n\t\t<figure { ...useBlockProps( { ref: tableRef } ) }>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tlabel={ __( 'Change column alignment' ) }\n\t\t\t\t\t\t\talignmentControls={ ALIGNMENT_CONTROLS }\n\t\t\t\t\t\t\tvalue={ getCellAlignment() }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) =>\n\t\t\t\t\t\t\t\tonChangeColumnAlignment( nextAlign )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\thasArrowIndicator\n\t\t\t\t\t\t\ticon={ table }\n\t\t\t\t\t\t\tlabel={ __( 'Edit table' ) }\n\t\t\t\t\t\t\tcontrols={ tableControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\t\tclassName=\"blocks-table-settings\"\n\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={ __( 'Fixed width table cells' ) }\n\t\t\t\t\t\tchecked={ !! hasFixedLayout }\n\t\t\t\t\t\tonChange={ onChangeFixedLayout }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Header section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( head && head.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleHeaderSection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Footer section' ) }\n\t\t\t\t\t\t\t\tchecked={ !! ( foot && foot.length ) }\n\t\t\t\t\t\t\t\tonChange={ onToggleFooterSection }\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{ ! isEmpty && (\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t\t\t\t// This is required in the editor only to overcome\n\t\t\t\t\t\t\t// the fact the editor rewrites individual border\n\t\t\t\t\t\t\t// widths into a shorthand format.\n\t\t\t\t\t\t\t'has-individual-borders': hasSplitBorders(\n\t\t\t\t\t\t\t\tattributes?.style?.border\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\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t{ renderedSections }\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\taria-label={ __( 'Table caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\t// Deselect the selected table cell when the caption is focused.\n\t\t\t\t\tonFocus={ () => setSelectedCell() }\n\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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\t{ isEmpty && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tlabel={ __( 'Table' ) }\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\tinstructions={ __( 'Insert a table for sharing data.' ) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"blocks-table__placeholder-form\"\n\t\t\t\t\t\tonSubmit={ onCreateTable }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Column count' ) }\n\t\t\t\t\t\t\tvalue={ initialColumnCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialColumnCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Row count' ) }\n\t\t\t\t\t\t\tvalue={ initialRowCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialRowCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create Table' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n\nexport default TableEdit;\n"]}
|
package/build/table/state.js
CHANGED
|
@@ -84,12 +84,14 @@ function getFirstRow(state) {
|
|
|
84
84
|
|
|
85
85
|
|
|
86
86
|
function getCellAttribute(state, cellLocation, attributeName) {
|
|
87
|
+
var _state$sectionName, _state$sectionName$ro, _state$sectionName$ro2, _state$sectionName$ro3;
|
|
88
|
+
|
|
87
89
|
const {
|
|
88
90
|
sectionName,
|
|
89
91
|
rowIndex,
|
|
90
92
|
columnIndex
|
|
91
93
|
} = cellLocation;
|
|
92
|
-
return (0
|
|
94
|
+
return (_state$sectionName = state[sectionName]) === null || _state$sectionName === void 0 ? void 0 : (_state$sectionName$ro = _state$sectionName[rowIndex]) === null || _state$sectionName$ro === void 0 ? void 0 : (_state$sectionName$ro2 = _state$sectionName$ro.cells) === null || _state$sectionName$ro2 === void 0 ? void 0 : (_state$sectionName$ro3 = _state$sectionName$ro2[columnIndex]) === null || _state$sectionName$ro3 === void 0 ? void 0 : _state$sectionName$ro3[attributeName];
|
|
93
95
|
}
|
|
94
96
|
/**
|
|
95
97
|
* Returns updated cell attributes after applying the `updateCell` function to the selection.
|
|
@@ -180,13 +182,15 @@ function isCellSelected(cellLocation, selection) {
|
|
|
180
182
|
|
|
181
183
|
|
|
182
184
|
function insertRow(state, _ref3) {
|
|
185
|
+
var _firstRow$cells;
|
|
186
|
+
|
|
183
187
|
let {
|
|
184
188
|
sectionName,
|
|
185
189
|
rowIndex,
|
|
186
190
|
columnCount
|
|
187
191
|
} = _ref3;
|
|
188
192
|
const firstRow = getFirstRow(state);
|
|
189
|
-
const cellCount = columnCount === undefined ?
|
|
193
|
+
const cellCount = columnCount === undefined ? firstRow === null || firstRow === void 0 ? void 0 : (_firstRow$cells = firstRow.cells) === null || _firstRow$cells === void 0 ? void 0 : _firstRow$cells.length : columnCount; // Bail early if the function cannot determine how many cells to add.
|
|
190
194
|
|
|
191
195
|
if (!cellCount) {
|
|
192
196
|
return state;
|
|
@@ -197,7 +201,9 @@ function insertRow(state, _ref3) {
|
|
|
197
201
|
cells: Array.from({
|
|
198
202
|
length: cellCount
|
|
199
203
|
}).map((_, index) => {
|
|
200
|
-
|
|
204
|
+
var _firstRow$cells$index, _firstRow$cells2;
|
|
205
|
+
|
|
206
|
+
const firstCellInColumn = (_firstRow$cells$index = firstRow === null || firstRow === void 0 ? void 0 : (_firstRow$cells2 = firstRow.cells) === null || _firstRow$cells2 === void 0 ? void 0 : _firstRow$cells2[index]) !== null && _firstRow$cells$index !== void 0 ? _firstRow$cells$index : {};
|
|
201
207
|
const inheritedAttributes = Object.fromEntries(Object.entries(firstCellInColumn).filter(_ref4 => {
|
|
202
208
|
let [key] = _ref4;
|
|
203
209
|
return INHERITED_COLUMN_ATTRIBUTES.includes(key);
|
|
@@ -313,6 +319,8 @@ function deleteColumn(state, _ref8) {
|
|
|
313
319
|
|
|
314
320
|
|
|
315
321
|
function toggleSection(state, sectionName) {
|
|
322
|
+
var _state$body$0$cells$l, _state$body, _state$body$, _state$body$$cells;
|
|
323
|
+
|
|
316
324
|
// Section exists, replace it with an empty row to remove it.
|
|
317
325
|
if (!isEmptyTableSection(state[sectionName])) {
|
|
318
326
|
return {
|
|
@@ -321,7 +329,7 @@ function toggleSection(state, sectionName) {
|
|
|
321
329
|
} // Get the length of the first row of the body to use when creating the header.
|
|
322
330
|
|
|
323
331
|
|
|
324
|
-
const columnCount = (0
|
|
332
|
+
const columnCount = (_state$body$0$cells$l = (_state$body = state.body) === null || _state$body === void 0 ? void 0 : (_state$body$ = _state$body[0]) === null || _state$body$ === void 0 ? void 0 : (_state$body$$cells = _state$body$.cells) === null || _state$body$$cells === void 0 ? void 0 : _state$body$$cells.length) !== null && _state$body$0$cells$l !== void 0 ? _state$body$0$cells$l : 1; // Section doesn't exist, insert an empty row to create the section.
|
|
325
333
|
|
|
326
334
|
return insertRow(state, {
|
|
327
335
|
sectionName,
|