@arcgis/lumina-compiler 5.2.0-next.2 → 5.2.0-next.20
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.
- package/dist/context/index.d.ts +158 -296
- package/dist/context/types.d.ts +18 -34
- package/dist/defaultAssetsUrl.d.ts +6 -6
- package/dist/dependencies/discover.d.ts +43 -35
- package/dist/dependencies/updateLumina.d.ts +10 -11
- package/dist/docs/vsCodeCustomData/types.d.ts +5 -42
- package/dist/docs/webTypes/types.d.ts +5 -76
- package/dist/index.d.ts +20 -20
- package/dist/index.js +12 -8
- package/dist/jsxToLitHtml/config.d.ts +93 -121
- package/dist/options.d.ts +675 -0
- package/dist/puppeteerTesting/index.d.ts +18 -11
- package/dist/puppeteerTesting/index.js +104 -7
- package/dist/puppeteerTesting/puppeteer/element.d.ts +250 -217
- package/dist/puppeteerTesting/puppeteer/events.d.ts +15 -21
- package/dist/puppeteerTesting/puppeteer/page.d.ts +8 -5
- package/dist/puppeteerTesting/puppeteer/types.d.ts +130 -132
- package/dist/puppeteerTesting/vitest/matchers/index.d.ts +33 -30
- package/dist/testing/index.d.ts +4 -11
- package/dist/testing/mount.d.ts +113 -93
- package/dist/testing/wrapController.d.ts +5 -11
- package/dist/useLumina.d.ts +5 -2
- package/package.json +15 -7
- package/dist/context/logger.d.ts +0 -8
- package/dist/context/typeScript.d.ts +0 -6
- package/dist/context/utils.d.ts +0 -4
- package/dist/dependencies/arcgisCore.d.ts +0 -30
- package/dist/dependencies/index.d.ts +0 -12
- package/dist/dependencies/loaders.d.ts +0 -5
- package/dist/dependencies/lumina.d.ts +0 -3
- package/dist/dependencies/stencil.d.ts +0 -17
- package/dist/dependencies/testSetupFiles.d.ts +0 -13
- package/dist/dependencies/utils.d.ts +0 -15
- package/dist/docs/config.d.ts +0 -9
- package/dist/docs/index.d.ts +0 -10
- package/dist/docs/stencilDocsJson.d.ts +0 -130
- package/dist/docs/types.d.ts +0 -1
- package/dist/docs/vsCodeCustomData/index.d.ts +0 -16
- package/dist/docs/vsCodeCustomData/utils.d.ts +0 -3
- package/dist/docs/webTypes/description.d.ts +0 -2
- package/dist/docs/webTypes/index.d.ts +0 -19
- package/dist/docs/webTypes/utils.d.ts +0 -6
- package/dist/entrypoints/addNonLazyImports.d.ts +0 -13
- package/dist/entrypoints/config.d.ts +0 -17
- package/dist/entrypoints/dtsUtils.d.ts +0 -19
- package/dist/entrypoints/findUtils.d.ts +0 -6
- package/dist/entrypoints/handleComponentImports.d.ts +0 -13
- package/dist/entrypoints/resolveTagName.d.ts +0 -18
- package/dist/jsxToLitHtml/autoAddNothing.d.ts +0 -8
- package/dist/jsxToLitHtml/comments.d.ts +0 -19
- package/dist/jsxToLitHtml/convertProps.d.ts +0 -10
- package/dist/jsxToLitHtml/imports.d.ts +0 -27
- package/dist/jsxToLitHtml/importsConfig.d.ts +0 -17
- package/dist/jsxToLitHtml/index.d.ts +0 -20
- package/dist/jsxToLitHtml/inferPropType.d.ts +0 -40
- package/dist/jsxToLitHtml/insertRepeatCall.d.ts +0 -51
- package/dist/jsxToLitHtml/jsxVisitor.d.ts +0 -15
- package/dist/jsxToLitHtml/templateParts.d.ts +0 -17
- package/dist/jsxToLitHtml/throwOnImportingExternalized.d.ts +0 -10
- package/dist/jsxToLitHtml/types.d.ts +0 -74
- package/dist/jsxToLitHtml/utils.d.ts +0 -14
- package/dist/loader/css.d.ts +0 -20
- package/dist/loader/extractor.d.ts +0 -2
- package/dist/loader/index.d.ts +0 -21
- package/dist/loader/lazy.d.ts +0 -21
- package/dist/loader/storybookApiJson.d.ts +0 -6
- package/dist/plugins/buildCdn.d.ts +0 -73
- package/dist/plugins/buildWebApp.d.ts +0 -3
- package/dist/plugins/buildWrappers.d.ts +0 -4
- package/dist/plugins/configureVite.d.ts +0 -20
- package/dist/plugins/externalizeDependencies.d.ts +0 -30
- package/dist/plugins/handleDynamicAssets.d.ts +0 -8
- package/dist/plugins/handleStaticAssets.d.ts +0 -9
- package/dist/plugins/loadLitCss.d.ts +0 -127
- package/dist/plugins/printTotalBuildSize.d.ts +0 -7
- package/dist/plugins/provideAssets.d.ts +0 -35
- package/dist/plugins/setAssetsPath.d.ts +0 -10
- package/dist/plugins/updatePackageJson.d.ts +0 -14
- package/dist/publicTypes.d.ts +0 -653
- package/dist/puppeteerTesting/globalSetup.d.ts +0 -73
- package/dist/puppeteerTesting/injected.d.ts +0 -8
- package/dist/puppeteerTesting/puppeteer/browser.d.ts +0 -6
- package/dist/puppeteerTesting/vitest/matchers/attributes.d.ts +0 -4
- package/dist/puppeteerTesting/vitest/matchers/classList.d.ts +0 -4
- package/dist/puppeteerTesting/vitest/matchers/events.d.ts +0 -7
- package/dist/puppeteerTesting/vitest/matchers/text.d.ts +0 -2
- package/dist/puppeteerTesting/vitest/matchers/utils.d.ts +0 -1
- package/dist/puppeteerTesting/vitest/runner.d.ts +0 -19
- package/dist/puppeteerTesting/vitest/setupFile.d.ts +0 -1
- package/dist/puppeteerTesting/vitest/types.d.ts +0 -6
- package/dist/testing/failOnConsole.d.ts +0 -6
- package/dist/testing/setupFile.d.ts +0 -1
- package/dist/testing/snapshotSerializer.d.ts +0 -12
- package/dist/tests/utils.d.ts +0 -4
- package/dist/transformers/customElementDeclaration.d.ts +0 -2
- package/dist/transformers/index.d.ts +0 -20
- package/dist/transformers/injectRuntimeOptions.d.ts +0 -18
- package/dist/transformers/liftDecorators.d.ts +0 -21
- package/dist/transformers/members.d.ts +0 -10
- package/dist/transformers/property.d.ts +0 -10
- package/dist/transformers/propertyOptions.d.ts +0 -110
- package/dist/transformers/utils.d.ts +0 -9
|
@@ -1,43 +1,6 @@
|
|
|
1
1
|
export type VsCodeDocOptions = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
export type VsCodeHtmlDocs = {
|
|
8
|
-
$schema: string;
|
|
9
|
-
version: number;
|
|
10
|
-
tags: VsCodeTag[];
|
|
11
|
-
};
|
|
12
|
-
export type VsCodeCssDocs = {
|
|
13
|
-
$schema: string;
|
|
14
|
-
version: number;
|
|
15
|
-
properties: VsCodeCssProperty[];
|
|
16
|
-
pseudoElements: VsCodeCssProperty[];
|
|
17
|
-
};
|
|
18
|
-
export type VsCodeTag = {
|
|
19
|
-
name: string;
|
|
20
|
-
description?: string;
|
|
21
|
-
attributes?: VsCodeTagAttribute[];
|
|
22
|
-
references?: VsCodeReference[];
|
|
23
|
-
};
|
|
24
|
-
type VsCodeCssProperty = {
|
|
25
|
-
name: string;
|
|
26
|
-
description?: string;
|
|
27
|
-
values?: VsCodeValue[];
|
|
28
|
-
references?: VsCodeReference[];
|
|
29
|
-
};
|
|
30
|
-
export type VsCodeTagAttribute = {
|
|
31
|
-
name: string;
|
|
32
|
-
description?: string;
|
|
33
|
-
values?: VsCodeValue[];
|
|
34
|
-
references?: VsCodeReference[];
|
|
35
|
-
};
|
|
36
|
-
export type VsCodeValue = {
|
|
37
|
-
name: string;
|
|
38
|
-
};
|
|
39
|
-
type VsCodeReference = {
|
|
40
|
-
name: string;
|
|
41
|
-
url: string;
|
|
42
|
-
};
|
|
43
|
-
export {};
|
|
2
|
+
/** @default "docs/vscode.html-custom-data.json" */
|
|
3
|
+
htmlFileName?: string;
|
|
4
|
+
/** @default "docs/vscode.css-custom-data.json" */
|
|
5
|
+
cssFileName?: string;
|
|
6
|
+
};
|
|
@@ -1,77 +1,6 @@
|
|
|
1
1
|
export type WebTypesOptions = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* "web-types.json" has TypeScript definitions, but those are in a package that
|
|
9
|
-
* has a bunch of Vue dependencies, which we don't want. Opened an issue:
|
|
10
|
-
* https://github.com/JetBrains/web-types/issues/83
|
|
11
|
-
*/
|
|
12
|
-
export type WebTypes = {
|
|
13
|
-
["$schema"]: string;
|
|
14
|
-
name: string;
|
|
15
|
-
version: string;
|
|
16
|
-
["description-markup"]: "html" | "markdown" | "none";
|
|
17
|
-
["default-icon"]?: string;
|
|
18
|
-
contributions?: {
|
|
19
|
-
html?: {
|
|
20
|
-
elements?: readonly WebTypesElement[];
|
|
21
|
-
tags?: readonly WebTypesElement[];
|
|
22
|
-
};
|
|
23
|
-
css?: {
|
|
24
|
-
properties?: WebTypesCssProperty[];
|
|
25
|
-
["pseudo-elements"]?: WebTypesPseudoElement[];
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
export type WebTypesElement = {
|
|
30
|
-
name: string;
|
|
31
|
-
description: string;
|
|
32
|
-
["doc-url"]?: string;
|
|
33
|
-
attributes: WebTypesAttribute[];
|
|
34
|
-
slots?: WebTypesSlot[];
|
|
35
|
-
js?: WebTypesJsProperties;
|
|
36
|
-
};
|
|
37
|
-
export type WebTypesAttribute = {
|
|
38
|
-
name: string;
|
|
39
|
-
description?: string;
|
|
40
|
-
default?: string;
|
|
41
|
-
value: WebTypesValue;
|
|
42
|
-
required?: boolean;
|
|
43
|
-
};
|
|
44
|
-
type WebTypesSlot = {
|
|
45
|
-
name?: string;
|
|
46
|
-
description?: string;
|
|
47
|
-
};
|
|
48
|
-
type WebTypesValue = {
|
|
49
|
-
type?: string[] | string;
|
|
50
|
-
};
|
|
51
|
-
type WebTypesJsProperties = {
|
|
52
|
-
properties: WebTypesJsProperty[];
|
|
53
|
-
events: WebTypesEvent[];
|
|
54
|
-
};
|
|
55
|
-
export type WebTypesJsProperty = {
|
|
56
|
-
name: string;
|
|
57
|
-
description?: string;
|
|
58
|
-
type?: string;
|
|
59
|
-
default?: string;
|
|
60
|
-
};
|
|
61
|
-
export type WebTypesEvent = {
|
|
62
|
-
name: string;
|
|
63
|
-
type?: string;
|
|
64
|
-
description?: string;
|
|
65
|
-
};
|
|
66
|
-
export type WebTypesPseudoElement = {
|
|
67
|
-
name: string;
|
|
68
|
-
description?: string;
|
|
69
|
-
docUrl?: string;
|
|
70
|
-
arguments?: boolean;
|
|
71
|
-
deprecated?: boolean;
|
|
72
|
-
};
|
|
73
|
-
export type WebTypesCssProperty = {
|
|
74
|
-
name: string;
|
|
75
|
-
description?: string;
|
|
76
|
-
};
|
|
77
|
-
export {};
|
|
2
|
+
/** @default "docs/web-types.json" */
|
|
3
|
+
webTypesFileName?: string;
|
|
4
|
+
/** Adds an icon link to the web-types.json */
|
|
5
|
+
defaultIcon?: string;
|
|
6
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { initializeComponentDependencies } from
|
|
2
|
-
import { updateLuminaTs } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export {
|
|
6
|
-
export type
|
|
1
|
+
import type { initializeComponentDependencies } from "./dependencies/discover.js";
|
|
2
|
+
import type { updateLuminaTs } from "./dependencies/updateLumina.js";
|
|
3
|
+
import type { alwaysAttributes, htmlAlwaysAttributes, mathMlElements, nativeAlwaysAttributes, nativeEvents, propertyToAttributeMappings, svgElements } from "./jsxToLitHtml/config.js";
|
|
4
|
+
|
|
5
|
+
export { useLumina } from "./useLumina.js";
|
|
6
|
+
export type * from "./options.js";
|
|
7
|
+
export { inferCdnUrl } from "./defaultAssetsUrl.js";
|
|
8
|
+
export { type CompilerContext } from "./context/index.js";
|
|
9
|
+
|
|
7
10
|
/**
|
|
8
|
-
* These are exposed only for usage by the
|
|
11
|
+
* These are exposed only for usage by the \@arcgis/stencil-to-lumina codemod
|
|
9
12
|
*
|
|
10
|
-
* @
|
|
13
|
+
* @internal
|
|
11
14
|
*/
|
|
12
|
-
export
|
|
15
|
+
export const exportsForCodemod: {
|
|
13
16
|
initializeComponentDependencies: typeof initializeComponentDependencies;
|
|
14
17
|
updateLuminaTs: typeof updateLuminaTs;
|
|
15
|
-
propertyToAttributeMappings:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
nativeAlwaysAttributes: Set<string>;
|
|
24
|
-
htmlAlwaysAttributes: Record<string, Set<string> | undefined>;
|
|
25
|
-
};
|
|
18
|
+
propertyToAttributeMappings: typeof propertyToAttributeMappings;
|
|
19
|
+
nativeEvents: typeof nativeEvents;
|
|
20
|
+
svgElements: typeof svgElements;
|
|
21
|
+
mathMlElements: typeof mathMlElements;
|
|
22
|
+
alwaysAttributes: typeof alwaysAttributes;
|
|
23
|
+
nativeAlwaysAttributes: typeof nativeAlwaysAttributes;
|
|
24
|
+
htmlAlwaysAttributes: typeof htmlAlwaysAttributes;
|
|
25
|
+
};
|
package/dist/index.js
CHANGED
|
@@ -2806,11 +2806,11 @@ const le = {
|
|
|
2806
2806
|
apiJson: "docs/api.json",
|
|
2807
2807
|
stencilLikeDocsJson: "docs/docs.json"
|
|
2808
2808
|
}, Ze = (e) => e.viteConfig.root.includes("/test-packages/") ? 2 : void 0;
|
|
2809
|
-
async function Ki(e, t, i
|
|
2810
|
-
const
|
|
2811
|
-
if (
|
|
2809
|
+
async function Ki(e, t, i = O()) {
|
|
2810
|
+
const s = Fn(e, i), r = m.join(t, "lumina.ts"), a = await _(r) ? await H(r, "utf8") : "";
|
|
2811
|
+
if (a.trim().replaceAll(`\r
|
|
2812
2812
|
`, `
|
|
2813
|
-
`) ===
|
|
2813
|
+
`) === s.trim())
|
|
2814
2814
|
return !1;
|
|
2815
2815
|
if (process.env.CI)
|
|
2816
2816
|
throw Error(
|
|
@@ -2818,14 +2818,14 @@ async function Ki(e, t, i, s, r = O()) {
|
|
|
2818
2818
|
"@arcgis/lumina:updateLuminaTs",
|
|
2819
2819
|
`lumina.ts is out of date. Start the vite dev server or build locally at least once to update lumina.ts and commit the updated file. Tried to write the following content:
|
|
2820
2820
|
|
|
2821
|
-
${
|
|
2821
|
+
${s}
|
|
2822
2822
|
|
|
2823
2823
|
Current content:
|
|
2824
2824
|
|
|
2825
|
-
${
|
|
2825
|
+
${a}`
|
|
2826
2826
|
)
|
|
2827
2827
|
);
|
|
2828
|
-
return ei(
|
|
2828
|
+
return ei(r, s), !0;
|
|
2829
2829
|
}
|
|
2830
2830
|
function Fn(e, t = O()) {
|
|
2831
2831
|
const i = e.filter((d) => d.type === "@arcgis/lumina").map((d) => `
|
|
@@ -3204,6 +3204,10 @@ class $ {
|
|
|
3204
3204
|
* A utility for making Vite copy assets to the output folder during build or
|
|
3205
3205
|
* making Vite serve them when running in serve mode
|
|
3206
3206
|
*
|
|
3207
|
+
* @public
|
|
3208
|
+
* @param assets
|
|
3209
|
+
* @param transformers
|
|
3210
|
+
* @param apply
|
|
3207
3211
|
* @example
|
|
3208
3212
|
* ```ts
|
|
3209
3213
|
* // vite.config.ts
|
|
@@ -5279,7 +5283,7 @@ function Ia(e) {
|
|
|
5279
5283
|
).join(`
|
|
5280
5284
|
`);
|
|
5281
5285
|
return `
|
|
5282
|
-
/** @deprecated since 5.0. React wrappers are not needed in React 19 or above. Use
|
|
5286
|
+
/** @deprecated since 5.0. React wrappers are not needed in React 19 or above. Use \`<${e.tagName} />\` directly. */
|
|
5283
5287
|
export const ${e.pascalCaseName} = /*@__PURE__*/ createWrapper(
|
|
5284
5288
|
getReactWrapperOptions(
|
|
5285
5289
|
"${e.tagName}" as unknown as HTML${e.pascalCaseName}Element,
|
|
@@ -1,42 +1,25 @@
|
|
|
1
|
-
export declare const fragmentName = "Fragment";
|
|
2
|
-
export declare const dynamicHtmlTagName = "DynamicHtmlTag";
|
|
3
|
-
export declare const dynamicSvgTagName = "DynamicSvgTag";
|
|
4
|
-
/**
|
|
5
|
-
* Using symbols rather than strings for these so that the type system forces us
|
|
6
|
-
* to handle the dynamic tag name case.
|
|
7
|
-
*/
|
|
8
|
-
export declare const dynamicHtmlSymbol: unique symbol;
|
|
9
|
-
export declare const dynamicSvgSymbol: unique symbol;
|
|
10
|
-
/**
|
|
11
|
-
* When Stencil encounters a JSX prop like "onArcgisClick", it converts the
|
|
12
|
-
* first letter of the event name ("ArcgisClick") to lower case, and takes the
|
|
13
|
-
* rest as is ("arcgisClick").
|
|
14
|
-
*
|
|
15
|
-
* But, Preact, React 19 and Lit (Lit JSX in turn) don't do any case
|
|
16
|
-
* conversion so you have to use "onarcgisClick" instead.
|
|
17
|
-
*
|
|
18
|
-
* This means, if you are consuming web component authored in Stencil, it's
|
|
19
|
-
* JSX typings may wrongly include properties like "onArcgisClick" rather
|
|
20
|
-
* than "onarcgisClick".
|
|
21
|
-
*
|
|
22
|
-
* When consuming Stencil typings in a Lit project, we are creating a mapped
|
|
23
|
-
* type that fixes the casing difference. But just in case any place slips
|
|
24
|
-
* through, this flag is used to normalize the casing.
|
|
25
|
-
*/
|
|
26
|
-
export declare const shouldNormalizeCustomElementEventCasing = true;
|
|
27
1
|
/**
|
|
28
2
|
* Always set these properties as attributes on all elements
|
|
3
|
+
*
|
|
4
|
+
* @internal
|
|
29
5
|
*/
|
|
30
|
-
export
|
|
6
|
+
export const alwaysAttributes: Set<string>;
|
|
7
|
+
|
|
31
8
|
/**
|
|
32
9
|
* Always set these properties as attributes on non-custom-elements
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
33
12
|
*/
|
|
34
|
-
export
|
|
13
|
+
export const nativeAlwaysAttributes: Set<string>;
|
|
14
|
+
|
|
35
15
|
/**
|
|
36
16
|
* These don't exist as a property, only as an attribute.
|
|
37
17
|
* Or, the property is read-only, but the attribute is not.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
38
20
|
*/
|
|
39
|
-
export
|
|
21
|
+
export const htmlAlwaysAttributes: Record<string, Set<string> | undefined>;
|
|
22
|
+
|
|
40
23
|
/**
|
|
41
24
|
* The mappings between native DOM property and the equivalent attribute it
|
|
42
25
|
* reflects to.
|
|
@@ -44,81 +27,93 @@ export declare const htmlAlwaysAttributes: Record<string, Set<string> | undefine
|
|
|
44
27
|
* This list was generated using the ./extractPropertyToAttributeMappings.js
|
|
45
28
|
* script.
|
|
46
29
|
*
|
|
30
|
+
* @internal
|
|
47
31
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
32
|
+
export interface PropertyToAttributeMappings {
|
|
33
|
+
/**
|
|
34
|
+
* Mappings that are common to all HTML elements
|
|
35
|
+
*
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
readonly common: Required<ElementPropertyToAttributeMappings>;
|
|
39
|
+
/**
|
|
40
|
+
* Mappings that are specific to a given HTML element
|
|
41
|
+
*
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
readonly perElement: Record<string, ElementPropertyToAttributeMappings | undefined>;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** @internal */
|
|
48
|
+
export interface ElementPropertyToAttributeMappings {
|
|
49
|
+
/**
|
|
50
|
+
* This list is only used to apply an optional performance optimization.
|
|
51
|
+
* If it gets out of date or is missing some properties, it's not a big deal.
|
|
52
|
+
*
|
|
53
|
+
* This list is used to convert JSX properties with static values to
|
|
54
|
+
* an inlined HTML string that uses the equivalent attribute.
|
|
55
|
+
*
|
|
56
|
+
* Thus instead of `.property=${"1"}` final lit-html looks like `attribute=1`.
|
|
57
|
+
*
|
|
58
|
+
* Since static attributes are just part of the HTML string and not a special
|
|
59
|
+
* binding, lit-html doesn't have to waste time diffing them on re-render.
|
|
60
|
+
*
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
reflected?: Readonly<Record<string, string | undefined>>;
|
|
64
|
+
/**
|
|
65
|
+
* Unfortunately, for many DOM **properties**, when set to undefined
|
|
66
|
+
* (`el.autocapitalize = undefined`), rather than removing the attribute, they
|
|
67
|
+
* set the attribute to an `"undefined"` string (this is never a desirable
|
|
68
|
+
* outcome) or some other non-default value. This is the web platform
|
|
69
|
+
* behavior.
|
|
70
|
+
*
|
|
71
|
+
* lit-html also has an anti-feature of rendering `undefined` **attribute**
|
|
72
|
+
* values as `"undefined"` strings (they wanted to mirror the `.setAttribute()`
|
|
73
|
+
* behavior).
|
|
74
|
+
*
|
|
75
|
+
* Thus, the only way to unset such attributes in lit-html is to use attribute
|
|
76
|
+
* rather than property, and then add `?? nothing` to the attribute value.
|
|
77
|
+
* `nothing` is a special magic value Lit had to invent to mean
|
|
78
|
+
* "removeAttribute()"
|
|
79
|
+
*
|
|
80
|
+
* @internal
|
|
81
|
+
* @see https://github.com/lit/lit/issues/4760
|
|
82
|
+
* @see https://x.com/maxpatiiuk/status/1840567140354798003
|
|
83
|
+
*/
|
|
84
|
+
stringifiedReflected?: Readonly<Record<string, string | undefined>>;
|
|
85
|
+
/**
|
|
86
|
+
* Properties that when set to `undefined` value are actually set to
|
|
87
|
+
* `"undefined"` string.
|
|
88
|
+
*
|
|
89
|
+
* We cannot use `?? nothing` as `nothing` in property bindings acts the same
|
|
90
|
+
* as `undefined`.
|
|
91
|
+
*
|
|
92
|
+
* At the moment, all of these happen to be reset to default value when set
|
|
93
|
+
* to empty string, thus we add `?? ''` on these if potentially nullish value
|
|
94
|
+
* was provided.
|
|
95
|
+
*
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
stringifiedNonReflected?: Readonly<Record<string, "" | undefined>>;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/** @internal */
|
|
102
|
+
export const propertyToAttributeMappings: PropertyToAttributeMappings;
|
|
103
|
+
|
|
107
104
|
/**
|
|
108
105
|
* List of all DOM events settable in JSX. These event names are converted to
|
|
109
106
|
* lowercase. All others are left as authored as we can't make assumptions about
|
|
110
107
|
* what was the intended casing.
|
|
111
|
-
*/
|
|
112
|
-
export declare const nativeEvents: Set<string>;
|
|
113
|
-
/**
|
|
114
|
-
* HTML elements that do not have children and closing tags
|
|
115
108
|
*
|
|
116
|
-
*
|
|
109
|
+
* @internal
|
|
117
110
|
*/
|
|
118
|
-
export
|
|
111
|
+
export const nativeEvents: Set<string>;
|
|
112
|
+
|
|
119
113
|
/**
|
|
120
114
|
* Elements for which the `svg` function needs to be used rather than `html`.
|
|
121
115
|
*
|
|
116
|
+
* @internal
|
|
122
117
|
* @example
|
|
123
118
|
* ```tsx
|
|
124
119
|
* <svg>
|
|
@@ -133,26 +128,12 @@ export declare const voidElements: Set<string>;
|
|
|
133
128
|
*
|
|
134
129
|
* (foreign elements in HTML can be self-closing)
|
|
135
130
|
*/
|
|
136
|
-
export
|
|
137
|
-
|
|
138
|
-
* As per the spec, some HTML elements are valid inside of `<svg>`, without
|
|
139
|
-
* being escaped in `<foreignObject>`.
|
|
140
|
-
*
|
|
141
|
-
* For such, it can be ambigous whether `html` or `svg` tag should be used.
|
|
142
|
-
* If ambiguous element has non-ambiguous siblings,
|
|
143
|
-
* jsxChildToTemplateParts will get the tag from them. Otherwise,
|
|
144
|
-
* templatePartsToLitExpression will default to htmlTag, which will
|
|
145
|
-
* probably work fine in all cases.
|
|
146
|
-
*
|
|
147
|
-
* @see https://svgwg.org/svg2-draft/struct.html#SVGElement
|
|
148
|
-
* @see https://github.com/w3c/svgwg/blob/6d756e8e7159822e3e3b723756de6a025190bc68/master/definitions.xml#L281-L282
|
|
149
|
-
* @see https://discord.com/channels/1012791295170859069/1286427223712071692
|
|
150
|
-
*
|
|
151
|
-
*/
|
|
152
|
-
export declare const ambiguousHtmlSvgElements: Set<string>;
|
|
131
|
+
export const svgElements: Set<string>;
|
|
132
|
+
|
|
153
133
|
/**
|
|
154
134
|
* Elements for which the `math` function needs to be used rather than `html`
|
|
155
135
|
*
|
|
136
|
+
* @internal
|
|
156
137
|
* @example
|
|
157
138
|
* ```tsx
|
|
158
139
|
* <math>
|
|
@@ -167,13 +148,4 @@ export declare const ambiguousHtmlSvgElements: Set<string>;
|
|
|
167
148
|
*
|
|
168
149
|
* (foreign elements in HTML can be self-closing)
|
|
169
150
|
*/
|
|
170
|
-
export
|
|
171
|
-
/**
|
|
172
|
-
* Although most native elements do not contain dashes inside, there are a
|
|
173
|
-
* few exceptions. Explicitly declaring a custom element by this name is
|
|
174
|
-
* forbidden
|
|
175
|
-
*
|
|
176
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry/define#valid_custom_element_names
|
|
177
|
-
*/
|
|
178
|
-
export declare const blockListedCustomElementNames: Set<string>;
|
|
179
|
-
export {};
|
|
151
|
+
export const mathMlElements: Set<(string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string | string)>;
|