@wordpress/block-editor 12.10.12 → 12.10.14
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/components/block-patterns-list/index.js +4 -4
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +7 -8
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/inserter/block-patterns-filter.js +3 -3
- package/build/components/inserter/block-patterns-filter.js.map +1 -1
- package/build/components/provider/index.js +3 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/hooks/background.js +16 -4
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-rename.js +1 -1
- package/build/hooks/block-rename.js.map +1 -1
- package/build/store/selectors.js +1 -0
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +4 -4
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +7 -8
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/inserter/block-patterns-filter.js +4 -4
- package/build-module/components/inserter/block-patterns-filter.js.map +1 -1
- package/build-module/components/provider/index.js +3 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/hooks/background.js +17 -5
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-rename.js +1 -1
- package/build-module/hooks/block-rename.js.map +1 -1
- package/build-module/store/selectors.js +1 -0
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/content-rtl.css +7 -6
- package/build-style/content.css +7 -6
- package/package.json +32 -32
- package/src/components/block-list/content.scss +14 -10
- package/src/components/block-patterns-list/index.js +14 -11
- package/src/components/global-styles/filters-panel.js +9 -15
- package/src/components/inserter/block-patterns-filter.js +13 -4
- package/src/components/provider/index.js +1 -1
- package/src/hooks/background.js +28 -6
- package/src/hooks/block-rename.js +5 -1
- package/src/store/selectors.js +1 -0
|
@@ -71,14 +71,14 @@ function BlockPattern({
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
}, createElement(WithToolTip, {
|
|
74
|
-
showTooltip: showTooltip && !pattern.
|
|
74
|
+
showTooltip: showTooltip && !pattern.type === 'user',
|
|
75
75
|
title: pattern.title
|
|
76
76
|
}, createElement(CompositeItem, {
|
|
77
77
|
role: "option",
|
|
78
78
|
as: "div",
|
|
79
79
|
...composite,
|
|
80
80
|
className: classnames('block-editor-block-patterns-list__item', {
|
|
81
|
-
'block-editor-block-patterns-list__list-item-synced': pattern.
|
|
81
|
+
'block-editor-block-patterns-list__list-item-synced': pattern.type === 'user' && !pattern.syncStatus
|
|
82
82
|
}),
|
|
83
83
|
onClick: () => {
|
|
84
84
|
onClick(pattern, blocks);
|
|
@@ -98,12 +98,12 @@ function BlockPattern({
|
|
|
98
98
|
viewportWidth: viewportWidth
|
|
99
99
|
}), createElement(HStack, {
|
|
100
100
|
className: "block-editor-patterns__pattern-details"
|
|
101
|
-
}, pattern.
|
|
101
|
+
}, pattern.type === 'user' && !pattern.syncStatus && createElement("div", {
|
|
102
102
|
className: "block-editor-patterns__pattern-icon-wrapper"
|
|
103
103
|
}, createElement(Icon, {
|
|
104
104
|
className: "block-editor-patterns__pattern-icon",
|
|
105
105
|
icon: symbol
|
|
106
|
-
})), (!showTooltip || pattern.
|
|
106
|
+
})), (!showTooltip || pattern.type === 'user') && createElement("div", {
|
|
107
107
|
className: "block-editor-block-patterns-list__item-title"
|
|
108
108
|
}, pattern.title)), !!pattern.description && createElement(VisuallyHidden, {
|
|
109
109
|
id: descriptionId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useState","forwardRef","VisuallyHidden","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","Tooltip","__experimentalHStack","HStack","useInstanceId","__","Icon","symbol","BlockPreview","InserterDraggableBlocks","BlockPatternsPaging","WithToolTip","showTooltip","title","children","createElement","text","Fragment","BlockPattern","isDraggable","pattern","onClick","onHover","composite","isDragging","setIsDragging","blocks","viewportWidth","instanceId","descriptionId","isEnabled","isPattern","draggable","onDragStart","onDragEnd","className","event","id","role","as","syncStatus","onMouseEnter","onMouseLeave","description","undefined","icon","BlockPatternPlaceholder","BlockPatternList","blockPatterns","shownPatterns","onClickPattern","orientation","label","showTitlesAsTooltip","pagingProps","ref","map","isShown","includes","key","name"],"sources":["@wordpress/block-editor/src/components/block-patterns-list/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, forwardRef } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n\tTooltip,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, symbol } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport InserterDraggableBlocks from '../inserter-draggable-blocks';\nimport BlockPatternsPaging from '../block-patterns-paging';\n\nconst WithToolTip = ( { showTooltip, title, children } ) => {\n\tif ( showTooltip ) {\n\t\treturn <Tooltip text={ title }>{ children }</Tooltip>;\n\t}\n\treturn <>{ children }</>;\n};\n\nfunction BlockPattern( {\n\tisDraggable,\n\tpattern,\n\tonClick,\n\tonHover,\n\tcomposite,\n\tshowTooltip,\n} ) {\n\tconst [ isDragging, setIsDragging ] = useState( false );\n\tconst { blocks, viewportWidth } = pattern;\n\tconst instanceId = useInstanceId( BlockPattern );\n\tconst descriptionId = `block-editor-block-patterns-list__item-description-${ instanceId }`;\n\n\treturn (\n\t\t<InserterDraggableBlocks\n\t\t\tisEnabled={ isDraggable }\n\t\t\tblocks={ blocks }\n\t\t\tisPattern={ !! pattern }\n\t\t>\n\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"block-editor-block-patterns-list__list-item\"\n\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\tonDragStart={ ( event ) => {\n\t\t\t\t\t\tsetIsDragging( true );\n\t\t\t\t\t\tif ( onDragStart ) {\n\t\t\t\t\t\t\tonHover?.( null );\n\t\t\t\t\t\t\tonDragStart( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonDragEnd={ ( event ) => {\n\t\t\t\t\t\tsetIsDragging( false );\n\t\t\t\t\t\tif ( onDragEnd ) {\n\t\t\t\t\t\t\tonDragEnd( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<WithToolTip\n\t\t\t\t\t\tshowTooltip={ showTooltip && ! pattern.id }\n\t\t\t\t\t\ttitle={ pattern.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\tas=\"div\"\n\t\t\t\t\t\t\t{ ...composite }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-block-patterns-list__item',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'block-editor-block-patterns-list__list-item-synced':\n\t\t\t\t\t\t\t\t\t\tpattern.id && ! pattern.syncStatus,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonClick( pattern, blocks );\n\t\t\t\t\t\t\t\tonHover?.( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseEnter={ () => {\n\t\t\t\t\t\t\t\tif ( isDragging ) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonHover?.( pattern );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseLeave={ () => onHover?.( null ) }\n\t\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<HStack className=\"block-editor-patterns__pattern-details\">\n\t\t\t\t\t\t\t\t{ pattern.id && ! pattern.syncStatus && (\n\t\t\t\t\t\t\t\t\t<div className=\"block-editor-patterns__pattern-icon-wrapper\">\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-patterns__pattern-icon\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ symbol }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ( ! showTooltip || pattern.id ) && (\n\t\t\t\t\t\t\t\t\t<div className=\"block-editor-block-patterns-list__item-title\">\n\t\t\t\t\t\t\t\t\t\t{ pattern.title }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</HStack>\n\n\t\t\t\t\t\t\t{ !! pattern.description && (\n\t\t\t\t\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t\t\t\t\t{ pattern.description }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t</WithToolTip>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</InserterDraggableBlocks>\n\t);\n}\n\nfunction BlockPatternPlaceholder() {\n\treturn (\n\t\t<div className=\"block-editor-block-patterns-list__item is-placeholder\" />\n\t);\n}\n\nfunction BlockPatternList(\n\t{\n\t\tisDraggable,\n\t\tblockPatterns,\n\t\tshownPatterns,\n\t\tonHover,\n\t\tonClickPattern,\n\t\torientation,\n\t\tlabel = __( 'Block patterns' ),\n\t\tshowTitlesAsTooltip,\n\t\tpagingProps,\n\t},\n\tref\n) {\n\tconst composite = useCompositeState( { orientation } );\n\treturn (\n\t\t<Composite\n\t\t\t{ ...composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-patterns-list\"\n\t\t\taria-label={ label }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t{ blockPatterns.map( ( pattern ) => {\n\t\t\t\tconst isShown = shownPatterns.includes( pattern );\n\t\t\t\treturn isShown ? (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonClick={ onClickPattern }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\tshowTooltip={ showTitlesAsTooltip }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<BlockPatternPlaceholder key={ pattern.name } />\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ pagingProps && <BlockPatternsPaging { ...pagingProps } /> }\n\t\t</Composite>\n\t);\n}\n\nexport default forwardRef( BlockPatternList );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","useState","forwardRef","VisuallyHidden","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","Tooltip","__experimentalHStack","HStack","useInstanceId","__","Icon","symbol","BlockPreview","InserterDraggableBlocks","BlockPatternsPaging","WithToolTip","showTooltip","title","children","createElement","text","Fragment","BlockPattern","isDraggable","pattern","onClick","onHover","composite","isDragging","setIsDragging","blocks","viewportWidth","instanceId","descriptionId","isEnabled","isPattern","draggable","onDragStart","onDragEnd","className","event","type","role","as","syncStatus","onMouseEnter","onMouseLeave","description","undefined","icon","id","BlockPatternPlaceholder","BlockPatternList","blockPatterns","shownPatterns","onClickPattern","orientation","label","showTitlesAsTooltip","pagingProps","ref","map","isShown","includes","key","name"],"sources":["@wordpress/block-editor/src/components/block-patterns-list/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, forwardRef } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n\tTooltip,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, symbol } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport InserterDraggableBlocks from '../inserter-draggable-blocks';\nimport BlockPatternsPaging from '../block-patterns-paging';\n\nconst WithToolTip = ( { showTooltip, title, children } ) => {\n\tif ( showTooltip ) {\n\t\treturn <Tooltip text={ title }>{ children }</Tooltip>;\n\t}\n\treturn <>{ children }</>;\n};\n\nfunction BlockPattern( {\n\tisDraggable,\n\tpattern,\n\tonClick,\n\tonHover,\n\tcomposite,\n\tshowTooltip,\n} ) {\n\tconst [ isDragging, setIsDragging ] = useState( false );\n\tconst { blocks, viewportWidth } = pattern;\n\tconst instanceId = useInstanceId( BlockPattern );\n\tconst descriptionId = `block-editor-block-patterns-list__item-description-${ instanceId }`;\n\n\treturn (\n\t\t<InserterDraggableBlocks\n\t\t\tisEnabled={ isDraggable }\n\t\t\tblocks={ blocks }\n\t\t\tisPattern={ !! pattern }\n\t\t>\n\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"block-editor-block-patterns-list__list-item\"\n\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\tonDragStart={ ( event ) => {\n\t\t\t\t\t\tsetIsDragging( true );\n\t\t\t\t\t\tif ( onDragStart ) {\n\t\t\t\t\t\t\tonHover?.( null );\n\t\t\t\t\t\t\tonDragStart( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonDragEnd={ ( event ) => {\n\t\t\t\t\t\tsetIsDragging( false );\n\t\t\t\t\t\tif ( onDragEnd ) {\n\t\t\t\t\t\t\tonDragEnd( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<WithToolTip\n\t\t\t\t\t\tshowTooltip={ showTooltip && ! pattern.type === 'user' }\n\t\t\t\t\t\ttitle={ pattern.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\tas=\"div\"\n\t\t\t\t\t\t\t{ ...composite }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-block-patterns-list__item',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'block-editor-block-patterns-list__list-item-synced':\n\t\t\t\t\t\t\t\t\t\tpattern.type === 'user' &&\n\t\t\t\t\t\t\t\t\t\t! pattern.syncStatus,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonClick( pattern, blocks );\n\t\t\t\t\t\t\t\tonHover?.( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseEnter={ () => {\n\t\t\t\t\t\t\t\tif ( isDragging ) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonHover?.( pattern );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseLeave={ () => onHover?.( null ) }\n\t\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<HStack className=\"block-editor-patterns__pattern-details\">\n\t\t\t\t\t\t\t\t{ pattern.type === 'user' &&\n\t\t\t\t\t\t\t\t\t! pattern.syncStatus && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-patterns__pattern-icon-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-patterns__pattern-icon\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ symbol }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ( ! showTooltip ||\n\t\t\t\t\t\t\t\t\tpattern.type === 'user' ) && (\n\t\t\t\t\t\t\t\t\t<div className=\"block-editor-block-patterns-list__item-title\">\n\t\t\t\t\t\t\t\t\t\t{ pattern.title }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</HStack>\n\n\t\t\t\t\t\t\t{ !! pattern.description && (\n\t\t\t\t\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t\t\t\t\t{ pattern.description }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t</WithToolTip>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</InserterDraggableBlocks>\n\t);\n}\n\nfunction BlockPatternPlaceholder() {\n\treturn (\n\t\t<div className=\"block-editor-block-patterns-list__item is-placeholder\" />\n\t);\n}\n\nfunction BlockPatternList(\n\t{\n\t\tisDraggable,\n\t\tblockPatterns,\n\t\tshownPatterns,\n\t\tonHover,\n\t\tonClickPattern,\n\t\torientation,\n\t\tlabel = __( 'Block patterns' ),\n\t\tshowTitlesAsTooltip,\n\t\tpagingProps,\n\t},\n\tref\n) {\n\tconst composite = useCompositeState( { orientation } );\n\treturn (\n\t\t<Composite\n\t\t\t{ ...composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-patterns-list\"\n\t\t\taria-label={ label }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t{ blockPatterns.map( ( pattern ) => {\n\t\t\t\tconst isShown = shownPatterns.includes( pattern );\n\t\t\t\treturn isShown ? (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonClick={ onClickPattern }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\tshowTooltip={ showTitlesAsTooltip }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<BlockPatternPlaceholder key={ pattern.name } />\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ pagingProps && <BlockPatternsPaging { ...pagingProps } /> }\n\t\t</Composite>\n\t);\n}\n\nexport default forwardRef( BlockPatternList );\n"],"mappings":"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"}
|
|
@@ -28,11 +28,10 @@ function useMultiOriginColorPresets(settings, {
|
|
|
28
28
|
return useMemo(() => [...userPresets, ...themePresets, ...(disableDefault ? EMPTY_ARRAY : defaultPresets)], [disableDefault, userPresets, themePresets, defaultPresets]);
|
|
29
29
|
}
|
|
30
30
|
export function useHasFiltersPanel(settings) {
|
|
31
|
-
|
|
32
|
-
return hasDuotone;
|
|
31
|
+
return useHasDuotoneControl(settings);
|
|
33
32
|
}
|
|
34
33
|
function useHasDuotoneControl(settings) {
|
|
35
|
-
return settings.color.customDuotone || settings.color.defaultDuotone;
|
|
34
|
+
return settings.color.customDuotone || settings.color.defaultDuotone || settings.color.duotone.length > 0;
|
|
36
35
|
}
|
|
37
36
|
function FiltersToolsPanel({
|
|
38
37
|
resetAllFilter,
|
|
@@ -113,8 +112,6 @@ export default function FiltersPanel({
|
|
|
113
112
|
};
|
|
114
113
|
const hasDuotone = () => !!value?.filter?.duotone;
|
|
115
114
|
const resetDuotone = () => setDuotone(undefined);
|
|
116
|
-
const disableCustomColors = !settings?.color?.custom;
|
|
117
|
-
const disableCustomDuotone = !settings?.color?.customDuotone || colorPalette?.length === 0 && disableCustomColors;
|
|
118
115
|
const resetAllFilter = useCallback(previousValue => {
|
|
119
116
|
return {
|
|
120
117
|
...previousValue,
|
|
@@ -163,9 +160,11 @@ export default function FiltersPanel({
|
|
|
163
160
|
paddingSize: "medium"
|
|
164
161
|
}, createElement(VStack, null, createElement("p", null, __('Create a two-tone color effect without losing your original image.')), createElement(DuotonePicker, {
|
|
165
162
|
colorPalette: colorPalette,
|
|
166
|
-
duotonePalette: duotonePalette
|
|
167
|
-
|
|
168
|
-
|
|
163
|
+
duotonePalette: duotonePalette
|
|
164
|
+
// TODO: Re-enable both when custom colors are supported for block-level styles.
|
|
165
|
+
,
|
|
166
|
+
disableCustomColors: true,
|
|
167
|
+
disableCustomDuotone: true,
|
|
169
168
|
value: duotone,
|
|
170
169
|
onChange: setDuotone
|
|
171
170
|
})))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalZStack","ZStack","__experimentalVStack","VStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","ColorIndicator","DuotonePicker","DuotoneSwatch","Dropdown","Flex","FlexItem","__","_x","useCallback","useMemo","getValueFromVariable","setImmutably","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useHasFiltersPanel","hasDuotone","useHasDuotoneControl","customDuotone","defaultDuotone","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","createElement","label","DEFAULT_CONTROLS","duotone","popoverProps","placement","offset","shift","className","headerTitle","LabeledColorIndicator","indicator","justify","isLayered","expanded","values","title","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","settedValue","slug","resetDuotone","undefined","disableCustomColors","disableCustomDuotone","length","previousValue","hasValue","onDeselect","isShownByDefault","renderToggle","onToggle","isOpen","toggleProps","onClick","isBordered","isSeparated","renderContent","paddingSize"],"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalVStack as VStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\tconst hasDuotone = useHasDuotoneControl( settings );\n\n\treturn hasDuotone;\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn settings.color.customDuotone || settings.color.defaultDuotone;\n}\n\nfunction FiltersToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst settedValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange( setImmutably( value, [ 'filter', 'duotone' ], settedValue ) );\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst disableCustomColors = ! settings?.color?.custom;\n\tconst disableCustomDuotone =\n\t\t! settings?.color?.customDuotone ||\n\t\t( colorPalette?.length === 0 && disableCustomColors );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\t\t\tclassName: classnames( { 'is-open': isOpen } ),\n\t\t\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t\t\t<Button { ...toggleProps }>\n\t\t\t\t\t\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors={\n\t\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone={\n\t\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalZStack","ZStack","__experimentalVStack","VStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","ColorIndicator","DuotonePicker","DuotoneSwatch","Dropdown","Flex","FlexItem","__","_x","useCallback","useMemo","getValueFromVariable","setImmutably","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useHasFiltersPanel","useHasDuotoneControl","customDuotone","defaultDuotone","duotone","length","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","createElement","label","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","className","headerTitle","LabeledColorIndicator","indicator","justify","isLayered","expanded","values","title","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","settedValue","slug","hasDuotone","resetDuotone","undefined","previousValue","hasValue","onDeselect","isShownByDefault","renderToggle","onToggle","isOpen","toggleProps","onClick","isBordered","isSeparated","renderContent","paddingSize","disableCustomColors","disableCustomDuotone"],"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalVStack as VStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\treturn useHasDuotoneControl( settings );\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn (\n\t\tsettings.color.customDuotone ||\n\t\tsettings.color.defaultDuotone ||\n\t\tsettings.color.duotone.length > 0\n\t);\n}\n\nfunction FiltersToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst settedValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange( setImmutably( value, [ 'filter', 'duotone' ], settedValue ) );\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\t\t\tclassName: classnames( { 'is-open': isOpen } ),\n\t\t\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t\t\t<Button { ...toggleProps }>\n\t\t\t\t\t\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\t// TODO: Re-enable both when custom colors are supported for block-level styles.\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t</DropdownContentWrapper>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
5
|
import { SVG, Path, DropdownMenu, MenuGroup, MenuItemsChoice, ExternalLink } from '@wordpress/components';
|
|
6
|
-
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { __, _x } from '@wordpress/i18n';
|
|
7
7
|
import { Icon } from '@wordpress/icons';
|
|
8
8
|
import { useMemo, createInterpolateElement } from '@wordpress/element';
|
|
9
9
|
|
|
@@ -51,14 +51,14 @@ export function BlockPatternsSyncFilter({
|
|
|
51
51
|
const shouldDisableNonUserSources = getShouldDisableNonUserSources(category);
|
|
52
52
|
const patternSyncMenuOptions = useMemo(() => [{
|
|
53
53
|
value: SYNC_TYPES.all,
|
|
54
|
-
label:
|
|
54
|
+
label: _x('All', 'Option that shows all patterns')
|
|
55
55
|
}, {
|
|
56
56
|
value: SYNC_TYPES.full,
|
|
57
|
-
label:
|
|
57
|
+
label: _x('Synced', 'Option that shows all synchronized patterns'),
|
|
58
58
|
disabled: shouldDisableSyncFilter
|
|
59
59
|
}, {
|
|
60
60
|
value: SYNC_TYPES.unsynced,
|
|
61
|
-
label:
|
|
61
|
+
label: _x('Not synced', 'Option that shows all patterns that are not synchronized'),
|
|
62
62
|
disabled: shouldDisableSyncFilter
|
|
63
63
|
}], [shouldDisableSyncFilter]);
|
|
64
64
|
const patternSourceMenuOptions = useMemo(() => [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SVG","Path","DropdownMenu","MenuGroup","MenuItemsChoice","ExternalLink","__","Icon","useMemo","createInterpolateElement","myPatternsCategory","PATTERN_TYPES","all","synced","unsynced","user","theme","directory","SYNC_TYPES","full","getShouldDisableSyncFilter","sourceFilter","getShouldDisableNonUserSources","category","name","BlockPatternsSyncFilter","setPatternSyncFilter","setPatternSourceFilter","patternSyncFilter","patternSourceFilter","scrollContainerRef","currentPatternSourceFilter","shouldDisableSyncFilter","shouldDisableNonUserSources","patternSyncMenuOptions","value","label","disabled","patternSourceMenuOptions","handleSetSourceFilterChange","newSourceFilter","createElement","Fragment","popoverProps","placement","icon","width","height","viewBox","fill","xmlns","d","choices","onSelect","current","scrollTo","className","Link","href"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSVG,\n\tPath,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItemsChoice,\n\tExternalLink,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { Icon } from '@wordpress/icons';\nimport { useMemo, createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { myPatternsCategory } from './block-patterns-tab';\n\nexport const PATTERN_TYPES = {\n\tall: 'all',\n\tsynced: 'synced',\n\tunsynced: 'unsynced',\n\tuser: 'user',\n\ttheme: 'theme',\n\tdirectory: 'directory',\n};\n\nexport const SYNC_TYPES = {\n\tall: 'all',\n\tfull: 'fully',\n\tunsynced: 'unsynced',\n};\n\nconst getShouldDisableSyncFilter = ( sourceFilter ) =>\n\tsourceFilter !== PATTERN_TYPES.all && sourceFilter !== PATTERN_TYPES.user;\n\nconst getShouldDisableNonUserSources = ( category ) => {\n\treturn category.name === myPatternsCategory.name;\n};\n\nexport function BlockPatternsSyncFilter( {\n\tsetPatternSyncFilter,\n\tsetPatternSourceFilter,\n\tpatternSyncFilter,\n\tpatternSourceFilter,\n\tscrollContainerRef,\n\tcategory,\n} ) {\n\t// If the category is `myPatterns` then we need to set the source filter to `user`, but\n\t// we do this by deriving from props rather than calling setPatternSourceFilter otherwise\n\t// the user may be confused when switching to another category if the haven't explicity set\n\t// this filter themselves.\n\tconst currentPatternSourceFilter =\n\t\tcategory.name === myPatternsCategory.name\n\t\t\t? PATTERN_TYPES.user\n\t\t\t: patternSourceFilter;\n\n\t// We need to disable the sync filter option if the source filter is not 'all' or 'user'\n\t// otherwise applying them will just result in no patterns being shown.\n\tconst shouldDisableSyncFilter = getShouldDisableSyncFilter(\n\t\tcurrentPatternSourceFilter\n\t);\n\n\t// We also need to disable the directory and theme source filter options if the category\n\t// is `myPatterns` otherwise applying them will also just result in no patterns being shown.\n\tconst shouldDisableNonUserSources =\n\t\tgetShouldDisableNonUserSources( category );\n\n\tconst patternSyncMenuOptions = useMemo(\n\t\t() => [\n\t\t\t{ value: SYNC_TYPES.all, label: __( 'All' ) },\n\t\t\t{\n\t\t\t\tvalue: SYNC_TYPES.full,\n\t\t\t\tlabel: __( 'Synced' ),\n\t\t\t\tdisabled: shouldDisableSyncFilter,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: SYNC_TYPES.unsynced,\n\t\t\t\tlabel: __( 'Not synced' ),\n\t\t\t\tdisabled: shouldDisableSyncFilter,\n\t\t\t},\n\t\t],\n\t\t[ shouldDisableSyncFilter ]\n\t);\n\n\tconst patternSourceMenuOptions = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tvalue: PATTERN_TYPES.all,\n\t\t\t\tlabel: __( 'All' ),\n\t\t\t\tdisabled: shouldDisableNonUserSources,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: PATTERN_TYPES.directory,\n\t\t\t\tlabel: __( 'Pattern Directory' ),\n\t\t\t\tdisabled: shouldDisableNonUserSources,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: PATTERN_TYPES.theme,\n\t\t\t\tlabel: __( 'Theme & Plugins' ),\n\t\t\t\tdisabled: shouldDisableNonUserSources,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: PATTERN_TYPES.user,\n\t\t\t\tlabel: __( 'User' ),\n\t\t\t},\n\t\t],\n\t\t[ shouldDisableNonUserSources ]\n\t);\n\n\tfunction handleSetSourceFilterChange( newSourceFilter ) {\n\t\tsetPatternSourceFilter( newSourceFilter );\n\t\tif ( getShouldDisableSyncFilter( newSourceFilter ) ) {\n\t\t\tsetPatternSyncFilter( SYNC_TYPES.all );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tpopoverProps={ {\n\t\t\t\t\tplacement: 'right-end',\n\t\t\t\t} }\n\t\t\t\tlabel=\"Filter patterns\"\n\t\t\t\ticon={\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<SVG\n\t\t\t\t\t\t\t\twidth=\"24\"\n\t\t\t\t\t\t\t\theight=\"24\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Path\n\t\t\t\t\t\t\t\t\td=\"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z\"\n\t\t\t\t\t\t\t\t\tfill=\"#1E1E1E\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</SVG>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ () => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup label={ __( 'Source' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tchoices={ patternSourceMenuOptions }\n\t\t\t\t\t\t\t\tonSelect={ ( value ) => {\n\t\t\t\t\t\t\t\t\thandleSetSourceFilterChange( value );\n\t\t\t\t\t\t\t\t\tscrollContainerRef.current?.scrollTo(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tvalue={ currentPatternSourceFilter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<MenuGroup label={ __( 'Type' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tchoices={ patternSyncMenuOptions }\n\t\t\t\t\t\t\t\tonSelect={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetPatternSyncFilter( value );\n\t\t\t\t\t\t\t\t\tscrollContainerRef.current?.scrollTo(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tvalue={ patternSyncFilter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<div className=\"block-editor-tool-selector__help\">\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Patterns are available from the <Link>WordPress.org Pattern Directory</Link>, bundled in the active theme, or created by users on this site. Only patterns created on this site can be synced.'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tLink: (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/patterns/'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,GAAG,EACHC,IAAI,EACJC,YAAY,EACZC,SAAS,EACTC,eAAe,EACfC,YAAY,QACN,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,OAAO,EAAEC,wBAAwB,QAAQ,oBAAoB;;AAEtE;AACA;AACA;AACA,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD,OAAO,MAAMC,aAAa,GAAG;EAC5BC,GAAG,EAAE,KAAK;EACVC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE;AACZ,CAAC;AAED,OAAO,MAAMC,UAAU,GAAG;EACzBN,GAAG,EAAE,KAAK;EACVO,IAAI,EAAE,OAAO;EACbL,QAAQ,EAAE;AACX,CAAC;AAED,MAAMM,0BAA0B,GAAKC,YAAY,IAChDA,YAAY,KAAKV,aAAa,CAACC,GAAG,IAAIS,YAAY,KAAKV,aAAa,CAACI,IAAI;AAE1E,MAAMO,8BAA8B,GAAKC,QAAQ,IAAM;EACtD,OAAOA,QAAQ,CAACC,IAAI,KAAKd,kBAAkB,CAACc,IAAI;AACjD,CAAC;AAED,OAAO,SAASC,uBAAuBA,CAAE;EACxCC,oBAAoB;EACpBC,sBAAsB;EACtBC,iBAAiB;EACjBC,mBAAmB;EACnBC,kBAAkB;EAClBP;AACD,CAAC,EAAG;EACH;EACA;EACA;EACA;EACA,MAAMQ,0BAA0B,GAC/BR,QAAQ,CAACC,IAAI,KAAKd,kBAAkB,CAACc,IAAI,GACtCb,aAAa,CAACI,IAAI,GAClBc,mBAAmB;;EAEvB;EACA;EACA,MAAMG,uBAAuB,GAAGZ,0BAA0B,CACzDW,0BACD,CAAC;;EAED;EACA;EACA,MAAME,2BAA2B,GAChCX,8BAA8B,CAAEC,QAAS,CAAC;EAE3C,MAAMW,sBAAsB,GAAG1B,OAAO,CACrC,MAAM,CACL;IAAE2B,KAAK,EAAEjB,UAAU,CAACN,GAAG;IAAEwB,KAAK,EAAE9B,EAAE,CAAE,KAAM;EAAE,CAAC,EAC7C;IACC6B,KAAK,EAAEjB,UAAU,CAACC,IAAI;IACtBiB,KAAK,EAAE9B,EAAE,CAAE,QAAS,CAAC;IACrB+B,QAAQ,EAAEL;EACX,CAAC,EACD;IACCG,KAAK,EAAEjB,UAAU,CAACJ,QAAQ;IAC1BsB,KAAK,EAAE9B,EAAE,CAAE,YAAa,CAAC;IACzB+B,QAAQ,EAAEL;EACX,CAAC,CACD,EACD,CAAEA,uBAAuB,CAC1B,CAAC;EAED,MAAMM,wBAAwB,GAAG9B,OAAO,CACvC,MAAM,CACL;IACC2B,KAAK,EAAExB,aAAa,CAACC,GAAG;IACxBwB,KAAK,EAAE9B,EAAE,CAAE,KAAM,CAAC;IAClB+B,QAAQ,EAAEJ;EACX,CAAC,EACD;IACCE,KAAK,EAAExB,aAAa,CAACM,SAAS;IAC9BmB,KAAK,EAAE9B,EAAE,CAAE,mBAAoB,CAAC;IAChC+B,QAAQ,EAAEJ;EACX,CAAC,EACD;IACCE,KAAK,EAAExB,aAAa,CAACK,KAAK;IAC1BoB,KAAK,EAAE9B,EAAE,CAAE,iBAAkB,CAAC;IAC9B+B,QAAQ,EAAEJ;EACX,CAAC,EACD;IACCE,KAAK,EAAExB,aAAa,CAACI,IAAI;IACzBqB,KAAK,EAAE9B,EAAE,CAAE,MAAO;EACnB,CAAC,CACD,EACD,CAAE2B,2BAA2B,CAC9B,CAAC;EAED,SAASM,2BAA2BA,CAAEC,eAAe,EAAG;IACvDb,sBAAsB,CAAEa,eAAgB,CAAC;IACzC,IAAKpB,0BAA0B,CAAEoB,eAAgB,CAAC,EAAG;MACpDd,oBAAoB,CAAER,UAAU,CAACN,GAAI,CAAC;IACvC;EACD;EAEA,OACC6B,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACvC,YAAY;IACZyC,YAAY,EAAG;MACdC,SAAS,EAAE;IACZ,CAAG;IACHR,KAAK,EAAC,iBAAiB;IACvBS,IAAI,EACHJ,aAAA,CAAClC,IAAI;MACJsC,IAAI,EACHJ,aAAA,CAACzC,GAAG;QACH8C,KAAK,EAAC,IAAI;QACVC,MAAM,EAAC,IAAI;QACXC,OAAO,EAAC,WAAW;QACnBC,IAAI,EAAC,MAAM;QACXC,KAAK,EAAC;MAA4B,GAElCT,aAAA,CAACxC,IAAI;QACJkD,CAAC,EAAC,8DAA8D;QAChEF,IAAI,EAAC;MAAS,CACd,CACG;IACL,CACD;EACD,GAEC,MACDR,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACtC,SAAS;IAACiC,KAAK,EAAG9B,EAAE,CAAE,QAAS;EAAG,GAClCmC,aAAA,CAACrC,eAAe;IACfgD,OAAO,EAAGd,wBAA0B;IACpCe,QAAQ,EAAKlB,KAAK,IAAM;MACvBI,2BAA2B,CAAEJ,KAAM,CAAC;MACpCL,kBAAkB,CAACwB,OAAO,EAAEC,QAAQ,CACnC,CAAC,EACD,CACD,CAAC;IACF,CAAG;IACHpB,KAAK,EAAGJ;EAA4B,CACpC,CACS,CAAC,EACZU,aAAA,CAACtC,SAAS;IAACiC,KAAK,EAAG9B,EAAE,CAAE,MAAO;EAAG,GAChCmC,aAAA,CAACrC,eAAe;IACfgD,OAAO,EAAGlB,sBAAwB;IAClCmB,QAAQ,EAAKlB,KAAK,IAAM;MACvBT,oBAAoB,CAAES,KAAM,CAAC;MAC7BL,kBAAkB,CAACwB,OAAO,EAAEC,QAAQ,CACnC,CAAC,EACD,CACD,CAAC;IACF,CAAG;IACHpB,KAAK,EAAGP;EAAmB,CAC3B,CACS,CAAC,EACZa,aAAA;IAAKe,SAAS,EAAC;EAAkC,GAC9C/C,wBAAwB,CACzBH,EAAE,CACD,gMACD,CAAC,EACD;IACCmD,IAAI,EACHhB,aAAA,CAACpC,YAAY;MACZqD,IAAI,EAAGpD,EAAE,CACR,iCACD;IAAG,CACH;EAEH,CACD,CACI,CACJ,CAEU,CACb,CAAC;AAEL"}
|
|
1
|
+
{"version":3,"names":["SVG","Path","DropdownMenu","MenuGroup","MenuItemsChoice","ExternalLink","__","_x","Icon","useMemo","createInterpolateElement","myPatternsCategory","PATTERN_TYPES","all","synced","unsynced","user","theme","directory","SYNC_TYPES","full","getShouldDisableSyncFilter","sourceFilter","getShouldDisableNonUserSources","category","name","BlockPatternsSyncFilter","setPatternSyncFilter","setPatternSourceFilter","patternSyncFilter","patternSourceFilter","scrollContainerRef","currentPatternSourceFilter","shouldDisableSyncFilter","shouldDisableNonUserSources","patternSyncMenuOptions","value","label","disabled","patternSourceMenuOptions","handleSetSourceFilterChange","newSourceFilter","createElement","Fragment","popoverProps","placement","icon","width","height","viewBox","fill","xmlns","d","choices","onSelect","current","scrollTo","className","Link","href"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSVG,\n\tPath,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItemsChoice,\n\tExternalLink,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { Icon } from '@wordpress/icons';\nimport { useMemo, createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { myPatternsCategory } from './block-patterns-tab';\n\nexport const PATTERN_TYPES = {\n\tall: 'all',\n\tsynced: 'synced',\n\tunsynced: 'unsynced',\n\tuser: 'user',\n\ttheme: 'theme',\n\tdirectory: 'directory',\n};\n\nexport const SYNC_TYPES = {\n\tall: 'all',\n\tfull: 'fully',\n\tunsynced: 'unsynced',\n};\n\nconst getShouldDisableSyncFilter = ( sourceFilter ) =>\n\tsourceFilter !== PATTERN_TYPES.all && sourceFilter !== PATTERN_TYPES.user;\n\nconst getShouldDisableNonUserSources = ( category ) => {\n\treturn category.name === myPatternsCategory.name;\n};\n\nexport function BlockPatternsSyncFilter( {\n\tsetPatternSyncFilter,\n\tsetPatternSourceFilter,\n\tpatternSyncFilter,\n\tpatternSourceFilter,\n\tscrollContainerRef,\n\tcategory,\n} ) {\n\t// If the category is `myPatterns` then we need to set the source filter to `user`, but\n\t// we do this by deriving from props rather than calling setPatternSourceFilter otherwise\n\t// the user may be confused when switching to another category if the haven't explicity set\n\t// this filter themselves.\n\tconst currentPatternSourceFilter =\n\t\tcategory.name === myPatternsCategory.name\n\t\t\t? PATTERN_TYPES.user\n\t\t\t: patternSourceFilter;\n\n\t// We need to disable the sync filter option if the source filter is not 'all' or 'user'\n\t// otherwise applying them will just result in no patterns being shown.\n\tconst shouldDisableSyncFilter = getShouldDisableSyncFilter(\n\t\tcurrentPatternSourceFilter\n\t);\n\n\t// We also need to disable the directory and theme source filter options if the category\n\t// is `myPatterns` otherwise applying them will also just result in no patterns being shown.\n\tconst shouldDisableNonUserSources =\n\t\tgetShouldDisableNonUserSources( category );\n\n\tconst patternSyncMenuOptions = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tvalue: SYNC_TYPES.all,\n\t\t\t\tlabel: _x( 'All', 'Option that shows all patterns' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: SYNC_TYPES.full,\n\t\t\t\tlabel: _x(\n\t\t\t\t\t'Synced',\n\t\t\t\t\t'Option that shows all synchronized patterns'\n\t\t\t\t),\n\t\t\t\tdisabled: shouldDisableSyncFilter,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: SYNC_TYPES.unsynced,\n\t\t\t\tlabel: _x(\n\t\t\t\t\t'Not synced',\n\t\t\t\t\t'Option that shows all patterns that are not synchronized'\n\t\t\t\t),\n\t\t\t\tdisabled: shouldDisableSyncFilter,\n\t\t\t},\n\t\t],\n\t\t[ shouldDisableSyncFilter ]\n\t);\n\n\tconst patternSourceMenuOptions = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tvalue: PATTERN_TYPES.all,\n\t\t\t\tlabel: __( 'All' ),\n\t\t\t\tdisabled: shouldDisableNonUserSources,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: PATTERN_TYPES.directory,\n\t\t\t\tlabel: __( 'Pattern Directory' ),\n\t\t\t\tdisabled: shouldDisableNonUserSources,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: PATTERN_TYPES.theme,\n\t\t\t\tlabel: __( 'Theme & Plugins' ),\n\t\t\t\tdisabled: shouldDisableNonUserSources,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: PATTERN_TYPES.user,\n\t\t\t\tlabel: __( 'User' ),\n\t\t\t},\n\t\t],\n\t\t[ shouldDisableNonUserSources ]\n\t);\n\n\tfunction handleSetSourceFilterChange( newSourceFilter ) {\n\t\tsetPatternSourceFilter( newSourceFilter );\n\t\tif ( getShouldDisableSyncFilter( newSourceFilter ) ) {\n\t\t\tsetPatternSyncFilter( SYNC_TYPES.all );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tpopoverProps={ {\n\t\t\t\t\tplacement: 'right-end',\n\t\t\t\t} }\n\t\t\t\tlabel=\"Filter patterns\"\n\t\t\t\ticon={\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<SVG\n\t\t\t\t\t\t\t\twidth=\"24\"\n\t\t\t\t\t\t\t\theight=\"24\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Path\n\t\t\t\t\t\t\t\t\td=\"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z\"\n\t\t\t\t\t\t\t\t\tfill=\"#1E1E1E\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</SVG>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ () => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup label={ __( 'Source' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tchoices={ patternSourceMenuOptions }\n\t\t\t\t\t\t\t\tonSelect={ ( value ) => {\n\t\t\t\t\t\t\t\t\thandleSetSourceFilterChange( value );\n\t\t\t\t\t\t\t\t\tscrollContainerRef.current?.scrollTo(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tvalue={ currentPatternSourceFilter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<MenuGroup label={ __( 'Type' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tchoices={ patternSyncMenuOptions }\n\t\t\t\t\t\t\t\tonSelect={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetPatternSyncFilter( value );\n\t\t\t\t\t\t\t\t\tscrollContainerRef.current?.scrollTo(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tvalue={ patternSyncFilter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<div className=\"block-editor-tool-selector__help\">\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Patterns are available from the <Link>WordPress.org Pattern Directory</Link>, bundled in the active theme, or created by users on this site. Only patterns created on this site can be synced.'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tLink: (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/patterns/'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -39,7 +39,9 @@ export const ExperimentalBlockEditorProvider = withRegistryProvider(props => {
|
|
|
39
39
|
|
|
40
40
|
// Syncs the entity provider with changes in the block-editor store.
|
|
41
41
|
useBlockSync(props);
|
|
42
|
-
return createElement(SlotFillProvider,
|
|
42
|
+
return createElement(SlotFillProvider, {
|
|
43
|
+
passthrough: true
|
|
44
|
+
}, createElement(KeyboardShortcuts.Register, null), createElement(BlockRefsProvider, null, children));
|
|
43
45
|
});
|
|
44
46
|
export const BlockEditorProvider = props => {
|
|
45
47
|
return createElement(ExperimentalBlockEditorProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useDispatch","useEffect","SlotFillProvider","withRegistryProvider","useBlockSync","store","blockEditorStore","BlockRefsProvider","unlock","KeyboardShortcuts","ExperimentalBlockEditorProvider","props","children","settings","stripExperimentalSettings","__experimentalUpdateSettings","__internalIsInitialized","reset","createElement","Register","BlockEditorProvider"],"sources":["@wordpress/block-editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport useBlockSync from './use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockRefsProvider } from './block-refs-provider';\nimport { unlock } from '../../lock-unlock';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\n\n/** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */\n\nexport const ExperimentalBlockEditorProvider = withRegistryProvider(\n\t( props ) => {\n\t\tconst { children, settings, stripExperimentalSettings = false } = props;\n\n\t\tconst { __experimentalUpdateSettings } = unlock(\n\t\t\tuseDispatch( blockEditorStore )\n\t\t);\n\t\tuseEffect( () => {\n\t\t\t__experimentalUpdateSettings(\n\t\t\t\t{\n\t\t\t\t\t...settings,\n\t\t\t\t\t__internalIsInitialized: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tstripExperimentalSettings,\n\t\t\t\t\treset: true,\n\t\t\t\t}\n\t\t\t);\n\t\t}, [\n\t\t\tsettings,\n\t\t\tstripExperimentalSettings,\n\t\t\t__experimentalUpdateSettings,\n\t\t] );\n\n\t\t// Syncs the entity provider with changes in the block-editor store.\n\t\tuseBlockSync( props );\n\n\t\treturn (\n\t\t\t<SlotFillProvider>\n\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t<BlockRefsProvider>{ children }</BlockRefsProvider>\n\t\t\t</SlotFillProvider>\n\t\t);\n\t}\n);\n\nexport const BlockEditorProvider = ( props ) => {\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\t{ ...props }\n\t\t\tstripExperimentalSettings={ true }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n};\n\nexport default BlockEditorProvider;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,gBAAgB,QAAQ,uBAAuB;;AAExD;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,iBAAiB,MAAM,uBAAuB;;AAErD;;AAEA,OAAO,MAAMC,+BAA+B,GAAGP,oBAAoB,CAChEQ,KAAK,IAAM;EACZ,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,yBAAyB,GAAG;EAAM,CAAC,GAAGH,KAAK;EAEvE,MAAM;IAAEI;EAA6B,CAAC,GAAGP,MAAM,CAC9CR,WAAW,CAAEM,gBAAiB,CAC/B,CAAC;EACDL,SAAS,CAAE,MAAM;IAChBc,4BAA4B,CAC3B;MACC,GAAGF,QAAQ;MACXG,uBAAuB,EAAE;IAC1B,CAAC,EACD;MACCF,yBAAyB;MACzBG,KAAK,EAAE;IACR,CACD,CAAC;EACF,CAAC,EAAE,CACFJ,QAAQ,EACRC,yBAAyB,EACzBC,4BAA4B,CAC3B,CAAC;;EAEH;EACAX,YAAY,CAAEO,KAAM,CAAC;EAErB,OACCO,aAAA,CAAChB,gBAAgB,
|
|
1
|
+
{"version":3,"names":["useDispatch","useEffect","SlotFillProvider","withRegistryProvider","useBlockSync","store","blockEditorStore","BlockRefsProvider","unlock","KeyboardShortcuts","ExperimentalBlockEditorProvider","props","children","settings","stripExperimentalSettings","__experimentalUpdateSettings","__internalIsInitialized","reset","createElement","passthrough","Register","BlockEditorProvider"],"sources":["@wordpress/block-editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport useBlockSync from './use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockRefsProvider } from './block-refs-provider';\nimport { unlock } from '../../lock-unlock';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\n\n/** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */\n\nexport const ExperimentalBlockEditorProvider = withRegistryProvider(\n\t( props ) => {\n\t\tconst { children, settings, stripExperimentalSettings = false } = props;\n\n\t\tconst { __experimentalUpdateSettings } = unlock(\n\t\t\tuseDispatch( blockEditorStore )\n\t\t);\n\t\tuseEffect( () => {\n\t\t\t__experimentalUpdateSettings(\n\t\t\t\t{\n\t\t\t\t\t...settings,\n\t\t\t\t\t__internalIsInitialized: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tstripExperimentalSettings,\n\t\t\t\t\treset: true,\n\t\t\t\t}\n\t\t\t);\n\t\t}, [\n\t\t\tsettings,\n\t\t\tstripExperimentalSettings,\n\t\t\t__experimentalUpdateSettings,\n\t\t] );\n\n\t\t// Syncs the entity provider with changes in the block-editor store.\n\t\tuseBlockSync( props );\n\n\t\treturn (\n\t\t\t<SlotFillProvider passthrough>\n\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t<BlockRefsProvider>{ children }</BlockRefsProvider>\n\t\t\t</SlotFillProvider>\n\t\t);\n\t}\n);\n\nexport const BlockEditorProvider = ( props ) => {\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\t{ ...props }\n\t\t\tstripExperimentalSettings={ true }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n};\n\nexport default BlockEditorProvider;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,gBAAgB,QAAQ,uBAAuB;;AAExD;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,iBAAiB,MAAM,uBAAuB;;AAErD;;AAEA,OAAO,MAAMC,+BAA+B,GAAGP,oBAAoB,CAChEQ,KAAK,IAAM;EACZ,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,yBAAyB,GAAG;EAAM,CAAC,GAAGH,KAAK;EAEvE,MAAM;IAAEI;EAA6B,CAAC,GAAGP,MAAM,CAC9CR,WAAW,CAAEM,gBAAiB,CAC/B,CAAC;EACDL,SAAS,CAAE,MAAM;IAChBc,4BAA4B,CAC3B;MACC,GAAGF,QAAQ;MACXG,uBAAuB,EAAE;IAC1B,CAAC,EACD;MACCF,yBAAyB;MACzBG,KAAK,EAAE;IACR,CACD,CAAC;EACF,CAAC,EAAE,CACFJ,QAAQ,EACRC,yBAAyB,EACzBC,4BAA4B,CAC3B,CAAC;;EAEH;EACAX,YAAY,CAAEO,KAAM,CAAC;EAErB,OACCO,aAAA,CAAChB,gBAAgB;IAACiB,WAAW;EAAA,GAC5BD,aAAA,CAACT,iBAAiB,CAACW,QAAQ,MAAE,CAAC,EAC9BF,aAAA,CAACX,iBAAiB,QAAGK,QAA6B,CACjC,CAAC;AAErB,CACD,CAAC;AAED,OAAO,MAAMS,mBAAmB,GAAKV,KAAK,IAAM;EAC/C,OACCO,aAAA,CAACR,+BAA+B;IAAA,GAC1BC,KAAK;IACVG,yBAAyB,EAAG;EAAM,GAEhCH,KAAK,CAACC,QACwB,CAAC;AAEpC,CAAC;AAED,eAAeS,mBAAmB"}
|
|
@@ -9,9 +9,10 @@ import classnames from 'classnames';
|
|
|
9
9
|
*/
|
|
10
10
|
import { isBlobURL } from '@wordpress/blob';
|
|
11
11
|
import { getBlockSupport } from '@wordpress/blocks';
|
|
12
|
+
import { focus } from '@wordpress/dom';
|
|
12
13
|
import { __experimentalToolsPanelItem as ToolsPanelItem, DropZone, FlexItem, MenuItem, VisuallyHidden, __experimentalItemGroup as ItemGroup, __experimentalHStack as HStack, __experimentalTruncate as Truncate } from '@wordpress/components';
|
|
13
14
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
14
|
-
import { Platform, useCallback } from '@wordpress/element';
|
|
15
|
+
import { Platform, useCallback, useRef } from '@wordpress/element';
|
|
15
16
|
import { __, sprintf } from '@wordpress/i18n';
|
|
16
17
|
import { store as noticesStore } from '@wordpress/notices';
|
|
17
18
|
import { getFilename } from '@wordpress/url';
|
|
@@ -128,6 +129,7 @@ function BackgroundImagePanelItem(props) {
|
|
|
128
129
|
title,
|
|
129
130
|
url
|
|
130
131
|
} = attributes.style?.background?.backgroundImage || {};
|
|
132
|
+
const replaceContainerRef = useRef();
|
|
131
133
|
const {
|
|
132
134
|
mediaUpload
|
|
133
135
|
} = useSelect(select => {
|
|
@@ -206,16 +208,18 @@ function BackgroundImagePanelItem(props) {
|
|
|
206
208
|
}
|
|
207
209
|
};
|
|
208
210
|
}, []);
|
|
211
|
+
const hasValue = hasBackgroundImageValue(props);
|
|
209
212
|
return createElement(ToolsPanelItem, {
|
|
210
213
|
className: "single-column",
|
|
211
|
-
hasValue: () =>
|
|
214
|
+
hasValue: () => hasValue,
|
|
212
215
|
label: __('Background image'),
|
|
213
216
|
onDeselect: () => resetBackgroundImage(props),
|
|
214
217
|
isShownByDefault: true,
|
|
215
218
|
resetAllFilter: resetAllFilter,
|
|
216
219
|
panelId: clientId
|
|
217
220
|
}, createElement("div", {
|
|
218
|
-
className: "block-editor-hooks__background__inspector-media-replace-container"
|
|
221
|
+
className: "block-editor-hooks__background__inspector-media-replace-container",
|
|
222
|
+
ref: replaceContainerRef
|
|
219
223
|
}, createElement(MediaReplaceFlow, {
|
|
220
224
|
mediaId: id,
|
|
221
225
|
mediaURL: url,
|
|
@@ -228,8 +232,16 @@ function BackgroundImagePanelItem(props) {
|
|
|
228
232
|
url: url
|
|
229
233
|
}),
|
|
230
234
|
variant: "secondary"
|
|
231
|
-
}, createElement(MenuItem, {
|
|
232
|
-
onClick: () =>
|
|
235
|
+
}, hasValue && createElement(MenuItem, {
|
|
236
|
+
onClick: () => {
|
|
237
|
+
const [toggleButton] = focus.tabbable.find(replaceContainerRef.current);
|
|
238
|
+
// Focus the toggle button and close the dropdown menu.
|
|
239
|
+
// This ensures similar behaviour as to selecting an image, where the dropdown is
|
|
240
|
+
// closed and focus is redirected to the dropdown toggle button.
|
|
241
|
+
toggleButton?.focus();
|
|
242
|
+
toggleButton?.click();
|
|
243
|
+
resetBackgroundImage(props);
|
|
244
|
+
}
|
|
233
245
|
}, __('Reset '))), createElement(DropZone, {
|
|
234
246
|
onFilesDrop: onFilesDrop,
|
|
235
247
|
label: __('Drop to upload')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","isBlobURL","getBlockSupport","__experimentalToolsPanelItem","ToolsPanelItem","DropZone","FlexItem","MenuItem","VisuallyHidden","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalTruncate","Truncate","useDispatch","useSelect","Platform","useCallback","__","sprintf","store","noticesStore","getFilename","InspectorControls","MediaReplaceFlow","useSetting","cleanEmptyObject","blockEditorStore","BACKGROUND_SUPPORT_KEY","IMAGE_BACKGROUND_TYPE","hasBackgroundImageValue","props","hasValue","attributes","style","background","backgroundImage","id","url","hasBackgroundSupport","blockName","feature","OS","support","resetBackgroundImage","setAttributes","undefined","InspectorImagePreview","label","filename","imgUrl","imgLabel","createElement","as","justify","className","numberOfLines","BackgroundImagePanelItem","clientId","title","mediaUpload","select","getSettings","createErrorNotice","onUploadError","message","type","onSelectMedia","media","newStyle","newAttributes","media_type","source","onFilesDrop","filesList","allowedTypes","onFileChange","image","onError","resetAllFilter","previousValue","onDeselect","isShownByDefault","panelId","mediaId","mediaURL","accept","onSelect","name","variant","onClick","BackgroundImagePanel","isBackgroundImageSupported","group"],"sources":["@wordpress/block-editor/src/hooks/background.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport {\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tDropZone,\n\tFlexItem,\n\tMenuItem,\n\tVisuallyHidden,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Platform, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { getFilename } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport MediaReplaceFlow from '../components/media-replace-flow';\nimport useSetting from '../components/use-setting';\nimport { cleanEmptyObject } from './utils';\nimport { store as blockEditorStore } from '../store';\n\nexport const BACKGROUND_SUPPORT_KEY = 'background';\nexport const IMAGE_BACKGROUND_TYPE = 'image';\n\n/**\n * Checks if there is a current value in the background image block support\n * attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a background image value set.\n */\nexport function hasBackgroundImageValue( props ) {\n\tconst hasValue =\n\t\t!! props.attributes.style?.background?.backgroundImage?.id ||\n\t\t!! props.attributes.style?.background?.backgroundImage?.url;\n\n\treturn hasValue;\n}\n\n/**\n * Determine whether there is block support for background.\n *\n * @param {string} blockName Block name.\n * @param {string} feature Background image feature to check for.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasBackgroundSupport( blockName, feature = 'any' ) {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\tconst support = getBlockSupport( blockName, BACKGROUND_SUPPORT_KEY );\n\n\tif ( support === true ) {\n\t\treturn true;\n\t}\n\n\tif ( feature === 'any' ) {\n\t\treturn !! support?.backgroundImage;\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\n/**\n * Resets the background image block support attributes. This can be used when disabling\n * the background image controls for a block via a `ToolsPanel`.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetBackgroundImage( { attributes = {}, setAttributes } ) {\n\tconst { style = {} } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tbackground: {\n\t\t\t\t...style?.background,\n\t\t\t\tbackgroundImage: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\nfunction InspectorImagePreview( { label, filename, url: imgUrl } ) {\n\tconst imgLabel = label || getFilename( imgUrl );\n\treturn (\n\t\t<ItemGroup as=\"span\">\n\t\t\t<HStack justify=\"flex-start\" as=\"span\">\n\t\t\t\t<span\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'block-editor-hooks__background__inspector-image-indicator-wrapper',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-image': imgUrl,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\taria-hidden\n\t\t\t\t>\n\t\t\t\t\t{ imgUrl && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__background__inspector-image-indicator\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tbackgroundImage: `url(${ imgUrl })`,\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</span>\n\t\t\t\t<FlexItem as=\"span\">\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-editor-hooks__background__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ imgLabel }\n\t\t\t\t\t</Truncate>\n\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t{ filename\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: file name */\n\t\t\t\t\t\t\t\t\t__( 'Selected image: %s' ),\n\t\t\t\t\t\t\t\t\tfilename\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'No image selected' ) }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n}\n\nfunction BackgroundImagePanelItem( props ) {\n\tconst { attributes, clientId, setAttributes } = props;\n\n\tconst { id, title, url } =\n\t\tattributes.style?.background?.backgroundImage || {};\n\n\tconst { mediaUpload } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tmediaUpload: select( blockEditorStore ).getSettings().mediaUpload,\n\t\t};\n\t} );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst onSelectMedia = ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tconst newStyle = {\n\t\t\t\t...attributes.style,\n\t\t\t\tbackground: {\n\t\t\t\t\t...attributes.style?.background,\n\t\t\t\t\tbackgroundImage: undefined,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst newAttributes = {\n\t\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t\t};\n\n\t\t\tsetAttributes( newAttributes );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// For media selections originated from a file upload.\n\t\tif (\n\t\t\t( media.media_type &&\n\t\t\t\tmedia.media_type !== IMAGE_BACKGROUND_TYPE ) ||\n\t\t\t( ! media.media_type &&\n\t\t\t\tmedia.type &&\n\t\t\t\tmedia.type !== IMAGE_BACKGROUND_TYPE )\n\t\t) {\n\t\t\tonUploadError(\n\t\t\t\t__( 'Only images can be used as a background image.' )\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst newStyle = {\n\t\t\t...attributes.style,\n\t\t\tbackground: {\n\t\t\t\t...attributes.style?.background,\n\t\t\t\tbackgroundImage: {\n\t\t\t\t\turl: media.url,\n\t\t\t\t\tid: media.id,\n\t\t\t\t\tsource: 'file',\n\t\t\t\t\ttitle: media.title || undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\tconst newAttributes = {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t};\n\n\t\tsetAttributes( newAttributes );\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tmediaUpload( {\n\t\t\tallowedTypes: [ 'image' ],\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonSelectMedia( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tstyle: {\n\t\t\t\t...previousValue.style,\n\t\t\t\tbackground: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\tclassName=\"single-column\"\n\t\t\thasValue={ () => hasBackgroundImageValue( props ) }\n\t\t\tlabel={ __( 'Background image' ) }\n\t\t\tonDeselect={ () => resetBackgroundImage( props ) }\n\t\t\tisShownByDefault={ true }\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tpanelId={ clientId }\n\t\t>\n\t\t\t<div className=\"block-editor-hooks__background__inspector-media-replace-container\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ [ IMAGE_BACKGROUND_TYPE ] }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tname={\n\t\t\t\t\t\t<InspectorImagePreview\n\t\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t\t\tfilename={ title }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t>\n\t\t\t\t\t<MenuItem onClick={ () => resetBackgroundImage( props ) }>\n\t\t\t\t\t\t{ __( 'Reset ' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t<DropZone\n\t\t\t\t\tonFilesDrop={ onFilesDrop }\n\t\t\t\t\tlabel={ __( 'Drop to upload' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nexport function BackgroundImagePanel( props ) {\n\tconst isBackgroundImageSupported =\n\t\tuseSetting( 'background.backgroundImage' ) &&\n\t\thasBackgroundSupport( props.name, 'backgroundImage' );\n\n\tif ( ! isBackgroundImageSupported ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorControls group=\"background\">\n\t\t\t{ isBackgroundImageSupported && (\n\t\t\t\t<BackgroundImagePanelItem { ...props } />\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","isBlobURL","getBlockSupport","focus","__experimentalToolsPanelItem","ToolsPanelItem","DropZone","FlexItem","MenuItem","VisuallyHidden","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalTruncate","Truncate","useDispatch","useSelect","Platform","useCallback","useRef","__","sprintf","store","noticesStore","getFilename","InspectorControls","MediaReplaceFlow","useSetting","cleanEmptyObject","blockEditorStore","BACKGROUND_SUPPORT_KEY","IMAGE_BACKGROUND_TYPE","hasBackgroundImageValue","props","hasValue","attributes","style","background","backgroundImage","id","url","hasBackgroundSupport","blockName","feature","OS","support","resetBackgroundImage","setAttributes","undefined","InspectorImagePreview","label","filename","imgUrl","imgLabel","createElement","as","justify","className","numberOfLines","BackgroundImagePanelItem","clientId","title","replaceContainerRef","mediaUpload","select","getSettings","createErrorNotice","onUploadError","message","type","onSelectMedia","media","newStyle","newAttributes","media_type","source","onFilesDrop","filesList","allowedTypes","onFileChange","image","onError","resetAllFilter","previousValue","onDeselect","isShownByDefault","panelId","ref","mediaId","mediaURL","accept","onSelect","name","variant","onClick","toggleButton","tabbable","find","current","click","BackgroundImagePanel","isBackgroundImageSupported","group"],"sources":["@wordpress/block-editor/src/hooks/background.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { focus } from '@wordpress/dom';\nimport {\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tDropZone,\n\tFlexItem,\n\tMenuItem,\n\tVisuallyHidden,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Platform, useCallback, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { getFilename } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport MediaReplaceFlow from '../components/media-replace-flow';\nimport useSetting from '../components/use-setting';\nimport { cleanEmptyObject } from './utils';\nimport { store as blockEditorStore } from '../store';\n\nexport const BACKGROUND_SUPPORT_KEY = 'background';\nexport const IMAGE_BACKGROUND_TYPE = 'image';\n\n/**\n * Checks if there is a current value in the background image block support\n * attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a background image value set.\n */\nexport function hasBackgroundImageValue( props ) {\n\tconst hasValue =\n\t\t!! props.attributes.style?.background?.backgroundImage?.id ||\n\t\t!! props.attributes.style?.background?.backgroundImage?.url;\n\n\treturn hasValue;\n}\n\n/**\n * Determine whether there is block support for background.\n *\n * @param {string} blockName Block name.\n * @param {string} feature Background image feature to check for.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasBackgroundSupport( blockName, feature = 'any' ) {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\tconst support = getBlockSupport( blockName, BACKGROUND_SUPPORT_KEY );\n\n\tif ( support === true ) {\n\t\treturn true;\n\t}\n\n\tif ( feature === 'any' ) {\n\t\treturn !! support?.backgroundImage;\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\n/**\n * Resets the background image block support attributes. This can be used when disabling\n * the background image controls for a block via a `ToolsPanel`.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetBackgroundImage( { attributes = {}, setAttributes } ) {\n\tconst { style = {} } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tbackground: {\n\t\t\t\t...style?.background,\n\t\t\t\tbackgroundImage: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\nfunction InspectorImagePreview( { label, filename, url: imgUrl } ) {\n\tconst imgLabel = label || getFilename( imgUrl );\n\treturn (\n\t\t<ItemGroup as=\"span\">\n\t\t\t<HStack justify=\"flex-start\" as=\"span\">\n\t\t\t\t<span\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'block-editor-hooks__background__inspector-image-indicator-wrapper',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-image': imgUrl,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\taria-hidden\n\t\t\t\t>\n\t\t\t\t\t{ imgUrl && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__background__inspector-image-indicator\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tbackgroundImage: `url(${ imgUrl })`,\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</span>\n\t\t\t\t<FlexItem as=\"span\">\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-editor-hooks__background__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ imgLabel }\n\t\t\t\t\t</Truncate>\n\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t{ filename\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: file name */\n\t\t\t\t\t\t\t\t\t__( 'Selected image: %s' ),\n\t\t\t\t\t\t\t\t\tfilename\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'No image selected' ) }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n}\n\nfunction BackgroundImagePanelItem( props ) {\n\tconst { attributes, clientId, setAttributes } = props;\n\n\tconst { id, title, url } =\n\t\tattributes.style?.background?.backgroundImage || {};\n\n\tconst replaceContainerRef = useRef();\n\n\tconst { mediaUpload } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tmediaUpload: select( blockEditorStore ).getSettings().mediaUpload,\n\t\t};\n\t} );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst onSelectMedia = ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tconst newStyle = {\n\t\t\t\t...attributes.style,\n\t\t\t\tbackground: {\n\t\t\t\t\t...attributes.style?.background,\n\t\t\t\t\tbackgroundImage: undefined,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst newAttributes = {\n\t\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t\t};\n\n\t\t\tsetAttributes( newAttributes );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// For media selections originated from a file upload.\n\t\tif (\n\t\t\t( media.media_type &&\n\t\t\t\tmedia.media_type !== IMAGE_BACKGROUND_TYPE ) ||\n\t\t\t( ! media.media_type &&\n\t\t\t\tmedia.type &&\n\t\t\t\tmedia.type !== IMAGE_BACKGROUND_TYPE )\n\t\t) {\n\t\t\tonUploadError(\n\t\t\t\t__( 'Only images can be used as a background image.' )\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst newStyle = {\n\t\t\t...attributes.style,\n\t\t\tbackground: {\n\t\t\t\t...attributes.style?.background,\n\t\t\t\tbackgroundImage: {\n\t\t\t\t\turl: media.url,\n\t\t\t\t\tid: media.id,\n\t\t\t\t\tsource: 'file',\n\t\t\t\t\ttitle: media.title || undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\tconst newAttributes = {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t};\n\n\t\tsetAttributes( newAttributes );\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tmediaUpload( {\n\t\t\tallowedTypes: [ 'image' ],\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonSelectMedia( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tstyle: {\n\t\t\t\t...previousValue.style,\n\t\t\t\tbackground: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst hasValue = hasBackgroundImageValue( props );\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\tclassName=\"single-column\"\n\t\t\thasValue={ () => hasValue }\n\t\t\tlabel={ __( 'Background image' ) }\n\t\t\tonDeselect={ () => resetBackgroundImage( props ) }\n\t\t\tisShownByDefault={ true }\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tpanelId={ clientId }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"block-editor-hooks__background__inspector-media-replace-container\"\n\t\t\t\tref={ replaceContainerRef }\n\t\t\t>\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ [ IMAGE_BACKGROUND_TYPE ] }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tname={\n\t\t\t\t\t\t<InspectorImagePreview\n\t\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t\t\tfilename={ title }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t>\n\t\t\t\t\t{ hasValue && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst [ toggleButton ] = focus.tabbable.find(\n\t\t\t\t\t\t\t\t\treplaceContainerRef.current\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t// Focus the toggle button and close the dropdown menu.\n\t\t\t\t\t\t\t\t// This ensures similar behaviour as to selecting an image, where the dropdown is\n\t\t\t\t\t\t\t\t// closed and focus is redirected to the dropdown toggle button.\n\t\t\t\t\t\t\t\ttoggleButton?.focus();\n\t\t\t\t\t\t\t\ttoggleButton?.click();\n\t\t\t\t\t\t\t\tresetBackgroundImage( props );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset ' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t<DropZone\n\t\t\t\t\tonFilesDrop={ onFilesDrop }\n\t\t\t\t\tlabel={ __( 'Drop to upload' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nexport function BackgroundImagePanel( props ) {\n\tconst isBackgroundImageSupported =\n\t\tuseSetting( 'background.backgroundImage' ) &&\n\t\thasBackgroundSupport( props.name, 'backgroundImage' );\n\n\tif ( ! isBackgroundImageSupported ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorControls group=\"background\">\n\t\t\t{ isBackgroundImageSupported && (\n\t\t\t\t<BackgroundImagePanelItem { ...props } />\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export const withBlockRenameControl = createHigherOrderComponent(BlockEdit => pr
|
|
|
19
19
|
setAttributes,
|
|
20
20
|
isSelected
|
|
21
21
|
} = props;
|
|
22
|
-
const supportsBlockNaming = hasBlockSupport(name, '
|
|
22
|
+
const supportsBlockNaming = hasBlockSupport(name, '__experimentalMetadata', false);
|
|
23
23
|
return createElement(Fragment, null, isSelected && supportsBlockNaming && createElement(InspectorControls, {
|
|
24
24
|
group: "advanced"
|
|
25
25
|
}, createElement(TextControl, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createHigherOrderComponent","addFilter","__","hasBlockSupport","TextControl","InspectorControls","withBlockRenameControl","BlockEdit","props","name","attributes","setAttributes","isSelected","supportsBlockNaming","createElement","Fragment","group","__nextHasNoMarginBottom","label","value","metadata","onChange","newName","key"],"sources":["@wordpress/block-editor/src/hooks/block-rename.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { TextControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { InspectorControls } from '../components';\n\nexport const withBlockRenameControl = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst { name, attributes, setAttributes, isSelected } = props;\n\n\t\tconst supportsBlockNaming = hasBlockSupport(
|
|
1
|
+
{"version":3,"names":["createHigherOrderComponent","addFilter","__","hasBlockSupport","TextControl","InspectorControls","withBlockRenameControl","BlockEdit","props","name","attributes","setAttributes","isSelected","supportsBlockNaming","createElement","Fragment","group","__nextHasNoMarginBottom","label","value","metadata","onChange","newName","key"],"sources":["@wordpress/block-editor/src/hooks/block-rename.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { TextControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { InspectorControls } from '../components';\n\nexport const withBlockRenameControl = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst { name, attributes, setAttributes, isSelected } = props;\n\n\t\tconst supportsBlockNaming = hasBlockSupport(\n\t\t\tname,\n\t\t\t'__experimentalMetadata',\n\t\t\tfalse\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ isSelected && supportsBlockNaming && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Block name' ) }\n\t\t\t\t\t\t\tvalue={ attributes?.metadata?.name || '' }\n\t\t\t\t\t\t\tonChange={ ( newName ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\t\t\t...attributes?.metadata,\n\t\t\t\t\t\t\t\t\t\tname: newName,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t<BlockEdit key=\"edit\" { ...props } />\n\t\t\t</>\n\t\t);\n\t},\n\t'withToolbarControls'\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/block-rename-ui/with-block-rename-control',\n\twithBlockRenameControl\n);\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,0BAA0B,QAAQ,oBAAoB;AAC/D,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,WAAW,QAAQ,uBAAuB;;AAEnD;AACA;AACA;AACA,SAASC,iBAAiB,QAAQ,eAAe;AAEjD,OAAO,MAAMC,sBAAsB,GAAGN,0BAA0B,CAC7DO,SAAS,IAAQC,KAAK,IAAM;EAC7B,MAAM;IAAEC,IAAI;IAAEC,UAAU;IAAEC,aAAa;IAAEC;EAAW,CAAC,GAAGJ,KAAK;EAE7D,MAAMK,mBAAmB,GAAGV,eAAe,CAC1CM,IAAI,EACJ,wBAAwB,EACxB,KACD,CAAC;EAED,OACCK,aAAA,CAAAC,QAAA,QACGH,UAAU,IAAIC,mBAAmB,IAClCC,aAAA,CAACT,iBAAiB;IAACW,KAAK,EAAC;EAAU,GAClCF,aAAA,CAACV,WAAW;IACXa,uBAAuB;IACvBC,KAAK,EAAGhB,EAAE,CAAE,YAAa,CAAG;IAC5BiB,KAAK,EAAGT,UAAU,EAAEU,QAAQ,EAAEX,IAAI,IAAI,EAAI;IAC1CY,QAAQ,EAAKC,OAAO,IAAM;MACzBX,aAAa,CAAE;QACdS,QAAQ,EAAE;UACT,GAAGV,UAAU,EAAEU,QAAQ;UACvBX,IAAI,EAAEa;QACP;MACD,CAAE,CAAC;IACJ;EAAG,CACH,CACiB,CACnB,EAEDR,aAAA,CAACP,SAAS;IAACgB,GAAG,EAAC,MAAM;IAAA,GAAMf;EAAK,CAAI,CACnC,CAAC;AAEL,CAAC,EACD,qBACD,CAAC;AAEDP,SAAS,CACR,kBAAkB,EAClB,gDAAgD,EAChDK,sBACD,CAAC"}
|
|
@@ -1921,6 +1921,7 @@ function getUserPatterns(state) {
|
|
|
1921
1921
|
return {
|
|
1922
1922
|
name: `core/block/${userPattern.id}`,
|
|
1923
1923
|
id: userPattern.id,
|
|
1924
|
+
type: 'user',
|
|
1924
1925
|
title: userPattern.title.raw,
|
|
1925
1926
|
categories: userPattern.wp_pattern_category.map(catId => categories && categories.get(catId) ? categories.get(catId).slug : catId),
|
|
1926
1927
|
content: userPattern.content.raw,
|