@wordpress/block-library 8.21.0 → 8.21.1-next.f8d8eceb.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/avatar/index.js +5 -1
- package/build/avatar/index.js.map +1 -1
- package/build/block/edit-title.native.js +11 -3
- package/build/block/edit-title.native.js.map +1 -1
- package/build/column/edit.js +2 -1
- package/build/column/edit.js.map +1 -1
- package/build/column/edit.native.js +2 -1
- package/build/column/edit.native.js.map +1 -1
- package/build/columns/edit.native.js +2 -1
- package/build/columns/edit.native.js.map +1 -1
- package/build/cover/controls.native.js +2 -1
- package/build/cover/controls.native.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +2 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/file/view.js +1 -1
- package/build/file/view.js.map +1 -1
- package/build/form/edit.js +1 -1
- package/build/form/edit.js.map +1 -1
- package/build/form/variations.js +1 -1
- package/build/form/variations.js.map +1 -1
- package/build/form-input/index.js +1 -1
- package/build/form-input/variations.js +7 -7
- package/build/form-input/variations.js.map +1 -1
- package/build/form-submission-notification/variations.js +4 -4
- package/build/form-submission-notification/variations.js.map +1 -1
- package/build/form-submit-button/index.js +1 -1
- package/build/group/edit.js +2 -11
- package/build/group/edit.js.map +1 -1
- package/build/html/preview.js +2 -4
- package/build/html/preview.js.map +1 -1
- package/build/image/image.js +11 -5
- package/build/image/image.js.map +1 -1
- package/build/image/view.js +10 -20
- package/build/image/view.js.map +1 -1
- package/build/missing/edit.native.js +46 -8
- package/build/missing/edit.native.js.map +1 -1
- package/build/paragraph/edit.js +1 -1
- package/build/paragraph/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +2 -2
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/query/edit/enhanced-pagination-modal.js +27 -13
- package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js +15 -12
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build/query/utils.js +29 -8
- package/build/query/utils.js.map +1 -1
- package/build/query/view.js +4 -2
- package/build/query/view.js.map +1 -1
- package/build/search/edit.js +1 -2
- package/build/search/edit.js.map +1 -1
- package/build/social-link/edit.native.js +7 -19
- package/build/social-link/edit.native.js.map +1 -1
- package/build/spacer/controls.js +3 -3
- package/build/spacer/controls.js.map +1 -1
- package/build/spacer/controls.native.js +2 -1
- package/build/spacer/controls.native.js.map +1 -1
- package/build/spacer/edit.js +1 -1
- package/build/spacer/edit.js.map +1 -1
- package/build/spacer/edit.native.js +5 -1
- package/build/spacer/edit.native.js.map +1 -1
- package/build/tag-cloud/edit.js +2 -1
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/inner-blocks.js +2 -2
- package/build/template-part/edit/inner-blocks.js.map +1 -1
- package/build/term-description/index.js +0 -1
- package/build/term-description/index.js.map +1 -1
- package/build-module/avatar/index.js +5 -1
- package/build-module/avatar/index.js.map +1 -1
- package/build-module/block/edit-title.native.js +12 -4
- package/build-module/block/edit-title.native.js.map +1 -1
- package/build-module/column/edit.js +3 -2
- package/build-module/column/edit.js.map +1 -1
- package/build-module/column/edit.native.js +3 -2
- package/build-module/column/edit.native.js.map +1 -1
- package/build-module/columns/edit.native.js +3 -2
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/cover/controls.native.js +3 -2
- package/build-module/cover/controls.native.js.map +1 -1
- package/build-module/cover/edit/index.js +3 -2
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +3 -2
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/file/view.js +2 -2
- package/build-module/file/view.js.map +1 -1
- package/build-module/form/edit.js +1 -1
- package/build-module/form/edit.js.map +1 -1
- package/build-module/form/variations.js +1 -1
- package/build-module/form/variations.js.map +1 -1
- package/build-module/form-input/index.js +1 -1
- package/build-module/form-input/variations.js +7 -7
- package/build-module/form-input/variations.js.map +1 -1
- package/build-module/form-submission-notification/variations.js +4 -4
- package/build-module/form-submission-notification/variations.js.map +1 -1
- package/build-module/form-submit-button/index.js +1 -1
- package/build-module/group/edit.js +3 -12
- package/build-module/group/edit.js.map +1 -1
- package/build-module/html/preview.js +2 -4
- package/build-module/html/preview.js.map +1 -1
- package/build-module/image/image.js +12 -6
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/view.js +10 -20
- package/build-module/image/view.js.map +1 -1
- package/build-module/missing/edit.native.js +47 -9
- package/build-module/missing/edit.native.js.map +1 -1
- package/build-module/paragraph/edit.js +2 -2
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +3 -3
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js +28 -14
- package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +17 -14
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build-module/query/utils.js +27 -5
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query/view.js +4 -2
- package/build-module/query/view.js.map +1 -1
- package/build-module/search/edit.js +2 -3
- package/build-module/search/edit.js.map +1 -1
- package/build-module/social-link/edit.native.js +8 -20
- package/build-module/social-link/edit.native.js.map +1 -1
- package/build-module/spacer/controls.js +4 -4
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/spacer/controls.native.js +3 -2
- package/build-module/spacer/controls.native.js.map +1 -1
- package/build-module/spacer/edit.js +2 -2
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/spacer/edit.native.js +6 -2
- package/build-module/spacer/edit.native.js.map +1 -1
- package/build-module/tag-cloud/edit.js +3 -2
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/inner-blocks.js +3 -3
- package/build-module/template-part/edit/inner-blocks.js.map +1 -1
- package/build-module/term-description/index.js +0 -1
- package/build-module/term-description/index.js.map +1 -1
- package/build-style/file/style-rtl.css +0 -5
- package/build-style/file/style.css +0 -5
- package/build-style/navigation/style-rtl.css +5 -0
- package/build-style/navigation/style.css +5 -0
- package/build-style/style-rtl.css +5 -5
- package/build-style/style.css +5 -5
- package/package.json +32 -32
- package/src/avatar/block.json +5 -1
- package/src/block/edit-title.native.js +16 -13
- package/src/calendar/index.php +2 -6
- package/src/column/edit.js +3 -8
- package/src/column/edit.native.js +3 -8
- package/src/columns/edit.native.js +3 -8
- package/src/comment-author-avatar/index.php +1 -1
- package/src/cover/controls.native.js +3 -8
- package/src/cover/edit/index.js +3 -2
- package/src/cover/edit/inspector-controls.js +3 -8
- package/src/file/index.php +2 -1
- package/src/file/style.scss +0 -6
- package/src/file/view.js +2 -2
- package/src/form/edit.js +1 -1
- package/src/form/variations.js +1 -1
- package/src/form-input/block.json +1 -1
- package/src/form-input/variations.js +7 -7
- package/src/form-submission-notification/variations.js +4 -4
- package/src/form-submit-button/block.json +1 -1
- package/src/freeform/test/__snapshots__/index.native.js.snap +7 -0
- package/src/freeform/test/index.native.js +57 -0
- package/src/group/edit.js +2 -7
- package/src/html/preview.js +9 -4
- package/src/image/image.js +17 -6
- package/src/image/index.php +5 -6
- package/src/image/view.js +13 -19
- package/src/missing/edit.native.js +43 -6
- package/src/navigation/index.php +1 -1
- package/src/navigation/style.scss +6 -1
- package/src/paragraph/edit.js +2 -2
- package/src/post-featured-image/dimension-controls.js +3 -3
- package/src/query/edit/enhanced-pagination-modal.js +37 -21
- package/src/query/edit/inspector-controls/enhanced-pagination-control.js +18 -22
- package/src/query/index.php +97 -8
- package/src/query/utils.js +29 -8
- package/src/query/view.js +11 -2
- package/src/query-pagination-next/index.php +1 -1
- package/src/query-pagination-previous/index.php +1 -1
- package/src/search/edit.js +5 -3
- package/src/social-link/edit.native.js +12 -26
- package/src/social-link/editor.native.scss +0 -9
- package/src/social-link/index.php +2 -2
- package/src/spacer/controls.js +9 -12
- package/src/spacer/controls.native.js +3 -8
- package/src/spacer/edit.js +2 -2
- package/src/spacer/edit.native.js +6 -5
- package/src/tag-cloud/edit.js +3 -7
- package/src/template-part/edit/inner-blocks.js +3 -3
- package/src/term-description/block.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","InspectorControls","useBlockProps","
|
|
1
|
+
{"version":3,"names":["classnames","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","InspectorControls","useBlockProps","useSettings","useInnerBlocksProps","store","blockEditorStore","__experimentalUseCustomUnits","useCustomUnits","PanelBody","__experimentalUnitControl","UnitControl","useSelect","useDispatch","sprintf","__","ColumnEdit","attributes","verticalAlignment","width","templateLock","allowedBlocks","setAttributes","clientId","classes","availableUnits","units","columnsIds","hasChildBlocks","rootClientId","select","getBlockOrder","getBlockRootClientId","rootId","length","updateBlockAttributes","updateAlignment","value","widthWithUnit","Number","isFinite","blockProps","className","style","flexBasis","undefined","columnsCount","currentColumnPosition","indexOf","label","innerBlocksProps","renderAppender","ButtonBlockAppender","createElement","Fragment","onChange","controls","title","labelPosition","__unstableInputWidth","nextWidth","parseFloat"],"sources":["@wordpress/block-library/src/column/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseSettings,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\tPanelBody,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { sprintf, __ } from '@wordpress/i18n';\n\nfunction ColumnEdit( {\n\tattributes: { verticalAlignment, width, templateLock, allowedBlocks },\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst classes = classnames( 'block-core-columns', {\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t} );\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t} );\n\n\tconst { columnsIds, hasChildBlocks, rootClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockOrder, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\thasChildBlocks: getBlockOrder( clientId ).length > 0,\n\t\t\t\trootClientId: rootId,\n\t\t\t\tcolumnsIds: getBlockOrder( rootId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst updateAlignment = ( value ) => {\n\t\t// Update own alignment.\n\t\tsetAttributes( { verticalAlignment: value } );\n\t\t// Reset parent Columns block.\n\t\tupdateBlockAttributes( rootClientId, {\n\t\t\tverticalAlignment: null,\n\t\t} );\n\t};\n\n\tconst widthWithUnit = Number.isFinite( width ) ? width + '%' : width;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t\tstyle: widthWithUnit ? { flexBasis: widthWithUnit } : undefined,\n\t} );\n\n\tconst columnsCount = columnsIds.length;\n\tconst currentColumnPosition = columnsIds.indexOf( clientId ) + 1;\n\n\tconst label = sprintf(\n\t\t/* translators: 1: Block label (i.e. \"Block: Column\"), 2: Position of the selected block, 3: Total number of sibling blocks of the same type */\n\t\t__( '%1$s (%2$d of %3$d)' ),\n\t\tblockProps[ 'aria-label' ],\n\t\tcurrentColumnPosition,\n\t\tcolumnsCount\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ ...blockProps, 'aria-label': label },\n\t\t{\n\t\t\ttemplateLock,\n\t\t\tallowedBlocks,\n\t\t\trenderAppender: hasChildBlocks\n\t\t\t\t? undefined\n\t\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t\t}\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\tcontrols={ [ 'top', 'center', 'bottom', 'stretch' ] }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tlabelPosition=\"edge\"\n\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth ) ? '0' : nextWidth;\n\t\t\t\t\t\t\tsetAttributes( { width: nextWidth } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\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\nexport default ColumnEdit;\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { View, Dimensions } from 'react-native';
|
|
|
10
10
|
import { withSelect } from '@wordpress/data';
|
|
11
11
|
import { compose, withPreferredColorScheme } from '@wordpress/compose';
|
|
12
12
|
import { useEffect, useState, useCallback } from '@wordpress/element';
|
|
13
|
-
import { InnerBlocks, BlockControls, BlockVerticalAlignmentToolbar, InspectorControls, store as blockEditorStore,
|
|
13
|
+
import { InnerBlocks, BlockControls, BlockVerticalAlignmentToolbar, InspectorControls, store as blockEditorStore, useSettings } from '@wordpress/block-editor';
|
|
14
14
|
import { PanelBody, FooterMessageControl, UnitControl, getValueAndUnit, __experimentalUseCustomUnits as useCustomUnits } from '@wordpress/components';
|
|
15
15
|
import { __ } from '@wordpress/i18n';
|
|
16
16
|
/**
|
|
@@ -46,8 +46,9 @@ function ColumnEdit({
|
|
|
46
46
|
} = getValueAndUnit(width) || {};
|
|
47
47
|
const screenWidth = Math.floor(Dimensions.get('window').width);
|
|
48
48
|
const [widthUnit, setWidthUnit] = useState(valueUnit || '%');
|
|
49
|
+
const [availableUnits] = useSettings('spacing.units');
|
|
49
50
|
const units = useCustomUnits({
|
|
50
|
-
availableUnits:
|
|
51
|
+
availableUnits: availableUnits || ['%', 'px', 'em', 'rem', 'vw']
|
|
51
52
|
});
|
|
52
53
|
const updateAlignment = alignment => {
|
|
53
54
|
setAttributes({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Dimensions","withSelect","compose","withPreferredColorScheme","useEffect","useState","useCallback","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","InspectorControls","store","blockEditorStore","useSetting","PanelBody","FooterMessageControl","UnitControl","getValueAndUnit","__experimentalUseCustomUnits","useCustomUnits","__","styles","ColumnsPreview","getWidths","getWidthWithUnit","isPercentageUnit","ColumnEdit","attributes","setAttributes","hasChildren","isSelected","getStylesFromColorScheme","contentStyle","columns","selectedColumnIndex","parentAlignment","clientId","blockWidth","verticalAlignment","width","valueUnit","screenWidth","Math","floor","get","widthUnit","setWidthUnit","units","availableUnits","updateAlignment","alignment","onChangeWidth","nextWidth","widthWithUnit","onChangeUnit","nextUnit","widthWithoutUnit","parseFloat","onChange","renderAppender","columnWidth","isFullWidth","createElement","style","columnAppender","fullwidthColumnAppender","fullwidthHasInnerColumnAppender","hasInnerColumnAppender","ButtonBlockAppender","columnPlaceholder","columnPlaceholderDark","parentWidth","Fragment","value","title","label","min","max","undefined","onComplete","onUnitChange","unit","preview","columnWidths","innerBlocksBottomSpace","ColumnEditWrapper","props","getVerticalAlignmentRemap","flexBase","select","getBlockCount","getBlockRootClientId","getSelectedBlockClientId","getBlocks","getBlockOrder","getBlockAttributes","selectedBlockClientId","parentId","blockOrder","indexOf"],"sources":["@wordpress/block-library/src/column/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport ColumnsPreview from './column-preview';\nimport {\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from '../columns/utils';\n\nfunction ColumnEdit( {\n\tattributes,\n\tsetAttributes,\n\thasChildren,\n\tisSelected,\n\tgetStylesFromColorScheme,\n\tcontentStyle,\n\tcolumns,\n\tselectedColumnIndex,\n\tparentAlignment,\n\tclientId,\n\tblockWidth,\n} ) {\n\tif ( ! contentStyle ) {\n\t\tcontentStyle = { [ clientId ]: {} };\n\t}\n\n\tconst { verticalAlignment, width } = attributes;\n\tconst { valueUnit = '%' } = getValueAndUnit( width ) || {};\n\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\n\tconst [ widthUnit, setWidthUnit ] = useState( valueUnit || '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst updateAlignment = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tuseEffect( () => {\n\t\tsetWidthUnit( valueUnit );\n\t}, [ valueUnit ] );\n\n\tuseEffect( () => {\n\t\tif ( ! verticalAlignment && parentAlignment ) {\n\t\t\tupdateAlignment( parentAlignment );\n\t\t}\n\t}, [] );\n\n\tconst onChangeWidth = ( nextWidth ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, widthUnit );\n\n\t\tsetAttributes( {\n\t\t\twidth: widthWithUnit,\n\t\t} );\n\t};\n\n\tconst onChangeUnit = ( nextUnit ) => {\n\t\tsetWidthUnit( nextUnit );\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\twidth || getWidths( columns )[ selectedColumnIndex ]\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\twidth: getWidthWithUnit( widthWithoutUnit, nextUnit ),\n\t\t} );\n\t};\n\n\tconst onChange = ( nextWidth ) => {\n\t\tif ( isPercentageUnit( widthUnit ) || ! widthUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth );\n\t};\n\n\tconst renderAppender = useCallback( () => {\n\t\tif ( isSelected ) {\n\t\t\tconst { width: columnWidth } = contentStyle[ clientId ] || {};\n\t\t\tconst isFullWidth = columnWidth === screenWidth;\n\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles.columnAppender,\n\t\t\t\t\t\tisFullWidth && styles.fullwidthColumnAppender,\n\t\t\t\t\t\tisFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.fullwidthHasInnerColumnAppender,\n\t\t\t\t\t\t! isFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.hasInnerColumnAppender,\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}, [ contentStyle, clientId, screenWidth, isSelected, hasChildren ] );\n\n\tif ( ! isSelected && ! hasChildren ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\tstyles.columnPlaceholder,\n\t\t\t\t\t\tstyles.columnPlaceholderDark\n\t\t\t\t\t),\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst parentWidth =\n\t\tcontentStyle &&\n\t\tcontentStyle[ clientId ] &&\n\t\tcontentStyle[ clientId ].width;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonComplete={ onChangeWidth }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tgetWidths( columns )[ selectedColumnIndex ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tpreview={\n\t\t\t\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\t\t\t\tcolumnWidths={ getWidths(\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tselectedColumnIndex={\n\t\t\t\t\t\t\t\t\t\t\tselectedColumnIndex\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</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisSelected && hasChildren && styles.innerBlocksBottomSpace,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nfunction ColumnEditWrapper( props ) {\n\tconst { verticalAlignment } = props.attributes;\n\n\tconst getVerticalAlignmentRemap = ( alignment ) => {\n\t\tif ( ! alignment ) return styles.flexBase;\n\t\treturn {\n\t\t\t...styles.flexBase,\n\t\t\t...styles[ `is-vertically-aligned-${ alignment }` ],\n\t\t};\n\t};\n\n\treturn (\n\t\t<View style={ getVerticalAlignmentRemap( verticalAlignment ) }>\n\t\t\t<ColumnEdit { ...props } />\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isSelected = selectedBlockClientId === clientId;\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst hasChildren = !! getBlockCount( clientId );\n\n\t\tconst blockOrder = getBlockOrder( parentId );\n\n\t\tconst selectedColumnIndex = blockOrder.indexOf( clientId );\n\t\tconst columns = getBlocks( parentId );\n\n\t\tconst parentAlignment =\n\t\t\tgetBlockAttributes( parentId )?.verticalAlignment;\n\n\t\treturn {\n\t\t\thasChildren,\n\t\t\tisSelected,\n\t\t\tselectedColumnIndex,\n\t\t\tcolumns,\n\t\t\tparentAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( ColumnEditWrapper );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["View","Dimensions","withSelect","compose","withPreferredColorScheme","useEffect","useState","useCallback","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","InspectorControls","store","blockEditorStore","useSettings","PanelBody","FooterMessageControl","UnitControl","getValueAndUnit","__experimentalUseCustomUnits","useCustomUnits","__","styles","ColumnsPreview","getWidths","getWidthWithUnit","isPercentageUnit","ColumnEdit","attributes","setAttributes","hasChildren","isSelected","getStylesFromColorScheme","contentStyle","columns","selectedColumnIndex","parentAlignment","clientId","blockWidth","verticalAlignment","width","valueUnit","screenWidth","Math","floor","get","widthUnit","setWidthUnit","availableUnits","units","updateAlignment","alignment","onChangeWidth","nextWidth","widthWithUnit","onChangeUnit","nextUnit","widthWithoutUnit","parseFloat","onChange","renderAppender","columnWidth","isFullWidth","createElement","style","columnAppender","fullwidthColumnAppender","fullwidthHasInnerColumnAppender","hasInnerColumnAppender","ButtonBlockAppender","columnPlaceholder","columnPlaceholderDark","parentWidth","Fragment","value","title","label","min","max","undefined","onComplete","onUnitChange","unit","preview","columnWidths","innerBlocksBottomSpace","ColumnEditWrapper","props","getVerticalAlignmentRemap","flexBase","select","getBlockCount","getBlockRootClientId","getSelectedBlockClientId","getBlocks","getBlockOrder","getBlockAttributes","selectedBlockClientId","parentId","blockOrder","indexOf"],"sources":["@wordpress/block-library/src/column/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport ColumnsPreview from './column-preview';\nimport {\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from '../columns/utils';\n\nfunction ColumnEdit( {\n\tattributes,\n\tsetAttributes,\n\thasChildren,\n\tisSelected,\n\tgetStylesFromColorScheme,\n\tcontentStyle,\n\tcolumns,\n\tselectedColumnIndex,\n\tparentAlignment,\n\tclientId,\n\tblockWidth,\n} ) {\n\tif ( ! contentStyle ) {\n\t\tcontentStyle = { [ clientId ]: {} };\n\t}\n\n\tconst { verticalAlignment, width } = attributes;\n\tconst { valueUnit = '%' } = getValueAndUnit( width ) || {};\n\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\n\tconst [ widthUnit, setWidthUnit ] = useState( valueUnit || '%' );\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t} );\n\n\tconst updateAlignment = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tuseEffect( () => {\n\t\tsetWidthUnit( valueUnit );\n\t}, [ valueUnit ] );\n\n\tuseEffect( () => {\n\t\tif ( ! verticalAlignment && parentAlignment ) {\n\t\t\tupdateAlignment( parentAlignment );\n\t\t}\n\t}, [] );\n\n\tconst onChangeWidth = ( nextWidth ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, widthUnit );\n\n\t\tsetAttributes( {\n\t\t\twidth: widthWithUnit,\n\t\t} );\n\t};\n\n\tconst onChangeUnit = ( nextUnit ) => {\n\t\tsetWidthUnit( nextUnit );\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\twidth || getWidths( columns )[ selectedColumnIndex ]\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\twidth: getWidthWithUnit( widthWithoutUnit, nextUnit ),\n\t\t} );\n\t};\n\n\tconst onChange = ( nextWidth ) => {\n\t\tif ( isPercentageUnit( widthUnit ) || ! widthUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth );\n\t};\n\n\tconst renderAppender = useCallback( () => {\n\t\tif ( isSelected ) {\n\t\t\tconst { width: columnWidth } = contentStyle[ clientId ] || {};\n\t\t\tconst isFullWidth = columnWidth === screenWidth;\n\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles.columnAppender,\n\t\t\t\t\t\tisFullWidth && styles.fullwidthColumnAppender,\n\t\t\t\t\t\tisFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.fullwidthHasInnerColumnAppender,\n\t\t\t\t\t\t! isFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.hasInnerColumnAppender,\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}, [ contentStyle, clientId, screenWidth, isSelected, hasChildren ] );\n\n\tif ( ! isSelected && ! hasChildren ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\tstyles.columnPlaceholder,\n\t\t\t\t\t\tstyles.columnPlaceholderDark\n\t\t\t\t\t),\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst parentWidth =\n\t\tcontentStyle &&\n\t\tcontentStyle[ clientId ] &&\n\t\tcontentStyle[ clientId ].width;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonComplete={ onChangeWidth }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tgetWidths( columns )[ selectedColumnIndex ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tpreview={\n\t\t\t\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\t\t\t\tcolumnWidths={ getWidths(\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tselectedColumnIndex={\n\t\t\t\t\t\t\t\t\t\t\tselectedColumnIndex\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</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisSelected && hasChildren && styles.innerBlocksBottomSpace,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nfunction ColumnEditWrapper( props ) {\n\tconst { verticalAlignment } = props.attributes;\n\n\tconst getVerticalAlignmentRemap = ( alignment ) => {\n\t\tif ( ! alignment ) return styles.flexBase;\n\t\treturn {\n\t\t\t...styles.flexBase,\n\t\t\t...styles[ `is-vertically-aligned-${ alignment }` ],\n\t\t};\n\t};\n\n\treturn (\n\t\t<View style={ getVerticalAlignmentRemap( verticalAlignment ) }>\n\t\t\t<ColumnEdit { ...props } />\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isSelected = selectedBlockClientId === clientId;\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst hasChildren = !! getBlockCount( clientId );\n\n\t\tconst blockOrder = getBlockOrder( parentId );\n\n\t\tconst selectedColumnIndex = blockOrder.indexOf( clientId );\n\t\tconst columns = getBlocks( parentId );\n\n\t\tconst parentAlignment =\n\t\t\tgetBlockAttributes( parentId )?.verticalAlignment;\n\n\t\treturn {\n\t\t\thasChildren,\n\t\t\tisSelected,\n\t\t\tselectedColumnIndex,\n\t\t\tcolumns,\n\t\t\tparentAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( ColumnEditWrapper );\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { View, Dimensions } from 'react-native';
|
|
|
9
9
|
*/
|
|
10
10
|
import { __, sprintf } from '@wordpress/i18n';
|
|
11
11
|
import { PanelBody, RangeControl, FooterMessageControl, UnitControl, getValueAndUnit, GlobalStylesContext, alignmentHelpers, __experimentalUseCustomUnits as useCustomUnits } from '@wordpress/components';
|
|
12
|
-
import { InspectorControls, InnerBlocks, BlockControls, BlockVerticalAlignmentToolbar, BlockVariationPicker,
|
|
12
|
+
import { InspectorControls, InnerBlocks, BlockControls, BlockVerticalAlignmentToolbar, BlockVariationPicker, useSettings, store as blockEditorStore } from '@wordpress/block-editor';
|
|
13
13
|
import { withDispatch, useSelect } from '@wordpress/data';
|
|
14
14
|
import { useEffect, useState, useContext, useMemo, useCallback, memo } from '@wordpress/element';
|
|
15
15
|
import { useResizeObserver } from '@wordpress/compose';
|
|
@@ -74,8 +74,9 @@ function ColumnsEditContainer({
|
|
|
74
74
|
const {
|
|
75
75
|
width
|
|
76
76
|
} = sizes || {};
|
|
77
|
+
const [availableUnits] = useSettings('spacing.units');
|
|
77
78
|
const units = useCustomUnits({
|
|
78
|
-
availableUnits:
|
|
79
|
+
availableUnits: availableUnits || ['%', 'px', 'em', 'rem', 'vw']
|
|
79
80
|
});
|
|
80
81
|
useEffect(() => {
|
|
81
82
|
if (columnCount === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Dimensions","__","sprintf","PanelBody","RangeControl","FooterMessageControl","UnitControl","getValueAndUnit","GlobalStylesContext","alignmentHelpers","__experimentalUseCustomUnits","useCustomUnits","InspectorControls","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","BlockVariationPicker","useSetting","store","blockEditorStore","withDispatch","useSelect","useEffect","useState","useContext","useMemo","useCallback","memo","useResizeObserver","createBlock","columns","variations","styles","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","getWidths","getWidthWithUnit","isPercentageUnit","getColumnsInRow","calculateContainerWidth","getContentWidths","ColumnsPreview","ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","get","width","globalStyles","verticalAlignment","align","units","availableUnits","newColumnCount","renderAppender","createElement","style","columnAppender","ButtonBlockAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","settingLabel","key","clientId","length","min","max","undefined","value","onUnitChange","onComplete","unit","preview","columnWidths","selectedColumnIndex","onChangeColumnsNum","Fragment","title","icon","type","innerBlocksSelected","orientation","horizontal","allowedBlocks","contentResizeMode","blockWidth","contentStyle","parentWidth","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","innerBlocksList","isContentEmpty","every","innerBlock","parents","inn","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose"],"sources":["@wordpress/block-library/src/columns/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel={ __( 'Width' ) }\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\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} );\n\t}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerBlocks,\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\n\t\t\tconst innerBlocksList = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = innerBlocksList.every(\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length === 0\n\t\t\t);\n\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: isContentEmpty,\n\t\t\t\tinnerBlocks: innerBlocksList,\n\t\t\t\thasParents: parents.length > 0,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst innerWidths = useMemo(\n\t\t() =>\n\t\t\tinnerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) ),\n\t\t[ innerBlocks ]\n\t);\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tconst revealTimeout = setTimeout( () => setIsVisible( true ), 100 );\n\n\t\t\treturn () => clearTimeout( revealTimeout );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ innerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["View","Dimensions","__","sprintf","PanelBody","RangeControl","FooterMessageControl","UnitControl","getValueAndUnit","GlobalStylesContext","alignmentHelpers","__experimentalUseCustomUnits","useCustomUnits","InspectorControls","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","BlockVariationPicker","useSettings","store","blockEditorStore","withDispatch","useSelect","useEffect","useState","useContext","useMemo","useCallback","memo","useResizeObserver","createBlock","columns","variations","styles","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","getWidths","getWidthWithUnit","isPercentageUnit","getColumnsInRow","calculateContainerWidth","getContentWidths","ColumnsPreview","ALLOWED_BLOCKS","DEFAULT_COLUMNS_NUM","MIN_COLUMNS_NUM","isFullWidth","ColumnsEditContainer","attributes","updateAlignment","updateColumns","columnCount","isSelected","onDeleteBlock","innerWidths","updateInnerColumnWidth","editorSidebarOpened","resizeListener","sizes","columnsInRow","setColumnsInRow","screenWidth","Math","floor","get","width","globalStyles","verticalAlignment","align","availableUnits","units","newColumnCount","renderAppender","createElement","style","columnAppender","ButtonBlockAppender","onAddBlock","contentWidths","onChangeWidth","nextWidth","valueUnit","columnId","widthWithUnit","onChangeUnit","nextUnit","index","widthWithoutUnit","parseFloat","onChange","getColumnsSliders","map","column","label","settingLabel","key","clientId","length","min","max","undefined","value","onUnitChange","onComplete","unit","preview","columnWidths","selectedColumnIndex","onChangeColumnsNum","Fragment","title","icon","type","innerBlocksSelected","orientation","horizontal","allowedBlocks","contentResizeMode","blockWidth","contentStyle","parentWidth","ColumnsEditContainerWrapper","dispatch","ownProps","registry","setAttributes","updateBlockAttributes","getBlockOrder","select","innerBlockClientIds","forEach","innerBlockClientId","previousColumns","newColumns","replaceInnerBlocks","getBlocks","getBlockAttributes","innerBlocks","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","slice","onAddNextColumn","selectBlock","insertedBlock","removeBlock","ColumnsEdit","props","isDefaultColumns","hasParents","parentBlockAlignment","getBlockCount","getBlockParents","isEditorSidebarOpened","innerBlocksList","isContentEmpty","every","innerBlock","parents","inn","isVisible","setIsVisible","revealTimeout","setTimeout","clearTimeout","onClose"],"sources":["@wordpress/block-library/src/columns/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\tGlobalStylesContext,\n\talignmentHelpers,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tBlockVariationPicker,\n\tuseSettings,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseContext,\n\tuseMemo,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport { columns } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport styles from './editor.scss';\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from './utils';\nimport {\n\tgetColumnsInRow,\n\tcalculateContainerWidth,\n\tgetContentWidths,\n} from './columnCalculations.native';\nimport ColumnsPreview from '../column/column-preview';\n\n/**\n * Allowed blocks constant is passed to InnerBlocks precisely as specified here.\n * The contents of the array should never change.\n * The array should contain the name of each block that is allowed.\n * In columns block, the only block we allow is 'core/column'.\n *\n * @constant\n * @type {string[]}\n */\nconst ALLOWED_BLOCKS = [ 'core/column' ];\n\n/**\n * Number of columns to assume for template in case the user opts to skip\n * template option selection.\n *\n * @type {number}\n */\nconst DEFAULT_COLUMNS_NUM = 2;\n\n/**\n * Minimum number of columns in a row\n *\n * @type {number}\n */\nconst MIN_COLUMNS_NUM = 1;\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction ColumnsEditContainer( {\n\tattributes,\n\tupdateAlignment,\n\tupdateColumns,\n\tcolumnCount,\n\tisSelected,\n\tonDeleteBlock,\n\tinnerWidths,\n\tupdateInnerColumnWidth,\n\teditorSidebarOpened,\n} ) {\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst [ columnsInRow, setColumnsInRow ] = useState( MIN_COLUMNS_NUM );\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\tconst globalStyles = useContext( GlobalStylesContext );\n\n\tconst { verticalAlignment, align } = attributes;\n\tconst { width } = sizes || {};\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( columnCount === 0 ) {\n\t\t\tconst newColumnCount = columnCount || DEFAULT_COLUMNS_NUM;\n\t\t\tupdateColumns( columnCount, newColumnCount );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( width ) {\n\t\t\tif ( getColumnsInRow( width, columnCount ) !== columnsInRow ) {\n\t\t\t\tsetColumnsInRow( getColumnsInRow( width, columnCount ) );\n\t\t\t}\n\t\t}\n\t}, [ width, columnCount ] );\n\n\tconst renderAppender = () => {\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View style={ isFullWidth( align ) && styles.columnAppender }>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst contentWidths = useMemo(\n\t\t() =>\n\t\t\tgetContentWidths(\n\t\t\t\tcolumnsInRow,\n\t\t\t\twidth,\n\t\t\t\tcolumnCount,\n\t\t\t\tinnerWidths,\n\t\t\t\tglobalStyles\n\t\t\t),\n\t\t[ width, columnsInRow, columnCount, innerWidths, globalStyles ]\n\t);\n\n\tconst onAddBlock = useCallback( () => {\n\t\tupdateColumns( columnCount, columnCount + 1 );\n\t}, [ columnCount ] );\n\n\tconst onChangeWidth = ( nextWidth, valueUnit, columnId ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, valueUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChangeUnit = ( nextUnit, index, columnId ) => {\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\tgetWidths( innerWidths )[ index ]\n\t\t);\n\t\tconst widthWithUnit = getWidthWithUnit( widthWithoutUnit, nextUnit );\n\n\t\tupdateInnerColumnWidth( widthWithUnit, columnId );\n\t};\n\n\tconst onChange = ( nextWidth, valueUnit, columnId ) => {\n\t\tif ( isPercentageUnit( valueUnit ) || ! valueUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth, valueUnit, columnId );\n\t};\n\n\tconst getColumnsSliders = useMemo( () => {\n\t\tif ( ! editorSidebarOpened || ! isSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn innerWidths.map( ( column, index ) => {\n\t\t\tconst { valueUnit = '%' } =\n\t\t\t\tgetValueAndUnit( column.attributes.width ) || {};\n\t\t\tconst label = sprintf(\n\t\t\t\t/* translators: %d: column index. */\n\t\t\t\t__( 'Column %d' ),\n\t\t\t\tindex + 1\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tsettingLabel={ __( 'Width' ) }\n\t\t\t\t\tkey={ `${ column.clientId }-${\n\t\t\t\t\t\tgetWidths( innerWidths ).length\n\t\t\t\t\t}` }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tmax={\n\t\t\t\t\t\tisPercentageUnit( valueUnit ) || ! valueUnit\n\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ getWidths( innerWidths )[ index ] }\n\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\tonChange( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\tonChangeUnit( nextUnit, index, column.clientId )\n\t\t\t\t\t}\n\t\t\t\t\tonComplete={ ( nextWidth ) => {\n\t\t\t\t\t\tonChangeWidth( nextWidth, valueUnit, column.clientId );\n\t\t\t\t\t} }\n\t\t\t\t\tunit={ valueUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tpreview={\n\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\tcolumnWidths={ getWidths( innerWidths, false ) }\n\t\t\t\t\t\t\tselectedColumnIndex={ index }\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} );\n\t}, [ editorSidebarOpened, isSelected, innerWidths ] );\n\n\tconst onChangeColumnsNum = useCallback(\n\t\t( value ) => {\n\t\t\tupdateColumns( columnCount, value );\n\t\t},\n\t\t[ columnCount ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Columns Settings' ) }>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Number of columns' ) }\n\t\t\t\t\t\t\t\ticon={ columns }\n\t\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\t\tonChange={ onChangeColumnsNum }\n\t\t\t\t\t\t\t\tmin={ MIN_COLUMNS_NUM }\n\t\t\t\t\t\t\t\tmax={ columnCount + 1 }\n\t\t\t\t\t\t\t\ttype=\"stepper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ getColumnsSliders }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ isSelected && styles.innerBlocksSelected }>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ width && (\n\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\torientation={\n\t\t\t\t\t\t\tcolumnsInRow > 1 ? 'horizontal' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\thorizontal={ columnsInRow > 1 }\n\t\t\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\t\t\tcontentResizeMode=\"stretch\"\n\t\t\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\t\t\tonDeleteBlock={\n\t\t\t\t\t\t\tcolumnCount === 1 ? onDeleteBlock : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tblockWidth={ width }\n\t\t\t\t\t\tcontentStyle={ contentWidths }\n\t\t\t\t\t\tparentWidth={\n\t\t\t\t\t\t\tisFullWidth( align ) && columnCount === 0\n\t\t\t\t\t\t\t\t? screenWidth\n\t\t\t\t\t\t\t\t: calculateContainerWidth( width, columnsInRow )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nconst ColumnsEditContainerWrapper = withDispatch(\n\t( dispatch, ownProps, registry ) => ( {\n\t\t/**\n\t\t * Update all child Column blocks with a new vertical alignment setting\n\t\t * based on whatever alignment is passed in. This allows change to parent\n\t\t * to overide anything set on a individual column basis.\n\t\t *\n\t\t * @param {string} verticalAlignment the vertical alignment setting\n\t\t */\n\t\tupdateAlignment( verticalAlignment ) {\n\t\t\tconst { clientId, setAttributes } = ownProps;\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\t\tconst { getBlockOrder } = registry.select( blockEditorStore );\n\n\t\t\t// Update own alignment.\n\t\t\tsetAttributes( { verticalAlignment } );\n\n\t\t\t// Update all child Column Blocks to match.\n\t\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\t\t\tinnerBlockClientIds.forEach( ( innerBlockClientId ) => {\n\t\t\t\tupdateBlockAttributes( innerBlockClientId, {\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} );\n\t\t\t} );\n\t\t},\n\t\tupdateInnerColumnWidth( value, columnId ) {\n\t\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\n\t\t\tupdateBlockAttributes( columnId, {\n\t\t\t\twidth: value,\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t * Updates the column columnCount, including necessary revisions to child Column\n\t\t * blocks to grant required or redistribute available space.\n\t\t *\n\t\t * @param {number} previousColumns Previous column columnCount.\n\t\t * @param {number} newColumns New column columnCount.\n\t\t */\n\t\tupdateColumns( previousColumns, newColumns ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks } = dispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\tlet innerBlocks = getBlocks( clientId );\n\t\t\tconst hasExplicitWidths =\n\t\t\t\thasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t\t// Redistribute available width for existing inner blocks.\n\t\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId ) || {};\n\n\t\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t\t// constraining the available working width.\n\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t100 - newColumnWidth\n\t\t\t\t);\n\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else if ( isAddingColumn ) {\n\t\t\t\tinnerBlocks = [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t...Array.from( {\n\t\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t\t} ).map( () => {\n\t\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ),\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\t-( previousColumns - newColumns )\n\t\t\t\t);\n\n\t\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t\t100\n\t\t\t\t\t);\n\n\t\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t\t},\n\t\tonAddNextColumn: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { replaceInnerBlocks, selectBlock } =\n\t\t\t\tdispatch( blockEditorStore );\n\t\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\n\t\t\t// Get verticalAlignment from Columns block to set the same to new Column.\n\t\t\tconst { verticalAlignment } = getBlockAttributes( clientId );\n\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst insertedBlock = createBlock( 'core/column', {\n\t\t\t\tverticalAlignment,\n\t\t\t} );\n\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\t[ ...innerBlocks, insertedBlock ],\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t},\n\t\tonDeleteBlock: () => {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t} )\n)( memo( ColumnsEditContainer ) );\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId, isSelected, style } = props;\n\tconst {\n\t\tcolumnCount,\n\t\tisDefaultColumns,\n\t\tinnerBlocks,\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\teditorSidebarOpened,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\n\t\t\tconst innerBlocksList = getBlocks( clientId );\n\n\t\t\tconst isContentEmpty = innerBlocksList.every(\n\t\t\t\t( innerBlock ) => innerBlock.innerBlocks.length === 0\n\t\t\t);\n\n\t\t\tconst parents = getBlockParents( clientId, true );\n\n\t\t\treturn {\n\t\t\t\tcolumnCount: getBlockCount( clientId ),\n\t\t\t\tisDefaultColumns: isContentEmpty,\n\t\t\t\tinnerBlocks: innerBlocksList,\n\t\t\t\thasParents: parents.length > 0,\n\t\t\t\tparentBlockAlignment: getBlockAttributes( parents[ 0 ] )?.align,\n\t\t\t\teditorSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst innerWidths = useMemo(\n\t\t() =>\n\t\t\tinnerBlocks.map( ( inn ) => ( {\n\t\t\t\tclientId: inn.clientId,\n\t\t\t\tattributes: { width: inn.attributes.width },\n\t\t\t} ) ),\n\t\t[ innerBlocks ]\n\t);\n\n\tconst [ isVisible, setIsVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isSelected && isDefaultColumns ) {\n\t\t\tconst revealTimeout = setTimeout( () => setIsVisible( true ), 100 );\n\n\t\t\treturn () => clearTimeout( revealTimeout );\n\t\t}\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\tsetIsVisible( false );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ style }>\n\t\t\t<ColumnsEditContainerWrapper\n\t\t\t\tcolumnCount={ columnCount }\n\t\t\t\tinnerWidths={ innerWidths }\n\t\t\t\thasParents={ hasParents }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\teditorSidebarOpened={ editorSidebarOpened }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<BlockVariationPicker\n\t\t\t\tvariations={ variations }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisVisible={ isVisible }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import { Image, Icon, IMAGE_DEFAULT_FOCAL_POINT, PanelBody, RangeControl, UnitCo
|
|
|
12
12
|
import { plus } from '@wordpress/icons';
|
|
13
13
|
import { useState, useCallback, useRef } from '@wordpress/element';
|
|
14
14
|
import { usePreferredColorSchemeStyle } from '@wordpress/compose';
|
|
15
|
-
import {
|
|
15
|
+
import { useSettings, MediaUpload } from '@wordpress/block-editor';
|
|
16
16
|
import { __ } from '@wordpress/i18n';
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -48,8 +48,9 @@ function Controls({
|
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
}, [minHeight]);
|
|
51
|
+
const [availableUnits] = useSettings('spacing.units');
|
|
51
52
|
const units = useCustomUnits({
|
|
52
|
-
availableUnits:
|
|
53
|
+
availableUnits: availableUnits || ['px', 'em', 'rem', 'vw', 'vh'],
|
|
53
54
|
defaultValues: {
|
|
54
55
|
px: 430,
|
|
55
56
|
em: 20,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Video","Image","Icon","IMAGE_DEFAULT_FOCAL_POINT","PanelBody","RangeControl","UnitControl","TextControl","BottomSheet","ToggleControl","__experimentalUseCustomUnits","useCustomUnits","plus","useState","useCallback","useRef","usePreferredColorSchemeStyle","useSetting","MediaUpload","__","styles","OverlayColorSettings","FocalPointSettingsButton","ALLOWED_MEDIA_TYPES","COVER_MIN_HEIGHT","COVER_MAX_HEIGHT","COVER_DEFAULT_HEIGHT","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","Controls","attributes","didUploadFail","hasOnlyColorBackground","isUploadInProgress","onClearMedia","onSelectMedia","setAttributes","backgroundType","dimRatio","hasParallax","focalPoint","minHeight","minHeightUnit","url","CONTAINER_HEIGHT","onHeightChange","value","units","availableUnits","defaultValues","px","em","rem","vw","vh","onOpacityChange","onChangeUnit","nextUnit","Math","max","displayPlaceholder","setDisplayPlaceholder","setFocalPoint","toggleParallax","undefined","addMediaButtonStyle","addMediaButton","addMediaButtonDark","focalPointPosition","x","y","left","top","videoNaturalSize","setVideoNaturalSize","videoRef","mediaBackground","mediaBackgroundDark","imagePreviewStyles","imagePlaceholder","videoPreviewStyles","aspectRatio","width","height","opacity","video","focalPointHint","createElement","icon","size","style","renderMediaSection","open","openMediaOptions","getMediaOptions","Fragment","Cell","accessible","cellContainerStyle","mediaPreview","mediaInner","editButton","highlightSelected","isSelected","isUploadFailed","mediaPickerOptions","destructiveButton","id","label","onPress","separated","onImageDataLoad","onSelectMediaUploadOption","image","muted","paused","disableFocus","onLoadStart","onLoad","event","naturalSize","current","seek","ref","resizeMode","source","uri","disabled","onFocalPointChange","checked","onChange","leftAlign","labelStyle","clearMediaButton","accessibilityLabel","title","allowedTypes","isReplacingMedia","onSelect","render","overlayColor","customOverlayColor","gradient","customGradient","minimumValue","maximumValue","rangeCellContainer","separatorType","min","unit","onUnitChange","key"],"sources":["@wordpress/block-library/src/cover/controls.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\nimport Video from 'react-native-video';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tImage,\n\tIcon,\n\tIMAGE_DEFAULT_FOCAL_POINT,\n\tPanelBody,\n\tRangeControl,\n\tUnitControl,\n\tTextControl,\n\tBottomSheet,\n\tToggleControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { plus } from '@wordpress/icons';\nimport { useState, useCallback, useRef } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSetting, MediaUpload } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport OverlayColorSettings from './overlay-color-settings';\nimport FocalPointSettingsButton from './focal-point-settings-button';\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tCOVER_MIN_HEIGHT,\n\tCOVER_MAX_HEIGHT,\n\tCOVER_DEFAULT_HEIGHT,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n} from './shared';\n\nfunction Controls( {\n\tattributes,\n\tdidUploadFail,\n\thasOnlyColorBackground,\n\tisUploadInProgress,\n\tonClearMedia,\n\tonSelectMedia,\n\tsetAttributes,\n} ) {\n\tconst {\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\thasParallax,\n\t\tfocalPoint,\n\t\tminHeight,\n\t\tminHeightUnit = 'px',\n\t\turl,\n\t} = attributes;\n\tconst CONTAINER_HEIGHT = minHeight || COVER_DEFAULT_HEIGHT;\n\tconst onHeightChange = useCallback(\n\t\t( value ) => {\n\t\t\tif ( minHeight || value !== COVER_DEFAULT_HEIGHT ) {\n\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t}\n\t\t},\n\t\t[ minHeight ]\n\t);\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 430, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst onOpacityChange = useCallback( ( value ) => {\n\t\tsetAttributes( { dimRatio: value } );\n\t}, [] );\n\n\tconst onChangeUnit = useCallback( ( nextUnit ) => {\n\t\tsetAttributes( {\n\t\t\tminHeightUnit: nextUnit,\n\t\t\tminHeight:\n\t\t\t\tnextUnit === 'px'\n\t\t\t\t\t? Math.max( CONTAINER_HEIGHT, COVER_MIN_HEIGHT )\n\t\t\t\t\t: CONTAINER_HEIGHT,\n\t\t} );\n\t}, [] );\n\n\tconst [ displayPlaceholder, setDisplayPlaceholder ] = useState( true );\n\n\tfunction setFocalPoint( value ) {\n\t\tsetAttributes( { focalPoint: value } );\n\t}\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax\n\t\t\t\t? { focalPoint: undefined }\n\t\t\t\t: { focalPoint: IMAGE_DEFAULT_FOCAL_POINT } ),\n\t\t} );\n\t};\n\n\tconst addMediaButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.addMediaButton,\n\t\tstyles.addMediaButtonDark\n\t);\n\n\tfunction focalPointPosition( { x, y } = IMAGE_DEFAULT_FOCAL_POINT ) {\n\t\treturn {\n\t\t\tleft: `${ ( hasParallax ? 0.5 : x ) * 100 }%`,\n\t\t\ttop: `${ ( hasParallax ? 0.5 : y ) * 100 }%`,\n\t\t};\n\t}\n\n\tconst [ videoNaturalSize, setVideoNaturalSize ] = useState( null );\n\tconst videoRef = useRef( null );\n\n\tconst mediaBackground = usePreferredColorSchemeStyle(\n\t\tstyles.mediaBackground,\n\t\tstyles.mediaBackgroundDark\n\t);\n\tconst imagePreviewStyles = [\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\tconst videoPreviewStyles = [\n\t\t{\n\t\t\taspectRatio:\n\t\t\t\tvideoNaturalSize &&\n\t\t\t\tvideoNaturalSize.width / videoNaturalSize.height,\n\t\t\t// Hide Video component since it has black background while loading the source\n\t\t\topacity: displayPlaceholder ? 0 : 1,\n\t\t},\n\t\tstyles.video,\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\n\tconst focalPointHint = ! hasParallax && ! displayPlaceholder && (\n\t\t<Icon\n\t\t\ticon={ plus }\n\t\t\tsize={ styles.focalPointHint?.width }\n\t\t\tstyle={ [\n\t\t\t\tstyles.focalPointHint,\n\t\t\t\tfocalPointPosition( focalPoint ),\n\t\t\t] }\n\t\t/>\n\t);\n\n\tconst renderMediaSection = ( {\n\t\topen: openMediaOptions,\n\t\tgetMediaOptions,\n\t} ) => (\n\t\t<>\n\t\t\t{ getMediaOptions() }\n\t\t\t{ url ? (\n\t\t\t\t<>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\taccessible={ false }\n\t\t\t\t\t\tcellContainerStyle={ [\n\t\t\t\t\t\t\tstyles.mediaPreview,\n\t\t\t\t\t\t\tmediaBackground,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.mediaInner }>\n\t\t\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\teditButton={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\thighlightSelected={ false }\n\t\t\t\t\t\t\t\t\tisSelected={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\tisUploadFailed={ didUploadFail }\n\t\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\t\tmediaPickerOptions={ [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tdestructiveButton: true,\n\t\t\t\t\t\t\t\t\t\t\tid: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t\tlabel: __( 'Clear Media' ),\n\t\t\t\t\t\t\t\t\t\t\tonPress: onClearMedia,\n\t\t\t\t\t\t\t\t\t\t\tseparated: true,\n\t\t\t\t\t\t\t\t\t\t\tvalue: 'clearMedia',\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\tonImageDataLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\t\t\tstyle={ imagePreviewStyles }\n\t\t\t\t\t\t\t\t\twidth={ styles.image?.width }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Video\n\t\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\t\tpaused\n\t\t\t\t\t\t\t\t\tdisableFocus\n\t\t\t\t\t\t\t\t\tonLoadStart={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tconst { height, width } =\n\t\t\t\t\t\t\t\t\t\t\tevent.naturalSize;\n\t\t\t\t\t\t\t\t\t\tsetVideoNaturalSize( {\n\t\t\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t\t// Avoid invisible, paused video on Android, presumably\n\t\t\t\t\t\t\t\t\t\t// related to https://github.com/react-native-video/react-native-video/issues/1979\n\t\t\t\t\t\t\t\t\t\tvideoRef?.current.seek( 0 );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tref={ videoRef }\n\t\t\t\t\t\t\t\t\tresizeMode={ 'cover' }\n\t\t\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t\t\tstyle={ videoPreviewStyles }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPlaceholder ? null : focalPointHint }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t<FocalPointSettingsButton\n\t\t\t\t\t\tdisabled={ hasParallax }\n\t\t\t\t\t\tfocalPoint={ focalPoint || IMAGE_DEFAULT_FOCAL_POINT }\n\t\t\t\t\t\tonFocalPointChange={ setFocalPoint }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t/>\n\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\tlabel={ __( 'Clear Media' ) }\n\t\t\t\t\t\tlabelStyle={ styles.clearMediaButton }\n\t\t\t\t\t\tonPress={ onClearMedia }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<TextControl\n\t\t\t\t\taccessibilityLabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabelStyle={ addMediaButtonStyle }\n\t\t\t\t\tleftAlign\n\t\t\t\t\tonPress={ openMediaOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ ! hasOnlyColorBackground }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\trender={ renderMediaSection }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<OverlayColorSettings\n\t\t\t\toverlayColor={ attributes.overlayColor }\n\t\t\t\tcustomOverlayColor={ attributes.customOverlayColor }\n\t\t\t\tgradient={ attributes.gradient }\n\t\t\t\tcustomGradient={ attributes.customGradient }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\n\t\t\t{ url ? (\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tminimumValue={ 0 }\n\t\t\t\t\t\tmaximumValue={ 100 }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ onOpacityChange }\n\t\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\t\tseparatorType={ 'topFullWidth' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) : null }\n\n\t\t\t<PanelBody title={ __( 'Dimensions' ) }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tmin={ minHeightUnit === 'px' ? COVER_MIN_HEIGHT : 1 }\n\t\t\t\t\tmax={ COVER_MAX_HEIGHT }\n\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\tvalue={ CONTAINER_HEIGHT }\n\t\t\t\t\tonChange={ onHeightChange }\n\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\tkey={ minHeightUnit }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default Controls;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["View","Video","Image","Icon","IMAGE_DEFAULT_FOCAL_POINT","PanelBody","RangeControl","UnitControl","TextControl","BottomSheet","ToggleControl","__experimentalUseCustomUnits","useCustomUnits","plus","useState","useCallback","useRef","usePreferredColorSchemeStyle","useSettings","MediaUpload","__","styles","OverlayColorSettings","FocalPointSettingsButton","ALLOWED_MEDIA_TYPES","COVER_MIN_HEIGHT","COVER_MAX_HEIGHT","COVER_DEFAULT_HEIGHT","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","Controls","attributes","didUploadFail","hasOnlyColorBackground","isUploadInProgress","onClearMedia","onSelectMedia","setAttributes","backgroundType","dimRatio","hasParallax","focalPoint","minHeight","minHeightUnit","url","CONTAINER_HEIGHT","onHeightChange","value","availableUnits","units","defaultValues","px","em","rem","vw","vh","onOpacityChange","onChangeUnit","nextUnit","Math","max","displayPlaceholder","setDisplayPlaceholder","setFocalPoint","toggleParallax","undefined","addMediaButtonStyle","addMediaButton","addMediaButtonDark","focalPointPosition","x","y","left","top","videoNaturalSize","setVideoNaturalSize","videoRef","mediaBackground","mediaBackgroundDark","imagePreviewStyles","imagePlaceholder","videoPreviewStyles","aspectRatio","width","height","opacity","video","focalPointHint","createElement","icon","size","style","renderMediaSection","open","openMediaOptions","getMediaOptions","Fragment","Cell","accessible","cellContainerStyle","mediaPreview","mediaInner","editButton","highlightSelected","isSelected","isUploadFailed","mediaPickerOptions","destructiveButton","id","label","onPress","separated","onImageDataLoad","onSelectMediaUploadOption","image","muted","paused","disableFocus","onLoadStart","onLoad","event","naturalSize","current","seek","ref","resizeMode","source","uri","disabled","onFocalPointChange","checked","onChange","leftAlign","labelStyle","clearMediaButton","accessibilityLabel","title","allowedTypes","isReplacingMedia","onSelect","render","overlayColor","customOverlayColor","gradient","customGradient","minimumValue","maximumValue","rangeCellContainer","separatorType","min","unit","onUnitChange","key"],"sources":["@wordpress/block-library/src/cover/controls.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\nimport Video from 'react-native-video';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tImage,\n\tIcon,\n\tIMAGE_DEFAULT_FOCAL_POINT,\n\tPanelBody,\n\tRangeControl,\n\tUnitControl,\n\tTextControl,\n\tBottomSheet,\n\tToggleControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { plus } from '@wordpress/icons';\nimport { useState, useCallback, useRef } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSettings, MediaUpload } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport OverlayColorSettings from './overlay-color-settings';\nimport FocalPointSettingsButton from './focal-point-settings-button';\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tCOVER_MIN_HEIGHT,\n\tCOVER_MAX_HEIGHT,\n\tCOVER_DEFAULT_HEIGHT,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n} from './shared';\n\nfunction Controls( {\n\tattributes,\n\tdidUploadFail,\n\thasOnlyColorBackground,\n\tisUploadInProgress,\n\tonClearMedia,\n\tonSelectMedia,\n\tsetAttributes,\n} ) {\n\tconst {\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\thasParallax,\n\t\tfocalPoint,\n\t\tminHeight,\n\t\tminHeightUnit = 'px',\n\t\turl,\n\t} = attributes;\n\tconst CONTAINER_HEIGHT = minHeight || COVER_DEFAULT_HEIGHT;\n\tconst onHeightChange = useCallback(\n\t\t( value ) => {\n\t\t\tif ( minHeight || value !== COVER_DEFAULT_HEIGHT ) {\n\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t}\n\t\t},\n\t\t[ minHeight ]\n\t);\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, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst onOpacityChange = useCallback( ( value ) => {\n\t\tsetAttributes( { dimRatio: value } );\n\t}, [] );\n\n\tconst onChangeUnit = useCallback( ( nextUnit ) => {\n\t\tsetAttributes( {\n\t\t\tminHeightUnit: nextUnit,\n\t\t\tminHeight:\n\t\t\t\tnextUnit === 'px'\n\t\t\t\t\t? Math.max( CONTAINER_HEIGHT, COVER_MIN_HEIGHT )\n\t\t\t\t\t: CONTAINER_HEIGHT,\n\t\t} );\n\t}, [] );\n\n\tconst [ displayPlaceholder, setDisplayPlaceholder ] = useState( true );\n\n\tfunction setFocalPoint( value ) {\n\t\tsetAttributes( { focalPoint: value } );\n\t}\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax\n\t\t\t\t? { focalPoint: undefined }\n\t\t\t\t: { focalPoint: IMAGE_DEFAULT_FOCAL_POINT } ),\n\t\t} );\n\t};\n\n\tconst addMediaButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.addMediaButton,\n\t\tstyles.addMediaButtonDark\n\t);\n\n\tfunction focalPointPosition( { x, y } = IMAGE_DEFAULT_FOCAL_POINT ) {\n\t\treturn {\n\t\t\tleft: `${ ( hasParallax ? 0.5 : x ) * 100 }%`,\n\t\t\ttop: `${ ( hasParallax ? 0.5 : y ) * 100 }%`,\n\t\t};\n\t}\n\n\tconst [ videoNaturalSize, setVideoNaturalSize ] = useState( null );\n\tconst videoRef = useRef( null );\n\n\tconst mediaBackground = usePreferredColorSchemeStyle(\n\t\tstyles.mediaBackground,\n\t\tstyles.mediaBackgroundDark\n\t);\n\tconst imagePreviewStyles = [\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\tconst videoPreviewStyles = [\n\t\t{\n\t\t\taspectRatio:\n\t\t\t\tvideoNaturalSize &&\n\t\t\t\tvideoNaturalSize.width / videoNaturalSize.height,\n\t\t\t// Hide Video component since it has black background while loading the source\n\t\t\topacity: displayPlaceholder ? 0 : 1,\n\t\t},\n\t\tstyles.video,\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\n\tconst focalPointHint = ! hasParallax && ! displayPlaceholder && (\n\t\t<Icon\n\t\t\ticon={ plus }\n\t\t\tsize={ styles.focalPointHint?.width }\n\t\t\tstyle={ [\n\t\t\t\tstyles.focalPointHint,\n\t\t\t\tfocalPointPosition( focalPoint ),\n\t\t\t] }\n\t\t/>\n\t);\n\n\tconst renderMediaSection = ( {\n\t\topen: openMediaOptions,\n\t\tgetMediaOptions,\n\t} ) => (\n\t\t<>\n\t\t\t{ getMediaOptions() }\n\t\t\t{ url ? (\n\t\t\t\t<>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\taccessible={ false }\n\t\t\t\t\t\tcellContainerStyle={ [\n\t\t\t\t\t\t\tstyles.mediaPreview,\n\t\t\t\t\t\t\tmediaBackground,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.mediaInner }>\n\t\t\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\teditButton={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\thighlightSelected={ false }\n\t\t\t\t\t\t\t\t\tisSelected={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\tisUploadFailed={ didUploadFail }\n\t\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\t\tmediaPickerOptions={ [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tdestructiveButton: true,\n\t\t\t\t\t\t\t\t\t\t\tid: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t\tlabel: __( 'Clear Media' ),\n\t\t\t\t\t\t\t\t\t\t\tonPress: onClearMedia,\n\t\t\t\t\t\t\t\t\t\t\tseparated: true,\n\t\t\t\t\t\t\t\t\t\t\tvalue: 'clearMedia',\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\tonImageDataLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\t\t\tstyle={ imagePreviewStyles }\n\t\t\t\t\t\t\t\t\twidth={ styles.image?.width }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Video\n\t\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\t\tpaused\n\t\t\t\t\t\t\t\t\tdisableFocus\n\t\t\t\t\t\t\t\t\tonLoadStart={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tconst { height, width } =\n\t\t\t\t\t\t\t\t\t\t\tevent.naturalSize;\n\t\t\t\t\t\t\t\t\t\tsetVideoNaturalSize( {\n\t\t\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t\t// Avoid invisible, paused video on Android, presumably\n\t\t\t\t\t\t\t\t\t\t// related to https://github.com/react-native-video/react-native-video/issues/1979\n\t\t\t\t\t\t\t\t\t\tvideoRef?.current.seek( 0 );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tref={ videoRef }\n\t\t\t\t\t\t\t\t\tresizeMode={ 'cover' }\n\t\t\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t\t\tstyle={ videoPreviewStyles }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPlaceholder ? null : focalPointHint }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t<FocalPointSettingsButton\n\t\t\t\t\t\tdisabled={ hasParallax }\n\t\t\t\t\t\tfocalPoint={ focalPoint || IMAGE_DEFAULT_FOCAL_POINT }\n\t\t\t\t\t\tonFocalPointChange={ setFocalPoint }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t/>\n\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\tlabel={ __( 'Clear Media' ) }\n\t\t\t\t\t\tlabelStyle={ styles.clearMediaButton }\n\t\t\t\t\t\tonPress={ onClearMedia }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<TextControl\n\t\t\t\t\taccessibilityLabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabelStyle={ addMediaButtonStyle }\n\t\t\t\t\tleftAlign\n\t\t\t\t\tonPress={ openMediaOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ ! hasOnlyColorBackground }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\trender={ renderMediaSection }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<OverlayColorSettings\n\t\t\t\toverlayColor={ attributes.overlayColor }\n\t\t\t\tcustomOverlayColor={ attributes.customOverlayColor }\n\t\t\t\tgradient={ attributes.gradient }\n\t\t\t\tcustomGradient={ attributes.customGradient }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\n\t\t\t{ url ? (\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tminimumValue={ 0 }\n\t\t\t\t\t\tmaximumValue={ 100 }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ onOpacityChange }\n\t\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\t\tseparatorType={ 'topFullWidth' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) : null }\n\n\t\t\t<PanelBody title={ __( 'Dimensions' ) }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tmin={ minHeightUnit === 'px' ? COVER_MIN_HEIGHT : 1 }\n\t\t\t\t\tmax={ COVER_MAX_HEIGHT }\n\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\tvalue={ CONTAINER_HEIGHT }\n\t\t\t\t\tonChange={ onHeightChange }\n\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\tkey={ minHeightUnit }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default Controls;\n"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import { useEntityProp, store as coreStore } from '@wordpress/core-data';
|
|
|
11
11
|
import { useEffect, useMemo, useRef } from '@wordpress/element';
|
|
12
12
|
import { Placeholder, Spinner } from '@wordpress/components';
|
|
13
13
|
import { compose, useResizeObserver } from '@wordpress/compose';
|
|
14
|
-
import { withColors, ColorPalette, useBlockProps,
|
|
14
|
+
import { withColors, ColorPalette, useBlockProps, useSettings, useInnerBlocksProps, __experimentalUseGradient, store as blockEditorStore } from '@wordpress/block-editor';
|
|
15
15
|
import { __ } from '@wordpress/i18n';
|
|
16
16
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
17
17
|
import { isBlobURL } from '@wordpress/blob';
|
|
@@ -232,7 +232,8 @@ function CoverEdit({
|
|
|
232
232
|
});
|
|
233
233
|
|
|
234
234
|
// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.
|
|
235
|
-
const
|
|
235
|
+
const [fontSizes] = useSettings('typography.fontSizes');
|
|
236
|
+
const hasFontSizes = fontSizes?.length > 0;
|
|
236
237
|
const innerBlocksTemplate = getInnerBlocksTemplate({
|
|
237
238
|
fontSize: hasFontSizes ? 'large' : undefined
|
|
238
239
|
});
|