import { m as editor_api_exports } from "./editor.api-erJ7GEVs.js";
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*/
var __defProp = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __getOwnPropNames = Object.getOwnPropertyNames, __hasOwnProp = Object.prototype.hasOwnProperty, __copyProps = (e, s, c, l) => {
	if (s && typeof s == "object" || typeof s == "function") for (let u of __getOwnPropNames(s)) !__hasOwnProp.call(e, u) && u !== c && __defProp(e, u, {
		get: () => s[u],
		enumerable: !(l = __getOwnPropDesc(s, u)) || l.enumerable
	});
	return e;
}, __reExport = (e, a, o) => (__copyProps(e, a, "default"), o && __copyProps(o, a, "default")), monaco_editor_core_exports = {};
__reExport(monaco_editor_core_exports, editor_api_exports);
var EMPTY_ELEMENTS = [
	"area",
	"base",
	"br",
	"col",
	"embed",
	"hr",
	"img",
	"input",
	"keygen",
	"link",
	"menuitem",
	"meta",
	"param",
	"source",
	"track",
	"wbr"
], conf = {
	wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
	comments: { blockComment: ["<!--", "-->"] },
	brackets: [
		["<!--", "-->"],
		["<", ">"],
		["{", "}"],
		["(", ")"]
	],
	autoClosingPairs: [
		{
			open: "{",
			close: "}"
		},
		{
			open: "[",
			close: "]"
		},
		{
			open: "(",
			close: ")"
		},
		{
			open: "\"",
			close: "\""
		},
		{
			open: "'",
			close: "'"
		}
	],
	surroundingPairs: [
		{
			open: "\"",
			close: "\""
		},
		{
			open: "'",
			close: "'"
		},
		{
			open: "{",
			close: "}"
		},
		{
			open: "[",
			close: "]"
		},
		{
			open: "(",
			close: ")"
		},
		{
			open: "<",
			close: ">"
		}
	],
	onEnterRules: [{
		beforeText: RegExp(`<(?!(?:${EMPTY_ELEMENTS.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"),
		afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
		action: { indentAction: monaco_editor_core_exports.languages.IndentAction.IndentOutdent }
	}, {
		beforeText: RegExp(`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"),
		action: { indentAction: monaco_editor_core_exports.languages.IndentAction.Indent }
	}],
	folding: { markers: {
		start: /* @__PURE__ */ RegExp("^\\s*<!--\\s*#region\\b.*-->"),
		end: /* @__PURE__ */ RegExp("^\\s*<!--\\s*#endregion\\b.*-->")
	} }
}, language = {
	defaultToken: "",
	tokenPostfix: ".html",
	ignoreCase: !0,
	tokenizer: {
		root: [
			[
				/<!DOCTYPE/,
				"metatag",
				"@doctype"
			],
			[
				/<!--/,
				"comment",
				"@comment"
			],
			[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/, [
				"delimiter",
				"tag",
				"",
				"delimiter"
			]],
			[/(<)(script)/, ["delimiter", {
				token: "tag",
				next: "@script"
			}]],
			[/(<)(style)/, ["delimiter", {
				token: "tag",
				next: "@style"
			}]],
			[/(<)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter", {
				token: "tag",
				next: "@otherTag"
			}]],
			[/(<\/)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter", {
				token: "tag",
				next: "@otherTag"
			}]],
			[/</, "delimiter"],
			[/[^<]+/]
		],
		doctype: [[/[^>]+/, "metatag.content"], [
			/>/,
			"metatag",
			"@pop"
		]],
		comment: [
			[
				/-->/,
				"comment",
				"@pop"
			],
			[/[^-]+/, "comment.content"],
			[/./, "comment.content"]
		],
		otherTag: [
			[
				/\/?>/,
				"delimiter",
				"@pop"
			],
			[/"([^"]*)"/, "attribute.value"],
			[/'([^']*)'/, "attribute.value"],
			[/[\w\-]+/, "attribute.name"],
			[/=/, "delimiter"],
			[/[ \t\r\n]+/]
		],
		script: [
			[
				/type/,
				"attribute.name",
				"@scriptAfterType"
			],
			[/"([^"]*)"/, "attribute.value"],
			[/'([^']*)'/, "attribute.value"],
			[/[\w\-]+/, "attribute.name"],
			[/=/, "delimiter"],
			[/>/, {
				token: "delimiter",
				next: "@scriptEmbedded",
				nextEmbedded: "text/javascript"
			}],
			[/[ \t\r\n]+/],
			[/(<\/)(script\s*)(>)/, [
				"delimiter",
				"tag",
				{
					token: "delimiter",
					next: "@pop"
				}
			]]
		],
		scriptAfterType: [
			[
				/=/,
				"delimiter",
				"@scriptAfterTypeEquals"
			],
			[/>/, {
				token: "delimiter",
				next: "@scriptEmbedded",
				nextEmbedded: "text/javascript"
			}],
			[/[ \t\r\n]+/],
			[/<\/script\s*>/, {
				token: "@rematch",
				next: "@pop"
			}]
		],
		scriptAfterTypeEquals: [
			[/"module"/, {
				token: "attribute.value",
				switchTo: "@scriptWithCustomType.text/javascript"
			}],
			[/'module'/, {
				token: "attribute.value",
				switchTo: "@scriptWithCustomType.text/javascript"
			}],
			[/"([^"]*)"/, {
				token: "attribute.value",
				switchTo: "@scriptWithCustomType.$1"
			}],
			[/'([^']*)'/, {
				token: "attribute.value",
				switchTo: "@scriptWithCustomType.$1"
			}],
			[/>/, {
				token: "delimiter",
				next: "@scriptEmbedded",
				nextEmbedded: "text/javascript"
			}],
			[/[ \t\r\n]+/],
			[/<\/script\s*>/, {
				token: "@rematch",
				next: "@pop"
			}]
		],
		scriptWithCustomType: [
			[/>/, {
				token: "delimiter",
				next: "@scriptEmbedded.$S2",
				nextEmbedded: "$S2"
			}],
			[/"([^"]*)"/, "attribute.value"],
			[/'([^']*)'/, "attribute.value"],
			[/[\w\-]+/, "attribute.name"],
			[/=/, "delimiter"],
			[/[ \t\r\n]+/],
			[/<\/script\s*>/, {
				token: "@rematch",
				next: "@pop"
			}]
		],
		scriptEmbedded: [[/<\/script/, {
			token: "@rematch",
			next: "@pop",
			nextEmbedded: "@pop"
		}], [/[^<]+/, ""]],
		style: [
			[
				/type/,
				"attribute.name",
				"@styleAfterType"
			],
			[/"([^"]*)"/, "attribute.value"],
			[/'([^']*)'/, "attribute.value"],
			[/[\w\-]+/, "attribute.name"],
			[/=/, "delimiter"],
			[/>/, {
				token: "delimiter",
				next: "@styleEmbedded",
				nextEmbedded: "text/css"
			}],
			[/[ \t\r\n]+/],
			[/(<\/)(style\s*)(>)/, [
				"delimiter",
				"tag",
				{
					token: "delimiter",
					next: "@pop"
				}
			]]
		],
		styleAfterType: [
			[
				/=/,
				"delimiter",
				"@styleAfterTypeEquals"
			],
			[/>/, {
				token: "delimiter",
				next: "@styleEmbedded",
				nextEmbedded: "text/css"
			}],
			[/[ \t\r\n]+/],
			[/<\/style\s*>/, {
				token: "@rematch",
				next: "@pop"
			}]
		],
		styleAfterTypeEquals: [
			[/"([^"]*)"/, {
				token: "attribute.value",
				switchTo: "@styleWithCustomType.$1"
			}],
			[/'([^']*)'/, {
				token: "attribute.value",
				switchTo: "@styleWithCustomType.$1"
			}],
			[/>/, {
				token: "delimiter",
				next: "@styleEmbedded",
				nextEmbedded: "text/css"
			}],
			[/[ \t\r\n]+/],
			[/<\/style\s*>/, {
				token: "@rematch",
				next: "@pop"
			}]
		],
		styleWithCustomType: [
			[/>/, {
				token: "delimiter",
				next: "@styleEmbedded.$S2",
				nextEmbedded: "$S2"
			}],
			[/"([^"]*)"/, "attribute.value"],
			[/'([^']*)'/, "attribute.value"],
			[/[\w\-]+/, "attribute.name"],
			[/=/, "delimiter"],
			[/[ \t\r\n]+/],
			[/<\/style\s*>/, {
				token: "@rematch",
				next: "@pop"
			}]
		],
		styleEmbedded: [[/<\/style/, {
			token: "@rematch",
			next: "@pop",
			nextEmbedded: "@pop"
		}], [/[^<]+/, ""]]
	}
};
export { conf, language };
