@wordpress/block-library 8.30.0 → 8.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/block/edit.js +17 -8
- package/build/block/edit.js.map +1 -1
- package/build/code/save.js +3 -1
- package/build/code/save.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/details/edit.js +1 -0
- package/build/details/edit.js.map +1 -1
- package/build/file/edit.js +2 -0
- package/build/file/edit.js.map +1 -1
- package/build/heading/index.js +4 -3
- package/build/heading/index.js.map +1 -1
- package/build/media-text/edit.js +33 -9
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +5 -0
- package/build/media-text/index.js.map +1 -1
- package/build/media-text/media-container.js +30 -11
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/save.js +2 -2
- package/build/media-text/save.js.map +1 -1
- package/build/navigation/edit/index.js +23 -29
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +24 -23
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +4 -4
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +15 -12
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/edit.js +12 -10
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -0
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/post-author/edit.js +1 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -0
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +4 -1
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +6 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-terms/edit.js +2 -0
- package/build/post-terms/edit.js.map +1 -1
- package/build/quote/edit.js +2 -2
- package/build/quote/edit.js.map +1 -1
- package/build/read-more/edit.js +1 -0
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +2 -0
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +2 -2
- package/build/search/edit.native.js.map +1 -1
- package/build/social-link/edit.js +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/icons/medium.js +1 -1
- package/build/social-link/icons/medium.js.map +1 -1
- package/build/social-link/icons/reddit.js +1 -1
- package/build/social-link/icons/reddit.js.map +1 -1
- package/build/table/deprecated.js +285 -175
- package/build/table/deprecated.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/template-part/edit/index.js +1 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/video/edit.native.js +1 -1
- package/build/video/edit.native.js.map +1 -1
- package/build-module/block/edit.js +18 -9
- package/build-module/block/edit.js.map +1 -1
- package/build-module/code/save.js +3 -1
- package/build-module/code/save.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/details/edit.js +1 -0
- package/build-module/details/edit.js.map +1 -1
- package/build-module/file/edit.js +2 -0
- package/build-module/file/edit.js.map +1 -1
- package/build-module/heading/index.js +4 -3
- package/build-module/heading/index.js.map +1 -1
- package/build-module/media-text/edit.js +34 -10
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +5 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/media-text/media-container.js +31 -12
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/save.js +2 -2
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/navigation/edit/index.js +24 -30
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +4 -4
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +15 -12
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/edit.js +13 -11
- package/build-module/navigation-link/edit.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/post-author/edit.js +1 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -0
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +5 -2
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +6 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +2 -0
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/quote/edit.js +2 -2
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/read-more/edit.js +1 -0
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +2 -0
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +2 -2
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/social-link/edit.js +1 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/icons/medium.js +1 -1
- package/build-module/social-link/icons/medium.js.map +1 -1
- package/build-module/social-link/icons/reddit.js +1 -1
- package/build-module/social-link/icons/reddit.js.map +1 -1
- package/build-module/table/deprecated.js +286 -176
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/template-part/edit/index.js +1 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/video/edit.native.js +1 -1
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/editor-rtl.css +10 -4
- package/build-style/editor.css +10 -4
- package/build-style/file/editor-rtl.css +3 -0
- package/build-style/file/editor.css +3 -0
- package/build-style/image/editor-rtl.css +0 -3
- package/build-style/image/editor.css +0 -3
- package/build-style/media-text/editor-rtl.css +7 -1
- package/build-style/media-text/editor.css +7 -1
- package/build-style/social-links/style-rtl.css +2 -2
- package/build-style/social-links/style.css +2 -2
- package/build-style/style-rtl.css +2 -2
- package/build-style/style.css +2 -2
- package/package.json +34 -34
- package/src/archives/index.php +4 -0
- package/src/avatar/index.php +6 -0
- package/src/block/edit.js +38 -15
- package/src/block/index.php +4 -0
- package/src/block/test/edit.native.js +67 -0
- package/src/calendar/index.php +12 -0
- package/src/categories/index.php +6 -0
- package/src/code/save.js +7 -1
- package/src/comment-author-name/index.php +4 -0
- package/src/comment-content/index.php +4 -0
- package/src/comment-date/index.php +4 -0
- package/src/comment-edit-link/index.php +4 -0
- package/src/comment-reply-link/index.php +4 -0
- package/src/comment-template/index.php +4 -0
- package/src/comments/index.php +10 -0
- package/src/comments-pagination/index.php +4 -0
- package/src/comments-pagination-next/index.php +4 -0
- package/src/comments-pagination-numbers/index.php +4 -0
- package/src/comments-pagination-previous/index.php +4 -0
- package/src/comments-title/index.php +4 -0
- package/src/cover/edit/index.js +4 -1
- package/src/cover/index.php +4 -0
- package/src/details/edit.js +1 -0
- package/src/file/edit.js +2 -0
- package/src/file/editor.scss +3 -0
- package/src/file/index.php +4 -0
- package/src/gallery/index.php +6 -0
- package/src/heading/index.js +4 -3
- package/src/heading/index.php +4 -0
- package/src/home-link/index.php +10 -0
- package/src/image/editor.scss +0 -5
- package/src/image/index.php +12 -1
- package/src/latest-comments/index.php +4 -0
- package/src/latest-posts/index.php +8 -0
- package/src/loginout/index.php +4 -0
- package/src/media-text/block.json +5 -0
- package/src/media-text/edit.js +70 -19
- package/src/media-text/editor.scss +7 -1
- package/src/media-text/index.php +70 -0
- package/src/media-text/media-container.js +49 -9
- package/src/media-text/save.js +2 -2
- package/src/navigation/edit/index.js +67 -71
- package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
- package/src/navigation/edit/navigation-menu-selector.js +39 -21
- package/src/navigation/edit/placeholder/index.js +4 -4
- package/src/navigation/edit/test/navigation-menu-selector.js +75 -53
- package/src/navigation/index.php +101 -26
- package/src/navigation/test/use-navigation-menu.js +21 -21
- package/src/navigation/use-navigation-menu.js +23 -9
- package/src/navigation-link/edit.js +12 -13
- package/src/navigation-link/index.php +14 -0
- package/src/navigation-submenu/edit.js +4 -0
- package/src/navigation-submenu/index.php +8 -0
- package/src/page-list/index.php +12 -0
- package/src/page-list-item/index.php +2 -0
- package/src/pattern/index.php +2 -0
- package/src/post-author/edit.js +1 -0
- package/src/post-author/index.php +4 -0
- package/src/post-author-biography/index.php +4 -0
- package/src/post-author-name/index.php +4 -0
- package/src/post-comments-form/index.php +6 -0
- package/src/post-content/index.php +4 -0
- package/src/post-date/index.php +4 -0
- package/src/post-excerpt/edit.js +1 -0
- package/src/post-excerpt/index.php +4 -0
- package/src/post-featured-image/block.json +6 -0
- package/src/post-featured-image/edit.js +4 -0
- package/src/post-featured-image/index.php +15 -0
- package/src/post-navigation-link/edit.js +1 -0
- package/src/post-navigation-link/index.php +4 -0
- package/src/post-template/index.php +4 -0
- package/src/post-terms/edit.js +2 -0
- package/src/post-terms/index.php +6 -0
- package/src/post-title/index.php +2 -0
- package/src/query/index.php +2 -0
- package/src/query-no-results/index.php +4 -0
- package/src/query-pagination/index.php +4 -0
- package/src/query-pagination-next/index.php +4 -0
- package/src/query-pagination-numbers/index.php +4 -0
- package/src/query-pagination-previous/index.php +4 -0
- package/src/query-title/index.php +4 -0
- package/src/quote/edit.js +11 -5
- package/src/read-more/edit.js +1 -0
- package/src/read-more/index.php +4 -0
- package/src/rss/index.php +4 -0
- package/src/search/edit.js +2 -0
- package/src/search/edit.native.js +2 -2
- package/src/search/index.php +19 -1
- package/src/shortcode/index.php +4 -0
- package/src/site-logo/index.php +20 -0
- package/src/site-tagline/index.php +4 -0
- package/src/site-title/index.php +4 -0
- package/src/social-link/edit.js +1 -1
- package/src/social-link/icons/medium.js +1 -1
- package/src/social-link/icons/reddit.js +1 -1
- package/src/social-link/index.php +22 -9
- package/src/social-link/socials-with-bg.scss +1 -1
- package/src/social-link/socials-without-bg.scss +1 -1
- package/src/table/block.json +1 -1
- package/src/table/deprecated.js +308 -175
- package/src/tag-cloud/index.php +4 -0
- package/src/template-part/edit/index.js +1 -1
- package/src/template-part/index.php +10 -0
- package/src/term-description/index.php +4 -0
- package/src/video/edit.native.js +2 -0
- package/tsconfig.json +1 -0
package/CHANGELOG.md
CHANGED
package/build/block/edit.js
CHANGED
|
@@ -204,7 +204,8 @@ function ReusableBlockEdit({
|
|
|
204
204
|
userCanEdit,
|
|
205
205
|
getBlockEditingMode,
|
|
206
206
|
onNavigateToEntityRecord,
|
|
207
|
-
editingMode
|
|
207
|
+
editingMode,
|
|
208
|
+
hasPatternOverridesSource
|
|
208
209
|
} = (0, _data.useSelect)(select => {
|
|
209
210
|
const {
|
|
210
211
|
canUser
|
|
@@ -214,6 +215,9 @@ function ReusableBlockEdit({
|
|
|
214
215
|
getSettings,
|
|
215
216
|
getBlockEditingMode: _getBlockEditingMode
|
|
216
217
|
} = select(_blockEditor.store);
|
|
218
|
+
const {
|
|
219
|
+
getBlockBindingsSource
|
|
220
|
+
} = (0, _lockUnlock.unlock)(select(_blocks.store));
|
|
217
221
|
const blocks = getBlocks(patternClientId);
|
|
218
222
|
const canEdit = canUser('update', 'blocks', ref);
|
|
219
223
|
|
|
@@ -223,7 +227,8 @@ function ReusableBlockEdit({
|
|
|
223
227
|
userCanEdit: canEdit,
|
|
224
228
|
getBlockEditingMode: _getBlockEditingMode,
|
|
225
229
|
onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord,
|
|
226
|
-
editingMode: _getBlockEditingMode(patternClientId)
|
|
230
|
+
editingMode: _getBlockEditingMode(patternClientId),
|
|
231
|
+
hasPatternOverridesSource: !!getBlockBindingsSource('core/pattern-overrides')
|
|
227
232
|
};
|
|
228
233
|
}, [patternClientId, ref]);
|
|
229
234
|
|
|
@@ -231,9 +236,9 @@ function ReusableBlockEdit({
|
|
|
231
236
|
(0, _element.useEffect)(() => {
|
|
232
237
|
setBlockEditMode(setBlockEditingMode, innerBlocks,
|
|
233
238
|
// Disable editing if the pattern itself is disabled.
|
|
234
|
-
editingMode === 'disabled' ? 'disabled' : undefined);
|
|
235
|
-
}, [editingMode, innerBlocks, setBlockEditingMode]);
|
|
236
|
-
const canOverrideBlocks = (0, _element.useMemo)(() => hasOverridableBlocks(innerBlocks), [innerBlocks]);
|
|
239
|
+
editingMode === 'disabled' || !hasPatternOverridesSource ? 'disabled' : undefined);
|
|
240
|
+
}, [editingMode, innerBlocks, setBlockEditingMode, hasPatternOverridesSource]);
|
|
241
|
+
const canOverrideBlocks = (0, _element.useMemo)(() => hasPatternOverridesSource && hasOverridableBlocks(innerBlocks), [hasPatternOverridesSource, innerBlocks]);
|
|
237
242
|
const initialBlocks = (0, _element.useMemo)(() => {
|
|
238
243
|
var _editedRecord$blocks$;
|
|
239
244
|
return (// Clone the blocks to generate new client IDs.
|
|
@@ -252,11 +257,12 @@ function ReusableBlockEdit({
|
|
|
252
257
|
registry.batch(() => {
|
|
253
258
|
setBlockEditingMode(patternClientId, 'default');
|
|
254
259
|
syncDerivedUpdates(() => {
|
|
255
|
-
|
|
260
|
+
const blocks = hasPatternOverridesSource ? applyInitialContentValuesToInnerBlocks(initialBlocks, initialContent.current, defaultContent.current, legacyIdMap.current) : initialBlocks;
|
|
261
|
+
replaceInnerBlocks(patternClientId, blocks);
|
|
256
262
|
});
|
|
257
263
|
setBlockEditingMode(patternClientId, originalEditingMode);
|
|
258
264
|
});
|
|
259
|
-
}, [__unstableMarkNextChangeAsNotPersistent, patternClientId, initialBlocks, replaceInnerBlocks, registry, getBlockEditingMode, setBlockEditingMode, syncDerivedUpdates]);
|
|
265
|
+
}, [hasPatternOverridesSource, __unstableMarkNextChangeAsNotPersistent, patternClientId, initialBlocks, replaceInnerBlocks, registry, getBlockEditingMode, setBlockEditingMode, syncDerivedUpdates]);
|
|
260
266
|
const {
|
|
261
267
|
alignment,
|
|
262
268
|
layout
|
|
@@ -278,6 +284,9 @@ function ReusableBlockEdit({
|
|
|
278
284
|
// Sync the `content` attribute from the updated blocks to the pattern block.
|
|
279
285
|
// `syncDerivedUpdates` is used here to avoid creating an additional undo level.
|
|
280
286
|
(0, _element.useEffect)(() => {
|
|
287
|
+
if (!hasPatternOverridesSource) {
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
281
290
|
const {
|
|
282
291
|
getBlocks
|
|
283
292
|
} = registry.select(_blockEditor.store);
|
|
@@ -293,7 +302,7 @@ function ReusableBlockEdit({
|
|
|
293
302
|
});
|
|
294
303
|
}
|
|
295
304
|
}, _blockEditor.store);
|
|
296
|
-
}, [syncDerivedUpdates, patternClientId, registry, setAttributes]);
|
|
305
|
+
}, [hasPatternOverridesSource, syncDerivedUpdates, patternClientId, registry, setAttributes]);
|
|
297
306
|
const handleEditOriginal = () => {
|
|
298
307
|
onNavigateToEntityRecord({
|
|
299
308
|
postId: ref,
|
package/build/block/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_patterns","_blocks","_richText","_index","_lockUnlock","useLayoutClasses","unlock","blockEditorPrivateApis","PARTIAL_SYNCING_SUPPORTED_BLOCKS","patternsPrivateApis","fullAlignments","getLegacyIdMap","blocks","content","nameCount","idToClientIdMap","block","innerBlocks","length","id","attributes","metadata","clientId","useInferredLayout","parentLayout","initialInferredAlignmentRef","useRef","useMemo","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","includes","align","layout","hasOverridableAttributes","Object","keys","name","bindings","values","binding","source","hasOverridableBlocks","getOverridableAttributes","entries","filter","map","attributeKey","applyInitialContentValuesToInnerBlocks","defaultValues","legacyIdMap","_legacyIdMap$block$cl","metadataName","newAttributes","_defaultValues$metada","contentValues","isAttributeEqual","attribute1","attribute2","RichTextData","toString","getContentValuesFromInnerBlocks","_legacyIdMap$block$cl2","patternBlockName","assign","_content$metadataName","setBlockEditMode","setEditMode","mode","forEach","editMode","ReusableBlockEdit","ref","__unstableParentLayout","patternClientId","setAttributes","registry","useRegistry","hasAlreadyRendered","useHasRecursion","record","editedRecord","hasResolved","useEntityRecord","isMissing","initialContent","defaultContent","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","useDispatch","blockEditorStore","syncDerivedUpdates","userCanEdit","getBlockEditingMode","onNavigateToEntityRecord","editingMode","useSelect","select","canUser","coreStore","getBlocks","getSettings","_getBlockEditingMode","canEdit","useEffect","canOverrideBlocks","initialBlocks","_editedRecord$blocks$","cloneBlock","parse","originalEditingMode","batch","layoutClasses","blockProps","useBlockProps","className","classnames","innerBlocksProps","useInnerBlocksProps","templateLock","renderAppender","InnerBlocks","ButtonBlockAppender","prevBlocks","subscribe","handleEditOriginal","postId","postType","resetContent","children","_react","createElement","Warning","__","Placeholder","Spinner","RecursionProvider","uniqueId","BlockControls","ToolbarGroup","ToolbarButton","onClick","disabled","__experimentalIsFocusable"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry, useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport { useEntityRecord, store as coreStore } from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInnerBlocks,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { parse, cloneBlock } from '@wordpress/blocks';\nimport { RichTextData } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { PARTIAL_SYNCING_SUPPORTED_BLOCKS } = unlock( patternsPrivateApis );\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nfunction getLegacyIdMap( blocks, content, nameCount = {} ) {\n\tlet idToClientIdMap = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block?.innerBlocks?.length ) {\n\t\t\tidToClientIdMap = {\n\t\t\t\t...idToClientIdMap,\n\t\t\t\t...getLegacyIdMap( block.innerBlocks, content, nameCount ),\n\t\t\t};\n\t\t}\n\n\t\tconst id = block.attributes.metadata?.id;\n\t\tconst clientId = block.clientId;\n\t\tif ( id && content?.[ id ] ) {\n\t\t\tidToClientIdMap[ clientId ] = id;\n\t\t}\n\t}\n\treturn idToClientIdMap;\n}\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nfunction hasOverridableAttributes( block ) {\n\treturn (\n\t\tObject.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(\n\t\t\tblock.name\n\t\t) &&\n\t\t!! block.attributes.metadata?.bindings &&\n\t\tObject.values( block.attributes.metadata.bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t);\n}\n\nfunction hasOverridableBlocks( blocks ) {\n\treturn blocks.some( ( block ) => {\n\t\tif ( hasOverridableAttributes( block ) ) return true;\n\t\treturn hasOverridableBlocks( block.innerBlocks );\n\t} );\n}\n\nfunction getOverridableAttributes( block ) {\n\treturn Object.entries( block.attributes.metadata.bindings )\n\t\t.filter(\n\t\t\t( [ , binding ] ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t\t.map( ( [ attributeKey ] ) => attributeKey );\n}\n\nfunction applyInitialContentValuesToInnerBlocks(\n\tblocks,\n\tcontent = {},\n\tdefaultValues,\n\tlegacyIdMap\n) {\n\treturn blocks.map( ( block ) => {\n\t\tconst innerBlocks = applyInitialContentValuesToInnerBlocks(\n\t\t\tblock.innerBlocks,\n\t\t\tcontent,\n\t\t\tdefaultValues,\n\t\t\tlegacyIdMap\n\t\t);\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\n\t\tif ( ! metadataName || ! hasOverridableAttributes( block ) ) {\n\t\t\treturn { ...block, innerBlocks };\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\t\tconst newAttributes = { ...block.attributes };\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tdefaultValues[ metadataName ] ??= {};\n\t\t\tdefaultValues[ metadataName ][ attributeKey ] =\n\t\t\t\tblock.attributes[ attributeKey ];\n\n\t\t\tconst contentValues = content[ metadataName ];\n\t\t\tif ( contentValues?.[ attributeKey ] !== undefined ) {\n\t\t\t\tnewAttributes[ attributeKey ] = contentValues[ attributeKey ];\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...block,\n\t\t\tattributes: newAttributes,\n\t\t\tinnerBlocks,\n\t\t};\n\t} );\n}\n\nfunction isAttributeEqual( attribute1, attribute2 ) {\n\tif (\n\t\tattribute1 instanceof RichTextData &&\n\t\tattribute2 instanceof RichTextData\n\t) {\n\t\treturn attribute1.toString() === attribute2.toString();\n\t}\n\treturn attribute1 === attribute2;\n}\n\nfunction getContentValuesFromInnerBlocks( blocks, defaultValues, legacyIdMap ) {\n\t/** @type {Record<string, { values: Record<string, unknown>}>} */\n\tconst content = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block.name === patternBlockName ) continue;\n\t\tif ( block.innerBlocks.length ) {\n\t\t\tObject.assign(\n\t\t\t\tcontent,\n\t\t\t\tgetContentValuesFromInnerBlocks(\n\t\t\t\t\tblock.innerBlocks,\n\t\t\t\t\tdefaultValues,\n\t\t\t\t\tlegacyIdMap\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\t\tif ( ! metadataName || ! hasOverridableAttributes( block ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tif (\n\t\t\t\t! isAttributeEqual(\n\t\t\t\t\tblock.attributes[ attributeKey ],\n\t\t\t\t\tdefaultValues?.[ metadataName ]?.[ attributeKey ]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tcontent[ metadataName ] ??= {};\n\t\t\t\t// TODO: We need a way to represent `undefined` in the serialized overrides.\n\t\t\t\t// Also see: https://github.com/WordPress/gutenberg/pull/57249#discussion_r1452987871\n\t\t\t\tcontent[ metadataName ][ attributeKey ] =\n\t\t\t\t\tblock.attributes[ attributeKey ] === undefined\n\t\t\t\t\t\t? // TODO: We use an empty string to represent undefined for now until\n\t\t\t\t\t\t // we support a richer format for overrides and the block binding API.\n\t\t\t\t\t\t // Currently only the `linkTarget` attribute of `core/button` is affected.\n\t\t\t\t\t\t ''\n\t\t\t\t\t\t: block.attributes[ attributeKey ];\n\t\t\t}\n\t\t}\n\t}\n\treturn Object.keys( content ).length > 0 ? content : undefined;\n}\n\nfunction setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode ||\n\t\t\t( hasOverridableAttributes( block ) ? 'contentOnly' : 'disabled' );\n\t\tsetEditMode( block.clientId, editMode );\n\n\t\tsetBlockEditMode(\n\t\t\tsetEditMode,\n\t\t\tblock.innerBlocks,\n\t\t\t// Disable editing for nested patterns.\n\t\t\tblock.name === patternBlockName ? 'disabled' : mode\n\t\t);\n\t} );\n}\n\nexport default function ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, content },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n\tsetAttributes,\n} ) {\n\tconst registry = useRegistry();\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\tconst { record, editedRecord, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\n\t// The initial value of the `content` attribute.\n\tconst initialContent = useRef( content );\n\n\t// The default content values from the original pattern for overridable attributes.\n\t// Set by the `applyInitialContentValuesToInnerBlocks` function.\n\tconst defaultContent = useRef( {} );\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetBlockEditingMode,\n\t} = useDispatch( blockEditorStore );\n\tconst { syncDerivedUpdates } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tuserCanEdit,\n\t\tgetBlockEditingMode,\n\t\tonNavigateToEntityRecord,\n\t\teditingMode,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\tconst {\n\t\t\t\tgetBlocks,\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tconst canEdit = canUser( 'update', 'blocks', ref );\n\n\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\treturn {\n\t\t\t\tinnerBlocks: blocks,\n\t\t\t\tuserCanEdit: canEdit,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\teditingMode: _getBlockEditingMode( patternClientId ),\n\t\t\t};\n\t\t},\n\t\t[ patternClientId, ref ]\n\t);\n\n\t// Sync the editing mode of the pattern block with the inner blocks.\n\tuseEffect( () => {\n\t\tsetBlockEditMode(\n\t\t\tsetBlockEditingMode,\n\t\t\tinnerBlocks,\n\t\t\t// Disable editing if the pattern itself is disabled.\n\t\t\teditingMode === 'disabled' ? 'disabled' : undefined\n\t\t);\n\t}, [ editingMode, innerBlocks, setBlockEditingMode ] );\n\n\tconst canOverrideBlocks = useMemo(\n\t\t() => hasOverridableBlocks( innerBlocks ),\n\t\t[ innerBlocks ]\n\t);\n\n\tconst initialBlocks = useMemo(\n\t\t() =>\n\t\t\t// Clone the blocks to generate new client IDs.\n\t\t\teditedRecord.blocks?.map( ( block ) => cloneBlock( block ) ) ??\n\t\t\t( editedRecord.content && typeof editedRecord.content !== 'function'\n\t\t\t\t? parse( editedRecord.content )\n\t\t\t\t: [] ),\n\t\t[ editedRecord.blocks, editedRecord.content ]\n\t);\n\n\tconst legacyIdMap = useRef( {} );\n\n\t// Apply the initial overrides from the pattern block to the inner blocks.\n\tuseEffect( () => {\n\t\t// Build a map of clientIds to the old nano id system to provide back compat.\n\t\tlegacyIdMap.current = getLegacyIdMap(\n\t\t\tinitialBlocks,\n\t\t\tinitialContent.current\n\t\t);\n\t\tdefaultContent.current = {};\n\t\tconst originalEditingMode = getBlockEditingMode( patternClientId );\n\t\t// Replace the contents of the blocks with the overrides.\n\t\tregistry.batch( () => {\n\t\t\tsetBlockEditingMode( patternClientId, 'default' );\n\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\tpatternClientId,\n\t\t\t\t\tapplyInitialContentValuesToInnerBlocks(\n\t\t\t\t\t\tinitialBlocks,\n\t\t\t\t\t\tinitialContent.current,\n\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\tlegacyIdMap.current\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t\tsetBlockEditingMode( patternClientId, originalEditingMode );\n\t\t} );\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tpatternClientId,\n\t\tinitialBlocks,\n\t\treplaceInnerBlocks,\n\t\tregistry,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tsyncDerivedUpdates,\n\t] );\n\n\tconst { alignment, layout } = useInferredLayout(\n\t\tinnerBlocks,\n\t\tparentLayout\n\t);\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: 'all',\n\t\tlayout,\n\t\trenderAppender: innerBlocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\t// Sync the `content` attribute from the updated blocks to the pattern block.\n\t// `syncDerivedUpdates` is used here to avoid creating an additional undo level.\n\tuseEffect( () => {\n\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\t\tlet prevBlocks = getBlocks( patternClientId );\n\t\treturn registry.subscribe( () => {\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tif ( blocks !== prevBlocks ) {\n\t\t\t\tprevBlocks = blocks;\n\t\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: getContentValuesFromInnerBlocks(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\t\tlegacyIdMap.current\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}, blockEditorStore );\n\t}, [ syncDerivedUpdates, patternClientId, registry, setAttributes ] );\n\n\tconst handleEditOriginal = () => {\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: ref,\n\t\t\tpostType: 'wp_block',\n\t\t} );\n\t};\n\n\tconst resetContent = () => {\n\t\tif ( content ) {\n\t\t\treplaceInnerBlocks( patternClientId, initialBlocks );\n\t\t}\n\t};\n\n\tlet children = null;\n\n\tif ( hasAlreadyRendered ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\tchildren = (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t{ userCanEdit && onNavigateToEntityRecord && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton onClick={ handleEditOriginal }>\n\t\t\t\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ canOverrideBlocks && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ resetContent }\n\t\t\t\t\t\t\tdisabled={ ! content }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ children === null ? (\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t) : (\n\t\t\t\t<div { ...blockProps }>{ children }</div>\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_patterns","_blocks","_richText","_index","_lockUnlock","useLayoutClasses","unlock","blockEditorPrivateApis","PARTIAL_SYNCING_SUPPORTED_BLOCKS","patternsPrivateApis","fullAlignments","getLegacyIdMap","blocks","content","nameCount","idToClientIdMap","block","innerBlocks","length","id","attributes","metadata","clientId","useInferredLayout","parentLayout","initialInferredAlignmentRef","useRef","useMemo","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","includes","align","layout","hasOverridableAttributes","Object","keys","name","bindings","values","binding","source","hasOverridableBlocks","getOverridableAttributes","entries","filter","map","attributeKey","applyInitialContentValuesToInnerBlocks","defaultValues","legacyIdMap","_legacyIdMap$block$cl","metadataName","newAttributes","_defaultValues$metada","contentValues","isAttributeEqual","attribute1","attribute2","RichTextData","toString","getContentValuesFromInnerBlocks","_legacyIdMap$block$cl2","patternBlockName","assign","_content$metadataName","setBlockEditMode","setEditMode","mode","forEach","editMode","ReusableBlockEdit","ref","__unstableParentLayout","patternClientId","setAttributes","registry","useRegistry","hasAlreadyRendered","useHasRecursion","record","editedRecord","hasResolved","useEntityRecord","isMissing","initialContent","defaultContent","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","useDispatch","blockEditorStore","syncDerivedUpdates","userCanEdit","getBlockEditingMode","onNavigateToEntityRecord","editingMode","hasPatternOverridesSource","useSelect","select","canUser","coreStore","getBlocks","getSettings","_getBlockEditingMode","getBlockBindingsSource","blocksStore","canEdit","useEffect","canOverrideBlocks","initialBlocks","_editedRecord$blocks$","cloneBlock","parse","originalEditingMode","batch","layoutClasses","blockProps","useBlockProps","className","classnames","innerBlocksProps","useInnerBlocksProps","templateLock","renderAppender","InnerBlocks","ButtonBlockAppender","prevBlocks","subscribe","handleEditOriginal","postId","postType","resetContent","children","_react","createElement","Warning","__","Placeholder","Spinner","RecursionProvider","uniqueId","BlockControls","ToolbarGroup","ToolbarButton","onClick","disabled","__experimentalIsFocusable"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry, useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport { useEntityRecord, store as coreStore } from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInnerBlocks,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { parse, cloneBlock, store as blocksStore } from '@wordpress/blocks';\nimport { RichTextData } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { PARTIAL_SYNCING_SUPPORTED_BLOCKS } = unlock( patternsPrivateApis );\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nfunction getLegacyIdMap( blocks, content, nameCount = {} ) {\n\tlet idToClientIdMap = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block?.innerBlocks?.length ) {\n\t\t\tidToClientIdMap = {\n\t\t\t\t...idToClientIdMap,\n\t\t\t\t...getLegacyIdMap( block.innerBlocks, content, nameCount ),\n\t\t\t};\n\t\t}\n\n\t\tconst id = block.attributes.metadata?.id;\n\t\tconst clientId = block.clientId;\n\t\tif ( id && content?.[ id ] ) {\n\t\t\tidToClientIdMap[ clientId ] = id;\n\t\t}\n\t}\n\treturn idToClientIdMap;\n}\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nfunction hasOverridableAttributes( block ) {\n\treturn (\n\t\tObject.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(\n\t\t\tblock.name\n\t\t) &&\n\t\t!! block.attributes.metadata?.bindings &&\n\t\tObject.values( block.attributes.metadata.bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t);\n}\n\nfunction hasOverridableBlocks( blocks ) {\n\treturn blocks.some( ( block ) => {\n\t\tif ( hasOverridableAttributes( block ) ) return true;\n\t\treturn hasOverridableBlocks( block.innerBlocks );\n\t} );\n}\n\nfunction getOverridableAttributes( block ) {\n\treturn Object.entries( block.attributes.metadata.bindings )\n\t\t.filter(\n\t\t\t( [ , binding ] ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t\t.map( ( [ attributeKey ] ) => attributeKey );\n}\n\nfunction applyInitialContentValuesToInnerBlocks(\n\tblocks,\n\tcontent = {},\n\tdefaultValues,\n\tlegacyIdMap\n) {\n\treturn blocks.map( ( block ) => {\n\t\tconst innerBlocks = applyInitialContentValuesToInnerBlocks(\n\t\t\tblock.innerBlocks,\n\t\t\tcontent,\n\t\t\tdefaultValues,\n\t\t\tlegacyIdMap\n\t\t);\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\n\t\tif ( ! metadataName || ! hasOverridableAttributes( block ) ) {\n\t\t\treturn { ...block, innerBlocks };\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\t\tconst newAttributes = { ...block.attributes };\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tdefaultValues[ metadataName ] ??= {};\n\t\t\tdefaultValues[ metadataName ][ attributeKey ] =\n\t\t\t\tblock.attributes[ attributeKey ];\n\n\t\t\tconst contentValues = content[ metadataName ];\n\t\t\tif ( contentValues?.[ attributeKey ] !== undefined ) {\n\t\t\t\tnewAttributes[ attributeKey ] = contentValues[ attributeKey ];\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...block,\n\t\t\tattributes: newAttributes,\n\t\t\tinnerBlocks,\n\t\t};\n\t} );\n}\n\nfunction isAttributeEqual( attribute1, attribute2 ) {\n\tif (\n\t\tattribute1 instanceof RichTextData &&\n\t\tattribute2 instanceof RichTextData\n\t) {\n\t\treturn attribute1.toString() === attribute2.toString();\n\t}\n\treturn attribute1 === attribute2;\n}\n\nfunction getContentValuesFromInnerBlocks( blocks, defaultValues, legacyIdMap ) {\n\t/** @type {Record<string, { values: Record<string, unknown>}>} */\n\tconst content = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block.name === patternBlockName ) continue;\n\t\tif ( block.innerBlocks.length ) {\n\t\t\tObject.assign(\n\t\t\t\tcontent,\n\t\t\t\tgetContentValuesFromInnerBlocks(\n\t\t\t\t\tblock.innerBlocks,\n\t\t\t\t\tdefaultValues,\n\t\t\t\t\tlegacyIdMap\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\t\tif ( ! metadataName || ! hasOverridableAttributes( block ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tif (\n\t\t\t\t! isAttributeEqual(\n\t\t\t\t\tblock.attributes[ attributeKey ],\n\t\t\t\t\tdefaultValues?.[ metadataName ]?.[ attributeKey ]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tcontent[ metadataName ] ??= {};\n\t\t\t\t// TODO: We need a way to represent `undefined` in the serialized overrides.\n\t\t\t\t// Also see: https://github.com/WordPress/gutenberg/pull/57249#discussion_r1452987871\n\t\t\t\tcontent[ metadataName ][ attributeKey ] =\n\t\t\t\t\tblock.attributes[ attributeKey ] === undefined\n\t\t\t\t\t\t? // TODO: We use an empty string to represent undefined for now until\n\t\t\t\t\t\t // we support a richer format for overrides and the block binding API.\n\t\t\t\t\t\t // Currently only the `linkTarget` attribute of `core/button` is affected.\n\t\t\t\t\t\t ''\n\t\t\t\t\t\t: block.attributes[ attributeKey ];\n\t\t\t}\n\t\t}\n\t}\n\treturn Object.keys( content ).length > 0 ? content : undefined;\n}\n\nfunction setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode ||\n\t\t\t( hasOverridableAttributes( block ) ? 'contentOnly' : 'disabled' );\n\t\tsetEditMode( block.clientId, editMode );\n\n\t\tsetBlockEditMode(\n\t\t\tsetEditMode,\n\t\t\tblock.innerBlocks,\n\t\t\t// Disable editing for nested patterns.\n\t\t\tblock.name === patternBlockName ? 'disabled' : mode\n\t\t);\n\t} );\n}\n\nexport default function ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, content },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n\tsetAttributes,\n} ) {\n\tconst registry = useRegistry();\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\tconst { record, editedRecord, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\n\t// The initial value of the `content` attribute.\n\tconst initialContent = useRef( content );\n\n\t// The default content values from the original pattern for overridable attributes.\n\t// Set by the `applyInitialContentValuesToInnerBlocks` function.\n\tconst defaultContent = useRef( {} );\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetBlockEditingMode,\n\t} = useDispatch( blockEditorStore );\n\tconst { syncDerivedUpdates } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tuserCanEdit,\n\t\tgetBlockEditingMode,\n\t\tonNavigateToEntityRecord,\n\t\teditingMode,\n\t\thasPatternOverridesSource,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\tconst {\n\t\t\t\tgetBlocks,\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tconst canEdit = canUser( 'update', 'blocks', ref );\n\n\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\treturn {\n\t\t\t\tinnerBlocks: blocks,\n\t\t\t\tuserCanEdit: canEdit,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\teditingMode: _getBlockEditingMode( patternClientId ),\n\t\t\t\thasPatternOverridesSource: !! getBlockBindingsSource(\n\t\t\t\t\t'core/pattern-overrides'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ patternClientId, ref ]\n\t);\n\n\t// Sync the editing mode of the pattern block with the inner blocks.\n\tuseEffect( () => {\n\t\tsetBlockEditMode(\n\t\t\tsetBlockEditingMode,\n\t\t\tinnerBlocks,\n\t\t\t// Disable editing if the pattern itself is disabled.\n\t\t\teditingMode === 'disabled' || ! hasPatternOverridesSource\n\t\t\t\t? 'disabled'\n\t\t\t\t: undefined\n\t\t);\n\t}, [\n\t\teditingMode,\n\t\tinnerBlocks,\n\t\tsetBlockEditingMode,\n\t\thasPatternOverridesSource,\n\t] );\n\n\tconst canOverrideBlocks = useMemo(\n\t\t() => hasPatternOverridesSource && hasOverridableBlocks( innerBlocks ),\n\t\t[ hasPatternOverridesSource, innerBlocks ]\n\t);\n\n\tconst initialBlocks = useMemo(\n\t\t() =>\n\t\t\t// Clone the blocks to generate new client IDs.\n\t\t\teditedRecord.blocks?.map( ( block ) => cloneBlock( block ) ) ??\n\t\t\t( editedRecord.content && typeof editedRecord.content !== 'function'\n\t\t\t\t? parse( editedRecord.content )\n\t\t\t\t: [] ),\n\t\t[ editedRecord.blocks, editedRecord.content ]\n\t);\n\n\tconst legacyIdMap = useRef( {} );\n\n\t// Apply the initial overrides from the pattern block to the inner blocks.\n\tuseEffect( () => {\n\t\t// Build a map of clientIds to the old nano id system to provide back compat.\n\t\tlegacyIdMap.current = getLegacyIdMap(\n\t\t\tinitialBlocks,\n\t\t\tinitialContent.current\n\t\t);\n\t\tdefaultContent.current = {};\n\t\tconst originalEditingMode = getBlockEditingMode( patternClientId );\n\t\t// Replace the contents of the blocks with the overrides.\n\t\tregistry.batch( () => {\n\t\t\tsetBlockEditingMode( patternClientId, 'default' );\n\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\tconst blocks = hasPatternOverridesSource\n\t\t\t\t\t? applyInitialContentValuesToInnerBlocks(\n\t\t\t\t\t\t\tinitialBlocks,\n\t\t\t\t\t\t\tinitialContent.current,\n\t\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\t\tlegacyIdMap.current\n\t\t\t\t\t )\n\t\t\t\t\t: initialBlocks;\n\n\t\t\t\treplaceInnerBlocks( patternClientId, blocks );\n\t\t\t} );\n\t\t\tsetBlockEditingMode( patternClientId, originalEditingMode );\n\t\t} );\n\t}, [\n\t\thasPatternOverridesSource,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tpatternClientId,\n\t\tinitialBlocks,\n\t\treplaceInnerBlocks,\n\t\tregistry,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tsyncDerivedUpdates,\n\t] );\n\n\tconst { alignment, layout } = useInferredLayout(\n\t\tinnerBlocks,\n\t\tparentLayout\n\t);\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: 'all',\n\t\tlayout,\n\t\trenderAppender: innerBlocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\t// Sync the `content` attribute from the updated blocks to the pattern block.\n\t// `syncDerivedUpdates` is used here to avoid creating an additional undo level.\n\tuseEffect( () => {\n\t\tif ( ! hasPatternOverridesSource ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\t\tlet prevBlocks = getBlocks( patternClientId );\n\t\treturn registry.subscribe( () => {\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tif ( blocks !== prevBlocks ) {\n\t\t\t\tprevBlocks = blocks;\n\t\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: getContentValuesFromInnerBlocks(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\t\tlegacyIdMap.current\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}, blockEditorStore );\n\t}, [\n\t\thasPatternOverridesSource,\n\t\tsyncDerivedUpdates,\n\t\tpatternClientId,\n\t\tregistry,\n\t\tsetAttributes,\n\t] );\n\n\tconst handleEditOriginal = () => {\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: ref,\n\t\t\tpostType: 'wp_block',\n\t\t} );\n\t};\n\n\tconst resetContent = () => {\n\t\tif ( content ) {\n\t\t\treplaceInnerBlocks( patternClientId, initialBlocks );\n\t\t}\n\t};\n\n\tlet children = null;\n\n\tif ( hasAlreadyRendered ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\tchildren = (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t{ userCanEdit && onNavigateToEntityRecord && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton onClick={ handleEditOriginal }>\n\t\t\t\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ canOverrideBlocks && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ resetContent }\n\t\t\t\t\t\t\tdisabled={ ! content }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ children === null ? (\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t) : (\n\t\t\t\t<div { ...blockProps }>{ children }</div>\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"],"mappings":"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"}
|
package/build/code/save.js
CHANGED
|
@@ -26,7 +26,9 @@ function save({
|
|
|
26
26
|
// prevent embedding in PHP. Ideally checks for the code block,
|
|
27
27
|
// or pre/code tags, should be made on the PHP side?
|
|
28
28
|
,
|
|
29
|
-
value: (0, _utils.escape)(attributes.content.
|
|
29
|
+
value: (0, _utils.escape)(typeof attributes.content === 'string' ? attributes.content : attributes.content.toHTMLString({
|
|
30
|
+
preserveWhiteSpace: true
|
|
31
|
+
}))
|
|
30
32
|
}));
|
|
31
33
|
}
|
|
32
34
|
//# sourceMappingURL=save.js.map
|
package/build/code/save.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blockEditor","require","_utils","save","attributes","_react","createElement","useBlockProps","RichText","Content","tagName","value","escape","content","
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_utils","save","attributes","_react","createElement","useBlockProps","RichText","Content","tagName","value","escape","content","toHTMLString","preserveWhiteSpace"],"sources":["@wordpress/block-library/src/code/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { escape } from './utils';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<pre { ...useBlockProps.save() }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"code\"\n\t\t\t\t// To do: `escape` encodes characters in shortcodes and URLs to\n\t\t\t\t// prevent embedding in PHP. Ideally checks for the code block,\n\t\t\t\t// or pre/code tags, should be made on the PHP side?\n\t\t\t\tvalue={ escape(\n\t\t\t\t\ttypeof attributes.content === 'string'\n\t\t\t\t\t\t? attributes.content\n\t\t\t\t\t\t: attributes.content.toHTMLString( {\n\t\t\t\t\t\t\t\tpreserveWhiteSpace: true,\n\t\t\t\t\t\t } )\n\t\t\t\t) }\n\t\t\t/>\n\t\t</pre>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGe,SAASE,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAA,GAAUC,0BAAa,CAACJ,IAAI,CAAC;EAAC,GAC7B,IAAAE,MAAA,CAAAC,aAAA,EAACN,YAAA,CAAAQ,QAAQ,CAACC,OAAO;IAChBC,OAAO,EAAC;IACR;IACA;IACA;IAAA;IACAC,KAAK,EAAG,IAAAC,aAAM,EACb,OAAOR,UAAU,CAACS,OAAO,KAAK,QAAQ,GACnCT,UAAU,CAACS,OAAO,GAClBT,UAAU,CAACS,OAAO,CAACC,YAAY,CAAE;MACjCC,kBAAkB,EAAE;IACpB,CAAE,CACN;EAAG,CACH,CACG,CAAC;AAER"}
|
|
@@ -367,6 +367,7 @@ function CoverEdit({
|
|
|
367
367
|
'is-repeated': isRepeated,
|
|
368
368
|
'has-custom-content-position': !(0, _shared.isContentPositionCenter)(contentPosition)
|
|
369
369
|
}, (0, _shared.getPositionClassName)(contentPosition));
|
|
370
|
+
const showOverlay = url || !useFeaturedImage || useFeaturedImage && !url;
|
|
370
371
|
return (0, _react.createElement)(_react.Fragment, null, blockControls, inspectorControls, (0, _react.createElement)(TagName, {
|
|
371
372
|
...blockProps,
|
|
372
373
|
className: (0, _classnames.default)(classes, blockProps.className),
|
|
@@ -375,7 +376,7 @@ function CoverEdit({
|
|
|
375
376
|
...blockProps.style
|
|
376
377
|
},
|
|
377
378
|
"data-url": url
|
|
378
|
-
}, resizeListener,
|
|
379
|
+
}, resizeListener, showOverlay && (0, _react.createElement)("span", {
|
|
379
380
|
"aria-hidden": "true",
|
|
380
381
|
className: (0, _classnames.default)('wp-block-cover__background', (0, _shared.dimRatioToClass)(dimRatio), {
|
|
381
382
|
[overlayColor.class]: overlayColor.class,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_element","_components","_compose","_blockEditor","_i18n","_data","_blob","_notices","_shared","_inspectorControls","_blockControls","_coverPlaceholder","_resizableCoverPopover","_colorUtils","getInnerBlocksTemplate","attributes","align","placeholder","__","isTemporaryMedia","id","url","isBlobURL","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","originalUrl","backgroundType","originalBackgroundType","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","isUserOverlayColor","featuredImage","useEntityProp","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","media","useSelect","select","coreStore","getMedia","mediaUrl","source_url","useEffect","averageBackgroundColor","getMediaColor","newOverlayColor","color","newIsDark","compositeIsDark","replaceAll","IMAGE_BACKGROUND_TYPE","createErrorNotice","noticesStore","gradientClass","gradientValue","__experimentalUseGradient","onSelectMedia","newMedia","mediaAttributes","attributesFromMedia","isImage","type","media_type","includes","undefined","newDimRatio","onClearMedia","DEFAULT_OVERLAY_COLOR","DEFAULT_BACKGROUND_COLOR","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","VIDEO_BACKGROUND_TYPE","resizeListener","height","width","useResizeObserver","resizableBoxDimensions","useMemo","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","mediaPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","useRef","blockProps","useBlockProps","fontSizes","useSettings","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","useInnerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","_react","createElement","default","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","Fragment","classnames","onError","ColorPalette","disableCustomColors","onChange","clearable","classes","isContentPositionCenter","getPositionClassName","dimRatioToClass","class","Placeholder","withIllustration","src","role","autoPlay","muted","loop","Spinner","disableMediaButtons","_default","exports","compose","withColors"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSettings,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\nimport {\n\tgetMediaColor,\n\tcompositeIsDark,\n\tDEFAULT_BACKGROUND_COLOR,\n\tDEFAULT_OVERLAY_COLOR,\n} from './color-utils';\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\turl: originalUrl,\n\t\tbackgroundType: originalBackgroundType,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t\tisUserOverlayColor,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\t// User can change the featured image outside of the block, but we still\n\t// need to update the block when that happens. This effect should only\n\t// run when the featured image changes in that case. All other cases are\n\t// handled in their respective callbacks.\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tif ( ! useFeaturedImage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst averageBackgroundColor = await getMediaColor( mediaUrl );\n\n\t\t\tlet newOverlayColor = overlayColor.color;\n\t\t\tif ( ! isUserOverlayColor ) {\n\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t}\n\n\t\t\tconst newIsDark = compositeIsDark(\n\t\t\t\tdimRatio,\n\t\t\t\tnewOverlayColor,\n\t\t\t\taverageBackgroundColor\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { isDark: newIsDark } );\n\t\t} )();\n\t\t// Disable reason: Update the block only when the featured image changes.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ mediaUrl ] );\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t originalUrl?.replaceAll( '&', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: originalBackgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst mediaAttributes = attributesFromMedia( newMedia );\n\t\tconst isImage = [ newMedia?.type, newMedia?.media_type ].includes(\n\t\t\tIMAGE_BACKGROUND_TYPE\n\t\t);\n\n\t\tconst averageBackgroundColor = await getMediaColor(\n\t\t\tisImage ? newMedia?.url : undefined\n\t\t);\n\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\tsetOverlayColor( newOverlayColor );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\t// See issue #52835 for context.\n\t\tconst newDimRatio =\n\t\t\toriginalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\tDEFAULT_BACKGROUND_COLOR\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( newOverlayColor ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetOverlayColor( newOverlayColor );\n\n\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tsetAttributes( {\n\t\t\tisUserOverlayColor: true,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\toverlayColor.color,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = fontSizes?.length > 0;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\tdropZoneElement: ref.current,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst newUseFeaturedImage = ! useFeaturedImage;\n\n\t\tconst averageBackgroundColor = newUseFeaturedImage\n\t\t\t? await getMediaColor( mediaUrl )\n\t\t\t: DEFAULT_BACKGROUND_COLOR;\n\n\t\tconst newOverlayColor = ! isUserOverlayColor\n\t\t\t? averageBackgroundColor\n\t\t\t: overlayColor.color;\n\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t} else {\n\t\t\t\tsetOverlayColor( undefined );\n\t\t\t}\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newDimRatio = dimRatio === 100 ? 50 : dimRatio;\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\t// Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.\n\t\tshowHandle: ! attributes.style?.dimensions?.aspectRatio ? true : false,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_element","_components","_compose","_blockEditor","_i18n","_data","_blob","_notices","_shared","_inspectorControls","_blockControls","_coverPlaceholder","_resizableCoverPopover","_colorUtils","getInnerBlocksTemplate","attributes","align","placeholder","__","isTemporaryMedia","id","url","isBlobURL","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","originalUrl","backgroundType","originalBackgroundType","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","isUserOverlayColor","featuredImage","useEntityProp","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","media","useSelect","select","coreStore","getMedia","mediaUrl","source_url","useEffect","averageBackgroundColor","getMediaColor","newOverlayColor","color","newIsDark","compositeIsDark","replaceAll","IMAGE_BACKGROUND_TYPE","createErrorNotice","noticesStore","gradientClass","gradientValue","__experimentalUseGradient","onSelectMedia","newMedia","mediaAttributes","attributesFromMedia","isImage","type","media_type","includes","undefined","newDimRatio","onClearMedia","DEFAULT_OVERLAY_COLOR","DEFAULT_BACKGROUND_COLOR","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","VIDEO_BACKGROUND_TYPE","resizeListener","height","width","useResizeObserver","resizableBoxDimensions","useMemo","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","mediaPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","useRef","blockProps","useBlockProps","fontSizes","useSettings","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","useInnerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","_react","createElement","default","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","Fragment","classnames","onError","ColorPalette","disableCustomColors","onChange","clearable","classes","isContentPositionCenter","getPositionClassName","showOverlay","dimRatioToClass","class","Placeholder","withIllustration","src","role","autoPlay","muted","loop","Spinner","disableMediaButtons","_default","exports","compose","withColors"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSettings,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\nimport {\n\tgetMediaColor,\n\tcompositeIsDark,\n\tDEFAULT_BACKGROUND_COLOR,\n\tDEFAULT_OVERLAY_COLOR,\n} from './color-utils';\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\turl: originalUrl,\n\t\tbackgroundType: originalBackgroundType,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t\tisUserOverlayColor,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\t// User can change the featured image outside of the block, but we still\n\t// need to update the block when that happens. This effect should only\n\t// run when the featured image changes in that case. All other cases are\n\t// handled in their respective callbacks.\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tif ( ! useFeaturedImage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst averageBackgroundColor = await getMediaColor( mediaUrl );\n\n\t\t\tlet newOverlayColor = overlayColor.color;\n\t\t\tif ( ! isUserOverlayColor ) {\n\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t}\n\n\t\t\tconst newIsDark = compositeIsDark(\n\t\t\t\tdimRatio,\n\t\t\t\tnewOverlayColor,\n\t\t\t\taverageBackgroundColor\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { isDark: newIsDark } );\n\t\t} )();\n\t\t// Disable reason: Update the block only when the featured image changes.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ mediaUrl ] );\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t originalUrl?.replaceAll( '&', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: originalBackgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst mediaAttributes = attributesFromMedia( newMedia );\n\t\tconst isImage = [ newMedia?.type, newMedia?.media_type ].includes(\n\t\t\tIMAGE_BACKGROUND_TYPE\n\t\t);\n\n\t\tconst averageBackgroundColor = await getMediaColor(\n\t\t\tisImage ? newMedia?.url : undefined\n\t\t);\n\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\tsetOverlayColor( newOverlayColor );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\t// See issue #52835 for context.\n\t\tconst newDimRatio =\n\t\t\toriginalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\tDEFAULT_BACKGROUND_COLOR\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( newOverlayColor ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetOverlayColor( newOverlayColor );\n\n\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tsetAttributes( {\n\t\t\tisUserOverlayColor: true,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\toverlayColor.color,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = fontSizes?.length > 0;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\tdropZoneElement: ref.current,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst newUseFeaturedImage = ! useFeaturedImage;\n\n\t\tconst averageBackgroundColor = newUseFeaturedImage\n\t\t\t? await getMediaColor( mediaUrl )\n\t\t\t: DEFAULT_BACKGROUND_COLOR;\n\n\t\tconst newOverlayColor = ! isUserOverlayColor\n\t\t\t? averageBackgroundColor\n\t\t\t: overlayColor.color;\n\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t} else {\n\t\t\t\tsetOverlayColor( undefined );\n\t\t\t}\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newDimRatio = dimRatio === 100 ? 50 : dimRatio;\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\t// Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.\n\t\tshowHandle: ! attributes.style?.dimensions?.aspectRatio ? true : false,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst showOverlay =\n\t\turl || ! useFeaturedImage || ( useFeaturedImage && ! url );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ showOverlay && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AASA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAKA,IAAAU,OAAA,GAAAV,OAAA;AASA,IAAAW,kBAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,cAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,iBAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,sBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,WAAA,GAAAf,OAAA;AA1CA;AACA;AACA;;AAGA;AACA;AACA;;AAmBA;AACA;AACA;;AAqBA,SAASgB,sBAAsBA,CAAEC,UAAU,EAAG;EAC7C,OAAO,CACN,CACC,gBAAgB,EAChB;IACCC,KAAK,EAAE,QAAQ;IACfC,WAAW,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;IACjC,GAAGH;EACJ,CAAC,CACD,CACD;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,gBAAgB,GAAGA,CAAEC,EAAE,EAAEC,GAAG,KAAM,CAAED,EAAE,IAAI,IAAAE,eAAS,EAAED,GAAI,CAAC;AAEhE,SAASE,SAASA,CAAE;EACnBR,UAAU;EACVS,QAAQ;EACRC,UAAU;EACVC,YAAY;EACZC,aAAa;EACbC,eAAe;EACfC,eAAe;EACfC,OAAO,EAAE;IAAEC,MAAM;IAAEC;EAAS;AAC7B,CAAC,EAAG;EACH,MAAM;IACLC,eAAe;IACfb,EAAE;IACFC,GAAG,EAAEa,WAAW;IAChBC,cAAc,EAAEC,sBAAsB;IACtCC,gBAAgB;IAChBC,QAAQ;IACRC,UAAU;IACVC,WAAW;IACXC,MAAM;IACNC,UAAU;IACVC,SAAS;IACTC,aAAa;IACbC,GAAG;IACHC,aAAa;IACbC,YAAY;IACZC,OAAO,EAAEC,OAAO,GAAG,KAAK;IACxBC;EACD,CAAC,GAAGnC,UAAU;EAEd,MAAM,CAAEoC,aAAa,CAAE,GAAG,IAAAC,uBAAa,EACtC,UAAU,EACVpB,QAAQ,EACR,gBAAgB,EAChBD,MACD,CAAC;EAED,MAAM;IAAEsB;EAAwC,CAAC,GAChD,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAChC,MAAMC,KAAK,GAAG,IAAAC,eAAS,EACpBC,MAAM,IACPP,aAAa,IACbO,MAAM,CAAEC,eAAU,CAAC,CAACC,QAAQ,CAAET,aAAa,EAAE;IAAErB,OAAO,EAAE;EAAO,CAAE,CAAC,EACnE,CAAEqB,aAAa,CAChB,CAAC;EACD,MAAMU,QAAQ,GAAGL,KAAK,EAAEM,UAAU;;EAElC;EACA;EACA;EACA;EACA,IAAAC,kBAAS,EAAE,MAAM;IAChB,CAAE,YAAY;MACb,IAAK,CAAE1B,gBAAgB,EAAG;QACzB;MACD;MAEA,MAAM2B,sBAAsB,GAAG,MAAM,IAAAC,yBAAa,EAAEJ,QAAS,CAAC;MAE9D,IAAIK,eAAe,GAAGxC,YAAY,CAACyC,KAAK;MACxC,IAAK,CAAEjB,kBAAkB,EAAG;QAC3BgB,eAAe,GAAGF,sBAAsB;QACxCX,uCAAuC,CAAC,CAAC;QACzCzB,eAAe,CAAEsC,eAAgB,CAAC;MACnC;MAEA,MAAME,SAAS,GAAG,IAAAC,2BAAe,EAChC/B,QAAQ,EACR4B,eAAe,EACfF,sBACD,CAAC;MACDX,uCAAuC,CAAC,CAAC;MACzC1B,aAAa,CAAE;QAAEc,MAAM,EAAE2B;MAAU,CAAE,CAAC;IACvC,CAAC,EAAG,CAAC;IACL;IACA;EACD,CAAC,EAAE,CAAEP,QAAQ,CAAG,CAAC;;EAEjB;EACA;EACA;EACA;EACA,MAAMxC,GAAG,GAAGgB,gBAAgB,GACzBwB,QAAQ;EACR;EACA3B,WAAW,EAAEoC,UAAU,CAAE,OAAO,EAAE,GAAI,CAAC;EAC1C,MAAMnC,cAAc,GAAGE,gBAAgB,GACpCkC,6BAAqB,GACrBnC,sBAAsB;EAEzB,MAAM;IAAEoC;EAAkB,CAAC,GAAG,IAAAlB,iBAAW,EAAEmB,cAAa,CAAC;EACzD,MAAM;IAAEC,aAAa;IAAEC;EAAc,CAAC,GAAG,IAAAC,sCAAyB,EAAC,CAAC;EAEpE,MAAMC,aAAa,GAAG,MAAQC,QAAQ,IAAM;IAC3C,MAAMC,eAAe,GAAG,IAAAC,2BAAmB,EAAEF,QAAS,CAAC;IACvD,MAAMG,OAAO,GAAG,CAAEH,QAAQ,EAAEI,IAAI,EAAEJ,QAAQ,EAAEK,UAAU,CAAE,CAACC,QAAQ,CAChEb,6BACD,CAAC;IAED,MAAMP,sBAAsB,GAAG,MAAM,IAAAC,yBAAa,EACjDgB,OAAO,GAAGH,QAAQ,EAAEzD,GAAG,GAAGgE,SAC3B,CAAC;IAED,IAAInB,eAAe,GAAGxC,YAAY,CAACyC,KAAK;IACxC,IAAK,CAAEjB,kBAAkB,EAAG;MAC3BgB,eAAe,GAAGF,sBAAsB;MACxCpC,eAAe,CAAEsC,eAAgB,CAAC;;MAElC;MACAb,uCAAuC,CAAC,CAAC;IAC1C;;IAEA;IACA;IACA;IACA,MAAMiC,WAAW,GAChBpD,WAAW,KAAKmD,SAAS,IAAI/C,QAAQ,KAAK,GAAG,GAAG,EAAE,GAAGA,QAAQ;IAE9D,MAAM8B,SAAS,GAAG,IAAAC,2BAAe,EAChCiB,WAAW,EACXpB,eAAe,EACfF,sBACD,CAAC;IAEDrC,aAAa,CAAE;MACd,GAAGoD,eAAe;MAClBxC,UAAU,EAAE8C,SAAS;MACrBhD,gBAAgB,EAAEgD,SAAS;MAC3B/C,QAAQ,EAAEgD,WAAW;MACrB7C,MAAM,EAAE2B;IACT,CAAE,CAAC;EACJ,CAAC;EAED,MAAMmB,YAAY,GAAGA,CAAA,KAAM;IAC1B,IAAIrB,eAAe,GAAGxC,YAAY,CAACyC,KAAK;IACxC,IAAK,CAAEjB,kBAAkB,EAAG;MAC3BgB,eAAe,GAAGsB,iCAAqB;MACvC5D,eAAe,CAAEyD,SAAU,CAAC;;MAE5B;MACAhC,uCAAuC,CAAC,CAAC;IAC1C;IAEA,MAAMe,SAAS,GAAG,IAAAC,2BAAe,EAChC/B,QAAQ,EACR4B,eAAe,EACfuB,oCACD,CAAC;IAED9D,aAAa,CAAE;MACdN,GAAG,EAAEgE,SAAS;MACdjE,EAAE,EAAEiE,SAAS;MACblD,cAAc,EAAEkD,SAAS;MACzB9C,UAAU,EAAE8C,SAAS;MACrB7C,WAAW,EAAE6C,SAAS;MACtB3C,UAAU,EAAE2C,SAAS;MACrBhD,gBAAgB,EAAEgD,SAAS;MAC3B5C,MAAM,EAAE2B;IACT,CAAE,CAAC;EACJ,CAAC;EAED,MAAMsB,iBAAiB,GAAG,MAAQxB,eAAe,IAAM;IACtD,MAAMF,sBAAsB,GAAG,MAAM,IAAAC,yBAAa,EAAE5C,GAAI,CAAC;IACzD,MAAM+C,SAAS,GAAG,IAAAC,2BAAe,EAChC/B,QAAQ,EACR4B,eAAe,EACfF,sBACD,CAAC;IAEDpC,eAAe,CAAEsC,eAAgB,CAAC;;IAElC;IACAb,uCAAuC,CAAC,CAAC;IAEzC1B,aAAa,CAAE;MACduB,kBAAkB,EAAE,IAAI;MACxBT,MAAM,EAAE2B;IACT,CAAE,CAAC;EACJ,CAAC;EAED,MAAMuB,gBAAgB,GAAG,MAAQL,WAAW,IAAM;IACjD,MAAMtB,sBAAsB,GAAG,MAAM,IAAAC,yBAAa,EAAE5C,GAAI,CAAC;IACzD,MAAM+C,SAAS,GAAG,IAAAC,2BAAe,EAChCiB,WAAW,EACX5D,YAAY,CAACyC,KAAK,EAClBH,sBACD,CAAC;IAEDrC,aAAa,CAAE;MACdW,QAAQ,EAAEgD,WAAW;MACrB7C,MAAM,EAAE2B;IACT,CAAE,CAAC;EACJ,CAAC;EAED,MAAMwB,aAAa,GAAKC,OAAO,IAAM;IACpCrB,iBAAiB,CAAEqB,OAAO,EAAE;MAAEX,IAAI,EAAE;IAAW,CAAE,CAAC;EACnD,CAAC;EAED,MAAMY,gBAAgB,GAAG3E,gBAAgB,CAAEC,EAAE,EAAEC,GAAI,CAAC;EAEpD,MAAM0E,iBAAiB,GAAGxB,6BAAqB,KAAKpC,cAAc;EAClE,MAAM6D,iBAAiB,GAAGC,6BAAqB,KAAK9D,cAAc;EAElE,MAAM,CAAE+D,cAAc,EAAE;IAAEC,MAAM;IAAEC;EAAM,CAAC,CAAE,GAAG,IAAAC,0BAAiB,EAAC,CAAC;EACjE,MAAMC,sBAAsB,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC7C,OAAO;MACNJ,MAAM,EAAEvD,aAAa,KAAK,IAAI,GAAGD,SAAS,GAAG,MAAM;MACnDyD,KAAK,EAAE;IACR,CAAC;EACF,CAAC,EAAE,CAAEzD,SAAS,EAAEC,aAAa,CAAG,CAAC;EAEjC,MAAM4D,iBAAiB,GACtB7D,SAAS,IAAIC,aAAa,GACtB,GAAGD,SAAW,GAAGC,aAAe,EAAC,GAClCD,SAAS;EAEb,MAAM8D,YAAY,GAAG,EAAIjE,WAAW,IAAIE,UAAU,CAAE;EAEpD,MAAMgE,KAAK,GAAG;IACb/D,SAAS,EAAE6D,iBAAiB,IAAInB;EACjC,CAAC;EAED,MAAMsB,eAAe,GAAGtF,GAAG,GAAI,OAAOA,GAAK,GAAE,GAAGgE,SAAS;EAEzD,MAAMuB,kBAAkB,GAAG,IAAAC,qBAAa,EAAEtE,UAAW,CAAC;EAEtD,MAAMuE,OAAO,GAAG;IAAEC,eAAe,EAAErF,YAAY,CAACyC;EAAM,CAAC;EACvD,MAAM6C,UAAU,GAAG;IAClBC,cAAc,EACb1E,UAAU,IAAIkE,YAAY,GACvB,IAAAI,qBAAa,EAAEtE,UAAW,CAAC,GAC3B8C;EACL,CAAC;EAED,MAAM6B,aAAa,GAAG,CAAC,EAAI7F,GAAG,IAAIK,YAAY,CAACyC,KAAK,IAAIQ,aAAa,CAAE;EAEvE,MAAMwC,cAAc,GAAG,IAAA1D,eAAS,EAC7BC,MAAM,IACPA,MAAM,CAAEH,kBAAiB,CAAC,CAAC6D,QAAQ,CAAE5F,QAAS,CAAC,CAAC6F,WAAW,CAACC,MAAM,GAClE,CAAC,EACF,CAAE9F,QAAQ,CACX,CAAC;EAED,MAAM+F,GAAG,GAAG,IAAAC,eAAM,EAAC,CAAC;EACpB,MAAMC,UAAU,GAAG,IAAAC,0BAAa,EAAE;IAAEH;EAAI,CAAE,CAAC;;EAE3C;EACA,MAAM,CAAEI,SAAS,CAAE,GAAG,IAAAC,wBAAW,EAAE,sBAAuB,CAAC;EAC3D,MAAMC,YAAY,GAAGF,SAAS,EAAEL,MAAM,GAAG,CAAC;EAC1C,MAAMQ,mBAAmB,GAAGhH,sBAAsB,CAAE;IACnDiH,QAAQ,EAAEF,YAAY,GAAG,OAAO,GAAGxC;EACpC,CAAE,CAAC;EAEH,MAAM2C,gBAAgB,GAAG,IAAAC,gCAAmB,EAC3C;IACCC,SAAS,EAAE;EACZ,CAAC,EACD;IACC;IACA;IACAC,QAAQ,EAAE,CAAEhB,cAAc,GAAGW,mBAAmB,GAAGzC,SAAS;IAC5D+C,8BAA8B,EAAE,IAAI;IACpCtF,aAAa;IACbC,YAAY;IACZsF,eAAe,EAAEd,GAAG,CAACe;EACtB,CACD,CAAC;EAED,MAAMC,YAAY,GAAG,IAAAf,eAAM,EAAC,CAAC;EAC7B,MAAMgB,eAAe,GAAG;IACvBxC,iBAAiB;IACjBD,iBAAiB;IACjBwC,YAAY;IACZpB,cAAc;IACd9F,GAAG;IACHoF,YAAY;IACZ/E;EACD,CAAC;EAED,MAAM+G,sBAAsB,GAAG,MAAAA,CAAA,KAAY;IAC1C,MAAMC,mBAAmB,GAAG,CAAErG,gBAAgB;IAE9C,MAAM2B,sBAAsB,GAAG0E,mBAAmB,GAC/C,MAAM,IAAAzE,yBAAa,EAAEJ,QAAS,CAAC,GAC/B4B,oCAAwB;IAE3B,MAAMvB,eAAe,GAAG,CAAEhB,kBAAkB,GACzCc,sBAAsB,GACtBtC,YAAY,CAACyC,KAAK;IAErB,IAAK,CAAEjB,kBAAkB,EAAG;MAC3B,IAAKwF,mBAAmB,EAAG;QAC1B9G,eAAe,CAAEsC,eAAgB,CAAC;MACnC,CAAC,MAAM;QACNtC,eAAe,CAAEyD,SAAU,CAAC;MAC7B;;MAEA;MACAhC,uCAAuC,CAAC,CAAC;IAC1C;IAEA,MAAMiC,WAAW,GAAGhD,QAAQ,KAAK,GAAG,GAAG,EAAE,GAAGA,QAAQ;IACpD,MAAM8B,SAAS,GAAG,IAAAC,2BAAe,EAChCiB,WAAW,EACXpB,eAAe,EACfF,sBACD,CAAC;IAEDrC,aAAa,CAAE;MACdP,EAAE,EAAEiE,SAAS;MACbhE,GAAG,EAAEgE,SAAS;MACdhD,gBAAgB,EAAEqG,mBAAmB;MACrCpG,QAAQ,EAAEgD,WAAW;MACrBnD,cAAc,EAAEE,gBAAgB,GAC7BkC,6BAAqB,GACrBc,SAAS;MACZ5C,MAAM,EAAE2B;IACT,CAAE,CAAC;EACJ,CAAC;EAED,MAAMuE,aAAa,GAClB,IAAAC,MAAA,CAAAC,aAAA,EAACnI,cAAA,CAAAoI,OAAkB;IAClB/H,UAAU,EAAGA,UAAY;IACzBY,aAAa,EAAGA,aAAe;IAC/BkD,aAAa,EAAGA,aAAe;IAC/B2D,eAAe,EAAGA,eAAiB;IACnCC,sBAAsB,EAAGA;EAAwB,CACjD,CACD;EAED,MAAMM,iBAAiB,GACtB,IAAAH,MAAA,CAAAC,aAAA,EAACpI,kBAAA,CAAAqI,OAAsB;IACtB/H,UAAU,EAAGA,UAAY;IACzBY,aAAa,EAAGA,aAAe;IAC/BH,QAAQ,EAAGA,QAAU;IACrBI,eAAe,EAAG8D,iBAAmB;IACrCsD,QAAQ,EAAGzB,GAAK;IAChBiB,eAAe,EAAGA,eAAiB;IACnCC,sBAAsB,EAAGA,sBAAwB;IACjDQ,cAAc,EAAGtD,gBAAkB;IACnCJ,YAAY,EAAGA;EAAc,CAC7B,CACD;EAED,MAAM2D,mBAAmB,GAAG;IAC3BhB,SAAS,EAAE,uCAAuC;IAClD1G,QAAQ;IACR2E,MAAM;IACNxD,SAAS,EAAE6D,iBAAiB;IAC5B2C,aAAa,EAAEA,CAAA,KAAM;MACpBxH,aAAa,CAAE;QAAEiB,aAAa,EAAE;MAAK,CAAE,CAAC;MACxCf,eAAe,CAAE,KAAM,CAAC;IACzB,CAAC;IACDuH,QAAQ,EAAIC,KAAK,IAAM;MACtB1H,aAAa,CAAE;QAAEgB,SAAS,EAAE0G;MAAM,CAAE,CAAC;IACtC,CAAC;IACDC,YAAY,EAAIC,YAAY,IAAM;MACjC1H,eAAe,CAAE,IAAK,CAAC;MACvBF,aAAa,CAAE;QAAEgB,SAAS,EAAE4G;MAAa,CAAE,CAAC;IAC7C,CAAC;IACD;IACAC,UAAU,EAAE,CAAEzI,UAAU,CAAC2F,KAAK,EAAE+C,UAAU,EAAEC,WAAW,GAAG,IAAI,GAAG,KAAK;IACtEC,IAAI,EAAErD,sBAAsB;IAC5BF;EACD,CAAC;EAED,IAAK,CAAE/D,gBAAgB,IAAI,CAAE8E,cAAc,IAAI,CAAED,aAAa,EAAG;IAChE,OACC,IAAA0B,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAgB,QAAA,QACGjB,aAAa,EACbI,iBAAiB,EACjBtH,UAAU,IACX,IAAAmH,MAAA,CAAAC,aAAA,EAACjI,sBAAA,CAAAkI,OAAqB;MAAA,GAAMI;IAAmB,CAAI,CACnD,EACD,IAAAN,MAAA,CAAAC,aAAA,EAAC5F,OAAO;MAAA,GACFwE,UAAU;MACfS,SAAS,EAAG,IAAA2B,mBAAU,EACrB,gBAAgB,EAChBpC,UAAU,CAACS,SACZ,CAAG;MACHxB,KAAK,EAAG;QACP,GAAGe,UAAU,CAACf,KAAK;QACnB/D,SAAS,EAAE6D,iBAAiB,IAAInB;MACjC;IAAG,GAEDa,cAAc,EAChB,IAAA0C,MAAA,CAAAC,aAAA,EAAClI,iBAAA,CAAAmI,OAAgB;MAChBjE,aAAa,EAAGA,aAAe;MAC/BiF,OAAO,EAAGlE,aAAe;MACzB6C,sBAAsB,EAAGA;IAAwB,GAEjD,IAAAG,MAAA,CAAAC,aAAA;MAAKX,SAAS,EAAC;IAAgD,GAC9D,IAAAU,MAAA,CAAAC,aAAA,EAAC1I,YAAA,CAAA4J,YAAY;MACZC,mBAAmB;MACnBX,KAAK,EAAG3H,YAAY,CAACyC,KAAO;MAC5B8F,QAAQ,EAAGvE,iBAAmB;MAC9BwE,SAAS,EAAG;IAAO,CACnB,CACG,CACY,CACV,CACR,CAAC;EAEL;EAEA,MAAMC,OAAO,GAAG,IAAAN,mBAAU,EACzB;IACC,eAAe,EAAEpH,MAAM;IACvB,UAAU,EAAE,CAAEA,MAAM;IACpB,cAAc,EAAEqD,gBAAgB;IAChC,cAAc,EAAEtD,WAAW;IAC3B,aAAa,EAAEE,UAAU;IACzB,6BAA6B,EAC5B,CAAE,IAAA0H,+BAAuB,EAAEnI,eAAgB;EAC7C,CAAC,EACD,IAAAoI,4BAAoB,EAAEpI,eAAgB,CACvC,CAAC;EAED,MAAMqI,WAAW,GAChBjJ,GAAG,IAAI,CAAEgB,gBAAgB,IAAMA,gBAAgB,IAAI,CAAEhB,GAAK;EAE3D,OACC,IAAAuH,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAgB,QAAA,QACGjB,aAAa,EACbI,iBAAiB,EACnB,IAAAH,MAAA,CAAAC,aAAA,EAAC5F,OAAO;IAAA,GACFwE,UAAU;IACfS,SAAS,EAAG,IAAA2B,mBAAU,EAAEM,OAAO,EAAE1C,UAAU,CAACS,SAAU,CAAG;IACzDxB,KAAK,EAAG;MAAE,GAAGA,KAAK;MAAE,GAAGe,UAAU,CAACf;IAAM,CAAG;IAC3C,YAAWrF;EAAK,GAEd6E,cAAc,EACdoE,WAAW,IACZ,IAAA1B,MAAA,CAAAC,aAAA;IACC,eAAY,MAAM;IAClBX,SAAS,EAAG,IAAA2B,mBAAU,EACrB,4BAA4B,EAC5B,IAAAU,uBAAe,EAAEjI,QAAS,CAAC,EAC3B;MACC,CAAEZ,YAAY,CAAC8I,KAAK,GAAI9I,YAAY,CAAC8I,KAAK;MAC1C,oBAAoB,EAAElI,QAAQ,KAAK+C,SAAS;MAC5C;MACA;MACA;MACA,qCAAqC,EACpChE,GAAG,IAAIsD,aAAa,IAAIrC,QAAQ,KAAK,CAAC;MACvC,yBAAyB,EAAEqC,aAAa;MACxC,CAAED,aAAa,GAAIA;IACpB,CACD,CAAG;IACHgC,KAAK,EAAG;MAAEC,eAAe,EAAEhC,aAAa;MAAE,GAAGmC;IAAQ;EAAG,CACxD,CACD,EAEC,CAAEzF,GAAG,IAAIgB,gBAAgB,IAC1B,IAAAuG,MAAA,CAAAC,aAAA,EAAC5I,WAAA,CAAAwK,WAAW;IACXvC,SAAS,EAAC,0CAA0C;IACpDwC,gBAAgB;EAAA,CAChB,CACD,EAECrJ,GAAG,IACJ0E,iBAAiB,KACfU,YAAY,GACb,IAAAmC,MAAA,CAAAC,aAAA;IACCtB,GAAG,EAAGgB,YAAc;IACpBL,SAAS,EAAC,kCAAkC;IAC5CrF,GAAG,EAAGA,GAAK;IACX8H,GAAG,EAAGtJ,GAAK;IACXqF,KAAK,EAAGM;EAAY,CACpB,CAAC,GAEF,IAAA4B,MAAA,CAAAC,aAAA;IACCtB,GAAG,EAAGgB,YAAc;IACpBqC,IAAI,EAAG/H,GAAG,GAAG,KAAK,GAAGwC,SAAW;IAChC,cAAaxC,GAAG,GAAGA,GAAG,GAAGwC,SAAW;IACpC6C,SAAS,EAAG,IAAA2B,mBAAU,EACrBM,OAAO,EACP,kCACD,CAAG;IACHzD,KAAK,EAAG;MAAEC,eAAe;MAAEC;IAAmB;EAAG,CACjD,CACD,CAAE,EACFvF,GAAG,IAAI2E,iBAAiB,IACzB,IAAA4C,MAAA,CAAAC,aAAA;IACCtB,GAAG,EAAGgB,YAAc;IACpBL,SAAS,EAAC,kCAAkC;IAC5C2C,QAAQ;IACRC,KAAK;IACLC,IAAI;IACJJ,GAAG,EAAGtJ,GAAK;IACXqF,KAAK,EAAGM;EAAY,CACpB,CACD,EACClB,gBAAgB,IAAI,IAAA8C,MAAA,CAAAC,aAAA,EAAC5I,WAAA,CAAA+K,OAAO,MAAE,CAAC,EACjC,IAAApC,MAAA,CAAAC,aAAA,EAAClI,iBAAA,CAAAmI,OAAgB;IAChBmC,mBAAmB;IACnBpG,aAAa,EAAGA,aAAe;IAC/BiF,OAAO,EAAGlE,aAAe;IACzB6C,sBAAsB,EAAGA;EAAwB,CACjD,CAAC,EACF,IAAAG,MAAA,CAAAC,aAAA;IAAA,GAAUb;EAAgB,CAAI,CACtB,CAAC,EACRvG,UAAU,IACX,IAAAmH,MAAA,CAAAC,aAAA,EAACjI,sBAAA,CAAAkI,OAAqB;IAAA,GAAMI;EAAmB,CAAI,CAEnD,CAAC;AAEL;AAAC,IAAAgC,QAAA,GAAAC,OAAA,CAAArC,OAAA,GAEc,IAAAsC,gBAAO,EAAE,CACvB,IAAAC,uBAAU,EAAE;EAAE3J,YAAY,EAAE;AAAmB,CAAE,CAAC,CACjD,CAAC,CAAEH,SAAU,CAAC"}
|
package/build/details/edit.js
CHANGED
|
@@ -54,6 +54,7 @@ function DetailsEdit({
|
|
|
54
54
|
}, (0, _react.createElement)("summary", {
|
|
55
55
|
onClick: event => event.preventDefault()
|
|
56
56
|
}, (0, _react.createElement)(_blockEditor.RichText, {
|
|
57
|
+
identifier: "summary",
|
|
57
58
|
"aria-label": (0, _i18n.__)('Write summary'),
|
|
58
59
|
placeholder: (0, _i18n.__)('Write summary…'),
|
|
59
60
|
allowedFormats: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blockEditor","require","_data","_components","_i18n","TEMPLATE","placeholder","__","DetailsEdit","attributes","setAttributes","clientId","showContent","summary","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","template","__experimentalCaptureToolbars","hasSelection","useSelect","select","isBlockSelected","hasSelectedInnerBlock","blockEditorStore","_react","createElement","Fragment","InspectorControls","PanelBody","title","ToggleControl","label","checked","onChange","open","onClick","event","preventDefault","RichText","allowedFormats","withoutInteractiveFormatting","value","newSummary","children","_default","exports","default"],"sources":["@wordpress/block-library/src/details/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: __( 'Type / to add a hidden block' ),\n\t\t},\n\t],\n];\n\nfunction DetailsEdit( { attributes, setAttributes, clientId } ) {\n\tconst { showContent, summary } = attributes;\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\t__experimentalCaptureToolbars: true,\n\t} );\n\n\t// Check if either the block or the inner blocks are selected.\n\tconst hasSelection = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\t/* Sets deep to true to also find blocks inside the details content block. */\n\t\t\treturn (\n\t\t\t\thasSelectedInnerBlock( clientId, true ) ||\n\t\t\t\tisBlockSelected( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\tchecked={ showContent }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowContent: ! showContent,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<details\n\t\t\t\t{ ...innerBlocksProps }\n\t\t\t\topen={ hasSelection || showContent }\n\t\t\t>\n\t\t\t\t<summary onClick={ ( event ) => event.preventDefault() }>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\taria-label={ __( 'Write summary' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Write summary…' ) }\n\t\t\t\t\t\tallowedFormats={ [] }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ summary }\n\t\t\t\t\t\tonChange={ ( newSummary ) =>\n\t\t\t\t\t\t\tsetAttributes( { summary: newSummary } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</summary>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t</details>\n\t\t</>\n\t);\n}\n\nexport default DetailsEdit;\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAOA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAZA;AACA;AACA;;AAYA,MAAMI,QAAQ,GAAG,CAChB,CACC,gBAAgB,EAChB;EACCC,WAAW,EAAE,IAAAC,QAAE,EAAE,8BAA+B;AACjD,CAAC,CACD,CACD;AAED,SAASC,WAAWA,CAAE;EAAEC,UAAU;EAAEC,aAAa;EAAEC;AAAS,CAAC,EAAG;EAC/D,MAAM;IAAEC,WAAW;IAAEC;EAAQ,CAAC,GAAGJ,UAAU;EAC3C,MAAMK,UAAU,GAAG,IAAAC,0BAAa,EAAC,CAAC;EAClC,MAAMC,gBAAgB,GAAG,IAAAC,gCAAmB,EAAEH,UAAU,EAAE;IACzDI,QAAQ,EAAEb,QAAQ;IAClBc,6BAA6B,EAAE;EAChC,CAAE,CAAC;;EAEH;EACA,MAAMC,YAAY,GAAG,IAAAC,eAAS,EAC3BC,MAAM,IAAM;IACb,MAAM;MAAEC,eAAe;MAAEC;IAAsB,CAAC,GAC/CF,MAAM,CAAEG,kBAAiB,CAAC;IAC3B;IACA,OACCD,qBAAqB,CAAEb,QAAQ,EAAE,IAAK,CAAC,IACvCY,eAAe,CAAEZ,QAAS,CAAC;EAE7B,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,OACC,IAAAe,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAC3B,YAAA,CAAA6B,iBAAiB,QACjB,IAAAH,MAAA,CAAAC,aAAA,EAACxB,WAAA,CAAA2B,SAAS;IAACC,KAAK,EAAG,IAAAxB,QAAE,EAAE,UAAW;EAAG,GACpC,IAAAmB,MAAA,CAAAC,aAAA,EAACxB,WAAA,CAAA6B,aAAa;IACbC,KAAK,EAAG,IAAA1B,QAAE,EAAE,iBAAkB,CAAG;IACjC2B,OAAO,EAAGtB,WAAa;IACvBuB,QAAQ,EAAGA,CAAA,KACVzB,aAAa,CAAE;MACdE,WAAW,EAAE,CAAEA;IAChB,CAAE;EACF,CACD,CACS,CACO,CAAC,EACpB,IAAAc,MAAA,CAAAC,aAAA;IAAA,GACMX,gBAAgB;IACrBoB,IAAI,EAAGhB,YAAY,IAAIR;EAAa,GAEpC,IAAAc,MAAA,CAAAC,aAAA;IAASU,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC;EAAG,GACvD,IAAAb,MAAA,CAAAC,aAAA,EAAC3B,YAAA,CAAAwC,QAAQ;
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_data","_components","_i18n","TEMPLATE","placeholder","__","DetailsEdit","attributes","setAttributes","clientId","showContent","summary","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","template","__experimentalCaptureToolbars","hasSelection","useSelect","select","isBlockSelected","hasSelectedInnerBlock","blockEditorStore","_react","createElement","Fragment","InspectorControls","PanelBody","title","ToggleControl","label","checked","onChange","open","onClick","event","preventDefault","RichText","identifier","allowedFormats","withoutInteractiveFormatting","value","newSummary","children","_default","exports","default"],"sources":["@wordpress/block-library/src/details/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: __( 'Type / to add a hidden block' ),\n\t\t},\n\t],\n];\n\nfunction DetailsEdit( { attributes, setAttributes, clientId } ) {\n\tconst { showContent, summary } = attributes;\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\t__experimentalCaptureToolbars: true,\n\t} );\n\n\t// Check if either the block or the inner blocks are selected.\n\tconst hasSelection = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\t/* Sets deep to true to also find blocks inside the details content block. */\n\t\t\treturn (\n\t\t\t\thasSelectedInnerBlock( clientId, true ) ||\n\t\t\t\tisBlockSelected( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Open by default' ) }\n\t\t\t\t\t\tchecked={ showContent }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowContent: ! showContent,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<details\n\t\t\t\t{ ...innerBlocksProps }\n\t\t\t\topen={ hasSelection || showContent }\n\t\t\t>\n\t\t\t\t<summary onClick={ ( event ) => event.preventDefault() }>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"summary\"\n\t\t\t\t\t\taria-label={ __( 'Write summary' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Write summary…' ) }\n\t\t\t\t\t\tallowedFormats={ [] }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ summary }\n\t\t\t\t\t\tonChange={ ( newSummary ) =>\n\t\t\t\t\t\t\tsetAttributes( { summary: newSummary } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</summary>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t</details>\n\t\t</>\n\t);\n}\n\nexport default DetailsEdit;\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAOA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAZA;AACA;AACA;;AAYA,MAAMI,QAAQ,GAAG,CAChB,CACC,gBAAgB,EAChB;EACCC,WAAW,EAAE,IAAAC,QAAE,EAAE,8BAA+B;AACjD,CAAC,CACD,CACD;AAED,SAASC,WAAWA,CAAE;EAAEC,UAAU;EAAEC,aAAa;EAAEC;AAAS,CAAC,EAAG;EAC/D,MAAM;IAAEC,WAAW;IAAEC;EAAQ,CAAC,GAAGJ,UAAU;EAC3C,MAAMK,UAAU,GAAG,IAAAC,0BAAa,EAAC,CAAC;EAClC,MAAMC,gBAAgB,GAAG,IAAAC,gCAAmB,EAAEH,UAAU,EAAE;IACzDI,QAAQ,EAAEb,QAAQ;IAClBc,6BAA6B,EAAE;EAChC,CAAE,CAAC;;EAEH;EACA,MAAMC,YAAY,GAAG,IAAAC,eAAS,EAC3BC,MAAM,IAAM;IACb,MAAM;MAAEC,eAAe;MAAEC;IAAsB,CAAC,GAC/CF,MAAM,CAAEG,kBAAiB,CAAC;IAC3B;IACA,OACCD,qBAAqB,CAAEb,QAAQ,EAAE,IAAK,CAAC,IACvCY,eAAe,CAAEZ,QAAS,CAAC;EAE7B,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,OACC,IAAAe,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAC3B,YAAA,CAAA6B,iBAAiB,QACjB,IAAAH,MAAA,CAAAC,aAAA,EAACxB,WAAA,CAAA2B,SAAS;IAACC,KAAK,EAAG,IAAAxB,QAAE,EAAE,UAAW;EAAG,GACpC,IAAAmB,MAAA,CAAAC,aAAA,EAACxB,WAAA,CAAA6B,aAAa;IACbC,KAAK,EAAG,IAAA1B,QAAE,EAAE,iBAAkB,CAAG;IACjC2B,OAAO,EAAGtB,WAAa;IACvBuB,QAAQ,EAAGA,CAAA,KACVzB,aAAa,CAAE;MACdE,WAAW,EAAE,CAAEA;IAChB,CAAE;EACF,CACD,CACS,CACO,CAAC,EACpB,IAAAc,MAAA,CAAAC,aAAA;IAAA,GACMX,gBAAgB;IACrBoB,IAAI,EAAGhB,YAAY,IAAIR;EAAa,GAEpC,IAAAc,MAAA,CAAAC,aAAA;IAASU,OAAO,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC;EAAG,GACvD,IAAAb,MAAA,CAAAC,aAAA,EAAC3B,YAAA,CAAAwC,QAAQ;IACRC,UAAU,EAAC,SAAS;IACpB,cAAa,IAAAlC,QAAE,EAAE,eAAgB,CAAG;IACpCD,WAAW,EAAG,IAAAC,QAAE,EAAE,gBAAiB,CAAG;IACtCmC,cAAc,EAAG,EAAI;IACrBC,4BAA4B;IAC5BC,KAAK,EAAG/B,OAAS;IACjBsB,QAAQ,EAAKU,UAAU,IACtBnC,aAAa,CAAE;MAAEG,OAAO,EAAEgC;IAAW,CAAE;EACvC,CACD,CACO,CAAC,EACR7B,gBAAgB,CAAC8B,QACX,CACR,CAAC;AAEL;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEczC,WAAW"}
|
package/build/file/edit.js
CHANGED
|
@@ -235,6 +235,7 @@ function FileEdit({
|
|
|
235
235
|
})), (0, _react.createElement)("div", {
|
|
236
236
|
className: 'wp-block-file__content-wrapper'
|
|
237
237
|
}, (0, _react.createElement)(_blockEditor.RichText, {
|
|
238
|
+
identifier: "fileName",
|
|
238
239
|
tagName: "a",
|
|
239
240
|
value: fileName,
|
|
240
241
|
placeholder: (0, _i18n.__)('Write file name…'),
|
|
@@ -246,6 +247,7 @@ function FileEdit({
|
|
|
246
247
|
}), showDownloadButton && (0, _react.createElement)("div", {
|
|
247
248
|
className: 'wp-block-file__button-richtext-wrapper'
|
|
248
249
|
}, (0, _react.createElement)(_blockEditor.RichText, {
|
|
250
|
+
identifier: "downloadButtonText",
|
|
249
251
|
tagName: "div" // Must be block-level or else cursor disappears.
|
|
250
252
|
,
|
|
251
253
|
"aria-label": (0, _i18n.__)('Download button text'),
|
package/build/file/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_data","_blockEditor","_element","_compose","_i18n","_icons","_coreData","_notices","_inspector","_utils","_removeAnchorTag","_hooks","MIN_PREVIEW_HEIGHT","exports","MAX_PREVIEW_HEIGHT","ClipboardToolbarButton","text","disabled","createNotice","useDispatch","noticesStore","ref","useCopyToClipboard","__","isDismissible","type","_react","createElement","ToolbarButton","className","FileEdit","attributes","isSelected","setAttributes","clientId","id","fileName","href","textLinkHref","textLinkTarget","showDownloadButton","downloadButtonText","displayPreview","previewHeight","media","useSelect","select","undefined","coreStore","getMedia","createErrorNotice","toggleSelection","blockEditorStore","useUploadMediaFromBlobURL","url","onChange","onSelectFile","onError","onUploadError","useEffect","RichText","isEmpty","_x","newMedia","isPdf","endsWith","title","fileId","message","changeLinkDestinationOption","newHref","changeOpenInNewWindow","newValue","changeShowDownloadButton","changeDisplayPreview","handleOnResizeStop","event","direction","elt","delta","newHeight","parseInt","height","changePreviewHeight","Math","max","attachmentPage","link","blockProps","useBlockProps","classnames","isBlobURL","getAnimateClassName","displayPreviewInEditor","browserSupportsPdfs","MediaPlaceholder","icon","BlockIcon","labels","instructions","onSelect","accept","Fragment","default","hrefs","openInNewWindow","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","ResizableBox","size","minHeight","maxHeight","minWidth","grid","enable","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","onResizeStart","onResizeStop","showHandle","data","tagName","value","placeholder","withoutInteractiveFormatting","removeAnchorTag","__experimentalGetElementClassName","_default"],"sources":["@wordpress/block-library/src/file/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\t__unstableGetAnimateClassName as getAnimateClassName,\n\tResizableBox,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { __, _x } from '@wordpress/i18n';\nimport { file as icon } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport FileBlockInspector from './inspector';\nimport { browserSupportsPdfs } from './utils';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\n\nexport const MIN_PREVIEW_HEIGHT = 200;\nexport const MAX_PREVIEW_HEIGHT = 2000;\n\nfunction ClipboardToolbarButton( { text, disabled } ) {\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst ref = useCopyToClipboard( text, () => {\n\t\tcreateNotice( 'info', __( 'Copied URL to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\n\treturn (\n\t\t<ToolbarButton\n\t\t\tclassName=\"components-clipboard-toolbar-button\"\n\t\t\tref={ ref }\n\t\t\tdisabled={ disabled }\n\t\t>\n\t\t\t{ __( 'Copy URL' ) }\n\t\t</ToolbarButton>\n\t);\n}\n\nfunction FileEdit( { attributes, isSelected, setAttributes, clientId } ) {\n\tconst {\n\t\tid,\n\t\tfileName,\n\t\thref,\n\t\ttextLinkHref,\n\t\ttextLinkTarget,\n\t\tshowDownloadButton,\n\t\tdownloadButtonText,\n\t\tdisplayPreview,\n\t\tpreviewHeight,\n\t} = attributes;\n\tconst { media } = useSelect(\n\t\t( select ) => ( {\n\t\t\tmedia:\n\t\t\t\tid === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: select( coreStore ).getMedia( id ),\n\t\t} ),\n\t\t[ id ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: href,\n\t\tonChange: onSelectFile,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( RichText.isEmpty( downloadButtonText ) ) {\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tfunction onSelectFile( newMedia ) {\n\t\tif ( ! newMedia || ! newMedia.url ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isPdf = newMedia.url.endsWith( '.pdf' );\n\t\tsetAttributes( {\n\t\t\thref: newMedia.url,\n\t\t\tfileName: newMedia.title,\n\t\t\ttextLinkHref: newMedia.url,\n\t\t\tid: newMedia.id,\n\t\t\tdisplayPreview: isPdf ? true : undefined,\n\t\t\tpreviewHeight: isPdf ? 600 : undefined,\n\t\t\tfileId: `wp-block-file--media-${ clientId }`,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tsetAttributes( { href: undefined } );\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction changeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library).\n\t\tsetAttributes( { textLinkHref: newHref } );\n\t}\n\n\tfunction changeOpenInNewWindow( newValue ) {\n\t\tsetAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : false,\n\t\t} );\n\t}\n\n\tfunction changeShowDownloadButton( newValue ) {\n\t\tsetAttributes( { showDownloadButton: newValue } );\n\t}\n\n\tfunction changeDisplayPreview( newValue ) {\n\t\tsetAttributes( { displayPreview: newValue } );\n\t}\n\n\tfunction handleOnResizeStop( event, direction, elt, delta ) {\n\t\ttoggleSelection( true );\n\n\t\tconst newHeight = parseInt( previewHeight + delta.height, 10 );\n\t\tsetAttributes( { previewHeight: newHeight } );\n\t}\n\n\tfunction changePreviewHeight( newValue ) {\n\t\tconst newHeight = Math.max(\n\t\t\tparseInt( newValue, 10 ),\n\t\t\tMIN_PREVIEW_HEIGHT\n\t\t);\n\t\tsetAttributes( { previewHeight: newHeight } );\n\t}\n\n\tconst attachmentPage = media && media.link;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\tisBlobURL( href ) && getAnimateClassName( { type: 'loading' } ),\n\t\t\t{\n\t\t\t\t'is-transient': isBlobURL( href ),\n\t\t\t}\n\t\t),\n\t} );\n\n\tconst displayPreviewInEditor = browserSupportsPdfs() && displayPreview;\n\n\tif ( ! href ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload a file or pick one from your media library.'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectFile }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\taccept=\"*\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FileBlockInspector\n\t\t\t\threfs={ { href, textLinkHref, attachmentPage } }\n\t\t\t\t{ ...{\n\t\t\t\t\topenInNewWindow: !! textLinkTarget,\n\t\t\t\t\tshowDownloadButton,\n\t\t\t\t\tchangeLinkDestinationOption,\n\t\t\t\t\tchangeOpenInNewWindow,\n\t\t\t\t\tchangeShowDownloadButton,\n\t\t\t\t\tdisplayPreview,\n\t\t\t\t\tchangeDisplayPreview,\n\t\t\t\t\tpreviewHeight,\n\t\t\t\t\tchangePreviewHeight,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ href }\n\t\t\t\t\taccept=\"*\"\n\t\t\t\t\tonSelect={ onSelectFile }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t\t<ClipboardToolbarButton\n\t\t\t\t\ttext={ href }\n\t\t\t\t\tdisabled={ isBlobURL( href ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ displayPreviewInEditor && (\n\t\t\t\t\t<ResizableBox\n\t\t\t\t\t\tsize={ { height: previewHeight } }\n\t\t\t\t\t\tminHeight={ MIN_PREVIEW_HEIGHT }\n\t\t\t\t\t\tmaxHeight={ MAX_PREVIEW_HEIGHT }\n\t\t\t\t\t\tminWidth=\"100%\"\n\t\t\t\t\t\tgrid={ [ 10, 10 ] }\n\t\t\t\t\t\tenable={ {\n\t\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\t\tright: false,\n\t\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStart={ () => toggleSelection( false ) }\n\t\t\t\t\t\tonResizeStop={ handleOnResizeStop }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t>\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\tclassName=\"wp-block-file__preview\"\n\t\t\t\t\t\t\tdata={ href }\n\t\t\t\t\t\t\ttype=\"application/pdf\"\n\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t'Embed of the selected PDF file.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isSelected && (\n\t\t\t\t\t\t\t<div className=\"wp-block-file__preview-overlay\" />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ResizableBox>\n\t\t\t\t) }\n\t\t\t\t<div className={ 'wp-block-file__content-wrapper' }>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\tplaceholder={ __( 'Write file name…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tonChange={ ( text ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tfileName: removeAnchorTag( text ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thref={ textLinkHref }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showDownloadButton && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t'wp-block-file__button-richtext-wrapper'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ /* Using RichText here instead of PlainText so that it can be styled like a button. */ }\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\ttagName=\"div\" // Must be block-level or else cursor disappears.\n\t\t\t\t\t\t\t\taria-label={ __( 'Download button text' ) }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'wp-block-file__button',\n\t\t\t\t\t\t\t\t\t__experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t\t\t'button'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Add text…' ) }\n\t\t\t\t\t\t\t\tonChange={ ( text ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tdownloadButtonText:\n\t\t\t\t\t\t\t\t\t\t\tremoveAnchorTag( text ),\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default FileEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_data","_blockEditor","_element","_compose","_i18n","_icons","_coreData","_notices","_inspector","_utils","_removeAnchorTag","_hooks","MIN_PREVIEW_HEIGHT","exports","MAX_PREVIEW_HEIGHT","ClipboardToolbarButton","text","disabled","createNotice","useDispatch","noticesStore","ref","useCopyToClipboard","__","isDismissible","type","_react","createElement","ToolbarButton","className","FileEdit","attributes","isSelected","setAttributes","clientId","id","fileName","href","textLinkHref","textLinkTarget","showDownloadButton","downloadButtonText","displayPreview","previewHeight","media","useSelect","select","undefined","coreStore","getMedia","createErrorNotice","toggleSelection","blockEditorStore","useUploadMediaFromBlobURL","url","onChange","onSelectFile","onError","onUploadError","useEffect","RichText","isEmpty","_x","newMedia","isPdf","endsWith","title","fileId","message","changeLinkDestinationOption","newHref","changeOpenInNewWindow","newValue","changeShowDownloadButton","changeDisplayPreview","handleOnResizeStop","event","direction","elt","delta","newHeight","parseInt","height","changePreviewHeight","Math","max","attachmentPage","link","blockProps","useBlockProps","classnames","isBlobURL","getAnimateClassName","displayPreviewInEditor","browserSupportsPdfs","MediaPlaceholder","icon","BlockIcon","labels","instructions","onSelect","accept","Fragment","default","hrefs","openInNewWindow","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","ResizableBox","size","minHeight","maxHeight","minWidth","grid","enable","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","onResizeStart","onResizeStop","showHandle","data","identifier","tagName","value","placeholder","withoutInteractiveFormatting","removeAnchorTag","__experimentalGetElementClassName","_default"],"sources":["@wordpress/block-library/src/file/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\t__unstableGetAnimateClassName as getAnimateClassName,\n\tResizableBox,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { __, _x } from '@wordpress/i18n';\nimport { file as icon } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport FileBlockInspector from './inspector';\nimport { browserSupportsPdfs } from './utils';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\n\nexport const MIN_PREVIEW_HEIGHT = 200;\nexport const MAX_PREVIEW_HEIGHT = 2000;\n\nfunction ClipboardToolbarButton( { text, disabled } ) {\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst ref = useCopyToClipboard( text, () => {\n\t\tcreateNotice( 'info', __( 'Copied URL to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\n\treturn (\n\t\t<ToolbarButton\n\t\t\tclassName=\"components-clipboard-toolbar-button\"\n\t\t\tref={ ref }\n\t\t\tdisabled={ disabled }\n\t\t>\n\t\t\t{ __( 'Copy URL' ) }\n\t\t</ToolbarButton>\n\t);\n}\n\nfunction FileEdit( { attributes, isSelected, setAttributes, clientId } ) {\n\tconst {\n\t\tid,\n\t\tfileName,\n\t\thref,\n\t\ttextLinkHref,\n\t\ttextLinkTarget,\n\t\tshowDownloadButton,\n\t\tdownloadButtonText,\n\t\tdisplayPreview,\n\t\tpreviewHeight,\n\t} = attributes;\n\tconst { media } = useSelect(\n\t\t( select ) => ( {\n\t\t\tmedia:\n\t\t\t\tid === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: select( coreStore ).getMedia( id ),\n\t\t} ),\n\t\t[ id ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: href,\n\t\tonChange: onSelectFile,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( RichText.isEmpty( downloadButtonText ) ) {\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tfunction onSelectFile( newMedia ) {\n\t\tif ( ! newMedia || ! newMedia.url ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isPdf = newMedia.url.endsWith( '.pdf' );\n\t\tsetAttributes( {\n\t\t\thref: newMedia.url,\n\t\t\tfileName: newMedia.title,\n\t\t\ttextLinkHref: newMedia.url,\n\t\t\tid: newMedia.id,\n\t\t\tdisplayPreview: isPdf ? true : undefined,\n\t\t\tpreviewHeight: isPdf ? 600 : undefined,\n\t\t\tfileId: `wp-block-file--media-${ clientId }`,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tsetAttributes( { href: undefined } );\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction changeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library).\n\t\tsetAttributes( { textLinkHref: newHref } );\n\t}\n\n\tfunction changeOpenInNewWindow( newValue ) {\n\t\tsetAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : false,\n\t\t} );\n\t}\n\n\tfunction changeShowDownloadButton( newValue ) {\n\t\tsetAttributes( { showDownloadButton: newValue } );\n\t}\n\n\tfunction changeDisplayPreview( newValue ) {\n\t\tsetAttributes( { displayPreview: newValue } );\n\t}\n\n\tfunction handleOnResizeStop( event, direction, elt, delta ) {\n\t\ttoggleSelection( true );\n\n\t\tconst newHeight = parseInt( previewHeight + delta.height, 10 );\n\t\tsetAttributes( { previewHeight: newHeight } );\n\t}\n\n\tfunction changePreviewHeight( newValue ) {\n\t\tconst newHeight = Math.max(\n\t\t\tparseInt( newValue, 10 ),\n\t\t\tMIN_PREVIEW_HEIGHT\n\t\t);\n\t\tsetAttributes( { previewHeight: newHeight } );\n\t}\n\n\tconst attachmentPage = media && media.link;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\tisBlobURL( href ) && getAnimateClassName( { type: 'loading' } ),\n\t\t\t{\n\t\t\t\t'is-transient': isBlobURL( href ),\n\t\t\t}\n\t\t),\n\t} );\n\n\tconst displayPreviewInEditor = browserSupportsPdfs() && displayPreview;\n\n\tif ( ! href ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload a file or pick one from your media library.'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectFile }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\taccept=\"*\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FileBlockInspector\n\t\t\t\threfs={ { href, textLinkHref, attachmentPage } }\n\t\t\t\t{ ...{\n\t\t\t\t\topenInNewWindow: !! textLinkTarget,\n\t\t\t\t\tshowDownloadButton,\n\t\t\t\t\tchangeLinkDestinationOption,\n\t\t\t\t\tchangeOpenInNewWindow,\n\t\t\t\t\tchangeShowDownloadButton,\n\t\t\t\t\tdisplayPreview,\n\t\t\t\t\tchangeDisplayPreview,\n\t\t\t\t\tpreviewHeight,\n\t\t\t\t\tchangePreviewHeight,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ href }\n\t\t\t\t\taccept=\"*\"\n\t\t\t\t\tonSelect={ onSelectFile }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t\t<ClipboardToolbarButton\n\t\t\t\t\ttext={ href }\n\t\t\t\t\tdisabled={ isBlobURL( href ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ displayPreviewInEditor && (\n\t\t\t\t\t<ResizableBox\n\t\t\t\t\t\tsize={ { height: previewHeight } }\n\t\t\t\t\t\tminHeight={ MIN_PREVIEW_HEIGHT }\n\t\t\t\t\t\tmaxHeight={ MAX_PREVIEW_HEIGHT }\n\t\t\t\t\t\tminWidth=\"100%\"\n\t\t\t\t\t\tgrid={ [ 10, 10 ] }\n\t\t\t\t\t\tenable={ {\n\t\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\t\tright: false,\n\t\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStart={ () => toggleSelection( false ) }\n\t\t\t\t\t\tonResizeStop={ handleOnResizeStop }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t>\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\tclassName=\"wp-block-file__preview\"\n\t\t\t\t\t\t\tdata={ href }\n\t\t\t\t\t\t\ttype=\"application/pdf\"\n\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t'Embed of the selected PDF file.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isSelected && (\n\t\t\t\t\t\t\t<div className=\"wp-block-file__preview-overlay\" />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ResizableBox>\n\t\t\t\t) }\n\t\t\t\t<div className={ 'wp-block-file__content-wrapper' }>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"fileName\"\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\tplaceholder={ __( 'Write file name…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tonChange={ ( text ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tfileName: removeAnchorTag( text ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thref={ textLinkHref }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showDownloadButton && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t'wp-block-file__button-richtext-wrapper'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ /* Using RichText here instead of PlainText so that it can be styled like a button. */ }\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\tidentifier=\"downloadButtonText\"\n\t\t\t\t\t\t\t\ttagName=\"div\" // Must be block-level or else cursor disappears.\n\t\t\t\t\t\t\t\taria-label={ __( 'Download button text' ) }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'wp-block-file__button',\n\t\t\t\t\t\t\t\t\t__experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t\t\t'button'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Add text…' ) }\n\t\t\t\t\t\t\t\tonChange={ ( text ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tdownloadButtonText:\n\t\t\t\t\t\t\t\t\t\t\tremoveAnchorTag( text ),\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default FileEdit;\n"],"mappings":"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"}
|
package/build/heading/index.js
CHANGED
|
@@ -108,14 +108,15 @@ const settings = exports.settings = {
|
|
|
108
108
|
level
|
|
109
109
|
} = attributes;
|
|
110
110
|
const customName = attributes?.metadata?.name;
|
|
111
|
+
const hasContent = content?.trim().length > 0;
|
|
111
112
|
|
|
112
113
|
// In the list view, use the block's content as the label.
|
|
113
114
|
// If the content is empty, fall back to the default label.
|
|
114
|
-
if (context === 'list-view' && (customName ||
|
|
115
|
-
return
|
|
115
|
+
if (context === 'list-view' && (customName || hasContent)) {
|
|
116
|
+
return customName || content;
|
|
116
117
|
}
|
|
117
118
|
if (context === 'accessibility') {
|
|
118
|
-
return !
|
|
119
|
+
return !hasContent ? (0, _i18n.sprintf)( /* translators: accessibility text. %s: heading level. */
|
|
119
120
|
(0, _i18n.__)('Level %s. Empty.'), level) : (0, _i18n.sprintf)( /* translators: accessibility text. 1: heading level. 2: heading content. */
|
|
120
121
|
(0, _i18n.__)('Level %1$s. %2$s'), level, content);
|
|
121
122
|
}
|