import {parse} from 'cssom';
import {registerHTMLClass} from '../shared/register-html-class.js';
import {SHEET} from '../shared/symbols.js';
import {TextElement} from './text-element.js';
const tagName = 'style';
/**
* @implements globalThis.HTMLStyleElement
*/
class HTMLStyleElement extends TextElement {
constructor(ownerDocument, localName = tagName) {
super(ownerDocument, localName);
this[SHEET] = null;
}
get sheet() {
const sheet = this[SHEET];
if (sheet !== null) {
return sheet;
}
return this[SHEET] = parse(this.textContent);
}
get innerHTML() {
return super.innerHTML || '';
}
set innerHTML(value) {
super.textContent = value;
this[SHEET] = null;
}
get innerText() {
return super.innerText || '';
}
set innerText(value) {
super.textContent = value;
this[SHEET] = null;
}
get textContent() {
return super.textContent || '';
}
set textContent(value) {
super.textContent = value;
this[SHEET] = null;
}
}
registerHTMLClass(tagName, HTMLStyleElement);
export {HTMLStyleElement};