import styles from '!raw-loader!sass-loader!./styles/app-service-header.scss';

class AppServieHeader extends HTMLElement {
	constructor() {
		super();
	}

	connectedCallback() {
		const root = this.attachShadow({ mode: 'open' });

		const style = document.createElement('style');
		style.textContent = styles;
		root.appendChild(style);

		const div = document.createElement('div');
		div.className = 'header';

		const info = document.createElement('div');
		info.className = 'header_info';

		const title = document.createElement('p');
		title.className = 'header_info_title';
		title.innerText = this.dataset.title;
		info.appendChild(title);

		const icon = document.createElement('img');
		icon.className = 'header_info_icon';
		icon.src = this.dataset.icon;
		icon.alt = 'icon';
		info.appendChild(icon);

		const description = document.createElement('p');
		description.className = 'header_description';
		description.innerText = this.dataset.description;
		div.appendChild(description);

		div.appendChild(info);

		root.appendChild(div);

		const underDescription = document.createElement('p');
		underDescription.className = 'header_underDescription';
		underDescription.innerText = this.dataset.description;
		root.appendChild(underDescription);
	}

	static get observedAttributes() {
		return ['data-title', 'data-icon', 'data-description'];
	}
}

customElements.define('app-service-header', AppServieHeader);
