@wordpress/block-library 8.8.0 → 8.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/comment-author-name/edit.js +1 -1
- package/build/comment-author-name/edit.js.map +1 -1
- package/build/comment-edit-link/edit.js +1 -1
- package/build/comment-edit-link/edit.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/index.js +1 -1
- package/build/cover/transforms.js +10 -7
- package/build/cover/transforms.js.map +1 -1
- package/build/cover/variations.js +1 -1
- package/build/cover/variations.js.map +1 -1
- package/build/details/edit.js +19 -5
- package/build/details/edit.js.map +1 -1
- package/build/details/index.js +14 -10
- package/build/details/index.js.map +1 -1
- package/build/details/save.js +4 -1
- package/build/details/save.js.map +1 -1
- package/build/embed/variations.js +2 -2
- package/build/embed/variations.js.map +1 -1
- package/build/file/view.js +1 -1
- package/build/file/view.js.map +1 -1
- package/build/gallery/edit.js +2 -8
- package/build/gallery/edit.js.map +1 -1
- package/build/group/edit.js +3 -1
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +3 -0
- package/build/group/index.js.map +1 -1
- package/build/image/edit.js +16 -13
- package/build/image/edit.js.map +1 -1
- package/build/image/index.js +1 -1
- package/build/index.js +0 -6
- package/build/index.js.map +1 -1
- package/build/index.native.js +10 -6
- package/build/index.native.js.map +1 -1
- package/build/list-item/utils.js +5 -1
- package/build/list-item/utils.js.map +1 -1
- package/build/loginout/index.js +11 -1
- package/build/loginout/index.js.map +1 -1
- package/build/media-text/edit.js +4 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +3 -0
- package/build/media-text/index.js.map +1 -1
- package/build/navigation/constants.js +13 -0
- package/build/navigation/constants.js.map +1 -0
- package/build/navigation/edit/index.js +26 -68
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +4 -7
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +4 -6
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/interactivity.js +139 -0
- package/build/navigation/interactivity.js.map +1 -0
- package/build/navigation-link/edit.js +1 -1
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +1 -1
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/paragraph/index.js +5 -1
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +5 -1
- package/build/paragraph/transforms.js.map +1 -1
- package/build/post-author-name/edit.js +1 -1
- package/build/post-author-name/edit.js.map +1 -1
- package/build/post-date/edit.js +4 -2
- package/build/post-date/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +2 -2
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +6 -4
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/overlay.js +5 -0
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/post-title/edit.js +14 -4
- package/build/post-title/edit.js.map +1 -1
- package/build/preformatted/edit.native.js +3 -2
- package/build/preformatted/edit.native.js.map +1 -1
- package/build/query/deprecated.js +8 -6
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/inspector-controls/create-new-post-link.js +41 -0
- package/build/query/edit/inspector-controls/create-new-post-link.js.map +1 -0
- package/build/query/edit/inspector-controls/index.js +14 -6
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js +2 -1
- package/build/query/edit/pattern-selection-modal.js.map +1 -1
- package/build/query/index.js +5 -12
- package/build/query/index.js.map +1 -1
- package/build/quote/transforms.js +16 -27
- package/build/quote/transforms.js.map +1 -1
- package/build/read-more/edit.js +1 -1
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +9 -1
- package/build/search/edit.js.map +1 -1
- package/build/site-logo/edit.js +114 -16
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +1 -1
- package/build/site-title/edit/index.js +1 -1
- package/build/site-title/edit/index.js.map +1 -1
- package/build/social-link/icons/chain.js +1 -1
- package/build/social-link/icons/chain.js.map +1 -1
- package/build/social-link/icons/mail.js +1 -1
- package/build/social-link/icons/mail.js.map +1 -1
- package/build/social-links/edit.js +2 -2
- package/build/social-links/edit.js.map +1 -1
- package/build/spacer/edit.js +117 -11
- package/build/spacer/edit.js.map +1 -1
- package/build/template-part/edit/index.js +2 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +2 -2
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/utils/interactivity/constants.js +9 -0
- package/build/utils/interactivity/constants.js.map +1 -0
- package/build/utils/interactivity/directives.js +208 -0
- package/build/utils/interactivity/directives.js.map +1 -0
- package/build/utils/interactivity/hooks.js +112 -0
- package/build/utils/interactivity/hooks.js.map +1 -0
- package/build/utils/interactivity/hydration.js +34 -0
- package/build/utils/interactivity/hydration.js.map +1 -0
- package/build/utils/interactivity/index.js +34 -0
- package/build/utils/interactivity/index.js.map +1 -0
- package/build/utils/interactivity/store.js +67 -0
- package/build/utils/interactivity/store.js.map +1 -0
- package/build/utils/interactivity/utils.js +87 -0
- package/build/utils/interactivity/utils.js.map +1 -0
- package/build/utils/interactivity/vdom.js +109 -0
- package/build/utils/interactivity/vdom.js.map +1 -0
- package/build/utils/migrate-font-family.js +12 -5
- package/build/utils/migrate-font-family.js.map +1 -1
- package/build/video/edit.native.js +4 -3
- package/build/video/edit.native.js.map +1 -1
- package/build-module/comment-author-name/edit.js +1 -1
- package/build-module/comment-author-name/edit.js.map +1 -1
- package/build-module/comment-edit-link/edit.js +1 -1
- package/build-module/comment-edit-link/edit.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/index.js +1 -1
- package/build-module/cover/transforms.js +5 -1
- package/build-module/cover/transforms.js.map +1 -1
- package/build-module/cover/variations.js +1 -1
- package/build-module/cover/variations.js.map +1 -1
- package/build-module/details/edit.js +20 -6
- package/build-module/details/edit.js.map +1 -1
- package/build-module/details/index.js +14 -10
- package/build-module/details/index.js.map +1 -1
- package/build-module/details/save.js +5 -2
- package/build-module/details/save.js.map +1 -1
- package/build-module/embed/variations.js +2 -2
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/file/view.js +1 -1
- package/build-module/file/view.js.map +1 -1
- package/build-module/gallery/edit.js +2 -8
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/group/edit.js +3 -1
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +3 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/image/edit.js +16 -13
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/index.js +1 -1
- package/build-module/index.js +0 -4
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +10 -6
- package/build-module/index.native.js.map +1 -1
- package/build-module/list-item/utils.js +5 -1
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/loginout/index.js +11 -1
- package/build-module/loginout/index.js.map +1 -1
- package/build-module/media-text/edit.js +4 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +3 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/navigation/constants.js +5 -0
- package/build-module/navigation/constants.js.map +1 -0
- package/build-module/navigation/edit/index.js +28 -69
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +1 -4
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +1 -4
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/interactivity.js +136 -0
- package/build-module/navigation/interactivity.js.map +1 -0
- package/build-module/navigation-link/edit.js +1 -1
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +1 -1
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/paragraph/index.js +5 -1
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +5 -1
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/post-author-name/edit.js +1 -1
- package/build-module/post-author-name/edit.js.map +1 -1
- package/build-module/post-date/edit.js +4 -2
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +2 -2
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +6 -4
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/overlay.js +5 -0
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/post-title/edit.js +13 -4
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/preformatted/edit.native.js +3 -2
- package/build-module/preformatted/edit.native.js.map +1 -1
- package/build-module/query/deprecated.js +5 -2
- package/build-module/query/deprecated.js.map +1 -1
- package/build-module/query/edit/inspector-controls/create-new-post-link.js +33 -0
- package/build-module/query/edit/inspector-controls/create-new-post-link.js.map +1 -0
- package/build-module/query/edit/inspector-controls/index.js +12 -7
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/pattern-selection-modal.js +2 -1
- package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
- package/build-module/query/index.js +5 -10
- package/build-module/query/index.js.map +1 -1
- package/build-module/quote/transforms.js +16 -27
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/read-more/edit.js +1 -1
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +9 -1
- package/build-module/search/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +115 -18
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +1 -1
- package/build-module/site-title/edit/index.js +1 -1
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/social-link/icons/chain.js +1 -1
- package/build-module/social-link/icons/chain.js.map +1 -1
- package/build-module/social-link/icons/mail.js +1 -1
- package/build-module/social-link/icons/mail.js.map +1 -1
- package/build-module/social-links/edit.js +2 -2
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/spacer/edit.js +118 -12
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/template-part/edit/index.js +2 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +2 -2
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/utils/interactivity/constants.js +2 -0
- package/build-module/utils/interactivity/constants.js.map +1 -0
- package/build-module/utils/interactivity/directives.js +193 -0
- package/build-module/utils/interactivity/directives.js.map +1 -0
- package/build-module/utils/interactivity/hooks.js +98 -0
- package/build-module/utils/interactivity/hooks.js.map +1 -0
- package/build-module/utils/interactivity/hydration.js +21 -0
- package/build-module/utils/interactivity/hydration.js.map +1 -0
- package/build-module/utils/interactivity/index.js +17 -0
- package/build-module/utils/interactivity/index.js.map +1 -0
- package/build-module/utils/interactivity/store.js +56 -0
- package/build-module/utils/interactivity/store.js.map +1 -0
- package/build-module/utils/interactivity/utils.js +75 -0
- package/build-module/utils/interactivity/utils.js.map +1 -0
- package/build-module/utils/interactivity/vdom.js +97 -0
- package/build-module/utils/interactivity/vdom.js.map +1 -0
- package/build-module/utils/migrate-font-family.js +9 -1
- package/build-module/utils/migrate-font-family.js.map +1 -1
- package/build-module/video/edit.native.js +4 -3
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/cover/editor-rtl.css +3 -3
- package/build-style/cover/editor.css +3 -3
- package/build-style/cover/style-rtl.css +2 -1
- package/build-style/cover/style.css +2 -1
- package/build-style/{details-summary → details}/editor-rtl.css +1 -1
- package/build-style/{details-summary → details}/editor.css +1 -1
- package/build-style/details/style-rtl.css +14 -0
- package/build-style/details/style.css +14 -0
- package/build-style/editor-rtl.css +74 -39
- package/build-style/editor.css +74 -39
- package/build-style/gallery/editor-rtl.css +0 -4
- package/build-style/gallery/editor.css +0 -4
- package/build-style/html/editor-rtl.css +2 -2
- package/build-style/html/editor.css +2 -2
- package/build-style/image/editor-rtl.css +1 -1
- package/build-style/image/editor.css +1 -1
- package/build-style/query/editor-rtl.css +8 -12
- package/build-style/query/editor.css +8 -12
- package/build-style/search/editor-rtl.css +1 -0
- package/build-style/search/editor.css +1 -0
- package/build-style/search/style-rtl.css +2 -0
- package/build-style/search/style.css +2 -0
- package/build-style/shortcode/editor-rtl.css +3 -4
- package/build-style/shortcode/editor.css +3 -4
- package/build-style/site-logo/editor-rtl.css +47 -0
- package/build-style/site-logo/editor.css +47 -0
- package/build-style/style-rtl.css +15 -2
- package/build-style/style.css +15 -2
- package/build-style/template-part/editor-rtl.css +8 -12
- package/build-style/template-part/editor.css +8 -12
- package/package.json +36 -32
- package/src/buttons/test/__snapshots__/edit.native.js.snap +18 -0
- package/src/buttons/test/edit.native.js +123 -2
- package/src/comment-author-name/edit.js +1 -1
- package/src/comment-edit-link/edit.js +1 -1
- package/src/comment-template/index.php +8 -7
- package/src/cover/block.json +1 -1
- package/src/cover/edit/inspector-controls.js +56 -54
- package/src/cover/editor.scss +1 -1
- package/src/cover/style.scss +4 -0
- package/src/cover/test/edit.js +56 -2
- package/src/cover/transforms.js +4 -1
- package/src/cover/variations.js +1 -3
- package/src/details/block.json +8 -6
- package/src/details/edit.js +27 -5
- package/src/details/editor.scss +3 -0
- package/src/details/index.js +10 -5
- package/src/details/save.js +5 -1
- package/src/details/style.scss +16 -0
- package/src/editor.scss +1 -1
- package/src/embed/variations.js +2 -2
- package/src/file/view.js +4 -1
- package/src/gallery/edit.js +5 -8
- package/src/gallery/editor.scss +0 -6
- package/src/gallery/test/index.native.js +52 -7
- package/src/group/block.json +3 -0
- package/src/group/edit.js +8 -2
- package/src/heading/test/__snapshots__/index.native.js.snap +12 -0
- package/src/heading/test/index.native.js +71 -0
- package/src/html/editor.scss +2 -21
- package/src/image/block.json +1 -1
- package/src/image/edit.js +21 -17
- package/src/image/editor.scss +1 -1
- package/src/image/test/edit.native.js +38 -16
- package/src/index.js +0 -4
- package/src/index.native.js +10 -5
- package/src/list/test/edit.native.js +7 -7
- package/src/loginout/block.json +11 -1
- package/src/media-text/block.json +3 -0
- package/src/media-text/edit.js +2 -1
- package/src/navigation/constants.js +16 -0
- package/src/navigation/edit/index.js +77 -163
- package/src/navigation/edit/inner-blocks.js +1 -16
- package/src/navigation/edit/unsaved-inner-blocks.js +1 -16
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
- package/src/navigation/index.php +210 -197
- package/src/navigation/interactivity.js +144 -0
- package/src/navigation-link/edit.js +1 -1
- package/src/navigation-submenu/edit.js +1 -1
- package/src/paragraph/block.json +5 -1
- package/src/paragraph/test/edit.native.js +288 -28
- package/src/post-author-name/edit.js +1 -1
- package/src/post-date/edit.js +4 -0
- package/src/post-date/index.php +17 -8
- package/src/post-excerpt/edit.js +1 -1
- package/src/post-featured-image/edit.js +5 -4
- package/src/post-featured-image/overlay.js +4 -0
- package/src/post-terms/index.php +2 -2
- package/src/post-title/edit.js +8 -1
- package/src/preformatted/edit.native.js +1 -3
- package/src/preformatted/test/edit.native.js +6 -9
- package/src/pullquote/test/edit.native.js +7 -12
- package/src/query/deprecated.js +4 -1
- package/src/query/edit/inspector-controls/create-new-post-link.js +26 -0
- package/src/query/edit/inspector-controls/index.js +13 -6
- package/src/query/edit/pattern-selection-modal.js +1 -0
- package/src/query/editor.scss +8 -11
- package/src/query/index.js +1 -7
- package/src/quote/test/edit.native.js +6 -10
- package/src/quote/transforms.js +0 -6
- package/src/read-more/edit.js +1 -1
- package/src/search/edit.js +9 -4
- package/src/search/editor.scss +1 -0
- package/src/search/style.scss +3 -0
- package/src/shortcode/editor.scss +1 -21
- package/src/site-logo/block.json +1 -1
- package/src/site-logo/edit.js +123 -9
- package/src/site-logo/editor.scss +58 -0
- package/src/site-title/edit/index.js +1 -1
- package/src/social-link/icons/chain.js +1 -1
- package/src/social-link/icons/mail.js +1 -1
- package/src/social-link/index.php +2 -2
- package/src/social-links/edit.js +33 -31
- package/src/spacer/edit.js +157 -18
- package/src/style.scss +0 -1
- package/src/template-part/edit/index.js +1 -0
- package/src/template-part/edit/utils/hooks.js +2 -2
- package/src/template-part/editor.scss +9 -11
- package/src/template-part/index.php +20 -5
- package/src/utils/interactivity/constants.js +1 -0
- package/src/utils/interactivity/directives.js +179 -0
- package/src/utils/interactivity/hooks.js +76 -0
- package/src/utils/interactivity/hydration.js +22 -0
- package/src/utils/interactivity/index.js +17 -0
- package/src/utils/interactivity/store.js +45 -0
- package/src/utils/interactivity/utils.js +66 -0
- package/src/utils/interactivity/vdom.js +94 -0
- package/src/utils/migrate-font-family.js +8 -1
- package/src/verse/test/edit.native.js +4 -9
- package/src/video/edit.native.js +2 -2
- package/tsconfig.json +2 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/details-content/edit.js +0 -34
- package/build/details-content/edit.js.map +0 -1
- package/build/details-content/index.js +0 -94
- package/build/details-content/index.js.map +0 -1
- package/build/details-content/save.js +0 -20
- package/build/details-content/save.js.map +0 -1
- package/build/details-summary/edit.js +0 -42
- package/build/details-summary/edit.js.map +0 -1
- package/build/details-summary/index.js +0 -97
- package/build/details-summary/index.js.map +0 -1
- package/build/details-summary/save.js +0 -24
- package/build/details-summary/save.js.map +0 -1
- package/build/query/hooks.js +0 -72
- package/build/query/hooks.js.map +0 -1
- package/build/utils/clean-empty-object.js +0 -37
- package/build/utils/clean-empty-object.js.map +0 -1
- package/build-module/details-content/edit.js +0 -23
- package/build-module/details-content/edit.js.map +0 -1
- package/build-module/details-content/index.js +0 -76
- package/build-module/details-content/index.js.map +0 -1
- package/build-module/details-content/save.js +0 -11
- package/build-module/details-content/save.js.map +0 -1
- package/build-module/details-summary/edit.js +0 -30
- package/build-module/details-summary/edit.js.map +0 -1
- package/build-module/details-summary/index.js +0 -79
- package/build-module/details-summary/index.js.map +0 -1
- package/build-module/details-summary/save.js +0 -16
- package/build-module/details-summary/save.js.map +0 -1
- package/build-module/query/hooks.js +0 -59
- package/build-module/query/hooks.js.map +0 -1
- package/build-module/utils/clean-empty-object.js +0 -28
- package/build-module/utils/clean-empty-object.js.map +0 -1
- package/build-style/details-summary/style-rtl.css +0 -91
- package/build-style/details-summary/style.css +0 -91
- package/src/details-content/block.json +0 -50
- package/src/details-content/edit.js +0 -29
- package/src/details-content/index.js +0 -23
- package/src/details-content/save.js +0 -12
- package/src/details-summary/block.json +0 -53
- package/src/details-summary/edit.js +0 -27
- package/src/details-summary/editor.scss +0 -3
- package/src/details-summary/index.js +0 -23
- package/src/details-summary/save.js +0 -13
- package/src/details-summary/style.scss +0 -3
- package/src/query/hooks.js +0 -53
- package/src/utils/clean-empty-object.js +0 -28
|
@@ -187,7 +187,7 @@ function SocialLinksEdit(props) {
|
|
|
187
187
|
}, entry.name);
|
|
188
188
|
}));
|
|
189
189
|
})), (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
|
|
190
|
-
title: (0, _i18n.__)('
|
|
190
|
+
title: (0, _i18n.__)('Settings')
|
|
191
191
|
}, (0, _element.createElement)(_components.ToggleControl, {
|
|
192
192
|
__nextHasNoMarginBottom: true,
|
|
193
193
|
label: (0, _i18n.__)('Open links in new tab'),
|
|
@@ -202,7 +202,7 @@ function SocialLinksEdit(props) {
|
|
|
202
202
|
onChange: () => setAttributes({
|
|
203
203
|
showLabels: !showLabels
|
|
204
204
|
})
|
|
205
|
-
}))), (0, _element.createElement)(_blockEditor.InspectorControls, {
|
|
205
|
+
}))), colorGradientSettings.hasColorsOrGradients && (0, _element.createElement)(_blockEditor.InspectorControls, {
|
|
206
206
|
group: "color"
|
|
207
207
|
}, colorSettings.map(_ref2 => {
|
|
208
208
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/social-links/edit.js"],"names":["ALLOWED_BLOCKS","sizeOptions","name","value","SocialLinksEdit","props","clientId","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","customIconBackgroundColor","iconColorValue","openInNewTab","showLabels","size","logosOnly","className","includes","backgroundBackup","current","undefined","SocialPlaceholder","SelectedSocialPlaceholder","color","blockProps","innerBlocksProps","allowedBlocks","placeholder","templateLock","orientation","layout","__experimentalAppenderTagName","POPOVER_PROPS","position","colorSettings","onChange","colorValue","label","resetAllFilter","push","colorGradientSettings","onClose","map","entry","check","onColorChange","isShownByDefault","enableAlpha","textColor","backgroundColor","iconColorAttributes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\twithColors,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPanelBody,\n\tToggleControl,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check } from '@wordpress/icons';\n\nconst ALLOWED_BLOCKS = [ 'core/social-link' ];\n\nconst sizeOptions = [\n\t{ name: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ name: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ name: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ name: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\tcustomIconBackgroundColor,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t} = attributes;\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tconst backgroundBackup = useRef( {} );\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tbackgroundBackup.current = {\n\t\t\t\ticonBackgroundColor,\n\t\t\t\ticonBackgroundColorValue,\n\t\t\t\tcustomIconBackgroundColor,\n\t\t\t};\n\t\t\tsetAttributes( {\n\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( { ...backgroundBackup.current } );\n\t\t}\n\t}, [ logosOnly ] );\n\n\tconst SocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-placeholder\">\n\t\t\t<div className=\"wp-block-social-links__social-placeholder-icons\">\n\t\t\t\t<div className=\"wp-social-link wp-social-link-twitter\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-facebook\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-instagram\"></div>\n\t\t\t</div>\n\t\t</li>\n\t);\n\n\tconst SelectedSocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-prompt\">\n\t\t\t{ __( 'Click plus to add' ) }\n\t\t</li>\n\t);\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = classNames( size, {\n\t\t'has-visible-labels': showLabels,\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\tplaceholder: isSelected ? SelectedSocialPlaceholder : SocialPlaceholder,\n\t\ttemplateLock: false,\n\t\torientation: attributes.layout?.orientation ?? 'horizontal',\n\t\t__experimentalAppenderTagName: 'li',\n\t} );\n\n\tconst POPOVER_PROPS = {\n\t\tposition: 'bottom right',\n\t};\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconColor( undefined );\n\t\t\t\tsetAttributes( { iconColorValue: undefined } );\n\t\t\t},\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconBackgroundColor( undefined );\n\t\t\t\tsetAttributes( { iconBackgroundColorValue: undefined } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\ttext={ __( 'Size' ) }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ sizeOptions.map( ( entry ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t( size === entry.value ||\n\t\t\t\t\t\t\t\t\t\t\t\t( ! size &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry.value ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'has-normal-icon-size' ) ) &&\n\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisSelected={ size === entry.value }\n\t\t\t\t\t\t\t\t\t\tkey={ entry.value }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tsize: entry.value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ entry.name }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: ! openInNewTab } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show labels' ) }\n\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ colorSettings.map(\n\t\t\t\t\t( { onChange, label, value, resetAllFilter } ) => (\n\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\tkey={ `social-links-color-${ label }` }\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcolorValue: value,\n\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\tonColorChange: onChange,\n\t\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\t\tresetAllFilter,\n\t\t\t\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t) }\n\t\t\t\t{ ! logosOnly && (\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/social-links/edit.js"],"names":["ALLOWED_BLOCKS","sizeOptions","name","value","SocialLinksEdit","props","clientId","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","customIconBackgroundColor","iconColorValue","openInNewTab","showLabels","size","logosOnly","className","includes","backgroundBackup","current","undefined","SocialPlaceholder","SelectedSocialPlaceholder","color","blockProps","innerBlocksProps","allowedBlocks","placeholder","templateLock","orientation","layout","__experimentalAppenderTagName","POPOVER_PROPS","position","colorSettings","onChange","colorValue","label","resetAllFilter","push","colorGradientSettings","onClose","map","entry","check","hasColorsOrGradients","onColorChange","isShownByDefault","enableAlpha","textColor","backgroundColor","iconColorAttributes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\twithColors,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPanelBody,\n\tToggleControl,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check } from '@wordpress/icons';\n\nconst ALLOWED_BLOCKS = [ 'core/social-link' ];\n\nconst sizeOptions = [\n\t{ name: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ name: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ name: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ name: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\tcustomIconBackgroundColor,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t} = attributes;\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tconst backgroundBackup = useRef( {} );\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tbackgroundBackup.current = {\n\t\t\t\ticonBackgroundColor,\n\t\t\t\ticonBackgroundColorValue,\n\t\t\t\tcustomIconBackgroundColor,\n\t\t\t};\n\t\t\tsetAttributes( {\n\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( { ...backgroundBackup.current } );\n\t\t}\n\t}, [ logosOnly ] );\n\n\tconst SocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-placeholder\">\n\t\t\t<div className=\"wp-block-social-links__social-placeholder-icons\">\n\t\t\t\t<div className=\"wp-social-link wp-social-link-twitter\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-facebook\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-instagram\"></div>\n\t\t\t</div>\n\t\t</li>\n\t);\n\n\tconst SelectedSocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-prompt\">\n\t\t\t{ __( 'Click plus to add' ) }\n\t\t</li>\n\t);\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = classNames( size, {\n\t\t'has-visible-labels': showLabels,\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\tplaceholder: isSelected ? SelectedSocialPlaceholder : SocialPlaceholder,\n\t\ttemplateLock: false,\n\t\torientation: attributes.layout?.orientation ?? 'horizontal',\n\t\t__experimentalAppenderTagName: 'li',\n\t} );\n\n\tconst POPOVER_PROPS = {\n\t\tposition: 'bottom right',\n\t};\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconColor( undefined );\n\t\t\t\tsetAttributes( { iconColorValue: undefined } );\n\t\t\t},\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconBackgroundColor( undefined );\n\t\t\t\tsetAttributes( { iconBackgroundColorValue: undefined } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\ttext={ __( 'Size' ) }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ sizeOptions.map( ( entry ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t( size === entry.value ||\n\t\t\t\t\t\t\t\t\t\t\t\t( ! size &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry.value ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'has-normal-icon-size' ) ) &&\n\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisSelected={ size === entry.value }\n\t\t\t\t\t\t\t\t\t\tkey={ entry.value }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tsize: entry.value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ entry.name }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: ! openInNewTab } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show labels' ) }\n\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t{ colorSettings.map(\n\t\t\t\t\t\t( { onChange, label, value, resetAllFilter } ) => (\n\t\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\t\tkey={ `social-links-color-${ label }` }\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcolorValue: value,\n\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\tonColorChange: onChange,\n\t\t\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\t\t\tresetAllFilter,\n\t\t\t\t\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! logosOnly && (\n\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"]}
|
package/build/spacer/edit.js
CHANGED
|
@@ -109,14 +109,25 @@ const SpacerEdit = _ref2 => {
|
|
|
109
109
|
const {
|
|
110
110
|
orientation: parentOrientation,
|
|
111
111
|
type
|
|
112
|
-
} = parentLayout || {}; //
|
|
112
|
+
} = parentLayout || {}; // Check if the spacer is inside a flex container.
|
|
113
|
+
|
|
114
|
+
const isFlexLayout = type === 'flex'; // If the spacer is inside a flex container, it should either inherit the orientation
|
|
113
115
|
// of the parent or use the flex default orientation.
|
|
114
116
|
|
|
115
|
-
const inheritedOrientation = !parentOrientation &&
|
|
117
|
+
const inheritedOrientation = !parentOrientation && isFlexLayout ? 'horizontal' : parentOrientation || orientation;
|
|
116
118
|
const {
|
|
117
119
|
height,
|
|
118
|
-
width
|
|
120
|
+
width,
|
|
121
|
+
style: blockStyle = {}
|
|
119
122
|
} = attributes;
|
|
123
|
+
const {
|
|
124
|
+
layout = {}
|
|
125
|
+
} = blockStyle;
|
|
126
|
+
const {
|
|
127
|
+
selfStretch,
|
|
128
|
+
flexSize
|
|
129
|
+
} = layout;
|
|
130
|
+
const spacingSizes = (0, _blockEditor.useSetting)('spacing.spacingSizes');
|
|
120
131
|
const [isResizing, setIsResizing] = (0, _element.useState)(false);
|
|
121
132
|
const [temporaryHeight, setTemporaryHeight] = (0, _element.useState)(null);
|
|
122
133
|
const [temporaryWidth, setTemporaryWidth] = (0, _element.useState)(null);
|
|
@@ -127,6 +138,18 @@ const SpacerEdit = _ref2 => {
|
|
|
127
138
|
|
|
128
139
|
const handleOnVerticalResizeStop = newHeight => {
|
|
129
140
|
onResizeStop();
|
|
141
|
+
|
|
142
|
+
if (isFlexLayout) {
|
|
143
|
+
setAttributes({
|
|
144
|
+
style: { ...blockStyle,
|
|
145
|
+
layout: { ...layout,
|
|
146
|
+
flexSize: newHeight,
|
|
147
|
+
selfStretch: 'fixed'
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
|
|
130
153
|
setAttributes({
|
|
131
154
|
height: newHeight
|
|
132
155
|
});
|
|
@@ -135,17 +158,50 @@ const SpacerEdit = _ref2 => {
|
|
|
135
158
|
|
|
136
159
|
const handleOnHorizontalResizeStop = newWidth => {
|
|
137
160
|
onResizeStop();
|
|
161
|
+
|
|
162
|
+
if (isFlexLayout) {
|
|
163
|
+
setAttributes({
|
|
164
|
+
style: { ...blockStyle,
|
|
165
|
+
layout: { ...layout,
|
|
166
|
+
flexSize: newWidth,
|
|
167
|
+
selfStretch: 'fixed'
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
|
|
138
173
|
setAttributes({
|
|
139
174
|
width: newWidth
|
|
140
175
|
});
|
|
141
176
|
setTemporaryWidth(null);
|
|
142
177
|
};
|
|
143
178
|
|
|
179
|
+
const getHeightForVerticalBlocks = () => {
|
|
180
|
+
if (isFlexLayout) {
|
|
181
|
+
return undefined;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
return temporaryHeight || (0, _blockEditor.getSpacingPresetCssVar)(height) || undefined;
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
const getWidthForHorizontalBlocks = () => {
|
|
188
|
+
if (isFlexLayout) {
|
|
189
|
+
return undefined;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
return temporaryWidth || (0, _blockEditor.getSpacingPresetCssVar)(width) || undefined;
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
const sizeConditionalOnOrientation = inheritedOrientation === 'horizontal' ? temporaryWidth || flexSize : temporaryHeight || flexSize;
|
|
144
196
|
const style = {
|
|
145
|
-
height: inheritedOrientation === 'horizontal' ? 24 :
|
|
146
|
-
width: inheritedOrientation === 'horizontal' ?
|
|
197
|
+
height: inheritedOrientation === 'horizontal' ? 24 : getHeightForVerticalBlocks(),
|
|
198
|
+
width: inheritedOrientation === 'horizontal' ? getWidthForHorizontalBlocks() : undefined,
|
|
147
199
|
// In vertical flex containers, the spacer shrinks to nothing without a minimum width.
|
|
148
|
-
minWidth: inheritedOrientation === 'vertical' &&
|
|
200
|
+
minWidth: inheritedOrientation === 'vertical' && isFlexLayout ? 48 : undefined,
|
|
201
|
+
// Add flex-basis so temporary sizes are respected.
|
|
202
|
+
flexBasis: isFlexLayout ? sizeConditionalOnOrientation : undefined,
|
|
203
|
+
// Remove flex-grow when resizing.
|
|
204
|
+
flexGrow: isFlexLayout && isResizing ? 0 : undefined
|
|
149
205
|
};
|
|
150
206
|
|
|
151
207
|
const resizableBoxWithOrientation = blockOrientation => {
|
|
@@ -195,19 +251,69 @@ const SpacerEdit = _ref2 => {
|
|
|
195
251
|
};
|
|
196
252
|
|
|
197
253
|
(0, _element.useEffect)(() => {
|
|
198
|
-
if (
|
|
254
|
+
if (isFlexLayout && selfStretch !== 'fill' && selfStretch !== 'fit' && !flexSize) {
|
|
255
|
+
if (inheritedOrientation === 'horizontal') {
|
|
256
|
+
// If spacer is moving from a vertical container to a horizontal container,
|
|
257
|
+
// it might not have width but have height instead.
|
|
258
|
+
const newSize = (0, _blockEditor.getCustomValueFromPreset)(width, spacingSizes) || (0, _blockEditor.getCustomValueFromPreset)(height, spacingSizes) || '100px';
|
|
259
|
+
setAttributes({
|
|
260
|
+
width: '0px',
|
|
261
|
+
style: { ...blockStyle,
|
|
262
|
+
layout: { ...layout,
|
|
263
|
+
flexSize: newSize,
|
|
264
|
+
selfStretch: 'fixed'
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
} else {
|
|
269
|
+
const newSize = (0, _blockEditor.getCustomValueFromPreset)(height, spacingSizes) || (0, _blockEditor.getCustomValueFromPreset)(width, spacingSizes) || '100px';
|
|
270
|
+
setAttributes({
|
|
271
|
+
height: '0px',
|
|
272
|
+
style: { ...blockStyle,
|
|
273
|
+
layout: { ...layout,
|
|
274
|
+
flexSize: newSize,
|
|
275
|
+
selfStretch: 'fixed'
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
} else if (isFlexLayout && (selfStretch === 'fill' || selfStretch === 'fit')) {
|
|
281
|
+
if (inheritedOrientation === 'horizontal') {
|
|
282
|
+
setAttributes({
|
|
283
|
+
width: undefined
|
|
284
|
+
});
|
|
285
|
+
} else {
|
|
286
|
+
setAttributes({
|
|
287
|
+
height: undefined
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
} else if (!isFlexLayout && (selfStretch || flexSize)) {
|
|
291
|
+
if (inheritedOrientation === 'horizontal') {
|
|
292
|
+
setAttributes({
|
|
293
|
+
width: flexSize
|
|
294
|
+
});
|
|
295
|
+
} else {
|
|
296
|
+
setAttributes({
|
|
297
|
+
height: flexSize
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
|
|
199
301
|
setAttributes({
|
|
200
|
-
|
|
201
|
-
|
|
302
|
+
style: { ...blockStyle,
|
|
303
|
+
layout: { ...layout,
|
|
304
|
+
flexSize: undefined,
|
|
305
|
+
selfStretch: undefined
|
|
306
|
+
}
|
|
307
|
+
}
|
|
202
308
|
});
|
|
203
309
|
}
|
|
204
|
-
}, []);
|
|
310
|
+
}, [blockStyle, flexSize, height, inheritedOrientation, isFlexLayout, layout, selfStretch, setAttributes, spacingSizes, width]);
|
|
205
311
|
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_primitives.View, (0, _blockEditor.useBlockProps)({
|
|
206
312
|
style,
|
|
207
313
|
className: (0, _classnames.default)(className, {
|
|
208
314
|
'custom-sizes-disabled': disableCustomSpacingSizes
|
|
209
315
|
})
|
|
210
|
-
}), resizableBoxWithOrientation(inheritedOrientation)), (0, _element.createElement)(_controls.default, {
|
|
316
|
+
}), resizableBoxWithOrientation(inheritedOrientation)), !isFlexLayout && (0, _element.createElement)(_controls.default, {
|
|
211
317
|
setAttributes: setAttributes,
|
|
212
318
|
height: temporaryHeight || height,
|
|
213
319
|
width: temporaryWidth || width,
|
package/build/spacer/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/spacer/edit.js"],"names":["ResizableSpacer","orientation","onResizeStart","onResize","onResizeStop","isSelected","isResizing","setIsResizing","props","getCurrentSize","elt","clientWidth","clientHeight","getNextVal","_event","_direction","nextVal","axis","position","isVisible","SpacerEdit","attributes","setAttributes","toggleSelection","context","__unstableParentLayout","parentLayout","className","disableCustomSpacingSizes","select","editorSettings","blockEditorStore","getSettings","parentOrientation","type","inheritedOrientation","height","width","temporaryHeight","setTemporaryHeight","temporaryWidth","setTemporaryWidth","handleOnVerticalResizeStop","newHeight","handleOnHorizontalResizeStop","newWidth","style","undefined","minWidth","resizableBoxWithOrientation","blockOrientation","MIN_SPACER_SIZE","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tgetSpacingPresetCssVar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ResizableBox } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport { View } from '@wordpress/primitives';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SpacerControls from './controls';\nimport { MIN_SPACER_SIZE } from './constants';\n\nconst ResizableSpacer = ( {\n\torientation,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\tisSelected,\n\tisResizing,\n\tsetIsResizing,\n\t...props\n} ) => {\n\tconst getCurrentSize = ( elt ) => {\n\t\treturn orientation === 'horizontal'\n\t\t\t? elt.clientWidth\n\t\t\t: elt.clientHeight;\n\t};\n\n\tconst getNextVal = ( elt ) => {\n\t\treturn `${ getCurrentSize( elt ) }px`;\n\t};\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( 'block-library-spacer__resize-container', {\n\t\t\t\t'resize-horizontal': orientation === 'horizontal',\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getNextVal( elt );\n\t\t\t\tonResizeStart( nextVal );\n\t\t\t\tonResize( nextVal );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( getNextVal( elt ) );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getCurrentSize( elt );\n\t\t\t\tonResizeStop( `${ nextVal }px` );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t__experimentalShowTooltip={ true }\n\t\t\t__experimentalTooltipProps={ {\n\t\t\t\taxis: orientation === 'horizontal' ? 'x' : 'y',\n\t\t\t\tposition: 'corner',\n\t\t\t\tisVisible: isResizing,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\n\nconst SpacerEdit = ( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\ttoggleSelection,\n\tcontext,\n\t__unstableParentLayout: parentLayout,\n\tclassName,\n} ) => {\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\tconst { orientation } = context;\n\tconst { orientation: parentOrientation, type } = parentLayout || {};\n\t// If the spacer is inside a flex container, it should either inherit the orientation\n\t// of the parent or use the flex default orientation.\n\tconst inheritedOrientation =\n\t\t! parentOrientation && type === 'flex'\n\t\t\t? 'horizontal'\n\t\t\t: parentOrientation || orientation;\n\tconst { height, width } = attributes;\n\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ temporaryHeight, setTemporaryHeight ] = useState( null );\n\tconst [ temporaryWidth, setTemporaryWidth ] = useState( null );\n\n\tconst onResizeStart = () => toggleSelection( false );\n\tconst onResizeStop = () => toggleSelection( true );\n\n\tconst handleOnVerticalResizeStop = ( newHeight ) => {\n\t\tonResizeStop();\n\n\t\tsetAttributes( { height: newHeight } );\n\t\tsetTemporaryHeight( null );\n\t};\n\n\tconst handleOnHorizontalResizeStop = ( newWidth ) => {\n\t\tonResizeStop();\n\t\tsetAttributes( { width: newWidth } );\n\t\tsetTemporaryWidth( null );\n\t};\n\n\tconst style = {\n\t\theight:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? 24\n\t\t\t\t: temporaryHeight ||\n\t\t\t\t getSpacingPresetCssVar( height ) ||\n\t\t\t\t undefined,\n\t\twidth:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? temporaryWidth || getSpacingPresetCssVar( width ) || undefined\n\t\t\t\t: undefined,\n\t\t// In vertical flex containers, the spacer shrinks to nothing without a minimum width.\n\t\tminWidth:\n\t\t\tinheritedOrientation === 'vertical' && type === 'flex'\n\t\t\t\t? 48\n\t\t\t\t: undefined,\n\t};\n\n\tconst resizableBoxWithOrientation = ( blockOrientation ) => {\n\t\tif ( blockOrientation === 'horizontal' ) {\n\t\t\treturn (\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminWidth={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: true,\n\t\t\t\t\t\tbottom: false,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryWidth }\n\t\t\t\t\tonResizeStop={ handleOnHorizontalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminHeight={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: false,\n\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryHeight }\n\t\t\t\t\tonResizeStop={ handleOnVerticalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tif ( inheritedOrientation === 'horizontal' && ! width ) {\n\t\t\tsetAttributes( {\n\t\t\t\theight: '0px',\n\t\t\t\twidth: '72px',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<View\n\t\t\t\t{ ...useBlockProps( {\n\t\t\t\t\tstyle,\n\t\t\t\t\tclassName: classnames( className, {\n\t\t\t\t\t\t'custom-sizes-disabled': disableCustomSpacingSizes,\n\t\t\t\t\t} ),\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ resizableBoxWithOrientation( inheritedOrientation ) }\n\t\t\t</View>\n\t\t\t<SpacerControls\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\theight={ temporaryHeight || height }\n\t\t\t\twidth={ temporaryWidth || width }\n\t\t\t\torientation={ inheritedOrientation }\n\t\t\t\tisResizing={ isResizing }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default SpacerEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/spacer/edit.js"],"names":["ResizableSpacer","orientation","onResizeStart","onResize","onResizeStop","isSelected","isResizing","setIsResizing","props","getCurrentSize","elt","clientWidth","clientHeight","getNextVal","_event","_direction","nextVal","axis","position","isVisible","SpacerEdit","attributes","setAttributes","toggleSelection","context","__unstableParentLayout","parentLayout","className","disableCustomSpacingSizes","select","editorSettings","blockEditorStore","getSettings","parentOrientation","type","isFlexLayout","inheritedOrientation","height","width","style","blockStyle","layout","selfStretch","flexSize","spacingSizes","temporaryHeight","setTemporaryHeight","temporaryWidth","setTemporaryWidth","handleOnVerticalResizeStop","newHeight","handleOnHorizontalResizeStop","newWidth","getHeightForVerticalBlocks","undefined","getWidthForHorizontalBlocks","sizeConditionalOnOrientation","minWidth","flexBasis","flexGrow","resizableBoxWithOrientation","blockOrientation","MIN_SPACER_SIZE","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","newSize"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseSetting,\n\tgetCustomValueFromPreset,\n\tgetSpacingPresetCssVar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ResizableBox } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport { View } from '@wordpress/primitives';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SpacerControls from './controls';\nimport { MIN_SPACER_SIZE } from './constants';\n\nconst ResizableSpacer = ( {\n\torientation,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\tisSelected,\n\tisResizing,\n\tsetIsResizing,\n\t...props\n} ) => {\n\tconst getCurrentSize = ( elt ) => {\n\t\treturn orientation === 'horizontal'\n\t\t\t? elt.clientWidth\n\t\t\t: elt.clientHeight;\n\t};\n\n\tconst getNextVal = ( elt ) => {\n\t\treturn `${ getCurrentSize( elt ) }px`;\n\t};\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( 'block-library-spacer__resize-container', {\n\t\t\t\t'resize-horizontal': orientation === 'horizontal',\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getNextVal( elt );\n\t\t\t\tonResizeStart( nextVal );\n\t\t\t\tonResize( nextVal );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( getNextVal( elt ) );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getCurrentSize( elt );\n\t\t\t\tonResizeStop( `${ nextVal }px` );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t__experimentalShowTooltip={ true }\n\t\t\t__experimentalTooltipProps={ {\n\t\t\t\taxis: orientation === 'horizontal' ? 'x' : 'y',\n\t\t\t\tposition: 'corner',\n\t\t\t\tisVisible: isResizing,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\n\nconst SpacerEdit = ( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\ttoggleSelection,\n\tcontext,\n\t__unstableParentLayout: parentLayout,\n\tclassName,\n} ) => {\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\tconst { orientation } = context;\n\tconst { orientation: parentOrientation, type } = parentLayout || {};\n\t// Check if the spacer is inside a flex container.\n\tconst isFlexLayout = type === 'flex';\n\t// If the spacer is inside a flex container, it should either inherit the orientation\n\t// of the parent or use the flex default orientation.\n\tconst inheritedOrientation =\n\t\t! parentOrientation && isFlexLayout\n\t\t\t? 'horizontal'\n\t\t\t: parentOrientation || orientation;\n\tconst { height, width, style: blockStyle = {} } = attributes;\n\n\tconst { layout = {} } = blockStyle;\n\tconst { selfStretch, flexSize } = layout;\n\n\tconst spacingSizes = useSetting( 'spacing.spacingSizes' );\n\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ temporaryHeight, setTemporaryHeight ] = useState( null );\n\tconst [ temporaryWidth, setTemporaryWidth ] = useState( null );\n\n\tconst onResizeStart = () => toggleSelection( false );\n\tconst onResizeStop = () => toggleSelection( true );\n\n\tconst handleOnVerticalResizeStop = ( newHeight ) => {\n\t\tonResizeStop();\n\n\t\tif ( isFlexLayout ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: newHeight,\n\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tsetAttributes( { height: newHeight } );\n\t\tsetTemporaryHeight( null );\n\t};\n\n\tconst handleOnHorizontalResizeStop = ( newWidth ) => {\n\t\tonResizeStop();\n\n\t\tif ( isFlexLayout ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: newWidth,\n\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tsetAttributes( { width: newWidth } );\n\t\tsetTemporaryWidth( null );\n\t};\n\n\tconst getHeightForVerticalBlocks = () => {\n\t\tif ( isFlexLayout ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn temporaryHeight || getSpacingPresetCssVar( height ) || undefined;\n\t};\n\n\tconst getWidthForHorizontalBlocks = () => {\n\t\tif ( isFlexLayout ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn temporaryWidth || getSpacingPresetCssVar( width ) || undefined;\n\t};\n\n\tconst sizeConditionalOnOrientation =\n\t\tinheritedOrientation === 'horizontal'\n\t\t\t? temporaryWidth || flexSize\n\t\t\t: temporaryHeight || flexSize;\n\n\tconst style = {\n\t\theight:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? 24\n\t\t\t\t: getHeightForVerticalBlocks(),\n\t\twidth:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? getWidthForHorizontalBlocks()\n\t\t\t\t: undefined,\n\t\t// In vertical flex containers, the spacer shrinks to nothing without a minimum width.\n\t\tminWidth:\n\t\t\tinheritedOrientation === 'vertical' && isFlexLayout\n\t\t\t\t? 48\n\t\t\t\t: undefined,\n\t\t// Add flex-basis so temporary sizes are respected.\n\t\tflexBasis: isFlexLayout ? sizeConditionalOnOrientation : undefined,\n\t\t// Remove flex-grow when resizing.\n\t\tflexGrow: isFlexLayout && isResizing ? 0 : undefined,\n\t};\n\n\tconst resizableBoxWithOrientation = ( blockOrientation ) => {\n\t\tif ( blockOrientation === 'horizontal' ) {\n\t\t\treturn (\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminWidth={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: true,\n\t\t\t\t\t\tbottom: false,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryWidth }\n\t\t\t\t\tonResizeStop={ handleOnHorizontalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminHeight={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: false,\n\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryHeight }\n\t\t\t\t\tonResizeStop={ handleOnVerticalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisFlexLayout &&\n\t\t\tselfStretch !== 'fill' &&\n\t\t\tselfStretch !== 'fit' &&\n\t\t\t! flexSize\n\t\t) {\n\t\t\tif ( inheritedOrientation === 'horizontal' ) {\n\t\t\t\t// If spacer is moving from a vertical container to a horizontal container,\n\t\t\t\t// it might not have width but have height instead.\n\t\t\t\tconst newSize =\n\t\t\t\t\tgetCustomValueFromPreset( width, spacingSizes ) ||\n\t\t\t\t\tgetCustomValueFromPreset( height, spacingSizes ) ||\n\t\t\t\t\t'100px';\n\t\t\t\tsetAttributes( {\n\t\t\t\t\twidth: '0px',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...blockStyle,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\tflexSize: newSize,\n\t\t\t\t\t\t\tselfStretch: 'fixed',\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\tconst newSize =\n\t\t\t\t\tgetCustomValueFromPreset( height, spacingSizes ) ||\n\t\t\t\t\tgetCustomValueFromPreset( width, spacingSizes ) ||\n\t\t\t\t\t'100px';\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: '0px',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...blockStyle,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\tflexSize: newSize,\n\t\t\t\t\t\t\tselfStretch: 'fixed',\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} else if (\n\t\t\tisFlexLayout &&\n\t\t\t( selfStretch === 'fill' || selfStretch === 'fit' )\n\t\t) {\n\t\t\tif ( inheritedOrientation === 'horizontal' ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t} else if ( ! isFlexLayout && ( selfStretch || flexSize ) ) {\n\t\t\tif ( inheritedOrientation === 'horizontal' ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\twidth: flexSize,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: flexSize,\n\t\t\t\t} );\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: undefined,\n\t\t\t\t\t\tselfStretch: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tblockStyle,\n\t\tflexSize,\n\t\theight,\n\t\tinheritedOrientation,\n\t\tisFlexLayout,\n\t\tlayout,\n\t\tselfStretch,\n\t\tsetAttributes,\n\t\tspacingSizes,\n\t\twidth,\n\t] );\n\n\treturn (\n\t\t<>\n\t\t\t<View\n\t\t\t\t{ ...useBlockProps( {\n\t\t\t\t\tstyle,\n\t\t\t\t\tclassName: classnames( className, {\n\t\t\t\t\t\t'custom-sizes-disabled': disableCustomSpacingSizes,\n\t\t\t\t\t} ),\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ resizableBoxWithOrientation( inheritedOrientation ) }\n\t\t\t</View>\n\t\t\t{ ! isFlexLayout && (\n\t\t\t\t<SpacerControls\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\theight={ temporaryHeight || height }\n\t\t\t\t\twidth={ temporaryWidth || width }\n\t\t\t\t\torientation={ inheritedOrientation }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default SpacerEdit;\n"]}
|
|
@@ -148,7 +148,8 @@ function TemplatePartEdit(_ref) {
|
|
|
148
148
|
overlayClassName: "block-editor-template-part__selection-modal",
|
|
149
149
|
title: (0, _i18n.sprintf)( // Translators: %s as template part area title ("Header", "Footer", etc.).
|
|
150
150
|
(0, _i18n.__)('Choose a %s'), areaObject.label.toLowerCase()),
|
|
151
|
-
onRequestClose: () => setIsTemplatePartSelectionOpen(false)
|
|
151
|
+
onRequestClose: () => setIsTemplatePartSelectionOpen(false),
|
|
152
|
+
isFullScreen: true
|
|
152
153
|
}, (0, _element.createElement)(_selectionModal.default, {
|
|
153
154
|
templatePartId: templatePartId,
|
|
154
155
|
clientId: clientId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"names":["TemplatePartEdit","attributes","setAttributes","clientId","isSelected","slug","theme","tagName","layout","templatePartId","hasAlreadyRendered","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","isResolved","innerBlocks","isMissing","area","select","getEditedEntityRecord","hasFinishedResolution","coreStore","getBlocks","blockEditorStore","getEntityArgs","entityRecord","_area","hasResolvedEntity","templateParts","blockPatterns","hasReplacements","length","areaObject","blockProps","isPlaceholder","isEntityAvailable","TagName","canReplace","BlockTitle","label","toLowerCase"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tBlockTitle,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n} from '@wordpress/block-editor';\nimport { Spinner, Modal, MenuItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n} ) {\n\tconst { slug, theme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst { isResolved, innerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing: hasResolvedEntity && isEmpty( entityRecord ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, clientId ]\n\t);\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\t// The `isSelected` check ensures the `BlockSettingsMenuControls` fill\n\t// doesn't render multiple times. The block controls has similar internal check.\n\tconst canReplace =\n\t\tisSelected &&\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\tinnerBlocks.length === 0 &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t/>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t{ canReplace && (\n\t\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t__( 'Replace <BlockTitle />' ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tBlockTitle: (\n\t\t\t\t\t\t\t\t\t\t\t<BlockTitle\n\t\t\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\t\t\tmaximumLength={ 25 }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</BlockSettingsMenuControls>\n\t\t\t\t) }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"names":["TemplatePartEdit","attributes","setAttributes","clientId","isSelected","slug","theme","tagName","layout","templatePartId","hasAlreadyRendered","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","isResolved","innerBlocks","isMissing","area","select","getEditedEntityRecord","hasFinishedResolution","coreStore","getBlocks","blockEditorStore","getEntityArgs","entityRecord","_area","hasResolvedEntity","templateParts","blockPatterns","hasReplacements","length","areaObject","blockProps","isPlaceholder","isEntityAvailable","TagName","canReplace","BlockTitle","label","toLowerCase"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tBlockTitle,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n} from '@wordpress/block-editor';\nimport { Spinner, Modal, MenuItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n} ) {\n\tconst { slug, theme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst { isResolved, innerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing: hasResolvedEntity && isEmpty( entityRecord ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, clientId ]\n\t);\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\t// The `isSelected` check ensures the `BlockSettingsMenuControls` fill\n\t// doesn't render multiple times. The block controls has similar internal check.\n\tconst canReplace =\n\t\tisSelected &&\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\tinnerBlocks.length === 0 &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t/>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t{ canReplace && (\n\t\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t__( 'Replace <BlockTitle />' ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tBlockTitle: (\n\t\t\t\t\t\t\t\t\t\t\t<BlockTitle\n\t\t\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\t\t\tmaximumLength={ 25 }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</BlockSettingsMenuControls>\n\t\t\t\t) }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen={ true }\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -58,7 +58,7 @@ function useAlternativeTemplateParts(area, excludedId) {
|
|
|
58
58
|
};
|
|
59
59
|
return {
|
|
60
60
|
templateParts: getEntityRecords('postType', 'wp_template_part', query),
|
|
61
|
-
|
|
61
|
+
isResolving: _isResolving('getEntityRecords', ['postType', 'wp_template_part', query])
|
|
62
62
|
};
|
|
63
63
|
}, []);
|
|
64
64
|
const filteredTemplateParts = (0, _element.useMemo)(() => {
|
|
@@ -67,7 +67,7 @@ function useAlternativeTemplateParts(area, excludedId) {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
return templateParts.filter(templatePart => (0, _createTemplatePartId.createTemplatePartId)(templatePart.theme, templatePart.slug) !== excludedId && (!area || 'uncategorized' === area || templatePart.area === area)) || [];
|
|
70
|
-
}, [templateParts, area]);
|
|
70
|
+
}, [templateParts, area, excludedId]);
|
|
71
71
|
return {
|
|
72
72
|
templateParts: filteredTemplateParts,
|
|
73
73
|
isResolving
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/template-part/edit/utils/hooks.js"],"names":["useAlternativeTemplateParts","area","excludedId","templateParts","isResolving","select","getEntityRecords","_isResolving","coreStore","query","per_page","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/template-part/edit/utils/hooks.js"],"names":["useAlternativeTemplateParts","area","excludedId","templateParts","isResolving","select","getEntityRecords","_isResolving","coreStore","query","per_page","filteredTemplateParts","filter","templatePart","theme","slug","useAlternativeBlockPatterns","clientId","blockNameWithArea","getBlockRootClientId","getPatternsByBlockTypes","blockEditorStore","rootClientId","useCreateTemplatePartFromBlocks","setAttributes","saveEntityRecord","blocks","title","cleanSlug","replace","record","content","undefined","useTemplatePartArea","definedAreas","__experimentalGetDefaultTemplatePartAreas","selectedArea","find","definedArea","defaultArea","icon","label","tagName","area_tag"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { serialize } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { createTemplatePartId } from './create-template-part-id';\n\n/**\n * Retrieves the available template parts for the given area.\n *\n * @param {string} area Template part area.\n * @param {string} excludedId Template part ID to exclude.\n *\n * @return {{ templateParts: Array, isResolving: boolean }} array of template parts.\n */\nexport function useAlternativeTemplateParts( area, excludedId ) {\n\tconst { templateParts, isResolving } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords, isResolving: _isResolving } =\n\t\t\tselect( coreStore );\n\t\tconst query = { per_page: -1 };\n\t\treturn {\n\t\t\ttemplateParts: getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tquery\n\t\t\t),\n\t\t\tisResolving: _isResolving( 'getEntityRecords', [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tquery,\n\t\t\t] ),\n\t\t};\n\t}, [] );\n\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tif ( ! templateParts ) {\n\t\t\treturn [];\n\t\t}\n\t\treturn (\n\t\t\ttemplateParts.filter(\n\t\t\t\t( templatePart ) =>\n\t\t\t\t\tcreateTemplatePartId(\n\t\t\t\t\t\ttemplatePart.theme,\n\t\t\t\t\t\ttemplatePart.slug\n\t\t\t\t\t) !== excludedId &&\n\t\t\t\t\t( ! area ||\n\t\t\t\t\t\t'uncategorized' === area ||\n\t\t\t\t\t\ttemplatePart.area === area )\n\t\t\t) || []\n\t\t);\n\t}, [ templateParts, area, excludedId ] );\n\n\treturn {\n\t\ttemplateParts: filteredTemplateParts,\n\t\tisResolving,\n\t};\n}\n\n/**\n * Retrieves the available block patterns for the given area.\n *\n * @param {string} area Template part area.\n * @param {string} clientId Block Client ID. (The container of the block can impact allowed blocks).\n *\n * @return {Array} array of block patterns.\n */\nexport function useAlternativeBlockPatterns( area, clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst blockNameWithArea = area\n\t\t\t\t? `core/template-part/${ area }`\n\t\t\t\t: 'core/template-part';\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\treturn getPatternsByBlockTypes( blockNameWithArea, rootClientId );\n\t\t},\n\t\t[ area, clientId ]\n\t);\n}\n\nexport function useCreateTemplatePartFromBlocks( area, setAttributes ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\treturn async ( blocks = [], title = __( 'Untitled Template Part' ) ) => {\n\t\t// Currently template parts only allow latin chars.\n\t\t// Fallback slug will receive suffix by default.\n\t\tconst cleanSlug =\n\t\t\tkebabCase( title ).replace( /[^\\w-]+/g, '' ) || 'wp-custom-part';\n\n\t\t// If we have `area` set from block attributes, means an exposed\n\t\t// block variation was inserted. So add this prop to the template\n\t\t// part entity on creation. Afterwards remove `area` value from\n\t\t// block attributes.\n\t\tconst record = {\n\t\t\ttitle,\n\t\t\tslug: cleanSlug,\n\t\t\tcontent: serialize( blocks ),\n\t\t\t// `area` is filterable on the server and defaults to `UNCATEGORIZED`\n\t\t\t// if provided value is not allowed.\n\t\t\tarea,\n\t\t};\n\t\tconst templatePart = await saveEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\trecord\n\t\t);\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\n\t\t} );\n\t};\n}\n\n/**\n * Retrieves the template part area object.\n *\n * @param {string} area Template part area identifier.\n *\n * @return {{icon: Object, label: string, tagName: string}} Template Part area.\n */\nexport function useTemplatePartArea( area ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t\t/* eslint-disable @wordpress/data-no-store-string-literals */\n\t\t\tconst definedAreas =\n\t\t\t\tselect(\n\t\t\t\t\t'core/editor'\n\t\t\t\t).__experimentalGetDefaultTemplatePartAreas();\n\t\t\t/* eslint-enable @wordpress/data-no-store-string-literals */\n\n\t\t\tconst selectedArea = definedAreas.find(\n\t\t\t\t( definedArea ) => definedArea.area === area\n\t\t\t);\n\t\t\tconst defaultArea = definedAreas.find(\n\t\t\t\t( definedArea ) => definedArea.area === 'uncategorized'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ticon: selectedArea?.icon || defaultArea?.icon,\n\t\t\t\tlabel: selectedArea?.label || __( 'Template Part' ),\n\t\t\t\ttagName: selectedArea?.area_tag ?? 'div',\n\t\t\t};\n\t\t},\n\t\t[ area ]\n\t);\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/utils/interactivity/constants.js"],"names":["directivePrefix"],"mappings":";;;;;;AAAO,MAAMA,eAAe,GAAG,UAAxB","sourcesContent":["export const directivePrefix = 'data-wp-';\n"]}
|