@wordpress/block-library 8.25.0 → 8.25.1-next.79a6196f.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/LICENSE.md +1 -1
- package/build/audio/edit.js +10 -12
- package/build/audio/edit.js.map +1 -1
- package/build/block/edit.js +81 -34
- package/build/block/edit.js.map +1 -1
- package/build/comments-title/deprecated.js +1 -1
- package/build/comments-title/index.js +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit.native.js +1 -0
- package/build/cover/edit.native.js.map +1 -1
- package/build/embed/util.js +4 -4
- package/build/embed/util.js.map +1 -1
- package/build/file/edit.js +19 -27
- package/build/file/edit.js.map +1 -1
- package/build/gallery/edit.js +36 -17
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +3 -2
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/index.js +4 -0
- package/build/gallery/index.js.map +1 -1
- package/build/gallery/transforms.js +4 -68
- package/build/gallery/transforms.js.map +1 -1
- package/build/group/index.js +5 -1
- package/build/group/index.js.map +1 -1
- package/build/image/deprecated.js +11 -0
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.native.js +3 -0
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +22 -21
- package/build/image/image.js.map +1 -1
- package/build/image/view.js +7 -1
- package/build/image/view.js.map +1 -1
- package/build/list/edit.js +10 -15
- package/build/list/edit.js.map +1 -1
- package/build/list-item/edit.js +17 -2
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/use-enter.js +5 -3
- package/build/list-item/hooks/use-enter.js.map +1 -1
- package/build/list-item/hooks/use-enter.native.js +4 -3
- package/build/list-item/hooks/use-enter.native.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +2 -3
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +1 -1
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +3 -17
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-space.js +8 -4
- package/build/list-item/hooks/use-space.js.map +1 -1
- package/build/media-text/media-container.native.js +3 -0
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/navigation/constants.js +3 -1
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/edit/index.js +4 -0
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/view.js +25 -1
- package/build/navigation/view.js.map +1 -1
- package/build/paragraph/index.js +0 -1
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +0 -1
- package/build/paragraph/transforms.js.map +1 -1
- package/build/pattern/edit.js +24 -2
- package/build/pattern/edit.js.map +1 -1
- package/build/pattern/recursion-detector.js +147 -0
- package/build/pattern/recursion-detector.js.map +1 -0
- package/build/post-featured-image/edit.js +19 -2
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +4 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +3 -1
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query-pagination-numbers/index.js +1 -1
- package/build/search/edit.js +3 -5
- package/build/search/edit.js.map +1 -1
- package/build/search/index.js +0 -4
- package/build/search/index.js.map +1 -1
- package/build/site-logo/edit.js +7 -6
- package/build/site-logo/edit.js.map +1 -1
- package/build/spacer/edit.native.js +2 -2
- package/build/spacer/edit.native.js.map +1 -1
- package/build/tag-cloud/edit.js +5 -9
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/utils/constants.js +16 -0
- package/build/utils/constants.js.map +1 -0
- package/build/video/edit.js +11 -8
- package/build/video/edit.js.map +1 -1
- package/build-module/audio/edit.js +10 -12
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/block/edit.js +85 -38
- package/build-module/block/edit.js.map +1 -1
- package/build-module/comments-title/deprecated.js +1 -1
- package/build-module/comments-title/index.js +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit.native.js +1 -0
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/embed/util.js +4 -4
- package/build-module/embed/util.js.map +1 -1
- package/build-module/file/edit.js +19 -27
- package/build-module/file/edit.js.map +1 -1
- package/build-module/gallery/edit.js +36 -17
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +3 -2
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/index.js +4 -0
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/gallery/transforms.js +4 -68
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/group/index.js +5 -1
- package/build-module/group/index.js.map +1 -1
- package/build-module/image/deprecated.js +11 -0
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/edit.native.js +3 -0
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +17 -16
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/view.js +7 -1
- package/build-module/image/view.js.map +1 -1
- package/build-module/list/edit.js +10 -15
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list-item/edit.js +18 -3
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-enter.js +5 -3
- package/build-module/list-item/hooks/use-enter.js.map +1 -1
- package/build-module/list-item/hooks/use-enter.native.js +4 -3
- package/build-module/list-item/hooks/use-enter.native.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +2 -3
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +1 -1
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +3 -17
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-space.js +8 -4
- package/build-module/list-item/hooks/use-space.js.map +1 -1
- package/build-module/media-text/media-container.native.js +3 -0
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/navigation/constants.js +1 -0
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/edit/index.js +5 -1
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/view.js +25 -1
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/paragraph/index.js +0 -1
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +0 -1
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/pattern/edit.js +26 -4
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/pattern/recursion-detector.js +139 -0
- package/build-module/pattern/recursion-detector.js.map +1 -0
- package/build-module/post-featured-image/edit.js +19 -2
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +4 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +3 -1
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query-pagination-numbers/index.js +1 -1
- package/build-module/search/edit.js +3 -5
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/index.js +0 -4
- package/build-module/search/index.js.map +1 -1
- package/build-module/site-logo/edit.js +7 -6
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/spacer/edit.native.js +2 -2
- package/build-module/spacer/edit.native.js.map +1 -1
- package/build-module/tag-cloud/edit.js +6 -10
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/utils/constants.js +9 -0
- package/build-module/utils/constants.js.map +1 -0
- package/build-module/video/edit.js +11 -8
- package/build-module/video/edit.js.map +1 -1
- package/build-style/button/editor-rtl.css +0 -37
- package/build-style/button/editor.css +0 -37
- package/build-style/button/style-rtl.css +6 -6
- package/build-style/button/style.css +6 -6
- package/build-style/editor-rtl.css +2 -44
- package/build-style/editor.css +2 -44
- package/build-style/navigation/editor-rtl.css +2 -4
- package/build-style/navigation/editor.css +2 -4
- package/build-style/navigation/style-rtl.css +14 -18
- package/build-style/navigation/style.css +14 -18
- package/build-style/search/style-rtl.css +26 -27
- package/build-style/search/style.css +26 -27
- package/build-style/style-rtl.css +46 -51
- package/build-style/style.css +46 -51
- package/build-style/table/editor-rtl.css +0 -3
- package/build-style/table/editor.css +0 -3
- package/package.json +32 -32
- package/src/audio/edit.js +19 -19
- package/src/audio/test/__snapshots__/edit.native.js.snap +12 -0
- package/src/audio/test/edit.native.js +29 -0
- package/src/block/edit.js +120 -66
- package/src/button/editor.scss +0 -43
- package/src/button/style.scss +6 -6
- package/src/buttons/test/__snapshots__/edit.native.js.snap +6 -0
- package/src/buttons/test/edit.native.js +49 -0
- package/src/comments-title/block.json +1 -1
- package/src/cover/edit/inspector-controls.js +1 -1
- package/src/cover/edit.native.js +1 -0
- package/src/embed/util.js +2 -2
- package/src/file/edit.js +17 -24
- package/src/gallery/block.json +4 -0
- package/src/gallery/edit.js +69 -42
- package/src/gallery/gallery.js +4 -1
- package/src/gallery/index.php +15 -0
- package/src/gallery/transforms.js +2 -55
- package/src/group/block.json +5 -1
- package/src/image/deprecated.js +8 -0
- package/src/image/edit.native.js +3 -0
- package/src/image/image.js +54 -35
- package/src/image/index.php +1 -6
- package/src/image/view.js +5 -2
- package/src/list/edit.js +27 -35
- package/src/list-item/edit.js +18 -2
- package/src/list-item/hooks/use-enter.js +63 -62
- package/src/list-item/hooks/use-enter.native.js +9 -5
- package/src/list-item/hooks/use-indent-list-item.js +43 -53
- package/src/list-item/hooks/use-merge.js +1 -1
- package/src/list-item/hooks/use-outdent-list-item.js +50 -69
- package/src/list-item/hooks/use-space.js +7 -4
- package/src/media-text/media-container.native.js +3 -1
- package/src/navigation/constants.js +2 -0
- package/src/navigation/edit/index.js +11 -1
- package/src/navigation/editor.scss +1 -1
- package/src/navigation/style.scss +18 -16
- package/src/navigation/view.js +29 -3
- package/src/paragraph/block.json +0 -1
- package/src/paragraph/test/__snapshots__/edit.native.js.snap +12 -0
- package/src/paragraph/test/edit.native.js +114 -0
- package/src/pattern/edit.js +35 -3
- package/src/pattern/index.php +16 -0
- package/src/pattern/recursion-detector.js +145 -0
- package/src/pattern/test/index.js +74 -0
- package/src/post-featured-image/block.json +4 -0
- package/src/post-featured-image/edit.js +32 -1
- package/src/post-featured-image/index.php +31 -0
- package/src/query/edit/inspector-controls/index.js +2 -0
- package/src/query-pagination-numbers/block.json +1 -1
- package/src/search/block.json +0 -4
- package/src/search/edit.js +2 -8
- package/src/search/index.php +3 -7
- package/src/search/style.scss +27 -29
- package/src/site-logo/edit.js +3 -4
- package/src/social-link/index.php +1 -1
- package/src/spacer/edit.native.js +4 -2
- package/src/table/editor.scss +0 -3
- package/src/tag-cloud/edit.js +7 -7
- package/src/template-part/index.php +6 -0
- package/src/utils/constants.js +8 -0
- package/src/video/edit.js +29 -27
|
@@ -53,7 +53,6 @@ function FileEdit({
|
|
|
53
53
|
}) {
|
|
54
54
|
const {
|
|
55
55
|
id,
|
|
56
|
-
fileId,
|
|
57
56
|
fileName,
|
|
58
57
|
href,
|
|
59
58
|
textLinkHref,
|
|
@@ -64,24 +63,24 @@ function FileEdit({
|
|
|
64
63
|
previewHeight
|
|
65
64
|
} = attributes;
|
|
66
65
|
const {
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
getSettings
|
|
67
|
+
} = useSelect(blockEditorStore);
|
|
68
|
+
const {
|
|
69
|
+
media
|
|
69
70
|
} = useSelect(select => ({
|
|
70
|
-
media: id === undefined ? undefined : select(coreStore).getMedia(id)
|
|
71
|
-
mediaUpload: select(blockEditorStore).getSettings().mediaUpload
|
|
71
|
+
media: id === undefined ? undefined : select(coreStore).getMedia(id)
|
|
72
72
|
}), [id]);
|
|
73
73
|
const {
|
|
74
74
|
createErrorNotice
|
|
75
75
|
} = useDispatch(noticesStore);
|
|
76
76
|
const {
|
|
77
|
-
toggleSelection
|
|
78
|
-
__unstableMarkNextChangeAsNotPersistent
|
|
77
|
+
toggleSelection
|
|
79
78
|
} = useDispatch(blockEditorStore);
|
|
80
79
|
useEffect(() => {
|
|
81
80
|
// Upload a file drag-and-dropped into the editor.
|
|
82
81
|
if (isBlobURL(href)) {
|
|
83
82
|
const file = getBlobByURL(href);
|
|
84
|
-
mediaUpload({
|
|
83
|
+
getSettings().mediaUpload({
|
|
85
84
|
filesList: [file],
|
|
86
85
|
onFileChange: ([newMedia]) => onSelectFile(newMedia),
|
|
87
86
|
onError: onUploadError
|
|
@@ -94,27 +93,20 @@ function FileEdit({
|
|
|
94
93
|
});
|
|
95
94
|
}
|
|
96
95
|
}, []);
|
|
97
|
-
useEffect(() => {
|
|
98
|
-
if (!fileId && href) {
|
|
99
|
-
// Add a unique fileId to each file block.
|
|
100
|
-
__unstableMarkNextChangeAsNotPersistent();
|
|
101
|
-
setAttributes({
|
|
102
|
-
fileId: `wp-block-file--media-${clientId}`
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
}, [href, fileId, clientId]);
|
|
106
96
|
function onSelectFile(newMedia) {
|
|
107
|
-
if (newMedia
|
|
108
|
-
|
|
109
|
-
setAttributes({
|
|
110
|
-
href: newMedia.url,
|
|
111
|
-
fileName: newMedia.title,
|
|
112
|
-
textLinkHref: newMedia.url,
|
|
113
|
-
id: newMedia.id,
|
|
114
|
-
displayPreview: isPdf ? true : undefined,
|
|
115
|
-
previewHeight: isPdf ? 600 : undefined
|
|
116
|
-
});
|
|
97
|
+
if (!newMedia || !newMedia.url) {
|
|
98
|
+
return;
|
|
117
99
|
}
|
|
100
|
+
const isPdf = newMedia.url.endsWith('.pdf');
|
|
101
|
+
setAttributes({
|
|
102
|
+
href: newMedia.url,
|
|
103
|
+
fileName: newMedia.title,
|
|
104
|
+
textLinkHref: newMedia.url,
|
|
105
|
+
id: newMedia.id,
|
|
106
|
+
displayPreview: isPdf ? true : undefined,
|
|
107
|
+
previewHeight: isPdf ? 600 : undefined,
|
|
108
|
+
fileId: `wp-block-file--media-${clientId}`
|
|
109
|
+
});
|
|
118
110
|
}
|
|
119
111
|
function onUploadError(message) {
|
|
120
112
|
setAttributes({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","getBlobByURL","isBlobURL","revokeBlobURL","__unstableGetAnimateClassName","getAnimateClassName","ResizableBox","ToolbarButton","useSelect","useDispatch","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useEffect","useCopyToClipboard","__","_x","file","icon","coreStore","noticesStore","FileBlockInspector","browserSupportsPdfs","removeAnchorTag","MIN_PREVIEW_HEIGHT","MAX_PREVIEW_HEIGHT","ClipboardToolbarButton","text","disabled","createNotice","ref","isDismissible","type","createElement","className","FileEdit","attributes","isSelected","setAttributes","clientId","id","fileId","fileName","href","textLinkHref","textLinkTarget","showDownloadButton","downloadButtonText","displayPreview","previewHeight","media","mediaUpload","select","undefined","getMedia","getSettings","createErrorNotice","toggleSelection","__unstableMarkNextChangeAsNotPersistent","filesList","onFileChange","newMedia","onSelectFile","onError","onUploadError","isEmpty","url","isPdf","endsWith","title","message","changeLinkDestinationOption","newHref","changeOpenInNewWindow","newValue","changeShowDownloadButton","changeDisplayPreview","handleOnResizeStop","event","direction","elt","delta","newHeight","parseInt","height","changePreviewHeight","Math","max","attachmentPage","link","blockProps","displayPreviewInEditor","labels","instructions","onSelect","accept","Fragment","hrefs","openInNewWindow","group","mediaId","mediaURL","size","minHeight","maxHeight","minWidth","grid","enable","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","onResizeStart","onResizeStop","showHandle","data","tagName","value","placeholder","withoutInteractiveFormatting","onChange"],"sources":["@wordpress/block-library/src/file/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport {\n\t__unstableGetAnimateClassName as getAnimateClassName,\n\tResizableBox,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { __, _x } from '@wordpress/i18n';\nimport { file as icon } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport FileBlockInspector from './inspector';\nimport { browserSupportsPdfs } from './utils';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\n\nexport const MIN_PREVIEW_HEIGHT = 200;\nexport const MAX_PREVIEW_HEIGHT = 2000;\n\nfunction ClipboardToolbarButton( { text, disabled } ) {\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst ref = useCopyToClipboard( text, () => {\n\t\tcreateNotice( 'info', __( 'Copied URL to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\n\treturn (\n\t\t<ToolbarButton\n\t\t\tclassName=\"components-clipboard-toolbar-button\"\n\t\t\tref={ ref }\n\t\t\tdisabled={ disabled }\n\t\t>\n\t\t\t{ __( 'Copy URL' ) }\n\t\t</ToolbarButton>\n\t);\n}\n\nfunction FileEdit( { attributes, isSelected, setAttributes, clientId } ) {\n\tconst {\n\t\tid,\n\t\tfileId,\n\t\tfileName,\n\t\thref,\n\t\ttextLinkHref,\n\t\ttextLinkTarget,\n\t\tshowDownloadButton,\n\t\tdownloadButtonText,\n\t\tdisplayPreview,\n\t\tpreviewHeight,\n\t} = attributes;\n\tconst { media, mediaUpload } = useSelect(\n\t\t( select ) => ( {\n\t\t\tmedia:\n\t\t\t\tid === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: select( coreStore ).getMedia( id ),\n\t\t\tmediaUpload: select( blockEditorStore ).getSettings().mediaUpload,\n\t\t} ),\n\t\t[ id ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { toggleSelection, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\t// Upload a file drag-and-dropped into the editor.\n\t\tif ( isBlobURL( href ) ) {\n\t\t\tconst file = getBlobByURL( href );\n\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ newMedia ] ) => onSelectFile( newMedia ),\n\t\t\t\tonError: onUploadError,\n\t\t\t} );\n\n\t\t\trevokeBlobURL( href );\n\t\t}\n\n\t\tif ( RichText.isEmpty( downloadButtonText ) ) {\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! fileId && href ) {\n\t\t\t// Add a unique fileId to each file block.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { fileId: `wp-block-file--media-${ clientId }` } );\n\t\t}\n\t}, [ href, fileId, clientId ] );\n\n\tfunction onSelectFile( newMedia ) {\n\t\tif ( newMedia && newMedia.url ) {\n\t\t\tconst isPdf = newMedia.url.endsWith( '.pdf' );\n\t\t\tsetAttributes( {\n\t\t\t\thref: newMedia.url,\n\t\t\t\tfileName: newMedia.title,\n\t\t\t\ttextLinkHref: newMedia.url,\n\t\t\t\tid: newMedia.id,\n\t\t\t\tdisplayPreview: isPdf ? true : undefined,\n\t\t\t\tpreviewHeight: isPdf ? 600 : undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tsetAttributes( { href: undefined } );\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction changeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library).\n\t\tsetAttributes( { textLinkHref: newHref } );\n\t}\n\n\tfunction changeOpenInNewWindow( newValue ) {\n\t\tsetAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : false,\n\t\t} );\n\t}\n\n\tfunction changeShowDownloadButton( newValue ) {\n\t\tsetAttributes( { showDownloadButton: newValue } );\n\t}\n\n\tfunction changeDisplayPreview( newValue ) {\n\t\tsetAttributes( { displayPreview: newValue } );\n\t}\n\n\tfunction handleOnResizeStop( event, direction, elt, delta ) {\n\t\ttoggleSelection( true );\n\n\t\tconst newHeight = parseInt( previewHeight + delta.height, 10 );\n\t\tsetAttributes( { previewHeight: newHeight } );\n\t}\n\n\tfunction changePreviewHeight( newValue ) {\n\t\tconst newHeight = Math.max(\n\t\t\tparseInt( newValue, 10 ),\n\t\t\tMIN_PREVIEW_HEIGHT\n\t\t);\n\t\tsetAttributes( { previewHeight: newHeight } );\n\t}\n\n\tconst attachmentPage = media && media.link;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\tisBlobURL( href ) && getAnimateClassName( { type: 'loading' } ),\n\t\t\t{\n\t\t\t\t'is-transient': isBlobURL( href ),\n\t\t\t}\n\t\t),\n\t} );\n\n\tconst displayPreviewInEditor = browserSupportsPdfs() && displayPreview;\n\n\tif ( ! href ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload a file or pick one from your media library.'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectFile }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\taccept=\"*\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FileBlockInspector\n\t\t\t\threfs={ { href, textLinkHref, attachmentPage } }\n\t\t\t\t{ ...{\n\t\t\t\t\topenInNewWindow: !! textLinkTarget,\n\t\t\t\t\tshowDownloadButton,\n\t\t\t\t\tchangeLinkDestinationOption,\n\t\t\t\t\tchangeOpenInNewWindow,\n\t\t\t\t\tchangeShowDownloadButton,\n\t\t\t\t\tdisplayPreview,\n\t\t\t\t\tchangeDisplayPreview,\n\t\t\t\t\tpreviewHeight,\n\t\t\t\t\tchangePreviewHeight,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ href }\n\t\t\t\t\taccept=\"*\"\n\t\t\t\t\tonSelect={ onSelectFile }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t\t<ClipboardToolbarButton\n\t\t\t\t\ttext={ href }\n\t\t\t\t\tdisabled={ isBlobURL( href ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ displayPreviewInEditor && (\n\t\t\t\t\t<ResizableBox\n\t\t\t\t\t\tsize={ { height: previewHeight } }\n\t\t\t\t\t\tminHeight={ MIN_PREVIEW_HEIGHT }\n\t\t\t\t\t\tmaxHeight={ MAX_PREVIEW_HEIGHT }\n\t\t\t\t\t\tminWidth=\"100%\"\n\t\t\t\t\t\tgrid={ [ 10, 10 ] }\n\t\t\t\t\t\tenable={ {\n\t\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\t\tright: false,\n\t\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStart={ () => toggleSelection( false ) }\n\t\t\t\t\t\tonResizeStop={ handleOnResizeStop }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t>\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\tclassName=\"wp-block-file__preview\"\n\t\t\t\t\t\t\tdata={ href }\n\t\t\t\t\t\t\ttype=\"application/pdf\"\n\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t'Embed of the selected PDF file.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isSelected && (\n\t\t\t\t\t\t\t<div className=\"wp-block-file__preview-overlay\" />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ResizableBox>\n\t\t\t\t) }\n\t\t\t\t<div className={ 'wp-block-file__content-wrapper' }>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\tplaceholder={ __( 'Write file name…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tonChange={ ( text ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tfileName: removeAnchorTag( text ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thref={ textLinkHref }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showDownloadButton && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t'wp-block-file__button-richtext-wrapper'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ /* Using RichText here instead of PlainText so that it can be styled like a button. */ }\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\ttagName=\"div\" // Must be block-level or else cursor disappears.\n\t\t\t\t\t\t\t\taria-label={ __( 'Download button text' ) }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'wp-block-file__button',\n\t\t\t\t\t\t\t\t\t__experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t\t\t'button'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Add text…' ) }\n\t\t\t\t\t\t\t\tonChange={ ( text ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tdownloadButtonText:\n\t\t\t\t\t\t\t\t\t\t\tremoveAnchorTag( text ),\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default FileEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","getBlobByURL","isBlobURL","revokeBlobURL","__unstableGetAnimateClassName","getAnimateClassName","ResizableBox","ToolbarButton","useSelect","useDispatch","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useEffect","useCopyToClipboard","__","_x","file","icon","coreStore","noticesStore","FileBlockInspector","browserSupportsPdfs","removeAnchorTag","MIN_PREVIEW_HEIGHT","MAX_PREVIEW_HEIGHT","ClipboardToolbarButton","text","disabled","createNotice","ref","isDismissible","type","createElement","className","FileEdit","attributes","isSelected","setAttributes","clientId","id","fileName","href","textLinkHref","textLinkTarget","showDownloadButton","downloadButtonText","displayPreview","previewHeight","getSettings","media","select","undefined","getMedia","createErrorNotice","toggleSelection","mediaUpload","filesList","onFileChange","newMedia","onSelectFile","onError","onUploadError","isEmpty","url","isPdf","endsWith","title","fileId","message","changeLinkDestinationOption","newHref","changeOpenInNewWindow","newValue","changeShowDownloadButton","changeDisplayPreview","handleOnResizeStop","event","direction","elt","delta","newHeight","parseInt","height","changePreviewHeight","Math","max","attachmentPage","link","blockProps","displayPreviewInEditor","labels","instructions","onSelect","accept","Fragment","hrefs","openInNewWindow","group","mediaId","mediaURL","size","minHeight","maxHeight","minWidth","grid","enable","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","onResizeStart","onResizeStop","showHandle","data","tagName","value","placeholder","withoutInteractiveFormatting","onChange"],"sources":["@wordpress/block-library/src/file/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport {\n\t__unstableGetAnimateClassName as getAnimateClassName,\n\tResizableBox,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { __, _x } from '@wordpress/i18n';\nimport { file as icon } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport FileBlockInspector from './inspector';\nimport { browserSupportsPdfs } from './utils';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\n\nexport const MIN_PREVIEW_HEIGHT = 200;\nexport const MAX_PREVIEW_HEIGHT = 2000;\n\nfunction ClipboardToolbarButton( { text, disabled } ) {\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst ref = useCopyToClipboard( text, () => {\n\t\tcreateNotice( 'info', __( 'Copied URL to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\n\treturn (\n\t\t<ToolbarButton\n\t\t\tclassName=\"components-clipboard-toolbar-button\"\n\t\t\tref={ ref }\n\t\t\tdisabled={ disabled }\n\t\t>\n\t\t\t{ __( 'Copy URL' ) }\n\t\t</ToolbarButton>\n\t);\n}\n\nfunction FileEdit( { attributes, isSelected, setAttributes, clientId } ) {\n\tconst {\n\t\tid,\n\t\tfileName,\n\t\thref,\n\t\ttextLinkHref,\n\t\ttextLinkTarget,\n\t\tshowDownloadButton,\n\t\tdownloadButtonText,\n\t\tdisplayPreview,\n\t\tpreviewHeight,\n\t} = attributes;\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst { media } = useSelect(\n\t\t( select ) => ( {\n\t\t\tmedia:\n\t\t\t\tid === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: select( coreStore ).getMedia( id ),\n\t\t} ),\n\t\t[ id ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\t// Upload a file drag-and-dropped into the editor.\n\t\tif ( isBlobURL( href ) ) {\n\t\t\tconst file = getBlobByURL( href );\n\n\t\t\tgetSettings().mediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ newMedia ] ) => onSelectFile( newMedia ),\n\t\t\t\tonError: onUploadError,\n\t\t\t} );\n\n\t\t\trevokeBlobURL( href );\n\t\t}\n\n\t\tif ( RichText.isEmpty( downloadButtonText ) ) {\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tfunction onSelectFile( newMedia ) {\n\t\tif ( ! newMedia || ! newMedia.url ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isPdf = newMedia.url.endsWith( '.pdf' );\n\t\tsetAttributes( {\n\t\t\thref: newMedia.url,\n\t\t\tfileName: newMedia.title,\n\t\t\ttextLinkHref: newMedia.url,\n\t\t\tid: newMedia.id,\n\t\t\tdisplayPreview: isPdf ? true : undefined,\n\t\t\tpreviewHeight: isPdf ? 600 : undefined,\n\t\t\tfileId: `wp-block-file--media-${ clientId }`,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tsetAttributes( { href: undefined } );\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction changeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library).\n\t\tsetAttributes( { textLinkHref: newHref } );\n\t}\n\n\tfunction changeOpenInNewWindow( newValue ) {\n\t\tsetAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : false,\n\t\t} );\n\t}\n\n\tfunction changeShowDownloadButton( newValue ) {\n\t\tsetAttributes( { showDownloadButton: newValue } );\n\t}\n\n\tfunction changeDisplayPreview( newValue ) {\n\t\tsetAttributes( { displayPreview: newValue } );\n\t}\n\n\tfunction handleOnResizeStop( event, direction, elt, delta ) {\n\t\ttoggleSelection( true );\n\n\t\tconst newHeight = parseInt( previewHeight + delta.height, 10 );\n\t\tsetAttributes( { previewHeight: newHeight } );\n\t}\n\n\tfunction changePreviewHeight( newValue ) {\n\t\tconst newHeight = Math.max(\n\t\t\tparseInt( newValue, 10 ),\n\t\t\tMIN_PREVIEW_HEIGHT\n\t\t);\n\t\tsetAttributes( { previewHeight: newHeight } );\n\t}\n\n\tconst attachmentPage = media && media.link;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\tisBlobURL( href ) && getAnimateClassName( { type: 'loading' } ),\n\t\t\t{\n\t\t\t\t'is-transient': isBlobURL( href ),\n\t\t\t}\n\t\t),\n\t} );\n\n\tconst displayPreviewInEditor = browserSupportsPdfs() && displayPreview;\n\n\tif ( ! href ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload a file or pick one from your media library.'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectFile }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\taccept=\"*\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FileBlockInspector\n\t\t\t\threfs={ { href, textLinkHref, attachmentPage } }\n\t\t\t\t{ ...{\n\t\t\t\t\topenInNewWindow: !! textLinkTarget,\n\t\t\t\t\tshowDownloadButton,\n\t\t\t\t\tchangeLinkDestinationOption,\n\t\t\t\t\tchangeOpenInNewWindow,\n\t\t\t\t\tchangeShowDownloadButton,\n\t\t\t\t\tdisplayPreview,\n\t\t\t\t\tchangeDisplayPreview,\n\t\t\t\t\tpreviewHeight,\n\t\t\t\t\tchangePreviewHeight,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ href }\n\t\t\t\t\taccept=\"*\"\n\t\t\t\t\tonSelect={ onSelectFile }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t\t<ClipboardToolbarButton\n\t\t\t\t\ttext={ href }\n\t\t\t\t\tdisabled={ isBlobURL( href ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ displayPreviewInEditor && (\n\t\t\t\t\t<ResizableBox\n\t\t\t\t\t\tsize={ { height: previewHeight } }\n\t\t\t\t\t\tminHeight={ MIN_PREVIEW_HEIGHT }\n\t\t\t\t\t\tmaxHeight={ MAX_PREVIEW_HEIGHT }\n\t\t\t\t\t\tminWidth=\"100%\"\n\t\t\t\t\t\tgrid={ [ 10, 10 ] }\n\t\t\t\t\t\tenable={ {\n\t\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\t\tright: false,\n\t\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStart={ () => toggleSelection( false ) }\n\t\t\t\t\t\tonResizeStop={ handleOnResizeStop }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t>\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\tclassName=\"wp-block-file__preview\"\n\t\t\t\t\t\t\tdata={ href }\n\t\t\t\t\t\t\ttype=\"application/pdf\"\n\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t'Embed of the selected PDF file.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isSelected && (\n\t\t\t\t\t\t\t<div className=\"wp-block-file__preview-overlay\" />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ResizableBox>\n\t\t\t\t) }\n\t\t\t\t<div className={ 'wp-block-file__content-wrapper' }>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\tplaceholder={ __( 'Write file name…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tonChange={ ( text ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tfileName: removeAnchorTag( text ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thref={ textLinkHref }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showDownloadButton && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t'wp-block-file__button-richtext-wrapper'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ /* Using RichText here instead of PlainText so that it can be styled like a button. */ }\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\ttagName=\"div\" // Must be block-level or else cursor disappears.\n\t\t\t\t\t\t\t\taria-label={ __( 'Download button text' ) }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'wp-block-file__button',\n\t\t\t\t\t\t\t\t\t__experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t\t\t'button'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Add text…' ) }\n\t\t\t\t\t\t\t\tonChange={ ( text ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tdownloadButtonText:\n\t\t\t\t\t\t\t\t\t\t\tremoveAnchorTag( text ),\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default FileEdit;\n"],"mappings":"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"}
|
|
@@ -49,6 +49,7 @@ const PLACEHOLDER_TEXT = Platform.isNative ? __('Add media') : __('Drag images,
|
|
|
49
49
|
const MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative ? {
|
|
50
50
|
type: 'stepper'
|
|
51
51
|
} : {};
|
|
52
|
+
const EMPTY_ARRAY = [];
|
|
52
53
|
function GalleryEdit(props) {
|
|
53
54
|
const {
|
|
54
55
|
setAttributes,
|
|
@@ -63,6 +64,7 @@ function GalleryEdit(props) {
|
|
|
63
64
|
const {
|
|
64
65
|
columns,
|
|
65
66
|
imageCrop,
|
|
67
|
+
randomOrder,
|
|
66
68
|
linkTarget,
|
|
67
69
|
linkTo,
|
|
68
70
|
sizeSlug
|
|
@@ -80,23 +82,29 @@ function GalleryEdit(props) {
|
|
|
80
82
|
const {
|
|
81
83
|
getBlock,
|
|
82
84
|
getSettings,
|
|
83
|
-
preferredStyle
|
|
85
|
+
preferredStyle,
|
|
86
|
+
innerBlockImages,
|
|
87
|
+
blockWasJustInserted,
|
|
88
|
+
multiGallerySelection
|
|
84
89
|
} = useSelect(select => {
|
|
85
|
-
|
|
86
|
-
const
|
|
90
|
+
var _getBlock$innerBlocks;
|
|
91
|
+
const {
|
|
92
|
+
getBlockName,
|
|
93
|
+
getMultiSelectedBlockClientIds,
|
|
94
|
+
getSettings: _getSettings,
|
|
95
|
+
getBlock: _getBlock,
|
|
96
|
+
wasBlockJustInserted
|
|
97
|
+
} = select(blockEditorStore);
|
|
98
|
+
const preferredStyleVariations = _getSettings().__experimentalPreferredStyleVariations;
|
|
99
|
+
const multiSelectedClientIds = getMultiSelectedBlockClientIds();
|
|
87
100
|
return {
|
|
88
|
-
getBlock:
|
|
89
|
-
getSettings:
|
|
90
|
-
preferredStyle: preferredStyleVariations?.value?.['core/image']
|
|
101
|
+
getBlock: _getBlock,
|
|
102
|
+
getSettings: _getSettings,
|
|
103
|
+
preferredStyle: preferredStyleVariations?.value?.['core/image'],
|
|
104
|
+
innerBlockImages: (_getBlock$innerBlocks = _getBlock(clientId)?.innerBlocks) !== null && _getBlock$innerBlocks !== void 0 ? _getBlock$innerBlocks : EMPTY_ARRAY,
|
|
105
|
+
blockWasJustInserted: wasBlockJustInserted(clientId, 'inserter_menu'),
|
|
106
|
+
multiGallerySelection: multiSelectedClientIds.length && multiSelectedClientIds.every(_clientId => getBlockName(_clientId) === 'core/gallery')
|
|
91
107
|
};
|
|
92
|
-
}, []);
|
|
93
|
-
const innerBlockImages = useSelect(select => {
|
|
94
|
-
var _select$getBlock$inne;
|
|
95
|
-
const innerBlocks = (_select$getBlock$inne = select(blockEditorStore).getBlock(clientId)?.innerBlocks) !== null && _select$getBlock$inne !== void 0 ? _select$getBlock$inne : [];
|
|
96
|
-
return innerBlocks;
|
|
97
|
-
}, [clientId]);
|
|
98
|
-
const wasBlockJustInserted = useSelect(select => {
|
|
99
|
-
return select(blockEditorStore).wasBlockJustInserted(clientId, 'inserter_menu');
|
|
100
108
|
}, [clientId]);
|
|
101
109
|
const images = useMemo(() => innerBlockImages?.map(block => ({
|
|
102
110
|
clientId: block.clientId,
|
|
@@ -256,6 +264,11 @@ function GalleryEdit(props) {
|
|
|
256
264
|
function getImageCropHelp(checked) {
|
|
257
265
|
return checked ? __('Thumbnails are cropped to align.') : __('Thumbnails are not cropped.');
|
|
258
266
|
}
|
|
267
|
+
function toggleRandomOrder() {
|
|
268
|
+
setAttributes({
|
|
269
|
+
randomOrder: !randomOrder
|
|
270
|
+
});
|
|
271
|
+
}
|
|
259
272
|
function toggleOpenInNewTab(openInNewTab) {
|
|
260
273
|
const newLinkTarget = openInNewTab ? '_blank' : undefined;
|
|
261
274
|
setAttributes({
|
|
@@ -320,7 +333,7 @@ function GalleryEdit(props) {
|
|
|
320
333
|
isAppender: hasImages,
|
|
321
334
|
disableMediaButtons: hasImages && !isSelected || imagesUploading,
|
|
322
335
|
value: hasImageIds ? images : {},
|
|
323
|
-
autoOpenMediaUpload: !hasImages && isSelected &&
|
|
336
|
+
autoOpenMediaUpload: !hasImages && isSelected && blockWasJustInserted,
|
|
324
337
|
onFocus
|
|
325
338
|
}
|
|
326
339
|
});
|
|
@@ -375,6 +388,11 @@ function GalleryEdit(props) {
|
|
|
375
388
|
checked: !!imageCrop,
|
|
376
389
|
onChange: toggleImageCrop,
|
|
377
390
|
help: getImageCropHelp
|
|
391
|
+
}), createElement(ToggleControl, {
|
|
392
|
+
__nextHasNoMarginBottom: true,
|
|
393
|
+
label: __('Random order'),
|
|
394
|
+
checked: !!randomOrder,
|
|
395
|
+
onChange: toggleRandomOrder
|
|
378
396
|
}), createElement(SelectControl, {
|
|
379
397
|
__nextHasNoMarginBottom: true,
|
|
380
398
|
label: __('Link to'),
|
|
@@ -401,7 +419,7 @@ function GalleryEdit(props) {
|
|
|
401
419
|
className: 'gallery-image-sizes'
|
|
402
420
|
}, createElement(BaseControl.VisualLabel, null, __('Resolution')), createElement(View, {
|
|
403
421
|
className: 'gallery-image-sizes__loading'
|
|
404
|
-
}, createElement(Spinner, null), __('Loading options…'))))), Platform.isWeb && createElement(Fragment, null, createElement(BlockControls, {
|
|
422
|
+
}, createElement(Spinner, null), __('Loading options…'))))), Platform.isWeb && createElement(Fragment, null, !multiGallerySelection && createElement(BlockControls, {
|
|
405
423
|
group: "other"
|
|
406
424
|
}, createElement(MediaReplaceFlow, {
|
|
407
425
|
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
@@ -421,7 +439,8 @@ function GalleryEdit(props) {
|
|
|
421
439
|
images: images,
|
|
422
440
|
mediaPlaceholder: !hasImages || Platform.isNative ? mediaPlaceholder : undefined,
|
|
423
441
|
blockProps: innerBlocksProps,
|
|
424
|
-
insertBlocksAfter: insertBlocksAfter
|
|
442
|
+
insertBlocksAfter: insertBlocksAfter,
|
|
443
|
+
multiGallerySelection: multiGallerySelection
|
|
425
444
|
}));
|
|
426
445
|
}
|
|
427
446
|
export default compose([withViewportMatch({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","compose","BaseControl","PanelBody","SelectControl","ToggleControl","RangeControl","Spinner","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","allowedBlocks","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","columns","imageCrop","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","_select$getBlock$inne","innerBlocks","wasBlockJustInserted","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","length","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","createElement","handleUpload","icon","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","orientation","renderAppender","children","hasLinkTo","Fragment","__nextHasNoMarginBottom","onChange","min","max","Math","required","__next40pxDefaultSize","help","options","hideCancelButton","isWeb","VisualLabel","group","name","mediaIds","blockGap","style","spacing","isNarrow"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst allowedBlocks = [ 'core/image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst { columns, imageCrop, linkTarget, linkTo, sizeSlug } = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\tconst innerBlocks =\n\t\t\t\tselect( blockEditorStore ).getBlock( clientId )?.innerBlocks ??\n\t\t\t\t[];\n\t\t\treturn innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst wasBlockJustInserted = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\tmultiple={ true }\n\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SACCC,WAAW,EACXC,SAAS,EACTC,aAAa,EACbC,aAAa,EACbC,YAAY,EACZC,OAAO,QACD,uBAAuB;AAC9B,SACCC,KAAK,IAAIC,gBAAgB,EACzBC,gBAAgB,EAChBC,iBAAiB,EACjBC,aAAa,EACbC,mBAAmB,EACnBC,aAAa,EACbC,gBAAgB,QACV,yBAAyB;AAChC,SAASC,QAAQ,EAAEC,SAAS,EAAEC,OAAO,QAAQ,oBAAoB;AACjE,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASnB,KAAK,IAAIoB,YAAY,QAAQ,oBAAoB;;AAE1D;AACA;AACA;AACA,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,oBAAoB,EAAEC,sBAAsB,QAAQ,UAAU;AACvE,SAASC,qBAAqB,QAAQ,SAAS;AAC/C,SACCC,4BAA4B,EAC5BC,sBAAsB,QAChB,gBAAgB;AACvB,OAAOC,OAAO,MAAM,WAAW;AAC/B,SACCC,2BAA2B,EAC3BC,sBAAsB,EACtBC,qBAAqB,QACf,aAAa;AACpB,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,eAAe,MAAM,sBAAsB;AAClD,OAAOC,WAAW,MAAM,iBAAiB;AACzC,OAAOC,SAAS,MAAM,cAAc;AAEpC,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,WAAW,GAAG,CACnB;EAAEC,KAAK,EAAET,2BAA2B;EAAEU,KAAK,EAAE3B,EAAE,CAAE,iBAAkB;AAAE,CAAC,EACtE;EAAE0B,KAAK,EAAER,sBAAsB;EAAES,KAAK,EAAE3B,EAAE,CAAE,YAAa;AAAE,CAAC,EAC5D;EACC0B,KAAK,EAAEP,qBAAqB;EAC5BQ,KAAK,EAAE1B,EAAE,CAAE,MAAM,EAAE,wBAAyB;AAC7C,CAAC,CACD;AACD,MAAM2B,mBAAmB,GAAG,CAAE,OAAO,CAAE;AACvC,MAAMC,aAAa,GAAG,CAAE,YAAY,CAAE;AAEtC,MAAMC,gBAAgB,GAAGjC,QAAQ,CAACkC,QAAQ,GACvC/B,EAAE,CAAE,WAAY,CAAC,GACjBA,EAAE,CAAE,iEAAkE,CAAC;AAE1E,MAAMgC,kCAAkC,GAAGnC,QAAQ,CAACkC,QAAQ,GACzD;EAAEE,IAAI,EAAE;AAAU,CAAC,GACnB,CAAC,CAAC;AAEL,SAASC,WAAWA,CAAEC,KAAK,EAAG;EAC7B,MAAM;IACLC,aAAa;IACbC,UAAU;IACVC,SAAS;IACTC,QAAQ;IACRC,UAAU;IACVC,iBAAiB;IACjBC,eAAe;IACfC;EACD,CAAC,GAAGR,KAAK;EAET,MAAM;IAAES,OAAO;IAAEC,SAAS;IAAEC,UAAU;IAAEC,MAAM;IAAEC;EAAS,CAAC,GAAGX,UAAU;EAEvE,MAAM;IACLY,uCAAuC;IACvCC,kBAAkB;IAClBC,qBAAqB;IACrBC;EACD,CAAC,GAAGhD,WAAW,CAAEd,gBAAiB,CAAC;EACnC,MAAM;IAAE+D,mBAAmB;IAAEC;EAAkB,CAAC,GAC/ClD,WAAW,CAAEK,YAAa,CAAC;EAE5B,MAAM;IAAE8C,QAAQ;IAAEC,WAAW;IAAEC;EAAe,CAAC,GAAGtD,SAAS,CAAIuD,MAAM,IAAM;IAC1E,MAAMC,QAAQ,GAAGD,MAAM,CAAEpE,gBAAiB,CAAC,CAACkE,WAAW,CAAC,CAAC;IACzD,MAAMI,wBAAwB,GAC7BD,QAAQ,CAACE,sCAAsC;IAChD,OAAO;MACNN,QAAQ,EAAEG,MAAM,CAAEpE,gBAAiB,CAAC,CAACiE,QAAQ;MAC7CC,WAAW,EAAEE,MAAM,CAAEpE,gBAAiB,CAAC,CAACkE,WAAW;MACnDC,cAAc,EAAEG,wBAAwB,EAAElC,KAAK,GAAI,YAAY;IAChE,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMoC,gBAAgB,GAAG3D,SAAS,CAC/BuD,MAAM,IAAM;IAAA,IAAAK,qBAAA;IACb,MAAMC,WAAW,IAAAD,qBAAA,GAChBL,MAAM,CAAEpE,gBAAiB,CAAC,CAACiE,QAAQ,CAAEhB,QAAS,CAAC,EAAEyB,WAAW,cAAAD,qBAAA,cAAAA,qBAAA,GAC5D,EAAE;IACH,OAAOC,WAAW;EACnB,CAAC,EACD,CAAEzB,QAAQ,CACX,CAAC;EAED,MAAM0B,oBAAoB,GAAG9D,SAAS,CACnCuD,MAAM,IAAM;IACb,OAAOA,MAAM,CAAEpE,gBAAiB,CAAC,CAAC2E,oBAAoB,CACrD1B,QAAQ,EACR,eACD,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,MAAM2B,MAAM,GAAGnE,OAAO,CACrB,MACC+D,gBAAgB,EAAEK,GAAG,CAAIC,KAAK,KAAQ;IACrC7B,QAAQ,EAAE6B,KAAK,CAAC7B,QAAQ;IACxB8B,EAAE,EAAED,KAAK,CAAC/B,UAAU,CAACgC,EAAE;IACvBC,GAAG,EAAEF,KAAK,CAAC/B,UAAU,CAACiC,GAAG;IACzBjC,UAAU,EAAE+B,KAAK,CAAC/B,UAAU;IAC5BkC,gBAAgB,EAAEC,OAAO,CAAEJ,KAAK,CAACK,eAAgB;EAClD,CAAC,CAAG,CAAC,EACN,CAAEX,gBAAgB,CACnB,CAAC;EAED,MAAMY,SAAS,GAAGpD,WAAW,CAAEwC,gBAAiB,CAAC;EAEjD,MAAMa,SAAS,GAAGtD,eAAe,CAAE6C,MAAM,EAAEQ,SAAU,CAAC;EAEtD5E,SAAS,CAAE,MAAM;IAChB6E,SAAS,EAAEC,OAAO,CAAIC,QAAQ,IAAM;MACnC;MACA5B,uCAAuC,CAAC,CAAC;MACzCE,qBAAqB,CAAE0B,QAAQ,CAACtC,QAAQ,EAAE;QACzC,GAAGuC,oBAAoB,CAAED,QAAQ,CAACxC,UAAW,CAAC;QAC9CgC,EAAE,EAAEQ,QAAQ,CAACR,EAAE;QACfU,KAAK,EAAEC;MACR,CAAE,CAAC;IACJ,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEL,SAAS,CAAG,CAAC;EAElB,MAAMM,gBAAgB,GAAG7D,aAAa,CACrCsD,SAAS,EACTlC,UAAU,EACVgB,WACD,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,SAASsB,oBAAoBA,CAAEI,eAAe,EAAG;IAChD,MAAMC,KAAK,GAAGD,eAAe,CAACb,EAAE,GAC7BK,SAAS,CAACU,IAAI,CAAE,CAAE;MAAEf;IAAG,CAAC,KAAMA,EAAE,KAAKa,eAAe,CAACb,EAAG,CAAC,GACzD,IAAI;IAEP,IAAIgB,YAAY;IAChB,IAAKH,eAAe,CAAC5C,SAAS,IAAI4C,eAAe,CAAC5C,SAAS,KAAK,EAAE,EAAG;MACpE+C,YAAY,GAAGH,eAAe,CAAC5C,SAAS;IACzC,CAAC,MAAM;MACN+C,YAAY,GAAG5B,cAAc,GACzB,YAAYA,cAAgB,EAAC,GAC9BuB,SAAS;IACb;IAEA,IAAIM,aAAa;IACjB,IAAKJ,eAAe,CAACpC,UAAU,IAAIoC,eAAe,CAACK,GAAG,EAAG;MACxD;MACAD,aAAa,GAAG;QACfxC,UAAU,EAAEoC,eAAe,CAACpC,UAAU;QACtCyC,GAAG,EAAEL,eAAe,CAACK;MACtB,CAAC;IACF,CAAC,MAAM;MACN;MACAD,aAAa,GAAGxE,4BAA4B,CAC3CgC,UAAU,EACVT,UACD,CAAC;IACF;IAEA,OAAO;MACN,GAAGzB,sBAAsB,CAAEuE,KAAK,EAAEnC,QAAS,CAAC;MAC5C,GAAGnC,qBAAqB,CACvBsE,KAAK,EACLpC,MAAM,EACNmC,eAAe,EAAEM,eAClB,CAAC;MACD,GAAGF,aAAa;MAChBhD,SAAS,EAAE+C,YAAY;MACvBrC,QAAQ;MACRyC,OAAO,EAAEP,eAAe,CAACO,OAAO,IAAIN,KAAK,CAACM,OAAO,EAAEC,GAAG;MACtDC,GAAG,EAAET,eAAe,CAACS,GAAG,IAAIR,KAAK,CAACS;IACnC,CAAC;EACF;EAEA,SAASC,eAAeA,CAAEC,IAAI,EAAG;IAChC;IACA,MAAMC,cAAc,GACnBlG,QAAQ,CAACkC,QAAQ,IAAI+D,IAAI,CAACzB,EAAE,GACzBK,SAAS,CAACU,IAAI,CAAE,CAAE;MAAEf;IAAG,CAAC,KAAMA,EAAE,KAAKyB,IAAI,CAACzB,EAAG,CAAC,GAC9C,IAAI;IAER,MAAM2B,iBAAiB,GAAGD,cAAc,GACrCA,cAAc,EAAEE,UAAU,GAC1BH,IAAI,CAAC7D,IAAI;IAEZ,OACCL,mBAAmB,CAACsE,IAAI,CACrBC,SAAS,IAAMH,iBAAiB,EAAEI,OAAO,CAAED,SAAU,CAAC,KAAK,CAC9D,CAAC,IAAIL,IAAI,CAACxB,GAAG,EAAE8B,OAAO,CAAE,OAAQ,CAAC,KAAK,CAAC;EAEzC;EAEA,SAASC,YAAYA,CAAEC,cAAc,EAAG;IACvC,MAAMC,cAAc,GACnBC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAAEL,cAAe,CAAC,KAChD,mBAAmB;IAEpB,MAAMM,UAAU,GAAGL,cAAc,GAC9BM,KAAK,CAACC,IAAI,CAAER,cAAe,CAAC,CAACnC,GAAG,CAAI2B,IAAI,IAAM;MAC9C,IAAK,CAAEA,IAAI,CAACxB,GAAG,EAAG;QACjB,OAAO1D,sBAAsB,CAAE;UAC9B0D,GAAG,EAAE9D,aAAa,CAAEsF,IAAK;QAC1B,CAAE,CAAC;MACJ;MAEA,OAAOA,IAAI;IACX,CAAE,CAAC,GACHQ,cAAc;IAEjB,IAAK,CAAEM,UAAU,CAACG,KAAK,CAAElB,eAAgB,CAAC,EAAG;MAC5CvC,iBAAiB,CAChBtD,EAAE,CACD,8DACD,CAAC,EACD;QAAEqE,EAAE,EAAE,6BAA6B;QAAEpC,IAAI,EAAE;MAAW,CACvD,CAAC;IACF;IAEA,MAAM+E,eAAe,GAAGJ,UAAU,CAChCK,MAAM,CAAInB,IAAI,IAAMA,IAAI,CAACxB,GAAG,IAAIuB,eAAe,CAAEC,IAAK,CAAE,CAAC,CACzD3B,GAAG,CAAI2B,IAAI,IAAM;MACjB,IAAK,CAAEA,IAAI,CAACxB,GAAG,EAAG;QACjB,OAAO1D,sBAAsB,CAAE;UAC9B0D,GAAG,EAAE9D,aAAa,CAAEsF,IAAK;QAC1B,CAAE,CAAC;MACJ;MAEA,OAAOA,IAAI;IACZ,CAAE,CAAC;;IAEJ;IACA;IACA;IACA,MAAMoB,WAAW,GAAGF,eAAe,CAACG,MAAM,CACzC,CAAEC,MAAM,EAAEjC,KAAK,EAAEkC,KAAK,MACnBD,MAAM,CAAEjC,KAAK,CAACd,EAAE,CAAE,GAAGgD,KAAK,EAAID,MAAM,CACtC,EACD,CAAC,CACF,CAAC;IAED,MAAME,mBAAmB,GAAG,CAAEf,cAAc,GACzCzC,gBAAgB,CAACmD,MAAM,CAAI7C,KAAK,IAChC4C,eAAe,CAAC5B,IAAI,CACjBmC,GAAG,IAAMA,GAAG,CAAClD,EAAE,KAAKD,KAAK,CAAC/B,UAAU,CAACgC,EACxC,CACA,CAAC,GACDP,gBAAgB;IAEnB,MAAM0D,YAAY,GAAGR,eAAe,CAACC,MAAM,CACxCM,GAAG,IACJ,CAAED,mBAAmB,CAAClC,IAAI,CACvBqC,WAAW,IAAMF,GAAG,CAAClD,EAAE,KAAKoD,WAAW,CAACpF,UAAU,CAACgC,EACtD,CACF,CAAC;IAED,MAAMqD,SAAS,GAAGF,YAAY,CAACrD,GAAG,CAAIgB,KAAK,IAAM;MAChD,OAAO5E,WAAW,CAAE,YAAY,EAAE;QACjC8D,EAAE,EAAEc,KAAK,CAACd,EAAE;QACZC,GAAG,EAAEa,KAAK,CAACb,GAAG;QACdmB,OAAO,EAAEN,KAAK,CAACM,OAAO;QACtBE,GAAG,EAAER,KAAK,CAACQ;MACZ,CAAE,CAAC;IACJ,CAAE,CAAC;IAEHzC,kBAAkB,CACjBX,QAAQ,EACR+E,mBAAmB,CACjBK,MAAM,CAAED,SAAU,CAAC,CACnBE,IAAI,CACJ,CAAEC,CAAC,EAAEC,CAAC,KACLZ,WAAW,CAAEW,CAAC,CAACxF,UAAU,CAACgC,EAAE,CAAE,GAC9B6C,WAAW,CAAEY,CAAC,CAACzF,UAAU,CAACgC,EAAE,CAC9B,CACF,CAAC;;IAED;IACA,IAAKqD,SAAS,EAAEK,MAAM,GAAG,CAAC,EAAG;MAC5B3E,WAAW,CAAEsE,SAAS,CAAE,CAAC,CAAE,CAACnF,QAAS,CAAC;IACvC;EACD;EAEA,SAASyF,aAAaA,CAAEC,OAAO,EAAG;IACjC3E,iBAAiB,CAAE2E,OAAO,EAAE;MAAEhG,IAAI,EAAE;IAAW,CAAE,CAAC;EACnD;EAEA,SAASiG,SAASA,CAAExG,KAAK,EAAG;IAC3BU,aAAa,CAAE;MAAEW,MAAM,EAAErB;IAAM,CAAE,CAAC;IAClC,MAAMyG,iBAAiB,GAAG,CAAC,CAAC;IAC5B,MAAMC,MAAM,GAAG,EAAE;IACjB7E,QAAQ,CAAEhB,QAAS,CAAC,CAACyB,WAAW,CAACY,OAAO,CAAIR,KAAK,IAAM;MACtDgE,MAAM,CAACC,IAAI,CAAEjE,KAAK,CAAC7B,QAAS,CAAC;MAC7B,MAAM4C,KAAK,GAAGf,KAAK,CAAC/B,UAAU,CAACgC,EAAE,GAC9BK,SAAS,CAACU,IAAI,CAAE,CAAE;QAAEf;MAAG,CAAC,KAAMA,EAAE,KAAKD,KAAK,CAAC/B,UAAU,CAACgC,EAAG,CAAC,GAC1D,IAAI;MACP8D,iBAAiB,CAAE/D,KAAK,CAAC7B,QAAQ,CAAE,GAAG1B,qBAAqB,CAC1DsE,KAAK,EACLzD,KACD,CAAC;IACF,CAAE,CAAC;IACHyB,qBAAqB,CAAEiF,MAAM,EAAED,iBAAiB,EAAE,IAAK,CAAC;IACxD,MAAMG,UAAU,GAAG,CAAE,GAAG7G,WAAW,CAAE,CAAC2D,IAAI,CACvCmD,QAAQ,IAAMA,QAAQ,CAAC7G,KAAK,KAAKA,KACpC,CAAC;IAED2B,mBAAmB,CAClBnD,OAAO,EACN;IACAF,EAAE,CAAE,wCAAyC,CAAC,EAC9CsI,UAAU,CAAC3G,KACZ,CAAC,EACD;MACC0C,EAAE,EAAE,2BAA2B;MAC/BpC,IAAI,EAAE;IACP,CACD,CAAC;EACF;EAEA,SAASuG,gBAAgBA,CAAE9G,KAAK,EAAG;IAClCU,aAAa,CAAE;MAAEQ,OAAO,EAAElB;IAAM,CAAE,CAAC;EACpC;EAEA,SAAS+G,eAAeA,CAAA,EAAG;IAC1BrG,aAAa,CAAE;MAAES,SAAS,EAAE,CAAEA;IAAU,CAAE,CAAC;EAC5C;EAEA,SAAS6F,gBAAgBA,CAAEC,OAAO,EAAG;IACpC,OAAOA,OAAO,GACX3I,EAAE,CAAE,kCAAmC,CAAC,GACxCA,EAAE,CAAE,6BAA8B,CAAC;EACvC;EAEA,SAAS4I,kBAAkBA,CAAEC,YAAY,EAAG;IAC3C,MAAMvD,aAAa,GAAGuD,YAAY,GAAG,QAAQ,GAAG7D,SAAS;IACzD5C,aAAa,CAAE;MAAEU,UAAU,EAAEwC;IAAc,CAAE,CAAC;IAC9C,MAAM6C,iBAAiB,GAAG,CAAC,CAAC;IAC5B,MAAMC,MAAM,GAAG,EAAE;IACjB7E,QAAQ,CAAEhB,QAAS,CAAC,CAACyB,WAAW,CAACY,OAAO,CAAIR,KAAK,IAAM;MACtDgE,MAAM,CAACC,IAAI,CAAEjE,KAAK,CAAC7B,QAAS,CAAC;MAC7B4F,iBAAiB,CAAE/D,KAAK,CAAC7B,QAAQ,CAAE,GAAGzB,4BAA4B,CACjEwE,aAAa,EACblB,KAAK,CAAC/B,UACP,CAAC;IACF,CAAE,CAAC;IACHc,qBAAqB,CAAEiF,MAAM,EAAED,iBAAiB,EAAE,IAAK,CAAC;IACxD,MAAMW,UAAU,GAAGD,YAAY,GAC5B7I,EAAE,CAAE,+CAAgD,CAAC,GACrDA,EAAE,CAAE,mDAAoD,CAAC;IAC5DqD,mBAAmB,CAAEyF,UAAU,EAAE;MAChCzE,EAAE,EAAE,iCAAiC;MACrCpC,IAAI,EAAE;IACP,CAAE,CAAC;EACJ;EAEA,SAAS8G,gBAAgBA,CAAEC,WAAW,EAAG;IACxC5G,aAAa,CAAE;MAAEY,QAAQ,EAAEgG;IAAY,CAAE,CAAC;IAC1C,MAAMb,iBAAiB,GAAG,CAAC,CAAC;IAC5B,MAAMC,MAAM,GAAG,EAAE;IACjB7E,QAAQ,CAAEhB,QAAS,CAAC,CAACyB,WAAW,CAACY,OAAO,CAAIR,KAAK,IAAM;MACtDgE,MAAM,CAACC,IAAI,CAAEjE,KAAK,CAAC7B,QAAS,CAAC;MAC7B,MAAM4C,KAAK,GAAGf,KAAK,CAAC/B,UAAU,CAACgC,EAAE,GAC9BK,SAAS,CAACU,IAAI,CAAE,CAAE;QAAEf;MAAG,CAAC,KAAMA,EAAE,KAAKD,KAAK,CAAC/B,UAAU,CAACgC,EAAG,CAAC,GAC1D,IAAI;MACP8D,iBAAiB,CAAE/D,KAAK,CAAC7B,QAAQ,CAAE,GAAGxB,sBAAsB,CAC3DoE,KAAK,EACL6D,WACD,CAAC;IACF,CAAE,CAAC;IACH7F,qBAAqB,CAAEiF,MAAM,EAAED,iBAAiB,EAAE,IAAK,CAAC;IACxD,MAAMc,SAAS,GAAGhE,gBAAgB,CAACG,IAAI,CACpC8D,IAAI,IAAMA,IAAI,CAACxH,KAAK,KAAKsH,WAC5B,CAAC;IAED3F,mBAAmB,CAClBnD,OAAO,EACN;IACAF,EAAE,CAAE,wCAAyC,CAAC,EAC9CiJ,SAAS,CAACtH,KACX,CAAC,EACD;MACC0C,EAAE,EAAE,6BAA6B;MACjCpC,IAAI,EAAE;IACP,CACD,CAAC;EACF;EAEAnC,SAAS,CAAE,MAAM;IAChB;IACA,IAAK,CAAEiD,MAAM,EAAG;MACfE,uCAAuC,CAAC,CAAC;MACzCb,aAAa,CAAE;QACdW,MAAM,EACLoG,MAAM,EAAEC,EAAE,EAAEC,KAAK,EAAEC,IAAI,EAAE3F,QAAQ,EAAE4F,YAAY,EAAEC,IAAI,IACrDrI;MACF,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAE4B,MAAM,CAAG,CAAC;EAEf,MAAM0G,SAAS,GAAG,CAAC,CAAEvF,MAAM,CAAC6D,MAAM;EAClC,MAAM2B,WAAW,GAAGD,SAAS,IAAIvF,MAAM,CAACgC,IAAI,CAAIf,KAAK,IAAM,CAAC,CAAEA,KAAK,CAACd,EAAG,CAAC;EACxE,MAAMsF,eAAe,GAAGzF,MAAM,CAACgC,IAAI,CAAIqB,GAAG,IACzC,CAAE1H,QAAQ,CAACkC,QAAQ,GAChB,CAAEwF,GAAG,CAAClD,EAAE,IAAIkD,GAAG,CAACjD,GAAG,EAAE8B,OAAO,CAAE,OAAQ,CAAC,KAAK,CAAC,GAC7CmB,GAAG,CAACjD,GAAG,EAAE8B,OAAO,CAAE,OAAQ,CAAC,KAAK,CACpC,CAAC;;EAED;EACA,MAAMwD,qBAAqB,GAAG/J,QAAQ,CAAC6D,MAAM,CAAE;IAC9CmG,GAAG,EAAE;MACJC,YAAY,EAAE,KAAK;MACnBC,mBAAmB,EAAEJ,eAAe;MACpCjI,KAAK,EAAE,CAAC;IACT,CAAC;IACDsI,MAAM,EAAE;MACPF,YAAY,EAAEJ,WAAW;MACzBO,UAAU,EAAER,SAAS;MACrBM,mBAAmB,EAChBN,SAAS,IAAI,CAAEjH,UAAU,IAAMmH,eAAe;MACjDjI,KAAK,EAAEgI,WAAW,GAAGxF,MAAM,GAAG,CAAC,CAAC;MAChCgG,mBAAmB,EAClB,CAAET,SAAS,IAAIjH,UAAU,IAAIyB,oBAAoB;MAClDtB;IACD;EACD,CAAE,CAAC;EACH,MAAMwH,gBAAgB,GACrBC,aAAA,CAAC7K,gBAAgB;IAChB8K,YAAY,EAAG,KAAO;IACtBC,IAAI,EAAG5J,UAAY;IACnB6J,MAAM,EAAG;MACRC,KAAK,EAAExK,EAAE,CAAE,SAAU,CAAC;MACtByK,YAAY,EAAE3I;IACf,CAAG;IACH4I,QAAQ,EAAGrE,YAAc;IACzBsE,MAAM,EAAC,SAAS;IAChBC,YAAY,EAAGhJ,mBAAqB;IACpCiJ,QAAQ;IACRC,OAAO,EAAG9C,aAAe;IAAA,GACpB4B;EAAqB,CAC1B,CACD;EAED,MAAMmB,UAAU,GAAGtL,aAAa,CAAE;IACjC6C,SAAS,EAAEzD,UAAU,CAAEyD,SAAS,EAAE,mBAAoB;EACvD,CAAE,CAAC;EAEH,MAAM0I,qBAAqB,GAAGnL,QAAQ,CAACkC,QAAQ,IAAI;IAClDkJ,gBAAgB,EAAE,CAAC;IACnBC,cAAc,EAAE;EACjB,CAAC;EAED,MAAMC,gBAAgB,GAAGzL,mBAAmB,CAAEqL,UAAU,EAAE;IACzDlJ,aAAa;IACbuJ,WAAW,EAAE,YAAY;IACzBC,cAAc,EAAE,KAAK;IACrB,GAAGL;EACJ,CAAE,CAAC;EAEH,IAAK,CAAEvB,SAAS,EAAG;IAClB,OACCW,aAAA,CAAC9J,IAAI;MAAA,GAAM6K;IAAgB,GACxBA,gBAAgB,CAACG,QAAQ,EACzBnB,gBACG,CAAC;EAET;EAEA,MAAMoB,SAAS,GAAGxI,MAAM,IAAIA,MAAM,KAAK,MAAM;EAE7C,OACCqH,aAAA,CAAAoB,QAAA,QACCpB,aAAA,CAAC5K,iBAAiB,QACjB4K,aAAA,CAACpL,SAAS;IAACwL,KAAK,EAAGxK,EAAE,CAAE,UAAW;EAAG,GAClCkE,MAAM,CAAC6D,MAAM,GAAG,CAAC,IAClBqC,aAAA,CAACjL,YAAY;IACZsM,uBAAuB;IACvB9J,KAAK,EAAG3B,EAAE,CAAE,SAAU,CAAG;IACzB0B,KAAK,EACJkB,OAAO,GACJA,OAAO,GACPjC,oBAAoB,CAAEuD,MAAM,CAAC6D,MAAO,CACvC;IACD2D,QAAQ,EAAGlD,gBAAkB;IAC7BmD,GAAG,EAAG,CAAG;IACTC,GAAG,EAAGC,IAAI,CAACF,GAAG,CAAEnK,WAAW,EAAE0C,MAAM,CAAC6D,MAAO,CAAG;IAAA,GACzC/F,kCAAkC;IACvC8J,QAAQ;IACRC,qBAAqB;EAAA,CACrB,CACD,EACD3B,aAAA,CAAClL,aAAa;IACbuM,uBAAuB;IACvB9J,KAAK,EAAG3B,EAAE,CAAE,aAAc,CAAG;IAC7B2I,OAAO,EAAG,CAAC,CAAE9F,SAAW;IACxB6I,QAAQ,EAAGjD,eAAiB;IAC5BuD,IAAI,EAAGtD;EAAkB,CACzB,CAAC,EACF0B,aAAA,CAACnL,aAAa;IACbwM,uBAAuB;IACvB9J,KAAK,EAAG3B,EAAE,CAAE,SAAU,CAAG;IACzB0B,KAAK,EAAGqB,MAAQ;IAChB2I,QAAQ,EAAGxD,SAAW;IACtB+D,OAAO,EAAGxK,WAAa;IACvByK,gBAAgB,EAAG,IAAM;IACzBhD,IAAI,EAAC;EAAkB,CACvB,CAAC,EACAqC,SAAS,IACVnB,aAAA,CAAClL,aAAa;IACbuM,uBAAuB;IACvB9J,KAAK,EAAG3B,EAAE,CAAE,iBAAkB,CAAG;IACjC2I,OAAO,EAAG7F,UAAU,KAAK,QAAU;IACnC4I,QAAQ,EAAG9C;EAAoB,CAC/B,CACD,EACC3D,gBAAgB,EAAE8C,MAAM,GAAG,CAAC,IAC7BqC,aAAA,CAACnL,aAAa;IACbwM,uBAAuB;IACvB9J,KAAK,EAAG3B,EAAE,CAAE,YAAa,CAAG;IAC5BgM,IAAI,EAAGhM,EAAE,CACR,uCACD,CAAG;IACH0B,KAAK,EAAGsB,QAAU;IAClBiJ,OAAO,EAAGhH,gBAAkB;IAC5ByG,QAAQ,EAAG3C,gBAAkB;IAC7BmD,gBAAgB,EAAG,IAAM;IACzBhD,IAAI,EAAC;EAAkB,CACvB,CACD,EACCrJ,QAAQ,CAACsM,KAAK,IAAI,CAAElH,gBAAgB,IAAIyE,WAAW,IACpDU,aAAA,CAACrL,WAAW;IAACuD,SAAS,EAAG;EAAuB,GAC/C8H,aAAA,CAACrL,WAAW,CAACqN,WAAW,QACrBpM,EAAE,CAAE,YAAa,CACK,CAAC,EAC1BoK,aAAA,CAAC9J,IAAI;IAACgC,SAAS,EAAG;EAAgC,GACjD8H,aAAA,CAAChL,OAAO,MAAE,CAAC,EACTY,EAAE,CAAE,kBAAmB,CACpB,CACM,CAEJ,CACO,CAAC,EAClBH,QAAQ,CAACsM,KAAK,IACf/B,aAAA,CAAAoB,QAAA,QACCpB,aAAA,CAACzK,aAAa;IAAC0M,KAAK,EAAC;EAAO,GAC3BjC,aAAA,CAACxK,gBAAgB;IAChBgL,YAAY,EAAGhJ,mBAAqB;IACpC+I,MAAM,EAAC,SAAS;IAChBN,YAAY,EAAG,KAAO;IACtBK,QAAQ,EAAGrE,YAAc;IACzBiG,IAAI,EAAGtM,EAAE,CAAE,KAAM,CAAG;IACpB6K,QAAQ,EAAG,IAAM;IACjB0B,QAAQ,EAAGrI,MAAM,CACf+C,MAAM,CAAI9B,KAAK,IAAMA,KAAK,CAACd,EAAG,CAAC,CAC/BF,GAAG,CAAIgB,KAAK,IAAMA,KAAK,CAACd,EAAG,CAAG;IAChCyF,YAAY,EAAGJ;EAAa,CAC5B,CACa,CAAC,EAChBU,aAAA,CAAC7I,SAAS;IACTiL,QAAQ,EAAGnK,UAAU,CAACoK,KAAK,EAAEC,OAAO,EAAEF,QAAU;IAChDjK,QAAQ,EAAGA;EAAU,CACrB,CACA,CACF,EACD6H,aAAA,CAACpJ,OAAO;IAAA,GACFmB,KAAK;IACVO,eAAe,EAAGA,eAAiB;IACnCwB,MAAM,EAAGA,MAAQ;IACjBiG,gBAAgB,EACf,CAAEV,SAAS,IAAI5J,QAAQ,CAACkC,QAAQ,GAC7BoI,gBAAgB,GAChBnF,SACH;IACD+F,UAAU,EAAGI,gBAAkB;IAC/B1I,iBAAiB,EAAGA;EAAmB,CACvC,CACA,CAAC;AAEL;AACA,eAAe3D,OAAO,CAAE,CAAEuB,iBAAiB,CAAE;EAAEsM,QAAQ,EAAE;AAAU,CAAE,CAAC,CAAG,CAAC,CACzEzK,WACD,CAAC"}
|
|
1
|
+
{"version":3,"names":["classnames","compose","BaseControl","PanelBody","SelectControl","ToggleControl","RangeControl","Spinner","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","allowedBlocks","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","preferredStyle","innerBlockImages","blockWasJustInserted","multiGallerySelection","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","preferredStyleVariations","__experimentalPreferredStyleVariations","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","settings","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","createElement","handleUpload","icon","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","orientation","renderAppender","children","hasLinkTo","Fragment","__nextHasNoMarginBottom","onChange","min","max","Math","required","__next40pxDefaultSize","help","options","hideCancelButton","isWeb","VisualLabel","group","name","mediaIds","blockGap","style","spacing","isNarrow"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst allowedBlocks = [ 'core/image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst EMPTY_ARRAY = [];\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tpreferredStyle,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst preferredStyleVariations =\n\t\t\t\t_getSettings().__experimentalPreferredStyleVariations;\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tpreferredStyle:\n\t\t\t\t\tpreferredStyleVariations?.value?.[ 'core/image' ],\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Random order' ) }\n\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple={ true }\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"],"mappings":"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"}
|
|
@@ -23,7 +23,8 @@ export default function Gallery(props) {
|
|
|
23
23
|
insertBlocksAfter,
|
|
24
24
|
blockProps,
|
|
25
25
|
__unstableLayoutClassNames: layoutClassNames,
|
|
26
|
-
isContentLocked
|
|
26
|
+
isContentLocked,
|
|
27
|
+
multiGallerySelection
|
|
27
28
|
} = props;
|
|
28
29
|
const {
|
|
29
30
|
align,
|
|
@@ -45,7 +46,7 @@ export default function Gallery(props) {
|
|
|
45
46
|
setAttributes: setAttributes,
|
|
46
47
|
isSelected: isSelected,
|
|
47
48
|
insertBlocksAfter: insertBlocksAfter,
|
|
48
|
-
showToolbarButton: !isContentLocked,
|
|
49
|
+
showToolbarButton: !multiGallerySelection && !isContentLocked,
|
|
49
50
|
className: "blocks-gallery-caption",
|
|
50
51
|
label: __('Gallery caption text'),
|
|
51
52
|
placeholder: __('Add gallery caption')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__","View","Caption","Gallery","props","attributes","isSelected","setAttributes","mediaPlaceholder","insertBlocksAfter","blockProps","__unstableLayoutClassNames","layoutClassNames","isContentLocked","align","columns","imageCrop","createElement","className","undefined","children","showToolbarButton","label","placeholder"],"sources":["@wordpress/block-library/src/gallery/gallery.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { View } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { Caption } from '../utils/caption';\n\nexport default function Gallery( props ) {\n\tconst {\n\t\tattributes,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tmediaPlaceholder,\n\t\tinsertBlocksAfter,\n\t\tblockProps,\n\t\t__unstableLayoutClassNames: layoutClassNames,\n\t\tisContentLocked,\n\t} = props;\n\n\tconst { align, columns, imageCrop } = attributes;\n\n\treturn (\n\t\t<figure\n\t\t\t{ ...blockProps }\n\t\t\tclassName={ classnames(\n\t\t\t\tblockProps.className,\n\t\t\t\tlayoutClassNames,\n\t\t\t\t'blocks-gallery-grid',\n\t\t\t\t{\n\t\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t\t\t\t[ `columns-default` ]: columns === undefined,\n\t\t\t\t\t'is-cropped': imageCrop,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t{ blockProps.children }\n\t\t\t{ isSelected && ! blockProps.children && (\n\t\t\t\t<View className=\"blocks-gallery-media-placeholder-wrapper\">\n\t\t\t\t\t{ mediaPlaceholder }\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t<Caption\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tshowToolbarButton={ ! isContentLocked
|
|
1
|
+
{"version":3,"names":["classnames","__","View","Caption","Gallery","props","attributes","isSelected","setAttributes","mediaPlaceholder","insertBlocksAfter","blockProps","__unstableLayoutClassNames","layoutClassNames","isContentLocked","multiGallerySelection","align","columns","imageCrop","createElement","className","undefined","children","showToolbarButton","label","placeholder"],"sources":["@wordpress/block-library/src/gallery/gallery.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { View } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { Caption } from '../utils/caption';\n\nexport default function Gallery( props ) {\n\tconst {\n\t\tattributes,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tmediaPlaceholder,\n\t\tinsertBlocksAfter,\n\t\tblockProps,\n\t\t__unstableLayoutClassNames: layoutClassNames,\n\t\tisContentLocked,\n\t\tmultiGallerySelection,\n\t} = props;\n\n\tconst { align, columns, imageCrop } = attributes;\n\n\treturn (\n\t\t<figure\n\t\t\t{ ...blockProps }\n\t\t\tclassName={ classnames(\n\t\t\t\tblockProps.className,\n\t\t\t\tlayoutClassNames,\n\t\t\t\t'blocks-gallery-grid',\n\t\t\t\t{\n\t\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t\t\t\t[ `columns-default` ]: columns === undefined,\n\t\t\t\t\t'is-cropped': imageCrop,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t{ blockProps.children }\n\t\t\t{ isSelected && ! blockProps.children && (\n\t\t\t\t<View className=\"blocks-gallery-media-placeholder-wrapper\">\n\t\t\t\t\t{ mediaPlaceholder }\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t<Caption\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tshowToolbarButton={\n\t\t\t\t\t! multiGallerySelection && ! isContentLocked\n\t\t\t\t}\n\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\tlabel={ __( 'Gallery caption text' ) }\n\t\t\t\tplaceholder={ __( 'Add gallery caption' ) }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,QAAQ,uBAAuB;;AAE5C;AACA;AACA;AACA,SAASC,OAAO,QAAQ,kBAAkB;AAE1C,eAAe,SAASC,OAAOA,CAAEC,KAAK,EAAG;EACxC,MAAM;IACLC,UAAU;IACVC,UAAU;IACVC,aAAa;IACbC,gBAAgB;IAChBC,iBAAiB;IACjBC,UAAU;IACVC,0BAA0B,EAAEC,gBAAgB;IAC5CC,eAAe;IACfC;EACD,CAAC,GAAGV,KAAK;EAET,MAAM;IAAEW,KAAK;IAAEC,OAAO;IAAEC;EAAU,CAAC,GAAGZ,UAAU;EAEhD,OACCa,aAAA;IAAA,GACMR,UAAU;IACfS,SAAS,EAAGpB,UAAU,CACrBW,UAAU,CAACS,SAAS,EACpBP,gBAAgB,EAChB,qBAAqB,EACrB;MACC,CAAG,QAAQG,KAAO,EAAC,GAAIA,KAAK;MAC5B,CAAG,WAAWC,OAAS,EAAC,GAAIA,OAAO,KAAKI,SAAS;MACjD,CAAG,iBAAgB,GAAIJ,OAAO,KAAKI,SAAS;MAC5C,YAAY,EAAEH;IACf,CACD;EAAG,GAEDP,UAAU,CAACW,QAAQ,EACnBf,UAAU,IAAI,CAAEI,UAAU,CAACW,QAAQ,IACpCH,aAAA,CAACjB,IAAI;IAACkB,SAAS,EAAC;EAA0C,GACvDX,gBACG,CACN,EACDU,aAAA,CAAChB,OAAO;IACPG,UAAU,EAAGA,UAAY;IACzBE,aAAa,EAAGA,aAAe;IAC/BD,UAAU,EAAGA,UAAY;IACzBG,iBAAiB,EAAGA,iBAAmB;IACvCa,iBAAiB,EAChB,CAAER,qBAAqB,IAAI,CAAED,eAC7B;IACDM,SAAS,EAAC,wBAAwB;IAClCI,KAAK,EAAGvB,EAAE,CAAE,sBAAuB,CAAG;IACtCwB,WAAW,EAAGxB,EAAE,CAAE,qBAAsB;EAAG,CAC3C,CACM,CAAC;AAEX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["gallery","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","images","type","source","selector","query","url","attribute","fullUrl","link","alt","id","caption","ids","items","shortCodeTransforms","columns","minimum","maximum","imageCrop","fixedHeight","linkTarget","linkTo","sizeSlug","allowResize","providesContext","supports","anchor","align","html","units","spacing","margin","padding","blockGap","__experimentalSkipSerialization","__experimentalDefaultControls","color","text","background","gradients","layout","allowSwitching","allowInheriting","allowEditing","editorStyle","style","save","transforms","settings","example","innerBlocks","init"],"sources":["@wordpress/block-library/src/gallery/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { gallery as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit-wrapper';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcolumns: 2,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,IAAI,QAAQ,kBAAkB;;AAElD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,gBAAgB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,MAAA;MAAAC,IAAA;MAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,KAAA;QAAAC,GAAA;UAAAJ,IAAA;UAAAC,MAAA;UAAAC,QAAA;UAAAG,SAAA;QAAA;QAAAC,OAAA;UAAAN,IAAA;UAAAC,MAAA;UAAAC,QAAA;UAAAG,SAAA;QAAA;QAAAE,IAAA;UAAAP,IAAA;UAAAC,MAAA;UAAAC,QAAA;UAAAG,SAAA;QAAA;QAAAG,GAAA;UAAAR,IAAA;UAAAC,MAAA;UAAAC,QAAA;UAAAG,SAAA;UAAA;QAAA;QAAAI,EAAA;UAAAT,IAAA;UAAAC,MAAA;UAAAC,QAAA;UAAAG,SAAA;QAAA;QAAAK,OAAA;UAAAV,IAAA;UAAAC,MAAA;UAAAC,QAAA;QAAA;MAAA;IAAA;IAAAS,GAAA;MAAAX,IAAA;MAAAY,KAAA;QAAAZ,IAAA;MAAA;MAAA;IAAA;IAAAa,mBAAA;MAAAb,IAAA;MAAAY,KAAA;QAAAZ,IAAA;MAAA;MAAA;IAAA;IAAAc,OAAA;MAAAd,IAAA;MAAAe,OAAA;MAAAC,OAAA;IAAA;IAAAN,OAAA;MAAAV,IAAA;MAAAC,MAAA;MAAAC,QAAA;IAAA;IAAAe,SAAA;MAAAjB,IAAA;MAAA;IAAA;IAAAkB,WAAA;MAAAlB,IAAA;MAAA;IAAA;IAAAmB,
|
|
1
|
+
{"version":3,"names":["gallery","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","images","type","source","selector","query","url","attribute","fullUrl","link","alt","id","caption","ids","items","shortCodeTransforms","columns","minimum","maximum","imageCrop","randomOrder","fixedHeight","linkTarget","linkTo","sizeSlug","allowResize","providesContext","supports","anchor","align","html","units","spacing","margin","padding","blockGap","__experimentalSkipSerialization","__experimentalDefaultControls","color","text","background","gradients","layout","allowSwitching","allowInheriting","allowEditing","editorStyle","style","save","transforms","settings","example","innerBlocks","init"],"sources":["@wordpress/block-library/src/gallery/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { gallery as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit-wrapper';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcolumns: 2,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,IAAI,QAAQ,kBAAkB;;AAElD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,gBAAgB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,MAAA;MAAAC,IAAA;MAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,KAAA;QAAAC,GAAA;UAAAJ,IAAA;UAAAC,MAAA;UAAAC,QAAA;UAAAG,SAAA;QAAA;QAAAC,OAAA;UAAAN,IAAA;UAAAC,MAAA;UAAAC,QAAA;UAAAG,SAAA;QAAA;QAAAE,IAAA;UAAAP,IAAA;UAAAC,MAAA;UAAAC,QAAA;UAAAG,SAAA;QAAA;QAAAG,GAAA;UAAAR,IAAA;UAAAC,MAAA;UAAAC,QAAA;UAAAG,SAAA;UAAA;QAAA;QAAAI,EAAA;UAAAT,IAAA;UAAAC,MAAA;UAAAC,QAAA;UAAAG,SAAA;QAAA;QAAAK,OAAA;UAAAV,IAAA;UAAAC,MAAA;UAAAC,QAAA;QAAA;MAAA;IAAA;IAAAS,GAAA;MAAAX,IAAA;MAAAY,KAAA;QAAAZ,IAAA;MAAA;MAAA;IAAA;IAAAa,mBAAA;MAAAb,IAAA;MAAAY,KAAA;QAAAZ,IAAA;MAAA;MAAA;IAAA;IAAAc,OAAA;MAAAd,IAAA;MAAAe,OAAA;MAAAC,OAAA;IAAA;IAAAN,OAAA;MAAAV,IAAA;MAAAC,MAAA;MAAAC,QAAA;IAAA;IAAAe,SAAA;MAAAjB,IAAA;MAAA;IAAA;IAAAkB,WAAA;MAAAlB,IAAA;MAAA;IAAA;IAAAmB,WAAA;MAAAnB,IAAA;MAAA;IAAA;IAAAoB,UAAA;MAAApB,IAAA;IAAA;IAAAqB,MAAA;MAAArB,IAAA;IAAA;IAAAsB,QAAA;MAAAtB,IAAA;MAAA;IAAA;IAAAuB,WAAA;MAAAvB,IAAA;MAAA;IAAA;EAAA;EAAAwB,eAAA;IAAAD,WAAA;IAAAN,SAAA;IAAAE,WAAA;EAAA;EAAAM,QAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,KAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,QAAA;MAAAC,+BAAA;MAAAC,6BAAA;QAAAF,QAAA;QAAAF,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAI,KAAA;MAAAC,IAAA;MAAAC,UAAA;MAAAC,SAAA;IAAA;IAAAC,MAAA;MAAAC,cAAA;MAAAC,eAAA;MAAAC,YAAA;MAAA;QAAA3C,IAAA;MAAA;IAAA;EAAA;EAAA4C,WAAA;EAAAC,KAAA;AAAA;AAElC,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAEvD;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMwD,QAAQ,GAAG;EACvB/D,IAAI;EACJgE,OAAO,EAAE;IACRnD,UAAU,EAAE;MACXgB,OAAO,EAAE;IACV,CAAC;IACDoC,WAAW,EAAE,CACZ;MACC1D,IAAI,EAAE,YAAY;MAClBM,UAAU,EAAE;QACXM,GAAG,EAAE;MACN;IACD,CAAC,EACD;MACCZ,IAAI,EAAE,YAAY;MAClBM,UAAU,EAAE;QACXM,GAAG,EAAE;MACN;IACD,CAAC;EAEH,CAAC;EACD2C,UAAU;EACV3D,IAAI;EACJ0D,IAAI;EACJ3D;AACD,CAAC;AAED,OAAO,MAAMgE,IAAI,GAAGA,CAAA,KAAMjE,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAE2D;AAAS,CAAE,CAAC"}
|