import * as React from 'react' import {__, _x} from '@wordpress/i18n' import { useContext, } from '@wordpress/element' import { Modal, SearchControl, __experimentalVStack as VStack, } from '@wordpress/components' import PresetPreview from './PresetPreview' import { useFilteredPresets, usePresets, useResolvedBlockPresets, type PresetSlug, } from '..' import { InspectorControlsContext, } from '../../../tailwind/inspector-controls' export interface PresetsModalProps { onAddPreset: (slug: PresetSlug) => void onRemovePreset: (slug: PresetSlug) => void onRequestClose: () => void } const PresetsModal: React.FC = ({ onAddPreset, onRemovePreset, onRequestClose, }) => { const { attributes, } = useContext(InspectorControlsContext) const { skaBlocks = {}, } = attributes const { p = [], } = skaBlocks const blockPresets = useResolvedBlockPresets(p) const {presets, info, filterTerm, setFilterTerm} = useFilteredPresets(usePresets()) return (
{Object.keys(presets).map(slug => { const hasPreset = blockPresets.findIndex(({id: presetId}) => presetId === slug) !== -1 return ( onAddPreset(slug)} onRemovePreset={() => onRemovePreset(slug)} /> ) })}
) } export default PresetsModal