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