class ClaudeExamples extends HTMLElement { constructor() { super(); } connectedCallback() { this.attachShadow({ mode: 'open' }); this.render(); this.setupEventListeners(); } render() { this.shadowRoot.innerHTML = `
Try these examples:
`; } setupEventListeners() { const exampleButtons = this.shadowRoot.querySelectorAll('.example-button'); exampleButtons.forEach(button => { button.addEventListener('click', () => { const prompt = button.dataset.prompt; document.dispatchEvent(new CustomEvent('claude-fill-input', { detail: { prompt } })); }); }); // Hide examples after first user message document.addEventListener('claude-user-message-sent', () => { const container = this.shadowRoot.getElementById('examplesContainer'); container.classList.add('hidden'); }); // Show examples when starting new chat document.addEventListener('claude-new-chat', () => { const container = this.shadowRoot.getElementById('examplesContainer'); container.classList.remove('hidden'); }); } } customElements.define('claude-examples', ClaudeExamples);