class CustomDataTable extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = `
ID Timestamp Event Type Source Status Actions
LOG-8472 23:47:15 AKST THREAT DETECTED PERIMETER-ALPHA CRITICAL
LOG-8471 23:32:08 AKST SYSTEM SCAN CORE-FURNACE NOMINAL
LOG-8470 23:15:42 AKST BOT UPDATE ALPHA-WOLF WARNING
LOG-8469 22:58:27 AKST POWER FLUCTUATION GRID-BETA RESOLVED
`; // Initialize feather icons and add event listeners setTimeout(() => { const icons = this.shadowRoot.querySelectorAll('[data-feather]'); icons.forEach(icon => { feather.replace(icon); }); const actionButtons = this.shadowRoot.querySelectorAll('.action-btn'); actionButtons.forEach(button => { button.addEventListener('click', (e) => { const action = button.getAttribute('data-action'); this.handleTableAction(action, button.closest('tr')); }); }); }, 100); } handleTableAction(action, row) { const rowId = row.querySelector('td:first-child').textContent; const modal = document.createElement('div'); modal.style.cssText = ` position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.9); color: #ff9f1c; font-family: 'JetBrains Mono', monospace; padding: 2rem; z-index: 1000; overflow-y: auto; `; modal.innerHTML = `

ACTION: ${action.toUpperCase()} - ${rowId}

> Executing ${action} on ${rowId}...
> Processing request...
> Action completed successfully
> Systems updated
`; document.body.appendChild(modal); } } customElements.define('custom-data-table', CustomDataTable);