class CustomHero extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = `
Open to Work

Hi, I'm Kent Vuong Full-Stack & DevOps Engineer

I build scalable web applications and robust cloud infrastructure. Passionate about clean code, automation, and delivering exceptional user experiences.

View Projects Contact Me
`; // Re-run feather replace for this shadow DOM content // Since feather.replace() in main body won't reach shadow root const svg = this.shadowRoot.querySelector('svg'); // We manually set the SVG content or assume the global feather script handles it if the element exists in DOM. // However, Feather Icons replace() only targets elements in the document. // A quick workaround for Shadow DOM: const icons = this.shadowRoot.querySelectorAll('[data-feather]'); icons.forEach(icon => { const name = icon.getAttribute('data-feather'); // Simple SVG strings for icons used in this component let svgContent = ''; if(name === 'arrow-right') { svgContent = ``; } icon.outerHTML = svgContent; }); } } customElements.define('custom-hero', CustomHero);