@wordpress/block-library 9.13.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/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/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/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 +31 -0
- package/build-style/editor.css +31 -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/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/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
|
@@ -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":[]}
|
|
@@ -73,7 +73,8 @@ export default function CoverInspectorControls({
|
|
|
73
73
|
setOverlayColor,
|
|
74
74
|
coverRef,
|
|
75
75
|
currentSettings,
|
|
76
|
-
updateDimRatio
|
|
76
|
+
updateDimRatio,
|
|
77
|
+
featuredImage
|
|
77
78
|
}) {
|
|
78
79
|
const {
|
|
79
80
|
useFeaturedImage,
|
|
@@ -106,8 +107,9 @@ export default function CoverInspectorControls({
|
|
|
106
107
|
const image = useSelect(select => id && isImageBackground ? select(coreStore).getMedia(id, {
|
|
107
108
|
context: 'view'
|
|
108
109
|
}) : null, [id, isImageBackground]);
|
|
110
|
+
const currentBackgroundImage = useFeaturedImage ? featuredImage : image;
|
|
109
111
|
function updateImage(newSizeSlug) {
|
|
110
|
-
const newUrl =
|
|
112
|
+
const newUrl = currentBackgroundImage?.media_details?.sizes?.[newSizeSlug]?.source_url;
|
|
111
113
|
if (!newUrl) {
|
|
112
114
|
return null;
|
|
113
115
|
}
|
|
@@ -118,7 +120,7 @@ export default function CoverInspectorControls({
|
|
|
118
120
|
}
|
|
119
121
|
const imageSizeOptions = imageSizes?.filter(({
|
|
120
122
|
slug
|
|
121
|
-
}) =>
|
|
123
|
+
}) => currentBackgroundImage?.media_details?.sizes?.[slug]?.source_url)?.map(({
|
|
122
124
|
name,
|
|
123
125
|
slug
|
|
124
126
|
}) => ({
|
|
@@ -237,7 +239,7 @@ export default function CoverInspectorControls({
|
|
|
237
239
|
}), /*#__PURE__*/_jsx("br", {}), __('Leave empty if decorative.')]
|
|
238
240
|
})
|
|
239
241
|
})
|
|
240
|
-
}),
|
|
242
|
+
}), !!imageSizeOptions?.length && /*#__PURE__*/_jsx(ResolutionTool, {
|
|
241
243
|
value: sizeSlug,
|
|
242
244
|
onChange: updateImage,
|
|
243
245
|
options: imageSizeOptions,
|