@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.
Files changed (102) hide show
  1. package/dist/context/index.d.ts +158 -296
  2. package/dist/context/types.d.ts +18 -34
  3. package/dist/defaultAssetsUrl.d.ts +6 -6
  4. package/dist/dependencies/discover.d.ts +43 -35
  5. package/dist/dependencies/updateLumina.d.ts +10 -11
  6. package/dist/docs/vsCodeCustomData/types.d.ts +5 -42
  7. package/dist/docs/webTypes/types.d.ts +5 -76
  8. package/dist/index.d.ts +20 -20
  9. package/dist/index.js +12 -8
  10. package/dist/jsxToLitHtml/config.d.ts +93 -121
  11. package/dist/options.d.ts +675 -0
  12. package/dist/puppeteerTesting/index.d.ts +18 -11
  13. package/dist/puppeteerTesting/index.js +104 -7
  14. package/dist/puppeteerTesting/puppeteer/element.d.ts +250 -217
  15. package/dist/puppeteerTesting/puppeteer/events.d.ts +15 -21
  16. package/dist/puppeteerTesting/puppeteer/page.d.ts +8 -5
  17. package/dist/puppeteerTesting/puppeteer/types.d.ts +130 -132
  18. package/dist/puppeteerTesting/vitest/matchers/index.d.ts +33 -30
  19. package/dist/testing/index.d.ts +4 -11
  20. package/dist/testing/mount.d.ts +113 -93
  21. package/dist/testing/wrapController.d.ts +5 -11
  22. package/dist/useLumina.d.ts +5 -2
  23. package/package.json +15 -7
  24. package/dist/context/logger.d.ts +0 -8
  25. package/dist/context/typeScript.d.ts +0 -6
  26. package/dist/context/utils.d.ts +0 -4
  27. package/dist/dependencies/arcgisCore.d.ts +0 -30
  28. package/dist/dependencies/index.d.ts +0 -12
  29. package/dist/dependencies/loaders.d.ts +0 -5
  30. package/dist/dependencies/lumina.d.ts +0 -3
  31. package/dist/dependencies/stencil.d.ts +0 -17
  32. package/dist/dependencies/testSetupFiles.d.ts +0 -13
  33. package/dist/dependencies/utils.d.ts +0 -15
  34. package/dist/docs/config.d.ts +0 -9
  35. package/dist/docs/index.d.ts +0 -10
  36. package/dist/docs/stencilDocsJson.d.ts +0 -130
  37. package/dist/docs/types.d.ts +0 -1
  38. package/dist/docs/vsCodeCustomData/index.d.ts +0 -16
  39. package/dist/docs/vsCodeCustomData/utils.d.ts +0 -3
  40. package/dist/docs/webTypes/description.d.ts +0 -2
  41. package/dist/docs/webTypes/index.d.ts +0 -19
  42. package/dist/docs/webTypes/utils.d.ts +0 -6
  43. package/dist/entrypoints/addNonLazyImports.d.ts +0 -13
  44. package/dist/entrypoints/config.d.ts +0 -17
  45. package/dist/entrypoints/dtsUtils.d.ts +0 -19
  46. package/dist/entrypoints/findUtils.d.ts +0 -6
  47. package/dist/entrypoints/handleComponentImports.d.ts +0 -13
  48. package/dist/entrypoints/resolveTagName.d.ts +0 -18
  49. package/dist/jsxToLitHtml/autoAddNothing.d.ts +0 -8
  50. package/dist/jsxToLitHtml/comments.d.ts +0 -19
  51. package/dist/jsxToLitHtml/convertProps.d.ts +0 -10
  52. package/dist/jsxToLitHtml/imports.d.ts +0 -27
  53. package/dist/jsxToLitHtml/importsConfig.d.ts +0 -17
  54. package/dist/jsxToLitHtml/index.d.ts +0 -20
  55. package/dist/jsxToLitHtml/inferPropType.d.ts +0 -40
  56. package/dist/jsxToLitHtml/insertRepeatCall.d.ts +0 -51
  57. package/dist/jsxToLitHtml/jsxVisitor.d.ts +0 -15
  58. package/dist/jsxToLitHtml/templateParts.d.ts +0 -17
  59. package/dist/jsxToLitHtml/throwOnImportingExternalized.d.ts +0 -10
  60. package/dist/jsxToLitHtml/types.d.ts +0 -74
  61. package/dist/jsxToLitHtml/utils.d.ts +0 -14
  62. package/dist/loader/css.d.ts +0 -20
  63. package/dist/loader/extractor.d.ts +0 -2
  64. package/dist/loader/index.d.ts +0 -21
  65. package/dist/loader/lazy.d.ts +0 -21
  66. package/dist/loader/storybookApiJson.d.ts +0 -6
  67. package/dist/plugins/buildCdn.d.ts +0 -73
  68. package/dist/plugins/buildWebApp.d.ts +0 -3
  69. package/dist/plugins/buildWrappers.d.ts +0 -4
  70. package/dist/plugins/configureVite.d.ts +0 -20
  71. package/dist/plugins/externalizeDependencies.d.ts +0 -30
  72. package/dist/plugins/handleDynamicAssets.d.ts +0 -8
  73. package/dist/plugins/handleStaticAssets.d.ts +0 -9
  74. package/dist/plugins/loadLitCss.d.ts +0 -127
  75. package/dist/plugins/printTotalBuildSize.d.ts +0 -7
  76. package/dist/plugins/provideAssets.d.ts +0 -35
  77. package/dist/plugins/setAssetsPath.d.ts +0 -10
  78. package/dist/plugins/updatePackageJson.d.ts +0 -14
  79. package/dist/publicTypes.d.ts +0 -653
  80. package/dist/puppeteerTesting/globalSetup.d.ts +0 -73
  81. package/dist/puppeteerTesting/injected.d.ts +0 -8
  82. package/dist/puppeteerTesting/puppeteer/browser.d.ts +0 -6
  83. package/dist/puppeteerTesting/vitest/matchers/attributes.d.ts +0 -4
  84. package/dist/puppeteerTesting/vitest/matchers/classList.d.ts +0 -4
  85. package/dist/puppeteerTesting/vitest/matchers/events.d.ts +0 -7
  86. package/dist/puppeteerTesting/vitest/matchers/text.d.ts +0 -2
  87. package/dist/puppeteerTesting/vitest/matchers/utils.d.ts +0 -1
  88. package/dist/puppeteerTesting/vitest/runner.d.ts +0 -19
  89. package/dist/puppeteerTesting/vitest/setupFile.d.ts +0 -1
  90. package/dist/puppeteerTesting/vitest/types.d.ts +0 -6
  91. package/dist/testing/failOnConsole.d.ts +0 -6
  92. package/dist/testing/setupFile.d.ts +0 -1
  93. package/dist/testing/snapshotSerializer.d.ts +0 -12
  94. package/dist/tests/utils.d.ts +0 -4
  95. package/dist/transformers/customElementDeclaration.d.ts +0 -2
  96. package/dist/transformers/index.d.ts +0 -20
  97. package/dist/transformers/injectRuntimeOptions.d.ts +0 -18
  98. package/dist/transformers/liftDecorators.d.ts +0 -21
  99. package/dist/transformers/members.d.ts +0 -10
  100. package/dist/transformers/property.d.ts +0 -10
  101. package/dist/transformers/propertyOptions.d.ts +0 -110
  102. package/dist/transformers/utils.d.ts +0 -9
@@ -1,43 +1,6 @@
1
1
  export type VsCodeDocOptions = {
2
- /** @default "docs/vscode.html-custom-data.json" */
3
- htmlFileName?: string;
4
- /** @default "docs/vscode.css-custom-data.json" */
5
- cssFileName?: string;
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
- /** @default "docs/web-types.json" */
3
- webTypesFileName?: string;
4
- /** Adds an icon link to the web-types.json **/
5
- defaultIcon?: string;
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 './dependencies/discover.ts';
2
- import { updateLuminaTs } from './dependencies/updateLumina.ts';
3
- export { useLumina } from './useLumina.ts';
4
- export type * from './publicTypes.ts';
5
- export { inferCdnUrl } from './defaultAssetsUrl.ts';
6
- export type { CompilerContext } from './context/index.ts';
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 @arcgis/stencil-to-lumina codemod
11
+ * These are exposed only for usage by the \@arcgis/stencil-to-lumina codemod
9
12
  *
10
- * @private
13
+ * @internal
11
14
  */
12
- export declare const exportsForCodemod: {
15
+ export const exportsForCodemod: {
13
16
  initializeComponentDependencies: typeof initializeComponentDependencies;
14
17
  updateLuminaTs: typeof updateLuminaTs;
15
- propertyToAttributeMappings: {
16
- readonly common: Required<import('./jsxToLitHtml/config.ts').ElementPropertyToAttributeMappings>;
17
- readonly perElement: Record<string, import('./jsxToLitHtml/config.ts').ElementPropertyToAttributeMappings | undefined>;
18
- };
19
- nativeEvents: Set<string>;
20
- svgElements: Set<string>;
21
- mathMlElements: Set<string>;
22
- alwaysAttributes: Set<string>;
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, s, r = O()) {
2810
- const n = Fn(e, r), a = m.join(t, "lumina.ts"), d = await _(a) ? await H(a, "utf8") : "";
2811
- if (d.trim().replaceAll(`\r
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
- `) === n.trim())
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
- ${n}
2821
+ ${s}
2822
2822
 
2823
2823
  Current content:
2824
2824
 
2825
- ${d}`
2825
+ ${a}`
2826
2826
  )
2827
2827
  );
2828
- return ei(a, n), !0;
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 <${e.tagName} /> directly. */
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 declare const alwaysAttributes: Set<string>;
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 declare const nativeAlwaysAttributes: Set<string>;
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 declare const htmlAlwaysAttributes: Record<string, Set<string> | undefined>;
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
- type PropertyToAttributeMappings = {
49
- /**
50
- * Mappings that are common to all HTML elements
51
- */
52
- readonly common: Required<ElementPropertyToAttributeMappings>;
53
- /**
54
- * Mappings that are specific to a given HTML element
55
- */
56
- readonly perElement: Record<string, ElementPropertyToAttributeMappings | undefined>;
57
- };
58
- export type ElementPropertyToAttributeMappings = {
59
- /**
60
- * This list is only used to apply an optional performance optimization.
61
- * If it gets out of date or is missing some properties, it's not a big deal.
62
- *
63
- * This list is used to convert JSX properties with static values to
64
- * an inlined HTML string that uses the equivalent attribute.
65
- *
66
- * Thus instead of `.property=${"1"}` final lit-html looks like `attribute=1`.
67
- *
68
- * Since static attributes are just part of the HTML string and not a special
69
- * binding, lit-html doesn't have to waste time diffing them on re-render.
70
- */
71
- reflected?: Readonly<Record<string, string | undefined>>;
72
- /**
73
- * Unfortunately, for many DOM **properties**, when set to undefined
74
- * (`el.autocapitalize = undefined`), rather than removing the attribute, they
75
- * set the attribute to an `"undefined"` string (this is never a desirable
76
- * outcome) or some other non-default value. This is the web platform
77
- * behavior.
78
- *
79
- * lit-html also has an anti-feature of rendering `undefined` **attribute**
80
- * values as `"undefined"` strings (they wanted to mirror the `.setAttribute()`
81
- * behavior).
82
- *
83
- * Thus, the only way to unset such attributes in lit-html is to use attribute
84
- * rather than property, and then add `?? nothing` to the attribute value.
85
- * `nothing` is a special magic value Lit had to invent to mean
86
- * "removeAttribute()"
87
- *
88
- * @see https://github.com/lit/lit/issues/4760
89
- * @see https://x.com/maxpatiiuk/status/1840567140354798003
90
- */
91
- stringifiedReflected?: Readonly<Record<string, string | undefined>>;
92
- /**
93
- * Properties that when set to `undefined` value are actually set to
94
- * `"undefined"` string.
95
- *
96
- * We cannot use `?? nothing` as `nothing` in property bindings acts the same
97
- * as `undefined`.
98
- *
99
- * At the moment, all of these happen to be reset to default value when set
100
- * to empty string, thus we add `?? ''` on these if potentially nullish value
101
- * was provided.
102
- */
103
- stringifiedNonReflected?: Readonly<Record<string, "" | undefined>>;
104
- };
105
- export declare const propertyToAttributeMappings: PropertyToAttributeMappings;
106
- export declare const htmlAlwaysBooleanAttributes: Set<string>;
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
- * Based on https://developer.mozilla.org/en-US/docs/Glossary/Void_element
109
+ * @internal
117
110
  */
118
- export declare const voidElements: Set<string>;
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 declare const svgElements: Set<string>;
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 declare const mathMlElements: Set<string>;
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)>;