import { createElement } from '@wordpress/element' import { useBlockProps, __experimentalUseBorderProps as useBorderProps, } from '@wordpress/block-editor' import classnames from 'classnames' const CustomImageField = ({ fieldDescriptor, fieldData, attributes, attributes: { aspectRatio, width, height, imageAlign, has_field_link, image_hover_effect, sizeSlug, }, }) => { const blockProps = useBlockProps({ className: classnames('ct-dynamic-media wp-block-image', { [`align${imageAlign}`]: imageAlign, }), style: { aspectRatio, width, height, }, ...(image_hover_effect !== 'none' ? { 'data-hover': image_hover_effect } : {}), }) const borderProps = useBorderProps(attributes) let maybeUrl = fieldData.value.value.url if (fieldData.value.value.sizes[sizeSlug]) { maybeUrl = fieldData.value.value.sizes[sizeSlug].url } const imageStyles = { ...borderProps.style, height: aspectRatio ? '100%' : height, width: !!aspectRatio && '100%', objectFit: !!(height || aspectRatio) && 'cover', } if (!maybeUrl) { return (
) } let content = ( ) return
{content}
} export default CustomImageField