@wordpress/block-library 7.10.0 → 7.11.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/button/edit.js +2 -1
- package/build/button/edit.js.map +1 -1
- package/build/buttons/edit.js +1 -1
- package/build/buttons/edit.js.map +1 -1
- package/build/columns/edit.native.js +1 -1
- package/build/columns/edit.native.js.map +1 -1
- package/build/comments/edit/comments-legacy.js +73 -0
- package/build/comments/edit/comments-legacy.js.map +1 -0
- package/build/comments/{edit.js → edit/index.js} +17 -38
- package/build/comments/edit/index.js.map +1 -0
- package/build/comments/edit/placeholder.js +117 -0
- package/build/comments/edit/placeholder.js.map +1 -0
- package/build/comments/edit/template.js +39 -0
- package/build/comments/edit/template.js.map +1 -0
- package/build/comments/index.js +6 -1
- package/build/comments/index.js.map +1 -1
- package/build/comments/save.js +12 -4
- package/build/comments/save.js.map +1 -1
- package/build/cover/transforms.js +3 -2
- package/build/cover/transforms.js.map +1 -1
- package/build/embed/embed-placeholder.native.js +1 -3
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/gallery/edit.js +2 -2
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/use-get-media.native.js +59 -0
- package/build/gallery/use-get-media.native.js.map +1 -0
- package/build/group/index.js +1 -0
- package/build/group/index.js.map +1 -1
- package/build/group/variations.js +1 -1
- package/build/group/variations.js.map +1 -1
- package/build/image/deprecated.js +77 -9
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.js +3 -1
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +18 -8
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +27 -20
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +7 -1
- package/build/image/index.js.map +1 -1
- package/build/image/save.js +8 -2
- package/build/image/save.js.map +1 -1
- package/build/index.js +1 -3
- package/build/index.js.map +1 -1
- package/build/index.native.js +3 -13
- package/build/index.native.js.map +1 -1
- package/build/list/transforms.js +4 -63
- package/build/list/transforms.js.map +1 -1
- package/build/list/v2/transforms.js +0 -27
- package/build/list/v2/transforms.js.map +1 -1
- package/build/list-item/edit.js +14 -9
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/index.js +8 -8
- package/build/list-item/hooks/index.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +174 -0
- package/build/list-item/hooks/use-merge.js.map +1 -0
- package/build/list-item/hooks/use-outdent-list-item.js +86 -50
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/utils.js +125 -1
- package/build/list-item/utils.js.map +1 -1
- package/build/media-text/deprecated.js +134 -7
- package/build/media-text/deprecated.js.map +1 -1
- package/build/media-text/edit.js +2 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/save.js +13 -0
- package/build/media-text/save.js.map +1 -1
- package/build/more/save.js +1 -7
- package/build/more/save.js.map +1 -1
- package/build/navigation-link/edit.js +5 -4
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +2 -1
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +8 -1
- package/build/page-list/edit.js.map +1 -1
- package/build/paragraph/edit.js +7 -11
- package/build/paragraph/edit.js.map +1 -1
- package/build/post-comments-form/edit.js +4 -45
- package/build/post-comments-form/edit.js.map +1 -1
- package/build/post-comments-form/form.js +47 -3
- package/build/post-comments-form/form.js.map +1 -1
- package/build/post-terms/edit.js +3 -2
- package/build/post-terms/edit.js.map +1 -1
- package/build/query-no-results/edit.js +1 -1
- package/build/query-no-results/edit.js.map +1 -1
- package/build/query-pagination-next/edit.js +2 -1
- package/build/query-pagination-next/edit.js.map +1 -1
- package/build/query-pagination-previous/edit.js +2 -1
- package/build/query-pagination-previous/edit.js.map +1 -1
- package/build/quote/deprecated.js +168 -36
- package/build/quote/deprecated.js.map +1 -1
- package/build/quote/edit.js +76 -39
- package/build/quote/edit.js.map +1 -1
- package/build/quote/index.js +9 -45
- package/build/quote/index.js.map +1 -1
- package/build/quote/save.js +1 -5
- package/build/quote/save.js.map +1 -1
- package/build/quote/transforms.js +110 -158
- package/build/quote/transforms.js.map +1 -1
- package/build/social-link/icons/index.js +13 -0
- package/build/social-link/icons/index.js.map +1 -1
- package/build/social-link/icons/whatsapp.js +25 -0
- package/build/social-link/icons/whatsapp.js.map +1 -0
- package/build/social-link/variations.js +7 -0
- package/build/social-link/variations.js.map +1 -1
- package/build/template-part/edit/index.js +17 -8
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +33 -13
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/search.js +94 -0
- package/build/template-part/edit/utils/search.js.map +1 -0
- package/build-module/button/edit.js +2 -1
- package/build-module/button/edit.js.map +1 -1
- package/build-module/buttons/edit.js +2 -2
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +2 -2
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/comments/edit/comments-legacy.js +59 -0
- package/build-module/comments/edit/comments-legacy.js.map +1 -0
- package/build-module/comments/edit/index.js +37 -0
- package/build-module/comments/edit/index.js.map +1 -0
- package/build-module/comments/edit/placeholder.js +102 -0
- package/build-module/comments/edit/placeholder.js.map +1 -0
- package/build-module/comments/edit/template.js +32 -0
- package/build-module/comments/edit/template.js.map +1 -0
- package/build-module/comments/index.js +6 -1
- package/build-module/comments/index.js.map +1 -1
- package/build-module/comments/save.js +9 -4
- package/build-module/comments/save.js.map +1 -1
- package/build-module/cover/transforms.js +3 -2
- package/build-module/cover/transforms.js.map +1 -1
- package/build-module/embed/embed-placeholder.native.js +1 -2
- package/build-module/embed/embed-placeholder.native.js.map +1 -1
- package/build-module/gallery/edit.js +2 -2
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/use-get-media.native.js +50 -0
- package/build-module/gallery/use-get-media.native.js.map +1 -0
- package/build-module/group/index.js +1 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/variations.js +2 -2
- package/build-module/group/variations.js.map +1 -1
- package/build-module/image/deprecated.js +77 -9
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/edit.js +5 -3
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +18 -8
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +29 -22
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +7 -1
- package/build-module/image/index.js.map +1 -1
- package/build-module/image/save.js +9 -3
- package/build-module/image/save.js.map +1 -1
- package/build-module/index.js +1 -2
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +3 -13
- package/build-module/index.native.js.map +1 -1
- package/build-module/list/transforms.js +4 -63
- package/build-module/list/transforms.js.map +1 -1
- package/build-module/list/v2/transforms.js +2 -29
- package/build-module/list/v2/transforms.js.map +1 -1
- package/build-module/list-item/edit.js +14 -10
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/index.js +1 -1
- package/build-module/list-item/hooks/index.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +160 -0
- package/build-module/list-item/hooks/use-merge.js.map +1 -0
- package/build-module/list-item/hooks/use-outdent-list-item.js +82 -46
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/utils.js +123 -2
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/media-text/deprecated.js +134 -8
- package/build-module/media-text/deprecated.js.map +1 -1
- package/build-module/media-text/edit.js +2 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/save.js +13 -0
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/more/save.js +1 -6
- package/build-module/more/save.js.map +1 -1
- package/build-module/navigation-link/edit.js +5 -4
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +2 -1
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +8 -1
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/paragraph/edit.js +8 -12
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/post-comments-form/edit.js +5 -42
- package/build-module/post-comments-form/edit.js.map +1 -1
- package/build-module/post-comments-form/form.js +46 -5
- package/build-module/post-comments-form/form.js.map +1 -1
- package/build-module/post-terms/edit.js +3 -2
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/query-no-results/edit.js +2 -2
- package/build-module/query-no-results/edit.js.map +1 -1
- package/build-module/query-pagination-next/edit.js +2 -1
- package/build-module/query-pagination-next/edit.js.map +1 -1
- package/build-module/query-pagination-previous/edit.js +2 -1
- package/build-module/query-pagination-previous/edit.js.map +1 -1
- package/build-module/quote/deprecated.js +162 -36
- package/build-module/quote/deprecated.js.map +1 -1
- package/build-module/quote/edit.js +77 -43
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/quote/index.js +9 -39
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/save.js +4 -8
- package/build-module/quote/save.js.map +1 -1
- package/build-module/quote/transforms.js +111 -158
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/social-link/icons/index.js +1 -0
- package/build-module/social-link/icons/index.js.map +1 -1
- package/build-module/social-link/icons/whatsapp.js +15 -0
- package/build-module/social-link/icons/whatsapp.js.map +1 -0
- package/build-module/social-link/variations.js +8 -1
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/template-part/edit/index.js +20 -11
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +33 -15
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/search.js +84 -0
- package/build-module/template-part/edit/utils/search.js.map +1 -0
- package/build-style/button/style-rtl.css +1 -1
- package/build-style/button/style.css +1 -1
- package/build-style/comments/editor-rtl.css +122 -0
- package/build-style/comments/editor.css +122 -0
- package/build-style/{post-comments → comments}/style-rtl.css +1 -0
- package/build-style/{post-comments → comments}/style.css +1 -0
- package/build-style/common-rtl.css +7 -0
- package/build-style/common.css +7 -0
- package/build-style/cover/style-rtl.css +2 -2
- package/build-style/cover/style.css +2 -2
- package/build-style/{post-comments/editor.css → editor-elements-rtl.css} +8 -2
- package/build-style/{post-comments/editor-rtl.css → editor-elements.css} +8 -2
- package/build-style/editor-rtl.css +151 -10
- package/build-style/editor.css +151 -10
- package/build-style/gallery/style-rtl.css +7 -2
- package/build-style/gallery/style.css +7 -2
- package/build-style/image/editor-rtl.css +4 -3
- package/build-style/image/editor.css +4 -3
- package/build-style/image/style-rtl.css +33 -3
- package/build-style/image/style.css +33 -3
- package/build-style/post-comments-form/style-rtl.css +0 -1
- package/build-style/post-comments-form/style.css +0 -1
- package/build-style/social-link/editor-rtl.css +1 -0
- package/build-style/social-link/editor.css +1 -0
- package/build-style/social-links/style-rtl.css +8 -0
- package/build-style/social-links/style.css +8 -0
- package/build-style/style-rtl.css +170 -127
- package/build-style/style.css +170 -127
- package/build-style/template-part/editor-rtl.css +14 -3
- package/build-style/template-part/editor.css +14 -3
- package/package.json +28 -28
- package/src/button/edit.js +1 -0
- package/src/button/style.scss +3 -1
- package/src/buttons/edit.js +1 -5
- package/src/columns/edit.native.js +2 -2
- package/src/comments/block.json +6 -1
- package/src/comments/edit/comments-legacy.js +71 -0
- package/src/comments/edit/index.js +35 -0
- package/src/comments/edit/placeholder.js +124 -0
- package/src/comments/{edit.js → edit/template.js} +1 -28
- package/src/comments/editor.scss +9 -0
- package/src/comments/index.php +219 -0
- package/src/comments/save.js +8 -7
- package/src/{post-comments → comments}/style.scss +7 -0
- package/src/common.scss +2 -0
- package/src/cover/style.scss +2 -2
- package/src/cover/transforms.js +2 -2
- package/src/editor-elements.scss +10 -0
- package/src/editor.scss +2 -1
- package/src/embed/embed-placeholder.native.js +2 -3
- package/src/gallery/edit.js +4 -2
- package/src/gallery/style.scss +10 -1
- package/src/gallery/use-get-media.native.js +44 -0
- package/src/group/block.json +1 -0
- package/src/group/variations.js +2 -2
- package/src/image/block.json +7 -1
- package/src/image/deprecated.js +86 -0
- package/src/image/edit.js +6 -1
- package/src/image/edit.native.js +18 -7
- package/src/image/editor.scss +9 -4
- package/src/image/image.js +26 -16
- package/src/image/save.js +10 -1
- package/src/image/style.scss +39 -3
- package/src/index.js +0 -2
- package/src/index.native.js +2 -11
- package/src/list/transforms.js +0 -47
- package/src/list/v2/transforms.js +2 -40
- package/src/list-item/edit.js +10 -12
- package/src/list-item/hooks/index.js +1 -1
- package/src/list-item/hooks/use-merge.js +141 -0
- package/src/list-item/hooks/use-outdent-list-item.js +72 -74
- package/src/list-item/utils.js +27 -3
- package/src/media-text/deprecated.js +148 -1
- package/src/media-text/edit.js +2 -1
- package/src/media-text/save.js +18 -0
- package/src/more/save.js +3 -6
- package/src/navigation-link/edit.js +4 -3
- package/src/navigation-submenu/edit.js +1 -0
- package/src/page-list/edit.js +9 -0
- package/src/paragraph/edit.js +8 -14
- package/src/post-comments-form/edit.js +2 -71
- package/src/post-comments-form/form.js +80 -5
- package/src/post-comments-form/index.php +1 -1
- package/src/post-comments-form/style.scss +0 -1
- package/src/post-terms/edit.js +3 -2
- package/src/query-no-results/edit.js +2 -5
- package/src/query-pagination-next/edit.js +1 -0
- package/src/query-pagination-previous/edit.js +1 -0
- package/src/quote/deprecated.js +213 -99
- package/src/quote/edit.js +77 -52
- package/src/quote/index.js +10 -33
- package/src/quote/save.js +5 -5
- package/src/quote/{v2/test → test}/migrate.js +2 -7
- package/src/quote/transforms.js +117 -147
- package/src/social-link/editor.scss +3 -0
- package/src/social-link/icons/index.js +1 -0
- package/src/social-link/icons/whatsapp.js +10 -0
- package/src/social-link/index.php +4 -0
- package/src/social-link/socials-with-bg.scss +5 -0
- package/src/social-link/socials-without-bg.scss +5 -0
- package/src/social-link/variations.js +7 -0
- package/src/style.scss +1 -2
- package/src/template-part/edit/index.js +37 -24
- package/src/template-part/edit/selection-modal.js +68 -40
- package/src/template-part/edit/utils/search.js +76 -0
- package/src/template-part/editor.scss +21 -9
- package/src/template-part/index.php +56 -2
- package/build/comments/edit.js.map +0 -1
- package/build/list-item/hooks/use-backspace.js +0 -59
- package/build/list-item/hooks/use-backspace.js.map +0 -1
- package/build/post-comments/edit.js +0 -184
- package/build/post-comments/edit.js.map +0 -1
- package/build/post-comments/index.js +0 -72
- package/build/post-comments/index.js.map +0 -1
- package/build/quote/v2/deprecated.js +0 -133
- package/build/quote/v2/deprecated.js.map +0 -1
- package/build/quote/v2/edit.js +0 -139
- package/build/quote/v2/edit.js.map +0 -1
- package/build/quote/v2/index.js +0 -49
- package/build/quote/v2/index.js.map +0 -1
- package/build/quote/v2/save.js +0 -43
- package/build/quote/v2/save.js.map +0 -1
- package/build/quote/v2/transforms.js +0 -156
- package/build/quote/v2/transforms.js.map +0 -1
- package/build-module/comments/edit.js +0 -59
- package/build-module/comments/edit.js.map +0 -1
- package/build-module/list-item/hooks/use-backspace.js +0 -44
- package/build-module/list-item/hooks/use-backspace.js.map +0 -1
- package/build-module/post-comments/edit.js +0 -171
- package/build-module/post-comments/edit.js.map +0 -1
- package/build-module/post-comments/index.js +0 -59
- package/build-module/post-comments/index.js.map +0 -1
- package/build-module/quote/v2/deprecated.js +0 -116
- package/build-module/quote/v2/deprecated.js.map +0 -1
- package/build-module/quote/v2/edit.js +0 -122
- package/build-module/quote/v2/edit.js.map +0 -1
- package/build-module/quote/v2/index.js +0 -33
- package/build-module/quote/v2/index.js.map +0 -1
- package/build-module/quote/v2/save.js +0 -30
- package/build-module/quote/v2/save.js.map +0 -1
- package/build-module/quote/v2/transforms.js +0 -147
- package/build-module/quote/v2/transforms.js.map +0 -1
- package/src/list-item/hooks/use-backspace.js +0 -51
- package/src/post-comments/block.json +0 -45
- package/src/post-comments/edit.js +0 -247
- package/src/post-comments/editor.scss +0 -3
- package/src/post-comments/index.js +0 -18
- package/src/post-comments/index.php +0 -87
- package/src/quote/v2/deprecated.js +0 -107
- package/src/quote/v2/edit.js +0 -139
- package/src/quote/v2/index.js +0 -36
- package/src/quote/v2/save.js +0 -26
- package/src/quote/v2/transforms.js +0 -155
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"names":["first","last","useCallback","useSelect","useDispatch","store","blockEditorStore","cloneBlock","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"names":["first","last","castArray","useCallback","useSelect","useDispatch","useRegistry","store","blockEditorStore","cloneBlock","useOutdentListItem","clientId","registry","canOutdent","innerSelect","getBlockRootClientId","grandParentId","moveBlocksToPosition","removeBlock","insertBlock","updateBlockListSettings","getBlockName","getBlockOrder","getBlockIndex","getSelectedBlockClientIds","getBlock","getBlockListSettings","getParentListItemId","id","listId","parentListItemId","listItemName","clientIds","length","firstClientId","parentListId","lastClientId","order","followingListItems","slice","batch","nestedListId","nestedListBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { first, last, castArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as listItemName } from '../block.json';\n\nexport default function useOutdentListItem( clientId ) {\n\tconst registry = useRegistry();\n\tconst { canOutdent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockRootClientId } = innerSelect( blockEditorStore );\n\t\t\tconst grandParentId = getBlockRootClientId(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcanOutdent: !! grandParentId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tinsertBlock,\n\t\tupdateBlockListSettings,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tgetBlockOrder,\n\t\tgetBlockIndex,\n\t\tgetSelectedBlockClientIds,\n\t\tgetBlock,\n\t\tgetBlockListSettings,\n\t} = useSelect( blockEditorStore );\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) return;\n\t\tif ( getBlockName( parentListItemId ) !== listItemName ) return;\n\t\treturn parentListItemId;\n\t}\n\n\treturn [\n\t\tcanOutdent,\n\t\tuseCallback( ( clientIds = getSelectedBlockClientIds() ) => {\n\t\t\tclientIds = castArray( clientIds );\n\n\t\t\tif ( ! clientIds.length ) return;\n\n\t\t\tconst firstClientId = first( clientIds );\n\n\t\t\t// Can't outdent if it's not a list item.\n\t\t\tif ( getBlockName( firstClientId ) !== listItemName ) return;\n\n\t\t\tconst parentListItemId = getParentListItemId( firstClientId );\n\n\t\t\t// Can't outdent if it's at the top level.\n\t\t\tif ( ! parentListItemId ) return;\n\n\t\t\tconst parentListId = getBlockRootClientId( firstClientId );\n\t\t\tconst lastClientId = last( clientIds );\n\t\t\tconst order = getBlockOrder( parentListId );\n\t\t\tconst followingListItems = order.slice(\n\t\t\t\tgetBlockIndex( lastClientId ) + 1\n\t\t\t);\n\n\t\t\tregistry.batch( () => {\n\t\t\t\tif ( followingListItems.length ) {\n\t\t\t\t\tlet nestedListId = first( getBlockOrder( firstClientId ) );\n\n\t\t\t\t\tif ( ! nestedListId ) {\n\t\t\t\t\t\tconst nestedListBlock = cloneBlock(\n\t\t\t\t\t\t\tgetBlock( parentListId ),\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t[]\n\t\t\t\t\t\t);\n\t\t\t\t\t\tnestedListId = nestedListBlock.clientId;\n\t\t\t\t\t\tinsertBlock( nestedListBlock, 0, firstClientId, false );\n\t\t\t\t\t\t// Immediately update the block list settings, otherwise\n\t\t\t\t\t\t// blocks can't be moved here due to canInsert checks.\n\t\t\t\t\t\tupdateBlockListSettings(\n\t\t\t\t\t\t\tnestedListId,\n\t\t\t\t\t\t\tgetBlockListSettings( parentListId )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\tfollowingListItems,\n\t\t\t\t\t\tparentListId,\n\t\t\t\t\t\tnestedListId\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\tclientIds,\n\t\t\t\t\tparentListId,\n\t\t\t\t\tgetBlockRootClientId( parentListItemId ),\n\t\t\t\t\tgetBlockIndex( parentListItemId ) + 1\n\t\t\t\t);\n\t\t\t\tif ( ! getBlockOrder( parentListId ).length ) {\n\t\t\t\t\tremoveBlock( parentListId );\n\t\t\t\t}\n\t\t\t} );\n\t\t}, [] ),\n\t];\n}\n"]}
|
|
@@ -1,8 +1,129 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { createBlock } from '@wordpress/blocks';
|
|
4
|
+
import { createBlock, switchToBlockType } from '@wordpress/blocks';
|
|
5
|
+
/**
|
|
6
|
+
* Internal dependencies
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const {
|
|
10
|
+
name: listItemName
|
|
11
|
+
} = {
|
|
12
|
+
$schema: "https://schemas.wp.org/trunk/block.json",
|
|
13
|
+
apiVersion: 2,
|
|
14
|
+
__experimental: "list-v2",
|
|
15
|
+
name: "core/list-item",
|
|
16
|
+
title: "List item",
|
|
17
|
+
category: "text",
|
|
18
|
+
parent: ["core/list"],
|
|
19
|
+
description: "Create a list item.",
|
|
20
|
+
textdomain: "default",
|
|
21
|
+
attributes: {
|
|
22
|
+
placeholder: {
|
|
23
|
+
type: "string"
|
|
24
|
+
},
|
|
25
|
+
content: {
|
|
26
|
+
type: "string",
|
|
27
|
+
source: "html",
|
|
28
|
+
selector: "li",
|
|
29
|
+
"default": "",
|
|
30
|
+
__experimentalRole: "content"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
supports: {
|
|
34
|
+
className: false,
|
|
35
|
+
__experimentalSelector: "li"
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const {
|
|
39
|
+
name: listName
|
|
40
|
+
} = {
|
|
41
|
+
$schema: "https://schemas.wp.org/trunk/block.json",
|
|
42
|
+
apiVersion: 2,
|
|
43
|
+
name: "core/list",
|
|
44
|
+
title: "List",
|
|
45
|
+
category: "text",
|
|
46
|
+
description: "Create a bulleted or numbered list.",
|
|
47
|
+
keywords: ["bullet list", "ordered list", "numbered list"],
|
|
48
|
+
textdomain: "default",
|
|
49
|
+
attributes: {
|
|
50
|
+
ordered: {
|
|
51
|
+
type: "boolean",
|
|
52
|
+
"default": false,
|
|
53
|
+
__experimentalRole: "content"
|
|
54
|
+
},
|
|
55
|
+
values: {
|
|
56
|
+
type: "string",
|
|
57
|
+
source: "html",
|
|
58
|
+
selector: "ol,ul",
|
|
59
|
+
multiline: "li",
|
|
60
|
+
__unstableMultilineWrapperTags: ["ol", "ul"],
|
|
61
|
+
"default": "",
|
|
62
|
+
__experimentalRole: "content"
|
|
63
|
+
},
|
|
64
|
+
type: {
|
|
65
|
+
type: "string"
|
|
66
|
+
},
|
|
67
|
+
start: {
|
|
68
|
+
type: "number"
|
|
69
|
+
},
|
|
70
|
+
reversed: {
|
|
71
|
+
type: "boolean"
|
|
72
|
+
},
|
|
73
|
+
placeholder: {
|
|
74
|
+
type: "string"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
supports: {
|
|
78
|
+
anchor: true,
|
|
79
|
+
className: false,
|
|
80
|
+
typography: {
|
|
81
|
+
fontSize: true,
|
|
82
|
+
__experimentalFontFamily: true,
|
|
83
|
+
lineHeight: true,
|
|
84
|
+
__experimentalFontStyle: true,
|
|
85
|
+
__experimentalFontWeight: true,
|
|
86
|
+
__experimentalLetterSpacing: true,
|
|
87
|
+
__experimentalTextTransform: true,
|
|
88
|
+
__experimentalDefaultControls: {
|
|
89
|
+
fontSize: true
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
color: {
|
|
93
|
+
gradients: true,
|
|
94
|
+
link: true,
|
|
95
|
+
__experimentalDefaultControls: {
|
|
96
|
+
background: true,
|
|
97
|
+
text: true
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
__unstablePasteTextInline: true,
|
|
101
|
+
__experimentalSelector: "ol,ul",
|
|
102
|
+
__experimentalSlashInserter: true
|
|
103
|
+
},
|
|
104
|
+
editorStyle: "wp-block-list-editor",
|
|
105
|
+
style: "wp-block-list"
|
|
106
|
+
};
|
|
5
107
|
export function createListItem(listItemAttributes, listAttributes, children) {
|
|
6
|
-
return createBlock(
|
|
108
|
+
return createBlock(listItemName, listItemAttributes, !(children !== null && children !== void 0 && children.length) ? [] : [createBlock(listName, listAttributes, children)]);
|
|
109
|
+
}
|
|
110
|
+
export function convertToListItems(blocks) {
|
|
111
|
+
const listItems = [];
|
|
112
|
+
|
|
113
|
+
for (let block of blocks) {
|
|
114
|
+
if (block.name === listItemName) {
|
|
115
|
+
listItems.push(block);
|
|
116
|
+
} else if (block.name === listName) {
|
|
117
|
+
listItems.push(...block.innerBlocks);
|
|
118
|
+
} else if (block = switchToBlockType(block, listName)) {
|
|
119
|
+
for (const {
|
|
120
|
+
innerBlocks
|
|
121
|
+
} of block) {
|
|
122
|
+
listItems.push(...innerBlocks);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return listItems;
|
|
7
128
|
}
|
|
8
129
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/list-item/utils.js"],"names":["createBlock","createListItem","listItemAttributes","listAttributes","children","length"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list-item/utils.js"],"names":["createBlock","switchToBlockType","createListItem","listItemAttributes","listAttributes","children","listItemName","length","listName","convertToListItems","blocks","listItems","block","name","push","innerBlocks"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,iBAAtB,QAA+C,mBAA/C;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,OAAO,SAASC,cAAT,CAAyBC,kBAAzB,EAA6CC,cAA7C,EAA6DC,QAA7D,EAAwE;AAC9E,SAAOL,WAAW,CACjBM,YADiB,EAEjBH,kBAFiB,EAGjB,EAAEE,QAAF,aAAEA,QAAF,eAAEA,QAAQ,CAAEE,MAAZ,IACG,EADH,GAEG,CAAEP,WAAW,CAAEQ,QAAF,EAAYJ,cAAZ,EAA4BC,QAA5B,CAAb,CALc,CAAlB;AAOA;AAED,OAAO,SAASI,kBAAT,CAA6BC,MAA7B,EAAsC;AAC5C,QAAMC,SAAS,GAAG,EAAlB;;AAEA,OAAM,IAAIC,KAAV,IAAmBF,MAAnB,EAA4B;AAC3B,QAAKE,KAAK,CAACC,IAAN,KAAeP,YAApB,EAAmC;AAClCK,MAAAA,SAAS,CAACG,IAAV,CAAgBF,KAAhB;AACA,KAFD,MAEO,IAAKA,KAAK,CAACC,IAAN,KAAeL,QAApB,EAA+B;AACrCG,MAAAA,SAAS,CAACG,IAAV,CAAgB,GAAGF,KAAK,CAACG,WAAzB;AACA,KAFM,MAEA,IAAOH,KAAK,GAAGX,iBAAiB,CAAEW,KAAF,EAASJ,QAAT,CAAhC,EAAwD;AAC9D,WAAM,MAAM;AAAEO,QAAAA;AAAF,OAAZ,IAA+BH,KAA/B,EAAuC;AACtCD,QAAAA,SAAS,CAACG,IAAV,CAAgB,GAAGC,WAAnB;AACA;AACD;AACD;;AAED,SAAOJ,SAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, switchToBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as listItemName } from './block.json';\nimport { name as listName } from '../list/block.json';\n\nexport function createListItem( listItemAttributes, listAttributes, children ) {\n\treturn createBlock(\n\t\tlistItemName,\n\t\tlistItemAttributes,\n\t\t! children?.length\n\t\t\t? []\n\t\t\t: [ createBlock( listName, listAttributes, children ) ]\n\t);\n}\n\nexport function convertToListItems( blocks ) {\n\tconst listItems = [];\n\n\tfor ( let block of blocks ) {\n\t\tif ( block.name === listItemName ) {\n\t\t\tlistItems.push( block );\n\t\t} else if ( block.name === listName ) {\n\t\t\tlistItems.push( ...block.innerBlocks );\n\t\t} else if ( ( block = switchToBlockType( block, listName ) ) ) {\n\t\t\tfor ( const { innerBlocks } of block ) {\n\t\t\t\tlistItems.push( ...innerBlocks );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn listItems;\n}\n"]}
|
|
@@ -9,12 +9,13 @@ import { isEmpty, omit } from 'lodash';
|
|
|
9
9
|
* WordPress dependencies
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { InnerBlocks, getColorClassName } from '@wordpress/block-editor';
|
|
12
|
+
import { InnerBlocks, getColorClassName, useInnerBlocksProps, useBlockProps } from '@wordpress/block-editor';
|
|
13
13
|
/**
|
|
14
14
|
* Internal dependencies
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { imageFillStyles } from './media-container';
|
|
18
|
+
import { DEFAULT_MEDIA_SIZE_SLUG } from './constants';
|
|
18
19
|
const DEFAULT_MEDIA_WIDTH = 50;
|
|
19
20
|
|
|
20
21
|
const noop = () => {};
|
|
@@ -68,7 +69,132 @@ const baseAttributes = {
|
|
|
68
69
|
default: true
|
|
69
70
|
}
|
|
70
71
|
};
|
|
71
|
-
export default [
|
|
72
|
+
export default [// Version with CSS grid
|
|
73
|
+
{
|
|
74
|
+
attributes: { ...baseAttributes,
|
|
75
|
+
mediaUrl: {
|
|
76
|
+
type: 'string',
|
|
77
|
+
source: 'attribute',
|
|
78
|
+
selector: 'figure video,figure img',
|
|
79
|
+
attribute: 'src'
|
|
80
|
+
},
|
|
81
|
+
mediaLink: {
|
|
82
|
+
type: 'string'
|
|
83
|
+
},
|
|
84
|
+
linkDestination: {
|
|
85
|
+
type: 'string'
|
|
86
|
+
},
|
|
87
|
+
linkTarget: {
|
|
88
|
+
type: 'string',
|
|
89
|
+
source: 'attribute',
|
|
90
|
+
selector: 'figure a',
|
|
91
|
+
attribute: 'target'
|
|
92
|
+
},
|
|
93
|
+
href: {
|
|
94
|
+
type: 'string',
|
|
95
|
+
source: 'attribute',
|
|
96
|
+
selector: 'figure a',
|
|
97
|
+
attribute: 'href'
|
|
98
|
+
},
|
|
99
|
+
rel: {
|
|
100
|
+
type: 'string',
|
|
101
|
+
source: 'attribute',
|
|
102
|
+
selector: 'figure a',
|
|
103
|
+
attribute: 'rel'
|
|
104
|
+
},
|
|
105
|
+
linkClass: {
|
|
106
|
+
type: 'string',
|
|
107
|
+
source: 'attribute',
|
|
108
|
+
selector: 'figure a',
|
|
109
|
+
attribute: 'class'
|
|
110
|
+
},
|
|
111
|
+
verticalAlignment: {
|
|
112
|
+
type: 'string'
|
|
113
|
+
},
|
|
114
|
+
imageFill: {
|
|
115
|
+
type: 'boolean'
|
|
116
|
+
},
|
|
117
|
+
focalPoint: {
|
|
118
|
+
type: 'object'
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
save(_ref) {
|
|
123
|
+
let {
|
|
124
|
+
attributes
|
|
125
|
+
} = _ref;
|
|
126
|
+
const {
|
|
127
|
+
isStackedOnMobile,
|
|
128
|
+
mediaAlt,
|
|
129
|
+
mediaPosition,
|
|
130
|
+
mediaType,
|
|
131
|
+
mediaUrl,
|
|
132
|
+
mediaWidth,
|
|
133
|
+
mediaId,
|
|
134
|
+
verticalAlignment,
|
|
135
|
+
imageFill,
|
|
136
|
+
focalPoint,
|
|
137
|
+
linkClass,
|
|
138
|
+
href,
|
|
139
|
+
linkTarget,
|
|
140
|
+
rel
|
|
141
|
+
} = attributes;
|
|
142
|
+
const mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
|
|
143
|
+
const newRel = isEmpty(rel) ? undefined : rel;
|
|
144
|
+
const imageClasses = classnames({
|
|
145
|
+
[`wp-image-${mediaId}`]: mediaId && mediaType === 'image',
|
|
146
|
+
[`size-${mediaSizeSlug}`]: mediaId && mediaType === 'image'
|
|
147
|
+
});
|
|
148
|
+
let image = createElement("img", {
|
|
149
|
+
src: mediaUrl,
|
|
150
|
+
alt: mediaAlt,
|
|
151
|
+
className: imageClasses || null
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
if (href) {
|
|
155
|
+
image = createElement("a", {
|
|
156
|
+
className: linkClass,
|
|
157
|
+
href: href,
|
|
158
|
+
target: linkTarget,
|
|
159
|
+
rel: newRel
|
|
160
|
+
}, image);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
const mediaTypeRenders = {
|
|
164
|
+
image: () => image,
|
|
165
|
+
video: () => createElement("video", {
|
|
166
|
+
controls: true,
|
|
167
|
+
src: mediaUrl
|
|
168
|
+
})
|
|
169
|
+
};
|
|
170
|
+
const className = classnames({
|
|
171
|
+
'has-media-on-the-right': 'right' === mediaPosition,
|
|
172
|
+
'is-stacked-on-mobile': isStackedOnMobile,
|
|
173
|
+
[`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
|
|
174
|
+
'is-image-fill': imageFill
|
|
175
|
+
});
|
|
176
|
+
const backgroundStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {};
|
|
177
|
+
let gridTemplateColumns;
|
|
178
|
+
|
|
179
|
+
if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
|
|
180
|
+
gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const style = {
|
|
184
|
+
gridTemplateColumns
|
|
185
|
+
};
|
|
186
|
+
return createElement("div", useBlockProps.save({
|
|
187
|
+
className,
|
|
188
|
+
style
|
|
189
|
+
}), createElement("figure", {
|
|
190
|
+
className: "wp-block-media-text__media",
|
|
191
|
+
style: backgroundStyles
|
|
192
|
+
}, (mediaTypeRenders[mediaType] || noop)()), createElement("div", useInnerBlocksProps.save({
|
|
193
|
+
className: 'wp-block-media-text__content'
|
|
194
|
+
})));
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
}, {
|
|
72
198
|
attributes: { ...baseAttributes,
|
|
73
199
|
customBackgroundColor: {
|
|
74
200
|
type: 'string'
|
|
@@ -115,10 +241,10 @@ export default [{
|
|
|
115
241
|
},
|
|
116
242
|
migrate: migrateCustomColors,
|
|
117
243
|
|
|
118
|
-
save(
|
|
244
|
+
save(_ref2) {
|
|
119
245
|
let {
|
|
120
246
|
attributes
|
|
121
|
-
} =
|
|
247
|
+
} = _ref2;
|
|
122
248
|
const {
|
|
123
249
|
backgroundColor,
|
|
124
250
|
customBackgroundColor,
|
|
@@ -214,10 +340,10 @@ export default [{
|
|
|
214
340
|
},
|
|
215
341
|
migrate: migrateCustomColors,
|
|
216
342
|
|
|
217
|
-
save(
|
|
343
|
+
save(_ref3) {
|
|
218
344
|
let {
|
|
219
345
|
attributes
|
|
220
|
-
} =
|
|
346
|
+
} = _ref3;
|
|
221
347
|
const {
|
|
222
348
|
backgroundColor,
|
|
223
349
|
customBackgroundColor,
|
|
@@ -286,10 +412,10 @@ export default [{
|
|
|
286
412
|
}
|
|
287
413
|
},
|
|
288
414
|
|
|
289
|
-
save(
|
|
415
|
+
save(_ref4) {
|
|
290
416
|
let {
|
|
291
417
|
attributes
|
|
292
|
-
} =
|
|
418
|
+
} = _ref4;
|
|
293
419
|
const {
|
|
294
420
|
backgroundColor,
|
|
295
421
|
customBackgroundColor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/media-text/deprecated.js"],"names":["classnames","isEmpty","omit","InnerBlocks","getColorClassName","imageFillStyles","DEFAULT_MEDIA_WIDTH","noop","migrateCustomColors","attributes","customBackgroundColor","style","color","background","baseAttributes","align","type","default","backgroundColor","mediaAlt","source","selector","attribute","mediaPosition","mediaId","mediaType","mediaWidth","isStackedOnMobile","mediaLink","linkDestination","linkTarget","href","rel","linkClass","verticalAlignment","imageFill","focalPoint","migrate","save","mediaUrl","newRel","undefined","image","mediaTypeRenders","video","backgroundClass","className","backgroundStyles","gridTemplateColumns"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,OAAT,EAAkBC,IAAlB,QAA8B,QAA9B;AAEA;AACA;AACA;;AACA,SAASC,WAAT,EAAsBC,iBAAtB,QAA+C,yBAA/C;AAEA;AACA;AACA;;AACA,SAASC,eAAT,QAAgC,mBAAhC;AAEA,MAAMC,mBAAmB,GAAG,EAA5B;;AACA,MAAMC,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEA,MAAMC,mBAAmB,GAAKC,UAAF,IAAkB;AAC7C,MAAK,CAAEA,UAAU,CAACC,qBAAlB,EAA0C;AACzC,WAAOD,UAAP;AACA;;AACD,QAAME,KAAK,GAAG;AACbC,IAAAA,KAAK,EAAE;AACNC,MAAAA,UAAU,EAAEJ,UAAU,CAACC;AADjB;AADM,GAAd;AAKA,SAAO,EACN,GAAGR,IAAI,CAAEO,UAAF,EAAc,CAAE,uBAAF,CAAd,CADD;AAENE,IAAAA;AAFM,GAAP;AAIA,CAbD;;AAeA,MAAMG,cAAc,GAAG;AACtBC,EAAAA,KAAK,EAAE;AACNC,IAAAA,IAAI,EAAE,QADA;AAENC,IAAAA,OAAO,EAAE;AAFH,GADe;AAKtBC,EAAAA,eAAe,EAAE;AAChBF,IAAAA,IAAI,EAAE;AADU,GALK;AAQtBG,EAAAA,QAAQ,EAAE;AACTH,IAAAA,IAAI,EAAE,QADG;AAETI,IAAAA,MAAM,EAAE,WAFC;AAGTC,IAAAA,QAAQ,EAAE,YAHD;AAITC,IAAAA,SAAS,EAAE,KAJF;AAKTL,IAAAA,OAAO,EAAE;AALA,GARY;AAetBM,EAAAA,aAAa,EAAE;AACdP,IAAAA,IAAI,EAAE,QADQ;AAEdC,IAAAA,OAAO,EAAE;AAFK,GAfO;AAmBtBO,EAAAA,OAAO,EAAE;AACRR,IAAAA,IAAI,EAAE;AADE,GAnBa;AAsBtBS,EAAAA,SAAS,EAAE;AACVT,IAAAA,IAAI,EAAE;AADI,GAtBW;AAyBtBU,EAAAA,UAAU,EAAE;AACXV,IAAAA,IAAI,EAAE,QADK;AAEXC,IAAAA,OAAO,EAAE;AAFE,GAzBU;AA6BtBU,EAAAA,iBAAiB,EAAE;AAClBX,IAAAA,IAAI,EAAE,SADY;AAElBC,IAAAA,OAAO,EAAE;AAFS;AA7BG,CAAvB;AAmCA,eAAe,CACd;AACCR,EAAAA,UAAU,EAAE,EACX,GAAGK,cADQ;AAEXJ,IAAAA,qBAAqB,EAAE;AACtBM,MAAAA,IAAI,EAAE;AADgB,KAFZ;AAKXY,IAAAA,SAAS,EAAE;AACVZ,MAAAA,IAAI,EAAE;AADI,KALA;AAQXa,IAAAA,eAAe,EAAE;AAChBb,MAAAA,IAAI,EAAE;AADU,KARN;AAWXc,IAAAA,UAAU,EAAE;AACXd,MAAAA,IAAI,EAAE,QADK;AAEXI,MAAAA,MAAM,EAAE,WAFG;AAGXC,MAAAA,QAAQ,EAAE,UAHC;AAIXC,MAAAA,SAAS,EAAE;AAJA,KAXD;AAiBXS,IAAAA,IAAI,EAAE;AACLf,MAAAA,IAAI,EAAE,QADD;AAELI,MAAAA,MAAM,EAAE,WAFH;AAGLC,MAAAA,QAAQ,EAAE,UAHL;AAILC,MAAAA,SAAS,EAAE;AAJN,KAjBK;AAuBXU,IAAAA,GAAG,EAAE;AACJhB,MAAAA,IAAI,EAAE,QADF;AAEJI,MAAAA,MAAM,EAAE,WAFJ;AAGJC,MAAAA,QAAQ,EAAE,UAHN;AAIJC,MAAAA,SAAS,EAAE;AAJP,KAvBM;AA6BXW,IAAAA,SAAS,EAAE;AACVjB,MAAAA,IAAI,EAAE,QADI;AAEVI,MAAAA,MAAM,EAAE,WAFE;AAGVC,MAAAA,QAAQ,EAAE,UAHA;AAIVC,MAAAA,SAAS,EAAE;AAJD,KA7BA;AAmCXY,IAAAA,iBAAiB,EAAE;AAClBlB,MAAAA,IAAI,EAAE;AADY,KAnCR;AAsCXmB,IAAAA,SAAS,EAAE;AACVnB,MAAAA,IAAI,EAAE;AADI,KAtCA;AAyCXoB,IAAAA,UAAU,EAAE;AACXpB,MAAAA,IAAI,EAAE;AADK;AAzCD,GADb;AA8CCqB,EAAAA,OAAO,EAAE7B,mBA9CV;;AA+CC8B,EAAAA,IAAI,OAAmB;AAAA,QAAjB;AAAE7B,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLS,MAAAA,eADK;AAELR,MAAAA,qBAFK;AAGLiB,MAAAA,iBAHK;AAILR,MAAAA,QAJK;AAKLI,MAAAA,aALK;AAMLE,MAAAA,SANK;AAOLc,MAAAA,QAPK;AAQLb,MAAAA,UARK;AASLF,MAAAA,OATK;AAULU,MAAAA,iBAVK;AAWLC,MAAAA,SAXK;AAYLC,MAAAA,UAZK;AAaLH,MAAAA,SAbK;AAcLF,MAAAA,IAdK;AAeLD,MAAAA,UAfK;AAgBLE,MAAAA;AAhBK,QAiBFvB,UAjBJ;AAkBA,UAAM+B,MAAM,GAAGvC,OAAO,CAAE+B,GAAF,CAAP,GAAiBS,SAAjB,GAA6BT,GAA5C;AAEA,QAAIU,KAAK,GACR;AACC,MAAA,GAAG,EAAGH,QADP;AAEC,MAAA,GAAG,EAAGpB,QAFP;AAGC,MAAA,SAAS,EACRK,OAAO,IAAIC,SAAS,KAAK,OAAzB,GACI,YAAYD,OAAS,EADzB,GAEG;AANL,MADD;;AAYA,QAAKO,IAAL,EAAY;AACXW,MAAAA,KAAK,GACJ;AACC,QAAA,SAAS,EAAGT,SADb;AAEC,QAAA,IAAI,EAAGF,IAFR;AAGC,QAAA,MAAM,EAAGD,UAHV;AAIC,QAAA,GAAG,EAAGU;AAJP,SAMGE,KANH,CADD;AAUA;;AAED,UAAMC,gBAAgB,GAAG;AACxBD,MAAAA,KAAK,EAAE,MAAMA,KADW;AAExBE,MAAAA,KAAK,EAAE,MAAM;AAAO,QAAA,QAAQ,MAAf;AAAgB,QAAA,GAAG,EAAGL;AAAtB;AAFW,KAAzB;AAIA,UAAMM,eAAe,GAAGzC,iBAAiB,CACxC,kBADwC,EAExCc,eAFwC,CAAzC;AAIA,UAAM4B,SAAS,GAAG9C,UAAU,CAAE;AAC7B,gCAA0B,YAAYuB,aADT;AAE7B,wBAAkBsB,eAAe,IAAInC,qBAFR;AAG7B,OAAEmC,eAAF,GAAqBA,eAHQ;AAI7B,8BAAwBlB,iBAJK;AAK7B,OAAG,yBAAyBO,iBAAmB,EAA/C,GACCA,iBAN4B;AAO7B,uBAAiBC;AAPY,KAAF,CAA5B;AASA,UAAMY,gBAAgB,GAAGZ,SAAS,GAC/B9B,eAAe,CAAEkC,QAAF,EAAYH,UAAZ,CADgB,GAE/B,EAFH;AAIA,QAAIY,mBAAJ;;AACA,QAAKtB,UAAU,KAAKpB,mBAApB,EAA0C;AACzC0C,MAAAA,mBAAmB,GAClB,YAAYzB,aAAZ,GACI,QAAQG,UAAY,GADxB,GAEI,GAAGA,UAAY,QAHpB;AAIA;;AACD,UAAMf,KAAK,GAAG;AACbO,MAAAA,eAAe,EAAE2B,eAAe,GAC7BJ,SAD6B,GAE7B/B,qBAHU;AAIbsC,MAAAA;AAJa,KAAd;AAMA,WACC;AAAK,MAAA,SAAS,EAAGF,SAAjB;AAA6B,MAAA,KAAK,EAAGnC;AAArC,OACC;AACC,MAAA,SAAS,EAAC,4BADX;AAEC,MAAA,KAAK,EAAGoC;AAFT,OAIG,CAAEJ,gBAAgB,CAAElB,SAAF,CAAhB,IAAiClB,IAAnC,GAJH,CADD,EAOC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,cAAC,WAAD,CAAa,OAAb,OADD,CAPD,CADD;AAaA;;AA5IF,CADc,EA+Id;AACCE,EAAAA,UAAU,EAAE,EACX,GAAGK,cADQ;AAEXJ,IAAAA,qBAAqB,EAAE;AACtBM,MAAAA,IAAI,EAAE;AADgB,KAFZ;AAKXuB,IAAAA,QAAQ,EAAE;AACTvB,MAAAA,IAAI,EAAE,QADG;AAETI,MAAAA,MAAM,EAAE,WAFC;AAGTC,MAAAA,QAAQ,EAAE,yBAHD;AAITC,MAAAA,SAAS,EAAE;AAJF,KALC;AAWXY,IAAAA,iBAAiB,EAAE;AAClBlB,MAAAA,IAAI,EAAE;AADY,KAXR;AAcXmB,IAAAA,SAAS,EAAE;AACVnB,MAAAA,IAAI,EAAE;AADI,KAdA;AAiBXoB,IAAAA,UAAU,EAAE;AACXpB,MAAAA,IAAI,EAAE;AADK;AAjBD,GADb;AAsBCqB,EAAAA,OAAO,EAAE7B,mBAtBV;;AAuBC8B,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAE7B,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLS,MAAAA,eADK;AAELR,MAAAA,qBAFK;AAGLiB,MAAAA,iBAHK;AAILR,MAAAA,QAJK;AAKLI,MAAAA,aALK;AAMLE,MAAAA,SANK;AAOLc,MAAAA,QAPK;AAQLb,MAAAA,UARK;AASLF,MAAAA,OATK;AAULU,MAAAA,iBAVK;AAWLC,MAAAA,SAXK;AAYLC,MAAAA;AAZK,QAaF3B,UAbJ;AAcA,UAAMkC,gBAAgB,GAAG;AACxBD,MAAAA,KAAK,EAAE,MACN;AACC,QAAA,GAAG,EAAGH,QADP;AAEC,QAAA,GAAG,EAAGpB,QAFP;AAGC,QAAA,SAAS,EACRK,OAAO,IAAIC,SAAS,KAAK,OAAzB,GACI,YAAYD,OAAS,EADzB,GAEG;AANL,QAFuB;AAYxBoB,MAAAA,KAAK,EAAE,MAAM;AAAO,QAAA,QAAQ,MAAf;AAAgB,QAAA,GAAG,EAAGL;AAAtB;AAZW,KAAzB;AAcA,UAAMM,eAAe,GAAGzC,iBAAiB,CACxC,kBADwC,EAExCc,eAFwC,CAAzC;AAIA,UAAM4B,SAAS,GAAG9C,UAAU,CAAE;AAC7B,gCAA0B,YAAYuB,aADT;AAE7B,OAAEsB,eAAF,GAAqBA,eAFQ;AAG7B,8BAAwBlB,iBAHK;AAI7B,OAAG,yBAAyBO,iBAAmB,EAA/C,GACCA,iBAL4B;AAM7B,uBAAiBC;AANY,KAAF,CAA5B;AAQA,UAAMY,gBAAgB,GAAGZ,SAAS,GAC/B9B,eAAe,CAAEkC,QAAF,EAAYH,UAAZ,CADgB,GAE/B,EAFH;AAIA,QAAIY,mBAAJ;;AACA,QAAKtB,UAAU,KAAKpB,mBAApB,EAA0C;AACzC0C,MAAAA,mBAAmB,GAClB,YAAYzB,aAAZ,GACI,QAAQG,UAAY,GADxB,GAEI,GAAGA,UAAY,QAHpB;AAIA;;AACD,UAAMf,KAAK,GAAG;AACbO,MAAAA,eAAe,EAAE2B,eAAe,GAC7BJ,SAD6B,GAE7B/B,qBAHU;AAIbsC,MAAAA;AAJa,KAAd;AAMA,WACC;AAAK,MAAA,SAAS,EAAGF,SAAjB;AAA6B,MAAA,KAAK,EAAGnC;AAArC,OACC;AACC,MAAA,SAAS,EAAC,4BADX;AAEC,MAAA,KAAK,EAAGoC;AAFT,OAIG,CAAEJ,gBAAgB,CAAElB,SAAF,CAAhB,IAAiClB,IAAnC,GAJH,CADD,EAOC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,cAAC,WAAD,CAAa,OAAb,OADD,CAPD,CADD;AAaA;;AA9FF,CA/Ic,EA+Od;AACCE,EAAAA,UAAU,EAAE,EACX,GAAGK,cADQ;AAEXJ,IAAAA,qBAAqB,EAAE;AACtBM,MAAAA,IAAI,EAAE;AADgB,KAFZ;AAKXuB,IAAAA,QAAQ,EAAE;AACTvB,MAAAA,IAAI,EAAE,QADG;AAETI,MAAAA,MAAM,EAAE,WAFC;AAGTC,MAAAA,QAAQ,EAAE,yBAHD;AAITC,MAAAA,SAAS,EAAE;AAJF;AALC,GADb;;AAaCgB,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAE7B,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLS,MAAAA,eADK;AAELR,MAAAA,qBAFK;AAGLiB,MAAAA,iBAHK;AAILR,MAAAA,QAJK;AAKLI,MAAAA,aALK;AAMLE,MAAAA,SANK;AAOLc,MAAAA,QAPK;AAQLb,MAAAA;AARK,QASFjB,UATJ;AAUA,UAAMkC,gBAAgB,GAAG;AACxBD,MAAAA,KAAK,EAAE,MAAM;AAAK,QAAA,GAAG,EAAGH,QAAX;AAAsB,QAAA,GAAG,EAAGpB;AAA5B,QADW;AAExByB,MAAAA,KAAK,EAAE,MAAM;AAAO,QAAA,QAAQ,MAAf;AAAgB,QAAA,GAAG,EAAGL;AAAtB;AAFW,KAAzB;AAIA,UAAMM,eAAe,GAAGzC,iBAAiB,CACxC,kBADwC,EAExCc,eAFwC,CAAzC;AAIA,UAAM4B,SAAS,GAAG9C,UAAU,CAAE;AAC7B,gCAA0B,YAAYuB,aADT;AAE7B,OAAEsB,eAAF,GAAqBA,eAFQ;AAG7B,8BAAwBlB;AAHK,KAAF,CAA5B;AAMA,QAAIqB,mBAAJ;;AACA,QAAKtB,UAAU,KAAKpB,mBAApB,EAA0C;AACzC0C,MAAAA,mBAAmB,GAClB,YAAYzB,aAAZ,GACI,QAAQG,UAAY,GADxB,GAEI,GAAGA,UAAY,QAHpB;AAIA;;AACD,UAAMf,KAAK,GAAG;AACbO,MAAAA,eAAe,EAAE2B,eAAe,GAC7BJ,SAD6B,GAE7B/B,qBAHU;AAIbsC,MAAAA;AAJa,KAAd;AAMA,WACC;AAAK,MAAA,SAAS,EAAGF,SAAjB;AAA6B,MAAA,KAAK,EAAGnC;AAArC,OACC;AAAQ,MAAA,SAAS,EAAC;AAAlB,OACG,CAAEgC,gBAAgB,CAAElB,SAAF,CAAhB,IAAiClB,IAAnC,GADH,CADD,EAIC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,cAAC,WAAD,CAAa,OAAb,OADD,CAJD,CADD;AAUA;;AA7DF,CA/Oc,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isEmpty, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks, getColorClassName } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { imageFillStyles } from './media-container';\n\nconst DEFAULT_MEDIA_WIDTH = 50;\nconst noop = () => {};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\tbackground: attributes.customBackgroundColor,\n\t\t},\n\t};\n\treturn {\n\t\t...omit( attributes, [ 'customBackgroundColor' ] ),\n\t\tstyle,\n\t};\n};\n\nconst baseAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'wide',\n\t},\n\tbackgroundColor: {\n\t\ttype: 'string',\n\t},\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tmediaPosition: {\n\t\ttype: 'string',\n\t\tdefault: 'left',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t},\n\tmediaWidth: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n};\n\nexport default [\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaLink: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkDestination: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\thref: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'href',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tlinkClass: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'class',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t\tlinkClass,\n\t\t\t\thref,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t} = attributes;\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tlet image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tif ( href ) {\n\t\t\t\timage = (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => image,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t'has-background': backgroundClass || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t} );\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure className=\"wp-block-media-text__media\">\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/media-text/deprecated.js"],"names":["classnames","isEmpty","omit","InnerBlocks","getColorClassName","useInnerBlocksProps","useBlockProps","imageFillStyles","DEFAULT_MEDIA_SIZE_SLUG","DEFAULT_MEDIA_WIDTH","noop","migrateCustomColors","attributes","customBackgroundColor","style","color","background","baseAttributes","align","type","default","backgroundColor","mediaAlt","source","selector","attribute","mediaPosition","mediaId","mediaType","mediaWidth","isStackedOnMobile","mediaUrl","mediaLink","linkDestination","linkTarget","href","rel","linkClass","verticalAlignment","imageFill","focalPoint","save","mediaSizeSlug","newRel","undefined","imageClasses","image","mediaTypeRenders","video","className","backgroundStyles","gridTemplateColumns","migrate","backgroundClass"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isEmpty, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { imageFillStyles } from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\nconst DEFAULT_MEDIA_WIDTH = 50;\nconst noop = () => {};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\tbackground: attributes.customBackgroundColor,\n\t\t},\n\t};\n\treturn {\n\t\t...omit( attributes, [ 'customBackgroundColor' ] ),\n\t\tstyle,\n\t};\n};\n\nconst baseAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'wide',\n\t},\n\tbackgroundColor: {\n\t\ttype: 'string',\n\t},\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tmediaPosition: {\n\t\ttype: 'string',\n\t\tdefault: 'left',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t},\n\tmediaWidth: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n};\n\nexport default [\n\t// Version with CSS grid\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t\tmediaLink: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkDestination: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\thref: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'href',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tlinkClass: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'class',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t\tlinkClass,\n\t\t\t\thref,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t} = attributes;\n\t\t\tconst mediaSizeSlug =\n\t\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tconst imageClasses = classnames( {\n\t\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t\t} );\n\n\t\t\tlet image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={ imageClasses || null }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tif ( href ) {\n\t\t\t\timage = (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => image,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaLink: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkDestination: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\thref: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'href',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tlinkClass: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'class',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t\tlinkClass,\n\t\t\t\thref,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t} = attributes;\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tlet image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tif ( href ) {\n\t\t\t\timage = (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => image,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t'has-background': backgroundClass || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t} );\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure className=\"wp-block-media-text__media\">\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n"]}
|
|
@@ -320,7 +320,7 @@ function MediaTextEdit(_ref2) {
|
|
|
320
320
|
linkTarget: linkTarget,
|
|
321
321
|
linkClass: linkClass,
|
|
322
322
|
rel: rel
|
|
323
|
-
})), createElement("div", blockProps, createElement(MediaContainer, {
|
|
323
|
+
})), createElement("div", blockProps, mediaPosition === 'right' && createElement("div", innerBlocksProps), createElement(MediaContainer, {
|
|
324
324
|
className: "wp-block-media-text__media",
|
|
325
325
|
onSelectMedia: onSelectMedia,
|
|
326
326
|
onWidthChange: onWidthChange,
|
|
@@ -336,7 +336,7 @@ function MediaTextEdit(_ref2) {
|
|
|
336
336
|
mediaType,
|
|
337
337
|
mediaUrl,
|
|
338
338
|
mediaWidth
|
|
339
|
-
}), createElement("div", innerBlocksProps)));
|
|
339
|
+
}), mediaPosition !== 'right' && createElement("div", innerBlocksProps)));
|
|
340
340
|
}
|
|
341
341
|
|
|
342
342
|
export default MediaTextEdit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["classnames","map","filter","__","_x","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","isBlobURL","getBlobTypeByURL","pullLeft","pullRight","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","TEMPLATE","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","select","getMedia","context","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["classnames","map","filter","__","_x","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","isBlobURL","getBlobTypeByURL","pullLeft","pullRight","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","TEMPLATE","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","select","getMedia","context","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
|