@stencil/core 5.0.0-alpha.9 → 5.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +94 -0
  2. package/dist/app-data/index.d.ts +1 -1
  3. package/dist/app-data/index.js +4 -1
  4. package/dist/client-BRu0GtRn.mjs +2368 -0
  5. package/dist/compiler/index.d.mts +167 -3
  6. package/dist/compiler/index.mjs +3 -3
  7. package/dist/compiler/utils/index.d.mts +272 -2
  8. package/dist/compiler/utils/index.mjs +4 -3
  9. package/dist/{compiler-C0qmPoKu.mjs → compiler-NrvbUOX1.mjs} +2754 -1259
  10. package/dist/declarations/stencil-ext-modules.d.ts +5 -5
  11. package/dist/declarations/stencil-public-compiler.d.ts +208 -66
  12. package/dist/declarations/stencil-public-docs.d.ts +9 -0
  13. package/dist/declarations/stencil-public-runtime.d.ts +91 -6
  14. package/dist/fragment-Di1hWOC8.mjs +4 -0
  15. package/dist/{regular-expression-CFVJOTUh.mjs → helpers-Cpp3qc3u.mjs} +31 -15
  16. package/dist/index-BOrz3rbJ.d.mts +100 -0
  17. package/dist/{index-xAkMgLX_.d.ts → index-DnISpqrd.d.ts} +149 -9
  18. package/dist/{index-vY35H18z.d.mts → index-RrQfiPWK.d.mts} +490 -845
  19. package/dist/index.d.mts +4 -0
  20. package/dist/index.mjs +91 -2
  21. package/dist/jsx-runtime.mjs +2 -1
  22. package/dist/{node--akYC-sG.mjs → node-75gQKkFz.mjs} +60 -58
  23. package/dist/{chunk-z9aeyW2b.mjs → rolldown-runtime-BhDjJH2R.mjs} +1 -1
  24. package/dist/runtime/client/lazy.js +481 -184
  25. package/dist/runtime/client/runtime.d.ts +149 -10
  26. package/dist/runtime/client/runtime.js +481 -184
  27. package/dist/runtime/index.d.ts +6 -4
  28. package/dist/runtime/index.js +480 -182
  29. package/dist/runtime/server/index.d.mts +80 -8
  30. package/dist/runtime/server/index.mjs +403 -177
  31. package/dist/runtime/server/runner.d.mts +3 -0
  32. package/dist/runtime/server/runner.mjs +320 -337
  33. package/dist/signals/index.d.ts +2 -0
  34. package/dist/signals/index.js +4 -1
  35. package/dist/sys/node/index.d.mts +1 -2
  36. package/dist/sys/node/index.mjs +1 -1
  37. package/dist/sys/node/worker.d.mts +1 -1
  38. package/dist/sys/node/worker.mjs +6 -3
  39. package/dist/testing/index.d.mts +4716 -105
  40. package/dist/testing/index.mjs +7590 -794
  41. package/dist/util-IKfWWLJo.mjs +724 -0
  42. package/dist/validation-DAdGTrys.mjs +791 -0
  43. package/package.json +27 -27
  44. package/dist/client-aTQ7xHxx.mjs +0 -4678
  45. package/dist/index-BvkyxSY6.d.mts +0 -205
  46. package/dist/validation-ByxKj8bC.mjs +0 -1458
  47. /package/{LICENSE.md → LICENSE} +0 -0
@@ -1,16 +1,6 @@
1
1
  import { Diagnostic, Node as Node$1 } from "typescript";
2
- import { InputOptions, RolldownError, SourceMap, SourceMap as RolldownSourceMap } from "rolldown";
2
+ import { InputOptions, Plugin, RolldownError, SourceMap } from "rolldown";
3
3
  import { Serializable } from "child_process";
4
-
5
- //#region src/utils/byte-size.d.ts
6
- /**
7
- * Used to learn the size of a string in bytes.
8
- *
9
- * @param str The string to measure
10
- * @returns number
11
- */
12
- declare const byteSize: (str: string) => number;
13
- //#endregion
14
4
  //#region src/utils/constants.d.ts
15
5
  declare const MEMBER_FLAGS: {
16
6
  readonly String: number;
@@ -56,6 +46,18 @@ declare const HOST_FLAGS: {
56
46
  readonly isWatchReady: number;
57
47
  readonly isListenReady: number;
58
48
  readonly needsRerender: number;
49
+ /**
50
+ * Set once this component's real (lazy-loaded) `connectedCallback` has fired for
51
+ * the first time. Lets a descendant skip creating/awaiting a connect-promise for
52
+ * an ancestor that's already connected. See {@link HostRef.$onFirstConnectResolve$}.
53
+ */
54
+ readonly hasFiredConnected: number;
55
+ /**
56
+ * Set when a lazy component's dynamic `import()` fails to resolve a
57
+ * constructor. Distinct from `hasInitializedComponent` being unset, which
58
+ * is true while an initialization attempt is merely queued/in-flight.
59
+ */
60
+ readonly hasFailedLoad: number;
59
61
  readonly devOnRender: number;
60
62
  readonly devOnDidLoad: number;
61
63
  };
@@ -142,6 +144,16 @@ declare const CMP_FLAGS: {
142
144
  * Equivalent to the global `experimentalSlotFixes` config option.
143
145
  */
144
146
  readonly patchAll: number;
147
+ /**
148
+ * Determines if `clonable` is enabled for a component that uses the shadow DOM.
149
+ * e.g. `encapsulation: { type: 'shadow', clonable: true }` is set on the `@Component()` decorator
150
+ */
151
+ readonly shadowClonable: number;
152
+ /**
153
+ * Determines if `serializable` is enabled for a component that uses the shadow DOM.
154
+ * e.g. `encapsulation: { type: 'shadow', serializable: true }` is set on the `@Component()` decorator
155
+ */
156
+ readonly shadowSerializable: number;
145
157
  };
146
158
  /**
147
159
  * Default style mode id
@@ -235,6 +247,10 @@ declare const DOCS_VSCODE = "docs-vscode";
235
247
  * Constant for the 'docs-custom-elements-manifest' output target
236
248
  */
237
249
  declare const DOCS_CUSTOM_ELEMENTS_MANIFEST = "docs-custom-elements-manifest";
250
+ /**
251
+ * Constant for the 'docs-agent-skill' output target
252
+ */
253
+ declare const DOCS_AGENT_SKILL = "docs-agent-skill";
238
254
  /**
239
255
  * Constant for the 'stats' output target
240
256
  */
@@ -251,7 +267,7 @@ declare const WWW = "www";
251
267
  *
252
268
  * In v5, `TYPES` and `COLLECTION` are auto-generated in production builds unless explicitly configured.
253
269
  */
254
- declare const VALID_CONFIG_OUTPUT_TARGETS: readonly ["www", "loader-bundle", "standalone", "ssr", "ssr-wasm", "collection", "types", "global-style", "assets", "dist", "dist-custom-elements", "dist-hydrate-script", "dist-collection", "dist-types", "docs-json", "docs-readme", "docs-vscode", "docs-custom", "docs-custom-elements-manifest", "copy", "custom", "stats"];
270
+ declare const VALID_CONFIG_OUTPUT_TARGETS: readonly ["www", "loader-bundle", "standalone", "ssr", "ssr-wasm", "collection", "types", "global-style", "assets", "dist", "dist-custom-elements", "dist-hydrate-script", "dist-collection", "dist-types", "docs-json", "docs-readme", "docs-vscode", "docs-custom", "docs-custom-elements-manifest", "docs-agent-skill", "copy", "custom", "stats"];
255
271
  declare const GENERATED_DTS = "components.d.ts";
256
272
  declare const STYLE_EXT: string[];
257
273
  /**
@@ -292,161 +308,6 @@ declare const formatLazyBundleRuntimeMeta: (bundleId: any, cmps: ComponentCompil
292
308
  declare const formatComponentRuntimeMeta: (compilerMeta: ComponentCompilerMeta, includeMethods: boolean) => ComponentRuntimeMetaCompact;
293
309
  declare const stringifyRuntimeData: (data: any) => string;
294
310
  //#endregion
295
- //#region src/utils/helpers.d.ts
296
- /**
297
- * Check if a value is defined (not null and not undefined).
298
- *
299
- * @param v - the value to check
300
- * @returns true if the value is defined
301
- */
302
- declare const isDef: (v: any) => boolean;
303
- /**
304
- * Convert a string from PascalCase to dash-case
305
- *
306
- * @param str the string to convert
307
- * @returns a converted string
308
- */
309
- declare const toDashCase: (str: string) => string;
310
- /**
311
- * Convert a string from dash-case / kebab-case to PascalCase (or CamelCase,
312
- * or whatever you call it!)
313
- *
314
- * @param str a string to convert
315
- * @returns a converted string
316
- */
317
- declare const dashToPascalCase: (str: string) => string;
318
- /**
319
- * Convert a string to 'camelCase'
320
- *
321
- * @param str the string to convert
322
- * @returns the converted string
323
- */
324
- declare const toCamelCase: (str: string) => string;
325
- /**
326
- * Capitalize the first letter of a string
327
- *
328
- * @param str the string to capitalize
329
- * @returns a capitalized string
330
- */
331
- declare const toTitleCase: (str: string) => string;
332
- /**
333
- * Escapes all occurrences of a specified pattern in a string.
334
- * This function replaces all matches of a given pattern in the input text with a specified replacement string.
335
- * It can handle both string and regular expression patterns and allows toggling between global and single-match replacements.
336
- *
337
- * @param text - The input string to process.
338
- * @param pattern - The pattern to search for in the input string. Can be a regular expression or a string.
339
- * @param replacement - The string to replace each match with.
340
- * @param replaceAll - Whether to replace all occurrences (true) or just the first occurrence (false). Defaults to true.
341
- * @returns The processed string with the replacements applied.
342
- */
343
- declare const escapeWithPattern: (text: string, pattern: RegExp | string, replacement: string, replaceAll?: boolean) => string;
344
- /**
345
- * This is just a no-op, don't expect it to do anything.
346
- */
347
- declare const noop: () => any;
348
- /**
349
- * Check whether a value is a 'complex type', defined here as an object or a
350
- * function.
351
- *
352
- * @param o the value to check
353
- * @returns whether it's a complex type or not
354
- */
355
- declare const isComplexType: (o: unknown) => boolean;
356
- /**
357
- * Sort an array without mutating it in-place (as `Array.prototype.sort`
358
- * unfortunately does)
359
- *
360
- * @param array the array you'd like to sort
361
- * @param prop a function for deriving sortable values (strings or numbers)
362
- * from array members
363
- * @returns a new array of all items `x` in `array` ordered by `prop(x)`
364
- */
365
- declare const sortBy: <T>(array: T[], prop: (item: T) => string | number) => T[];
366
- /**
367
- * A polyfill of sorts for `Array.prototype.flat` which will return the result
368
- * of calling that method if present and, if not, return an equivalent based on
369
- * `Array.prototype.reduce`.
370
- *
371
- * @param array the array to flatten (one level)
372
- * @returns a flattened array
373
- */
374
- declare const flatOne: <T>(array: T[][]) => T[];
375
- /**
376
- * Deduplicate an array, retaining items at the earliest position in which
377
- * they appear.
378
- *
379
- * So `unique([1,3,2,1,1,4])` would be `[1,3,2,4]`.
380
- *
381
- * @param array the array to deduplicate
382
- * @param predicate an optional function used to generate the key used to
383
- * determine uniqueness
384
- * @returns a new, deduplicated array
385
- */
386
- declare const unique: <T, K>(array: T[], predicate?: (item: T) => K) => T[];
387
- /**
388
- * Merge elements of an array into an existing array, using a predicate to
389
- * determine uniqueness and only adding elements when they are not present in
390
- * the first array.
391
- *
392
- * **Note**: this mutates the target array! This is intentional to avoid
393
- * unnecessary array allocation, but be sure that it's what you want!
394
- *
395
- * @param target the target array, to which new unique items should be added
396
- * @param newItems a list of new items, some (or all!) of which may be added
397
- * @param mergeWith a predicate function which reduces the items in `target`
398
- * and `newItems` to a value which can be equated with `===` for the purposes
399
- * of determining uniqueness
400
- */
401
- declare function mergeIntoWith<T1, T2>(target: T1[], newItems: T1[], mergeWith: (item: T1) => T2): void;
402
- /**
403
- * A utility for building an object from an iterable very similar to
404
- * `Object.fromEntries`
405
- *
406
- * @param entries an iterable object holding entries (key-value tuples) to
407
- * plop into a new object
408
- * @returns an object containing those entries
409
- */
410
- declare const fromEntries: <V>(entries: IterableIterator<[string, V]>) => Record<string, V>;
411
- /**
412
- * Based on a given object, create a new object which has only the specified
413
- * key-value pairs included in it.
414
- *
415
- * @param obj the object from which to take values
416
- * @param keys a set of keys to take
417
- * @returns an object mapping `key` to `obj[key]` if `obj[key]` is truthy for
418
- * every `key` in `keys`
419
- */
420
- declare const pluck: (obj: {
421
- [key: string]: any;
422
- }, keys: string[]) => {
423
- [key: string]: any;
424
- };
425
- declare const isBoolean: (v: any) => v is boolean;
426
- declare const isFunction: (v: any) => v is Function;
427
- declare const isNumber: (v: any) => v is number;
428
- declare const isObject: (val: object) => val is object;
429
- declare const isString: (v: any) => v is string;
430
- declare const isIterable: <T>(v: any) => v is Iterable<T>;
431
- //#endregion
432
- //#region src/utils/is-glob.d.ts
433
- /**
434
- * Check if a string is a glob pattern (e.g. 'src/*.js' or something like that)
435
- *
436
- * @param str a string to check
437
- * @returns whether the string is a glob pattern or not
438
- */
439
- declare const isGlob: (str: string) => boolean;
440
- //#endregion
441
- //#region src/utils/is-root-path.d.ts
442
- /**
443
- * Checks if the path is the Operating System (OS) root path, such as "/" or "C:\". This function does not take the OS
444
- * the code is running on into account when performing this evaluation.
445
- * @param p the path to check
446
- * @returns `true` if the path is an OS root path, `false` otherwise
447
- */
448
- declare const isRootPath: (p: string) => boolean;
449
- //#endregion
450
311
  //#region src/utils/logger/logger-rolldown.d.ts
451
312
  declare const isRolldownError: (e: unknown) => e is RolldownError;
452
313
  declare const loadRolldownDiagnostics: (config: ValidatedConfig, compilerCtx: CompilerCtx, buildCtx: BuildCtx, rolldownError: RolldownError) => void;
@@ -605,12 +466,13 @@ declare const isOutputTargetAssets: (o: OutputTarget) => o is OutputTargetAssets
605
466
  declare const isOutputTargetCopy: (o: OutputTarget) => o is OutputTargetCopy;
606
467
  declare const isOutputTargetDistLazy: (o: OutputTarget) => o is OutputTargetDistLazy;
607
468
  declare const isOutputTargetCustom: (o: OutputTarget) => o is OutputTargetCustom;
608
- declare const isOutputTargetDocs: (o: OutputTarget) => o is OutputTargetDocsJson | OutputTargetDocsReadme | OutputTargetDocsVscode | OutputTargetDocsCustom | OutputTargetDocsCustomElementsManifest;
469
+ declare const isOutputTargetDocs: (o: OutputTarget) => o is OutputTargetDocsJson | OutputTargetDocsReadme | OutputTargetDocsVscode | OutputTargetDocsCustom | OutputTargetDocsCustomElementsManifest | OutputTargetDocsAgentSkill;
609
470
  declare const isOutputTargetDocsReadme: (o: OutputTarget) => o is OutputTargetDocsReadme;
610
471
  declare const isOutputTargetDocsJson: (o: OutputTarget) => o is OutputTargetDocsJson;
611
472
  declare const isOutputTargetDocsCustom: (o: OutputTarget) => o is OutputTargetDocsCustom;
612
473
  declare const isOutputTargetDocsVscode: (o: OutputTarget) => o is OutputTargetDocsVscode;
613
474
  declare const isOutputTargetDocsCustomElementsManifest: (o: OutputTarget) => o is OutputTargetDocsCustomElementsManifest;
475
+ declare const isOutputTargetDocsAgentSkill: (o: OutputTarget) => o is OutputTargetDocsAgentSkill;
614
476
  declare const isOutputTargetWww: (o: OutputTarget) => o is OutputTargetWww;
615
477
  declare const isOutputTargetStats: (o: OutputTarget) => o is OutputTargetStats;
616
478
  /**
@@ -637,100 +499,6 @@ declare function isValidConfigOutputTarget(targetType: string): targetType is Va
637
499
  * @returns Filtered array of active targets
638
500
  */
639
501
  declare const filterActiveTargets: <T extends OutputTarget>(targets: T[], devMode: boolean) => T[];
640
- //#endregion
641
- //#region src/utils/path.d.ts
642
- /**
643
- * Convert Windows backslash paths to slash paths: foo\\bar ➔ foo/bar
644
- * Forward-slash paths can be used in Windows as long as they're not
645
- * extended-length paths and don't contain any non-ascii characters.
646
- * This was created since the path methods in Node.js outputs \\ paths on Windows.
647
- * @param path the Windows-based path to convert
648
- * @param relativize whether or not a relative path should have `./` prepended
649
- * @returns the converted path
650
- */
651
- declare const normalizePath: (path: string, relativize?: boolean) => string;
652
- /**
653
- * Same as normalizePath(), expect it'll also strip any query strings
654
- * from the path name. So /dir/file.css?tag=cmp-a becomes /dir/file.css
655
- * @param p the path to normalize
656
- * @returns the normalized path, sans any query strings
657
- */
658
- declare const normalizeFsPath: (p: string) => string;
659
- declare const normalizeFsPathQuery: (importPath: string) => {
660
- filePath: string;
661
- ext: string;
662
- format: string;
663
- };
664
- /**
665
- * A wrapped version of node.js' {@link path.relative} which adds our custom
666
- * normalization logic. This solves the relative path between `from` and `to`!
667
- *
668
- * The calculation of the returned path follows that of Node's logic, with one exception - if the calculated path
669
- * results in an empty string, a string of length one with a period (`'.'`) is returned.
670
- *
671
- * @throws the underlying node.js function can throw if either path is not a
672
- * string
673
- * @param from the path where relative resolution starts
674
- * @param to the destination path
675
- * @returns the resolved relative path
676
- */
677
- declare function relative(from: string, to: string): string;
678
- /**
679
- * A wrapped version of node.js' {@link path.join} which adds our custom
680
- * normalization logic. This joins all the arguments (path fragments) into a
681
- * single path.
682
- *
683
- * The calculation of the returned path follows that of Node's logic, with one exception - any trailing slashes will
684
- * be removed from the calculated path.
685
- *
686
- * @throws the underlying node function will throw if any argument is not a
687
- * string
688
- * @param paths the paths to join together
689
- * @returns a joined path!
690
- */
691
- declare function join(...paths: string[]): string;
692
- /**
693
- * A wrapped version of node.js' {@link path.resolve} which adds our custom
694
- * normalization logic. This resolves a path to a given (relative or absolute)
695
- * path.
696
- *
697
- * @throws the underlying node function will throw if any argument is not a
698
- * string
699
- * @param paths a path or path fragments to resolve
700
- * @returns a resolved path!
701
- */
702
- declare function resolve(...paths: string[]): string;
703
- /**
704
- * A wrapped version of node.js' {@link path.normalize} which adds our custom
705
- * normalization logic. This normalizes a path, de-duping repeated segment
706
- * separators and resolving `'..'` segments.
707
- *
708
- * @throws the underlying node function will throw if the argument is not a
709
- * string
710
- * @param toNormalize a path to normalize
711
- * @returns a normalized path!
712
- */
713
- declare function normalize(toNormalize: string): string;
714
- //#endregion
715
- //#region src/utils/query-nonce-meta-tag-content.d.ts
716
- /**
717
- * Helper method for querying a `meta` tag that contains a nonce value
718
- * out of a DOM's head.
719
- *
720
- * @param doc The DOM containing the `head` to query against
721
- * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag
722
- * exists or the tag has no content.
723
- */
724
- declare function queryNonceMetaTagContent(doc: Document): string | undefined;
725
- //#endregion
726
- //#region src/utils/regular-expression.d.ts
727
- /**
728
- * Utility function that will escape all regular expression special characters in a string.
729
- *
730
- * @param text The string potentially containing special characters.
731
- * @returns The string with all special characters escaped.
732
- */
733
- declare const escapeRegExpSpecialCharacters: (text: string) => string;
734
502
  declare namespace result_d_exports {
735
503
  export { Result, err, map, ok, unwrap, unwrapErr };
736
504
  }
@@ -877,18 +645,6 @@ declare const getInlineSourceMappingUrlLinker: (sourceMapContents: string) => st
877
645
  */
878
646
  declare const getSourceMappingUrlForEndOfFile: (url: string) => string;
879
647
  //#endregion
880
- //#region src/utils/url-paths.d.ts
881
- /**
882
- * Determines whether a string should be considered a remote url or not.
883
- *
884
- * This helper only checks the provided string to evaluate is one of a few pre-defined schemes, and should not be
885
- * considered all-encompassing
886
- *
887
- * @param p the string to evaluate
888
- * @returns `true` if the provided string is a remote url, `false` otherwise
889
- */
890
- declare const isRemoteUrl: (p: string) => boolean;
891
- //#endregion
892
648
  //#region src/utils/util.d.ts
893
649
  /**
894
650
  * Create a stylistically-appropriate JS variable name from a filename
@@ -987,6 +743,21 @@ declare const parsePackageJson: (pkgJsonStr: string, pkgJsonFilePath: string) =>
987
743
  declare const readOnlyArrayHasStringMember: <T extends string>(readOnlyArray: ReadonlyArray<T>, maybeMember: T | string) => maybeMember is T;
988
744
  //#endregion
989
745
  //#region src/utils/validation.d.ts
746
+ /**
747
+ * The result of an invalid `modes` check on a component's `styleUrls`/`styles`.
748
+ */
749
+ interface ModeValidationError {
750
+ propName: 'styleUrls' | 'styles';
751
+ message: string;
752
+ }
753
+ /**
754
+ * Validates the mode keys used in a component's `styleUrls`/`styles` against a
755
+ * `config.modes` allowlist, if one is declared.
756
+ * @param configModes the `config.modes` allowlist (mixed string/{@link d.ModeConfig} entries)
757
+ * @param componentOptions the `@Component()` decorator options for a single component
758
+ * @returns a validation error if a used mode is unknown or a required mode is missing, undefined otherwise
759
+ */
760
+ declare const validateComponentModes: (configModes: (string | ModeConfig)[] | undefined, componentOptions: Pick<ComponentOptions, "styleUrls" | "styles">) => ModeValidationError | undefined;
990
761
  /**
991
762
  * Validates that a component tag meets required naming conventions to be used for a web component
992
763
  * @param tag the tag to validate
@@ -1169,10 +940,6 @@ declare const createInMemoryFs: (sys: CompilerSystem) => {
1169
940
  * `[ source, destination ]`
1170
941
  */
1171
942
  type FileCopyTuple = [string, string];
1172
- /**
1173
- * Collected instructions for all pending filesystem operations saved
1174
- * to the in-memory filesystem.
1175
- */
1176
943
  /**
1177
944
  * Results from committing pending filesystem operations
1178
945
  */
@@ -1183,14 +950,6 @@ interface FsCommitResults {
1183
950
  dirsDeleted: string[];
1184
951
  dirsAdded: string[];
1185
952
  }
1186
- /**
1187
- * Given the current state of the in-memory proxy filesystem, collect all of
1188
- * the changes that need to be made in order to commit the currently-pending
1189
- * operations (e.g. write, copy, delete) to the OS filesystem.
1190
- *
1191
- * @param items the storage data structure for the in-memory FS cache
1192
- * @returns a collection of all the operations that need to be done
1193
- */
1194
953
  //#endregion
1195
954
  //#region src/declarations/stencil-public-docs.d.ts
1196
955
  /**
@@ -1213,6 +972,13 @@ interface JsonDocs {
1213
972
  * The metadata for the JSDocs for each component in a Stencil project
1214
973
  */
1215
974
  components: JsonDocsComponent[];
975
+ /**
976
+ * Project-level usage content, collected from markdown files in a `usage`
977
+ * directory at the project's {@link Config.srcDir} root (as opposed to
978
+ * per-component usage content, which lives in {@link JsonDocsComponent.usage}).
979
+ * Keyed by file name (without extension), same shape as component usage.
980
+ */
981
+ usage?: JsonDocsUsage;
1216
982
  /**
1217
983
  * The timestamp at which the metadata was generated, in the format YYYY-MM-DDThh:mm:ss
1218
984
  */
@@ -1593,6 +1359,152 @@ interface StyleDoc {
1593
1359
  }
1594
1360
  //#endregion
1595
1361
  //#region src/declarations/stencil-public-runtime.d.ts
1362
+ interface ComponentOptions {
1363
+ /**
1364
+ * Tag name of the web component. Ideally, the tag name must be globally unique,
1365
+ * so it's recommended to choose an unique prefix for all your components within the same collection.
1366
+ *
1367
+ * In addition, tag name must contain a '-'
1368
+ */
1369
+ tag: string;
1370
+ /**
1371
+ * Encapsulation strategy for the component. Determines how styles and DOM are isolated.
1372
+ *
1373
+ * @example
1374
+ * ```tsx
1375
+ * // Shadow DOM (recommended for isolation)
1376
+ * encapsulation: { type: 'shadow' }
1377
+ * encapsulation: { type: 'shadow', mode: 'closed', delegatesFocus: true }
1378
+ *
1379
+ * // Scoped styles (class-based isolation without Shadow DOM)
1380
+ * encapsulation: { type: 'scoped' }
1381
+ *
1382
+ * // No encapsulation (light DOM)
1383
+ * encapsulation: { type: 'none' }
1384
+ * encapsulation: { type: 'none', patches: ['all'] } // with slot patches
1385
+ * ```
1386
+ *
1387
+ * If not specified, defaults to `{ type: 'none' }` (no encapsulation).
1388
+ */
1389
+ encapsulation?: EncapsulationOptions;
1390
+ /**
1391
+ * Relative URL to some external stylesheet file. It should be a `.css` file unless some
1392
+ * external plugin is installed like `@stencil/sass`.
1393
+ */
1394
+ styleUrl?: string;
1395
+ /**
1396
+ * Similar as `styleUrl` but allows to specify different stylesheets for different modes.
1397
+ */
1398
+ styleUrls?: string[] | ModeStyles;
1399
+ /**
1400
+ * String that contains inlined CSS instead of using an external stylesheet.
1401
+ * The performance characteristics of this feature are the same as using an external stylesheet.
1402
+ *
1403
+ * Notice, you can't use sass, or less, only `css` is allowed using `styles`, use `styleUrl` is you need more advanced features.
1404
+ */
1405
+ styles?: string | {
1406
+ [modeName: string]: any;
1407
+ };
1408
+ /**
1409
+ * Array of relative links to folders of assets required by the component.
1410
+ */
1411
+ assetsDirs?: string[];
1412
+ /**
1413
+ * Relative URL to an external stylesheet providing document-level styles for this component.
1414
+ * Unlike `styleUrl`, these styles are not scoped to shadow/scoped DOM - they are collected
1415
+ * at build time and injected wherever `@import "stencil-globals"` appears in a global stylesheet.
1416
+ *
1417
+ * Useful for
1418
+ * - pre-first-js-render styles (combatting cumulative layout shift)
1419
+ * - host element and slotted content style
1420
+ * - 'css-only' CEs - those that don't use a JS runtime at all
1421
+ *
1422
+ * @example
1423
+ * ```tsx
1424
+ * @Component({ tag: 'my-button', globalStyleUrl: './my-button.global.css' })
1425
+ * ```
1426
+ */
1427
+ globalStyleUrl?: string;
1428
+ /**
1429
+ * Inline CSS string providing document-level styles for this component.
1430
+ * Collected at build time and injected wherever `@import "stencil-globals"` appears.
1431
+ * @see globalStyleUrl
1432
+ */
1433
+ globalStyle?: string;
1434
+ }
1435
+ /**
1436
+ * Shadow DOM encapsulation options for the `encapsulation` property.
1437
+ * Uses native Shadow DOM for style and DOM isolation.
1438
+ */
1439
+ interface ShadowEncapsulation {
1440
+ type: 'shadow';
1441
+ /**
1442
+ * The mode of the shadow root. Defaults to `'open'`.
1443
+ * - `'open'`: The shadow root is accessible via `element.shadowRoot`
1444
+ * - `'closed'`: The shadow root is not accessible via `element.shadowRoot`
1445
+ */
1446
+ mode?: 'open' | 'closed';
1447
+ /**
1448
+ * When set to `true`, specifies behavior that mitigates custom element issues
1449
+ * around focusability. When a non-focusable part of the shadow DOM is clicked, the first
1450
+ * focusable part is given focus, and the shadow host is given any available `:focus` styling.
1451
+ */
1452
+ delegatesFocus?: boolean;
1453
+ /**
1454
+ * Sets the slot assignment mode for the shadow root. When set to `'manual'`, enables imperative
1455
+ * slotting using the `HTMLSlotElement.assign()` method. Defaults to `'named'` for standard
1456
+ * declarative slotting behavior.
1457
+ */
1458
+ slotAssignment?: 'manual' | 'named';
1459
+ /**
1460
+ * When set to `true`, the shadow root is preserved when the host element is deep-cloned via
1461
+ * `Node.cloneNode(true)`. Without this, cloning a shadow host produces an empty shell.
1462
+ */
1463
+ clonable?: boolean;
1464
+ /**
1465
+ * When set to `true`, marks the shadow root as serializable so it is included when the host
1466
+ * element is serialized via `Element.getHTML({ serializableShadowRoots: true })`.
1467
+ */
1468
+ serializable?: boolean;
1469
+ }
1470
+ /**
1471
+ * Patch types for non-shadow DOM components that use slots.
1472
+ * - `'all'`: Apply all slot-related patches (equivalent to `lightDomPatches: true`)
1473
+ * - `'children'`: Patch child node accessors (children, firstChild, lastChild, etc.)
1474
+ * - `'clone'`: Patch `cloneNode()` to handle slotted content
1475
+ * - `'insert'`: Patch `appendChild()`, `insertBefore()`, etc. for slot relocation
1476
+ */
1477
+ type SlotPatch = 'all' | 'children' | 'clone' | 'insert';
1478
+ /**
1479
+ * No encapsulation - component renders to light DOM with optional slot patches.
1480
+ */
1481
+ interface NoneEncapsulation {
1482
+ type: 'none';
1483
+ /**
1484
+ * Patches to apply for slot handling in light DOM.
1485
+ * Only relevant if the component uses `<slot>` elements.
1486
+ */
1487
+ patches?: SlotPatch[];
1488
+ }
1489
+ /**
1490
+ * Scoped CSS encapsulation - styles are scoped via class names without Shadow DOM.
1491
+ */
1492
+ interface ScopedEncapsulation {
1493
+ type: 'scoped';
1494
+ /**
1495
+ * Patches to apply for slot handling with scoped styles.
1496
+ * Only relevant if the component uses `<slot>` elements.
1497
+ */
1498
+ patches?: SlotPatch[];
1499
+ }
1500
+ /**
1501
+ * Encapsulation options for the `@Component()` decorator.
1502
+ * Determines how styles and DOM are isolated for the component.
1503
+ */
1504
+ type EncapsulationOptions = ShadowEncapsulation | NoneEncapsulation | ScopedEncapsulation;
1505
+ interface ModeStyles {
1506
+ [modeName: string]: string | string[];
1507
+ }
1596
1508
  type ListenTargetOptions = 'body' | 'document' | 'window';
1597
1509
  interface UserBuildConditionals {
1598
1510
  isDev: boolean;
@@ -1603,6 +1515,27 @@ interface UserBuildConditionals {
1603
1515
  type ResolutionHandler = (elm: HTMLElement) => string | undefined | null;
1604
1516
  type ErrorHandler = (err: any, element?: HTMLElement) => void;
1605
1517
  type TagTransformer = (tag: string) => string;
1518
+ /**
1519
+ * A constructor type that can be used as the base for mixin factories.
1520
+ *
1521
+ * ```ts
1522
+ * import { MixedInCtor } from '@stencil/core';
1523
+ *
1524
+ * const AFactoryFn = <B extends MixedInCtor>(Base: B) => {class A extends Base { propA = A }; return A;}
1525
+ * ```
1526
+ */
1527
+ type MixedInCtor<T = {}> = new (...args: any[]) => T;
1528
+ /**
1529
+ * A map of `@Prop`/`@State` property names to their new and previous
1530
+ * values, passed to `componentShouldUpdate` once per render cycle.
1531
+ *
1532
+ * Pass `this` as `T` to type `changes` against your component's own
1533
+ * members, e.g. `componentShouldUpdate(changes: ComponentShouldUpdateChanges<this>)`.
1534
+ */
1535
+ type ComponentShouldUpdateChanges<T = any> = { [K in Extract<keyof T, string>]?: {
1536
+ newVal: T[K];
1537
+ oldVal: T[K];
1538
+ }; };
1606
1539
  interface ComponentInterface {
1607
1540
  connectedCallback?(): void;
1608
1541
  disconnectedCallback?(): void;
@@ -1628,14 +1561,18 @@ interface ComponentInterface {
1628
1561
  */
1629
1562
  componentDidLoad?(): void;
1630
1563
  /**
1631
- * A `@Prop` or `@State` property changed and a rerender is about to be requested.
1564
+ * One or more `@Prop` or `@State` properties changed and a rerender is
1565
+ * about to be requested. `changes` contains every property that changed
1566
+ * since the last render, keyed by property name.
1632
1567
  *
1633
- * Called multiple times throughout the life of
1634
- * the component as its properties change.
1568
+ * Called once per render cycle, batching all properties that changed
1569
+ * synchronously since the last render.
1570
+ *
1571
+ * Return `false` to prevent the pending render.
1635
1572
  *
1636
1573
  * componentShouldUpdate is not called on the first render.
1637
1574
  */
1638
- componentShouldUpdate?(newVal: any, oldVal: any, propName: string): boolean | void;
1575
+ componentShouldUpdate?(changes: ComponentShouldUpdateChanges<this>): boolean | void;
1639
1576
  /**
1640
1577
  * The component is about to update and re-render.
1641
1578
  *
@@ -1658,6 +1595,36 @@ interface ComponentInterface {
1658
1595
  render?(): any;
1659
1596
  [memberName: string]: any;
1660
1597
  }
1598
+ /**
1599
+ * A reusable behavior that hooks into a `ReactiveControllerHost`'s lifecycle. Modeled after Lit's
1600
+ * `ReactiveController` pattern: implement the hooks you need, then register an instance with a host
1601
+ * via `host.addController(this)`.
1602
+ */
1603
+ interface ReactiveController {
1604
+ hostConnected?(): void;
1605
+ hostDisconnected?(): void;
1606
+ hostWillLoad?(): Promise<void> | void;
1607
+ hostDidLoad?(): void;
1608
+ hostWillRender?(): Promise<void> | void;
1609
+ hostDidRender?(): void;
1610
+ hostWillUpdate?(): Promise<void> | void;
1611
+ hostDidUpdate?(): void;
1612
+ }
1613
+ /**
1614
+ * The shape added to a component by mixing in `ReactiveControllerHost` (see below).
1615
+ */
1616
+ interface ReactiveControllerHostInterface extends ComponentInterface, HTMLElement {
1617
+ readonly controllers: ReadonlySet<ReactiveController>;
1618
+ addController(controller: ReactiveController): void;
1619
+ removeController(controller: ReactiveController): void;
1620
+ requestUpdate(): void;
1621
+ /**
1622
+ * Resolves once the next pending render commits. Matches the shape of Lit's
1623
+ * `ReactiveControllerHost.updateComplete`, for interop with controllers written against Lit's API
1624
+ * (e.g. `@lit/context`).
1625
+ */
1626
+ readonly updateComplete: Promise<boolean>;
1627
+ }
1661
1628
  interface RafCallback {
1662
1629
  (timeStamp: number): void;
1663
1630
  }
@@ -1836,11 +1803,12 @@ interface StencilConfig {
1836
1803
  */
1837
1804
  outputTargets?: OutputTarget[];
1838
1805
  /**
1839
- * The plugins config can be used to add your own rolldown plugins.
1840
- * By default, Stencil does not come with Sass or PostCSS support.
1806
+ * The plugins config can be used to add your own rolldown plugins, or Stencil's own
1807
+ * legacy `resolveId`/`load`/`transform` style plugins (identified by a `pluginType`
1808
+ * property). By default, Stencil does not come with Sass or PostCSS support.
1841
1809
  * However, either can be added using the plugin array.
1842
1810
  */
1843
- plugins?: any[];
1811
+ plugins?: (Plugin$1 | Plugin)[];
1844
1812
  /**
1845
1813
  * Generate js source map files for all bundles.
1846
1814
  * Set to `true` to always generate source maps, `false` to never generate source maps.
@@ -1860,15 +1828,6 @@ interface StencilConfig {
1860
1828
  * This behavior defaults to `true`, but may be opted-out of by setting this flag to `false`.
1861
1829
  */
1862
1830
  transformAliasedImportPaths?: boolean;
1863
- /**
1864
- * When `true`, Stencil will suppress diagnostics which warn about public members using reserved names
1865
- * (for example, decorating a method named `focus` with `@Method()`). Defaults to `false`.
1866
- */
1867
- suppressReservedPublicNameWarnings?: boolean;
1868
- /**
1869
- * When `true`, Stencil will suppress diagnostics which warn about event names conflicting with native DOM event names. Defaults to `false`.
1870
- */
1871
- suppressReservedEventNameWarnings?: boolean;
1872
1831
  /**
1873
1832
  * Passes custom configuration down to the "@rolldown/plugin-node-resolve" that Stencil uses under the hood.
1874
1833
  * For further information: https://stenciljs.com/docs/module-bundling
@@ -1894,7 +1853,8 @@ interface StencilConfig {
1894
1853
  */
1895
1854
  logger?: Logger;
1896
1855
  /**
1897
- * Compatibility and workaround flags for framework integration and bundler edge cases.
1856
+ * Compatibility and workaround flags for framework/bundler edge cases
1857
+ * and rarely-needed diagnostic suppressions.
1898
1858
  */
1899
1859
  compat?: ConfigCompat;
1900
1860
  /**
@@ -1965,8 +1925,8 @@ interface StencilConfig {
1965
1925
  maxConcurrentWorkers?: number;
1966
1926
  preamble?: string;
1967
1927
  rolldownPlugins?: {
1968
- before?: any[];
1969
- after?: any[];
1928
+ before?: Plugin[];
1929
+ after?: Plugin[];
1970
1930
  };
1971
1931
  entryComponentsHint?: string[];
1972
1932
  buildLogFilePath?: string;
@@ -2020,6 +1980,23 @@ interface StencilConfig {
2020
1980
  * Set whether unused dependencies should be excluded from the built output.
2021
1981
  */
2022
1982
  excludeUnusedDependencies?: boolean;
1983
+ /**
1984
+ * Declares the set of valid style "modes" (e.g. `ios`, `md`) used by mode-keyed
1985
+ * `styleUrls`/`styles` in `@Component()`. When set, the compiler validates that
1986
+ * every mode key used in a component matches one of these entries, catching typos
1987
+ * at build time. Entries marked `required` must be present on every component that
1988
+ * defines any mode-keyed styles.
1989
+ *
1990
+ * @example
1991
+ * ```ts
1992
+ * export const config: Config = {
1993
+ * modes: ['ios', { mode: 'md', required: true }],
1994
+ * };
1995
+ * ```
1996
+ *
1997
+ * @default []
1998
+ */
1999
+ modes?: (string | ModeConfig)[];
2023
2000
  /**
2024
2001
  * Explicitly declare which npm packages are Stencil collections to be re-bundled into this project.
2025
2002
  *
@@ -2037,7 +2014,6 @@ interface StencilConfig {
2037
2014
  * @default []
2038
2015
  */
2039
2016
  collections?: string[];
2040
- stencilCoreResolvedId?: string;
2041
2017
  }
2042
2018
  /**
2043
2019
  * DOM patches for light-dom / scoped components that use `<slot>`.
@@ -2055,14 +2031,20 @@ interface StencilConfig {
2055
2031
  * for granular control.
2056
2032
  */
2057
2033
  type LightDomPatches = {
2058
- /** Patches `childNodes`/`children` getters to return only slotted content. */childNodes?: boolean; /** Patches `cloneNode()` to correctly deep-clone slotted content. */
2059
- cloneNode?: boolean; /** Patches `appendChild()`, `insertBefore()`, and `removeChild()` to route to the correct slot. */
2060
- domMutations?: boolean; /** Patches `textContent` to act like shadow DOM (reads/writes slotted text only). */
2034
+ /** Patches `childNodes`/`children` getters to return only slotted content. */
2035
+ childNodes?: boolean;
2036
+ /** Patches `cloneNode()` to correctly deep-clone slotted content. */
2037
+ cloneNode?: boolean;
2038
+ /** Patches `appendChild()`, `insertBefore()`, and `removeChild()` to route to the correct slot. */
2039
+ domMutations?: boolean;
2040
+ /** Patches `textContent` to act like shadow DOM (reads/writes slotted text only). */
2061
2041
  textContent?: boolean;
2062
2042
  };
2063
2043
  /**
2064
- * Compatibility and workaround flags for framework integration and bundler edge cases.
2065
- * These are opt-in runtime behaviors that aren't needed by every project.
2044
+ * Compatibility and workaround flags, primarily for shielding non-shadow DOM components
2045
+ * from consuming frameworks that mutate internals they don't know about, plus other
2046
+ * framework/bundler integration edge cases and rarely-needed diagnostic suppressions.
2047
+ * These are opt-in behaviors that aren't needed by every project.
2066
2048
  */
2067
2049
  interface ConfigCompat {
2068
2050
  /**
@@ -2093,6 +2075,15 @@ interface ConfigCompat {
2093
2075
  * See {@link LightDomPatches} for granular control. Defaults to `true`.
2094
2076
  */
2095
2077
  lightDomPatches?: boolean | LightDomPatches;
2078
+ /**
2079
+ * When `true`, Stencil will suppress diagnostics which warn about public members using reserved names
2080
+ * (for example, decorating a method named `focus` with `@Method()`). Defaults to `false`.
2081
+ */
2082
+ suppressPublicNameWarnings?: boolean;
2083
+ /**
2084
+ * When `true`, Stencil will suppress diagnostics which warn about event names conflicting with native DOM event names. Defaults to `false`.
2085
+ */
2086
+ suppressEventNameWarnings?: boolean;
2096
2087
  }
2097
2088
  interface Config extends StencilConfig {
2098
2089
  buildAppCore?: boolean;
@@ -2192,7 +2183,7 @@ type UnvalidatedConfig = Loose<Config>;
2192
2183
  * type ReqFieldFoo = RequireFields<Foo, 'bar'>; // { bar: number, baz?: string }
2193
2184
  * ```
2194
2185
  */
2195
- type RequireFields<T, K extends keyof T> = T & { [P in K]-?: T[P] };
2186
+ type RequireFields<T, K extends keyof T> = T & { [P in K]-?: T[P]; };
2196
2187
  /**
2197
2188
  * Fields in {@link Config} to make required for {@link ValidatedConfig}
2198
2189
  */
@@ -2211,6 +2202,17 @@ type ValidatedConfig = RequireFields<Config, StrictConfigFields> & {
2211
2202
  devMode: boolean;
2212
2203
  sourceMap: boolean;
2213
2204
  };
2205
+ interface ModeConfig {
2206
+ /**
2207
+ * The mode name, matched against `styleUrls`/`styles` object keys in `@Component()`.
2208
+ */
2209
+ mode: string;
2210
+ /**
2211
+ * When `true`, every component that defines mode-keyed `styleUrls` or `styles`
2212
+ * must include this mode. Defaults to `false`.
2213
+ */
2214
+ required?: boolean;
2215
+ }
2214
2216
  interface HydratedFlag {
2215
2217
  /**
2216
2218
  * Defaults to `hydrated`.
@@ -3771,6 +3773,22 @@ interface OutputTargetDocsReadme extends OutputTargetBase {
3771
3773
  overwriteExisting?: boolean | 'if-missing';
3772
3774
  footer?: string;
3773
3775
  strict?: boolean;
3776
+ /**
3777
+ * Add extra columns to the generated Properties/Events tables, e.g. to
3778
+ * surface custom JSDoc tags as a column of their own.
3779
+ */
3780
+ customColumns?: {
3781
+ props?: DocsReadmeCustomColumn<JsonDocsProp>[];
3782
+ events?: DocsReadmeCustomColumn<JsonDocsEvent>[];
3783
+ };
3784
+ }
3785
+ /**
3786
+ * A custom column to render in a `docs-readme` Properties/Events table.
3787
+ * `content` is invoked once per row.
3788
+ */
3789
+ interface DocsReadmeCustomColumn<T> {
3790
+ header: string;
3791
+ content: (member: T, cmp: JsonDocsComponent) => string;
3774
3792
  }
3775
3793
  interface OutputTargetDocsJson extends OutputTargetBase {
3776
3794
  type: 'docs-json';
@@ -3811,6 +3829,35 @@ interface OutputTargetDocsCustom extends OutputTargetBase {
3811
3829
  generator: (docs: JsonDocs, config: Config) => void | Promise<void>;
3812
3830
  strict?: boolean;
3813
3831
  }
3832
+ /**
3833
+ * Output target for generating an [Agent Skill](https://agentskills.io)
3834
+ * (`SKILL.md` + per-component reference files) describing a component
3835
+ * library, so AI coding agents can consume its API and usage examples
3836
+ * directly.
3837
+ */
3838
+ interface OutputTargetDocsAgentSkill extends OutputTargetBase {
3839
+ type: 'docs-agent-skill';
3840
+ /**
3841
+ * The root directory where the skill (`SKILL.md` + `components/*.md`) is written.
3842
+ *
3843
+ * defaults to `dist/skill`
3844
+ */
3845
+ dir?: string;
3846
+ /**
3847
+ * The skill's name, used in the `SKILL.md` frontmatter.
3848
+ *
3849
+ * Defaults to a kebab-cased form of {@link Config.namespace}.
3850
+ */
3851
+ name?: string;
3852
+ /**
3853
+ * The skill's description, used in the `SKILL.md` frontmatter - this is the
3854
+ * text agents use to decide when to load the skill.
3855
+ *
3856
+ * Defaults to an auto-generated sentence built from the project's
3857
+ * {@link JsonDocs.usage} (if present) or its component tags.
3858
+ */
3859
+ description?: string;
3860
+ }
3814
3861
  interface OutputTargetStats extends OutputTargetBase {
3815
3862
  type: 'stats';
3816
3863
  file?: string;
@@ -4038,7 +4085,7 @@ interface OutputTargetWww extends OutputTargetBase {
4038
4085
  */
4039
4086
  hashedFileNameLength?: number;
4040
4087
  }
4041
- type OutputTarget = OutputTargetCopy | OutputTargetCustom | OutputTargetLoaderBundle | OutputTargetStandalone | OutputTargetSsr | OutputTargetSsrWasm | OutputTargetCollection | OutputTargetTypes | OutputTargetGlobalStyle | OutputTargetAssets | OutputTargetDistLazy | OutputTargetDocsJson | OutputTargetDocsCustom | OutputTargetDocsReadme | OutputTargetDocsVscode | OutputTargetDocsCustomElementsManifest | OutputTargetWww | OutputTargetStats;
4088
+ type OutputTarget = OutputTargetCopy | OutputTargetCustom | OutputTargetLoaderBundle | OutputTargetStandalone | OutputTargetSsr | OutputTargetSsrWasm | OutputTargetCollection | OutputTargetTypes | OutputTargetGlobalStyle | OutputTargetAssets | OutputTargetDistLazy | OutputTargetDocsJson | OutputTargetDocsCustom | OutputTargetDocsReadme | OutputTargetDocsVscode | OutputTargetDocsCustomElementsManifest | OutputTargetDocsAgentSkill | OutputTargetWww | OutputTargetStats;
4042
4089
  /**
4043
4090
  * A post-validation form of {@link OutputTargetWww} where `serviceWorker`
4044
4091
  * has been normalized - `true` is resolved to a {@link ServiceWorkerConfig}.
@@ -4255,9 +4302,11 @@ interface CompilerRequestResponse {
4255
4302
  interface TranspileOptions {
4256
4303
  /**
4257
4304
  * A component can be defined as a custom element by using `customelement`, or the
4258
- * component class can be exported by using `module`. Default is `customelement`.
4305
+ * component class can be exported by using `module`. Set to `null` to leave the
4306
+ * class's own export as-is (used with `componentMetadata: 'compilerstatic'` for
4307
+ * unit-testing preprocessors). Default is `customelement`.
4259
4308
  */
4260
- componentExport?: 'customelement' | 'module' | string | undefined;
4309
+ componentExport?: 'customelement' | 'module' | string | null | undefined;
4261
4310
  /**
4262
4311
  * Sets how and if component metadata should be assigned on the compiled
4263
4312
  * component output. The `compilerstatic` value will set the metadata to
@@ -4292,8 +4341,11 @@ interface TranspileOptions {
4292
4341
  /**
4293
4342
  * How component styles should be associated to the component. The `static`
4294
4343
  * setting will assign the styles as a static getter on the component class.
4344
+ * Set to `null` to skip the assignment entirely (and leave any `styleUrl`
4345
+ * import unresolved) - useful for unit-testing preprocessors that don't
4346
+ * need real stylesheets.
4295
4347
  */
4296
- style?: 'static' | string | undefined;
4348
+ style?: 'static' | string | null | undefined;
4297
4349
  /**
4298
4350
  * How style data should be added for imports. For example, the `queryparams` value
4299
4351
  * adds the component's tagname and encapsulation info as querystring parameter
@@ -4354,27 +4406,50 @@ interface TranspileOptions {
4354
4406
  */
4355
4407
  additionalTagTransformers?: boolean;
4356
4408
  /**
4357
- * A map of virtual file paths to source text for modules that the component
4358
- * under transpilation extends from. When provided, `transpile()` builds a
4359
- * minimal multi-file TypeScript program from these sources so that
4360
- * {@link https://stenciljs.com/docs/component-lifecycle inheritance chains}
4361
- * can be resolved without requiring the parent files to exist on disk.
4362
- *
4363
- * Keys are the same import paths used in the component's `import` statements
4364
- * (relative paths are resolved against `currentDirectory`). Values are the
4365
- * TypeScript/JavaScript source text of that module.
4409
+ * Callback used to resolve parent-class source for inheritance-chain analysis.
4410
+ * Called when a component's `extends` clause references a class from another
4411
+ * module. Return the resolved absolute path and source text of that module,
4412
+ * or `null` to skip inheritance resolution for that specifier.
4366
4413
  *
4367
4414
  * @example
4368
4415
  * ```ts
4369
4416
  * transpile(myComponentCode, {
4370
- * extraFiles: {
4371
- * './base-component.ts': baseComponentSourceText,
4417
+ * resolveImport: (specifier, importer) => {
4418
+ * const resolved = require.resolve(specifier, { paths: [path.dirname(importer)] });
4419
+ * return { code: fs.readFileSync(resolved, 'utf8'), path: resolved };
4372
4420
  * },
4373
4421
  * });
4374
4422
  * ```
4375
4423
  */
4376
- extraFiles?: Record<string, string>;
4424
+ resolveImport?: (specifier: string, importer: string) => {
4425
+ code: string;
4426
+ path: string;
4427
+ } | null;
4428
+ /**
4429
+ * When `true` class declarations at the end of a `@Component` inheritance chain
4430
+ * * that have no `extends` clause * will get `extends HTMLElement` injected, and a minimal
4431
+ * `constructor() { super(); }`. Any stencil static meta-getters are also stripped.
4432
+ */
4433
+ transformAsBaseClass?: boolean;
4434
+ /**
4435
+ * Overrides for Stencil's BUILD feature flags in the generated output.
4436
+ * When set, a BUILD mutation statement is prepended to the compiled code so
4437
+ * that the specified flags take effect for this component at runtime.
4438
+ */
4439
+ buildOverrides?: BuildOverrides;
4377
4440
  }
4441
+ /**
4442
+ * Keys of {@link BuildConditionals} that can be meaningfully overridden at
4443
+ * transpile time — config-driven flags that are not derived from component
4444
+ * scanning or runtime environment detection.
4445
+ */
4446
+ type BuildOverrideKeys = 'hotModuleReplacement' | 'signalBacking' | 'vdomSignals' | 'lightDomPatches' | 'slotChildNodes' | 'slotCloneNode' | 'slotDomMutations' | 'slotTextContent' | 'lifecycleDOMEvents' | 'initializeNextTick';
4447
+ /**
4448
+ * Subset of Stencil's BUILD feature flags that can be overridden at transpile
4449
+ * time. Derived from {@link BuildConditionals} via `Pick` so the field list
4450
+ * and types stay in sync with the authoritative definition.
4451
+ */
4452
+ type BuildOverrides = Pick<BuildConditionals, BuildOverrideKeys>;
4378
4453
  type CompileTarget = 'latest' | 'esnext' | 'es2020' | 'es2019' | 'es2018' | 'es2017' | 'es2015' | string | undefined;
4379
4454
  interface TranspileResults {
4380
4455
  code: string;
@@ -4401,9 +4476,16 @@ interface TransformOptions {
4401
4476
  styleImportData: 'queryparams' | null;
4402
4477
  target?: string;
4403
4478
  /**
4404
- * @see {@link TranspileOptions.extraFiles}
4479
+ * @see {@link TranspileOptions.resolveImport}
4405
4480
  */
4406
- extraFiles?: Record<string, string>;
4481
+ resolveImport?: (specifier: string, importer: string) => {
4482
+ code: string;
4483
+ path: string;
4484
+ } | null;
4485
+ /** @see {@link TranspileOptions.transformAsBaseClass} */
4486
+ transformAsBaseClass?: boolean;
4487
+ /** @see {@link TranspileOptions.buildOverrides} */
4488
+ buildOverrides?: BuildOverrides;
4407
4489
  }
4408
4490
  interface CompileScriptMinifyOptions {
4409
4491
  target?: CompileTarget;
@@ -4425,14 +4507,6 @@ interface CliInitOptions {
4425
4507
  }
4426
4508
  //#endregion
4427
4509
  //#region src/declarations/stencil-private.d.ts
4428
- interface DocData {
4429
- hostIds: number;
4430
- rootLevelIds: number;
4431
- staticComponents: Set<string>;
4432
- }
4433
- type StencilDocument = Document & {
4434
- _stencilDocData: DocData;
4435
- };
4436
4510
  interface SourceMap$1 {
4437
4511
  file: string;
4438
4512
  mappings: string;
@@ -4449,31 +4523,6 @@ interface PrintLine {
4449
4523
  errorCharStart: number;
4450
4524
  errorLength?: number;
4451
4525
  }
4452
- interface AssetsMeta {
4453
- absolutePath: string;
4454
- cmpRelativePath: string;
4455
- originalComponentPath: string;
4456
- }
4457
- interface ParsedImport {
4458
- importPath: string;
4459
- basename: string;
4460
- ext: string;
4461
- data: ImportData;
4462
- }
4463
- interface ImportData {
4464
- tag?: string;
4465
- encapsulation?: string;
4466
- mode?: string;
4467
- }
4468
- interface SerializeImportData extends ImportData {
4469
- importeePath: string;
4470
- importerPath?: string;
4471
- /**
4472
- * True if this is a node module import (e.g. using ~ prefix like ~foo/style.css)
4473
- * These should be treated as bare module specifiers and not have ./ prepended
4474
- */
4475
- isNodeModule?: boolean;
4476
- }
4477
4526
  interface BuildFeatures {
4478
4527
  style: boolean;
4479
4528
  mode: boolean;
@@ -4482,6 +4531,8 @@ interface BuildFeatures {
4482
4531
  shadowDelegatesFocus: boolean;
4483
4532
  shadowModeClosed: boolean;
4484
4533
  shadowSlotAssignmentManual: boolean;
4534
+ shadowClonable: boolean;
4535
+ shadowSerializable: boolean;
4485
4536
  scoped: boolean;
4486
4537
  /**
4487
4538
  * Every component has a render function
@@ -4498,6 +4549,8 @@ interface BuildFeatures {
4498
4549
  vdomKey: boolean;
4499
4550
  vdomListener: boolean;
4500
4551
  vdomPropOrAttr: boolean;
4552
+ /** True when at least one component uses the explicit `attr:`/`prop:` JSX prefix. */
4553
+ vdomPropOrAttrPrefix: boolean;
4501
4554
  vdomRef: boolean;
4502
4555
  vdomStyle: boolean;
4503
4556
  vdomText: boolean;
@@ -4578,10 +4631,6 @@ interface RolldownResultModule {
4578
4631
  interface RolldownResults {
4579
4632
  modules: RolldownResultModule[];
4580
4633
  }
4581
- interface UpdatedLazyBuildCtx {
4582
- name: 'esm-browser' | 'esm' | 'cjs' | 'system';
4583
- buildCtx: BuildCtx;
4584
- }
4585
4634
  interface BuildCtx {
4586
4635
  buildId: number;
4587
4636
  buildResults: CompilerBuildResults;
@@ -4708,13 +4757,6 @@ interface BuildComponent {
4708
4757
  dependencyOf?: string[];
4709
4758
  dependencies?: string[];
4710
4759
  }
4711
- type SourceTarget = 'es2017' | 'latest';
4712
- type RolldownResult = RolldownChunkResult | RolldownAssetResult;
4713
- interface RolldownAssetResult {
4714
- type: 'asset';
4715
- fileName: string;
4716
- content: string;
4717
- }
4718
4760
  interface RolldownChunkResult {
4719
4761
  type: 'chunk';
4720
4762
  entryKey: string;
@@ -4727,16 +4769,8 @@ interface RolldownChunkResult {
4727
4769
  isBrowserLoader: boolean;
4728
4770
  imports: string[];
4729
4771
  moduleFormat: ModuleFormat;
4730
- map?: RolldownSourceMap;
4772
+ map?: SourceMap;
4731
4773
  }
4732
- /**
4733
- * Result of Stencil compressing, mangling, and otherwise 'minifying' JavaScript
4734
- */
4735
- type OptimizeJsResult = {
4736
- output: string;
4737
- diagnostics: Diagnostic$1[];
4738
- sourceMap?: SourceMap$1;
4739
- };
4740
4774
  interface BundleModule {
4741
4775
  entryKey: string;
4742
4776
  rolldownResult: RolldownChunkResult;
@@ -4779,38 +4813,6 @@ interface CollectionCompilerVersion {
4779
4813
  version: string;
4780
4814
  typescriptVersion?: string;
4781
4815
  }
4782
- interface CollectionManifest {
4783
- entries?: CollectionComponentEntryPath[];
4784
- /**
4785
- * Paths to mixin/abstract class modules that can be extended by consuming projects.
4786
- * These are modules that contain classes with Stencil static members (properties, states, etc.)
4787
- * but are not components themselves (no @Component decorator / tag name).
4788
- */
4789
- mixins?: CollectionComponentEntryPath[];
4790
- collections?: CollectionDependencyManifest[];
4791
- global?: string;
4792
- compiler?: CollectionCompilerVersion;
4793
- bundles?: CollectionBundleManifest[];
4794
- /** Build flags the lib was compiled with. Consuming Stencil projects OR-merge these in. */
4795
- buildFlags?: Partial<BuildConditionals>;
4796
- }
4797
- type CollectionComponentEntryPath = string;
4798
- interface CollectionBundleManifest {
4799
- components: string[];
4800
- }
4801
- interface CollectionDependencyManifest {
4802
- name: string;
4803
- tags: string[];
4804
- }
4805
- interface CollectionCompiler {
4806
- name: string;
4807
- version: string;
4808
- typescriptVersion?: string;
4809
- }
4810
- interface CollectionDependencyData {
4811
- name: string;
4812
- tags: string[];
4813
- }
4814
4816
  /**
4815
4817
  * A memoized result of the SASS + Lightning CSS transformation for a single stylesheet, keyed by
4816
4818
  * the annotated Rolldown import id (e.g. `/path/to/comp.scss?tag=ion-button&encapsulation=shadow`).
@@ -4946,6 +4948,7 @@ interface ComponentCompilerFeatures {
4946
4948
  hasVdomKey: boolean;
4947
4949
  hasVdomListener: boolean;
4948
4950
  hasVdomPropOrAttr: boolean;
4951
+ hasVdomPropOrAttrPrefix: boolean;
4949
4952
  hasVdomRef: boolean;
4950
4953
  hasVdomRender: boolean;
4951
4954
  hasVdomStyle: boolean;
@@ -4956,6 +4959,7 @@ interface ComponentCompilerFeatures {
4956
4959
  htmlAttrNames: string[];
4957
4960
  htmlTagNames: string[];
4958
4961
  htmlParts: string[];
4962
+ htmlSlots: string[];
4959
4963
  isUpdateable: boolean;
4960
4964
  /**
4961
4965
  * A plain component is one that doesn't have:
@@ -5028,6 +5032,16 @@ interface ComponentCompilerMeta extends ComponentCompilerFeatures {
5028
5032
  properties: ComponentCompilerProperty[];
5029
5033
  serializers: ComponentCompilerChangeHandler[];
5030
5034
  shadowDelegatesFocus: boolean;
5035
+ /**
5036
+ * Whether the shadow root is preserved when the host element is deep-cloned via
5037
+ * `Node.cloneNode(true)`. Only applicable when encapsulation is 'shadow'.
5038
+ */
5039
+ shadowClonable: boolean;
5040
+ /**
5041
+ * Whether the shadow root is marked serializable for `Element.getHTML({ serializableShadowRoots: true })`.
5042
+ * Only applicable when encapsulation is 'shadow'.
5043
+ */
5044
+ shadowSerializable: boolean;
5031
5045
  /**
5032
5046
  * Shadow DOM mode. 'open' (default) or 'closed'.
5033
5047
  * Only applicable when encapsulation is 'shadow'.
@@ -5319,29 +5333,6 @@ interface CompilerAssetDir {
5319
5333
  cmpRelativePath?: string;
5320
5334
  originalComponentPath?: string;
5321
5335
  }
5322
- interface ComponentCompilerData {
5323
- exportLine: string;
5324
- filePath: string;
5325
- cmp: ComponentCompilerMeta;
5326
- uniqueComponentClassName?: string;
5327
- importLine?: string;
5328
- }
5329
- interface ComponentConstructor {
5330
- is?: string;
5331
- properties?: ComponentConstructorProperties;
5332
- watchers?: ComponentConstructorChangeHandlers;
5333
- events?: ComponentConstructorEvent[];
5334
- listeners?: ComponentConstructorListener[];
5335
- style?: string;
5336
- styleId?: string;
5337
- encapsulation?: ComponentConstructorEncapsulation;
5338
- observedAttributes?: string[];
5339
- cmpMeta?: ComponentRuntimeMeta;
5340
- isProxied?: boolean;
5341
- isStyleRegistered?: boolean;
5342
- serializers?: ComponentConstructorChangeHandlers;
5343
- deserializers?: ComponentConstructorChangeHandlers;
5344
- }
5345
5336
  /**
5346
5337
  * A mapping from class member names to a list of methods which are watching
5347
5338
  * them.
@@ -5351,48 +5342,6 @@ interface ComponentConstructorChangeHandlers {
5351
5342
  [methodName: string]: number;
5352
5343
  }[];
5353
5344
  }
5354
- interface ComponentTestingConstructor extends ComponentConstructor {
5355
- COMPILER_META: ComponentCompilerMeta;
5356
- prototype?: {
5357
- componentWillLoad?: Function;
5358
- componentWillUpdate?: Function;
5359
- componentWillRender?: Function;
5360
- __componentWillLoad?: Function | null;
5361
- __componentWillUpdate?: Function | null;
5362
- __componentWillRender?: Function | null;
5363
- };
5364
- }
5365
- interface ComponentNativeConstructor extends ComponentConstructor {
5366
- cmpMeta: ComponentRuntimeMeta;
5367
- }
5368
- type ComponentConstructorEncapsulation = 'shadow' | 'scoped' | 'none';
5369
- interface ComponentConstructorProperties {
5370
- [propName: string]: ComponentConstructorProperty;
5371
- }
5372
- interface ComponentConstructorProperty {
5373
- attribute?: string;
5374
- elementRef?: boolean;
5375
- method?: boolean;
5376
- mutable?: boolean;
5377
- reflect?: boolean;
5378
- state?: boolean;
5379
- type?: ComponentConstructorPropertyType;
5380
- watchCallbacks?: string[];
5381
- }
5382
- type ComponentConstructorPropertyType = StringConstructor | BooleanConstructor | NumberConstructor | 'string' | 'boolean' | 'number';
5383
- interface ComponentConstructorEvent {
5384
- name: string;
5385
- method: string;
5386
- bubbles: boolean;
5387
- cancelable: boolean;
5388
- composed: boolean;
5389
- }
5390
- interface ComponentConstructorListener {
5391
- name: string;
5392
- method: string;
5393
- capture?: boolean;
5394
- passive?: boolean;
5395
- }
5396
5345
  interface EntryModule {
5397
5346
  entryKey: string;
5398
5347
  cmps: ComponentCompilerMeta[];
@@ -5461,6 +5410,15 @@ interface HostElement extends HTMLElement {
5461
5410
  * must be resolved for the top, ancestor component to be fully hydrated
5462
5411
  */
5463
5412
  ['s-p']?: Promise<void>[];
5413
+ /**
5414
+ * Pending Connects:
5415
+ * A list of {@link HostRef.$onFirstConnectPromise$} promises for descendants that
5416
+ * were already registered with this component (their nearest Stencil ancestor) by
5417
+ * the time this component's own initial `componentWillLoad` was scheduled. Awaited
5418
+ * so this component's `componentWillLoad` can't fire before those descendants'
5419
+ * real `connectedCallback`s have.
5420
+ */
5421
+ ['s-pc']?: Promise<void>[];
5464
5422
  componentOnReady?: () => Promise<this>;
5465
5423
  }
5466
5424
  interface SsrResults {
@@ -5515,22 +5473,6 @@ interface SsrStaticData {
5515
5473
  type: string;
5516
5474
  content: string;
5517
5475
  }
5518
- interface JsDoc {
5519
- name: string;
5520
- documentation: string;
5521
- type: string;
5522
- tags: JSDocTagInfo[];
5523
- default?: string;
5524
- parameters?: JsDoc[];
5525
- returns?: {
5526
- type: string;
5527
- documentation: string;
5528
- };
5529
- }
5530
- interface JSDocTagInfo {
5531
- name: string;
5532
- text?: string;
5533
- }
5534
5476
  /**
5535
5477
  * A mapping from a TypeScript or JavaScript source file path on disk, to a Stencil {@link Module}.
5536
5478
  *
@@ -5572,6 +5514,7 @@ interface Module {
5572
5514
  htmlAttrNames: string[];
5573
5515
  htmlTagNames: string[];
5574
5516
  htmlParts: string[];
5517
+ htmlSlots: string[];
5575
5518
  isCollectionDependency: boolean;
5576
5519
  isLegacy: boolean;
5577
5520
  jsFilePath: string;
@@ -5596,6 +5539,7 @@ interface Module {
5596
5539
  hasVdomKey: boolean;
5597
5540
  hasVdomListener: boolean;
5598
5541
  hasVdomPropOrAttr: boolean;
5542
+ hasVdomPropOrAttrPrefix: boolean;
5599
5543
  hasVdomRef: boolean;
5600
5544
  hasVdomRender: boolean;
5601
5545
  hasVdomStyle: boolean;
@@ -5603,7 +5547,7 @@ interface Module {
5603
5547
  hasVdomXlink: boolean;
5604
5548
  hasSignalsImport: boolean;
5605
5549
  }
5606
- interface Plugin {
5550
+ interface Plugin$1 {
5607
5551
  name?: string;
5608
5552
  pluginType?: string;
5609
5553
  load?: (id: string, context: PluginCtx) => Promise<string> | string;
@@ -5644,27 +5588,6 @@ interface PrerenderUrlRequest {
5644
5588
  url: string;
5645
5589
  writeToFilePath: string;
5646
5590
  }
5647
- interface PrerenderManager {
5648
- config: Config;
5649
- prerenderUrlWorker: (prerenderRequest: PrerenderUrlRequest) => Promise<PrerenderUrlResults>;
5650
- devServerHostUrl: string;
5651
- diagnostics: Diagnostic$1[];
5652
- ssrAppFilePath: string;
5653
- isDebug: boolean;
5654
- logCount: number;
5655
- outputTarget: OutputTargetWww;
5656
- prerenderConfig: PrerenderConfig;
5657
- prerenderConfigPath: string;
5658
- progressLogger?: LoggerLineUpdater;
5659
- resolve: Function;
5660
- staticSite: boolean;
5661
- templateId: string;
5662
- componentGraphPath: string;
5663
- urlsProcessing: Set<string>;
5664
- urlsPending: Set<string>;
5665
- urlsCompleted: Set<string>;
5666
- maxConcurrency: number;
5667
- }
5668
5591
  /**
5669
5592
  * Generic node that represents all of the
5670
5593
  * different types of nodes we'd see when rendering
@@ -5702,6 +5625,11 @@ interface RenderNode extends HostElement {
5702
5625
  * Slot name of either the slot itself or the slotted node
5703
5626
  */
5704
5627
  ['s-sn']?: string;
5628
+ /**
5629
+ * `slot` attribute of a `<slot>` reference rendered as a text node (no fallback content),
5630
+ * since text nodes can't carry real DOM attributes.
5631
+ */
5632
+ ['s-sa']?: string;
5705
5633
  /**
5706
5634
  * Host element tag name:
5707
5635
  * The tag name of the host element that this
@@ -5754,7 +5682,7 @@ interface RenderNode extends HostElement {
5754
5682
  * Used to know the components encapsulation.
5755
5683
  * empty "" for shadow, "c" from scoped
5756
5684
  */
5757
- ['s-en']?: '' | /*shadow*/'c';
5685
+ ['s-en']?: '' | /*shadow*/ 'c';
5758
5686
  /**
5759
5687
  * On a `scoped: true` component
5760
5688
  * with `lightDomPatches` flag enabled,
@@ -5879,10 +5807,26 @@ interface PatchedSlotNode extends Node {
5879
5807
  __previousElementSibling?: RenderNode;
5880
5808
  }
5881
5809
  type LazyBundlesRuntimeData = LazyBundleRuntimeData[];
5882
- type LazyBundleRuntimeData = [/** bundleIds */string, ComponentRuntimeMetaCompact[]];
5883
- type ComponentRuntimeMetaCompact = [/** flags */number, /** tagname */string, /** members */{
5810
+ type LazyBundleRuntimeData = [
5811
+ /** bundleIds */
5812
+ string, ComponentRuntimeMetaCompact[]];
5813
+ type ComponentRuntimeMetaCompact = [
5814
+ /** flags */
5815
+ number,
5816
+ /** tagname */
5817
+ string,
5818
+ /** members */
5819
+ {
5884
5820
  [memberName: string]: ComponentRuntimeMember;
5885
- }?, /** listeners */ComponentRuntimeHostListener[]?, /** watchers */ComponentConstructorChangeHandlers?, /** serializers */ComponentConstructorChangeHandlers?, /** deserializers */ComponentConstructorChangeHandlers?];
5821
+ }?,
5822
+ /** listeners */
5823
+ ComponentRuntimeHostListener[]?,
5824
+ /** watchers */
5825
+ ComponentConstructorChangeHandlers?,
5826
+ /** serializers */
5827
+ ComponentConstructorChangeHandlers?,
5828
+ /** deserializers */
5829
+ ComponentConstructorChangeHandlers?];
5886
5830
  /**
5887
5831
  * Runtime metadata for a Stencil component
5888
5832
  */
@@ -5985,6 +5929,11 @@ interface HostRef {
5985
5929
  $cmpMeta$: ComponentRuntimeMeta;
5986
5930
  $hostElement$: HostElement;
5987
5931
  $instanceValues$?: Map<string, any>;
5932
+ /**
5933
+ * Prop/state changes accumulated since the last render, flushed to
5934
+ * `componentShouldUpdate` once per render cycle.
5935
+ */
5936
+ $queuedPropChanges$?: ComponentShouldUpdateChanges;
5988
5937
  $signalValues$?: Map<string, import('@preact/signals-core').Signal<any>>;
5989
5938
  /** Dispose function that tears down all signal effects for this component. */
5990
5939
  $signalCleanup$?: () => void;
@@ -6020,6 +5969,21 @@ interface HostRef {
6020
5969
  * It is called after {@link HostRef.$onInstancePromise$} resolves.
6021
5970
  */
6022
5971
  $onRenderResolve$?: () => void;
5972
+ /**
5973
+ * A promise that resolves once this component's real `connectedCallback` has fired
5974
+ * for the first time. Created lazily - either by a descendant that needs to wait for
5975
+ * this component's connection before firing its own real `connectedCallback`
5976
+ * ({@link HOST_FLAGS.hasFiredConnected}), or by this component registering itself
5977
+ * with its nearest Stencil ancestor's `s-pc` list. This is what lets a component's
5978
+ * real `connectedCallback` (and, transitively, a pending ancestor's initial
5979
+ * `componentWillLoad`) stay ordered correctly regardless of which of an
5980
+ * ancestor/descendant pair's lazy module happens to resolve first.
5981
+ */
5982
+ $onFirstConnectPromise$?: Promise<void>;
5983
+ /**
5984
+ * A callback which resolves {@link HostRef.$onFirstConnectPromise$}
5985
+ */
5986
+ $onFirstConnectResolve$?: () => void;
6023
5987
  $vnode$?: VNode;
6024
5988
  $queuedListeners$?: [string, any][];
6025
5989
  $rmListeners$?: (() => void)[];
@@ -6029,51 +5993,12 @@ interface HostRef {
6029
5993
  * Defer connectedCallback until after first render for components with slot relocation.
6030
5994
  */
6031
5995
  $deferredConnectedCallback$?: boolean;
6032
- }
6033
- interface PlatformRuntime {
6034
- /**
6035
- * This number is used to hold a series of bitflags for various features we
6036
- * support within the runtime. The flags which this value is intended to store are
6037
- * documented in the {@link PLATFORM_FLAGS} enum.
6038
- */
6039
- $flags$: number;
6040
- /**
6041
- * Holds a map of nodes to be hydrated.
6042
- */
6043
- $orgLocNodes$?: Map<string, RenderNode>;
6044
- /**
6045
- * Holds the resource url for given platform environment.
6046
- */
6047
- $resourcesUrl$: string;
6048
5996
  /**
6049
- * The nonce value to be applied to all script/style tags at runtime.
6050
- * If `null`, the nonce attribute will not be applied.
5997
+ * The number of times this host's lazy component load has failed and been retried.
5998
+ * Used to give up retrying after {@link MAX_LAZY_LOAD_RETRIES} failed attempts.
6051
5999
  */
6052
- $nonce$?: string | null;
6053
- /**
6054
- * A utility function that executes a given function and returns the result.
6055
- * @param c The callback function to execute
6056
- */
6057
- jmp: (c: Function) => any;
6058
- /**
6059
- * A wrapper for {@link https://developer.mozilla.org/en-US/docs/Web/API/Window/requestAnimationFrame `requestAnimationFrame`}
6060
- */
6061
- raf: (c: FrameRequestCallback) => number;
6062
- /**
6063
- * A wrapper for {@link https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener `addEventListener`}
6064
- */
6065
- ael: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
6066
- /**
6067
- * A wrapper for {@link https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener `removeEventListener`}
6068
- */
6069
- rel: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
6070
- /**
6071
- * A wrapper for creating a {@link https://developer.mozilla.org/docs/Web/API/CustomEvent `CustomEvent`}
6072
- */
6073
- ce: (eventName: string, opts?: any) => CustomEvent;
6000
+ $loadRetryCount$?: number;
6074
6001
  }
6075
- type StyleMap = Map<string, CSSStyleSheet | string>;
6076
- type RootAppliedStyleMap = WeakMap<Element, Set<string>>;
6077
6002
  interface StyleCompiler {
6078
6003
  modeName: string;
6079
6004
  styleId: string;
@@ -6092,29 +6017,6 @@ interface ComponentGlobalStyle {
6092
6017
  /** Raw inline CSS string, or null for file-based styles */
6093
6018
  styleStr: string | null;
6094
6019
  }
6095
- interface CompilerModeStyles {
6096
- [modeName: string]: string[];
6097
- }
6098
- interface CssImportData {
6099
- srcImport: string;
6100
- updatedImport?: string;
6101
- url: string;
6102
- filePath: string;
6103
- altFilePath?: string;
6104
- styleText?: string | null;
6105
- modifiers?: string;
6106
- }
6107
- interface CssToEsmImportData {
6108
- srcImportText: string;
6109
- varName: string;
6110
- url: string;
6111
- filePath: string;
6112
- /**
6113
- * True if this is a node module import (e.g. using ~ prefix like ~foo/style.css)
6114
- * These should be treated as bare module specifiers and not have ./ prepended
6115
- */
6116
- isNodeModule?: boolean;
6117
- }
6118
6020
  /**
6119
6021
  * Input CSS to be transformed into ESM
6120
6022
  */
@@ -6202,224 +6104,6 @@ interface PackageJsonData {
6202
6104
  license?: string;
6203
6105
  keywords?: string[];
6204
6106
  }
6205
- interface Workbox {
6206
- generateSW(swConfig: any): Promise<any>;
6207
- generateFileManifest(): Promise<any>;
6208
- getFileManifestEntries(): Promise<any>;
6209
- injectManifest(swConfig: any): Promise<any>;
6210
- copyWorkboxLibraries(wwwDir: string): Promise<any>;
6211
- }
6212
- interface SerializedEvent {
6213
- bubbles: boolean;
6214
- cancelBubble: boolean;
6215
- cancelable: boolean;
6216
- composed: boolean;
6217
- currentTarget: any;
6218
- defaultPrevented: boolean;
6219
- detail: any;
6220
- eventPhase: any;
6221
- isTrusted: boolean;
6222
- returnValue: any;
6223
- srcElement: any;
6224
- target: any;
6225
- timeStamp: number;
6226
- type: string;
6227
- isSerializedEvent: boolean;
6228
- }
6229
- interface EventInitDict {
6230
- bubbles?: boolean;
6231
- cancelable?: boolean;
6232
- composed?: boolean;
6233
- detail?: any;
6234
- }
6235
- interface AnyHTMLElement extends HTMLElement {
6236
- [key: string]: any;
6237
- }
6238
- interface SpecPage {
6239
- /**
6240
- * Mocked testing `document.body`.
6241
- */
6242
- body: HTMLBodyElement;
6243
- /**
6244
- * Mocked testing `document`.
6245
- */
6246
- doc: HTMLDocument;
6247
- /**
6248
- * The first component found within the mocked `document.body`. If a component isn't found, then it'll return `document.body.firstElementChild`.
6249
- */
6250
- root?: AnyHTMLElement;
6251
- /**
6252
- * Similar to `root`, except returns the component instance. If a root component was not found it'll return `null`.
6253
- */
6254
- rootInstance?: any;
6255
- /**
6256
- * Convenience function to set `document.body.innerHTML` and `waitForChanges()`. Function argument should be a HTML string.
6257
- */
6258
- setContent: (html: string) => Promise<any>;
6259
- /**
6260
- * After changes have been made to a component, such as a update to a property or attribute, the test page does not automatically apply the changes. In order to wait for, and apply the update, call `await page.waitForChanges()`.
6261
- */
6262
- waitForChanges: () => Promise<any>;
6263
- /**
6264
- * Mocked testing `window`.
6265
- */
6266
- win: Window;
6267
- build: BuildConditionals;
6268
- flushLoadModule: (bundleId?: string) => Promise<any>;
6269
- flushQueue: () => Promise<any>;
6270
- styles: Map<string, string>;
6271
- }
6272
- /**
6273
- * Options pertaining to the creation and functionality of a {@link SpecPage}
6274
- */
6275
- interface NewSpecPageOptions {
6276
- /**
6277
- * An array of components to test. Component classes can be imported into the spec file, then their reference should be added to the `component` array in order to be used throughout the test.
6278
- */
6279
- components: any[];
6280
- /**
6281
- * Sets the mocked `document.cookie`.
6282
- */
6283
- cookie?: string;
6284
- /**
6285
- * Sets the mocked `dir` attribute on `<html>`.
6286
- */
6287
- direction?: string;
6288
- /**
6289
- * If `false`, do not flush the render queue on initial test setup.
6290
- */
6291
- flushQueue?: boolean;
6292
- /**
6293
- * The initial HTML used to generate the test. This can be useful to construct a collection of components working together, and assign HTML attributes. This value sets the mocked `document.body.innerHTML`.
6294
- */
6295
- html?: string;
6296
- /**
6297
- * The initial JSX used to generate the test.
6298
- * Use `template` when you want to initialize a component using their properties, instead of their HTML attributes.
6299
- * It will render the specified template (JSX) into `document.body`.
6300
- */
6301
- template?: () => any;
6302
- /**
6303
- * Sets the mocked `lang` attribute on `<html>`.
6304
- */
6305
- language?: string;
6306
- /**
6307
- * Useful for debugging hydrating components client-side. Sets that the `html` option already includes annotated prerender attributes and comments.
6308
- */
6309
- hydrateClientSide?: boolean;
6310
- /**
6311
- * Useful for debugging hydrating components server-side. The output HTML will also include prerender annotations.
6312
- */
6313
- hydrateServerSide?: boolean;
6314
- /**
6315
- * Sets the mocked `document.referrer`.
6316
- */
6317
- referrer?: string;
6318
- /**
6319
- * When a component is pre-rendered it includes HTML annotations, such as `s-id` attributes and `<!-t.0->` comments. This information is used by client-side hydrating. Default is `false`.
6320
- */
6321
- includeAnnotations?: boolean;
6322
- /**
6323
- * Sets the mocked browser's `location.href`.
6324
- */
6325
- url?: string;
6326
- /**
6327
- * Sets the mocked browser's `navigator.userAgent`.
6328
- */
6329
- userAgent?: string;
6330
- /**
6331
- * By default, any changes to component properties and attributes must `page.waitForChanges()` in order to test the updates. As an option, `autoApplyChanges` continuously flushes the queue on the background. Default is `false`.
6332
- */
6333
- autoApplyChanges?: boolean;
6334
- /**
6335
- * Set {@link BuildConditionals} for testing based off the metadata of the component under test.
6336
- * When `true` all `BuildConditionals` will be assigned to the global testing `BUILD` object, regardless of their
6337
- * value. When `false`, only `BuildConditionals` with a value of `true` will be assigned to the `BUILD` object.
6338
- */
6339
- strictBuild?: boolean;
6340
- /**
6341
- * Default values to be set on the platform runtime object {@see PlatformRuntime} when creating
6342
- * the spec page.
6343
- */
6344
- platform?: Partial<PlatformRuntime>;
6345
- /**
6346
- * Controls how shadow DOM components are serialized during `hydrateServerSide`.
6347
- * When set to `'scoped'`, shadow DOM components are rendered as scoped light DOM
6348
- * (matching the behavior of `serializeShadowRoot: 'scoped'` in production SSR).
6349
- * When set to `false`, shadow DOM components render with a real shadow root.
6350
- * Default is `false`.
6351
- */
6352
- serializeShadowRoot?: 'scoped' | false;
6353
- /**
6354
- * Override individual {@link BuildConditionals} for this test. Applied after all other
6355
- * BUILD setup so these values take final precedence. Useful for testing code paths that
6356
- * are gated behind a build flag (e.g. `{ signalBacking: true }`).
6357
- */
6358
- buildFlags?: Partial<BuildConditionals>;
6359
- }
6360
- /**
6361
- * A record of `TypesMemberNameData` entities.
6362
- *
6363
- * Each key in this record is intended to be the path to a file that declares one or more types used by a component.
6364
- * However, this is not enforced by the type system - users of this interface should not make any assumptions regarding
6365
- * the format of the path used as a key (relative vs. absolute)
6366
- */
6367
- interface TypesImportData {
6368
- [key: string]: TypesMemberNameData[];
6369
- }
6370
- /**
6371
- * A type describing how Stencil may alias an imported type to avoid naming collisions when performing operations such
6372
- * as generating `components.d.ts` files.
6373
- */
6374
- interface TypesMemberNameData {
6375
- /**
6376
- * The original name of the import before any aliasing was applied.
6377
- *
6378
- * i.e. if a component imports a type as follows:
6379
- * `import { MyType as MyCoolType } from './my-type';`
6380
- *
6381
- * the `originalName` would be 'MyType'. If the import is not aliased, then `originalName` and `localName` will be the same.
6382
- */
6383
- originalName: string;
6384
- /**
6385
- * The name of the type as it's used within a file.
6386
- */
6387
- localName: string;
6388
- /**
6389
- * An alias that Stencil may apply to the `localName` to avoid naming collisions. This name does not appear in the
6390
- * file that is using `localName`.
6391
- */
6392
- importName?: string;
6393
- /**
6394
- * Whether this is a default import/export (e.g., `import MyEnum from './my-enum'`)
6395
- * vs a named import/export (e.g., `import { MyType } from './my-type'`)
6396
- */
6397
- isDefault?: boolean;
6398
- }
6399
- interface TypesModule {
6400
- isDep: boolean;
6401
- tagName: string;
6402
- tagNameAsPascal: string;
6403
- htmlElementName: string;
6404
- component: string;
6405
- jsx: string;
6406
- element: string;
6407
- explicitAttributes: string | null;
6408
- explicitProperties: string | null;
6409
- requiredProps: Array<{
6410
- name: string;
6411
- type: string;
6412
- complexType?: ComponentCompilerProperty['complexType'];
6413
- }> | null;
6414
- }
6415
- type TypeInfo = {
6416
- name: string;
6417
- type: string;
6418
- optional: boolean;
6419
- required: boolean;
6420
- internal: boolean;
6421
- jsdoc?: string;
6422
- }[];
6423
6107
  type ChildType = VNode | number | string;
6424
6108
  type PropsType = VNodeProdData | number | string | null;
6425
6109
  interface VNodeProdData {
@@ -6473,33 +6157,6 @@ type MsgToWorker<T extends WorkerContextMethod> = IPCSerializable<{
6473
6157
  method: T;
6474
6158
  args: Parameters<CompilerWorkerContext[T]>;
6475
6159
  }>;
6476
- /**
6477
- * A manifest for a job that a worker thread should carry out, as determined by
6478
- * and dispatched from the main thread. This includes the name of the task to do
6479
- * and any arguments necessary to carry it out properly.
6480
- *
6481
- * This message must satisfy {@link CPSerializable} so it can be sent from the
6482
- * main thread to a worker thread via an IPC channel
6483
- */
6484
- type MsgFromWorker<T extends WorkerContextMethod> = IPCSerializable<{
6485
- stencilId?: number;
6486
- stencilRtnValue: ReturnType<CompilerWorkerContext[T]>;
6487
- stencilRtnError: string | null;
6488
- }>;
6489
- /**
6490
- * A description of a task which should be passed to a worker in another
6491
- * thread. This interface differs from {@link MsgToWorker} in that it doesn't
6492
- * have to be serializable for transmission through an IPC channel, so we can
6493
- * hold things like a `resolve` and `reject` callback to use when the task
6494
- * completes.
6495
- */
6496
- interface CompilerWorkerTask {
6497
- stencilId: number;
6498
- inputArgs: any[];
6499
- resolve: (val: any) => any;
6500
- reject: (msg: string) => any;
6501
- retries: number;
6502
- }
6503
6160
  /**
6504
6161
  * A handler for IPC messages from the main thread to a worker thread. This
6505
6162
  * involves dispatching an action specified by a {@link MsgToWorker} object to a
@@ -6509,17 +6166,5 @@ interface CompilerWorkerTask {
6509
6166
  * @returns the return value of the specified function
6510
6167
  */
6511
6168
  type WorkerMsgHandler = <T extends WorkerContextMethod>(msgToWorker: MsgToWorker<T>) => ReturnType<CompilerWorkerContext[T]>;
6512
- interface TranspileModuleResults {
6513
- sourceFilePath: string;
6514
- code: string;
6515
- map: any;
6516
- diagnostics: Diagnostic$1[];
6517
- moduleFile: Module;
6518
- }
6519
- interface ValidateTypesResults {
6520
- diagnostics: Diagnostic$1[];
6521
- dirPaths: string[];
6522
- filePaths: string[];
6523
- }
6524
6169
  //#endregion
6525
- export { ComponentCompilerVirtualProperty as $, getInlineSourceMappingUrlLinker as $a, SystemDetails as $i, CompilerBuildStart as $n, loadTypeScriptDiagnostic as $o, LogLevel as $r, SSR_WASM as $s, PropsType as $t, CompilerStyleDoc as A, JsonDocsTag as Aa, PageReloadStrategy as Ai, TypesMemberNameData as An, isOutputTargetGlobalStyle as Ao, ConfigBundle as Ar, CMP_FLAGS as As, JsDoc as At, ComponentCompilerMeta as B, createJsVarName as Ba, ResolveModuleOptions as Bi, BuildEvents as Bn, shouldExcludeComponent as Bo, Diagnostic$1 as Br, DOCS_JSON as Bs, OptimizeJsResult as Bt, CompilerBuildStatBundle as C, JsonDocsListener as Ca, OutputTargetLoaderBundle as Ci, StyleCompiler as Cn, isOutputTargetDistLazy as Co, CompilerSystemRemoveDirectoryResults as Cr, toDashCase as Cs, EntryModule as Ct, CompilerJsDoc as D, JsonDocsProp as Da, OutputTargetStats as Di, TranspileModuleResults as Dn, isOutputTargetDocsJson as Do, CompilerSystemWriteFileResults as Dr, formatLazyBundleRuntimeMeta as Ds, HostRef as Dt, CompilerCtx as E, JsonDocsPart as Ea, OutputTargetStandalone as Ei, TransformCssToEsmOutput as En, isOutputTargetDocsCustomElementsManifest as Eo, CompilerSystemRenamedPath as Er, formatComponentRuntimeMeta as Es, HostElement as Et, ComponentCompilerData as F, FsWriteResults as Fa, PrerenderOptions as Fi, Workbox as Fn, isOutputTargetStats as Fo, CustomElementsExportBehavior as Fr, CUSTOM as Fs, ModuleMap as Ft, ComponentCompilerPropertyType as G, isJsFile as Ga, ServiceWorkerConfig as Gi, BuildOutput as Gn, catchError as Go, HydrateDocumentOptions as Gr, GLOBAL_STYLE as Gs, Plugin as Gt, ComponentCompilerMethodComplexType as H, getTextDocs as Ha, RobotsTxtResults as Hi, BuildNoChangeResults as Hn, buildError as Ho, HistoryApiFallback as Hr, DOCS_VSCODE as Hs, ParsedImport as Ht, ComponentCompilerEvent as I, InMemoryFileSystem as Ia, PrerenderResults as Ii, WorkerContextMethod as In, isOutputTargetTypes as Io, CustomElementsExportBehaviorOptions as Ir, DEFAULT_STYLE_MODE as Is, MsgFromWorker as It, ComponentCompilerStaticEvent as J, isTsxFile as Ja, SsrDocumentOptions as Ji, CliInitOptions as Jn, shouldIgnoreError as Jo, LOG_LEVELS as Jr, LISTENER_FLAGS as Js, PluginTransformationDescriptor as Jt, ComponentCompilerReferencedType as K, isJsxFile as Ka, SitemapXmpOpts as Ki, BuildResultsComponentGraph as Kn, hasError as Ko, HydrateFactoryOptions as Kr, HOST_FLAGS as Ks, PluginCtx as Kt, ComponentCompilerEventComplexType as L, validateComponentTag as La, PrerenderStartOptions as Li, WorkerMsgHandler as Ln, isOutputTargetWww as Lo, DevServer as Lr, DIST_LAZY as Ls, MsgToWorker as Lt, CompilerWorkerTask as M, JsonDocsUsage as Ma, PlatformPath as Mi, UpdatedLazyBuildCtx as Mn, isOutputTargetSsr as Mo, CopyResults as Mr, COLLECTION_APP_DATA_FILE_NAME as Ms, LazyBundlesRuntimeData as Mt, ComponentCompilerChangeHandler as N, JsonDocsValue as Na, PrerenderConfig as Ni, VNodeProdData as Nn, isOutputTargetSsrWasm as No, CopyTask as Nr, COLLECTION_MANIFEST_FILE_NAME as Ns, Module as Nt, CompilerJsDocTagInfo as O, JsonDocsSlot as Oa, OutputTargetTypes as Oi, TypeInfo as On, isOutputTargetDocsReadme as Oo, CompilerWatcher as Or, stringifyRuntimeData as Os, ImportData as Ot, ComponentCompilerCustomState as P, StyleDoc as Pa, PrerenderHydrateOptions as Pi, ValidateTypesResults as Pn, isOutputTargetStandalone as Po, Credentials as Pr, COPY as Ps, ModuleFormat as Pt, ComponentCompilerTypeReferences as Q, isRemoteUrl as Qa, StencilDocsConfig as Qi, CompilerBuildResults as Qn, augmentDiagnosticWithNode as Qo, LoadConfigResults as Qr, SSR as Qs, PrintLine as Qt, ComponentCompilerFeatures as R, ParsePackageJsonResult as Ra, ResolveModuleIdOptions as Ri, AutoprefixerOptions as Rn, isValidConfigOutputTarget as Ro, DevServerConfig as Rr, DOCS_CUSTOM as Rs, NewSpecPageOptions as Rt, CompilerAssetDir as S, JsonDocsEvent as Sa, OutputTargetGlobalStyle as Si, StencilDocument as Sn, isOutputTargetCustom as So, CompilerSystemRemoveDirectoryOptions as Sr, toCamelCase as Ss, Encapsulation as St, CompilerBuildStats as T, JsonDocsMethodReturn as Ta, OutputTargetSsrWasm as Ti, TransformCssToEsmInput as Tn, isOutputTargetDocsCustom as To, CompilerSystemRenameResults as Tr, unique as Ts, ExternalStyleCompiler as Tt, ComponentCompilerProperty as U, hasDependency as Ua, RolldownConfig as Ui, BuildOnEventRemove as Un, buildJsonFileError as Uo, HmrStyleUpdate as Ur, EVENT_FLAGS as Us, PatchedSlotNode as Ut, ComponentCompilerMethod as V, generatePreamble as Va, RobotsTxtOpts as Vi, BuildLog as Vn, TASK_CANCELED_MSG as Vo, FsWatchResults as Vr, DOCS_README as Vs, PackageJsonData as Vt, ComponentCompilerPropertyComplexType as W, isDtsFile as Wa, SerializeDocumentOptions as Wi, BuildOnEvents as Wn, buildWarn as Wo, HotModuleReplacement as Wr, GENERATED_DTS as Ws, PlatformRuntime as Wt, ComponentCompilerStaticProperty as X, readOnlyArrayHasStringMember as Xa, StencilConfig as Xi, CompileTarget as Xn, normalizeDiagnostics as Xo, LightDomPatches as Xr, MEMBER_FLAGS as Xs, PrerenderUrlRequest as Xt, ComponentCompilerStaticMethod as Y, parsePackageJson as Ya, SsrFactoryOptions as Yi, CompileScriptMinifyOptions as Yn, escapeHtml as Yo, LazyRequire as Yr, LOADER_BUNDLE as Ys, PrerenderManager as Yt, ComponentCompilerTypeReference as Z, readPackageJson as Za, StencilDevServerConfig as Zi, Compiler as Zn, splitLineBreaks as Zo, LoadConfigInit as Zr, NODE_TYPES as Zs, PrerenderUrlResults as Zt, CollectionCompilerVersion as _, JsonDocMethodParameter as _a, OutputTargetDocsCustom as _i, SsrImgElement as _n, getComponentsDtsTypesFilePath as _o, CompilerRequestResponse as _r, isString as _s, ComponentTestingConstructor as _t, BuildCtx as a, ValidatedConfig as aa, VALID_CONFIG_OUTPUT_TARGETS as ac, OptimizeCssOutput as ai, RolldownResults as an, queryNonceMetaTagContent as ao, CompilerEventDirAdd as ar, isGlob as as, ComponentConstructorProperties as at, CollectionDependencyManifest as b, JsonDocsCustomState as ba, OutputTargetDocsReadme as bi, SsrStaticData as bn, isOutputTargetCollection as bo, CompilerSystemCreateDirectoryResults as br, pluck as bs, CssTransformCacheEntry as bt, BuildStyleUpdate as c, WorkerMainController as ca, XLINK_NS as cc, OutputTarget as ci, RuntimeRef as cn, normalizeFsPath as co, CompilerEventFileDelete as cr, flatOne as cs, ComponentGlobalStyle as ct, BundleModuleOutput as d, FunctionalComponent as da, OutputTargetBaseNext as di, SourceMap$1 as dn, relative as do, CompilerEventName as dr, isComplexType as ds, ComponentRuntimeHostListener as dt, TransformOptions as ea, STANDALONE as ec, Logger as ei, RenderNode as en, getSourceMappingUrlForEndOfFile as eo, CompilerDependency as er, loadTypeScriptDiagnostics as es, ComponentConstructor as et, Cache as f, RafCallback as fa, OutputTargetBuild as fi, SourceTarget as fn, resolve as fo, CompilerFileWatcher as fr, isDef as fs, ComponentRuntimeMember as ft, CollectionCompilerMeta as g, VNode as ga, OutputTargetDistLazy as gi, SsrElement as gn, getComponentsDtsSrcFilePath as go, CompilerRequest as gr, isObject as gs, ComponentRuntimeReflectingAttr as gt, CollectionCompiler as h, UserBuildConditionals as ha, OutputTargetCustom as hi, SsrComponent as hn, filterExcludedComponents as ho, CompilerFsStats as hr, isNumber as hs, ComponentRuntimeMetaCompact as ht, BuildConditionals as i, UnvalidatedConfig as ia, TYPES as ic, OptimizeCssInput as ii, RolldownResultModule as in, escapeRegExpSpecialCharacters as io, CompilerEventBuildStart as ir, isRootPath as is, ComponentConstructorListener as it, CompilerWorkerContext as j, JsonDocsTypeLibrary as ja, ParsedPath as ji, TypesModule as jn, isOutputTargetLoaderBundle as jo, ConfigCompat as jr, COLLECTION as js, LazyBundleRuntimeData as jt, CompilerModeStyles as k, JsonDocsStyle as ka, OutputTargetWww as ki, TypesImportData as kn, isOutputTargetDocsVscode as ko, Config as kr, ASSETS as ks, JSDocTagInfo as kt, BuildTask as l, WorkerOptions as la, byteSize as lc, OutputTargetAssets as li, SerializeImportData as ln, normalizeFsPathQuery as lo, CompilerEventFileUpdate as lr, fromEntries as ls, ComponentNativeConstructor as lt, CollectionBundleManifest as m, TagTransformer as ma, OutputTargetCopy as mi, SsrAnchorElement as mn, filterActiveTargets as mo, CompilerFileWatcherEvent as mr, isIterable as ms, ComponentRuntimeMeta as mt, AssetsMeta as n, TranspileOptions as na, STYLE_EXT as nc, LoggerTimeSpan as ni, RolldownChunkResult as nn, rolldownToStencilSourceMap as no, CompilerEventBuildLog as nr, isRolldownError as ns, ComponentConstructorEncapsulation as nt, BuildFeatures as o, ValidatedOutputTargetWww as oa, WATCH_FLAGS as oc, OptimizeJsInput as oi, RolldownSourceMap as on, join as oo, CompilerEventDirDelete as or, dashToPascalCase as os, ComponentConstructorProperty as ot, ChildType as p, ResolutionHandler as pa, OutputTargetCollection as pi, SpecPage as pn, FilterComponentsResult as po, CompilerFileWatcherCallback as pr, isFunction as ps, ComponentRuntimeMembers as pt, ComponentCompilerState as q, isTsFile as qa, SitemapXmpResults as qi, CacheStorage as qn, hasWarning as qo, HydratedFlag as qr, HTML_NS as qs, PluginTransformResults as qt, BuildComponent as r, TranspileResults as ra, SVG_NS as rc, NodeResolveConfig as ri, RolldownResult as rn, result_d_exports as ro, CompilerEventBuildNoChange as rr, loadRolldownDiagnostics as rs, ComponentConstructorEvent as rt, BuildSourceGraph as s, WatcherCloseResults as sa, WWW as sc, OptimizeJsOutput as si, RootAppliedStyleMap as sn, normalize as so, CompilerEventFileAdd as sr, escapeWithPattern as ss, ComponentConstructorPropertyType as st, AnyHTMLElement as t, TranspileOnlyResults as ta, STATS as tc, LoggerLineUpdater as ti, RolldownAssetResult as tn, getSourceMappingUrlLinker as to, CompilerEventBuildFinish as tr, createOnWarnFn as ts, ComponentConstructorChangeHandlers as tt, BundleModule as u, ErrorHandler as ua, OutputTargetBase as ui, SerializedEvent as un, normalizePath as uo, CompilerEventFsChange as ur, isBoolean as us, ComponentPatches as ut, CollectionComponentEntryPath as v, JsonDocs as va, OutputTargetDocsCustomElementsManifest as vi, SsrResults as vn, getComponentsFromModules as vo, CompilerSystem as vr, mergeIntoWith as vs, CssImportData as vt, CompilerBuildStatCollection as w, JsonDocsMethod as wa, OutputTargetSsr as wi, StyleMap as wn, isOutputTargetDocs as wo, CompilerSystemRemoveFileResults as wr, toTitleCase as ws, EventInitDict as wt, CollectionManifest as x, JsonDocsDependencyGraph as xa, OutputTargetDocsVscode as xi, SsrStyleElement as xn, isOutputTargetCopy as xo, CompilerSystemRealpathResults as xr, sortBy as xs, DocData as xt, CollectionDependencyData as y, JsonDocsComponent as ya, OutputTargetDocsJson as yi, SsrScriptElement as yn, isOutputTargetAssets as yo, CompilerSystemCreateDirectoryOptions as yr, noop as ys, CssToEsmImportData as yt, ComponentCompilerListener as z, addDocBlock as za, ResolveModuleIdResults as zi, BuildEmitEvents as zn, relativeImport as zo, DevServerEditor as zr, DOCS_CUSTOM_ELEMENTS_MANIFEST as zs, NodeMap as zt };
6170
+ export { CompilerSystemRemoveDirectoryResults as $, HOST_FLAGS as $i, JsonDocMethodParameter as $n, isOutputTargetDocsCustom as $r, OutputTargetDocsReadme as $t, CompilerDependency as A, isRolldownError as Ai, StencilDevServerConfig as An, isTsFile as Ar, LogLevel as At, CompilerEventFsChange as B, COPY as Bi, WatcherCloseResults as Bn, FilterComponentsResult as Br, OutputTarget as Bt, CacheStorage as C, escapeHtml as Ci, SerializeDocumentOptions as Cn, createJsVarName as Cr, HydrateFactoryOptions as Ct, Compiler as D, loadTypeScriptDiagnostic as Di, SsrDocumentOptions as Dn, isDtsFile as Dr, LightDomPatches as Dt, CompileTarget as E, augmentDiagnosticWithNode as Ei, SitemapXmpResults as En, hasDependency as Er, LazyRequire as Et, CompilerEventDirAdd as F, ASSETS as Fi, TranspileOptions as Fn, getInlineSourceMappingUrlLinker as Fr, NodeResolveConfig as Ft, CompilerFsStats as G, DOCS_CUSTOM as Gi, FunctionalComponent as Gn, getComponentsFromModules as Gr, OutputTargetCollection as Gt, CompilerFileWatcher as H, DEFAULT_STYLE_MODE as Hi, WorkerOptions as Hn, filterExcludedComponents as Hr, OutputTargetBase as Ht, CompilerEventDirDelete as I, CMP_FLAGS as Ii, TranspileResults as In, getSourceMappingUrlForEndOfFile as Ir, OptimizeCssInput as It, CompilerSystem as J, DOCS_README as Ji, ReactiveControllerHostInterface as Jn, isOutputTargetCopy as Jr, OutputTargetDistLazy as Jt, CompilerRequest as K, DOCS_CUSTOM_ELEMENTS_MANIFEST as Ki, MixedInCtor as Kn, isOutputTargetAssets as Kr, OutputTargetCopy as Kt, CompilerEventFileAdd as L, COLLECTION as Li, UnvalidatedConfig as Ln, getSourceMappingUrlLinker as Lr, OptimizeCssOutput as Lt, CompilerEventBuildLog as M, formatComponentRuntimeMeta as Mi, SystemDetails as Mn, parsePackageJson as Mr, LoggerLineUpdater as Mt, CompilerEventBuildNoChange as N, formatLazyBundleRuntimeMeta as Ni, TransformOptions as Nn, readOnlyArrayHasStringMember as Nr, LoggerTimeSpan as Nt, CompilerBuildResults as O, loadTypeScriptDiagnostics as Oi, SsrFactoryOptions as On, isJsFile as Or, LoadConfigInit as Ot, CompilerEventBuildStart as P, stringifyRuntimeData as Pi, TranspileOnlyResults as Pn, readPackageJson as Pr, ModeConfig as Pt, CompilerSystemRemoveDirectoryOptions as Q, GLOBAL_STYLE as Qi, VNode as Qn, isOutputTargetDocsAgentSkill as Qr, OutputTargetDocsJson as Qt, CompilerEventFileDelete as R, COLLECTION_APP_DATA_FILE_NAME as Ri, ValidatedConfig as Rn, rolldownToStencilSourceMap as Rr, OptimizeJsInput as Rt, BuildResultsComponentGraph as S, shouldIgnoreError as Si, RolldownConfig as Sn, addDocBlock as Sr, HydrateDocumentOptions as St, CompileScriptMinifyOptions as T, splitLineBreaks as Ti, SitemapXmpOpts as Tn, getTextDocs as Tr, LOG_LEVELS as Tt, CompilerFileWatcherCallback as U, DIST_LAZY as Ui, ComponentInterface as Un, getComponentsDtsSrcFilePath as Ur, OutputTargetBaseNext as Ut, CompilerEventName as V, CUSTOM as Vi, WorkerMainController as Vn, filterActiveTargets as Vr, OutputTargetAssets as Vt, CompilerFileWatcherEvent as W, DOCS_AGENT_SKILL as Wi, ErrorHandler as Wn, getComponentsDtsTypesFilePath as Wr, OutputTargetBuild as Wt, CompilerSystemCreateDirectoryResults as X, EVENT_FLAGS as Xi, TagTransformer as Xn, isOutputTargetDistLazy as Xr, OutputTargetDocsCustom as Xt, CompilerSystemCreateDirectoryOptions as Y, DOCS_VSCODE as Yi, ResolutionHandler as Yn, isOutputTargetCustom as Yr, OutputTargetDocsAgentSkill as Yt, CompilerSystemRealpathResults as Z, GENERATED_DTS as Zi, UserBuildConditionals as Zn, isOutputTargetDocs as Zr, OutputTargetDocsCustomElementsManifest as Zt, BuildNoChangeResults as _, buildJsonFileError as _i, ResolveModuleIdOptions as _n, FsWriteResults as _r, DocsReadmeCustomColumn as _t, HostElement as a, SSR as aa, isOutputTargetLoaderBundle as ai, OutputTargetStandalone as an, JsonDocsListener as ar, Config as at, BuildOutput as b, hasError as bi, RobotsTxtOpts as bn, validateComponentTag as br, HmrStyleUpdate as bt, PrintLine as c, STATS as ca, isOutputTargetStandalone as ci, OutputTargetWww as cn, JsonDocsPart as cr, CopyResults as ct, SsrResults as d, TYPES as da, isOutputTargetWww as di, PlatformPath as dn, JsonDocsStyle as dr, CustomElementsExportBehavior as dt, HTML_NS as ea, isOutputTargetDocsCustomElementsManifest as ei, OutputTargetDocsVscode as en, JsonDocs as er, CompilerSystemRemoveFileResults as et, WorkerMsgHandler as f, VALID_CONFIG_OUTPUT_TARGETS as fa, isValidConfigOutputTarget as fi, PrerenderConfig as fn, JsonDocsTag as fr, CustomElementsExportBehaviorOptions as ft, BuildLog as g, buildError as gi, PrerenderStartOptions as gn, StyleDoc as gr, Diagnostic$1 as gt, BuildEvents as h, XLINK_NS as ha, TASK_CANCELED_MSG as hi, PrerenderResults as hn, JsonDocsValue as hr, DevServerEditor as ht, ComponentCompilerTypeReferences as i, NODE_TYPES as ia, isOutputTargetGlobalStyle as ii, OutputTargetSsrWasm as in, JsonDocsEvent as ir, CompilerWatcher as it, CompilerEventBuildFinish as j, loadRolldownDiagnostics as ji, StencilDocsConfig as jn, isTsxFile as jr, Logger as jt, CompilerBuildStart as k, createOnWarnFn as ki, StencilConfig as kn, isJsxFile as kr, LoadConfigResults as kt, PropsType as l, STYLE_EXT as la, isOutputTargetStats as li, PageReloadStrategy as ln, JsonDocsProp as lr, CopyTask as lt, BuildEmitEvents as m, WWW as ma, shouldExcludeComponent as mi, PrerenderOptions as mn, JsonDocsUsage as mr, DevServerConfig as mt, CompilerWorkerContext as n, LOADER_BUNDLE as na, isOutputTargetDocsReadme as ni, OutputTargetLoaderBundle as nn, JsonDocsCustomState as nr, CompilerSystemRenamedPath as nt, LazyBundlesRuntimeData as o, SSR_WASM as oa, isOutputTargetSsr as oi, OutputTargetStats as on, JsonDocsMethod as or, ConfigBundle as ot, AutoprefixerOptions as p, WATCH_FLAGS as pa, relativeImport as pi, PrerenderHydrateOptions as pn, JsonDocsTypeLibrary as pr, DevServer as pt, CompilerRequestResponse as q, DOCS_JSON as qi, RafCallback as qn, isOutputTargetCollection as qr, OutputTargetCustom as qt, ComponentCompilerMeta as r, MEMBER_FLAGS as ra, isOutputTargetDocsVscode as ri, OutputTargetSsr as rn, JsonDocsDependencyGraph as rr, CompilerSystemWriteFileResults as rt, PackageJsonData as s, STANDALONE as sa, isOutputTargetSsrWasm as si, OutputTargetTypes as sn, JsonDocsMethodReturn as sr, ConfigCompat as st, ChildType as t, LISTENER_FLAGS as ta, isOutputTargetDocsJson as ti, OutputTargetGlobalStyle as tn, JsonDocsComponent as tr, CompilerSystemRenameResults as tt, RuntimeRef as u, SVG_NS as ua, isOutputTargetTypes as ui, ParsedPath as un, JsonDocsSlot as ur, Credentials as ut, BuildOnEventRemove as v, buildWarn as vi, ResolveModuleIdResults as vn, ModeValidationError as vr, FsWatchResults as vt, CliInitOptions as w, normalizeDiagnostics as wi, ServiceWorkerConfig as wn, generatePreamble as wr, HydratedFlag as wt, BuildOverrides as x, hasWarning as xi, RobotsTxtResults as xn, ParsePackageJsonResult as xr, HotModuleReplacement as xt, BuildOnEvents as y, catchError as yi, ResolveModuleOptions as yn, validateComponentModes as yr, HistoryApiFallback as yt, CompilerEventFileUpdate as z, COLLECTION_MANIFEST_FILE_NAME as zi, ValidatedOutputTargetWww as zn, result_d_exports as zr, OptimizeJsOutput as zt };