File "edit.js"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/js/atomic/blocks/product-elements/title/edit.js
File size: 2.76 KB
MIME-type: text/x-java
Charset: utf-8
/**
* External dependencies
*/
import { __ } from '@wordpress/i18n';
import { Disabled, PanelBody, ToggleControl } from '@wordpress/components';
import { compose } from '@wordpress/compose';
import {
InspectorControls,
BlockControls,
AlignmentToolbar,
withColors,
PanelColorSettings,
FontSizePicker,
withFontSizes,
} from '@wordpress/block-editor';
import { isFeaturePluginBuild } from '@woocommerce/block-settings';
import HeadingToolbar from '@woocommerce/editor-components/heading-toolbar';
/**
* Internal dependencies
*/
import Block from './block';
import withProductSelector from '../shared/with-product-selector';
import { BLOCK_TITLE, BLOCK_ICON } from './constants';
const TitleEdit = ( {
color,
fontSize,
setFontSize,
setColor,
attributes,
setAttributes,
} ) => {
const { headingLevel, productLink, align } = attributes;
return (
<>
<BlockControls>
<HeadingToolbar
isCollapsed={ true }
minLevel={ 1 }
maxLevel={ 7 }
selectedLevel={ headingLevel }
onChange={ ( newLevel ) =>
setAttributes( { headingLevel: newLevel } )
}
/>
{ isFeaturePluginBuild() && (
<AlignmentToolbar
value={ align }
onChange={ ( newAlign ) => {
setAttributes( { align: newAlign } );
} }
/>
) }
</BlockControls>
<InspectorControls>
<PanelBody
title={ __( 'Content', 'woocommerce' ) }
>
<ToggleControl
label={ __(
'Link to Product Page',
'woocommerce'
) }
help={ __(
'Links the image to the single product listing.',
'woocommerce'
) }
checked={ productLink }
onChange={ () =>
setAttributes( {
productLink: ! productLink,
} )
}
/>
</PanelBody>
{ isFeaturePluginBuild() && (
<>
<PanelBody
title={ __(
'Text settings',
'woocommerce'
) }
>
<FontSizePicker
value={ fontSize.size }
onChange={ setFontSize }
/>
</PanelBody>
<PanelColorSettings
title={ __(
'Color settings',
'woocommerce'
) }
colorSettings={ [
{
value: color.color,
onChange: setColor,
label: __(
'Text color',
'woocommerce'
),
},
] }
></PanelColorSettings>
</>
) }
</InspectorControls>
<Disabled>
<Block { ...attributes } />
</Disabled>
</>
);
};
const Title = isFeaturePluginBuild()
? compose( [
withFontSizes( 'fontSize' ),
withColors( 'color', { textColor: 'color' } ),
withProductSelector( {
icon: BLOCK_ICON,
label: BLOCK_TITLE,
description: __(
'Choose a product to display its title.',
'woocommerce'
),
} ),
] )( TitleEdit )
: TitleEdit;
export default Title;