import { booleanAttribute, stringAttribute } from "../shared/attributes.js";
import { registerHTMLClass } from "../shared/register-html-class.js";
import { TextElement } from "./text-element.js";
//#region node_modules/linkedom/esm/html/script-element.js
var tagName = "script";
/**
* @implements globalThis.HTMLScriptElement
*/
var HTMLScriptElement = class extends TextElement {
	constructor(ownerDocument, localName = tagName) {
		super(ownerDocument, localName);
	}
	get type() {
		return stringAttribute.get(this, "type");
	}
	set type(value) {
		stringAttribute.set(this, "type", value);
	}
	get src() {
		return stringAttribute.get(this, "src");
	}
	set src(value) {
		stringAttribute.set(this, "src", value);
	}
	get defer() {
		return booleanAttribute.get(this, "defer");
	}
	set defer(value) {
		booleanAttribute.set(this, "defer", value);
	}
	get crossOrigin() {
		return stringAttribute.get(this, "crossorigin");
	}
	set crossOrigin(value) {
		stringAttribute.set(this, "crossorigin", value);
	}
	get nomodule() {
		return booleanAttribute.get(this, "nomodule");
	}
	set nomodule(value) {
		booleanAttribute.set(this, "nomodule", value);
	}
	get referrerPolicy() {
		return stringAttribute.get(this, "referrerpolicy");
	}
	set referrerPolicy(value) {
		stringAttribute.set(this, "referrerpolicy", value);
	}
	get nonce() {
		return stringAttribute.get(this, "nonce");
	}
	set nonce(value) {
		stringAttribute.set(this, "nonce", value);
	}
	get async() {
		return booleanAttribute.get(this, "async");
	}
	set async(value) {
		booleanAttribute.set(this, "async", value);
	}
	get text() {
		return this.textContent;
	}
	set text(content) {
		this.textContent = content;
	}
};
registerHTMLClass(tagName, HTMLScriptElement);
//#endregion
export { HTMLScriptElement };
