@wordpress/block-library 7.0.2 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/audio/edit.js +4 -4
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js +4 -4
- package/build/audio/edit.native.js.map +1 -1
- package/build/audio/transforms.js +1 -1
- package/build/audio/transforms.js.map +1 -1
- package/build/block/edit.js +3 -9
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +3 -2
- package/build/button/edit.js.map +1 -1
- package/build/button/edit.native.js +2 -2
- package/build/button/edit.native.js.map +1 -1
- package/build/buttons/transforms.js +8 -8
- package/build/buttons/transforms.js.map +1 -1
- package/build/categories/edit.js +15 -26
- package/build/categories/edit.js.map +1 -1
- package/build/code/index.js +0 -1
- package/build/code/index.js.map +1 -1
- package/build/columns/columnCalculations.native.js +1 -1
- package/build/columns/columnCalculations.native.js.map +1 -1
- package/build/columns/edit.js +1 -1
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +3 -3
- package/build/columns/edit.native.js.map +1 -1
- package/build/cover/controls.native.js +5 -5
- package/build/cover/controls.native.js.map +1 -1
- package/build/cover/deprecated.js +188 -17
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit.js +8 -11
- package/build/cover/edit.js.map +1 -1
- package/build/cover/edit.native.js +8 -8
- package/build/cover/edit.native.js.map +1 -1
- package/build/cover/overlay-color-settings.native.js +3 -3
- package/build/cover/overlay-color-settings.native.js.map +1 -1
- package/build/cover/save.js +1 -1
- package/build/cover/save.js.map +1 -1
- package/build/cover/shared.js +2 -2
- package/build/cover/shared.js.map +1 -1
- package/build/embed/edit.js +1 -1
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +1 -1
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/util.js +2 -2
- package/build/embed/util.js.map +1 -1
- package/build/embed/variations.js +1 -1
- package/build/embed/variations.js.map +1 -1
- package/build/file/edit.js +20 -17
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/save.js +7 -3
- package/build/file/save.js.map +1 -1
- package/build/freeform/edit.js +2 -2
- package/build/freeform/edit.js.map +1 -1
- package/build/gallery/edit.js +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.native.js +1 -1
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/v1/edit.js +3 -3
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery-image.native.js +3 -3
- package/build/gallery/v1/gallery-image.native.js.map +1 -1
- package/build/gallery/v1/gallery.native.js +2 -2
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/group/index.js +3 -37
- package/build/group/index.js.map +1 -1
- package/build/group/transforms.js +45 -0
- package/build/group/transforms.js.map +1 -0
- package/build/home-link/edit.js +1 -1
- package/build/home-link/edit.js.map +1 -1
- package/build/image/edit.js +7 -6
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +25 -10
- package/build/image/edit.native.js.map +1 -1
- package/build/image/transforms.js +1 -1
- package/build/image/transforms.js.map +1 -1
- package/build/index.js +3 -4
- package/build/index.js.map +1 -1
- package/build/index.native.js +2 -2
- package/build/index.native.js.map +1 -1
- package/build/media-text/edit.js +21 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/edit.native.js +2 -2
- package/build/media-text/edit.native.js.map +1 -1
- package/build/media-text/media-container.native.js +1 -1
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/missing/edit.native.js +1 -1
- package/build/missing/edit.native.js.map +1 -1
- package/build/more/transforms.js +2 -2
- package/build/more/transforms.js.map +1 -1
- package/build/navigation/edit/index.js +134 -60
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +8 -3
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +66 -53
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +31 -46
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/placeholder/placeholder-preview.js +3 -12
- package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +3 -1
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +120 -0
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -0
- package/build/navigation/edit/use-create-navigation-menu.js +53 -4
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build/navigation/edit/use-navigation-notice.js +3 -3
- package/build/navigation/edit/use-navigation-notice.js.map +1 -1
- package/build/navigation/menu-items-to-blocks.js +1 -1
- package/build/navigation/menu-items-to-blocks.js.map +1 -1
- package/build/navigation/use-navigation-entities.js +25 -49
- package/build/navigation/use-navigation-entities.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +2 -0
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/fallback-variations.js +1 -1
- package/build/navigation-link/fallback-variations.js.map +1 -1
- package/build/navigation-link/hooks.js +2 -2
- package/build/navigation-link/hooks.js.map +1 -1
- package/build/navigation-submenu/edit.js +2 -2
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/convert-to-links-modal.js +13 -23
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/edit.js +8 -22
- package/build/page-list/edit.js.map +1 -1
- package/build/post-author-name/edit.js +2 -1
- package/build/post-author-name/edit.js.map +1 -1
- package/build/post-comments-form/edit.js +3 -1
- package/build/post-comments-form/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +7 -4
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-terms/edit.js +3 -1
- package/build/post-terms/edit.js.map +1 -1
- package/build/query-title/edit.js +0 -1
- package/build/query-title/edit.js.map +1 -1
- package/build/search/edit.js +4 -1
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +1 -1
- package/build/search/edit.native.js.map +1 -1
- package/build/separator/save.js +4 -4
- package/build/separator/save.js.map +1 -1
- package/build/separator/separator-settings.native.js +1 -1
- package/build/separator/separator-settings.native.js.map +1 -1
- package/build/site-logo/edit.js +1 -1
- package/build/site-logo/edit.js.map +1 -1
- package/build/social-link/edit.native.js +11 -3
- package/build/social-link/edit.native.js.map +1 -1
- package/build/spacer/controls.js +5 -5
- package/build/spacer/controls.js.map +1 -1
- package/build/spacer/controls.native.js +5 -5
- package/build/spacer/controls.native.js.map +1 -1
- package/build/table/edit.js +2 -2
- package/build/table/edit.js.map +1 -1
- package/build/video/edit.js +4 -4
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +3 -3
- package/build/video/edit.native.js.map +1 -1
- package/build-module/audio/edit.js +4 -4
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js +4 -4
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/audio/transforms.js +1 -1
- package/build-module/audio/transforms.js.map +1 -1
- package/build-module/block/edit.js +5 -11
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +3 -2
- 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/buttons/transforms.js +8 -8
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/categories/edit.js +15 -25
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/code/index.js +0 -1
- package/build-module/code/index.js.map +1 -1
- package/build-module/columns/columnCalculations.native.js +1 -1
- package/build-module/columns/columnCalculations.native.js.map +1 -1
- package/build-module/columns/edit.js +1 -1
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +3 -3
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/cover/controls.native.js +5 -5
- package/build-module/cover/controls.native.js.map +1 -1
- package/build-module/cover/deprecated.js +190 -17
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit.js +8 -11
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/cover/edit.native.js +8 -8
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/cover/overlay-color-settings.native.js +3 -3
- package/build-module/cover/overlay-color-settings.native.js.map +1 -1
- package/build-module/cover/save.js +1 -1
- package/build-module/cover/save.js.map +1 -1
- package/build-module/cover/shared.js +2 -2
- package/build-module/cover/shared.js.map +1 -1
- package/build-module/embed/edit.js +1 -1
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +1 -1
- package/build-module/embed/edit.native.js.map +1 -1
- package/build-module/embed/util.js +2 -2
- package/build-module/embed/util.js.map +1 -1
- package/build-module/embed/variations.js +1 -1
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/file/edit.js +21 -18
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/edit.native.js +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/save.js +7 -3
- package/build-module/file/save.js.map +1 -1
- package/build-module/freeform/edit.js +2 -2
- package/build-module/freeform/edit.js.map +1 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.native.js +1 -1
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/v1/edit.js +3 -3
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery-image.native.js +3 -3
- package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
- package/build-module/gallery/v1/gallery.native.js +2 -2
- package/build-module/gallery/v1/gallery.native.js.map +1 -1
- package/build-module/group/index.js +2 -36
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/transforms.js +36 -0
- package/build-module/group/transforms.js.map +1 -0
- package/build-module/home-link/edit.js +1 -1
- package/build-module/home-link/edit.js.map +1 -1
- package/build-module/image/edit.js +7 -6
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +25 -10
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/transforms.js +1 -1
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/index.js +4 -5
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +2 -2
- package/build-module/index.native.js.map +1 -1
- package/build-module/media-text/edit.js +20 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/edit.native.js +2 -2
- package/build-module/media-text/edit.native.js.map +1 -1
- package/build-module/media-text/media-container.native.js +1 -1
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/missing/edit.native.js +1 -1
- package/build-module/missing/edit.native.js.map +1 -1
- package/build-module/more/transforms.js +2 -2
- package/build-module/more/transforms.js.map +1 -1
- package/build-module/navigation/edit/index.js +128 -60
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +8 -3
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +66 -50
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +32 -45
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/edit/placeholder/placeholder-preview.js +3 -9
- package/build-module/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +3 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +100 -0
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -0
- package/build-module/navigation/edit/use-create-navigation-menu.js +48 -5
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build-module/navigation/edit/use-navigation-notice.js +3 -3
- package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
- package/build-module/navigation/menu-items-to-blocks.js +1 -1
- package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
- package/build-module/navigation/use-navigation-entities.js +26 -50
- package/build-module/navigation/use-navigation-entities.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +2 -0
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/fallback-variations.js +1 -1
- package/build-module/navigation-link/fallback-variations.js.map +1 -1
- package/build-module/navigation-link/hooks.js +2 -2
- package/build-module/navigation-link/hooks.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +2 -2
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/convert-to-links-modal.js +15 -25
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/page-list/edit.js +9 -23
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/post-author-name/edit.js +2 -1
- package/build-module/post-author-name/edit.js.map +1 -1
- package/build-module/post-comments-form/edit.js +4 -2
- package/build-module/post-comments-form/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +9 -6
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +2 -1
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/query-title/edit.js +0 -1
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/search/edit.js +3 -1
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +1 -1
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/separator/save.js +4 -4
- package/build-module/separator/save.js.map +1 -1
- package/build-module/separator/separator-settings.native.js +1 -1
- package/build-module/separator/separator-settings.native.js.map +1 -1
- package/build-module/site-logo/edit.js +1 -1
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/social-link/edit.native.js +11 -3
- package/build-module/social-link/edit.native.js.map +1 -1
- package/build-module/spacer/controls.js +5 -5
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/spacer/controls.native.js +5 -5
- package/build-module/spacer/controls.native.js.map +1 -1
- package/build-module/table/edit.js +2 -2
- package/build-module/table/edit.js.map +1 -1
- package/build-module/video/edit.js +4 -4
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +3 -3
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/button/editor-rtl.css +0 -3
- package/build-style/button/editor.css +0 -3
- package/build-style/code/style-rtl.css +2 -1
- package/build-style/code/style.css +2 -1
- package/build-style/code/theme-rtl.css +0 -3
- package/build-style/code/theme.css +0 -3
- package/build-style/common-rtl.css +1 -1
- package/build-style/common.css +1 -1
- package/build-style/cover/style-rtl.css +1 -5
- package/build-style/cover/style.css +1 -5
- package/build-style/editor-rtl.css +16 -3
- package/build-style/editor.css +16 -3
- package/build-style/image/style-rtl.css +2 -1
- package/build-style/image/style.css +2 -1
- package/build-style/navigation/editor-rtl.css +16 -0
- package/build-style/navigation/editor.css +16 -0
- package/build-style/style-rtl.css +12 -10
- package/build-style/style.css +12 -10
- package/build-style/tag-cloud/style-rtl.css +6 -2
- package/build-style/tag-cloud/style.css +6 -2
- package/build-style/theme-rtl.css +0 -3
- package/build-style/theme.css +0 -3
- package/package.json +32 -28
- package/src/audio/edit.js +4 -4
- package/src/audio/edit.native.js +4 -4
- package/src/audio/transforms.js +1 -1
- package/src/block/edit.js +7 -22
- package/src/block/test/edit.native.js +9 -9
- package/src/button/edit.js +2 -1
- package/src/button/edit.native.js +2 -2
- package/src/button/editor.scss +0 -5
- package/src/buttons/test/edit.native.js +3 -3
- package/src/buttons/transforms.js +8 -8
- package/src/categories/edit.js +12 -22
- package/src/code/block.json +0 -1
- package/src/code/style.scss +4 -2
- package/src/code/theme.scss +0 -3
- package/src/columns/columnCalculations.native.js +1 -1
- package/src/columns/edit.js +1 -1
- package/src/columns/edit.native.js +3 -3
- package/src/comments-pagination-numbers/index.php +1 -1
- package/src/common.scss +1 -1
- package/src/cover/controls.native.js +1 -1
- package/src/cover/deprecated.js +214 -1
- package/src/cover/edit.js +6 -8
- package/src/cover/edit.native.js +8 -8
- package/src/cover/overlay-color-settings.native.js +3 -3
- package/src/cover/save.js +4 -3
- package/src/cover/shared.js +2 -2
- package/src/cover/style.scss +1 -3
- package/src/cover/test/edit.native.js +39 -39
- package/src/embed/edit.js +1 -1
- package/src/embed/edit.native.js +1 -1
- package/src/embed/test/index.native.js +105 -105
- package/src/embed/util.js +2 -2
- package/src/embed/variations.js +1 -1
- package/src/file/edit.js +19 -17
- package/src/file/edit.native.js +1 -1
- package/src/file/save.js +9 -3
- package/src/file/style.native.scss +1 -0
- package/src/freeform/edit.js +2 -2
- package/src/gallery/edit.js +1 -1
- package/src/gallery/gallery.native.js +1 -1
- package/src/gallery/test/__snapshots__/index.native.js.snap +164 -0
- package/src/gallery/test/helpers.native.js +293 -0
- package/src/gallery/test/index.native.js +583 -65
- package/src/gallery/v1/edit.js +3 -4
- package/src/gallery/v1/gallery-image.native.js +3 -3
- package/src/gallery/v1/gallery.native.js +2 -2
- package/src/group/index.js +2 -54
- package/src/group/transforms.js +52 -0
- package/src/home-link/edit.js +1 -1
- package/src/image/edit.js +7 -6
- package/src/image/edit.native.js +25 -8
- package/src/image/style.scss +2 -1
- package/src/image/test/edit.native.js +1 -1
- package/src/image/transforms.js +1 -1
- package/src/index.js +2 -3
- package/src/index.native.js +2 -2
- package/src/media-text/edit.js +20 -2
- package/src/media-text/edit.native.js +2 -2
- package/src/media-text/media-container.native.js +1 -1
- package/src/media-text/style.native.scss +1 -0
- package/src/missing/edit.native.js +1 -1
- package/src/missing/test/edit-integration.native.js +4 -4
- package/src/missing/test/edit.native.js +2 -2
- package/src/more/transforms.js +2 -2
- package/src/navigation/edit/index.js +194 -69
- package/src/navigation/edit/inner-blocks.js +11 -4
- package/src/navigation/edit/navigation-menu-selector.js +97 -79
- package/src/navigation/edit/placeholder/index.js +61 -84
- package/src/navigation/edit/placeholder/placeholder-preview.js +3 -10
- package/src/navigation/edit/unsaved-inner-blocks.js +3 -1
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +137 -0
- package/src/navigation/edit/use-create-navigation-menu.js +59 -8
- package/src/navigation/edit/use-navigation-notice.js +3 -3
- package/src/navigation/editor.scss +23 -1
- package/src/navigation/menu-items-to-blocks.js +1 -1
- package/src/navigation/test/menu-items-to-blocks.js +1 -1
- package/src/navigation/use-navigation-entities.js +26 -60
- package/src/navigation/use-navigation-menu.js +5 -0
- package/src/navigation-link/fallback-variations.js +1 -1
- package/src/navigation-link/hooks.js +2 -2
- package/src/navigation-link/test/edit.js +5 -5
- package/src/navigation-submenu/edit.js +2 -2
- package/src/page-list/convert-to-links-modal.js +17 -31
- package/src/page-list/edit.js +14 -23
- package/src/post-author-name/edit.js +1 -0
- package/src/post-author-name/index.php +1 -1
- package/src/post-comments-form/edit.js +7 -3
- package/src/post-excerpt/edit.js +9 -12
- package/src/post-terms/edit.js +2 -1
- package/src/query-title/edit.js +0 -1
- package/src/search/edit.js +6 -0
- package/src/search/edit.native.js +1 -1
- package/src/search/index.php +3 -2
- package/src/search/test/edit.native.js +0 -1
- package/src/separator/save.js +4 -4
- package/src/separator/separator-settings.native.js +1 -1
- package/src/site-logo/edit.js +1 -1
- package/src/social-link/edit.native.js +17 -8
- package/src/social-link/test/index.native.js +138 -0
- package/src/spacer/controls.js +1 -1
- package/src/spacer/controls.native.js +1 -1
- package/src/table/edit.js +2 -2
- package/src/tag-cloud/style.scss +12 -7
- package/src/video/edit.js +4 -4
- package/src/video/edit.native.js +3 -3
- package/src/video/style.native.scss +1 -0
- package/build/navigation/use-convert-classic-menu.js +0 -59
- package/build/navigation/use-convert-classic-menu.js.map +0 -1
- package/build-module/navigation/use-convert-classic-menu.js +0 -47
- package/build-module/navigation/use-convert-classic-menu.js.map +0 -1
- package/src/navigation/use-convert-classic-menu.js +0 -58
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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
|
|
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/categories/edit.js
CHANGED
|
@@ -13,8 +13,6 @@ var _components = require("@wordpress/components");
|
|
|
13
13
|
|
|
14
14
|
var _compose = require("@wordpress/compose");
|
|
15
15
|
|
|
16
|
-
var _data = require("@wordpress/data");
|
|
17
|
-
|
|
18
16
|
var _blockEditor = require("@wordpress/block-editor");
|
|
19
17
|
|
|
20
18
|
var _i18n = require("@wordpress/i18n");
|
|
@@ -41,29 +39,20 @@ function CategoriesEdit(_ref) {
|
|
|
41
39
|
setAttributes
|
|
42
40
|
} = _ref;
|
|
43
41
|
const selectId = (0, _compose.useInstanceId)(CategoriesEdit, 'blocks-category-select');
|
|
44
|
-
const {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
per_page: -1,
|
|
54
|
-
hide_empty: true,
|
|
55
|
-
context: 'view'
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
if (showOnlyTopLevel) {
|
|
59
|
-
query.parent = 0;
|
|
60
|
-
}
|
|
42
|
+
const query = {
|
|
43
|
+
per_page: -1,
|
|
44
|
+
hide_empty: true,
|
|
45
|
+
context: 'view'
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
if (showOnlyTopLevel) {
|
|
49
|
+
query.parent = 0;
|
|
50
|
+
}
|
|
61
51
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}, [showOnlyTopLevel]);
|
|
52
|
+
const {
|
|
53
|
+
records: categories,
|
|
54
|
+
isResolving
|
|
55
|
+
} = (0, _coreData.__experimentalUseEntityRecords)('taxonomy', 'category', query);
|
|
67
56
|
|
|
68
57
|
const getCategoriesList = parentId => {
|
|
69
58
|
if (!(categories !== null && categories !== void 0 && categories.length)) {
|
|
@@ -163,9 +152,9 @@ function CategoriesEdit(_ref) {
|
|
|
163
152
|
label: (0, _i18n.__)('Show hierarchy'),
|
|
164
153
|
checked: showHierarchy,
|
|
165
154
|
onChange: toggleAttribute('showHierarchy')
|
|
166
|
-
}))),
|
|
155
|
+
}))), isResolving && (0, _element.createElement)(_components.Placeholder, {
|
|
167
156
|
icon: _icons.pin,
|
|
168
157
|
label: (0, _i18n.__)('Categories')
|
|
169
|
-
}, (0, _element.createElement)(_components.Spinner, null)), !
|
|
158
|
+
}, (0, _element.createElement)(_components.Spinner, null)), !isResolving && (categories === null || categories === void 0 ? void 0 : categories.length) === 0 && (0, _element.createElement)("p", null, (0, _i18n.__)('Your site does not have any posts, so there is nothing to display here at the moment.')), !isResolving && (categories === null || categories === void 0 ? void 0 : categories.length) > 0 && (displayAsDropdown ? renderCategoryDropdown() : renderCategoryList()));
|
|
170
159
|
}
|
|
171
160
|
//# sourceMappingURL=edit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/categories/edit.js"],"names":["CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","setAttributes","selectId","categories","isRequesting","select","getEntityRecords","isResolving","coreStore","query","per_page","hide_empty","context","parent","getCategoriesList","parentId","length","filter","getCategoryListClassName","level","toggleAttribute","attributeName","newValue","renderCategoryName","name","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","childCategory","renderCategoryDropdown","renderCategoryDropdownItem","pin"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { times, unescape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t},\n\tsetAttributes,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\tconst { categories, isRequesting } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, isResolving } = select( coreStore );\n\t\t\tconst query = { per_page: -1, hide_empty: true, context: 'view' };\n\t\t\tif ( showOnlyTopLevel ) {\n\t\t\t\tquery.parent = 0;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tcategories: getEntityRecords( 'taxonomy', 'category', query ),\n\t\t\t\tisRequesting: isResolving( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tquery,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ showOnlyTopLevel ]\n\t);\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\tconst getCategoryListClassName = ( level ) => {\n\t\treturn `wp-block-categories__list wp-block-categories__list-level-${ level }`;\n\t};\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : unescape( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<ul className={ getCategoryListClassName( 0 ) }>\n\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\trenderCategoryListItem( category, 0 )\n\t\t\t\t) }\n\t\t\t</ul>\n\t\t);\n\t};\n\tconst renderCategoryListItem = ( category, level ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id }>\n\t\t\t\t<a href={ link } target=\"_blank\" rel=\"noreferrer noopener\">\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && (\n\t\t\t\t\t<span className=\"wp-block-categories__post-count\">\n\t\t\t\t\t\t{ ` (${ count })` }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ showHierarchy && !! childCategories.length && (\n\t\t\t\t\t<ul className={ getCategoryListClassName( level + 1 ) }>\n\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\trenderCategoryListItem( childCategory, level + 1 )\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ul>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ selectId }>\n\t\t\t\t\t{ __( 'Categories' ) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<select\n\t\t\t\t\tid={ selectId }\n\t\t\t\t\tclassName=\"wp-block-categories__dropdown\"\n\t\t\t\t>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id }>\n\t\t\t\t{ times( level * 3, () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\treturn (\n\t\t<div { ...useBlockProps() }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Categories settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show only top level categories' ) }\n\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showOnlyTopLevel' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ isRequesting && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Categories' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isRequesting && categories?.length === 0 && (\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Your site does not have any posts, so there is nothing to display here at the moment.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ ! isRequesting &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</div>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/categories/edit.js"],"names":["CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","setAttributes","selectId","query","per_page","hide_empty","context","parent","records","categories","isResolving","getCategoriesList","parentId","length","filter","getCategoryListClassName","level","toggleAttribute","attributeName","newValue","renderCategoryName","name","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","childCategory","renderCategoryDropdown","renderCategoryDropdownItem","pin"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { times, unescape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { __experimentalUseEntityRecords as useEntityRecords } from '@wordpress/core-data';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t},\n\tsetAttributes,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\tconst query = { per_page: -1, hide_empty: true, context: 'view' };\n\tif ( showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\t'category',\n\t\tquery\n\t);\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\tconst getCategoryListClassName = ( level ) => {\n\t\treturn `wp-block-categories__list wp-block-categories__list-level-${ level }`;\n\t};\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : unescape( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<ul className={ getCategoryListClassName( 0 ) }>\n\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\trenderCategoryListItem( category, 0 )\n\t\t\t\t) }\n\t\t\t</ul>\n\t\t);\n\t};\n\tconst renderCategoryListItem = ( category, level ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id }>\n\t\t\t\t<a href={ link } target=\"_blank\" rel=\"noreferrer noopener\">\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && (\n\t\t\t\t\t<span className=\"wp-block-categories__post-count\">\n\t\t\t\t\t\t{ ` (${ count })` }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ showHierarchy && !! childCategories.length && (\n\t\t\t\t\t<ul className={ getCategoryListClassName( level + 1 ) }>\n\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\trenderCategoryListItem( childCategory, level + 1 )\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ul>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ selectId }>\n\t\t\t\t\t{ __( 'Categories' ) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<select\n\t\t\t\t\tid={ selectId }\n\t\t\t\t\tclassName=\"wp-block-categories__dropdown\"\n\t\t\t\t>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id }>\n\t\t\t\t{ times( level * 3, () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\treturn (\n\t\t<div { ...useBlockProps() }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Categories settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show only top level categories' ) }\n\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showOnlyTopLevel' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Categories' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Your site does not have any posts, so there is nothing to display here at the moment.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</div>\n\t);\n}\n"]}
|
package/build/code/index.js
CHANGED
package/build/code/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/code/index.js"],"names":["name","metadata","settings","icon","example","attributes","content","transforms","edit","save"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AAEA;;AACA;;AAZA;AACA;AACA;;AAIA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/code/index.js"],"names":["name","metadata","settings","icon","example","attributes","content","transforms","edit","save"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AAEA;;AACA;;AAZA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,WADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACX;AACA;AACAC,MAAAA,OAAO,EAAE,cACR,yLADQ;AAGT;;AANW;AADJ,GAFc;AAYvBC,EAAAA,UAAU,EAAVA,mBAZuB;AAavBC,EAAAA,IAAI,EAAJA,aAbuB;AAcvBC,EAAAA,IAAI,EAAJA;AAduB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { code as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\t/* eslint-disable @wordpress/i18n-no-collapsible-whitespace */\n\t\t\t// translators: Preserve \\n markers for line breaks\n\t\t\tcontent: __(\n\t\t\t\t'// A \"block\" is the abstract term used\\n// to describe units of markup that\\n// when composed together, form the\\n// content or layout of a page.\\nregisterBlockType( name, settings );'\n\t\t\t),\n\t\t\t/* eslint-enable @wordpress/i18n-no-collapsible-whitespace */\n\t\t},\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n};\n"]}
|
|
@@ -44,7 +44,7 @@ const getColumnsInRow = (width, columnCount) => {
|
|
|
44
44
|
} else if (width <= _components.ALIGNMENT_BREAKPOINTS.medium) {
|
|
45
45
|
// show the maximum number of columns in a row for large breakpoint container width
|
|
46
46
|
return Math.min(Math.max(1, columnCount), MAX_COLUMNS_NUM_IN_ROW);
|
|
47
|
-
} //
|
|
47
|
+
} // Show all Column in one row.
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
return columnCount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/columns/columnCalculations.native.js"],"names":["MAX_COLUMNS_NUM_IN_ROW","MIN_WIDTH","styles","columnsContainer","minWidth","MARGIN","marginLeft","getColumnsInRow","width","columnCount","ALIGNMENT_BREAKPOINTS","mobile","medium","Math","min","max","calculateContainerWidth","containerWidth","columnsInRow","getContentWidths","innerColumns","globalStyles","widths","columnWidthsWithUnits","columnWidths","columnWidthsValues","map","v","columnWidthsSum","reduce","acc","curr","columnRatios","colWidth","columnWidthsPerRatio","columnRatio","filteredColumnWidthsPerRatio","filter","columnWidthPerRatio","baseContainerWidth","length","minPercentageRatio","largeColumnsWidthsSum","ratio","index","columnWidth","maxColumnWidth","forEach","attributes","innerColumnAttributes","clientId","attributeWidth","proportionalRatio","percentageRatio","initialColumnWidth","round","newColumnWidth","floor","maxWidth"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tALIGNMENT_BREAKPOINTS,\n\tconvertUnitToMobile,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getColumnWidths, getWidths } from './utils';\nimport styles from './editor.scss';\n\n/**\n * Maximum number of columns in a row\n *\n * @type {number}\n */\nconst MAX_COLUMNS_NUM_IN_ROW = 3;\n\n/**\n * Minimum width of column\n *\n * @type {number}\n */\nconst MIN_WIDTH = styles.columnsContainer?.minWidth;\n\n/**\n * Container margin value\n *\n * @type {number}\n */\nconst MARGIN = styles.columnsContainer?.marginLeft;\n\nexport const getColumnsInRow = ( width, columnCount ) => {\n\tif ( width ) {\n\t\tif ( width < ALIGNMENT_BREAKPOINTS.mobile ) {\n\t\t\t// show only 1 Column in row for mobile breakpoint container width\n\t\t\treturn 1;\n\t\t} else if ( width <= ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t// show the maximum number of columns in a row for large breakpoint container width\n\t\t\treturn Math.min(\n\t\t\t\tMath.max( 1, columnCount ),\n\t\t\t\tMAX_COLUMNS_NUM_IN_ROW\n\t\t\t);\n\t\t}\n\t\t// show all Column in one row\n\t\treturn columnCount;\n\t}\n};\n\nexport const calculateContainerWidth = ( containerWidth, columnsInRow ) =>\n\t2 * MARGIN + containerWidth - columnsInRow * 2 * MARGIN;\n\nexport const getContentWidths = (\n\tcolumnsInRow,\n\twidth,\n\tcolumnCount,\n\tinnerColumns,\n\tglobalStyles\n) => {\n\tconst widths = {};\n\tconst columnWidthsWithUnits = getWidths( innerColumns, false );\n\tconst columnWidths = getColumnWidths( innerColumns, columnCount );\n\n\t// Array of column width attribute values\n\tconst columnWidthsValues = columnWidthsWithUnits.map( ( v ) =>\n\t\tconvertUnitToMobile( { width }, globalStyles, v )\n\t);\n\n\t// The sum of column width attribute values\n\tconst columnWidthsSum = columnWidthsValues.reduce(\n\t\t( acc, curr ) => acc + curr,\n\t\t0\n\t);\n\n\t// Array of ratios of each column width attribute value to their sum\n\tconst columnRatios = columnWidthsValues.map(\n\t\t( colWidth ) => colWidth / columnWidthsSum\n\t);\n\n\t// Array of calculated column width for its ratio\n\tconst columnWidthsPerRatio = columnRatios.map(\n\t\t( columnRatio ) =>\n\t\t\tcolumnRatio * calculateContainerWidth( width, columnsInRow )\n\t);\n\n\t// Array of columns whose calculated width is lower than minimum width value\n\tconst filteredColumnWidthsPerRatio = columnWidthsPerRatio.filter(\n\t\t( columnWidthPerRatio ) => columnWidthPerRatio <= MIN_WIDTH\n\t);\n\n\t// Container width to be divided. If there are some results within `filteredColumnWidthsPerRatio`\n\t// there is a need to reduce the main width by multiplying number\n\t// of results in `filteredColumnWidthsPerRatio` and minimum width value\n\tconst baseContainerWidth =\n\t\twidth - filteredColumnWidthsPerRatio.length * MIN_WIDTH;\n\n\t// The minimum percentage ratio for which column width is equal minimum width value\n\tconst minPercentageRatio =\n\t\tMIN_WIDTH / calculateContainerWidth( width, columnsInRow );\n\n\t// The sum of column widths which ratio is higher than `minPercentageRatio`\n\tconst largeColumnsWidthsSum = columnRatios\n\t\t.map( ( ratio, index ) => {\n\t\t\tif ( ratio > minPercentageRatio ) {\n\t\t\t\treturn columnWidthsValues[ index ];\n\t\t\t}\n\t\t\treturn 0;\n\t\t} )\n\t\t.reduce( ( acc, curr ) => acc + curr, 0 );\n\n\tconst containerWidth = calculateContainerWidth(\n\t\tbaseContainerWidth,\n\t\tcolumnsInRow\n\t);\n\n\tlet columnWidth =\n\t\tcalculateContainerWidth( width, columnsInRow ) / columnsInRow;\n\tlet maxColumnWidth = columnWidth;\n\n\tinnerColumns.forEach(\n\t\t( { attributes: innerColumnAttributes, clientId } ) => {\n\t\t\tconst attributeWidth = convertUnitToMobile(\n\t\t\t\t{ width },\n\t\t\t\tglobalStyles,\n\t\t\t\tinnerColumnAttributes.width || columnWidths[ clientId ]\n\t\t\t);\n\t\t\tconst proportionalRatio = attributeWidth / columnWidthsSum;\n\t\t\tconst percentageRatio = attributeWidth / width;\n\t\t\tconst initialColumnWidth = proportionalRatio * containerWidth;\n\n\t\t\tif ( columnCount === 1 && width > ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t\t// Exactly one column inside columns on the breakpoint higher than medium\n\t\t\t\t// has to take a percentage of the full width\n\t\t\t\tcolumnWidth = percentageRatio * containerWidth;\n\t\t\t} else if ( columnsInRow > 1 ) {\n\t\t\t\tif ( width > ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t\t\tif ( initialColumnWidth <= MIN_WIDTH ) {\n\t\t\t\t\t\t// Column width cannot be lower than minimum 32px\n\t\t\t\t\t\tcolumnWidth = MIN_WIDTH;\n\t\t\t\t\t} else if ( initialColumnWidth > MIN_WIDTH ) {\n\t\t\t\t\t\t// Column width has to be the result of multiplying the container width and\n\t\t\t\t\t\t// the ratio of attribute and the sum of widths of columns wider than 32px\n\t\t\t\t\t\tcolumnWidth =\n\t\t\t\t\t\t\t( attributeWidth / largeColumnsWidthsSum ) *\n\t\t\t\t\t\t\tcontainerWidth;\n\t\t\t\t\t}\n\n\t\t\t\t\tmaxColumnWidth = columnWidth;\n\n\t\t\t\t\tif ( Math.round( columnWidthsSum ) < width ) {\n\t\t\t\t\t\t// In case that column width attribute values does not exceed 100, each column\n\t\t\t\t\t\t// should have attribute percentage of container width\n\t\t\t\t\t\tconst newColumnWidth = percentageRatio * containerWidth;\n\t\t\t\t\t\tif ( newColumnWidth <= MIN_WIDTH ) {\n\t\t\t\t\t\t\tcolumnWidth = MIN_WIDTH;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcolumnWidth = newColumnWidth;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if ( width < ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t\t\t// On the breakpoint lower than medium each column inside columns\n\t\t\t\t\t// has to take equal part of container width\n\t\t\t\t\tcolumnWidth =\n\t\t\t\t\t\tcalculateContainerWidth( width, columnsInRow ) /\n\t\t\t\t\t\tcolumnsInRow;\n\t\t\t\t}\n\t\t\t}\n\t\t\twidths[ clientId ] = {\n\t\t\t\twidth: Math.floor( columnWidth ),\n\t\t\t\tmaxWidth: Math.floor( maxColumnWidth ),\n\t\t\t};\n\t\t}\n\t);\n\treturn widths;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/columns/columnCalculations.native.js"],"names":["MAX_COLUMNS_NUM_IN_ROW","MIN_WIDTH","styles","columnsContainer","minWidth","MARGIN","marginLeft","getColumnsInRow","width","columnCount","ALIGNMENT_BREAKPOINTS","mobile","medium","Math","min","max","calculateContainerWidth","containerWidth","columnsInRow","getContentWidths","innerColumns","globalStyles","widths","columnWidthsWithUnits","columnWidths","columnWidthsValues","map","v","columnWidthsSum","reduce","acc","curr","columnRatios","colWidth","columnWidthsPerRatio","columnRatio","filteredColumnWidthsPerRatio","filter","columnWidthPerRatio","baseContainerWidth","length","minPercentageRatio","largeColumnsWidthsSum","ratio","index","columnWidth","maxColumnWidth","forEach","attributes","innerColumnAttributes","clientId","attributeWidth","proportionalRatio","percentageRatio","initialColumnWidth","round","newColumnWidth","floor","maxWidth"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tALIGNMENT_BREAKPOINTS,\n\tconvertUnitToMobile,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getColumnWidths, getWidths } from './utils';\nimport styles from './editor.scss';\n\n/**\n * Maximum number of columns in a row\n *\n * @type {number}\n */\nconst MAX_COLUMNS_NUM_IN_ROW = 3;\n\n/**\n * Minimum width of column\n *\n * @type {number}\n */\nconst MIN_WIDTH = styles.columnsContainer?.minWidth;\n\n/**\n * Container margin value\n *\n * @type {number}\n */\nconst MARGIN = styles.columnsContainer?.marginLeft;\n\nexport const getColumnsInRow = ( width, columnCount ) => {\n\tif ( width ) {\n\t\tif ( width < ALIGNMENT_BREAKPOINTS.mobile ) {\n\t\t\t// show only 1 Column in row for mobile breakpoint container width\n\t\t\treturn 1;\n\t\t} else if ( width <= ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t// show the maximum number of columns in a row for large breakpoint container width\n\t\t\treturn Math.min(\n\t\t\t\tMath.max( 1, columnCount ),\n\t\t\t\tMAX_COLUMNS_NUM_IN_ROW\n\t\t\t);\n\t\t}\n\t\t// Show all Column in one row.\n\t\treturn columnCount;\n\t}\n};\n\nexport const calculateContainerWidth = ( containerWidth, columnsInRow ) =>\n\t2 * MARGIN + containerWidth - columnsInRow * 2 * MARGIN;\n\nexport const getContentWidths = (\n\tcolumnsInRow,\n\twidth,\n\tcolumnCount,\n\tinnerColumns,\n\tglobalStyles\n) => {\n\tconst widths = {};\n\tconst columnWidthsWithUnits = getWidths( innerColumns, false );\n\tconst columnWidths = getColumnWidths( innerColumns, columnCount );\n\n\t// Array of column width attribute values\n\tconst columnWidthsValues = columnWidthsWithUnits.map( ( v ) =>\n\t\tconvertUnitToMobile( { width }, globalStyles, v )\n\t);\n\n\t// The sum of column width attribute values\n\tconst columnWidthsSum = columnWidthsValues.reduce(\n\t\t( acc, curr ) => acc + curr,\n\t\t0\n\t);\n\n\t// Array of ratios of each column width attribute value to their sum\n\tconst columnRatios = columnWidthsValues.map(\n\t\t( colWidth ) => colWidth / columnWidthsSum\n\t);\n\n\t// Array of calculated column width for its ratio\n\tconst columnWidthsPerRatio = columnRatios.map(\n\t\t( columnRatio ) =>\n\t\t\tcolumnRatio * calculateContainerWidth( width, columnsInRow )\n\t);\n\n\t// Array of columns whose calculated width is lower than minimum width value\n\tconst filteredColumnWidthsPerRatio = columnWidthsPerRatio.filter(\n\t\t( columnWidthPerRatio ) => columnWidthPerRatio <= MIN_WIDTH\n\t);\n\n\t// Container width to be divided. If there are some results within `filteredColumnWidthsPerRatio`\n\t// there is a need to reduce the main width by multiplying number\n\t// of results in `filteredColumnWidthsPerRatio` and minimum width value\n\tconst baseContainerWidth =\n\t\twidth - filteredColumnWidthsPerRatio.length * MIN_WIDTH;\n\n\t// The minimum percentage ratio for which column width is equal minimum width value\n\tconst minPercentageRatio =\n\t\tMIN_WIDTH / calculateContainerWidth( width, columnsInRow );\n\n\t// The sum of column widths which ratio is higher than `minPercentageRatio`\n\tconst largeColumnsWidthsSum = columnRatios\n\t\t.map( ( ratio, index ) => {\n\t\t\tif ( ratio > minPercentageRatio ) {\n\t\t\t\treturn columnWidthsValues[ index ];\n\t\t\t}\n\t\t\treturn 0;\n\t\t} )\n\t\t.reduce( ( acc, curr ) => acc + curr, 0 );\n\n\tconst containerWidth = calculateContainerWidth(\n\t\tbaseContainerWidth,\n\t\tcolumnsInRow\n\t);\n\n\tlet columnWidth =\n\t\tcalculateContainerWidth( width, columnsInRow ) / columnsInRow;\n\tlet maxColumnWidth = columnWidth;\n\n\tinnerColumns.forEach(\n\t\t( { attributes: innerColumnAttributes, clientId } ) => {\n\t\t\tconst attributeWidth = convertUnitToMobile(\n\t\t\t\t{ width },\n\t\t\t\tglobalStyles,\n\t\t\t\tinnerColumnAttributes.width || columnWidths[ clientId ]\n\t\t\t);\n\t\t\tconst proportionalRatio = attributeWidth / columnWidthsSum;\n\t\t\tconst percentageRatio = attributeWidth / width;\n\t\t\tconst initialColumnWidth = proportionalRatio * containerWidth;\n\n\t\t\tif ( columnCount === 1 && width > ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t\t// Exactly one column inside columns on the breakpoint higher than medium\n\t\t\t\t// has to take a percentage of the full width\n\t\t\t\tcolumnWidth = percentageRatio * containerWidth;\n\t\t\t} else if ( columnsInRow > 1 ) {\n\t\t\t\tif ( width > ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t\t\tif ( initialColumnWidth <= MIN_WIDTH ) {\n\t\t\t\t\t\t// Column width cannot be lower than minimum 32px\n\t\t\t\t\t\tcolumnWidth = MIN_WIDTH;\n\t\t\t\t\t} else if ( initialColumnWidth > MIN_WIDTH ) {\n\t\t\t\t\t\t// Column width has to be the result of multiplying the container width and\n\t\t\t\t\t\t// the ratio of attribute and the sum of widths of columns wider than 32px\n\t\t\t\t\t\tcolumnWidth =\n\t\t\t\t\t\t\t( attributeWidth / largeColumnsWidthsSum ) *\n\t\t\t\t\t\t\tcontainerWidth;\n\t\t\t\t\t}\n\n\t\t\t\t\tmaxColumnWidth = columnWidth;\n\n\t\t\t\t\tif ( Math.round( columnWidthsSum ) < width ) {\n\t\t\t\t\t\t// In case that column width attribute values does not exceed 100, each column\n\t\t\t\t\t\t// should have attribute percentage of container width\n\t\t\t\t\t\tconst newColumnWidth = percentageRatio * containerWidth;\n\t\t\t\t\t\tif ( newColumnWidth <= MIN_WIDTH ) {\n\t\t\t\t\t\t\tcolumnWidth = MIN_WIDTH;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcolumnWidth = newColumnWidth;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if ( width < ALIGNMENT_BREAKPOINTS.medium ) {\n\t\t\t\t\t// On the breakpoint lower than medium each column inside columns\n\t\t\t\t\t// has to take equal part of container width\n\t\t\t\t\tcolumnWidth =\n\t\t\t\t\t\tcalculateContainerWidth( width, columnsInRow ) /\n\t\t\t\t\t\tcolumnsInRow;\n\t\t\t\t}\n\t\t\t}\n\t\t\twidths[ clientId ] = {\n\t\t\t\twidth: Math.floor( columnWidth ),\n\t\t\t\tmaxWidth: Math.floor( maxColumnWidth ),\n\t\t\t};\n\t\t}\n\t);\n\treturn widths;\n};\n"]}
|
package/build/columns/edit.js
CHANGED
|
@@ -122,7 +122,7 @@ const ColumnsEditContainerWrapper = (0, _data.withDispatch)((dispatch, ownProps,
|
|
|
122
122
|
|
|
123
123
|
setAttributes({
|
|
124
124
|
verticalAlignment
|
|
125
|
-
}); // Update all child Column Blocks to match
|
|
125
|
+
}); // Update all child Column Blocks to match.
|
|
126
126
|
|
|
127
127
|
const innerBlockClientIds = getBlockOrder(clientId);
|
|
128
128
|
innerBlockClientIds.forEach(innerBlockClientId => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/columns/edit.js"],"names":["ALLOWED_BLOCKS","ColumnsEditContainer","attributes","setAttributes","updateAlignment","updateColumns","clientId","isStackedOnMobile","verticalAlignment","count","select","blockEditorStore","getBlockCount","classes","blockProps","className","innerBlocksProps","allowedBlocks","orientation","renderAppender","value","Math","max","ColumnsEditContainerWrapper","dispatch","ownProps","registry","updateBlockAttributes","getBlockOrder","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","width","Placeholder","name","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","blocksStore","nextVariation","ColumnsEdit","props","hasInnerBlocks","length","Component"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAOA;;AASA;;AACA;;AASA;;AApCA;AACA;AACA;;AAIA;AACA;AACA;;AAyBA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,CAAE,aAAF,CAAvB;;AAEA,SAASC,oBAAT,OAMI;AAAA,MAN2B;AAC9BC,IAAAA,UAD8B;AAE9BC,IAAAA,aAF8B;AAG9BC,IAAAA,eAH8B;AAI9BC,IAAAA,aAJ8B;AAK9BC,IAAAA;AAL8B,GAM3B;AACH,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAA2CN,UAAjD;AAEA,QAAM;AAAEO,IAAAA;AAAF,MAAY,qBACfC,MAAF,IAAc;AACb,WAAO;AACND,MAAAA,KAAK,EAAEC,MAAM,CAAEC,kBAAF,CAAN,CAA2BC,aAA3B,CAA0CN,QAA1C;AADD,KAAP;AAGA,GALgB,EAMjB,CAAEA,QAAF,CANiB,CAAlB;AASA,QAAMO,OAAO,GAAG,yBAAY;AAC3B,KAAG,0BAA0BL,iBAAmB,EAAhD,GAAqDA,iBAD1B;AAE3B,KAAG,0BAAH,GAAgC,CAAED;AAFP,GAAZ,CAAhB;AAKA,QAAMO,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAEF;AADsB,GAAf,CAAnB;AAGA,QAAMG,gBAAgB,GAAG,sCAAqBF,UAArB,EAAiC;AACzDG,IAAAA,aAAa,EAAEjB,cAD0C;AAEzDkB,IAAAA,WAAW,EAAE,YAF4C;AAGzDC,IAAAA,cAAc,EAAE;AAHyC,GAAjC,CAAzB;AAMA,SACC,qDACC,4BAAC,0BAAD,QACC,4BAAC,0CAAD;AACC,IAAA,QAAQ,EAAGf,eADZ;AAEC,IAAA,KAAK,EAAGI;AAFT,IADD,CADD,EAOC,4BAAC,8BAAD,QACC,4BAAC,qBAAD,QACC,4BAAC,wBAAD;AACC,IAAA,KAAK,EAAG,cAAI,SAAJ,CADT;AAEC,IAAA,KAAK,EAAGC,KAFT;AAGC,IAAA,QAAQ,EAAKW,KAAF,IAAaf,aAAa,CAAEI,KAAF,EAASW,KAAT,CAHtC;AAIC,IAAA,GAAG,EAAG,CAJP;AAKC,IAAA,GAAG,EAAGC,IAAI,CAACC,GAAL,CAAU,CAAV,EAAab,KAAb;AALP,IADD,EAQGA,KAAK,GAAG,CAAR,IACD,4BAAC,kBAAD;AAAQ,IAAA,MAAM,EAAC,SAAf;AAAyB,IAAA,aAAa,EAAG;AAAzC,KACG,cACD,iFADC,CADH,CATF,EAeC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CADT;AAEC,IAAA,OAAO,EAAGF,iBAFX;AAGC,IAAA,QAAQ,EAAG,MACVJ,aAAa,CAAE;AACdI,MAAAA,iBAAiB,EAAE,CAAEA;AADP,KAAF;AAJf,IAfD,CADD,CAPD,EAkCC,mCAAUS,gBAAV,CAlCD,CADD;AAsCA;;AAED,MAAMO,2BAA2B,GAAG,wBACnC,CAAEC,QAAF,EAAYC,QAAZ,EAAsBC,QAAtB,MAAsC;AACrC;AACF;AACA;AACA;AACA;AACA;AACA;AACEtB,EAAAA,eAAe,CAAEI,iBAAF,EAAsB;AACpC,UAAM;AAAEF,MAAAA,QAAF;AAAYH,MAAAA;AAAZ,QAA8BsB,QAApC;AACA,UAAM;AAAEE,MAAAA;AAAF,QAA4BH,QAAQ,CAAEb,kBAAF,CAA1C;AACA,UAAM;AAAEiB,MAAAA;AAAF,QAAoBF,QAAQ,CAAChB,MAAT,CAAiBC,kBAAjB,CAA1B,CAHoC,CAKpC;;AACAR,IAAAA,aAAa,CAAE;AAAEK,MAAAA;AAAF,KAAF,CAAb,CANoC,CAQpC;;AACA,UAAMqB,mBAAmB,GAAGD,aAAa,CAAEtB,QAAF,CAAzC;AACAuB,IAAAA,mBAAmB,CAACC,OAApB,CAA+BC,kBAAF,IAA0B;AACtDJ,MAAAA,qBAAqB,CAAEI,kBAAF,EAAsB;AAC1CvB,QAAAA;AAD0C,OAAtB,CAArB;AAGA,KAJD;AAKA,GAvBoC;;AAyBrC;AACF;AACA;AACA;AACA;AACA;AACA;AACEH,EAAAA,aAAa,CAAE2B,eAAF,EAAmBC,UAAnB,EAAgC;AAC5C,UAAM;AAAE3B,MAAAA;AAAF,QAAemB,QAArB;AACA,UAAM;AAAES,MAAAA;AAAF,QAAyBV,QAAQ,CAAEb,kBAAF,CAAvC;AACA,UAAM;AAAEwB,MAAAA;AAAF,QAAgBT,QAAQ,CAAChB,MAAT,CAAiBC,kBAAjB,CAAtB;AAEA,QAAIyB,WAAW,GAAGD,SAAS,CAAE7B,QAAF,CAA3B;AACA,UAAM+B,iBAAiB,GAAG,2CACzBD,WADyB,CAA1B,CAN4C,CAU5C;;AACA,UAAME,cAAc,GAAGL,UAAU,GAAGD,eAApC;;AAEA,QAAKM,cAAc,IAAID,iBAAvB,EAA2C;AAC1C;AACA;AACA,YAAME,cAAc,GAAG,6BAAkB,MAAMN,UAAxB,CAAvB,CAH0C,CAK1C;AACA;;AACA,YAAMO,MAAM,GAAG,yCACdJ,WADc,EAEd,MAAMG,cAFQ,CAAf;AAKAH,MAAAA,WAAW,GAAG,CACb,GAAG,kCAAuBA,WAAvB,EAAoCI,MAApC,CADU,EAEb,GAAG,mBAAOP,UAAU,GAAGD,eAApB,EAAqC,MAAM;AAC7C,eAAO,yBAAa,aAAb,EAA4B;AAClCS,UAAAA,KAAK,EAAG,GAAGF,cAAgB;AADO,SAA5B,CAAP;AAGA,OAJE,CAFU,CAAd;AAQA,KApBD,MAoBO,IAAKD,cAAL,EAAsB;AAC5BF,MAAAA,WAAW,GAAG,CACb,GAAGA,WADU,EAEb,GAAG,mBAAOH,UAAU,GAAGD,eAApB,EAAqC,MAAM;AAC7C,eAAO,yBAAa,aAAb,CAAP;AACA,OAFE,CAFU,CAAd;AAMA,KAPM,MAOA;AACN;AACAI,MAAAA,WAAW,GAAG,uBACbA,WADa,EAEbJ,eAAe,GAAGC,UAFL,CAAd;;AAKA,UAAKI,iBAAL,EAAyB;AACxB;AACA,cAAMG,MAAM,GAAG,yCACdJ,WADc,EAEd,GAFc,CAAf;AAKAA,QAAAA,WAAW,GAAG,kCAAuBA,WAAvB,EAAoCI,MAApC,CAAd;AACA;AACD;;AAEDN,IAAAA,kBAAkB,CAAE5B,QAAF,EAAY8B,WAAZ,CAAlB;AACA;;AA3FoC,CAAtC,CADmC,EA8FjCnC,oBA9FiC,CAApC;;AAgGA,SAASyC,WAAT,QAA0D;AAAA,MAApC;AAAEpC,IAAAA,QAAF;AAAYqC,IAAAA,IAAZ;AAAkBxC,IAAAA;AAAlB,GAAoC;AACzD,QAAM;AAAEyC,IAAAA,SAAF;AAAaC,IAAAA,gBAAb;AAA+BC,IAAAA;AAA/B,MAA8C,qBACjDpC,MAAF,IAAc;AACb,UAAM;AACLqC,MAAAA,kBADK;AAELC,MAAAA,YAFK;AAGLC,MAAAA;AAHK,QAIFvC,MAAM,CAAEwC,aAAF,CAJV;AAMA,WAAO;AACNN,MAAAA,SAAS,EAAEI,YAAY,CAAEL,IAAF,CADjB;AAENE,MAAAA,gBAAgB,EAAEI,wBAAwB,CAAEN,IAAF,EAAQ,OAAR,CAFpC;AAGNG,MAAAA,UAAU,EAAEC,kBAAkB,CAAEJ,IAAF,EAAQ,OAAR;AAHxB,KAAP;AAKA,GAbkD,EAcnD,CAAEA,IAAF,CAdmD,CAApD;AAgBA,QAAM;AAAET,IAAAA;AAAF,MAAyB,uBAAavB,kBAAb,CAA/B;AACA,QAAMG,UAAU,GAAG,iCAAnB;AAEA,SACC,mCAAUA,UAAV,EACC,4BAAC,+CAAD;AACC,IAAA,IAAI,EAAG,iBAAK8B,SAAL,EAAgB,CAAE,MAAF,EAAU,KAAV,CAAhB,CADR;AAEC,IAAA,KAAK,EAAG,iBAAKA,SAAL,EAAgB,CAAE,OAAF,CAAhB,CAFT;AAGC,IAAA,UAAU,EAAGE,UAHd;AAIC,IAAA,QAAQ,EAAG,YAAwC;AAAA,UAAtCK,aAAsC,uEAAtBN,gBAAsB;;AAClD,UAAKM,aAAa,CAACjD,UAAnB,EAAgC;AAC/BC,QAAAA,aAAa,CAAEgD,aAAa,CAACjD,UAAhB,CAAb;AACA;;AACD,UAAKiD,aAAa,CAACf,WAAnB,EAAiC;AAChCF,QAAAA,kBAAkB,CACjB5B,QADiB,EAEjB,iDACC6C,aAAa,CAACf,WADf,CAFiB,EAKjB,IALiB,CAAlB;AAOA;AACD,KAjBF;AAkBC,IAAA,SAAS;AAlBV,IADD,CADD;AAwBA;;AAED,MAAMgB,WAAW,GAAKC,KAAF,IAAa;AAChC,QAAM;AAAE/C,IAAAA;AAAF,MAAe+C,KAArB;AACA,QAAMC,cAAc,GAAG,qBACpB5C,MAAF,IACCA,MAAM,CAAEC,kBAAF,CAAN,CAA2BwB,SAA3B,CAAsC7B,QAAtC,EAAiDiD,MAAjD,GAA0D,CAFrC,EAGtB,CAAEjD,QAAF,CAHsB,CAAvB;AAKA,QAAMkD,SAAS,GAAGF,cAAc,GAC7B/B,2BAD6B,GAE7BmB,WAFH;AAIA,SAAO,4BAAC,SAAD,EAAgBW,KAAhB,CAAP;AACA,CAZD;;eAceD,W","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { dropRight, get, times } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tsetAttributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tclientId,\n} ) {\n\tconst { isStackedOnMobile, verticalAlignment } = attributes;\n\n\tconst { count } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tcount: select( blockEditorStore ).getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst classes = classnames( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\tonChange={ ( value ) => updateColumns( count, value ) }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Updates the column count, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column count.\n\t\t * @param {number} newColumns New column count.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths = 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\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} );\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} ),\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} )\n)( ColumnsEditContainer );\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ get( blockType, [ 'icon', 'src' ] ) }\n\t\t\t\tlabel={ get( blockType, [ 'title' ] ) }\n\t\t\t\tvariations={ variations }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks\n\t\t? ColumnsEditContainerWrapper\n\t\t: Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/columns/edit.js"],"names":["ALLOWED_BLOCKS","ColumnsEditContainer","attributes","setAttributes","updateAlignment","updateColumns","clientId","isStackedOnMobile","verticalAlignment","count","select","blockEditorStore","getBlockCount","classes","blockProps","className","innerBlocksProps","allowedBlocks","orientation","renderAppender","value","Math","max","ColumnsEditContainerWrapper","dispatch","ownProps","registry","updateBlockAttributes","getBlockOrder","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","width","Placeholder","name","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","blocksStore","nextVariation","ColumnsEdit","props","hasInnerBlocks","length","Component"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAOA;;AASA;;AACA;;AASA;;AApCA;AACA;AACA;;AAIA;AACA;AACA;;AAyBA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,CAAE,aAAF,CAAvB;;AAEA,SAASC,oBAAT,OAMI;AAAA,MAN2B;AAC9BC,IAAAA,UAD8B;AAE9BC,IAAAA,aAF8B;AAG9BC,IAAAA,eAH8B;AAI9BC,IAAAA,aAJ8B;AAK9BC,IAAAA;AAL8B,GAM3B;AACH,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAA2CN,UAAjD;AAEA,QAAM;AAAEO,IAAAA;AAAF,MAAY,qBACfC,MAAF,IAAc;AACb,WAAO;AACND,MAAAA,KAAK,EAAEC,MAAM,CAAEC,kBAAF,CAAN,CAA2BC,aAA3B,CAA0CN,QAA1C;AADD,KAAP;AAGA,GALgB,EAMjB,CAAEA,QAAF,CANiB,CAAlB;AASA,QAAMO,OAAO,GAAG,yBAAY;AAC3B,KAAG,0BAA0BL,iBAAmB,EAAhD,GAAqDA,iBAD1B;AAE3B,KAAG,0BAAH,GAAgC,CAAED;AAFP,GAAZ,CAAhB;AAKA,QAAMO,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAEF;AADsB,GAAf,CAAnB;AAGA,QAAMG,gBAAgB,GAAG,sCAAqBF,UAArB,EAAiC;AACzDG,IAAAA,aAAa,EAAEjB,cAD0C;AAEzDkB,IAAAA,WAAW,EAAE,YAF4C;AAGzDC,IAAAA,cAAc,EAAE;AAHyC,GAAjC,CAAzB;AAMA,SACC,qDACC,4BAAC,0BAAD,QACC,4BAAC,0CAAD;AACC,IAAA,QAAQ,EAAGf,eADZ;AAEC,IAAA,KAAK,EAAGI;AAFT,IADD,CADD,EAOC,4BAAC,8BAAD,QACC,4BAAC,qBAAD,QACC,4BAAC,wBAAD;AACC,IAAA,KAAK,EAAG,cAAI,SAAJ,CADT;AAEC,IAAA,KAAK,EAAGC,KAFT;AAGC,IAAA,QAAQ,EAAKW,KAAF,IAAaf,aAAa,CAAEI,KAAF,EAASW,KAAT,CAHtC;AAIC,IAAA,GAAG,EAAG,CAJP;AAKC,IAAA,GAAG,EAAGC,IAAI,CAACC,GAAL,CAAU,CAAV,EAAab,KAAb;AALP,IADD,EAQGA,KAAK,GAAG,CAAR,IACD,4BAAC,kBAAD;AAAQ,IAAA,MAAM,EAAC,SAAf;AAAyB,IAAA,aAAa,EAAG;AAAzC,KACG,cACD,iFADC,CADH,CATF,EAeC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CADT;AAEC,IAAA,OAAO,EAAGF,iBAFX;AAGC,IAAA,QAAQ,EAAG,MACVJ,aAAa,CAAE;AACdI,MAAAA,iBAAiB,EAAE,CAAEA;AADP,KAAF;AAJf,IAfD,CADD,CAPD,EAkCC,mCAAUS,gBAAV,CAlCD,CADD;AAsCA;;AAED,MAAMO,2BAA2B,GAAG,wBACnC,CAAEC,QAAF,EAAYC,QAAZ,EAAsBC,QAAtB,MAAsC;AACrC;AACF;AACA;AACA;AACA;AACA;AACA;AACEtB,EAAAA,eAAe,CAAEI,iBAAF,EAAsB;AACpC,UAAM;AAAEF,MAAAA,QAAF;AAAYH,MAAAA;AAAZ,QAA8BsB,QAApC;AACA,UAAM;AAAEE,MAAAA;AAAF,QAA4BH,QAAQ,CAAEb,kBAAF,CAA1C;AACA,UAAM;AAAEiB,MAAAA;AAAF,QAAoBF,QAAQ,CAAChB,MAAT,CAAiBC,kBAAjB,CAA1B,CAHoC,CAKpC;;AACAR,IAAAA,aAAa,CAAE;AAAEK,MAAAA;AAAF,KAAF,CAAb,CANoC,CAQpC;;AACA,UAAMqB,mBAAmB,GAAGD,aAAa,CAAEtB,QAAF,CAAzC;AACAuB,IAAAA,mBAAmB,CAACC,OAApB,CAA+BC,kBAAF,IAA0B;AACtDJ,MAAAA,qBAAqB,CAAEI,kBAAF,EAAsB;AAC1CvB,QAAAA;AAD0C,OAAtB,CAArB;AAGA,KAJD;AAKA,GAvBoC;;AAyBrC;AACF;AACA;AACA;AACA;AACA;AACA;AACEH,EAAAA,aAAa,CAAE2B,eAAF,EAAmBC,UAAnB,EAAgC;AAC5C,UAAM;AAAE3B,MAAAA;AAAF,QAAemB,QAArB;AACA,UAAM;AAAES,MAAAA;AAAF,QAAyBV,QAAQ,CAAEb,kBAAF,CAAvC;AACA,UAAM;AAAEwB,MAAAA;AAAF,QAAgBT,QAAQ,CAAChB,MAAT,CAAiBC,kBAAjB,CAAtB;AAEA,QAAIyB,WAAW,GAAGD,SAAS,CAAE7B,QAAF,CAA3B;AACA,UAAM+B,iBAAiB,GAAG,2CACzBD,WADyB,CAA1B,CAN4C,CAU5C;;AACA,UAAME,cAAc,GAAGL,UAAU,GAAGD,eAApC;;AAEA,QAAKM,cAAc,IAAID,iBAAvB,EAA2C;AAC1C;AACA;AACA,YAAME,cAAc,GAAG,6BAAkB,MAAMN,UAAxB,CAAvB,CAH0C,CAK1C;AACA;;AACA,YAAMO,MAAM,GAAG,yCACdJ,WADc,EAEd,MAAMG,cAFQ,CAAf;AAKAH,MAAAA,WAAW,GAAG,CACb,GAAG,kCAAuBA,WAAvB,EAAoCI,MAApC,CADU,EAEb,GAAG,mBAAOP,UAAU,GAAGD,eAApB,EAAqC,MAAM;AAC7C,eAAO,yBAAa,aAAb,EAA4B;AAClCS,UAAAA,KAAK,EAAG,GAAGF,cAAgB;AADO,SAA5B,CAAP;AAGA,OAJE,CAFU,CAAd;AAQA,KApBD,MAoBO,IAAKD,cAAL,EAAsB;AAC5BF,MAAAA,WAAW,GAAG,CACb,GAAGA,WADU,EAEb,GAAG,mBAAOH,UAAU,GAAGD,eAApB,EAAqC,MAAM;AAC7C,eAAO,yBAAa,aAAb,CAAP;AACA,OAFE,CAFU,CAAd;AAMA,KAPM,MAOA;AACN;AACAI,MAAAA,WAAW,GAAG,uBACbA,WADa,EAEbJ,eAAe,GAAGC,UAFL,CAAd;;AAKA,UAAKI,iBAAL,EAAyB;AACxB;AACA,cAAMG,MAAM,GAAG,yCACdJ,WADc,EAEd,GAFc,CAAf;AAKAA,QAAAA,WAAW,GAAG,kCAAuBA,WAAvB,EAAoCI,MAApC,CAAd;AACA;AACD;;AAEDN,IAAAA,kBAAkB,CAAE5B,QAAF,EAAY8B,WAAZ,CAAlB;AACA;;AA3FoC,CAAtC,CADmC,EA8FjCnC,oBA9FiC,CAApC;;AAgGA,SAASyC,WAAT,QAA0D;AAAA,MAApC;AAAEpC,IAAAA,QAAF;AAAYqC,IAAAA,IAAZ;AAAkBxC,IAAAA;AAAlB,GAAoC;AACzD,QAAM;AAAEyC,IAAAA,SAAF;AAAaC,IAAAA,gBAAb;AAA+BC,IAAAA;AAA/B,MAA8C,qBACjDpC,MAAF,IAAc;AACb,UAAM;AACLqC,MAAAA,kBADK;AAELC,MAAAA,YAFK;AAGLC,MAAAA;AAHK,QAIFvC,MAAM,CAAEwC,aAAF,CAJV;AAMA,WAAO;AACNN,MAAAA,SAAS,EAAEI,YAAY,CAAEL,IAAF,CADjB;AAENE,MAAAA,gBAAgB,EAAEI,wBAAwB,CAAEN,IAAF,EAAQ,OAAR,CAFpC;AAGNG,MAAAA,UAAU,EAAEC,kBAAkB,CAAEJ,IAAF,EAAQ,OAAR;AAHxB,KAAP;AAKA,GAbkD,EAcnD,CAAEA,IAAF,CAdmD,CAApD;AAgBA,QAAM;AAAET,IAAAA;AAAF,MAAyB,uBAAavB,kBAAb,CAA/B;AACA,QAAMG,UAAU,GAAG,iCAAnB;AAEA,SACC,mCAAUA,UAAV,EACC,4BAAC,+CAAD;AACC,IAAA,IAAI,EAAG,iBAAK8B,SAAL,EAAgB,CAAE,MAAF,EAAU,KAAV,CAAhB,CADR;AAEC,IAAA,KAAK,EAAG,iBAAKA,SAAL,EAAgB,CAAE,OAAF,CAAhB,CAFT;AAGC,IAAA,UAAU,EAAGE,UAHd;AAIC,IAAA,QAAQ,EAAG,YAAwC;AAAA,UAAtCK,aAAsC,uEAAtBN,gBAAsB;;AAClD,UAAKM,aAAa,CAACjD,UAAnB,EAAgC;AAC/BC,QAAAA,aAAa,CAAEgD,aAAa,CAACjD,UAAhB,CAAb;AACA;;AACD,UAAKiD,aAAa,CAACf,WAAnB,EAAiC;AAChCF,QAAAA,kBAAkB,CACjB5B,QADiB,EAEjB,iDACC6C,aAAa,CAACf,WADf,CAFiB,EAKjB,IALiB,CAAlB;AAOA;AACD,KAjBF;AAkBC,IAAA,SAAS;AAlBV,IADD,CADD;AAwBA;;AAED,MAAMgB,WAAW,GAAKC,KAAF,IAAa;AAChC,QAAM;AAAE/C,IAAAA;AAAF,MAAe+C,KAArB;AACA,QAAMC,cAAc,GAAG,qBACpB5C,MAAF,IACCA,MAAM,CAAEC,kBAAF,CAAN,CAA2BwB,SAA3B,CAAsC7B,QAAtC,EAAiDiD,MAAjD,GAA0D,CAFrC,EAGtB,CAAEjD,QAAF,CAHsB,CAAvB;AAKA,QAAMkD,SAAS,GAAGF,cAAc,GAC7B/B,2BAD6B,GAE7BmB,WAFH;AAIA,SAAO,4BAAC,SAAD,EAAgBW,KAAhB,CAAP;AACA,CAZD;;eAceD,W","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { dropRight, get, times } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tsetAttributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tclientId,\n} ) {\n\tconst { isStackedOnMobile, verticalAlignment } = attributes;\n\n\tconst { count } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tcount: select( blockEditorStore ).getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst classes = classnames( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\tonChange={ ( value ) => updateColumns( count, value ) }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Updates the column count, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column count.\n\t\t * @param {number} newColumns New column count.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths = 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\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} );\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} ),\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} )\n)( ColumnsEditContainer );\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ get( blockType, [ 'icon', 'src' ] ) }\n\t\t\t\tlabel={ get( blockType, [ 'title' ] ) }\n\t\t\t\tvariations={ variations }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks\n\t\t? ColumnsEditContainerWrapper\n\t\t: Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"]}
|
|
@@ -247,7 +247,7 @@ const ColumnsEditContainerWrapper = (0, _data.withDispatch)((dispatch, ownProps,
|
|
|
247
247
|
|
|
248
248
|
setAttributes({
|
|
249
249
|
verticalAlignment
|
|
250
|
-
}); // Update all child Column Blocks to match
|
|
250
|
+
}); // Update all child Column Blocks to match.
|
|
251
251
|
|
|
252
252
|
const innerBlockClientIds = getBlockOrder(clientId);
|
|
253
253
|
innerBlockClientIds.forEach(innerBlockClientId => {
|
|
@@ -297,7 +297,7 @@ const ColumnsEditContainerWrapper = (0, _data.withDispatch)((dispatch, ownProps,
|
|
|
297
297
|
let innerBlocks = getBlocks(clientId);
|
|
298
298
|
const hasExplicitWidths = (0, _utils.hasExplicitPercentColumnWidths)(innerBlocks); // Redistribute available width for existing inner blocks.
|
|
299
299
|
|
|
300
|
-
const isAddingColumn = newColumns > previousColumns; // Get verticalAlignment from Columns block to set the same to new Column
|
|
300
|
+
const isAddingColumn = newColumns > previousColumns; // Get verticalAlignment from Columns block to set the same to new Column.
|
|
301
301
|
|
|
302
302
|
const {
|
|
303
303
|
verticalAlignment
|
|
@@ -347,7 +347,7 @@ const ColumnsEditContainerWrapper = (0, _data.withDispatch)((dispatch, ownProps,
|
|
|
347
347
|
const {
|
|
348
348
|
getBlocks,
|
|
349
349
|
getBlockAttributes
|
|
350
|
-
} = registry.select(_blockEditor.store); // Get verticalAlignment from Columns block to set the same to new Column
|
|
350
|
+
} = registry.select(_blockEditor.store); // Get verticalAlignment from Columns block to set the same to new Column.
|
|
351
351
|
|
|
352
352
|
const {
|
|
353
353
|
verticalAlignment
|
|
@@ -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","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"]}
|
|
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":";;;;;;;;;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,OAUI;AAAA,MAV2B;AAC9BC,IAAAA,UAD8B;AAE9BC,IAAAA,eAF8B;AAG9BC,IAAAA,aAH8B;AAI9BC,IAAAA,WAJ8B;AAK9BC,IAAAA,UAL8B;AAM9BC,IAAAA,aAN8B;AAO9BC,IAAAA,WAP8B;AAQ9BC,IAAAA,sBAR8B;AAS9BC,IAAAA;AAT8B,GAU3B;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,YAAM2B,KAAK,GAAG;AACb;AACA,oBAAI,WAAJ,CAFa,EAGbP,KAAK,GAAG,CAHK,CAAd;AAKA,aACC,4BAAC,uBAAD;AACC,QAAA,KAAK,EAAGO,KADT;AAEC,QAAA,YAAY,EAAC,OAFd;AAGC,QAAA,GAAG,EAAI,GAAGD,MAAM,CAACE,QAAU,IAC1B,sBAAWxC,WAAX,EAAyByC,MACzB,EALF;AAMC,QAAA,GAAG,EAAG,CANP;AAOC,QAAA,GAAG,EACF,6BAAkBd,SAAlB,KAAiC,CAAEA,SAAnC,GACG,GADH,GAEGe,SAVL;AAYC,QAAA,KAAK,EAAG,sBAAW1C,WAAX,EAA0BgC,KAA1B,CAZT;AAaC,QAAA,QAAQ,EAAKN,SAAF,IAAiB;AAC3BS,UAAAA,QAAQ,CAAET,SAAF,EAAaC,SAAb,EAAwBW,MAAM,CAACE,QAA/B,CAAR;AACA,SAfF;AAgBC,QAAA,YAAY,EAAKT,QAAF,IACdD,YAAY,CAAEC,QAAF,EAAYC,KAAZ,EAAmBM,MAAM,CAACE,QAA1B,CAjBd;AAmBC,QAAA,UAAU,EAAKd,SAAF,IAAiB;AAC7BD,UAAAA,aAAa,CAAEC,SAAF,EAAaC,SAAb,EAAwBW,MAAM,CAACE,QAA/B,CAAb;AACA,SArBF;AAsBC,QAAA,IAAI,EAAGb,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,KAzCM,CAAP;AA0CA,GA/CyB,EA+CvB,CAAE9B,mBAAF,EAAuBJ,UAAvB,EAAmCE,WAAnC,CA/CuB,CAA1B;AAiDA,QAAM2C,kBAAkB,GAAG,0BACxBC,KAAF,IAAa;AACZhD,IAAAA,aAAa,CAAEC,WAAF,EAAe+C,KAAf,CAAb;AACA,GAHyB,EAI1B,CAAE/C,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,EAAG+C,cAFR;AAGC,IAAA,KAAK,EAAGhD,WAHT;AAIC,IAAA,QAAQ,EAAG8C,kBAJZ;AAKC,IAAA,GAAG,EAAGrD,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,gBAAOyB;AAAnC,KACG3C,cADH,EAEGS,KAAK,IACN,4BAAC,wBAAD;AACC,IAAA,cAAc,EAAGQ,cADlB;AAEC,IAAA,WAAW,EACVf,YAAY,GAAG,CAAf,GAAmB,YAAnB,GAAkCqC,SAHpC;AAKC,IAAA,UAAU,EAAGrC,YAAY,GAAG,CAL7B;AAMC,IAAA,aAAa,EAAGjB,cANjB;AAOC,IAAA,iBAAiB,EAAC,SAPnB;AAQC,IAAA,UAAU,EAAGmC,UARd;AASC,IAAA,aAAa,EACZ1B,WAAW,KAAK,CAAhB,GAAoBE,aAApB,GAAoC2C,SAVtC;AAYC,IAAA,UAAU,EAAG9B,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,MAAM0C,2BAA2B,GAAG,wBACnC,CAAEC,QAAF,EAAYC,QAAZ,EAAsBC,QAAtB,MAAsC;AACrC;AACF;AACA;AACA;AACA;AACA;AACA;AACEvD,EAAAA,eAAe,CAAEoB,iBAAF,EAAsB;AACpC,UAAM;AAAEyB,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;AAAEpC,MAAAA;AAAF,KAAF,CAAb,CANoC,CAQpC;;AACA,UAAMyC,mBAAmB,GAAGF,aAAa,CAAEd,QAAF,CAAzC;AACAgB,IAAAA,mBAAmB,CAACC,OAApB,CAA+BC,kBAAF,IAA0B;AACtDN,MAAAA,qBAAqB,CAAEM,kBAAF,EAAsB;AAC1C3C,QAAAA;AAD0C,OAAtB,CAArB;AAGA,KAJD;AAKA,GAvBoC;;AAwBrCd,EAAAA,sBAAsB,CAAE2C,KAAF,EAAShB,QAAT,EAAoB;AACzC,UAAM;AAAEwB,MAAAA;AAAF,QAA4BJ,QAAQ,CAAEK,kBAAF,CAA1C;AAEAD,IAAAA,qBAAqB,CAAExB,QAAF,EAAY;AAChChB,MAAAA,KAAK,EAAEgC;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;AACEhE,EAAAA,aAAa,CAAEkE,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;AAAE/C,MAAAA;AAAF,QAAwBmD,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;AAClClD,UAAAA,KAAK,EAAG,GAAG0D,cAAgB,GADO;AAElCvD,UAAAA;AAFkC,SAA5B,CAAP;AAIA,OALE,CAFU,CAAd;AASA,KArBD,MAqBO,IAAKsD,cAAL,EAAsB;AAC5BF,MAAAA,WAAW,GAAG,CACb,GAAGA,WADU,EAEb,GAAG,mBAAOJ,UAAU,GAAGD,eAApB,EAAqC,MAAM;AAC7C,eAAO,yBAAa,aAAb,EAA4B;AAClC/C,UAAAA;AADkC,SAA5B,CAAP;AAGA,OAJE,CAFU,CAAd;AAQA,KATM,MASA;AACN;AACAoD,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;AAAEtC,MAAAA;AAAF,QAAwBmD,kBAAkB,CAAE1B,QAAF,CAAhD;AAEA,UAAM2B,WAAW,GAAGF,SAAS,CAAEzB,QAAF,CAA7B;AAEA,UAAMkC,aAAa,GAAG,yBAAa,aAAb,EAA4B;AACjD3D,MAAAA;AADiD,KAA5B,CAAtB;AAIAiD,IAAAA,kBAAkB,CACjBxB,QADiB,EAEjB,CAAE,GAAG2B,WAAL,EAAkBO,aAAlB,CAFiB,EAGjB,IAHiB,CAAlB;AAKAD,IAAAA,WAAW,CAAEC,aAAa,CAAClC,QAAhB,CAAX;AACA,GAvIoC;AAwIrCzC,EAAAA,aAAa,EAAE,MAAM;AACpB,UAAM;AAAEyC,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,mBAAM/C,oBAAN,CA/IiC,CAApC;;AAiJA,MAAMmF,WAAW,GAAKC,KAAF,IAAa;AAChC,QAAM;AAAErC,IAAAA,QAAF;AAAY1C,IAAAA,UAAZ;AAAwBgF,IAAAA;AAAxB,MAAkCD,KAAxC;AACA,QAAM;AACLhF,IAAAA,WADK;AAELkF,IAAAA,gBAFK;AAGL/E,IAAAA,WAAW,GAAG,EAHT;AAILgF,IAAAA,UAJK;AAKLC,IAAAA,oBALK;AAML/E,IAAAA;AANK,MAOF,qBACDqD,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,CAAC9B,GAAZ,CAAmBmD,GAAF,KAAa;AACxDhD,MAAAA,QAAQ,EAAEgD,GAAG,CAAChD,QAD0C;AAExD9C,MAAAA,UAAU,EAAE;AAAEkB,QAAAA,KAAK,EAAE4E,GAAG,CAAC9F,UAAJ,CAAekB;AAAxB;AAF4C,KAAb,CAAjB,CAA3B;AAIA,UAAM6E,OAAO,GAAGN,eAAe,CAAE3C,QAAF,EAAY,IAAZ,CAA/B;AAEA,WAAO;AACN3C,MAAAA,WAAW,EAAEqF,aAAa,CAAE1C,QAAF,CADpB;AAENuC,MAAAA,gBAAgB,EAAE,CAAE,qBAASM,cAAT,EAA0B5C,MAFxC;AAGNzC,MAAAA,WAAW,EAAEuF,kBAHP;AAINP,MAAAA,UAAU,EAAE,CAAC,CAAES,OAAO,CAAChD,MAJjB;AAKNwC,MAAAA,oBAAoB,yBAAEf,kBAAkB,CAAEuB,OAAO,CAAE,CAAF,CAAT,CAApB,wDAAE,oBAAoCzE,KALpD;AAMNd,MAAAA,mBAAmB,EAAEJ,UAAU,IAAIsF,qBAAqB;AANlD,KAAP;AAQA,GA9BE,EA+BH,CAAE5C,QAAF,EAAY1C,UAAZ,CA/BG,CAPJ;AAyCA,QAAM4F,mBAAmB,GAAG,sBAAS,MAAM;AAC1C,WAAO1F,WAAP;AACA,GAF2B,EAEzB,CACF;AACA;AACA2F,EAAAA,IAAI,CAACC,SAAL,CAAgB5F,WAAhB,CAHE,CAFyB,CAA5B;AAQA,QAAM,CAAE6F,SAAF,EAAaC,YAAb,IAA8B,uBAAU,KAAV,CAApC;AAEA,0BAAW,MAAM;AAChB,QAAKhG,UAAU,IAAIiF,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,EAAGjF,WADf;AAEC,IAAA,WAAW,EAAG6F,mBAFf;AAGC,IAAA,UAAU,EAAGV,UAHd;AAIC,IAAA,oBAAoB,EAAGC,oBAJxB;AAKC,IAAA,mBAAmB,EAAG/E;AALvB,KAMM2E,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 { __, 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"]}
|
|
@@ -74,11 +74,11 @@ function Controls(_ref) {
|
|
|
74
74
|
const units = (0, _components.__experimentalUseCustomUnits)({
|
|
75
75
|
availableUnits: (0, _blockEditor.useSetting)('spacing.units') || ['px', 'em', 'rem', 'vw', 'vh'],
|
|
76
76
|
defaultValues: {
|
|
77
|
-
px:
|
|
78
|
-
em:
|
|
79
|
-
rem:
|
|
80
|
-
vw:
|
|
81
|
-
vh:
|
|
77
|
+
px: 430,
|
|
78
|
+
em: 20,
|
|
79
|
+
rem: 20,
|
|
80
|
+
vw: 20,
|
|
81
|
+
vh: 50
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
84
|
const onOpacityChange = (0, _element.useCallback)(value => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/controls.native.js"],"names":["Controls","attributes","didUploadFail","hasOnlyColorBackground","isUploadInProgress","onClearMedia","onSelectMedia","setAttributes","backgroundType","dimRatio","hasParallax","focalPoint","minHeight","minHeightUnit","url","CONTAINER_HEIGHT","COVER_DEFAULT_HEIGHT","onHeightChange","value","units","availableUnits","defaultValues","px","em","rem","vw","vh","onOpacityChange","onChangeUnit","nextUnit","Math","max","COVER_MIN_HEIGHT","displayPlaceholder","setDisplayPlaceholder","setFocalPoint","toggleParallax","undefined","IMAGE_DEFAULT_FOCAL_POINT","addMediaButtonStyle","styles","addMediaButton","addMediaButtonDark","focalPointPosition","x","y","left","top","videoNaturalSize","setVideoNaturalSize","videoRef","mediaBackground","mediaBackgroundDark","imagePreviewStyles","imagePlaceholder","videoPreviewStyles","aspectRatio","width","height","opacity","video","focalPointHint","plus","renderMediaSection","open","openMediaOptions","getMediaOptions","mediaPreview","mediaInner","IMAGE_BACKGROUND_TYPE","destructiveButton","id","label","onPress","separated","image","VIDEO_BACKGROUND_TYPE","event","naturalSize","current","seek","uri","clearMediaButton","ALLOWED_MEDIA_TYPES","overlayColor","customOverlayColor","gradient","customGradient","rangeCellContainer","COVER_MAX_HEIGHT"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\nimport Video from 'react-native-video';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tImage,\n\tIcon,\n\tIMAGE_DEFAULT_FOCAL_POINT,\n\tPanelBody,\n\tRangeControl,\n\tUnitControl,\n\tTextControl,\n\tBottomSheet,\n\tToggleControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { plus } from '@wordpress/icons';\nimport { useState, useCallback, useRef } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSetting, MediaUpload } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport OverlayColorSettings from './overlay-color-settings';\nimport FocalPointSettingsButton from './focal-point-settings-button';\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tCOVER_MIN_HEIGHT,\n\tCOVER_MAX_HEIGHT,\n\tCOVER_DEFAULT_HEIGHT,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n} from './shared';\n\nfunction Controls( {\n\tattributes,\n\tdidUploadFail,\n\thasOnlyColorBackground,\n\tisUploadInProgress,\n\tonClearMedia,\n\tonSelectMedia,\n\tsetAttributes,\n} ) {\n\tconst {\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\thasParallax,\n\t\tfocalPoint,\n\t\tminHeight,\n\t\tminHeightUnit = 'px',\n\t\turl,\n\t} = attributes;\n\tconst CONTAINER_HEIGHT = minHeight || COVER_DEFAULT_HEIGHT;\n\tconst onHeightChange = useCallback(\n\t\t( value ) => {\n\t\t\tif ( minHeight || value !== COVER_DEFAULT_HEIGHT ) {\n\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t}\n\t\t},\n\t\t[ minHeight ]\n\t);\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: '430', em: '20', rem: '20', vw: '20', vh: '50' },\n\t} );\n\n\tconst onOpacityChange = useCallback( ( value ) => {\n\t\tsetAttributes( { dimRatio: value } );\n\t}, [] );\n\n\tconst onChangeUnit = useCallback( ( nextUnit ) => {\n\t\tsetAttributes( {\n\t\t\tminHeightUnit: nextUnit,\n\t\t\tminHeight:\n\t\t\t\tnextUnit === 'px'\n\t\t\t\t\t? Math.max( CONTAINER_HEIGHT, COVER_MIN_HEIGHT )\n\t\t\t\t\t: CONTAINER_HEIGHT,\n\t\t} );\n\t}, [] );\n\n\tconst [ displayPlaceholder, setDisplayPlaceholder ] = useState( true );\n\n\tfunction setFocalPoint( value ) {\n\t\tsetAttributes( { focalPoint: value } );\n\t}\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax\n\t\t\t\t? { focalPoint: undefined }\n\t\t\t\t: { focalPoint: IMAGE_DEFAULT_FOCAL_POINT } ),\n\t\t} );\n\t};\n\n\tconst addMediaButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.addMediaButton,\n\t\tstyles.addMediaButtonDark\n\t);\n\n\tfunction focalPointPosition( { x, y } = IMAGE_DEFAULT_FOCAL_POINT ) {\n\t\treturn {\n\t\t\tleft: `${ ( hasParallax ? 0.5 : x ) * 100 }%`,\n\t\t\ttop: `${ ( hasParallax ? 0.5 : y ) * 100 }%`,\n\t\t};\n\t}\n\n\tconst [ videoNaturalSize, setVideoNaturalSize ] = useState( null );\n\tconst videoRef = useRef( null );\n\n\tconst mediaBackground = usePreferredColorSchemeStyle(\n\t\tstyles.mediaBackground,\n\t\tstyles.mediaBackgroundDark\n\t);\n\tconst imagePreviewStyles = [\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\tconst videoPreviewStyles = [\n\t\t{\n\t\t\taspectRatio:\n\t\t\t\tvideoNaturalSize &&\n\t\t\t\tvideoNaturalSize.width / videoNaturalSize.height,\n\t\t\t// Hide Video component since it has black background while loading the source\n\t\t\topacity: displayPlaceholder ? 0 : 1,\n\t\t},\n\t\tstyles.video,\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\n\tconst focalPointHint = ! hasParallax && ! displayPlaceholder && (\n\t\t<Icon\n\t\t\ticon={ plus }\n\t\t\tsize={ styles.focalPointHint?.width }\n\t\t\tstyle={ [\n\t\t\t\tstyles.focalPointHint,\n\t\t\t\tfocalPointPosition( focalPoint ),\n\t\t\t] }\n\t\t/>\n\t);\n\n\tconst renderMediaSection = ( {\n\t\topen: openMediaOptions,\n\t\tgetMediaOptions,\n\t} ) => (\n\t\t<>\n\t\t\t{ getMediaOptions() }\n\t\t\t{ url ? (\n\t\t\t\t<>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\taccessible={ false }\n\t\t\t\t\t\tcellContainerStyle={ [\n\t\t\t\t\t\t\tstyles.mediaPreview,\n\t\t\t\t\t\t\tmediaBackground,\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.mediaInner }>\n\t\t\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\teditButton={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\thighlightSelected={ false }\n\t\t\t\t\t\t\t\t\tisSelected={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\tisUploadFailed={ didUploadFail }\n\t\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\t\tmediaPickerOptions={ [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tdestructiveButton: true,\n\t\t\t\t\t\t\t\t\t\t\tid: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t\tlabel: __( 'Clear Media' ),\n\t\t\t\t\t\t\t\t\t\t\tonPress: onClearMedia,\n\t\t\t\t\t\t\t\t\t\t\tseparated: true,\n\t\t\t\t\t\t\t\t\t\t\tvalue: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\tonImageDataLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\t\t\tstyle={ imagePreviewStyles }\n\t\t\t\t\t\t\t\t\twidth={ styles.image?.width }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Video\n\t\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\t\tpaused\n\t\t\t\t\t\t\t\t\tdisableFocus\n\t\t\t\t\t\t\t\t\tonLoadStart={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\t} = event.naturalSize;\n\t\t\t\t\t\t\t\t\t\tsetVideoNaturalSize( {\n\t\t\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t\t// Avoid invisible, paused video on Android, presumably\n\t\t\t\t\t\t\t\t\t\t// related to https://git.io/Jt6Dr\n\t\t\t\t\t\t\t\t\t\tvideoRef?.current.seek( 0 );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tref={ videoRef }\n\t\t\t\t\t\t\t\t\tresizeMode={ 'cover' }\n\t\t\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t\t\tstyle={ videoPreviewStyles }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPlaceholder ? null : focalPointHint }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t<FocalPointSettingsButton\n\t\t\t\t\t\tdisabled={ hasParallax }\n\t\t\t\t\t\tfocalPoint={ focalPoint || IMAGE_DEFAULT_FOCAL_POINT }\n\t\t\t\t\t\tonFocalPointChange={ setFocalPoint }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t/>\n\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\tlabel={ __( 'Clear Media' ) }\n\t\t\t\t\t\tlabelStyle={ styles.clearMediaButton }\n\t\t\t\t\t\tonPress={ onClearMedia }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<TextControl\n\t\t\t\t\taccessibilityLabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabelStyle={ addMediaButtonStyle }\n\t\t\t\t\tleftAlign\n\t\t\t\t\tonPress={ openMediaOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ ! hasOnlyColorBackground }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\trender={ renderMediaSection }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<OverlayColorSettings\n\t\t\t\toverlayColor={ attributes.overlayColor }\n\t\t\t\tcustomOverlayColor={ attributes.customOverlayColor }\n\t\t\t\tgradient={ attributes.gradient }\n\t\t\t\tcustomGradient={ attributes.customGradient }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\n\t\t\t{ url ? (\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tminimumValue={ 0 }\n\t\t\t\t\t\tmaximumValue={ 100 }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ onOpacityChange }\n\t\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\t\tseparatorType={ 'topFullWidth' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) : null }\n\n\t\t\t<PanelBody title={ __( 'Dimensions' ) }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tmin={ minHeightUnit === 'px' ? COVER_MIN_HEIGHT : 1 }\n\t\t\t\t\tmax={ COVER_MAX_HEIGHT }\n\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\tvalue={ CONTAINER_HEIGHT }\n\t\t\t\t\tonChange={ onHeightChange }\n\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\tkey={ minHeightUnit }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default Controls;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/controls.native.js"],"names":["Controls","attributes","didUploadFail","hasOnlyColorBackground","isUploadInProgress","onClearMedia","onSelectMedia","setAttributes","backgroundType","dimRatio","hasParallax","focalPoint","minHeight","minHeightUnit","url","CONTAINER_HEIGHT","COVER_DEFAULT_HEIGHT","onHeightChange","value","units","availableUnits","defaultValues","px","em","rem","vw","vh","onOpacityChange","onChangeUnit","nextUnit","Math","max","COVER_MIN_HEIGHT","displayPlaceholder","setDisplayPlaceholder","setFocalPoint","toggleParallax","undefined","IMAGE_DEFAULT_FOCAL_POINT","addMediaButtonStyle","styles","addMediaButton","addMediaButtonDark","focalPointPosition","x","y","left","top","videoNaturalSize","setVideoNaturalSize","videoRef","mediaBackground","mediaBackgroundDark","imagePreviewStyles","imagePlaceholder","videoPreviewStyles","aspectRatio","width","height","opacity","video","focalPointHint","plus","renderMediaSection","open","openMediaOptions","getMediaOptions","mediaPreview","mediaInner","IMAGE_BACKGROUND_TYPE","destructiveButton","id","label","onPress","separated","image","VIDEO_BACKGROUND_TYPE","event","naturalSize","current","seek","uri","clearMediaButton","ALLOWED_MEDIA_TYPES","overlayColor","customOverlayColor","gradient","customGradient","rangeCellContainer","COVER_MAX_HEIGHT"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\nimport Video from 'react-native-video';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tImage,\n\tIcon,\n\tIMAGE_DEFAULT_FOCAL_POINT,\n\tPanelBody,\n\tRangeControl,\n\tUnitControl,\n\tTextControl,\n\tBottomSheet,\n\tToggleControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { plus } from '@wordpress/icons';\nimport { useState, useCallback, useRef } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSetting, MediaUpload } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport OverlayColorSettings from './overlay-color-settings';\nimport FocalPointSettingsButton from './focal-point-settings-button';\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tCOVER_MIN_HEIGHT,\n\tCOVER_MAX_HEIGHT,\n\tCOVER_DEFAULT_HEIGHT,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n} from './shared';\n\nfunction Controls( {\n\tattributes,\n\tdidUploadFail,\n\thasOnlyColorBackground,\n\tisUploadInProgress,\n\tonClearMedia,\n\tonSelectMedia,\n\tsetAttributes,\n} ) {\n\tconst {\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\thasParallax,\n\t\tfocalPoint,\n\t\tminHeight,\n\t\tminHeightUnit = 'px',\n\t\turl,\n\t} = attributes;\n\tconst CONTAINER_HEIGHT = minHeight || COVER_DEFAULT_HEIGHT;\n\tconst onHeightChange = useCallback(\n\t\t( value ) => {\n\t\t\tif ( minHeight || value !== COVER_DEFAULT_HEIGHT ) {\n\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t}\n\t\t},\n\t\t[ minHeight ]\n\t);\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 430, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst onOpacityChange = useCallback( ( value ) => {\n\t\tsetAttributes( { dimRatio: value } );\n\t}, [] );\n\n\tconst onChangeUnit = useCallback( ( nextUnit ) => {\n\t\tsetAttributes( {\n\t\t\tminHeightUnit: nextUnit,\n\t\t\tminHeight:\n\t\t\t\tnextUnit === 'px'\n\t\t\t\t\t? Math.max( CONTAINER_HEIGHT, COVER_MIN_HEIGHT )\n\t\t\t\t\t: CONTAINER_HEIGHT,\n\t\t} );\n\t}, [] );\n\n\tconst [ displayPlaceholder, setDisplayPlaceholder ] = useState( true );\n\n\tfunction setFocalPoint( value ) {\n\t\tsetAttributes( { focalPoint: value } );\n\t}\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax\n\t\t\t\t? { focalPoint: undefined }\n\t\t\t\t: { focalPoint: IMAGE_DEFAULT_FOCAL_POINT } ),\n\t\t} );\n\t};\n\n\tconst addMediaButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.addMediaButton,\n\t\tstyles.addMediaButtonDark\n\t);\n\n\tfunction focalPointPosition( { x, y } = IMAGE_DEFAULT_FOCAL_POINT ) {\n\t\treturn {\n\t\t\tleft: `${ ( hasParallax ? 0.5 : x ) * 100 }%`,\n\t\t\ttop: `${ ( hasParallax ? 0.5 : y ) * 100 }%`,\n\t\t};\n\t}\n\n\tconst [ videoNaturalSize, setVideoNaturalSize ] = useState( null );\n\tconst videoRef = useRef( null );\n\n\tconst mediaBackground = usePreferredColorSchemeStyle(\n\t\tstyles.mediaBackground,\n\t\tstyles.mediaBackgroundDark\n\t);\n\tconst imagePreviewStyles = [\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\tconst videoPreviewStyles = [\n\t\t{\n\t\t\taspectRatio:\n\t\t\t\tvideoNaturalSize &&\n\t\t\t\tvideoNaturalSize.width / videoNaturalSize.height,\n\t\t\t// Hide Video component since it has black background while loading the source\n\t\t\topacity: displayPlaceholder ? 0 : 1,\n\t\t},\n\t\tstyles.video,\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\n\tconst focalPointHint = ! hasParallax && ! displayPlaceholder && (\n\t\t<Icon\n\t\t\ticon={ plus }\n\t\t\tsize={ styles.focalPointHint?.width }\n\t\t\tstyle={ [\n\t\t\t\tstyles.focalPointHint,\n\t\t\t\tfocalPointPosition( focalPoint ),\n\t\t\t] }\n\t\t/>\n\t);\n\n\tconst renderMediaSection = ( {\n\t\topen: openMediaOptions,\n\t\tgetMediaOptions,\n\t} ) => (\n\t\t<>\n\t\t\t{ getMediaOptions() }\n\t\t\t{ url ? (\n\t\t\t\t<>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\taccessible={ false }\n\t\t\t\t\t\tcellContainerStyle={ [\n\t\t\t\t\t\t\tstyles.mediaPreview,\n\t\t\t\t\t\t\tmediaBackground,\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.mediaInner }>\n\t\t\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\teditButton={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\thighlightSelected={ false }\n\t\t\t\t\t\t\t\t\tisSelected={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\tisUploadFailed={ didUploadFail }\n\t\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\t\tmediaPickerOptions={ [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tdestructiveButton: true,\n\t\t\t\t\t\t\t\t\t\t\tid: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t\tlabel: __( 'Clear Media' ),\n\t\t\t\t\t\t\t\t\t\t\tonPress: onClearMedia,\n\t\t\t\t\t\t\t\t\t\t\tseparated: true,\n\t\t\t\t\t\t\t\t\t\t\tvalue: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\tonImageDataLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\t\t\tstyle={ imagePreviewStyles }\n\t\t\t\t\t\t\t\t\twidth={ styles.image?.width }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Video\n\t\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\t\tpaused\n\t\t\t\t\t\t\t\t\tdisableFocus\n\t\t\t\t\t\t\t\t\tonLoadStart={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\t} = event.naturalSize;\n\t\t\t\t\t\t\t\t\t\tsetVideoNaturalSize( {\n\t\t\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t\t// Avoid invisible, paused video on Android, presumably\n\t\t\t\t\t\t\t\t\t\t// related to https://git.io/Jt6Dr\n\t\t\t\t\t\t\t\t\t\tvideoRef?.current.seek( 0 );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tref={ videoRef }\n\t\t\t\t\t\t\t\t\tresizeMode={ 'cover' }\n\t\t\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t\t\tstyle={ videoPreviewStyles }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPlaceholder ? null : focalPointHint }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t<FocalPointSettingsButton\n\t\t\t\t\t\tdisabled={ hasParallax }\n\t\t\t\t\t\tfocalPoint={ focalPoint || IMAGE_DEFAULT_FOCAL_POINT }\n\t\t\t\t\t\tonFocalPointChange={ setFocalPoint }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t/>\n\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\tlabel={ __( 'Clear Media' ) }\n\t\t\t\t\t\tlabelStyle={ styles.clearMediaButton }\n\t\t\t\t\t\tonPress={ onClearMedia }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<TextControl\n\t\t\t\t\taccessibilityLabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabelStyle={ addMediaButtonStyle }\n\t\t\t\t\tleftAlign\n\t\t\t\t\tonPress={ openMediaOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ ! hasOnlyColorBackground }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\trender={ renderMediaSection }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<OverlayColorSettings\n\t\t\t\toverlayColor={ attributes.overlayColor }\n\t\t\t\tcustomOverlayColor={ attributes.customOverlayColor }\n\t\t\t\tgradient={ attributes.gradient }\n\t\t\t\tcustomGradient={ attributes.customGradient }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\n\t\t\t{ url ? (\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tminimumValue={ 0 }\n\t\t\t\t\t\tmaximumValue={ 100 }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ onOpacityChange }\n\t\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\t\tseparatorType={ 'topFullWidth' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) : null }\n\n\t\t\t<PanelBody title={ __( 'Dimensions' ) }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tmin={ minHeightUnit === 'px' ? COVER_MIN_HEIGHT : 1 }\n\t\t\t\t\tmax={ COVER_MAX_HEIGHT }\n\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\tvalue={ CONTAINER_HEIGHT }\n\t\t\t\t\tonChange={ onHeightChange }\n\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\tkey={ minHeightUnit }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default Controls;\n"]}
|