@wordpress/block-library 8.25.0 → 8.26.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/LICENSE.md +1 -1
- package/build/audio/edit.js +10 -12
- package/build/audio/edit.js.map +1 -1
- package/build/block/edit.js +79 -32
- package/build/block/edit.js.map +1 -1
- package/build/comments-title/deprecated.js +1 -1
- package/build/comments-title/index.js +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/embed/util.js +4 -4
- package/build/embed/util.js.map +1 -1
- package/build/file/edit.js +19 -27
- package/build/file/edit.js.map +1 -1
- package/build/gallery/edit.js +36 -17
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +3 -2
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/index.js +4 -0
- package/build/gallery/index.js.map +1 -1
- package/build/gallery/transforms.js +4 -68
- package/build/gallery/transforms.js.map +1 -1
- package/build/group/index.js +5 -1
- package/build/group/index.js.map +1 -1
- package/build/image/deprecated.js +11 -0
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.native.js +3 -0
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +22 -21
- package/build/image/image.js.map +1 -1
- package/build/image/view.js +7 -1
- package/build/image/view.js.map +1 -1
- package/build/list/edit.js +10 -15
- package/build/list/edit.js.map +1 -1
- package/build/list-item/edit.js +17 -2
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/use-enter.js +5 -3
- package/build/list-item/hooks/use-enter.js.map +1 -1
- package/build/list-item/hooks/use-enter.native.js +4 -3
- package/build/list-item/hooks/use-enter.native.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +2 -3
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +1 -1
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +3 -17
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-space.js +8 -4
- package/build/list-item/hooks/use-space.js.map +1 -1
- package/build/media-text/media-container.native.js +3 -0
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/navigation/constants.js +3 -1
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/edit/index.js +4 -0
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/view.js +25 -1
- package/build/navigation/view.js.map +1 -1
- package/build/pattern/edit.js +24 -2
- package/build/pattern/edit.js.map +1 -1
- package/build/pattern/recursion-detector.js +147 -0
- package/build/pattern/recursion-detector.js.map +1 -0
- package/build/post-featured-image/edit.js +19 -2
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +4 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +3 -1
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query-pagination-numbers/index.js +1 -1
- package/build/search/edit.js +3 -5
- package/build/search/edit.js.map +1 -1
- package/build/search/index.js +0 -4
- package/build/search/index.js.map +1 -1
- package/build/site-logo/edit.js +7 -6
- package/build/site-logo/edit.js.map +1 -1
- package/build/spacer/edit.native.js +2 -2
- package/build/spacer/edit.native.js.map +1 -1
- package/build/tag-cloud/edit.js +5 -9
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/utils/constants.js +16 -0
- package/build/utils/constants.js.map +1 -0
- package/build/video/edit.js +11 -8
- package/build/video/edit.js.map +1 -1
- package/build-module/audio/edit.js +10 -12
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/block/edit.js +83 -36
- package/build-module/block/edit.js.map +1 -1
- package/build-module/comments-title/deprecated.js +1 -1
- package/build-module/comments-title/index.js +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/embed/util.js +4 -4
- package/build-module/embed/util.js.map +1 -1
- package/build-module/file/edit.js +19 -27
- package/build-module/file/edit.js.map +1 -1
- package/build-module/gallery/edit.js +36 -17
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +3 -2
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/index.js +4 -0
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/gallery/transforms.js +4 -68
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/group/index.js +5 -1
- package/build-module/group/index.js.map +1 -1
- package/build-module/image/deprecated.js +11 -0
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/edit.native.js +3 -0
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +17 -16
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/view.js +7 -1
- package/build-module/image/view.js.map +1 -1
- package/build-module/list/edit.js +10 -15
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list-item/edit.js +18 -3
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-enter.js +5 -3
- package/build-module/list-item/hooks/use-enter.js.map +1 -1
- package/build-module/list-item/hooks/use-enter.native.js +4 -3
- package/build-module/list-item/hooks/use-enter.native.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +2 -3
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +1 -1
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +3 -17
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-space.js +8 -4
- package/build-module/list-item/hooks/use-space.js.map +1 -1
- package/build-module/media-text/media-container.native.js +3 -0
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/navigation/constants.js +1 -0
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/edit/index.js +5 -1
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/view.js +25 -1
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/pattern/edit.js +26 -4
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/pattern/recursion-detector.js +139 -0
- package/build-module/pattern/recursion-detector.js.map +1 -0
- package/build-module/post-featured-image/edit.js +19 -2
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +4 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +3 -1
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query-pagination-numbers/index.js +1 -1
- package/build-module/search/edit.js +3 -5
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/index.js +0 -4
- package/build-module/search/index.js.map +1 -1
- package/build-module/site-logo/edit.js +7 -6
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/spacer/edit.native.js +2 -2
- package/build-module/spacer/edit.native.js.map +1 -1
- package/build-module/tag-cloud/edit.js +6 -10
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/utils/constants.js +9 -0
- package/build-module/utils/constants.js.map +1 -0
- package/build-module/video/edit.js +11 -8
- package/build-module/video/edit.js.map +1 -1
- package/build-style/button/editor-rtl.css +0 -37
- package/build-style/button/editor.css +0 -37
- package/build-style/button/style-rtl.css +6 -6
- package/build-style/button/style.css +6 -6
- package/build-style/editor-rtl.css +2 -44
- package/build-style/editor.css +2 -44
- package/build-style/navigation/editor-rtl.css +2 -4
- package/build-style/navigation/editor.css +2 -4
- package/build-style/navigation/style-rtl.css +14 -18
- package/build-style/navigation/style.css +14 -18
- package/build-style/search/style-rtl.css +26 -27
- package/build-style/search/style.css +26 -27
- package/build-style/style-rtl.css +46 -51
- package/build-style/style.css +46 -51
- package/build-style/table/editor-rtl.css +0 -3
- package/build-style/table/editor.css +0 -3
- package/package.json +32 -32
- package/src/audio/edit.js +19 -19
- package/src/audio/test/__snapshots__/edit.native.js.snap +12 -0
- package/src/audio/test/edit.native.js +29 -0
- package/src/block/edit.js +114 -60
- package/src/button/editor.scss +0 -43
- package/src/button/style.scss +6 -6
- package/src/comments-title/block.json +1 -1
- package/src/cover/edit/inspector-controls.js +1 -1
- package/src/embed/util.js +2 -2
- package/src/file/edit.js +17 -24
- package/src/gallery/block.json +4 -0
- package/src/gallery/edit.js +69 -42
- package/src/gallery/gallery.js +4 -1
- package/src/gallery/index.php +18 -0
- package/src/gallery/transforms.js +2 -55
- package/src/group/block.json +5 -1
- package/src/image/deprecated.js +8 -0
- package/src/image/edit.native.js +3 -0
- package/src/image/image.js +54 -35
- package/src/image/index.php +1 -6
- package/src/image/view.js +5 -2
- package/src/list/edit.js +27 -35
- package/src/list-item/edit.js +18 -2
- package/src/list-item/hooks/use-enter.js +63 -62
- package/src/list-item/hooks/use-enter.native.js +9 -5
- package/src/list-item/hooks/use-indent-list-item.js +43 -53
- package/src/list-item/hooks/use-merge.js +1 -1
- package/src/list-item/hooks/use-outdent-list-item.js +50 -69
- package/src/list-item/hooks/use-space.js +7 -4
- package/src/media-text/media-container.native.js +3 -1
- package/src/navigation/constants.js +2 -0
- package/src/navigation/edit/index.js +11 -1
- package/src/navigation/editor.scss +1 -1
- package/src/navigation/style.scss +18 -16
- package/src/navigation/view.js +29 -3
- package/src/paragraph/test/__snapshots__/edit.native.js.snap +12 -0
- package/src/paragraph/test/edit.native.js +114 -0
- package/src/pattern/edit.js +35 -3
- package/src/pattern/index.php +16 -0
- package/src/pattern/recursion-detector.js +145 -0
- package/src/pattern/test/index.js +74 -0
- package/src/post-featured-image/block.json +4 -0
- package/src/post-featured-image/edit.js +32 -1
- package/src/post-featured-image/index.php +31 -0
- package/src/query/edit/inspector-controls/index.js +2 -0
- package/src/query-pagination-numbers/block.json +1 -1
- package/src/search/block.json +0 -4
- package/src/search/edit.js +2 -8
- package/src/search/index.php +3 -7
- package/src/search/style.scss +27 -29
- package/src/site-logo/edit.js +3 -4
- package/src/social-link/index.php +1 -1
- package/src/spacer/edit.native.js +4 -2
- package/src/table/editor.scss +0 -3
- package/src/tag-cloud/edit.js +7 -7
- package/src/template-part/index.php +6 -0
- package/src/utils/constants.js +8 -0
- package/src/video/edit.js +29 -27
package/CHANGELOG.md
CHANGED
package/LICENSE.md
CHANGED
package/build/audio/edit.js
CHANGED
|
@@ -35,7 +35,7 @@ function AudioEdit({
|
|
|
35
35
|
className,
|
|
36
36
|
setAttributes,
|
|
37
37
|
onReplace,
|
|
38
|
-
isSelected,
|
|
38
|
+
isSelected: isSingleSelected,
|
|
39
39
|
insertBlocksAfter
|
|
40
40
|
}) {
|
|
41
41
|
const {
|
|
@@ -46,17 +46,14 @@ function AudioEdit({
|
|
|
46
46
|
src
|
|
47
47
|
} = attributes;
|
|
48
48
|
const isTemporaryAudio = !id && (0, _blob.isBlobURL)(src);
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
} = select(_blockEditor.store);
|
|
53
|
-
return getSettings().mediaUpload;
|
|
54
|
-
}, []);
|
|
49
|
+
const {
|
|
50
|
+
getSettings
|
|
51
|
+
} = (0, _data.useSelect)(_blockEditor.store);
|
|
55
52
|
(0, _element.useEffect)(() => {
|
|
56
53
|
if (!id && (0, _blob.isBlobURL)(src)) {
|
|
57
54
|
const file = (0, _blob.getBlobByURL)(src);
|
|
58
55
|
if (file) {
|
|
59
|
-
mediaUpload({
|
|
56
|
+
getSettings().mediaUpload({
|
|
60
57
|
filesList: [file],
|
|
61
58
|
onFileChange: ([media]) => onSelectAudio(media),
|
|
62
59
|
onError: e => onUploadError(e),
|
|
@@ -143,7 +140,7 @@ function AudioEdit({
|
|
|
143
140
|
onError: onUploadError
|
|
144
141
|
}));
|
|
145
142
|
}
|
|
146
|
-
return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_blockEditor.BlockControls, {
|
|
143
|
+
return (0, _react.createElement)(_react.Fragment, null, isSingleSelected && (0, _react.createElement)(_blockEditor.BlockControls, {
|
|
147
144
|
group: "other"
|
|
148
145
|
}, (0, _react.createElement)(_blockEditor.MediaReplaceFlow, {
|
|
149
146
|
mediaId: id,
|
|
@@ -191,16 +188,17 @@ function AudioEdit({
|
|
|
191
188
|
}))), (0, _react.createElement)("figure", {
|
|
192
189
|
...blockProps
|
|
193
190
|
}, (0, _react.createElement)(_components.Disabled, {
|
|
194
|
-
isDisabled: !
|
|
191
|
+
isDisabled: !isSingleSelected
|
|
195
192
|
}, (0, _react.createElement)("audio", {
|
|
196
193
|
controls: "controls",
|
|
197
194
|
src: src
|
|
198
195
|
})), isTemporaryAudio && (0, _react.createElement)(_components.Spinner, null), (0, _react.createElement)(_caption.Caption, {
|
|
199
196
|
attributes: attributes,
|
|
200
197
|
setAttributes: setAttributes,
|
|
201
|
-
isSelected:
|
|
198
|
+
isSelected: isSingleSelected,
|
|
202
199
|
insertBlocksAfter: insertBlocksAfter,
|
|
203
|
-
label: (0, _i18n.__)('Audio caption text')
|
|
200
|
+
label: (0, _i18n.__)('Audio caption text'),
|
|
201
|
+
showToolbarButton: isSingleSelected
|
|
204
202
|
})));
|
|
205
203
|
}
|
|
206
204
|
var _default = AudioEdit;
|
package/build/audio/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_data","_icons","_notices","_util","_caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","isBlobURL","mediaUpload","useSelect","select","getSettings","blockEditorStore","useEffect","file","getBlobByURL","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","url","undefined","createErrorNotice","useDispatch","noticesStore","message","type","getAutoplayHelp","checked","__","caption","classes","classnames","blockProps","useBlockProps","_react","createElement","MediaPlaceholder","icon","BlockIcon","onSelect","accept","value","Fragment","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","onChange","help","SelectControl","_x","options","Disabled","isDisabled","controls","Spinner","Caption","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\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\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\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<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\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<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Audio caption text' ) }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_data","_icons","_notices","_util","_caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","isBlobURL","getSettings","useSelect","blockEditorStore","useEffect","file","getBlobByURL","mediaUpload","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","url","undefined","createErrorNotice","useDispatch","noticesStore","message","type","getAutoplayHelp","checked","__","caption","classes","classnames","blockProps","useBlockProps","_react","createElement","MediaPlaceholder","icon","BlockIcon","onSelect","accept","value","Fragment","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","onChange","help","SelectControl","_x","options","Disabled","isDisabled","controls","Spinner","Caption","showToolbarButton","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected: isSingleSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tgetSettings().mediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\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\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\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{ isSingleSelected && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\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\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\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<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Audio caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"],"mappings":"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"}
|
package/build/block/edit.js
CHANGED
|
@@ -74,9 +74,11 @@ function applyInitialOverrides(blocks, overrides = {}, defaultValues) {
|
|
|
74
74
|
...block.attributes
|
|
75
75
|
};
|
|
76
76
|
for (const attributeKey of attributes) {
|
|
77
|
-
|
|
77
|
+
var _defaultValues$blockI;
|
|
78
|
+
(_defaultValues$blockI = defaultValues[blockId]) !== null && _defaultValues$blockI !== void 0 ? _defaultValues$blockI : defaultValues[blockId] = {};
|
|
79
|
+
defaultValues[blockId][attributeKey] = block.attributes[attributeKey];
|
|
78
80
|
if (overrides[blockId]) {
|
|
79
|
-
newAttributes[attributeKey] = overrides[blockId];
|
|
81
|
+
newAttributes[attributeKey] = overrides[blockId][attributeKey];
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
84
|
return {
|
|
@@ -87,7 +89,7 @@ function applyInitialOverrides(blocks, overrides = {}, defaultValues) {
|
|
|
87
89
|
});
|
|
88
90
|
}
|
|
89
91
|
function getOverridesFromBlocks(blocks, defaultValues) {
|
|
90
|
-
/** @type {Record<string, unknown
|
|
92
|
+
/** @type {Record<string, Record<string, unknown>>} */
|
|
91
93
|
const overrides = {};
|
|
92
94
|
for (const block of blocks) {
|
|
93
95
|
Object.assign(overrides, getOverridesFromBlocks(block.innerBlocks, defaultValues));
|
|
@@ -95,13 +97,22 @@ function getOverridesFromBlocks(blocks, defaultValues) {
|
|
|
95
97
|
if (!isPartiallySynced(block) || !blockId) continue;
|
|
96
98
|
const attributes = getPartiallySyncedAttributes(block);
|
|
97
99
|
for (const attributeKey of attributes) {
|
|
98
|
-
if (block.attributes[attributeKey] !== defaultValues[blockId]) {
|
|
99
|
-
|
|
100
|
+
if (block.attributes[attributeKey] !== defaultValues[blockId][attributeKey]) {
|
|
101
|
+
var _overrides$blockId;
|
|
102
|
+
(_overrides$blockId = overrides[blockId]) !== null && _overrides$blockId !== void 0 ? _overrides$blockId : overrides[blockId] = {};
|
|
103
|
+
overrides[blockId][attributeKey] = block.attributes[attributeKey];
|
|
100
104
|
}
|
|
101
105
|
}
|
|
102
106
|
}
|
|
103
107
|
return Object.keys(overrides).length > 0 ? overrides : undefined;
|
|
104
108
|
}
|
|
109
|
+
function setBlockEditMode(setEditMode, blocks, mode) {
|
|
110
|
+
blocks.forEach(block => {
|
|
111
|
+
const editMode = mode || (isPartiallySynced(block) ? 'contentOnly' : 'disabled');
|
|
112
|
+
setEditMode(block.clientId, editMode);
|
|
113
|
+
setBlockEditMode(setEditMode, block.innerBlocks, mode);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
105
116
|
function ReusableBlockEdit({
|
|
106
117
|
name,
|
|
107
118
|
attributes: {
|
|
@@ -109,12 +120,14 @@ function ReusableBlockEdit({
|
|
|
109
120
|
overrides
|
|
110
121
|
},
|
|
111
122
|
__unstableParentLayout: parentLayout,
|
|
112
|
-
clientId: patternClientId
|
|
123
|
+
clientId: patternClientId,
|
|
124
|
+
setAttributes
|
|
113
125
|
}) {
|
|
114
126
|
const registry = (0, _data.useRegistry)();
|
|
115
127
|
const hasAlreadyRendered = (0, _blockEditor.__experimentalUseHasRecursion)(ref);
|
|
116
128
|
const {
|
|
117
129
|
record,
|
|
130
|
+
editedRecord,
|
|
118
131
|
hasResolved
|
|
119
132
|
} = (0, _coreData.useEntityRecord)('postType', 'wp_block', ref);
|
|
120
133
|
const isMissing = hasResolved && !record;
|
|
@@ -126,21 +139,56 @@ function ReusableBlockEdit({
|
|
|
126
139
|
setBlockEditingMode
|
|
127
140
|
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
128
141
|
const {
|
|
129
|
-
|
|
130
|
-
} = (0, _data.
|
|
142
|
+
syncDerivedUpdates
|
|
143
|
+
} = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_blockEditor.store));
|
|
144
|
+
const {
|
|
145
|
+
innerBlocks,
|
|
146
|
+
userCanEdit,
|
|
147
|
+
getBlockEditingMode,
|
|
148
|
+
getPostLinkProps
|
|
149
|
+
} = (0, _data.useSelect)(select => {
|
|
150
|
+
const {
|
|
151
|
+
canUser
|
|
152
|
+
} = select(_coreData.store);
|
|
153
|
+
const {
|
|
154
|
+
getBlocks,
|
|
155
|
+
getBlockEditingMode: editingMode,
|
|
156
|
+
getSettings
|
|
157
|
+
} = select(_blockEditor.store);
|
|
158
|
+
const blocks = getBlocks(patternClientId);
|
|
159
|
+
const canEdit = canUser('update', 'blocks', ref);
|
|
160
|
+
|
|
161
|
+
// For editing link to the site editor if the theme and user permissions support it.
|
|
162
|
+
return {
|
|
163
|
+
innerBlocks: blocks,
|
|
164
|
+
userCanEdit: canEdit,
|
|
165
|
+
getBlockEditingMode: editingMode,
|
|
166
|
+
getPostLinkProps: getSettings().getPostLinkProps
|
|
167
|
+
};
|
|
168
|
+
}, [patternClientId, ref]);
|
|
169
|
+
const editOriginalProps = getPostLinkProps ? getPostLinkProps({
|
|
170
|
+
postId: ref,
|
|
171
|
+
postType: 'wp_block',
|
|
172
|
+
canvas: 'edit'
|
|
173
|
+
}) : {};
|
|
174
|
+
(0, _element.useEffect)(() => setBlockEditMode(setBlockEditingMode, innerBlocks), [innerBlocks, setBlockEditingMode]);
|
|
175
|
+
|
|
176
|
+
// Apply the initial overrides from the pattern block to the inner blocks.
|
|
131
177
|
(0, _element.useEffect)(() => {
|
|
132
|
-
|
|
133
|
-
const initialBlocks =
|
|
178
|
+
var _editedRecord$blocks$;
|
|
179
|
+
const initialBlocks = // Clone the blocks to generate new client IDs.
|
|
180
|
+
(_editedRecord$blocks$ = editedRecord.blocks?.map(block => (0, _blocks.cloneBlock)(block))) !== null && _editedRecord$blocks$ !== void 0 ? _editedRecord$blocks$ : editedRecord.content && typeof editedRecord.content !== 'function' ? (0, _blocks.parse)(editedRecord.content) : [];
|
|
181
|
+
defaultValuesRef.current = {};
|
|
134
182
|
const editingMode = getBlockEditingMode(patternClientId);
|
|
183
|
+
// Replace the contents of the blocks with the overrides.
|
|
135
184
|
registry.batch(() => {
|
|
136
185
|
setBlockEditingMode(patternClientId, 'default');
|
|
137
|
-
|
|
138
|
-
|
|
186
|
+
syncDerivedUpdates(() => {
|
|
187
|
+
replaceInnerBlocks(patternClientId, applyInitialOverrides(initialBlocks, initialOverrides.current, defaultValuesRef.current));
|
|
188
|
+
});
|
|
139
189
|
setBlockEditingMode(patternClientId, editingMode);
|
|
140
190
|
});
|
|
141
|
-
}, [__unstableMarkNextChangeAsNotPersistent, patternClientId,
|
|
142
|
-
const innerBlocks = (0, _data.useSelect)(select => select(_blockEditor.store).getBlocks(patternClientId), [patternClientId]);
|
|
143
|
-
const [title, setTitle] = (0, _coreData.useEntityProp)('postType', 'wp_block', 'title', ref);
|
|
191
|
+
}, [__unstableMarkNextChangeAsNotPersistent, patternClientId, editedRecord, replaceInnerBlocks, registry, getBlockEditingMode, setBlockEditingMode, syncDerivedUpdates]);
|
|
144
192
|
const {
|
|
145
193
|
alignment,
|
|
146
194
|
layout
|
|
@@ -154,32 +202,34 @@ function ReusableBlockEdit({
|
|
|
154
202
|
})
|
|
155
203
|
});
|
|
156
204
|
const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
|
|
205
|
+
templateLock: 'all',
|
|
157
206
|
layout,
|
|
158
207
|
renderAppender: innerBlocks?.length ? undefined : _blockEditor.InnerBlocks.ButtonBlockAppender
|
|
159
208
|
});
|
|
160
209
|
|
|
161
|
-
// Sync the `overrides` attribute from the updated blocks.
|
|
162
|
-
// `
|
|
163
|
-
// but won't create an undo level.
|
|
164
|
-
// This can be abstracted into a `useSyncDerivedAttributes` hook if needed.
|
|
210
|
+
// Sync the `overrides` attribute from the updated blocks to the pattern block.
|
|
211
|
+
// `syncDerivedUpdates` is used here to avoid creating an additional undo level.
|
|
165
212
|
(0, _element.useEffect)(() => {
|
|
166
213
|
const {
|
|
167
214
|
getBlocks
|
|
168
215
|
} = registry.select(_blockEditor.store);
|
|
169
|
-
const {
|
|
170
|
-
syncDerivedBlockAttributes
|
|
171
|
-
} = (0, _lockUnlock.unlock)(registry.dispatch(_blockEditor.store));
|
|
172
216
|
let prevBlocks = getBlocks(patternClientId);
|
|
173
217
|
return registry.subscribe(() => {
|
|
174
218
|
const blocks = getBlocks(patternClientId);
|
|
175
219
|
if (blocks !== prevBlocks) {
|
|
176
220
|
prevBlocks = blocks;
|
|
177
|
-
|
|
178
|
-
|
|
221
|
+
syncDerivedUpdates(() => {
|
|
222
|
+
setAttributes({
|
|
223
|
+
overrides: getOverridesFromBlocks(blocks, defaultValuesRef.current)
|
|
224
|
+
});
|
|
179
225
|
});
|
|
180
226
|
}
|
|
181
227
|
}, _blockEditor.store);
|
|
182
|
-
}, [patternClientId, registry]);
|
|
228
|
+
}, [syncDerivedUpdates, patternClientId, registry, setAttributes]);
|
|
229
|
+
const handleEditOriginal = event => {
|
|
230
|
+
setBlockEditMode(setBlockEditingMode, innerBlocks, 'default');
|
|
231
|
+
editOriginalProps.onClick(event);
|
|
232
|
+
};
|
|
183
233
|
let children = null;
|
|
184
234
|
if (hasAlreadyRendered) {
|
|
185
235
|
children = (0, _react.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Block cannot be rendered inside itself.'));
|
|
@@ -192,13 +242,10 @@ function ReusableBlockEdit({
|
|
|
192
242
|
}
|
|
193
243
|
return (0, _react.createElement)(_blockEditor.__experimentalRecursionProvider, {
|
|
194
244
|
uniqueId: ref
|
|
195
|
-
}, (0, _react.createElement)(_blockEditor.
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
__nextHasNoMarginBottom: true,
|
|
200
|
-
__next40pxDefaultSize: true
|
|
201
|
-
}))), children === null ? (0, _react.createElement)("div", {
|
|
245
|
+
}, userCanEdit && editOriginalProps && (0, _react.createElement)(_blockEditor.BlockControls, null, (0, _react.createElement)(_components.ToolbarGroup, null, (0, _react.createElement)(_components.ToolbarButton, {
|
|
246
|
+
href: editOriginalProps.href,
|
|
247
|
+
onClick: handleEditOriginal
|
|
248
|
+
}, (0, _i18n.__)('Edit original')))), children === null ? (0, _react.createElement)("div", {
|
|
202
249
|
...innerBlocksProps
|
|
203
250
|
}) : (0, _react.createElement)("div", {
|
|
204
251
|
...blockProps
|
package/build/block/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_blocks","_lockUnlock","useLayoutClasses","unlock","blockEditorPrivateApis","isPartiallySynced","block","getBlockSupport","name","attributes","connections","Object","values","some","connection","source","getPartiallySyncedAttributes","entries","filter","map","attributeKey","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","useRef","useMemo","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","includes","align","layout","applyInitialOverrides","overrides","defaultValues","innerBlocks","blockId","metadata","id","newAttributes","getOverridesFromBlocks","assign","keys","ReusableBlockEdit","ref","__unstableParentLayout","clientId","patternClientId","registry","useRegistry","hasAlreadyRendered","useHasRecursion","record","hasResolved","useEntityRecord","isMissing","initialOverrides","defaultValuesRef","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","useDispatch","blockEditorStore","getBlockEditingMode","useSelect","useEffect","content","raw","initialBlocks","parse","editingMode","batch","select","getBlocks","title","setTitle","useEntityProp","layoutClasses","blockProps","useBlockProps","className","classnames","innerBlocksProps","useInnerBlocksProps","renderAppender","InnerBlocks","ButtonBlockAppender","syncDerivedBlockAttributes","dispatch","prevBlocks","subscribe","children","_react","createElement","Warning","__","Placeholder","Spinner","__experimentalRecursionProvider","uniqueId","InspectorControls","PanelBody","TextControl","label","value","onChange","__nextHasNoMarginBottom","__next40pxDefaultSize"],"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 { useEntityProp, useEntityRecord } from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tTextControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tInnerBlocks,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { getBlockSupport, parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\n\nfunction isPartiallySynced( block ) {\n\treturn (\n\t\t!! getBlockSupport( block.name, '__experimentalConnections', false ) &&\n\t\t!! block.attributes.connections?.attributes &&\n\t\tObject.values( block.attributes.connections.attributes ).some(\n\t\t\t( connection ) => connection.source === 'pattern_attributes'\n\t\t)\n\t);\n}\nfunction getPartiallySyncedAttributes( block ) {\n\treturn Object.entries( block.attributes.connections.attributes )\n\t\t.filter(\n\t\t\t( [ , connection ] ) => connection.source === 'pattern_attributes'\n\t\t)\n\t\t.map( ( [ attributeKey ] ) => attributeKey );\n}\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\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 applyInitialOverrides( blocks, overrides = {}, defaultValues ) {\n\treturn blocks.map( ( block ) => {\n\t\tconst innerBlocks = applyInitialOverrides(\n\t\t\tblock.innerBlocks,\n\t\t\toverrides,\n\t\t\tdefaultValues\n\t\t);\n\t\tconst blockId = block.attributes.metadata?.id;\n\t\tif ( ! isPartiallySynced( block ) || ! blockId )\n\t\t\treturn { ...block, innerBlocks };\n\t\tconst attributes = getPartiallySyncedAttributes( block );\n\t\tconst newAttributes = { ...block.attributes };\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tdefaultValues[ blockId ] = block.attributes[ attributeKey ];\n\t\t\tif ( overrides[ blockId ] ) {\n\t\t\t\tnewAttributes[ attributeKey ] = overrides[ blockId ];\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 getOverridesFromBlocks( blocks, defaultValues ) {\n\t/** @type {Record<string, unknown>} */\n\tconst overrides = {};\n\tfor ( const block of blocks ) {\n\t\tObject.assign(\n\t\t\toverrides,\n\t\t\tgetOverridesFromBlocks( block.innerBlocks, defaultValues )\n\t\t);\n\t\tconst blockId = block.attributes.metadata?.id;\n\t\tif ( ! isPartiallySynced( block ) || ! blockId ) continue;\n\t\tconst attributes = getPartiallySyncedAttributes( block );\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tif (\n\t\t\t\tblock.attributes[ attributeKey ] !== defaultValues[ blockId ]\n\t\t\t) {\n\t\t\t\toverrides[ blockId ] = block.attributes[ attributeKey ];\n\t\t\t}\n\t\t}\n\t}\n\treturn Object.keys( overrides ).length > 0 ? overrides : undefined;\n}\n\nexport default function ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, overrides },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n} ) {\n\tconst registry = useRegistry();\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\tconst initialOverrides = useRef( overrides );\n\tconst defaultValuesRef = useRef( {} );\n\tconst {\n\t\treplaceInnerBlocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetBlockEditingMode,\n\t} = useDispatch( blockEditorStore );\n\tconst { getBlockEditingMode } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( ! record?.content?.raw ) return;\n\t\tconst initialBlocks = parse( record.content.raw );\n\n\t\tconst editingMode = getBlockEditingMode( patternClientId );\n\t\tregistry.batch( () => {\n\t\t\tsetBlockEditingMode( patternClientId, 'default' );\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\treplaceInnerBlocks(\n\t\t\t\tpatternClientId,\n\t\t\t\tapplyInitialOverrides(\n\t\t\t\t\tinitialBlocks,\n\t\t\t\t\tinitialOverrides.current,\n\t\t\t\t\tdefaultValuesRef.current\n\t\t\t\t)\n\t\t\t);\n\t\t\tsetBlockEditingMode( patternClientId, editingMode );\n\t\t} );\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tpatternClientId,\n\t\trecord,\n\t\treplaceInnerBlocks,\n\t\tregistry,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t] );\n\n\tconst innerBlocks = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlocks( patternClientId ),\n\t\t[ patternClientId ]\n\t);\n\n\tconst [ title, setTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_block',\n\t\t'title',\n\t\tref\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\tlayout,\n\t\trenderAppender: innerBlocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\t// Sync the `overrides` attribute from the updated blocks.\n\t// `syncDerivedBlockAttributes` is an action that just like `updateBlockAttributes`\n\t// but won't create an undo level.\n\t// This can be abstracted into a `useSyncDerivedAttributes` hook if needed.\n\tuseEffect( () => {\n\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\t\tconst { syncDerivedBlockAttributes } = unlock(\n\t\t\tregistry.dispatch( blockEditorStore )\n\t\t);\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\tsyncDerivedBlockAttributes( patternClientId, {\n\t\t\t\t\toverrides: getOverridesFromBlocks(\n\t\t\t\t\t\tblocks,\n\t\t\t\t\t\tdefaultValuesRef.current\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t}, blockEditorStore );\n\t}, [ patternClientId, registry ] );\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<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\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","_blocks","_lockUnlock","useLayoutClasses","unlock","blockEditorPrivateApis","isPartiallySynced","block","getBlockSupport","name","attributes","connections","Object","values","some","connection","source","getPartiallySyncedAttributes","entries","filter","map","attributeKey","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","useRef","useMemo","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","includes","align","layout","applyInitialOverrides","overrides","defaultValues","innerBlocks","blockId","metadata","id","newAttributes","_defaultValues$blockI","getOverridesFromBlocks","assign","_overrides$blockId","keys","setBlockEditMode","setEditMode","mode","forEach","editMode","clientId","ReusableBlockEdit","ref","__unstableParentLayout","patternClientId","setAttributes","registry","useRegistry","hasAlreadyRendered","useHasRecursion","record","editedRecord","hasResolved","useEntityRecord","isMissing","initialOverrides","defaultValuesRef","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","useDispatch","blockEditorStore","syncDerivedUpdates","userCanEdit","getBlockEditingMode","getPostLinkProps","useSelect","select","canUser","coreStore","getBlocks","editingMode","getSettings","canEdit","editOriginalProps","postId","postType","canvas","useEffect","_editedRecord$blocks$","initialBlocks","cloneBlock","content","parse","batch","layoutClasses","blockProps","useBlockProps","className","classnames","innerBlocksProps","useInnerBlocksProps","templateLock","renderAppender","InnerBlocks","ButtonBlockAppender","prevBlocks","subscribe","handleEditOriginal","event","onClick","children","_react","createElement","Warning","__","Placeholder","Spinner","__experimentalRecursionProvider","uniqueId","BlockControls","ToolbarGroup","ToolbarButton","href"],"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\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tInnerBlocks,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { getBlockSupport, parse, cloneBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\n\nfunction isPartiallySynced( block ) {\n\treturn (\n\t\t!! getBlockSupport( block.name, '__experimentalConnections', false ) &&\n\t\t!! block.attributes.connections?.attributes &&\n\t\tObject.values( block.attributes.connections.attributes ).some(\n\t\t\t( connection ) => connection.source === 'pattern_attributes'\n\t\t)\n\t);\n}\nfunction getPartiallySyncedAttributes( block ) {\n\treturn Object.entries( block.attributes.connections.attributes )\n\t\t.filter(\n\t\t\t( [ , connection ] ) => connection.source === 'pattern_attributes'\n\t\t)\n\t\t.map( ( [ attributeKey ] ) => attributeKey );\n}\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\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 applyInitialOverrides( blocks, overrides = {}, defaultValues ) {\n\treturn blocks.map( ( block ) => {\n\t\tconst innerBlocks = applyInitialOverrides(\n\t\t\tblock.innerBlocks,\n\t\t\toverrides,\n\t\t\tdefaultValues\n\t\t);\n\t\tconst blockId = block.attributes.metadata?.id;\n\t\tif ( ! isPartiallySynced( block ) || ! blockId )\n\t\t\treturn { ...block, innerBlocks };\n\t\tconst attributes = getPartiallySyncedAttributes( block );\n\t\tconst newAttributes = { ...block.attributes };\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tdefaultValues[ blockId ] ??= {};\n\t\t\tdefaultValues[ blockId ][ attributeKey ] =\n\t\t\t\tblock.attributes[ attributeKey ];\n\t\t\tif ( overrides[ blockId ] ) {\n\t\t\t\tnewAttributes[ attributeKey ] =\n\t\t\t\t\toverrides[ blockId ][ 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 getOverridesFromBlocks( blocks, defaultValues ) {\n\t/** @type {Record<string, Record<string, unknown>>} */\n\tconst overrides = {};\n\tfor ( const block of blocks ) {\n\t\tObject.assign(\n\t\t\toverrides,\n\t\t\tgetOverridesFromBlocks( block.innerBlocks, defaultValues )\n\t\t);\n\t\tconst blockId = block.attributes.metadata?.id;\n\t\tif ( ! isPartiallySynced( block ) || ! blockId ) continue;\n\t\tconst attributes = getPartiallySyncedAttributes( block );\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tif (\n\t\t\t\tblock.attributes[ attributeKey ] !==\n\t\t\t\tdefaultValues[ blockId ][ attributeKey ]\n\t\t\t) {\n\t\t\t\toverrides[ blockId ] ??= {};\n\t\t\t\toverrides[ blockId ][ attributeKey ] =\n\t\t\t\t\tblock.attributes[ attributeKey ];\n\t\t\t}\n\t\t}\n\t}\n\treturn Object.keys( overrides ).length > 0 ? overrides : undefined;\n}\n\nfunction setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode || ( isPartiallySynced( block ) ? 'contentOnly' : 'disabled' );\n\t\tsetEditMode( block.clientId, editMode );\n\t\tsetBlockEditMode( setEditMode, block.innerBlocks, mode );\n\t} );\n}\n\nexport default function ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, overrides },\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\tconst initialOverrides = useRef( overrides );\n\tconst defaultValuesRef = 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 { innerBlocks, userCanEdit, getBlockEditingMode, getPostLinkProps } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { canUser } = select( coreStore );\n\t\t\t\tconst {\n\t\t\t\t\tgetBlocks,\n\t\t\t\t\tgetBlockEditingMode: editingMode,\n\t\t\t\t\tgetSettings,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\t\tconst canEdit = canUser( 'update', 'blocks', ref );\n\n\t\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\t\treturn {\n\t\t\t\t\tinnerBlocks: blocks,\n\t\t\t\t\tuserCanEdit: canEdit,\n\t\t\t\t\tgetBlockEditingMode: editingMode,\n\t\t\t\t\tgetPostLinkProps: getSettings().getPostLinkProps,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ patternClientId, ref ]\n\t\t);\n\n\tconst editOriginalProps = getPostLinkProps\n\t\t? getPostLinkProps( {\n\t\t\t\tpostId: ref,\n\t\t\t\tpostType: 'wp_block',\n\t\t\t\tcanvas: 'edit',\n\t\t } )\n\t\t: {};\n\n\tuseEffect(\n\t\t() => setBlockEditMode( setBlockEditingMode, innerBlocks ),\n\t\t[ innerBlocks, setBlockEditingMode ]\n\t);\n\n\t// Apply the initial overrides from the pattern block to the inner blocks.\n\tuseEffect( () => {\n\t\tconst initialBlocks =\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\n\t\tdefaultValuesRef.current = {};\n\t\tconst editingMode = 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\tapplyInitialOverrides(\n\t\t\t\t\t\tinitialBlocks,\n\t\t\t\t\t\tinitialOverrides.current,\n\t\t\t\t\t\tdefaultValuesRef.current\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t\tsetBlockEditingMode( patternClientId, editingMode );\n\t\t} );\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tpatternClientId,\n\t\teditedRecord,\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 `overrides` 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\toverrides: getOverridesFromBlocks(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\tdefaultValuesRef.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 = ( event ) => {\n\t\tsetBlockEditMode( setBlockEditingMode, innerBlocks, 'default' );\n\t\teditOriginalProps.onClick( event );\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 && editOriginalProps && (\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\thref={ editOriginalProps.href }\n\t\t\t\t\t\t\tonClick={ handleEditOriginal }\n\t\t\t\t\t\t>\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\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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"}
|
|
@@ -14,7 +14,7 @@ const metadata = {
|
|
|
14
14
|
title: "Comments Title",
|
|
15
15
|
category: "theme",
|
|
16
16
|
ancestor: ["core/comments"],
|
|
17
|
-
description: "Displays a title with the number of comments",
|
|
17
|
+
description: "Displays a title with the number of comments.",
|
|
18
18
|
textdomain: "default",
|
|
19
19
|
usesContext: ["postId", "postType"],
|
|
20
20
|
attributes: {
|
|
@@ -22,7 +22,7 @@ const metadata = {
|
|
|
22
22
|
title: "Comments Title",
|
|
23
23
|
category: "theme",
|
|
24
24
|
ancestor: ["core/comments"],
|
|
25
|
-
description: "Displays a title with the number of comments",
|
|
25
|
+
description: "Displays a title with the number of comments.",
|
|
26
26
|
textdomain: "default",
|
|
27
27
|
usesContext: ["postId", "postType"],
|
|
28
28
|
attributes: {
|
|
@@ -157,7 +157,7 @@ function CoverInspectorControls({
|
|
|
157
157
|
}, (0, _i18n.__)('Describe the purpose of the image.')), (0, _react.createElement)("br", null), (0, _i18n.__)('Leave empty if decorative.'))
|
|
158
158
|
}), (0, _react.createElement)(_components.PanelRow, null, (0, _react.createElement)(_components.Button, {
|
|
159
159
|
variant: "secondary",
|
|
160
|
-
|
|
160
|
+
size: "small",
|
|
161
161
|
className: "block-library-cover__reset-button",
|
|
162
162
|
onClick: onClearMedia
|
|
163
163
|
}, (0, _i18n.__)('Clear Media'))))), colorGradientSettings.hasColorsOrGradients && (0, _react.createElement)(_blockEditor.InspectorControls, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_components","_compose","_blockEditor","_i18n","_shared","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","useInstanceId","UnitControl","inputId","isPx","availableUnits","useSettings","units","useCustomUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","useMemo","parsedQuantity","parseQuantityAndUnitFromRawValue","join","min","COVER_MIN_HEIGHT","_react","createElement","__experimentalUnitControl","label","__","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","__experimentalUseGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","mediaPosition","colorGradientSettings","useMultipleOriginColorsAndGradients","htmlElementMessages","header","main","section","article","aside","footer","Fragment","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","checked","FocalPointPicker","onDragStart","onDrag","newFocalPoint","TextareaControl","newAlt","help","ExternalLink","href","PanelRow","Button","variant","isSmall","className","onClick","hasColorsOrGradients","group","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","__experimentalToolsPanelItem","hasValue","onDeselect","RangeControl","newDimRatio","max","step","required","__next40pxDefaultSize","newMinHeight","nextUnit","SelectControl","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\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) }\n\t\t\t\t\t\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_components","_compose","_blockEditor","_i18n","_shared","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","useInstanceId","UnitControl","inputId","isPx","availableUnits","useSettings","units","useCustomUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","useMemo","parsedQuantity","parseQuantityAndUnitFromRawValue","join","min","COVER_MIN_HEIGHT","_react","createElement","__experimentalUnitControl","label","__","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","__experimentalUseGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","mediaPosition","colorGradientSettings","useMultipleOriginColorsAndGradients","htmlElementMessages","header","main","section","article","aside","footer","Fragment","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","checked","FocalPointPicker","onDragStart","onDrag","newFocalPoint","TextareaControl","newAlt","help","ExternalLink","href","PanelRow","Button","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","__experimentalToolsPanelItem","hasValue","onDeselect","RangeControl","newDimRatio","max","step","required","__next40pxDefaultSize","newMinHeight","nextUnit","SelectControl","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\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) }\n\t\t\t\t\t\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
package/build/embed/util.js
CHANGED
|
@@ -12,7 +12,7 @@ exports.removeAspectRatioClasses = exports.matchesPatterns = exports.isFromWordP
|
|
|
12
12
|
var _react = require("react");
|
|
13
13
|
var _dedupe = _interopRequireDefault(require("classnames/dedupe"));
|
|
14
14
|
var _memize = _interopRequireDefault(require("memize"));
|
|
15
|
-
var
|
|
15
|
+
var _components = require("@wordpress/components");
|
|
16
16
|
var _element = require("@wordpress/element");
|
|
17
17
|
var _blocks = require("@wordpress/blocks");
|
|
18
18
|
var _constants = require("./constants");
|
|
@@ -80,9 +80,6 @@ const metadata = {
|
|
|
80
80
|
const {
|
|
81
81
|
name: DEFAULT_EMBED_BLOCK
|
|
82
82
|
} = metadata;
|
|
83
|
-
const {
|
|
84
|
-
kebabCase
|
|
85
|
-
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
86
83
|
|
|
87
84
|
/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */
|
|
88
85
|
|
|
@@ -322,6 +319,9 @@ const getAttributesFromPreview = (0, _memize.default)((preview, title, currentCl
|
|
|
322
319
|
html,
|
|
323
320
|
provider_name: providerName
|
|
324
321
|
} = preview;
|
|
322
|
+
const {
|
|
323
|
+
kebabCase
|
|
324
|
+
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
325
325
|
const providerNameSlug = kebabCase((providerName || title).toLowerCase());
|
|
326
326
|
if (isFromWordPress(html)) {
|
|
327
327
|
type = _constants.WP_EMBED_TYPE;
|