import { createElement, RawHTML } from '@wordpress/element' import { useSelect } from '@wordpress/data' import { __ } from 'ct-i18n' import classnames from 'classnames' import { useTaxonomies } from '../../../query/edit/utils/utils' const TaxonomyPreview = ({ postId, postType, fallback, attributes, attributes: { has_field_link, taxonomy: req_taxonomy, separator }, }) => { const taxonomies = useTaxonomies(postType) const { terms } = useSelect((select) => { return { terms: select('core').getEntityRecords( 'taxonomy', req_taxonomy ? req_taxonomy : taxonomies && taxonomies.length > 0 ? taxonomies[0].slug : '', { per_page: -1, post: postId, } ) || [], } }) if (terms.length === 0) { return fallback } let TagName = 'span' let attrs = {} if (has_field_link === 'yes') { TagName = 'a' attrs.href = '#' attrs.rel = 'noopener noreferrer' } return terms.map((t, index) => ( <> {index !== terms.length - 1 ? separator.replace(/ /g, '\u00A0') : ''} )) } export default TaxonomyPreview