class CustomSidebar extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = `
Triggers
Webhook Trigger
Scheduled Trigger
Actions
API Request
Database Query
Logic
If Condition
Switch
`; this.setupDragEvents(); } setupDragEvents() { const nodeItems = this.shadowRoot.querySelectorAll('.node-item'); nodeItems.forEach(node => { node.addEventListener('dragstart', (event) => { event.dataTransfer.setData('application/reactflow', node.dataset.type); event.dataTransfer.setData('application/reactflow-label', node.dataset.label); event.dataTransfer.effectAllowed = 'move'; }); }); } } customElements.define('custom-sidebar', CustomSidebar);