/** @jsx figma.widget.h */ const { widget } = figma; const { AutoLayout, SVG, Text, useSyncedState, usePropertyMenu } = widget; const buttonSrc = ` `; const downIconSrc = ` `; const upIconSrc = ` `; function Counter() { const [count, setCount] = useSyncedState('count', 0); const propertyMenu: WidgetPropertyMenuItem[] = [ { tooltip: 'Increment', propertyName: 'increment', itemType: 'action', icon: upIconSrc, }, ]; if (count > 0) { propertyMenu.push({ tooltip: 'Decrement', propertyName: 'decrement', itemType: 'action', icon: downIconSrc, }); } usePropertyMenu(propertyMenu, ({ propertyName }) => { if (propertyName === 'decrement') { setCount(count - 1); } else if (propertyName === 'increment') { setCount(count + 1); } }); return ( { setCount(count + 1); }} /> {count} ); } export default function () { widget.register(Counter); }