@wordpress/block-library 5.0.1 → 6.0.1
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 +6 -0
- package/README.md +1 -1
- package/build/audio/edit.js +2 -2
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js +2 -2
- package/build/audio/edit.native.js.map +1 -1
- package/build/button/edit.js +97 -87
- package/build/button/edit.js.map +1 -1
- package/build/button/edit.native.js +1 -1
- package/build/button/edit.native.js.map +1 -1
- package/build/button/index.js +4 -1
- package/build/button/index.js.map +1 -1
- package/build/buttons/edit.js +2 -1
- package/build/buttons/edit.js.map +1 -1
- package/build/buttons/index.js +2 -1
- package/build/buttons/index.js.map +1 -1
- package/build/buttons/transforms.js +2 -1
- package/build/buttons/transforms.js.map +1 -1
- package/build/column/index.js +4 -1
- package/build/column/index.js.map +1 -1
- package/build/column/save.js +9 -1
- package/build/column/save.js.map +1 -1
- package/build/columns/edit.native.js +5 -2
- package/build/columns/edit.native.js.map +1 -1
- package/build/columns/index.js +10 -1
- package/build/columns/index.js.map +1 -1
- package/build/cover/deprecated.js +0 -27
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit.js +57 -27
- package/build/cover/edit.js.map +1 -1
- package/build/cover/index.js +11 -1
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +2 -1
- package/build/cover/save.js.map +1 -1
- package/build/cover/shared.js +1 -0
- package/build/cover/shared.js.map +1 -1
- package/build/cover/transforms.js +4 -0
- package/build/cover/transforms.js.map +1 -1
- package/build/embed/edit.js +1 -5
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +85 -22
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/embed-bottom-sheet.native.js +17 -16
- package/build/embed/embed-bottom-sheet.native.js.map +1 -1
- package/build/embed/embed-controls.js +4 -1
- package/build/embed/embed-controls.js.map +1 -1
- package/build/embed/embed-no-preview.native.js +22 -9
- package/build/embed/embed-no-preview.native.js.map +1 -1
- package/build/embed/embed-placeholder.native.js +51 -7
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/embed/embed-preview.native.js +28 -10
- package/build/embed/embed-preview.native.js.map +1 -1
- package/build/embed/variations.js +0 -10
- package/build/embed/variations.js.map +1 -1
- package/build/embed/wp-embed-preview.js +44 -56
- package/build/embed/wp-embed-preview.js.map +1 -1
- package/build/embed/wp-embed-preview.native.js +95 -0
- package/build/embed/wp-embed-preview.native.js.map +1 -0
- package/build/file/deprecated.js +108 -0
- package/build/file/deprecated.js.map +1 -0
- package/build/file/edit.js +8 -1
- package/build/file/edit.js.map +1 -1
- package/build/file/index.js +9 -0
- package/build/file/index.js.map +1 -1
- package/build/file/inspector.js +1 -1
- package/build/file/inspector.js.map +1 -1
- package/build/file/save.js +4 -1
- package/build/file/save.js.map +1 -1
- package/build/file/transforms.js +3 -1
- package/build/file/transforms.js.map +1 -1
- package/build/gallery/constants.js +2 -2
- package/build/gallery/constants.js.map +1 -1
- package/build/gallery/deprecated.js +17 -8
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit-wrapper.js +63 -0
- package/build/gallery/edit-wrapper.js.map +1 -0
- package/build/gallery/edit.js +225 -231
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +67 -49
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gallery.native.js +42 -79
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/index.js +31 -7
- package/build/gallery/index.js.map +1 -1
- package/build/gallery/save.js +26 -43
- package/build/gallery/save.js.map +1 -1
- package/build/gallery/shared.js +9 -2
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +211 -12
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-get-media.js +58 -0
- package/build/gallery/use-get-media.js.map +1 -0
- package/build/gallery/use-get-new-images.js +58 -0
- package/build/gallery/use-get-new-images.js.map +1 -0
- package/build/gallery/use-image-sizes.js +73 -0
- package/build/gallery/use-image-sizes.js.map +1 -0
- package/build/gallery/use-short-code-transform.js +63 -0
- package/build/gallery/use-short-code-transform.js.map +1 -0
- package/build/gallery/utils.js +51 -0
- package/build/gallery/utils.js.map +1 -0
- package/build/gallery/v1/constants.js +13 -0
- package/build/gallery/v1/constants.js.map +1 -0
- package/build/gallery/v1/edit.js +459 -0
- package/build/gallery/v1/edit.js.map +1 -0
- package/build/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
- package/build/gallery/v1/gallery-button.native.js.map +1 -0
- package/build/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
- package/build/gallery/v1/gallery-image.js.map +1 -0
- package/build/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
- package/build/gallery/v1/gallery-image.native.js.map +1 -0
- package/build/gallery/v1/gallery.js +122 -0
- package/build/gallery/v1/gallery.js.map +1 -0
- package/build/gallery/v1/gallery.native.js +159 -0
- package/build/gallery/v1/gallery.native.js.map +1 -0
- package/build/gallery/v1/save.js +75 -0
- package/build/gallery/v1/save.js.map +1 -0
- package/build/gallery/v1/shared.js +26 -0
- package/build/gallery/v1/shared.js.map +1 -0
- package/build/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
- package/build/gallery/v1/tiles.native.js.map +1 -0
- package/build/gallery/v1/update-gallery-modal.js +110 -0
- package/build/gallery/v1/update-gallery-modal.js.map +1 -0
- package/build/group/edit.js +21 -5
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +8 -2
- package/build/group/index.js.map +1 -1
- package/build/group/variations.js +31 -0
- package/build/group/variations.js.map +1 -0
- package/build/heading/heading-level-dropdown.js +11 -37
- package/build/heading/heading-level-dropdown.js.map +1 -1
- package/build/home-link/edit.js +2 -2
- package/build/home-link/edit.js.map +1 -1
- package/build/image/edit.js +8 -6
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +46 -17
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +11 -17
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +1 -0
- package/build/image/index.js.map +1 -1
- package/build/image/transforms.js +30 -7
- package/build/image/transforms.js.map +1 -1
- package/build/image/utils.js +23 -0
- 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 +7 -1
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/edit.native.js +12 -6
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/media-text/edit.js +1 -1
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +2 -0
- package/build/media-text/index.js.map +1 -1
- package/build/navigation/block-navigation-list.js +14 -3
- package/build/navigation/block-navigation-list.js.map +1 -1
- package/build/navigation/edit.js +44 -14
- package/build/navigation/edit.js.map +1 -1
- package/build/navigation/index.js +7 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/menu-items-to-blocks.js +6 -5
- package/build/navigation/menu-items-to-blocks.js.map +1 -1
- package/build/navigation/placeholder-preview.js +3 -3
- package/build/navigation/placeholder-preview.js.map +1 -1
- package/build/navigation/placeholder.js +1 -1
- package/build/navigation/placeholder.js.map +1 -1
- package/build/navigation/use-block-navigator.js +2 -1
- package/build/navigation/use-block-navigator.js.map +1 -1
- package/build/navigation/variations.js +2 -3
- package/build/navigation/variations.js.map +1 -1
- package/build/navigation/view.js +53 -1
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +56 -72
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/index.js +6 -2
- package/build/navigation-link/index.js.map +1 -1
- package/build/navigation-link/transforms.js +83 -0
- package/build/navigation-link/transforms.js.map +1 -0
- package/build/navigation-submenu/edit.js +651 -0
- package/build/navigation-submenu/edit.js.map +1 -0
- package/build/navigation-submenu/icons.js +27 -0
- package/build/navigation-submenu/icons.js.map +1 -0
- package/build/navigation-submenu/index.js +89 -0
- package/build/navigation-submenu/index.js.map +1 -0
- package/build/navigation-submenu/save.js +18 -0
- package/build/navigation-submenu/save.js.map +1 -0
- package/build/navigation-submenu/transforms.js +82 -0
- package/build/navigation-submenu/transforms.js.map +1 -0
- package/build/navigation-submenu/view.js +51 -0
- package/build/navigation-submenu/view.js.map +1 -0
- package/build/page-list/convert-to-links-modal.js +19 -1
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/edit.js +16 -5
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +10 -1
- package/build/page-list/index.js.map +1 -1
- package/build/post-author/index.js +2 -1
- package/build/post-author/index.js.map +1 -1
- package/build/post-comment/edit.js +7 -4
- package/build/post-comment/edit.js.map +1 -1
- package/build/post-comment-author/edit.js +1 -1
- package/build/post-comment-author/edit.js.map +1 -1
- package/build/post-comment-content/edit.js +16 -12
- package/build/post-comment-content/edit.js.map +1 -1
- package/build/post-content/edit.js +1 -3
- package/build/post-content/edit.js.map +1 -1
- package/build/post-date/edit.js +35 -14
- package/build/post-date/edit.js.map +1 -1
- package/build/post-date/index.js +2 -1
- package/build/post-date/index.js.map +1 -1
- package/build/post-excerpt/edit.js +2 -1
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +24 -10
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/index.js +5 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/edit.js +19 -3
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-navigation-link/index.js +9 -1
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/post-template/index.js +5 -2
- package/build/post-template/index.js.map +1 -1
- package/build/post-terms/edit.js +4 -2
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/index.js +2 -1
- package/build/post-terms/index.js.map +1 -1
- package/build/post-title/edit.js +3 -3
- package/build/post-title/edit.js.map +1 -1
- package/build/post-title/index.js +4 -1
- package/build/post-title/index.js.map +1 -1
- package/build/query/edit/index.js +3 -1
- package/build/query/edit/index.js.map +1 -1
- package/build/query/variations.js +4 -4
- package/build/query/variations.js.map +1 -1
- package/build/query-pagination/deprecated.js +24 -0
- package/build/query-pagination/deprecated.js.map +1 -0
- package/build/query-pagination/edit.js +54 -3
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-pagination/index.js +20 -1
- package/build/query-pagination/index.js.map +1 -1
- package/build/query-pagination/query-pagination-arrow-controls.js +38 -0
- package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -0
- package/build/query-pagination/save.js +1 -1
- package/build/query-pagination/save.js.map +1 -1
- package/build/query-pagination-next/edit.js +19 -4
- package/build/query-pagination-next/edit.js.map +1 -1
- package/build/query-pagination-next/index.js +1 -1
- package/build/query-pagination-previous/edit.js +19 -4
- package/build/query-pagination-previous/edit.js.map +1 -1
- package/build/query-pagination-previous/index.js +1 -1
- package/build/site-logo/edit.js +75 -30
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +7 -2
- package/build/site-logo/index.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 +25 -6
- package/build/site-title/edit/index.js.map +1 -1
- package/build/site-title/index.js +9 -2
- package/build/site-title/index.js.map +1 -1
- package/build/social-links/deprecated.js +106 -2
- package/build/social-links/deprecated.js.map +1 -1
- package/build/social-links/edit.js +15 -19
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/index.js +16 -1
- package/build/social-links/index.js.map +1 -1
- package/build/social-links/save.js +1 -3
- package/build/social-links/save.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/template-part/edit/advanced-controls.js +3 -1
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/index.js +1 -4
- package/build/template-part/edit/index.js.map +1 -1
- package/build/video/edit-common-settings.js +1 -1
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +10 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +3 -1
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/audio/edit.js +3 -3
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js +3 -3
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/button/edit.js +101 -91
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/edit.native.js +2 -2
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/button/index.js +4 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/buttons/edit.js +2 -1
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/buttons/index.js +2 -1
- package/build-module/buttons/index.js.map +1 -1
- package/build-module/buttons/transforms.js +2 -1
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/column/index.js +4 -1
- package/build-module/column/index.js.map +1 -1
- package/build-module/column/save.js +9 -1
- package/build-module/column/save.js.map +1 -1
- package/build-module/columns/edit.native.js +6 -3
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/columns/index.js +10 -1
- package/build-module/columns/index.js.map +1 -1
- package/build-module/cover/deprecated.js +0 -27
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit.js +57 -28
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/cover/index.js +11 -1
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +2 -1
- package/build-module/cover/save.js.map +1 -1
- package/build-module/cover/shared.js +1 -0
- package/build-module/cover/shared.js.map +1 -1
- package/build-module/cover/transforms.js +4 -0
- package/build-module/cover/transforms.js.map +1 -1
- package/build-module/embed/edit.js +1 -5
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +87 -25
- package/build-module/embed/edit.native.js.map +1 -1
- package/build-module/embed/embed-bottom-sheet.native.js +18 -16
- package/build-module/embed/embed-bottom-sheet.native.js.map +1 -1
- package/build-module/embed/embed-controls.js +4 -1
- package/build-module/embed/embed-controls.js.map +1 -1
- package/build-module/embed/embed-no-preview.native.js +22 -10
- package/build-module/embed/embed-no-preview.native.js.map +1 -1
- package/build-module/embed/embed-placeholder.native.js +51 -8
- package/build-module/embed/embed-placeholder.native.js.map +1 -1
- package/build-module/embed/embed-preview.native.js +26 -11
- package/build-module/embed/embed-preview.native.js.map +1 -1
- package/build-module/embed/variations.js +0 -10
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/embed/wp-embed-preview.js +39 -56
- package/build-module/embed/wp-embed-preview.js.map +1 -1
- package/build-module/embed/wp-embed-preview.native.js +83 -0
- package/build-module/embed/wp-embed-preview.native.js.map +1 -0
- package/build-module/file/deprecated.js +98 -0
- package/build-module/file/deprecated.js.map +1 -0
- package/build-module/file/edit.js +8 -1
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/index.js +8 -0
- package/build-module/file/index.js.map +1 -1
- package/build-module/file/inspector.js +1 -1
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/file/save.js +4 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/file/transforms.js +2 -1
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/gallery/constants.js +2 -2
- package/build-module/gallery/constants.js.map +1 -1
- package/build-module/gallery/deprecated.js +15 -7
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit-wrapper.js +50 -0
- package/build-module/gallery/edit-wrapper.js.map +1 -0
- package/build-module/gallery/edit.js +222 -234
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +70 -51
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gallery.native.js +43 -78
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/index.js +30 -6
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/gallery/save.js +24 -43
- package/build-module/gallery/save.js.map +1 -1
- package/build-module/gallery/shared.js +8 -2
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +207 -12
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-get-media.js +48 -0
- package/build-module/gallery/use-get-media.js.map +1 -0
- package/build-module/gallery/use-get-new-images.js +50 -0
- package/build-module/gallery/use-get-new-images.js.map +1 -0
- package/build-module/gallery/use-image-sizes.js +64 -0
- package/build-module/gallery/use-image-sizes.js.map +1 -0
- package/build-module/gallery/use-short-code-transform.js +53 -0
- package/build-module/gallery/use-short-code-transform.js.map +1 -0
- package/build-module/gallery/utils.js +42 -0
- package/build-module/gallery/utils.js.map +1 -0
- package/build-module/gallery/v1/constants.js +4 -0
- package/build-module/gallery/v1/constants.js.map +1 -0
- package/build-module/gallery/v1/edit.js +430 -0
- package/build-module/gallery/v1/edit.js.map +1 -0
- package/build-module/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
- package/build-module/gallery/v1/gallery-button.native.js.map +1 -0
- package/build-module/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
- package/build-module/gallery/v1/gallery-image.js.map +1 -0
- package/build-module/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
- package/build-module/gallery/v1/gallery-image.native.js.map +1 -0
- package/build-module/gallery/v1/gallery.js +102 -0
- package/build-module/gallery/v1/gallery.js.map +1 -0
- package/build-module/gallery/v1/gallery.native.js +136 -0
- package/build-module/gallery/v1/gallery.native.js.map +1 -0
- package/build-module/gallery/v1/save.js +65 -0
- package/build-module/gallery/v1/save.js.map +1 -0
- package/build-module/gallery/v1/shared.js +16 -0
- package/build-module/gallery/v1/shared.js.map +1 -0
- package/build-module/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
- package/build-module/gallery/v1/tiles.native.js.map +1 -0
- package/build-module/gallery/v1/update-gallery-modal.js +93 -0
- package/build-module/gallery/v1/update-gallery-modal.js.map +1 -0
- package/build-module/group/edit.js +21 -6
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +7 -2
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/variations.js +22 -0
- package/build-module/group/variations.js.map +1 -0
- package/build-module/heading/heading-level-dropdown.js +12 -37
- package/build-module/heading/heading-level-dropdown.js.map +1 -1
- package/build-module/home-link/edit.js +2 -2
- package/build-module/home-link/edit.js.map +1 -1
- package/build-module/image/edit.js +8 -6
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +48 -19
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +11 -15
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +1 -0
- package/build-module/image/index.js.map +1 -1
- package/build-module/image/transforms.js +26 -7
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/image/utils.js +22 -1
- 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 +7 -1
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +12 -6
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/media-text/edit.js +1 -1
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +2 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/navigation/block-navigation-list.js +15 -3
- package/build-module/navigation/block-navigation-list.js.map +1 -1
- package/build-module/navigation/edit.js +45 -15
- package/build-module/navigation/edit.js.map +1 -1
- package/build-module/navigation/index.js +7 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/menu-items-to-blocks.js +6 -5
- package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
- package/build-module/navigation/placeholder-preview.js +3 -3
- package/build-module/navigation/placeholder-preview.js.map +1 -1
- package/build-module/navigation/placeholder.js +1 -1
- package/build-module/navigation/placeholder.js.map +1 -1
- package/build-module/navigation/use-block-navigator.js +2 -1
- package/build-module/navigation/use-block-navigator.js.map +1 -1
- package/build-module/navigation/variations.js +2 -3
- package/build-module/navigation/variations.js.map +1 -1
- package/build-module/navigation/view.js +53 -2
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +59 -74
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/index.js +5 -2
- package/build-module/navigation-link/index.js.map +1 -1
- package/build-module/navigation-link/transforms.js +74 -0
- package/build-module/navigation-link/transforms.js.map +1 -0
- package/build-module/navigation-submenu/edit.js +628 -0
- package/build-module/navigation-submenu/edit.js.map +1 -0
- package/build-module/navigation-submenu/icons.js +17 -0
- package/build-module/navigation-submenu/icons.js.map +1 -0
- package/build-module/navigation-submenu/index.js +74 -0
- package/build-module/navigation-submenu/index.js.map +1 -0
- package/build-module/navigation-submenu/save.js +10 -0
- package/build-module/navigation-submenu/save.js.map +1 -0
- package/build-module/navigation-submenu/transforms.js +73 -0
- package/build-module/navigation-submenu/transforms.js.map +1 -0
- package/build-module/navigation-submenu/view.js +49 -0
- package/build-module/navigation-submenu/view.js.map +1 -0
- package/build-module/page-list/convert-to-links-modal.js +19 -1
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/page-list/edit.js +16 -5
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +10 -1
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/post-author/index.js +2 -1
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-comment/edit.js +8 -6
- package/build-module/post-comment/edit.js.map +1 -1
- package/build-module/post-comment-author/edit.js +1 -1
- package/build-module/post-comment-author/edit.js.map +1 -1
- package/build-module/post-comment-content/edit.js +16 -13
- package/build-module/post-comment-content/edit.js.map +1 -1
- package/build-module/post-content/edit.js +1 -3
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-date/edit.js +36 -16
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-date/index.js +2 -1
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-excerpt/edit.js +2 -1
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +22 -11
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/index.js +5 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +19 -3
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-navigation-link/index.js +9 -1
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/post-template/index.js +6 -3
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/post-terms/edit.js +5 -3
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/index.js +2 -1
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/post-title/edit.js +3 -3
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/post-title/index.js +4 -1
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/query/edit/index.js +4 -2
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/variations.js +4 -4
- package/build-module/query/variations.js.map +1 -1
- package/build-module/query-pagination/deprecated.js +15 -0
- package/build-module/query-pagination/deprecated.js.map +1 -0
- package/build-module/query-pagination/edit.js +52 -5
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-pagination/index.js +19 -1
- package/build-module/query-pagination/index.js.map +1 -1
- package/build-module/query-pagination/query-pagination-arrow-controls.js +29 -0
- package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -0
- package/build-module/query-pagination/save.js +2 -2
- package/build-module/query-pagination/save.js.map +1 -1
- package/build-module/query-pagination-next/edit.js +18 -4
- package/build-module/query-pagination-next/edit.js.map +1 -1
- package/build-module/query-pagination-next/index.js +1 -1
- package/build-module/query-pagination-previous/edit.js +18 -4
- package/build-module/query-pagination-previous/edit.js.map +1 -1
- package/build-module/query-pagination-previous/index.js +1 -1
- package/build-module/site-logo/edit.js +79 -34
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +7 -2
- package/build-module/site-logo/index.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 +25 -7
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/site-title/index.js +9 -2
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-links/deprecated.js +106 -2
- package/build-module/social-links/deprecated.js.map +1 -1
- package/build-module/social-links/edit.js +16 -20
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/social-links/index.js +16 -1
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/social-links/save.js +1 -3
- package/build-module/social-links/save.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/template-part/edit/advanced-controls.js +4 -2
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +1 -4
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/video/edit-common-settings.js +2 -2
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +10 -5
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +2 -1
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/button/style-rtl.css +1 -1
- package/build-style/button/style.css +1 -1
- package/build-style/columns/editor-rtl.css +2 -2
- package/build-style/columns/editor.css +2 -2
- package/build-style/columns/style-rtl.css +4 -4
- package/build-style/columns/style.css +4 -4
- package/build-style/common-rtl.css +4 -105
- package/build-style/common.css +4 -105
- package/build-style/editor-rtl.css +188 -205
- package/build-style/editor.css +188 -205
- package/build-style/embed/style-rtl.css +1 -0
- package/build-style/embed/style.css +1 -0
- package/build-style/gallery/editor-rtl.css +89 -21
- package/build-style/gallery/editor.css +89 -21
- package/build-style/gallery/style-rtl.css +202 -39
- package/build-style/gallery/style.css +202 -39
- package/build-style/group/theme-rtl.css +1 -3
- package/build-style/group/theme.css +1 -3
- package/build-style/heading/style-rtl.css +8 -0
- package/build-style/heading/style.css +8 -0
- package/build-style/html/editor-rtl.css +12 -11
- package/build-style/html/editor.css +12 -11
- package/build-style/list/style-rtl.css +4 -0
- package/build-style/list/style.css +4 -0
- package/build-style/navigation/editor-rtl.css +12 -7
- package/build-style/navigation/editor.css +12 -7
- package/build-style/navigation/style-rtl.css +140 -134
- package/build-style/navigation/style.css +140 -134
- package/build-style/navigation-link/editor-rtl.css +22 -13
- package/build-style/navigation-link/editor.css +22 -13
- package/build-style/{post-content → navigation-submenu}/editor-rtl.css +29 -8
- package/build-style/{post-content → navigation-submenu}/editor.css +29 -8
- package/build-style/{heading/editor.css → navigation-submenu/style-rtl.css} +13 -7
- package/build-style/{heading/editor-rtl.css → navigation-submenu/style.css} +13 -7
- package/build-style/page-list/editor-rtl.css +8 -0
- package/build-style/page-list/editor.css +8 -0
- package/build-style/page-list/style-rtl.css +2 -8
- package/build-style/page-list/style.css +2 -8
- package/build-style/paragraph/style-rtl.css +5 -1
- package/build-style/paragraph/style.css +5 -1
- package/build-style/post-featured-image/editor-rtl.css +4 -8
- package/build-style/post-featured-image/editor.css +4 -8
- package/build-style/post-featured-image/style-rtl.css +1 -0
- package/build-style/post-featured-image/style.css +1 -0
- package/build-style/post-template/style-rtl.css +2 -0
- package/build-style/post-template/style.css +2 -0
- package/build-style/pullquote/style-rtl.css +1 -0
- package/build-style/pullquote/style.css +1 -0
- package/build-style/query-pagination/editor-rtl.css +2 -5
- package/build-style/query-pagination/editor.css +2 -5
- package/build-style/query-pagination/style-rtl.css +17 -6
- package/build-style/query-pagination/style.css +17 -6
- package/build-style/quote/style-rtl.css +3 -0
- package/build-style/quote/style.css +3 -0
- package/build-style/reset-rtl.css +2 -1
- package/build-style/reset.css +2 -1
- package/build-style/social-links/style-rtl.css +0 -5
- package/build-style/social-links/style.css +0 -5
- package/build-style/style-rtl.css +415 -307
- package/build-style/style.css +415 -307
- package/build-style/theme-rtl.css +1 -11
- package/build-style/theme.css +1 -11
- package/package.json +30 -31
- package/src/audio/edit.js +6 -3
- package/src/audio/edit.native.js +9 -3
- package/src/button/block.json +4 -1
- package/src/button/edit.js +107 -115
- package/src/button/edit.native.js +5 -2
- package/src/button/style.scss +1 -1
- package/src/buttons/block.json +2 -1
- package/src/buttons/edit.js +1 -1
- package/src/column/block.json +4 -1
- package/src/column/save.js +11 -1
- package/src/columns/block.json +8 -1
- package/src/columns/edit.native.js +8 -3
- package/src/columns/editor.scss +2 -2
- package/src/columns/index.js +1 -0
- package/src/columns/style.scss +4 -4
- package/src/common.scss +3 -9
- package/src/cover/block.json +11 -1
- package/src/cover/deprecated.js +0 -27
- package/src/cover/edit.js +82 -32
- package/src/cover/save.js +2 -1
- package/src/cover/shared.js +1 -0
- package/src/cover/transforms.js +4 -2
- package/src/editor.scss +4 -20
- package/src/embed/edit.js +1 -11
- package/src/embed/edit.native.js +120 -32
- package/src/embed/embed-bottom-sheet.native.js +26 -20
- package/src/embed/embed-controls.js +10 -1
- package/src/embed/embed-no-preview.native.js +53 -14
- package/src/embed/embed-placeholder.native.js +58 -9
- package/src/embed/embed-preview.native.js +58 -41
- package/src/embed/style.scss +1 -0
- package/src/embed/styles.native.scss +18 -8
- package/src/embed/variations.js +0 -8
- package/src/embed/wp-embed-preview.js +41 -62
- package/src/embed/wp-embed-preview.native.js +80 -0
- package/src/file/block.json +6 -0
- package/src/file/deprecated.js +123 -0
- package/src/file/edit.js +6 -0
- package/src/file/index.js +2 -0
- package/src/file/inspector.js +12 -10
- package/src/file/save.js +3 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +4 -0
- package/src/file/transforms.js +3 -1
- package/src/gallery/block.json +18 -0
- package/src/gallery/constants.js +2 -2
- package/src/gallery/deprecated.js +15 -7
- package/src/gallery/deprecated.scss +132 -0
- package/src/gallery/edit-wrapper.js +47 -0
- package/src/gallery/edit.js +317 -276
- package/src/gallery/editor.scss +106 -22
- package/src/gallery/gallery-styles.native.scss +4 -2
- package/src/gallery/gallery.js +82 -71
- package/src/gallery/gallery.native.js +49 -85
- package/src/gallery/index.js +12 -6
- package/src/gallery/save.js +20 -60
- package/src/gallery/shared.js +9 -2
- package/src/gallery/style.scss +113 -75
- package/src/gallery/transforms.js +212 -11
- package/src/gallery/use-get-media.js +59 -0
- package/src/gallery/use-get-new-images.js +68 -0
- package/src/gallery/use-image-sizes.js +66 -0
- package/src/gallery/use-short-code-transform.js +52 -0
- package/src/gallery/utils.js +46 -0
- package/src/gallery/v1/constants.js +3 -0
- package/src/gallery/v1/edit.js +509 -0
- package/src/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
- package/src/gallery/{gallery-image-style.native.scss → v1/gallery-image-style.native.scss} +0 -0
- package/src/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
- package/src/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
- package/src/gallery/v1/gallery-styles.native.scss +8 -0
- package/src/gallery/v1/gallery.js +119 -0
- package/src/gallery/v1/gallery.native.js +162 -0
- package/src/gallery/v1/save.js +81 -0
- package/src/gallery/v1/shared.js +19 -0
- package/src/gallery/{tiles-styles.native.scss → v1/tiles-styles.native.scss} +0 -0
- package/src/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
- package/src/gallery/v1/update-gallery-modal.js +97 -0
- package/src/group/block.json +4 -1
- package/src/group/edit.js +31 -7
- package/src/group/index.js +2 -0
- package/src/group/theme.scss +1 -3
- package/src/group/variations.js +18 -0
- package/src/heading/heading-level-dropdown.js +26 -58
- package/src/heading/style.scss +3 -0
- package/src/home-link/edit.js +2 -2
- package/src/home-link/index.php +2 -2
- package/src/html/editor.scss +16 -10
- package/src/image/block.json +1 -0
- package/src/image/edit.js +9 -7
- package/src/image/edit.native.js +75 -35
- package/src/image/image.js +10 -14
- package/src/image/styles.native.scss +5 -0
- package/src/image/transforms.js +32 -9
- package/src/image/utils.js +17 -1
- package/src/index.js +2 -0
- package/src/latest-comments/edit.js +4 -0
- package/src/latest-comments/index.php +2 -1
- package/src/latest-posts/edit.native.js +10 -8
- package/src/list/style.scss +8 -3
- package/src/media-text/edit.js +1 -1
- package/src/media-text/index.js +1 -0
- package/src/navigation/block-navigation-list.js +16 -7
- package/src/navigation/block.json +7 -1
- package/src/navigation/edit.js +60 -17
- package/src/navigation/editor.scss +38 -19
- package/src/navigation/index.php +12 -4
- package/src/navigation/menu-items-to-blocks.js +8 -7
- package/src/navigation/placeholder-preview.js +3 -3
- package/src/navigation/placeholder.js +1 -1
- package/src/navigation/style.scss +191 -145
- package/src/navigation/test/menu-items-to-blocks.js +6 -6
- package/src/navigation/use-block-navigator.js +1 -0
- package/src/navigation/variations.js +2 -3
- package/src/navigation/view.js +74 -4
- package/src/navigation-link/block.json +2 -1
- package/src/navigation-link/edit.js +63 -90
- package/src/navigation-link/editor.scss +30 -15
- package/src/navigation-link/index.js +2 -0
- package/src/navigation-link/index.php +8 -8
- package/src/navigation-link/transforms.js +93 -0
- package/src/navigation-submenu/block.json +65 -0
- package/src/navigation-submenu/edit.js +662 -0
- package/src/navigation-submenu/editor.scss +42 -0
- package/src/navigation-submenu/icons.js +16 -0
- package/src/navigation-submenu/index.js +29 -0
- package/src/navigation-submenu/index.php +299 -0
- package/src/navigation-submenu/save.js +8 -0
- package/src/navigation-submenu/style.scss +20 -0
- package/src/navigation-submenu/transforms.js +58 -0
- package/src/navigation-submenu/view.js +62 -0
- package/src/page-list/block.json +11 -1
- package/src/page-list/convert-to-links-modal.js +20 -0
- package/src/page-list/edit.js +18 -4
- package/src/page-list/editor.scss +14 -0
- package/src/page-list/index.php +48 -12
- package/src/page-list/style.scss +2 -14
- package/src/page-list/test/convert-to-links-modal.js +6 -6
- package/src/paragraph/style.scss +10 -1
- package/src/post-author/block.json +2 -1
- package/src/post-comment/edit.js +14 -7
- package/src/post-comment-author/edit.js +13 -10
- package/src/post-comment-content/edit.js +17 -9
- package/src/post-comment-content/index.php +6 -3
- package/src/post-content/edit.js +1 -3
- package/src/post-date/block.json +2 -1
- package/src/post-date/edit.js +36 -22
- package/src/post-excerpt/edit.js +1 -0
- package/src/post-featured-image/block.json +5 -0
- package/src/post-featured-image/dimension-controls.js +43 -35
- package/src/post-featured-image/editor.scss +4 -9
- package/src/post-featured-image/style.scss +1 -0
- package/src/post-navigation-link/block.json +9 -1
- package/src/post-navigation-link/edit.js +29 -2
- package/src/post-navigation-link/index.php +28 -3
- package/src/post-template/block.json +4 -1
- package/src/post-template/index.js +2 -2
- package/src/post-template/index.php +11 -0
- package/src/post-template/style.scss +2 -0
- package/src/post-terms/block.json +2 -1
- package/src/post-terms/edit.js +4 -5
- package/src/post-title/block.json +4 -1
- package/src/post-title/edit.js +4 -6
- package/src/post-title/index.php +1 -1
- package/src/pullquote/style.scss +1 -0
- package/src/query/edit/index.js +3 -3
- package/src/query/variations.js +4 -0
- package/src/query-pagination/block.json +16 -0
- package/src/query-pagination/deprecated.js +19 -0
- package/src/query-pagination/edit.js +58 -3
- package/src/query-pagination/editor.scss +3 -6
- package/src/query-pagination/index.js +2 -0
- package/src/query-pagination/index.php +24 -1
- package/src/query-pagination/query-pagination-arrow-controls.js +44 -0
- package/src/query-pagination/save.js +2 -6
- package/src/query-pagination/style.scss +22 -5
- package/src/query-pagination-next/block.json +1 -1
- package/src/query-pagination-next/edit.js +30 -8
- package/src/query-pagination-next/index.php +5 -1
- package/src/query-pagination-previous/block.json +1 -1
- package/src/query-pagination-previous/edit.js +30 -8
- package/src/query-pagination-previous/index.php +5 -1
- package/src/quote/style.scss +2 -0
- package/src/reset.scss +2 -1
- package/src/search/index.php +12 -15
- package/src/search/test/__snapshots__/edit.native.js.snap +7 -0
- package/src/site-logo/block.json +7 -2
- package/src/site-logo/edit.js +98 -30
- package/src/site-logo/index.php +31 -2
- package/src/site-tagline/block.json +1 -0
- package/src/site-title/block.json +9 -2
- package/src/site-title/edit/index.js +36 -9
- package/src/site-title/index.php +12 -2
- package/src/social-links/block.json +22 -1
- package/src/social-links/deprecated.js +99 -0
- package/src/social-links/edit.js +13 -24
- package/src/social-links/save.js +1 -7
- package/src/social-links/style.scss +0 -8
- package/src/style.scss +1 -5
- package/src/table/block.json +1 -1
- package/src/template-part/edit/advanced-controls.js +3 -3
- package/src/template-part/edit/index.js +0 -3
- package/src/template-part/index.php +1 -1
- package/src/theme.scss +0 -10
- package/src/video/edit-common-settings.js +2 -2
- package/src/video/edit.js +15 -5
- package/src/video/tracks-editor.js +2 -3
- package/build/embed/embed-controls.native.js +0 -32
- package/build/embed/embed-controls.native.js.map +0 -1
- package/build/embed/variations.native.js +0 -10
- package/build/embed/variations.native.js.map +0 -1
- package/build/gallery/gallery-button.native.js.map +0 -1
- package/build/gallery/gallery-image.js.map +0 -1
- package/build/gallery/gallery-image.native.js.map +0 -1
- package/build/gallery/tiles.native.js.map +0 -1
- package/build/image/image-editing/aspect-ratio-dropdown.js +0 -126
- package/build/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
- package/build/image/image-editing/constants.js +0 -16
- package/build/image/image-editing/constants.js.map +0 -1
- package/build/image/image-editing/context.js +0 -59
- package/build/image/image-editing/context.js.map +0 -1
- package/build/image/image-editing/cropper.js +0 -83
- package/build/image/image-editing/cropper.js.map +0 -1
- package/build/image/image-editing/form-controls.js +0 -36
- package/build/image/image-editing/form-controls.js.map +0 -1
- package/build/image/image-editing/index.js +0 -60
- package/build/image/image-editing/index.js.map +0 -1
- package/build/image/image-editing/rotation-button.js +0 -37
- package/build/image/image-editing/rotation-button.js.map +0 -1
- package/build/image/image-editing/use-save-image.js +0 -84
- package/build/image/image-editing/use-save-image.js.map +0 -1
- package/build/image/image-editing/use-transform-image.js +0 -135
- package/build/image/image-editing/use-transform-image.js.map +0 -1
- package/build/image/image-editing/zoom-dropdown.js +0 -55
- package/build/image/image-editing/zoom-dropdown.js.map +0 -1
- package/build-module/embed/embed-controls.native.js +0 -21
- package/build-module/embed/embed-controls.native.js.map +0 -1
- package/build-module/embed/variations.native.js +0 -3
- package/build-module/embed/variations.native.js.map +0 -1
- package/build-module/gallery/gallery-button.native.js.map +0 -1
- package/build-module/gallery/gallery-image.js.map +0 -1
- package/build-module/gallery/gallery-image.native.js.map +0 -1
- package/build-module/gallery/tiles.native.js.map +0 -1
- package/build-module/image/image-editing/aspect-ratio-dropdown.js +0 -115
- package/build-module/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
- package/build-module/image/image-editing/constants.js +0 -7
- package/build-module/image/image-editing/constants.js.map +0 -1
- package/build-module/image/image-editing/context.js +0 -44
- package/build-module/image/image-editing/context.js.map +0 -1
- package/build-module/image/image-editing/cropper.js +0 -69
- package/build-module/image/image-editing/cropper.js.map +0 -1
- package/build-module/image/image-editing/form-controls.js +0 -26
- package/build-module/image/image-editing/form-controls.js.map +0 -1
- package/build-module/image/image-editing/index.js +0 -37
- package/build-module/image/image-editing/index.js.map +0 -1
- package/build-module/image/image-editing/rotation-button.js +0 -26
- package/build-module/image/image-editing/rotation-button.js.map +0 -1
- package/build-module/image/image-editing/use-save-image.js +0 -70
- package/build-module/image/image-editing/use-save-image.js.map +0 -1
- package/build-module/image/image-editing/use-transform-image.js +0 -127
- package/build-module/image/image-editing/use-transform-image.js.map +0 -1
- package/build-module/image/image-editing/zoom-dropdown.js +0 -43
- package/build-module/image/image-editing/zoom-dropdown.js.map +0 -1
- package/src/embed/embed-controls.native.js +0 -23
- package/src/embed/variations.native.js +0 -3
- package/src/heading/editor.scss +0 -20
- package/src/image/image-editing/aspect-ratio-dropdown.js +0 -129
- package/src/image/image-editing/constants.js +0 -6
- package/src/image/image-editing/context.js +0 -56
- package/src/image/image-editing/cropper.js +0 -74
- package/src/image/image-editing/form-controls.js +0 -22
- package/src/image/image-editing/index.js +0 -52
- package/src/image/image-editing/rotation-button.js +0 -24
- package/src/image/image-editing/use-save-image.js +0 -97
- package/src/image/image-editing/use-transform-image.js +0 -162
- package/src/image/image-editing/zoom-dropdown.js +0 -40
- package/src/post-content/editor.scss +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/button/edit.js"],"names":["classnames","__","useCallback","useState","useRef","Button","ButtonGroup","KeyboardShortcuts","PanelBody","TextControl","ToolbarButton","Popover","BlockControls","InspectorControls","InspectorAdvancedControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalLinkControl","LinkControl","rawShortcut","displayShortcut","link","linkOff","createBlock","NEW_TAB_REL","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","map","widthValue","URLPicker","isSelected","url","opensInNewTab","onToggleOpenInNewTab","anchorRef","isURLPickerOpen","setIsURLPickerOpen","urlIsSet","urlIsSetandSelected","openLinkControl","unlinkButton","linkTarget","rel","linkControl","current","newURL","newOpensInNewTab","primary","primaryShift","ButtonEdit","props","attributes","className","onReplace","mergeBlocks","placeholder","style","text","onSetLinkRel","value","newLinkTarget","updatedRel","setButtonText","newText","replace","borderProps","colorProps","spacingProps","ref","blockProps","fontSize","border","radius"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useState, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tKeyboardShortcuts,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tInspectorAdvancedControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n} from '@wordpress/block-editor';\nimport { rawShortcut, displayShortcut } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction URLPicker( {\n\tisSelected,\n\turl,\n\tsetAttributes,\n\topensInNewTab,\n\tonToggleOpenInNewTab,\n\tanchorRef,\n} ) {\n\tconst [ isURLPickerOpen, setIsURLPickerOpen ] = useState( false );\n\tconst urlIsSet = !! url;\n\tconst urlIsSetandSelected = urlIsSet && isSelected;\n\tconst openLinkControl = () => {\n\t\tsetIsURLPickerOpen( true );\n\t\treturn false; // prevents default behaviour for event\n\t};\n\tconst unlinkButton = () => {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsURLPickerOpen( false );\n\t};\n\tconst linkControl = ( isURLPickerOpen || urlIsSetandSelected ) && (\n\t\t<Popover\n\t\t\tposition=\"bottom center\"\n\t\t\tonClose={ () => setIsURLPickerOpen( false ) }\n\t\t\tanchorRef={ anchorRef?.current }\n\t\t>\n\t\t\t<LinkControl\n\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\tvalue={ { url, opensInNewTab } }\n\t\t\t\tonChange={ ( {\n\t\t\t\t\turl: newURL = '',\n\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t} ) => {\n\t\t\t\t\tsetAttributes( { url: newURL } );\n\n\t\t\t\t\tif ( opensInNewTab !== newOpensInNewTab ) {\n\t\t\t\t\t\tonToggleOpenInNewTab( newOpensInNewTab );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</Popover>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! urlIsSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ openLinkControl }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ urlIsSetandSelected && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlinkButton }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isSelected && (\n\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\tbindGlobal\n\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t[ rawShortcut.primary( 'k' ) ]: openLinkControl,\n\t\t\t\t\t\t[ rawShortcut.primaryShift( 'k' ) ]: unlinkButton,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ linkControl }\n\t\t</>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t} = props;\n\tconst {\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t} = attributes;\n\tconst onSetLinkRel = useCallback(\n\t\t( value ) => {\n\t\t\tsetAttributes( { rel: value } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst onToggleOpenInNewTab = useCallback(\n\t\t( value ) => {\n\t\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\t\tlet updatedRel = rel;\n\t\t\tif ( newLinkTarget && ! rel ) {\n\t\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t\t} else if ( ! newLinkTarget && rel === NEW_TAB_REL ) {\n\t\t\t\tupdatedRel = undefined;\n\t\t\t}\n\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTarget: newLinkTarget,\n\t\t\t\trel: updatedRel,\n\t\t\t} );\n\t\t},\n\t\t[ rel, setAttributes ]\n\t);\n\n\tconst setButtonText = ( newText ) => {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t};\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<URLPicker\n\t\t\t\turl={ url }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\topensInNewTab={ linkTarget === '_blank' }\n\t\t\t\tonToggleOpenInNewTab={ onToggleOpenInNewTab }\n\t\t\t\tanchorRef={ ref }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorAdvancedControls>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ onSetLinkRel }\n\t\t\t\t/>\n\t\t\t</InspectorAdvancedControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/button/edit.js"],"names":["classnames","__","useCallback","useEffect","useState","useRef","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalLinkControl","LinkControl","displayShortcut","isKeyboardEvent","link","linkOff","createBlock","NEW_TAB_REL","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","map","widthValue","ButtonEdit","props","attributes","className","isSelected","onReplace","mergeBlocks","linkTarget","placeholder","rel","style","text","url","onSetLinkRel","value","onToggleOpenInNewTab","newLinkTarget","updatedRel","setButtonText","newText","replace","onKeyDown","event","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","preventDefault","fontSize","border","radius","newURL","newOpensInNewTab"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t} = props;\n\tconst {\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t} = attributes;\n\tconst onSetLinkRel = useCallback(\n\t\t( value ) => {\n\t\t\tsetAttributes( { rel: value } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tfunction onToggleOpenInNewTab( value ) {\n\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\tlet updatedRel = rel;\n\t\tif ( newLinkTarget && ! rel ) {\n\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t} else if ( ! newLinkTarget && rel === NEW_TAB_REL ) {\n\t\t\tupdatedRel = undefined;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tlinkTarget: newLinkTarget,\n\t\t\trel: updatedRel,\n\t\t} );\n\t}\n\n\tfunction setButtonText( newText ) {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( { ref, onKeyDown } );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === '_blank';\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ richTextRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t} }\n\t\t\t\t\tanchorRef={ ref?.current }\n\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\tvalue={ { url, opensInNewTab } }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL = '',\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: newURL } );\n\n\t\t\t\t\t\t\tif ( opensInNewTab !== newOpensInNewTab ) {\n\t\t\t\t\t\t\t\tonToggleOpenInNewTab( newOpensInNewTab );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ onSetLinkRel }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
|
|
@@ -11,7 +11,7 @@ import { View, AccessibilityInfo, Platform, Text } from 'react-native';
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import { withInstanceId, compose } from '@wordpress/compose';
|
|
14
|
-
import { __ } from '@wordpress/i18n';
|
|
14
|
+
import { __, _x } from '@wordpress/i18n';
|
|
15
15
|
import { RichText, InspectorControls, BlockControls, withGradient, store as blockEditorStore, getColorObjectByAttributeValues, getGradientValueBySlug, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles } from '@wordpress/block-editor';
|
|
16
16
|
import { PanelBody, ToolbarGroup, ToolbarButton, LinkSettingsNavigation, UnitControl, getValueAndUnit, BottomSheetSelectControl, CSS_UNITS, filterUnitsWithSettings } from '@wordpress/components';
|
|
17
17
|
import { Component } from '@wordpress/element';
|
|
@@ -131,7 +131,7 @@ class ButtonEdit extends Component {
|
|
|
131
131
|
},
|
|
132
132
|
linkRel: {
|
|
133
133
|
label: __('Link Rel'),
|
|
134
|
-
placeholder:
|
|
134
|
+
placeholder: _x('None', 'Link rel attribute value placeholder')
|
|
135
135
|
}
|
|
136
136
|
};
|
|
137
137
|
this.noFocusLinkSettingOptions = { ...this.linkSettingsOptions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/button/edit.native.js"],"names":["View","AccessibilityInfo","Platform","Text","withInstanceId","compose","__","RichText","InspectorControls","BlockControls","withGradient","store","blockEditorStore","getColorObjectByAttributeValues","getGradientValueBySlug","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","PanelBody","ToolbarGroup","ToolbarButton","LinkSettingsNavigation","UnitControl","getValueAndUnit","BottomSheetSelectControl","CSS_UNITS","filterUnitsWithSettings","Component","withSelect","withDispatch","link","richTextStyle","styles","ColorBackground","MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","button75","marginLeft","button50","button25","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","options","value","label","ButtonEdit","constructor","props","onChangeText","bind","onChangeBorderRadius","onChangeBorderRadiusUnit","onClearSettings","onLayout","onSetMaxWidth","dismissSheet","onShowLinkSettings","onHideLinkSettings","onToggleButtonFocus","onPlaceholderTextWidth","setRef","onRemove","getPlaceholderWidth","borderRadius","attributes","style","border","radius","valueUnit","state","maxWidth","isLinkSheetVisible","isButtonFocused","placeholderTextWidth","borderRadiusUnit","linkSettingsActions","onPress","linkSettingsOptions","url","placeholder","autoFocus","autoFill","openInNewTab","linkRel","noFocusLinkSettingOptions","componentDidMount","componentDidUpdate","prevProps","prevState","isSelected","editorSidebarOpened","parentWidth","OS","richTextRef","blur","isScreenReaderEnabled","then","enabled","focus","getBackgroundColor","colors","gradients","backgroundColor","gradient","gradientValue","colorProps","colorObject","color","background","defaultButton","getTextColor","textColor","text","newRadius","newStyle","getNewStyle","newRadiusUnit","getBorderRadiusValue","setState","radiusUnit","rel","linkTarget","nativeEvent","layout","isParentWidthDidChange","marginRight","spacing","isParentWidthChanged","isWidthChanged","numOfButtons","onDeleteBlock","onReplace","closeSettingsBottomSheet","getLinkSettings","isCompatibleWithSettings","richText","placeholderText","textWidth","lines","Math","min","defaultBorderRadius","valueAndUnit","Number","isInteger","parseInt","valueToConvert","parseFloat","render","clientId","mergeBlocks","buttonStyle","align","paddingTop","borderWidth","borderRadiusValue","buttonBorderRadiusValue","floor","outlineBorderRadius","minWidth","isFixedWidth","outline","borderColor","paddingLeft","paddingRight","placeholderTextColor","select","isEditorSidebarOpened","getBlockCount","getBlockRootClientId","getSettings","parentId","settings","dispatch","closeGeneralSidebar"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo, Platform, Text } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tInspectorControls,\n\tBlockControls,\n\twithGradient,\n\tstore as blockEditorStore,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n\tUnitControl,\n\tgetValueAndUnit,\n\tBottomSheetSelectControl,\n\tCSS_UNITS,\n\tfilterUnitsWithSettings,\n} from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { link } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport richTextStyle from './rich-text.scss';\nimport styles from './editor.scss';\nimport ColorBackground from './color-background';\n\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUE = 50;\nconst INITIAL_MAX_WIDTH = 108;\nconst MIN_WIDTH = 40;\n// Map of the percentage width to pixel subtraction that make the buttons fit nicely into columns.\nconst MIN_WIDTH_MARGINS = {\n\t100: 0,\n\t75: styles.button75?.marginLeft,\n\t50: styles.button50?.marginLeft,\n\t25: styles.button25?.marginLeft,\n};\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tlet width = selectedWidth === newWidth ? undefined : newWidth;\n\t\tif ( newWidth === 'auto' ) {\n\t\t\twidth = undefined;\n\t\t}\n\t\t// Update attributes\n\t\tsetAttributes( { width } );\n\t}\n\n\tconst options = [\n\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t{ value: 25, label: '25%' },\n\t\t{ value: 50, label: '50%' },\n\t\t{ value: 75, label: '75%' },\n\t\t{ value: 100, label: '100%' },\n\t];\n\n\tif ( ! selectedWidth ) {\n\t\tselectedWidth = 'auto';\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width Settings' ) }>\n\t\t\t<BottomSheetSelectControl\n\t\t\t\tlabel={ __( 'Button width' ) }\n\t\t\t\tvalue={ selectedWidth }\n\t\t\t\tonChange={ handleChange }\n\t\t\t\toptions={ options }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nclass ButtonEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onChangeText = this.onChangeText.bind( this );\n\t\tthis.onChangeBorderRadius = this.onChangeBorderRadius.bind( this );\n\t\tthis.onChangeBorderRadiusUnit = this.onChangeBorderRadiusUnit.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onClearSettings = this.onClearSettings.bind( this );\n\t\tthis.onLayout = this.onLayout.bind( this );\n\t\tthis.onSetMaxWidth = this.onSetMaxWidth.bind( this );\n\t\tthis.dismissSheet = this.dismissSheet.bind( this );\n\t\tthis.onShowLinkSettings = this.onShowLinkSettings.bind( this );\n\t\tthis.onHideLinkSettings = this.onHideLinkSettings.bind( this );\n\t\tthis.onToggleButtonFocus = this.onToggleButtonFocus.bind( this );\n\t\tthis.onPlaceholderTextWidth = this.onPlaceholderTextWidth.bind( this );\n\t\tthis.setRef = this.setRef.bind( this );\n\t\tthis.onRemove = this.onRemove.bind( this );\n\t\tthis.getPlaceholderWidth = this.getPlaceholderWidth.bind( this );\n\n\t\tconst borderRadius = props?.attributes?.style?.border?.radius;\n\t\tconst { valueUnit = 'px' } = getValueAndUnit( borderRadius ) || {};\n\n\t\tthis.state = {\n\t\t\tmaxWidth: INITIAL_MAX_WIDTH,\n\t\t\tisLinkSheetVisible: false,\n\t\t\tisButtonFocused: true,\n\t\t\tplaceholderTextWidth: 0,\n\t\t\tborderRadiusUnit: valueUnit,\n\t\t};\n\n\t\tthis.linkSettingsActions = [\n\t\t\t{\n\t\t\t\tlabel: __( 'Remove link' ),\n\t\t\t\tonPress: this.onClearSettings,\n\t\t\t},\n\t\t];\n\n\t\tthis.linkSettingsOptions = {\n\t\t\turl: {\n\t\t\t\tlabel: __( 'Button Link URL' ),\n\t\t\t\tplaceholder: __( 'Add URL' ),\n\t\t\t\tautoFocus: true,\n\t\t\t\tautoFill: true,\n\t\t\t},\n\t\t\topenInNewTab: {\n\t\t\t\tlabel: __( 'Open in new tab' ),\n\t\t\t},\n\t\t\tlinkRel: {\n\t\t\t\tlabel: __( 'Link Rel' ),\n\t\t\t\tplaceholder: __( 'None' ),\n\t\t\t},\n\t\t};\n\n\t\tthis.noFocusLinkSettingOptions = {\n\t\t\t...this.linkSettingsOptions,\n\t\t\turl: {\n\t\t\t\t...this.linkSettingsOptions.url,\n\t\t\t\tautoFocus: false,\n\t\t\t},\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.onSetMaxWidth();\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tconst { isSelected, editorSidebarOpened, parentWidth } = this.props;\n\t\tconst { isLinkSheetVisible, isButtonFocused } = this.state;\n\n\t\tif ( isSelected && ! prevProps.isSelected ) {\n\t\t\tthis.onToggleButtonFocus( true );\n\t\t}\n\n\t\tif ( prevProps.parentWidth !== parentWidth ) {\n\t\t\tthis.onSetMaxWidth( null, true );\n\t\t}\n\n\t\t// Blur `RichText` on Android when link settings sheet or button settings sheet is opened,\n\t\t// to avoid flashing caret after closing one of them\n\t\tif (\n\t\t\t( ! prevProps.editorSidebarOpened && editorSidebarOpened ) ||\n\t\t\t( ! prevState.isLinkSheetVisible && isLinkSheetVisible )\n\t\t) {\n\t\t\tif ( Platform.OS === 'android' && this.richTextRef ) {\n\t\t\t\tthis.richTextRef.blur();\n\t\t\t\tthis.onToggleButtonFocus( false );\n\t\t\t}\n\t\t}\n\n\t\tif ( this.richTextRef ) {\n\t\t\tif ( ! isSelected && isButtonFocused ) {\n\t\t\t\tthis.onToggleButtonFocus( false );\n\t\t\t}\n\n\t\t\tif ( isSelected && ! isButtonFocused ) {\n\t\t\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {\n\t\t\t\t\tif ( enabled ) {\n\t\t\t\t\t\tthis.onToggleButtonFocus( true );\n\t\t\t\t\t\tthis.richTextRef.focus();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\tgetBackgroundColor() {\n\t\tconst { attributes, colors, gradients, style } = this.props;\n\t\tconst { backgroundColor, gradient } = attributes;\n\n\t\t// Return named gradient value if available.\n\t\tconst gradientValue = getGradientValueBySlug( gradients, gradient );\n\n\t\tif ( gradientValue ) {\n\t\t\treturn gradientValue;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tbackgroundColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.backgroundColor ||\n\t\t\tcolorProps.style?.background ||\n\t\t\tstyle?.backgroundColor ||\n\t\t\tstyles.defaultButton.backgroundColor\n\t\t);\n\t}\n\n\tgetTextColor() {\n\t\tconst { attributes, colors, style } = this.props;\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tattributes.textColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.color ||\n\t\t\tstyle?.color ||\n\t\t\tstyles.defaultButton.color\n\t\t);\n\t}\n\n\tonChangeText( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { text: value } );\n\t}\n\n\tonChangeBorderRadius( newRadius ) {\n\t\tconst { setAttributes, attributes } = this.props;\n\t\tconst { borderRadiusUnit } = this.state;\n\t\tconst { style } = attributes;\n\t\tconst newStyle = this.getNewStyle( style, newRadius, borderRadiusUnit );\n\n\t\tsetAttributes( { style: newStyle } );\n\t}\n\n\tonChangeBorderRadiusUnit( newRadiusUnit ) {\n\t\tconst { setAttributes, attributes } = this.props;\n\t\tconst { style } = attributes;\n\t\tconst borderRadius = this.getBorderRadiusValue(\n\t\t\tattributes?.style?.border?.radius\n\t\t);\n\t\tconst newStyle = this.getNewStyle( style, borderRadius, newRadiusUnit );\n\t\tsetAttributes( { style: newStyle } );\n\t\tthis.setState( { borderRadiusUnit: newRadiusUnit } );\n\t}\n\n\tgetNewStyle( style, radius, radiusUnit ) {\n\t\treturn {\n\t\t\t...style,\n\t\t\tborder: {\n\t\t\t\t...style?.border,\n\t\t\t\tradius: `${ radius }${ radiusUnit }`, // Store the value with the unit so that it works as expected.\n\t\t\t},\n\t\t};\n\t}\n\n\tonShowLinkSettings() {\n\t\tthis.setState( { isLinkSheetVisible: true } );\n\t}\n\n\tonHideLinkSettings() {\n\t\tthis.setState( { isLinkSheetVisible: false } );\n\t}\n\n\tonToggleButtonFocus( value ) {\n\t\tif ( value !== this.state.isButtonFocused ) {\n\t\t\tthis.setState( { isButtonFocused: value } );\n\t\t}\n\t}\n\n\tonClearSettings() {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\trel: '',\n\t\t\tlinkTarget: '',\n\t\t} );\n\n\t\tthis.onHideLinkSettings();\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tthis.onSetMaxWidth( width );\n\t}\n\n\tonSetMaxWidth( width, isParentWidthDidChange = false ) {\n\t\tconst { maxWidth } = this.state;\n\t\tconst { parentWidth } = this.props;\n\t\tconst { marginRight: spacing } = styles.defaultButton;\n\n\t\tconst isParentWidthChanged = isParentWidthDidChange\n\t\t\t? isParentWidthDidChange\n\t\t\t: maxWidth !== parentWidth;\n\t\tconst isWidthChanged = maxWidth !== width;\n\n\t\tif ( parentWidth && ! width && isParentWidthChanged ) {\n\t\t\tthis.setState( {\n\t\t\t\tmaxWidth: parentWidth - spacing,\n\t\t\t} );\n\t\t} else if ( ! parentWidth && width && isWidthChanged ) {\n\t\t\tthis.setState( { maxWidth: width - spacing } );\n\t\t}\n\t}\n\n\tonRemove() {\n\t\tconst { numOfButtons, onDeleteBlock, onReplace } = this.props;\n\n\t\tif ( numOfButtons === 1 ) {\n\t\t\tonDeleteBlock();\n\t\t} else {\n\t\t\tonReplace( [] );\n\t\t}\n\t}\n\n\tdismissSheet() {\n\t\tthis.onHideLinkSettings();\n\t\tthis.props.closeSettingsBottomSheet();\n\t}\n\n\tgetLinkSettings( isCompatibleWithSettings ) {\n\t\tconst { isLinkSheetVisible } = this.state;\n\t\tconst { attributes, setAttributes } = this.props;\n\t\treturn (\n\t\t\t<LinkSettingsNavigation\n\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\turl={ attributes.url }\n\t\t\t\trel={ attributes.rel }\n\t\t\t\tlinkTarget={ attributes.linkTarget }\n\t\t\t\tonClose={ this.dismissSheet }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\twithBottomSheet={ ! isCompatibleWithSettings }\n\t\t\t\thasPicker\n\t\t\t\tactions={ this.linkSettingsActions }\n\t\t\t\toptions={\n\t\t\t\t\tisCompatibleWithSettings\n\t\t\t\t\t\t? this.linkSettingsOptions\n\t\t\t\t\t\t: this.noFocusLinkSettingOptions\n\t\t\t\t}\n\t\t\t\tshowIcon={ ! isCompatibleWithSettings }\n\t\t\t/>\n\t\t);\n\t}\n\n\tsetRef( richText ) {\n\t\tthis.richTextRef = richText;\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\tgetPlaceholderWidth( placeholderText ) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ this.onPlaceholderTextWidth }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tonPlaceholderTextWidth( { nativeEvent } ) {\n\t\tconst { maxWidth, placeholderTextWidth } = this.state;\n\t\tconst textWidth =\n\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\n\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\tthis.setState( {\n\t\t\t\tplaceholderTextWidth: Math.min( textWidth, maxWidth ),\n\t\t\t} );\n\t\t}\n\t}\n\n\tgetBorderRadiusValue( borderRadius, defaultBorderRadius ) {\n\t\tconst valueAndUnit = getValueAndUnit( borderRadius );\n\t\tif ( Number.isInteger( parseInt( valueAndUnit?.valueToConvert ) ) ) {\n\t\t\treturn parseFloat( valueAndUnit.valueToConvert );\n\t\t}\n\t\treturn defaultBorderRadius;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tisSelected,\n\t\t\tclientId,\n\t\t\tonReplace,\n\t\t\tmergeBlocks,\n\t\t\tparentWidth,\n\t\t\tsetAttributes,\n\t\t\tstyle,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tplaceholder,\n\t\t\ttext,\n\t\t\tstyle: buttonStyle,\n\t\t\turl,\n\t\t\talign = 'center',\n\t\t\twidth,\n\t\t} = attributes;\n\t\tconst {\n\t\t\tmaxWidth,\n\t\t\tisButtonFocused,\n\t\t\tplaceholderTextWidth,\n\t\t\tborderRadiusUnit,\n\t\t} = this.state;\n\t\tconst { paddingTop: spacing, borderWidth } = styles.defaultButton;\n\n\t\tif ( parentWidth === 0 ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderRadius = buttonStyle?.border?.radius;\n\t\tconst borderRadiusValue = this.getBorderRadiusValue(\n\t\t\tborderRadius,\n\t\t\tstyles.defaultButton.borderRadius\n\t\t);\n\n\t\tconst buttonBorderRadiusValue =\n\t\t\tborderRadiusUnit === 'px' || borderRadiusUnit === '%'\n\t\t\t\t? borderRadiusValue\n\t\t\t\t: Math.floor( 14 * borderRadiusValue ); // lets assume that the font size is set to 14px; TO get a nicer preview.\n\t\tconst outlineBorderRadius =\n\t\t\tbuttonBorderRadiusValue > 0\n\t\t\t\t? buttonBorderRadiusValue + spacing + borderWidth\n\t\t\t\t: 0;\n\n\t\t// To achieve proper expanding and shrinking `RichText` on iOS, there is a need to set a `minWidth`\n\t\t// value at least on 1 when `RichText` is focused or when is not focused, but `RichText` value is\n\t\t// different than empty string.\n\t\tlet minWidth =\n\t\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t\t? MIN_WIDTH\n\t\t\t\t: placeholderTextWidth;\n\t\tif ( width ) {\n\t\t\t// Set the width of the button.\n\t\t\tminWidth = Math.floor(\n\t\t\t\tmaxWidth * ( width / 100 ) - MIN_WIDTH_MARGINS[ width ]\n\t\t\t);\n\t\t}\n\t\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t\t// a `placeholder` as an empty string when `RichText` is focused,\n\t\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\t\tconst placeholderText =\n\t\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t\t? ''\n\t\t\t\t: placeholder || __( 'Add text…' );\n\n\t\tconst backgroundColor = this.getBackgroundColor();\n\t\tconst textColor = this.getTextColor();\n\t\tconst isFixedWidth = !! width;\n\n\t\treturn (\n\t\t\t<View onLayout={ this.onLayout }>\n\t\t\t\t{ this.getPlaceholderWidth( placeholderText ) }\n\t\t\t\t<ColorBackground\n\t\t\t\t\tborderRadiusValue={ buttonBorderRadiusValue }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t>\n\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.outline,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tborderRadius: outlineBorderRadius,\n\t\t\t\t\t\t\t\t\tborderColor: backgroundColor,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tsetRef={ this.setRef }\n\t\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\tonChange={ this.onChangeText }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t...richTextStyle.richText,\n\t\t\t\t\t\t\tpaddingLeft: isFixedWidth\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: richTextStyle.richText.paddingLeft,\n\t\t\t\t\t\t\tpaddingRight: isFixedWidth\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: richTextStyle.richText.paddingRight,\n\t\t\t\t\t\t\tcolor: textColor,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttextAlign={ align }\n\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\tstyle?.color || styles.placeholderTextColor.color\n\t\t\t\t\t\t}\n\t\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tminWidth={ minWidth } // The minimum Button size.\n\t\t\t\t\t\tmaxWidth={ isFixedWidth ? minWidth : maxWidth } // The width of the screen.\n\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\tisSelected={ isButtonFocused }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tunstableOnFocus={ () =>\n\t\t\t\t\t\t\tthis.onToggleButtonFocus( true )\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\t\tselectionColor={ textColor }\n\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\tthis.onSetMaxWidth();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\tonRemove={ this.onRemove }\n\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</ColorBackground>\n\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\ttitle={ __( 'Edit link' ) }\n\t\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\t\tonClick={ this.onShowLinkSettings }\n\t\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t\t{ this.getLinkSettings( false ) }\n\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Border Settings' ) }>\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Border Radius' ) }\n\t\t\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\t\tvalue={ borderRadiusValue }\n\t\t\t\t\t\t\t\t\tonChange={ this.onChangeBorderRadius }\n\t\t\t\t\t\t\t\t\tonUnitChange={\n\t\t\t\t\t\t\t\t\t\tthis.onChangeBorderRadiusUnit\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tunit={ this.state.borderRadiusUnit }\n\t\t\t\t\t\t\t\t\tunits={ filterUnitsWithSettings(\n\t\t\t\t\t\t\t\t\t\t[ 'px', 'em', 'rem' ],\n\t\t\t\t\t\t\t\t\t\tCSS_UNITS\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t\t<WidthPanel\n\t\t\t\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Link Settings' ) }>\n\t\t\t\t\t\t\t\t{ this.getLinkSettings( true ) }\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithInstanceId,\n\twithGradient,\n\twithSelect( ( select, { clientId, isSelected } ) => {\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\tconst { getBlockCount, getBlockRootClientId, getSettings } = select(\n\t\t\tblockEditorStore\n\t\t);\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst numOfButtons = getBlockCount( parentId );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tcolors: settings?.colors || [],\n\t\t\tgradients: settings?.gradients || [],\n\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\tnumOfButtons,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\treturn {\n\t\t\tcloseSettingsBottomSheet() {\n\t\t\t\tdispatch( 'core/edit-post' ).closeGeneralSidebar();\n\t\t\t},\n\t\t};\n\t} ),\n] )( ButtonEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/button/edit.native.js"],"names":["View","AccessibilityInfo","Platform","Text","withInstanceId","compose","__","_x","RichText","InspectorControls","BlockControls","withGradient","store","blockEditorStore","getColorObjectByAttributeValues","getGradientValueBySlug","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","PanelBody","ToolbarGroup","ToolbarButton","LinkSettingsNavigation","UnitControl","getValueAndUnit","BottomSheetSelectControl","CSS_UNITS","filterUnitsWithSettings","Component","withSelect","withDispatch","link","richTextStyle","styles","ColorBackground","MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","button75","marginLeft","button50","button25","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","options","value","label","ButtonEdit","constructor","props","onChangeText","bind","onChangeBorderRadius","onChangeBorderRadiusUnit","onClearSettings","onLayout","onSetMaxWidth","dismissSheet","onShowLinkSettings","onHideLinkSettings","onToggleButtonFocus","onPlaceholderTextWidth","setRef","onRemove","getPlaceholderWidth","borderRadius","attributes","style","border","radius","valueUnit","state","maxWidth","isLinkSheetVisible","isButtonFocused","placeholderTextWidth","borderRadiusUnit","linkSettingsActions","onPress","linkSettingsOptions","url","placeholder","autoFocus","autoFill","openInNewTab","linkRel","noFocusLinkSettingOptions","componentDidMount","componentDidUpdate","prevProps","prevState","isSelected","editorSidebarOpened","parentWidth","OS","richTextRef","blur","isScreenReaderEnabled","then","enabled","focus","getBackgroundColor","colors","gradients","backgroundColor","gradient","gradientValue","colorProps","colorObject","color","background","defaultButton","getTextColor","textColor","text","newRadius","newStyle","getNewStyle","newRadiusUnit","getBorderRadiusValue","setState","radiusUnit","rel","linkTarget","nativeEvent","layout","isParentWidthDidChange","marginRight","spacing","isParentWidthChanged","isWidthChanged","numOfButtons","onDeleteBlock","onReplace","closeSettingsBottomSheet","getLinkSettings","isCompatibleWithSettings","richText","placeholderText","textWidth","lines","Math","min","defaultBorderRadius","valueAndUnit","Number","isInteger","parseInt","valueToConvert","parseFloat","render","clientId","mergeBlocks","buttonStyle","align","paddingTop","borderWidth","borderRadiusValue","buttonBorderRadiusValue","floor","outlineBorderRadius","minWidth","isFixedWidth","outline","borderColor","paddingLeft","paddingRight","placeholderTextColor","select","isEditorSidebarOpened","getBlockCount","getBlockRootClientId","getSettings","parentId","settings","dispatch","closeGeneralSidebar"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo, Platform, Text } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tInspectorControls,\n\tBlockControls,\n\twithGradient,\n\tstore as blockEditorStore,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n\tUnitControl,\n\tgetValueAndUnit,\n\tBottomSheetSelectControl,\n\tCSS_UNITS,\n\tfilterUnitsWithSettings,\n} from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { link } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport richTextStyle from './rich-text.scss';\nimport styles from './editor.scss';\nimport ColorBackground from './color-background';\n\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUE = 50;\nconst INITIAL_MAX_WIDTH = 108;\nconst MIN_WIDTH = 40;\n// Map of the percentage width to pixel subtraction that make the buttons fit nicely into columns.\nconst MIN_WIDTH_MARGINS = {\n\t100: 0,\n\t75: styles.button75?.marginLeft,\n\t50: styles.button50?.marginLeft,\n\t25: styles.button25?.marginLeft,\n};\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tlet width = selectedWidth === newWidth ? undefined : newWidth;\n\t\tif ( newWidth === 'auto' ) {\n\t\t\twidth = undefined;\n\t\t}\n\t\t// Update attributes\n\t\tsetAttributes( { width } );\n\t}\n\n\tconst options = [\n\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t{ value: 25, label: '25%' },\n\t\t{ value: 50, label: '50%' },\n\t\t{ value: 75, label: '75%' },\n\t\t{ value: 100, label: '100%' },\n\t];\n\n\tif ( ! selectedWidth ) {\n\t\tselectedWidth = 'auto';\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width Settings' ) }>\n\t\t\t<BottomSheetSelectControl\n\t\t\t\tlabel={ __( 'Button width' ) }\n\t\t\t\tvalue={ selectedWidth }\n\t\t\t\tonChange={ handleChange }\n\t\t\t\toptions={ options }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nclass ButtonEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onChangeText = this.onChangeText.bind( this );\n\t\tthis.onChangeBorderRadius = this.onChangeBorderRadius.bind( this );\n\t\tthis.onChangeBorderRadiusUnit = this.onChangeBorderRadiusUnit.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onClearSettings = this.onClearSettings.bind( this );\n\t\tthis.onLayout = this.onLayout.bind( this );\n\t\tthis.onSetMaxWidth = this.onSetMaxWidth.bind( this );\n\t\tthis.dismissSheet = this.dismissSheet.bind( this );\n\t\tthis.onShowLinkSettings = this.onShowLinkSettings.bind( this );\n\t\tthis.onHideLinkSettings = this.onHideLinkSettings.bind( this );\n\t\tthis.onToggleButtonFocus = this.onToggleButtonFocus.bind( this );\n\t\tthis.onPlaceholderTextWidth = this.onPlaceholderTextWidth.bind( this );\n\t\tthis.setRef = this.setRef.bind( this );\n\t\tthis.onRemove = this.onRemove.bind( this );\n\t\tthis.getPlaceholderWidth = this.getPlaceholderWidth.bind( this );\n\n\t\tconst borderRadius = props?.attributes?.style?.border?.radius;\n\t\tconst { valueUnit = 'px' } = getValueAndUnit( borderRadius ) || {};\n\n\t\tthis.state = {\n\t\t\tmaxWidth: INITIAL_MAX_WIDTH,\n\t\t\tisLinkSheetVisible: false,\n\t\t\tisButtonFocused: true,\n\t\t\tplaceholderTextWidth: 0,\n\t\t\tborderRadiusUnit: valueUnit,\n\t\t};\n\n\t\tthis.linkSettingsActions = [\n\t\t\t{\n\t\t\t\tlabel: __( 'Remove link' ),\n\t\t\t\tonPress: this.onClearSettings,\n\t\t\t},\n\t\t];\n\n\t\tthis.linkSettingsOptions = {\n\t\t\turl: {\n\t\t\t\tlabel: __( 'Button Link URL' ),\n\t\t\t\tplaceholder: __( 'Add URL' ),\n\t\t\t\tautoFocus: true,\n\t\t\t\tautoFill: true,\n\t\t\t},\n\t\t\topenInNewTab: {\n\t\t\t\tlabel: __( 'Open in new tab' ),\n\t\t\t},\n\t\t\tlinkRel: {\n\t\t\t\tlabel: __( 'Link Rel' ),\n\t\t\t\tplaceholder: _x(\n\t\t\t\t\t'None',\n\t\t\t\t\t'Link rel attribute value placeholder'\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\n\t\tthis.noFocusLinkSettingOptions = {\n\t\t\t...this.linkSettingsOptions,\n\t\t\turl: {\n\t\t\t\t...this.linkSettingsOptions.url,\n\t\t\t\tautoFocus: false,\n\t\t\t},\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.onSetMaxWidth();\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tconst { isSelected, editorSidebarOpened, parentWidth } = this.props;\n\t\tconst { isLinkSheetVisible, isButtonFocused } = this.state;\n\n\t\tif ( isSelected && ! prevProps.isSelected ) {\n\t\t\tthis.onToggleButtonFocus( true );\n\t\t}\n\n\t\tif ( prevProps.parentWidth !== parentWidth ) {\n\t\t\tthis.onSetMaxWidth( null, true );\n\t\t}\n\n\t\t// Blur `RichText` on Android when link settings sheet or button settings sheet is opened,\n\t\t// to avoid flashing caret after closing one of them\n\t\tif (\n\t\t\t( ! prevProps.editorSidebarOpened && editorSidebarOpened ) ||\n\t\t\t( ! prevState.isLinkSheetVisible && isLinkSheetVisible )\n\t\t) {\n\t\t\tif ( Platform.OS === 'android' && this.richTextRef ) {\n\t\t\t\tthis.richTextRef.blur();\n\t\t\t\tthis.onToggleButtonFocus( false );\n\t\t\t}\n\t\t}\n\n\t\tif ( this.richTextRef ) {\n\t\t\tif ( ! isSelected && isButtonFocused ) {\n\t\t\t\tthis.onToggleButtonFocus( false );\n\t\t\t}\n\n\t\t\tif ( isSelected && ! isButtonFocused ) {\n\t\t\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {\n\t\t\t\t\tif ( enabled ) {\n\t\t\t\t\t\tthis.onToggleButtonFocus( true );\n\t\t\t\t\t\tthis.richTextRef.focus();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\tgetBackgroundColor() {\n\t\tconst { attributes, colors, gradients, style } = this.props;\n\t\tconst { backgroundColor, gradient } = attributes;\n\n\t\t// Return named gradient value if available.\n\t\tconst gradientValue = getGradientValueBySlug( gradients, gradient );\n\n\t\tif ( gradientValue ) {\n\t\t\treturn gradientValue;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tbackgroundColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.backgroundColor ||\n\t\t\tcolorProps.style?.background ||\n\t\t\tstyle?.backgroundColor ||\n\t\t\tstyles.defaultButton.backgroundColor\n\t\t);\n\t}\n\n\tgetTextColor() {\n\t\tconst { attributes, colors, style } = this.props;\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tattributes.textColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.color ||\n\t\t\tstyle?.color ||\n\t\t\tstyles.defaultButton.color\n\t\t);\n\t}\n\n\tonChangeText( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { text: value } );\n\t}\n\n\tonChangeBorderRadius( newRadius ) {\n\t\tconst { setAttributes, attributes } = this.props;\n\t\tconst { borderRadiusUnit } = this.state;\n\t\tconst { style } = attributes;\n\t\tconst newStyle = this.getNewStyle( style, newRadius, borderRadiusUnit );\n\n\t\tsetAttributes( { style: newStyle } );\n\t}\n\n\tonChangeBorderRadiusUnit( newRadiusUnit ) {\n\t\tconst { setAttributes, attributes } = this.props;\n\t\tconst { style } = attributes;\n\t\tconst borderRadius = this.getBorderRadiusValue(\n\t\t\tattributes?.style?.border?.radius\n\t\t);\n\t\tconst newStyle = this.getNewStyle( style, borderRadius, newRadiusUnit );\n\t\tsetAttributes( { style: newStyle } );\n\t\tthis.setState( { borderRadiusUnit: newRadiusUnit } );\n\t}\n\n\tgetNewStyle( style, radius, radiusUnit ) {\n\t\treturn {\n\t\t\t...style,\n\t\t\tborder: {\n\t\t\t\t...style?.border,\n\t\t\t\tradius: `${ radius }${ radiusUnit }`, // Store the value with the unit so that it works as expected.\n\t\t\t},\n\t\t};\n\t}\n\n\tonShowLinkSettings() {\n\t\tthis.setState( { isLinkSheetVisible: true } );\n\t}\n\n\tonHideLinkSettings() {\n\t\tthis.setState( { isLinkSheetVisible: false } );\n\t}\n\n\tonToggleButtonFocus( value ) {\n\t\tif ( value !== this.state.isButtonFocused ) {\n\t\t\tthis.setState( { isButtonFocused: value } );\n\t\t}\n\t}\n\n\tonClearSettings() {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\trel: '',\n\t\t\tlinkTarget: '',\n\t\t} );\n\n\t\tthis.onHideLinkSettings();\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tthis.onSetMaxWidth( width );\n\t}\n\n\tonSetMaxWidth( width, isParentWidthDidChange = false ) {\n\t\tconst { maxWidth } = this.state;\n\t\tconst { parentWidth } = this.props;\n\t\tconst { marginRight: spacing } = styles.defaultButton;\n\n\t\tconst isParentWidthChanged = isParentWidthDidChange\n\t\t\t? isParentWidthDidChange\n\t\t\t: maxWidth !== parentWidth;\n\t\tconst isWidthChanged = maxWidth !== width;\n\n\t\tif ( parentWidth && ! width && isParentWidthChanged ) {\n\t\t\tthis.setState( {\n\t\t\t\tmaxWidth: parentWidth - spacing,\n\t\t\t} );\n\t\t} else if ( ! parentWidth && width && isWidthChanged ) {\n\t\t\tthis.setState( { maxWidth: width - spacing } );\n\t\t}\n\t}\n\n\tonRemove() {\n\t\tconst { numOfButtons, onDeleteBlock, onReplace } = this.props;\n\n\t\tif ( numOfButtons === 1 ) {\n\t\t\tonDeleteBlock();\n\t\t} else {\n\t\t\tonReplace( [] );\n\t\t}\n\t}\n\n\tdismissSheet() {\n\t\tthis.onHideLinkSettings();\n\t\tthis.props.closeSettingsBottomSheet();\n\t}\n\n\tgetLinkSettings( isCompatibleWithSettings ) {\n\t\tconst { isLinkSheetVisible } = this.state;\n\t\tconst { attributes, setAttributes } = this.props;\n\t\treturn (\n\t\t\t<LinkSettingsNavigation\n\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\turl={ attributes.url }\n\t\t\t\trel={ attributes.rel }\n\t\t\t\tlinkTarget={ attributes.linkTarget }\n\t\t\t\tonClose={ this.dismissSheet }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\twithBottomSheet={ ! isCompatibleWithSettings }\n\t\t\t\thasPicker\n\t\t\t\tactions={ this.linkSettingsActions }\n\t\t\t\toptions={\n\t\t\t\t\tisCompatibleWithSettings\n\t\t\t\t\t\t? this.linkSettingsOptions\n\t\t\t\t\t\t: this.noFocusLinkSettingOptions\n\t\t\t\t}\n\t\t\t\tshowIcon={ ! isCompatibleWithSettings }\n\t\t\t/>\n\t\t);\n\t}\n\n\tsetRef( richText ) {\n\t\tthis.richTextRef = richText;\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\tgetPlaceholderWidth( placeholderText ) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ this.onPlaceholderTextWidth }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tonPlaceholderTextWidth( { nativeEvent } ) {\n\t\tconst { maxWidth, placeholderTextWidth } = this.state;\n\t\tconst textWidth =\n\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\n\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\tthis.setState( {\n\t\t\t\tplaceholderTextWidth: Math.min( textWidth, maxWidth ),\n\t\t\t} );\n\t\t}\n\t}\n\n\tgetBorderRadiusValue( borderRadius, defaultBorderRadius ) {\n\t\tconst valueAndUnit = getValueAndUnit( borderRadius );\n\t\tif ( Number.isInteger( parseInt( valueAndUnit?.valueToConvert ) ) ) {\n\t\t\treturn parseFloat( valueAndUnit.valueToConvert );\n\t\t}\n\t\treturn defaultBorderRadius;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tisSelected,\n\t\t\tclientId,\n\t\t\tonReplace,\n\t\t\tmergeBlocks,\n\t\t\tparentWidth,\n\t\t\tsetAttributes,\n\t\t\tstyle,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tplaceholder,\n\t\t\ttext,\n\t\t\tstyle: buttonStyle,\n\t\t\turl,\n\t\t\talign = 'center',\n\t\t\twidth,\n\t\t} = attributes;\n\t\tconst {\n\t\t\tmaxWidth,\n\t\t\tisButtonFocused,\n\t\t\tplaceholderTextWidth,\n\t\t\tborderRadiusUnit,\n\t\t} = this.state;\n\t\tconst { paddingTop: spacing, borderWidth } = styles.defaultButton;\n\n\t\tif ( parentWidth === 0 ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst borderRadius = buttonStyle?.border?.radius;\n\t\tconst borderRadiusValue = this.getBorderRadiusValue(\n\t\t\tborderRadius,\n\t\t\tstyles.defaultButton.borderRadius\n\t\t);\n\n\t\tconst buttonBorderRadiusValue =\n\t\t\tborderRadiusUnit === 'px' || borderRadiusUnit === '%'\n\t\t\t\t? borderRadiusValue\n\t\t\t\t: Math.floor( 14 * borderRadiusValue ); // lets assume that the font size is set to 14px; TO get a nicer preview.\n\t\tconst outlineBorderRadius =\n\t\t\tbuttonBorderRadiusValue > 0\n\t\t\t\t? buttonBorderRadiusValue + spacing + borderWidth\n\t\t\t\t: 0;\n\n\t\t// To achieve proper expanding and shrinking `RichText` on iOS, there is a need to set a `minWidth`\n\t\t// value at least on 1 when `RichText` is focused or when is not focused, but `RichText` value is\n\t\t// different than empty string.\n\t\tlet minWidth =\n\t\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t\t? MIN_WIDTH\n\t\t\t\t: placeholderTextWidth;\n\t\tif ( width ) {\n\t\t\t// Set the width of the button.\n\t\t\tminWidth = Math.floor(\n\t\t\t\tmaxWidth * ( width / 100 ) - MIN_WIDTH_MARGINS[ width ]\n\t\t\t);\n\t\t}\n\t\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t\t// a `placeholder` as an empty string when `RichText` is focused,\n\t\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\t\tconst placeholderText =\n\t\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t\t? ''\n\t\t\t\t: placeholder || __( 'Add text…' );\n\n\t\tconst backgroundColor = this.getBackgroundColor();\n\t\tconst textColor = this.getTextColor();\n\t\tconst isFixedWidth = !! width;\n\n\t\treturn (\n\t\t\t<View onLayout={ this.onLayout }>\n\t\t\t\t{ this.getPlaceholderWidth( placeholderText ) }\n\t\t\t\t<ColorBackground\n\t\t\t\t\tborderRadiusValue={ buttonBorderRadiusValue }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t>\n\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tpointerEvents=\"none\"\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.outline,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tborderRadius: outlineBorderRadius,\n\t\t\t\t\t\t\t\t\tborderColor: backgroundColor,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tsetRef={ this.setRef }\n\t\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\t\tvalue={ text }\n\t\t\t\t\t\tonChange={ this.onChangeText }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t...richTextStyle.richText,\n\t\t\t\t\t\t\tpaddingLeft: isFixedWidth\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: richTextStyle.richText.paddingLeft,\n\t\t\t\t\t\t\tpaddingRight: isFixedWidth\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: richTextStyle.richText.paddingRight,\n\t\t\t\t\t\t\tcolor: textColor,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttextAlign={ align }\n\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\tstyle?.color || styles.placeholderTextColor.color\n\t\t\t\t\t\t}\n\t\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tminWidth={ minWidth } // The minimum Button size.\n\t\t\t\t\t\tmaxWidth={ isFixedWidth ? minWidth : maxWidth } // The width of the screen.\n\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\tisSelected={ isButtonFocused }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tunstableOnFocus={ () =>\n\t\t\t\t\t\t\tthis.onToggleButtonFocus( true )\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\t\tselectionColor={ textColor }\n\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\tthis.onSetMaxWidth();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\tonRemove={ this.onRemove }\n\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</ColorBackground>\n\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\ttitle={ __( 'Edit link' ) }\n\t\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\t\tonClick={ this.onShowLinkSettings }\n\t\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t\t{ this.getLinkSettings( false ) }\n\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Border Settings' ) }>\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Border Radius' ) }\n\t\t\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\t\tvalue={ borderRadiusValue }\n\t\t\t\t\t\t\t\t\tonChange={ this.onChangeBorderRadius }\n\t\t\t\t\t\t\t\t\tonUnitChange={\n\t\t\t\t\t\t\t\t\t\tthis.onChangeBorderRadiusUnit\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tunit={ this.state.borderRadiusUnit }\n\t\t\t\t\t\t\t\t\tunits={ filterUnitsWithSettings(\n\t\t\t\t\t\t\t\t\t\t[ 'px', 'em', 'rem' ],\n\t\t\t\t\t\t\t\t\t\tCSS_UNITS\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t\t<WidthPanel\n\t\t\t\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Link Settings' ) }>\n\t\t\t\t\t\t\t\t{ this.getLinkSettings( true ) }\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithInstanceId,\n\twithGradient,\n\twithSelect( ( select, { clientId, isSelected } ) => {\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\tconst { getBlockCount, getBlockRootClientId, getSettings } = select(\n\t\t\tblockEditorStore\n\t\t);\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst numOfButtons = getBlockCount( parentId );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tcolors: settings?.colors || [],\n\t\t\tgradients: settings?.gradients || [],\n\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\tnumOfButtons,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\treturn {\n\t\t\tcloseSettingsBottomSheet() {\n\t\t\t\tdispatch( 'core/edit-post' ).closeGeneralSidebar();\n\t\t\t},\n\t\t};\n\t} ),\n] )( ButtonEdit );\n"]}
|
|
@@ -79,7 +79,10 @@ const metadata = {
|
|
|
79
79
|
reusable: false,
|
|
80
80
|
spacing: {
|
|
81
81
|
__experimentalSkipSerialization: true,
|
|
82
|
-
padding:
|
|
82
|
+
padding: ["horizontal", "vertical"],
|
|
83
|
+
__experimentalDefaultControls: {
|
|
84
|
+
padding: true
|
|
85
|
+
}
|
|
83
86
|
},
|
|
84
87
|
__experimentalBorder: {
|
|
85
88
|
radius: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/button/index.js"],"names":["__","button","icon","deprecated","edit","save","name","metadata","settings","example","attributes","className","text","merge","a"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAM,IAAIC,IAAnB,QAA+B,kBAA/B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/button/index.js"],"names":["__","button","icon","deprecated","edit","save","name","metadata","settings","example","attributes","className","text","merge","a"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAM,IAAIC,IAAnB,QAA+B,kBAA/B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBN,EAAAA,IADuB;AAEvBO,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,SAAS,EAAE,eADA;AAEXC,MAAAA,IAAI,EAAEZ,EAAE,CAAE,gBAAF;AAFG;AADJ,GAFc;AAQvBI,EAAAA,IARuB;AASvBC,EAAAA,IATuB;AAUvBF,EAAAA,UAVuB;AAWvBU,EAAAA,KAAK,EAAE,CAAEC,CAAF,EAAK;AAAEF,IAAAA,IAAI,GAAG;AAAT,GAAL,MAA0B,EAChC,GAAGE,CAD6B;AAEhCF,IAAAA,IAAI,EAAE,CAAEE,CAAC,CAACF,IAAF,IAAU,EAAZ,IAAmBA;AAFO,GAA1B;AAXgB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to Action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n};\n"]}
|
|
@@ -54,7 +54,8 @@ function ButtonsEdit({
|
|
|
54
54
|
});
|
|
55
55
|
const justifyControls = orientation === 'vertical' ? VERTICAL_JUSTIFY_CONTROLS : HORIZONTAL_JUSTIFY_CONTROLS;
|
|
56
56
|
return createElement(Fragment, null, createElement(BlockControls, {
|
|
57
|
-
group: "block"
|
|
57
|
+
group: "block",
|
|
58
|
+
__experimentalShareWithChildBlocks: true
|
|
58
59
|
}, createElement(JustifyContentControl, {
|
|
59
60
|
allowedControls: justifyControls,
|
|
60
61
|
value: contentJustification,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/buttons/edit.js"],"names":["classnames","BlockControls","useBlockProps","__experimentalUseInnerBlocksProps","useInnerBlocksProps","JustifyContentControl","store","blockEditorStore","useSelect","name","buttonBlockName","ALLOWED_BLOCKS","LAYOUT","type","alignments","VERTICAL_JUSTIFY_CONTROLS","HORIZONTAL_JUSTIFY_CONTROLS","ButtonsEdit","attributes","contentJustification","orientation","setAttributes","blockProps","className","preferredStyle","select","preferredStyleVariations","getSettings","__experimentalPreferredStyleVariations","value","innerBlocksProps","allowedBlocks","template","__experimentalLayout","templateInsertUpdatesSelection","justifyControls","position","isAlternate"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,aADD,EAECC,aAFD,EAGCC,iCAAiC,IAAIC,mBAHtC,EAICC,qBAJD,EAKCC,KAAK,IAAIC,gBALV,QAMO,yBANP;AAOA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASC,IAAI,IAAIC,eAAjB,QAAwC,WAAxC;AAEA,MAAMC,cAAc,GAAG,CAAED,eAAF,CAAvB;AACA,MAAME,MAAM,GAAG;AACdC,EAAAA,IAAI,EAAE,SADQ;AAEdC,EAAAA,UAAU,EAAE;AAFE,CAAf;AAIA,MAAMC,yBAAyB,GAAG,CAAE,MAAF,EAAU,QAAV,EAAoB,OAApB,CAAlC;AACA,MAAMC,2BAA2B,GAAG,CACnC,MADmC,EAEnC,QAFmC,EAGnC,OAHmC,EAInC,eAJmC,CAApC;;AAOA,SAASC,WAAT,CAAsB;AACrBC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,oBAAF;AAAwBC,IAAAA;AAAxB,GADS;AAErBC,EAAAA;AAFqB,CAAtB,EAGI;AACH,QAAMC,UAAU,GAAGpB,aAAa,CAAE;AACjCqB,IAAAA,SAAS,EAAEvB,UAAU,CAAE;AACtB,OAAG,4BAA4BmB,oBAAsB,EAArD,GAA0DA,oBADpC;AAEtB,qBAAeC,WAAW,KAAK;AAFT,KAAF;AADY,GAAF,CAAhC;AAMA,QAAMI,cAAc,GAAGhB,SAAS,CAAIiB,MAAF,IAAc;AAAA;;AAC/C,UAAMC,wBAAwB,GAAGD,MAAM,CACtClB,gBADsC,CAAN,CAE/BoB,WAF+B,GAEjBC,sCAFhB;;AAGA,WAAOF,wBAAP,aAAOA,wBAAP,gDAAOA,wBAAwB,CAAEG,KAAjC,0DAAO,sBAAmCnB,eAAnC,CAAP;AACA,GAL+B,EAK7B,EAL6B,CAAhC;AAOA,QAAMoB,gBAAgB,GAAG1B,mBAAmB,CAAEkB,UAAF,EAAc;AACzDS,IAAAA,aAAa,EAAEpB,cAD0C;AAEzDqB,IAAAA,QAAQ,EAAE,CACT,CACCtB,eADD,EAEC;AAAEa,MAAAA,SAAS,EAAEC,cAAc,IAAK,YAAYA,cAAgB;AAA5D,KAFD,CADS,CAF+C;AAQzDJ,IAAAA,WARyD;AASzDa,IAAAA,oBAAoB,EAAErB,MATmC;AAUzDsB,IAAAA,8BAA8B,EAAE;AAVyB,GAAd,CAA5C;AAaA,QAAMC,eAAe,GACpBf,WAAW,KAAK,UAAhB,GACGL,yBADH,GAEGC,2BAHJ;AAKA,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/buttons/edit.js"],"names":["classnames","BlockControls","useBlockProps","__experimentalUseInnerBlocksProps","useInnerBlocksProps","JustifyContentControl","store","blockEditorStore","useSelect","name","buttonBlockName","ALLOWED_BLOCKS","LAYOUT","type","alignments","VERTICAL_JUSTIFY_CONTROLS","HORIZONTAL_JUSTIFY_CONTROLS","ButtonsEdit","attributes","contentJustification","orientation","setAttributes","blockProps","className","preferredStyle","select","preferredStyleVariations","getSettings","__experimentalPreferredStyleVariations","value","innerBlocksProps","allowedBlocks","template","__experimentalLayout","templateInsertUpdatesSelection","justifyControls","position","isAlternate"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,aADD,EAECC,aAFD,EAGCC,iCAAiC,IAAIC,mBAHtC,EAICC,qBAJD,EAKCC,KAAK,IAAIC,gBALV,QAMO,yBANP;AAOA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASC,IAAI,IAAIC,eAAjB,QAAwC,WAAxC;AAEA,MAAMC,cAAc,GAAG,CAAED,eAAF,CAAvB;AACA,MAAME,MAAM,GAAG;AACdC,EAAAA,IAAI,EAAE,SADQ;AAEdC,EAAAA,UAAU,EAAE;AAFE,CAAf;AAIA,MAAMC,yBAAyB,GAAG,CAAE,MAAF,EAAU,QAAV,EAAoB,OAApB,CAAlC;AACA,MAAMC,2BAA2B,GAAG,CACnC,MADmC,EAEnC,QAFmC,EAGnC,OAHmC,EAInC,eAJmC,CAApC;;AAOA,SAASC,WAAT,CAAsB;AACrBC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,oBAAF;AAAwBC,IAAAA;AAAxB,GADS;AAErBC,EAAAA;AAFqB,CAAtB,EAGI;AACH,QAAMC,UAAU,GAAGpB,aAAa,CAAE;AACjCqB,IAAAA,SAAS,EAAEvB,UAAU,CAAE;AACtB,OAAG,4BAA4BmB,oBAAsB,EAArD,GAA0DA,oBADpC;AAEtB,qBAAeC,WAAW,KAAK;AAFT,KAAF;AADY,GAAF,CAAhC;AAMA,QAAMI,cAAc,GAAGhB,SAAS,CAAIiB,MAAF,IAAc;AAAA;;AAC/C,UAAMC,wBAAwB,GAAGD,MAAM,CACtClB,gBADsC,CAAN,CAE/BoB,WAF+B,GAEjBC,sCAFhB;;AAGA,WAAOF,wBAAP,aAAOA,wBAAP,gDAAOA,wBAAwB,CAAEG,KAAjC,0DAAO,sBAAmCnB,eAAnC,CAAP;AACA,GAL+B,EAK7B,EAL6B,CAAhC;AAOA,QAAMoB,gBAAgB,GAAG1B,mBAAmB,CAAEkB,UAAF,EAAc;AACzDS,IAAAA,aAAa,EAAEpB,cAD0C;AAEzDqB,IAAAA,QAAQ,EAAE,CACT,CACCtB,eADD,EAEC;AAAEa,MAAAA,SAAS,EAAEC,cAAc,IAAK,YAAYA,cAAgB;AAA5D,KAFD,CADS,CAF+C;AAQzDJ,IAAAA,WARyD;AASzDa,IAAAA,oBAAoB,EAAErB,MATmC;AAUzDsB,IAAAA,8BAA8B,EAAE;AAVyB,GAAd,CAA5C;AAaA,QAAMC,eAAe,GACpBf,WAAW,KAAK,UAAhB,GACGL,yBADH,GAEGC,2BAHJ;AAKA,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC,OAArB;AAA6B,IAAA,kCAAkC;AAA/D,KACC,cAAC,qBAAD;AACC,IAAA,eAAe,EAAGmB,eADnB;AAEC,IAAA,KAAK,EAAGhB,oBAFT;AAGC,IAAA,QAAQ,EAAKU,KAAF,IACVR,aAAa,CAAE;AAAEF,MAAAA,oBAAoB,EAAEU;AAAxB,KAAF,CAJf;AAMC,IAAA,YAAY,EAAG;AACdO,MAAAA,QAAQ,EAAE,cADI;AAEdC,MAAAA,WAAW,EAAE;AAFC;AANhB,IADD,CADD,EAcC,qBAAUP,gBAAV,CAdD,CADD;AAkBA;;AAED,eAAeb,WAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseInnerBlocksProps as useInnerBlocksProps,\n\tJustifyContentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { name as buttonBlockName } from '../button';\n\nconst ALLOWED_BLOCKS = [ buttonBlockName ];\nconst LAYOUT = {\n\ttype: 'default',\n\talignments: [],\n};\nconst VERTICAL_JUSTIFY_CONTROLS = [ 'left', 'center', 'right' ];\nconst HORIZONTAL_JUSTIFY_CONTROLS = [\n\t'left',\n\t'center',\n\t'right',\n\t'space-between',\n];\n\nfunction ButtonsEdit( {\n\tattributes: { contentJustification, orientation },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `is-content-justification-${ contentJustification }` ]: contentJustification,\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t} ),\n\t} );\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations = select(\n\t\t\tblockEditorStore\n\t\t).getSettings().__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ buttonBlockName ];\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\ttemplate: [\n\t\t\t[\n\t\t\t\tbuttonBlockName,\n\t\t\t\t{ className: preferredStyle && `is-style-${ preferredStyle }` },\n\t\t\t],\n\t\t],\n\t\torientation,\n\t\t__experimentalLayout: LAYOUT,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\n\tconst justifyControls =\n\t\torientation === 'vertical'\n\t\t\t? VERTICAL_JUSTIFY_CONTROLS\n\t\t\t: HORIZONTAL_JUSTIFY_CONTROLS;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<JustifyContentControl\n\t\t\t\t\tallowedControls={ justifyControls }\n\t\t\t\t\tvalue={ contentJustification }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { contentJustification: value } )\n\t\t\t\t\t}\n\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\tposition: 'bottom right',\n\t\t\t\t\t\tisAlternate: true,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nexport default ButtonsEdit;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/buttons/index.js"],"names":["__","buttons","icon","deprecated","transforms","edit","save","variations","name","metadata","settings","example","innerBlocks","attributes","text"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/buttons/index.js"],"names":["__","buttons","icon","deprecated","transforms","edit","save","variations","name","metadata","settings","example","innerBlocks","attributes","text"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBR,EAAAA,IADuB;AAEvBS,EAAAA,OAAO,EAAE;AACRC,IAAAA,WAAW,EAAE,CACZ;AACCJ,MAAAA,IAAI,EAAE,aADP;AAECK,MAAAA,UAAU,EAAE;AAAEC,QAAAA,IAAI,EAAEd,EAAE,CAAE,eAAF;AAAV;AAFb,KADY,EAKZ;AACCQ,MAAAA,IAAI,EAAE,aADP;AAECK,MAAAA,UAAU,EAAE;AAAEC,QAAAA,IAAI,EAAEd,EAAE,CAAE,YAAF;AAAV;AAFb,KALY;AADL,GAFc;AAcvBG,EAAAA,UAduB;AAevBC,EAAAA,UAfuB;AAgBvBC,EAAAA,IAhBuB;AAiBvBC,EAAAA,IAjBuB;AAkBvBC,EAAAA;AAlBuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { buttons as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport transforms from './transforms';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/button',\n\t\t\t\tattributes: { text: __( 'Find out more' ) },\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/button',\n\t\t\t\tattributes: { text: __( 'Contact us' ) },\n\t\t\t},\n\t\t],\n\t},\n\tdeprecated,\n\ttransforms,\n\tedit,\n\tsave,\n\tvariations,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/buttons/transforms.js"],"names":["createBlock","__unstableCreateElement","createElement","transforms","from","type","isMultiBlock","blocks","transform","buttons","name","map","attributes","element","document","content","text","innerText","link","querySelector","url","getAttribute","isMatch","paragraphs","every","links","querySelectorAll","length"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,mBAA5B;AACA,SAASC,uBAAuB,IAAIC,aAApC,QAAyD,sBAAzD;AAEA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/buttons/transforms.js"],"names":["createBlock","__unstableCreateElement","createElement","transforms","from","type","isMultiBlock","blocks","transform","buttons","name","map","attributes","element","document","content","text","innerText","link","querySelector","url","getAttribute","isMatch","paragraphs","every","links","querySelectorAll","length"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,mBAA5B;AACA,SAASC,uBAAuB,IAAIC,aAApC,QAAyD,sBAAzD;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAMC,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,YAAY,EAAE,IAFf;AAGCC,IAAAA,MAAM,EAAE,CAAE,aAAF,CAHT;AAICC,IAAAA,SAAS,EAAIC,OAAF,IACV;AACAT,IAAAA,WAAW,CACVU,IADU,EAEV,EAFU,EAGV;AACAD,IAAAA,OAAO,CAACE,GAAR,CAAeC,UAAF,IACZ;AACAZ,IAAAA,WAAW,CAAE,aAAF,EAAiBY,UAAjB,CAFZ,CAJU;AANb,GADK,EAiBL;AACCP,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,YAAY,EAAE,IAFf;AAGCC,IAAAA,MAAM,EAAE,CAAE,gBAAF,CAHT;AAICC,IAAAA,SAAS,EAAIC,OAAF,IACV;AACAT,IAAAA,WAAW,CACVU,IADU,EAEV,EAFU,EAGV;AACAD,IAAAA,OAAO,CAACE,GAAR,CAAeC,UAAF,IAAkB;AAC9B,YAAMC,OAAO,GAAGX,aAAa,CAC5BY,QAD4B,EAE5BF,UAAU,CAACG,OAFiB,CAA7B,CAD8B,CAK9B;;AACA,YAAMC,IAAI,GAAGH,OAAO,CAACI,SAAR,IAAqB,EAAlC,CAN8B,CAO9B;;AACA,YAAMC,IAAI,GAAGL,OAAO,CAACM,aAAR,CAAuB,GAAvB,CAAb;AACA,YAAMC,GAAG,GAAGF,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEG,YAAN,CAAoB,MAApB,CAAZ,CAT8B,CAU9B;;AACA,aAAOrB,WAAW,CAAE,aAAF,EAAiB;AAClCgB,QAAAA,IADkC;AAElCI,QAAAA;AAFkC,OAAjB,CAAlB;AAIA,KAfD,CAJU,CANb;AA2BCE,IAAAA,OAAO,EAAIC,UAAF,IAAkB;AAC1B,aAAOA,UAAU,CAACC,KAAX,CAAoBZ,UAAF,IAAkB;AAC1C,cAAMC,OAAO,GAAGX,aAAa,CAC5BY,QAD4B,EAE5BF,UAAU,CAACG,OAFiB,CAA7B;AAIA,cAAMC,IAAI,GAAGH,OAAO,CAACI,SAAR,IAAqB,EAAlC;AACA,cAAMQ,KAAK,GAAGZ,OAAO,CAACa,gBAAR,CAA0B,GAA1B,CAAd;AACA,eAAOV,IAAI,CAACW,MAAL,IAAe,EAAf,IAAqBF,KAAK,CAACE,MAAN,IAAgB,CAA5C;AACA,OARM,CAAP;AASA;AArCF,GAjBK;AADY,CAAnB;AA4DA,eAAexB,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { __unstableCreateElement as createElement } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { name } from './block.json';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/button' ],\n\t\t\ttransform: ( buttons ) =>\n\t\t\t\t// Creates the buttons block\n\t\t\t\tcreateBlock(\n\t\t\t\t\tname,\n\t\t\t\t\t{},\n\t\t\t\t\t// Loop the selected buttons\n\t\t\t\t\tbuttons.map( ( attributes ) =>\n\t\t\t\t\t\t// Create singular button in the buttons block\n\t\t\t\t\t\tcreateBlock( 'core/button', attributes )\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( buttons ) =>\n\t\t\t\t// Creates the buttons block\n\t\t\t\tcreateBlock(\n\t\t\t\t\tname,\n\t\t\t\t\t{},\n\t\t\t\t\t// Loop the selected buttons\n\t\t\t\t\tbuttons.map( ( attributes ) => {\n\t\t\t\t\t\tconst element = createElement(\n\t\t\t\t\t\t\tdocument,\n\t\t\t\t\t\t\tattributes.content\n\t\t\t\t\t\t);\n\t\t\t\t\t\t// Remove any HTML tags\n\t\t\t\t\t\tconst text = element.innerText || '';\n\t\t\t\t\t\t// Get first url\n\t\t\t\t\t\tconst link = element.querySelector( 'a' );\n\t\t\t\t\t\tconst url = link?.getAttribute( 'href' );\n\t\t\t\t\t\t// Create singular button in the buttons block\n\t\t\t\t\t\treturn createBlock( 'core/button', {\n\t\t\t\t\t\t\ttext,\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t\tisMatch: ( paragraphs ) => {\n\t\t\t\treturn paragraphs.every( ( attributes ) => {\n\t\t\t\t\tconst element = createElement(\n\t\t\t\t\t\tdocument,\n\t\t\t\t\t\tattributes.content\n\t\t\t\t\t);\n\t\t\t\t\tconst text = element.innerText || '';\n\t\t\t\t\tconst links = element.querySelectorAll( 'a' );\n\t\t\t\t\treturn text.length <= 30 && links.length <= 1;\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/column/index.js"],"names":["column","icon","deprecated","edit","save","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,IAAIC,IAAnB,QAA+B,kBAA/B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/column/index.js"],"names":["column","icon","deprecated","edit","save","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,IAAIC,IAAnB,QAA+B,kBAA/B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBN,EAAAA,IADuB;AAEvBE,EAAAA,IAFuB;AAGvBC,EAAAA,IAHuB;AAIvBF,EAAAA;AAJuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { column as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
|
|
@@ -23,8 +23,16 @@ export default function save({
|
|
|
23
23
|
|
|
24
24
|
if (width) {
|
|
25
25
|
// Numbers are handled for backward compatibility as they can be still provided with templates.
|
|
26
|
+
let flexBasis = Number.isFinite(width) ? width + '%' : width; // In some cases we need to round the width to a shorter float.
|
|
27
|
+
|
|
28
|
+
if (!Number.isFinite(width) && width !== null && width !== void 0 && width.endsWith('%')) {
|
|
29
|
+
const multiplier = 1000000000000; // Shrink the number back to a reasonable float.
|
|
30
|
+
|
|
31
|
+
flexBasis = Math.round(Number.parseFloat(width) * multiplier) / multiplier + '%';
|
|
32
|
+
}
|
|
33
|
+
|
|
26
34
|
style = {
|
|
27
|
-
flexBasis
|
|
35
|
+
flexBasis
|
|
28
36
|
};
|
|
29
37
|
}
|
|
30
38
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/column/save.js"],"names":["classnames","InnerBlocks","useBlockProps","save","attributes","verticalAlignment","width","wrapperClasses","style","flexBasis","Number","isFinite","className"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,WAAT,EAAsBC,aAAtB,QAA2C,yBAA3C;AAEA,eAAe,SAASC,IAAT,CAAe;AAAEC,EAAAA;AAAF,CAAf,EAAgC;AAC9C,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAA+BF,UAArC;AAEA,QAAMG,cAAc,GAAGP,UAAU,CAAE;AAClC,KAAG,yBAAyBK,iBAAmB,EAA/C,GAAoDA;AADlB,GAAF,CAAjC;AAIA,MAAIG,KAAJ;;AAEA,MAAKF,KAAL,EAAa;AACZ;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/column/save.js"],"names":["classnames","InnerBlocks","useBlockProps","save","attributes","verticalAlignment","width","wrapperClasses","style","flexBasis","Number","isFinite","endsWith","multiplier","Math","round","parseFloat","className"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,WAAT,EAAsBC,aAAtB,QAA2C,yBAA3C;AAEA,eAAe,SAASC,IAAT,CAAe;AAAEC,EAAAA;AAAF,CAAf,EAAgC;AAC9C,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAA+BF,UAArC;AAEA,QAAMG,cAAc,GAAGP,UAAU,CAAE;AAClC,KAAG,yBAAyBK,iBAAmB,EAA/C,GAAoDA;AADlB,GAAF,CAAjC;AAIA,MAAIG,KAAJ;;AAEA,MAAKF,KAAL,EAAa;AACZ;AACA,QAAIG,SAAS,GAAGC,MAAM,CAACC,QAAP,CAAiBL,KAAjB,IAA2BA,KAAK,GAAG,GAAnC,GAAyCA,KAAzD,CAFY,CAGZ;;AACA,QAAK,CAAEI,MAAM,CAACC,QAAP,CAAiBL,KAAjB,CAAF,IAA8BA,KAA9B,aAA8BA,KAA9B,eAA8BA,KAAK,CAAEM,QAAP,CAAiB,GAAjB,CAAnC,EAA4D;AAC3D,YAAMC,UAAU,GAAG,aAAnB,CAD2D,CAE3D;;AACAJ,MAAAA,SAAS,GACRK,IAAI,CAACC,KAAL,CAAYL,MAAM,CAACM,UAAP,CAAmBV,KAAnB,IAA6BO,UAAzC,IACCA,UADD,GAEA,GAHD;AAIA;;AACDL,IAAAA,KAAK,GAAG;AAAEC,MAAAA;AAAF,KAAR;AACA;;AAED,SACC,qBACMP,aAAa,CAACC,IAAd,CAAoB;AACxBc,IAAAA,SAAS,EAAEV,cADa;AAExBC,IAAAA;AAFwB,GAApB,CADN,EAMC,cAAC,WAAD,CAAa,OAAb,OAND,CADD;AAUA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst { verticalAlignment, width } = attributes;\n\n\tconst wrapperClasses = classnames( {\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t} );\n\n\tlet style;\n\n\tif ( width ) {\n\t\t// Numbers are handled for backward compatibility as they can be still provided with templates.\n\t\tlet flexBasis = Number.isFinite( width ) ? width + '%' : width;\n\t\t// In some cases we need to round the width to a shorter float.\n\t\tif ( ! Number.isFinite( width ) && width?.endsWith( '%' ) ) {\n\t\t\tconst multiplier = 1000000000000;\n\t\t\t// Shrink the number back to a reasonable float.\n\t\t\tflexBasis =\n\t\t\t\tMath.round( Number.parseFloat( width ) * multiplier ) /\n\t\t\t\t\tmultiplier +\n\t\t\t\t'%';\n\t\t}\n\t\tstyle = { flexBasis };\n\t}\n\n\treturn (\n\t\t<div\n\t\t\t{ ...useBlockProps.save( {\n\t\t\t\tclassName: wrapperClasses,\n\t\t\t\tstyle,\n\t\t\t} ) }\n\t\t>\n\t\t\t<InnerBlocks.Content />\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -10,7 +10,7 @@ import { dropRight, times, map, compact, delay } from 'lodash';
|
|
|
10
10
|
* WordPress dependencies
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import { __ } from '@wordpress/i18n';
|
|
13
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
14
14
|
import { PanelBody, RangeControl, FooterMessageControl, UnitControl, getValueAndUnit, GlobalStylesContext, alignmentHelpers, __experimentalUseCustomUnits as useCustomUnits } from '@wordpress/components';
|
|
15
15
|
import { InspectorControls, InnerBlocks, BlockControls, BlockVerticalAlignmentToolbar, BlockVariationPicker, useSetting, store as blockEditorStore } from '@wordpress/block-editor';
|
|
16
16
|
import { withDispatch, useSelect } from '@wordpress/data';
|
|
@@ -141,8 +141,11 @@ function ColumnsEditContainer({
|
|
|
141
141
|
const {
|
|
142
142
|
valueUnit = '%'
|
|
143
143
|
} = getValueAndUnit(column.attributes.width) || {};
|
|
144
|
+
const label = sprintf(
|
|
145
|
+
/* translators: %d: column index. */
|
|
146
|
+
__('Column %d'), index + 1);
|
|
144
147
|
return createElement(UnitControl, {
|
|
145
|
-
label:
|
|
148
|
+
label: label,
|
|
146
149
|
settingLabel: "Width",
|
|
147
150
|
key: `${column.clientId}-${getWidths(innerWidths).length}`,
|
|
148
151
|
min: 1,
|
|
@@ -187,7 +190,7 @@ function ColumnsEditContainer({
|
|
|
187
190
|
}, resizeListener, width && createElement(InnerBlocks, {
|
|
188
191
|
renderAppender: renderAppender,
|
|
189
192
|
orientation: columnsInRow > 1 ? 'horizontal' : undefined,
|
|
190
|
-
horizontal:
|
|
193
|
+
horizontal: columnsInRow > 1,
|
|
191
194
|
allowedBlocks: ALLOWED_BLOCKS,
|
|
192
195
|
contentResizeMode: "stretch",
|
|
193
196
|
onAddBlock: onAddBlock,
|