@duskmoon-dev/el-code-engine 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,243 @@
1
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
+ }) : x)(function(x) {
4
+ if (typeof require !== "undefined")
5
+ return require.apply(this, arguments);
6
+ throw Error('Dynamic require of "' + x + '" is not supported');
7
+ });
8
+
9
+ // src/el-dm-code-engine.ts
10
+ import { BaseElement, css } from "@duskmoon-dev/el-base";
11
+ import { EditorView } from "@duskmoon-dev/code-engine/view";
12
+ import { EditorState, Compartment } from "@duskmoon-dev/code-engine/state";
13
+ import { basicSetup } from "@duskmoon-dev/code-engine/setup";
14
+ import * as _duskmoonTheme from "@duskmoon-dev/code-engine/theme/duskmoon";
15
+ import * as _sunshineTheme from "@duskmoon-dev/code-engine/theme/sunshine";
16
+ import * as _moonlightTheme from "@duskmoon-dev/code-engine/theme/moonlight";
17
+ import * as _oneDarkTheme from "@duskmoon-dev/code-engine/theme/one-dark";
18
+ function extractExt(mod) {
19
+ const v = mod.default ?? Object.values(mod).find((x) => typeof x === "function" || x && typeof x !== "string");
20
+ if (typeof v === "function")
21
+ return v();
22
+ return v ?? [];
23
+ }
24
+ var THEMES = {
25
+ duskmoon: extractExt(_duskmoonTheme),
26
+ sunshine: extractExt(_sunshineTheme),
27
+ moonlight: extractExt(_moonlightTheme),
28
+ "one-dark": extractExt(_oneDarkTheme)
29
+ };
30
+ function langLoader(importFn, opts) {
31
+ return async () => {
32
+ const mod = await importFn();
33
+ const factory = mod.default ?? Object.values(mod).find((v) => typeof v === "function");
34
+ if (typeof factory === "function") {
35
+ return opts ? factory(opts) : factory();
36
+ }
37
+ return factory;
38
+ };
39
+ }
40
+ var LANG_LOADERS = {
41
+ javascript: langLoader(() => import("@duskmoon-dev/code-engine/lang/javascript")),
42
+ typescript: langLoader(() => import("@duskmoon-dev/code-engine/lang/javascript"), {
43
+ typescript: true
44
+ }),
45
+ css: langLoader(() => import("@duskmoon-dev/code-engine/lang/css")),
46
+ html: langLoader(() => import("@duskmoon-dev/code-engine/lang/html")),
47
+ json: langLoader(() => import("@duskmoon-dev/code-engine/lang/json")),
48
+ python: langLoader(() => import("@duskmoon-dev/code-engine/lang/python")),
49
+ markdown: langLoader(() => import("@duskmoon-dev/code-engine/lang/markdown")),
50
+ xml: langLoader(() => import("@duskmoon-dev/code-engine/lang/xml")),
51
+ sql: langLoader(() => import("@duskmoon-dev/code-engine/lang/sql")),
52
+ rust: langLoader(() => import("@duskmoon-dev/code-engine/lang/rust")),
53
+ go: langLoader(() => import("@duskmoon-dev/code-engine/lang/go")),
54
+ java: langLoader(() => import("@duskmoon-dev/code-engine/lang/java")),
55
+ cpp: langLoader(() => import("@duskmoon-dev/code-engine/lang/cpp")),
56
+ php: langLoader(() => import("@duskmoon-dev/code-engine/lang/php")),
57
+ yaml: langLoader(() => import("@duskmoon-dev/code-engine/lang/yaml")),
58
+ sass: langLoader(() => import("@duskmoon-dev/code-engine/lang/sass")),
59
+ less: langLoader(() => import("@duskmoon-dev/code-engine/lang/less")),
60
+ elixir: langLoader(() => import("@duskmoon-dev/code-engine/lang/elixir")),
61
+ erlang: langLoader(() => import("@duskmoon-dev/code-engine/lang/erlang")),
62
+ heex: langLoader(() => import("@duskmoon-dev/code-engine/lang/heex")),
63
+ dart: langLoader(() => import("@duskmoon-dev/code-engine/lang/dart")),
64
+ zig: langLoader(() => import("@duskmoon-dev/code-engine/lang/zig")),
65
+ vue: langLoader(() => import("@duskmoon-dev/code-engine/lang/vue")),
66
+ angular: langLoader(() => import("@duskmoon-dev/code-engine/lang/angular")),
67
+ liquid: langLoader(() => import("@duskmoon-dev/code-engine/lang/liquid")),
68
+ jinja: langLoader(() => import("@duskmoon-dev/code-engine/lang/jinja")),
69
+ wast: langLoader(() => import("@duskmoon-dev/code-engine/lang/wast")),
70
+ lezer: langLoader(() => import("@duskmoon-dev/code-engine/lang/lezer")),
71
+ caddyfile: langLoader(() => import("@duskmoon-dev/code-engine/lang/caddyfile"))
72
+ };
73
+ var styles = css`
74
+ :host {
75
+ display: block;
76
+ min-height: 200px;
77
+ font-family: var(
78
+ --dm-font-mono,
79
+ ui-monospace,
80
+ 'Cascadia Code',
81
+ 'Source Code Pro',
82
+ Menlo,
83
+ Consolas,
84
+ 'DejaVu Sans Mono',
85
+ monospace
86
+ );
87
+ }
88
+
89
+ :host([hidden]) {
90
+ display: none !important;
91
+ }
92
+
93
+ .cm-host {
94
+ height: 100%;
95
+ }
96
+
97
+ .cm-host .cm-editor {
98
+ height: 100%;
99
+ }
100
+
101
+ .cm-host .cm-editor.cm-focused {
102
+ outline: none;
103
+ }
104
+ `;
105
+
106
+ class ElDmCodeEngine extends BaseElement {
107
+ static properties = {
108
+ language: { type: String, reflect: true },
109
+ readonly: { type: Boolean, reflect: true },
110
+ theme: { type: String, reflect: true, default: "duskmoon" },
111
+ wrap: { type: Boolean, reflect: true }
112
+ };
113
+ #editor = null;
114
+ #pendingValue = null;
115
+ #languageCompartment = new Compartment;
116
+ #readonlyCompartment = new Compartment;
117
+ #themeCompartment = new Compartment;
118
+ #wrapCompartment = new Compartment;
119
+ #langCache = new Map;
120
+ constructor() {
121
+ super();
122
+ this.attachStyles(styles);
123
+ }
124
+ get value() {
125
+ return this.#editor?.state.doc.toString() ?? this.#pendingValue ?? this.getAttribute("value") ?? "";
126
+ }
127
+ set value(v) {
128
+ if (this.#editor) {
129
+ this.#editor.dispatch({
130
+ changes: { from: 0, to: this.#editor.state.doc.length, insert: v }
131
+ });
132
+ } else {
133
+ this.#pendingValue = v;
134
+ }
135
+ }
136
+ focus() {
137
+ this.#editor?.focus();
138
+ }
139
+ getValue() {
140
+ return this.value;
141
+ }
142
+ setValue(v) {
143
+ this.value = v;
144
+ }
145
+ render() {
146
+ return '<div class="cm-host" part="editor"></div>';
147
+ }
148
+ update() {
149
+ if (!this.#editor) {
150
+ super.update();
151
+ this.#mountEditor();
152
+ } else {
153
+ this.#applyConfig();
154
+ }
155
+ }
156
+ disconnectedCallback() {
157
+ if (this.#editor) {
158
+ this.#pendingValue = this.#editor.state.doc.toString();
159
+ this.#editor.destroy();
160
+ this.#editor = null;
161
+ }
162
+ super.disconnectedCallback();
163
+ }
164
+ async#mountEditor() {
165
+ const host = this.shadowRoot?.querySelector(".cm-host");
166
+ if (!host || this.#editor)
167
+ return;
168
+ const initialDoc = this.#pendingValue ?? this.getAttribute("value") ?? "";
169
+ this.#pendingValue = null;
170
+ const langExt = await this.#loadLanguage(this.language);
171
+ this.#editor = new EditorView({
172
+ state: EditorState.create({
173
+ doc: initialDoc,
174
+ extensions: [
175
+ basicSetup,
176
+ this.#languageCompartment.of(langExt ?? []),
177
+ this.#readonlyCompartment.of(EditorState.readOnly.of(this.readonly ?? false)),
178
+ this.#themeCompartment.of(THEMES[this.theme] ?? []),
179
+ this.#wrapCompartment.of(this.wrap ? EditorView.lineWrapping : []),
180
+ EditorView.updateListener.of((update) => {
181
+ if (update.docChanged) {
182
+ this.emit("input", { value: update.state.doc.toString() });
183
+ }
184
+ }),
185
+ EditorView.domEventHandlers({
186
+ blur: () => {
187
+ this.emit("change", { value: this.#editor.state.doc.toString() });
188
+ return false;
189
+ }
190
+ })
191
+ ]
192
+ }),
193
+ parent: host,
194
+ root: this.shadowRoot
195
+ });
196
+ }
197
+ async#applyConfig() {
198
+ if (!this.#editor)
199
+ return;
200
+ const langExt = await this.#loadLanguage(this.language);
201
+ this.#editor.dispatch({
202
+ effects: [
203
+ this.#languageCompartment.reconfigure(langExt ?? []),
204
+ this.#readonlyCompartment.reconfigure(EditorState.readOnly.of(this.readonly ?? false)),
205
+ this.#themeCompartment.reconfigure(THEMES[this.theme] ?? []),
206
+ this.#wrapCompartment.reconfigure(this.wrap ? EditorView.lineWrapping : [])
207
+ ]
208
+ });
209
+ }
210
+ async#loadLanguage(name) {
211
+ if (!name)
212
+ return null;
213
+ if (this.#langCache.has(name))
214
+ return this.#langCache.get(name);
215
+ const loader = LANG_LOADERS[name];
216
+ if (!loader) {
217
+ this.#langCache.set(name, null);
218
+ return null;
219
+ }
220
+ try {
221
+ const ext = await loader();
222
+ this.#langCache.set(name, ext);
223
+ return ext;
224
+ } catch {
225
+ this.#langCache.set(name, null);
226
+ return null;
227
+ }
228
+ }
229
+ }
230
+
231
+ // src/index.ts
232
+ function register() {
233
+ if (!customElements.get("el-dm-code-engine")) {
234
+ customElements.define("el-dm-code-engine", ElDmCodeEngine);
235
+ }
236
+ }
237
+ export {
238
+ register,
239
+ ElDmCodeEngine
240
+ };
241
+
242
+ //# debugId=B8FEEBB401E9A3D064756E2164756E21
243
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/el-dm-code-engine.ts", "../../src/index.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * DuskMoon Code Engine Element\n *\n * A lightweight code editor backed by @duskmoon-dev/code-engine (CodeMirror 6 fork).\n * Behaves like a native <input> or <textarea>: the `value` attribute sets the initial\n * content, the `value` property always reflects the current content, and the element\n * fires `input` on every change and `change` on blur.\n *\n * @element el-dm-code-engine\n *\n * @attr {string} value - Initial editor content (read once at mount, like <input>)\n * @attr {string} language - Language name for syntax highlighting (e.g. \"javascript\", \"css\")\n * @attr {boolean} readonly - Whether the editor is read-only\n * @attr {string} theme - Editor theme: \"duskmoon\" | \"sunshine\" | \"moonlight\" | \"one-dark\"\n * @attr {boolean} wrap - Enable line wrapping\n *\n * @prop {string} value - Gets or sets current editor content\n *\n * @method focus() - Focuses the editor\n * @method getValue() - Returns current editor content\n * @method setValue(value: string) - Sets editor content programmatically\n *\n * @fires input - Fired on every document change, detail: { value: string }\n * @fires change - Fired when editor loses focus, detail: { value: string }\n *\n * @csspart editor - The CodeMirror mount container\n */\n\nimport { BaseElement, css } from '@duskmoon-dev/el-base';\nimport type { Extension } from '@duskmoon-dev/code-engine';\nimport { EditorView } from '@duskmoon-dev/code-engine/view';\nimport { EditorState, Compartment } from '@duskmoon-dev/code-engine/state';\nimport { basicSetup } from '@duskmoon-dev/code-engine/setup';\n\n// ── Static theme imports (all 4 are small; avoids runtime bare-specifier issues) ──\nimport * as _duskmoonTheme from '@duskmoon-dev/code-engine/theme/duskmoon';\nimport * as _sunshineTheme from '@duskmoon-dev/code-engine/theme/sunshine';\nimport * as _moonlightTheme from '@duskmoon-dev/code-engine/theme/moonlight';\nimport * as _oneDarkTheme from '@duskmoon-dev/code-engine/theme/one-dark';\n\nfunction extractExt(mod: Record<string, unknown>): Extension {\n const v =\n mod.default ??\n Object.values(mod).find((x) => typeof x === 'function' || (x && typeof x !== 'string'));\n // Theme modules export a factory function (e.g. duskMoon(options?))\n if (typeof v === 'function') return (v as () => Extension)() as Extension;\n return (v ?? []) as Extension;\n}\n\nconst THEMES: Record<string, Extension> = {\n duskmoon: extractExt(_duskmoonTheme as unknown as Record<string, unknown>),\n sunshine: extractExt(_sunshineTheme as unknown as Record<string, unknown>),\n moonlight: extractExt(_moonlightTheme as unknown as Record<string, unknown>),\n 'one-dark': extractExt(_oneDarkTheme as unknown as Record<string, unknown>),\n};\n\n// ── Language loaders (literal import paths so bundlers can resolve them) ──\n\nfunction langLoader(\n importFn: () => Promise<Record<string, unknown>>,\n opts?: Record<string, unknown>,\n): () => Promise<Extension | null> {\n return async () => {\n const mod = await importFn();\n const factory = mod.default ?? Object.values(mod).find((v) => typeof v === 'function');\n if (typeof factory === 'function') {\n return (opts ? factory(opts) : factory()) as Extension;\n }\n return factory as Extension | null;\n };\n}\n\nconst LANG_LOADERS: Record<string, () => Promise<Extension | null>> = {\n javascript: langLoader(() => import('@duskmoon-dev/code-engine/lang/javascript')),\n typescript: langLoader(() => import('@duskmoon-dev/code-engine/lang/javascript'), {\n typescript: true,\n }),\n css: langLoader(() => import('@duskmoon-dev/code-engine/lang/css')),\n html: langLoader(() => import('@duskmoon-dev/code-engine/lang/html')),\n json: langLoader(() => import('@duskmoon-dev/code-engine/lang/json')),\n python: langLoader(() => import('@duskmoon-dev/code-engine/lang/python')),\n markdown: langLoader(() => import('@duskmoon-dev/code-engine/lang/markdown')),\n xml: langLoader(() => import('@duskmoon-dev/code-engine/lang/xml')),\n sql: langLoader(() => import('@duskmoon-dev/code-engine/lang/sql')),\n rust: langLoader(() => import('@duskmoon-dev/code-engine/lang/rust')),\n go: langLoader(() => import('@duskmoon-dev/code-engine/lang/go')),\n java: langLoader(() => import('@duskmoon-dev/code-engine/lang/java')),\n cpp: langLoader(() => import('@duskmoon-dev/code-engine/lang/cpp')),\n php: langLoader(() => import('@duskmoon-dev/code-engine/lang/php')),\n yaml: langLoader(() => import('@duskmoon-dev/code-engine/lang/yaml')),\n sass: langLoader(() => import('@duskmoon-dev/code-engine/lang/sass')),\n less: langLoader(() => import('@duskmoon-dev/code-engine/lang/less')),\n elixir: langLoader(() => import('@duskmoon-dev/code-engine/lang/elixir')),\n erlang: langLoader(() => import('@duskmoon-dev/code-engine/lang/erlang')),\n heex: langLoader(() => import('@duskmoon-dev/code-engine/lang/heex')),\n dart: langLoader(() => import('@duskmoon-dev/code-engine/lang/dart')),\n zig: langLoader(() => import('@duskmoon-dev/code-engine/lang/zig')),\n vue: langLoader(() => import('@duskmoon-dev/code-engine/lang/vue')),\n angular: langLoader(() => import('@duskmoon-dev/code-engine/lang/angular')),\n liquid: langLoader(() => import('@duskmoon-dev/code-engine/lang/liquid')),\n jinja: langLoader(() => import('@duskmoon-dev/code-engine/lang/jinja')),\n wast: langLoader(() => import('@duskmoon-dev/code-engine/lang/wast')),\n lezer: langLoader(() => import('@duskmoon-dev/code-engine/lang/lezer')),\n caddyfile: langLoader(() => import('@duskmoon-dev/code-engine/lang/caddyfile')),\n};\nexport type CodeEngineTheme = 'duskmoon' | 'sunshine' | 'moonlight' | 'one-dark';\n\nconst styles = css`\n :host {\n display: block;\n min-height: 200px;\n font-family: var(\n --dm-font-mono,\n ui-monospace,\n 'Cascadia Code',\n 'Source Code Pro',\n Menlo,\n Consolas,\n 'DejaVu Sans Mono',\n monospace\n );\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n .cm-host {\n height: 100%;\n }\n\n .cm-host .cm-editor {\n height: 100%;\n }\n\n .cm-host .cm-editor.cm-focused {\n outline: none;\n }\n`;\n\nexport class ElDmCodeEngine extends BaseElement {\n static properties = {\n language: { type: String, reflect: true },\n readonly: { type: Boolean, reflect: true },\n theme: { type: String, reflect: true, default: 'duskmoon' },\n wrap: { type: Boolean, reflect: true },\n };\n\n declare language: string;\n declare readonly: boolean;\n declare theme: CodeEngineTheme;\n declare wrap: boolean;\n\n #editor: EditorView | null = null;\n #pendingValue: string | null = null;\n\n readonly #languageCompartment = new Compartment();\n readonly #readonlyCompartment = new Compartment();\n readonly #themeCompartment = new Compartment();\n readonly #wrapCompartment = new Compartment();\n\n readonly #langCache = new Map<string, Extension | null>();\n\n constructor() {\n super();\n this.attachStyles(styles);\n }\n\n /**\n * Current editor content. Getter always returns live document text.\n * Setter updates the editor document (or queues the value if called before mount).\n */\n get value(): string {\n return (\n this.#editor?.state.doc.toString() ?? this.#pendingValue ?? this.getAttribute('value') ?? ''\n );\n }\n\n set value(v: string) {\n if (this.#editor) {\n this.#editor.dispatch({\n changes: { from: 0, to: this.#editor.state.doc.length, insert: v },\n });\n } else {\n this.#pendingValue = v;\n }\n }\n\n /** Focus the editor. */\n focus(): void {\n this.#editor?.focus();\n }\n\n /** Returns current editor content. Equivalent to reading the `value` property. */\n getValue(): string {\n return this.value;\n }\n\n /** Sets editor content programmatically. Equivalent to assigning the `value` property. */\n setValue(v: string): void {\n this.value = v;\n }\n\n protected render(): string {\n return '<div class=\"cm-host\" part=\"editor\"></div>';\n }\n\n protected update(): void {\n if (!this.#editor) {\n // First render: create the container then mount the editor.\n super.update();\n void this.#mountEditor();\n } else {\n // Editor already mounted: reconfigure via compartment transactions.\n void this.#applyConfig();\n }\n }\n\n disconnectedCallback(): void {\n // Save current content so it survives a DOM move/reconnect.\n if (this.#editor) {\n this.#pendingValue = this.#editor.state.doc.toString();\n this.#editor.destroy();\n this.#editor = null;\n }\n super.disconnectedCallback();\n }\n\n // ── Private helpers ──────────────────────────────────────────────────\n\n async #mountEditor(): Promise<void> {\n const host = this.shadowRoot?.querySelector('.cm-host');\n if (!host || this.#editor) return;\n\n const initialDoc = this.#pendingValue ?? this.getAttribute('value') ?? '';\n this.#pendingValue = null;\n\n const langExt = await this.#loadLanguage(this.language);\n\n this.#editor = new EditorView({\n state: EditorState.create({\n doc: initialDoc,\n extensions: [\n basicSetup,\n this.#languageCompartment.of(langExt ?? []),\n this.#readonlyCompartment.of(EditorState.readOnly.of(this.readonly ?? false)),\n this.#themeCompartment.of(THEMES[this.theme] ?? []),\n this.#wrapCompartment.of(this.wrap ? EditorView.lineWrapping : []),\n EditorView.updateListener.of((update) => {\n if (update.docChanged) {\n this.emit('input', { value: update.state.doc.toString() });\n }\n }),\n EditorView.domEventHandlers({\n blur: () => {\n this.emit('change', { value: this.#editor!.state.doc.toString() });\n return false;\n },\n }),\n ],\n }),\n parent: host,\n root: this.shadowRoot,\n });\n }\n\n async #applyConfig(): Promise<void> {\n if (!this.#editor) return;\n\n const langExt = await this.#loadLanguage(this.language);\n\n this.#editor.dispatch({\n effects: [\n this.#languageCompartment.reconfigure(langExt ?? []),\n this.#readonlyCompartment.reconfigure(EditorState.readOnly.of(this.readonly ?? false)),\n this.#themeCompartment.reconfigure(THEMES[this.theme] ?? []),\n this.#wrapCompartment.reconfigure(this.wrap ? EditorView.lineWrapping : []),\n ],\n });\n }\n\n async #loadLanguage(name: string): Promise<Extension | null> {\n if (!name) return null;\n if (this.#langCache.has(name)) return this.#langCache.get(name)!;\n\n const loader = LANG_LOADERS[name];\n if (!loader) {\n this.#langCache.set(name, null);\n return null;\n }\n\n try {\n const ext = await loader();\n this.#langCache.set(name, ext);\n return ext;\n } catch {\n this.#langCache.set(name, null);\n return null;\n }\n }\n}\n",
6
+ "/**\n * @duskmoon-dev/el-code-engine\n *\n * DuskMoon Code Engine custom element — a lightweight code editor\n * backed by @duskmoon-dev/code-engine (CodeMirror 6 fork).\n */\n\nimport { ElDmCodeEngine } from './el-dm-code-engine.js';\n\nexport { ElDmCodeEngine };\nexport type { CodeEngineTheme } from './el-dm-code-engine.js';\n\n/**\n * Register the el-dm-code-engine custom element.\n *\n * @example\n * ```ts\n * import { register } from '@duskmoon-dev/el-code-engine';\n * register();\n * ```\n */\nexport function register(): void {\n if (!customElements.get('el-dm-code-engine')) {\n customElements.define('el-dm-code-engine', ElDmCodeEngine);\n }\n}\n"
7
+ ],
8
+ "mappings": "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",
9
+ "debugId": "B8FEEBB401E9A3D064756E2164756E21",
10
+ "names": []
11
+ }
@@ -0,0 +1,242 @@
1
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
+ }) : x)(function(x) {
4
+ if (typeof require !== "undefined")
5
+ return require.apply(this, arguments);
6
+ throw Error('Dynamic require of "' + x + '" is not supported');
7
+ });
8
+
9
+ // src/el-dm-code-engine.ts
10
+ import { BaseElement, css } from "@duskmoon-dev/el-base";
11
+ import { EditorView } from "@duskmoon-dev/code-engine/view";
12
+ import { EditorState, Compartment } from "@duskmoon-dev/code-engine/state";
13
+ import { basicSetup } from "@duskmoon-dev/code-engine/setup";
14
+ import * as _duskmoonTheme from "@duskmoon-dev/code-engine/theme/duskmoon";
15
+ import * as _sunshineTheme from "@duskmoon-dev/code-engine/theme/sunshine";
16
+ import * as _moonlightTheme from "@duskmoon-dev/code-engine/theme/moonlight";
17
+ import * as _oneDarkTheme from "@duskmoon-dev/code-engine/theme/one-dark";
18
+ function extractExt(mod) {
19
+ const v = mod.default ?? Object.values(mod).find((x) => typeof x === "function" || x && typeof x !== "string");
20
+ if (typeof v === "function")
21
+ return v();
22
+ return v ?? [];
23
+ }
24
+ var THEMES = {
25
+ duskmoon: extractExt(_duskmoonTheme),
26
+ sunshine: extractExt(_sunshineTheme),
27
+ moonlight: extractExt(_moonlightTheme),
28
+ "one-dark": extractExt(_oneDarkTheme)
29
+ };
30
+ function langLoader(importFn, opts) {
31
+ return async () => {
32
+ const mod = await importFn();
33
+ const factory = mod.default ?? Object.values(mod).find((v) => typeof v === "function");
34
+ if (typeof factory === "function") {
35
+ return opts ? factory(opts) : factory();
36
+ }
37
+ return factory;
38
+ };
39
+ }
40
+ var LANG_LOADERS = {
41
+ javascript: langLoader(() => import("@duskmoon-dev/code-engine/lang/javascript")),
42
+ typescript: langLoader(() => import("@duskmoon-dev/code-engine/lang/javascript"), {
43
+ typescript: true
44
+ }),
45
+ css: langLoader(() => import("@duskmoon-dev/code-engine/lang/css")),
46
+ html: langLoader(() => import("@duskmoon-dev/code-engine/lang/html")),
47
+ json: langLoader(() => import("@duskmoon-dev/code-engine/lang/json")),
48
+ python: langLoader(() => import("@duskmoon-dev/code-engine/lang/python")),
49
+ markdown: langLoader(() => import("@duskmoon-dev/code-engine/lang/markdown")),
50
+ xml: langLoader(() => import("@duskmoon-dev/code-engine/lang/xml")),
51
+ sql: langLoader(() => import("@duskmoon-dev/code-engine/lang/sql")),
52
+ rust: langLoader(() => import("@duskmoon-dev/code-engine/lang/rust")),
53
+ go: langLoader(() => import("@duskmoon-dev/code-engine/lang/go")),
54
+ java: langLoader(() => import("@duskmoon-dev/code-engine/lang/java")),
55
+ cpp: langLoader(() => import("@duskmoon-dev/code-engine/lang/cpp")),
56
+ php: langLoader(() => import("@duskmoon-dev/code-engine/lang/php")),
57
+ yaml: langLoader(() => import("@duskmoon-dev/code-engine/lang/yaml")),
58
+ sass: langLoader(() => import("@duskmoon-dev/code-engine/lang/sass")),
59
+ less: langLoader(() => import("@duskmoon-dev/code-engine/lang/less")),
60
+ elixir: langLoader(() => import("@duskmoon-dev/code-engine/lang/elixir")),
61
+ erlang: langLoader(() => import("@duskmoon-dev/code-engine/lang/erlang")),
62
+ heex: langLoader(() => import("@duskmoon-dev/code-engine/lang/heex")),
63
+ dart: langLoader(() => import("@duskmoon-dev/code-engine/lang/dart")),
64
+ zig: langLoader(() => import("@duskmoon-dev/code-engine/lang/zig")),
65
+ vue: langLoader(() => import("@duskmoon-dev/code-engine/lang/vue")),
66
+ angular: langLoader(() => import("@duskmoon-dev/code-engine/lang/angular")),
67
+ liquid: langLoader(() => import("@duskmoon-dev/code-engine/lang/liquid")),
68
+ jinja: langLoader(() => import("@duskmoon-dev/code-engine/lang/jinja")),
69
+ wast: langLoader(() => import("@duskmoon-dev/code-engine/lang/wast")),
70
+ lezer: langLoader(() => import("@duskmoon-dev/code-engine/lang/lezer")),
71
+ caddyfile: langLoader(() => import("@duskmoon-dev/code-engine/lang/caddyfile"))
72
+ };
73
+ var styles = css`
74
+ :host {
75
+ display: block;
76
+ min-height: 200px;
77
+ font-family: var(
78
+ --dm-font-mono,
79
+ ui-monospace,
80
+ 'Cascadia Code',
81
+ 'Source Code Pro',
82
+ Menlo,
83
+ Consolas,
84
+ 'DejaVu Sans Mono',
85
+ monospace
86
+ );
87
+ }
88
+
89
+ :host([hidden]) {
90
+ display: none !important;
91
+ }
92
+
93
+ .cm-host {
94
+ height: 100%;
95
+ }
96
+
97
+ .cm-host .cm-editor {
98
+ height: 100%;
99
+ }
100
+
101
+ .cm-host .cm-editor.cm-focused {
102
+ outline: none;
103
+ }
104
+ `;
105
+
106
+ class ElDmCodeEngine extends BaseElement {
107
+ static properties = {
108
+ language: { type: String, reflect: true },
109
+ readonly: { type: Boolean, reflect: true },
110
+ theme: { type: String, reflect: true, default: "duskmoon" },
111
+ wrap: { type: Boolean, reflect: true }
112
+ };
113
+ #editor = null;
114
+ #pendingValue = null;
115
+ #languageCompartment = new Compartment;
116
+ #readonlyCompartment = new Compartment;
117
+ #themeCompartment = new Compartment;
118
+ #wrapCompartment = new Compartment;
119
+ #langCache = new Map;
120
+ constructor() {
121
+ super();
122
+ this.attachStyles(styles);
123
+ }
124
+ get value() {
125
+ return this.#editor?.state.doc.toString() ?? this.#pendingValue ?? this.getAttribute("value") ?? "";
126
+ }
127
+ set value(v) {
128
+ if (this.#editor) {
129
+ this.#editor.dispatch({
130
+ changes: { from: 0, to: this.#editor.state.doc.length, insert: v }
131
+ });
132
+ } else {
133
+ this.#pendingValue = v;
134
+ }
135
+ }
136
+ focus() {
137
+ this.#editor?.focus();
138
+ }
139
+ getValue() {
140
+ return this.value;
141
+ }
142
+ setValue(v) {
143
+ this.value = v;
144
+ }
145
+ render() {
146
+ return '<div class="cm-host" part="editor"></div>';
147
+ }
148
+ update() {
149
+ if (!this.#editor) {
150
+ super.update();
151
+ this.#mountEditor();
152
+ } else {
153
+ this.#applyConfig();
154
+ }
155
+ }
156
+ disconnectedCallback() {
157
+ if (this.#editor) {
158
+ this.#pendingValue = this.#editor.state.doc.toString();
159
+ this.#editor.destroy();
160
+ this.#editor = null;
161
+ }
162
+ super.disconnectedCallback();
163
+ }
164
+ async#mountEditor() {
165
+ const host = this.shadowRoot?.querySelector(".cm-host");
166
+ if (!host || this.#editor)
167
+ return;
168
+ const initialDoc = this.#pendingValue ?? this.getAttribute("value") ?? "";
169
+ this.#pendingValue = null;
170
+ const langExt = await this.#loadLanguage(this.language);
171
+ this.#editor = new EditorView({
172
+ state: EditorState.create({
173
+ doc: initialDoc,
174
+ extensions: [
175
+ basicSetup,
176
+ this.#languageCompartment.of(langExt ?? []),
177
+ this.#readonlyCompartment.of(EditorState.readOnly.of(this.readonly ?? false)),
178
+ this.#themeCompartment.of(THEMES[this.theme] ?? []),
179
+ this.#wrapCompartment.of(this.wrap ? EditorView.lineWrapping : []),
180
+ EditorView.updateListener.of((update) => {
181
+ if (update.docChanged) {
182
+ this.emit("input", { value: update.state.doc.toString() });
183
+ }
184
+ }),
185
+ EditorView.domEventHandlers({
186
+ blur: () => {
187
+ this.emit("change", { value: this.#editor.state.doc.toString() });
188
+ return false;
189
+ }
190
+ })
191
+ ]
192
+ }),
193
+ parent: host,
194
+ root: this.shadowRoot
195
+ });
196
+ }
197
+ async#applyConfig() {
198
+ if (!this.#editor)
199
+ return;
200
+ const langExt = await this.#loadLanguage(this.language);
201
+ this.#editor.dispatch({
202
+ effects: [
203
+ this.#languageCompartment.reconfigure(langExt ?? []),
204
+ this.#readonlyCompartment.reconfigure(EditorState.readOnly.of(this.readonly ?? false)),
205
+ this.#themeCompartment.reconfigure(THEMES[this.theme] ?? []),
206
+ this.#wrapCompartment.reconfigure(this.wrap ? EditorView.lineWrapping : [])
207
+ ]
208
+ });
209
+ }
210
+ async#loadLanguage(name) {
211
+ if (!name)
212
+ return null;
213
+ if (this.#langCache.has(name))
214
+ return this.#langCache.get(name);
215
+ const loader = LANG_LOADERS[name];
216
+ if (!loader) {
217
+ this.#langCache.set(name, null);
218
+ return null;
219
+ }
220
+ try {
221
+ const ext = await loader();
222
+ this.#langCache.set(name, ext);
223
+ return ext;
224
+ } catch {
225
+ this.#langCache.set(name, null);
226
+ return null;
227
+ }
228
+ }
229
+ }
230
+
231
+ // src/index.ts
232
+ function register() {
233
+ if (!customElements.get("el-dm-code-engine")) {
234
+ customElements.define("el-dm-code-engine", ElDmCodeEngine);
235
+ }
236
+ }
237
+
238
+ // src/register.ts
239
+ register();
240
+
241
+ //# debugId=9FE97D28DF56D07664756E2164756E21
242
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/el-dm-code-engine.ts", "../../src/index.ts", "../../src/register.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * DuskMoon Code Engine Element\n *\n * A lightweight code editor backed by @duskmoon-dev/code-engine (CodeMirror 6 fork).\n * Behaves like a native <input> or <textarea>: the `value` attribute sets the initial\n * content, the `value` property always reflects the current content, and the element\n * fires `input` on every change and `change` on blur.\n *\n * @element el-dm-code-engine\n *\n * @attr {string} value - Initial editor content (read once at mount, like <input>)\n * @attr {string} language - Language name for syntax highlighting (e.g. \"javascript\", \"css\")\n * @attr {boolean} readonly - Whether the editor is read-only\n * @attr {string} theme - Editor theme: \"duskmoon\" | \"sunshine\" | \"moonlight\" | \"one-dark\"\n * @attr {boolean} wrap - Enable line wrapping\n *\n * @prop {string} value - Gets or sets current editor content\n *\n * @method focus() - Focuses the editor\n * @method getValue() - Returns current editor content\n * @method setValue(value: string) - Sets editor content programmatically\n *\n * @fires input - Fired on every document change, detail: { value: string }\n * @fires change - Fired when editor loses focus, detail: { value: string }\n *\n * @csspart editor - The CodeMirror mount container\n */\n\nimport { BaseElement, css } from '@duskmoon-dev/el-base';\nimport type { Extension } from '@duskmoon-dev/code-engine';\nimport { EditorView } from '@duskmoon-dev/code-engine/view';\nimport { EditorState, Compartment } from '@duskmoon-dev/code-engine/state';\nimport { basicSetup } from '@duskmoon-dev/code-engine/setup';\n\n// ── Static theme imports (all 4 are small; avoids runtime bare-specifier issues) ──\nimport * as _duskmoonTheme from '@duskmoon-dev/code-engine/theme/duskmoon';\nimport * as _sunshineTheme from '@duskmoon-dev/code-engine/theme/sunshine';\nimport * as _moonlightTheme from '@duskmoon-dev/code-engine/theme/moonlight';\nimport * as _oneDarkTheme from '@duskmoon-dev/code-engine/theme/one-dark';\n\nfunction extractExt(mod: Record<string, unknown>): Extension {\n const v =\n mod.default ??\n Object.values(mod).find((x) => typeof x === 'function' || (x && typeof x !== 'string'));\n // Theme modules export a factory function (e.g. duskMoon(options?))\n if (typeof v === 'function') return (v as () => Extension)() as Extension;\n return (v ?? []) as Extension;\n}\n\nconst THEMES: Record<string, Extension> = {\n duskmoon: extractExt(_duskmoonTheme as unknown as Record<string, unknown>),\n sunshine: extractExt(_sunshineTheme as unknown as Record<string, unknown>),\n moonlight: extractExt(_moonlightTheme as unknown as Record<string, unknown>),\n 'one-dark': extractExt(_oneDarkTheme as unknown as Record<string, unknown>),\n};\n\n// ── Language loaders (literal import paths so bundlers can resolve them) ──\n\nfunction langLoader(\n importFn: () => Promise<Record<string, unknown>>,\n opts?: Record<string, unknown>,\n): () => Promise<Extension | null> {\n return async () => {\n const mod = await importFn();\n const factory = mod.default ?? Object.values(mod).find((v) => typeof v === 'function');\n if (typeof factory === 'function') {\n return (opts ? factory(opts) : factory()) as Extension;\n }\n return factory as Extension | null;\n };\n}\n\nconst LANG_LOADERS: Record<string, () => Promise<Extension | null>> = {\n javascript: langLoader(() => import('@duskmoon-dev/code-engine/lang/javascript')),\n typescript: langLoader(() => import('@duskmoon-dev/code-engine/lang/javascript'), {\n typescript: true,\n }),\n css: langLoader(() => import('@duskmoon-dev/code-engine/lang/css')),\n html: langLoader(() => import('@duskmoon-dev/code-engine/lang/html')),\n json: langLoader(() => import('@duskmoon-dev/code-engine/lang/json')),\n python: langLoader(() => import('@duskmoon-dev/code-engine/lang/python')),\n markdown: langLoader(() => import('@duskmoon-dev/code-engine/lang/markdown')),\n xml: langLoader(() => import('@duskmoon-dev/code-engine/lang/xml')),\n sql: langLoader(() => import('@duskmoon-dev/code-engine/lang/sql')),\n rust: langLoader(() => import('@duskmoon-dev/code-engine/lang/rust')),\n go: langLoader(() => import('@duskmoon-dev/code-engine/lang/go')),\n java: langLoader(() => import('@duskmoon-dev/code-engine/lang/java')),\n cpp: langLoader(() => import('@duskmoon-dev/code-engine/lang/cpp')),\n php: langLoader(() => import('@duskmoon-dev/code-engine/lang/php')),\n yaml: langLoader(() => import('@duskmoon-dev/code-engine/lang/yaml')),\n sass: langLoader(() => import('@duskmoon-dev/code-engine/lang/sass')),\n less: langLoader(() => import('@duskmoon-dev/code-engine/lang/less')),\n elixir: langLoader(() => import('@duskmoon-dev/code-engine/lang/elixir')),\n erlang: langLoader(() => import('@duskmoon-dev/code-engine/lang/erlang')),\n heex: langLoader(() => import('@duskmoon-dev/code-engine/lang/heex')),\n dart: langLoader(() => import('@duskmoon-dev/code-engine/lang/dart')),\n zig: langLoader(() => import('@duskmoon-dev/code-engine/lang/zig')),\n vue: langLoader(() => import('@duskmoon-dev/code-engine/lang/vue')),\n angular: langLoader(() => import('@duskmoon-dev/code-engine/lang/angular')),\n liquid: langLoader(() => import('@duskmoon-dev/code-engine/lang/liquid')),\n jinja: langLoader(() => import('@duskmoon-dev/code-engine/lang/jinja')),\n wast: langLoader(() => import('@duskmoon-dev/code-engine/lang/wast')),\n lezer: langLoader(() => import('@duskmoon-dev/code-engine/lang/lezer')),\n caddyfile: langLoader(() => import('@duskmoon-dev/code-engine/lang/caddyfile')),\n};\nexport type CodeEngineTheme = 'duskmoon' | 'sunshine' | 'moonlight' | 'one-dark';\n\nconst styles = css`\n :host {\n display: block;\n min-height: 200px;\n font-family: var(\n --dm-font-mono,\n ui-monospace,\n 'Cascadia Code',\n 'Source Code Pro',\n Menlo,\n Consolas,\n 'DejaVu Sans Mono',\n monospace\n );\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n .cm-host {\n height: 100%;\n }\n\n .cm-host .cm-editor {\n height: 100%;\n }\n\n .cm-host .cm-editor.cm-focused {\n outline: none;\n }\n`;\n\nexport class ElDmCodeEngine extends BaseElement {\n static properties = {\n language: { type: String, reflect: true },\n readonly: { type: Boolean, reflect: true },\n theme: { type: String, reflect: true, default: 'duskmoon' },\n wrap: { type: Boolean, reflect: true },\n };\n\n declare language: string;\n declare readonly: boolean;\n declare theme: CodeEngineTheme;\n declare wrap: boolean;\n\n #editor: EditorView | null = null;\n #pendingValue: string | null = null;\n\n readonly #languageCompartment = new Compartment();\n readonly #readonlyCompartment = new Compartment();\n readonly #themeCompartment = new Compartment();\n readonly #wrapCompartment = new Compartment();\n\n readonly #langCache = new Map<string, Extension | null>();\n\n constructor() {\n super();\n this.attachStyles(styles);\n }\n\n /**\n * Current editor content. Getter always returns live document text.\n * Setter updates the editor document (or queues the value if called before mount).\n */\n get value(): string {\n return (\n this.#editor?.state.doc.toString() ?? this.#pendingValue ?? this.getAttribute('value') ?? ''\n );\n }\n\n set value(v: string) {\n if (this.#editor) {\n this.#editor.dispatch({\n changes: { from: 0, to: this.#editor.state.doc.length, insert: v },\n });\n } else {\n this.#pendingValue = v;\n }\n }\n\n /** Focus the editor. */\n focus(): void {\n this.#editor?.focus();\n }\n\n /** Returns current editor content. Equivalent to reading the `value` property. */\n getValue(): string {\n return this.value;\n }\n\n /** Sets editor content programmatically. Equivalent to assigning the `value` property. */\n setValue(v: string): void {\n this.value = v;\n }\n\n protected render(): string {\n return '<div class=\"cm-host\" part=\"editor\"></div>';\n }\n\n protected update(): void {\n if (!this.#editor) {\n // First render: create the container then mount the editor.\n super.update();\n void this.#mountEditor();\n } else {\n // Editor already mounted: reconfigure via compartment transactions.\n void this.#applyConfig();\n }\n }\n\n disconnectedCallback(): void {\n // Save current content so it survives a DOM move/reconnect.\n if (this.#editor) {\n this.#pendingValue = this.#editor.state.doc.toString();\n this.#editor.destroy();\n this.#editor = null;\n }\n super.disconnectedCallback();\n }\n\n // ── Private helpers ──────────────────────────────────────────────────\n\n async #mountEditor(): Promise<void> {\n const host = this.shadowRoot?.querySelector('.cm-host');\n if (!host || this.#editor) return;\n\n const initialDoc = this.#pendingValue ?? this.getAttribute('value') ?? '';\n this.#pendingValue = null;\n\n const langExt = await this.#loadLanguage(this.language);\n\n this.#editor = new EditorView({\n state: EditorState.create({\n doc: initialDoc,\n extensions: [\n basicSetup,\n this.#languageCompartment.of(langExt ?? []),\n this.#readonlyCompartment.of(EditorState.readOnly.of(this.readonly ?? false)),\n this.#themeCompartment.of(THEMES[this.theme] ?? []),\n this.#wrapCompartment.of(this.wrap ? EditorView.lineWrapping : []),\n EditorView.updateListener.of((update) => {\n if (update.docChanged) {\n this.emit('input', { value: update.state.doc.toString() });\n }\n }),\n EditorView.domEventHandlers({\n blur: () => {\n this.emit('change', { value: this.#editor!.state.doc.toString() });\n return false;\n },\n }),\n ],\n }),\n parent: host,\n root: this.shadowRoot,\n });\n }\n\n async #applyConfig(): Promise<void> {\n if (!this.#editor) return;\n\n const langExt = await this.#loadLanguage(this.language);\n\n this.#editor.dispatch({\n effects: [\n this.#languageCompartment.reconfigure(langExt ?? []),\n this.#readonlyCompartment.reconfigure(EditorState.readOnly.of(this.readonly ?? false)),\n this.#themeCompartment.reconfigure(THEMES[this.theme] ?? []),\n this.#wrapCompartment.reconfigure(this.wrap ? EditorView.lineWrapping : []),\n ],\n });\n }\n\n async #loadLanguage(name: string): Promise<Extension | null> {\n if (!name) return null;\n if (this.#langCache.has(name)) return this.#langCache.get(name)!;\n\n const loader = LANG_LOADERS[name];\n if (!loader) {\n this.#langCache.set(name, null);\n return null;\n }\n\n try {\n const ext = await loader();\n this.#langCache.set(name, ext);\n return ext;\n } catch {\n this.#langCache.set(name, null);\n return null;\n }\n }\n}\n",
6
+ "/**\n * @duskmoon-dev/el-code-engine\n *\n * DuskMoon Code Engine custom element — a lightweight code editor\n * backed by @duskmoon-dev/code-engine (CodeMirror 6 fork).\n */\n\nimport { ElDmCodeEngine } from './el-dm-code-engine.js';\n\nexport { ElDmCodeEngine };\nexport type { CodeEngineTheme } from './el-dm-code-engine.js';\n\n/**\n * Register the el-dm-code-engine custom element.\n *\n * @example\n * ```ts\n * import { register } from '@duskmoon-dev/el-code-engine';\n * register();\n * ```\n */\nexport function register(): void {\n if (!customElements.get('el-dm-code-engine')) {\n customElements.define('el-dm-code-engine', ElDmCodeEngine);\n }\n}\n",
7
+ "import { register } from './index.js';\nregister();\n"
8
+ ],
9
+ "mappings": "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",
10
+ "debugId": "9FE97D28DF56D07664756E2164756E21",
11
+ "names": []
12
+ }
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.bun/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../packages/base/dist/types/base-element.d.ts","../../../packages/base/dist/types/styles.d.ts","../../../packages/base/dist/types/animations.d.ts","../../../packages/base/dist/types/themes.d.ts","../../../packages/base/dist/types/mixins.d.ts","../../../packages/base/dist/types/types.d.ts","../../../packages/base/dist/types/validation.d.ts","../../../packages/base/dist/types/performance.d.ts","../../../packages/base/dist/types/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/text.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/change.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/selection.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/facet.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/transaction.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/charcategory.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/state.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/extension.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/config.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/rangeset.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/char.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/column.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/state/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/style-mod.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/bidi.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/attributes.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/dom.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/decoration.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/input.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/extension.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/tile.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/docview.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/heightmap.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/viewstate.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/domchange.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/domobserver.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/editorview.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/keymap.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/draw-selection.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/dropcursor.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/special-chars.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/scrollpastend.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/active-line.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/placeholder.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/layer.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/matchdecorator.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/rectangular-selection.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/tooltip.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/panel.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/dialog.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/gutter.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/highlight-space.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/view/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/parser/common/parse.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/parser/common/tree.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/parser/common/mix.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/parser/common/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/parser/lr/stack.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/parser/lr/token.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/parser/lr/parse.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/parser/lr/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/language/language.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/language/indent.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/language/fold.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/parser/highlight/highlight.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/parser/highlight/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/language/highlight.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/language/matchbrackets.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/language/stringstream.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/language/stream-parser.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/language/isolate.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/language/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/commands/comment.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/commands/history.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/commands/commands.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/commands/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/search/cursor.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/search/goto-line.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/search/regexp.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/search/selection-match.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/search/search.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/search/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/autocomplete/completion.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/autocomplete/config.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/autocomplete/snippet.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/autocomplete/state.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/autocomplete/view.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/autocomplete/word.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/autocomplete/closebrackets.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/autocomplete/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/lint/lint.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/core/lint/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/setup.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/theme/duskmoon.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/theme/sunshine.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/theme/moonlight.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/theme/one-dark.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/javascript/javascript.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/javascript/snippets.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/javascript/eslint.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/javascript/complete.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/javascript/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/css/complete.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/css/css.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/css/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/html/complete.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/html/html.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/html/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/json/lint.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/json/json.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/json/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/python/complete.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/python/python.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/python/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/markdown/markdown.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/markdown/nest.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/markdown/extension.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/markdown/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/xml/complete.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/xml/xml.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/xml/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/sql/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/rust/rust.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/rust/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/go/go.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/go/snippets.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/go/complete.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/go/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/java/java.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/java/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/cpp/cpp.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/cpp/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/php/php.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/php/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/yaml/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/sass/sass.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/sass/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/less/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/elixir/elixir.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/elixir/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/erlang/erlang.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/erlang/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/heex/heex.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/heex/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/dart/dart.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/dart/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/zig/zig.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/zig/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/vue/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/angular/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/liquid/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/jinja/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/wast/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/lezer/lezer.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/lezer/index.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/caddyfile/caddyfile.d.ts","../../../node_modules/.bun/@duskmoon-dev+code-engine@0.3.0/node_modules/@duskmoon-dev/code-engine/dist/lang/caddyfile/index.d.ts","../src/el-dm-code-engine.ts","../src/index.ts","../src/register.ts"],"fileIdsList":[[68,81,111,151,152,153,154,155,156,161,164,167,170,173,177,180,181,183,187,189,191,193,194,196,197,199,201,203,205,207,208,209,210,211,212,214,216],[217],[218],[81,111],[81,111,151],[81,111,141],[81,111,141,142,143,145,146,147],[81,111,141,142],[81,111,141,144],[141],[81,111,131,132],[81],[132,133],[81,111,115],[81,82,115,120,124],[81,115],[120,121,122,125,126,127,128,129],[81,111,115,119],[115,120,121,124,127],[149],[111],[135,136,137,138,139],[81,111,135,136,137,138],[69],[72,73,75],[73,75],[69,70,71,72,73,74,75,76,77,78,79,80],[70],[69,70,71,72,73,74],[69,70,71,72,75],[81,83,84,85,95],[81,95,107],[81,83,85,86,88,89,95],[81,95],[81,85,88,93,95],[81,82,83,85,86,87,88,90,91,92,94],[81,82,83,84,85,86,87,95],[81,86,88,91,95],[81,86,88],[83,85,86,87,88,91,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110],[81,88,95],[81,86,88,95],[81,84,85,86,95],[81,85,88,95],[81,83,85,86,88,91,95],[81,111,115,119,124,130,134,140,148,150],[130],[215],[190],[115,148],[130,162],[162,163],[204],[198],[200],[148],[184,185,186],[202],[81,115,148],[115,130,151,165],[165,166],[188],[111,150],[157,158,159,160],[130,151],[168,169],[130,168],[213],[174],[130,174,175,176],[115,124],[115,174],[192],[148,151],[171,172],[130,171],[182],[195],[178,179],[130,151,178],[206],[112,113,114],[112,113],[113],[112],[115],[123],[116,117,118],[115,116,117],[115,118],[115,116],[81,130],[60,61,62,63,64,65,66,67],[60],[65]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},"42526b6de804c10fd86f1cf55a6c660a74ee448e381f0f78356f223b75982280","28914adcfb92fa94199e1c887da7d67a7d9d736d9571627d6b02e55ff82f577b","b0a69607a92876948c2a42e3aa6703b0d724699468ed7e3c6e2a237d119a9db9","cdacb8e4ac607a46494d1187e073382c43e7269e8bf698502a285a8ccb470925","f5091ebbd718ea236a7f503df569deb07aff0621aa8f73ed90e419de88f006aa","d3a328c0eccf652bc8b6c14515a8b848a558b9d684e15a7c0c2e15de5016df57","1b5193795ee478857bf1115fed004151284dd4da883a5a4f22e62631c3b414ad","3be01044afc63501423c361deb531d3e95f5c2677f1f7a628802bd346988d62c","78d8d1ca7d54a437702c8a8c08764b6a49f2cf2ca357d0e459bfe89a06abf50a",{"version":"5cb601ef601fe52cc52b53fc4bd20d582f808fe8205414174144bbfe57ea87c8","impliedFormat":99},{"version":"a50ab81c98f4e49c50c9176d63491f21d0c4e1495d75ddd48c2422905786e4a0","impliedFormat":99},{"version":"a54732ae9a3d22c683f78da70b604d73d3b509334f8a676d389d93bea74c38a0","impliedFormat":99},{"version":"1a6bf254c5c8d903ea5a1c656dc5b6bfcebcffc964b98e1d30d7f6cdd74f90e5","impliedFormat":99},{"version":"1a9f33c2e5dd3f5bf191e04ad80b80932b7c8c033296e036809b86ff70622f4e","impliedFormat":99},{"version":"0a5309eacfd4cf39b35011764da421ba348f6e2c13eb8566a4968079a0b02972","impliedFormat":99},{"version":"3f9f4e50d36876f3214527b236671966c08ef7167616cf1f12e989c35a38dc6a","impliedFormat":99},{"version":"9eb9ff03368bc0cdec5515e57ee151f2186cf471707bf584e03430f163df92be","impliedFormat":99},{"version":"c896969578cd5cf3eb98ff18e8d9b0cad255295a2d414d1ca9c180d1b0e08828","impliedFormat":99},{"version":"4675b14341f526290264c6037bb5c542c6a9ccda322c80163ec23e5c0fa30233","impliedFormat":99},{"version":"5c55dc3fa31f2bca1988460ffa81bade44c50435f22c0c3eda0604eb00dacf26","impliedFormat":99},{"version":"124fdf903e92e1ab75879e27ca17976d273bdf4de06c03346af23d093a5306d2","impliedFormat":99},{"version":"fed245527b74a8d1960f367e9cbef6d0f1572d0c6f438b27f5d8aead43d0877a","impliedFormat":99},{"version":"c36faa0bfaf13afe29545a7daf78cbc4f4f4648d89896b2d901756b2d141ac6c","impliedFormat":99},{"version":"c01ec038e2b27256be28459c5db92cce86172ab922acb94a0200301f796074ae","impliedFormat":99},{"version":"ede91553a52427739ecf60f682a4213096405d1752d7e04a09deeb1a36f93bc0","impliedFormat":99},{"version":"093a04c5253ba473925fa0f34b096cf288f9764e0f7832264630118c0a73fc0d","impliedFormat":99},{"version":"5baffdee68bd2ac045de379fb42fc4152ea7941558a5b0ab97907bd9999fd5e9","impliedFormat":99},{"version":"5ab62f274aec7fc17a36546dc513cf9998c59cd3b0a99ddcf1b7646f0b89b537","impliedFormat":99},{"version":"e4757c70365c82b717d3ba0322f2d38376eb1f43b9c20bebf7dcb10766518857","impliedFormat":99},{"version":"a650f6d60bf74cbd170ac6e6da097ec5ef22f5a780449e8cc382860f0cd5be07","impliedFormat":99},{"version":"d8e79566780ac634d921857f15527cbfdc3bbe0ff40170d748b631a8429f480e","impliedFormat":99},{"version":"5d86273772e7066052ecf64508bfcf6b38904e5e4a26a50a1885f5e39cc11354","impliedFormat":99},{"version":"34a6c4b81f22162fbba06b2e7d0208f824d945da5dbfc848c8c19344b41a7bb9","impliedFormat":99},{"version":"793da7384e5f9a0bda4941690d57154847c611df339d5a8558f2f7f5916237bf","impliedFormat":99},{"version":"d1a5699153fef3334c29ec0944fac193f0e028ffc7f8fd279f78eeba0cdbe918","impliedFormat":99},{"version":"8b27d21e82bd4387175dc7b424483e8f096a0aadd18c358545eff2e969e2c9f2","impliedFormat":99},{"version":"45a071878500e6946294e7ab6be5685f62fd23661a07b700d54132e29a67f2f4","impliedFormat":99},{"version":"d68b7e32898be33fd04c6648feb88d172a64bc24d2353e7bc7585ee17626bbd9","impliedFormat":99},{"version":"11935f97c66c4c49fb47f7152da69597439b2fc7fe5c94dafcb084004665fd58","impliedFormat":99},{"version":"eabfd3af9186aa893ca538e6ad8f1495a4cdf04998f780bddb140475f739388f","impliedFormat":99},{"version":"5b337211fd94d43cfe42b5e40e47b192f6d2c43b3d4c0c248795f2b11f0cbddd","impliedFormat":99},{"version":"29cc50e9684526f202e0ec72e8b2b698d7afd834d92c3fb432ebac92c82a49f9","impliedFormat":99},{"version":"2cb91101314a4e9c0bfd206fe80cefb3d02a939d9af07f287e1af101a473fdde","impliedFormat":99},{"version":"322bf7c2606cd181407ab1c56d5fbd1380b684aee9106bfb623bda0ad7ae4bd0","impliedFormat":99},{"version":"29807f0ac9f82cf0f622dddaec071549dfa4a0cc4d109713933477fc9eb83dd3","impliedFormat":99},{"version":"d60011ac804e9035396d388d9ea7bfb5b887f5e588407fb3f8ba247ea91d727e","impliedFormat":99},{"version":"9fcd4dad9706ece8a9cf0aa3edecfa69061e41a19fd9cdf3e57323602005da24","impliedFormat":99},{"version":"cae4456f1df6ecb2fd09db349d08cff3dc59fc89429177113ba4ef008f5fd7d5","impliedFormat":99},{"version":"9d663b3b8956417b5f5be8dbb95850e3148504c1b075bb1781a35454694d0c90","impliedFormat":99},{"version":"773ef01ee36ac883ecc6983375b9d19753482c0836f771ec34bd627eaa9cdac1","impliedFormat":99},{"version":"4d9005c2f7c387190817e189f8a68272d8be064283f1a57a44d8789c3f6c2591","impliedFormat":99},{"version":"fd2a3748918734fa6a63e0369b178cc9a064d10d1963ba4c860aeabc86b11a2a","impliedFormat":99},{"version":"ed247a2cf480a075b2682e8a20e8988f3e0aad1a27ad75f6322b1a2f3be4352c","impliedFormat":99},{"version":"1e84717248f30c7eeb076803e11f0bfa1c7f63b7ac576b8b8372879160163ed6","impliedFormat":99},{"version":"c208da917ac4f4500682ece43e31eb7fafb7f9576d6e3e5034ced623466f7817","impliedFormat":99},{"version":"940b4e57ea5069325ed50812e467f40b2a66cb68991811c90812e48405861cb3","impliedFormat":99},{"version":"7d4f1c3c27ad50f0ac151e0877e2a8f0826c9442deb1d9d54215dcba0d6c17cf","impliedFormat":99},{"version":"55ef1b3e546f568e4af10b6ab3f894ebfc0eebe43b1ba061a7d0e9b2781512bc","impliedFormat":99},{"version":"afeee3a70a46b7fc8bf31179618da3b8989c3de9d17d015ea9c5dd5eb1e7ef26","impliedFormat":99},{"version":"6fc78d9ba678eeae0f27d06714546f4034ddb8c8c40afc6910500afb70058e59","impliedFormat":99},{"version":"d2eee96cf9da7be73e87aa7f59feea262d48e37d0772ed449d3e8c0dd1dfd732","impliedFormat":99},{"version":"3e099aa619a4104fa61203e77da058e576a084c7465507ef00111792c8699969","impliedFormat":99},{"version":"2a05d083d7306e62d2b5bf928e37282b1c636c869407cf6805ae102a5c2e7685","impliedFormat":99},{"version":"d2b889a2000d2af35854536c181a113b8b37a63562ef63055f4c8d9828dbe43d","impliedFormat":99},{"version":"92d233205888168a44ac899dbf616c5cead9f0cd12d25001818d52e6a02c6be4","impliedFormat":99},{"version":"937100bc7d977382285f798534f79ac0c676eccbb91d6eae1f59574cbc408b96","impliedFormat":99},{"version":"b3ec08bd9a6cd70b8455bd289f9e3fbdcaf669db91235bff7ba693c802d11659","impliedFormat":99},{"version":"5a053f7fba7ad03a813017332452ce1977ebcb2c3096d6b2cde7ac686c4d3db5","impliedFormat":99},{"version":"ba6c27bdf6edbae4ae11f3e4b46eebb44e6efeea6295fe0e5c5ae85903ede84a","impliedFormat":99},{"version":"ed33a23268537d2029bb452cc5ea9dba45231932a3de2b4af060074b18eff60c","impliedFormat":99},{"version":"0398c04fae34e629468636b241f7a3f958afd56e7c8c5019e1d3b884788163e8","impliedFormat":99},{"version":"441b1df56a379ddd2ea48ef3181f3c106b4cd1adf9859e3ad3d7a0bba59ff048","impliedFormat":99},{"version":"2d28eb1721a7d2f9a0bc70ceae2e9e6b9f4b92165c5bdcdba5e5f681a939c17f","impliedFormat":99},{"version":"b4f9a6ddded7fc38e317bad47ad6e06ecb54af52ced8e68355cdbc515ef90779","impliedFormat":99},{"version":"23207850fe41e9833dbe7fcff3346079326297caa3ca1460fee4449f44c06b63","impliedFormat":99},{"version":"fce7836f9caa219cb02b063ca298750d4bad0d7d142789aeb54ed831537e9617","impliedFormat":99},{"version":"e024658f3a33e8b0b4be64ef63664e53bdad23ac02da80627f5cd81002dc3d6a","impliedFormat":99},{"version":"718da4d2b29b23a1dff5efd9e315983719be282116731f56dee995f8aa6e69ff","impliedFormat":99},{"version":"82238ab92050b07fc08e5d3f5e41f1ebc9b72b682c41706a96e5122ce258f6af","impliedFormat":99},{"version":"3eef0d5ca3faf3491636d6f6c2eba4595d4caab4dc2b6cfb3219aa2728d72c14","impliedFormat":99},{"version":"83a4c282e73ca9047f5ecdfff5d3311eef8faa65ff31b711ba2f124724e1db89","impliedFormat":99},{"version":"057d4303fa8d622c2c5ce9417f6e5d1b6d1646490ae65cb1b9f44c0e14b2bdc2","impliedFormat":99},{"version":"fe405db7d028c53756a74959092451dee07201c9d129e1345e8640db38604549","impliedFormat":99},{"version":"8e9200683268e51edf03ac7744708c79ab4c8fb141056c4b59c4704c0cc997cc","impliedFormat":99},{"version":"063d2ca0955ce37011fef5cfbee642e283576b54e7a7acc9e92b3637990eb95f","impliedFormat":99},{"version":"7b5e6b78769197ab876016d3eba09e98c44c5f837dea6fb322f5c0fc1647b6ed","impliedFormat":99},{"version":"d3670c18d8ade16dd2042275de370a2790dba7e9ab0df19a0f39bee04ac90529","impliedFormat":99},{"version":"cfb3b4438720d0cbe9cade1b2d282a1a2c25b022f61ee7fa145fb60257970a5e","impliedFormat":99},{"version":"5f4eef61b8ebdf80f80ec902dfc9bc571151a1fd0fbe8de380908d7a35d39b90","impliedFormat":99},{"version":"eb66759a092710a0df89eab7e7f24f2700bced8a9361119fa6f00549fdb79acc","impliedFormat":99},{"version":"cb15d78a6681f806f3c15c9e9924baa64ad69240a26a07d5d4865d97e410d0cf","impliedFormat":99},{"version":"030a2b1f9a8526084fbdb0512531270241f1f7c2ee0d17e57f2acc3c1e27f8b4","impliedFormat":99},{"version":"afd8c5948029d471e789cf9719347d636118d29a2842189ec007be7658d68ed6","impliedFormat":99},{"version":"d69d4bc20fd68779812eb624f0ea4fb87d0ad142ec077a92db1b9756e374dc36","impliedFormat":99},{"version":"2ac21cad5cf978d3fa22824eab07dd4e45c4c3e667bacdf6d362cf48ce467400","impliedFormat":99},{"version":"0d76679fcf5c1ca2066b813690f3e0b79f022a1f5790a1f1e62657e60587f807","impliedFormat":99},{"version":"1575b96081221868894acd91dfcc418caebc84b7c46e1a0e1b56868f3bd5ec1d","impliedFormat":99},{"version":"aac32232a715ab2a8af3d7a771a26616acb0ba4467ad63aa166576d01737f024","impliedFormat":99},{"version":"d9c16158ec12425f27fdb7c1d8283e38e6a780356a7e1be740c627d5fcb2afb2","impliedFormat":99},{"version":"ebe0dc40bf2c8c9dafc164ec81aa34014b3afdafa3b460580040ec6ee8595182","impliedFormat":99},{"version":"10485e2037fe45fefc9742f4f66c0b0ef66a414e1cd5da08224d3ad77f52e06a","impliedFormat":99},{"version":"85efd78f1d72eb80045ca9f6c7fe949ce57c4e2f91ce67836b1c74fb5e37fb32","impliedFormat":99},{"version":"f83ed4e7abe4813f3abeab403e184f370e551b967f03b36bebb8e04f5a7b3e1b","impliedFormat":99},{"version":"b4a884cfeb47c402ea007f3d6dcf1c3f7bbc7aa992f026f90ce32dafd303ab2e","impliedFormat":99},{"version":"40d3775028dcbc7b7a33eea6eb078c9c75768f6ea1c8486a00305dc6a98ac69a","impliedFormat":99},{"version":"416e6fff00203867b65a8e0938a2d3dfee590ed85cbcc83bdf2cea6d5683c5eb","impliedFormat":99},{"version":"cc858fc505e73c94687615b5db556f389dd93f0c1e7fcef1d5d4db7acc5103d6","impliedFormat":99},{"version":"ea31b6bc87f32720373c69c6c59c1d9fdd50555a9021c9a85a70420dace23d4a","impliedFormat":99},{"version":"bc5a49e37a3c054f7242a575e17c51a8bacd655781c00f970f454a862d9fbb49","impliedFormat":99},{"version":"f2a6767773e427967edeb405df7f9f82f30825f08b74422cfd2f1f3788b91ca3","impliedFormat":99},{"version":"a18298dd94f5bb17b57e1dfe6d4e9dbe4056918fe00cd5ce1b4781c6eb75506a","impliedFormat":99},{"version":"802f769b11233787d30050575be58c47ec13ab6e5da8a0fc8c518377ad4ab969","impliedFormat":99},{"version":"ddd747fc2fc8ce182b1d8983dd76cc9c6a63bfd41c41f30ad493498fa147796a","impliedFormat":99},{"version":"ead40c0994c6bbf23b0570f9f5c3ecd7e05e96b33a926b92b07eb2a570cff427","impliedFormat":99},{"version":"0067430a14cfe4c1d5e83c09f30fc2786a31bba3c909d13e6303fc4684d7b5ee","impliedFormat":99},{"version":"3c6455744bfbfd43e6044e4ddd1e5dbbc90e760360da861d43b04e0f4feb750f","impliedFormat":99},{"version":"f81bf869cfcd787e6b3b8364e3cffbdd12642b73bb3d5edb2b4e1b7758625948","impliedFormat":99},{"version":"ccee819ef830e94e1b1b77aa9ddf91c46ef90b72f7d4051813358dcc39726e4f","impliedFormat":99},{"version":"b47c5d10814fc8a4d38cb1f53747206f8a54a42bf55fc9356bf8135cceb00e34","impliedFormat":99},{"version":"526294ad110e18e29e073ee33ea13fa1f239acb75395a8f5036119754072cba5","impliedFormat":99},{"version":"e4871dd25770340566d730787c1444a83288d7024f9724e47ac7acaba748b2c5","impliedFormat":99},{"version":"0d15ade45441ed847027c6a303ce940fd090bfa16471ce4499f6db0b872d02ac","impliedFormat":99},{"version":"0e08e056aaca83bdf29f2c16ad8bffcf464ec990cdd584028b97982b5dc78ec0","impliedFormat":99},{"version":"80f02e37afbdffb7ba24d08913e957fdb3663ed83fd21488025f870160f31264","impliedFormat":99},{"version":"8bb115da7bda29b9207469a3661e1eef3dcb5bfd1ddb5801f514a01fe926f3e4","impliedFormat":99},{"version":"11346b4dc0f1788acd91cec10608feabc21ea59b931bda283f7bc2fb789e19df","impliedFormat":99},{"version":"05332c4354cdc85297fb83e15c46d58c64ff6ae0f857483e3a2f60ac8eef5c05","impliedFormat":99},{"version":"536bf3e23b9796fd6b455ce003f01d1455b035eadcb0ff0c277aefc923a2052b","impliedFormat":99},{"version":"51301622d67ede65e9882f3a87905abe97a75d61b6c7d3fa192442795989adc0","impliedFormat":99},{"version":"bf652f64a25413312a3c96e03820f11e2f7b064b97a3c3193d2b99696c00f5f4","impliedFormat":99},{"version":"7334ccea8b22f375228bf8a4458e9231ea9f3e10b0f1350fae0ab2b18ea26d9f","impliedFormat":99},{"version":"73e1e9362beaa619314b82273466290a40da8d8dd351ad2ec3531006282c299e","impliedFormat":99},{"version":"20578e4f24df1a6768cd35fd6cc4f336f6c2eb3e74aab08cd636f74811f7d699","impliedFormat":99},{"version":"859249fdf17a064ff62d6198dd2fe0d4348a0aa2f39bfa6815593bda03bdddda","impliedFormat":99},{"version":"5ff9162888fdc99881fcc9f7d7e942b38f991e4ebd8bfde72eba38638c91c47c","impliedFormat":99},{"version":"a19a3e5e3d38910e354e539e6d8d388c8ab9a4dcb9c1ae5ba15a315f2504106d","impliedFormat":99},{"version":"ebbf09cedc62dda38181af310310c04c54143a1656701d6361fe837ee966fd4c","impliedFormat":99},{"version":"b3fd28b777c10f43439560bf046b5e0ee579870ad55e7c4ee18e48587b62c297","impliedFormat":99},{"version":"8a74321859e977a36bbe72cac745415ca72523ec2e7398e8adb2bca0b095f179","impliedFormat":99},{"version":"600330b1ac0b196c38f7914417df99ccc7d8b68dd3054ebcce557add63edee24","impliedFormat":99},{"version":"68f76cd91329f21caa0c5f83b7f37d5657be2896cdf19038acd39322d8ccf118","impliedFormat":99},{"version":"188b955db2cc66bdbd14cb70ca7d39a489c7b8e9d6775b3386fd9afff65150ab","impliedFormat":99},{"version":"a273afdc5e74b1ef7768a8e26b86f6c20e3c2e59091f62c1a878f0109472f766","impliedFormat":99},{"version":"d99c7d32773b8945f94fe795d2597bb52e10009dbcd8b1321aabc893e1e3834b","impliedFormat":99},{"version":"6fe242485415a18b3cf880affdac29848f20d19c6d551214315f4cee5b88fe04","impliedFormat":99},{"version":"ba3ecc059b4f47856ed152ca23c4883e0e3c2318fd2038fa7d89815d800de4dc","impliedFormat":99},{"version":"c54bbf830a3b2177d7dabf575db5a04ba59eaa02c0898faa1ef95bad91dc5696","impliedFormat":99},{"version":"1d538c7c24d995dfc33eee3e1ffbdaf5c81f6a43182358da07ad3423adbea599","impliedFormat":99},{"version":"8ac7d8a7389aa0ab932677caa8588410d7115c7f74d5beafe1e3ffe657448d0a","impliedFormat":99},{"version":"f5f2f831ae8192e82d6f90e6d3e3f6857fcf9549c851cb800b6cfe1ae7270d04","impliedFormat":99},{"version":"c6e8a1e18248c6911759ffd85ddca92ab39c120c221be462ce704318b509c464","impliedFormat":99},{"version":"8e5ed66af2277c2a07fb39c9957302c2a3957beadc91f19a4f4dc158ecb73978","impliedFormat":99},{"version":"c2470d5c5748ef37eb9ffc116065866bc31e4cbb1ca42448c8d65974b6014580","impliedFormat":99},{"version":"e4baea4d2d4efea8885c66f9e0216208f4cecf05f6a92d9e0fc48a111533fd63","impliedFormat":99},{"version":"df74e126db768782d5acb4ab86d48be2bbd9c763aa597eb36955a50ee4490694","impliedFormat":99},{"version":"be8b95b8e49106f05e9f6d159511a1fa43206e0e1f50f16813f3a79d49477126","impliedFormat":99},{"version":"f22c85e84dcb53bc1b84a84a3ffda140b63709c564c6c17f8dc1e3aa0d441ba2","impliedFormat":99},{"version":"4e5c0880c0e045d361e2718b455d9d5098266dac0adc16cb9d24871dcbecb93f","signature":"9256bf1e36f882bdae23be804dfb16e05cf06e96f8bd0a98aed263704c11a6be"},{"version":"83b746221944e56a9ac98e58ea4cc54baba588c62bd27af2283233d26663a219","signature":"5125f0945a6ebb151c6eccc4fa8ef209f073f98cbb45e1fb755bee6344c77e35"},{"version":"523786b383c76f3df2cd370f5c61009bc1565e3e65a37ff3865efb0923e06052","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[[217,219]],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":99,"outDir":"./types","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"referencedMap":[[217,1],[218,2],[219,3],[147,4],[141,5],[142,6],[148,7],[143,6],[144,8],[145,9],[146,10],[133,11],[131,12],[132,4],[134,13],[122,14],[125,15],[121,16],[130,17],[129,12],[120,18],[126,14],[128,19],[150,20],[149,4],[135,12],[136,21],[140,22],[137,12],[139,23],[138,12],[70,24],[76,25],[72,26],[81,27],[78,28],[71,28],[75,29],[73,30],[101,12],[83,12],[86,31],[108,32],[90,33],[93,34],[94,35],[97,12],[98,12],[95,36],[88,37],[109,38],[91,39],[110,12],[111,40],[87,41],[96,41],[103,41],[104,42],[107,41],[102,34],[105,12],[100,12],[99,12],[89,43],[106,44],[92,45],[151,46],[215,47],[216,48],[190,47],[191,49],[162,50],[163,51],[164,52],[204,47],[205,53],[198,47],[199,54],[200,47],[201,55],[186,56],[184,47],[187,57],[185,56],[202,47],[203,58],[165,59],[166,60],[167,61],[189,62],[188,47],[160,56],[159,63],[161,64],[157,65],[158,56],[170,66],[169,67],[168,63],[214,68],[213,47],[176,69],[177,70],[174,71],[175,72],[193,73],[192,47],[171,74],[173,75],[172,76],[183,77],[182,47],[196,78],[195,65],[178,56],[180,79],[179,80],[207,81],[206,47],[115,82],[114,83],[112,84],[113,85],[123,86],[124,87],[119,88],[118,89],[116,90],[117,91],[152,4],[153,12],[155,92],[156,92],[154,92],[68,93],[64,94],[66,95]],"latestChangedDtsFile":"./types/register.d.ts","version":"6.0.2"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * DuskMoon Code Engine Element
3
+ *
4
+ * A lightweight code editor backed by @duskmoon-dev/code-engine (CodeMirror 6 fork).
5
+ * Behaves like a native <input> or <textarea>: the `value` attribute sets the initial
6
+ * content, the `value` property always reflects the current content, and the element
7
+ * fires `input` on every change and `change` on blur.
8
+ *
9
+ * @element el-dm-code-engine
10
+ *
11
+ * @attr {string} value - Initial editor content (read once at mount, like <input>)
12
+ * @attr {string} language - Language name for syntax highlighting (e.g. "javascript", "css")
13
+ * @attr {boolean} readonly - Whether the editor is read-only
14
+ * @attr {string} theme - Editor theme: "duskmoon" | "sunshine" | "moonlight" | "one-dark"
15
+ * @attr {boolean} wrap - Enable line wrapping
16
+ *
17
+ * @prop {string} value - Gets or sets current editor content
18
+ *
19
+ * @method focus() - Focuses the editor
20
+ * @method getValue() - Returns current editor content
21
+ * @method setValue(value: string) - Sets editor content programmatically
22
+ *
23
+ * @fires input - Fired on every document change, detail: { value: string }
24
+ * @fires change - Fired when editor loses focus, detail: { value: string }
25
+ *
26
+ * @csspart editor - The CodeMirror mount container
27
+ */
28
+ import { BaseElement } from '@duskmoon-dev/el-base';
29
+ export type CodeEngineTheme = 'duskmoon' | 'sunshine' | 'moonlight' | 'one-dark';
30
+ export declare class ElDmCodeEngine extends BaseElement {
31
+ #private;
32
+ static properties: {
33
+ language: {
34
+ type: StringConstructor;
35
+ reflect: boolean;
36
+ };
37
+ readonly: {
38
+ type: BooleanConstructor;
39
+ reflect: boolean;
40
+ };
41
+ theme: {
42
+ type: StringConstructor;
43
+ reflect: boolean;
44
+ default: string;
45
+ };
46
+ wrap: {
47
+ type: BooleanConstructor;
48
+ reflect: boolean;
49
+ };
50
+ };
51
+ language: string;
52
+ readonly: boolean;
53
+ theme: CodeEngineTheme;
54
+ wrap: boolean;
55
+ constructor();
56
+ /**
57
+ * Current editor content. Getter always returns live document text.
58
+ * Setter updates the editor document (or queues the value if called before mount).
59
+ */
60
+ get value(): string;
61
+ set value(v: string);
62
+ /** Focus the editor. */
63
+ focus(): void;
64
+ /** Returns current editor content. Equivalent to reading the `value` property. */
65
+ getValue(): string;
66
+ /** Sets editor content programmatically. Equivalent to assigning the `value` property. */
67
+ setValue(v: string): void;
68
+ protected render(): string;
69
+ protected update(): void;
70
+ disconnectedCallback(): void;
71
+ }
72
+ //# sourceMappingURL=el-dm-code-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"el-dm-code-engine.d.ts","sourceRoot":"","sources":["../../src/el-dm-code-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,WAAW,EAAO,MAAM,uBAAuB,CAAC;AA6EzD,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAmCjF,qBAAa,cAAe,SAAQ,WAAW;;IAC7C,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;MAKf;IAEM,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;;IAiBtB;;;OAGG;IACH,IAAI,KAAK,IAAI,MAAM,CAIlB;IAED,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAQlB;IAED,wBAAwB;IACxB,KAAK,IAAI,IAAI;IAIb,kFAAkF;IAClF,QAAQ,IAAI,MAAM;IAIlB,0FAA0F;IAC1F,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIzB,SAAS,CAAC,MAAM,IAAI,MAAM;IAI1B,SAAS,CAAC,MAAM,IAAI,IAAI;IAWxB,oBAAoB,IAAI,IAAI;CAkF7B"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @duskmoon-dev/el-code-engine
3
+ *
4
+ * DuskMoon Code Engine custom element — a lightweight code editor
5
+ * backed by @duskmoon-dev/code-engine (CodeMirror 6 fork).
6
+ */
7
+ import { ElDmCodeEngine } from './el-dm-code-engine.js';
8
+ export { ElDmCodeEngine };
9
+ export type { CodeEngineTheme } from './el-dm-code-engine.js';
10
+ /**
11
+ * Register the el-dm-code-engine custom element.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { register } from '@duskmoon-dev/el-code-engine';
16
+ * register();
17
+ * ```
18
+ */
19
+ export declare function register(): void;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAI/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@duskmoon-dev/el-code-engine",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "module": "./dist/esm/index.js",
6
+ "types": "./dist/types/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/types/index.d.ts",
10
+ "import": "./dist/esm/index.js"
11
+ },
12
+ "./register": {
13
+ "types": "./dist/types/register.d.ts",
14
+ "import": "./dist/esm/register.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "scripts": {
21
+ "prebuild": "bun run clean",
22
+ "build": "bun run build:esm && bun run build:types",
23
+ "build:esm": "bun build ./src/index.ts ./src/register.ts --outdir ./dist/esm --format esm --sourcemap --external @duskmoon-dev/el-base --external @duskmoon-dev/code-engine",
24
+ "dev": "bun build ./src/index.ts --outdir ./dist/esm --format esm --sourcemap --external @duskmoon-dev/el-base --external @duskmoon-dev/code-engine --watch",
25
+ "clean": "del-cli dist",
26
+ "build:types": "tsc --emitDeclarationOnly --outDir ./dist/types",
27
+ "test": "bun test",
28
+ "typecheck": "tsc --noEmit",
29
+ "format": "prettier --write 'src/**/*.ts' '*.json'",
30
+ "format:check": "prettier --check 'src/**/*.ts' '*.json'",
31
+ "lint": "eslint src",
32
+ "lint:check": "eslint src --max-warnings 0",
33
+ "lint:fix": "eslint src --fix",
34
+ "release": "bun publish",
35
+ "release:dry-run": "bun publish --dry-run"
36
+ },
37
+ "dependencies": {
38
+ "@duskmoon-dev/el-base": "1.0.0",
39
+ "@duskmoon-dev/code-engine": "^0.3.0"
40
+ },
41
+ "devDependencies": {
42
+ "typescript": "^6.0.2"
43
+ },
44
+ "publishConfig": {
45
+ "access": "public"
46
+ },
47
+ "keywords": [
48
+ "duskmoon-dev",
49
+ "custom-elements",
50
+ "web-components",
51
+ "code-editor",
52
+ "codemirror"
53
+ ]
54
+ }