import { Button } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; import { useState } from '@wordpress/element'; import UnitControl from './unit-control'; import { LinkIcon, UnlinkIcon } from './icons'; const PaddingControl = ({ attributes, setAttributes }) => { const { svgPaddingValues = [0, 0, 0, 0], // Default values for top, right, bottom, left svgPaddingUnits = ['px', 'px', 'px', 'px'], // Default units for top, right, bottom, left } = attributes; const [isPaddingLinked, setIsPaddingLinked] = useState(false); const handlePaddingChange = (value, index) => { const newPaddingValues = [...svgPaddingValues]; if (isPaddingLinked) { newPaddingValues.fill(value); } else { newPaddingValues[index] = value; } setAttributes({ svgPaddingValues: newPaddingValues }); }; const handleUnitChange = (unit, index) => { const newPaddingUnits = [...svgPaddingUnits]; if (isPaddingLinked) { newPaddingUnits.fill(unit); } else { newPaddingUnits[index] = unit; } setAttributes({ svgPaddingUnits: newPaddingUnits }); }; const togglePaddingLink = () => { const newIsPaddingLinked = !isPaddingLinked; setIsPaddingLinked(newIsPaddingLinked); if (!newIsPaddingLinked) { const value = svgPaddingValues[0] || svgPaddingValues[1] || svgPaddingValues[2] || svgPaddingValues[3] || 0; setAttributes({ svgPaddingValues: [value, value, value, value], svgPaddingUnits: [ svgPaddingUnits[0], svgPaddingUnits[0], svgPaddingUnits[0], svgPaddingUnits[0], ], }); } }; return ( <>