@wordpress/block-library 8.28.2 → 8.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/button/edit.js +2 -4
- package/build/button/edit.js.map +1 -1
- package/build/buttons/edit.js +1 -6
- package/build/buttons/edit.js.map +1 -1
- package/build/buttons/edit.native.js +1 -7
- package/build/buttons/edit.native.js.map +1 -1
- package/build/columns/edit.js +5 -0
- package/build/columns/edit.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/details/index.js +1 -0
- package/build/details/index.js.map +1 -1
- package/build/gallery/edit.js +5 -5
- package/build/gallery/edit.js.map +1 -1
- package/build/group/variations.js +12 -15
- package/build/group/variations.js.map +1 -1
- package/build/image/edit.js +2 -4
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +6 -3
- package/build/image/image.js.map +1 -1
- package/build/list/edit.js +5 -0
- package/build/list/edit.js.map +1 -1
- package/build/pattern/edit.js +12 -9
- package/build/pattern/edit.js.map +1 -1
- package/build-module/button/edit.js +2 -4
- package/build-module/button/edit.js.map +1 -1
- package/build-module/buttons/edit.js +2 -7
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/buttons/edit.native.js +1 -7
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/columns/edit.js +5 -0
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/details/index.js +1 -0
- package/build-module/details/index.js.map +1 -1
- package/build-module/gallery/edit.js +5 -5
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/group/variations.js +12 -15
- package/build-module/group/variations.js.map +1 -1
- package/build-module/image/edit.js +2 -4
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +6 -3
- package/build-module/image/image.js.map +1 -1
- package/build-module/list/edit.js +5 -0
- package/build-module/list/edit.js.map +1 -1
- package/build-module/pattern/edit.js +13 -10
- package/build-module/pattern/edit.js.map +1 -1
- package/package.json +34 -34
- package/src/avatar/index.php +12 -1
- package/src/button/edit.js +4 -4
- package/src/buttons/edit.js +3 -16
- package/src/buttons/edit.native.js +1 -17
- package/src/columns/edit.js +6 -0
- package/src/cover/edit/inspector-controls.js +5 -1
- package/src/details/block.json +1 -0
- package/src/gallery/edit.js +3 -9
- package/src/group/variations.js +3 -6
- package/src/image/edit.js +4 -4
- package/src/image/image.js +15 -6
- package/src/list/edit.js +5 -0
- package/src/pattern/edit.js +13 -10
- package/src/post-author-biography/index.php +4 -3
- package/src/post-author-name/index.php +4 -3
|
@@ -7,7 +7,7 @@ import classnames from 'classnames';
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
|
-
import { useBlockProps, useInnerBlocksProps
|
|
10
|
+
import { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';
|
|
11
11
|
import { useSelect } from '@wordpress/data';
|
|
12
12
|
import { store as blocksStore } from '@wordpress/blocks';
|
|
13
13
|
const DEFAULT_BLOCK = {
|
|
@@ -30,13 +30,10 @@ function ButtonsEdit({
|
|
|
30
30
|
})
|
|
31
31
|
});
|
|
32
32
|
const {
|
|
33
|
-
preferredStyle,
|
|
34
33
|
hasButtonVariations
|
|
35
34
|
} = useSelect(select => {
|
|
36
|
-
const preferredStyleVariations = select(blockEditorStore).getSettings().__experimentalPreferredStyleVariations;
|
|
37
35
|
const buttonVariations = select(blocksStore).getBlockVariations('core/button', 'inserter');
|
|
38
36
|
return {
|
|
39
|
-
preferredStyle: preferredStyleVariations?.value?.['core/button'],
|
|
40
37
|
hasButtonVariations: buttonVariations.length > 0
|
|
41
38
|
};
|
|
42
39
|
}, []);
|
|
@@ -44,9 +41,7 @@ function ButtonsEdit({
|
|
|
44
41
|
defaultBlock: DEFAULT_BLOCK,
|
|
45
42
|
// This check should be handled by the `Inserter` internally to be consistent across all blocks that use it.
|
|
46
43
|
directInsert: !hasButtonVariations,
|
|
47
|
-
template: [['core/button',
|
|
48
|
-
className: preferredStyle && `is-style-${preferredStyle}`
|
|
49
|
-
}]],
|
|
44
|
+
template: [['core/button']],
|
|
50
45
|
templateInsertUpdatesSelection: true,
|
|
51
46
|
orientation: (_layout$orientation = layout?.orientation) !== null && _layout$orientation !== void 0 ? _layout$orientation : 'horizontal'
|
|
52
47
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useBlockProps","useInnerBlocksProps","
|
|
1
|
+
{"version":3,"names":["classnames","useBlockProps","useInnerBlocksProps","useSelect","store","blocksStore","DEFAULT_BLOCK","name","attributesToCopy","ButtonsEdit","attributes","className","_layout$orientation","fontSize","layout","style","blockProps","typography","hasButtonVariations","select","buttonVariations","getBlockVariations","length","innerBlocksProps","defaultBlock","directInsert","template","templateInsertUpdatesSelection","orientation","createElement"],"sources":["@wordpress/block-library/src/buttons/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/button',\n\tattributesToCopy: [\n\t\t'backgroundColor',\n\t\t'border',\n\t\t'className',\n\t\t'fontFamily',\n\t\t'fontSize',\n\t\t'gradient',\n\t\t'style',\n\t\t'textColor',\n\t\t'width',\n\t],\n};\n\nfunction ButtonsEdit( { attributes, className } ) {\n\tconst { fontSize, layout, style } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, {\n\t\t\t'has-custom-font-size': fontSize || style?.typography?.fontSize,\n\t\t} ),\n\t} );\n\tconst { hasButtonVariations } = useSelect( ( select ) => {\n\t\tconst buttonVariations = select( blocksStore ).getBlockVariations(\n\t\t\t'core/button',\n\t\t\t'inserter'\n\t\t);\n\t\treturn {\n\t\t\thasButtonVariations: buttonVariations.length > 0,\n\t\t};\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t// This check should be handled by the `Inserter` internally to be consistent across all blocks that use it.\n\t\tdirectInsert: ! hasButtonVariations,\n\t\ttemplate: [ [ 'core/button' ] ],\n\t\ttemplateInsertUpdatesSelection: true,\n\t\torientation: layout?.orientation ?? 'horizontal',\n\t} );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n\nexport default ButtonsEdit;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,aAAa,EAAEC,mBAAmB,QAAQ,yBAAyB;AAC5E,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AAExD,MAAMC,aAAa,GAAG;EACrBC,IAAI,EAAE,aAAa;EACnBC,gBAAgB,EAAE,CACjB,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,OAAO;AAET,CAAC;AAED,SAASC,WAAWA,CAAE;EAAEC,UAAU;EAAEC;AAAU,CAAC,EAAG;EAAA,IAAAC,mBAAA;EACjD,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGL,UAAU;EAC9C,MAAMM,UAAU,GAAGf,aAAa,CAAE;IACjCU,SAAS,EAAEX,UAAU,CAAEW,SAAS,EAAE;MACjC,sBAAsB,EAAEE,QAAQ,IAAIE,KAAK,EAAEE,UAAU,EAAEJ;IACxD,CAAE;EACH,CAAE,CAAC;EACH,MAAM;IAAEK;EAAoB,CAAC,GAAGf,SAAS,CAAIgB,MAAM,IAAM;IACxD,MAAMC,gBAAgB,GAAGD,MAAM,CAAEd,WAAY,CAAC,CAACgB,kBAAkB,CAChE,aAAa,EACb,UACD,CAAC;IACD,OAAO;MACNH,mBAAmB,EAAEE,gBAAgB,CAACE,MAAM,GAAG;IAChD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,gBAAgB,GAAGrB,mBAAmB,CAAEc,UAAU,EAAE;IACzDQ,YAAY,EAAElB,aAAa;IAC3B;IACAmB,YAAY,EAAE,CAAEP,mBAAmB;IACnCQ,QAAQ,EAAE,CAAE,CAAE,aAAa,CAAE,CAAE;IAC/BC,8BAA8B,EAAE,IAAI;IACpCC,WAAW,GAAAhB,mBAAA,GAAEE,MAAM,EAAEc,WAAW,cAAAhB,mBAAA,cAAAA,mBAAA,GAAI;EACrC,CAAE,CAAC;EAEH,OAAOiB,aAAA;IAAA,GAAUN;EAAgB,CAAI,CAAC;AACvC;AAEA,eAAed,WAAW"}
|
|
@@ -69,10 +69,6 @@ export default function ButtonsEdit({
|
|
|
69
69
|
shouldDelete: getBlockCount(clientId) === 1
|
|
70
70
|
};
|
|
71
71
|
}, [clientId]);
|
|
72
|
-
const preferredStyle = useSelect(select => {
|
|
73
|
-
const preferredStyleVariations = select(blockEditorStore).getSettings().__experimentalPreferredStyleVariations;
|
|
74
|
-
return preferredStyleVariations?.value?.['core/button'];
|
|
75
|
-
}, []);
|
|
76
72
|
const {
|
|
77
73
|
getBlockOrder
|
|
78
74
|
} = useSelect(blockEditorStore);
|
|
@@ -123,9 +119,7 @@ export default function ButtonsEdit({
|
|
|
123
119
|
}),
|
|
124
120
|
popoverProps: POPOVER_PROPS
|
|
125
121
|
})), resizeObserver, createElement(InnerBlocks, {
|
|
126
|
-
template: [['core/button',
|
|
127
|
-
className: preferredStyle && `is-style-${preferredStyle}`
|
|
128
|
-
}]],
|
|
122
|
+
template: [['core/button']],
|
|
129
123
|
renderFooterAppender: shouldRenderFooterAppender && renderFooterAppender.current,
|
|
130
124
|
orientation: "horizontal",
|
|
131
125
|
horizontalAlignment: justifyContent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","BlockControls","InnerBlocks","JustifyContentControl","store","blockEditorStore","createBlock","getBlockSupport","debounce","useResizeObserver","useDispatch","useSelect","useState","useEffect","useRef","useCallback","alignmentHelpers","styles","layoutProp","type","alignments","POPOVER_PROPS","placement","ButtonsEdit","attributes","layout","align","clientId","isSelected","setAttributes","blockWidth","name","resizeObserver","sizes","maxWidth","setMaxWidth","marginLeft","spacing","layoutBlockSupport","defaultBlockLayout","default","usedLayout","justifyContent","isInnerButtonSelected","shouldDelete","select","getBlockCount","getBlockParents","getSelectedBlockClientId","selectedBlockClientId","selectedBlockParents","preferredStyle","preferredStyleVariations","getSettings","__experimentalPreferredStyleVariations","value","getBlockOrder","insertBlock","removeBlock","selectBlock","width","isFullWidth","isFullWidthBlock","onAddNextButton","selectedId","order","selectedButtonIndex","findIndex","i","index","length","insertedBlock","renderFooterAppender","createElement","style","appenderContainer","ButtonBlockAppender","isFloating","onAddBlock","justifyControls","remove","shouldRenderFooterAppender","Fragment","group","allowedControls","onChange","popoverProps","template","className","current","orientation","horizontalAlignment","onDeleteBlock","undefined","parentWidth","marginHorizontal","marginVertical","templateInsertUpdatesSelection"],"sources":["@wordpress/block-library/src/buttons/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tJustifyContentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { createBlock, getBlockSupport } from '@wordpress/blocks';\nimport { debounce, useResizeObserver } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\nconst layoutProp = { type: 'default', alignments: [] };\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nexport default function ButtonsEdit( {\n\tattributes: { layout, align },\n\tclientId,\n\tisSelected,\n\tsetAttributes,\n\tblockWidth,\n\tname,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tconst { marginLeft: spacing } = styles.spacing;\n\n\t// Extract attributes from block layout\n\tconst layoutBlockSupport = getBlockSupport( name, 'layout' );\n\tconst defaultBlockLayout = layoutBlockSupport?.default;\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst { justifyContent } = usedLayout;\n\n\tconst { isInnerButtonSelected, shouldDelete } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, getBlockParents, getSelectedBlockClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst selectedBlockParents = getBlockParents(\n\t\t\t\tselectedBlockClientId,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tisInnerButtonSelected: selectedBlockParents[ 0 ] === clientId,\n\t\t\t\t// The purpose of `shouldDelete` check is giving the ability to\n\t\t\t\t// pass to mobile toolbar function called `onDelete` which removes\n\t\t\t\t// the whole `Buttons` container along with the last inner button\n\t\t\t\t// when there is exactly one button.\n\t\t\t\tshouldDelete: getBlockCount( clientId ) === 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ 'core/button' ];\n\t}, [] );\n\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { insertBlock, removeBlock, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tconst { isFullWidth } = alignmentHelpers;\n\n\t\tif ( width ) {\n\t\t\tconst isFullWidthBlock = isFullWidth( align );\n\t\t\tsetMaxWidth( isFullWidthBlock ? blockWidth : width );\n\t\t}\n\t}, [ sizes, align ] );\n\n\tconst onAddNextButton = useCallback(\n\t\tdebounce( ( selectedId ) => {\n\t\t\tconst order = getBlockOrder( clientId );\n\t\t\tconst selectedButtonIndex = order.findIndex(\n\t\t\t\t( i ) => i === selectedId\n\t\t\t);\n\n\t\t\tconst index =\n\t\t\t\tselectedButtonIndex === -1\n\t\t\t\t\t? order.length + 1\n\t\t\t\t\t: selectedButtonIndex;\n\n\t\t\tconst insertedBlock = createBlock( 'core/button' );\n\n\t\t\tinsertBlock( insertedBlock, index, clientId, false );\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t}, 200 ),\n\t\t[]\n\t);\n\n\tconst renderFooterAppender = useRef( () => (\n\t\t<View style={ styles.appenderContainer }>\n\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\tisFloating={ true }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t/>\n\t\t</View>\n\t) );\n\n\tconst justifyControls = [ 'left', 'center', 'right' ];\n\n\tconst remove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\tconst shouldRenderFooterAppender = isSelected || isInnerButtonSelected;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<JustifyContentControl\n\t\t\t\t\t\tallowedControls={ justifyControls }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t...usedLayout,\n\t\t\t\t\t\t\t\t\tjustifyContent: value,\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\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ resizeObserver }\n\t\t\t<InnerBlocks\n\t\t\t\ttemplate={ [\n\t\t\t\t\t[\n\t\t\t\t\t\t'core/button',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\tpreferredStyle &&\n\t\t\t\t\t\t\t\t`is-style-${ preferredStyle }`,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t] }\n\t\t\t\trenderFooterAppender={\n\t\t\t\t\tshouldRenderFooterAppender && renderFooterAppender.current\n\t\t\t\t}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\thorizontalAlignment={ justifyContent }\n\t\t\t\tonDeleteBlock={ shouldDelete ? remove : undefined }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t\tparentWidth={ maxWidth } // This value controls the width of that the buttons are able to expand to.\n\t\t\t\tmarginHorizontal={ spacing }\n\t\t\t\tmarginVertical={ spacing }\n\t\t\t\tlayout={ layoutProp }\n\t\t\t\ttemplateInsertUpdatesSelection\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["View","BlockControls","InnerBlocks","JustifyContentControl","store","blockEditorStore","createBlock","getBlockSupport","debounce","useResizeObserver","useDispatch","useSelect","useState","useEffect","useRef","useCallback","alignmentHelpers","styles","layoutProp","type","alignments","POPOVER_PROPS","placement","ButtonsEdit","attributes","layout","align","clientId","isSelected","setAttributes","blockWidth","name","resizeObserver","sizes","maxWidth","setMaxWidth","marginLeft","spacing","layoutBlockSupport","defaultBlockLayout","default","usedLayout","justifyContent","isInnerButtonSelected","shouldDelete","select","getBlockCount","getBlockParents","getSelectedBlockClientId","selectedBlockClientId","selectedBlockParents","getBlockOrder","insertBlock","removeBlock","selectBlock","width","isFullWidth","isFullWidthBlock","onAddNextButton","selectedId","order","selectedButtonIndex","findIndex","i","index","length","insertedBlock","renderFooterAppender","createElement","style","appenderContainer","ButtonBlockAppender","isFloating","onAddBlock","justifyControls","remove","shouldRenderFooterAppender","Fragment","group","allowedControls","value","onChange","popoverProps","template","current","orientation","horizontalAlignment","onDeleteBlock","undefined","parentWidth","marginHorizontal","marginVertical","templateInsertUpdatesSelection"],"sources":["@wordpress/block-library/src/buttons/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tJustifyContentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { createBlock, getBlockSupport } from '@wordpress/blocks';\nimport { debounce, useResizeObserver } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\nconst layoutProp = { type: 'default', alignments: [] };\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nexport default function ButtonsEdit( {\n\tattributes: { layout, align },\n\tclientId,\n\tisSelected,\n\tsetAttributes,\n\tblockWidth,\n\tname,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tconst { marginLeft: spacing } = styles.spacing;\n\n\t// Extract attributes from block layout\n\tconst layoutBlockSupport = getBlockSupport( name, 'layout' );\n\tconst defaultBlockLayout = layoutBlockSupport?.default;\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst { justifyContent } = usedLayout;\n\n\tconst { isInnerButtonSelected, shouldDelete } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, getBlockParents, getSelectedBlockClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst selectedBlockParents = getBlockParents(\n\t\t\t\tselectedBlockClientId,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tisInnerButtonSelected: selectedBlockParents[ 0 ] === clientId,\n\t\t\t\t// The purpose of `shouldDelete` check is giving the ability to\n\t\t\t\t// pass to mobile toolbar function called `onDelete` which removes\n\t\t\t\t// the whole `Buttons` container along with the last inner button\n\t\t\t\t// when there is exactly one button.\n\t\t\t\tshouldDelete: getBlockCount( clientId ) === 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { insertBlock, removeBlock, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tconst { isFullWidth } = alignmentHelpers;\n\n\t\tif ( width ) {\n\t\t\tconst isFullWidthBlock = isFullWidth( align );\n\t\t\tsetMaxWidth( isFullWidthBlock ? blockWidth : width );\n\t\t}\n\t}, [ sizes, align ] );\n\n\tconst onAddNextButton = useCallback(\n\t\tdebounce( ( selectedId ) => {\n\t\t\tconst order = getBlockOrder( clientId );\n\t\t\tconst selectedButtonIndex = order.findIndex(\n\t\t\t\t( i ) => i === selectedId\n\t\t\t);\n\n\t\t\tconst index =\n\t\t\t\tselectedButtonIndex === -1\n\t\t\t\t\t? order.length + 1\n\t\t\t\t\t: selectedButtonIndex;\n\n\t\t\tconst insertedBlock = createBlock( 'core/button' );\n\n\t\t\tinsertBlock( insertedBlock, index, clientId, false );\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t}, 200 ),\n\t\t[]\n\t);\n\n\tconst renderFooterAppender = useRef( () => (\n\t\t<View style={ styles.appenderContainer }>\n\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\tisFloating={ true }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t/>\n\t\t</View>\n\t) );\n\n\tconst justifyControls = [ 'left', 'center', 'right' ];\n\n\tconst remove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\tconst shouldRenderFooterAppender = isSelected || isInnerButtonSelected;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<JustifyContentControl\n\t\t\t\t\t\tallowedControls={ justifyControls }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t...usedLayout,\n\t\t\t\t\t\t\t\t\tjustifyContent: value,\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\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ resizeObserver }\n\t\t\t<InnerBlocks\n\t\t\t\ttemplate={ [ [ 'core/button' ] ] }\n\t\t\t\trenderFooterAppender={\n\t\t\t\t\tshouldRenderFooterAppender && renderFooterAppender.current\n\t\t\t\t}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\thorizontalAlignment={ justifyContent }\n\t\t\t\tonDeleteBlock={ shouldDelete ? remove : undefined }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t\tparentWidth={ maxWidth } // This value controls the width of that the buttons are able to expand to.\n\t\t\t\tmarginHorizontal={ spacing }\n\t\t\t\tmarginVertical={ spacing }\n\t\t\t\tlayout={ layoutProp }\n\t\t\t\ttemplateInsertUpdatesSelection\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -17,6 +17,9 @@ import { createBlock, createBlocksFromInnerBlocksTemplate, store as blocksStore
|
|
|
17
17
|
* Internal dependencies
|
|
18
18
|
*/
|
|
19
19
|
import { hasExplicitPercentColumnWidths, getMappedColumnWidths, getRedistributedColumnWidths, toWidthPrecision } from './utils';
|
|
20
|
+
const DEFAULT_BLOCK = {
|
|
21
|
+
name: 'core/column'
|
|
22
|
+
};
|
|
20
23
|
function ColumnsEditContainer({
|
|
21
24
|
attributes,
|
|
22
25
|
setAttributes,
|
|
@@ -71,6 +74,8 @@ function ColumnsEditContainer({
|
|
|
71
74
|
className: classes
|
|
72
75
|
});
|
|
73
76
|
const innerBlocksProps = useInnerBlocksProps(blockProps, {
|
|
77
|
+
defaultBlock: DEFAULT_BLOCK,
|
|
78
|
+
directInsert: true,
|
|
74
79
|
orientation: 'horizontal',
|
|
75
80
|
renderAppender: false,
|
|
76
81
|
templateLock
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__","Notice","PanelBody","RangeControl","ToggleControl","InspectorControls","useInnerBlocksProps","BlockControls","BlockVerticalAlignmentToolbar","__experimentalBlockVariationPicker","useBlockProps","store","blockEditorStore","useDispatch","useSelect","useRegistry","createBlock","createBlocksFromInnerBlocksTemplate","blocksStore","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","ColumnsEditContainer","attributes","setAttributes","clientId","isStackedOnMobile","verticalAlignment","templateLock","count","canInsertColumnBlock","minCount","select","canInsertBlockType","canRemoveBlock","getBlocks","getBlockCount","innerBlocks","preventRemovalBlockIndexes","reduce","acc","block","index","push","Math","max","registry","getBlockOrder","updateBlockAttributes","replaceInnerBlocks","classes","blockProps","className","innerBlocksProps","orientation","renderAppender","updateAlignment","newVerticalAlignment","innerBlockClientIds","batch","updateColumns","previousColumns","newColumns","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","length","map","width","slice","createElement","Fragment","onChange","value","title","__nextHasNoMarginBottom","__next40pxDefaultSize","label","min","status","isDismissible","checked","Placeholder","name","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","icon","src","onSelect","nextVariation","allowSkip","ColumnsEdit","props","hasInnerBlocks","Component"],"sources":["@wordpress/block-library/src/columns/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\n\nfunction ColumnsEditContainer( { attributes, setAttributes, clientId } ) {\n\tconst { isStackedOnMobile, verticalAlignment, templateLock } = attributes;\n\tconst { count, canInsertColumnBlock, minCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockCount,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\t// Get the indexes of columns for which removal is prevented.\n\t\t\t// The highest index will be used to determine the minimum column count.\n\t\t\tconst preventRemovalBlockIndexes = innerBlocks.reduce(\n\t\t\t\t( acc, block, index ) => {\n\t\t\t\t\tif ( ! canRemoveBlock( block.clientId ) ) {\n\t\t\t\t\t\tacc.push( index );\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcount: getBlockCount( clientId ),\n\t\t\t\tcanInsertColumnBlock: canInsertBlockType(\n\t\t\t\t\t'core/column',\n\t\t\t\t\tclientId\n\t\t\t\t),\n\t\t\t\tminCount: Math.max( ...preventRemovalBlockIndexes ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst registry = useRegistry();\n\tconst { getBlocks, getBlockOrder } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst classes = classnames( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\ttemplateLock,\n\t} );\n\n\t/**\n\t * Update all child Column blocks with a new vertical alignment setting\n\t * based on whatever alignment is passed in. This allows change to parent\n\t * to overide anything set on a individual column basis.\n\t *\n\t * @param {string} newVerticalAlignment The vertical alignment setting.\n\t */\n\tfunction updateAlignment( newVerticalAlignment ) {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Update own and child Column block vertical alignments.\n\t\t// This is a single action; the batching prevents creating multiple history records.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { verticalAlignment: newVerticalAlignment } );\n\t\t\tupdateBlockAttributes( innerBlockClientIds, {\n\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Updates the column count, including necessary revisions to child Column\n\t * blocks to grant required or redistribute available space.\n\t *\n\t * @param {number} previousColumns Previous column count.\n\t * @param {number} newColumns New column count.\n\t */\n\tfunction updateColumns( previousColumns, newColumns ) {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t// Redistribute available width for existing inner blocks.\n\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t// constraining the available working width.\n\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\tinnerBlocks,\n\t\t\t\t100 - newColumnWidth\n\t\t\t);\n\n\t\t\tinnerBlocks = [\n\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( isAddingColumn ) {\n\t\t\tinnerBlocks = [\n\t\t\t\t...innerBlocks,\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( newColumns < previousColumns ) {\n\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t0,\n\t\t\t\t-( previousColumns - newColumns )\n\t\t\t);\n\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\tconst widths = getRedistributedColumnWidths( innerBlocks, 100 );\n\n\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t}\n\t\t}\n\n\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ canInsertColumnBlock && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tupdateColumns(\n\t\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t\tMath.max( minCount, value )\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\tmin={ Math.max( 1, minCount ) }\n\t\t\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\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\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Notice>\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\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ blockType?.icon?.src }\n\t\t\t\tlabel={ blockType?.title }\n\t\t\t\tvariations={ variations }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks ? ColumnsEditContainer : Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","__","Notice","PanelBody","RangeControl","ToggleControl","InspectorControls","useInnerBlocksProps","BlockControls","BlockVerticalAlignmentToolbar","__experimentalBlockVariationPicker","useBlockProps","store","blockEditorStore","useDispatch","useSelect","useRegistry","createBlock","createBlocksFromInnerBlocksTemplate","blocksStore","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","DEFAULT_BLOCK","name","ColumnsEditContainer","attributes","setAttributes","clientId","isStackedOnMobile","verticalAlignment","templateLock","count","canInsertColumnBlock","minCount","select","canInsertBlockType","canRemoveBlock","getBlocks","getBlockCount","innerBlocks","preventRemovalBlockIndexes","reduce","acc","block","index","push","Math","max","registry","getBlockOrder","updateBlockAttributes","replaceInnerBlocks","classes","blockProps","className","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","updateAlignment","newVerticalAlignment","innerBlockClientIds","batch","updateColumns","previousColumns","newColumns","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","length","map","width","slice","createElement","Fragment","onChange","value","title","__nextHasNoMarginBottom","__next40pxDefaultSize","label","min","status","isDismissible","checked","Placeholder","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","icon","src","onSelect","nextVariation","allowSkip","ColumnsEdit","props","hasInnerBlocks","Component"],"sources":["@wordpress/block-library/src/columns/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/column',\n};\n\nfunction ColumnsEditContainer( { attributes, setAttributes, clientId } ) {\n\tconst { isStackedOnMobile, verticalAlignment, templateLock } = attributes;\n\tconst { count, canInsertColumnBlock, minCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockCount,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\t// Get the indexes of columns for which removal is prevented.\n\t\t\t// The highest index will be used to determine the minimum column count.\n\t\t\tconst preventRemovalBlockIndexes = innerBlocks.reduce(\n\t\t\t\t( acc, block, index ) => {\n\t\t\t\t\tif ( ! canRemoveBlock( block.clientId ) ) {\n\t\t\t\t\t\tacc.push( index );\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcount: getBlockCount( clientId ),\n\t\t\t\tcanInsertColumnBlock: canInsertBlockType(\n\t\t\t\t\t'core/column',\n\t\t\t\t\tclientId\n\t\t\t\t),\n\t\t\t\tminCount: Math.max( ...preventRemovalBlockIndexes ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst registry = useRegistry();\n\tconst { getBlocks, getBlockOrder } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst classes = classnames( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\ttemplateLock,\n\t} );\n\n\t/**\n\t * Update all child Column blocks with a new vertical alignment setting\n\t * based on whatever alignment is passed in. This allows change to parent\n\t * to overide anything set on a individual column basis.\n\t *\n\t * @param {string} newVerticalAlignment The vertical alignment setting.\n\t */\n\tfunction updateAlignment( newVerticalAlignment ) {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Update own and child Column block vertical alignments.\n\t\t// This is a single action; the batching prevents creating multiple history records.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { verticalAlignment: newVerticalAlignment } );\n\t\t\tupdateBlockAttributes( innerBlockClientIds, {\n\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Updates the column count, including necessary revisions to child Column\n\t * blocks to grant required or redistribute available space.\n\t *\n\t * @param {number} previousColumns Previous column count.\n\t * @param {number} newColumns New column count.\n\t */\n\tfunction updateColumns( previousColumns, newColumns ) {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t// Redistribute available width for existing inner blocks.\n\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t// constraining the available working width.\n\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\tinnerBlocks,\n\t\t\t\t100 - newColumnWidth\n\t\t\t);\n\n\t\t\tinnerBlocks = [\n\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( isAddingColumn ) {\n\t\t\tinnerBlocks = [\n\t\t\t\t...innerBlocks,\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( newColumns < previousColumns ) {\n\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t0,\n\t\t\t\t-( previousColumns - newColumns )\n\t\t\t);\n\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\tconst widths = getRedistributedColumnWidths( innerBlocks, 100 );\n\n\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t}\n\t\t}\n\n\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ canInsertColumnBlock && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tupdateColumns(\n\t\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t\tMath.max( minCount, value )\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\tmin={ Math.max( 1, minCount ) }\n\t\t\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\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\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Notice>\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\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ blockType?.icon?.src }\n\t\t\t\tlabel={ blockType?.title }\n\t\t\t\tvariations={ variations }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks ? ColumnsEditContainer : Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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"}
|
|
@@ -217,7 +217,7 @@ export default function CoverInspectorControls({
|
|
|
217
217
|
isShownByDefault: true,
|
|
218
218
|
panelId: clientId
|
|
219
219
|
}, createElement(CoverHeightInput, {
|
|
220
|
-
value: minHeight,
|
|
220
|
+
value: attributes?.style?.dimensions?.aspectRatio ? '' : minHeight,
|
|
221
221
|
unit: minHeightUnit,
|
|
222
222
|
onChange: newMinHeight => setAttributes({
|
|
223
223
|
minHeight: newMinHeight,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","TextareaControl","ToggleControl","SelectControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","InspectorControls","useSettings","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","privateApis","blockEditorPrivateApis","__","COVER_MIN_HEIGHT","mediaPosition","unlock","cleanEmptyObject","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","inputId","isPx","availableUnits","units","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","createElement","label","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","colorGradientSettings","htmlElementMessages","header","main","section","article","aside","footer","Fragment","title","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","onDragStart","onDrag","newFocalPoint","newAlt","help","href","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","hasValue","onDeselect","newDimRatio","max","step","required","newMinHeight","dimensions","aspectRatio","nextUnit","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeight: newMinHeight,\n\t\t\t\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\t\t\t\tdimensions: {\n\t\t\t\t\t\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\t\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\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\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useMemo","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","TextareaControl","ToggleControl","SelectControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","InspectorControls","useSettings","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","privateApis","blockEditorPrivateApis","__","COVER_MIN_HEIGHT","mediaPosition","unlock","cleanEmptyObject","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","inputId","isPx","availableUnits","units","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","createElement","label","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","colorGradientSettings","htmlElementMessages","header","main","section","article","aside","footer","Fragment","title","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","onDragStart","onDrag","newFocalPoint","newAlt","help","href","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","hasValue","onDeselect","newDimRatio","max","step","required","dimensions","aspectRatio","newMinHeight","nextUnit","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tattributes?.style?.dimensions?.aspectRatio\n\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t: minHeight\n\t\t\t\t\t\t}\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeight: newMinHeight,\n\t\t\t\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\t\t\t\tdimensions: {\n\t\t\t\t\t\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\t\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\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\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["details","icon","__","initBlock","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","showContent","type","summary","source","selector","supports","align","color","gradients","link","__experimentalDefaultControls","background","text","__experimentalBorder","width","style","html","spacing","margin","padding","blockGap","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowEditing","interactivity","clientNavigation","editorStyle","edit","save","settings","example","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/details/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { details as icon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsummary: 'La Mancha',\n\t\t\tshowContent: true,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tsave,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,IAAI,QAAQ,kBAAkB;AAClD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,WAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAD,IAAA;MAAAE,MAAA;MAAAC,QAAA;IAAA;EAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,oBAAA;MAAAN,KAAA;MAAAO,KAAA;MAAAC,KAAA;IAAA;IAAAC,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,QAAA;MAAAV,6BAAA;QAAAQ,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAnB,6BAAA;QAAAY,QAAA;MAAA;IAAA;IAAAQ,MAAA;MAAAC,YAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAnB,KAAA;AAAA;AAE5C,OAAOoB,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;
|
|
1
|
+
{"version":3,"names":["details","icon","__","initBlock","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","showContent","type","summary","source","selector","supports","__experimentalOnEnter","align","color","gradients","link","__experimentalDefaultControls","background","text","__experimentalBorder","width","style","html","spacing","margin","padding","blockGap","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowEditing","interactivity","clientNavigation","editorStyle","edit","save","settings","example","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/details/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { details as icon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsummary: 'La Mancha',\n\t\t\tshowContent: true,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tsave,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,IAAI,QAAQ,kBAAkB;AAClD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,WAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAD,IAAA;MAAAE,MAAA;MAAAC,QAAA;IAAA;EAAA;EAAAC,QAAA;IAAAC,qBAAA;IAAAC,KAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,oBAAA;MAAAN,KAAA;MAAAO,KAAA;MAAAC,KAAA;IAAA;IAAAC,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,QAAA;MAAAV,6BAAA;QAAAQ,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAnB,6BAAA;QAAAY,QAAA;MAAA;IAAA;IAAAQ,MAAA;MAAAC,YAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAnB,KAAA;AAAA;AAE5C,OAAOoB,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAE5C;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM6C,QAAQ,GAAG;EACvBnD,IAAI;EACJoD,OAAO,EAAE;IACRxC,UAAU,EAAE;MACXG,OAAO,EAAE,WAAW;MACpBF,WAAW,EAAE;IACd,CAAC;IACDwC,WAAW,EAAE,CACZ;MACC/C,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACX0C,OAAO,EAAErD,EAAE,CACV,kOACD;MACD;IACD,CAAC;EAEH,CAAC;EACDiD,IAAI;EACJD;AACD,CAAC;AAED,OAAO,MAAMM,IAAI,GAAGA,CAAA,KAAMrD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEgD;AAAS,CAAE,CAAC"}
|
|
@@ -48,6 +48,9 @@ const PLACEHOLDER_TEXT = Platform.isNative ? __('Add media') : __('Drag images,
|
|
|
48
48
|
const MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative ? {
|
|
49
49
|
type: 'stepper'
|
|
50
50
|
} : {};
|
|
51
|
+
const DEFAULT_BLOCK = {
|
|
52
|
+
name: 'core/image'
|
|
53
|
+
};
|
|
51
54
|
const EMPTY_ARRAY = [];
|
|
52
55
|
function GalleryEdit(props) {
|
|
53
56
|
const {
|
|
@@ -81,7 +84,6 @@ function GalleryEdit(props) {
|
|
|
81
84
|
const {
|
|
82
85
|
getBlock,
|
|
83
86
|
getSettings,
|
|
84
|
-
preferredStyle,
|
|
85
87
|
innerBlockImages,
|
|
86
88
|
blockWasJustInserted,
|
|
87
89
|
multiGallerySelection
|
|
@@ -94,12 +96,10 @@ function GalleryEdit(props) {
|
|
|
94
96
|
getBlock: _getBlock,
|
|
95
97
|
wasBlockJustInserted
|
|
96
98
|
} = select(blockEditorStore);
|
|
97
|
-
const preferredStyleVariations = _getSettings().__experimentalPreferredStyleVariations;
|
|
98
99
|
const multiSelectedClientIds = getMultiSelectedBlockClientIds();
|
|
99
100
|
return {
|
|
100
101
|
getBlock: _getBlock,
|
|
101
102
|
getSettings: _getSettings,
|
|
102
|
-
preferredStyle: preferredStyleVariations?.value?.['core/image'],
|
|
103
103
|
innerBlockImages: (_getBlock$innerBlocks = _getBlock(clientId)?.innerBlocks) !== null && _getBlock$innerBlocks !== void 0 ? _getBlock$innerBlocks : EMPTY_ARRAY,
|
|
104
104
|
blockWasJustInserted: wasBlockJustInserted(clientId, 'inserter_menu'),
|
|
105
105
|
multiGallerySelection: multiSelectedClientIds.length && multiSelectedClientIds.every(_clientId => getBlockName(_clientId) === 'core/gallery')
|
|
@@ -146,8 +146,6 @@ function GalleryEdit(props) {
|
|
|
146
146
|
let newClassName;
|
|
147
147
|
if (imageAttributes.className && imageAttributes.className !== '') {
|
|
148
148
|
newClassName = imageAttributes.className;
|
|
149
|
-
} else {
|
|
150
|
-
newClassName = preferredStyle ? `is-style-${preferredStyle}` : undefined;
|
|
151
149
|
}
|
|
152
150
|
let newLinkTarget;
|
|
153
151
|
if (imageAttributes.linkTarget || imageAttributes.rel) {
|
|
@@ -355,6 +353,8 @@ function GalleryEdit(props) {
|
|
|
355
353
|
marginVertical: 0
|
|
356
354
|
};
|
|
357
355
|
const innerBlocksProps = useInnerBlocksProps(blockProps, {
|
|
356
|
+
defaultBlock: DEFAULT_BLOCK,
|
|
357
|
+
directInsert: true,
|
|
358
358
|
orientation: 'horizontal',
|
|
359
359
|
renderAppender: false,
|
|
360
360
|
...nativeInnerBlockProps
|