@arcgis/api-extractor 5.2.0-next.5 → 5.2.0-next.50

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,3738 @@
1
+ import { existsAsync as ei } from "@arcgis/node-toolkit/file";
2
+ import { path as He, getCwd as Li, toPosixPathSeparators as Ii } from "@arcgis/node-toolkit/path";
3
+ import { retrievePackageJson as ct } from "@arcgis/node-toolkit/packageJson";
4
+ import { b as Ai, p as ki, l as Gi } from "./typeScript-9etn_f76.js";
5
+ import { getDefaultBasePath as ti, buildViewUrl as Fi, getViewUrl as Ue } from "./extractor/processing/links.js";
6
+ import o from "typescript";
7
+ import "fs/promises";
8
+ import { a as ue, b as ii, c as ht, g as me, p as J, f as et, h as ni, d as Fe, e as Oi, i as Ni, j as oi, k as wi } from "./privateContext-CB7P40up.js";
9
+ import { maybeEscapePropertyName as Dt, printTypeAlias as Rt, printInterface as Ui, printFunction as Vi, printVariable as Wi, printClass as _i, printMethod as Bi, printProperty as ve, printGetterSetter as Ki, printSignature as Hi } from "./utils/partPrinter.js";
10
+ import { styleText as ie } from "node:util";
11
+ import { readFile as Lt, opendir as It, rm as $i } from "node:fs/promises";
12
+ import { pathIsComponentEntrypoint as zi, findDeclaredComponent as ji } from "./extractor/webComponent/findComponents.js";
13
+ import { renameComponentFolder as Ve, addComponentPathMapping as Ji } from "./extractor/webComponent/pathMapping.js";
14
+ import { getBasename as Z, getPackageNameFromExternalSpecifier as dt, extractInitializer as $e, extractBooleanInitializer as Y, findDecorator as xe, getMemberName as De } from "./utils/astHelpers.js";
15
+ import { readFileSync as qi, existsSync as ye } from "node:fs";
16
+ import { uncapitalize as Qi, camelToKebab as Xi, kebabToPascal as Yi } from "@arcgis/toolkit/string";
17
+ import { globalPackageIdentifier as le, mergeApiNodes as Zi, isApiMethodAsync as en } from "./utils/apiHelpers.js";
18
+ import "@arcgis/toolkit/array";
19
+ import { identity as Se } from "@arcgis/toolkit/function";
20
+ import { pathToFileURL as tn } from "node:url";
21
+ import nn from "path";
22
+ import { getWidenedLiteralType as on, unsafeUndocumentedTs as an, unsafeGetUndocumentedPrinter as rn } from "./utils/internalTypeScriptApis.js";
23
+ const At = "developers.arcgis.com", kt = "next.gha.afd.arcgis.com";
24
+ function Ta(e) {
25
+ if (e.isResolvedConfig === !0)
26
+ return e;
27
+ const t = e.context, n = e.types, i = e.documentation, r = `${t?.cwd === void 0 ? Li() : He.resolve(t?.cwd)}/`, s = t?.packageJson ?? ct(r);
28
+ let l = t?.basePath ?? "src/";
29
+ l.endsWith("/") || (l += "/");
30
+ const c = "customElements" in s && "@arcgis/lumina" in (s.dependencies ?? {}), p = n?.typeCheckedExtraction ?? c, d = n?.fullTypeCheck ?? !1, m = n?.typeScriptConfig ?? (p || d ? Ai(r, n?.typeScriptConfigPath, !0) : {
31
+ configPath: "",
32
+ config: {
33
+ options: {},
34
+ fileNames: [],
35
+ errors: []
36
+ }
37
+ });
38
+ if (n?.typeScriptConfig?.config.fileNames.length === 0)
39
+ throw Error(
40
+ `${ki.name}: Provided types.typeScriptConfig has no included files. If you used loadTypeScriptConfig, make sure to set resolveIncludedFiles to true.`
41
+ );
42
+ const f = {
43
+ config: {
44
+ ...m.config,
45
+ options: {
46
+ ...m.config.options,
47
+ ...n?.compilerOptions
48
+ }
49
+ },
50
+ configPath: m.configPath
51
+ }, u = t?.dtsEmitPath === void 0 || t?.dtsEmitPath === "" ? "" : `${He.resolve(r, t.dtsEmitPath)}/`, S = u !== "", C = t?.environment ?? "production", v = C === "development", P = t?.emptyDtsEmitPath ?? (!v && S), h = i?.omitInternal ?? !1, L = n?.forceProduceDts ?? !1;
52
+ if (h && (S || L))
53
+ throw Error(
54
+ "omitInternal must be false if emitting .d.ts files in order to produce functional types for internal APIs."
55
+ );
56
+ return {
57
+ isResolvedConfig: !0,
58
+ context: {
59
+ dtsEmitPath: u,
60
+ emptyDtsEmitPath: P,
61
+ apiJsonEmitPath: t?.apiJsonEmitPath ?? "",
62
+ environment: C,
63
+ cwd: r,
64
+ basePath: l,
65
+ packageJson: s,
66
+ logger: t?.logger ?? {
67
+ // We namespace manually
68
+ // eslint-disable-next-line webgis/consistent-logging
69
+ info: console.log,
70
+ // eslint-disable-next-line webgis/consistent-logging
71
+ error: console.error
72
+ },
73
+ excludedDirectories: t?.excludedDirectories ?? /* @__PURE__ */ new Set(),
74
+ isLuminaMinimalExtraction: t?.isLuminaMinimalExtraction ?? !1,
75
+ includeLuminaPrivateComponents: t?.includeLuminaPrivateComponents ?? !1,
76
+ supportApplyMixinsSyntax: t?.supportApplyMixinsSyntax ?? !1
77
+ },
78
+ types: {
79
+ typeCheckedExtraction: p,
80
+ fullTypeCheck: d,
81
+ afterDiagnostic: n?.afterDiagnostic ?? Se,
82
+ typeScriptInstanceCreated: n?.typeScriptInstanceCreated ?? Se,
83
+ typeScriptConfigPath: m.configPath,
84
+ typeScriptConfig: f,
85
+ compilerOptions: f.config.options,
86
+ declarationTextTransformers: n?.declarationTextTransformers ?? [],
87
+ typeReplacements: n?.typeReplacements ?? {},
88
+ forceProduceDts: L
89
+ },
90
+ documentation: {
91
+ copyDocDefinitions: i?.copyDocDefinitions ?? {},
92
+ noInheritMembers: i?.noInheritMembers ?? {},
93
+ omitInternal: h,
94
+ publicStoryUrlPrefix: i?.publicStoryUrlPrefix ?? !1,
95
+ getComponentDocsUrl: i?.getComponentDocsUrl ?? !1,
96
+ getComponentDemoUrl: i?.getComponentDemoUrl ?? !1,
97
+ host: i?.host ?? (v ? kt : At),
98
+ alternativeHost: i?.alternativeHost ?? (v ? At : kt),
99
+ basePath: i?.basePath ?? ti(s.name.split("/").at(-1))
100
+ },
101
+ verify: {
102
+ typeCheckTypes: e.verify?.typeCheckTypes ?? !1,
103
+ filterTypeCheckDiagnostic: e.verify?.filterTypeCheckDiagnostic ?? (() => !0),
104
+ detectBrokenLinks: e.verify?.detectBrokenLinks ?? !0
105
+ },
106
+ watch: {
107
+ onUpdate: e.watch?.onUpdate ?? Se,
108
+ // Many reads can happen in a short time (on folder moves, or if prettier re-runs)
109
+ // Shorter than TypeScript's default of 250ms as we are blocked until this
110
+ // timeout is complete. Short timeout for unchecked extraction as it is fast,
111
+ // so doesn't need long debounce.
112
+ debounceTime: e.watch?.debounceTime ?? (p || d ? 50 : 20),
113
+ clearScreen: e.watch?.clearScreen ?? !1,
114
+ skipWritingUnchanged: P ? !1 : e.watch?.skipWritingUnchanged ?? !0
115
+ },
116
+ strict: e.strict ?? !c,
117
+ afterApiJsonCreate: e.afterApiJsonCreate ?? Se
118
+ };
119
+ }
120
+ async function ha(e, t) {
121
+ const n = t !== void 0, i = e ?? process.cwd(), a = He.resolve(i, t ?? "api-extractor.config.ts"), r = await ei(a);
122
+ if (n && !r)
123
+ throw Error(`The provided config file at ${a} does not exist.`);
124
+ if (!r)
125
+ return e === void 0 ? {} : { context: { cwd: e } };
126
+ const s = (await import(tn(a).href)).config;
127
+ return {
128
+ ...s,
129
+ context: {
130
+ ...s.context,
131
+ cwd: s.context?.cwd ?? He.dirname(a)
132
+ }
133
+ };
134
+ }
135
+ function Ea(e, t) {
136
+ const n = e.context, i = t.context, a = e.types, r = t.types, s = e.documentation, l = t.documentation, c = e.verify, p = t.verify, d = e.watch, m = t.watch;
137
+ return {
138
+ isResolvedConfig: e.isResolvedConfig || t.isResolvedConfig || void 0,
139
+ context: {
140
+ dtsEmitPath: i?.dtsEmitPath ?? n?.dtsEmitPath,
141
+ emptyDtsEmitPath: i?.emptyDtsEmitPath ?? n?.emptyDtsEmitPath,
142
+ apiJsonEmitPath: i?.apiJsonEmitPath ?? n?.apiJsonEmitPath,
143
+ environment: i?.environment ?? n?.environment,
144
+ cwd: i?.cwd ?? n?.cwd,
145
+ basePath: i?.basePath ?? n?.basePath,
146
+ packageJson: i?.packageJson ?? n?.packageJson,
147
+ logger: i?.logger ?? n?.logger,
148
+ excludedDirectories: i?.excludedDirectories ?? n?.excludedDirectories,
149
+ isLuminaMinimalExtraction: i?.isLuminaMinimalExtraction ?? n?.isLuminaMinimalExtraction,
150
+ includeLuminaPrivateComponents: i?.includeLuminaPrivateComponents ?? n?.includeLuminaPrivateComponents,
151
+ supportApplyMixinsSyntax: i?.supportApplyMixinsSyntax ?? n?.supportApplyMixinsSyntax ?? !1
152
+ },
153
+ types: {
154
+ typeCheckedExtraction: r?.typeCheckedExtraction ?? a?.typeCheckedExtraction,
155
+ fullTypeCheck: r?.fullTypeCheck ?? a?.fullTypeCheck,
156
+ afterDiagnostic: Oe(r?.afterDiagnostic, a?.afterDiagnostic),
157
+ typeScriptInstanceCreated: Oe(
158
+ t?.types?.typeScriptInstanceCreated,
159
+ e?.types?.typeScriptInstanceCreated
160
+ ),
161
+ typeScriptConfigPath: r?.typeScriptConfigPath ?? a?.typeScriptConfigPath,
162
+ typeScriptConfig: r?.typeScriptConfig ?? a?.typeScriptConfig,
163
+ compilerOptions: r?.compilerOptions ?? a?.compilerOptions,
164
+ declarationTextTransformers: r?.declarationTextTransformers !== void 0 && a?.declarationTextTransformers !== void 0 ? [...a.declarationTextTransformers, ...r.declarationTextTransformers] : r?.declarationTextTransformers ?? a?.declarationTextTransformers,
165
+ typeReplacements: r?.typeReplacements ?? a?.typeReplacements,
166
+ forceProduceDts: r?.forceProduceDts ?? a?.forceProduceDts
167
+ },
168
+ documentation: {
169
+ copyDocDefinitions: l?.copyDocDefinitions ?? s?.copyDocDefinitions,
170
+ noInheritMembers: l?.noInheritMembers ?? s?.noInheritMembers,
171
+ omitInternal: l?.omitInternal ?? s?.omitInternal,
172
+ publicStoryUrlPrefix: l?.publicStoryUrlPrefix ?? s?.publicStoryUrlPrefix,
173
+ getComponentDocsUrl: l?.getComponentDocsUrl ?? s?.getComponentDocsUrl,
174
+ getComponentDemoUrl: l?.getComponentDemoUrl ?? s?.getComponentDemoUrl,
175
+ host: l?.host ?? s?.host,
176
+ alternativeHost: l?.alternativeHost ?? s?.alternativeHost,
177
+ basePath: l?.basePath ?? s?.basePath
178
+ },
179
+ verify: {
180
+ typeCheckTypes: p?.typeCheckTypes ?? c?.typeCheckTypes,
181
+ filterTypeCheckDiagnostic: p?.filterTypeCheckDiagnostic ?? c?.filterTypeCheckDiagnostic,
182
+ detectBrokenLinks: p?.detectBrokenLinks ?? c?.detectBrokenLinks
183
+ },
184
+ watch: {
185
+ onUpdate: Oe(m?.onUpdate, d?.onUpdate),
186
+ debounceTime: m?.debounceTime ?? d?.debounceTime,
187
+ clearScreen: m?.clearScreen ?? d?.clearScreen,
188
+ skipWritingUnchanged: m?.skipWritingUnchanged ?? d?.skipWritingUnchanged
189
+ },
190
+ strict: t.strict ?? e.strict,
191
+ afterApiJsonCreate: Oe(t.afterApiJsonCreate, e.afterApiJsonCreate)
192
+ };
193
+ }
194
+ function Oe(e, t) {
195
+ const n = t === Se ? void 0 : t, i = e === Se ? void 0 : e;
196
+ return n !== void 0 && i !== void 0 ? ((...a) => (n(...a), i(...a))) : i ?? n;
197
+ }
198
+ function Te(e) {
199
+ const t = [], n = e, i = e;
200
+ if (e.deprecated && t.push({
201
+ name: "deprecated",
202
+ text: e.deprecated === !0 ? void 0 : e.deprecated
203
+ }), n.default && t.push({
204
+ name: "default",
205
+ text: n.default
206
+ }), i.return !== void 0) {
207
+ const s = i.parameters;
208
+ if (s !== void 0)
209
+ for (let l = 0; l < s.length; ++l) {
210
+ const c = s[l];
211
+ t.push({
212
+ name: "param",
213
+ // Add hyphen as required by TSDoc
214
+ text: `${c.name}${c.description ? ` - ${c.description}` : ""}`
215
+ });
216
+ }
217
+ i.return.description && t.push({
218
+ name: "returns",
219
+ text: i.return.description
220
+ });
221
+ }
222
+ const a = e;
223
+ if (a.customElement === !0) {
224
+ if (a.cssProperties !== void 0)
225
+ for (const s of a.cssProperties)
226
+ t.push({
227
+ name: "cssproperty",
228
+ text: Ne(s)
229
+ });
230
+ if (a.cssParts !== void 0)
231
+ for (const s of a.cssParts)
232
+ t.push({
233
+ name: "csspart",
234
+ text: Ne(s)
235
+ });
236
+ if (a.cssStates !== void 0)
237
+ for (const s of a.cssStates)
238
+ t.push({
239
+ name: "cssstate",
240
+ text: Ne(s)
241
+ });
242
+ if (a.slots !== void 0)
243
+ for (const s of a.slots)
244
+ t.push({
245
+ name: "slot",
246
+ text: Ne(s)
247
+ });
248
+ }
249
+ e.docsTags !== void 0 && t.push(...e.docsTags);
250
+ const r = e.description ?? "";
251
+ if (!(t.length === 0 && r.length === 0))
252
+ return {
253
+ description: r,
254
+ docsTags: t
255
+ };
256
+ }
257
+ function Ne(e) {
258
+ const t = e, n = e.name + (t.default !== void 0 ? `=${t.default}` : ""), i = n.length > 0 ? `[${n}]` : "", a = e.description ?? "", r = a.length > 0 ? ` - ${a}` : "";
259
+ return `${i}${r}`;
260
+ }
261
+ function sn(e) {
262
+ const t = e.description ?? "", n = t.length === 0, i = e.docsTags, a = (
263
+ // Has 2+ tags, or multi-line description, or single tag and single line description
264
+ i.length + (n ? 0 : t.includes(`
265
+ `) ? 2 : 1) > 1 || // Has a single tag, but that tag is multi-line
266
+ i[0]?.text?.includes(`
267
+ `) === !0
268
+ );
269
+ let r = "*";
270
+ n ? a || (r += " ") : (a ? (r += `
271
+ * `, r += Gt(t)) : r += ` ${t.replaceAll(" @", " \\@")}`, i.length > 0 && (r += `
272
+ *`));
273
+ for (let s = 0; s < i.length; ++s) {
274
+ const l = i[s], c = `@${l.name}`, p = l.text ?? "";
275
+ r += `${a ? `
276
+ * ` : ""}${c}`, p.includes(`
277
+ `) ? (l.name === "returns" || l.name === "param" ? r += " " : r += `
278
+ * `, r += Gt(p)) : p.length > 0 && (r += ` ${p.replaceAll(" @", " \\@")}`);
279
+ }
280
+ return r += a ? `
281
+ ` : " ", r;
282
+ }
283
+ const ot = 10, ln = 32, cn = 64;
284
+ function Gt(e) {
285
+ let t = "";
286
+ const n = e.length;
287
+ let i = 0;
288
+ for (let a = 0; a < n; ++a) {
289
+ const r = e.charCodeAt(a);
290
+ if (r === ot)
291
+ t += e.slice(i, a), e.charCodeAt(a + 1) === ot ? t += `
292
+ *` : t += `
293
+ * `, i = a + 1;
294
+ else if (r === cn) {
295
+ const s = a === 0 ? 0 : e.charCodeAt(a - 1);
296
+ (a === 0 || s === ln || s === ot) && (t += e.slice(i, a), t += "\\@", i = a + 1);
297
+ }
298
+ }
299
+ return i < n && (t += e.slice(i)), t;
300
+ }
301
+ function ne(e, t, n) {
302
+ return ai(e, t, n) ?? void 0;
303
+ }
304
+ function ze(e, t, n, i) {
305
+ const a = ai(e, t, n);
306
+ return a === void 0 ? i : a ?? void 0;
307
+ }
308
+ function ai(e, t, n) {
309
+ const i = o.getLeadingCommentRanges(n.file.text, e.pos);
310
+ if (i === void 0)
311
+ return;
312
+ let a;
313
+ for (const s of i) {
314
+ const l = n.file.text.slice(s.pos, s.end);
315
+ l.startsWith("/**") && (a !== void 0 && n.config.strict && n.emitError(
316
+ `Found multiple JSDoc comments for the same node. This is not allowed.
317
+ If one of these was meant to be a file-level comment, read the documentation: https://webgis.esri.com/references/api-extractor/api-node-kinds#module-level-documentation
318
+ If this is meant to be a function overload, read the documentation: https://webgis.esri.com/references/api-extractor/api-node-kinds#function-overloads`,
319
+ {
320
+ file: n.file,
321
+ node: e
322
+ }
323
+ ), a = l);
324
+ }
325
+ if (a === void 0)
326
+ return;
327
+ const r = n.config.documentation.omitInternal;
328
+ return dn(a, t, r, n);
329
+ }
330
+ function dn(e, t, n, i) {
331
+ if (t && !e.includes("* @public") && (n || !e.includes("* @internal")))
332
+ return null;
333
+ const a = e.length - 2;
334
+ let r = 3, s = "";
335
+ const l = [];
336
+ let c, p, d = !1;
337
+ for (; r < a; ) {
338
+ let m = e.indexOf(`
339
+ `, r);
340
+ m === -1 && (m = a);
341
+ let f = e.slice(r, m).trim();
342
+ if (r = m + 1, f === "*" ? f = "" : f.startsWith("*") && (f[1] === " " ? f = f.slice(2) : i.config.strict ? i.emitError(
343
+ `For consistency, include a space character after '*' in JSDoc. Did not find it in "${e}"`,
344
+ {
345
+ file: i.file,
346
+ node: void 0
347
+ }
348
+ ) : f = f.slice(1)), f.startsWith("@")) {
349
+ c !== void 0 && !d && l.push(
350
+ N[c] ?? {
351
+ name: c,
352
+ text: p.trim().replaceAll("\\@", "@") || void 0
353
+ }
354
+ );
355
+ const u = f.indexOf(" "), S = u === -1 ? f.slice(1) : f.slice(1, u);
356
+ if (S === "internal") {
357
+ if (n)
358
+ return null;
359
+ t = !1;
360
+ } else S === "public" ? (t = !1, d = !0) : d = S === "privateRemarks";
361
+ const C = u === -1 ? "" : f.slice(u + 1);
362
+ c = S, p = C;
363
+ } else c !== void 0 ? p = `${p}
364
+ ${f}` : s += `${f}
365
+ `;
366
+ }
367
+ return t ? null : (c !== void 0 && !d && l.push(
368
+ N[c] ?? {
369
+ name: c,
370
+ text: p.trim().replaceAll("\\@", "@") || void 0
371
+ }
372
+ ), {
373
+ description: s.trim().replaceAll("\\@", "@") || void 0,
374
+ docsTags: l
375
+ });
376
+ }
377
+ function pn(e, t) {
378
+ for (let n = 0; n < t.docsTags.length; ++n) {
379
+ const i = t.docsTags[n], { name: a, text: r } = i;
380
+ a === "deprecated" ? e.deprecated = r || !0 : (e.docsTags ??= [], e.docsTags.push(i));
381
+ }
382
+ e.description = t.description;
383
+ }
384
+ function ri(e, t) {
385
+ for (let n = 0; n < t.docsTags.length; ++n) {
386
+ const i = t.docsTags[n], { name: a, text: r } = i;
387
+ if (a === "deprecated")
388
+ e.deprecated = r || !0;
389
+ else if (i === N.private)
390
+ e.privacy = "private";
391
+ else if (a === "csspart")
392
+ e.cssParts ??= [], e.cssParts.push(at(r));
393
+ else if (a === "cssstate")
394
+ e.cssStates ??= [], e.cssStates.push(at(r));
395
+ else if (a === "slot")
396
+ e.slots ??= [], e.slots.push(at(r));
397
+ else if (a === "esriCompatibilityName") {
398
+ const s = ue(e);
399
+ s.esriCompatibilityNames ??= [], s.esriCompatibilityNames.push(r ?? "");
400
+ } else a === "readonly" || (e.docsTags ??= [], e.docsTags.push(i));
401
+ }
402
+ e.description = t.description;
403
+ }
404
+ function mn(e, t) {
405
+ const n = e, i = [];
406
+ for (let a = 0; a < t.docsTags.length; ++a) {
407
+ const r = t.docsTags[a], { name: s, text: l } = r;
408
+ if (s === "deprecated")
409
+ e.deprecated = l || !0;
410
+ else if (r === N.private)
411
+ e.privacy = "private";
412
+ else if (s === "param")
413
+ i.push(r);
414
+ else if (s === "returns")
415
+ n.return.description = r.text;
416
+ else if (s === "esriCompatibilityName") {
417
+ const c = ht(e);
418
+ c.esriCompatibilityNames ??= [], c.esriCompatibilityNames.push(l ?? "");
419
+ } else
420
+ e.docsTags ??= [], e.docsTags.push(r);
421
+ }
422
+ return e.description = t.description, i;
423
+ }
424
+ function un(e, t) {
425
+ for (let n = 0; n < t.docsTags.length; ++n) {
426
+ const i = t.docsTags[n], { name: a, text: r } = i;
427
+ a === "deprecated" ? e.deprecated = r || !0 : a === "default" ? e.default = r : i === N.readonly ? e.readonly = !0 : i === N.private ? e.privacy = "private" : (e.docsTags ??= [], e.docsTags.push(i));
428
+ }
429
+ e.description = t.description;
430
+ }
431
+ function fn(e, t) {
432
+ for (let n = 0; n < t.docsTags.length; ++n) {
433
+ const i = t.docsTags[n], { name: a, text: r } = i;
434
+ if (a === "deprecated")
435
+ e.deprecated = r || !0;
436
+ else if (a === "default")
437
+ e.default = r;
438
+ else if (a !== "readonly") if (a === "esriCompatibilityName") {
439
+ const s = ii(e);
440
+ s.esriCompatibilityNames ??= [], s.esriCompatibilityNames.push(r ?? "");
441
+ } else
442
+ e.docsTags ??= [], e.docsTags.push(i);
443
+ }
444
+ e.description = t.description;
445
+ }
446
+ function yn(e, t) {
447
+ for (let n = 0; n < t.docsTags.length; ++n) {
448
+ const i = t.docsTags[n], { name: a, text: r } = i;
449
+ a === "deprecated" ? e.deprecated = r || !0 : i === N.private ? e.privacy = "private" : (e.docsTags ??= [], e.docsTags.push(i));
450
+ }
451
+ e.description = t.description;
452
+ }
453
+ function at(e) {
454
+ if (e === void 0)
455
+ return {
456
+ name: "",
457
+ deprecated: void 0,
458
+ summary: void 0,
459
+ description: void 0,
460
+ syntax: void 0,
461
+ default: void 0
462
+ };
463
+ const t = e.indexOf(" - ");
464
+ if (t === -1)
465
+ return e.startsWith("- ") ? {
466
+ name: "",
467
+ deprecated: void 0,
468
+ summary: void 0,
469
+ description: e.slice(2),
470
+ syntax: void 0,
471
+ default: void 0
472
+ } : {
473
+ name: e,
474
+ deprecated: void 0,
475
+ summary: void 0,
476
+ description: void 0,
477
+ syntax: void 0,
478
+ default: void 0
479
+ };
480
+ let n, i = e.slice(0, t);
481
+ if (i.startsWith("[") && i.endsWith("]")) {
482
+ const r = i.slice(1, -1), s = r.indexOf("=");
483
+ i = r.slice(0, s), n = r.slice(s + 1);
484
+ }
485
+ const a = e.slice(t + 3);
486
+ return {
487
+ name: i,
488
+ deprecated: void 0,
489
+ summary: void 0,
490
+ description: a,
491
+ syntax: void 0,
492
+ default: n
493
+ };
494
+ }
495
+ const N = {
496
+ // Create a null prototype object to avoid collisions with Object.prototype when doing lookups
497
+ // eslint-disable-next-line @typescript-eslint/naming-convention
498
+ __proto__: null,
499
+ internal: { name: "internal", text: void 0 },
500
+ private: { name: "private", text: void 0 },
501
+ copyDoc: { name: "copyDoc", text: void 0 },
502
+ beta: { name: "beta", text: void 0 },
503
+ experimental: { name: "experimental", text: void 0 },
504
+ readonly: { name: "readonly", text: void 0 },
505
+ required: { name: "required", text: void 0 }
506
+ }, Re = {
507
+ description: void 0,
508
+ docsTags: []
509
+ }, Ce = {
510
+ description: void 0,
511
+ docsTags: [N.private]
512
+ };
513
+ function vn(e, t, n) {
514
+ switch (t.path) {
515
+ case "layers/FeatureLayer": {
516
+ const i = "export default class FeatureLayer extends FeatureLayerSuperclass {", a = e.indexOf(i);
517
+ if (a === -1)
518
+ return n.emitError(
519
+ `Hardcoded behavior error: Expected .d.ts for FeatureLayer to include "${i}".`,
520
+ { file: me(t).file, node: void 0 }
521
+ ), e;
522
+ const r = 'get type(): "feature";', s = e.indexOf(r);
523
+ if (s === -1)
524
+ return n.emitError(
525
+ `Hardcoded behavior error: Expected .d.ts for FeatureLayer to include "${r}".`,
526
+ { file: me(t).file, node: void 0 }
527
+ ), e;
528
+ const l = s + r.length, c = e.lastIndexOf("/**", s);
529
+ if (c === -1)
530
+ return n.emitError(
531
+ `Hardcoded behavior error: Expected .d.ts for FeatureLayer to include JSDoc for "${r}".`,
532
+ { file: me(t).file, node: void 0 }
533
+ ), e;
534
+ const p = `export default class FeatureLayer extends __FeatureLayerSansType {
535
+ ${e.slice(c, l)}
536
+ }
537
+ export abstract class __FeatureLayerSansType extends FeatureLayerSuperclass {`;
538
+ return e.slice(0, a) + p + e.slice(a + i.length, c) + e.slice(l);
539
+ }
540
+ case "layers/OrientedImageryLayer": {
541
+ const i = `import type { __FeatureLayerSansType } from "./FeatureLayer.js";
542
+ `, a = `extends FeatureLayer {
543
+ `, r = e.indexOf(a);
544
+ return r === -1 ? (n.emitError(
545
+ `Hardcoded behavior error: Expected .d.ts for ${t.path} to include "${a}".`,
546
+ { file: me(t).file, node: void 0 }
547
+ ), e) : i + e.slice(0, r) + `extends __FeatureLayerSansType {
548
+ ` + e.slice(r + a.length);
549
+ }
550
+ case "widgets/support/widget":
551
+ return e + `
552
+
553
+ export namespace tsx {
554
+ namespace JSX {
555
+ interface IntrinsicElements {
556
+ [elementName: string]: any;
557
+ }
558
+
559
+ interface Element {
560
+ }
561
+ }
562
+ }`;
563
+ default:
564
+ return e;
565
+ }
566
+ }
567
+ function Ca(e, t) {
568
+ let n = `/// <reference types="../index.d.ts" />
569
+ `, i = `
570
+
571
+ `, a = "", r = "", s = "", l = "", c = "", p = "", d = "", m = "", f = "", u = "", S = "", C = "";
572
+ for (let T = 0; T < e.length; ++T) {
573
+ const R = e[T];
574
+ for (let A = 0; A < R.declarations.length; ++A) {
575
+ const H = R.declarations[A];
576
+ if (H.customElement !== !0)
577
+ continue;
578
+ const V = H;
579
+ if (V.privacy !== void 0 || ue(V).hasExplicitAbstract === !0)
580
+ continue;
581
+ const { name: G, tagName: U, pascalCaseName: F, events: W } = V;
582
+ i += `import type { ${G} } from "./${R.path}/customElement.js";
583
+ `, n += `import type { ${G} } from "../${R.path}/customElement.js";
584
+ `;
585
+ const [fe, ke] = Sn(V.name, V.members);
586
+ let te = "", q = "";
587
+ if (W !== void 0) {
588
+ for (let de = 0; de < W.length; ++de) {
589
+ const Ge = W[de], xt = `EventHandler<${G}["${Ge.name}"]>`;
590
+ te += ` ${Dt(`on${Ge.name}`)}?: ${xt};
591
+ `, q += ` ${Dt(`on${Ge.name[0].toUpperCase()}${Ge.name.slice(1)}`)}?: ${xt};
592
+ `;
593
+ }
594
+ a += `export interface ${F}CustomEvent<T> extends CustomEvent<T> {
595
+ detail: T;
596
+ target: ${G};
597
+ currentTarget: ${G};
598
+ }
599
+ `, r += ` type HTML${F}ElementEventMap = ${G}["@eventTypes"];
600
+ `;
601
+ }
602
+ r += ` type HTML${F}Element = ${G};
603
+
604
+ `, s += ` "${U}": ${G};
605
+ `, l += `interface Lumina${F} extends ${fe}h.JSX.HTMLAttributes<${G}> {
606
+ ${te}}
607
+
608
+ `, c += ` "${U}": Lumina${F};
609
+ `, p += `interface Preact${F} extends ${fe}HTMLAttributes<${G}> {
610
+ ${te}}
611
+
612
+ `, d += ` "${U}": Preact${F};
613
+ `, m += `interface React${F} extends ${fe}HTMLProps<${G}> {
614
+ ${te}}
615
+
616
+ `, f += ` "${U}": React${F};
617
+ `, u += `interface Stencil${F} extends ${fe}StencilJsx.HTMLAttributes<${G}> {
618
+ ${q}}
619
+
620
+ `, S += ` "${U}": Stencil${F};
621
+ `, ke !== "" && (C += ke);
622
+ }
623
+ }
624
+ if (r === "") {
625
+ t.vanillaComponentTypes = "";
626
+ return;
627
+ }
628
+ const v = "@arcgis/lumina";
629
+ t.vanillaComponentTypes = `${i}
630
+ export { ToEvents, TargetedEvent } from "${v}";
631
+
632
+ ${a}
633
+
634
+ declare global {
635
+ interface HTMLElementTagNameMap {
636
+ ${s}
637
+ }
638
+
639
+ ${r}
640
+ }`;
641
+ const P = `import "./index.js";
642
+ export declare const defineCustomElements: import("${v}").DefineCustomElements;`, h = `${t.config.context.dtsEmitPath}loader.d.ts`;
643
+ t.dtsFiles.set(h, P);
644
+ const L = `${n}import type { h, EventHandler } from "${v}";
645
+
646
+ ${C}${l}declare module "@arcgis/lumina" {
647
+ export namespace h.JSX {
648
+ interface IntrinsicElements {
649
+ ${c} }
650
+ }
651
+ }`, b = ` interface IntrinsicElements {
652
+ ${d} }`, y = `${n}import { HTMLAttributes } from "preact";
653
+ import type { EventHandler } from "${v}";
654
+
655
+ ${C}${p}declare module 'preact' {
656
+ namespace createElement.JSX {
657
+ ${b}
658
+ }
659
+ namespace h.JSX {
660
+ ${b}
661
+ }
662
+ }`, k = `
663
+ namespace JSX {
664
+ interface IntrinsicElements {
665
+ ${f} }
666
+ }
667
+ `, D = `${n}import type { HTMLProps } from 'react';
668
+ import type { EventHandler } from "${v}";
669
+
670
+ ${C}${m}declare module "react" {${k}}
671
+ declare module "react/jsx-runtime" {${k}}
672
+ declare module "react/jsx-dev-runtime" {${k}}`, I = `${n}import { JSXBase as StencilJsx } from "@stencil/core/internal";
673
+ import type { EventHandler } from "${v}";
674
+
675
+ ${C}${u}interface ExposedElements {
676
+ ${S}}
677
+
678
+ export namespace JSX {
679
+ export interface IntrinsicElements extends ExposedElements {}
680
+ }
681
+
682
+ declare module "@stencil/core/internal/stencil-public-runtime" {
683
+ export namespace h.JSX {
684
+ interface IntrinsicElements extends ExposedElements {}
685
+ }
686
+ }`, x = `/** @deprecated import from stencil.d.ts instead */
687
+ export * from "./stencil.js";`, g = `${t.config.context.dtsEmitPath}types/`, K = `${g}lumina.d.ts`, w = `${g}preact.d.ts`, $ = `${g}react.d.ts`, B = `${g}stencil.d.ts`, E = `${g}components.d.ts`;
688
+ t.dtsFiles.set(K, L), t.dtsFiles.set(w, y), t.dtsFiles.set($, D), t.dtsFiles.set(B, I), t.dtsFiles.set(E, x);
689
+ }
690
+ function Sn(e, t) {
691
+ const n = [], i = [];
692
+ let a = !1;
693
+ if (t !== void 0)
694
+ for (let l = 0; l < t.length; ++l) {
695
+ const c = t[l];
696
+ if (c.kind !== "field" || c.readonly !== void 0 || c.privacy !== void 0)
697
+ continue;
698
+ if (c.getterType !== void 0) {
699
+ a = !0;
700
+ continue;
701
+ }
702
+ c.docsTags?.includes(N.required) === !0 ? n.push(`"${c.name}"`) : i.push(`"${c.name}"`);
703
+ }
704
+ let r = n.length > 0 ? `Required<Pick<${e}, ${n.join(" | ")}>>` : "";
705
+ i.length > 0 && (r.length > 0 && (r += ", "), r += `Partial<Pick<${e}, ${i.join(" | ")}>>`), a && (r.length > 0 && (r += ", "), r += `${e}SetterTypes`);
706
+ const s = a ? `type ${e}SetterTypes = ${e}["${si}"];
707
+ ` : "";
708
+ return [r.length === 0 ? "" : `${r}, `, s];
709
+ }
710
+ function Pa(e, t) {
711
+ const n = t.moduleMap.get("index");
712
+ if (n === void 0)
713
+ e.unshift(gn);
714
+ else {
715
+ const i = me(n);
716
+ i.index.named.getAssetPath === void 0 && n.declarations.push(li), i.index.named.setAssetPath === void 0 && n.declarations.push(ci);
717
+ }
718
+ }
719
+ const si = "@setterTypes", li = {
720
+ [J]: et(),
721
+ kind: "function",
722
+ name: "getAssetPath",
723
+ static: void 0,
724
+ deprecated: void 0,
725
+ summary: void 0,
726
+ description: "Get a resolved path from where an asset can be loaded.",
727
+ docsTags: void 0,
728
+ typeParameters: void 0,
729
+ parameters: [
730
+ {
731
+ name: "suffix",
732
+ deprecated: void 0,
733
+ summary: void 0,
734
+ description: "The relative path for the asset.",
735
+ docsTags: void 0,
736
+ optional: void 0,
737
+ rest: void 0,
738
+ type: {
739
+ text: "string",
740
+ references: void 0,
741
+ values: void 0,
742
+ source: void 0
743
+ },
744
+ default: void 0
745
+ }
746
+ ],
747
+ return: {
748
+ summary: void 0,
749
+ description: void 0,
750
+ type: {
751
+ text: "string",
752
+ references: void 0,
753
+ values: void 0,
754
+ source: void 0
755
+ }
756
+ },
757
+ inheritedFrom: void 0,
758
+ signature: void 0,
759
+ privacy: void 0,
760
+ source: void 0
761
+ }, ci = {
762
+ [J]: et(),
763
+ kind: "function",
764
+ name: "setAssetPath",
765
+ static: void 0,
766
+ deprecated: void 0,
767
+ summary: void 0,
768
+ description: `Used to manually set the base path where package assets (like localization
769
+ and icons) can be found.
770
+
771
+ By default, the package assets are loaded from
772
+ \`https://js.arcgis.com/<version>/<simplified-package-name>/\`. We are hosting
773
+ our assets on a CDN (Content Delivery Network) to ensure fast and reliable
774
+ access. It is CORS-enabled, so you can load the assets from any domain. This
775
+ is the recommended way to load the assets and avoid bundling them with your
776
+ application.
777
+
778
+ However, if you need to host the assets locally, you can copy them manually
779
+ as part of your build process and use \`setAssetPath\` to customize where the
780
+ browser will load the assets from.`,
781
+ docsTags: void 0,
782
+ typeParameters: void 0,
783
+ parameters: [
784
+ {
785
+ name: "path",
786
+ deprecated: void 0,
787
+ summary: void 0,
788
+ description: "Relative or absolute path to the assets folder.",
789
+ docsTags: void 0,
790
+ optional: void 0,
791
+ rest: void 0,
792
+ type: {
793
+ text: "URL | string",
794
+ references: [
795
+ {
796
+ name: "URL",
797
+ module: void 0,
798
+ package: le,
799
+ viewUrl: "https://developer.mozilla.org/docs/Web/API/URL",
800
+ start: 0,
801
+ end: 3
802
+ }
803
+ ],
804
+ values: void 0,
805
+ source: void 0
806
+ },
807
+ default: void 0
808
+ }
809
+ ],
810
+ return: {
811
+ summary: void 0,
812
+ description: void 0,
813
+ type: {
814
+ text: "void",
815
+ references: void 0,
816
+ values: void 0,
817
+ source: void 0
818
+ }
819
+ },
820
+ inheritedFrom: void 0,
821
+ signature: void 0,
822
+ privacy: void 0,
823
+ source: void 0
824
+ }, di = ni(void 0, "index", {}, { class: void 0, default: void 0, named: {} });
825
+ di.importsText = "";
826
+ const gn = {
827
+ [J]: di,
828
+ kind: "javascript-module",
829
+ path: "index",
830
+ sourcePath: "src/index.ts",
831
+ deprecated: void 0,
832
+ description: void 0,
833
+ docsTags: void 0,
834
+ summary: void 0,
835
+ declarations: [li, ci],
836
+ exports: void 0
837
+ };
838
+ function pt(e, t) {
839
+ let i = t.startsWith("./") ? t.slice(2) : t, a = e;
840
+ for (; ; ) {
841
+ const r = a.lastIndexOf("/");
842
+ if (a = r === -1 ? "" : a.slice(0, r), i.startsWith("../"))
843
+ i = i.slice(3);
844
+ else
845
+ return a === "" ? i : `${a}/${i}`;
846
+ }
847
+ }
848
+ function Tn(e, t) {
849
+ let n = 0;
850
+ for (; ; ) {
851
+ const a = e.indexOf("/", n) + 1;
852
+ if (a === 0)
853
+ break;
854
+ const r = e.slice(n, a), s = t.slice(n, a);
855
+ if (r !== s)
856
+ break;
857
+ n = a;
858
+ }
859
+ let i = "";
860
+ for (let a = n; a < e.length && (a = e.indexOf("/", a), a !== -1); ++a)
861
+ i += "../";
862
+ return i.length === 0 && (i = "./"), `${i}${t.slice(n)}.js`;
863
+ }
864
+ function Ft(e, t, n = 0) {
865
+ for (; n < e.length; ++n) {
866
+ const i = e[n];
867
+ i.start += t, i.end += t;
868
+ }
869
+ return e;
870
+ }
871
+ function Ot(e, t) {
872
+ if (e === t)
873
+ return !0;
874
+ if (typeof e != "object" || typeof t != "object" || e === null || t === null)
875
+ return !1;
876
+ if (Array.isArray(e)) {
877
+ if (!Array.isArray(t) || e.length !== t.length)
878
+ return !1;
879
+ for (let a = 0; a < e.length; ++a)
880
+ if (!Ot(e[a], t[a]))
881
+ return !1;
882
+ return !0;
883
+ }
884
+ const n = Object.keys(e), i = Object.keys(t);
885
+ if (n.length !== i.length)
886
+ return !1;
887
+ for (let a = 0; a < n.length; ++a) {
888
+ const r = n[a];
889
+ if (!Ot(e[r], t[r]))
890
+ return !1;
891
+ }
892
+ return !0;
893
+ }
894
+ function ba(e, t) {
895
+ const n = Te(e), i = he(n), a = me(e);
896
+ if (a.index.class?.privacy !== void 0)
897
+ return e.declarations.length > 1 && t.emitError(
898
+ `Did not expect to find any public declarations in a module that declares a private web component. Found: ${e.declarations.filter((l) => l !== a.index.class).map((l) => l.name).join(", ")}`,
899
+ { file: a.file, node: void 0 }
900
+ ), "";
901
+ let r = `${i}${a.importsText}`;
902
+ if (r !== "" && (r += `
903
+ `), a.reExports !== void 0) {
904
+ for (let l = 0; l < a.reExports.length; ++l) {
905
+ const c = a.reExports[l];
906
+ let p = "";
907
+ if (c.specifiers[0].exportName === "*") {
908
+ const m = c.specifiers[0];
909
+ p = (c.isTypeOnly ? "type *" : "*") + (m.aliasName ? ` as ${m.aliasName}` : "");
910
+ } else {
911
+ for (let m = 0; m < c.specifiers.length; ++m) {
912
+ const f = c.specifiers[m];
913
+ p += (m === 0 ? "{" : ",") + (c.isTypeOnly ? " type " : " ") + f.exportName + (f.aliasName ? ` as ${f.aliasName}` : "");
914
+ }
915
+ p += " }";
916
+ }
917
+ const d = c.modulePath === void 0 ? c.externalSpecifier : Tn(a.dtsPath, c.modulePath);
918
+ r += `export ${p} from "${d}";
919
+ `;
920
+ }
921
+ r += `
922
+ `;
923
+ }
924
+ if (a.namespaces !== void 0)
925
+ for (let l = 0; l < a.namespaces.length; ++l)
926
+ r += `${a.namespaces[l]}
927
+
928
+ `;
929
+ const s = e.declarations;
930
+ a.constructorPropertiesInterface !== void 0 && (r += `${Nt(a.constructorPropertiesInterface)}
931
+
932
+ `);
933
+ for (let l = 0; l < s.length; ++l) {
934
+ const c = s[l];
935
+ r += Nt(c), l < s.length - 1 && (r += `
936
+
937
+ `);
938
+ }
939
+ return t.isJsApi ? vn(r, e, t) : (t.isComponentProject && (e.exports?.[0].kind === "custom-element-definition" ? r = `/// <reference path="../../index.d.ts" />
940
+ ${r}` : e.path === "index" && (r += t.vanillaComponentTypes)), r);
941
+ }
942
+ function he(e) {
943
+ return e === void 0 ? "" : `/*${sn(e)}*/
944
+ `;
945
+ }
946
+ function Nt(e) {
947
+ let t = Te(e), n = "";
948
+ if (e.kind === "class" || e.kind === "mixin")
949
+ n = wt(e);
950
+ else if (e.kind === "interface") {
951
+ const a = ue(e);
952
+ if (e.supertypes === void 0 && e.type === void 0 && e.members?.length === 1 && (e.members[0].kind === "call-signature" || e.members[0].kind === "constructor")) {
953
+ const s = e.members[0];
954
+ let l = pi(s, !0);
955
+ const c = Te(s)?.docsTags;
956
+ c !== void 0 && (t = {
957
+ description: t?.description,
958
+ docsTags: [...c, ...t?.docsTags ?? []]
959
+ });
960
+ const p = l.indexOf("): ");
961
+ l = `${l.slice(0, p)}) => ${l.slice(p + 3, -1)}`, n = Rt(e.name, e.typeParameters, void 0, l);
962
+ } else if (a.isMixinBaseClass === !0)
963
+ n = wt(e);
964
+ else if (a.emitAsTypeAlias === !0) {
965
+ let s = e.type?.text;
966
+ const l = mt(e);
967
+ l !== "" ? s = s === void 0 ? `{${l}}` : `${s} & {${l}}` : s === void 0 && e.supertypes === void 0 && (s = "{}"), n = Rt(e.name, e.typeParameters, e.supertypes, s);
968
+ } else {
969
+ const s = mt(e);
970
+ n = Ui(
971
+ a.isDefaultExported === !0,
972
+ e.name,
973
+ e.typeParameters,
974
+ e.supertypes,
975
+ s
976
+ );
977
+ }
978
+ } else if (e.kind === "function") {
979
+ const a = ht(e);
980
+ n = Vi(
981
+ a.isDefaultExported === !0,
982
+ e.name,
983
+ e.typeParameters,
984
+ e.parameters,
985
+ e.return.type.text
986
+ );
987
+ } else if (e.kind === "variable") {
988
+ const a = ii(e);
989
+ n += Wi(a.isDefaultExported === !0, e.name, e.type.text);
990
+ }
991
+ return `${he(t)}${n}`;
992
+ }
993
+ function wt(e) {
994
+ const t = ue(e), n = t.isDefaultExported === !0, i = mt(e), a = e, r = e;
995
+ let s, l = a.mixins ?? r.supertypes;
996
+ l === void 0 ? a.superclass !== void 0 && (s = Fe(a.superclass)) : a.superclass === void 0 && l.length === 1 ? (s = Fe(l[0]), l = void 0) : s = `${e.name}Superclass`;
997
+ let c = _i(
998
+ t.hasExplicitAbstract !== void 0,
999
+ n,
1000
+ e.name,
1001
+ e.typeParameters,
1002
+ s,
1003
+ i
1004
+ );
1005
+ if (l !== void 0) {
1006
+ c += `
1007
+ declare const ${s}:`, a.superclass !== void 0 && (c += ` typeof ${Fe(a.superclass)}`);
1008
+ for (let p = 0; p < l.length; ++p) {
1009
+ const d = l[p];
1010
+ c += ` & typeof ${Fe(d)}`;
1011
+ }
1012
+ }
1013
+ return c;
1014
+ }
1015
+ function mt(e) {
1016
+ const t = e.members;
1017
+ let n = "";
1018
+ const i = ue(e);
1019
+ if (e.kind === "mixin" && (n += `constructor(...args: any[]);
1020
+ `), i.eventTypesProperty !== void 0) {
1021
+ let s = En;
1022
+ if (i.eventTypesProperty.description !== void 0 || i.eventTypesProperty.docsTags !== void 0) {
1023
+ const c = Te(i.eventTypesProperty);
1024
+ s = he(c);
1025
+ }
1026
+ const l = Ut(i.eventTypesProperty);
1027
+ n += `${s}${l}
1028
+ `;
1029
+ }
1030
+ const a = e, r = e.customElement === !0;
1031
+ if (t !== void 0) {
1032
+ let s = "";
1033
+ for (let l = 0; l < t.length; ++l) {
1034
+ const c = t[l];
1035
+ if (c.inheritedFrom !== void 0 || c.privacy === "private")
1036
+ continue;
1037
+ const d = Te(c);
1038
+ n += he(d), c.kind === "field" ? (r && c.getterType !== void 0 && (s += ` ${ve(!1, !1, !1, !1, !1, c.docsTags?.includes(N.required) !== !0, c.name, c.type.text)}
1039
+ `), n += Ut(c)) : n += pi(c, !1), n += `
1040
+ `;
1041
+ }
1042
+ s !== "" && (n += `${ve(!1, !1, !1, !1, !1, !1, si, `{
1043
+ ${s}}`)}
1044
+ `);
1045
+ }
1046
+ if (r && a.events !== void 0) {
1047
+ let s = e.name;
1048
+ if (e.typeParameters !== void 0) {
1049
+ s += "<";
1050
+ for (let c = 0; c < e.typeParameters.length; ++c)
1051
+ s += e.typeParameters[c].name, c < e.typeParameters.length - 1 && (s += ", ");
1052
+ s += ">";
1053
+ }
1054
+ let l = "";
1055
+ for (let c = 0; c < a.events.length; ++c) {
1056
+ const p = a.events[c];
1057
+ if (p.inheritedFrom === void 0) {
1058
+ const d = Te(p);
1059
+ n += `${he(d)}${ve(!1, !1, !1, !0, !1, !1, p.name, `import("${hn}").TargetedEvent<this, ${p.type.text}>`)}
1060
+ `;
1061
+ }
1062
+ l += ` ${ve(!1, !1, !1, !1, !1, !1, p.name, `${s}["${p.name}"]["detail"]`)}
1063
+ `;
1064
+ }
1065
+ n += `${ve(!1, !1, !1, !0, !1, !1, "@eventTypes", `{
1066
+ ${l}}`)}
1067
+ `;
1068
+ }
1069
+ return n === "" ? "" : `
1070
+ ${n.replaceAll(`
1071
+ `, `
1072
+ `).slice(0, -2)}`;
1073
+ }
1074
+ const hn = "@arcgis/lumina";
1075
+ function Ut(e) {
1076
+ let t = "";
1077
+ const n = Oi(e), i = n.isAccessor === !0, a = e.readonly === !0;
1078
+ if (e.getterType !== void 0 || i && a)
1079
+ t += Ki(
1080
+ e.privacy !== void 0,
1081
+ n.isAbstract === !0,
1082
+ e.static === !0,
1083
+ e.name,
1084
+ e.getterType?.text ?? e.type.text,
1085
+ a ? void 0 : e.type.text
1086
+ );
1087
+ else {
1088
+ const r = n.dtsTypeOverride ?? e.type.text, s = i ? !1 : r.endsWith(" | undefined"), l = s ? r.slice(0, -12) : r;
1089
+ t += ve(
1090
+ e.privacy !== void 0,
1091
+ n.isAbstract === !0,
1092
+ e.static === !0,
1093
+ a,
1094
+ i,
1095
+ s,
1096
+ e.name,
1097
+ l
1098
+ );
1099
+ }
1100
+ return t;
1101
+ }
1102
+ function pi(e, t) {
1103
+ const n = ht(e);
1104
+ return Bi(
1105
+ e.privacy !== void 0,
1106
+ n.isAbstract === !0,
1107
+ e.static === !0,
1108
+ n.hasQuestionToken === !0,
1109
+ e.kind === "constructor" ? t ? "new" : "constructor" : e.kind === "call-signature" ? "" : e.name,
1110
+ e.typeParameters,
1111
+ e.parameters,
1112
+ e.return?.type.text
1113
+ );
1114
+ }
1115
+ const En = he({
1116
+ description: void 0,
1117
+ docsTags: [
1118
+ {
1119
+ name: "deprecated",
1120
+ text: `Do not directly reference this property.
1121
+ Use EventNames and EventTypes helpers from @arcgis/core/Evented`
1122
+ }
1123
+ ]
1124
+ });
1125
+ function Ma() {
1126
+ const e = Date.now();
1127
+ return () => (Date.now() - e) / Cn;
1128
+ }
1129
+ const Cn = 1e3;
1130
+ function Pn(e) {
1131
+ const t = e.indexOf("/");
1132
+ return t === -1 ? e : e.slice(0, t);
1133
+ }
1134
+ function Vt(e, t, n) {
1135
+ if (!n.isComponentProject || n.config.context.isLuminaMinimalExtraction || n.config.documentation.publicStoryUrlPrefix === !1)
1136
+ return;
1137
+ const i = e.match(bn)?.[1];
1138
+ if (i === void 0) {
1139
+ n.emitError(
1140
+ 'Failed to find component tag name. Make sure the "component" property is present in the story meta. Documentation: https://webgis.esri.com/references/support-packages/storybook',
1141
+ { file: void 0, node: void 0, scope: t.slice(n.basePath.length) }
1142
+ );
1143
+ return;
1144
+ }
1145
+ const a = [];
1146
+ for (const s of e.matchAll(Mn)) {
1147
+ const l = s[1], c = Ln(l), p = e.indexOf("{", s.index), d = e.indexOf("}", p), m = e.slice(0, s.index).trimEnd();
1148
+ let f = "";
1149
+ if (m.endsWith("*/")) {
1150
+ const C = m.lastIndexOf("/**");
1151
+ f = m.slice(C + 3, -2).trim().replaceAll(Dn, "");
1152
+ }
1153
+ const u = e.slice(p, d).match(xn)?.[1] || c, S = Rn(c);
1154
+ a.push({
1155
+ description: `${u}${f ? `
1156
+ ${f}` : ""}`,
1157
+ url: `${n.config.documentation.publicStoryUrlPrefix}?path=/story/${i}--${S}&singleStory=true`,
1158
+ source: void 0
1159
+ });
1160
+ }
1161
+ if (a.length === 0) {
1162
+ n.emitError(
1163
+ 'Failed to find any stories. Make sure stories are defined using expected format and have a "name" property. Documentation: https://webgis.esri.com/references/support-packages/storybook',
1164
+ { file: void 0, node: void 0, scope: t.slice(n.basePath.length) }
1165
+ );
1166
+ return;
1167
+ }
1168
+ const r = n.componentStories[i];
1169
+ r === void 0 ? n.componentStories[i] = a : r.push(...a);
1170
+ }
1171
+ const bn = /component: ["']([^"']+)["']/u, Mn = /export const (\w+)/gu, xn = /name: ["']([^"']+)["']/u, Dn = /^\s*\*\s?/gmu, Rn = (e) => e.toLowerCase().replace(/[ ’–—―′¿'`~!@#$%^&*()_|+\-=?;:'",.<>{}[\]\\/]/giu, "-").replace(/-+/gu, "-").replace(/^-+/u, "").replace(/-+$/u, ""), Ln = (e) => e.replace(/_/gu, " ").replace(/-/gu, " ").replace(/\./gu, " ").replace(/([^\n])([A-Z])([a-z])/gu, (t, n, i, a) => `${n} ${i}${a}`).replace(/([a-z])([A-Z])/gu, (t, n, i) => `${n} ${i}`).replace(/([a-z])([0-9])/giu, (t, n, i) => `${n} ${i}`).replace(/([0-9])([a-z])/giu, (t, n, i) => `${n} ${i}`).replace(/(\s|^)(\w)/gu, (t, n, i) => `${n}${i.toUpperCase()}`).replace(/ +/gu, " ").trim();
1172
+ function In(e, t) {
1173
+ if (t.config.context.isLuminaMinimalExtraction || t.componentTagName === void 0)
1174
+ return;
1175
+ const n = e.moduleSpecifier.text, i = /\.(?:css|s[ac]ss|less|styl(?:us)?|postcss|pcss|sss)(\\?|$)/u;
1176
+ if (!(n.startsWith(".") && i.test(n)))
1177
+ return;
1178
+ const r = n.split("?", 1)[0], s = nn.join(t.file.fileName, "..", r), l = qi(s, "utf-8"), c = An(l);
1179
+ c !== void 0 && (t.componentCssFileDocs = c);
1180
+ }
1181
+ function An(e) {
1182
+ const t = [];
1183
+ for (const n of e.matchAll(kn)) {
1184
+ const i = n.groups.name, a = n.groups.description.replaceAll(Gn, " ").trim();
1185
+ t.push({
1186
+ name: i,
1187
+ deprecated: void 0,
1188
+ summary: void 0,
1189
+ description: a.endsWith("*") ? a.slice(0, -1).trim() : a,
1190
+ syntax: void 0,
1191
+ default: void 0
1192
+ });
1193
+ }
1194
+ return t.length === 0 ? void 0 : t;
1195
+ }
1196
+ const kn = /@prop\s+(?<name>--[\w-]+)\s*:(?<description>[^@/]+)/gu, Gn = /\n\s+\*? ?/gu;
1197
+ function mi(e, t) {
1198
+ if (e === void 0)
1199
+ return !1;
1200
+ for (let n = 0; n < e.length; ++n)
1201
+ if (e[n].kind === t)
1202
+ return !0;
1203
+ return !1;
1204
+ }
1205
+ function tt(e) {
1206
+ if (e.modifiers === void 0)
1207
+ return 0;
1208
+ for (let t = 0; t < e.modifiers.length; ++t)
1209
+ if (e.modifiers[t].kind === o.SyntaxKind.ExportKeyword)
1210
+ return e.modifiers[t + 1]?.kind === o.SyntaxKind.DefaultKeyword ? 2 : 1;
1211
+ return 0;
1212
+ }
1213
+ function ui(e, t) {
1214
+ return e.endsWith("Properties") && t.apiClassLikeName === e.slice(0, -10);
1215
+ }
1216
+ const Fn = /* @__PURE__ */ JSON.parse('{"AacBitstreamFormat":[],"AacEncoderConfig":[],"AbortController":["AbortController"],"AbortSignal":["AbortSignal"],"AbortSignalEventMap":[],"AbstractRange":["AbstractRange"],"AbstractWorker":["error_event"],"AbstractWorkerEventMap":[],"ActiveXObject":[],"addEventListener":[],"AddEventListenerOptions":[],"AddressErrors":[],"AesCbcParams":[],"AesCtrParams":[],"AesDerivedKeyParams":[],"AesGcmParams":[],"AesKeyAlgorithm":[],"AesKeyGenParams":[],"AggregateError":[],"AggregateErrorConstructor":[],"alert":["Window/alert"],"Algorithm":[],"AlgorithmIdentifier":[],"AlignSetting":[],"AllAcceptedCredentialsOptions":[],"AllowSharedBufferSource":[],"AlphaOption":[],"AnalyserNode":["AnalyserNode"],"AnalyserOptions":[],"ANGLE_instanced_arrays":["ANGLE_instanced_arrays"],"Animatable":["animate"],"Animation":["Animation"],"AnimationEffect":["AnimationEffect"],"AnimationEvent":["AnimationEvent"],"AnimationEventInit":[],"AnimationEventMap":[],"AnimationFrameProvider":["cancelAnimationFrame"],"AnimationPlaybackEvent":["AnimationPlaybackEvent"],"AnimationPlaybackEventInit":[],"AnimationPlayState":[],"AnimationReplaceState":[],"AnimationTimeline":["AnimationTimeline"],"AppendMode":[],"ARIAMixin":["ariaActiveDescendantElement"],"Array":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array"],"ArrayBuffer":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer"],"ArrayBufferConstructor":[],"ArrayBufferLike":[],"ArrayBufferTypes":[],"ArrayBufferView":[],"ArrayConstructor":[],"ArrayIterator":[],"ArrayLike":[],"AssignedNodesOptions":[],"AsyncDisposable":[],"AsyncDisposableStack":[],"AsyncDisposableStackConstructor":[],"AsyncGenerator":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/AsyncGenerator"],"AsyncGeneratorFunction":[],"AsyncGeneratorFunctionConstructor":[],"AsyncIterable":[],"AsyncIterableIterator":[],"AsyncIterator":[],"AsyncIteratorObject":[],"atob":["Window/atob"],"Atomics":[],"AttestationConveyancePreference":[],"Attr":["Attr"],"Audio":[],"AudioBuffer":["AudioBuffer"],"AudioBufferOptions":[],"AudioBufferSourceNode":["AudioBufferSourceNode"],"AudioBufferSourceOptions":[],"AudioConfiguration":[],"AudioContext":["AudioContext"],"AudioContextLatencyCategory":[],"AudioContextOptions":[],"AudioContextState":[],"AudioData":["AudioData"],"AudioDataCopyToOptions":[],"AudioDataInit":[],"AudioDataOutputCallback":[],"AudioDecoder":["AudioDecoder"],"AudioDecoderConfig":[],"AudioDecoderEventMap":[],"AudioDecoderInit":[],"AudioDecoderSupport":[],"AudioDestinationNode":["AudioDestinationNode"],"AudioEncoder":["AudioEncoder"],"AudioEncoderConfig":[],"AudioEncoderEventMap":[],"AudioEncoderInit":[],"AudioEncoderSupport":[],"AudioListener":["AudioListener"],"AudioNode":["AudioNode"],"AudioNodeOptions":[],"AudioParam":["AudioParam"],"AudioParamMap":["AudioParamMap"],"AudioProcessingEvent":["AudioProcessingEvent"],"AudioProcessingEventInit":[],"AudioSampleFormat":[],"AudioScheduledSourceNode":["AudioScheduledSourceNode"],"AudioScheduledSourceNodeEventMap":[],"AudioTimestamp":[],"AudioWorklet":["AudioWorklet"],"AudioWorkletNode":["AudioWorkletNode"],"AudioWorkletNodeEventMap":[],"AudioWorkletNodeOptions":[],"AuthenticationExtensionsClientInputs":[],"AuthenticationExtensionsClientInputsJSON":[],"AuthenticationExtensionsClientOutputs":[],"AuthenticationExtensionsClientOutputsJSON":[],"AuthenticationExtensionsLargeBlobInputs":[],"AuthenticationExtensionsLargeBlobInputsJSON":[],"AuthenticationExtensionsLargeBlobOutputs":[],"AuthenticationExtensionsLargeBlobOutputsJSON":[],"AuthenticationExtensionsPRFInputs":[],"AuthenticationExtensionsPRFInputsJSON":[],"AuthenticationExtensionsPRFOutputs":[],"AuthenticationExtensionsPRFOutputsJSON":[],"AuthenticationExtensionsPRFValues":[],"AuthenticationExtensionsPRFValuesJSON":[],"AuthenticationResponseJSON":[],"AuthenticatorAssertionResponse":["AuthenticatorAssertionResponse"],"AuthenticatorAssertionResponseJSON":[],"AuthenticatorAttachment":[],"AuthenticatorAttestationResponse":["AuthenticatorAttestationResponse"],"AuthenticatorAttestationResponseJSON":[],"AuthenticatorResponse":["AuthenticatorResponse"],"AuthenticatorSelectionCriteria":[],"AuthenticatorTransport":[],"AutoFill":[],"AutoFillAddressKind":[],"AutoFillBase":[],"AutoFillContactField":[],"AutoFillContactKind":[],"AutoFillCredentialField":[],"AutoFillField":[],"AutoFillNormalField":[],"AutoFillSection":[],"AutoKeyword":[],"AutomationRate":[],"AvcBitstreamFormat":[],"AvcEncoderConfig":[],"Awaited":["https://www.typescriptlang.org/docs/handbook/utility-types.html#awaitedtype"],"BarProp":["BarProp"],"Base64URLString":[],"BaseAudioContext":["BaseAudioContext"],"BaseAudioContextEventMap":[],"BeforeUnloadEvent":["BeforeUnloadEvent"],"BigInt":[],"BigInt64Array":[],"BigInt64ArrayConstructor":[],"BigIntConstructor":[],"BigInteger":[],"BigIntToLocaleStringOptions":[],"BigUint64Array":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint64Array"],"BigUint64ArrayConstructor":[],"BinaryType":[],"BiquadFilterNode":["BiquadFilterNode"],"BiquadFilterOptions":[],"BiquadFilterType":[],"BitrateMode":[],"Blob":["Blob"],"BlobCallback":[],"BlobEvent":["BlobEvent"],"BlobEventInit":[],"BlobPart":[],"BlobPropertyBag":[],"blur":["Window/blur"],"Body":["body"],"BodyInit":[],"Boolean":[],"BooleanConstructor":[],"BroadcastChannel":["BroadcastChannel"],"BroadcastChannelEventMap":[],"btoa":["Window/btoa"],"BufferSource":[],"BuiltinIteratorReturn":[],"ByteLengthQueuingStrategy":["ByteLengthQueuingStrategy"],"Cache":["Cache"],"CacheQueryOptions":[],"caches":[],"CacheStorage":["CacheStorage"],"CallableFunction":[],"cancelAnimationFrame":["DedicatedWorkerGlobalScope/cancelAnimationFrame"],"cancelIdleCallback":["Window/cancelIdleCallback"],"CanPlayTypeResult":[],"CanvasCaptureMediaStreamTrack":["CanvasCaptureMediaStreamTrack"],"CanvasCompositing":["globalAlpha"],"CanvasDirection":[],"CanvasDrawImage":["drawImage"],"CanvasDrawPath":["beginPath"],"CanvasFillRule":[],"CanvasFillStrokeStyles":["fillStyle"],"CanvasFilters":["filter"],"CanvasFontKerning":[],"CanvasFontStretch":[],"CanvasFontVariantCaps":[],"CanvasGradient":["CanvasGradient"],"CanvasImageData":["createImageData"],"CanvasImageSmoothing":["imageSmoothingEnabled"],"CanvasImageSource":[],"CanvasLineCap":[],"CanvasLineJoin":[],"CanvasPath":["arc"],"CanvasPathDrawingStyles":["lineCap"],"CanvasPattern":["CanvasPattern"],"CanvasRect":["clearRect"],"CanvasRenderingContext2D":["CanvasRenderingContext2D"],"CanvasRenderingContext2DSettings":[],"CanvasSettings":["getContextAttributes"],"CanvasShadowStyles":["shadowBlur"],"CanvasState":["isContextLost"],"CanvasText":["fillText"],"CanvasTextAlign":[],"CanvasTextBaseline":[],"CanvasTextDrawingStyles":["direction"],"CanvasTextRendering":[],"CanvasTransform":["getTransform"],"CanvasUserInterface":["drawFocusIfNeeded"],"Capitalize":["https://www.typescriptlang.org/docs/handbook/utility-types.html#intrinsic-string-manipulation-types"],"captureEvents":["Window/captureEvents"],"CaretPosition":["CaretPosition"],"CaretPositionFromPointOptions":[],"CDATASection":["CDATASection"],"ChannelCountMode":[],"ChannelInterpretation":[],"ChannelMergerNode":["ChannelMergerNode"],"ChannelMergerOptions":[],"ChannelSplitterNode":["ChannelSplitterNode"],"ChannelSplitterOptions":[],"CharacterData":["CharacterData"],"CheckVisibilityOptions":[],"ChildNode":["after"],"ClassAccessorDecoratorContext":[],"ClassAccessorDecoratorResult":[],"ClassAccessorDecoratorTarget":[],"ClassDecorator":[],"ClassDecoratorContext":[],"ClassFieldDecoratorContext":[],"ClassGetterDecoratorContext":[],"ClassMemberDecoratorContext":[],"ClassMethodDecoratorContext":[],"ClassSetterDecoratorContext":[],"clearInterval":["Window/clearInterval"],"clearTimeout":["Window/clearTimeout"],"Client":["Client"],"clientInformation":[],"ClientQueryOptions":[],"ClientRect":[],"Clients":["Clients"],"ClientTypes":[],"Clipboard":["Clipboard"],"ClipboardEvent":["ClipboardEvent"],"ClipboardEventInit":[],"ClipboardItem":["ClipboardItem"],"ClipboardItemData":[],"ClipboardItemOptions":[],"ClipboardItems":[],"close":["DedicatedWorkerGlobalScope/close"],"closed":[],"CloseEvent":["CloseEvent"],"CloseEventInit":[],"CodecState":[],"ColorGamut":[],"ColorSpaceConversion":[],"CommandEvent":["CommandEvent"],"CommandEventInit":[],"Comment":["Comment"],"CompositeOperation":[],"CompositeOperationOrAuto":[],"CompositionEvent":["CompositionEvent"],"CompositionEventInit":[],"CompressionFormat":[],"CompressionStream":["CompressionStream"],"ComputedEffectTiming":[],"ComputedKeyframe":[],"ConcatArray":[],"confirm":["Window/confirm"],"console":[],"Console":["console"],"ConstantSourceNode":["ConstantSourceNode"],"ConstantSourceOptions":[],"ConstrainBoolean":[],"ConstrainBooleanOrDOMString":[],"ConstrainBooleanOrDOMStringParameters":[],"ConstrainBooleanParameters":[],"ConstrainDOMString":[],"ConstrainDOMStringParameters":[],"ConstrainDouble":[],"ConstrainDoubleRange":[],"ConstrainULong":[],"ConstrainULongRange":[],"ConstructorParameters":["https://www.typescriptlang.org/docs/handbook/utility-types.html#constructorparameterstype"],"ContentVisibilityAutoStateChangeEvent":["ContentVisibilityAutoStateChangeEvent"],"ContentVisibilityAutoStateChangeEventInit":[],"ConvolverNode":["ConvolverNode"],"ConvolverOptions":[],"CookieChangeEvent":["CookieChangeEvent"],"CookieChangeEventInit":[],"CookieInit":[],"CookieList":[],"CookieListItem":[],"CookieSameSite":[],"cookieStore":[],"CookieStore":["CookieStore"],"CookieStoreDeleteOptions":[],"CookieStoreEventMap":[],"CookieStoreGetOptions":[],"CookieStoreManager":["CookieStoreManager"],"COSEAlgorithmIdentifier":[],"CountQueuingStrategy":["CountQueuingStrategy"],"createImageBitmap":["Window/createImageBitmap"],"Credential":["Credential"],"CredentialCreationOptions":[],"CredentialMediationRequirement":[],"CredentialPropertiesOutput":[],"CredentialRequestOptions":[],"CredentialsContainer":["CredentialsContainer"],"crossOriginIsolated":[],"crypto":[],"Crypto":["Crypto"],"CryptoKey":["CryptoKey"],"CryptoKeyPair":[],"CSS":[null,{"cap":[],"ch":["CSS/factory_functions_static"],"cm":["CSS/factory_functions_static"],"cqb":["CSS/factory_functions_static"],"cqh":["CSS/factory_functions_static"],"cqi":["CSS/factory_functions_static"],"cqmax":["CSS/factory_functions_static"],"cqmin":["CSS/factory_functions_static"],"cqw":["CSS/factory_functions_static"],"deg":["CSS/factory_functions_static"],"dpcm":["CSS/factory_functions_static"],"dpi":["CSS/factory_functions_static"],"dppx":["CSS/factory_functions_static"],"dvb":["CSS/factory_functions_static"],"dvh":["CSS/factory_functions_static"],"dvi":["CSS/factory_functions_static"],"dvmax":["CSS/factory_functions_static"],"dvmin":["CSS/factory_functions_static"],"dvw":["CSS/factory_functions_static"],"em":["CSS/factory_functions_static"],"escape":["CSS/escape_static"],"ex":["CSS/factory_functions_static"],"fr":["CSS/factory_functions_static"],"grad":["CSS/factory_functions_static"],"highlights":[],"Hz":["CSS/factory_functions_static"],"ic":[],"kHz":["CSS/factory_functions_static"],"lh":[],"lvb":["CSS/factory_functions_static"],"lvh":["CSS/factory_functions_static"],"lvi":["CSS/factory_functions_static"],"lvmax":["CSS/factory_functions_static"],"lvmin":["CSS/factory_functions_static"],"lvw":["CSS/factory_functions_static"],"mm":["CSS/factory_functions_static"],"ms":["CSS/factory_functions_static"],"number":["CSS/factory_functions_static"],"pc":["CSS/factory_functions_static"],"percent":["CSS/factory_functions_static"],"pt":["CSS/factory_functions_static"],"px":["CSS/factory_functions_static"],"Q":["CSS/factory_functions_static"],"rad":["CSS/factory_functions_static"],"rcap":[],"rch":[],"registerProperty":["CSS/registerProperty_static"],"rem":["CSS/factory_functions_static"],"rex":[],"ric":[],"rlh":[],"s":["CSS/factory_functions_static"],"supports":["CSS/supports_static"],"svb":["CSS/factory_functions_static"],"svh":["CSS/factory_functions_static"],"svi":["CSS/factory_functions_static"],"svmax":["CSS/factory_functions_static"],"svmin":["CSS/factory_functions_static"],"svw":["CSS/factory_functions_static"],"turn":["CSS/factory_functions_static"],"vb":["CSS/factory_functions_static"],"vh":["CSS/factory_functions_static"],"vi":["CSS/factory_functions_static"],"vmax":["CSS/factory_functions_static"],"vmin":["CSS/factory_functions_static"],"vw":["CSS/factory_functions_static"]}],"CSSAnimation":["CSSAnimation"],"CSSConditionRule":["CSSConditionRule"],"CSSContainerRule":["CSSContainerRule"],"CSSCounterStyleRule":["CSSCounterStyleRule"],"CSSFontFaceRule":["CSSFontFaceRule"],"CSSFontFeatureValuesRule":["CSSFontFeatureValuesRule"],"CSSFontPaletteValuesRule":["CSSFontPaletteValuesRule"],"CSSGroupingRule":["CSSGroupingRule"],"CSSImageValue":["CSSImageValue"],"CSSImportRule":["CSSImportRule"],"CSSKeyframeRule":["CSSKeyframeRule"],"CSSKeyframesRule":["CSSKeyframesRule"],"CSSKeywordish":[],"CSSKeywordValue":["CSSKeywordValue"],"CSSLayerBlockRule":["CSSLayerBlockRule"],"CSSLayerStatementRule":["CSSLayerStatementRule"],"CSSMathClamp":[],"CSSMathInvert":["CSSMathInvert"],"CSSMathMax":["CSSMathMax"],"CSSMathMin":["CSSMathMin"],"CSSMathNegate":["CSSMathNegate"],"CSSMathOperator":[],"CSSMathProduct":["CSSMathProduct"],"CSSMathSum":["CSSMathSum"],"CSSMathValue":["CSSMathValue"],"CSSMatrixComponent":["CSSMatrixComponent"],"CSSMatrixComponentOptions":[],"CSSMediaRule":["CSSMediaRule"],"CSSNamespaceRule":["CSSNamespaceRule"],"CSSNestedDeclarations":["CSSNestedDeclarations"],"CSSNumberish":[],"CSSNumericArray":["CSSNumericArray"],"CSSNumericBaseType":[],"CSSNumericType":[],"CSSNumericValue":["CSSNumericValue"],"CSSPageDescriptors":["CSSPageDescriptors"],"CSSPageRule":["CSSPageRule"],"CSSPerspective":["CSSPerspective"],"CSSPerspectiveValue":[],"CSSPositionTryDescriptors":["CSSPositionTryDescriptors"],"CSSPositionTryRule":["CSSPositionTryRule"],"CSSPropertyRule":["CSSPropertyRule"],"CSSRotate":["CSSRotate"],"CSSRule":["CSSRule"],"CSSRuleList":["CSSRuleList"],"CSSScale":["CSSScale"],"CSSScopeRule":["CSSScopeRule"],"CSSSkew":["CSSSkew"],"CSSSkewX":["CSSSkewX"],"CSSSkewY":["CSSSkewY"],"CSSStartingStyleRule":["CSSStartingStyleRule"],"CSSStyleDeclaration":[],"CSSStyleDeclarationBase":["CSSStyleDeclaration"],"CSSStyleProperties":["CSSStyleProperties"],"CSSStyleRule":["CSSStyleRule"],"CSSStyleSheet":["CSSStyleSheet"],"CSSStyleSheetInit":[],"CSSStyleValue":["CSSStyleValue"],"CSSSupportsRule":["CSSSupportsRule"],"CSSTransformComponent":["CSSTransformComponent"],"CSSTransformValue":["CSSTransformValue"],"CSSTransition":["CSSTransition"],"CSSTranslate":["CSSTranslate"],"CSSUnitValue":["CSSUnitValue"],"CSSUnparsedSegment":[],"CSSUnparsedValue":["CSSUnparsedValue"],"CSSVariableReferenceValue":["CSSVariableReferenceValue"],"CSSViewTransitionRule":["CSSViewTransitionRule"],"CurrentUserDetailsOptions":[],"CustomElementConstructor":[],"CustomElementRegistry":["CustomElementRegistry"],"customElements":[],"CustomEvent":["CustomEvent"],"CustomEventInit":[],"CustomStateSet":["CustomStateSet"],"DataTransfer":["DataTransfer"],"DataTransferItem":["DataTransferItem"],"DataTransferItemList":["DataTransferItemList"],"DataView":[],"DataViewConstructor":[],"Date":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date"],"DateConstructor":[],"DecodeErrorCallback":[],"DecodeSuccessCallback":[],"decodeURI":[],"decodeURIComponent":[],"DecompressionStream":["DecompressionStream"],"DecoratorContext":[],"DecoratorMetadata":[],"DecoratorMetadataObject":[],"DedicatedWorkerGlobalScope":["DedicatedWorkerGlobalScope"],"DedicatedWorkerGlobalScopeEventMap":[],"DelayNode":["DelayNode"],"DelayOptions":[],"DeviceMotionEvent":["DeviceMotionEvent"],"DeviceMotionEventAcceleration":["DeviceMotionEventAcceleration"],"DeviceMotionEventAccelerationInit":[],"DeviceMotionEventInit":[],"DeviceMotionEventRotationRate":["DeviceMotionEventRotationRate"],"DeviceMotionEventRotationRateInit":[],"DeviceOrientationEvent":["DeviceOrientationEvent"],"DeviceOrientationEventInit":[],"devicePixelRatio":[],"DigitalCredential":[],"DirectionSetting":[],"dispatchEvent":["EventTarget/dispatchEvent"],"DisplayCaptureSurfaceType":[],"DisplayMediaStreamOptions":[],"Disposable":[],"DisposableStack":[],"DisposableStackConstructor":[],"DistanceModelType":[],"document":[],"Document":["Document"],"DocumentEventMap":[],"DocumentFragment":["DocumentFragment"],"DocumentOrShadowRoot":["activeElement"],"DocumentReadyState":[],"DocumentTimeline":["DocumentTimeline"],"DocumentTimelineOptions":[],"DocumentType":["DocumentType"],"DocumentVisibilityState":[],"DOMException":["DOMException"],"DOMHighResTimeStamp":[],"DOMImplementation":["DOMImplementation"],"DOMMatrix":["DOMMatrix"],"DOMMatrix2DInit":[],"DOMMatrixInit":[],"DOMMatrixReadOnly":["DOMMatrixReadOnly"],"DOMParser":["DOMParser"],"DOMParserSupportedType":[],"DOMPoint":["DOMPoint"],"DOMPointInit":[],"DOMPointReadOnly":["DOMPointReadOnly"],"DOMQuad":["DOMQuad"],"DOMQuadInit":[],"DOMRect":["DOMRect"],"DOMRectInit":[],"DOMRectList":["DOMRectList"],"DOMRectReadOnly":["DOMRectReadOnly"],"DOMStringList":["DOMStringList"],"DOMStringMap":["DOMStringMap"],"DOMTokenList":["DOMTokenList"],"DoubleRange":[],"DragEvent":["DragEvent"],"DragEventInit":[],"DynamicsCompressorNode":["DynamicsCompressorNode"],"DynamicsCompressorOptions":[],"EcdhKeyDeriveParams":[],"EcdsaParams":[],"EcKeyAlgorithm":[],"EcKeyGenParams":[],"EcKeyImportParams":[],"EffectTiming":[],"Element":["Element"],"ElementContentEditable":["contentEditable"],"ElementCreationOptions":[],"ElementCSSInlineStyle":["attributeStyleMap"],"ElementDefinitionOptions":[],"ElementEventMap":[],"ElementInternals":["ElementInternals"],"ElementTagNameMap":[],"EncodedAudioChunk":["EncodedAudioChunk"],"EncodedAudioChunkInit":[],"EncodedAudioChunkMetadata":[],"EncodedAudioChunkOutputCallback":[],"EncodedAudioChunkType":[],"EncodedVideoChunk":["EncodedVideoChunk"],"EncodedVideoChunkInit":[],"EncodedVideoChunkMetadata":[],"EncodedVideoChunkOutputCallback":[],"EncodedVideoChunkType":[],"encodeURI":[],"encodeURIComponent":[],"EndingType":[],"EndOfStreamError":[],"Enumerator":[],"EnumeratorConstructor":[],"EpochTimeStamp":[],"Error":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error"],"ErrorCallback":[],"ErrorConstructor":[],"ErrorEvent":["ErrorEvent"],"ErrorEventInit":[],"ErrorOptions":[],"escape":[],"eval":[],"EvalError":[],"EvalErrorConstructor":[],"event":[],"Event":["Event"],"EventCounts":["EventCounts"],"EventInit":[],"EventListener":[],"EventListenerObject":[],"EventListenerOptions":[],"EventListenerOrEventListenerObject":[],"EventModifierInit":[],"EventSource":["EventSource"],"EventSourceEventMap":[],"EventSourceInit":[],"EventTarget":["EventTarget"],"Exclude":["https://www.typescriptlang.org/docs/handbook/utility-types.html#excludeuniontype-excludedmembers"],"EXT_blend_minmax":["EXT_blend_minmax"],"EXT_color_buffer_float":["EXT_color_buffer_float"],"EXT_color_buffer_half_float":["EXT_color_buffer_half_float"],"EXT_float_blend":["EXT_float_blend"],"EXT_frag_depth":["EXT_frag_depth"],"EXT_shader_texture_lod":["EXT_shader_texture_lod"],"EXT_sRGB":["EXT_sRGB"],"EXT_texture_compression_bptc":["EXT_texture_compression_bptc"],"EXT_texture_compression_rgtc":["EXT_texture_compression_rgtc"],"EXT_texture_filter_anisotropic":["EXT_texture_filter_anisotropic"],"EXT_texture_norm16":["EXT_texture_norm16"],"ExtendableCookieChangeEvent":["ExtendableCookieChangeEvent"],"ExtendableCookieChangeEventInit":[],"ExtendableEvent":["ExtendableEvent"],"ExtendableEventInit":[],"ExtendableMessageEvent":["ExtendableMessageEvent"],"ExtendableMessageEventInit":[],"external":[],"External":[],"Extract":["https://www.typescriptlang.org/docs/handbook/utility-types.html#extracttype-union"],"fetch":["Window/fetch"],"FetchEvent":["FetchEvent"],"FetchEventInit":[],"File":["File"],"FileCallback":[],"FileList":["FileList"],"FilePropertyBag":[],"FileReader":["FileReader"],"FileReaderEventMap":[],"FileReaderSync":["FileReaderSync"],"FileSystem":["FileSystem"],"FileSystemCreateWritableOptions":[],"FileSystemDirectoryEntry":["FileSystemDirectoryEntry"],"FileSystemDirectoryHandle":["FileSystemDirectoryHandle"],"FileSystemDirectoryHandleAsyncIterator":[],"FileSystemDirectoryReader":["FileSystemDirectoryReader"],"FileSystemEntriesCallback":[],"FileSystemEntry":["FileSystemEntry"],"FileSystemEntryCallback":[],"FileSystemFileEntry":["FileSystemFileEntry"],"FileSystemFileHandle":["FileSystemFileHandle"],"FileSystemFlags":[],"FileSystemGetDirectoryOptions":[],"FileSystemGetFileOptions":[],"FileSystemHandle":["FileSystemHandle"],"FileSystemHandleKind":[],"FileSystemReadWriteOptions":[],"FileSystemRemoveOptions":[],"FileSystemSyncAccessHandle":["FileSystemSyncAccessHandle"],"FileSystemWritableFileStream":["FileSystemWritableFileStream"],"FileSystemWriteChunkType":[],"FillLightMode":[],"FillMode":[],"FinalizationRegistry":[],"FinalizationRegistryConstructor":[],"FlatArray":[],"Float16Array":[],"Float16ArrayConstructor":[],"Float32Array":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Float32Array"],"Float32ArrayConstructor":[],"Float32List":[],"Float64Array":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Float64Array"],"Float64ArrayConstructor":[],"focus":["Window/focus"],"FocusEvent":["FocusEvent"],"FocusEventInit":[],"FocusOptions":[],"FontDisplay":[],"FontFace":["FontFace"],"FontFaceDescriptors":[],"FontFaceLoadStatus":[],"FontFaceSet":["FontFaceSet"],"FontFaceSetEventMap":[],"FontFaceSetLoadEvent":["FontFaceSetLoadEvent"],"FontFaceSetLoadEventInit":[],"FontFaceSetLoadStatus":[],"FontFaceSource":["fonts"],"fonts":[],"FormData":["FormData"],"FormDataEntryValue":[],"FormDataEvent":["FormDataEvent"],"FormDataEventInit":[],"FormDataIterator":[],"FragmentDirective":["FragmentDirective"],"frameElement":[],"FrameRequestCallback":[],"frames":[],"FrameType":[],"FullscreenNavigationUI":[],"FullscreenOptions":[],"Function":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function"],"FunctionConstructor":[],"FunctionStringCallback":[],"GainNode":["GainNode"],"GainOptions":[],"Gamepad":["Gamepad"],"GamepadButton":["GamepadButton"],"GamepadEffectParameters":[],"GamepadEvent":["GamepadEvent"],"GamepadEventInit":[],"GamepadHapticActuator":["GamepadHapticActuator"],"GamepadHapticEffectType":[],"GamepadHapticsResult":[],"GamepadMappingType":[],"Generator":[],"GeneratorFunction":[],"GeneratorFunctionConstructor":[],"GenericTransformStream":["readable"],"Geolocation":["Geolocation"],"GeolocationCoordinates":["GeolocationCoordinates"],"GeolocationPosition":["GeolocationPosition"],"GeolocationPositionError":["GeolocationPositionError"],"GetAnimationsOptions":[],"GetComposedRangesOptions":[],"getComputedStyle":["Window/getComputedStyle"],"GetHTMLOptions":[],"GetNotificationOptions":[],"GetRootNodeOptions":[],"getSelection":["Window/getSelection"],"GLbitfield":[],"GLboolean":[],"GLclampf":[],"GLenum":[],"GLfloat":[],"GLint":[],"GLint64":[],"GLintptr":[],"global":[],"GlobalCompositeOperation":[],"GlobalEventHandlers":["abort_event"],"GlobalEventHandlersEventMap":[],"globalThis":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/globalThis"],"GLsizei":[],"GLsizeiptr":[],"GLuint":[],"GLuint64":[],"GPU":["GPU"],"GPUAdapter":["GPUAdapter"],"GPUAdapterInfo":["GPUAdapterInfo"],"GPUAddressMode":[],"GPUAutoLayoutMode":[],"GPUBindGroup":["GPUBindGroup"],"GPUBindGroupDescriptor":[],"GPUBindGroupEntry":[],"GPUBindGroupLayout":["GPUBindGroupLayout"],"GPUBindGroupLayoutDescriptor":[],"GPUBindGroupLayoutEntry":[],"GPUBindingCommandsMixin":["setBindGroup"],"GPUBindingResource":[],"GPUBlendComponent":[],"GPUBlendFactor":[],"GPUBlendOperation":[],"GPUBlendState":[],"GPUBuffer":["GPUBuffer"],"GPUBufferBinding":[],"GPUBufferBindingLayout":[],"GPUBufferBindingType":[],"GPUBufferDescriptor":[],"GPUBufferDynamicOffset":[],"GPUBufferMapState":[],"GPUBufferUsageFlags":[],"GPUCanvasAlphaMode":[],"GPUCanvasConfiguration":[],"GPUCanvasContext":["GPUCanvasContext"],"GPUCanvasToneMapping":[],"GPUCanvasToneMappingMode":[],"GPUColor":[],"GPUColorDict":[],"GPUColorTargetState":[],"GPUColorWriteFlags":[],"GPUCommandBuffer":["GPUCommandBuffer"],"GPUCommandBufferDescriptor":[],"GPUCommandEncoder":["GPUCommandEncoder"],"GPUCommandEncoderDescriptor":[],"GPUCompareFunction":[],"GPUCompilationInfo":["GPUCompilationInfo"],"GPUCompilationMessage":["GPUCompilationMessage"],"GPUCompilationMessageType":[],"GPUComputePassDescriptor":[],"GPUComputePassEncoder":["GPUComputePassEncoder"],"GPUComputePassTimestampWrites":[],"GPUComputePipeline":["GPUComputePipeline"],"GPUComputePipelineDescriptor":[],"GPUCopyExternalImageDestInfo":[],"GPUCopyExternalImageSource":[],"GPUCopyExternalImageSourceInfo":[],"GPUCullMode":[],"GPUDebugCommandsMixin":["insertDebugMarker"],"GPUDepthBias":[],"GPUDepthStencilState":[],"GPUDevice":["GPUDevice"],"GPUDeviceDescriptor":[],"GPUDeviceEventMap":[],"GPUDeviceLostInfo":["GPUDeviceLostInfo"],"GPUDeviceLostReason":[],"GPUError":["GPUError"],"GPUErrorFilter":[],"GPUExtent3D":[],"GPUExtent3DDict":[],"GPUExternalTexture":["GPUExternalTexture"],"GPUExternalTextureBindingLayout":[],"GPUExternalTextureDescriptor":[],"GPUFeatureName":[],"GPUFilterMode":[],"GPUFlagsConstant":[],"GPUFragmentState":[],"GPUFrontFace":[],"GPUIndex32":[],"GPUIndexFormat":[],"GPUIntegerCoordinate":[],"GPUIntegerCoordinateOut":[],"GPUInternalError":["GPUInternalError"],"GPULoadOp":[],"GPUMapModeFlags":[],"GPUMipmapFilterMode":[],"GPUMultisampleState":[],"GPUObjectBase":["label"],"GPUObjectDescriptorBase":[],"GPUOrigin2D":[],"GPUOrigin2DDict":[],"GPUOrigin3D":[],"GPUOrigin3DDict":[],"GPUOutOfMemoryError":["GPUOutOfMemoryError"],"GPUPipelineBase":["getBindGroupLayout"],"GPUPipelineConstantValue":[],"GPUPipelineDescriptorBase":[],"GPUPipelineError":["GPUPipelineError"],"GPUPipelineErrorInit":[],"GPUPipelineErrorReason":[],"GPUPipelineLayout":["GPUPipelineLayout"],"GPUPipelineLayoutDescriptor":[],"GPUPowerPreference":[],"GPUPrimitiveState":[],"GPUPrimitiveTopology":[],"GPUProgrammableStage":[],"GPUQuerySet":["GPUQuerySet"],"GPUQuerySetDescriptor":[],"GPUQueryType":[],"GPUQueue":["GPUQueue"],"GPUQueueDescriptor":[],"GPURenderBundle":["GPURenderBundle"],"GPURenderBundleDescriptor":[],"GPURenderBundleEncoder":["GPURenderBundleEncoder"],"GPURenderBundleEncoderDescriptor":[],"GPURenderCommandsMixin":["draw"],"GPURenderPassColorAttachment":[],"GPURenderPassDepthStencilAttachment":[],"GPURenderPassDescriptor":[],"GPURenderPassEncoder":["GPURenderPassEncoder"],"GPURenderPassLayout":[],"GPURenderPassTimestampWrites":[],"GPURenderPipeline":["GPURenderPipeline"],"GPURenderPipelineDescriptor":[],"GPURequestAdapterOptions":[],"GPUSampleMask":[],"GPUSampler":["GPUSampler"],"GPUSamplerBindingLayout":[],"GPUSamplerBindingType":[],"GPUSamplerDescriptor":[],"GPUShaderModule":["GPUShaderModule"],"GPUShaderModuleDescriptor":[],"GPUShaderStageFlags":[],"GPUSignedOffset32":[],"GPUSize32":[],"GPUSize32Out":[],"GPUSize64":[],"GPUSize64Out":[],"GPUStencilFaceState":[],"GPUStencilOperation":[],"GPUStencilValue":[],"GPUStorageTextureAccess":[],"GPUStorageTextureBindingLayout":[],"GPUStoreOp":[],"GPUSupportedFeatures":["GPUSupportedFeatures"],"GPUSupportedLimits":["GPUSupportedLimits"],"GPUTexelCopyBufferInfo":[],"GPUTexelCopyBufferLayout":[],"GPUTexelCopyTextureInfo":[],"GPUTexture":["GPUTexture"],"GPUTextureAspect":[],"GPUTextureBindingLayout":[],"GPUTextureDescriptor":[],"GPUTextureDimension":[],"GPUTextureFormat":[],"GPUTextureSampleType":[],"GPUTextureUsageFlags":[],"GPUTextureView":["GPUTextureView"],"GPUTextureViewDescriptor":[],"GPUTextureViewDimension":[],"GPUUncapturedErrorEvent":["GPUUncapturedErrorEvent"],"GPUUncapturedErrorEventInit":[],"GPUValidationError":["GPUValidationError"],"GPUVertexAttribute":[],"GPUVertexBufferLayout":[],"GPUVertexFormat":[],"GPUVertexState":[],"GPUVertexStepMode":[],"HardwareAcceleration":[],"HashAlgorithmIdentifier":[],"HashChangeEvent":["HashChangeEvent"],"HashChangeEventInit":[],"HdrMetadataType":[],"Headers":["Headers"],"HeadersInit":[],"HeadersIterator":[],"Highlight":["Highlight"],"HighlightRegistry":["HighlightRegistry"],"HighlightType":[],"history":[],"History":["History"],"HkdfParams":[],"HmacImportParams":[],"HmacKeyAlgorithm":[],"HmacKeyGenParams":[],"HTMLAllCollection":["HTMLAllCollection"],"HTMLAnchorElement":["HTMLAnchorElement"],"HTMLAreaElement":["HTMLAreaElement"],"HTMLAudioElement":["HTMLAudioElement"],"HTMLBaseElement":["HTMLBaseElement"],"HTMLBodyElement":["HTMLBodyElement"],"HTMLBodyElementEventMap":[],"HTMLBRElement":["HTMLBRElement"],"HTMLButtonElement":["HTMLButtonElement"],"HTMLCanvasElement":["HTMLCanvasElement"],"HTMLCollection":["namedItem"],"HTMLCollectionBase":["HTMLCollection"],"HTMLCollectionOf":[],"HTMLDataElement":["HTMLDataElement"],"HTMLDataListElement":["HTMLDataListElement"],"HTMLDetailsElement":["HTMLDetailsElement"],"HTMLDialogElement":["HTMLDialogElement"],"HTMLDirectoryElement":[],"HTMLDivElement":["HTMLDivElement"],"HTMLDListElement":["HTMLDListElement"],"HTMLDocument":[],"HTMLElement":["HTMLElement"],"HTMLElementDeprecatedTagNameMap":[],"HTMLElementEventMap":[],"HTMLElementTagNameMap":[],"HTMLEmbedElement":["HTMLEmbedElement"],"HTMLFieldSetElement":["HTMLFieldSetElement"],"HTMLFontElement":["HTMLFontElement"],"HTMLFormControlsCollection":["HTMLFormControlsCollection"],"HTMLFormElement":["HTMLFormElement"],"HTMLFrameElement":[],"HTMLFrameSetElement":["HTMLFrameSetElement"],"HTMLFrameSetElementEventMap":[],"HTMLHeadElement":["HTMLHeadElement"],"HTMLHeadingElement":["HTMLHeadingElement"],"HTMLHRElement":["HTMLHRElement"],"HTMLHtmlElement":["HTMLHtmlElement"],"HTMLHyperlinkElementUtils":["hash"],"HTMLIFrameElement":["HTMLIFrameElement"],"HTMLImageElement":["HTMLImageElement"],"HTMLInputElement":["HTMLInputElement"],"HTMLLabelElement":["HTMLLabelElement"],"HTMLLegendElement":["HTMLLegendElement"],"HTMLLIElement":["HTMLLIElement"],"HTMLLinkElement":["HTMLLinkElement"],"HTMLMapElement":["HTMLMapElement"],"HTMLMarqueeElement":["HTMLMarqueeElement"],"HTMLMediaElement":["HTMLMediaElement"],"HTMLMediaElementEventMap":[],"HTMLMenuElement":["HTMLMenuElement"],"HTMLMetaElement":["HTMLMetaElement"],"HTMLMeterElement":["HTMLMeterElement"],"HTMLModElement":["HTMLModElement"],"HTMLObjectElement":["HTMLObjectElement"],"HTMLOListElement":["HTMLOListElement"],"HTMLOptGroupElement":["HTMLOptGroupElement"],"HTMLOptionElement":["HTMLOptionElement"],"HTMLOptionsCollection":["HTMLOptionsCollection"],"HTMLOrSVGElement":["autofocus"],"HTMLOrSVGImageElement":[],"HTMLOrSVGScriptElement":[],"HTMLOutputElement":["HTMLOutputElement"],"HTMLParagraphElement":["HTMLParagraphElement"],"HTMLParamElement":["HTMLParamElement"],"HTMLPictureElement":["HTMLPictureElement"],"HTMLPreElement":["HTMLPreElement"],"HTMLProgressElement":["HTMLProgressElement"],"HTMLQuoteElement":["HTMLQuoteElement"],"HTMLScriptElement":["HTMLScriptElement"],"HTMLSelectElement":["HTMLSelectElement"],"HTMLSlotElement":["HTMLSlotElement"],"HTMLSourceElement":["HTMLSourceElement"],"HTMLSpanElement":["HTMLSpanElement"],"HTMLStyleElement":["HTMLStyleElement"],"HTMLTableCaptionElement":["HTMLTableCaptionElement"],"HTMLTableCellElement":["HTMLTableCellElement"],"HTMLTableColElement":["HTMLTableColElement"],"HTMLTableDataCellElement":[],"HTMLTableElement":["HTMLTableElement"],"HTMLTableHeaderCellElement":[],"HTMLTableRowElement":["HTMLTableRowElement"],"HTMLTableSectionElement":["HTMLTableSectionElement"],"HTMLTemplateElement":["HTMLTemplateElement"],"HTMLTextAreaElement":["HTMLTextAreaElement"],"HTMLTimeElement":["HTMLTimeElement"],"HTMLTitleElement":["HTMLTitleElement"],"HTMLTrackElement":["HTMLTrackElement"],"HTMLUListElement":["HTMLUListElement"],"HTMLUnknownElement":["HTMLUnknownElement"],"HTMLVideoElement":["HTMLVideoElement"],"HTMLVideoElementEventMap":[],"IArguments":[],"IDBCursor":["IDBCursor"],"IDBCursorDirection":[],"IDBCursorWithValue":["IDBCursorWithValue"],"IDBDatabase":["IDBDatabase"],"IDBDatabaseEventMap":[],"IDBDatabaseInfo":[],"IDBFactory":["IDBFactory"],"IDBIndex":["IDBIndex"],"IDBIndexParameters":[],"IDBKeyRange":["IDBKeyRange"],"IDBObjectStore":["IDBObjectStore"],"IDBObjectStoreParameters":[],"IDBOpenDBRequest":["IDBOpenDBRequest"],"IDBOpenDBRequestEventMap":[],"IDBRequest":["IDBRequest"],"IDBRequestEventMap":[],"IDBRequestReadyState":[],"IDBTransaction":["IDBTransaction"],"IDBTransactionDurability":[],"IDBTransactionEventMap":[],"IDBTransactionMode":[],"IDBTransactionOptions":[],"IDBValidKey":[],"IDBVersionChangeEvent":["IDBVersionChangeEvent"],"IDBVersionChangeEventInit":[],"IdleDeadline":["IdleDeadline"],"IdleRequestCallback":[],"IdleRequestOptions":[],"IIRFilterNode":["IIRFilterNode"],"IIRFilterOptions":[],"Image":[],"ImageBitmap":["ImageBitmap"],"ImageBitmapOptions":[],"ImageBitmapRenderingContext":["ImageBitmapRenderingContext"],"ImageBitmapRenderingContextSettings":[],"ImageBitmapSource":[],"ImageBufferSource":[],"ImageCapture":["ImageCapture"],"ImageData":["ImageData"],"ImageDataArray":[],"ImageDataPixelFormat":[],"ImageDataSettings":[],"ImageDecodeOptions":[],"ImageDecoder":["ImageDecoder"],"ImageDecodeResult":[],"ImageDecoderInit":[],"ImageEncodeOptions":[],"ImageOrientation":[],"ImageSmoothingQuality":[],"ImageTrack":["ImageTrack"],"ImageTrackList":["ImageTrackList"],"ImportAssertions":[],"ImportAttributes":[],"ImportCallOptions":[],"ImportMeta":[],"ImportNodeOptions":[],"importScripts":["WorkerGlobalScope/importScripts"],"indexedDB":[],"Infinity":[],"innerHeight":[],"innerWidth":[],"InputDeviceInfo":["InputDeviceInfo"],"InputEvent":["InputEvent"],"InputEventInit":[],"InsertPosition":[],"InstanceType":["https://www.typescriptlang.org/docs/handbook/utility-types.html#instancetypetype"],"Int16Array":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Int16Array"],"Int16ArrayConstructor":[],"Int32Array":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Int32Array"],"Int32ArrayConstructor":[],"Int32List":[],"Int8Array":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Int8Array"],"Int8ArrayConstructor":[],"IntersectionObserver":["IntersectionObserver"],"IntersectionObserverCallback":[],"IntersectionObserverEntry":["IntersectionObserverEntry"],"IntersectionObserverInit":[],"Intl":[null,{"Collator":[],"CollatorConstructor":[],"CollatorOptions":[],"DateTimeFormat":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat"],"DateTimeFormatConstructor":[],"DateTimeFormatOptions":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat"],"DateTimeFormatPart":[],"DateTimeFormatPartTypes":[],"DateTimeFormatPartTypesRegistry":[],"DateTimeRangeFormatPart":[],"DisplayNames":[],"DisplayNamesFallback":[],"DisplayNamesLanguageDisplay":[],"DisplayNamesOptions":[],"DisplayNamesType":[],"DurationFormat":[],"DurationFormatDisplayOption":[],"DurationFormatLocaleMatcher":[],"DurationFormatOptions":[],"DurationFormatPart":[],"DurationFormatStyle":[],"DurationFormatUnit":[],"DurationFormatUnitSingular":[],"FormattableTemporalObject":[],"getCanonicalLocales":[],"LDMLPluralRule":[],"ListFormat":[],"ListFormatLocaleMatcher":[],"ListFormatOptions":[],"ListFormatStyle":[],"ListFormatType":[],"Locale":["getCalendars"],"LocaleCollationCaseFirst":[],"LocaleHourCycleKey":[],"LocaleOptions":[],"LocalesArgument":[],"NumberFormat":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat"],"NumberFormatConstructor":[],"NumberFormatOptions":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat"],"NumberFormatOptionsCurrencyDisplay":[],"NumberFormatOptionsCurrencyDisplayRegistry":[],"NumberFormatOptionsSignDisplay":[],"NumberFormatOptionsSignDisplayRegistry":[],"NumberFormatOptionsStyle":[],"NumberFormatOptionsStyleRegistry":[],"NumberFormatOptionsUseGrouping":[],"NumberFormatOptionsUseGroupingRegistry":[],"NumberFormatPart":[],"NumberFormatPartTypeRegistry":[],"NumberFormatPartTypes":[],"NumberFormatRangePartTypeRegistry":[],"NumberFormatRangePartTypes":[],"NumberRangeFormatPart":[],"PluralRules":[],"PluralRulesConstructor":[],"PluralRulesOptions":[],"PluralRuleType":[],"RelativeTimeFormat":[],"RelativeTimeFormatLocaleMatcher":[],"RelativeTimeFormatNumeric":[],"RelativeTimeFormatOptions":[],"RelativeTimeFormatPart":[],"RelativeTimeFormatStyle":[],"RelativeTimeFormatUnit":[],"RelativeTimeFormatUnitSingular":[],"ResolvedCollatorOptions":[],"ResolvedDateTimeFormatOptions":[],"ResolvedDisplayNamesOptions":[],"ResolvedDurationFormatOptions":[],"ResolvedListFormatOptions":[],"ResolvedNumberFormatOptions":[],"ResolvedNumberFormatOptionsUseGrouping":[],"ResolvedPluralRulesOptions":[],"ResolvedRelativeTimeFormatOptions":[],"ResolvedSegmenterOptions":[],"SegmentData":[],"Segmenter":[],"SegmenterOptions":[],"SegmentIterator":[],"Segments":[],"StringNumericLiteral":[],"supportedValuesOf":[],"TextInfo":["https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getTextInfo#return_value"],"UnicodeBCP47LocaleIdentifier":[],"WeekInfo":["https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/getWeekInfo#return_value"]}],"isFinite":[],"isNaN":[],"isSecureContext":[],"Iterable":[],"IterableIterator":[],"IterationCompositeOperation":[],"Iterator":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Iterator"],"IteratorConstructor":[],"IteratorObject":[],"IteratorObjectConstructor":[],"IteratorResult":[],"IteratorReturnResult":[],"IteratorYieldResult":[],"ITextWriter":[],"JSON":[],"JsonWebKey":[],"KeyAlgorithm":[],"KeyboardEvent":["KeyboardEvent"],"KeyboardEventInit":[],"KeyFormat":[],"Keyframe":[],"KeyframeAnimationOptions":[],"KeyframeEffect":["KeyframeEffect"],"KeyframeEffectOptions":[],"KeySystemTrackConfiguration":[],"KeyType":[],"KeyUsage":[],"KHR_parallel_shader_compile":["KHR_parallel_shader_compile"],"LargestContentfulPaint":["LargestContentfulPaint"],"LatencyMode":[],"length":[],"LineAlignSetting":[],"LineAndPositionSetting":[],"LinkStyle":["sheet"],"localStorage":[],"location":[],"Location":["Location"],"locationbar":[],"Lock":["Lock"],"LockGrantedCallback":[],"LockInfo":[],"LockManager":["LockManager"],"LockManagerSnapshot":[],"LockMode":[],"LockOptions":[],"LoginStatus":[],"Lowercase":["https://www.typescriptlang.org/docs/handbook/utility-types.html#intrinsic-string-manipulation-types"],"Map":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map"],"MapConstructor":[],"MapIterator":[],"matchMedia":["Window/matchMedia"],"Math":[],"MathMLElement":["MathMLElement"],"MathMLElementEventMap":[],"MathMLElementTagNameMap":[],"MediaCapabilities":["MediaCapabilities"],"MediaCapabilitiesDecodingInfo":[],"MediaCapabilitiesEncodingInfo":[],"MediaCapabilitiesInfo":[],"MediaCapabilitiesKeySystemConfiguration":[],"MediaConfiguration":[],"MediaDecodingConfiguration":[],"MediaDecodingType":[],"MediaDeviceInfo":["MediaDeviceInfo"],"MediaDeviceKind":[],"MediaDevices":["MediaDevices"],"MediaDevicesEventMap":[],"MediaElementAudioSourceNode":["MediaElementAudioSourceNode"],"MediaElementAudioSourceOptions":[],"MediaEncodingConfiguration":[],"MediaEncodingType":[],"MediaEncryptedEvent":["MediaEncryptedEvent"],"MediaEncryptedEventInit":[],"MediaError":["MediaError"],"MediaImage":[],"MediaKeyMessageEvent":["MediaKeyMessageEvent"],"MediaKeyMessageEventInit":[],"MediaKeyMessageType":[],"MediaKeys":["MediaKeys"],"MediaKeySession":["MediaKeySession"],"MediaKeySessionClosedReason":[],"MediaKeySessionEventMap":[],"MediaKeySessionType":[],"MediaKeysPolicy":[],"MediaKeysRequirement":[],"MediaKeyStatus":[],"MediaKeyStatusMap":["MediaKeyStatusMap"],"MediaKeyStatusMapIterator":[],"MediaKeySystemAccess":["MediaKeySystemAccess"],"MediaKeySystemConfiguration":[],"MediaKeySystemMediaCapability":[],"MediaList":["MediaList"],"MediaMetadata":["MediaMetadata"],"MediaMetadataInit":[],"MediaPositionState":[],"MediaProvider":[],"MediaQueryList":["MediaQueryList"],"MediaQueryListEvent":["MediaQueryListEvent"],"MediaQueryListEventInit":[],"MediaQueryListEventMap":[],"MediaRecorder":["MediaRecorder"],"MediaRecorderEventMap":[],"MediaRecorderOptions":[],"MediaSession":["MediaSession"],"MediaSessionAction":[],"MediaSessionActionDetails":[],"MediaSessionActionHandler":[],"MediaSessionPlaybackState":[],"MediaSettingsRange":[],"MediaSource":["MediaSource"],"MediaSourceEventMap":[],"MediaSourceHandle":["MediaSourceHandle"],"MediaStream":["MediaStream"],"MediaStreamAudioDestinationNode":["MediaStreamAudioDestinationNode"],"MediaStreamAudioSourceNode":["MediaStreamAudioSourceNode"],"MediaStreamAudioSourceOptions":[],"MediaStreamConstraints":[],"MediaStreamEventMap":[],"MediaStreamTrack":["MediaStreamTrack"],"MediaStreamTrackEvent":["MediaStreamTrackEvent"],"MediaStreamTrackEventInit":[],"MediaStreamTrackEventMap":[],"MediaStreamTrackProcessor":["MediaStreamTrackProcessor"],"MediaStreamTrackProcessorInit":[],"MediaStreamTrackState":[],"MediaTrackCapabilities":[],"MediaTrackConstraints":[],"MediaTrackConstraintSet":[],"MediaTrackSettings":[],"MediaTrackSupportedConstraints":[],"menubar":[],"MessageChannel":["MessageChannel"],"MessageEvent":["MessageEvent"],"MessageEventInit":[],"MessageEventSource":[],"MessageEventTarget":["message_event"],"MessageEventTargetEventMap":[],"MessagePort":["MessagePort"],"MessagePortEventMap":[],"MethodDecorator":[],"MIDIAccess":["MIDIAccess"],"MIDIAccessEventMap":[],"MIDIConnectionEvent":["MIDIConnectionEvent"],"MIDIConnectionEventInit":[],"MIDIInput":["MIDIInput"],"MIDIInputEventMap":[],"MIDIInputMap":["MIDIInputMap"],"MIDIMessageEvent":["MIDIMessageEvent"],"MIDIMessageEventInit":[],"MIDIOptions":[],"MIDIOutput":["MIDIOutput"],"MIDIOutputMap":["MIDIOutputMap"],"MIDIPort":["MIDIPort"],"MIDIPortConnectionState":[],"MIDIPortDeviceState":[],"MIDIPortEventMap":[],"MIDIPortType":[],"MimeType":["MimeType"],"MimeTypeArray":["MimeTypeArray"],"MouseEvent":["MouseEvent"],"MouseEventInit":[],"moveBy":["Window/moveBy"],"moveTo":["Window/moveTo"],"MultiCacheQueryOptions":[],"MutationCallback":[],"MutationObserver":["MutationObserver"],"MutationObserverInit":[],"MutationRecord":["MutationRecord"],"MutationRecordType":[],"name":[],"NamedCurve":[],"NamedNodeMap":["NamedNodeMap"],"NaN":[],"NavigateEvent":["NavigateEvent"],"NavigateEventInit":[],"navigation":[],"Navigation":["Navigation"],"NavigationActivation":["NavigationActivation"],"NavigationCurrentEntryChangeEvent":["NavigationCurrentEntryChangeEvent"],"NavigationCurrentEntryChangeEventInit":[],"NavigationDestination":["NavigationDestination"],"NavigationEventMap":[],"NavigationFocusReset":[],"NavigationHistoryBehavior":[],"NavigationHistoryEntry":["NavigationHistoryEntry"],"NavigationHistoryEntryEventMap":[],"NavigationInterceptHandler":[],"NavigationInterceptOptions":[],"NavigationNavigateOptions":[],"NavigationOptions":[],"NavigationPrecommitController":["NavigationPrecommitController"],"NavigationPrecommitHandler":[],"NavigationPreloadManager":["NavigationPreloadManager"],"NavigationPreloadState":[],"NavigationReloadOptions":[],"NavigationResult":[],"NavigationScrollBehavior":[],"NavigationTimingType":[],"NavigationTransition":["NavigationTransition"],"NavigationType":[],"NavigationUpdateCurrentEntryOptions":[],"navigator":[],"Navigator":["Navigator"],"NavigatorAutomationInformation":["webdriver"],"NavigatorBadge":["clearAppBadge"],"NavigatorConcurrentHardware":["hardwareConcurrency"],"NavigatorContentUtils":["registerProtocolHandler"],"NavigatorCookies":["cookieEnabled"],"NavigatorGPU":["gpu"],"NavigatorID":["appCodeName"],"NavigatorLanguage":["language"],"NavigatorLocks":["locks"],"NavigatorLogin":["NavigatorLogin"],"NavigatorOnLine":["onLine"],"NavigatorPlugins":["mimeTypes"],"NavigatorStorage":["storage"],"NewableFunction":[],"Node":["Node"],"NodeFilter":[],"NodeIterator":["NodeIterator"],"NodeList":["NodeList"],"NodeListOf":[],"NoInfer":["https://www.typescriptlang.org/docs/handbook/utility-types.html#noinfertype"],"NonDocumentTypeChildNode":["nextElementSibling"],"NonElementParentNode":["getElementById"],"NonNullable":["https://www.typescriptlang.org/docs/handbook/utility-types.html#extracttype-union"],"Notification":["Notification"],"NotificationDirection":[],"NotificationEvent":["NotificationEvent"],"NotificationEventInit":[],"NotificationEventMap":[],"NotificationOptions":[],"NotificationPermission":[],"NotificationPermissionCallback":[],"Number":[],"NumberConstructor":[],"Object":[],"ObjectConstructor":[],"OES_draw_buffers_indexed":["OES_draw_buffers_indexed"],"OES_element_index_uint":["OES_element_index_uint"],"OES_fbo_render_mipmap":["OES_fbo_render_mipmap"],"OES_standard_derivatives":["OES_standard_derivatives"],"OES_texture_float":["OES_texture_float"],"OES_texture_float_linear":["OES_texture_float_linear"],"OES_texture_half_float":["OES_texture_half_float"],"OES_texture_half_float_linear":["OES_texture_half_float_linear"],"OES_vertex_array_object":["OES_vertex_array_object"],"OfflineAudioCompletionEvent":["OfflineAudioCompletionEvent"],"OfflineAudioCompletionEventInit":[],"OfflineAudioContext":["OfflineAudioContext"],"OfflineAudioContextEventMap":[],"OfflineAudioContextOptions":[],"OffscreenCanvas":["OffscreenCanvas"],"OffscreenCanvasEventMap":[],"OffscreenCanvasRenderingContext2D":["OffscreenCanvasRenderingContext2D"],"OffscreenRenderingContext":[],"OffscreenRenderingContextId":[],"Omit":["https://www.typescriptlang.org/docs/handbook/utility-types.html#omittype-keys"],"OmitThisParameter":["https://www.typescriptlang.org/docs/handbook/utility-types.html#omitthisparametertype"],"onabort":[],"onafterprint":[],"onanimationcancel":[],"onanimationend":[],"onanimationiteration":[],"onanimationstart":[],"onauxclick":[],"onbeforeinput":[],"onbeforematch":[],"onbeforeprint":[],"onbeforetoggle":[],"onbeforeunload":[],"OnBeforeUnloadEventHandler":[],"OnBeforeUnloadEventHandlerNonNull":[],"onblur":[],"oncancel":[],"oncanplay":[],"oncanplaythrough":[],"onchange":[],"onclick":[],"onclose":[],"oncommand":[],"oncontextlost":[],"oncontextmenu":[],"oncontextrestored":[],"oncopy":[],"oncuechange":[],"oncut":[],"ondblclick":[],"ondevicemotion":[],"ondeviceorientation":[],"ondeviceorientationabsolute":[],"ondrag":[],"ondragend":[],"ondragenter":[],"ondragleave":[],"ondragover":[],"ondragstart":[],"ondrop":[],"ondurationchange":[],"onemptied":[],"onended":[],"onerror":[],"OnErrorEventHandler":[],"OnErrorEventHandlerNonNull":[],"onfocus":[],"onformdata":[],"ongamepadconnected":[],"ongamepaddisconnected":[],"ongotpointercapture":[],"onhashchange":[],"oninput":[],"oninvalid":[],"onkeydown":[],"onkeypress":[],"onkeyup":[],"onlanguagechange":[],"onload":[],"onloadeddata":[],"onloadedmetadata":[],"onloadstart":[],"onlostpointercapture":[],"onmessage":[],"onmessageerror":[],"onmousedown":[],"onmouseenter":[],"onmouseleave":[],"onmousemove":[],"onmouseout":[],"onmouseover":[],"onmouseup":[],"onoffline":[],"ononline":[],"onorientationchange":[],"onpagehide":[],"onpagereveal":[],"onpageshow":[],"onpageswap":[],"onpaste":[],"onpause":[],"onplay":[],"onplaying":[],"onpointercancel":[],"onpointerdown":[],"onpointerenter":[],"onpointerleave":[],"onpointermove":[],"onpointerout":[],"onpointerover":[],"onpointerrawupdate":[],"onpointerup":[],"onpopstate":[],"onprogress":[],"onratechange":[],"onrejectionhandled":[],"onreset":[],"onresize":[],"onrtctransform":[],"onscroll":[],"onscrollend":[],"onsecuritypolicyviolation":[],"onseeked":[],"onseeking":[],"onselect":[],"onselectionchange":[],"onselectstart":[],"onslotchange":[],"onstalled":[],"onstorage":[],"onsubmit":[],"onsuspend":[],"ontimeupdate":[],"ontoggle":[],"ontouchcancel":[],"ontouchend":[],"ontouchmove":[],"ontouchstart":[],"ontransitioncancel":[],"ontransitionend":[],"ontransitionrun":[],"ontransitionstart":[],"onunhandledrejection":[],"onunload":[],"onvolumechange":[],"onwaiting":[],"onwebkitanimationend":[],"onwebkitanimationiteration":[],"onwebkitanimationstart":[],"onwebkittransitionend":[],"onwheel":[],"open":["Window/open"],"opener":[],"Option":[],"OptionalEffectTiming":[],"OptionalPostfixToken":[],"OptionalPrefixToken":[],"OpusBitstreamFormat":[],"OpusEncoderConfig":[],"orientation":[],"OrientationLockType":[],"OrientationType":[],"origin":[],"originAgentCluster":[],"OscillatorNode":["OscillatorNode"],"OscillatorOptions":[],"OscillatorType":[],"outerHeight":[],"outerWidth":[],"OverconstrainedError":["OverconstrainedError"],"OverSampleType":[],"OVR_multiview2":["OVR_multiview2"],"PageRevealEvent":["PageRevealEvent"],"PageRevealEventInit":[],"PageSwapEvent":["PageSwapEvent"],"PageSwapEventInit":[],"PageTransitionEvent":["PageTransitionEvent"],"PageTransitionEventInit":[],"pageXOffset":[],"pageYOffset":[],"PaintTimingMixin":[],"PannerNode":["PannerNode"],"PannerOptions":[],"PanningModelType":[],"ParameterDecorator":[],"Parameters":["https://www.typescriptlang.org/docs/handbook/utility-types.html#parameterstype"],"parent":[],"ParentNode":["childElementCount"],"parseFloat":[],"parseInt":[],"Partial":["https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype"],"Path2D":["Path2D"],"PayerErrors":[],"PaymentAddress":["ContactAddress"],"PaymentComplete":[],"PaymentCurrencyAmount":[],"PaymentDetailsBase":[],"PaymentDetailsInit":[],"PaymentDetailsModifier":[],"PaymentDetailsUpdate":[],"PaymentItem":[],"PaymentMethodChangeEvent":["PaymentMethodChangeEvent"],"PaymentMethodChangeEventInit":[],"PaymentMethodData":[],"PaymentOptions":[],"PaymentRequest":["PaymentRequest"],"PaymentRequestEventMap":[],"PaymentRequestUpdateEvent":["PaymentRequestUpdateEvent"],"PaymentRequestUpdateEventInit":[],"PaymentResponse":["PaymentResponse"],"PaymentResponseEventMap":[],"PaymentShippingOption":[],"PaymentShippingType":[],"PaymentValidationErrors":[],"Pbkdf2Params":[],"performance":[],"Performance":["Performance"],"PerformanceEntry":["PerformanceEntry"],"PerformanceEntryList":[],"PerformanceEventMap":[],"PerformanceEventTiming":["PerformanceEventTiming"],"PerformanceMark":["PerformanceMark"],"PerformanceMarkOptions":[],"PerformanceMeasure":["PerformanceMeasure"],"PerformanceMeasureOptions":[],"PerformanceNavigation":["PerformanceNavigation"],"PerformanceNavigationTiming":["PerformanceNavigationTiming"],"PerformanceObserver":["PerformanceObserver"],"PerformanceObserverCallback":[],"PerformanceObserverEntryList":["PerformanceObserverEntryList"],"PerformanceObserverInit":[],"PerformancePaintTiming":["PerformancePaintTiming"],"PerformanceResourceTiming":["PerformanceResourceTiming"],"PerformanceServerTiming":["PerformanceServerTiming"],"PerformanceTiming":["PerformanceTiming"],"PeriodicWave":["PeriodicWave"],"PeriodicWaveConstraints":[],"PeriodicWaveOptions":[],"PermissionDescriptor":[],"PermissionName":[],"Permissions":["Permissions"],"PermissionState":[],"PermissionStatus":["PermissionStatus"],"PermissionStatusEventMap":[],"personalbar":[],"PhotoCapabilities":[],"PhotoSettings":[],"Pick":["https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys"],"PictureInPictureEvent":["PictureInPictureEvent"],"PictureInPictureEventInit":[],"PictureInPictureWindow":["PictureInPictureWindow"],"PictureInPictureWindowEventMap":[],"PlaneLayout":[],"PlaybackDirection":[],"Plugin":["Plugin"],"PluginArray":["PluginArray"],"PointerEvent":["PointerEvent"],"PointerEventInit":[],"PointerLockOptions":[],"PopoverTargetAttributes":["popoverTargetAction"],"PopStateEvent":["PopStateEvent"],"PopStateEventInit":[],"PositionAlignSetting":[],"PositionCallback":[],"PositionErrorCallback":[],"PositionOptions":[],"postMessage":["DedicatedWorkerGlobalScope/postMessage"],"PredefinedColorSpace":[],"PremultiplyAlpha":[],"PresentationStyle":[],"print":["Window/print"],"ProcessingInstruction":["ProcessingInstruction"],"ProgressEvent":["ProgressEvent"],"ProgressEventInit":[],"Promise":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise"],"PromiseConstructor":[],"PromiseConstructorLike":[],"PromiseFulfilledResult":[],"PromiseLike":[],"PromiseRejectedResult":[],"PromiseRejectionEvent":["PromiseRejectionEvent"],"PromiseRejectionEventInit":[],"PromiseSettledResult":[],"PromiseWithResolvers":[],"prompt":["Window/prompt"],"PropertyDecorator":[],"PropertyDefinition":[],"PropertyDescriptor":[],"PropertyDescriptorMap":[],"PropertyIndexedKeyframes":[],"PropertyKey":[],"Proxy":[],"ProxyConstructor":[],"ProxyHandler":[],"PublicKeyCredential":["PublicKeyCredential"],"PublicKeyCredentialClientCapabilities":[],"PublicKeyCredentialCreationOptions":[],"PublicKeyCredentialCreationOptionsJSON":[],"PublicKeyCredentialDescriptor":[],"PublicKeyCredentialDescriptorJSON":[],"PublicKeyCredentialEntity":[],"PublicKeyCredentialParameters":[],"PublicKeyCredentialRequestOptions":[],"PublicKeyCredentialRequestOptionsJSON":[],"PublicKeyCredentialRpEntity":[],"PublicKeyCredentialType":[],"PublicKeyCredentialUserEntity":[],"PublicKeyCredentialUserEntityJSON":[],"PushEncryptionKeyName":[],"PushEvent":["PushEvent"],"PushEventInit":[],"PushManager":["PushManager"],"PushManagerAttribute":["pushManager"],"PushMessageData":["PushMessageData"],"PushMessageDataInit":[],"PushSubscription":["PushSubscription"],"PushSubscriptionChangeEvent":[],"PushSubscriptionChangeEventInit":[],"PushSubscriptionJSON":[],"PushSubscriptionOptions":["PushSubscriptionOptions"],"PushSubscriptionOptionsInit":[],"queueMicrotask":["Window/queueMicrotask"],"QueuingStrategy":[],"QueuingStrategyInit":[],"QueuingStrategySize":[],"RadioNodeList":["RadioNodeList"],"Range":["Range"],"RangeError":[],"RangeErrorConstructor":[],"ReadableByteStreamController":["ReadableByteStreamController"],"ReadableStream":["ReadableStream"],"ReadableStreamAsyncIterator":[],"ReadableStreamBYOBReader":["ReadableStreamBYOBReader"],"ReadableStreamBYOBReaderReadOptions":[],"ReadableStreamBYOBRequest":["ReadableStreamBYOBRequest"],"ReadableStreamController":[],"ReadableStreamDefaultController":["ReadableStreamDefaultController"],"ReadableStreamDefaultReader":["ReadableStreamDefaultReader"],"ReadableStreamGenericReader":["closed"],"ReadableStreamGetReaderOptions":[],"ReadableStreamIteratorOptions":[],"ReadableStreamReadDoneResult":[],"ReadableStreamReader":[],"ReadableStreamReaderMode":[],"ReadableStreamReadResult":[],"ReadableStreamReadValueResult":[],"ReadableStreamType":[],"ReadableWritablePair":[],"Readonly":["https://www.typescriptlang.org/docs/handbook/utility-types.html#readonlytype"],"ReadonlyArray":[],"ReadonlyMap":[],"ReadonlySet":[],"ReadonlySetLike":[],"ReadyState":[],"Record":["https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type"],"RecordingState":[],"RedEyeReduction":[],"ReferenceError":[],"ReferenceErrorConstructor":[],"ReferrerPolicy":[],"Reflect":[null,{"apply":[],"construct":[],"defineProperty":[],"deleteProperty":[],"get":[],"getOwnPropertyDescriptor":[],"getPrototypeOf":[],"has":[],"isExtensible":[],"ownKeys":[],"preventExtensions":[],"set":[],"setPrototypeOf":[]}],"RegExp":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp"],"RegExpConstructor":[],"RegExpExecArray":[],"RegExpIndicesArray":[],"RegExpMatchArray":[],"RegExpStringIterator":[],"RegistrationOptions":[],"RegistrationResponseJSON":[],"releaseEvents":["Window/releaseEvents"],"RemotePlayback":["RemotePlayback"],"RemotePlaybackAvailabilityCallback":[],"RemotePlaybackEventMap":[],"RemotePlaybackState":[],"removeEventListener":[],"RenderingContext":[],"Report":[],"ReportBody":[],"reportError":["Window/reportError"],"ReportingObserver":["ReportingObserver"],"ReportingObserverCallback":[],"ReportingObserverOptions":[],"ReportList":[],"Request":["Request"],"requestAnimationFrame":["DedicatedWorkerGlobalScope/requestAnimationFrame"],"RequestCache":[],"RequestCredentials":[],"RequestDestination":[],"requestIdleCallback":["Window/requestIdleCallback"],"RequestInfo":[],"RequestInit":[],"RequestMode":[],"RequestPriority":[],"RequestRedirect":[],"Required":["https://www.typescriptlang.org/docs/handbook/utility-types.html#requiredtype"],"ResidentKeyRequirement":[],"resizeBy":["Window/resizeBy"],"ResizeObserver":["ResizeObserver"],"ResizeObserverBoxOptions":[],"ResizeObserverCallback":[],"ResizeObserverEntry":["ResizeObserverEntry"],"ResizeObserverOptions":[],"ResizeObserverSize":["ResizeObserverSize"],"ResizeQuality":[],"resizeTo":["Window/resizeTo"],"Response":["Response"],"ResponseInit":[],"ResponseType":[],"ReturnType":["https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype"],"RsaHashedImportParams":[],"RsaHashedKeyAlgorithm":[],"RsaHashedKeyGenParams":[],"RsaKeyAlgorithm":[],"RsaKeyGenParams":[],"RsaOaepParams":[],"RsaOtherPrimesInfo":[],"RsaPssParams":[],"RTCAnswerOptions":[],"RTCBundlePolicy":[],"RTCCertificate":["RTCCertificate"],"RTCCertificateExpiration":[],"RTCConfiguration":[],"RTCDataChannel":["RTCDataChannel"],"RTCDataChannelEvent":["RTCDataChannelEvent"],"RTCDataChannelEventInit":[],"RTCDataChannelEventMap":[],"RTCDataChannelInit":[],"RTCDataChannelState":[],"RTCDegradationPreference":[],"RTCDtlsFingerprint":[],"RTCDtlsRole":[],"RTCDtlsTransport":["RTCDtlsTransport"],"RTCDtlsTransportEventMap":[],"RTCDtlsTransportState":[],"RTCDTMFSender":["RTCDTMFSender"],"RTCDTMFSenderEventMap":[],"RTCDTMFToneChangeEvent":["RTCDTMFToneChangeEvent"],"RTCDTMFToneChangeEventInit":[],"RTCEncodedAudioFrame":["RTCEncodedAudioFrame"],"RTCEncodedAudioFrameMetadata":[],"RTCEncodedFrameMetadata":[],"RTCEncodedVideoFrame":["RTCEncodedVideoFrame"],"RTCEncodedVideoFrameMetadata":[],"RTCError":["RTCError"],"RTCErrorDetailType":[],"RTCErrorEvent":["RTCErrorEvent"],"RTCErrorEventInit":[],"RTCErrorInit":[],"RTCIceCandidate":["RTCIceCandidate"],"RTCIceCandidateInit":[],"RTCIceCandidatePair":[],"RTCIceCandidatePairStats":[],"RTCIceCandidateType":[],"RTCIceComponent":[],"RTCIceConnectionState":[],"RTCIceGathererState":[],"RTCIceGatheringState":[],"RTCIceProtocol":[],"RTCIceRole":[],"RTCIceServer":[],"RTCIceTcpCandidateType":[],"RTCIceTransport":["RTCIceTransport"],"RTCIceTransportEventMap":[],"RTCIceTransportPolicy":[],"RTCIceTransportState":[],"RTCInboundRtpStreamStats":[],"RTCLocalIceCandidateInit":[],"RTCLocalSessionDescriptionInit":[],"RTCOfferAnswerOptions":[],"RTCOfferOptions":[],"RTCOutboundRtpStreamStats":[],"RTCPeerConnection":["RTCPeerConnection"],"RTCPeerConnectionErrorCallback":[],"RTCPeerConnectionEventMap":[],"RTCPeerConnectionIceErrorEvent":["RTCPeerConnectionIceErrorEvent"],"RTCPeerConnectionIceErrorEventInit":[],"RTCPeerConnectionIceEvent":["RTCPeerConnectionIceEvent"],"RTCPeerConnectionIceEventInit":[],"RTCPeerConnectionState":[],"RTCPriorityType":[],"RTCQualityLimitationReason":[],"RTCReceivedRtpStreamStats":[],"RTCRtcpMuxPolicy":[],"RTCRtcpParameters":[],"RTCRtpCapabilities":[],"RTCRtpCodec":[],"RTCRtpCodecParameters":[],"RTCRtpCodingParameters":[],"RTCRtpContributingSource":[],"RTCRtpEncodingParameters":[],"RTCRtpHeaderExtensionCapability":[],"RTCRtpHeaderExtensionParameters":[],"RTCRtpParameters":[],"RTCRtpReceiveParameters":[],"RTCRtpReceiver":["RTCRtpReceiver"],"RTCRtpReceiverTransform":[],"RTCRtpScriptTransform":["RTCRtpScriptTransform"],"RTCRtpScriptTransformer":["RTCRtpScriptTransformer"],"RTCRtpSender":["RTCRtpSender"],"RTCRtpSenderTransform":[],"RTCRtpSendParameters":[],"RTCRtpStreamStats":[],"RTCRtpSynchronizationSource":[],"RTCRtpTransceiver":["RTCRtpTransceiver"],"RTCRtpTransceiverDirection":[],"RTCRtpTransceiverInit":[],"RTCSctpTransport":["RTCSctpTransport"],"RTCSctpTransportEventMap":[],"RTCSctpTransportState":[],"RTCSdpType":[],"RTCSentRtpStreamStats":[],"RTCSessionDescription":["RTCSessionDescription"],"RTCSessionDescriptionCallback":[],"RTCSessionDescriptionInit":[],"RTCSetParameterOptions":[],"RTCSignalingState":[],"RTCStats":[],"RTCStatsIceCandidatePairState":[],"RTCStatsReport":["RTCStatsReport"],"RTCStatsType":[],"RTCTrackEvent":["RTCTrackEvent"],"RTCTrackEventInit":[],"RTCTransformEvent":["RTCTransformEvent"],"RTCTransportStats":[],"SafeArray":[],"Sanitizer":["allowAttribute"],"SanitizerAttribute":[],"SanitizerAttributeNamespace":[],"SanitizerConfig":[],"SanitizerElement":[],"SanitizerElementNamespace":[],"SanitizerElementNamespaceWithAttributes":[],"SanitizerElementWithAttributes":[],"SanitizerPresets":[],"scheduler":[],"Scheduler":["Scheduler"],"SchedulerPostTaskCallback":[],"SchedulerPostTaskOptions":[],"screen":[],"Screen":["Screen"],"screenLeft":[],"ScreenOrientation":["ScreenOrientation"],"ScreenOrientationEventMap":[],"screenTop":[],"screenX":[],"screenY":[],"ScriptProcessorNode":["ScriptProcessorNode"],"ScriptProcessorNodeEventMap":[],"scroll":["Window/scroll"],"ScrollAxis":[],"scrollbars":[],"ScrollBehavior":[],"scrollBy":["Window/scrollBy"],"ScrollIntoViewOptions":[],"ScrollLogicalPosition":[],"ScrollOptions":[],"ScrollRestoration":[],"ScrollSetting":[],"ScrollTimeline":["ScrollTimeline"],"ScrollTimelineOptions":[],"scrollTo":["Window/scrollTo"],"ScrollToOptions":[],"scrollX":[],"scrollY":[],"SecurityPolicyViolationEvent":["SecurityPolicyViolationEvent"],"SecurityPolicyViolationEventDisposition":[],"SecurityPolicyViolationEventInit":[],"Selection":["Selection"],"SelectionDirection":[],"SelectionMode":[],"self":[],"ServiceWorker":["ServiceWorker"],"ServiceWorkerContainer":["ServiceWorkerContainer"],"ServiceWorkerContainerEventMap":[],"ServiceWorkerEventMap":[],"ServiceWorkerGlobalScope":["ServiceWorkerGlobalScope"],"ServiceWorkerGlobalScopeEventMap":[],"ServiceWorkerRegistration":["ServiceWorkerRegistration"],"ServiceWorkerRegistrationEventMap":[],"ServiceWorkerState":[],"ServiceWorkerUpdateViaCache":[],"sessionStorage":[],"Set":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set"],"SetConstructor":[],"setInterval":["Window/setInterval"],"SetIterator":[],"setTimeout":["Window/setTimeout"],"ShadowRoot":["ShadowRoot"],"ShadowRootEventMap":[],"ShadowRootInit":[],"ShadowRootMode":[],"SharedArrayBuffer":[],"SharedArrayBufferConstructor":[],"ShareData":[],"SharedWorker":["SharedWorker"],"SharedWorkerGlobalScope":["SharedWorkerGlobalScope"],"SharedWorkerGlobalScopeEventMap":[],"ShowPopoverOptions":[],"SlotAssignmentMode":[],"Slottable":["assignedSlot"],"SourceBuffer":["SourceBuffer"],"SourceBufferEventMap":[],"SourceBufferList":["SourceBufferList"],"SourceBufferListEventMap":[],"SpeechRecognitionAlternative":["SpeechRecognitionAlternative"],"SpeechRecognitionErrorCode":[],"SpeechRecognitionErrorEvent":["SpeechRecognitionErrorEvent"],"SpeechRecognitionErrorEventInit":[],"SpeechRecognitionEvent":["SpeechRecognitionEvent"],"SpeechRecognitionEventInit":[],"SpeechRecognitionResult":["SpeechRecognitionResult"],"SpeechRecognitionResultList":["SpeechRecognitionResultList"],"speechSynthesis":[],"SpeechSynthesis":["SpeechSynthesis"],"SpeechSynthesisErrorCode":[],"SpeechSynthesisErrorEvent":["SpeechSynthesisErrorEvent"],"SpeechSynthesisErrorEventInit":[],"SpeechSynthesisEvent":["SpeechSynthesisEvent"],"SpeechSynthesisEventInit":[],"SpeechSynthesisEventMap":[],"SpeechSynthesisUtterance":["SpeechSynthesisUtterance"],"SpeechSynthesisUtteranceEventMap":[],"SpeechSynthesisVoice":["SpeechSynthesisVoice"],"StartViewTransitionOptions":[],"StaticRange":["StaticRange"],"StaticRangeInit":[],"status":[],"statusbar":[],"StereoPannerNode":["StereoPannerNode"],"StereoPannerOptions":[],"stop":["Window/stop"],"Storage":["Storage"],"StorageEstimate":[],"StorageEvent":["StorageEvent"],"StorageEventInit":[],"StorageManager":["StorageManager"],"StreamPipeOptions":[],"String":[],"StringConstructor":[],"StringIterator":[],"structuredClone":["Window/structuredClone"],"StructuredSerializeOptions":[],"StylePropertyMap":["StylePropertyMap"],"StylePropertyMapReadOnly":["StylePropertyMapReadOnly"],"StylePropertyMapReadOnlyIterator":[],"StyleSheet":["StyleSheet"],"StyleSheetList":["StyleSheetList"],"SubmitEvent":["SubmitEvent"],"SubmitEventInit":[],"SubtleCrypto":["SubtleCrypto"],"SuppressedError":[],"SuppressedErrorConstructor":[],"SvcOutputMetadata":[],"SVGAElement":["SVGAElement"],"SVGAngle":["SVGAngle"],"SVGAnimatedAngle":["SVGAnimatedAngle"],"SVGAnimatedBoolean":["SVGAnimatedBoolean"],"SVGAnimatedEnumeration":["SVGAnimatedEnumeration"],"SVGAnimatedInteger":["SVGAnimatedInteger"],"SVGAnimatedLength":["SVGAnimatedLength"],"SVGAnimatedLengthList":["SVGAnimatedLengthList"],"SVGAnimatedNumber":["SVGAnimatedNumber"],"SVGAnimatedNumberList":["SVGAnimatedNumberList"],"SVGAnimatedPoints":["animatedPoints"],"SVGAnimatedPreserveAspectRatio":["SVGAnimatedPreserveAspectRatio"],"SVGAnimatedRect":["SVGAnimatedRect"],"SVGAnimatedString":["SVGAnimatedString"],"SVGAnimatedTransformList":["SVGAnimatedTransformList"],"SVGAnimateElement":["SVGAnimateElement"],"SVGAnimateMotionElement":["SVGAnimateMotionElement"],"SVGAnimateTransformElement":["SVGAnimateTransformElement"],"SVGAnimationElement":["SVGAnimationElement"],"SVGBoundingBoxOptions":[],"SVGCircleElement":["SVGCircleElement"],"SVGClipPathElement":["SVGClipPathElement"],"SVGComponentTransferFunctionElement":["SVGComponentTransferFunctionElement"],"SVGDefsElement":["SVGDefsElement"],"SVGDescElement":["SVGDescElement"],"SVGElement":["SVGElement"],"SVGElementEventMap":[],"SVGElementTagNameMap":[],"SVGEllipseElement":["SVGEllipseElement"],"SVGFEBlendElement":["SVGFEBlendElement"],"SVGFEColorMatrixElement":["SVGFEColorMatrixElement"],"SVGFEComponentTransferElement":["SVGFEComponentTransferElement"],"SVGFECompositeElement":["SVGFECompositeElement"],"SVGFEConvolveMatrixElement":["SVGFEConvolveMatrixElement"],"SVGFEDiffuseLightingElement":["SVGFEDiffuseLightingElement"],"SVGFEDisplacementMapElement":["SVGFEDisplacementMapElement"],"SVGFEDistantLightElement":["SVGFEDistantLightElement"],"SVGFEDropShadowElement":["SVGFEDropShadowElement"],"SVGFEFloodElement":["SVGFEFloodElement"],"SVGFEFuncAElement":["SVGFEFuncAElement"],"SVGFEFuncBElement":["SVGFEFuncBElement"],"SVGFEFuncGElement":["SVGFEFuncGElement"],"SVGFEFuncRElement":["SVGFEFuncRElement"],"SVGFEGaussianBlurElement":["SVGFEGaussianBlurElement"],"SVGFEImageElement":["SVGFEImageElement"],"SVGFEMergeElement":["SVGFEMergeElement"],"SVGFEMergeNodeElement":["SVGFEMergeNodeElement"],"SVGFEMorphologyElement":["SVGFEMorphologyElement"],"SVGFEOffsetElement":["SVGFEOffsetElement"],"SVGFEPointLightElement":["SVGFEPointLightElement"],"SVGFESpecularLightingElement":["SVGFESpecularLightingElement"],"SVGFESpotLightElement":["SVGFESpotLightElement"],"SVGFETileElement":["SVGFETileElement"],"SVGFETurbulenceElement":["SVGFETurbulenceElement"],"SVGFilterElement":["SVGFilterElement"],"SVGFilterPrimitiveStandardAttributes":["height"],"SVGFitToViewBox":["preserveAspectRatio"],"SVGForeignObjectElement":["SVGForeignObjectElement"],"SVGGElement":["SVGGElement"],"SVGGeometryElement":["SVGGeometryElement"],"SVGGradientElement":["SVGGradientElement"],"SVGGraphicsElement":["SVGGraphicsElement"],"SVGImageElement":["SVGImageElement"],"SVGLength":["SVGLength"],"SVGLengthList":["SVGLengthList"],"SVGLinearGradientElement":["SVGLinearGradientElement"],"SVGLineElement":["SVGLineElement"],"SVGMarkerElement":["SVGMarkerElement"],"SVGMaskElement":["SVGMaskElement"],"SVGMatrix":[],"SVGMetadataElement":["SVGMetadataElement"],"SVGMPathElement":["SVGMPathElement"],"SVGNumber":["SVGNumber"],"SVGNumberList":["SVGNumberList"],"SVGPathElement":["SVGPathElement"],"SVGPatternElement":["SVGPatternElement"],"SVGPoint":[],"SVGPointList":["SVGPointList"],"SVGPolygonElement":["SVGPolygonElement"],"SVGPolylineElement":["SVGPolylineElement"],"SVGPreserveAspectRatio":["SVGPreserveAspectRatio"],"SVGRadialGradientElement":["SVGRadialGradientElement"],"SVGRect":[],"SVGRectElement":["SVGRectElement"],"SVGScriptElement":["SVGScriptElement"],"SVGSetElement":["SVGSetElement"],"SVGStopElement":["SVGStopElement"],"SVGStringList":["SVGStringList"],"SVGStyleElement":["SVGStyleElement"],"SVGSVGElement":["SVGSVGElement"],"SVGSVGElementEventMap":[],"SVGSwitchElement":["SVGSwitchElement"],"SVGSymbolElement":["SVGSymbolElement"],"SVGTests":["requiredExtensions"],"SVGTextContentElement":["SVGTextContentElement"],"SVGTextElement":["SVGTextElement"],"SVGTextPathElement":["SVGTextPathElement"],"SVGTextPositioningElement":["SVGTextPositioningElement"],"SVGTitleElement":["SVGTitleElement"],"SVGTransform":["SVGTransform"],"SVGTransformList":["SVGTransformList"],"SVGTSpanElement":["SVGTSpanElement"],"SVGUnitTypes":["SVGUnitTypes"],"SVGURIReference":["href"],"SVGUseElement":["SVGUseElement"],"SVGViewElement":["SVGViewElement"],"Symbol":[],"SymbolConstructor":[],"SyntaxError":[],"SyntaxErrorConstructor":[],"TaskController":["TaskController"],"TaskControllerInit":[],"TaskPriority":[],"TaskPriorityChangeEvent":["TaskPriorityChangeEvent"],"TaskPriorityChangeEventInit":[],"TaskSignal":["TaskSignal"],"TaskSignalAnyInit":[],"TaskSignalEventMap":[],"TemplateStringsArray":[],"Temporal":[null,{"CalendarLike":[],"DateLikeObject":[],"DateTimeLikeObject":[],"DateUnit":[],"DisambiguationOptions":[],"Duration":[],"DurationConstructor":[],"DurationLike":[],"DurationLikeObject":[],"DurationRelativeToOptions":[],"DurationRoundingOptions":[],"DurationToStringOptions":[],"DurationTotalOptions":[],"Instant":[],"InstantConstructor":[],"InstantLike":[],"InstantToStringOptions":[],"Now":[null,{"instant":[],"plainDateISO":[],"plainDateTimeISO":[],"plainTimeISO":[],"timeZoneId":[],"zonedDateTimeISO":[]}],"OverflowOptions":[],"PartialTemporalLike":[],"PlainDate":[],"PlainDateConstructor":[],"PlainDateLike":[],"PlainDateTime":[],"PlainDateTimeConstructor":[],"PlainDateTimeLike":[],"PlainDateTimeToStringOptions":[],"PlainDateToStringOptions":[],"PlainDateToZonedDateTimeOptions":[],"PlainMonthDay":[],"PlainMonthDayConstructor":[],"PlainMonthDayLike":[],"PlainMonthDayToPlainDateOptions":[],"PlainTime":[],"PlainTimeConstructor":[],"PlainTimeLike":[],"PlainTimeToStringOptions":[],"PlainYearMonth":[],"PlainYearMonthConstructor":[],"PlainYearMonthLike":[],"PlainYearMonthToPlainDateOptions":[],"PluralizeUnit":[],"RoundingOptions":[],"RoundingOptionsWithLargestUnit":[],"TimeLikeObject":[],"TimeUnit":[],"TimeZoneLike":[],"ToStringRoundingOptions":[],"ToStringRoundingOptionsWithFractionalSeconds":[],"TransitionOptions":[],"YearMonthLikeObject":[],"ZonedDateTime":[],"ZonedDateTimeConstructor":[],"ZonedDateTimeFromOptions":[],"ZonedDateTimeLike":[],"ZonedDateTimeLikeObject":[],"ZonedDateTimeToStringOptions":[]}],"TexImageSource":[],"Text":["Text"],"TextDecodeOptions":[],"TextDecoder":["TextDecoder"],"TextDecoderCommon":["encoding"],"TextDecoderOptions":[],"TextDecoderStream":["TextDecoderStream"],"TextEncoder":["TextEncoder"],"TextEncoderCommon":["encoding"],"TextEncoderEncodeIntoResult":[],"TextEncoderStream":["TextEncoderStream"],"TextEvent":["TextEvent"],"TextMetrics":["TextMetrics"],"TextStreamBase":[],"TextStreamReader":[],"TextStreamWriter":[],"TextTrack":["TextTrack"],"TextTrackCue":["TextTrackCue"],"TextTrackCueEventMap":[],"TextTrackCueList":["TextTrackCueList"],"TextTrackEventMap":[],"TextTrackKind":[],"TextTrackList":["TextTrackList"],"TextTrackListEventMap":[],"TextTrackMode":[],"ThisParameterType":["https://www.typescriptlang.org/docs/handbook/utility-types.html#thisparametertypetype"],"ThisType":["https://www.typescriptlang.org/docs/handbook/utility-types.html#thistypetype"],"TimelineRangeOffset":[],"TimeRanges":["TimeRanges"],"TimerHandler":[],"ToggleEvent":["ToggleEvent"],"ToggleEventInit":[],"TogglePopoverOptions":[],"toolbar":[],"top":[],"Touch":["Touch"],"TouchEvent":["TouchEvent"],"TouchEventInit":[],"TouchInit":[],"TouchList":["TouchList"],"TouchType":[],"TrackEvent":["TrackEvent"],"TrackEventInit":[],"Transferable":[],"TransferFunction":[],"Transformer":[],"TransformerFlushCallback":[],"TransformerStartCallback":[],"TransformerTransformCallback":[],"TransformStream":["TransformStream"],"TransformStreamDefaultController":["TransformStreamDefaultController"],"TransitionEvent":["TransitionEvent"],"TransitionEventInit":[],"TreeWalker":["TreeWalker"],"TypedPropertyDescriptor":[],"TypeError":[],"TypeErrorConstructor":[],"UIEvent":["UIEvent"],"UIEventInit":[],"Uint16Array":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array"],"Uint16ArrayConstructor":[],"Uint32Array":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array"],"Uint32ArrayConstructor":[],"Uint32List":[],"Uint8Array":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array"],"Uint8ArrayConstructor":[],"Uint8ClampedArray":["https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray"],"Uint8ClampedArrayConstructor":[],"ULongRange":[],"Uncapitalize":["https://www.typescriptlang.org/docs/handbook/utility-types.html#intrinsic-string-manipulation-types"],"UnderlyingByteSource":[],"UnderlyingDefaultSource":[],"UnderlyingSink":[],"UnderlyingSinkAbortCallback":[],"UnderlyingSinkCloseCallback":[],"UnderlyingSinkStartCallback":[],"UnderlyingSinkWriteCallback":[],"UnderlyingSource":[],"UnderlyingSourceCancelCallback":[],"UnderlyingSourcePullCallback":[],"UnderlyingSourceStartCallback":[],"unescape":[],"UnknownCredentialOptions":[],"Uppercase":["https://www.typescriptlang.org/docs/handbook/utility-types.html#intrinsic-string-manipulation-types"],"URIError":[],"URIErrorConstructor":[],"URL":["URL"],"URLPattern":["URLPattern"],"URLPatternComponentResult":[],"URLPatternInit":[],"URLPatternInput":[],"URLPatternOptions":[],"URLPatternResult":[],"URLSearchParams":["URLSearchParams"],"URLSearchParamsIterator":[],"UserActivation":["UserActivation"],"UserVerificationRequirement":[],"ValidityState":["ValidityState"],"ValidityStateFlags":[],"VarDate":[],"VBArray":[],"VBArrayConstructor":[],"VibratePattern":[],"VideoColorPrimaries":[],"VideoColorSpace":["VideoColorSpace"],"VideoColorSpaceInit":[],"VideoConfiguration":[],"VideoDecoder":["VideoDecoder"],"VideoDecoderConfig":[],"VideoDecoderEventMap":[],"VideoDecoderInit":[],"VideoDecoderSupport":[],"VideoEncoder":["VideoEncoder"],"VideoEncoderBitrateMode":[],"VideoEncoderConfig":[],"VideoEncoderEncodeOptions":[],"VideoEncoderEncodeOptionsForAvc":[],"VideoEncoderEventMap":[],"VideoEncoderInit":[],"VideoEncoderSupport":[],"VideoFacingModeEnum":[],"VideoFrame":["VideoFrame"],"VideoFrameBufferInit":[],"VideoFrameCallbackMetadata":[],"VideoFrameCopyToOptions":[],"VideoFrameInit":[],"VideoFrameOutputCallback":[],"VideoFrameRequestCallback":[],"VideoMatrixCoefficients":[],"VideoPixelFormat":[],"VideoPlaybackQuality":["VideoPlaybackQuality"],"VideoTransferCharacteristics":[],"ViewTimeline":["ViewTimeline"],"ViewTimelineOptions":[],"ViewTransition":["ViewTransition"],"ViewTransitionTypeSet":["ViewTransitionTypeSet"],"ViewTransitionUpdateCallback":[],"visualViewport":[],"VisualViewport":["VisualViewport"],"VisualViewportEventMap":[],"VoidFunction":[],"VTTCue":["VTTCue"],"VTTRegion":["VTTRegion"],"WakeLock":["WakeLock"],"WakeLockSentinel":["WakeLockSentinel"],"WakeLockSentinelEventMap":[],"WakeLockType":[],"WaveShaperNode":["WaveShaperNode"],"WaveShaperOptions":[],"WeakKey":[],"WeakKeyTypes":[],"WeakMap":[],"WeakMapConstructor":[],"WeakRef":[],"WeakRefConstructor":[],"WeakSet":[],"WeakSetConstructor":[],"WebAssembly":[null,{"AddressType":[],"AddressValue":[],"compile":["https://developer.mozilla.org/docs/WebAssembly/Reference/JavaScript_interface/compile_static"],"CompileError":[],"compileStreaming":["https://developer.mozilla.org/docs/WebAssembly/Reference/JavaScript_interface/compileStreaming_static"],"Exception":["https://developer.mozilla.org/docs/WebAssembly/Reference/JavaScript_interface/Exception"],"ExceptionOptions":[],"Exports":[],"ExportValue":[],"Global":["https://developer.mozilla.org/docs/WebAssembly/Reference/JavaScript_interface/Global"],"GlobalDescriptor":[],"ImportExportKind":[],"Imports":[],"ImportValue":[],"Instance":["https://developer.mozilla.org/docs/WebAssembly/Reference/JavaScript_interface/Instance"],"instantiate":["https://developer.mozilla.org/docs/WebAssembly/Reference/JavaScript_interface/instantiate_static"],"instantiateStreaming":["https://developer.mozilla.org/docs/WebAssembly/Reference/JavaScript_interface/instantiateStreaming_static"],"JSTag":[],"LinkError":[],"Memory":["https://developer.mozilla.org/docs/WebAssembly/Reference/JavaScript_interface/Memory"],"MemoryDescriptor":[],"Module":["https://developer.mozilla.org/docs/WebAssembly/Reference/JavaScript_interface/Module"],"ModuleExportDescriptor":[],"ModuleImportDescriptor":[],"ModuleImports":[],"RuntimeError":[],"Table":["https://developer.mozilla.org/docs/WebAssembly/Reference/JavaScript_interface/Table"],"TableDescriptor":[],"TableKind":[],"Tag":["https://developer.mozilla.org/docs/WebAssembly/Reference/JavaScript_interface/Tag"],"TagType":[],"validate":["https://developer.mozilla.org/docs/WebAssembly/Reference/JavaScript_interface/validate_static"],"ValueType":[],"ValueTypeMap":[],"WebAssemblyCompileOptions":[],"WebAssemblyInstantiatedSource":[]}],"WebCodecsErrorCallback":[],"WEBGL_color_buffer_float":["WEBGL_color_buffer_float"],"WEBGL_compressed_texture_astc":["WEBGL_compressed_texture_astc"],"WEBGL_compressed_texture_etc":["WEBGL_compressed_texture_etc"],"WEBGL_compressed_texture_etc1":["WEBGL_compressed_texture_etc1"],"WEBGL_compressed_texture_pvrtc":["WEBGL_compressed_texture_pvrtc"],"WEBGL_compressed_texture_s3tc":["WEBGL_compressed_texture_s3tc"],"WEBGL_compressed_texture_s3tc_srgb":["WEBGL_compressed_texture_s3tc_srgb"],"WEBGL_debug_renderer_info":["WEBGL_debug_renderer_info"],"WEBGL_debug_shaders":["WEBGL_debug_shaders"],"WEBGL_depth_texture":["WEBGL_depth_texture"],"WEBGL_draw_buffers":["WEBGL_draw_buffers"],"WEBGL_lose_context":["WEBGL_lose_context"],"WEBGL_multi_draw":["WEBGL_multi_draw"],"WebGL2RenderingContext":["WebGL2RenderingContext"],"WebGL2RenderingContextBase":["beginQuery"],"WebGL2RenderingContextOverloads":["bufferData"],"WebGLActiveInfo":["WebGLActiveInfo"],"WebGLBuffer":["WebGLBuffer"],"WebGLContextAttributes":[],"WebGLContextEvent":["WebGLContextEvent"],"WebGLContextEventInit":[],"WebGLFramebuffer":["WebGLFramebuffer"],"WebGLPowerPreference":[],"WebGLProgram":["WebGLProgram"],"WebGLQuery":["WebGLQuery"],"WebGLRenderbuffer":["WebGLRenderbuffer"],"WebGLRenderingContext":["WebGLRenderingContext"],"WebGLRenderingContextBase":["drawingBufferColorSpace"],"WebGLRenderingContextOverloads":["bufferData"],"WebGLSampler":["WebGLSampler"],"WebGLShader":["WebGLShader"],"WebGLShaderPrecisionFormat":["WebGLShaderPrecisionFormat"],"WebGLSync":["WebGLSync"],"WebGLTexture":["WebGLTexture"],"WebGLTransformFeedback":["WebGLTransformFeedback"],"WebGLUniformLocation":["WebGLUniformLocation"],"WebGLVertexArrayObject":["WebGLVertexArrayObject"],"WebGLVertexArrayObjectOES":["WebGLVertexArrayObject"],"WebKitCSSMatrix":[],"webkitURL":[],"WebSocket":["WebSocket"],"WebSocketEventMap":[],"WebTransport":["WebTransport"],"WebTransportBidirectionalStream":["WebTransportBidirectionalStream"],"WebTransportCloseInfo":[],"WebTransportCongestionControl":[],"WebTransportDatagramDuplexStream":["WebTransportDatagramDuplexStream"],"WebTransportError":["WebTransportError"],"WebTransportErrorOptions":[],"WebTransportErrorSource":[],"WebTransportHash":[],"WebTransportOptions":[],"WebTransportSendOptions":[],"WebTransportSendStreamOptions":[],"WGSLLanguageFeatures":["WGSLLanguageFeatures"],"WheelEvent":["WheelEvent"],"WheelEventInit":[],"window":[],"Window":["Window"],"WindowClient":["WindowClient"],"WindowEventHandlers":["afterprint_event"],"WindowEventHandlersEventMap":[],"WindowEventMap":[],"WindowLocalStorage":["localStorage"],"WindowOrWorkerGlobalScope":["caches"],"WindowPostMessageOptions":[],"WindowProxy":[],"WindowSessionStorage":["sessionStorage"],"Worker":["Worker"],"WorkerEventMap":[],"WorkerGlobalScope":["WorkerGlobalScope"],"WorkerGlobalScopeEventMap":[],"WorkerLocation":["WorkerLocation"],"WorkerNavigator":["WorkerNavigator"],"WorkerOptions":[],"WorkerType":[],"Worklet":["Worklet"],"WorkletOptions":[],"WritableStream":["WritableStream"],"WritableStreamDefaultController":["WritableStreamDefaultController"],"WritableStreamDefaultWriter":["WritableStreamDefaultWriter"],"WriteCommandType":[],"WriteParams":[],"WScript":[],"WSH":[],"XMLDocument":["XMLDocument"],"XMLHttpRequest":["XMLHttpRequest"],"XMLHttpRequestBodyInit":[],"XMLHttpRequestEventMap":[],"XMLHttpRequestEventTarget":["XMLHttpRequestEventTarget"],"XMLHttpRequestEventTargetEventMap":[],"XMLHttpRequestResponseType":[],"XMLHttpRequestUpload":["XMLHttpRequestUpload"],"XMLSerializer":["XMLSerializer"],"XPathEvaluator":["XPathEvaluator"],"XPathEvaluatorBase":["createExpression"],"XPathExpression":["XPathExpression"],"XPathNSResolver":[],"XPathResult":["XPathResult"],"XSLTProcessor":["XSLTProcessor"]}'), On = {
1217
+ globals: Fn
1218
+ }, ut = Object.freeze(
1219
+ Object.assign(/* @__PURE__ */ Object.create(null), On.globals)
1220
+ ), ft = "https://developer.mozilla.org/docs/Web/API/";
1221
+ function fi(e, t, n = "*", i) {
1222
+ if (e === "@arcgis/core")
1223
+ return Nn(t, n, i);
1224
+ }
1225
+ function Nn(e, t, n) {
1226
+ if (!(e === void 0 || e === "interfaces.d.ts")) {
1227
+ const i = `https://${n.config.documentation.host}${wn}${Z(e)}/`;
1228
+ return Fi(i, t === "default" || t === "*" ? void 0 : t, void 0);
1229
+ }
1230
+ }
1231
+ const wn = ti("core");
1232
+ function je(e, t, n, i) {
1233
+ i.implicitPublicModules ??= /* @__PURE__ */ Object.create(null);
1234
+ const a = i.implicitPublicModules[e];
1235
+ a === void 0 ? i.implicitPublicModules[e] = {
1236
+ actualModulePath: void 0,
1237
+ // moduleResolution:Node16 may use .js extension to refer to non-JS files
1238
+ // We strip the extension, and manually guess the extension in worker.ts
1239
+ sourcePath: t.endsWith(".js") ? t.slice(0, -3) : t,
1240
+ pendingNames: n === "*" ? void 0 : /* @__PURE__ */ new Set([n]),
1241
+ extractedNames: /* @__PURE__ */ new Set()
1242
+ } : a.pendingNames !== void 0 && n !== "*" ? a.pendingNames.add(n) : a.pendingNames = void 0;
1243
+ }
1244
+ function Un(e, t) {
1245
+ const n = tt(e);
1246
+ if (t.pendingNames === void 0)
1247
+ return n > 0;
1248
+ if (n === 2 && t.pendingNames.has("default"))
1249
+ return !0;
1250
+ const a = (e.name ?? e.declarationList?.declarations[0].name).escapedText;
1251
+ return t.pendingNames.has(a);
1252
+ }
1253
+ function Je(e, t, n, i, a) {
1254
+ const r = n.program.getTypeChecker(), s = e.flags & o.SymbolFlags.Alias ? r.getAliasedSymbol(e) : e, l = Hn(s), c = t.escapedText, p = l ?? c, d = s?.declarations?.[0];
1255
+ if (d === void 0)
1256
+ return n.emitError(`Unable to resolve the declaration file name for the type ${p}`, {
1257
+ file: n.file,
1258
+ node: void 0
1259
+ }), {
1260
+ name: p,
1261
+ module: void 0,
1262
+ package: le,
1263
+ viewUrl: void 0,
1264
+ start: i,
1265
+ end: a
1266
+ };
1267
+ const m = d.getSourceFile(), { packageName: f, modulePath: u } = Wn(m.fileName, n, p);
1268
+ if (f === "@arcgis/core" && u === "interfaces.js")
1269
+ return n.moduleContext.importsMap.__esri = {
1270
+ type: "*",
1271
+ modulePath: void 0,
1272
+ rawSpecifier: `${f}/${u}`,
1273
+ replacementName: void 0,
1274
+ actualName: void 0,
1275
+ wasUsed: !0
1276
+ }, {
1277
+ name: "__esri",
1278
+ module: u,
1279
+ package: f,
1280
+ viewUrl: void 0,
1281
+ start: i,
1282
+ end: a
1283
+ };
1284
+ if (f === "typescript" && u?.startsWith("lib/") === !0) {
1285
+ let v = ut[p], P, h = p;
1286
+ if (v === void 0) {
1287
+ for (let L = d.parent; L !== void 0; L = L.parent)
1288
+ if (o.isModuleDeclaration(L) && o.isIdentifier(L.name)) {
1289
+ P = L.name.escapedText, v = ut[P]?.[1]?.[p], h = `${P}.${p}`, be(t, h);
1290
+ break;
1291
+ }
1292
+ }
1293
+ return {
1294
+ name: h,
1295
+ module: void 0,
1296
+ package: le,
1297
+ viewUrl: v?.[0]?.startsWith("https") === !1 ? `${ft}${v[0]}` : v?.[0] ?? void 0,
1298
+ start: i,
1299
+ end: i + h.length
1300
+ };
1301
+ }
1302
+ let S = p;
1303
+ if (f !== void 0 && u === void 0 && l?.startsWith("HTML") === !0 && d.parent.kind === o.SyntaxKind.ModuleBlock && d.parent.parent.kind === o.SyntaxKind.ModuleDeclaration && d.parent.parent.name.escapedText === "global") {
1304
+ if (l.endsWith("Element")) {
1305
+ const v = o.isInterfaceDeclaration(d) ? d.heritageClauses?.[0]?.types[0]?.expression : o.isTypeAliasDeclaration(d) && o.isTypeReferenceNode(d.type) ? d.type.typeName : void 0;
1306
+ if (v !== void 0 && o.isIdentifier(v)) {
1307
+ const P = r.getSymbolAtLocation(v);
1308
+ if (P !== void 0) {
1309
+ const h = r.getAliasedSymbol(P);
1310
+ return Je(
1311
+ h,
1312
+ t,
1313
+ n,
1314
+ i,
1315
+ i + h.escapedName.length
1316
+ );
1317
+ }
1318
+ }
1319
+ } else if (
1320
+ // Only supporting the syntax after
1321
+ // https://devtopia.esri.com/WebGIS/arcgis-web-components/pull/10794
1322
+ // As this interface is not likely to be used directly.
1323
+ l.endsWith("ElementEventMap") && o.isTypeAliasDeclaration(d) && o.isIndexedAccessTypeNode(d.type) && o.isTypeReferenceNode(d.type.objectType) && o.isIdentifier(d.type.objectType.typeName) && o.isLiteralTypeNode(d.type.indexType) && o.isStringLiteral(d.type.indexType.literal) && d.type.indexType.literal.text === "@eventTypes"
1324
+ ) {
1325
+ const v = r.getSymbolAtLocation(d.type.objectType.typeName);
1326
+ if (v !== void 0) {
1327
+ const P = r.getAliasedSymbol(v), h = Je(
1328
+ P,
1329
+ t,
1330
+ n,
1331
+ i,
1332
+ i + P.escapedName.length
1333
+ );
1334
+ return be(t, c), be(t, `${h.name}["@eventTypes"]`), h;
1335
+ }
1336
+ }
1337
+ }
1338
+ if (f !== void 0 || u !== void 0) {
1339
+ const v = l ?? ((u ?? f).split("/").pop()?.replaceAll(Vn, "") || "type");
1340
+ for (let P = 1; ; P += 1) {
1341
+ const h = P === 1 ? v : `${v}${P}`;
1342
+ let L = n.functionLikeTypeParameters?.has(h) === !0 || n.objectLikeTypeParameters?.has(h) === !0 || n.localDeclarations.has(h);
1343
+ if (L)
1344
+ continue;
1345
+ const b = n.moduleContext.importsMap[h], y = b !== void 0 && (f === void 0 ? b.modulePath === u : b.rawSpecifier === f + (u === void 0 ? "" : `/${u}`));
1346
+ if (y ? b.wasUsed = !0 : L = n.moduleContext.importsMap[h] !== void 0, L)
1347
+ continue;
1348
+ const k = h !== c;
1349
+ k && (be(t, h), a = i + h.length);
1350
+ const D = $n(s), I = D === "named";
1351
+ I || (S = D), f === void 0 && !n.config.strict && je(
1352
+ u,
1353
+ m.fileName.slice(n.basePath.length),
1354
+ S,
1355
+ n
1356
+ ), y || (n.moduleContext.importsMap[h] = {
1357
+ type: D,
1358
+ modulePath: f === void 0 ? u : void 0,
1359
+ rawSpecifier: f === void 0 ? "" : f + (u === void 0 ? "" : `/${u}`),
1360
+ replacementName: void 0,
1361
+ actualName: I && k ? l : void 0,
1362
+ wasUsed: !0
1363
+ });
1364
+ break;
1365
+ }
1366
+ } else if (n.localPrivateDeclarations?.has(c) === !0)
1367
+ n.localPrivateDeclarations.set(
1368
+ c,
1369
+ Math.abs(n.localPrivateDeclarations.get(c))
1370
+ );
1371
+ else {
1372
+ if (d.kind === o.SyntaxKind.TypeParameter)
1373
+ return {
1374
+ name: c,
1375
+ module: void 0,
1376
+ package: void 0,
1377
+ viewUrl: void 0,
1378
+ start: i,
1379
+ end: a
1380
+ };
1381
+ n.localDeclarations.has(c) || n.emitError(
1382
+ `@public declaration referenced non-public ${ie("red", c)}. Either mark it @public or refactor out the reference. Note that Enums are not supported in public docs per https://devtopia.esri.com/WebGIS/arcgis-js-api/discussions/73576.`,
1383
+ {
1384
+ file: n.file,
1385
+ node: void 0
1386
+ }
1387
+ );
1388
+ }
1389
+ const C = S === "default" || S === "*" ? void 0 : l;
1390
+ return f ? {
1391
+ name: S,
1392
+ module: u || void 0,
1393
+ package: f,
1394
+ viewUrl: fi(f, u ?? "", C, n),
1395
+ start: i,
1396
+ end: a
1397
+ } : {
1398
+ name: S,
1399
+ module: u,
1400
+ package: void 0,
1401
+ viewUrl: Ue(u ?? n.apiModule.path, C, void 0, n),
1402
+ start: i,
1403
+ end: a
1404
+ };
1405
+ }
1406
+ const Vn = /[^a-zA-Z0-9$_]/gu;
1407
+ function Wn(e, t, n) {
1408
+ const i = e.lastIndexOf(rt);
1409
+ if (i !== -1) {
1410
+ const c = e.slice(i + rt.length), p = yi(c), d = e.slice(
1411
+ 0,
1412
+ i + rt.length + p.packageName.length
1413
+ ), m = ct(d);
1414
+ return _t(p), p.modulePath = Bt(p.modulePath, m, t, n), p;
1415
+ }
1416
+ let r = e.indexOf(_n), s;
1417
+ if (r === -1 && (r = e.indexOf(Wt), r !== -1 && (s = r + Wt.length)), r !== -1) {
1418
+ const c = e.slice(0, r), p = ct(c), d = p.name, m = e.slice(s ?? r + 1), f = Bt(m, p, t, n), u = { packageName: d, modulePath: f };
1419
+ return _t(u), u;
1420
+ }
1421
+ if (e.startsWith(t.basePath)) {
1422
+ const c = e.slice(t.basePath.length), p = Ve(Z(c), t);
1423
+ return p === t.apiModule.path ? {
1424
+ packageName: void 0,
1425
+ modulePath: void 0
1426
+ } : {
1427
+ packageName: void 0,
1428
+ modulePath: p
1429
+ };
1430
+ } else
1431
+ return t.emitError(
1432
+ `Unable to determine if the referenced type ${n} from ${e} is a local type, or external library usage (it is outside of ${t.basePath}, yet not in node_modules)`,
1433
+ {
1434
+ file: t.file,
1435
+ node: void 0
1436
+ }
1437
+ ), {
1438
+ packageName: le,
1439
+ modulePath: void 0
1440
+ };
1441
+ }
1442
+ const rt = "/node_modules/", _n = "/dist/", Wt = "/output/npm/esm/";
1443
+ function yi(e) {
1444
+ const t = dt(e), n = e.length === t.length ? void 0 : e.slice(t.length + 1);
1445
+ return { packageName: t, modulePath: n };
1446
+ }
1447
+ function _t(e) {
1448
+ e.packageName?.startsWith("@types/") === !0 && (e.packageName = e.packageName.slice(7));
1449
+ }
1450
+ function Bt(e, t, n, i) {
1451
+ const a = Z(e);
1452
+ if (t.exports === void 0)
1453
+ return `${a}.js`;
1454
+ const r = `./${a}`, s = "@arcgis/lumina" in (t.dependencies ?? {}) && r.endsWith("/customElement") ? `${r.slice(0, -13)}index` : r;
1455
+ let l = yt(t.exports, ".", s);
1456
+ if (l === void 0 && (l = Bn[t.name]?.(a)), l !== void 0)
1457
+ return l === "." ? void 0 : l.slice(2);
1458
+ const c = n.moduleContext.importsMap[i];
1459
+ if (c !== void 0 && c.modulePath === void 0) {
1460
+ const p = yi(c.rawSpecifier);
1461
+ if (p.packageName === t.name)
1462
+ return p.modulePath;
1463
+ }
1464
+ return n.emitError(
1465
+ `Need explicit type annotation for where the ${ie("red", i)} from ${t.name}/${e} is being used implicitly. Reason: Unable to find an "exports" compatible import path to insert the import of this type in the emitted .d.ts.`,
1466
+ { file: n.file, node: void 0 }
1467
+ ), e;
1468
+ }
1469
+ const Bn = {
1470
+ // REFACTOR: dissolve barrel files (match @arcgis/core). then this won't be needed
1471
+ "@arcgis/lumina"(e) {
1472
+ return e.startsWith("dist/globalTypes/") || e.startsWith("dist/typings/") ? "./globalTypes" : e.startsWith("dist/controllers/accessor/") ? "./controllers/accessor" : e.startsWith("dist/controllers/") ? "./controllers" : e.startsWith("dist/jsx/") || !e.slice(5).includes("/") ? "." : void 0;
1473
+ }
1474
+ };
1475
+ function yt(e, t, n) {
1476
+ if (typeof e == "string")
1477
+ return Kn(t, e, n);
1478
+ if (Array.isArray(e))
1479
+ for (let i = 0; i < e.length; ++i) {
1480
+ const a = yt(e[i], t, n);
1481
+ if (a !== void 0)
1482
+ return a;
1483
+ }
1484
+ if (typeof e == "object" && e !== null)
1485
+ for (const [i, a] of Object.entries(e)) {
1486
+ const s = i.startsWith(".") ? i : t, l = yt(a, s, n);
1487
+ if (l !== void 0)
1488
+ return l;
1489
+ }
1490
+ }
1491
+ function Kn(e, t, n) {
1492
+ const i = Z(t);
1493
+ if (i === n)
1494
+ return e;
1495
+ const a = i.indexOf("*");
1496
+ if (a === -1)
1497
+ return;
1498
+ const r = i.slice(0, a);
1499
+ if (!n.startsWith(r))
1500
+ return;
1501
+ const s = i.slice(a + 1), l = n.slice(r.length), c = t.slice(i.length);
1502
+ if (s === "") {
1503
+ const m = Z(e), f = e.slice(m.length), u = m === e && c === "" ? ".js" : f;
1504
+ return m.slice(0, -1) + l + u;
1505
+ }
1506
+ if (!l.endsWith(s))
1507
+ return;
1508
+ const p = l.slice(0, -s.length), d = e.indexOf("*");
1509
+ if (d !== -1)
1510
+ return e.slice(0, d) + p + e.slice(d + 1);
1511
+ }
1512
+ function Hn(e) {
1513
+ const t = e.getDeclarations()?.[0];
1514
+ if (t !== void 0 && ((o.isClassDeclaration(t) || o.isFunctionDeclaration(t) || o.isInterfaceDeclaration(t) || o.isTypeAliasDeclaration(t) || o.isEnumDeclaration(t)) && t.name !== void 0 && o.isIdentifier(t.name) || o.isVariableDeclaration(t) && o.isIdentifier(t.name) || o.isBindingElement(t) && o.isIdentifier(t.name)))
1515
+ return t.name.escapedText;
1516
+ const n = e.escapedName;
1517
+ return n === "default" || n.startsWith("__") ? void 0 : n;
1518
+ }
1519
+ function $n(e) {
1520
+ return e.flags & o.SymbolFlags.ValueModule ? "*" : zn(e) ? "default" : "named";
1521
+ }
1522
+ function zn(e) {
1523
+ const t = e.escapedName;
1524
+ if (t === "default" || // CommonJS "export ="
1525
+ t === "export=")
1526
+ return !0;
1527
+ const n = e.getDeclarations();
1528
+ if (n !== void 0)
1529
+ for (let i = 0; i < n.length; ++i) {
1530
+ const a = n[i];
1531
+ if (o.canHaveModifiers(a) && o.getModifiers(a)?.some((r) => r.kind === o.SyntaxKind.DefaultKeyword))
1532
+ return !0;
1533
+ }
1534
+ return !1;
1535
+ }
1536
+ function Et(e, t, n, i) {
1537
+ const a = { file: n, node: e };
1538
+ return e.getText(n).includes("* @public") && i.emitError(
1539
+ "@public is not permitted in nested types. See options in documentation: https://webgis.esri.com/references/api-extractor/advanced-patterns#describing-nested-object-types and https://webgis.esri.com/references/api-extractor/api-node-kinds#variables",
1540
+ a
1541
+ ), _(e, t, a, i);
1542
+ }
1543
+ const O = {
1544
+ false: 0,
1545
+ /**
1546
+ * True for literal types. False for object types
1547
+ */
1548
+ shallow: 2,
1549
+ true: 1
1550
+ };
1551
+ function _(e, t, n, i) {
1552
+ if (e.kind === o.SyntaxKind.TrueKeyword || e.kind === o.SyntaxKind.FalseKeyword)
1553
+ return t === O.false ? o.factory.createKeywordTypeNode(o.SyntaxKind.BooleanKeyword) : o.factory.createLiteralTypeNode(e);
1554
+ if (e.kind === o.SyntaxKind.NullKeyword)
1555
+ return o.factory.createLiteralTypeNode(e);
1556
+ if (e.kind === o.SyntaxKind.UndefinedKeyword || o.isVoidExpression(e))
1557
+ return o.factory.createKeywordTypeNode(o.SyntaxKind.UndefinedKeyword);
1558
+ if (o.isStringLiteral(e) || o.isNoSubstitutionTemplateLiteral(e))
1559
+ return t === O.false ? o.factory.createKeywordTypeNode(o.SyntaxKind.StringKeyword) : o.factory.createLiteralTypeNode(e);
1560
+ if (o.isTemplateExpression(e))
1561
+ return ge(n, t, i) ?? o.factory.createKeywordTypeNode(o.SyntaxKind.StringKeyword);
1562
+ if (o.isNumericLiteral(e))
1563
+ return t === O.false ? o.factory.createKeywordTypeNode(o.SyntaxKind.NumberKeyword) : o.factory.createLiteralTypeNode(e);
1564
+ if (o.isBigIntLiteral(e))
1565
+ return t === O.false ? o.factory.createKeywordTypeNode(o.SyntaxKind.BigIntKeyword) : o.factory.createLiteralTypeNode(e);
1566
+ if (o.isAsExpression(e) || o.isTypeAssertionExpression(e))
1567
+ return o.isTypeReferenceNode(e.type) && o.isIdentifier(e.type.typeName) && e.type.typeName.escapedText === "const" ? _(e.expression, O.true, n, i) : e.type;
1568
+ if (o.isSatisfiesExpression(e))
1569
+ return t === O.false ? e.type : _(e.expression, t, n, i);
1570
+ if (o.isRegularExpressionLiteral(e))
1571
+ return o.factory.createTypeReferenceNode(o.factory.createIdentifier("RegExp"));
1572
+ if (o.isArrayLiteralExpression(e)) {
1573
+ if (i.isInLuminaMinimalExtraction)
1574
+ return we;
1575
+ const a = t === O.shallow ? O.false : t, r = new Array(e.elements.length);
1576
+ for (let s = 0; s < r.length; ++s) {
1577
+ const l = e.elements[s];
1578
+ r[s] = _(l, a, { ...n, node: l }, i);
1579
+ }
1580
+ return a ? o.factory.createTypeOperatorNode(o.SyntaxKind.ReadonlyKeyword, o.factory.createTupleTypeNode(r)) : o.factory.createArrayTypeNode(
1581
+ r.length === 1 ? r[0] : o.factory.createUnionTypeNode(r)
1582
+ );
1583
+ }
1584
+ if (o.isObjectLiteralExpression(e)) {
1585
+ if (i.isInLuminaMinimalExtraction)
1586
+ return we;
1587
+ const a = t === O.shallow ? O.false : t, r = new Array(e.properties.length);
1588
+ for (let s = 0; s < r.length; ++s) {
1589
+ const l = e.properties[s];
1590
+ r[s] = jn(l, a, { ...n, node: l }, i);
1591
+ }
1592
+ return o.factory.createTypeLiteralNode(r);
1593
+ }
1594
+ if (o.isPrefixUnaryExpression(e)) {
1595
+ if (e.operator !== o.SyntaxKind.MinusToken)
1596
+ return Pe(n, Q, t, i);
1597
+ if (t === O.false)
1598
+ return o.factory.createKeywordTypeNode(o.SyntaxKind.NumberKeyword);
1599
+ {
1600
+ const a = _(e.operand, t, n, i);
1601
+ return o.isLiteralTypeNode(a) ? o.factory.createLiteralTypeNode(
1602
+ o.factory.createPrefixUnaryExpression(o.SyntaxKind.MinusToken, a.literal)
1603
+ ) : Pe(n, Q, t, i);
1604
+ }
1605
+ }
1606
+ if (o.isParenthesizedExpression(e))
1607
+ return _(e.expression, t, n, i);
1608
+ if (o.isNewExpression(e)) {
1609
+ if (i.isInLuminaMinimalExtraction)
1610
+ return we;
1611
+ if (o.isIdentifier(e.expression)) {
1612
+ const r = e.expression.escapedText;
1613
+ let s = e.typeArguments, l = !1;
1614
+ if ((r === "Set" || r === "WeakSet") && s === void 0)
1615
+ if (e.arguments?.[0] !== void 0) {
1616
+ const c = _(
1617
+ e.arguments[0],
1618
+ t,
1619
+ { ...n, node: e.arguments[0] },
1620
+ i
1621
+ );
1622
+ c.kind === o.SyntaxKind.ArrayType && (s = [c.elementType]);
1623
+ } else
1624
+ l = !0;
1625
+ else
1626
+ l ||= (r === "Map" || r === "WeakMap") && s?.length !== 2;
1627
+ if (!l)
1628
+ return o.factory.createTypeReferenceNode(e.expression, s);
1629
+ }
1630
+ const a = _(e.expression, t, n, i);
1631
+ if (o.isTypeReferenceNode(a))
1632
+ return a;
1633
+ }
1634
+ if (o.isConditionalExpression(e))
1635
+ return o.factory.createUnionTypeNode([
1636
+ _(e.whenTrue, t, { ...n, node: e.whenTrue }, i),
1637
+ _(e.whenFalse, t, { ...n, node: e.whenFalse }, i)
1638
+ ]);
1639
+ if (o.isIdentifier(e))
1640
+ return ge(n, t, i) ?? o.factory.createTypeQueryNode(e);
1641
+ if (o.isPropertyAccessExpression(e) && o.isIdentifier(e.name)) {
1642
+ const a = ge(n, t, i);
1643
+ if (a !== void 0)
1644
+ return a;
1645
+ const r = _(e.expression, t, n, i);
1646
+ return o.isTypeQueryNode(r) ? o.factory.createTypeQueryNode(o.factory.createQualifiedName(r.exprName, e.name)) : r === vt ? vt : Pe(n, Q, t, i);
1647
+ }
1648
+ if (o.isCallExpression(e)) {
1649
+ const a = e.expression, r = e.arguments.at(0);
1650
+ if (o.isPropertyAccessExpression(a) && o.isIdentifier(a.expression) && o.isIdentifier(a.name)) {
1651
+ if (a.expression.escapedText === "Collection" && a.name.escapedText === "ofType" && r !== void 0 && o.isIdentifier(r))
1652
+ return o.factory.createTypeReferenceNode(a.expression, [
1653
+ o.factory.createTypeReferenceNode(r)
1654
+ ]);
1655
+ if (a.expression.escapedText === "Symbol" && a.name.escapedText === "for")
1656
+ return Ht(t);
1657
+ } else if (o.isIdentifier(a) && a.escapedText === "Symbol")
1658
+ return Ht(t);
1659
+ const s = ge(n, t, i);
1660
+ if (s !== void 0)
1661
+ return s;
1662
+ const l = _(a, t, n, i);
1663
+ return o.isTypeQueryNode(l) ? o.factory.createTypeReferenceNode(o.factory.createIdentifier("ReturnType"), [
1664
+ o.factory.createTypeQueryNode(l.exprName, e.typeArguments)
1665
+ ]) : Pe(n, Q, t, i);
1666
+ }
1667
+ if (o.isArrowFunction(e)) {
1668
+ if (i.isInLuminaMinimalExtraction)
1669
+ return we;
1670
+ const a = t === O.shallow ? O.false : t;
1671
+ return o.factory.createFunctionTypeNode(
1672
+ e.typeParameters,
1673
+ St(e.parameters, a, n, i),
1674
+ e.type ?? (o.isBlock(e.body) ? qe(e, i) ?? X(n, Q, i) : _(e.body, a, n, i))
1675
+ );
1676
+ }
1677
+ return Pe(n, Q, t, i);
1678
+ }
1679
+ function jn(e, t, n, i) {
1680
+ const a = t === O.false ? void 0 : Zn;
1681
+ return o.isPropertyAssignment(e) ? o.factory.createPropertySignature(
1682
+ a,
1683
+ e.name,
1684
+ void 0,
1685
+ _(e.initializer, t, { ...n, node: e.initializer }, i)
1686
+ ) : o.isShorthandPropertyAssignment(e) ? o.factory.createPropertySignature(
1687
+ a,
1688
+ e.name,
1689
+ void 0,
1690
+ ge(n, t, i) ?? o.factory.createTypeQueryNode(o.factory.createIdentifier(e.name.escapedText))
1691
+ ) : o.isSpreadAssignment(e) ? o.factory.createPropertySignature(
1692
+ a,
1693
+ "_spread",
1694
+ void 0,
1695
+ X(n, Q, i)
1696
+ ) : o.isMethodDeclaration(e) ? o.factory.createPropertySignature(
1697
+ a,
1698
+ e.name,
1699
+ void 0,
1700
+ o.factory.createFunctionTypeNode(
1701
+ e.typeParameters,
1702
+ St(e.parameters, t, n, i),
1703
+ e.type ?? qe(e, i) ?? X(n, Q, i)
1704
+ )
1705
+ ) : o.isGetAccessorDeclaration(e) ? o.factory.createGetAccessorDeclaration(
1706
+ void 0,
1707
+ e.name,
1708
+ // Should always be empty
1709
+ e.parameters,
1710
+ e.type ?? qe(e, i) ?? X(n, Q, i),
1711
+ void 0
1712
+ ) : o.factory.createSetAccessorDeclaration(
1713
+ void 0,
1714
+ e.name,
1715
+ St(e.parameters, t, n, i),
1716
+ void 0
1717
+ );
1718
+ }
1719
+ function Pe(e, t, n, i) {
1720
+ return ge(e, n, i) ?? X(e, t, i);
1721
+ }
1722
+ function ge(e, t, n) {
1723
+ const i = n.program?.getTypeChecker?.();
1724
+ if (i !== void 0 && e.node !== void 0) {
1725
+ let a;
1726
+ const r = t === O.false;
1727
+ if (r && e.node.kind === o.SyntaxKind.Identifier) {
1728
+ const l = i.getSymbolAtLocation(e.node);
1729
+ a = l === void 0 ? void 0 : i.getTypeOfSymbol(l);
1730
+ }
1731
+ a ??= i.getTypeAtLocation(e.node);
1732
+ const s = r ? on(i, a) : a;
1733
+ return it(i, s);
1734
+ }
1735
+ }
1736
+ function it(e, t) {
1737
+ const n = t.flags & o.TypeFlags.Union ? t.types.every(Kt) : Kt(t);
1738
+ return e.typeToTypeNode(
1739
+ t,
1740
+ void 0,
1741
+ Qn & (n ? ~o.TypeFormatFlags.MultilineObjectLiterals : -1)
1742
+ );
1743
+ }
1744
+ const Jn = o.TypeFormatFlags.NoTruncation | o.TypeFormatFlags.WriteArrayAsGenericType | o.TypeFormatFlags.SuppressAnyReturnType | o.TypeFormatFlags.MultilineObjectLiterals, qn = Jn & o.TypeFormatFlags.NodeBuilderFlagsMask, Qn = qn | o.NodeBuilderFlags.IgnoreErrors | o.NodeBuilderFlags.NoTruncation, Kt = (e) => e.flags & o.TypeFlags.Object ? e.getProperties().length === 1 : !!(e.flags & o.TypeFlags.PossiblyFalsy);
1745
+ function qe(e, t) {
1746
+ const n = t.program?.getTypeChecker?.();
1747
+ if (n === void 0)
1748
+ return;
1749
+ const i = n.getSignatureFromDeclaration(e);
1750
+ if (i === void 0)
1751
+ return;
1752
+ const a = n.getReturnTypeOfSignature(i);
1753
+ return it(n, a);
1754
+ }
1755
+ function Xn(e, t) {
1756
+ const n = t.program?.getTypeChecker?.();
1757
+ if (n === void 0)
1758
+ return;
1759
+ const i = n.getTypeAtLocation(e);
1760
+ return it(n, i);
1761
+ }
1762
+ function X(e, t, n) {
1763
+ return n.isInLuminaMinimalExtraction || n.emitError(t, e), vt;
1764
+ }
1765
+ const Q = "Failed to infer the type of the expression. Please provide an explicit type annotation or simplify the expression.", vt = o.factory.createKeywordTypeNode(o.SyntaxKind.AnyKeyword), we = o.factory.createKeywordTypeNode(o.SyntaxKind.UnknownKeyword), We = o.factory.createKeywordTypeNode(o.SyntaxKind.VoidKeyword), Yn = o.factory.createToken(o.SyntaxKind.ReadonlyKeyword), Zn = [Yn];
1766
+ function St(e, t, n, i) {
1767
+ const a = new Array(e.length);
1768
+ for (let r = 0; r < a.length; ++r) {
1769
+ const s = e[r];
1770
+ a[r] = s.initializer === void 0 && o.isIdentifier(s.name) ? s : o.factory.createParameterDeclaration(
1771
+ void 0,
1772
+ s.dotDotDotToken,
1773
+ o.isIdentifier(s.name) ? s.name : o.factory.createIdentifier(`parameter${r}`),
1774
+ s.questionToken,
1775
+ s.type ?? (s.initializer === void 0 ? X({ ...n, node: s }, Q, i) : _(
1776
+ s.initializer,
1777
+ t,
1778
+ {
1779
+ ...n,
1780
+ node: s.initializer
1781
+ },
1782
+ i
1783
+ ))
1784
+ );
1785
+ }
1786
+ return a;
1787
+ }
1788
+ function Ht(e) {
1789
+ return e === O.false ? o.factory.createKeywordTypeNode(o.SyntaxKind.SymbolKeyword) : o.factory.createTypeOperatorNode(
1790
+ o.SyntaxKind.UniqueKeyword,
1791
+ o.factory.createKeywordTypeNode(o.SyntaxKind.SymbolKeyword)
1792
+ );
1793
+ }
1794
+ function eo(e, t) {
1795
+ const n = t.program?.getTypeChecker?.();
1796
+ if (n === void 0 || !to(e.exprName, t))
1797
+ return;
1798
+ const i = n.getTypeAtLocation(e.exprName);
1799
+ return it(n, i);
1800
+ }
1801
+ function to(e, t) {
1802
+ return e.kind === o.SyntaxKind.QualifiedName ? io(e.left) : t.moduleContext.importsMap[e.escapedText]?.rawSpecifier.endsWith(".json") === !0;
1803
+ }
1804
+ function io(e) {
1805
+ for (; e !== void 0; )
1806
+ if (e.kind === o.SyntaxKind.QualifiedName)
1807
+ e = e.left;
1808
+ else if (e.kind === o.SyntaxKind.Identifier)
1809
+ return e.escapedText === "this";
1810
+ return !1;
1811
+ }
1812
+ function j(e, t) {
1813
+ if (M = t, _e.clear(), z = [], Qe.clear(), e.pos !== -1 && e.getText(M.file).includes("* @public") && M.emitError(
1814
+ "@public JSDoc tag may only appear in interfaces, top-level of type alias, or top-level intersection inside a type-alias. @public JSDoc tag inside inline object literal types or deeper aliases is not supported as such are tricky to represent in the docs UI. Refactor out the type into a separate top-level interface/type-alias. Documentation: https://webgis.esri.com/references/api-extractor/advanced-patterns#describing-nested-object-types",
1815
+ { file: M.file, node: e }
1816
+ ), e.kind === o.SyntaxKind.Identifier || e.kind === o.SyntaxKind.QualifiedName)
1817
+ Be(e);
1818
+ else if (o.isFunctionTypeNode(e) || o.isConstructorTypeNode(e)) {
1819
+ const i = e.typeParameters;
1820
+ if (i !== void 0)
1821
+ for (let a = 0; a < i.length; ++a) {
1822
+ const r = i[a];
1823
+ Qe.add(r.name.escapedText);
1824
+ }
1825
+ }
1826
+ return no.writeNode(o.EmitHint.Unspecified, e, void 0, _e), {
1827
+ text: _e.getText(),
1828
+ references: z.length > 0 ? z : void 0,
1829
+ values: void 0,
1830
+ source: void 0
1831
+ };
1832
+ }
1833
+ let M;
1834
+ const pe = (e, t, n) => {
1835
+ switch (t.kind) {
1836
+ case o.SyntaxKind.TypeReference:
1837
+ const i = t, a = i.typeName;
1838
+ switch (a.escapedText) {
1839
+ case "nil":
1840
+ return pe(e, oo, n);
1841
+ // Used in public typings in 88 files
1842
+ // REFACTOR: consider refactoring out Const usages in public API to
1843
+ // reduce divergence
1844
+ case "Const":
1845
+ return pe(e, i.typeArguments[0], n);
1846
+ // In component public types, Lumina's "component" and "el" have the same type
1847
+ case "ToElement":
1848
+ if (M.isComponentProject)
1849
+ return pe(e, i.typeArguments[0], n);
1850
+ break;
1851
+ /**
1852
+ * @see https://webgis.esri.com/references/api-extractor/advanced-patterns#publicprivate-type-divergence
1853
+ */
1854
+ case "PublicApiNarrowType":
1855
+ case "PublicApiRelaxType":
1856
+ return pe(e, i.typeArguments[1], n);
1857
+ }
1858
+ Be(a);
1859
+ break;
1860
+ case o.SyntaxKind.TypeQuery:
1861
+ const s = eo(t, M);
1862
+ if (s !== void 0)
1863
+ return pe(e, s, n);
1864
+ Be(t.exprName, ao);
1865
+ break;
1866
+ case o.SyntaxKind.PropertyAccessExpression:
1867
+ Be(t);
1868
+ break;
1869
+ case o.SyntaxKind.InferType:
1870
+ case o.SyntaxKind.MappedType:
1871
+ const c = t.typeParameter;
1872
+ Qe.add(c.name.escapedText);
1873
+ break;
1874
+ case o.SyntaxKind.TypeLiteral:
1875
+ const p = t;
1876
+ p.members.length === 1 && ("emitNode" in p && (p.emitNode ??= {}), o.setEmitFlags(p, o.EmitFlags.SingleLine));
1877
+ break;
1878
+ case o.SyntaxKind.IndexedAccessType:
1879
+ const d = t;
1880
+ if (
1881
+ // In public types, Lumina's "component" and "el" have the same type
1882
+ // Thus print ArcgisHome["el"] as just ArcgisHome
1883
+ M.isComponentProject && d.indexType.kind === o.SyntaxKind.LiteralType && d.indexType.literal.text === "el"
1884
+ )
1885
+ return pe(e, d.objectType, n);
1886
+ break;
1887
+ case o.SyntaxKind.ImportType:
1888
+ M.emitError(
1889
+ `\`import()\` syntax inside types is not supported - refactor to import the type at the top of the file${t.pos === -1 ? ". The import() syntax might also be inserted by TypeScript if you are referencing a type that is not otherwise accessible - refactor such cases by adding explicit type annotation." : ""}`,
1890
+ { file: M.file, node: t }
1891
+ );
1892
+ break;
1893
+ }
1894
+ n(e, t), Xe !== void 0 && (vi(), Xe = void 0);
1895
+ }, no = rn(
1896
+ {},
1897
+ {
1898
+ onEmitNode: pe
1899
+ }
1900
+ ), oo = o.factory.createIdentifier("null | undefined"), _e = an.createTextWriter(`
1901
+ `), ao = 7, Qe = /* @__PURE__ */ new Set();
1902
+ let z;
1903
+ function Be(e, t = 0) {
1904
+ const n = [];
1905
+ let i = e;
1906
+ for (; i !== void 0; )
1907
+ if (i.kind === o.SyntaxKind.Identifier) {
1908
+ n.push(i);
1909
+ break;
1910
+ } else if (i.kind === o.SyntaxKind.QualifiedName)
1911
+ n.push(i.right), i = i.left;
1912
+ else if (i.kind === o.SyntaxKind.PropertyAccessExpression) {
1913
+ const S = i.name;
1914
+ n.push(S), i = i.expression;
1915
+ }
1916
+ const a = n.at(-1), r = a.escapedText, s = _e.getTextPos() + t;
1917
+ let l = s + r.length;
1918
+ const c = a;
1919
+ if (c.pos === -1 && c.symbol !== void 0) {
1920
+ z.push(
1921
+ Je(c.symbol, c, M, s, l)
1922
+ );
1923
+ return;
1924
+ }
1925
+ if (M.functionLikeTypeParameters?.has(r) === !0) {
1926
+ z.push({
1927
+ name: r,
1928
+ module: void 0,
1929
+ package: void 0,
1930
+ viewUrl: void 0,
1931
+ start: s,
1932
+ end: l
1933
+ });
1934
+ return;
1935
+ }
1936
+ if (M.objectLikeTypeParameters?.has(r) === !0) {
1937
+ z.push({
1938
+ name: r,
1939
+ module: void 0,
1940
+ package: void 0,
1941
+ viewUrl: void 0,
1942
+ start: s,
1943
+ end: l
1944
+ });
1945
+ return;
1946
+ }
1947
+ if (M.localDeclarations.has(r)) {
1948
+ z.push({
1949
+ name: r,
1950
+ module: void 0,
1951
+ package: void 0,
1952
+ viewUrl: Ue(
1953
+ M.apiModule.path,
1954
+ r === M.exportDefaultName ? void 0 : r,
1955
+ void 0,
1956
+ M
1957
+ ),
1958
+ start: s,
1959
+ end: l
1960
+ });
1961
+ return;
1962
+ }
1963
+ if (M.localPrivateDeclarations?.has(r) === !0) {
1964
+ M.localPrivateDeclarations.set(r, Math.abs(M.localPrivateDeclarations.get(r))), z.push({
1965
+ name: r,
1966
+ module: void 0,
1967
+ package: void 0,
1968
+ viewUrl: Ue(
1969
+ M.apiModule.path,
1970
+ r === M.exportDefaultName ? void 0 : r,
1971
+ void 0,
1972
+ M
1973
+ ),
1974
+ start: s,
1975
+ end: l
1976
+ });
1977
+ return;
1978
+ }
1979
+ const d = M.moduleContext.importsMap[r];
1980
+ if (d !== void 0) {
1981
+ d.wasUsed = !0;
1982
+ const S = d.type === "named";
1983
+ d.replacementName !== void 0 && (be(a, d.replacementName), l = s + d.replacementName.length), d.replacementName !== void 0 && (M.functionLikeTypeParameters?.has(d.replacementName) === !0 || M.objectLikeTypeParameters?.has(d.replacementName) === !0) && M.emitError(
1984
+ `Can't do a type replacement of ${ie("green", r)} to ${ie("red", d.replacementName)} as the latter name conflicts with a type parameter name in the current scope. Rename the type parameter or refactor out the type replacement.`,
1985
+ { file: M.file, node: e }
1986
+ );
1987
+ const C = S ? d.actualName ?? d.replacementName ?? r : void 0;
1988
+ if (d.modulePath === void 0) {
1989
+ if (M.config.strict) {
1990
+ const h = dt(d.rawSpecifier);
1991
+ M.runtimeDependencyNames.has(h) || M.emitError(
1992
+ h === "esri" ? `Found unexpected absolute path import of ${ie("red", C ?? d.type)} from ${ie("red", d.rawSpecifier)}. Did you mean to use a relative import instead?` : `Type ${ie("red", C ?? d.type)} imported from ${ie("red", h)} cannot be referenced in public types as this dependency is not declared as a "dependency" in the package.json`,
1993
+ { file: M.file, node: e }
1994
+ );
1995
+ }
1996
+ } else M.config.strict || je(
1997
+ d.modulePath,
1998
+ d.rawSpecifier === "" ? d.modulePath : pt(
1999
+ M.apiModule.sourcePath.slice(M.config.context.basePath.length),
2000
+ d.rawSpecifier
2001
+ ),
2002
+ S ? C : d.type,
2003
+ M
2004
+ );
2005
+ let v, P = d.modulePath;
2006
+ P === void 0 && (v = dt(d.rawSpecifier), P = d.rawSpecifier.length === v.length ? void 0 : d.rawSpecifier.slice(v.length + 1)), z.push({
2007
+ name: C ?? d.type,
2008
+ module: P,
2009
+ package: v,
2010
+ viewUrl: d.modulePath === void 0 ? fi(v, P, S ? r : d.type, M) : Ue(d.modulePath, C, void 0, M),
2011
+ start: s,
2012
+ end: l
2013
+ });
2014
+ return;
2015
+ }
2016
+ const m = ut[r];
2017
+ if (m !== void 0) {
2018
+ z.push({
2019
+ name: r,
2020
+ module: void 0,
2021
+ package: le,
2022
+ viewUrl: m[0]?.startsWith("https") === !1 ? `${ft}${m[0]}` : m[0] ?? void 0,
2023
+ start: s,
2024
+ end: l
2025
+ });
2026
+ let S = m;
2027
+ if (S.length > 1) {
2028
+ let C = n.length - 2, v = l + 1;
2029
+ for (; S[1] !== void 0 && C >= 0; ) {
2030
+ const P = n[C--];
2031
+ if (S = S[1][P.escapedText], S === void 0)
2032
+ M.emitError("Failed to resolve the definition of the type reference", {
2033
+ file: M.file,
2034
+ node: e
2035
+ });
2036
+ else {
2037
+ const h = v + P.escapedText.length;
2038
+ z.push({
2039
+ name: P.escapedText,
2040
+ module: void 0,
2041
+ package: le,
2042
+ viewUrl: S[0]?.startsWith("https") === !1 ? `${ft}${S[0]}` : S[0] ?? void 0,
2043
+ start: v,
2044
+ end: h
2045
+ }), v = h + 1;
2046
+ }
2047
+ }
2048
+ }
2049
+ return;
2050
+ }
2051
+ if (Qe.has(r))
2052
+ return;
2053
+ const u = M.program?.getTypeChecker?.()?.getSymbolAtLocation(a);
2054
+ if (u !== void 0) {
2055
+ z.push(Je(u, a, M, s, l));
2056
+ return;
2057
+ }
2058
+ M.emitError(
2059
+ "Failed to resolve the definition of the type reference. Ensure it has @public or refactor out its usage from the public API type",
2060
+ { file: M.file, node: e }
2061
+ );
2062
+ }
2063
+ function be(e, t) {
2064
+ const n = e.escapedText;
2065
+ Xe = e, gt = t, vi(), gt = n;
2066
+ }
2067
+ let Xe, gt;
2068
+ function vi() {
2069
+ Xe.escapedText = gt;
2070
+ }
2071
+ function nt(e, t, n) {
2072
+ if (e === void 0 || n.isInLuminaMinimalExtraction) {
2073
+ t ? n.objectLikeTypeParameters = void 0 : n.functionLikeTypeParameters = void 0;
2074
+ return;
2075
+ }
2076
+ const i = new Array(e.length), a = t ? ro : so;
2077
+ a.clear();
2078
+ for (let r = 0; r < e.length; ++r) {
2079
+ const s = e[r], l = s.name.escapedText;
2080
+ a.add(l);
2081
+ const c = {
2082
+ name: l,
2083
+ constraint: void 0,
2084
+ default: void 0,
2085
+ const: void 0,
2086
+ in: void 0,
2087
+ out: void 0
2088
+ };
2089
+ if (s.modifiers !== void 0)
2090
+ for (let p = 0; p < s.modifiers.length; ++p) {
2091
+ const d = s.modifiers[p];
2092
+ d.kind === o.SyntaxKind.ConstKeyword ? c.const = !0 : d.kind === o.SyntaxKind.InKeyword ? c.in = !0 : d.kind === o.SyntaxKind.OutKeyword && (c.out = !0);
2093
+ }
2094
+ i[r] = c;
2095
+ }
2096
+ t ? n.objectLikeTypeParameters = a : n.functionLikeTypeParameters = a;
2097
+ for (let r = 0; r < e.length; ++r) {
2098
+ const s = e[r], l = s.constraint, c = s.default;
2099
+ l !== void 0 && (i[r].constraint = j(l, n)), c !== void 0 && (i[r].default = j(c, n));
2100
+ }
2101
+ return i;
2102
+ }
2103
+ const ro = /* @__PURE__ */ new Set(), so = /* @__PURE__ */ new Set();
2104
+ function Ee(e, t, n) {
2105
+ if (!o.isIdentifier(e) && !o.isQualifiedName(e) && !o.isPropertyAccessExpression(e))
2106
+ return n.emitError(
2107
+ "Expected the type nodes in the extends clause to be Identifier, QualifiedName or PropertyAccessExpression.",
2108
+ { file: n.file, node: e }
2109
+ ), {
2110
+ [J]: "Record<never, Error>",
2111
+ name: "error",
2112
+ module: void 0,
2113
+ package: void 0,
2114
+ viewUrl: void 0,
2115
+ typeArguments: void 0
2116
+ };
2117
+ const i = j(e, n), a = i.references?.[0] ?? {
2118
+ module: void 0,
2119
+ package: void 0,
2120
+ viewUrl: void 0
2121
+ };
2122
+ let r, s;
2123
+ if (r = i.text, t !== void 0) {
2124
+ s = new Array(t.length), r += "<";
2125
+ for (let l = 0; l < t.length; ++l) {
2126
+ const c = t[l], p = j(c, n);
2127
+ s[l] = p, r += p.text, l < t.length - 1 && (r += ", ");
2128
+ }
2129
+ r += ">";
2130
+ }
2131
+ return {
2132
+ /**
2133
+ * If referenced type is imported as default, the `name` will be `default`,
2134
+ * which is not a name suitable for .d.ts emit. So we preserve the original
2135
+ * type string in a temporary field.
2136
+ */
2137
+ [J]: r,
2138
+ name: i.references?.length === 1 ? i.references[0].name : i.text,
2139
+ module: a.module,
2140
+ package: a.package,
2141
+ viewUrl: a.viewUrl,
2142
+ typeArguments: s
2143
+ };
2144
+ }
2145
+ function Ct(e) {
2146
+ return o.isTypeReferenceNode(e) && (e.typeName.escapedText === "PublicApiNarrowType" || e.typeName.escapedText === "PublicApiRelaxType") ? e.typeArguments[1] : e;
2147
+ }
2148
+ function lo(e) {
2149
+ return e.expression.escapedText === "PublicApiNarrowType" || e.expression.escapedText === "PublicApiRelaxType" ? e.typeArguments[1] : e;
2150
+ }
2151
+ const Si = { text: "unknown", references: void 0, values: void 0, source: void 0 }, co = {
2152
+ text: "Promise<unknown>",
2153
+ references: void 0,
2154
+ values: void 0,
2155
+ source: void 0
2156
+ }, po = {
2157
+ text: "Record<string, unknown> | undefined",
2158
+ references: [
2159
+ {
2160
+ name: "Record",
2161
+ module: void 0,
2162
+ package: le,
2163
+ viewUrl: "https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type",
2164
+ start: 0,
2165
+ end: 6
2166
+ }
2167
+ ],
2168
+ values: void 0,
2169
+ source: void 0
2170
+ };
2171
+ function mo(e, t) {
2172
+ if (t.isInLuminaMinimalExtraction)
2173
+ return;
2174
+ const n = Qi(e.name), i = {
2175
+ [J]: uo,
2176
+ kind: "method",
2177
+ name: "componentOnReady",
2178
+ static: void 0,
2179
+ deprecated: void 0,
2180
+ summary: void 0,
2181
+ description: "Creates a promise that resolves once the component is fully loaded.",
2182
+ docsTags: [
2183
+ {
2184
+ name: "example",
2185
+ text: `\`\`\`js
2186
+ const ${n} = document.createElement("${e.tagName}");
2187
+ document.body.append(${n});
2188
+ await ${n}.componentOnReady();
2189
+ console.log("${e.tagName} is ready to go!");
2190
+ \`\`\``
2191
+ }
2192
+ ],
2193
+ typeParameters: void 0,
2194
+ parameters: void 0,
2195
+ return: fo,
2196
+ // Must include .inheritedFrom for this member so that it is excluded from
2197
+ // .d.ts printing (TypeScript inherits it from PublicLitElement) and from
2198
+ // the docs search index.
2199
+ inheritedFrom: yo,
2200
+ signature: "(): Promise<this>",
2201
+ privacy: void 0,
2202
+ source: void 0
2203
+ };
2204
+ e.members.push(i);
2205
+ const a = [], r = t.config.documentation.getComponentDocsUrl, s = t.config.documentation.getComponentDemoUrl, l = typeof r == "function" ? r(e.tagName, e.name) : void 0, c = typeof s == "function" ? s(e.tagName, e.name) : void 0;
2206
+ typeof l == "string" && a.push({
2207
+ description: "Docs",
2208
+ url: l,
2209
+ source: void 0
2210
+ }), typeof c == "string" && a.push({
2211
+ description: "Demo",
2212
+ url: c,
2213
+ source: void 0
2214
+ });
2215
+ const p = t.componentStories[e.tagName];
2216
+ if (typeof p == "object" && a.push(...p), t.componentCssFileDocs !== void 0) {
2217
+ e.cssProperties ??= [];
2218
+ const d = new Set(e.cssProperties.map((m) => m.name));
2219
+ e.cssProperties = [
2220
+ ...e.cssProperties,
2221
+ ...t.componentCssFileDocs.filter((m) => !d.has(m.name))
2222
+ ], t.componentCssFileDocs = void 0;
2223
+ }
2224
+ a.length > 0 && (e.demos = a);
2225
+ }
2226
+ const uo = et(), fo = {
2227
+ summary: void 0,
2228
+ description: void 0,
2229
+ type: {
2230
+ text: "Promise<this>",
2231
+ references: [
2232
+ {
2233
+ name: "Promise",
2234
+ module: "lib/lib.es5.d.ts",
2235
+ package: "typescript",
2236
+ viewUrl: void 0,
2237
+ start: 0,
2238
+ end: 7
2239
+ }
2240
+ ],
2241
+ values: void 0,
2242
+ source: void 0
2243
+ }
2244
+ }, yo = {
2245
+ name: "this",
2246
+ module: void 0,
2247
+ package: void 0,
2248
+ viewUrl: void 0
2249
+ }, vo = ce, So = ce, go = ce, To = ce, ho = ce, Eo = ce, Co = ce, gi = ce;
2250
+ function ce(e, t, n, i, a) {
2251
+ if (i.docsTags === void 0 || n === void 0)
2252
+ return;
2253
+ const r = i.docsTags.indexOf(N.copyDoc);
2254
+ if (r === -1)
2255
+ return;
2256
+ const s = i.name;
2257
+ let l = n?.[s];
2258
+ l === void 0 && e.emitError(
2259
+ "@copyDoc tag was used, but failed to find copyDoc definition for it. Documentation: https://webgis.esri.com/references/api-extractor/tags-reference#copydoc)",
2260
+ {
2261
+ file: e.file,
2262
+ node: t
2263
+ }
2264
+ ), !(typeof l == "function" && (l = l(i, a, e.apiModule), l === void 0)) && Zi(l, i, r);
2265
+ }
2266
+ function Pt(e, t, n) {
2267
+ n.apiModule.exports.push({
2268
+ kind: e.customElement === !0 ? "custom-element-definition" : e.kind === "interface" || e.kind === "mixin" ? "ts" : "js",
2269
+ name: t ? "default" : e.tagName ?? e.name,
2270
+ deprecated: void 0,
2271
+ declaration: {
2272
+ name: e.name,
2273
+ module: void 0,
2274
+ package: void 0,
2275
+ viewUrl: void 0
2276
+ }
2277
+ });
2278
+ }
2279
+ const Po = Ae, st = Ae, bo = Ae, $t = Ae, zt = Ae;
2280
+ function Ae(e, t, n, i) {
2281
+ if (t === void 0) {
2282
+ i.emitError("Computed function/method names are not yet supported.", {
2283
+ file: i.file,
2284
+ node: e
2285
+ });
2286
+ return;
2287
+ }
2288
+ const a = n ?? e, r = n !== void 0 && !o.isVariableStatement(n), s = o.isMethodDeclaration(e), l = o.isMethodSignature(e), c = s || l || r, p = n !== void 0 && o.isVariableStatement(n), m = o.isFunctionDeclaration(e) || p, f = !r && !p && o.isFunctionTypeNode(e) || o.isCallSignatureDeclaration(e), u = o.isConstructorDeclaration(e), S = u || o.isConstructSignatureDeclaration(e) || o.isConstructorTypeNode(e), C = i.isInLuminaMinimalExtraction || i.jsDoc === Ce, v = et();
2289
+ let P, h, L = !1, b = !1;
2290
+ if (!m && a.modifiers !== void 0)
2291
+ for (let E = 0; E < a.modifiers.length; ++E)
2292
+ switch (a.modifiers[E].kind) {
2293
+ case o.SyntaxKind.StaticKeyword:
2294
+ P = !0;
2295
+ break;
2296
+ case o.SyntaxKind.ProtectedKeyword:
2297
+ h = "protected";
2298
+ break;
2299
+ case o.SyntaxKind.AbstractKeyword:
2300
+ L = !0;
2301
+ break;
2302
+ case o.SyntaxKind.AsyncKeyword:
2303
+ b = !0;
2304
+ break;
2305
+ }
2306
+ const y = {
2307
+ [J]: v,
2308
+ kind: c ? "method" : m ? "function" : f ? "call-signature" : S ? "constructor" : void 0,
2309
+ name: S || f ? void 0 : t,
2310
+ static: P,
2311
+ deprecated: void 0,
2312
+ summary: void 0,
2313
+ description: void 0,
2314
+ docsTags: void 0,
2315
+ typeParameters: nt(e.typeParameters, !1, i),
2316
+ parameters: [],
2317
+ return: u ? void 0 : {
2318
+ summary: void 0,
2319
+ description: void 0,
2320
+ type: C ? b ? co : Si : j(
2321
+ e.type ?? qe(e, i) ?? X(
2322
+ { file: i.file, node: e },
2323
+ "@public function must have a return type annotation",
2324
+ i
2325
+ ),
2326
+ i
2327
+ )
2328
+ },
2329
+ inheritedFrom: void 0,
2330
+ signature: void 0,
2331
+ privacy: h,
2332
+ source: void 0
2333
+ }, k = y, D = mn(y, i.jsDoc), I = C ? [] : e.parameters;
2334
+ let x = D.length, g = !1, K = 0;
2335
+ for (let E = 0; E < I.length; ++E) {
2336
+ const T = I[E], A = o.isIdentifier(T.name) ? T.name.escapedText : void 0;
2337
+ if (A === "this") {
2338
+ K -= 1;
2339
+ continue;
2340
+ }
2341
+ const V = u && A !== void 0 && T.modifiers !== void 0 && T.modifiers.length > 0 ? ne(T, !0, i) : void 0;
2342
+ if (V !== void 0) {
2343
+ K -= 1, x += 1, i.jsDoc = V;
2344
+ const q = hi(T, A, !1, i);
2345
+ if (q === void 0)
2346
+ continue;
2347
+ i.apiObject.members.push(q);
2348
+ const de = {
2349
+ name: A,
2350
+ deprecated: void 0,
2351
+ summary: void 0,
2352
+ description: q.description,
2353
+ docsTags: void 0,
2354
+ optional: void 0,
2355
+ rest: T.dotDotDotToken ? !0 : void 0,
2356
+ type: q.type,
2357
+ default: q.default
2358
+ };
2359
+ de.optional = jt(T, de), y.parameters.push(de);
2360
+ continue;
2361
+ }
2362
+ let G = D[E + K]?.text, U, F;
2363
+ if (!i.config.strict && (G === void 0 || A === void 0) && (G = A ?? `parameter${E}`), G === void 0) {
2364
+ i.emitError(
2365
+ `Expected @param tag for every parameter on a public function. If you need to include a non-public parameter on a public function, see https://webgis.esri.com/references/api-extractor/tags-reference#param)${S ? " and https://webgis.esri.com/references/api-extractor/api-node-kinds#constructor" : ""}`,
2366
+ { file: i.file, node: T }
2367
+ ), g = !0;
2368
+ break;
2369
+ }
2370
+ const W = G.indexOf(" ");
2371
+ if (U = W === -1 ? G : G.slice(0, W), F = W === -1 ? "" : G.slice(W + 1).trim(), (F.startsWith("- ") || F.startsWith(`-
2372
+ `)) && (F = F.slice(2).trim()), A !== void 0 && A !== U && `_${U}` !== A) {
2373
+ const q = U.startsWith("[") || U.endsWith("]");
2374
+ if (i.config.strict) {
2375
+ i.emitError(
2376
+ `The '${A}' TypeScript parameter name does not match the @param tag at position ${E}, '${U}'${q ? ". If you meant to mark the parameter as optional, use TypeScript's `?` syntax or `=` default value syntax instead of JSDoc [square brackets]" : ""}`,
2377
+ {
2378
+ file: i.file,
2379
+ node: T
2380
+ }
2381
+ ), g = !0;
2382
+ break;
2383
+ } else
2384
+ U = A.startsWith("_") ? A.slice(1) : A;
2385
+ }
2386
+ const fe = T.type ?? (T.initializer === void 0 ? X(
2387
+ { file: i.file, node: T },
2388
+ `Public parameter ${U} must have a type annotation or a default value`,
2389
+ i
2390
+ ) : Et(T.initializer, O.false, i.file, i)), ke = j(fe, i), te = {
2391
+ name: U,
2392
+ deprecated: void 0,
2393
+ summary: void 0,
2394
+ description: F || void 0,
2395
+ docsTags: void 0,
2396
+ optional: void 0,
2397
+ rest: T.dotDotDotToken ? !0 : void 0,
2398
+ type: ke,
2399
+ default: $e(T.initializer, void 0, i.file)
2400
+ };
2401
+ te.optional = jt(T, te), y.parameters.push(te);
2402
+ }
2403
+ if (i.config.strict && !g && !i.isInLuminaMinimalExtraction && x !== y.parameters.length && i.emitError(
2404
+ `Expected @param tags to match the number of parameters on a public function. Found ${D.length} @param tags for ${y.parameters.length} TypeScript parameters. Documentation: https://webgis.esri.com/references/api-extractor/tags-reference#param)${S ? " and https://webgis.esri.com/references/api-extractor/api-node-kinds#constructor" : ""}`,
2405
+ { file: i.file, node: e }
2406
+ ), y.parameters.length === 0)
2407
+ y.parameters = void 0;
2408
+ else {
2409
+ let E = !0;
2410
+ for (let T = y.parameters.length - 1; T >= 0; T--) {
2411
+ const R = y.parameters[T];
2412
+ E &&= R.optional === !0 || R.rest === !0 || R.default !== void 0, !E && R.optional && (R.optional = void 0, R.type.text.endsWith(" | undefined") || (R.type.text += " | undefined"));
2413
+ }
2414
+ }
2415
+ s && i.componentTagName !== void 0 && (k.signature = Hi(k), b && !en(k) && i.emitError("Public method marked as async must have a Promise<SomeType> return type annotation.", {
2416
+ file: i.file,
2417
+ node: e
2418
+ })), i.functionLikeTypeParameters = void 0;
2419
+ const w = m ? tt(a) : 0, $ = m && i.exportDefaultName === t, B = w === 2 || $;
2420
+ return m && (B ? Pt(y, !0, i) : w === 0 && i.config.strict && i.emitError("Expected @public function to be exported using named or default export.", {
2421
+ file: i.file,
2422
+ node: e
2423
+ })), i.produceDts && (c || S || f ? (L && (v.isAbstract = !0), v.hasQuestionToken = a.questionToken !== void 0 ? !0 : void 0) : v.isDefaultExported = B || void 0), c ? So(
2424
+ i,
2425
+ n ?? e,
2426
+ i.config.documentation.copyDocDefinitions.methods,
2427
+ y,
2428
+ i.apiObject
2429
+ ) : m && To(
2430
+ i,
2431
+ n ?? e,
2432
+ i.config.documentation.copyDocDefinitions.functions,
2433
+ y,
2434
+ i.apiModule
2435
+ ), y;
2436
+ }
2437
+ const jt = (e, t) => (
2438
+ // Keep ? as is
2439
+ e.questionToken !== void 0 || // If had default value internally, but not publicly, add ?
2440
+ e.initializer !== void 0 && t.default === void 0 ? !0 : void 0
2441
+ );
2442
+ function Mo(e, t, n) {
2443
+ return Tt(), Me(e, t), bt && t !== void 0 && n !== void 0 && (Tt(), Mt(t.getTypeAtLocation(n))), Ti();
2444
+ }
2445
+ function xo(e) {
2446
+ return Tt(), Mt(e), Ti();
2447
+ }
2448
+ let Le = !1, oe = !1, ae = !1, Ie = !1, re = !1, bt = !1;
2449
+ const se = [], ee = [];
2450
+ function Tt() {
2451
+ Le = !1, oe = !1, ae = !1, Ie = !1, re = !1, bt = !1, se.length = 0, ee.length = 0;
2452
+ }
2453
+ function Ti() {
2454
+ if (!ae && !Ie && !re && !Le)
2455
+ return;
2456
+ const e = [];
2457
+ if (se.length > 0)
2458
+ for (let t = 0; t < se.length; ++t)
2459
+ e.push({ type: "string", value: se[t] });
2460
+ else ae && e.push(Do);
2461
+ if (ee.length > 0)
2462
+ for (let t = 0; t < ee.length; ++t)
2463
+ e.push({ type: "number", value: ee[t] });
2464
+ else re && e.push(Ro);
2465
+ return Ie && e.push(Lo), Le ? e.push(Io) : oe && e.push(Ao), e;
2466
+ }
2467
+ const Do = { type: "string", value: void 0 }, Ro = { type: "number", value: void 0 }, Lo = { type: "boolean", value: void 0 }, Io = { type: "any", value: void 0 }, Ao = { type: "object", value: void 0 };
2468
+ function Me(e, t) {
2469
+ switch (e.kind) {
2470
+ case o.SyntaxKind.BooleanKeyword:
2471
+ case o.SyntaxKind.TrueKeyword:
2472
+ case o.SyntaxKind.FalseKeyword:
2473
+ Ie = !0;
2474
+ return;
2475
+ case o.SyntaxKind.NumberKeyword:
2476
+ re = !0;
2477
+ return;
2478
+ case o.SyntaxKind.StringKeyword:
2479
+ case o.SyntaxKind.TemplateLiteralType:
2480
+ ae = !0;
2481
+ return;
2482
+ case o.SyntaxKind.AnyKeyword:
2483
+ Le = !0;
2484
+ return;
2485
+ case o.SyntaxKind.LiteralType:
2486
+ Me(e.literal, t);
2487
+ return;
2488
+ case o.SyntaxKind.StringLiteral:
2489
+ case o.SyntaxKind.NoSubstitutionTemplateLiteral:
2490
+ ae = !0, se.push(e.text);
2491
+ return;
2492
+ case o.SyntaxKind.NumericLiteral:
2493
+ re = !0, ee.push(e.text);
2494
+ return;
2495
+ case o.SyntaxKind.PrefixUnaryExpression:
2496
+ const n = e.operand;
2497
+ n.kind === o.SyntaxKind.NumericLiteral ? (ee.push(`-${n.text}`), re = !0) : oe = !0;
2498
+ return;
2499
+ case o.SyntaxKind.VoidKeyword:
2500
+ case o.SyntaxKind.UndefinedKeyword:
2501
+ case o.SyntaxKind.NullKeyword:
2502
+ return;
2503
+ case o.SyntaxKind.UnionType:
2504
+ const i = e.types, a = Math.min(i.length, Ye);
2505
+ for (let s = 0; s < a; ++s)
2506
+ Me(i[s], t);
2507
+ i.length > Ye && (se.length = 0, ee.length = 0);
2508
+ return;
2509
+ case o.SyntaxKind.ParenthesizedType:
2510
+ Me(e.type, t);
2511
+ return;
2512
+ case o.SyntaxKind.TypeQuery:
2513
+ case o.SyntaxKind.IndexedAccessType:
2514
+ case o.SyntaxKind.ImportType:
2515
+ case o.SyntaxKind.TypeReference:
2516
+ t === void 0 ? oe = !0 : Mt(
2517
+ t.getTypeFromTypeNode(
2518
+ e
2519
+ )
2520
+ );
2521
+ return;
2522
+ case o.SyntaxKind.TypeOperator:
2523
+ const r = e;
2524
+ r.operator === o.SyntaxKind.KeyOfKeyword ? ae = !0 : r.operator === o.SyntaxKind.ReadonlyKeyword ? Me(r.type, t) : oe = !0;
2525
+ return;
2526
+ /*case ts.SyntaxKind.UnknownKeyword:
2527
+ case ts.SyntaxKind.FunctionType:
2528
+ case ts.SyntaxKind.ConstructorType:
2529
+ case ts.SyntaxKind.ThisKeyword:
2530
+ case ts.SyntaxKind.ConditionalType:
2531
+ case ts.SyntaxKind.ArrayType:
2532
+ case ts.SyntaxKind.TupleType:
2533
+ case ts.SyntaxKind.IntersectionType:
2534
+ case ts.SyntaxKind.ObjectKeyword:
2535
+ case ts.SyntaxKind.SymbolKeyword:*/
2536
+ default:
2537
+ oe = !0;
2538
+ return;
2539
+ }
2540
+ }
2541
+ const Ye = 40;
2542
+ function Mt(e) {
2543
+ if (e.isUnion()) {
2544
+ const t = Math.min(e.types.length, Ye);
2545
+ for (let n = 0; n < t; ++n)
2546
+ Jt(e.types[n]);
2547
+ e.types.length > Ye && (se.length = 0, ee.length = 0);
2548
+ } else
2549
+ Jt(e);
2550
+ }
2551
+ function Jt(e) {
2552
+ const t = e.flags;
2553
+ let n = !1;
2554
+ if (t & o.TypeFlags.StringLiteral ? (n = !0, ae = !0, se.push(e.value)) : t & o.TypeFlags.StringLike && (n = !0, ae = !0), t & o.TypeFlags.NumberLiteral ? (n = !0, re = !0, ee.push(e.value.toString())) : t & o.TypeFlags.NumberLike && (n = !0, re = !0), t & o.TypeFlags.BooleanLike && (n = !0, Ie = !0), t & o.TypeFlags.Any) {
2555
+ if (e.intrinsicName === "error") {
2556
+ oe = !0, bt = !0;
2557
+ return;
2558
+ }
2559
+ Le = !0, n = !0;
2560
+ }
2561
+ t & ko || n || (oe = !0);
2562
+ }
2563
+ const ko = o.TypeFlags.Null | o.TypeFlags.VoidLike, xa = (e) => e.map(Go).join(" | "), Go = (e) => e.type === "string" && e.value !== void 0 ? `"${e.value}"` : e.value ?? e.type;
2564
+ function Fo(e, t, n) {
2565
+ let i;
2566
+ const a = e.initializer;
2567
+ let r;
2568
+ if (e.questionToken !== void 0)
2569
+ return;
2570
+ if (e.type !== void 0)
2571
+ o.isTypeReferenceNode(e.type) && e.type.typeName.escapedText === "EventEmitter" && (i = e.type.typeArguments?.[0] ?? We);
2572
+ else if (a !== void 0 && o.isCallExpression(a)) {
2573
+ const l = a.expression;
2574
+ if (o.isIdentifier(l)) {
2575
+ const c = l.escapedText;
2576
+ c === Ke ? (i = a.typeArguments?.[0] ?? We, r = a.arguments[0]) : c === "reEmitEvent" ? i = a.typeArguments?.[0] ?? We : c.startsWith("use") && (i = qt(e, n));
2577
+ } else if (o.isCallExpression(l) && o.isIdentifier(l.expression)) {
2578
+ const c = l.expression.escapedText;
2579
+ if (c === "usePropertyChange") {
2580
+ const p = [];
2581
+ for (let d = 0; d < a.arguments.length; ++d) {
2582
+ const m = a.arguments[d];
2583
+ o.isStringLiteral(m) && p.push(o.factory.createLiteralTypeNode(m));
2584
+ }
2585
+ if (p.length === 0)
2586
+ return;
2587
+ i = o.factory.createTypeLiteralNode([
2588
+ o.factory.createPropertySignature(
2589
+ void 0,
2590
+ "name",
2591
+ void 0,
2592
+ p.length === 1 ? p[0] : o.factory.createUnionTypeNode(p)
2593
+ )
2594
+ ]);
2595
+ } else c.startsWith("use") && (i = qt(e, n));
2596
+ }
2597
+ }
2598
+ if (i === void 0)
2599
+ return;
2600
+ const s = {
2601
+ name: t,
2602
+ deprecated: void 0,
2603
+ summary: void 0,
2604
+ description: void 0,
2605
+ docsTags: void 0,
2606
+ type: j(i, n),
2607
+ inheritedFrom: void 0,
2608
+ privacy: void 0,
2609
+ bubbles: void 0,
2610
+ cancelable: void 0,
2611
+ composed: void 0
2612
+ };
2613
+ return yn(s, n.jsDoc), r !== void 0 && Oo(e, r, s, n), go(
2614
+ n,
2615
+ e,
2616
+ n.config.documentation.copyDocDefinitions.events,
2617
+ s,
2618
+ n.apiObject
2619
+ ), s;
2620
+ }
2621
+ const Ke = "createEvent";
2622
+ function Oo(e, t, n, i) {
2623
+ if (t !== void 0) {
2624
+ if (!o.isObjectLiteralExpression(t)) {
2625
+ i.emitError(`Expected object literal expression as first argument of ${Ke}().`, {
2626
+ file: i.file,
2627
+ node: e
2628
+ });
2629
+ return;
2630
+ }
2631
+ if (t.properties.some(o.isSpreadAssignment)) {
2632
+ i.emitError(
2633
+ `Unexpected spread syntax in ${Ke}() argument. ${Ke}() arguments must be statically parsable at compile time`,
2634
+ {
2635
+ file: i.file,
2636
+ node: e
2637
+ }
2638
+ );
2639
+ return;
2640
+ }
2641
+ for (const a of t.properties)
2642
+ !o.isPropertyAssignment(a) || !o.isIdentifier(a.name) || (a.name.text === "cancelable" && !Y(a.initializer, i) && (n.cancelable = !1), a.name.text === "bubbles" && !Y(a.initializer, i) && (n.bubbles = !1), a.name.text === "composed" && !Y(a.initializer, i) && (n.composed = !1));
2643
+ }
2644
+ }
2645
+ function qt(e, t) {
2646
+ const n = t.program?.getTypeChecker?.();
2647
+ if (n === void 0)
2648
+ return;
2649
+ const i = n.getTypeAtLocation(e);
2650
+ if (!((i.aliasSymbol ?? i.symbol)?.name === "EventEmitter"))
2651
+ return;
2652
+ const r = n.getTypeArguments(i);
2653
+ if (r.length === 0)
2654
+ return We;
2655
+ const s = r[0];
2656
+ return n.typeToTypeNode(s, e, o.NodeBuilderFlags.NoTruncation);
2657
+ }
2658
+ function hi(e, t, n, i) {
2659
+ if (t === void 0) {
2660
+ i.emitError("Computed property names are not yet supported", { file: i.file, node: e });
2661
+ return;
2662
+ }
2663
+ const a = e, r = xe(a.modifiers, "property") ?? (i.pairedSetter === void 0 ? void 0 : xe(i.pairedSetter.modifiers, "property")), s = r?.arguments[0], l = s !== void 0 && o.isObjectLiteralExpression(s) ? s.properties : void 0, c = o.isPropertyDeclaration(e) || o.isPropertySignature(e), p = o.isGetAccessor(e), d = Ni(), m = i.isInLuminaMinimalExtraction || i.jsDoc === Ce;
2664
+ let f = !1, u = !1, S, C = !1, v, P, h;
2665
+ if (c && e.modifiers !== void 0)
2666
+ for (let E = 0; E < e.modifiers.length; ++E)
2667
+ switch (e.modifiers[E].kind) {
2668
+ case o.SyntaxKind.ReadonlyKeyword:
2669
+ f = !0;
2670
+ continue;
2671
+ case o.SyntaxKind.AccessorKeyword:
2672
+ u = !0;
2673
+ continue;
2674
+ case o.SyntaxKind.ProtectedKeyword:
2675
+ S = "protected";
2676
+ continue;
2677
+ case o.SyntaxKind.StaticKeyword:
2678
+ v = !0;
2679
+ continue;
2680
+ case o.SyntaxKind.AbstractKeyword:
2681
+ C = !0;
2682
+ continue;
2683
+ }
2684
+ n ||= f || p && i.pairedSetter === void 0;
2685
+ const L = i.apiObject.customElement === !0;
2686
+ let b = !1;
2687
+ if (i.moduleHasAccessorLikeClass)
2688
+ if (l !== void 0) {
2689
+ for (let E = 0; E < l.length; ++E) {
2690
+ const T = l[E];
2691
+ if (!o.isPropertyAssignment(T)) {
2692
+ b ||= o.isSpreadAssignment(T);
2693
+ continue;
2694
+ }
2695
+ const R = T.name.escapedText;
2696
+ R === "readOnly" && Y(T.initializer, i) ? n = !0 : R === "constructOnly" && Y(T.initializer, i) ? d.isConstructorOnly = !0 : R === "type" ? d.hasAutoCasting = !0 : R === "types" && No(
2697
+ d,
2698
+ T.initializer?.kind === o.SyntaxKind.ObjectLiteralExpression ? T.initializer : void 0
2699
+ );
2700
+ }
2701
+ b && d.hasAutoCasting === void 0 && (d.hasAutoCasting = !0, d.autoCastingRequiresType = !0);
2702
+ } else s !== void 0 && (d.hasAutoCasting = !0, d.autoCastingRequiresType = !0);
2703
+ else if (L) {
2704
+ const E = i.apiObject;
2705
+ if (r === void 0) {
2706
+ if (m)
2707
+ return;
2708
+ {
2709
+ const T = c && !v ? Fo(e, t, i) : void 0;
2710
+ if (T !== void 0) {
2711
+ E.events ??= [], E.events.push(T);
2712
+ return;
2713
+ } else !i.config.strict && Ei(e) ? (S = "protected", P = !1, i.jsDoc = {
2714
+ ...i.jsDoc,
2715
+ docsTags: [...i.jsDoc.docsTags, N.internal]
2716
+ }) : r === void 0 && i.emitError(
2717
+ "Public properties on a Lumina component must have a @property() decorator for lazy-loading compatibility.",
2718
+ {
2719
+ file: i.file,
2720
+ node: e
2721
+ }
2722
+ );
2723
+ }
2724
+ } else if (l !== void 0)
2725
+ for (let T = 0; T < l.length; ++T) {
2726
+ const R = l[T];
2727
+ if (!(!o.isPropertyAssignment(R) || !o.isIdentifier(R.name)))
2728
+ switch (R.name.escapedText) {
2729
+ case "attribute":
2730
+ o.isStringLiteral(R.initializer) ? P = R.initializer.text : P = Y(R.initializer, i);
2731
+ continue;
2732
+ case "reflect":
2733
+ Y(R.initializer, i) && (P ??= !0, h = !0);
2734
+ continue;
2735
+ case "readOnly":
2736
+ Y(R.initializer, i) && (n = !0);
2737
+ continue;
2738
+ case "type":
2739
+ case "converter":
2740
+ P ??= !0;
2741
+ continue;
2742
+ }
2743
+ }
2744
+ }
2745
+ const y = i.pairedSetter ?? (o.isSetAccessor(e) ? e : void 0), k = n ? void 0 : y;
2746
+ u ||= r !== void 0 || p || y !== void 0, d.isAccessor = u || void 0;
2747
+ const D = k?.parameters[0].type, I = a.type;
2748
+ let x = D ?? I;
2749
+ if (x === void 0) {
2750
+ const E = k?.parameters[0].initializer ?? e.initializer;
2751
+ if (c && E !== void 0 && o.isArrowFunction(E)) {
2752
+ if (n)
2753
+ return zt(E, t, e, i);
2754
+ Qt(e, i);
2755
+ }
2756
+ x = E === void 0 ? Xn(e, i) ?? X(
2757
+ { file: i.file, node: e },
2758
+ "Public property must have a type annotation or a default value",
2759
+ i
2760
+ ) : Et(E, n ? O.shallow : O.false, i.file, i);
2761
+ } else if (x = Ct(x), c && o.isFunctionTypeNode(x)) {
2762
+ if (n)
2763
+ return zt(x, t, e, i);
2764
+ Qt(e, i);
2765
+ }
2766
+ const g = {
2767
+ [J]: d,
2768
+ kind: "field",
2769
+ name: t,
2770
+ static: v,
2771
+ deprecated: void 0,
2772
+ summary: void 0,
2773
+ description: void 0,
2774
+ docsTags: void 0,
2775
+ // In minimal extraction, we care only for type.values (set below)
2776
+ type: m ? { ...Si } : j(x, i),
2777
+ getterType: void 0,
2778
+ default: void 0,
2779
+ readonly: n || void 0,
2780
+ inheritedFrom: void 0,
2781
+ privacy: S,
2782
+ source: void 0,
2783
+ attribute: !L || P === !1 ? void 0 : typeof P == "string" ? P : Xi(t),
2784
+ reflects: h,
2785
+ docsOnlyReadonly: void 0
2786
+ };
2787
+ un(g, i.jsDoc);
2788
+ const K = g.default;
2789
+ L && t === "messageOverrides" && (d.dtsTypeOverride = g.type.text, g.type = po);
2790
+ const w = L && r !== void 0;
2791
+ if (w) {
2792
+ !n && g.readonly === !0 && (g.docsOnlyReadonly = !0);
2793
+ const E = i.program?.getTypeChecker?.();
2794
+ g.type.values = E !== void 0 && x.pos === -1 && (x.kind === o.SyntaxKind.TypeQuery || x.kind === o.SyntaxKind.IndexedAccessType || x.kind === o.SyntaxKind.ImportType || x.kind === o.SyntaxKind.TypeReference) ? xo(E.getTypeAtLocation(y?.parameters[0] ?? e)) : Mo(x, E, y?.parameters[0] ?? e), (P === void 0 && g.type.values === void 0 && !i.config.context.isLuminaMinimalExtraction || g.readonly && !g.reflects) && (g.attribute = void 0);
2795
+ const T = E !== void 0 && o.isPropertyDeclaration(e) && // BUG: should not check node.type here? but do check in property.getterType below
2796
+ e.type !== void 0 && e.initializer !== void 0 && o.isPropertyAccessExpression(e.initializer) && o.isPropertyAccessExpression(e.initializer.expression) && e.initializer.expression.expression.kind === o.SyntaxKind.ThisKeyword && o.isIdentifier(e.initializer.expression.name) && o.isIdentifier(e.initializer.name);
2797
+ if (("initializer" in e && e.initializer !== void 0 && (!g.default || !g.description) || T) && !m) {
2798
+ const R = e.initializer, A = E?.getSymbolAtLocation(R), H = A !== void 0 && ((A.flags ?? 0) & o.SymbolFlags.Alias) !== 0 ? E?.getAliasedSymbol(A) : A;
2799
+ let V, G;
2800
+ const U = H?.getDeclarations();
2801
+ if (U !== void 0)
2802
+ for (let F = 0; F < U.length; ++F) {
2803
+ const W = U[F];
2804
+ V ??= o.isGetAccessor(W) ? W : void 0, G ??= o.isSetAccessor(W) ? W : void 0, "initializer" in W && (g.default = $e(
2805
+ W.initializer,
2806
+ g.default,
2807
+ W.getSourceFile()
2808
+ ));
2809
+ }
2810
+ if (T && V?.type !== void 0 && G !== void 0 && V.type.getText() !== G.parameters[0]?.type?.getText()) {
2811
+ const F = V.getSourceFile(), W = i.file;
2812
+ i.file = F, g.getterType = {
2813
+ text: j(V.type, i).text,
2814
+ references: void 0,
2815
+ values: void 0,
2816
+ source: void 0
2817
+ }, i.file = W;
2818
+ }
2819
+ }
2820
+ }
2821
+ if (I !== void 0 && D !== void 0 && !m && // Quick perf check: type is definitely the same if raw type string matches.
2822
+ // More reliable check follows in processing/index.ts, where printed normalized
2823
+ // type string is compared.
2824
+ I.getText(i.file) !== D.getText(i.file) ? g.getterType = j(I, i) : g.readonly === !0 && g.name === "type" && x.kind === o.SyntaxKind.LiteralType && x.literal.kind === o.SyntaxKind.StringLiteral && (i.moduleContext.typeName = x.literal.text), (d.hasAutoCasting === !0 || d.isConstructorOnly === !0) && (g.readonly === !0 && d.isConstructorOnly !== !0 ? d.hasAutoCasting = void 0 : g.getterType ??= {
2825
+ ...g.type,
2826
+ references: g.type.references === void 0 ? void 0 : [...g.type.references]
2827
+ }), n && x.kind === o.SyntaxKind.LiteralType || (g.default = $e(
2828
+ e.initializer,
2829
+ g.default,
2830
+ i.file
2831
+ )), w) {
2832
+ const E = K === void 0 && g.default === "true";
2833
+ g.type.values?.length === 1 && g.type.values[0].type === "boolean" && (g.default === void 0 ? g.default = "false" : E && g.deprecated === void 0 && (i.loggedBooleanWarning || i.config.context.logger.error(
2834
+ `${Gi}Boolean properties should default to "false". Found default value "true" in ${i.apiObject.name}.${g.name}. See https://webgis.esri.com/references/lumina/properties#boolean-properties`
2835
+ ), i.loggedBooleanWarning = !0));
2836
+ }
2837
+ return vo(
2838
+ i,
2839
+ e,
2840
+ i.config.documentation.copyDocDefinitions?.properties,
2841
+ g,
2842
+ i.apiObject
2843
+ ), i.produceDts && C && (d.isAbstract = !0), c && e.questionToken !== void 0 && (g.type.text.endsWith(" | undefined") || (g.type.text = // Don't need to wrap non-accessors in |undefined as we replace |undefined
2844
+ // with ? during printing
2845
+ u && (x.kind === o.SyntaxKind.FunctionType || x.kind === o.SyntaxKind.ConstructorType || x.kind === o.SyntaxKind.ConditionalType || x.kind === o.SyntaxKind.InferType) ? `(${g.type.text}) | undefined` : `${g.type.text} | undefined`), g.getterType !== void 0 && !g.getterType.text.endsWith(" | undefined") && (g.getterType.text += " | undefined")), g;
2846
+ }
2847
+ function Qt(e, t) {
2848
+ if (!t.config.strict)
2849
+ return;
2850
+ const n = t.jsDoc.docsTags;
2851
+ for (let i = 0; i < n.length; ++i) {
2852
+ const a = n[i].name;
2853
+ if (a === "param" || a === "returns") {
2854
+ t.emitError(
2855
+ "@param and @returns tags are only allowed on method-like properties. If this property is intended to be documented as a method, please add the 'readonly' modifier.",
2856
+ {
2857
+ file: t.file,
2858
+ node: e
2859
+ }
2860
+ );
2861
+ return;
2862
+ }
2863
+ }
2864
+ }
2865
+ function No(e, t) {
2866
+ if (e.hasAutoCasting = !0, e.autoCastingRequiresType = !0, t !== void 0)
2867
+ for (let n = 0; n < t.properties.length; ++n) {
2868
+ const i = t.properties[n];
2869
+ if (o.isPropertyAssignment(i) && i.name.escapedText === "defaultKeyValue" && o.isStringLiteral(i.initializer)) {
2870
+ e.autoCastingDefaultType = i.initializer.text;
2871
+ return;
2872
+ }
2873
+ }
2874
+ }
2875
+ const Ei = (e) => o.isPropertyDeclaration(e) && e.initializer !== void 0 && o.isCallExpression(e.initializer) && o.isIdentifier(e.initializer.expression) && e.initializer.expression.escapedText === "useT9n";
2876
+ function Ze(e, t) {
2877
+ const n = o.isClassDeclaration(e);
2878
+ let i = e.name.escapedText;
2879
+ const a = n ? t.componentTagName : void 0, r = !n && ui(i, t);
2880
+ let s = e.heritageClauses === void 0 || r ? void 0 : e.heritageClauses[0]?.token === o.SyntaxKind.ExtendsKeyword ? e.heritageClauses[0] : e.heritageClauses[1]?.token === o.SyntaxKind.ExtendsKeyword ? e.heritageClauses[1] : void 0;
2881
+ if (t.config.context.supportApplyMixinsSyntax && !n && s?.types.length === 1 && o.isExpressionWithTypeArguments(s.types[0]) && s.types[0].expression.escapedText === "MixinInstances" && s.types[0].typeArguments?.length === 1) {
2882
+ Uo(i, s.types[0].typeArguments[0], t);
2883
+ return;
2884
+ }
2885
+ const l = n && t.mixinName !== void 0 && s !== void 0 && o.isExpressionWithTypeArguments(s.types[0]) && o.isIdentifier(s.types[0].expression) && s.types[0].expression.escapedText === "TypedBase";
2886
+ l && (s = void 0, i = t.mixinName);
2887
+ const c = oi(), p = {
2888
+ [J]: c,
2889
+ kind: n ? "class" : "interface",
2890
+ name: i,
2891
+ customElement: a === void 0 ? void 0 : !0,
2892
+ tagName: a,
2893
+ privacy: void 0,
2894
+ pascalCaseName: a === void 0 ? void 0 : (
2895
+ /**
2896
+ * We use the tag name rather than the class name to generate the
2897
+ * type name because the class name may not start with the library
2898
+ * prefix (Arcgis), where as tag name always does. This also matches
2899
+ * Stencil's behavior.
2900
+ */
2901
+ Yi(a)
2902
+ ),
2903
+ deprecated: void 0,
2904
+ summary: void 0,
2905
+ description: void 0,
2906
+ docsTags: void 0,
2907
+ demos: void 0,
2908
+ typeParameters: l ? void 0 : nt(e.typeParameters, !0, t),
2909
+ superclass: void 0,
2910
+ supertypes: void 0,
2911
+ mixins: void 0,
2912
+ encapsulation: void 0,
2913
+ formAssociated: void 0,
2914
+ members: [],
2915
+ attributes: void 0,
2916
+ events: void 0,
2917
+ slots: void 0,
2918
+ cssParts: void 0,
2919
+ cssProperties: void 0,
2920
+ cssStates: void 0,
2921
+ type: void 0,
2922
+ source: void 0,
2923
+ // REFACTOR: remove this deprecated property
2924
+ importPath: a === void 0 ? void 0 : t.apiModule.path
2925
+ }, d = p, m = d, f = d;
2926
+ ri(p, t.jsDoc);
2927
+ const u = r ? (
2928
+ // Members will be added during post-processing
2929
+ !1
2930
+ ) : Ci(d, e.members, i, t);
2931
+ l && (t.mixinMixins !== void 0 && (m.mixins = t.mixinMixins), u && t.emitError("Mixin class is not expected to have a @public constructor", { file: t.file, node: e })), s === void 0 ? a !== void 0 && m.superclass === void 0 && t.emitError(
2932
+ "Lumina web component must extend LitElement class. Found a class that does not extend any class.",
2933
+ {
2934
+ file: t.file,
2935
+ node: e
2936
+ }
2937
+ ) : wo(s, n, p, e, t), a !== void 0 && mo(m, t), d.members.length === 0 && (a === void 0 && (d.members = void 0), r && (t.moduleContext.constructorPropertiesInterface = f));
2938
+ const S = t.exportDefaultName === i, C = tt(e), v = S || C === 2;
2939
+ return (v || a !== void 0) && Pt(d, v, t), n ? (a === void 0 ? Eo(
2940
+ t,
2941
+ e,
2942
+ t.config.documentation.copyDocDefinitions.classes,
2943
+ m,
2944
+ t.apiModule
2945
+ ) : Co(
2946
+ t,
2947
+ e,
2948
+ t.config.documentation.copyDocDefinitions.customElements,
2949
+ m,
2950
+ t.apiModule
2951
+ ), t.moduleHasClass && t.config.strict && t.emitError(
2952
+ "A module may only export at most one public class/mixin/custom element. Documentation: https://webgis.esri.com/references/api-extractor/api-node-kinds#module-level-documentation",
2953
+ { file: t.file, node: e }
2954
+ ), t.moduleHasClass = !0) : gi(
2955
+ t,
2956
+ e,
2957
+ t.config.documentation.copyDocDefinitions.interfaces,
2958
+ f,
2959
+ t.apiModule
2960
+ ), t.produceDts && (c.isDefaultExported = v || void 0, n && (!l && (!S && C === 0) && t.config.strict && t.emitError("Expected @public class to be exported using named or default export.", {
2961
+ file: t.file,
2962
+ node: e
2963
+ }), mi(e.modifiers, o.SyntaxKind.AbstractKeyword) ? c.hasExplicitAbstract = !0 : !u && (t.config.strict || a !== void 0) && (c.hasExplicitAbstract = !1))), t.objectLikeTypeParameters = void 0, d;
2964
+ }
2965
+ function wo(e, t, n, i, a) {
2966
+ for (let r = 0; r < e.types.length; ++r) {
2967
+ const s = e.types[r];
2968
+ if (t) {
2969
+ let l = s.typeArguments, c = s.expression;
2970
+ if (o.isCallExpression(c)) {
2971
+ do {
2972
+ const d = c.expression;
2973
+ if (o.isPropertyAccessExpression(d) && o.isIdentifier(d.expression) && o.isIdentifier(d.name) && d.expression.escapedText === "Collection" && d.name.escapedText === "ofType") {
2974
+ const m = c.arguments[0];
2975
+ if (!o.isIdentifier(m)) {
2976
+ a.emitError("Expected the argument to Collection.ofType to be an identifier.", {
2977
+ file: a.file,
2978
+ node: m
2979
+ });
2980
+ break;
2981
+ }
2982
+ l = [o.factory.createTypeReferenceNode(m)], c = d.expression;
2983
+ } else {
2984
+ n.mixins ??= [];
2985
+ const m = c.expression;
2986
+ n.mixins.unshift(
2987
+ Ee(m, c.typeArguments, a)
2988
+ ), c = c.arguments[0];
2989
+ }
2990
+ } while (o.isCallExpression(c));
2991
+ if (o.isClassExpression(c)) {
2992
+ (c.members.length !== 0 || c.heritageClauses !== void 0) && a.emitError(
2993
+ "The only supported inline class expression is an empty class. Extract into a separate named class",
2994
+ { file: a.file, node: c }
2995
+ );
2996
+ break;
2997
+ } else o.isExpressionWithTypeArguments(c) && (l = c.typeArguments, c = c.expression);
2998
+ }
2999
+ const p = Ee(
3000
+ c,
3001
+ a.isInLuminaMinimalExtraction ? void 0 : l,
3002
+ a
3003
+ );
3004
+ if (a.isComponentProject && p.name === "LitElement") {
3005
+ p.name = "HTMLElement", p.package = le, p.viewUrl = "https://developer.mozilla.org/docs/Web/API/HTMLElement";
3006
+ const d = a.moduleContext.importsMap.LitElement;
3007
+ d === void 0 ? a.emitError("API Extractor bug: Expected LitElement import to be defined", {
3008
+ file: a.file,
3009
+ node: i
3010
+ }) : d.actualName = "PublicLitElement";
3011
+ }
3012
+ n.superclass = p;
3013
+ break;
3014
+ } else {
3015
+ const l = lo(s);
3016
+ let c = l, p;
3017
+ if (o.isExpressionWithTypeArguments(l))
3018
+ c = l.expression, p = l.typeArguments;
3019
+ else if (o.isTypeReferenceNode(l) && (c = l.typeName, p = l.typeArguments, c.escapedText === "Record" && p?.length === 2 && p[0].kind === o.SyntaxKind.NeverKeyword && p[1].kind === o.SyntaxKind.NeverKeyword))
3020
+ continue;
3021
+ n.supertypes ??= [], n.supertypes.push(
3022
+ Ee(c, p, a)
3023
+ );
3024
+ }
3025
+ }
3026
+ }
3027
+ function Ci(e, t, n, i) {
3028
+ i.apiObject = e;
3029
+ const a = e.customElement === !0, r = e.members, s = t.length;
3030
+ let l, c = t[0], p, d = De(c?.name), m = !1;
3031
+ for (let f = 0; f < s; ++f) {
3032
+ if (l = c, c = t[f + 1], p = d, d = De(c?.name), i.pairedSetter !== void 0) {
3033
+ i.pairedSetter = void 0;
3034
+ continue;
3035
+ }
3036
+ if (p === void 0 && l.name?.kind === o.SyntaxKind.PrivateIdentifier)
3037
+ continue;
3038
+ c !== void 0 && p === d && (o.isGetAccessor(c) ? (i.pairedSetter = l, l = c) : o.isSetAccessor(c) && (i.pairedSetter = c));
3039
+ let u = ne(l, !0, i) ?? (i.pairedSetter === void 0 ? void 0 : ne(i.pairedSetter, !0, i));
3040
+ if (u === void 0 && !i.config.strict && (a ? p !== void 0 && Xt(l, i.pairedSetter, !0) : !mi(l.modifiers, o.SyntaxKind.PrivateKeyword))) {
3041
+ const C = i.pairedSetter === void 0 ? ze(l, !1, i, Re) : ne(l, !1, i) ?? ze(i.pairedSetter, !1, i, Re);
3042
+ C?.docsTags.includes(N.private) === !0 ? a && i.config.context.includeLuminaPrivateComponents ? u = Ce : u = void 0 : u = C;
3043
+ } else u === void 0 && a && i.config.context.includeLuminaPrivateComponents && Xt(l, i.pairedSetter, !1) && (u = Ce);
3044
+ if (u === void 0) {
3045
+ a && o.isPropertyDeclaration(l) && o.isIdentifier(l.name) && (l.name.escapedText === "shadowRootOptions" && l.initializer !== void 0 && o.isIdentifier(l.initializer) && l.initializer.escapedText === "noShadowRoot" && (i.apiObject.encapsulation = "none"), l.name.escapedText === "formAssociated" && l.initializer !== void 0 && Y(l.initializer, i) && (i.apiObject.formAssociated = !0));
3046
+ continue;
3047
+ }
3048
+ i.jsDoc = u;
3049
+ let S;
3050
+ o.isPropertyDeclaration(l) || o.isPropertyAssignment(l) || o.isGetAccessorDeclaration(l) || o.isSetAccessorDeclaration(l) || o.isPropertySignature(l) ? S = hi(l, p, !1, i) : o.isMethodDeclaration(l) || o.isMethodSignature(l) ? S = st(l, p, void 0, i) : o.isConstructorDeclaration(l) || o.isConstructSignatureDeclaration(l) ? (m = !0, S = st(l, n, void 0, i)) : o.isCallSignatureDeclaration(l) ? S = st(l, n, void 0, i) : o.isIndexSignatureDeclaration(l) && e.kind === "interface" ? (lt.members.splice(
3051
+ 0,
3052
+ lt.members.length,
3053
+ l
3054
+ ), Pi(e, lt, i), ue(e).emitAsTypeAlias = !0) : i.emitError(`@public used on unsupported member kind: ${o.SyntaxKind[l.kind]}`, {
3055
+ file: i.file,
3056
+ node: l
3057
+ }), S !== void 0 && r.push(S);
3058
+ }
3059
+ return i.apiObject = void 0, m;
3060
+ }
3061
+ const lt = o.factory.createTypeLiteralNode(void 0);
3062
+ function Xt(e, t, n) {
3063
+ if (e.kind === o.SyntaxKind.PropertyDeclaration || e.kind === o.SyntaxKind.GetAccessor || e.kind === o.SyntaxKind.SetAccessor) {
3064
+ const i = e;
3065
+ if ((xe(i.modifiers, "property") ?? (t === void 0 ? void 0 : xe(t.modifiers, "property"))) !== void 0)
3066
+ return !0;
3067
+ if (!n)
3068
+ return !1;
3069
+ if (Ei(e))
3070
+ return !0;
3071
+ if (i.modifiers !== void 0)
3072
+ for (let r = 0; r < (i.modifiers?.length ?? 0); ++r) {
3073
+ const s = i.modifiers[r];
3074
+ if (s.kind === o.SyntaxKind.PrivateKeyword || s.kind === o.SyntaxKind.ProtectedKeyword || s.kind === o.SyntaxKind.StaticKeyword)
3075
+ return !1;
3076
+ }
3077
+ return e.kind === o.SyntaxKind.PropertyDeclaration && i.initializer !== void 0 && o.isCallExpression(i.initializer) ? o.isIdentifier(i.initializer.expression) && (i.initializer.expression.escapedText === "createEvent" || i.initializer.expression.escapedText === "useCloseEvent" || i.initializer.expression.escapedText === "useArcgisLoadError" || i.initializer.expression.escapedText === "useArcgisViewReadyError" || i.initializer.expression.escapedText === "reEmitEvent") || o.isCallExpression(i.initializer.expression) && o.isIdentifier(i.initializer.expression.expression) && i.initializer.expression.expression.escapedText === "usePropertyChange" : !1;
3078
+ } else return e.kind === o.SyntaxKind.MethodDeclaration ? xe(e.modifiers, "method") !== void 0 : !1;
3079
+ }
3080
+ function Pi(e, t, n) {
3081
+ const i = j(t, n);
3082
+ if (e.type === void 0)
3083
+ e.type = i;
3084
+ else {
3085
+ const a = `${e.type.text} &
3086
+ `, r = a.length;
3087
+ e.type = {
3088
+ text: `${a}${i.text}`,
3089
+ references: i.references === void 0 ? e.type.references : e.type.references === void 0 ? Ft(i.references, r) : [...e.type.references, ...Ft(i.references, r)],
3090
+ values: void 0,
3091
+ source: void 0
3092
+ };
3093
+ }
3094
+ }
3095
+ function Uo(e, t, n) {
3096
+ if (!o.isTypeQueryNode(t)) {
3097
+ n.emitError("Expected a TypeQueryNode for applyMixins syntax", { file: n.file, node: t });
3098
+ return;
3099
+ }
3100
+ if (!o.isIdentifier(t.exprName)) {
3101
+ n.emitError("Expected an Identifier for the expression name in applyMixins syntax", {
3102
+ file: n.file,
3103
+ node: t
3104
+ });
3105
+ return;
3106
+ }
3107
+ const i = t.exprName.escapedText;
3108
+ let a;
3109
+ for (let l = n.file.statements.length - 1; l >= 0; --l) {
3110
+ const c = n.file.statements[l];
3111
+ if (!o.isVariableStatement(c))
3112
+ continue;
3113
+ const p = c.declarationList.declarations[0];
3114
+ if (o.isIdentifier(p.name) && p.name?.escapedText === i) {
3115
+ a = p;
3116
+ break;
3117
+ }
3118
+ }
3119
+ if (a === void 0) {
3120
+ n.emitError(`Could not find variable declaration for ${i} in applyMixins syntax`, {
3121
+ file: n.file,
3122
+ node: t
3123
+ });
3124
+ return;
3125
+ }
3126
+ if (a.initializer === void 0 || !o.isAsExpression(a.initializer) || !o.isArrayLiteralExpression(a.initializer.expression)) {
3127
+ n.emitError(
3128
+ `Expected an 'as' expression with an array literal for the initializer of ${i} in applyMixins syntax`,
3129
+ {
3130
+ file: n.file,
3131
+ node: a
3132
+ }
3133
+ );
3134
+ return;
3135
+ }
3136
+ const r = n.apiModule.declarations.at(-1);
3137
+ if (r?.kind !== "class" || r.name !== e) {
3138
+ n.emitError(
3139
+ `Expected the ${e} class to be defined right before the ${e} interface`,
3140
+ {
3141
+ file: n.file,
3142
+ node: t
3143
+ }
3144
+ );
3145
+ return;
3146
+ }
3147
+ const s = a.initializer.expression.elements;
3148
+ r.mixins ??= [];
3149
+ for (let l = 0; l < s.length; ++l) {
3150
+ const c = s[l];
3151
+ if (!o.isIdentifier(c)) {
3152
+ n.emitError(`Expected an Identifier in the mixins array for ${i} in applyMixins syntax`, {
3153
+ file: n.file,
3154
+ node: c
3155
+ });
3156
+ return;
3157
+ }
3158
+ r.mixins.unshift(Ee(c, void 0, n));
3159
+ }
3160
+ }
3161
+ function Vo(e, t) {
3162
+ const n = e.type, i = e.name.escapedText, a = ui(i, t), r = oi(), s = {
3163
+ [J]: r,
3164
+ kind: "interface",
3165
+ name: i,
3166
+ customElement: void 0,
3167
+ tagName: void 0,
3168
+ privacy: void 0,
3169
+ pascalCaseName: void 0,
3170
+ deprecated: void 0,
3171
+ summary: void 0,
3172
+ description: void 0,
3173
+ docsTags: void 0,
3174
+ demos: void 0,
3175
+ typeParameters: nt(e.typeParameters, !0, t),
3176
+ superclass: void 0,
3177
+ supertypes: void 0,
3178
+ mixins: void 0,
3179
+ encapsulation: void 0,
3180
+ formAssociated: void 0,
3181
+ members: [],
3182
+ attributes: void 0,
3183
+ events: void 0,
3184
+ slots: void 0,
3185
+ cssParts: void 0,
3186
+ cssProperties: void 0,
3187
+ cssStates: void 0,
3188
+ type: void 0,
3189
+ source: void 0,
3190
+ importPath: void 0
3191
+ }, l = s;
3192
+ if (ri(s, t.jsDoc), a)
3193
+ t.moduleContext.constructorPropertiesInterface = l;
3194
+ else {
3195
+ r.emitAsTypeAlias = !0;
3196
+ const c = o.isIntersectionTypeNode(n) ? n.types : [n];
3197
+ for (let p = 0; p < c.length; ++p) {
3198
+ const d = Ct(c[p]);
3199
+ if (o.isTypeLiteralNode(d))
3200
+ Ci(l, d.members, i, t);
3201
+ else if (o.isTypeReferenceNode(d))
3202
+ l.supertypes ??= [], l.supertypes.push(Ee(d.typeName, d.typeArguments, t));
3203
+ else if (o.isFunctionTypeNode(d) || o.isConstructorTypeNode(d)) {
3204
+ if (t.jsDoc = Re, l.docsTags !== void 0) {
3205
+ t.jsDoc = { ...Re, docsTags: [] };
3206
+ for (let m = 0; m < l.docsTags.length; ++m) {
3207
+ const f = l.docsTags[m];
3208
+ (f.name === "param" || f.name === "returns") && (t.jsDoc.docsTags.push(f), l.docsTags.splice(m, 1), m -= 1);
3209
+ }
3210
+ l.docsTags.length === 0 && (l.docsTags = void 0);
3211
+ }
3212
+ l.members.push(bo(d, i, void 0, t));
3213
+ } else
3214
+ Pi(l, d, t);
3215
+ }
3216
+ }
3217
+ return t.objectLikeTypeParameters = void 0, gi(
3218
+ t,
3219
+ e,
3220
+ t.config.documentation.copyDocDefinitions.interfaces,
3221
+ l,
3222
+ t.apiModule
3223
+ ), l.members.length === 0 && (l.members = void 0), l;
3224
+ }
3225
+ function Wo(e, t, n) {
3226
+ const i = e.initializer, a = i.body;
3227
+ let r, s;
3228
+ for (let d = 0; d < a.statements.length; ++d) {
3229
+ const m = a.statements[d];
3230
+ if (o.isVariableStatement(m)) {
3231
+ const f = m.declarationList.declarations[0];
3232
+ if (!o.isIdentifier(f.name) || f.name?.escapedText !== "TypedBase")
3233
+ continue;
3234
+ let u = f.initializer.expression.expression;
3235
+ for (; o.isCallExpression(u); ) {
3236
+ const S = u.expression;
3237
+ r ??= [], r.push(Ee(S, u.typeArguments, n)), u = u.arguments[0];
3238
+ }
3239
+ } else o.isClassDeclaration(m) && (s = m);
3240
+ }
3241
+ if (s === void 0) {
3242
+ n.emitError(`Failed to find class declaration inside the mixin ${t}`, {
3243
+ file: n.file,
3244
+ node: e
3245
+ });
3246
+ return;
3247
+ }
3248
+ nt(
3249
+ // Skip the TBase type parameter - non-public implementation detail
3250
+ i.typeParameters.length === 1 ? void 0 : i.typeParameters.slice(1),
3251
+ !0,
3252
+ n
3253
+ ) !== void 0 && n.emitError(
3254
+ "Type parameters are not yet supported in public mixins (the first TBase type parameter is a special case). See workaround in https://webgis.esri.com/sdk/contributing/core/core/mixins#limitations-of-mixins",
3255
+ {
3256
+ file: n.file,
3257
+ node: e
3258
+ }
3259
+ ), n.mixinName = t, n.mixinMixins = r;
3260
+ const p = Ze(s, n);
3261
+ return p.kind = "mixin", p;
3262
+ }
3263
+ function _o(e, t, n) {
3264
+ const i = n.moduleHasClass;
3265
+ n.moduleHasClass = !1;
3266
+ const a = o.factory.createClassDeclaration(
3267
+ [o.factory.createModifier(o.SyntaxKind.ExportKeyword)],
3268
+ t,
3269
+ void 0,
3270
+ [
3271
+ o.factory.createHeritageClause(o.SyntaxKind.ExtendsKeyword, [
3272
+ o.factory.createExpressionWithTypeArguments(e, void 0)
3273
+ ])
3274
+ ],
3275
+ []
3276
+ ), r = Ze(a, n), s = r, l = ue(s);
3277
+ return s.kind = "interface", s.supertypes = r.mixins, r.mixins = void 0, r.superclass !== void 0 && (s.supertypes ??= [], s.supertypes.unshift(r.superclass), r.superclass = void 0), n.moduleHasClass = i, l.isMixinBaseClass = !0, s;
3278
+ }
3279
+ function Bo(e, t) {
3280
+ const n = e.declarationList.declarations;
3281
+ n.length !== 1 && t.emitError("Public variable statements must have only a single variable declarations. Found multiple.", {
3282
+ file: t.file,
3283
+ node: e
3284
+ });
3285
+ const i = n[0], a = i.name;
3286
+ if (!o.isIdentifier(a)) {
3287
+ t.config.strict && t.emitError("Expected public variable names to be an identifier.", {
3288
+ file: t.file,
3289
+ node: e
3290
+ });
3291
+ return;
3292
+ }
3293
+ const r = a.escapedText, s = t.exportDefaultName === r;
3294
+ if (tt(e) === 0 && !s && t.config.strict && t.emitError("Expected @public variable to be exported as named or default export.", {
3295
+ file: t.file,
3296
+ node: e
3297
+ }), t.mixinName !== void 0 && i.initializer !== void 0 && o.isCallExpression(i.initializer) && o.isIdentifier(i.initializer.expression) && i.initializer.expression.escapedText === t.mixinName)
3298
+ return _o(i.initializer, r, t);
3299
+ let c = i.type;
3300
+ const p = (e.declarationList.flags & o.NodeFlags.Const) !== 0;
3301
+ if (c === void 0) {
3302
+ const u = i.initializer;
3303
+ if (u !== void 0 && o.isArrowFunction(u) && p)
3304
+ return u.typeParameters?.at(0)?.name?.escapedText === "TBase" ? Wo(i, r, t) : $t(u, r, e, t);
3305
+ u === void 0 ? c = X(
3306
+ { file: t.file, node: i },
3307
+ "Public variable must have a type annotation or a default value",
3308
+ t
3309
+ ) : c = Et(u, p ? O.shallow : O.false, t.file, t);
3310
+ } else if (c = Ct(c), o.isFunctionTypeNode(c))
3311
+ return $t(c, r, e, t);
3312
+ const d = wi(), m = {
3313
+ [J]: d,
3314
+ kind: "variable",
3315
+ name: r,
3316
+ deprecated: void 0,
3317
+ summary: void 0,
3318
+ description: void 0,
3319
+ docsTags: void 0,
3320
+ source: void 0,
3321
+ type: j(c, t),
3322
+ default: void 0
3323
+ };
3324
+ return fn(m, t.jsDoc), p && c.kind === o.SyntaxKind.LiteralType || (m.default = $e(i.initializer, m.default, t.file)), ho(
3325
+ t,
3326
+ e,
3327
+ t.config.documentation.copyDocDefinitions.variables,
3328
+ m,
3329
+ t.apiModule
3330
+ ), s && (Pt(m, !0, t), t.produceDts && (d.isDefaultExported = !0)), m;
3331
+ }
3332
+ function bi(e, t, n) {
3333
+ const i = n.statementJsDocs[t];
3334
+ if (i !== void 0) {
3335
+ if (n.jsDoc = i, o.isClassDeclaration(e))
3336
+ return Ze(e, n);
3337
+ if (o.isFunctionDeclaration(e))
3338
+ return Po(e, e.name.escapedText, void 0, n);
3339
+ if (o.isInterfaceDeclaration(e))
3340
+ return Ze(e, n);
3341
+ if (o.isTypeAliasDeclaration(e))
3342
+ return Vo(e, n);
3343
+ if (o.isVariableStatement(e))
3344
+ return Bo(e, n);
3345
+ }
3346
+ }
3347
+ function Ko(e, t) {
3348
+ const n = t.apiModule.declarations, i = e.statements;
3349
+ for (let a = 0; a < i.length; ++a) {
3350
+ const r = i[a], s = bi(r, a, t);
3351
+ s !== void 0 && n.push(s);
3352
+ }
3353
+ }
3354
+ function Ho(e, t) {
3355
+ const n = e.fileName.slice(t.config.context.cwd.length), i = t.watchFiles?.get(n);
3356
+ if (i !== void 0) {
3357
+ if (i.module !== void 0)
3358
+ return i.module;
3359
+ if (i.isEmptyModule)
3360
+ return;
3361
+ }
3362
+ const a = n.slice(t.config.context.basePath.length), r = Z(a), s = Ve(r, t, !0), l = t.componentTagName === void 0 ? s : `${s}/customElement`;
3363
+ t.mixinName = void 0, t.moduleHasClass = !1, t.apiClassLikeName = void 0, t.isInLuminaMinimalExtraction = t.config.context.isLuminaMinimalExtraction;
3364
+ const c = /* @__PURE__ */ Object.create(null), p = t.localDeclarations;
3365
+ p.clear();
3366
+ const d = t.localPrivateDeclarations;
3367
+ d?.clear(), t.exportDefaultName = void 0;
3368
+ let m;
3369
+ const f = {
3370
+ class: void 0,
3371
+ default: void 0,
3372
+ named: /* @__PURE__ */ Object.create(null)
3373
+ }, u = ni(e, l, c, f);
3374
+ t.moduleContext = u;
3375
+ const S = t.implicitPublicModules?.[s];
3376
+ let C = !1;
3377
+ const v = t.isJsApi && s.startsWith("applications/");
3378
+ t.statementJsDocs.length = 0;
3379
+ for (let b = 0; b < e.statements.length; ++b) {
3380
+ const y = e.statements[b], k = y.kind === o.SyntaxKind.ClassDeclaration || y.kind === o.SyntaxKind.FunctionDeclaration || y.kind === o.SyntaxKind.InterfaceDeclaration || y.kind === o.SyntaxKind.TypeAliasDeclaration || y.kind === o.SyntaxKind.VariableStatement;
3381
+ let D;
3382
+ if (
3383
+ // Only look at web components in Lumina's dev server
3384
+ t.isInLuminaMinimalExtraction
3385
+ )
3386
+ D = y.kind === o.SyntaxKind.ClassDeclaration && t.componentTagName !== void 0 && y.heritageClauses !== void 0 && y.modifiers !== void 0 ? Re : void 0;
3387
+ else if (k) {
3388
+ if (D = ne(y, !0, t), D === void 0 && !t.config.strict) {
3389
+ const I = ze(y, !1, t, {
3390
+ description: void 0,
3391
+ docsTags: []
3392
+ }), x = y.kind === o.SyntaxKind.ClassDeclaration && t.componentTagName !== void 0 && y.heritageClauses !== void 0 && y.modifiers !== void 0;
3393
+ I?.docsTags.includes(N.private) === !0 ? x && t.config.context.includeLuminaPrivateComponents ? (D = Ce, t.isInLuminaMinimalExtraction = !0) : D = void 0 : I !== void 0 && (x || S !== void 0 && Un(y, S)) && (D = I);
3394
+ } else D === void 0 && t.componentTagName !== void 0 && t.config.context.includeLuminaPrivateComponents && y.kind === o.SyntaxKind.ClassDeclaration && // Avoid the following from being falsely considered a component class
3395
+ // https://devtopia.esri.com/WebGIS/arcgis-web-components/blob/223ebb8df0067bf332013a4cfc6032152c14fe58/packages/common-packages/common-components/src/components/ramp-color/ramp-color.tsx#L19-L26
3396
+ y.heritageClauses !== void 0 && y.modifiers !== void 0 && (D = Ce, t.isInLuminaMinimalExtraction = !0);
3397
+ D !== void 0 && !t.config.strict && y.kind === o.SyntaxKind.ClassDeclaration && t.componentTagName !== void 0 && y.heritageClauses !== void 0 && y.modifiers !== void 0 && D.docsTags.includes(N.internal) && (C = !0);
3398
+ }
3399
+ if (t.statementJsDocs[b] = D, k || b === 0 && (m = ne(e, !0, t)), D !== void 0)
3400
+ v && D.docsTags.push(N.internal), p.add(
3401
+ (y.name ?? y.declarationList?.declarations[0].name).escapedText
3402
+ ), y.kind === o.SyntaxKind.ClassDeclaration ? t.apiClassLikeName = y.name?.escapedText : y.kind === o.SyntaxKind.VariableStatement && y.declarationList.declarations[0].initializer?.kind === o.SyntaxKind.ArrowFunction && (t.apiClassLikeName = y.declarationList.declarations[0].name.escapedText);
3403
+ else if (o.isImportDeclaration(y)) {
3404
+ const I = y.importClause;
3405
+ if (I === void 0)
3406
+ continue;
3407
+ const x = y.moduleSpecifier.text, g = !x.startsWith("."), K = g ? x : Z(x), w = g ? void 0 : Ve(pt(r, K), t), $ = w === void 0 ? void 0 : t.config.types.typeReplacements[w];
3408
+ if (In(y, t), I.name !== void 0) {
3409
+ const E = I.name.escapedText, T = $?.[E], R = T?.[1], A = T?.[0] ?? w;
3410
+ c[E] = {
3411
+ type: T?.[2] ?? "default",
3412
+ modulePath: A,
3413
+ rawSpecifier: x,
3414
+ replacementName: R,
3415
+ actualName: void 0,
3416
+ wasUsed: !1
3417
+ };
3418
+ }
3419
+ const B = I.namedBindings;
3420
+ if (B === void 0)
3421
+ continue;
3422
+ if (B.kind === o.SyntaxKind.NamespaceImport) {
3423
+ const E = B.name.escapedText, T = $?.[E], R = T?.[1], A = T?.[0] ?? w;
3424
+ c[E] = {
3425
+ type: "*",
3426
+ modulePath: A,
3427
+ rawSpecifier: x,
3428
+ replacementName: R,
3429
+ actualName: void 0,
3430
+ wasUsed: !1
3431
+ };
3432
+ } else
3433
+ for (let E = 0; E < B.elements.length; ++E) {
3434
+ const T = B.elements[E], R = T.propertyName === void 0 ? void 0 : T.propertyName.escapedText ?? T.propertyName.text, A = T.name.escapedText, H = $?.[R ?? A], V = H?.[1], G = H?.[0] ?? w;
3435
+ c[A] = {
3436
+ type: H?.[2] ?? "named",
3437
+ modulePath: G,
3438
+ rawSpecifier: x,
3439
+ replacementName: V,
3440
+ actualName: H === void 0 ? R : void 0,
3441
+ wasUsed: !1
3442
+ };
3443
+ }
3444
+ } else if (o.isExportAssignment(y)) {
3445
+ if (o.isIdentifier(y.expression)) {
3446
+ const I = y.expression.escapedText;
3447
+ t.exportDefaultName = I, !p.has(I) && d?.has(I) === !0 && S?.pendingNames?.has("default") === !0 && d.set(I, Math.abs(d.get(I)));
3448
+ }
3449
+ } else if (o.isExportDeclaration(y) && y.moduleSpecifier !== void 0 && !t.isInLuminaMinimalExtraction) {
3450
+ if (ne(y, !0, t) !== void 0) {
3451
+ const x = y.moduleSpecifier.text, g = !x.startsWith("."), K = g ? x : pt(r, Z(x)), w = g ? void 0 : Ve(K, t);
3452
+ u.reExports ??= [];
3453
+ const $ = [];
3454
+ if (y.exportClause?.kind === o.SyntaxKind.NamedExports) {
3455
+ const B = y.exportClause.elements;
3456
+ for (let E = 0; E < B.length; ++E) {
3457
+ const T = B[E], R = De(T.name), A = T.propertyName === void 0 ? void 0 : De(T.propertyName), H = A ?? R, V = A === void 0 ? void 0 : R;
3458
+ $.push({
3459
+ exportName: H,
3460
+ aliasName: V,
3461
+ isTypeOnly: y.isTypeOnly
3462
+ }), !t.config.strict && w !== void 0 && je(w, K, H, t);
3463
+ }
3464
+ } else
3465
+ $.push({
3466
+ exportName: "*",
3467
+ aliasName: y.exportClause === void 0 ? void 0 : De(y.exportClause.name),
3468
+ isTypeOnly: !1
3469
+ }), !t.config.strict && w !== void 0 && je(w, K, "*", t);
3470
+ u.reExports.push({
3471
+ modulePath: w,
3472
+ externalSpecifier: g ? x : void 0,
3473
+ isTypeOnly: y.isTypeOnly,
3474
+ specifiers: $
3475
+ });
3476
+ }
3477
+ } else o.isModuleDeclaration(y) ? ne(y, !0, t) !== void 0 && (u.namespaces ??= [], u.namespaces.push(y.getFullText(e))) : d !== void 0 && k && d.set(
3478
+ (y.name ?? y.declarationList?.declarations[0].name).escapedText,
3479
+ -b
3480
+ );
3481
+ }
3482
+ const P = t.config.types.typeReplacements[s];
3483
+ if (P !== void 0) {
3484
+ const b = Object.keys(P);
3485
+ for (let y = 0; y < b.length; ++y) {
3486
+ const k = b[y], D = P[k];
3487
+ c[k] = {
3488
+ type: D[2],
3489
+ modulePath: D[0],
3490
+ rawSpecifier: "",
3491
+ replacementName: D[1],
3492
+ actualName: void 0,
3493
+ wasUsed: !1
3494
+ };
3495
+ }
3496
+ }
3497
+ t.moduleHasAccessorLikeClass = c.subclass?.rawSpecifier.includes("accessorSupport") ?? !1;
3498
+ const h = {
3499
+ [J]: u,
3500
+ kind: "javascript-module",
3501
+ path: s,
3502
+ sourcePath: n,
3503
+ deprecated: void 0,
3504
+ description: void 0,
3505
+ docsTags: void 0,
3506
+ summary: void 0,
3507
+ declarations: [],
3508
+ exports: []
3509
+ };
3510
+ if (t.apiModule = h, Ko(e, t), d !== void 0) {
3511
+ let b = !1;
3512
+ do {
3513
+ b = !1;
3514
+ for (const [y, k] of d)
3515
+ if (k > 0 || Object.is(k, 0)) {
3516
+ d.delete(y), p.add(y), b = !0;
3517
+ const D = e.statements[k], I = ze(D, !1, t, {
3518
+ description: void 0,
3519
+ docsTags: []
3520
+ });
3521
+ if (I === void 0)
3522
+ continue;
3523
+ if (I.docsTags.includes(N.private))
3524
+ t.emitError(
3525
+ `Declaration "${y}" is marked @private but is used by public API in the same file. Either refactor our its reference or remove the @private tag.`,
3526
+ {
3527
+ file: e,
3528
+ node: D
3529
+ }
3530
+ );
3531
+ else {
3532
+ C && !I.docsTags.includes(N.internal) && I.docsTags.push(N.internal), t.statementJsDocs[k] = I;
3533
+ const g = bi(D, k, t);
3534
+ g !== void 0 && h.declarations.push(g);
3535
+ }
3536
+ }
3537
+ } while (b);
3538
+ }
3539
+ if (h.declarations.length === 0 && u.reExports === void 0 && u.namespaces === void 0) {
3540
+ i !== void 0 && (i.isEmptyModule = !0);
3541
+ return;
3542
+ }
3543
+ t.moduleMap.set(s, h), t.watchFiles !== void 0 && (i === void 0 ? t.watchFiles.set(h.sourcePath, {
3544
+ file: u.file,
3545
+ module: h,
3546
+ previousModule: void 0,
3547
+ isEmptyModule: !1,
3548
+ dependencies: /* @__PURE__ */ new Set(),
3549
+ dependents: /* @__PURE__ */ new Map(),
3550
+ docLinks: [],
3551
+ hasDirtyLinks: !1,
3552
+ wasRemoved: !1
3553
+ }) : i.module = h);
3554
+ const L = t.componentTagName === void 0 ? h.exports[0]?.declaration.name : void 0;
3555
+ h.exports.length === 0 && (h.exports = void 0);
3556
+ for (let b = 0; b < h.declarations.length; ++b) {
3557
+ const y = h.declarations[b];
3558
+ (y.kind === "class" || y.kind === "mixin") && (f.class = y), L === y.name && (f.default = y), f.named[y.name] = y;
3559
+ }
3560
+ return m !== void 0 && (t.moduleHasClass ? t.emitError(
3561
+ "A module that exports a class must have JSDoc attached to the class, rather than module-top JSDoc. See https://webgis.esri.com/references/api-extractor/api-node-kinds#module-level-documentation",
3562
+ {
3563
+ file: e,
3564
+ start: 0,
3565
+ length: e.statements[0]?.getStart(e) ?? 1,
3566
+ node: void 0
3567
+ }
3568
+ ) : (v && m.docsTags.push(N.internal), pn(h, m))), h;
3569
+ }
3570
+ async function Da(e) {
3571
+ const t = [], n = e.basePath, i = e.config.context.excludedDirectories, a = `${e.basePath}components/`, r = [], s = !e.config.strict || e.config.context.includeLuminaPrivateComponents;
3572
+ e.componentPathMapping = /* @__PURE__ */ Object.create(null);
3573
+ const l = e.isComponentProject ? (m) => zi(m, a) : () => !1, c = e.isComponentProject ? p : d;
3574
+ if (e.program === void 0)
3575
+ await Ri(n, i, async (m) => {
3576
+ if (Mi(m))
3577
+ return;
3578
+ const f = await Lt(m);
3579
+ if (m.includes(".stories.")) {
3580
+ const C = f.toString("utf8");
3581
+ Vt(C, m, e);
3582
+ return;
3583
+ }
3584
+ const u = l(m);
3585
+ if (u && s || // Exclude files before paying .toString() cost
3586
+ f.includes(Jo) && (f.includes(qo) || f.includes(Qo))) {
3587
+ const C = f.toString("utf8"), v = Zt(m, C);
3588
+ c(v, u);
3589
+ }
3590
+ });
3591
+ else {
3592
+ const m = e.program.getSourceFiles();
3593
+ for (let f = 0; f < m.length; ++f) {
3594
+ const u = m[f], S = u.fileName;
3595
+ if (!$o(S, e))
3596
+ continue;
3597
+ if (S.includes(".stories.")) {
3598
+ Vt(u.text, S, e);
3599
+ continue;
3600
+ }
3601
+ const C = l(S);
3602
+ (C && s || u.text.includes(xi) || u.text.includes(Di)) && c(u, C);
3603
+ }
3604
+ }
3605
+ function p(m, f) {
3606
+ r.push(m);
3607
+ const u = f ? ji(m.text)?.[0] : void 0;
3608
+ if (u !== void 0) {
3609
+ const S = m.fileName.slice(e.basePath.length);
3610
+ Ji(u, e, S);
3611
+ }
3612
+ }
3613
+ function d(m) {
3614
+ e.file = m;
3615
+ const f = Ho(m, e);
3616
+ f !== void 0 && t.push(f);
3617
+ }
3618
+ for (let m = 0; m < r.length; ++m)
3619
+ d(r[m]);
3620
+ if (e.implicitPublicModules !== void 0) {
3621
+ let m = !1;
3622
+ do {
3623
+ m = !1;
3624
+ for (const f in e.implicitPublicModules) {
3625
+ const u = e.implicitPublicModules[f], S = u.actualModulePath ?? f, C = e.moduleMap.get(S);
3626
+ if (u.extractedNames === void 0)
3627
+ continue;
3628
+ if (u.pendingNames !== void 0) {
3629
+ const L = e.watchFiles?.get(e.config.context.basePath + u.sourcePath);
3630
+ let y = !(L !== void 0 && L.module === void 0 && !L.isEmptyModule);
3631
+ const k = C === void 0 ? void 0 : me(C).index;
3632
+ for (const D of u.pendingNames)
3633
+ if (!u.extractedNames.has(D) && (k === void 0 || (D === "default" ? k.default === void 0 : k.named[D] === void 0))) {
3634
+ y = !1;
3635
+ break;
3636
+ }
3637
+ if (y)
3638
+ continue;
3639
+ }
3640
+ if (C !== void 0) {
3641
+ t.splice(t.indexOf(C), 1);
3642
+ const L = e.watchFiles?.get(C.sourcePath);
3643
+ L !== void 0 && (L.module = void 0);
3644
+ }
3645
+ m = !0, u.extractedNames = u.pendingNames === void 0 ? void 0 : new Set(u.pendingNames);
3646
+ let v = e.basePath + u.sourcePath, P = !1, h = e.program?.getSourceFile(v) ?? e.program?.getSourceFile(`${v}.ts`) ?? e.program?.getSourceFile(`${v}.tsx`) ?? e.program?.getSourceFile(`${v}.d.ts`);
3647
+ if (h === void 0 && (h = e.program?.getSourceFile(`${v}/index.ts`) ?? e.program?.getSourceFile(`${v}/index.tsx`) ?? e.program?.getSourceFile(`${v}/index.d.ts`), h !== void 0 && (P = !0)), e.program === void 0) {
3648
+ if (Z(v) === v) {
3649
+ const b = v;
3650
+ v = ye(`${b}.ts`) ? `${b}.ts` : ye(`${b}.tsx`) ? `${b}.tsx` : ye(`${b}.d.ts`) ? `${b}.d.ts` : void 0, v === void 0 && (v = ye(`${b}/index.ts`) ? `${b}/index.ts` : ye(`${b}/index.tsx`) ? `${b}/index.tsx` : ye(`${b}/index.d.ts`) ? `${b}/index.d.ts` : void 0, v !== void 0 && (P = !0));
3651
+ }
3652
+ v !== void 0 && (h = Zt(v, await Lt(v, "utf8")));
3653
+ }
3654
+ if (h !== void 0) {
3655
+ const L = h.fileName.slice(e.basePath.length);
3656
+ L !== u.sourcePath && (u.sourcePath = L), P && (u.actualModulePath = `${S}/index`), d(h);
3657
+ }
3658
+ }
3659
+ } while (m);
3660
+ }
3661
+ return t;
3662
+ }
3663
+ const $o = (e, t) => zo(e) && jo(e, t), zo = (e) => (e.endsWith(".ts") || e.endsWith(".tsx")) && !Mi(e), Mi = (e) => e.includes("__test") || e.includes(".e2e.") || e.includes(".spec.") || e.includes(".test."), jo = (e, t) => e.startsWith(t.basePath) && !t.config.context.excludedDirectories.has(
3664
+ Pn(e.slice(t.basePath.length))
3665
+ ) && !e.includes("node_modules"), Yt = 32, Jo = 64, xi = "@public", qo = Buffer.from(xi), Di = "@internal", Qo = Buffer.from(Di);
3666
+ async function Ra(e) {
3667
+ await ei(e) && await Ri(e, /* @__PURE__ */ new Set(), $i);
3668
+ }
3669
+ async function Ri(e, t, n) {
3670
+ const i = [], a = [];
3671
+ for await (const d of await It(e)) {
3672
+ const m = `${e}${d.name}`;
3673
+ d.isDirectory() && !t.has(d.name) ? a.push(m) : (d.name.endsWith(".ts") || d.name.endsWith(".tsx")) && i.push(m);
3674
+ }
3675
+ const r = i.length === 0 ? [] : [i], s = Promise.withResolvers();
3676
+ function l(d) {
3677
+ s.reject(d), r.length = 0;
3678
+ }
3679
+ let c = Yt;
3680
+ for (let d = 0; d < Yt; ++d)
3681
+ p().catch(l);
3682
+ async function p() {
3683
+ for (; ; )
3684
+ if (r.length === 0 && a.length > 0) {
3685
+ const d = a.shift(), m = [];
3686
+ for await (const f of await It(d, { recursive: !0 }))
3687
+ f.isFile() && (f.name.endsWith(".ts") || f.name.endsWith(".tsx")) && m.push(`${Ii(f.parentPath)}/${f.name}`);
3688
+ if (m.length === 0)
3689
+ continue;
3690
+ r.push(m);
3691
+ } else if (r.length > 0) {
3692
+ const d = r[0], m = d.shift();
3693
+ d.length === 0 && r.shift(), await n(m);
3694
+ } else {
3695
+ c -= 1, c === 0 && s.resolve();
3696
+ return;
3697
+ }
3698
+ }
3699
+ return await s.promise;
3700
+ }
3701
+ function Zt(e, t) {
3702
+ return o.createSourceFile(
3703
+ e,
3704
+ t,
3705
+ {
3706
+ languageVersion: o.ScriptTarget.Latest,
3707
+ impliedNodeFormat: o.ModuleKind.ESNext,
3708
+ // TypeScript parses too much around @param, @property and @deprecated tags
3709
+ // It also parses out inline tags. We have to put them back together
3710
+ // (overhead and complexity). Plus, it is a bit too tolerant - we want
3711
+ // to disallow some ambiguous behavior to improve consistency.
3712
+ // So, we disable JSDoc parsing and do it ourselves.
3713
+ jsDocParsingMode: o.JSDocParsingMode.ParseNone
3714
+ },
3715
+ !1,
3716
+ e.endsWith("ts") ? o.ScriptKind.TS : o.ScriptKind.TSX
3717
+ );
3718
+ }
3719
+ export {
3720
+ Tn as a,
3721
+ Pa as b,
3722
+ Ra as c,
3723
+ ba as d,
3724
+ Da as e,
3725
+ Ma as f,
3726
+ zo as g,
3727
+ jo as h,
3728
+ $o as i,
3729
+ Mi as j,
3730
+ Zt as k,
3731
+ ha as l,
3732
+ Ea as m,
3733
+ Ot as n,
3734
+ Ft as o,
3735
+ Ca as p,
3736
+ Ta as r,
3737
+ xa as t
3738
+ };