@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.native.js"],"names":["MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","styles","button75","marginLeft","button50","button25","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","options","value","label","ButtonEdit","Component","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","Platform","OS","richTextRef","blur","AccessibilityInfo","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","richTextStyle","paddingLeft","paddingRight","placeholderTextColor","link","CSS_UNITS","withInstanceId","withGradient","select","isEditorSidebarOpened","getBlockCount","getBlockRootClientId","getSettings","blockEditorStore","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":["MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","styles","button75","marginLeft","button50","button25","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","options","value","label","ButtonEdit","Component","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","Platform","OS","richTextRef","blur","AccessibilityInfo","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","richTextStyle","paddingLeft","paddingRight","placeholderTextColor","link","CSS_UNITS","withInstanceId","withGradient","select","isEditorSidebarOpened","getBlockCount","getBlockRootClientId","getSettings","blockEditorStore","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"]}
|
package/build/button/index.js
CHANGED
|
@@ -94,7 +94,10 @@ const metadata = {
|
|
|
94
94
|
reusable: false,
|
|
95
95
|
spacing: {
|
|
96
96
|
__experimentalSkipSerialization: true,
|
|
97
|
-
padding:
|
|
97
|
+
padding: ["horizontal", "vertical"],
|
|
98
|
+
__experimentalDefaultControls: {
|
|
99
|
+
padding: true
|
|
100
|
+
}
|
|
98
101
|
},
|
|
99
102
|
__experimentalBorder: {
|
|
100
103
|
radius: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/button/index.js"],"names":["name","metadata","settings","icon","example","attributes","className","text","edit","save","deprecated","merge","a"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AAZA;AACA;AACA;;AAIA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/button/index.js"],"names":["name","metadata","settings","icon","example","attributes","className","text","edit","save","deprecated","merge","a"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AAZA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,SAAS,EAAE,eADA;AAEXC,MAAAA,IAAI,EAAE,cAAI,gBAAJ;AAFK;AADJ,GAFc;AAQvBC,EAAAA,IAAI,EAAJA,aARuB;AASvBC,EAAAA,IAAI,EAAJA,aATuB;AAUvBC,EAAAA,UAAU,EAAVA,mBAVuB;AAWvBC,EAAAA,KAAK,EAAE,CAAEC,CAAF,EAAK;AAAEL,IAAAA,IAAI,GAAG;AAAT,GAAL,MAA0B,EAChC,GAAGK,CAD6B;AAEhCL,IAAAA,IAAI,EAAE,CAAEK,CAAC,CAACL,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"]}
|
package/build/buttons/edit.js
CHANGED
|
@@ -67,7 +67,8 @@ function ButtonsEdit({
|
|
|
67
67
|
});
|
|
68
68
|
const justifyControls = orientation === 'vertical' ? VERTICAL_JUSTIFY_CONTROLS : HORIZONTAL_JUSTIFY_CONTROLS;
|
|
69
69
|
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, {
|
|
70
|
-
group: "block"
|
|
70
|
+
group: "block",
|
|
71
|
+
__experimentalShareWithChildBlocks: true
|
|
71
72
|
}, (0, _element.createElement)(_blockEditor.JustifyContentControl, {
|
|
72
73
|
allowedControls: justifyControls,
|
|
73
74
|
value: contentJustification,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/buttons/edit.js"],"names":["ALLOWED_BLOCKS","buttonBlockName","LAYOUT","type","alignments","VERTICAL_JUSTIFY_CONTROLS","HORIZONTAL_JUSTIFY_CONTROLS","ButtonsEdit","attributes","contentJustification","orientation","setAttributes","blockProps","className","preferredStyle","select","preferredStyleVariations","blockEditorStore","getSettings","__experimentalPreferredStyleVariations","value","innerBlocksProps","allowedBlocks","template","__experimentalLayout","templateInsertUpdatesSelection","justifyControls","position","isAlternate"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAOA;;AAKA;;AApBA;AACA;AACA;;AAGA;AACA;AACA;;AAUA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,CAAEC,YAAF,CAAvB;AACA,MAAMC,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,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY;AACtB,OAAG,4BAA4BJ,oBAAsB,EAArD,GAA0DA,oBADpC;AAEtB,qBAAeC,WAAW,KAAK;AAFT,KAAZ;AADsB,GAAf,CAAnB;AAMA,QAAMI,cAAc,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AAC/C,UAAMC,wBAAwB,GAAGD,MAAM,CACtCE,kBADsC,CAAN,CAE/BC,WAF+B,GAEjBC,sCAFhB;;AAGA,WAAOH,wBAAP,aAAOA,wBAAP,gDAAOA,wBAAwB,CAAEI,KAAjC,0DAAO,sBAAmCnB,YAAnC,CAAP;AACA,GALsB,EAKpB,EALoB,CAAvB;AAOA,QAAMoB,gBAAgB,GAAG,oDAAqBT,UAArB,EAAiC;AACzDU,IAAAA,aAAa,EAAEtB,cAD0C;AAEzDuB,IAAAA,QAAQ,EAAE,CACT,CACCtB,YADD,EAEC;AAAEY,MAAAA,SAAS,EAAEC,cAAc,IAAK,YAAYA,cAAgB;AAA5D,KAFD,CADS,CAF+C;AAQzDJ,IAAAA,WARyD;AASzDc,IAAAA,oBAAoB,EAAEtB,MATmC;AAUzDuB,IAAAA,8BAA8B,EAAE;AAVyB,GAAjC,CAAzB;AAaA,QAAMC,eAAe,GACpBhB,WAAW,KAAK,UAAhB,GACGL,yBADH,GAEGC,2BAHJ;AAKA,SACC,qDACC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/buttons/edit.js"],"names":["ALLOWED_BLOCKS","buttonBlockName","LAYOUT","type","alignments","VERTICAL_JUSTIFY_CONTROLS","HORIZONTAL_JUSTIFY_CONTROLS","ButtonsEdit","attributes","contentJustification","orientation","setAttributes","blockProps","className","preferredStyle","select","preferredStyleVariations","blockEditorStore","getSettings","__experimentalPreferredStyleVariations","value","innerBlocksProps","allowedBlocks","template","__experimentalLayout","templateInsertUpdatesSelection","justifyControls","position","isAlternate"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAOA;;AAKA;;AApBA;AACA;AACA;;AAGA;AACA;AACA;;AAUA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,CAAEC,YAAF,CAAvB;AACA,MAAMC,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,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY;AACtB,OAAG,4BAA4BJ,oBAAsB,EAArD,GAA0DA,oBADpC;AAEtB,qBAAeC,WAAW,KAAK;AAFT,KAAZ;AADsB,GAAf,CAAnB;AAMA,QAAMI,cAAc,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AAC/C,UAAMC,wBAAwB,GAAGD,MAAM,CACtCE,kBADsC,CAAN,CAE/BC,WAF+B,GAEjBC,sCAFhB;;AAGA,WAAOH,wBAAP,aAAOA,wBAAP,gDAAOA,wBAAwB,CAAEI,KAAjC,0DAAO,sBAAmCnB,YAAnC,CAAP;AACA,GALsB,EAKpB,EALoB,CAAvB;AAOA,QAAMoB,gBAAgB,GAAG,oDAAqBT,UAArB,EAAiC;AACzDU,IAAAA,aAAa,EAAEtB,cAD0C;AAEzDuB,IAAAA,QAAQ,EAAE,CACT,CACCtB,YADD,EAEC;AAAEY,MAAAA,SAAS,EAAEC,cAAc,IAAK,YAAYA,cAAgB;AAA5D,KAFD,CADS,CAF+C;AAQzDJ,IAAAA,WARyD;AASzDc,IAAAA,oBAAoB,EAAEtB,MATmC;AAUzDuB,IAAAA,8BAA8B,EAAE;AAVyB,GAAjC,CAAzB;AAaA,QAAMC,eAAe,GACpBhB,WAAW,KAAK,UAAhB,GACGL,yBADH,GAEGC,2BAHJ;AAKA,SACC,qDACC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC,OAArB;AAA6B,IAAA,kCAAkC;AAA/D,KACC,4BAAC,kCAAD;AACC,IAAA,eAAe,EAAGoB,eADnB;AAEC,IAAA,KAAK,EAAGjB,oBAFT;AAGC,IAAA,QAAQ,EAAKW,KAAF,IACVT,aAAa,CAAE;AAAEF,MAAAA,oBAAoB,EAAEW;AAAxB,KAAF,CAJf;AAMC,IAAA,YAAY,EAAG;AACdO,MAAAA,QAAQ,EAAE,cADI;AAEdC,MAAAA,WAAW,EAAE;AAFC;AANhB,IADD,CADD,EAcC,mCAAUP,gBAAV,CAdD,CADD;AAkBA;;eAEcd,W","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"]}
|
package/build/buttons/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/buttons/index.js"],"names":["name","metadata","settings","icon","example","innerBlocks","attributes","text","deprecated","transforms","edit","save","variations"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AACA;;AAEA;;AACA;;AAdA;AACA;AACA;;AAIA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/buttons/index.js"],"names":["name","metadata","settings","icon","example","innerBlocks","attributes","text","deprecated","transforms","edit","save","variations"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AACA;;AAEA;;AACA;;AAdA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,cADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,WAAW,EAAE,CACZ;AACCL,MAAAA,IAAI,EAAE,aADP;AAECM,MAAAA,UAAU,EAAE;AAAEC,QAAAA,IAAI,EAAE,cAAI,eAAJ;AAAR;AAFb,KADY,EAKZ;AACCP,MAAAA,IAAI,EAAE,aADP;AAECM,MAAAA,UAAU,EAAE;AAAEC,QAAAA,IAAI,EAAE,cAAI,YAAJ;AAAR;AAFb,KALY;AADL,GAFc;AAcvBC,EAAAA,UAAU,EAAVA,mBAduB;AAevBC,EAAAA,UAAU,EAAVA,mBAfuB;AAgBvBC,EAAAA,IAAI,EAAJA,aAhBuB;AAiBvBC,EAAAA,IAAI,EAAJA,aAjBuB;AAkBvBC,EAAAA,UAAU,EAAVA;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":["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":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;;AAIA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/buttons/transforms.js"],"names":["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":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAMA,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;AACA,6BACCC,IADD,EAEC,EAFD,EAGC;AACAD,IAAAA,OAAO,CAACE,GAAR,CAAeC,UAAF,IACZ;AACA,6BAAa,aAAb,EAA4BA,UAA5B,CAFD,CAJD;AANF,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;AACA,6BACCC,IADD,EAEC,EAFD,EAGC;AACAD,IAAAA,OAAO,CAACE,GAAR,CAAeC,UAAF,IAAkB;AAC9B,YAAMC,OAAO,GAAG,uCACfC,QADe,EAEfF,UAAU,CAACG,OAFI,CAAhB,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,aAAO,yBAAa,aAAb,EAA4B;AAClCL,QAAAA,IADkC;AAElCI,QAAAA;AAFkC,OAA5B,CAAP;AAIA,KAfD,CAJD,CANF;AA2BCE,IAAAA,OAAO,EAAIC,UAAF,IAAkB;AAC1B,aAAOA,UAAU,CAACC,KAAX,CAAoBZ,UAAF,IAAkB;AAC1C,cAAMC,OAAO,GAAG,uCACfC,QADe,EAEfF,UAAU,CAACG,OAFI,CAAhB;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;eA4DexB,U","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"]}
|
package/build/column/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/column/index.js"],"names":["name","metadata","settings","icon","edit","save","deprecated"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AAEA;;AAXA;AACA;AACA;;AAGA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/column/index.js"],"names":["name","metadata","settings","icon","edit","save","deprecated"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AAEA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,IAAI,EAAJA,aAHuB;AAIvBC,EAAAA,UAAU,EAAVA;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"]}
|
package/build/column/save.js
CHANGED
|
@@ -34,8 +34,16 @@ function save({
|
|
|
34
34
|
|
|
35
35
|
if (width) {
|
|
36
36
|
// Numbers are handled for backward compatibility as they can be still provided with templates.
|
|
37
|
+
let flexBasis = Number.isFinite(width) ? width + '%' : width; // In some cases we need to round the width to a shorter float.
|
|
38
|
+
|
|
39
|
+
if (!Number.isFinite(width) && width !== null && width !== void 0 && width.endsWith('%')) {
|
|
40
|
+
const multiplier = 1000000000000; // Shrink the number back to a reasonable float.
|
|
41
|
+
|
|
42
|
+
flexBasis = Math.round(Number.parseFloat(width) * multiplier) / multiplier + '%';
|
|
43
|
+
}
|
|
44
|
+
|
|
37
45
|
style = {
|
|
38
|
-
flexBasis
|
|
46
|
+
flexBasis
|
|
39
47
|
};
|
|
40
48
|
}
|
|
41
49
|
|
package/build/column/save.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/column/save.js"],"names":["save","attributes","verticalAlignment","width","wrapperClasses","style","flexBasis","Number","isFinite","useBlockProps","className"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGe,SAASA,IAAT,CAAe;AAAEC,EAAAA;AAAF,CAAf,EAAgC;AAC9C,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAA+BF,UAArC;AAEA,QAAMG,cAAc,GAAG,yBAAY;AAClC,KAAG,yBAAyBF,iBAAmB,EAA/C,GAAoDA;AADlB,GAAZ,CAAvB;AAIA,MAAIG,KAAJ;;AAEA,MAAKF,KAAL,EAAa;AACZ;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/column/save.js"],"names":["save","attributes","verticalAlignment","width","wrapperClasses","style","flexBasis","Number","isFinite","endsWith","multiplier","Math","round","parseFloat","useBlockProps","className"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGe,SAASA,IAAT,CAAe;AAAEC,EAAAA;AAAF,CAAf,EAAgC;AAC9C,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAA+BF,UAArC;AAEA,QAAMG,cAAc,GAAG,yBAAY;AAClC,KAAG,yBAAyBF,iBAAmB,EAA/C,GAAoDA;AADlB,GAAZ,CAAvB;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,mCACMQ,2BAAcd,IAAd,CAAoB;AACxBe,IAAAA,SAAS,EAAEX,cADa;AAExBC,IAAAA;AAFwB,GAApB,CADN,EAMC,4BAAC,wBAAD,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"]}
|
|
@@ -164,8 +164,11 @@ function ColumnsEditContainer({
|
|
|
164
164
|
const {
|
|
165
165
|
valueUnit = '%'
|
|
166
166
|
} = (0, _components.getValueAndUnit)(column.attributes.width) || {};
|
|
167
|
+
const label = (0, _i18n.sprintf)(
|
|
168
|
+
/* translators: %d: column index. */
|
|
169
|
+
(0, _i18n.__)('Column %d'), index + 1);
|
|
167
170
|
return (0, _element.createElement)(_components.UnitControl, {
|
|
168
|
-
label:
|
|
171
|
+
label: label,
|
|
169
172
|
settingLabel: "Width",
|
|
170
173
|
key: `${column.clientId}-${(0, _utils.getWidths)(innerWidths).length}`,
|
|
171
174
|
min: 1,
|
|
@@ -210,7 +213,7 @@ function ColumnsEditContainer({
|
|
|
210
213
|
}, resizeListener, width && (0, _element.createElement)(_blockEditor.InnerBlocks, {
|
|
211
214
|
renderAppender: renderAppender,
|
|
212
215
|
orientation: columnsInRow > 1 ? 'horizontal' : undefined,
|
|
213
|
-
horizontal:
|
|
216
|
+
horizontal: columnsInRow > 1,
|
|
214
217
|
allowedBlocks: ALLOWED_BLOCKS,
|
|
215
218
|
contentResizeMode: "stretch",
|
|
216
219
|
onAddBlock: onAddBlock,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/columns/edit.native.js"],"names":["ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","alignmentHelpers","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","Dimensions","get","width","globalStyles","GlobalStylesContext","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","styles","columnAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","clientId","length","undefined","onChangeColumnsNum","value","columns","innerBlocksSelected","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","blockEditorStore","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","updateBlockSettings","settings","updateBlockListSettings","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","style","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","isContentEmpty","innerBlock","innerColumnsWidths","inn","parents","memoizedInnerWidths","JSON","stringify","isVisible","setIsVisible","onClose","variations"],"mappings":";;;;;;;;;AA6BA;;;;AA1BA;;AACA;;AAIA;;AACA;;AAUA;;AASA;;AASA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AASA;;AAKA;;AA3DA;AACA;AACA;;AAGA;AACA;AACA;;AAiCA;AACA;AACA;;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,CAAE,aAAF,CAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,mBAAmB,GAAG,CAA5B;AAEA;AACA;AACA;AACA;AACA;;AACA,MAAMC,eAAe,GAAG,CAAxB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAkBC,4BAAxB;;AAEA,SAASC,oBAAT,CAA+B;AAC9BC,EAAAA,UAD8B;AAE9BC,EAAAA,eAF8B;AAG9BC,EAAAA,aAH8B;AAI9BC,EAAAA,WAJ8B;AAK9BC,EAAAA,UAL8B;AAM9BC,EAAAA,aAN8B;AAO9BC,EAAAA,WAP8B;AAQ9BC,EAAAA,sBAR8B;AAS9BC,EAAAA;AAT8B,CAA/B,EAUI;AACH,QAAM,CAAEC,cAAF,EAAkBC,KAAlB,IAA4B,iCAAlC;AACA,QAAM,CAAEC,YAAF,EAAgBC,eAAhB,IAAoC,uBAAUhB,eAAV,CAA1C;AACA,QAAMiB,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAYC,wBAAWC,GAAX,CAAgB,QAAhB,EAA2BC,KAAvC,CAApB;AACA,QAAMC,YAAY,GAAG,yBAAYC,+BAAZ,CAArB;AAEA,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAA+BtB,UAArC;AACA,QAAM;AAAEkB,IAAAA;AAAF,MAAYR,KAAK,IAAI,EAA3B;AAEA,QAAMa,KAAK,GAAG,8CAAgB;AAC7BC,IAAAA,cAAc,EAAE,6BAAY,eAAZ,KAAiC,CAChD,GADgD,EAEhD,IAFgD,EAGhD,IAHgD,EAIhD,KAJgD,EAKhD,IALgD;AADpB,GAAhB,CAAd;AAUA,0BAAW,MAAM;AAChB,QAAKrB,WAAW,KAAK,CAArB,EAAyB;AACxB,YAAMsB,cAAc,GAAGtB,WAAW,IAAIR,mBAAtC;AACAO,MAAAA,aAAa,CAAEC,WAAF,EAAesB,cAAf,CAAb;AACA;AACD,GALD,EAKG,EALH;AAOA,0BAAW,MAAM;AAChB,QAAKP,KAAL,EAAa;AACZ,UAAK,yCAAiBA,KAAjB,EAAwBf,WAAxB,MAA0CQ,YAA/C,EAA8D;AAC7DC,QAAAA,eAAe,CAAE,yCAAiBM,KAAjB,EAAwBf,WAAxB,CAAF,CAAf;AACA;AACD;AACD,GAND,EAMG,CAAEe,KAAF,EAASf,WAAT,CANH;;AAQA,QAAMuB,cAAc,GAAG,MAAM;AAC5B,QAAKtB,UAAL,EAAkB;AACjB,aACC,4BAAC,iBAAD;AAAM,QAAA,KAAK,EAAGP,WAAW,CAAEyB,KAAF,CAAX,IAAwBK,gBAAOC;AAA7C,SACC,4BAAC,wBAAD,CAAa,mBAAb;AACC,QAAA,UAAU,EAAGC;AADd,QADD,CADD;AAOA;;AACD,WAAO,IAAP;AACA,GAXD;;AAaA,QAAMC,aAAa,GAAG,sBACrB,MACC,0CACCnB,YADD,EAECO,KAFD,EAGCf,WAHD,EAICG,WAJD,EAKCa,YALD,CAFoB,EASrB,CAAED,KAAF,EAASP,YAAT,EAAuBR,WAAvB,EAAoCG,WAApC,EAAiDa,YAAjD,CATqB,CAAtB;AAYA,QAAMU,UAAU,GAAG,0BAAa,MAAM;AACrC3B,IAAAA,aAAa,CAAEC,WAAF,EAAeA,WAAW,GAAG,CAA7B,CAAb;AACA,GAFkB,EAEhB,CAAEA,WAAF,CAFgB,CAAnB;;AAIA,QAAM4B,aAAa,GAAG,CAAEC,SAAF,EAAaC,SAAb,EAAwBC,QAAxB,KAAsC;AAC3D,UAAMC,aAAa,GAAG,6BAAkBH,SAAlB,EAA6BC,SAA7B,CAAtB;AAEA1B,IAAAA,sBAAsB,CAAE4B,aAAF,EAAiBD,QAAjB,CAAtB;AACA,GAJD;;AAMA,QAAME,YAAY,GAAG,CAAEC,QAAF,EAAYC,KAAZ,EAAmBJ,QAAnB,KAAiC;AACrD,UAAMK,gBAAgB,GAAGC,UAAU,CAClC,sBAAWlC,WAAX,EAA0BgC,KAA1B,CADkC,CAAnC;AAGA,UAAMH,aAAa,GAAG,6BAAkBI,gBAAlB,EAAoCF,QAApC,CAAtB;AAEA9B,IAAAA,sBAAsB,CAAE4B,aAAF,EAAiBD,QAAjB,CAAtB;AACA,GAPD;;AASA,QAAMO,QAAQ,GAAG,CAAET,SAAF,EAAaC,SAAb,EAAwBC,QAAxB,KAAsC;AACtD,QAAK,6BAAkBD,SAAlB,KAAiC,CAAEA,SAAxC,EAAoD;AACnD;AACA;;AACDF,IAAAA,aAAa,CAAEC,SAAF,EAAaC,SAAb,EAAwBC,QAAxB,CAAb;AACA,GALD;;AAOA,QAAMQ,iBAAiB,GAAG,sBAAS,MAAM;AACxC,QAAK,CAAElC,mBAAF,IAAyB,CAAEJ,UAAhC,EAA6C;AAC5C,aAAO,IAAP;AACA;;AAED,WAAOE,WAAW,CAACqC,GAAZ,CAAiB,CAAEC,MAAF,EAAUN,KAAV,KAAqB;AAC5C,YAAM;AAAEL,QAAAA,SAAS,GAAG;AAAd,UACL,iCAAiBW,MAAM,CAAC5C,UAAP,CAAkBkB,KAAnC,KAA8C,EAD/C;AAEA,aACC,4BAAC,uBAAD;AACC,QAAA,KAAK,EAAI,UAAUoB,KAAK,GAAG,CAAG,EAD/B;AAEC,QAAA,YAAY,EAAC,OAFd;AAGC,QAAA,GAAG,EAAI,GAAGM,MAAM,CAACC,QAAU,IAC1B,sBAAWvC,WAAX,EAAyBwC,MACzB,EALF;AAMC,QAAA,GAAG,EAAG,CANP;AAOC,QAAA,GAAG,EACF,6BAAkBb,SAAlB,KAAiC,CAAEA,SAAnC,GACG,GADH,GAEGc,SAVL;AAYC,QAAA,KAAK,EAAG,sBAAWzC,WAAX,EAA0BgC,KAA1B,CAZT;AAaC,QAAA,QAAQ,EAAKN,SAAF,IAAiB;AAC3BS,UAAAA,QAAQ,CAAET,SAAF,EAAaC,SAAb,EAAwBW,MAAM,CAACC,QAA/B,CAAR;AACA,SAfF;AAgBC,QAAA,YAAY,EAAKR,QAAF,IACdD,YAAY,CAAEC,QAAF,EAAYC,KAAZ,EAAmBM,MAAM,CAACC,QAA1B,CAjBd;AAmBC,QAAA,UAAU,EAAKb,SAAF,IAAiB;AAC7BD,UAAAA,aAAa,CAAEC,SAAF,EAAaC,SAAb,EAAwBW,MAAM,CAACC,QAA/B,CAAb;AACA,SArBF;AAsBC,QAAA,IAAI,EAAGZ,SAtBR;AAuBC,QAAA,KAAK,EAAGV,KAvBT;AAwBC,QAAA,OAAO,EACN,4BAAC,sBAAD;AACC,UAAA,YAAY,EAAG,sBAAWjB,WAAX,EAAwB,KAAxB,CADhB;AAEC,UAAA,mBAAmB,EAAGgC;AAFvB;AAzBF,QADD;AAiCA,KApCM,CAAP;AAqCA,GA1CyB,EA0CvB,CAAE9B,mBAAF,EAAuBJ,UAAvB,EAAmCE,WAAnC,CA1CuB,CAA1B;AA4CA,QAAM0C,kBAAkB,GAAG,0BACxBC,KAAF,IAAa;AACZ/C,IAAAA,aAAa,CAAEC,WAAF,EAAe8C,KAAf,CAAb;AACA,GAHyB,EAI1B,CAAE9C,WAAF,CAJ0B,CAA3B;AAOA,SACC,qDACGC,UAAU,IACX,qDACC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,kBAAJ;AAAnB,KACC,4BAAC,wBAAD;AACC,IAAA,KAAK,EAAG,cAAI,mBAAJ,CADT;AAEC,IAAA,IAAI,EAAG8C,cAFR;AAGC,IAAA,KAAK,EAAG/C,WAHT;AAIC,IAAA,QAAQ,EAAG6C,kBAJZ;AAKC,IAAA,GAAG,EAAGpD,eALP;AAMC,IAAA,GAAG,EAAGO,WAAW,GAAG,CANrB;AAOC,IAAA,IAAI,EAAC;AAPN,IADD,EAUGuC,iBAVH,CADD,EAaC,4BAAC,qBAAD,QACC,4BAAC,gCAAD;AACC,IAAA,KAAK,EAAG,cACP,8DADO;AADT,IADD,CAbD,CADD,EAsBC,4BAAC,0BAAD,QACC,4BAAC,0CAAD;AACC,IAAA,QAAQ,EAAGzC,eADZ;AAEC,IAAA,KAAK,EAAGoB;AAFT,IADD,CAtBD,CAFF,EAgCC,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGjB,UAAU,IAAIuB,gBAAOwB;AAAnC,KACG1C,cADH,EAEGS,KAAK,IACN,4BAAC,wBAAD;AACC,IAAA,cAAc,EAAGQ,cADlB;AAEC,IAAA,WAAW,EACVf,YAAY,GAAG,CAAf,GAAmB,YAAnB,GAAkCoC,SAHpC;AAKC,IAAA,UAAU,EAAG,IALd;AAMC,IAAA,aAAa,EAAGrD,cANjB;AAOC,IAAA,iBAAiB,EAAC,SAPnB;AAQC,IAAA,UAAU,EAAGmC,UARd;AASC,IAAA,aAAa,EACZ1B,WAAW,KAAK,CAAhB,GAAoBE,aAApB,GAAoC0C,SAVtC;AAYC,IAAA,UAAU,EAAG7B,KAZd;AAaC,IAAA,YAAY,EAAGY,aAbhB;AAcC,IAAA,WAAW,EACVjC,WAAW,CAAEyB,KAAF,CAAX,IAAwBnB,WAAW,KAAK,CAAxC,GACGU,WADH,GAEG,iDAAyBK,KAAzB,EAAgCP,YAAhC;AAjBL,IAHF,CAhCD,CADD;AA4DA;;AAED,MAAMyC,2BAA2B,GAAG,wBACnC,CAAEC,QAAF,EAAYC,QAAZ,EAAsBC,QAAtB,MAAsC;AACrC;AACF;AACA;AACA;AACA;AACA;AACA;AACEtD,EAAAA,eAAe,CAAEoB,iBAAF,EAAsB;AACpC,UAAM;AAAEwB,MAAAA,QAAF;AAAYW,MAAAA;AAAZ,QAA8BF,QAApC;AACA,UAAM;AAAEG,MAAAA;AAAF,QAA4BJ,QAAQ,CAAEK,kBAAF,CAA1C;AACA,UAAM;AAAEC,MAAAA;AAAF,QAAoBJ,QAAQ,CAACK,MAAT,CAAiBF,kBAAjB,CAA1B,CAHoC,CAKpC;;AACAF,IAAAA,aAAa,CAAE;AAAEnC,MAAAA;AAAF,KAAF,CAAb,CANoC,CAQpC;;AACA,UAAMwC,mBAAmB,GAAGF,aAAa,CAAEd,QAAF,CAAzC;AACAgB,IAAAA,mBAAmB,CAACC,OAApB,CAA+BC,kBAAF,IAA0B;AACtDN,MAAAA,qBAAqB,CAAEM,kBAAF,EAAsB;AAC1C1C,QAAAA;AAD0C,OAAtB,CAArB;AAGA,KAJD;AAKA,GAvBoC;;AAwBrCd,EAAAA,sBAAsB,CAAE0C,KAAF,EAASf,QAAT,EAAoB;AACzC,UAAM;AAAEuB,MAAAA;AAAF,QAA4BJ,QAAQ,CAAEK,kBAAF,CAA1C;AAEAD,IAAAA,qBAAqB,CAAEvB,QAAF,EAAY;AAChChB,MAAAA,KAAK,EAAE+B;AADyB,KAAZ,CAArB;AAGA,GA9BoC;;AA+BrCe,EAAAA,mBAAmB,CAAEC,QAAF,EAAa;AAC/B,UAAM;AAAEpB,MAAAA;AAAF,QAAeS,QAArB;AACA,UAAM;AAAEY,MAAAA;AAAF,QAA8Bb,QAAQ,CAAEK,kBAAF,CAA5C;AACAQ,IAAAA,uBAAuB,CAAErB,QAAF,EAAYoB,QAAZ,CAAvB;AACA,GAnCoC;;AAoCrC;AACF;AACA;AACA;AACA;AACA;AACA;AACE/D,EAAAA,aAAa,CAAEiE,eAAF,EAAmBC,UAAnB,EAAgC;AAC5C,UAAM;AAAEvB,MAAAA;AAAF,QAAeS,QAArB;AACA,UAAM;AAAEe,MAAAA;AAAF,QAAyBhB,QAAQ,CAAEK,kBAAF,CAAvC;AACA,UAAM;AAAEY,MAAAA,SAAF;AAAaC,MAAAA;AAAb,QAAoChB,QAAQ,CAACK,MAAT,CACzCF,kBADyC,CAA1C;AAIA,QAAIc,WAAW,GAAGF,SAAS,CAAEzB,QAAF,CAA3B;AACA,UAAM4B,iBAAiB,GAAG,2CACzBD,WADyB,CAA1B,CAR4C,CAY5C;;AACA,UAAME,cAAc,GAAGN,UAAU,GAAGD,eAApC,CAb4C,CAe5C;;AACA,UAAM;AAAE9C,MAAAA;AAAF,QAAwBkD,kBAAkB,CAAE1B,QAAF,CAAlB,IAAkC,EAAhE;;AAEA,QAAK6B,cAAc,IAAID,iBAAvB,EAA2C;AAC1C;AACA;AACA,YAAME,cAAc,GAAG,6BAAkB,MAAMP,UAAxB,CAAvB,CAH0C,CAK1C;AACA;;AACA,YAAMQ,MAAM,GAAG,yCACdJ,WADc,EAEd,MAAMG,cAFQ,CAAf;AAKAH,MAAAA,WAAW,GAAG,CACb,GAAG,kCAAuBA,WAAvB,EAAoCI,MAApC,CADU,EAEb,GAAG,mBAAOR,UAAU,GAAGD,eAApB,EAAqC,MAAM;AAC7C,eAAO,yBAAa,aAAb,EAA4B;AAClCjD,UAAAA,KAAK,EAAG,GAAGyD,cAAgB,GADO;AAElCtD,UAAAA;AAFkC,SAA5B,CAAP;AAIA,OALE,CAFU,CAAd;AASA,KArBD,MAqBO,IAAKqD,cAAL,EAAsB;AAC5BF,MAAAA,WAAW,GAAG,CACb,GAAGA,WADU,EAEb,GAAG,mBAAOJ,UAAU,GAAGD,eAApB,EAAqC,MAAM;AAC7C,eAAO,yBAAa,aAAb,EAA4B;AAClC9C,UAAAA;AADkC,SAA5B,CAAP;AAGA,OAJE,CAFU,CAAd;AAQA,KATM,MASA;AACN;AACAmD,MAAAA,WAAW,GAAG,uBACbA,WADa,EAEbL,eAAe,GAAGC,UAFL,CAAd;;AAKA,UAAKK,iBAAL,EAAyB;AACxB;AACA,cAAMG,MAAM,GAAG,yCACdJ,WADc,EAEd,GAFc,CAAf;AAKAA,QAAAA,WAAW,GAAG,kCAAuBA,WAAvB,EAAoCI,MAApC,CAAd;AACA;AACD;;AAEDP,IAAAA,kBAAkB,CAAExB,QAAF,EAAY2B,WAAZ,CAAlB;AACA,GA9GoC;;AA+GrCK,EAAAA,eAAe,EAAE,MAAM;AACtB,UAAM;AAAEhC,MAAAA;AAAF,QAAeS,QAArB;AACA,UAAM;AAAEe,MAAAA,kBAAF;AAAsBS,MAAAA;AAAtB,QAAsCzB,QAAQ,CACnDK,kBADmD,CAApD;AAGA,UAAM;AAAEY,MAAAA,SAAF;AAAaC,MAAAA;AAAb,QAAoChB,QAAQ,CAACK,MAAT,CACzCF,kBADyC,CAA1C,CALsB,CAStB;;AACA,UAAM;AAAErC,MAAAA;AAAF,QAAwBkD,kBAAkB,CAAE1B,QAAF,CAAhD;AAEA,UAAM2B,WAAW,GAAGF,SAAS,CAAEzB,QAAF,CAA7B;AAEA,UAAMkC,aAAa,GAAG,yBAAa,aAAb,EAA4B;AACjD1D,MAAAA;AADiD,KAA5B,CAAtB;AAIAgD,IAAAA,kBAAkB,CACjBxB,QADiB,EAEjB,CAAE,GAAG2B,WAAL,EAAkBO,aAAlB,CAFiB,EAGjB,IAHiB,CAAlB;AAKAD,IAAAA,WAAW,CAAEC,aAAa,CAAClC,QAAhB,CAAX;AACA,GAvIoC;AAwIrCxC,EAAAA,aAAa,EAAE,MAAM;AACpB,UAAM;AAAEwC,MAAAA;AAAF,QAAeS,QAArB;AACA,UAAM;AAAE0B,MAAAA;AAAF,QAAkB3B,QAAQ,CAAEK,kBAAF,CAAhC;AACAsB,IAAAA,WAAW,CAAEnC,QAAF,CAAX;AACA;AA5IoC,CAAtC,CADmC,EA+IjC,mBAAM9C,oBAAN,CA/IiC,CAApC;;AAiJA,MAAMkF,WAAW,GAAKC,KAAF,IAAa;AAChC,QAAM;AAAErC,IAAAA,QAAF;AAAYzC,IAAAA,UAAZ;AAAwB+E,IAAAA;AAAxB,MAAkCD,KAAxC;AACA,QAAM;AACL/E,IAAAA,WADK;AAELiF,IAAAA,gBAFK;AAGL9E,IAAAA,WAAW,GAAG,EAHT;AAIL+E,IAAAA,UAJK;AAKLC,IAAAA,oBALK;AAML9E,IAAAA;AANK,MAOF,qBACDoD,MAAF,IAAc;AAAA;;AACb,UAAM;AACL2B,MAAAA,aADK;AAELjB,MAAAA,SAFK;AAGLkB,MAAAA,eAHK;AAILjB,MAAAA;AAJK,QAKFX,MAAM,CAAEF,kBAAF,CALV;AAMA,UAAM;AAAE+B,MAAAA;AAAF,QAA4B7B,MAAM,CAAE,gBAAF,CAAxC;AACA,UAAMY,WAAW,GAAGF,SAAS,CAAEzB,QAAF,CAA7B;AAEA,UAAM6C,cAAc,GAAG,iBACtBlB,WADsB,EAEpBmB,UAAF,IAAkBA,UAAU,CAACnB,WAAX,CAAuB1B,MAFnB,CAAvB;AAKA,UAAM8C,kBAAkB,GAAGpB,WAAW,CAAC7B,GAAZ,CAAmBkD,GAAF,KAAa;AACxDhD,MAAAA,QAAQ,EAAEgD,GAAG,CAAChD,QAD0C;AAExD7C,MAAAA,UAAU,EAAE;AAAEkB,QAAAA,KAAK,EAAE2E,GAAG,CAAC7F,UAAJ,CAAekB;AAAxB;AAF4C,KAAb,CAAjB,CAA3B;AAIA,UAAM4E,OAAO,GAAGN,eAAe,CAAE3C,QAAF,EAAY,IAAZ,CAA/B;AAEA,WAAO;AACN1C,MAAAA,WAAW,EAAEoF,aAAa,CAAE1C,QAAF,CADpB;AAENuC,MAAAA,gBAAgB,EAAE,CAAE,qBAASM,cAAT,EAA0B5C,MAFxC;AAGNxC,MAAAA,WAAW,EAAEsF,kBAHP;AAINP,MAAAA,UAAU,EAAE,CAAC,CAAES,OAAO,CAAChD,MAJjB;AAKNwC,MAAAA,oBAAoB,yBAAEf,kBAAkB,CAAEuB,OAAO,CAAE,CAAF,CAAT,CAApB,wDAAE,oBAAoCxE,KALpD;AAMNd,MAAAA,mBAAmB,EAAEJ,UAAU,IAAIqF,qBAAqB;AANlD,KAAP;AAQA,GA9BE,EA+BH,CAAE5C,QAAF,EAAYzC,UAAZ,CA/BG,CAPJ;AAyCA,QAAM2F,mBAAmB,GAAG,sBAAS,MAAM;AAC1C,WAAOzF,WAAP;AACA,GAF2B,EAEzB,CACF;AACA;AACA0F,EAAAA,IAAI,CAACC,SAAL,CAAgB3F,WAAhB,CAHE,CAFyB,CAA5B;AAQA,QAAM,CAAE4F,SAAF,EAAaC,YAAb,IAA8B,uBAAU,KAAV,CAApC;AAEA,0BAAW,MAAM;AAChB,QAAK/F,UAAU,IAAIgF,gBAAnB,EAAsC;AACrC,yBAAO,MAAMe,YAAY,CAAE,IAAF,CAAzB,EAAmC,GAAnC;AACA;AACD,GAJD,EAIG,EAJH;AAMA,QAAMC,OAAO,GAAG,0BAAa,MAAM;AAClCD,IAAAA,YAAY,CAAE,KAAF,CAAZ;AACA,GAFe,EAEb,EAFa,CAAhB;AAIA,SACC,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGhB;AAAd,KACC,4BAAC,2BAAD;AACC,IAAA,WAAW,EAAGhF,WADf;AAEC,IAAA,WAAW,EAAG4F,mBAFf;AAGC,IAAA,UAAU,EAAGV,UAHd;AAIC,IAAA,oBAAoB,EAAGC,oBAJxB;AAKC,IAAA,mBAAmB,EAAG9E;AALvB,KAMM0E,KANN,EADD,EASC,4BAAC,iCAAD;AACC,IAAA,UAAU,EAAGmB,mBADd;AAEC,IAAA,OAAO,EAAGD,OAFX;AAGC,IAAA,QAAQ,EAAGvD,QAHZ;AAIC,IAAA,SAAS,EAAGqD;AAJb,IATD,CADD;AAkBA,CAjFD;;eAmFejB,W","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\nimport { dropRight, times, map, compact, delay } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ `Column ${ index + 1 }` }\n\t\t\t\t\tsettingLabel=\"Width\"\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ true }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\tupdateBlockSettings( settings ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { updateBlockListSettings } = dispatch( blockEditorStore );\n\t\t\tupdateBlockListSettings( clientId, settings );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } = registry.select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths(\n\t\t\t\tinnerBlocks\n\t\t\t);\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...times( newColumns - previousColumns, () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...times( newColumns - previousColumns, () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = dropRight(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\tpreviousColumns - newColumns\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } = dispatch(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst { getBlocks, getBlockAttributes } = registry.select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerWidths = [],\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = map(\n\t\t\t\tinnerBlocks,\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length\n\t\t\t);\n\n\t\t\tconst innerColumnsWidths = innerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) );\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: ! compact( isContentEmpty ).length,\n\t\t\t\tinnerWidths: innerColumnsWidths,\n\t\t\t\thasParents: !! parents.length,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst memoizedInnerWidths = useMemo( () => {\n\t\treturn innerWidths;\n\t}, [\n\t\t// The JSON.stringify is used because innerWidth is always a new reference.\n\t\t// The innerBlocks is a new reference after each attribute change of any nested block.\n\t\tJSON.stringify( innerWidths ),\n\t] );\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tdelay( () => setIsVisible( true ), 100 );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ memoizedInnerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/columns/edit.native.js"],"names":["ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","alignmentHelpers","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","Dimensions","get","width","globalStyles","GlobalStylesContext","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","styles","columnAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","clientId","length","undefined","onChangeColumnsNum","value","columns","innerBlocksSelected","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","blockEditorStore","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","updateBlockSettings","settings","updateBlockListSettings","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","style","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","isContentEmpty","innerBlock","innerColumnsWidths","inn","parents","memoizedInnerWidths","JSON","stringify","isVisible","setIsVisible","onClose","variations"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\nimport { dropRight, times, map, compact, delay } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel=\"Width\"\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\tupdateBlockSettings( settings ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { updateBlockListSettings } = dispatch( blockEditorStore );\n\t\t\tupdateBlockListSettings( clientId, settings );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } = registry.select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths(\n\t\t\t\tinnerBlocks\n\t\t\t);\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...times( newColumns - previousColumns, () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...times( newColumns - previousColumns, () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = dropRight(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\tpreviousColumns - newColumns\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } = dispatch(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst { getBlocks, getBlockAttributes } = registry.select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerWidths = [],\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = map(\n\t\t\t\tinnerBlocks,\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length\n\t\t\t);\n\n\t\t\tconst innerColumnsWidths = innerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) );\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: ! compact( isContentEmpty ).length,\n\t\t\t\tinnerWidths: innerColumnsWidths,\n\t\t\t\thasParents: !! parents.length,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst memoizedInnerWidths = useMemo( () => {\n\t\treturn innerWidths;\n\t}, [\n\t\t// The JSON.stringify is used because innerWidth is always a new reference.\n\t\t// The innerBlocks is a new reference after each attribute change of any nested block.\n\t\tJSON.stringify( innerWidths ),\n\t] );\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tdelay( () => setIsVisible( true ), 100 );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ memoizedInnerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"]}
|
package/build/columns/index.js
CHANGED
|
@@ -33,7 +33,7 @@ const metadata = {
|
|
|
33
33
|
name: "core/columns",
|
|
34
34
|
title: "Columns",
|
|
35
35
|
category: "design",
|
|
36
|
-
description: "
|
|
36
|
+
description: "Display content in multiple columns, with blocks added to each column.",
|
|
37
37
|
textdomain: "default",
|
|
38
38
|
attributes: {
|
|
39
39
|
verticalAlignment: {
|
|
@@ -51,6 +51,13 @@ const metadata = {
|
|
|
51
51
|
color: {
|
|
52
52
|
gradients: true,
|
|
53
53
|
link: true
|
|
54
|
+
},
|
|
55
|
+
spacing: {
|
|
56
|
+
blockGap: true,
|
|
57
|
+
margin: ["top", "bottom"],
|
|
58
|
+
__experimentalDefaultControls: {
|
|
59
|
+
blockGap: true
|
|
60
|
+
}
|
|
54
61
|
}
|
|
55
62
|
},
|
|
56
63
|
editorStyle: "wp-block-columns-editor",
|
|
@@ -65,6 +72,8 @@ const settings = {
|
|
|
65
72
|
icon: _icons.columns,
|
|
66
73
|
variations: _variations.default,
|
|
67
74
|
example: {
|
|
75
|
+
viewportWidth: 600,
|
|
76
|
+
// Columns collapse "@media (max-width: 599px)".
|
|
68
77
|
innerBlocks: [{
|
|
69
78
|
name: 'core/column',
|
|
70
79
|
innerBlocks: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/columns/index.js"],"names":["name","metadata","settings","icon","variations","example","innerBlocks","attributes","content","url","deprecated","edit","save","transforms"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AACA;;AAdA;AACA;AACA;;AAIA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/columns/index.js"],"names":["name","metadata","settings","icon","variations","example","viewportWidth","innerBlocks","attributes","content","url","deprecated","edit","save","transforms"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AACA;;AAdA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,cADuB;AAEvBC,EAAAA,UAAU,EAAVA,mBAFuB;AAGvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,aAAa,EAAE,GADP;AACY;AACpBC,IAAAA,WAAW,EAAE,CACZ;AACCP,MAAAA,IAAI,EAAE,aADP;AAECO,MAAAA,WAAW,EAAE,CACZ;AACCP,QAAAA,IAAI,EAAE,gBADP;AAECQ,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAE,cACR,qFADQ;AAFE;AAFb,OADY,EAUZ;AACCT,QAAAA,IAAI,EAAE,YADP;AAECQ,QAAAA,UAAU,EAAE;AACXE,UAAAA,GAAG,EACF;AAFU;AAFb,OAVY,EAiBZ;AACCV,QAAAA,IAAI,EAAE,gBADP;AAECQ,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAE,cACR,6DADQ;AAFE;AAFb,OAjBY;AAFd,KADY,EA+BZ;AACCT,MAAAA,IAAI,EAAE,aADP;AAECO,MAAAA,WAAW,EAAE,CACZ;AACCP,QAAAA,IAAI,EAAE,gBADP;AAECQ,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAE,cACR,+JADQ;AAFE;AAFb,OADY,EAUZ;AACCT,QAAAA,IAAI,EAAE,gBADP;AAECQ,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAE,cACR,yGADQ;AAFE;AAFb,OAVY;AAFd,KA/BY;AAFL,GAHc;AA6DvBE,EAAAA,UAAU,EAAVA,mBA7DuB;AA8DvBC,EAAAA,IAAI,EAAJA,aA9DuB;AA+DvBC,EAAAA,IAAI,EAAJA,aA/DuB;AAgEvBC,EAAAA,UAAU,EAAVA;AAhEuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { columns 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';\nimport variations from './variations';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tvariations,\n\texample: {\n\t\tviewportWidth: 600, // Columns collapse \"@media (max-width: 599px)\".\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.'\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{\n\t\t\t\t\t\tname: 'core/image',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\turl:\n\t\t\t\t\t\t\t\t'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Suspendisse commodo neque lacus, a dictum orci interdum et.'\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],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.'\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{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.'\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],\n\t\t\t},\n\t\t],\n\t},\n\tdeprecated,\n\tedit,\n\tsave,\n\ttransforms,\n};\n"]}
|