@wordpress/block-library 9.12.1-next.082ed6819.0 → 9.13.1-next.cd6172eb0.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 +2 -29
- package/build/block/edit.js.map +1 -1
- package/build/cover/edit/index.js +4 -2
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +6 -4
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +2 -2
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/navigation/edit/deleted-navigation-warning.js +9 -2
- package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
- package/build/navigation-submenu/edit.js +3 -0
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/pattern/recursion-detector.js +0 -1
- package/build/pattern/recursion-detector.js.map +1 -1
- package/build/query/edit/index.js +2 -2
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/inspector-controls/author-control.js +0 -1
- package/build/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build/query/edit/inspector-controls/parent-control.js +0 -1
- package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/edit/{pattern-selection-modal.js → pattern-selection.js} +55 -36
- package/build/query/edit/pattern-selection.js.map +1 -0
- package/build/query/edit/query-content.js +5 -8
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/edit/query-placeholder.js +5 -11
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/edit/query-toolbar.js +31 -11
- package/build/query/edit/query-toolbar.js.map +1 -1
- package/build/separator/deprecated.js +2 -1
- package/build/separator/deprecated.js.map +1 -1
- package/build/separator/edit.js +29 -4
- package/build/separator/edit.js.map +1 -1
- package/build/separator/index.js +5 -0
- package/build/separator/index.js.map +1 -1
- package/build/separator/save.js +3 -2
- package/build/separator/save.js.map +1 -1
- package/build/social-link/edit.js +35 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/index.js +4 -2
- package/build/social-link/index.js.map +1 -1
- package/build/template-part/edit/import-controls.js +0 -1
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build-module/block/edit.js +3 -30
- package/build-module/block/edit.js.map +1 -1
- package/build-module/cover/edit/index.js +4 -2
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +6 -4
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +2 -2
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/navigation/edit/deleted-navigation-warning.js +10 -3
- package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +3 -0
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/pattern/recursion-detector.js +0 -1
- package/build-module/pattern/recursion-detector.js.map +1 -1
- package/build-module/query/edit/index.js +1 -1
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/author-control.js +0 -1
- package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/parent-control.js +0 -1
- package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/edit/{pattern-selection-modal.js → pattern-selection.js} +53 -36
- package/build-module/query/edit/pattern-selection.js.map +1 -0
- package/build-module/query/edit/query-content.js +5 -8
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +6 -12
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/edit/query-toolbar.js +31 -13
- package/build-module/query/edit/query-toolbar.js.map +1 -1
- package/build-module/separator/deprecated.js +2 -1
- package/build-module/separator/deprecated.js.map +1 -1
- package/build-module/separator/edit.js +32 -7
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/separator/index.js +5 -0
- package/build-module/separator/index.js.map +1 -1
- package/build-module/separator/save.js +3 -2
- package/build-module/separator/save.js.map +1 -1
- package/build-module/social-link/edit.js +37 -3
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/index.js +4 -2
- package/build-module/social-link/index.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +0 -1
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-style/comments-pagination/editor-rtl.css +1 -0
- package/build-style/comments-pagination/editor.css +1 -0
- package/build-style/comments-pagination/style-rtl.css +1 -0
- package/build-style/comments-pagination/style.css +1 -0
- package/build-style/editor-rtl.css +35 -0
- package/build-style/editor.css +35 -0
- package/build-style/image/style-rtl.css +3 -2
- package/build-style/image/style.css +3 -2
- package/build-style/pullquote/style-rtl.css +1 -0
- package/build-style/pullquote/style.css +1 -0
- package/build-style/query/editor-rtl.css +30 -0
- package/build-style/query/editor.css +30 -0
- package/build-style/social-link/editor-rtl.css +4 -0
- package/build-style/social-link/editor.css +4 -0
- package/build-style/style-rtl.css +5 -2
- package/build-style/style.css +5 -2
- package/build-types/lock-unlock.d.ts +1 -1
- package/build-types/lock-unlock.d.ts.map +1 -1
- package/package.json +34 -34
- package/src/block/edit.js +6 -51
- package/src/comments-pagination/editor.scss +1 -0
- package/src/comments-pagination/style.scss +1 -0
- package/src/cover/edit/index.js +4 -1
- package/src/cover/edit/inspector-controls.js +10 -3
- package/src/cover/index.php +2 -2
- package/src/image/style.scss +4 -3
- package/src/list-item/hooks/use-merge.js +2 -2
- package/src/missing/test/edit.native.js +0 -1
- package/src/navigation/README.md +1 -0
- package/src/navigation/edit/deleted-navigation-warning.js +11 -2
- package/src/navigation/index.php +9 -35
- package/src/navigation-submenu/edit.js +5 -0
- package/src/navigation-submenu/index.php +17 -1
- package/src/pullquote/style.scss +1 -0
- package/src/query/edit/index.js +1 -1
- package/src/query/edit/{pattern-selection-modal.js → pattern-selection.js} +53 -33
- package/src/query/edit/query-content.js +4 -10
- package/src/query/edit/query-placeholder.js +5 -14
- package/src/query/edit/query-toolbar.js +38 -17
- package/src/query/editor.scss +30 -0
- package/src/search/index.php +3 -3
- package/src/separator/block.json +5 -0
- package/src/separator/deprecated.js +1 -0
- package/src/separator/edit.js +28 -3
- package/src/separator/save.js +2 -2
- package/src/separator/test/edit.js +1 -0
- package/src/social-link/block.json +4 -2
- package/src/social-link/edit.js +40 -0
- package/src/social-link/editor.scss +5 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/query/edit/pattern-selection-modal.js.map +0 -1
- package/build-module/query/edit/pattern-selection-modal.js.map +0 -1
|
@@ -116,6 +116,7 @@ const SocialLinkEdit = ({
|
|
|
116
116
|
// Use internal state instead of a ref to make sure that the component
|
|
117
117
|
// re-renders when the popover's anchor updates.
|
|
118
118
|
const [popoverAnchor, setPopoverAnchor] = (0, _element.useState)(null);
|
|
119
|
+
const isContentOnlyMode = (0, _blockEditor.useBlockEditingMode)() === 'contentOnly';
|
|
119
120
|
const IconComponent = (0, _socialList.getIconBySite)(service);
|
|
120
121
|
const socialLinkName = (0, _socialList.getNameBySite)(service);
|
|
121
122
|
// The initial label (ie. the link text) is an empty string.
|
|
@@ -136,7 +137,40 @@ const SocialLinkEdit = ({
|
|
|
136
137
|
}
|
|
137
138
|
});
|
|
138
139
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
139
|
-
children: [
|
|
140
|
+
children: [isContentOnlyMode && showLabels &&
|
|
141
|
+
/*#__PURE__*/
|
|
142
|
+
// Add an extra control to modify the label attribute when content only mode is active.
|
|
143
|
+
// With content only mode active, the inspector is hidden, so users need another way
|
|
144
|
+
// to edit this attribute.
|
|
145
|
+
(0, _jsxRuntime.jsx)(_blockEditor.BlockControls, {
|
|
146
|
+
group: "other",
|
|
147
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Dropdown, {
|
|
148
|
+
popoverProps: {
|
|
149
|
+
position: 'bottom right'
|
|
150
|
+
},
|
|
151
|
+
renderToggle: ({
|
|
152
|
+
isOpen,
|
|
153
|
+
onToggle
|
|
154
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
|
|
155
|
+
onClick: onToggle,
|
|
156
|
+
"aria-haspopup": "true",
|
|
157
|
+
"aria-expanded": isOpen,
|
|
158
|
+
children: (0, _i18n.__)('Text')
|
|
159
|
+
}),
|
|
160
|
+
renderContent: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
|
|
161
|
+
__next40pxDefaultSize: true,
|
|
162
|
+
__nextHasNoMarginBottom: true,
|
|
163
|
+
className: "wp-block-social-link__toolbar_content_text",
|
|
164
|
+
label: (0, _i18n.__)('Text'),
|
|
165
|
+
help: (0, _i18n.__)('Provide a text label or use the default.'),
|
|
166
|
+
value: label,
|
|
167
|
+
onChange: value => setAttributes({
|
|
168
|
+
label: value
|
|
169
|
+
}),
|
|
170
|
+
placeholder: socialLinkName
|
|
171
|
+
})
|
|
172
|
+
})
|
|
173
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
|
|
140
174
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelBody, {
|
|
141
175
|
title: (0, _i18n.__)('Settings'),
|
|
142
176
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelRow, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_keycodes","_data","_blockEditor","_element","_components","_compose","_i18n","_icons","_socialList","_jsxRuntime","SocialLinkURLPopover","url","setAttributes","setPopover","popoverAnchor","clientId","removeBlock","useDispatch","blockEditorStore","jsx","URLPopover","anchor","__","onClose","focus","children","className","onSubmit","event","preventDefault","URLInput","value","onChange","nextURL","placeholder","label","hideLabelFromVision","disableSuggestions","onKeyDown","defaultPrevented","BACKSPACE","DELETE","includes","keyCode","suffix","__experimentalInputControlSuffixWrapper","variant","Button","icon","keyboardReturn","type","size","SocialLinkEdit","attributes","context","isSelected","service","rel","showLabels","iconColor","iconColorValue","iconBackgroundColor","iconBackgroundColorValue","showURLPopover","useState","wrapperClasses","clsx","setPopoverAnchor","IconComponent","getIconBySite","socialLinkName","getNameBySite","socialLinkText","trim","ref","useRef","blockProps","useBlockProps","useMergeRefs","onClick","ENTER","jsxs","Fragment","InspectorControls","PanelBody","title","PanelRow","TextControl","__next40pxDefaultSize","__nextHasNoMarginBottom","help","group","role","style","color","backgroundColor","_default","exports","default"],"sources":["@wordpress/block-library/src/social-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { DELETE, BACKSPACE, ENTER } from '@wordpress/keycodes';\nimport { useDispatch } from '@wordpress/data';\n\nimport {\n\tInspectorControls,\n\tURLPopover,\n\tURLInput,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tPanelBody,\n\tPanelRow,\n\tTextControl,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getIconBySite, getNameBySite } from './social-list';\n\nconst SocialLinkURLPopover = ( {\n\turl,\n\tsetAttributes,\n\tsetPopover,\n\tpopoverAnchor,\n\tclientId,\n} ) => {\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\treturn (\n\t\t<URLPopover\n\t\t\tanchor={ popoverAnchor }\n\t\t\taria-label={ __( 'Edit social link' ) }\n\t\t\tonClose={ () => {\n\t\t\t\tsetPopover( false );\n\t\t\t\tpopoverAnchor?.focus();\n\t\t\t} }\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"block-editor-url-popover__link-editor\"\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetPopover( false );\n\t\t\t\t\tpopoverAnchor?.focus();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-url-input\">\n\t\t\t\t\t<URLInput\n\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\tonChange={ ( nextURL ) =>\n\t\t\t\t\t\t\tsetAttributes( { url: nextURL } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplaceholder={ __( 'Enter social link' ) }\n\t\t\t\t\t\tlabel={ __( 'Enter social link' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tdisableSuggestions\n\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!! url ||\n\t\t\t\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\t\t\t\t! [ BACKSPACE, DELETE ].includes(\n\t\t\t\t\t\t\t\t\tevent.keyCode\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</URLPopover>\n\t);\n};\n\nconst SocialLinkEdit = ( {\n\tattributes,\n\tcontext,\n\tisSelected,\n\tsetAttributes,\n\tclientId,\n} ) => {\n\tconst { url, service, label = '', rel } = attributes;\n\tconst {\n\t\tshowLabels,\n\t\ticonColor,\n\t\ticonColorValue,\n\t\ticonBackgroundColor,\n\t\ticonBackgroundColorValue,\n\t} = context;\n\tconst [ showURLPopover, setPopover ] = useState( false );\n\tconst wrapperClasses = clsx(\n\t\t'wp-social-link',\n\t\t// Manually adding this class for backwards compatibility of CSS when moving the\n\t\t// blockProps from the li to the button: https://github.com/WordPress/gutenberg/pull/64883\n\t\t'wp-block-social-link',\n\t\t'wp-social-link-' + service,\n\t\t{\n\t\t\t'wp-social-link__is-incomplete': ! url,\n\t\t\t[ `has-${ iconColor }-color` ]: iconColor,\n\t\t\t[ `has-${ iconBackgroundColor }-background-color` ]:\n\t\t\t\ticonBackgroundColor,\n\t\t}\n\t);\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst IconComponent = getIconBySite( service );\n\tconst socialLinkName = getNameBySite( service );\n\t// The initial label (ie. the link text) is an empty string.\n\t// We want to prevent empty links so that the link text always fallbacks to\n\t// the social name, even when users enter and save an empty string or only\n\t// spaces. The PHP render callback fallbacks to the social name as well.\n\tconst socialLinkText = label.trim() === '' ? socialLinkName : label;\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tclassName: 'wp-block-social-link-anchor',\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonClick: () => setPopover( true ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.keyCode === ENTER ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetPopover( true );\n\t\t\t}\n\t\t},\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<PanelRow>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'The text is visible when enabled from the parent Social Icons block.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { label: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder={ socialLinkName }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelRow>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( value ) => setAttributes( { rel: value } ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ /*\n\t\t\t * Because the `<ul>` element has a role=document, the `<li>` is\n\t\t\t * not semantically correct, so adding role=presentation is cleaner.\n\t\t\t * https://github.com/WordPress/gutenberg/pull/64883#issuecomment-2472874551\n\t\t\t */ }\n\t\t\t<li\n\t\t\t\trole=\"presentation\"\n\t\t\t\tclassName={ wrapperClasses }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: iconColorValue,\n\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ /*\n\t\t\t\t * Disable reason: The `button` ARIA role is redundant but\n\t\t\t\t * blockProps has a role of `document` automatically applied\n\t\t\t\t * which breaks the semantics of this button since it removes\n\t\t\t\t * the information about the popover.\n\t\t\t\t */\n\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t<button aria-haspopup=\"dialog\" { ...blockProps } role=\"button\">\n\t\t\t\t\t<IconComponent />\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ clsx( 'wp-block-social-link-label', {\n\t\t\t\t\t\t\t'screen-reader-text': ! showLabels,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ socialLinkText }\n\t\t\t\t\t</span>\n\t\t\t\t</button>\n\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t{ isSelected && showURLPopover && (\n\t\t\t\t\t<SocialLinkURLPopover\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tsetPopover={ setPopover }\n\t\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t</>\n\t);\n};\n\nexport default SocialLinkEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_keycodes","_data","_blockEditor","_element","_components","_compose","_i18n","_icons","_socialList","_jsxRuntime","SocialLinkURLPopover","url","setAttributes","setPopover","popoverAnchor","clientId","removeBlock","useDispatch","blockEditorStore","jsx","URLPopover","anchor","__","onClose","focus","children","className","onSubmit","event","preventDefault","URLInput","value","onChange","nextURL","placeholder","label","hideLabelFromVision","disableSuggestions","onKeyDown","defaultPrevented","BACKSPACE","DELETE","includes","keyCode","suffix","__experimentalInputControlSuffixWrapper","variant","Button","icon","keyboardReturn","type","size","SocialLinkEdit","attributes","context","isSelected","service","rel","showLabels","iconColor","iconColorValue","iconBackgroundColor","iconBackgroundColorValue","showURLPopover","useState","wrapperClasses","clsx","setPopoverAnchor","isContentOnlyMode","useBlockEditingMode","IconComponent","getIconBySite","socialLinkName","getNameBySite","socialLinkText","trim","ref","useRef","blockProps","useBlockProps","useMergeRefs","onClick","ENTER","jsxs","Fragment","BlockControls","group","Dropdown","popoverProps","position","renderToggle","isOpen","onToggle","ToolbarButton","renderContent","TextControl","__next40pxDefaultSize","__nextHasNoMarginBottom","help","InspectorControls","PanelBody","title","PanelRow","role","style","color","backgroundColor","_default","exports","default"],"sources":["@wordpress/block-library/src/social-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { DELETE, BACKSPACE, ENTER } from '@wordpress/keycodes';\nimport { useDispatch } from '@wordpress/data';\n\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tURLPopover,\n\tURLInput,\n\tuseBlockEditingMode,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tDropdown,\n\tPanelBody,\n\tPanelRow,\n\tTextControl,\n\tToolbarButton,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getIconBySite, getNameBySite } from './social-list';\n\nconst SocialLinkURLPopover = ( {\n\turl,\n\tsetAttributes,\n\tsetPopover,\n\tpopoverAnchor,\n\tclientId,\n} ) => {\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\treturn (\n\t\t<URLPopover\n\t\t\tanchor={ popoverAnchor }\n\t\t\taria-label={ __( 'Edit social link' ) }\n\t\t\tonClose={ () => {\n\t\t\t\tsetPopover( false );\n\t\t\t\tpopoverAnchor?.focus();\n\t\t\t} }\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"block-editor-url-popover__link-editor\"\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetPopover( false );\n\t\t\t\t\tpopoverAnchor?.focus();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-url-input\">\n\t\t\t\t\t<URLInput\n\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\tonChange={ ( nextURL ) =>\n\t\t\t\t\t\t\tsetAttributes( { url: nextURL } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplaceholder={ __( 'Enter social link' ) }\n\t\t\t\t\t\tlabel={ __( 'Enter social link' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tdisableSuggestions\n\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!! url ||\n\t\t\t\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\t\t\t\t! [ BACKSPACE, DELETE ].includes(\n\t\t\t\t\t\t\t\t\tevent.keyCode\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</URLPopover>\n\t);\n};\n\nconst SocialLinkEdit = ( {\n\tattributes,\n\tcontext,\n\tisSelected,\n\tsetAttributes,\n\tclientId,\n} ) => {\n\tconst { url, service, label = '', rel } = attributes;\n\tconst {\n\t\tshowLabels,\n\t\ticonColor,\n\t\ticonColorValue,\n\t\ticonBackgroundColor,\n\t\ticonBackgroundColorValue,\n\t} = context;\n\tconst [ showURLPopover, setPopover ] = useState( false );\n\tconst wrapperClasses = clsx(\n\t\t'wp-social-link',\n\t\t// Manually adding this class for backwards compatibility of CSS when moving the\n\t\t// blockProps from the li to the button: https://github.com/WordPress/gutenberg/pull/64883\n\t\t'wp-block-social-link',\n\t\t'wp-social-link-' + service,\n\t\t{\n\t\t\t'wp-social-link__is-incomplete': ! url,\n\t\t\t[ `has-${ iconColor }-color` ]: iconColor,\n\t\t\t[ `has-${ iconBackgroundColor }-background-color` ]:\n\t\t\t\ticonBackgroundColor,\n\t\t}\n\t);\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst isContentOnlyMode = useBlockEditingMode() === 'contentOnly';\n\n\tconst IconComponent = getIconBySite( service );\n\tconst socialLinkName = getNameBySite( service );\n\t// The initial label (ie. the link text) is an empty string.\n\t// We want to prevent empty links so that the link text always fallbacks to\n\t// the social name, even when users enter and save an empty string or only\n\t// spaces. The PHP render callback fallbacks to the social name as well.\n\tconst socialLinkText = label.trim() === '' ? socialLinkName : label;\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tclassName: 'wp-block-social-link-anchor',\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonClick: () => setPopover( true ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.keyCode === ENTER ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetPopover( true );\n\t\t\t}\n\t\t},\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t{ isContentOnlyMode && showLabels && (\n\t\t\t\t// Add an extra control to modify the label attribute when content only mode is active.\n\t\t\t\t// With content only mode active, the inspector is hidden, so users need another way\n\t\t\t\t// to edit this attribute.\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ { position: 'bottom right' } }\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Text' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tclassName=\"wp-block-social-link__toolbar_content_text\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Provide a text label or use the default.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { label: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplaceholder={ socialLinkName }\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</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'The text is visible when enabled from the parent Social Icons block.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { label: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder={ socialLinkName }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelRow>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( value ) => setAttributes( { rel: value } ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ /*\n\t\t\t * Because the `<ul>` element has a role=document, the `<li>` is\n\t\t\t * not semantically correct, so adding role=presentation is cleaner.\n\t\t\t * https://github.com/WordPress/gutenberg/pull/64883#issuecomment-2472874551\n\t\t\t */ }\n\t\t\t<li\n\t\t\t\trole=\"presentation\"\n\t\t\t\tclassName={ wrapperClasses }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: iconColorValue,\n\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ /*\n\t\t\t\t * Disable reason: The `button` ARIA role is redundant but\n\t\t\t\t * blockProps has a role of `document` automatically applied\n\t\t\t\t * which breaks the semantics of this button since it removes\n\t\t\t\t * the information about the popover.\n\t\t\t\t */\n\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t<button aria-haspopup=\"dialog\" { ...blockProps } role=\"button\">\n\t\t\t\t\t<IconComponent />\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ clsx( 'wp-block-social-link-label', {\n\t\t\t\t\t\t\t'screen-reader-text': ! showLabels,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ socialLinkText }\n\t\t\t\t\t</span>\n\t\t\t\t</button>\n\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t{ isSelected && showURLPopover && (\n\t\t\t\t\t<SocialLinkURLPopover\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tsetPopover={ setPopover }\n\t\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t</>\n\t);\n};\n\nexport default SocialLinkEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,13 +26,15 @@ const metadata = exports.metadata = {
|
|
|
26
26
|
textdomain: "default",
|
|
27
27
|
attributes: {
|
|
28
28
|
url: {
|
|
29
|
-
type: "string"
|
|
29
|
+
type: "string",
|
|
30
|
+
role: "content"
|
|
30
31
|
},
|
|
31
32
|
service: {
|
|
32
33
|
type: "string"
|
|
33
34
|
},
|
|
34
35
|
label: {
|
|
35
|
-
type: "string"
|
|
36
|
+
type: "string",
|
|
37
|
+
role: "content"
|
|
36
38
|
},
|
|
37
39
|
rel: {
|
|
38
40
|
type: "string"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","_variations","metadata","exports","$schema","apiVersion","name","title","category","parent","description","textdomain","attributes","url","type","service","label","rel","usesContext","supports","reusable","html","interactivity","clientNavigation","editorStyle","settings","icon","edit","variations","init","initBlock"],"sources":["@wordpress/block-library/src/social-link/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { share as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AAXA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAK,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,MAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,GAAA;MAAAC,IAAA;IAAA;IAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","_variations","metadata","exports","$schema","apiVersion","name","title","category","parent","description","textdomain","attributes","url","type","role","service","label","rel","usesContext","supports","reusable","html","interactivity","clientNavigation","editorStyle","settings","icon","edit","variations","init","initBlock"],"sources":["@wordpress/block-library/src/social-link/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { share as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AAXA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAK,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,MAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,GAAA;MAAAC,IAAA;MAAAC,IAAA;IAAA;IAAAC,OAAA;MAAAF,IAAA;IAAA;IAAAG,KAAA;MAAAH,IAAA;MAAAC,IAAA;IAAA;IAAAG,GAAA;MAAAJ,IAAA;IAAA;EAAA;EAAAK,WAAA;EAAAC,QAAA;IAAAC,QAAA;IAAAC,IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;AAAA;AAQA,MAAM;EAAEnB;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAMoB,QAAQ,GAAAvB,OAAA,CAAAuB,QAAA,GAAG;EACvBC,IAAI,EAAJA,YAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,UAAU,EAAVA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEzB,IAAI;EAAEJ,QAAQ;EAAEwB;AAAS,CAAE,CAAC;AAACvB,OAAA,CAAA2B,IAAA,GAAAA,IAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_element","_data","_components","_coreData","_notices","_hooks","_transformers","_jsxRuntime","SIDEBARS_QUERY","per_page","_fields","TemplatePartImportControls","area","setAttributes","selectedSidebar","setSelectedSidebar","useState","isBusy","setIsBusy","registry","useRegistry","sidebars","hasResolved","useSelect","select","getSidebars","hasFinishedResolution","coreStore","createErrorNotice","useDispatch","noticesStore","createFromBlocks","useCreateTemplatePartFromBlocks","options","useMemo","sidebarOptions","filter","widgetArea","id","widgets","length","map","value","label","name","__","jsx","__experimentalSpacer","marginBottom","createFromWidgets","event","preventDefault","sidebar","find","getWidgets","resolveSelect","_embed","skippedWidgets","Set","blocks","flatMap","widget","block","transformWidgetToBlock","add","id_base","sprintf","size","Array","from","join","type","children","jsxs","__experimentalHStack","as","onSubmit","FlexBlock","SelectControl","onChange","disabled","__next40pxDefaultSize","__nextHasNoMarginBottom","FlexItem","style","marginTop","Button","variant","_x"],"sources":["@wordpress/block-library/src/template-part/edit/import-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tButton,\n\tFlexBlock,\n\tFlexItem,\n\tSelectControl,\n\t__experimentalHStack as HStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { useCreateTemplatePartFromBlocks } from './utils/hooks';\nimport { transformWidgetToBlock } from './utils/transformers';\n\nconst SIDEBARS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,description,status,widgets',\n};\n\nexport function TemplatePartImportControls( { area, setAttributes } ) {\n\tconst [ selectedSidebar, setSelectedSidebar ] = useState( '' );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\n\tconst registry = useRegistry();\n\tconst { sidebars, hasResolved } = useSelect( ( select ) => {\n\t\tconst { getSidebars, hasFinishedResolution } = select( coreStore );\n\n\t\treturn {\n\t\t\tsidebars: getSidebars( SIDEBARS_QUERY ),\n\t\t\thasResolved: hasFinishedResolution( 'getSidebars', [\n\t\t\t\tSIDEBARS_QUERY,\n\t\t\t] ),\n\t\t};\n\t}, [] );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\tconst options = useMemo( () => {\n\t\tconst sidebarOptions = ( sidebars ?? [] )\n\t\t\t.filter(\n\t\t\t\t( widgetArea ) =>\n\t\t\t\t\twidgetArea.id !== 'wp_inactive_widgets' &&\n\t\t\t\t\twidgetArea.widgets.length > 0\n\t\t\t)\n\t\t\t.map( ( widgetArea ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: widgetArea.id,\n\t\t\t\t\tlabel: widgetArea.name,\n\t\t\t\t};\n\t\t\t} );\n\n\t\tif ( ! sidebarOptions.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn [\n\t\t\t{ value: '', label: __( 'Select widget area' ) },\n\t\t\t...sidebarOptions,\n\t\t];\n\t}, [ sidebars ] );\n\n\t// Render an empty node while data is loading to avoid SlotFill re-positioning bug.\n\t// See: https://github.com/WordPress/gutenberg/issues/15641.\n\tif ( ! hasResolved ) {\n\t\treturn <Spacer marginBottom=\"0\" />;\n\t}\n\n\tif ( hasResolved && ! options.length ) {\n\t\treturn null;\n\t}\n\n\tasync function createFromWidgets( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isBusy || ! selectedSidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsBusy( true );\n\n\t\tconst sidebar = options.find(\n\t\t\t( { value } ) => value === selectedSidebar\n\t\t);\n\t\tconst { getWidgets } = registry.resolveSelect( coreStore );\n\n\t\t// The widgets API always returns a successful response.\n\t\tconst widgets = await getWidgets( {\n\t\t\tsidebar: sidebar.value,\n\t\t\t_embed: 'about',\n\t\t} );\n\n\t\tconst skippedWidgets = new Set();\n\t\tconst blocks = widgets.flatMap( ( widget ) => {\n\t\t\tconst block = transformWidgetToBlock( widget );\n\n\t\t\t// Skip the block if we have no matching transformations.\n\t\t\tif ( ! block ) {\n\t\t\t\tskippedWidgets.add( widget.id_base );\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn block;\n\t\t} );\n\n\t\tawait createFromBlocks(\n\t\t\tblocks,\n\t\t\t/* translators: %s: name of the widget area */\n\t\t\tsprintf( __( 'Widget area: %s' ), sidebar.label )\n\t\t);\n\n\t\tif ( skippedWidgets.size ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: the list of widgets */\n\t\t\t\t\t__( 'Unable to import the following widgets: %s.' ),\n\t\t\t\t\tArray.from( skippedWidgets ).join( ', ' )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tsetIsBusy( false );\n\t}\n\n\treturn (\n\t\t<Spacer marginBottom=\"4\">\n\t\t\t<HStack as=\"form\" onSubmit={ createFromWidgets }>\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Import widget area' ) }\n\t\t\t\t\t\tvalue={ selectedSidebar }\n\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\tonChange={ ( value ) => setSelectedSidebar( value ) }\n\t\t\t\t\t\tdisabled={ ! options.length }\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t\t<FlexItem\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tmarginBottom: '8px',\n\t\t\t\t\t\tmarginTop: 'auto',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\taria-disabled={ isBusy || ! selectedSidebar }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ _x( 'Import', 'button label' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</Spacer>\n\t);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_i18n","require","_element","_data","_components","_coreData","_notices","_hooks","_transformers","_jsxRuntime","SIDEBARS_QUERY","per_page","_fields","TemplatePartImportControls","area","setAttributes","selectedSidebar","setSelectedSidebar","useState","isBusy","setIsBusy","registry","useRegistry","sidebars","hasResolved","useSelect","select","getSidebars","hasFinishedResolution","coreStore","createErrorNotice","useDispatch","noticesStore","createFromBlocks","useCreateTemplatePartFromBlocks","options","useMemo","sidebarOptions","filter","widgetArea","id","widgets","length","map","value","label","name","__","jsx","__experimentalSpacer","marginBottom","createFromWidgets","event","preventDefault","sidebar","find","getWidgets","resolveSelect","_embed","skippedWidgets","Set","blocks","flatMap","widget","block","transformWidgetToBlock","add","id_base","sprintf","size","Array","from","join","type","children","jsxs","__experimentalHStack","as","onSubmit","FlexBlock","SelectControl","onChange","disabled","__next40pxDefaultSize","__nextHasNoMarginBottom","FlexItem","style","marginTop","Button","variant","_x"],"sources":["@wordpress/block-library/src/template-part/edit/import-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tButton,\n\tFlexBlock,\n\tFlexItem,\n\tSelectControl,\n\t__experimentalHStack as HStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { useCreateTemplatePartFromBlocks } from './utils/hooks';\nimport { transformWidgetToBlock } from './utils/transformers';\n\nconst SIDEBARS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,description,status,widgets',\n};\n\nexport function TemplatePartImportControls( { area, setAttributes } ) {\n\tconst [ selectedSidebar, setSelectedSidebar ] = useState( '' );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\n\tconst registry = useRegistry();\n\tconst { sidebars, hasResolved } = useSelect( ( select ) => {\n\t\tconst { getSidebars, hasFinishedResolution } = select( coreStore );\n\n\t\treturn {\n\t\t\tsidebars: getSidebars( SIDEBARS_QUERY ),\n\t\t\thasResolved: hasFinishedResolution( 'getSidebars', [\n\t\t\t\tSIDEBARS_QUERY,\n\t\t\t] ),\n\t\t};\n\t}, [] );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\tconst options = useMemo( () => {\n\t\tconst sidebarOptions = ( sidebars ?? [] )\n\t\t\t.filter(\n\t\t\t\t( widgetArea ) =>\n\t\t\t\t\twidgetArea.id !== 'wp_inactive_widgets' &&\n\t\t\t\t\twidgetArea.widgets.length > 0\n\t\t\t)\n\t\t\t.map( ( widgetArea ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: widgetArea.id,\n\t\t\t\t\tlabel: widgetArea.name,\n\t\t\t\t};\n\t\t\t} );\n\n\t\tif ( ! sidebarOptions.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn [\n\t\t\t{ value: '', label: __( 'Select widget area' ) },\n\t\t\t...sidebarOptions,\n\t\t];\n\t}, [ sidebars ] );\n\n\t// Render an empty node while data is loading to avoid SlotFill re-positioning bug.\n\t// See: https://github.com/WordPress/gutenberg/issues/15641.\n\tif ( ! hasResolved ) {\n\t\treturn <Spacer marginBottom=\"0\" />;\n\t}\n\n\tif ( hasResolved && ! options.length ) {\n\t\treturn null;\n\t}\n\n\tasync function createFromWidgets( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isBusy || ! selectedSidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsBusy( true );\n\n\t\tconst sidebar = options.find(\n\t\t\t( { value } ) => value === selectedSidebar\n\t\t);\n\t\tconst { getWidgets } = registry.resolveSelect( coreStore );\n\n\t\t// The widgets API always returns a successful response.\n\t\tconst widgets = await getWidgets( {\n\t\t\tsidebar: sidebar.value,\n\t\t\t_embed: 'about',\n\t\t} );\n\n\t\tconst skippedWidgets = new Set();\n\t\tconst blocks = widgets.flatMap( ( widget ) => {\n\t\t\tconst block = transformWidgetToBlock( widget );\n\n\t\t\t// Skip the block if we have no matching transformations.\n\t\t\tif ( ! block ) {\n\t\t\t\tskippedWidgets.add( widget.id_base );\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn block;\n\t\t} );\n\n\t\tawait createFromBlocks(\n\t\t\tblocks,\n\t\t\t/* translators: %s: name of the widget area */\n\t\t\tsprintf( __( 'Widget area: %s' ), sidebar.label )\n\t\t);\n\n\t\tif ( skippedWidgets.size ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: the list of widgets */\n\t\t\t\t\t__( 'Unable to import the following widgets: %s.' ),\n\t\t\t\t\tArray.from( skippedWidgets ).join( ', ' )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tsetIsBusy( false );\n\t}\n\n\treturn (\n\t\t<Spacer marginBottom=\"4\">\n\t\t\t<HStack as=\"form\" onSubmit={ createFromWidgets }>\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Import widget area' ) }\n\t\t\t\t\t\tvalue={ selectedSidebar }\n\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\tonChange={ ( value ) => setSelectedSidebar( value ) }\n\t\t\t\t\t\tdisabled={ ! options.length }\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t\t<FlexItem\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tmarginBottom: '8px',\n\t\t\t\t\t\tmarginTop: 'auto',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\taria-disabled={ isBusy || ! selectedSidebar }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ _x( 'Import', 'button label' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</Spacer>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ import clsx from 'clsx';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
10
|
-
import { useRef, useMemo
|
|
10
|
+
import { useRef, useMemo } from '@wordpress/element';
|
|
11
11
|
import { useEntityRecord, store as coreStore, useEntityBlockEditor } from '@wordpress/core-data';
|
|
12
12
|
import { Placeholder, Spinner, ToolbarButton, ToolbarGroup } from '@wordpress/components';
|
|
13
13
|
import { __ } from '@wordpress/i18n';
|
|
@@ -18,14 +18,12 @@ import { getBlockBindingsSource } from '@wordpress/blocks';
|
|
|
18
18
|
/**
|
|
19
19
|
* Internal dependencies
|
|
20
20
|
*/
|
|
21
|
-
import { name as patternBlockName } from './index';
|
|
22
21
|
import { unlock } from '../lock-unlock';
|
|
23
22
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
23
|
const {
|
|
25
24
|
useLayoutClasses
|
|
26
25
|
} = unlock(blockEditorPrivateApis);
|
|
27
26
|
const {
|
|
28
|
-
isOverridableBlock,
|
|
29
27
|
hasOverridableBlocks
|
|
30
28
|
} = unlock(patternsPrivateApis);
|
|
31
29
|
const fullAlignments = ['full', 'wide', 'left', 'right'];
|
|
@@ -53,15 +51,6 @@ const useInferredLayout = (blocks, parentLayout) => {
|
|
|
53
51
|
};
|
|
54
52
|
}, [blocks, parentLayout]);
|
|
55
53
|
};
|
|
56
|
-
function setBlockEditMode(setEditMode, blocks, mode) {
|
|
57
|
-
blocks.forEach(block => {
|
|
58
|
-
const editMode = mode || (isOverridableBlock(block) ? 'contentOnly' : 'disabled');
|
|
59
|
-
setEditMode(block.clientId, editMode);
|
|
60
|
-
setBlockEditMode(setEditMode, block.innerBlocks,
|
|
61
|
-
// Disable editing for nested patterns.
|
|
62
|
-
block.name === patternBlockName ? 'disabled' : mode);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
54
|
function RecursionWarning() {
|
|
66
55
|
const blockProps = useBlockProps();
|
|
67
56
|
return /*#__PURE__*/_jsx("div", {
|
|
@@ -129,7 +118,6 @@ function ReusableBlockEdit({
|
|
|
129
118
|
content
|
|
130
119
|
},
|
|
131
120
|
__unstableParentLayout: parentLayout,
|
|
132
|
-
clientId: patternClientId,
|
|
133
121
|
setAttributes
|
|
134
122
|
}) {
|
|
135
123
|
const {
|
|
@@ -141,35 +129,21 @@ function ReusableBlockEdit({
|
|
|
141
129
|
});
|
|
142
130
|
const isMissing = hasResolved && !record;
|
|
143
131
|
const {
|
|
144
|
-
setBlockEditingMode,
|
|
145
132
|
__unstableMarkLastChangeAsPersistent
|
|
146
133
|
} = useDispatch(blockEditorStore);
|
|
147
134
|
const {
|
|
148
|
-
innerBlocks,
|
|
149
135
|
onNavigateToEntityRecord,
|
|
150
|
-
editingMode,
|
|
151
136
|
hasPatternOverridesSource
|
|
152
137
|
} = useSelect(select => {
|
|
153
138
|
const {
|
|
154
|
-
|
|
155
|
-
getSettings,
|
|
156
|
-
getBlockEditingMode
|
|
139
|
+
getSettings
|
|
157
140
|
} = select(blockEditorStore);
|
|
158
141
|
// For editing link to the site editor if the theme and user permissions support it.
|
|
159
142
|
return {
|
|
160
|
-
innerBlocks: getBlocks(patternClientId),
|
|
161
143
|
onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord,
|
|
162
|
-
editingMode: getBlockEditingMode(patternClientId),
|
|
163
144
|
hasPatternOverridesSource: !!getBlockBindingsSource('core/pattern-overrides')
|
|
164
145
|
};
|
|
165
|
-
}, [
|
|
166
|
-
|
|
167
|
-
// Sync the editing mode of the pattern block with the inner blocks.
|
|
168
|
-
useEffect(() => {
|
|
169
|
-
setBlockEditMode(setBlockEditingMode, innerBlocks,
|
|
170
|
-
// Disable editing if the pattern itself is disabled.
|
|
171
|
-
editingMode === 'disabled' || !hasPatternOverridesSource ? 'disabled' : undefined);
|
|
172
|
-
}, [editingMode, innerBlocks, setBlockEditingMode, hasPatternOverridesSource]);
|
|
146
|
+
}, []);
|
|
173
147
|
const canOverrideBlocks = useMemo(() => hasPatternOverridesSource && hasOverridableBlocks(blocks), [hasPatternOverridesSource, blocks]);
|
|
174
148
|
const {
|
|
175
149
|
alignment,
|
|
@@ -184,7 +158,6 @@ function ReusableBlockEdit({
|
|
|
184
158
|
})
|
|
185
159
|
});
|
|
186
160
|
const innerBlocksProps = useInnerBlocksProps(blockProps, {
|
|
187
|
-
templateLock: 'all',
|
|
188
161
|
layout,
|
|
189
162
|
value: blocks,
|
|
190
163
|
onInput: NOOP,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useSelect","useDispatch","useRef","useMemo","useEffect","useEntityRecord","store","coreStore","useEntityBlockEditor","Placeholder","Spinner","ToolbarButton","ToolbarGroup","__","useInnerBlocksProps","RecursionProvider","useHasRecursion","useBlockProps","Warning","privateApis","blockEditorPrivateApis","blockEditorStore","BlockControls","InnerBlocks","patternsPrivateApis","getBlockBindingsSource","name","patternBlockName","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useLayoutClasses","isOverridableBlock","hasOverridableBlocks","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","block","includes","attributes","align","layout","setBlockEditMode","setEditMode","mode","forEach","editMode","clientId","innerBlocks","RecursionWarning","blockProps","children","NOOP","ReusableBlockEditRecursionWrapper","props","ref","hasAlreadyRendered","uniqueId","ReusableBlockEdit","ReusableBlockControl","recordId","canOverrideBlocks","hasContent","handleEditOriginal","resetContent","canUserEdit","select","canUser","kind","id","onClick","disabled","content","__unstableParentLayout","patternClientId","setAttributes","record","hasResolved","isMissing","setBlockEditingMode","__unstableMarkLastChangeAsPersistent","onNavigateToEntityRecord","editingMode","hasPatternOverridesSource","getBlocks","getSettings","getBlockEditingMode","layoutClasses","className","innerBlocksProps","templateLock","value","onInput","onChange","renderAppender","ButtonBlockAppender","postId","postType"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport {\n\tuseEntityRecord,\n\tstore as coreStore,\n\tuseEntityBlockEditor,\n} 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\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n\tInnerBlocks,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { getBlockBindingsSource } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { isOverridableBlock, hasOverridableBlocks } =\n\tunlock( patternsPrivateApis );\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 setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode ||\n\t\t\t( isOverridableBlock( 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\nfunction RecursionWarning() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nconst NOOP = () => {};\n\n// Wrap the main Edit function for the pattern block with a recursion wrapper\n// that allows short-circuiting rendering as early as possible, before any\n// of the other effects in the block edit have run.\nexport default function ReusableBlockEditRecursionWrapper( props ) {\n\tconst { ref } = props.attributes;\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn <RecursionWarning />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t<ReusableBlockEdit { ...props } />\n\t\t</RecursionProvider>\n\t);\n}\n\nfunction ReusableBlockControl( {\n\trecordId,\n\tcanOverrideBlocks,\n\thasContent,\n\thandleEditOriginal,\n\tresetContent,\n} ) {\n\tconst canUserEdit = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( coreStore ).canUser( 'update', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_block',\n\t\t\t\tid: recordId,\n\t\t\t} ),\n\t\t[ recordId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ canUserEdit && !! handleEditOriginal && (\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={ ! hasContent }\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\t\t</>\n\t);\n}\n\nfunction ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, content },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n\tsetAttributes,\n} ) {\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst [ blocks ] = useEntityBlockEditor( 'postType', 'wp_block', {\n\t\tid: ref,\n\t} );\n\tconst isMissing = hasResolved && ! record;\n\n\tconst { setBlockEditingMode, __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tonNavigateToEntityRecord,\n\t\teditingMode,\n\t\thasPatternOverridesSource,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks, getSettings, getBlockEditingMode } =\n\t\t\t\tselect( blockEditorStore );\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: getBlocks( patternClientId ),\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 ]\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( blocks ),\n\t\t[ hasPatternOverridesSource, blocks ]\n\t);\n\n\tconst { alignment, layout } = useInferredLayout( blocks, parentLayout );\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx(\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\tvalue: blocks,\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\trenderAppender: blocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\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\t// Make sure any previous changes are persisted before resetting.\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\tsetAttributes( { content: undefined } );\n\t\t}\n\t};\n\n\tlet children = null;\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<>\n\t\t\t{ hasResolved && ! isMissing && (\n\t\t\t\t<ReusableBlockControl\n\t\t\t\t\trecordId={ ref }\n\t\t\t\t\tcanOverrideBlocks={ canOverrideBlocks }\n\t\t\t\t\thasContent={ !! content }\n\t\t\t\t\thandleEditOriginal={\n\t\t\t\t\t\tonNavigateToEntityRecord\n\t\t\t\t\t\t\t? handleEditOriginal\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tresetContent={ resetContent }\n\t\t\t\t/>\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</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useSelect","useDispatch","useRef","useMemo","useEntityRecord","store","coreStore","useEntityBlockEditor","Placeholder","Spinner","ToolbarButton","ToolbarGroup","__","useInnerBlocksProps","RecursionProvider","useHasRecursion","useBlockProps","Warning","privateApis","blockEditorPrivateApis","blockEditorStore","BlockControls","InnerBlocks","patternsPrivateApis","getBlockBindingsSource","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useLayoutClasses","hasOverridableBlocks","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","block","includes","attributes","align","layout","RecursionWarning","blockProps","children","NOOP","ReusableBlockEditRecursionWrapper","props","ref","hasAlreadyRendered","uniqueId","ReusableBlockEdit","ReusableBlockControl","recordId","canOverrideBlocks","hasContent","handleEditOriginal","resetContent","canUserEdit","select","canUser","kind","name","id","onClick","disabled","content","__unstableParentLayout","setAttributes","record","hasResolved","isMissing","__unstableMarkLastChangeAsPersistent","onNavigateToEntityRecord","hasPatternOverridesSource","getSettings","layoutClasses","className","innerBlocksProps","value","onInput","onChange","renderAppender","ButtonBlockAppender","postId","postType"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo } from '@wordpress/element';\nimport {\n\tuseEntityRecord,\n\tstore as coreStore,\n\tuseEntityBlockEditor,\n} 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\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n\tInnerBlocks,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { getBlockBindingsSource } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { hasOverridableBlocks } = unlock( patternsPrivateApis );\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 RecursionWarning() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nconst NOOP = () => {};\n\n// Wrap the main Edit function for the pattern block with a recursion wrapper\n// that allows short-circuiting rendering as early as possible, before any\n// of the other effects in the block edit have run.\nexport default function ReusableBlockEditRecursionWrapper( props ) {\n\tconst { ref } = props.attributes;\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn <RecursionWarning />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t<ReusableBlockEdit { ...props } />\n\t\t</RecursionProvider>\n\t);\n}\n\nfunction ReusableBlockControl( {\n\trecordId,\n\tcanOverrideBlocks,\n\thasContent,\n\thandleEditOriginal,\n\tresetContent,\n} ) {\n\tconst canUserEdit = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( coreStore ).canUser( 'update', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_block',\n\t\t\t\tid: recordId,\n\t\t\t} ),\n\t\t[ recordId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ canUserEdit && !! handleEditOriginal && (\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={ ! hasContent }\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\t\t</>\n\t);\n}\n\nfunction ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, content },\n\t__unstableParentLayout: parentLayout,\n\tsetAttributes,\n} ) {\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst [ blocks ] = useEntityBlockEditor( 'postType', 'wp_block', {\n\t\tid: ref,\n\t} );\n\tconst isMissing = hasResolved && ! record;\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { onNavigateToEntityRecord, hasPatternOverridesSource } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\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\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\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[]\n\t);\n\n\tconst canOverrideBlocks = useMemo(\n\t\t() => hasPatternOverridesSource && hasOverridableBlocks( blocks ),\n\t\t[ hasPatternOverridesSource, blocks ]\n\t);\n\n\tconst { alignment, layout } = useInferredLayout( blocks, parentLayout );\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx(\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\tvalue: blocks,\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\trenderAppender: blocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\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\t// Make sure any previous changes are persisted before resetting.\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\tsetAttributes( { content: undefined } );\n\t\t}\n\t};\n\n\tlet children = null;\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<>\n\t\t\t{ hasResolved && ! isMissing && (\n\t\t\t\t<ReusableBlockControl\n\t\t\t\t\trecordId={ ref }\n\t\t\t\t\tcanOverrideBlocks={ canOverrideBlocks }\n\t\t\t\t\thasContent={ !! content }\n\t\t\t\t\thandleEditOriginal={\n\t\t\t\t\t\tonNavigateToEntityRecord\n\t\t\t\t\t\t\t? handleEditOriginal\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tresetContent={ resetContent }\n\t\t\t\t/>\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</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -58,6 +58,7 @@ function CoverEdit({
|
|
|
58
58
|
postType
|
|
59
59
|
}
|
|
60
60
|
}) {
|
|
61
|
+
var _media$media_details$;
|
|
61
62
|
const {
|
|
62
63
|
contentPosition,
|
|
63
64
|
id,
|
|
@@ -88,7 +89,7 @@ function CoverEdit({
|
|
|
88
89
|
const media = useSelect(select => featuredImage && select(coreStore).getMedia(featuredImage, {
|
|
89
90
|
context: 'view'
|
|
90
91
|
}), [featuredImage]);
|
|
91
|
-
const mediaUrl = media?.source_url;
|
|
92
|
+
const mediaUrl = (_media$media_details$ = media?.media_details?.sizes?.[sizeSlug]?.source_url) !== null && _media$media_details$ !== void 0 ? _media$media_details$ : media?.source_url;
|
|
92
93
|
|
|
93
94
|
// User can change the featured image outside of the block, but we still
|
|
94
95
|
// need to update the block when that happens. This effect should only
|
|
@@ -325,7 +326,8 @@ function CoverEdit({
|
|
|
325
326
|
currentSettings: currentSettings,
|
|
326
327
|
toggleUseFeaturedImage: toggleUseFeaturedImage,
|
|
327
328
|
updateDimRatio: onUpdateDimRatio,
|
|
328
|
-
onClearMedia: onClearMedia
|
|
329
|
+
onClearMedia: onClearMedia,
|
|
330
|
+
featuredImage: media
|
|
329
331
|
});
|
|
330
332
|
const resizableCoverProps = {
|
|
331
333
|
className: 'block-library-cover__resize-container',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSettings","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","useBlockEditingMode","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getMediaColor","compositeIsDark","DEFAULT_BACKGROUND_COLOR","DEFAULT_OVERLAY_COLOR","DEFAULT_MEDIA_SIZE_SLUG","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","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","sizeSlug","featuredImage","getSettings","__unstableMarkNextChangeAsNotPersistent","media","select","getMedia","mediaUrl","source_url","averageBackgroundColor","newOverlayColor","color","newIsDark","replaceAll","createErrorNotice","gradientClass","gradientValue","onSelectMedia","newMedia","mediaAttributes","isImage","type","media_type","includes","undefined","newDimRatio","imageDefaultSize","sizes","media_details","onClearMedia","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","blockEditingMode","hasNonContentControls","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","fontSizes","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","children","onError","disableCustomColors","onChange","clearable","classes","showOverlay","withIllustration","src","role","autoPlay","muted","loop","class","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\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\tuseBlockEditingMode,\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';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from '../constants';\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\tsizeSlug,\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\tconst { getSettings } = useSelect( blockEditorStore );\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( {\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t\t} );\n\t\t} )();\n\t\t// Update the block only when the featured image changes.\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\tif ( backgroundType === IMAGE_BACKGROUND_TYPE && mediaAttributes?.id ) {\n\t\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t\t// Try to use the previous selected image size if it's available\n\t\t\t// otherwise try the default image size or fallback to full size.\n\t\t\tif (\n\t\t\t\tsizeSlug &&\n\t\t\t\t( newMedia?.sizes?.[ sizeSlug ] ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ] )\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = sizeSlug;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ sizeSlug ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ]?.source_url;\n\t\t\t} else if (\n\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ] ||\n\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = imageDefaultSize;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t\t\t\t?.source_url;\n\t\t\t} else {\n\t\t\t\tmediaAttributes.sizeSlug = DEFAULT_MEDIA_SIZE_SLUG;\n\t\t\t}\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\tisUserOverlayColor: isUserOverlayColor || false,\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 blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\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\tonClearMedia={ onClearMedia }\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,\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{ hasNonContentControls && 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={ clsx( 'is-placeholder', blockProps.className ) }\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 = clsx(\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={ clsx( 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\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={ clsx(\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\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={ clsx(\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{ isUploadingMedia && <Spinner /> }\n\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{ hasNonContentControls && 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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSettings","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","useBlockEditingMode","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getMediaColor","compositeIsDark","DEFAULT_BACKGROUND_COLOR","DEFAULT_OVERLAY_COLOR","DEFAULT_MEDIA_SIZE_SLUG","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","_media$media_details$","contentPosition","originalUrl","backgroundType","originalBackgroundType","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","isUserOverlayColor","sizeSlug","featuredImage","getSettings","__unstableMarkNextChangeAsNotPersistent","media","select","getMedia","mediaUrl","media_details","sizes","source_url","averageBackgroundColor","newOverlayColor","color","newIsDark","replaceAll","createErrorNotice","gradientClass","gradientValue","onSelectMedia","newMedia","mediaAttributes","isImage","type","media_type","includes","undefined","newDimRatio","imageDefaultSize","onClearMedia","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","blockEditingMode","hasNonContentControls","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","fontSizes","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","children","onError","disableCustomColors","onChange","clearable","classes","showOverlay","withIllustration","src","role","autoPlay","muted","loop","class","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\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\tuseBlockEditingMode,\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';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from '../constants';\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\tsizeSlug,\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\tconst { getSettings } = useSelect( blockEditorStore );\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 =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ??\n\t\tmedia?.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( {\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t\t} );\n\t\t} )();\n\t\t// Update the block only when the featured image changes.\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\tif ( backgroundType === IMAGE_BACKGROUND_TYPE && mediaAttributes?.id ) {\n\t\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t\t// Try to use the previous selected image size if it's available\n\t\t\t// otherwise try the default image size or fallback to full size.\n\t\t\tif (\n\t\t\t\tsizeSlug &&\n\t\t\t\t( newMedia?.sizes?.[ sizeSlug ] ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ] )\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = sizeSlug;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ sizeSlug ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ]?.source_url;\n\t\t\t} else if (\n\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ] ||\n\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = imageDefaultSize;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t\t\t\t?.source_url;\n\t\t\t} else {\n\t\t\t\tmediaAttributes.sizeSlug = DEFAULT_MEDIA_SIZE_SLUG;\n\t\t\t}\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\tisUserOverlayColor: isUserOverlayColor || false,\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 blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\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\tonClearMedia={ onClearMedia }\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\tfeaturedImage={ media }\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,\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{ hasNonContentControls && 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={ clsx( 'is-placeholder', blockProps.className ) }\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 = clsx(\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={ clsx( 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\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={ clsx(\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\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={ clsx(\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{ isUploadingMedia && <Spinner /> }\n\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{ hasNonContentControls && 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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","ignoreList":[]}
|