import * as React from 'react' import {__, _x} from '@wordpress/i18n' import cx from 'classnames' import { BaseControl, __experimentalView as View, __experimentalHStack as HStack, __experimentalVStack as VStack, Notice, } from '@wordpress/components' import { Label, } from '@ska/components' import { type RenderOptionProps, } from '@ska/plugin' import { isManagedVariation, useVariationOptionsEdit, VariationActions, type Variations, } from '../..' import { managedVariations, } from '../../../../data' import { type PluginOptions, } from '../../../../plugins/options' import './style.scss' // eslint-disable-next-line @typescript-eslint/no-empty-object-type export interface VariationsControlProps extends RenderOptionProps {} const VariationsControl: React.FC = props => { const [select, dispatch] = useVariationOptionsEdit() const variations = select.getOption('variations') as Variations const { category, } = props const { id: categoryId, label: categoryLabel, } = category const haveVariations = Object.keys(variations).length > 0 return ( {haveVariations && <> {Object.entries(variations).map(([slug, variation]) => { const { title, description, block, variation: variationJson, } = variation const isManaged = isManagedVariation(slug) const original = managedVariations[slug] || {} const { variation: originalVariationJson = '', } = original const isModified = isManaged && variationJson !== originalVariationJson return ( {block} {isModified && } {!!description &&

{description}

}
) })}
} {!haveVariations && <> }
) } export default VariationsControl