@wordpress/block-library 6.0.9 → 6.0.13
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/build/cover/edit.js +9 -3
- package/build/cover/edit.js.map +1 -1
- package/build/gallery/deprecated.js +314 -26
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit-wrapper.js +10 -27
- package/build/gallery/edit-wrapper.js.map +1 -1
- package/build/gallery/edit.js +11 -13
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/save.js +3 -3
- package/build/gallery/save.js.map +1 -1
- package/build/gallery/shared.js +24 -0
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +8 -22
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-mobile-warning.js +1 -1
- package/build/gallery/use-mobile-warning.js.map +1 -1
- package/build/gallery/v1/edit.js +2 -21
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/index.js +3 -2
- package/build/index.js.map +1 -1
- package/build/navigation/deprecated.js +127 -19
- package/build/navigation/deprecated.js.map +1 -1
- package/build/navigation/edit/index.js +46 -31
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +0 -4
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +2 -2
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +16 -48
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +4 -35
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +50 -0
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -0
- package/build/navigation/edit/use-generate-default-navigation-title.js +73 -0
- package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -0
- package/build/navigation/index.js +1 -1
- package/build/navigation/save.js +2 -2
- package/build/navigation/save.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +19 -8
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -0
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/pattern/index.js +1 -1
- package/build/post-featured-image/edit.js +2 -3
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-terms/index.js +1 -1
- package/build/post-title/edit.js +2 -2
- package/build/post-title/edit.js.map +1 -1
- package/build/query-pagination/index.js +1 -1
- package/build/query-pagination-next/index.js +2 -2
- package/build/query-pagination-numbers/index.js +1 -1
- package/build/query-pagination-previous/index.js +2 -2
- package/build/query-title/index.js +1 -1
- package/build/separator/separator-settings.js +1 -0
- package/build/separator/separator-settings.js.map +1 -1
- package/build/site-logo/index.js +1 -1
- package/build/site-tagline/index.js +1 -1
- package/build/site-title/index.js +1 -1
- package/build/social-links/edit.js +1 -0
- package/build/social-links/edit.js.map +1 -1
- package/build/template-part/edit/placeholder/index.js +1 -1
- package/build/template-part/edit/placeholder/index.js.map +1 -1
- package/build/template-part/index.js +2 -1
- package/build/template-part/index.js.map +1 -1
- package/build-module/cover/edit.js +9 -3
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/gallery/deprecated.js +309 -27
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit-wrapper.js +7 -27
- package/build-module/gallery/edit-wrapper.js.map +1 -1
- package/build-module/gallery/edit.js +11 -13
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/save.js +2 -3
- package/build-module/gallery/save.js.map +1 -1
- package/build-module/gallery/shared.js +22 -0
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +9 -21
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-mobile-warning.js +1 -1
- package/build-module/gallery/use-mobile-warning.js.map +1 -1
- package/build-module/gallery/v1/edit.js +4 -22
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/index.js +3 -2
- package/build-module/index.js.map +1 -1
- package/build-module/navigation/deprecated.js +127 -19
- package/build-module/navigation/deprecated.js.map +1 -1
- package/build-module/navigation/edit/index.js +47 -31
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +0 -4
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +2 -2
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +15 -45
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +6 -35
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +36 -0
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -0
- package/build-module/navigation/edit/use-generate-default-navigation-title.js +57 -0
- package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -0
- package/build-module/navigation/index.js +1 -1
- package/build-module/navigation/save.js +2 -2
- package/build-module/navigation/save.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +19 -8
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -0
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/pattern/index.js +1 -1
- package/build-module/post-featured-image/edit.js +2 -3
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-terms/index.js +1 -1
- package/build-module/post-title/edit.js +2 -2
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/query-pagination/index.js +1 -1
- package/build-module/query-pagination-next/index.js +2 -2
- package/build-module/query-pagination-numbers/index.js +1 -1
- package/build-module/query-pagination-previous/index.js +2 -2
- package/build-module/query-title/index.js +1 -1
- package/build-module/separator/separator-settings.js +1 -0
- package/build-module/separator/separator-settings.js.map +1 -1
- package/build-module/site-logo/index.js +1 -1
- package/build-module/site-tagline/index.js +1 -1
- package/build-module/site-title/index.js +1 -1
- package/build-module/social-links/edit.js +1 -0
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/template-part/edit/placeholder/index.js +2 -2
- package/build-module/template-part/edit/placeholder/index.js.map +1 -1
- package/build-module/template-part/index.js +2 -1
- package/build-module/template-part/index.js.map +1 -1
- package/build-style/columns/editor-rtl.css +1 -1
- package/build-style/columns/editor.css +1 -1
- package/build-style/editor-rtl.css +6 -5
- package/build-style/editor.css +6 -5
- package/build-style/gallery/editor-rtl.css +1 -0
- package/build-style/gallery/editor.css +1 -0
- package/build-style/navigation/style-rtl.css +5 -1
- package/build-style/navigation/style.css +5 -1
- package/build-style/post-featured-image/editor-rtl.css +2 -2
- package/build-style/post-featured-image/editor.css +2 -2
- package/build-style/site-logo/editor-rtl.css +2 -2
- package/build-style/site-logo/editor.css +2 -2
- package/build-style/style-rtl.css +5 -1
- package/build-style/style.css +5 -1
- package/package.json +9 -9
- package/src/calendar/index.php +2 -2
- package/src/columns/editor.scss +3 -2
- package/src/cover/edit.js +9 -1
- package/src/gallery/deprecated.js +831 -559
- package/src/gallery/edit-wrapper.js +7 -27
- package/src/gallery/edit.js +11 -13
- package/src/gallery/editor.scss +1 -0
- package/src/gallery/save.js +2 -1
- package/src/gallery/shared.js +24 -0
- package/src/gallery/transforms.js +9 -27
- package/src/gallery/use-mobile-warning.js +1 -1
- package/src/gallery/v1/edit.js +1 -28
- package/src/index.js +27 -25
- package/src/navigation/block.json +1 -1
- package/src/navigation/deprecated.js +115 -13
- package/src/navigation/edit/index.js +44 -36
- package/src/navigation/edit/inner-blocks.js +0 -5
- package/src/navigation/edit/navigation-menu-selector.js +2 -2
- package/src/navigation/edit/placeholder/index.js +16 -62
- package/src/navigation/edit/unsaved-inner-blocks.js +6 -57
- package/src/navigation/edit/use-create-navigation-menu.js +39 -0
- package/src/navigation/edit/use-generate-default-navigation-title.js +79 -0
- package/src/navigation/index.php +263 -26
- package/src/navigation/save.js +2 -2
- package/src/navigation/style.scss +5 -1
- package/src/navigation/use-navigation-menu.js +20 -9
- package/src/navigation-submenu/edit.js +6 -0
- package/src/navigation-submenu/index.php +30 -45
- package/src/page-list/index.php +10 -9
- package/src/pattern/block.json +1 -1
- package/src/post-featured-image/edit.js +2 -5
- package/src/post-featured-image/editor.scss +2 -2
- package/src/post-terms/block.json +1 -1
- package/src/post-title/edit.js +2 -2
- package/src/query-pagination/block.json +1 -1
- package/src/query-pagination-next/block.json +2 -2
- package/src/query-pagination-numbers/block.json +1 -1
- package/src/query-pagination-previous/block.json +2 -2
- package/src/query-title/block.json +1 -1
- package/src/separator/separator-settings.js +1 -0
- package/src/site-logo/block.json +1 -1
- package/src/site-logo/editor.scss +2 -2
- package/src/site-tagline/block.json +1 -1
- package/src/site-title/block.json +1 -1
- package/src/social-links/edit.js +1 -0
- package/src/template-part/block.json +2 -1
- package/src/template-part/edit/placeholder/index.js +2 -2
- package/src/template-part/index.php +38 -1
- package/build/gallery/v1/update-gallery-modal.js +0 -114
- package/build/gallery/v1/update-gallery-modal.js.map +0 -1
- package/build/navigation/edit/navigation-menu-name-modal.js +0 -55
- package/build/navigation/edit/navigation-menu-name-modal.js.map +0 -1
- package/build/navigation/edit/navigation-menu-publish-button.js +0 -53
- package/build/navigation/edit/navigation-menu-publish-button.js.map +0 -1
- package/build-module/gallery/v1/update-gallery-modal.js +0 -97
- package/build-module/gallery/v1/update-gallery-modal.js.map +0 -1
- package/build-module/navigation/edit/navigation-menu-name-modal.js +0 -47
- package/build-module/navigation/edit/navigation-menu-name-modal.js.map +0 -1
- package/build-module/navigation/edit/navigation-menu-publish-button.js +0 -40
- package/build-module/navigation/edit/navigation-menu-publish-button.js.map +0 -1
- package/src/gallery/v1/update-gallery-modal.js +0 -97
- package/src/navigation/edit/navigation-menu-name-modal.js +0 -69
- package/src/navigation/edit/navigation-menu-publish-button.js +0 -57
|
@@ -11,10 +11,6 @@ var _blocks = require("@wordpress/blocks");
|
|
|
11
11
|
|
|
12
12
|
var _blob = require("@wordpress/blob");
|
|
13
13
|
|
|
14
|
-
var _data = require("@wordpress/data");
|
|
15
|
-
|
|
16
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
17
|
-
|
|
18
14
|
var _hooks = require("@wordpress/hooks");
|
|
19
15
|
|
|
20
16
|
var _constants = require("./constants");
|
|
@@ -60,9 +56,7 @@ const parseShortcodeIds = ids => {
|
|
|
60
56
|
function updateThirdPartyTransformToGallery(block) {
|
|
61
57
|
var _block$attributes;
|
|
62
58
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
if (settings.__unstableGalleryWithImageBlocks && block.name === 'core/gallery' && ((_block$attributes = block.attributes) === null || _block$attributes === void 0 ? void 0 : _block$attributes.images.length) > 0) {
|
|
59
|
+
if ((0, _shared.isGalleryV2Enabled)() && block.name === 'core/gallery' && ((_block$attributes = block.attributes) === null || _block$attributes === void 0 ? void 0 : _block$attributes.images.length) > 0) {
|
|
66
60
|
const innerBlocks = block.attributes.images.map(_ref => {
|
|
67
61
|
let {
|
|
68
62
|
url,
|
|
@@ -159,9 +153,8 @@ const transforms = {
|
|
|
159
153
|
} = _ref4;
|
|
160
154
|
return url;
|
|
161
155
|
});
|
|
162
|
-
const settings = (0, _data.select)(_blockEditor.store).getSettings();
|
|
163
156
|
|
|
164
|
-
if (
|
|
157
|
+
if ((0, _shared.isGalleryV2Enabled)()) {
|
|
165
158
|
const innerBlocks = validImages.map(image => {
|
|
166
159
|
return (0, _blocks.createBlock)('core/image', image);
|
|
167
160
|
});
|
|
@@ -208,9 +201,8 @@ const transforms = {
|
|
|
208
201
|
ids
|
|
209
202
|
}
|
|
210
203
|
} = _ref7;
|
|
211
|
-
const settings = (0, _data.select)(_blockEditor.store).getSettings();
|
|
212
204
|
|
|
213
|
-
if (!
|
|
205
|
+
if (!(0, _shared.isGalleryV2Enabled)()) {
|
|
214
206
|
return parseShortcodeIds(ids).map(id => ({
|
|
215
207
|
id: (0, _lodash.toString)(id)
|
|
216
208
|
}));
|
|
@@ -225,9 +217,8 @@ const transforms = {
|
|
|
225
217
|
ids
|
|
226
218
|
}
|
|
227
219
|
} = _ref8;
|
|
228
|
-
const settings = (0, _data.select)(_blockEditor.store).getSettings();
|
|
229
220
|
|
|
230
|
-
if (!
|
|
221
|
+
if (!(0, _shared.isGalleryV2Enabled)()) {
|
|
231
222
|
return parseShortcodeIds(ids);
|
|
232
223
|
}
|
|
233
224
|
}
|
|
@@ -240,9 +231,8 @@ const transforms = {
|
|
|
240
231
|
ids
|
|
241
232
|
}
|
|
242
233
|
} = _ref9;
|
|
243
|
-
const settings = (0, _data.select)(_blockEditor.store).getSettings();
|
|
244
234
|
|
|
245
|
-
if (
|
|
235
|
+
if ((0, _shared.isGalleryV2Enabled)()) {
|
|
246
236
|
return parseShortcodeIds(ids).map(id => ({
|
|
247
237
|
id: parseInt(id)
|
|
248
238
|
}));
|
|
@@ -268,9 +258,8 @@ const transforms = {
|
|
|
268
258
|
link
|
|
269
259
|
}
|
|
270
260
|
} = _ref11;
|
|
271
|
-
const settings = (0, _data.select)(_blockEditor.store).getSettings();
|
|
272
261
|
|
|
273
|
-
if (!
|
|
262
|
+
if (!(0, _shared.isGalleryV2Enabled)()) {
|
|
274
263
|
switch (link) {
|
|
275
264
|
case 'post':
|
|
276
265
|
return _constants2.LINK_DESTINATION_ATTACHMENT;
|
|
@@ -318,9 +307,7 @@ const transforms = {
|
|
|
318
307
|
},
|
|
319
308
|
|
|
320
309
|
transform(files) {
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
if (settings.__unstableGalleryWithImageBlocks) {
|
|
310
|
+
if ((0, _shared.isGalleryV2Enabled)()) {
|
|
324
311
|
const innerBlocks = files.map(file => (0, _blocks.createBlock)('core/image', {
|
|
325
312
|
url: (0, _blob.createBlobURL)(file)
|
|
326
313
|
}));
|
|
@@ -346,9 +333,8 @@ const transforms = {
|
|
|
346
333
|
ids,
|
|
347
334
|
sizeSlug
|
|
348
335
|
} = _ref13;
|
|
349
|
-
const settings = (0, _data.select)(_blockEditor.store).getSettings();
|
|
350
336
|
|
|
351
|
-
if (
|
|
337
|
+
if ((0, _shared.isGalleryV2Enabled)()) {
|
|
352
338
|
if (innerBlocks.length > 0) {
|
|
353
339
|
return innerBlocks.map(_ref14 => {
|
|
354
340
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/transforms.js"],"names":["parseShortcodeIds","ids","split","map","id","parseInt","updateThirdPartyTransformToGallery","block","settings","blockEditorStore","getSettings","__unstableGalleryWithImageBlocks","name","attributes","images","length","innerBlocks","url","alt","sizeSlug","linkDestination","updateThirdPartyTransformFromGallery","toBlock","fromBlocks","from","Array","isArray","galleryBlock","find","transformedBlock","includes","transforms","type","isMultiBlock","blocks","transform","align","undefined","validImages","image","caption","tag","shortcode","named","shortCodeTransforms","columns","linkTo","link","DEPRECATED_LINK_DESTINATION_ATTACHMENT","DEPRECATED_LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","isMatch","priority","files","file","indexOf","to","imageSizeSlug","index"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter, every, toString } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { select } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\nimport {\n\tLINK_DESTINATION_ATTACHMENT as DEPRECATED_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as DEPRECATED_LINK_DESTINATION_MEDIA,\n} from './v1/constants';\nimport { pickRelevantMediaFiles } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this tranform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tconst settings = select( blockEditorStore ).getSettings();\n\tif (\n\t\tsettings.__unstableGalleryWithImageBlocks &&\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = every( attributes, [ 'align', align ] )\n\t\t\t\t\t? align\n\t\t\t\t\t: undefined;\n\t\t\t\tsizeSlug = every( attributes, [ 'sizeSlug', sizeSlug ] )\n\t\t\t\t\t? sizeSlug\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst validImages = filter( attributes, ( { url } ) => url );\n\n\t\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\t\tif ( settings.__unstableGalleryWithImageBlocks ) {\n\t\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/gallery',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: validImages.map(\n\t\t\t\t\t\t( { id, url, alt, caption } ) => ( {\n\t\t\t\t\t\t\tid: toString( id ),\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t\tids: validImages.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t\t\talign,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\n\t\t\tattributes: {\n\t\t\t\timages: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tconst settings = select(\n\t\t\t\t\t\t\tblockEditorStore\n\t\t\t\t\t\t).getSettings();\n\t\t\t\t\t\tif ( ! settings.__unstableGalleryWithImageBlocks ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids ).map( ( id ) => ( {\n\t\t\t\t\t\t\t\tid: toString( id ),\n\t\t\t\t\t\t\t} ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tids: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tconst settings = select(\n\t\t\t\t\t\t\tblockEditorStore\n\t\t\t\t\t\t).getSettings();\n\t\t\t\t\t\tif ( ! settings.__unstableGalleryWithImageBlocks ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tshortCodeTransforms: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tconst settings = select(\n\t\t\t\t\t\t\tblockEditorStore\n\t\t\t\t\t\t).getSettings();\n\t\t\t\t\t\tif ( settings.__unstableGalleryWithImageBlocks ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids ).map( ( id ) => ( {\n\t\t\t\t\t\t\t\tid: parseInt( id ),\n\t\t\t\t\t\t\t} ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcolumns: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { columns = '3' } } ) => {\n\t\t\t\t\t\treturn parseInt( columns, 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkTo: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { link } } ) => {\n\t\t\t\t\t\tconst settings = select(\n\t\t\t\t\t\t\tblockEditorStore\n\t\t\t\t\t\t).getSettings();\n\t\t\t\t\t\tif ( ! settings.__unstableGalleryWithImageBlocks ) {\n\t\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_NONE;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrrides the image block transformation when mulitple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\tevery(\n\t\t\t\t\t\tfiles,\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\t\tif ( settings.__unstableGalleryWithImageBlocks ) {\n\t\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\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 createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t\t}\n\t\t\t\tconst block = createBlock( 'core/gallery', {\n\t\t\t\t\timages: files.map( ( file ) =>\n\t\t\t\t\t\tpickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align, images, ids, sizeSlug }, innerBlocks ) => {\n\t\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\t\tif ( settings.__unstableGalleryWithImageBlocks ) {\n\t\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\timageSizeSlug,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t\t}\n\t\t\t\tif ( images.length > 0 ) {\n\t\t\t\t\treturn images.map( ( { url, alt, caption }, index ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: ids[ index ],\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/transforms.js"],"names":["parseShortcodeIds","ids","split","map","id","parseInt","updateThirdPartyTransformToGallery","block","name","attributes","images","length","innerBlocks","url","alt","sizeSlug","linkDestination","updateThirdPartyTransformFromGallery","toBlock","fromBlocks","from","Array","isArray","galleryBlock","find","transformedBlock","includes","transforms","type","isMultiBlock","blocks","transform","align","undefined","validImages","image","caption","tag","shortcode","named","shortCodeTransforms","columns","linkTo","link","DEPRECATED_LINK_DESTINATION_ATTACHMENT","DEPRECATED_LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","isMatch","priority","files","file","indexOf","to","imageSizeSlug","index"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter, every, toString } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\nimport {\n\tLINK_DESTINATION_ATTACHMENT as DEPRECATED_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as DEPRECATED_LINK_DESTINATION_MEDIA,\n} from './v1/constants';\nimport { pickRelevantMediaFiles, isGalleryV2Enabled } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this tranform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tisGalleryV2Enabled() &&\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = every( attributes, [ 'align', align ] )\n\t\t\t\t\t? align\n\t\t\t\t\t: undefined;\n\t\t\t\tsizeSlug = every( attributes, [ 'sizeSlug', sizeSlug ] )\n\t\t\t\t\t? sizeSlug\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst validImages = filter( attributes, ( { url } ) => url );\n\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/gallery',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: validImages.map(\n\t\t\t\t\t\t( { id, url, alt, caption } ) => ( {\n\t\t\t\t\t\t\tid: toString( id ),\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t\tids: validImages.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t\t\talign,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\n\t\t\tattributes: {\n\t\t\t\timages: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids ).map( ( id ) => ( {\n\t\t\t\t\t\t\t\tid: toString( id ),\n\t\t\t\t\t\t\t} ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tids: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tshortCodeTransforms: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids ).map( ( id ) => ( {\n\t\t\t\t\t\t\t\tid: parseInt( id ),\n\t\t\t\t\t\t\t} ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcolumns: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { columns = '3' } } ) => {\n\t\t\t\t\t\treturn parseInt( columns, 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkTo: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { link } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_NONE;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrrides the image block transformation when mulitple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\tevery(\n\t\t\t\t\t\tfiles,\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\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 createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t\t}\n\t\t\t\tconst block = createBlock( 'core/gallery', {\n\t\t\t\t\timages: files.map( ( file ) =>\n\t\t\t\t\t\tpickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align, images, ids, sizeSlug }, innerBlocks ) => {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\timageSizeSlug,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t\t}\n\t\t\t\tif ( images.length > 0 ) {\n\t\t\t\t\treturn images.map( ( { url, alt, caption }, index ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: ids[ index ],\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
|
|
@@ -34,7 +34,7 @@ function useMobileWarning(newImages) {
|
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
createWarningNotice((0, _i18n.__)('
|
|
37
|
+
createWarningNotice((0, _i18n.__)('If you want to edit the gallery you just added in the mobile app, to avoid losing any data please make sure you use version 18.2 of the app or above.'), {
|
|
38
38
|
type: 'snackbar',
|
|
39
39
|
explicitDismiss: true
|
|
40
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/use-mobile-warning.js"],"names":["useMobileWarning","newImages","createWarningNotice","noticesStore","toggleFeature","interfaceStore","isMobileWarningActive","select","isFeatureActive","type","explicitDismiss"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMe,SAASA,gBAAT,CAA2BC,SAA3B,EAAuC;AACrD,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAaC,cAAb,CAAhC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAoB,uBAAaC,gBAAb,CAA1B;AACA,QAAMC,qBAAqB,GAAG,qBAAaC,MAAF,IAAc;AACtD,UAAM;AAAEC,MAAAA;AAAF,QAAsBD,MAAM,CAAEF,gBAAF,CAAlC;AACA,WAAOG,eAAe,CAAE,gBAAF,EAAoB,sBAApB,CAAtB;AACA,GAH6B,EAG3B,EAH2B,CAA9B;;AAKA,MAAK,CAAEF,qBAAF,IAA2B,CAAEL,SAAlC,EAA8C;AAC7C;AACA;;AAEDC,EAAAA,mBAAmB,CAClB,cACC,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/use-mobile-warning.js"],"names":["useMobileWarning","newImages","createWarningNotice","noticesStore","toggleFeature","interfaceStore","isMobileWarningActive","select","isFeatureActive","type","explicitDismiss"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMe,SAASA,gBAAT,CAA2BC,SAA3B,EAAuC;AACrD,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAaC,cAAb,CAAhC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAoB,uBAAaC,gBAAb,CAA1B;AACA,QAAMC,qBAAqB,GAAG,qBAAaC,MAAF,IAAc;AACtD,UAAM;AAAEC,MAAAA;AAAF,QAAsBD,MAAM,CAAEF,gBAAF,CAAlC;AACA,WAAOG,eAAe,CAAE,gBAAF,EAAoB,sBAApB,CAAtB;AACA,GAH6B,EAG3B,EAH2B,CAA9B;;AAKA,MAAK,CAAEF,qBAAF,IAA2B,CAAEL,SAAlC,EAA8C;AAC7C;AACA;;AAEDC,EAAAA,mBAAmB,CAClB,cACC,uJADD,CADkB,EAIlB;AAAEO,IAAAA,IAAI,EAAE,UAAR;AAAoBC,IAAAA,eAAe,EAAE;AAArC,GAJkB,CAAnB;AAMAN,EAAAA,aAAa,CAAE,gBAAF,EAAoB,sBAApB,CAAb;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function useMobileWarning( newImages ) {\n\tconst { createWarningNotice } = useDispatch( noticesStore );\n\tconst { toggleFeature } = useDispatch( interfaceStore );\n\tconst isMobileWarningActive = useSelect( ( select ) => {\n\t\tconst { isFeatureActive } = select( interfaceStore );\n\t\treturn isFeatureActive( 'core/edit-post', 'mobileGalleryWarning' );\n\t}, [] );\n\n\tif ( ! isMobileWarningActive || ! newImages ) {\n\t\treturn;\n\t}\n\n\tcreateWarningNotice(\n\t\t__(\n\t\t\t'If you want to edit the gallery you just added in the mobile app, to avoid losing any data please make sure you use version 18.2 of the app or above.'\n\t\t),\n\t\t{ type: 'snackbar', explicitDismiss: true }\n\t);\n\ttoggleFeature( 'core/edit-post', 'mobileGalleryWarning' );\n}\n"]}
|
package/build/gallery/v1/edit.js
CHANGED
|
@@ -41,8 +41,6 @@ var _gallery = _interopRequireDefault(require("./gallery"));
|
|
|
41
41
|
|
|
42
42
|
var _constants = require("./constants");
|
|
43
43
|
|
|
44
|
-
var _updateGalleryModal = _interopRequireDefault(require("./update-gallery-modal"));
|
|
45
|
-
|
|
46
44
|
/**
|
|
47
45
|
* External dependencies
|
|
48
46
|
*/
|
|
@@ -104,12 +102,10 @@ function GalleryEdit(props) {
|
|
|
104
102
|
imageSizes,
|
|
105
103
|
mediaUpload,
|
|
106
104
|
getMedia,
|
|
107
|
-
wasBlockJustInserted
|
|
108
|
-
__unstableGalleryWithImageBlocks
|
|
105
|
+
wasBlockJustInserted
|
|
109
106
|
} = (0, _data.useSelect)(select => {
|
|
110
107
|
const settings = select(_blockEditor.store).getSettings();
|
|
111
108
|
return {
|
|
112
|
-
__unstableGalleryWithImageBlocks: settings.__unstableGalleryWithImageBlocks,
|
|
113
109
|
imageSizes: settings.imageSizes,
|
|
114
110
|
mediaUpload: settings.mediaUpload,
|
|
115
111
|
getMedia: select(_coreData.store).getMedia,
|
|
@@ -404,12 +400,6 @@ function GalleryEdit(props) {
|
|
|
404
400
|
onFocus: onFocus,
|
|
405
401
|
autoOpenMediaUpload: !hasImages && isSelected && wasBlockJustInserted
|
|
406
402
|
});
|
|
407
|
-
const [isUpdateOpen, setUpdateOpen] = (0, _element.useState)(false);
|
|
408
|
-
|
|
409
|
-
const openUpdateModal = () => setUpdateOpen(true);
|
|
410
|
-
|
|
411
|
-
const closeUpdateModal = () => setUpdateOpen(false);
|
|
412
|
-
|
|
413
403
|
const blockProps = (0, _blockEditor.useBlockProps)();
|
|
414
404
|
|
|
415
405
|
if (!hasImages) {
|
|
@@ -445,16 +435,7 @@ function GalleryEdit(props) {
|
|
|
445
435
|
options: imageSizeOptions,
|
|
446
436
|
onChange: updateImagesSize,
|
|
447
437
|
hideCancelButton: true
|
|
448
|
-
}))),
|
|
449
|
-
group: "other"
|
|
450
|
-
}, (0, _element.createElement)(_components.ToolbarButton, {
|
|
451
|
-
onClick: openUpdateModal,
|
|
452
|
-
title: (0, _i18n.__)('Update'),
|
|
453
|
-
label: (0, _i18n.__)('Update to the new gallery format')
|
|
454
|
-
}, (0, _i18n.__)('Update'))), _element.Platform.isWeb && isUpdateOpen && (0, _element.createElement)(_updateGalleryModal.default, {
|
|
455
|
-
onClose: closeUpdateModal,
|
|
456
|
-
clientId: clientId
|
|
457
|
-
}), noticeUI, (0, _element.createElement)(_gallery.default, (0, _extends2.default)({}, props, {
|
|
438
|
+
}))), noticeUI, (0, _element.createElement)(_gallery.default, (0, _extends2.default)({}, props, {
|
|
458
439
|
selectedImage: selectedImage,
|
|
459
440
|
mediaPlaceholder: mediaPlaceholder,
|
|
460
441
|
onMoveBackward: onMoveBackward,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","__unstableGalleryWithImageBlocks","settings","getSettings","coreStore","resizedImages","ids","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","mediaDetailsUrl","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","img","i","Math","min","selectCaption","newImage","newImageId","currentImage","currentImageCaption","caption","attachment","onSelectImages","map","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","name","updateImagesSize","newSizeSlug","updatedImages","url","OS","filesList","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","some","mediaPlaceholder","sharedIcon","title","instructions","undefined","isUpdateOpen","setUpdateOpen","openUpdateModal","closeUpdateModal","blockProps","imageSizeOptions","shouldShowSizeOptions","isWeb","withNotices","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tevery,\n\tfilter,\n\tfind,\n\tforEach,\n\tget,\n\tisEmpty,\n\tmap,\n\treduce,\n\tsome,\n\ttoString,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport UpdateGalleryModal from './update-gallery-modal';\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{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\tconst {\n\t\timageSizes,\n\t\tmediaUpload,\n\t\tgetMedia,\n\t\twasBlockJustInserted,\n\t\t__unstableGalleryWithImageBlocks,\n\t} = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\treturn {\n\t\t\t__unstableGalleryWithImageBlocks:\n\t\t\t\tsettings.__unstableGalleryWithImageBlocks,\n\t\t\timageSizes: settings.imageSizes,\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t};\n\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn reduce(\n\t\t\t\tattributes.ids,\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = reduce(\n\t\t\t\t\t\timageSizes,\n\t\t\t\t\t\t( currentSizes, size ) => {\n\t\t\t\t\t\t\tconst defaultUrl = get( image, [\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\tconst mediaDetailsUrl = get( image, [\n\t\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: map( newAttrs.images, ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = filter( images, ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = toString( newImage.id );\n\t\tconst currentImage = find( images, { id: newImageId } );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = find( attachmentCaptions, {\n\t\t\tid: newImageId,\n\t\t} );\n\n\t\t// if the attachment caption is updated\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: toString( newImage.id ),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: toString( newImage.id ),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\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 setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\treturn map(\n\t\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\t\tsome( resizedImages, ( sizes ) => sizes[ slug ] )\n\t\t\t),\n\t\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t\t);\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = map( images, ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url = get( resizedImages, [\n\t\t\t\tparseInt( image.id, 10 ),\n\t\t\t\tnewSizeSlug,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\tevery( images, ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = map( images, ( { url } ) => getBlobByURL( url ) );\n\t\t\tforEach( images, ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// 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\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst [ isUpdateOpen, setUpdateOpen ] = useState( false );\n\tconst openUpdateModal = () => setUpdateOpen( true );\n\tconst closeUpdateModal = () => setUpdateOpen( false );\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && ! isEmpty( imageSizeOptions );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Gallery 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\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\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/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\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\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/>\n\t\t\t\t\t{ shouldShowSizeOptions && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\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/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ /* TODO: Remove platform condition when native conversion is ready */ }\n\t\t\t{ Platform.isWeb && __unstableGalleryWithImageBlocks && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ openUpdateModal }\n\t\t\t\t\t\ttitle={ __( 'Update' ) }\n\t\t\t\t\t\tlabel={ __( 'Update to the new gallery format' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Update' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ Platform.isWeb && isUpdateOpen && (\n\t\t\t\t<UpdateGalleryModal\n\t\t\t\t\tonClose={ closeUpdateModal }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","coreStore","resizedImages","ids","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","mediaDetailsUrl","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","img","i","Math","min","selectCaption","newImage","newImageId","currentImage","currentImageCaption","caption","attachment","onSelectImages","map","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","name","updateImagesSize","newSizeSlug","updatedImages","url","OS","filesList","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","some","mediaPlaceholder","sharedIcon","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","withNotices","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tevery,\n\tfilter,\n\tfind,\n\tforEach,\n\tget,\n\tisEmpty,\n\tmap,\n\treduce,\n\tsome,\n\ttoString,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\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{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\tconst {\n\t\timageSizes,\n\t\tmediaUpload,\n\t\tgetMedia,\n\t\twasBlockJustInserted,\n\t} = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\treturn {\n\t\t\timageSizes: settings.imageSizes,\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t};\n\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn reduce(\n\t\t\t\tattributes.ids,\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = reduce(\n\t\t\t\t\t\timageSizes,\n\t\t\t\t\t\t( currentSizes, size ) => {\n\t\t\t\t\t\t\tconst defaultUrl = get( image, [\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\tconst mediaDetailsUrl = get( image, [\n\t\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: map( newAttrs.images, ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = filter( images, ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = toString( newImage.id );\n\t\tconst currentImage = find( images, { id: newImageId } );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = find( attachmentCaptions, {\n\t\t\tid: newImageId,\n\t\t} );\n\n\t\t// if the attachment caption is updated\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: toString( newImage.id ),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: toString( newImage.id ),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\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 setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\treturn map(\n\t\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\t\tsome( resizedImages, ( sizes ) => sizes[ slug ] )\n\t\t\t),\n\t\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t\t);\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = map( images, ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url = get( resizedImages, [\n\t\t\t\tparseInt( image.id, 10 ),\n\t\t\t\tnewSizeSlug,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\tevery( images, ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = map( images, ( { url } ) => getBlobByURL( url ) );\n\t\t\tforEach( images, ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// 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\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && ! isEmpty( imageSizeOptions );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Gallery 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\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\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/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\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\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/>\n\t\t\t\t\t{ shouldShowSizeOptions && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\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/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
|
package/build/index.js
CHANGED
|
@@ -223,8 +223,9 @@ const __experimentalGetCoreBlocks = () => [// Common blocks are grouped at the t
|
|
|
223
223
|
// in various contexts — like the inserter and auto-complete components.
|
|
224
224
|
paragraph, image, heading, gallery, list, quote, // Register all remaining core blocks.
|
|
225
225
|
archives, audio, button, buttons, calendar, categories, window.wp && window.wp.oldEditor ? classic : null, // Only add the classic block in WP Context
|
|
226
|
-
code, column, columns, cover, embed, file, group, html, latestComments, latestPosts,
|
|
227
|
-
tagCloud,
|
|
226
|
+
code, column, columns, cover, embed, file, group, html, latestComments, latestPosts, mediaText, missing, more, nextpage, pageList, pattern, preformatted, pullquote, reusableBlock, rss, search, separator, shortcode, socialLink, socialLinks, spacer, table, // tableOfContents,
|
|
227
|
+
tagCloud, textColumns, verse, video, // theme blocks
|
|
228
|
+
navigation, navigationLink, navigationSubmenu, siteLogo, siteTitle, siteTagline, query, templatePart, postTitle, postExcerpt, postFeaturedImage, postContent, postAuthor, postDate, postTerms, postNavigationLink, postTemplate, queryPagination, queryPaginationNext, queryPaginationNumbers, queryPaginationPrevious, postComments, logInOut, termDescription, queryTitle];
|
|
228
229
|
/**
|
|
229
230
|
* Function to register core blocks provided by the block editor.
|
|
230
231
|
*
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/index.js"],"names":["registerBlock","block","metadata","settings","name","__experimentalGetCoreBlocks","paragraph","image","heading","gallery","list","quote","archives","audio","button","buttons","calendar","categories","window","wp","oldEditor","classic","code","column","columns","cover","embed","file","group","html","latestComments","latestPosts","logInOut","mediaText","missing","more","navigation","navigationLink","navigationSubmenu","nextpage","pageList","pattern","postAuthor","postComments","postContent","postDate","postExcerpt","postFeaturedImage","postNavigationLink","postTemplate","postTerms","postTitle","preformatted","pullquote","query","queryPagination","queryPaginationNext","queryPaginationNumbers","queryPaginationPrevious","queryTitle","reusableBlock","rss","search","separator","shortcode","siteLogo","siteTagline","siteTitle","socialLink","socialLinks","spacer","table","tagCloud","templatePart","termDescription","textColumns","verse","video","registerCoreBlocks","blocks","forEach","__experimentalRegisterExperimentalCoreBlocks","process","env","GUTENBERG_PHASE","enableFSEBlocks","homeLink","commentAuthorAvatar","commentAuthorName","commentContent","commentDate","commentEditLink","commentReplyLink","commentTemplate","commentsQueryLoop","navigationArea","postComment","postCommentsCount","postCommentsForm","postCommentsLink","undefined"],"mappings":";;;;;;;AAGA;;AAWA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAjGA;AACA;AACA;;AASA;AACA;AACA;AA8EA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,aAAa,GAAKC,KAAF,IAAa;AAClC,MAAK,CAAEA,KAAP,EAAe;AACd;AACA;;AACD,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA;AAAtB,MAA+BH,KAArC;AACA,iCAAmB;AAAEG,IAAAA,IAAF;AAAQ,OAAGF;AAAX,GAAnB,EAA0CC,QAA1C;AACA,CAND;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAME,2BAA2B,GAAG,MAAM,CAChD;AACA;AACAC,SAHgD,EAIhDC,KAJgD,EAKhDC,OALgD,EAMhDC,OANgD,EAOhDC,IAPgD,EAQhDC,KARgD,EAUhD;AACAC,QAXgD,EAYhDC,KAZgD,EAahDC,MAbgD,EAchDC,OAdgD,EAehDC,QAfgD,EAgBhDC,UAhBgD,EAiBhDC,MAAM,CAACC,EAAP,IAAaD,MAAM,CAACC,EAAP,CAAUC,SAAvB,GAAmCC,OAAnC,GAA6C,IAjBG,EAiBG;AACnDC,IAlBgD,EAmBhDC,MAnBgD,EAoBhDC,OApBgD,EAqBhDC,KArBgD,EAsBhDC,KAtBgD,EAuBhDC,IAvBgD,EAwBhDC,KAxBgD,EAyBhDC,IAzBgD,EA0BhDC,cA1BgD,EA2BhDC,WA3BgD,EA4BhDC,QA5BgD,EA6BhDC,SA7BgD,EA8BhDC,OA9BgD,EA+BhDC,IA/BgD,EAgChDC,UAhCgD,EAiChDC,cAjCgD,EAkChDC,iBAlCgD,EAmChDC,QAnCgD,EAoChDC,QApCgD,EAqChDC,OArCgD,EAsChDC,UAtCgD,EAuChDC,YAvCgD,EAwChDC,WAxCgD,EAyChDC,QAzCgD,EA0ChDC,WA1CgD,EA2ChDC,iBA3CgD,EA4ChDC,kBA5CgD,EA6ChDC,YA7CgD,EA8ChDC,SA9CgD,EA+ChDC,SA/CgD,EAgDhDC,YAhDgD,EAiDhDC,SAjDgD,EAkDhDC,KAlDgD,EAmDhDC,eAnDgD,EAoDhDC,mBApDgD,EAqDhDC,sBArDgD,EAsDhDC,uBAtDgD,EAuDhDC,UAvDgD,EAwDhDC,aAxDgD,EAyDhDC,GAzDgD,EA0DhDC,MA1DgD,EA2DhDC,SA3DgD,EA4DhDC,SA5DgD,EA6DhDC,QA7DgD,EA8DhDC,WA9DgD,EA+DhDC,SA/DgD,EAgEhDC,UAhEgD,EAiEhDC,WAjEgD,EAkEhDC,MAlEgD,EAmEhDC,KAnEgD,EAoEhD;AACAC,QArEgD,EAsEhDC,YAtEgD,EAuEhDC,eAvEgD,EAwEhDC,WAxEgD,EAyEhDC,KAzEgD,EA0EhDC,KA1EgD,CAA1C;AA6EP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,MAAMC,kBAAkB,GAAG,YAE7B;AAAA,MADJC,MACI,uEADK1E,2BAA2B,EAChC;AACJ0E,EAAAA,MAAM,CAACC,OAAP,CAAgBhF,aAAhB;AAEA,mCAAqBM,SAAS,CAACF,IAA/B;;AACA,MAAKc,MAAM,CAACC,EAAP,IAAaD,MAAM,CAACC,EAAP,CAAUC,SAA5B,EAAwC;AACvC,+CAA+BC,OAAO,CAACjB,IAAvC;AACA;;AACD,8CAAgC8B,OAAO,CAAC9B,IAAxC;AACA,oCAAsBwB,KAAK,CAACxB,IAA5B;AACA,CAXM;AAaP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,MAAM6E,4CAA4C,GACxDC,OAAO,CAACC,GAAR,CAAYC,eAAZ,KAAgC,CAAhC,GACG,YAAgC;AAAA,MAA9B;AAAEC,IAAAA;AAAF,GAA8B,uEAAR,EAAQ;AAChC,GACC;AACAC,EAAAA,QAFD,EAIC;AACA,MAAKD,eAAe,GACjB,CACAE,mBADA,EAEAC,iBAFA,EAGAC,cAHA,EAIAC,WAJA,EAKAC,eALA,EAMAC,gBANA,EAOAC,eAPA,EAQAC,iBARA,EASAC,cATA,EAUAC,WAVA,EAWAC,iBAXA,EAYAC,gBAZA,EAaAC,gBAbA,CADiB,GAgBjB,EAhBH,CALD,EAsBEnB,OAtBF,CAsBWhF,aAtBX;AAuBC,CAzBJ,GA0BGoG,SA3BG","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tregisterBlockType,\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport * as archives from './archives';\nimport * as audio from './audio';\nimport * as button from './button';\nimport * as buttons from './buttons';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as classic from './freeform';\nimport * as code from './code';\nimport * as column from './column';\nimport * as columns from './columns';\nimport * as commentAuthorAvatar from './comment-author-avatar';\nimport * as commentAuthorName from './comment-author-name';\nimport * as commentContent from './comment-content';\nimport * as commentDate from './comment-date';\nimport * as commentEditLink from './comment-edit-link';\nimport * as commentReplyLink from './comment-reply-link';\nimport * as commentTemplate from './comment-template';\nimport * as commentsQueryLoop from './comments-query-loop';\nimport * as cover from './cover';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as gallery from './gallery';\nimport * as group from './group';\nimport * as heading from './heading';\nimport * as homeLink from './home-link';\nimport * as html from './html';\nimport * as image from './image';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as logInOut from './loginout';\nimport * as mediaText from './media-text';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as navigation from './navigation';\nimport * as navigationArea from './navigation-area';\nimport * as navigationLink from './navigation-link';\nimport * as navigationSubmenu from './navigation-submenu';\nimport * as nextpage from './nextpage';\nimport * as pattern from './pattern';\nimport * as pageList from './page-list';\nimport * as paragraph from './paragraph';\nimport * as postAuthor from './post-author';\nimport * as postComment from './post-comment';\nimport * as postComments from './post-comments';\nimport * as postCommentsCount from './post-comments-count';\nimport * as postCommentsForm from './post-comments-form';\nimport * as postCommentsLink from './post-comments-link';\nimport * as postContent from './post-content';\nimport * as postDate from './post-date';\nimport * as postExcerpt from './post-excerpt';\nimport * as postFeaturedImage from './post-featured-image';\nimport * as postNavigationLink from './post-navigation-link';\nimport * as postTemplate from './post-template';\nimport * as postTerms from './post-terms';\nimport * as postTitle from './post-title';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as query from './query';\nimport * as queryPagination from './query-pagination';\nimport * as queryPaginationNext from './query-pagination-next';\nimport * as queryPaginationNumbers from './query-pagination-numbers';\nimport * as queryPaginationPrevious from './query-pagination-previous';\nimport * as queryTitle from './query-title';\nimport * as quote from './quote';\nimport * as reusableBlock from './block';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as siteLogo from './site-logo';\nimport * as siteTagline from './site-tagline';\nimport * as siteTitle from './site-title';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\nimport * as spacer from './spacer';\nimport * as table from './table';\n// import * as tableOfContents from './table-of-contents';\nimport * as tagCloud from './tag-cloud';\nimport * as templatePart from './template-part';\nimport * as termDescription from './term-description';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\n\n/**\n * Function to register an individual block.\n *\n * @param {Object} block The block to be registered.\n *\n */\nconst registerBlock = ( block ) => {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\tregisterBlockType( { name, ...metadata }, settings );\n};\n\n/**\n * Function to get all the core blocks in an array.\n *\n * @example\n * ```js\n * import { __experimentalGetCoreBlocks } from '@wordpress/block-library';\n *\n * const coreBlocks = __experimentalGetCoreBlocks();\n * ```\n */\nexport const __experimentalGetCoreBlocks = () => [\n\t// Common blocks are grouped at the top to prioritize their display\n\t// in various contexts — like the inserter and auto-complete components.\n\tparagraph,\n\timage,\n\theading,\n\tgallery,\n\tlist,\n\tquote,\n\n\t// Register all remaining core blocks.\n\tarchives,\n\taudio,\n\tbutton,\n\tbuttons,\n\tcalendar,\n\tcategories,\n\twindow.wp && window.wp.oldEditor ? classic : null, // Only add the classic block in WP Context\n\tcode,\n\tcolumn,\n\tcolumns,\n\tcover,\n\tembed,\n\tfile,\n\tgroup,\n\thtml,\n\tlatestComments,\n\tlatestPosts,\n\tlogInOut,\n\tmediaText,\n\tmissing,\n\tmore,\n\tnavigation,\n\tnavigationLink,\n\tnavigationSubmenu,\n\tnextpage,\n\tpageList,\n\tpattern,\n\tpostAuthor,\n\tpostComments,\n\tpostContent,\n\tpostDate,\n\tpostExcerpt,\n\tpostFeaturedImage,\n\tpostNavigationLink,\n\tpostTemplate,\n\tpostTerms,\n\tpostTitle,\n\tpreformatted,\n\tpullquote,\n\tquery,\n\tqueryPagination,\n\tqueryPaginationNext,\n\tqueryPaginationNumbers,\n\tqueryPaginationPrevious,\n\tqueryTitle,\n\treusableBlock,\n\trss,\n\tsearch,\n\tseparator,\n\tshortcode,\n\tsiteLogo,\n\tsiteTagline,\n\tsiteTitle,\n\tsocialLink,\n\tsocialLinks,\n\tspacer,\n\ttable,\n\t// tableOfContents,\n\ttagCloud,\n\ttemplatePart,\n\ttermDescription,\n\ttextColumns,\n\tverse,\n\tvideo,\n];\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @param {Array} blocks An optional array of the core blocks being registered.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n */\nexport const registerCoreBlocks = (\n\tblocks = __experimentalGetCoreBlocks()\n) => {\n\tblocks.forEach( registerBlock );\n\n\tsetDefaultBlockName( paragraph.name );\n\tif ( window.wp && window.wp.oldEditor ) {\n\t\tsetFreeformContentHandlerName( classic.name );\n\t}\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tsetGroupingBlockName( group.name );\n};\n\n/**\n * Function to register experimental core blocks depending on editor settings.\n *\n * @param {boolean} enableFSEBlocks Whether to enable the full site editing blocks.\n * @example\n * ```js\n * import { __experimentalRegisterExperimentalCoreBlocks } from '@wordpress/block-library';\n *\n * __experimentalRegisterExperimentalCoreBlocks( settings );\n * ```\n */\nexport const __experimentalRegisterExperimentalCoreBlocks =\n\tprocess.env.GUTENBERG_PHASE === 2\n\t\t? ( { enableFSEBlocks } = {} ) => {\n\t\t\t\t[\n\t\t\t\t\t// Experimental blocks.\n\t\t\t\t\thomeLink,\n\n\t\t\t\t\t// Full Site Editing blocks.\n\t\t\t\t\t...( enableFSEBlocks\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\tcommentAuthorAvatar,\n\t\t\t\t\t\t\t\tcommentAuthorName,\n\t\t\t\t\t\t\t\tcommentContent,\n\t\t\t\t\t\t\t\tcommentDate,\n\t\t\t\t\t\t\t\tcommentEditLink,\n\t\t\t\t\t\t\t\tcommentReplyLink,\n\t\t\t\t\t\t\t\tcommentTemplate,\n\t\t\t\t\t\t\t\tcommentsQueryLoop,\n\t\t\t\t\t\t\t\tnavigationArea,\n\t\t\t\t\t\t\t\tpostComment,\n\t\t\t\t\t\t\t\tpostCommentsCount,\n\t\t\t\t\t\t\t\tpostCommentsForm,\n\t\t\t\t\t\t\t\tpostCommentsLink,\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: [] ),\n\t\t\t\t].forEach( registerBlock );\n\t\t }\n\t\t: undefined;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/index.js"],"names":["registerBlock","block","metadata","settings","name","__experimentalGetCoreBlocks","paragraph","image","heading","gallery","list","quote","archives","audio","button","buttons","calendar","categories","window","wp","oldEditor","classic","code","column","columns","cover","embed","file","group","html","latestComments","latestPosts","mediaText","missing","more","nextpage","pageList","pattern","preformatted","pullquote","reusableBlock","rss","search","separator","shortcode","socialLink","socialLinks","spacer","table","tagCloud","textColumns","verse","video","navigation","navigationLink","navigationSubmenu","siteLogo","siteTitle","siteTagline","query","templatePart","postTitle","postExcerpt","postFeaturedImage","postContent","postAuthor","postDate","postTerms","postNavigationLink","postTemplate","queryPagination","queryPaginationNext","queryPaginationNumbers","queryPaginationPrevious","postComments","logInOut","termDescription","queryTitle","registerCoreBlocks","blocks","forEach","__experimentalRegisterExperimentalCoreBlocks","process","env","GUTENBERG_PHASE","enableFSEBlocks","homeLink","commentAuthorAvatar","commentAuthorName","commentContent","commentDate","commentEditLink","commentReplyLink","commentTemplate","commentsQueryLoop","navigationArea","postComment","postCommentsCount","postCommentsForm","postCommentsLink","undefined"],"mappings":";;;;;;;AAGA;;AAWA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAjGA;AACA;AACA;;AASA;AACA;AACA;AA8EA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,aAAa,GAAKC,KAAF,IAAa;AAClC,MAAK,CAAEA,KAAP,EAAe;AACd;AACA;;AACD,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,QAAZ;AAAsBC,IAAAA;AAAtB,MAA+BH,KAArC;AACA,iCAAmB;AAAEG,IAAAA,IAAF;AAAQ,OAAGF;AAAX,GAAnB,EAA0CC,QAA1C;AACA,CAND;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAME,2BAA2B,GAAG,MAAM,CAChD;AACA;AACAC,SAHgD,EAIhDC,KAJgD,EAKhDC,OALgD,EAMhDC,OANgD,EAOhDC,IAPgD,EAQhDC,KARgD,EAUhD;AACAC,QAXgD,EAYhDC,KAZgD,EAahDC,MAbgD,EAchDC,OAdgD,EAehDC,QAfgD,EAgBhDC,UAhBgD,EAiBhDC,MAAM,CAACC,EAAP,IAAaD,MAAM,CAACC,EAAP,CAAUC,SAAvB,GAAmCC,OAAnC,GAA6C,IAjBG,EAiBG;AACnDC,IAlBgD,EAmBhDC,MAnBgD,EAoBhDC,OApBgD,EAqBhDC,KArBgD,EAsBhDC,KAtBgD,EAuBhDC,IAvBgD,EAwBhDC,KAxBgD,EAyBhDC,IAzBgD,EA0BhDC,cA1BgD,EA2BhDC,WA3BgD,EA4BhDC,SA5BgD,EA6BhDC,OA7BgD,EA8BhDC,IA9BgD,EA+BhDC,QA/BgD,EAgChDC,QAhCgD,EAiChDC,OAjCgD,EAkChDC,YAlCgD,EAmChDC,SAnCgD,EAoChDC,aApCgD,EAqChDC,GArCgD,EAsChDC,MAtCgD,EAuChDC,SAvCgD,EAwChDC,SAxCgD,EAyChDC,UAzCgD,EA0ChDC,WA1CgD,EA2ChDC,MA3CgD,EA4ChDC,KA5CgD,EA6ChD;AACAC,QA9CgD,EA+ChDC,WA/CgD,EAgDhDC,KAhDgD,EAiDhDC,KAjDgD,EAmDhD;AACAC,UApDgD,EAqDhDC,cArDgD,EAsDhDC,iBAtDgD,EAuDhDC,QAvDgD,EAwDhDC,SAxDgD,EAyDhDC,WAzDgD,EA0DhDC,KA1DgD,EA2DhDC,YA3DgD,EA4DhDC,SA5DgD,EA6DhDC,WA7DgD,EA8DhDC,iBA9DgD,EA+DhDC,WA/DgD,EAgEhDC,UAhEgD,EAiEhDC,QAjEgD,EAkEhDC,SAlEgD,EAmEhDC,kBAnEgD,EAoEhDC,YApEgD,EAqEhDC,eArEgD,EAsEhDC,mBAtEgD,EAuEhDC,sBAvEgD,EAwEhDC,uBAxEgD,EAyEhDC,YAzEgD,EA0EhDC,QA1EgD,EA2EhDC,eA3EgD,EA4EhDC,UA5EgD,CAA1C;AA+EP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,MAAMC,kBAAkB,GAAG,YAE7B;AAAA,MADJC,MACI,uEADK1E,2BAA2B,EAChC;AACJ0E,EAAAA,MAAM,CAACC,OAAP,CAAgBhF,aAAhB;AAEA,mCAAqBM,SAAS,CAACF,IAA/B;;AACA,MAAKc,MAAM,CAACC,EAAP,IAAaD,MAAM,CAACC,EAAP,CAAUC,SAA5B,EAAwC;AACvC,+CAA+BC,OAAO,CAACjB,IAAvC;AACA;;AACD,8CAAgC6B,OAAO,CAAC7B,IAAxC;AACA,oCAAsBwB,KAAK,CAACxB,IAA5B;AACA,CAXM;AAaP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,MAAM6E,4CAA4C,GACxDC,OAAO,CAACC,GAAR,CAAYC,eAAZ,KAAgC,CAAhC,GACG,YAAgC;AAAA,MAA9B;AAAEC,IAAAA;AAAF,GAA8B,uEAAR,EAAQ;AAChC,GACC;AACAC,EAAAA,QAFD,EAIC;AACA,MAAKD,eAAe,GACjB,CACAE,mBADA,EAEAC,iBAFA,EAGAC,cAHA,EAIAC,WAJA,EAKAC,eALA,EAMAC,gBANA,EAOAC,eAPA,EAQAC,iBARA,EASAC,cATA,EAUAC,WAVA,EAWAC,iBAXA,EAYAC,gBAZA,EAaAC,gBAbA,CADiB,GAgBjB,EAhBH,CALD,EAsBEnB,OAtBF,CAsBWhF,aAtBX;AAuBC,CAzBJ,GA0BGoG,SA3BG","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tregisterBlockType,\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport * as archives from './archives';\nimport * as audio from './audio';\nimport * as button from './button';\nimport * as buttons from './buttons';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as classic from './freeform';\nimport * as code from './code';\nimport * as column from './column';\nimport * as columns from './columns';\nimport * as commentAuthorAvatar from './comment-author-avatar';\nimport * as commentAuthorName from './comment-author-name';\nimport * as commentContent from './comment-content';\nimport * as commentDate from './comment-date';\nimport * as commentEditLink from './comment-edit-link';\nimport * as commentReplyLink from './comment-reply-link';\nimport * as commentTemplate from './comment-template';\nimport * as commentsQueryLoop from './comments-query-loop';\nimport * as cover from './cover';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as gallery from './gallery';\nimport * as group from './group';\nimport * as heading from './heading';\nimport * as homeLink from './home-link';\nimport * as html from './html';\nimport * as image from './image';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as logInOut from './loginout';\nimport * as mediaText from './media-text';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as navigation from './navigation';\nimport * as navigationArea from './navigation-area';\nimport * as navigationLink from './navigation-link';\nimport * as navigationSubmenu from './navigation-submenu';\nimport * as nextpage from './nextpage';\nimport * as pattern from './pattern';\nimport * as pageList from './page-list';\nimport * as paragraph from './paragraph';\nimport * as postAuthor from './post-author';\nimport * as postComment from './post-comment';\nimport * as postComments from './post-comments';\nimport * as postCommentsCount from './post-comments-count';\nimport * as postCommentsForm from './post-comments-form';\nimport * as postCommentsLink from './post-comments-link';\nimport * as postContent from './post-content';\nimport * as postDate from './post-date';\nimport * as postExcerpt from './post-excerpt';\nimport * as postFeaturedImage from './post-featured-image';\nimport * as postNavigationLink from './post-navigation-link';\nimport * as postTemplate from './post-template';\nimport * as postTerms from './post-terms';\nimport * as postTitle from './post-title';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as query from './query';\nimport * as queryPagination from './query-pagination';\nimport * as queryPaginationNext from './query-pagination-next';\nimport * as queryPaginationNumbers from './query-pagination-numbers';\nimport * as queryPaginationPrevious from './query-pagination-previous';\nimport * as queryTitle from './query-title';\nimport * as quote from './quote';\nimport * as reusableBlock from './block';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as siteLogo from './site-logo';\nimport * as siteTagline from './site-tagline';\nimport * as siteTitle from './site-title';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\nimport * as spacer from './spacer';\nimport * as table from './table';\n// import * as tableOfContents from './table-of-contents';\nimport * as tagCloud from './tag-cloud';\nimport * as templatePart from './template-part';\nimport * as termDescription from './term-description';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\n\n/**\n * Function to register an individual block.\n *\n * @param {Object} block The block to be registered.\n *\n */\nconst registerBlock = ( block ) => {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\tregisterBlockType( { name, ...metadata }, settings );\n};\n\n/**\n * Function to get all the core blocks in an array.\n *\n * @example\n * ```js\n * import { __experimentalGetCoreBlocks } from '@wordpress/block-library';\n *\n * const coreBlocks = __experimentalGetCoreBlocks();\n * ```\n */\nexport const __experimentalGetCoreBlocks = () => [\n\t// Common blocks are grouped at the top to prioritize their display\n\t// in various contexts — like the inserter and auto-complete components.\n\tparagraph,\n\timage,\n\theading,\n\tgallery,\n\tlist,\n\tquote,\n\n\t// Register all remaining core blocks.\n\tarchives,\n\taudio,\n\tbutton,\n\tbuttons,\n\tcalendar,\n\tcategories,\n\twindow.wp && window.wp.oldEditor ? classic : null, // Only add the classic block in WP Context\n\tcode,\n\tcolumn,\n\tcolumns,\n\tcover,\n\tembed,\n\tfile,\n\tgroup,\n\thtml,\n\tlatestComments,\n\tlatestPosts,\n\tmediaText,\n\tmissing,\n\tmore,\n\tnextpage,\n\tpageList,\n\tpattern,\n\tpreformatted,\n\tpullquote,\n\treusableBlock,\n\trss,\n\tsearch,\n\tseparator,\n\tshortcode,\n\tsocialLink,\n\tsocialLinks,\n\tspacer,\n\ttable,\n\t// tableOfContents,\n\ttagCloud,\n\ttextColumns,\n\tverse,\n\tvideo,\n\n\t// theme blocks\n\tnavigation,\n\tnavigationLink,\n\tnavigationSubmenu,\n\tsiteLogo,\n\tsiteTitle,\n\tsiteTagline,\n\tquery,\n\ttemplatePart,\n\tpostTitle,\n\tpostExcerpt,\n\tpostFeaturedImage,\n\tpostContent,\n\tpostAuthor,\n\tpostDate,\n\tpostTerms,\n\tpostNavigationLink,\n\tpostTemplate,\n\tqueryPagination,\n\tqueryPaginationNext,\n\tqueryPaginationNumbers,\n\tqueryPaginationPrevious,\n\tpostComments,\n\tlogInOut,\n\ttermDescription,\n\tqueryTitle,\n];\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @param {Array} blocks An optional array of the core blocks being registered.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n */\nexport const registerCoreBlocks = (\n\tblocks = __experimentalGetCoreBlocks()\n) => {\n\tblocks.forEach( registerBlock );\n\n\tsetDefaultBlockName( paragraph.name );\n\tif ( window.wp && window.wp.oldEditor ) {\n\t\tsetFreeformContentHandlerName( classic.name );\n\t}\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tsetGroupingBlockName( group.name );\n};\n\n/**\n * Function to register experimental core blocks depending on editor settings.\n *\n * @param {boolean} enableFSEBlocks Whether to enable the full site editing blocks.\n * @example\n * ```js\n * import { __experimentalRegisterExperimentalCoreBlocks } from '@wordpress/block-library';\n *\n * __experimentalRegisterExperimentalCoreBlocks( settings );\n * ```\n */\nexport const __experimentalRegisterExperimentalCoreBlocks =\n\tprocess.env.GUTENBERG_PHASE === 2\n\t\t? ( { enableFSEBlocks } = {} ) => {\n\t\t\t\t[\n\t\t\t\t\t// Experimental blocks.\n\t\t\t\t\thomeLink,\n\n\t\t\t\t\t// Full Site Editing blocks.\n\t\t\t\t\t...( enableFSEBlocks\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\tcommentAuthorAvatar,\n\t\t\t\t\t\t\t\tcommentAuthorName,\n\t\t\t\t\t\t\t\tcommentContent,\n\t\t\t\t\t\t\t\tcommentDate,\n\t\t\t\t\t\t\t\tcommentEditLink,\n\t\t\t\t\t\t\t\tcommentReplyLink,\n\t\t\t\t\t\t\t\tcommentTemplate,\n\t\t\t\t\t\t\t\tcommentsQueryLoop,\n\t\t\t\t\t\t\t\tnavigationArea,\n\t\t\t\t\t\t\t\tpostComment,\n\t\t\t\t\t\t\t\tpostCommentsCount,\n\t\t\t\t\t\t\t\tpostCommentsForm,\n\t\t\t\t\t\t\t\tpostCommentsLink,\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: [] ),\n\t\t\t\t].forEach( registerBlock );\n\t\t }\n\t\t: undefined;\n"]}
|