@stencil/core 4.42.0 → 4.42.1-dev.1770615146.e130b7a

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 (46) hide show
  1. package/cli/index.cjs +1 -1
  2. package/cli/index.js +1 -1
  3. package/cli/package.json +1 -1
  4. package/compiler/package.json +1 -1
  5. package/compiler/stencil.js +289 -20
  6. package/dev-server/client/index.js +1 -1
  7. package/dev-server/client/package.json +1 -1
  8. package/dev-server/connector.html +2 -2
  9. package/dev-server/index.js +1 -1
  10. package/dev-server/package.json +1 -1
  11. package/dev-server/server-process.js +2 -2
  12. package/internal/app-data/package.json +1 -1
  13. package/internal/app-globals/package.json +1 -1
  14. package/internal/client/index.js +201 -166
  15. package/internal/client/package.json +1 -1
  16. package/internal/client/patch-browser.js +1 -1
  17. package/internal/client/shadow-css.js +1 -1
  18. package/internal/hydrate/index.js +202 -167
  19. package/internal/hydrate/package.json +1 -1
  20. package/internal/hydrate/runner.js +56 -22
  21. package/internal/package.json +1 -1
  22. package/internal/stencil-core/index.d.ts +1 -0
  23. package/internal/stencil-private.d.ts +6 -0
  24. package/internal/stencil-public-compiler.d.ts +34 -0
  25. package/internal/stencil-public-runtime.d.ts +0 -4
  26. package/internal/testing/index.js +201 -166
  27. package/internal/testing/package.json +1 -1
  28. package/mock-doc/index.cjs +56 -22
  29. package/mock-doc/index.d.ts +10 -2
  30. package/mock-doc/index.js +56 -22
  31. package/mock-doc/package.json +1 -1
  32. package/package.json +1 -1
  33. package/screenshot/index.js +1 -1
  34. package/screenshot/package.json +1 -1
  35. package/screenshot/pixel-match.js +1 -1
  36. package/sys/node/460.node-fetch.js +3 -3
  37. package/sys/node/autoprefixer.js +2 -2
  38. package/sys/node/glob.js +1 -1
  39. package/sys/node/graceful-fs.js +1 -1
  40. package/sys/node/index.js +28 -28
  41. package/sys/node/node-fetch.js +4 -4
  42. package/sys/node/package.json +1 -1
  43. package/sys/node/prompts.js +1 -1
  44. package/sys/node/worker.js +1 -1
  45. package/testing/index.js +13 -1
  46. package/testing/package.json +1 -1
package/cli/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Stencil CLI (CommonJS) v4.42.0 | MIT Licensed | https://stenciljs.com
2
+ Stencil CLI (CommonJS) v4.42.1-dev.1770615146.e130b7a | MIT Licensed | https://stenciljs.com
3
3
  */
4
4
  "use strict";
5
5
  var __create = Object.create;
package/cli/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Stencil CLI v4.42.0 | MIT Licensed | https://stenciljs.com
2
+ Stencil CLI v4.42.1-dev.1770615146.e130b7a | MIT Licensed | https://stenciljs.com
3
3
  */
4
4
  var __create = Object.create;
5
5
  var __defProp = Object.defineProperty;
package/cli/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stencil/core/cli",
3
- "version": "4.42.0",
3
+ "version": "4.42.1-dev.1770615146.e130b7a",
4
4
  "description": "Stencil CLI.",
5
5
  "main": "./index.cjs",
6
6
  "module": "./index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stencil/core/compiler",
3
- "version": "4.42.0",
3
+ "version": "4.42.1-dev.1770615146.e130b7a",
4
4
  "description": "Stencil Compiler.",
5
5
  "main": "./stencil.js",
6
6
  "types": "./stencil.d.ts",
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Stencil Compiler v4.42.0 | MIT Licensed | https://stenciljs.com
2
+ Stencil Compiler v4.42.1-dev.1770615146.e130b7a | MIT Licensed | https://stenciljs.com
3
3
  */
4
4
  "use strict";
5
5
  var __create = Object.create;
@@ -245765,7 +245765,7 @@ var import_typescript72 = __toESM(require_typescript_5_8_3_bundle_cache_min());
245765
245765
 
245766
245766
  // src/version.ts
245767
245767
  init_import_meta_url();
245768
- var buildId = "1769988906";
245768
+ var buildId = "1770615146";
245769
245769
  var minfyJsId = "terser5.37.0_7";
245770
245770
  var optimizeCssId = "autoprefixer10.4.19_postcss8.5.6_7";
245771
245771
  var parse5Version = "7.2.1";
@@ -245773,8 +245773,8 @@ var rollupVersion = "4.34.9";
245773
245773
  var jqueryVersion = "4.0.0-pre";
245774
245774
  var terserVersion = "5.37.0";
245775
245775
  var typescriptVersion = "5.8.3";
245776
- var vermoji = "\u{1F691}";
245777
- var version = "4.42.0";
245776
+ var vermoji = "\u{1F6F3}";
245777
+ var version = "4.42.1-dev.1770615146.e130b7a";
245778
245778
  var versions = {
245779
245779
  stencil: version,
245780
245780
  parse5: parse5Version,
@@ -248871,7 +248871,7 @@ var scopeCss = (cssText, scopeId, commentOriginalSelector) => {
248871
248871
  });
248872
248872
  }
248873
248873
  scoped.slottedSelectors.forEach((slottedSelector) => {
248874
- const regex = new RegExp(escapeRegExpSpecialCharacters(slottedSelector.orgSelector), "g");
248874
+ const regex = new RegExp(escapeRegExpSpecialCharacters(slottedSelector.orgSelector) + "(?=\\s*[,{]|$)", "g");
248875
248875
  cssText = cssText.replace(regex, slottedSelector.updatedSelector);
248876
248876
  });
248877
248877
  cssText = expandPartSelectors(cssText);
@@ -249324,6 +249324,7 @@ var getModuleLegacy = (compilerCtx, sourceFilePath) => {
249324
249324
  isCollectionDependency: false,
249325
249325
  isLegacy: false,
249326
249326
  localImports: [],
249327
+ functionalComponentDeps: [],
249327
249328
  originalCollectionComponentPath: null,
249328
249329
  originalImports: [],
249329
249330
  potentialCmpRefs: [],
@@ -258083,6 +258084,7 @@ var createModule = (staticSourceFile, staticSourceFileText, emitFilepath) => ({
258083
258084
  isCollectionDependency: false,
258084
258085
  isLegacy: false,
258085
258086
  localImports: [],
258087
+ functionalComponentDeps: [],
258086
258088
  originalCollectionComponentPath: null,
258087
258089
  originalImports: [],
258088
258090
  potentialCmpRefs: [],
@@ -268728,6 +268730,7 @@ var updateComponentBuildConditionals = (moduleMap, cmps) => {
268728
268730
  });
268729
268731
  };
268730
268732
  var getModuleImports = (moduleMap, filePath, importedModules) => {
268733
+ var _a2;
268731
268734
  let moduleFile = moduleMap.get(filePath);
268732
268735
  if (moduleFile == null) {
268733
268736
  moduleFile = moduleMap.get(filePath + ".tsx");
@@ -268743,6 +268746,9 @@ var getModuleImports = (moduleMap, filePath, importedModules) => {
268743
268746
  moduleFile.localImports.forEach((localImport) => {
268744
268747
  getModuleImports(moduleMap, localImport, importedModules);
268745
268748
  });
268749
+ (_a2 = moduleFile.functionalComponentDeps) == null ? void 0 : _a2.forEach((depPath) => {
268750
+ getModuleImports(moduleMap, depPath, importedModules);
268751
+ });
268746
268752
  }
268747
268753
  return importedModules;
268748
268754
  };
@@ -268796,6 +268802,139 @@ var getCustomElementsBuildConditionals = (config, cmps) => {
268796
268802
  return build3;
268797
268803
  };
268798
268804
 
268805
+ // src/compiler/output-targets/dist-custom-elements/generate-loader-module.ts
268806
+ init_import_meta_url();
268807
+ var generateLoaderModule = (components, outputTarget) => {
268808
+ const autoLoaderConfig = outputTarget.autoLoader;
268809
+ const autoStart = typeof autoLoaderConfig === "object" ? autoLoaderConfig.autoStart !== false : true;
268810
+ const componentMap = components.map((cmp) => ` '${cmp.tagName}': './${cmp.tagName}.js'`).join(",\n");
268811
+ return `
268812
+ import { transformTag } from '${STENCIL_INTERNAL_CLIENT_ID}';
268813
+
268814
+ /**
268815
+ * Component map built at compile time.
268816
+ * Maps original tag names to their module paths.
268817
+ */
268818
+ const components = {
268819
+ ${componentMap}
268820
+ };
268821
+
268822
+ /**
268823
+ * Set of tags that have already been loaded/registered.
268824
+ * Prevents duplicate loading attempts.
268825
+ */
268826
+ const defined = new Set();
268827
+
268828
+ /**
268829
+ * MutationObserver instance for watching DOM changes.
268830
+ */
268831
+ let observer;
268832
+
268833
+ /**
268834
+ * Build a lookup map using transformed tag names.
268835
+ * This is called at runtime to account for any tag transformers
268836
+ * that may have been set via setTagTransformer().
268837
+ */
268838
+ function getTransformedLookup() {
268839
+ const lookup = {};
268840
+ for (const [tag, path] of Object.entries(components)) {
268841
+ lookup[transformTag(tag)] = { originalTag: tag, path };
268842
+ }
268843
+ return lookup;
268844
+ }
268845
+
268846
+ /**
268847
+ * Scan a root element for undefined custom elements and load them.
268848
+ * @param root - The root element to scan
268849
+ * @param lookup - The transformed tag lookup map
268850
+ */
268851
+ async function load(root, lookup) {
268852
+ const rootTag = root instanceof Element ? root.tagName.toLowerCase() : '';
268853
+ const tags = [...root.querySelectorAll(':not(:defined)')]
268854
+ .map(el => el.tagName.toLowerCase())
268855
+ .filter(tag => lookup[tag] && !defined.has(tag));
268856
+
268857
+ // Also check the root element itself
268858
+ if (rootTag && lookup[rootTag] && !defined.has(rootTag)) {
268859
+ tags.push(rootTag);
268860
+ }
268861
+
268862
+ // Load unique tags in parallel
268863
+ await Promise.allSettled([...new Set(tags)].map(tag => register(tag, lookup)));
268864
+ }
268865
+
268866
+ /**
268867
+ * Register a single component by importing its module.
268868
+ * @param transformedTag - The transformed tag name (as it appears in the DOM)
268869
+ * @param lookup - The transformed tag lookup map
268870
+ */
268871
+ async function register(transformedTag, lookup) {
268872
+ // Skip if already defined or being defined
268873
+ if (defined.has(transformedTag) || customElements.get(transformedTag)) {
268874
+ defined.add(transformedTag);
268875
+ return;
268876
+ }
268877
+
268878
+ // Mark as being processed to prevent duplicate attempts
268879
+ defined.add(transformedTag);
268880
+ const { path } = lookup[transformedTag];
268881
+
268882
+ try {
268883
+ const module = await import(path);
268884
+ // Call defineCustomElement if exported (handles component + dependencies)
268885
+ if (typeof module.defineCustomElement === 'function') {
268886
+ module.defineCustomElement();
268887
+ }
268888
+ } catch (e) {
268889
+ console.error(\`[Stencil Loader] Failed to load <\${transformedTag}>\`, e);
268890
+ // Remove from defined set to allow retry
268891
+ defined.delete(transformedTag);
268892
+ }
268893
+ }
268894
+
268895
+ /**
268896
+ * Start the auto-loader, scanning the DOM and watching for changes.
268897
+ * @param root - The root element to observe (default: document.body)
268898
+ */
268899
+ export function start(root = document.body) {
268900
+ const lookup = getTransformedLookup();
268901
+
268902
+ // Disconnect any existing observer
268903
+ if (observer) {
268904
+ observer.disconnect();
268905
+ }
268906
+
268907
+ // Create MutationObserver to watch for new elements
268908
+ observer = new MutationObserver(mutations => {
268909
+ for (const { addedNodes } of mutations) {
268910
+ for (const node of addedNodes) {
268911
+ if (node.nodeType === Node.ELEMENT_NODE) {
268912
+ load(node, lookup);
268913
+ }
268914
+ }
268915
+ }
268916
+ });
268917
+
268918
+ // Initial scan of existing DOM
268919
+ load(root, lookup);
268920
+
268921
+ // Start observing for new elements
268922
+ observer.observe(root, { subtree: true, childList: true });
268923
+ }
268924
+
268925
+ /**
268926
+ * Stop the auto-loader and disconnect the MutationObserver.
268927
+ */
268928
+ export function stop() {
268929
+ if (observer) {
268930
+ observer.disconnect();
268931
+ observer = null;
268932
+ }
268933
+ }
268934
+ ${autoStart ? "\n// Auto-start the loader\nstart();" : ""}
268935
+ `.trim();
268936
+ };
268937
+
268799
268938
  // src/compiler/transformers/add-tag-transform.ts
268800
268939
  init_import_meta_url();
268801
268940
  var import_typescript35 = __toESM(require_typescript_5_8_3_bundle_cache_min());
@@ -269576,6 +269715,11 @@ var addCustomElementInputs = (buildCtx, bundleOpts, outputTarget) => {
269576
269715
  bundleOpts.loader[coreKey] = exp.join("\n");
269577
269716
  });
269578
269717
  bundleOpts.loader["\0core"] = generateEntryPoint(outputTarget, indexImports, indexExports, exportNames);
269718
+ if (outputTarget.autoLoader) {
269719
+ const loaderFileName = typeof outputTarget.autoLoader === "object" ? outputTarget.autoLoader.fileName || "loader" : "loader";
269720
+ bundleOpts.inputs[loaderFileName] = "\0loader";
269721
+ bundleOpts.loader["\0loader"] = generateLoaderModule(components, outputTarget);
269722
+ }
269579
269723
  };
269580
269724
  var generateEntryPoint = (outputTarget, cmpImports = [], cmpExports = [], cmpNames = []) => {
269581
269725
  const body = [];
@@ -271500,6 +271644,17 @@ var validateCustomElement = (config, userOutputs) => {
271500
271644
  if (outputTarget.customElementsExportBehavior == null || !CustomElementsExportBehaviorOptions.includes(outputTarget.customElementsExportBehavior)) {
271501
271645
  outputTarget.customElementsExportBehavior = "default";
271502
271646
  }
271647
+ if (outputTarget.autoLoader === true) {
271648
+ outputTarget.autoLoader = {
271649
+ fileName: "loader",
271650
+ autoStart: true
271651
+ };
271652
+ } else if (outputTarget.autoLoader && typeof outputTarget.autoLoader === "object") {
271653
+ outputTarget.autoLoader = {
271654
+ fileName: outputTarget.autoLoader.fileName || "loader",
271655
+ autoStart: outputTarget.autoLoader.autoStart !== false
271656
+ };
271657
+ }
271503
271658
  if (outputTarget.generateTypeDeclarations) {
271504
271659
  const typesDirectory = getAbsolutePath(config, join(defaultDir, "types"));
271505
271660
  outputs.push({
@@ -274056,6 +274211,46 @@ var getDocsDeprecation = (cmp) => {
274056
274211
  var getDefaultReadme = (docsData) => {
274057
274212
  return [`# ${docsData.tag}`, "", "", ""].join("\n");
274058
274213
  };
274214
+ var extractExistingCssProps = async (compilerCtx, readmePath) => {
274215
+ try {
274216
+ const existingContent = await compilerCtx.fs.readFile(readmePath);
274217
+ const cssPropsSectionMatch = existingContent.match(
274218
+ /## CSS Custom Properties\s*\n\s*\n([\s\S]*?)(?=\n##|\n-{4,}|$)/
274219
+ );
274220
+ if (!cssPropsSectionMatch) {
274221
+ return void 0;
274222
+ }
274223
+ const cssPropsSection = cssPropsSectionMatch[1];
274224
+ const styles2 = [];
274225
+ const lines = cssPropsSection.split("\n");
274226
+ let inTable = false;
274227
+ for (const line of lines) {
274228
+ const trimmedLine = line.trim();
274229
+ if (trimmedLine.startsWith("| Name") || trimmedLine.startsWith("| ---")) {
274230
+ inTable = true;
274231
+ continue;
274232
+ }
274233
+ if (inTable && trimmedLine.startsWith("|")) {
274234
+ const parts = trimmedLine.split("|").map((p) => p.trim()).filter((p) => p);
274235
+ if (parts.length >= 2) {
274236
+ const name = parts[0].replace(/`/g, "").trim();
274237
+ const docs = parts[1].trim();
274238
+ if (name.startsWith("--")) {
274239
+ styles2.push({
274240
+ name,
274241
+ docs,
274242
+ annotation: "prop",
274243
+ mode: void 0
274244
+ });
274245
+ }
274246
+ }
274247
+ }
274248
+ }
274249
+ return styles2.length > 0 ? styles2 : void 0;
274250
+ } catch (e) {
274251
+ return void 0;
274252
+ }
274253
+ };
274059
274254
 
274060
274255
  // src/compiler/docs/readme/index.ts
274061
274256
  var generateReadmeDocs = async (config, compilerCtx, docsData, outputTargets) => {
@@ -274172,6 +274367,24 @@ var outputDocs = async (config, compilerCtx, buildCtx) => {
274172
274367
  }
274173
274368
  await buildCtx.stylesPromise;
274174
274369
  const docsData = await generateDocData(config, compilerCtx, buildCtx);
274370
+ const isDocsOnlyMode = config.outputTargets.every(
274371
+ (target) => target.type === "docs-readme" || target.type === "docs-json" || target.type === "docs-custom" || target.type === "docs-vscode" || target.type === "docs-custom-elements-manifest"
274372
+ );
274373
+ if (isDocsOnlyMode) {
274374
+ await Promise.all(
274375
+ docsData.components.map(async (component) => {
274376
+ if (component.styles.length === 0) {
274377
+ const readmeTarget = docsOutputTargets.find(isOutputTargetDocsReadme);
274378
+ const readmeDir = (readmeTarget == null ? void 0 : readmeTarget.dir) || config.srcDir;
274379
+ const readmePath = normalizePath(readmeDir) === normalizePath(config.srcDir) ? component.readmePath : join(readmeDir, component.readmePath.replace(config.srcDir, ""));
274380
+ const existingCssProps = await extractExistingCssProps(compilerCtx, readmePath);
274381
+ if (existingCssProps) {
274382
+ component.styles = existingCssProps;
274383
+ }
274384
+ }
274385
+ })
274386
+ );
274387
+ }
274175
274388
  await Promise.all([
274176
274389
  generateReadmeDocs(config, compilerCtx, docsData, docsOutputTargets),
274177
274390
  generateJsonDocs(config, compilerCtx, docsData, docsOutputTargets),
@@ -274374,6 +274587,29 @@ var generateCustomElementsTypesOutput = async (config, compilerCtx, buildCtx, ty
274374
274587
  await compilerCtx.fs.writeFile(filePath, dtsCode, { outputTargetType: outputTarget.type });
274375
274588
  })
274376
274589
  );
274590
+ if (outputTarget.autoLoader) {
274591
+ const loaderFileName = typeof outputTarget.autoLoader === "object" ? outputTarget.autoLoader.fileName || "loader" : "loader";
274592
+ const loaderDtsPath = join(outputTarget.dir, `${loaderFileName}.d.ts`);
274593
+ const loaderDtsCode = generateLoaderType();
274594
+ await compilerCtx.fs.writeFile(loaderDtsPath, loaderDtsCode, { outputTargetType: outputTarget.type });
274595
+ }
274596
+ };
274597
+ var generateLoaderType = () => {
274598
+ return [
274599
+ `/**`,
274600
+ ` * Start the auto-loader, scanning the DOM and watching for changes.`,
274601
+ ` * The loader uses MutationObserver to detect when custom elements are added`,
274602
+ ` * to the DOM and lazily loads their definitions.`,
274603
+ ` * @param root - The root element to observe (default: document.body)`,
274604
+ ` */`,
274605
+ `export declare function start(root?: Element): void;`,
274606
+ ``,
274607
+ `/**`,
274608
+ ` * Stop the auto-loader and disconnect the MutationObserver.`,
274609
+ ` */`,
274610
+ `export declare function stop(): void;`,
274611
+ ``
274612
+ ].join("\n");
274377
274613
  };
274378
274614
  var generateCustomElementType = (componentsDtsRelPath, cmp) => {
274379
274615
  const tagNameAsPascal = dashToPascalCase(cmp.tagName);
@@ -274762,9 +274998,19 @@ var generateComponentTypes = (cmp, typeImportData, areTypesInternal) => {
274762
274998
  ];
274763
274999
  const propsWithAttributes = cmp.properties.filter((prop) => prop.attribute !== void 0);
274764
275000
  const hasExplicitAttributes = propsWithAttributes.length > 0;
274765
- const requiredProps = propsWithAttributes.filter((prop) => prop.required);
275001
+ const requiredProps = propsWithAttributes.filter((prop) => {
275002
+ if (!areTypesInternal && prop.internal) {
275003
+ return false;
275004
+ }
275005
+ return prop.required;
275006
+ });
274766
275007
  const hasRequiredProps = requiredProps.length > 0;
274767
- const explicitAttributes = propsWithAttributes.map((prop) => {
275008
+ const explicitAttributes = propsWithAttributes.filter((prop) => {
275009
+ if (!areTypesInternal && prop.internal) {
275010
+ return false;
275011
+ }
275012
+ return true;
275013
+ }).map((prop) => {
274768
275014
  var _a2, _b;
274769
275015
  const propMeta = cmp.properties.find((p) => p.name === prop.name);
274770
275016
  const simpleType = (_a2 = propMeta == null ? void 0 : propMeta.type) == null ? void 0 : _a2.trim();
@@ -275066,7 +275312,7 @@ var generateComponentTypesFile = (config, buildCtx, areTypesInternal) => {
275066
275312
  const hasAnyRequiredProps = modules.some((m) => m.requiredProps);
275067
275313
  if (hasAnyRequiredProps) {
275068
275314
  c.push(
275069
- ` type OneOf<K extends string, T> = { [P in K]: T } | { [P in \`attr:\${K}\`]: T } | { [P in \`prop:\${K}\`]: T };`
275315
+ ` type OneOf<K extends string, PropT, AttrT = PropT> = { [P in K]: PropT } & { [P in \`attr:\${K}\` | \`prop:\${K}\`]?: never } | { [P in \`attr:\${K}\`]: AttrT } & { [P in K | \`prop:\${K}\`]?: never } | { [P in \`prop:\${K}\`]: PropT } & { [P in K | \`attr:\${K}\`]?: never };`
275070
275316
  );
275071
275317
  c.push(``);
275072
275318
  }
@@ -275089,7 +275335,7 @@ var generateComponentTypesFile = (config, buildCtx, areTypesInternal) => {
275089
275335
  const baseOptional = `Omit<${m.tagNameAsPascal}, keyof ${m.tagNameAsPascal}Attributes> & { [K in keyof ${m.tagNameAsPascal} & keyof ${m.tagNameAsPascal}Attributes]?: ${m.tagNameAsPascal}[K] } & { [K in keyof ${m.tagNameAsPascal} & keyof ${m.tagNameAsPascal}Attributes as \`attr:\${K}\`]?: ${m.tagNameAsPascal}Attributes[K] } & { [K in keyof ${m.tagNameAsPascal} & keyof ${m.tagNameAsPascal}Attributes as \`prop:\${K}\`]?: ${m.tagNameAsPascal}[K] }`;
275090
275336
  if (m.requiredProps && m.requiredProps.length > 0) {
275091
275337
  const requiredUnions = m.requiredProps.map((prop) => {
275092
- return `OneOf<"${prop.name}", ${m.tagNameAsPascal}["${prop.name}"]>`;
275338
+ return `OneOf<"${prop.name}", ${m.tagNameAsPascal}["${prop.name}"], ${m.tagNameAsPascal}Attributes["${prop.name}"]>`;
275093
275339
  }).join(" & ");
275094
275340
  return ` "${m.tagName}": ${baseOptional} & ${requiredUnions};`;
275095
275341
  } else {
@@ -277991,33 +278237,33 @@ var gatherVdomMeta = (m, args) => {
277991
278237
  };
277992
278238
 
277993
278239
  // src/compiler/transformers/static-to-meta/call-expression.ts
277994
- var parseCallExpression = (m, node) => {
278240
+ var parseCallExpression = (m, node, typeChecker) => {
277995
278241
  if (node.arguments != null && node.arguments.length > 0) {
277996
278242
  if (import_typescript58.default.isIdentifier(node.expression)) {
277997
- visitCallExpressionArgs(m, node.expression, node.arguments);
278243
+ visitCallExpressionArgs(m, node.expression, node.arguments, typeChecker);
277998
278244
  } else if (import_typescript58.default.isPropertyAccessExpression(node.expression)) {
277999
278245
  const n3 = node.expression.name;
278000
278246
  if (import_typescript58.default.isIdentifier(n3) && n3) {
278001
- visitCallExpressionArgs(m, n3, node.arguments);
278247
+ visitCallExpressionArgs(m, n3, node.arguments, typeChecker);
278002
278248
  }
278003
278249
  }
278004
278250
  }
278005
278251
  };
278006
- var visitCallExpressionArgs = (m, callExpressionName, args) => {
278252
+ var visitCallExpressionArgs = (m, callExpressionName, args, typeChecker) => {
278007
278253
  const fnName = callExpressionName.escapedText;
278008
278254
  if (fnName === "h" || fnName === H2 || fnName === "createElement") {
278009
- visitCallExpressionArg(m, args[0]);
278255
+ visitCallExpressionArg(m, args[0], typeChecker);
278010
278256
  if (fnName === "h" || fnName === H2) {
278011
278257
  gatherVdomMeta(m, args);
278012
278258
  }
278013
278259
  } else if (fnName === "jsx" || fnName === "jsxs" || fnName === "jsxDEV" || fnName === "_jsx" || fnName === "_jsxs" || fnName === "_jsxDEV") {
278014
- visitCallExpressionArg(m, args[0]);
278260
+ visitCallExpressionArg(m, args[0], typeChecker);
278015
278261
  gatherVdomMeta(m, args);
278016
278262
  if (args.length > 2 && args[2]) {
278017
278263
  m.hasVdomKey = true;
278018
278264
  }
278019
278265
  } else if (args.length > 1 && fnName === "createElementNS") {
278020
- visitCallExpressionArg(m, args[1]);
278266
+ visitCallExpressionArg(m, args[1], typeChecker);
278021
278267
  } else if (fnName === "require" && args.length > 0 && m.originalImports) {
278022
278268
  const arg = args[0];
278023
278269
  if (import_typescript58.default.isStringLiteral(arg)) {
@@ -278027,7 +278273,7 @@ var visitCallExpressionArgs = (m, callExpressionName, args) => {
278027
278273
  }
278028
278274
  }
278029
278275
  };
278030
- var visitCallExpressionArg = (m, arg) => {
278276
+ var visitCallExpressionArg = (m, arg, typeChecker) => {
278031
278277
  if (import_typescript58.default.isStringLiteral(arg)) {
278032
278278
  let tag = arg.text;
278033
278279
  if (typeof tag === "string") {
@@ -278037,6 +278283,29 @@ var visitCallExpressionArg = (m, arg) => {
278037
278283
  m.potentialCmpRefs.push(tag);
278038
278284
  }
278039
278285
  }
278286
+ } else if (typeChecker && import_typescript58.default.isIdentifier(arg)) {
278287
+ resolveFunctionalComponentDep(m, arg, typeChecker);
278288
+ }
278289
+ };
278290
+ var resolveFunctionalComponentDep = (m, identifier3, typeChecker) => {
278291
+ try {
278292
+ const symbol = typeChecker.getSymbolAtLocation(identifier3);
278293
+ if (!symbol) return;
278294
+ const aliasedSymbol = typeChecker.getAliasedSymbol(symbol);
278295
+ const targetSymbol = aliasedSymbol || symbol;
278296
+ const declarations = targetSymbol.declarations;
278297
+ if (!declarations || declarations.length === 0) return;
278298
+ const declaration = declarations[0];
278299
+ const sourceFile = declaration.getSourceFile();
278300
+ if (!sourceFile) return;
278301
+ const sourceFilePath = normalizePath(sourceFile.fileName);
278302
+ const moduleFile = m;
278303
+ if (moduleFile.functionalComponentDeps) {
278304
+ if (!moduleFile.functionalComponentDeps.includes(sourceFilePath)) {
278305
+ moduleFile.functionalComponentDeps.push(sourceFilePath);
278306
+ }
278307
+ }
278308
+ } catch (_e) {
278040
278309
  }
278041
278310
  };
278042
278311
 
@@ -278920,7 +279189,7 @@ var parseStaticComponentMeta = (compilerCtx, typeChecker, cmpNode, moduleFile, b
278920
279189
  const visitComponentChildNode = (node, buildCtx2) => {
278921
279190
  validateComponentMembers(node, buildCtx2);
278922
279191
  if (import_typescript62.default.isCallExpression(node)) {
278923
- parseCallExpression(cmp, node);
279192
+ parseCallExpression(cmp, node, typeChecker);
278924
279193
  } else if (import_typescript62.default.isStringLiteral(node)) {
278925
279194
  parseStringLiteral(cmp, node);
278926
279195
  }
@@ -279234,7 +279503,7 @@ var updateModule = (config, compilerCtx, buildCtx, tsSourceFile, sourceFileText,
279234
279503
  parseModuleImport(config, compilerCtx, buildCtx, moduleFile, srcDirPath, node, true);
279235
279504
  return;
279236
279505
  } else if (import_typescript65.default.isCallExpression(node)) {
279237
- parseCallExpression(moduleFile, node);
279506
+ parseCallExpression(moduleFile, node, typeChecker);
279238
279507
  } else if (import_typescript65.default.isStringLiteral(node)) {
279239
279508
  parseStringLiteral(moduleFile, node);
279240
279509
  }
@@ -285210,7 +285479,7 @@ var convertStaticToMeta = (config, compilerCtx, buildCtx, typeChecker, collectio
285210
285479
  } else if (import_typescript70.default.isImportDeclaration(node)) {
285211
285480
  parseModuleImport(config, compilerCtx, buildCtx, moduleFile, dirPath, node, !transformOpts.isolatedModules);
285212
285481
  } else if (import_typescript70.default.isCallExpression(node)) {
285213
- parseCallExpression(moduleFile, node);
285482
+ parseCallExpression(moduleFile, node, typeChecker);
285214
285483
  } else if (import_typescript70.default.isStringLiteral(node)) {
285215
285484
  parseStringLiteral(moduleFile, node);
285216
285485
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Stencil Dev Server Client v4.42.0 | MIT Licensed | https://stenciljs.com
2
+ Stencil Dev Server Client v4.42.1-dev.1770615146.e130b7a | MIT Licensed | https://stenciljs.com
3
3
  */
4
4
 
5
5
  // src/dev-server/client/app-error.css
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stencil/core/dev-server/client",
3
- "version": "4.42.0",
3
+ "version": "4.42.1-dev.1770615146.e130b7a",
4
4
  "description": "Stencil Dev Server Client.",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -1,6 +1,6 @@
1
- <!doctype html><html><head><meta charset="utf-8"><title>Stencil Dev Server Connector 4.42.0 &#9889</title><style>body{background:black;color:white;font:18px monospace;text-align:center}</style></head><body>
1
+ <!doctype html><html><head><meta charset="utf-8"><title>Stencil Dev Server Connector 4.42.1-dev.1770615146.e130b7a &#9889</title><style>body{background:black;color:white;font:18px monospace;text-align:center}</style></head><body>
2
2
 
3
- Stencil Dev Server Connector 4.42.0 &#9889;
3
+ Stencil Dev Server Connector 4.42.1-dev.1770615146.e130b7a &#9889;
4
4
 
5
5
  <script>!function(e,t,n){"use strict";var r="#dev-server-modal * { box-sizing: border-box !important; } #dev-server-modal { direction: ltr !important; display: block !important; position: absolute !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; z-index: 100000; margin: 0 !important; padding: 0 !important; font-family: -apple-system, 'Roboto', BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol' !important; font-size: 14px !important; line-height: 1.5 !important; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; text-size-adjust: none; word-wrap: break-word; color: #333 !important; background-color: white !important; box-sizing: border-box !important; overflow: hidden; user-select: auto; } #dev-server-modal-inner { position: relative !important; padding: 0 0 30px 0 !important; width: 100% !important; height: 100%; overflow-x: hidden; overflow-y: scroll; -webkit-overflow-scrolling: touch; } .dev-server-diagnostic { margin: 20px !important; border: 1px solid #ddd !important; border-radius: 3px !important; } .dev-server-diagnostic-masthead { padding: 8px 12px 12px 12px !important; } .dev-server-diagnostic-title { margin: 0 !important; font-weight: bold !important; color: #222 !important; } .dev-server-diagnostic-message { margin-top: 4px !important; color: #555 !important; } .dev-server-diagnostic-file { position: relative !important; border-top: 1px solid #ddd !important; } .dev-server-diagnostic-file-header { display: block !important; padding: 5px 10px !important; color: #555 !important; border-bottom: 1px solid #ddd !important; border-top-left-radius: 2px !important; border-top-right-radius: 2px !important; background-color: #f9f9f9 !important; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; font-size: 12px !important; } a.dev-server-diagnostic-file-header { color: #0000ee !important; text-decoration: underline !important; } a.dev-server-diagnostic-file-header:hover { text-decoration: none !important; background-color: #f4f4f4 !important; } .dev-server-diagnostic-file-name { font-weight: bold !important; } .dev-server-diagnostic-blob { overflow-x: auto !important; overflow-y: hidden !important; border-bottom-right-radius: 3px !important; border-bottom-left-radius: 3px !important; } .dev-server-diagnostic-table { margin: 0 !important; padding: 0 !important; border-spacing: 0 !important; border-collapse: collapse !important; border-width: 0 !important; border-style: none !important; -moz-tab-size: 2; tab-size: 2; } .dev-server-diagnostic-table td, .dev-server-diagnostic-table th { padding: 0 !important; border-width: 0 !important; border-style: none !important; } td.dev-server-diagnostic-blob-num { padding-right: 10px !important; padding-left: 10px !important; width: 1% !important; min-width: 50px !important; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; font-size: 12px !important; line-height: 20px !important; color: rgba(0, 0, 0, 0.3) !important; text-align: right !important; white-space: nowrap !important; vertical-align: top !important; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; border: solid #eee !important; border-width: 0 1px 0 0 !important; } td.dev-server-diagnostic-blob-num::before { content: attr(data-line-number) !important; } .dev-server-diagnostic-error-line td.dev-server-diagnostic-blob-num { background-color: #ffdddd !important; border-color: #ffc9c9 !important; } .dev-server-diagnostic-error-line td.dev-server-diagnostic-blob-code { background: rgba(255, 221, 221, 0.25) !important; z-index: -1; } .dev-server-diagnostic-open-in-editor td.dev-server-diagnostic-blob-num:hover { cursor: pointer; background-color: #ffffe3 !important; font-weight: bold; } .dev-server-diagnostic-open-in-editor.dev-server-diagnostic-error-line td.dev-server-diagnostic-blob-num:hover { background-color: #ffdada !important; } td.dev-server-diagnostic-blob-code { position: relative !important; padding-right: 10px !important; padding-left: 10px !important; line-height: 20px !important; vertical-align: top !important; overflow: visible !important; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; font-size: 12px !important; color: #333 !important; word-wrap: normal !important; white-space: pre !important; } td.dev-server-diagnostic-blob-code::before { content: '' !important; } .dev-server-diagnostic-error-chr { position: relative !important; } .dev-server-diagnostic-error-chr::before { position: absolute !important; z-index: -1; top: -3px !important; left: 0px !important; width: 8px !important; height: 20px !important; background-color: #ffdddd !important; content: '' !important; } /** * GitHub Gist Theme * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro * https://highlightjs.org/ */ .hljs-comment, .hljs-meta { color: #969896; } .hljs-string, .hljs-variable, .hljs-template-variable, .hljs-strong, .hljs-emphasis, .hljs-quote { color: #df5000; } .hljs-keyword, .hljs-selector-tag, .hljs-type { color: #a71d5d; } .hljs-literal, .hljs-symbol, .hljs-bullet, .hljs-attribute { color: #0086b3; } .hljs-section, .hljs-name { color: #63a35c; } .hljs-tag { color: #333333; } .hljs-title, .hljs-attr, .hljs-selector-id, .hljs-selector-class, .hljs-selector-attr, .hljs-selector-pseudo { color: #795da3; } .hljs-addition { color: #55a532; background-color: #eaffea; } .hljs-deletion { color: #bd2c00; background-color: #ffecec; } .hljs-link { text-decoration: underline; }",o=function(e){var t,n,r={diagnostics:[],status:null};return e&&e.window&&Array.isArray(e.buildResults.diagnostics)&&(t=e.buildResults.diagnostics.filter((function(e){return"error"===e.level}))).length>0&&(n=s(e.window.document),t.forEach((function(t){r.diagnostics.push(t),i(e.window.document,e.openInEditor,n,t)})),r.status="error"),r},i=function(e,t,n,r){var o,i,s,l,u,m,f,g,h,v,b,w,y,k,E,C,L=e.createElement("div");L.className="dev-server-diagnostic",(u=e.createElement("div")).className="dev-server-diagnostic-masthead",u.title="".concat(d(r.type)," error: ").concat(d(null!=(o=r.code)?o:"unknown error")),L.appendChild(u),(m=e.createElement("div")).className="dev-server-diagnostic-title","string"==typeof r.header&&r.header.trim().length>0?m.textContent=r.header:m.textContent="".concat(c(r.type)," ").concat(c(r.level)),u.appendChild(m),(f=e.createElement("div")).className="dev-server-diagnostic-message",f.textContent=r.messageText,u.appendChild(f),(g=e.createElement("div")).className="dev-server-diagnostic-file",L.appendChild(g),h="string"==typeof r.absFilePath&&0===r.absFilePath.indexOf("http"),v="function"==typeof t&&"string"==typeof r.absFilePath&&!h,h?((b=e.createElement("a")).href=null!=(i=r.absFilePath)?i:"",b.setAttribute("target","_blank"),b.setAttribute("rel","noopener noreferrer"),b.className="dev-server-diagnostic-file-header",(w=e.createElement("span")).className="dev-server-diagnostic-file-path",w.textContent=null!=(s=r.absFilePath)?s:"",b.appendChild(w),g.appendChild(b)):r.relFilePath&&((b=e.createElement(v?"a":"div")).className="dev-server-diagnostic-file-header",r.absFilePath&&(b.title=d(r.absFilePath),v&&a(t,b,r.absFilePath,r.lineNumber,r.columnNumber)),y=r.relFilePath.split("/"),(k=e.createElement("span")).className="dev-server-diagnostic-file-name",k.textContent=null!=(l=y.pop())?l:"",(w=e.createElement("span")).className="dev-server-diagnostic-file-path",w.textContent=y.join("/")+"/",b.appendChild(w),b.appendChild(k),g.appendChild(b)),r.lines&&r.lines.length>0&&((E=e.createElement("div")).className="dev-server-diagnostic-blob",g.appendChild(E),(C=e.createElement("table")).className="dev-server-diagnostic-table",E.appendChild(C),p(r.lines).forEach((function(n){var o,i,s,l,c,p,u,m=e.createElement("tr");n.errorCharStart>0&&m.classList.add("dev-server-diagnostic-error-line"),v&&m.classList.add("dev-server-diagnostic-open-in-editor"),C.appendChild(m),(l=e.createElement("td")).className="dev-server-diagnostic-blob-num",n.lineNumber>0&&(l.setAttribute("data-line-number",n.lineNumber+""),l.title=d(null!=(o=r.relFilePath)?o:"")+", line "+n.lineNumber,c=r.absFilePath,v&&c&&(p=n.lineNumber===r.lineNumber?r.columnNumber:1,a(t,l,c,n.lineNumber,p))),m.appendChild(l),(u=e.createElement("td")).className="dev-server-diagnostic-blob-code",u.innerHTML=A(null!=(i=n.text)?i:"",n.errorCharStart,null!=(s=n.errorLength)?s:0),m.appendChild(u)}))),n.appendChild(L)},a=function(e,t,n,r,o){var i,a;"A"===t.tagName&&(t.href="#open-in-editor"),i="number"!=typeof r||r<1?1:r,a="number"!=typeof o||o<1?1:o,t.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),e({file:n,line:i,column:a})}))},s=function(e){var t=e.getElementById(m);return t||((t=e.createElement("div")).id=m,t.setAttribute("role","dialog"),e.body.appendChild(t)),t.innerHTML="<style>".concat(r,'</style><div id="').concat(m,'-inner"></div>'),e.getElementById("".concat(m,"-inner"))},l=function(e){var t=e.window.document.getElementById(m);(null==t?void 0:t.parentNode)&&t.parentNode.removeChild(t)},d=function(e){return"number"==typeof e||"boolean"==typeof e?e.toString():"string"==typeof e?e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;"):""},c=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},A=function(e,t,n){if("string"!=typeof e)return"";var r=t+n;return e.split("").map((function(e,n){var o;return o="<"===e?"&lt;":">"===e?"&gt;":'"'===e?"&quot;":"'"===e?"&#039;":"&"===e?"&amp;":e,n>=t&&n<r&&(o='<span class="dev-server-diagnostic-error-chr">'.concat(o,"</span>")),o})).join("")},p=function(e){var t,n,r,o,i,a=JSON.parse(JSON.stringify(e));for(o=0;o<100;o++){if(!u(a))return a;for(i=0;i<a.length;i++)if(a[i].text=null!=(n=null==(t=a[i].text)?void 0:t.slice(1))?n:"",a[i].errorCharStart--,!(null==(r=a[i].text)?void 0:r.length))return a}return a},u=function(e){var t,n,r,o,i;if(!e.length)return!1;for(o=0;o<e.length;o++){if(!e[o].text||(null!=(n=null==(t=e[o].text)?void 0:t.length)?n:0)<1)return!1;if(" "!==(i=null==(r=e[o].text)?void 0:r.charAt(0))&&"\t"!==i)return!1}return!0},m="dev-server-modal",f=function(e,t){e.dispatchEvent(new CustomEvent(y,{detail:t}))},g=function(e,t){e.dispatchEvent(new CustomEvent(k,{detail:t}))},h=function(e,t){e.dispatchEvent(new CustomEvent(E,{detail:t}))},v=function(e,t){e.addEventListener(y,(function(e){t(e.detail)}))},b=function(e,t){e.addEventListener(k,(function(e){t(e.detail)}))},w=function(e,t){e.addEventListener(E,(function(e){t(e.detail)}))},y="devserver:buildlog",k="devserver:buildresults",E="devserver:buildstatus",C=function(e,t,n){return"string"==typeof n&&""!==n.trim()&&L(t)===L(n)?Q(n,e):n},L=function(e){var t=e.split("/");return t[t.length-1].split("&")[0].split("?")[0]},j=function(e){var t={};return"string"==typeof e&&e.split("&").forEach((function(e){var n=e.split("=");t[n[0]]=n[1]?n[1]:""})),t},x=function(e){return Object.keys(e).map((function(t){return t+"="+e[t]})).join("&")},I=function(e,t,n){var r=e.split("?"),o=r[0],i=j(r[1]);return i[t]=n,o+"?"+x(i)},Q=function(e,t){return I(e,"s-hmr",t)},H=function(e,t,n){for(var r,o,i=/url\((['"]?)(.*)\1\)/gi,a=n;null!==(r=i.exec(n));)o=r[2],a=a.replace(o,C(e,t,o));return a},S=function(e){return"link"===e.nodeName.toLowerCase()&&!!e.href&&!!e.rel&&"stylesheet"===e.rel.toLowerCase()},B=function(e){return"template"===e.nodeName.toLowerCase()&&!!e.content&&11===e.content.nodeType},U=function(e,t){e.setAttribute("data-hmr",t)},N=function(e){return!!e.shadowRoot&&11===e.shadowRoot.nodeType&&e.shadowRoot!==e},D=function(e){return!!e&&1===e.nodeType&&!!e.getAttribute},F=function(e,t,n){var r=[];return n.forEach((function(n){T(r,e,t,n)})),r.sort()},T=function(e,t,n,r){if(t.nodeName.toLowerCase()===r&&"function"==typeof t["s-hmr"]&&(t["s-hmr"](n),U(t,n),-1===e.indexOf(r)&&e.push(r)),N(t)&&T(e,t.shadowRoot,n,r),t.children)for(var o=0;o<t.children.length;o++)T(e,t.children[o],n,r)},R=function(e,t,n){if(S(e)&&n.forEach((function(n){O(e,t,n)})),B(e)&&R(e.content,t,n),N(e)&&R(e.shadowRoot,t,n),e.children)for(var r=0;r<e.children.length;r++)R(e.children[r],t,n);return n.sort()},O=function(e,t,n){var r=e.getAttribute("href"),o=C(t,n,e.href);o!==r&&(e.setAttribute("href",o),U(e,t))},M=function(e,t,n,r){return"file:"!==e.location.protocol&&t.styleSheets&&z(t,n,r),P(e,t.documentElement,n,r),r.sort()},z=function(e,t,n){var r,o=Object.keys(e.documentElement.style).filter((function(e){return e.endsWith("Image")}));for(r=0;r<e.styleSheets.length;r++)K(o,e.styleSheets[r],t,n)},K=function(e,t,n,r){var o,i,a;try{for(o=t.cssRules,i=0;i<o.length;i++)switch((a=o[i]).type){case CSSRule.IMPORT_RULE:K(e,a.styleSheet,n,r);break;case CSSRule.STYLE_RULE:J(e,a,n,r);break;case CSSRule.MEDIA_RULE:K(e,a,n,r)}}catch(e){console.error("hmrStyleSheetImages: "+e)}},J=function(e,t,n,r){e.forEach((function(e){r.forEach((function(r){var o=t.style[e],i=H(n,r,o);o!==i&&(t.style[e]=i)}))}))},P=function(e,t,n,r){var o,i,a=t.nodeName.toLowerCase();if("img"===a&&Y(t,n,r),D(t)&&(o=t.getAttribute("style"))&&W(t,n,r,o),"style"===a&&X(t,n,r),"file:"!==e.location.protocol&&S(t)&&q(t,n,r),B(t)&&P(e,t.content,n,r),N(t)&&P(e,t.shadowRoot,n,r),t.children)for(i=0;i<t.children.length;i++)P(e,t.children[i],n,r)},Y=function(e,t,n){n.forEach((function(n){var r=e.getAttribute("src"),o=C(t,n,r);o!==r&&(e.setAttribute("src",o),U(e,t))}))},W=function(e,t,n,r){n.forEach((function(n){var o=H(t,n,r);o!==r&&(e.setAttribute("style",o),U(e,t))}))},X=function(e,t,n){n.forEach((function(n){var r=e.innerHTML,o=H(t,n,r);o!==r&&(e.innerHTML=o,U(e,t))}))},q=function(e,t,n){e.href=I(e.href,"s-hmr-urls",n.sort().join(",")),e.href=Q(e.href,t),e.setAttribute("data-hmr",t)},G=function(e,t,n){var r,o=n;if(D(e)&&"style"===e.nodeName.toLowerCase()&&o.forEach((function(n){Z(e,t,n)})),B(e)&&G(e.content,t,o),N(e)&&G(e.shadowRoot,t,o),e.children)for(r=0;r<e.children.length;r++)G(e.children[r],t,o);return o.map((function(e){return e.styleTag})).reduce((function(e,t){return-1===e.indexOf(t)&&e.push(t),e}),[]).sort()},Z=function(e,t,n){e.getAttribute("sty-id")===n.styleId&&n.styleText&&(e.innerHTML=n.styleText.replace(/\\n/g,"\n"),e.setAttribute("data-hmr",t))},V=function(e){var t,n,r,o,i,a={updatedComponents:[],updatedExternalStyles:[],updatedInlineStyles:[],updatedImages:[],versionId:""};try{if(!(e&&e.window&&e.window.document.documentElement&&e.hmr&&"string"==typeof e.hmr.versionId))return a;n=(t=e.window).document,r=e.hmr,o=n.documentElement,i=r.versionId,a.versionId=i,r.componentsUpdated&&(a.updatedComponents=F(o,i,r.componentsUpdated)),r.inlineStylesUpdated&&(a.updatedInlineStyles=G(o,i,r.inlineStylesUpdated)),r.externalStylesUpdated&&(a.updatedExternalStyles=R(o,i,r.externalStylesUpdated)),r.imagesUpdated&&(a.updatedImages=M(t,n,i,r.imagesUpdated)),U(o,i)}catch(e){console.error(e)}return a},_=function(e){return re(ae,"Build",e)},$=function(e){return ee("Reload",e)},ee=function(e,t){return re(oe,e,t)},te=function(e,t){return re(se,e,t)},ne=function(e){var t,n=e,r=ie,o="Error";"warn"===n.level&&(r=oe,o="Warning"),n.header&&(o=n.header),t="",n.relFilePath&&(t+=n.relFilePath,"number"==typeof n.lineNumber&&n.lineNumber>0&&(t+=", line "+n.lineNumber,"number"==typeof n.columnNumber&&n.columnNumber>0&&(t+=", column "+n.columnNumber)),t+="\n"),t+=n.messageText,re(r,o,t)},re=function(e,t,n){"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.indexOf("Trident")>-1?console.log(t,n):console.log.apply(console,["%c"+t,"background: ".concat(e,"; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;"),n])},oe="#f39c12",ie="#c0392b",ae="#3498db",se="#717171",le=function(e){function t(){clearTimeout(s),clearTimeout(a);var e=o();if(!e)return function(){var e=p.createElement("div");e.id=c,e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.zIndex="100001",e.style.width="100%",e.style.height="2px",e.style.transform="scaleX(0)",e.style.opacity="1",e.style.background=u,e.style.transformOrigin="left center",e.style.transition="transform .1s ease-in-out, opacity .5s ease-in",e.style.contain="strict",p.body.appendChild(e)}(),void(i=setTimeout(t,16));e.style.background=u,e.style.opacity="1",e.style.transform="scaleX(".concat(Math.min(1,r()),")"),null==l&&(l=setInterval((function(){d+=.05*Math.random()+.01,r()<.9?t():clearInterval(l)}),800))}function n(){clearInterval(l),d=.05,l=null,clearTimeout(s),clearTimeout(i),clearTimeout(a);var e=o();e&&(f>=1&&(e.style.transform="scaleX(1)"),s=setTimeout((function(){try{var e=o();e&&(e.style.opacity="0")}catch(e){}}),150),a=setTimeout((function(){try{var e=o();e&&e.parentNode.removeChild(e)}catch(e){}}),1e3))}function r(){var e=f+d;return Math.max(0,Math.min(1,e))}function o(){return p.getElementById(c)}var i,a,s,l,d,c,A=e.window,p=A.document,u="#5851ff",m="#b70c19",f=0;n(),v(A,(function(e){(f=e.progress)>=0&&f<1?t():n()})),b(A,(function(e){if(e.hasError){var t=o();t&&(t.style.transform="scaleX(1)",t.style.background=m)}n()})),w(A,(function(e){"disabled"===e&&n()})),"tmpl-initial-load"===p.head.dataset.tmpl&&t(),c="dev-server-progress-bar"},de=function(e){var t=e.window,n=t.document,r=pe(n);r.forEach((function(e){e.href&&(e.dataset.href=e.href,e.dataset.type=e.type)})),w(t,(function(e){ce(n,e)}))},ce=function(e,t){pe(e).forEach((function(e){Ae(e,t)}))},Ae=function(e,t){"pending"===t?(e.href=me,e.type=he,e.setAttribute("data-status",t)):"error"===t?(e.href=fe,e.type=he,e.setAttribute("data-status",t)):"disabled"===t?(e.href=ge,e.type=he,e.setAttribute("data-status",t)):(e.removeAttribute("data-status"),e.dataset.href?(e.href=e.dataset.href,e.type=e.dataset.type):(e.href=ue,e.type=he))},pe=function(e){var t,n,r=[],o=e.querySelectorAll("link");for(t=0;t<o.length;t++)o[t].href&&o[t].rel&&(o[t].rel.indexOf("shortcut")>-1||o[t].rel.indexOf("icon")>-1)&&r.push(o[t]);return 0===r.length&&((n=e.createElement("link")).rel="shortcut icon",e.head.appendChild(n),r.push(n)),r},ue="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAMAAABlApw1AAAAnFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4jUzeAAAAM3RSTlMAsGDs4wML8QEbBvr2FMhAM7+ILCUPnNzXrX04otO6j3RiT0ggzLSTcmtWUUWoZlknghZc2mZzAAACrklEQVR42u3dWXLiUAyFYWEwg40x8wxhSIAwJtH+99ZVeeinfriXVpWk5Hyr+C2VrgkAAAAAAAAAAAw5sZQ7aUhYypw07FjKC2ko2yxk2SQFgwYLOWSkYFhlIZ06KWhNWMhqRApGKxYyaZGCeoeFVIekIDuwkEaXFDSXLKRdkoYjS9mRhjlLSUjDO0s5kYYzS+mThn3OQsYqAbQQC7hZSgoGYgHUy0jBa42FvKkEUDERC6CCFIzeWEjtlRRkPbGAG5CCtCIWQAtS0ByzkHxPGvos5UEaNizlnTRsWconhbM4wTpSFHMTrFtKCroNFrLGBOsJLbGAWxWkoFiJBRAmWE/I1r4nWOmNheTeJ1gX0vDJUrYUweAEa04aHs5XePvc9wpPboJ1SCmOsRVkr04aromUEQEAgB9lxaZ++ATFpNDv6Y8qm1QdBk9QTAr9ni6mbFK7DJ6g2LQLXoHZlFCQdMY2nYJXYDb1g1dgNo2boSswm2Zp6ArMptCFyIVtCl2IlDmbNC0QcPEQcD8l4HLvAXdxHnBb5wG3QcDFQ8D9mIDrIeCiIeDiA25oNeA+EHDREHDxAbdmmxBwT0HARQbciW0KDbiEbQoNuB3bFBxwbTYJAfcUBFxkwFG/YlNJAADgxzCRcqUY9m7KGgNSUEx9H3XXO76Puv/OY5wedX/flHk+6j46v2maO79purPvm6Yz+75puua+b5q6Dd/PEsrNMyZfFM5gAMW+ymPtWciYV3ksBpBOwKUH3wHXXLKUM2l4cR5wG+cBlzgPuJ3zgJNb6FRwlP4Ln1X8wrOKeFbxP6Qz3wEn+KzilWLYe5UnMuDwY5BvD+cBt899B9zC+49Bqr4DrlXzHXDF1HfA1Tu+Ay5b+w649OY74OjoO+Bo7jzg7s4DDgAAAAAAAAAA/u0POrfnVIaqz/QAAAAASUVORK5CYII=",me="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAMAAABlApw1AAAAjVBMVEUAAAD8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjL8kjLn7xn3AAAALnRSTlMAsFBgAaDxfPpAdTMcD/fs47kDBhVXJQpvLNbInIiBRvSqIb+TZ2OOONxdzUxpgKSpAAAAA69JREFUeNrt3FtvskAQxvERFQXFioqnCkqth572+3+8947dN00TliF5ZpP53ZOAveg/OzCklFJKKaWUUkoppQTZm77cCGFo+jIhhG/TlwchJAvTk/GIAA6x6Um+JoDti+nJ644A5h+mJ8eMALKj6cnHnAB2r80NLJ4jf3Vz+cuWANZ5cwPTM/l7by6PZwQwGptGQf4q++dLCOHdNIbkb2IvjwjAvYEf8pe6j4/wYxopr/9SQih4BXa3l5eEcJ7a++c9/gkSQE8bcCWvXwcrAjjYADrxHv8KCbi3JasgD5fm8i9IAG1swMXzDv0X2wDaEED21dzA5UDeVoPm8uUbAayvvAI42YA7EIDzA5pv8lc6/UoAoxMv4CZuvyKUpnHn9VNBAG6B7XkBtCeEO6/AbvbyihAiXsB92svfCcA9wap4j19DAmgWs37AZCrnBKvu8vgX9AmWE3BZh/6L7QkWJIA2RxtwHQpml9sAQp9gXWbkbxz4CdYDfIK1qk1j3IV9fPgJFlNECJXhYfSfsBHkhBCKwEd452nYI7wncwQJP8GKTU+uO0I4D/uSkVJKqXAkA5nK9icoIi3nrU9QRHrZtj5BESmetT5BEantPCh7NTJFrUdgMg1bj8BkSv1HYJ8RmjMQKf1HYDdC+/R/IyQFzbD4AxH+CIyPPxCJoEdQ/IFIMgXNEPkDkd8jMLQs5wRcTXA1J+By/BGO+0ovYwQGU3kPRLJfIzCkCSfgpgmhpc5AxD/gIkLb8wKO0DTgoNyaGQQecNfQAy7TgGtHA04DLtyA24UecHngAVdrwIkJuAitU8DJ1Dbghkam9gEnU+uAWxiRjhsdoXagI1TPgKNyIBO+ZpRSSrW3HfblTAA9/juPDwTAfiMK9VG3PY/hwX7Ubc9j+AoCWNWGp+NSH4HflE2IgXUEGPI3TTfmN4ndv2kSsRUJvpUn4W1FShbYb5rc84ySAtzKs3W3IgW4lWfO24q0zsFbebIjaysSjbtt5RHzUf0DHHCrAW8gVYEDzl0LGYW4lefB24uYQgOOfwN7dMANeW/k3DkBJ2CrUNE54GRsFYIHnPNR+iPEgHPWKo5DDDhnrWKeBRhwzlrFeNtlq5CgtYqzAAPODaBzgAH331rFAAOOqsDXKjL3IqboN7ILJ4BCDDh3r3SIAfd0AijEgHP3So/8wQNuvjRBbxVij5A6Bpy8EZJnwIkbIfkFnLwRkm/ASRshXbwDTtYICRRwt7BHqEoppZRSSimllFLqD/8AOXJZHefotiIAAAAASUVORK5CYII=",fe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAMAAABlApw1AAAAkFBMVEUAAAD5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0H5Q0HYvLBZAAAAL3RSTlMAsGDjA/rsC/ElHRUBBssz9pFCvoh0UEcsD9ec3K19OLiiaNLEYlmoVeiCbmE+GuMl4I8AAAKQSURBVHja7d1njupQDIZhAymEUIZQQu9taN7/7q50pfl/TmTJtvQ9q3hzLDsEAAAAAAAAAACGzFjKiTS0WcqONMxZypg0fH5YyLFPChZdFnIYkILil4VcclLw3bCQ85IULM8sZPMlBfmFhfwWpGBwYCHdESnoH1nIz4c0jFnKnDTsWEqbNJxYyow03FjKlDTUKQtZqwTQXizgtgkpWGQsZKIScL0OCxmqBFC5EQugkhQshyyk0yMFgwkLyRakIGmJBdCeFPTXLCStScOUpdwogsEXrBdpuLKUJ4XDC9afKmUh94QUjLy/YGViAZRTOIMBtypJQXn2HUC5WMBleMFqILmzkLSicBZfsB6k4clSrqTh5XyEd3MeQHXqe4Qn94LVSiicwRHkJScNdVvKkgAAwI+qZdM0/AXFpE4v+AXFpKwIfkExKfR7ulyxSWkV/IJi0zx4BGbTm4IkW7ZpFjwCs2kaPAKzad0PHYHZtE1CR2A2TQahIzCbhnnwCMykVYmAi4aAQ8BZ4T3grgi4BhBwCDgbEHCNIOAQcCYg4BpCwCHgLEDAaYgPuDfbhIBrBAGHgDMhNOBo2rKpIgAA8KNoS6kplq2dsu6CFJQr30vd+dD3Uvf/nTLHS93J3flZwrHznaad852mE/veaXqw752mKvW90zTq+j5LWGS+r/J8xQKoU1AUa2chm1zlsXQWUifgkoPvgOsffQccjZ0H3Mx5wL2dB9zcecB9sJTePOBM3cU+46wiziq6C7hk6zvg3J9VfDK7vir0ch5wN+cBV6e+A27v/ccgme+AkxshTXKKYW6EFH0X29gIKTLgzI2QYgPO2ggpLuDsvaDEBZy9EVJcwBkcIT0IAAAAAAAAAADs+AdjeyF69/r87QAAAABJRU5ErkJggg==",ge="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAMAAABlApw1AAAAeFBMVEUAAAC4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7+4t7/uGGySAAAAJ3RSTlMAsGAE7OMcAQvxJRX69kHWyL8zq5GIdEcsD5zcfVg4uKLNa1JPZoK/xdPIAAACiklEQVR42u3dW5KqUAyF4QgCCggqIt7t9pb5z/Ccvjz2w95UqpJ0r28Uf2WTQAAAAAAAAAAAYMiWpTxJQ8JSTqThwVI2pKFZsJC3ghTs5izkmpKCcspCljNSkB9ZSLsnBfuWhRxzUjBbspBpSQrSKwuZr0lB8cZCFg1p2LCUB2k4sZSENNxYypY0nFlKTxqGmoUcClJwEQu4SUoKdmIBtEpJQZ6xkHeVAKqOYgFUkYL9OwvJclKQrsQCbkcK0olYAF1IQXFgIfVAGnqWcqZwFidYN4phb4L1onCYYMlPsLqUFKwxwRozwTIYcG1FCqrWdwBhgqU7wUo7FlJ7n2DdScPL+RPezfkT3tl5AA217yc89xMssYBbzUjDkEjZEwAA+NFMbOrDJygmZXnwBMWkaRk8QTFpvg6eoJi0aIInKDY9gp/AbEqCJyg2bYOfwGzqKUzPNh2K0Ccwm0IfRBK2KfSLkDvbFPog0tRsUlsh4EZAwP2SgKu9B9wdATcOAg4BZwACbgQEHALOCATcCAg4BJwVCLhREHB/LOAebFNwwC3YJATcKAi4yICjfmJTQwAA4EeZSBkojrWdsvmO4hjbKYtd6ra2Uxa71G1tp0xnqbvo+IPfpe4Nf3K703Ridr3T9OQPfnea7szseaepqX3vNH3NM/xe5fmeZ7i9yiMXQFlJEeydhYy4ymMygCICzmQAxQactbOQMQFnMoBiAs7iVaHIgDN3VSgq4AxeFYoOOGNXhbCUPkaJs4o4q/iXzyp2vgPO/VnFl/OAu/F/jq8KnZ0H3FD7DriL9x+DTH0HXJ75Driq9R1ws6XvgEuvvgOu6HwHHG18BxydnAfc03nAAQAAAAAAAADAz/4BoL2Us9XM2zMAAAAASUVORK5CYII=",he="image/x-icon",ve="/~dev-server",be="".concat(ve,"-init"),we="".concat(ve,"-open-in-editor"),ye=function(e,t){b(e,(function(n){ke(e,t,n)}))},ke=function(e,t,n){var r,i;try{if(n.buildId===e["s-build-id"])return;if(e["s-build-id"]=n.buildId,l({window:e}),n.hasError)return r=Array.isArray(t.editors)&&t.editors.length>0?t.editors[0].id:null,(i=o({window:e,buildResults:n,openInEditor:r?function(t){var n={file:t.file,line:t.line,column:t.column,editor:r},o="".concat(we,"?").concat(Object.keys(n).map((function(e){return"".concat(e,"=").concat(n[e])})).join("&"));e.fetch(o)}:null})).diagnostics.forEach(ne),void h(e,i.status);if(e["s-initial-load"])return void Ce(e,t,(function(){$("Initial load"),e.location.reload()}));n.hmr&&Ee(e,n.hmr)}catch(e){console.error(e)}},Ee=function(e,t){var n,r=!1;"pageReload"===t.reloadStrategy&&(r=!0),t.indexHtmlUpdated&&($("Updated index.html"),r=!0),t.serviceWorkerUpdated&&($("Updated Service Worker: sw.js"),r=!0),t.scriptsAdded&&t.scriptsAdded.length>0&&($("Added scripts: ".concat(t.scriptsAdded.join(", "))),r=!0),t.scriptsDeleted&&t.scriptsDeleted.length>0&&($("Deleted scripts: ".concat(t.scriptsDeleted.join(", "))),r=!0),t.excludeHmr&&t.excludeHmr.length>0&&($("Excluded From Hmr: ".concat(t.excludeHmr.join(", "))),r=!0),r?e.location.reload():((n=V({window:e,hmr:t})).updatedComponents.length>0&&_("Updated component".concat(n.updatedComponents.length>1?"s":"",": ").concat(n.updatedComponents.join(", "))),n.updatedInlineStyles.length>0&&_("Updated styles: ".concat(n.updatedInlineStyles.join(", "))),n.updatedExternalStyles.length>0&&_("Updated stylesheets: ".concat(n.updatedExternalStyles.join(", "))),n.updatedImages.length>0&&_("Updated images: ".concat(n.updatedImages.join(", "))))},Ce=function(e,t,n){e.history.replaceState({},"App",t.basePath),e.navigator.serviceWorker&&e.navigator.serviceWorker.getRegistration?e.navigator.serviceWorker.getRegistration().then((function(e){e?e.unregister().then((function(e){e&&_("unregistered service worker"),n()})):n()})).catch((function(e){ee("Service Worker",e),n()})):n()},Le=function(e,t){function n(){var t=this;A>0&&h(e,"pending"),p||(c=setInterval((function(){if(u++,!p&&t.readyState===WebSocket.OPEN&&u<500){t.send(JSON.stringify({requestBuildResults:!0}))}else clearInterval(c)}),Qe)),clearTimeout(d)}function r(){s()}function o(t){h(e,"disabled"),t.code>Ie?ee("Dev Server","web socket closed: ".concat(t.code," ").concat(t.reason)):te("Dev Server","Disconnected, attempting to reconnect..."),s()}function i(t){var n=JSON.parse(t.data);if(A>0){if(n.isActivelyBuilding)return;if(n.buildResults)return $("Reconnected to dev server"),p=!0,u=0,clearInterval(c),e["s-build-id"]!==n.buildResults.buildId&&e.location.reload(),void(e["s-build-id"]=n.buildResults.buildId)}return n.buildLog?(n.buildLog.progress<1&&h(e,"pending"),void f(e,n.buildLog)):n.buildResults?(p=!0,u=0,clearInterval(c),h(e,"default"),void g(e,n.buildResults)):void 0}function a(){clearTimeout(d),(l=new e.WebSocket(t.socketUrl,["xmpp"])).addEventListener("open",n),l.addEventListener("error",r),l.addEventListener("close",o),l.addEventListener("message",i)}function s(){p=!1,l&&(l.readyState!==WebSocket.OPEN&&l.readyState!==WebSocket.CONNECTING||l.close(Ie),l.removeEventListener("open",n),l.removeEventListener("error",r),l.removeEventListener("close",o),l.removeEventListener("message",i),l=null),clearTimeout(d),A>=je?ee("Dev Server","Canceling reconnect attempts"):(A++,d=setTimeout(a,xe),h(e,"disabled"))}var l,d,c,A=0,p=!1,u=0;a()},je=1e3,xe=2500,Ie=1e3,Qe=500,He=function(e,t){try{if(e["s-dev-server"])return;e["s-dev-server"]=!0,de({window:e}),le({window:e}),ye(e,t),Se(e,t)?(e["s-initial-load"]=!0,Ce(e,t,(function(){Le(e,t)}))):Le(e,t)}catch(e){console.error(e)}},Se=function(e,t){var n=e.location.pathname;return(n="/"+n.substring(t.basePath.length))===be},Be={basePath:t.location.pathname,editors:[],reloadStrategy:"hmr",socketUrl:"".concat("https:"===location.protocol?"wss:":"ws:","//").concat(location.hostname).concat(""!==location.port?":"+location.port:"","/")};He(t,Object.assign({},Be,t.devServerConfig,n))}(window,window.parent,window.__DEV_CLIENT_CONFIG__);
6
6
  </script></body></html>
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Stencil Dev Server v4.42.0 | MIT Licensed | https://stenciljs.com
2
+ Stencil Dev Server v4.42.1-dev.1770615146.e130b7a | MIT Licensed | https://stenciljs.com
3
3
  */
4
4
  "use strict";
5
5
  var __create = Object.create;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stencil/core/dev-server",
3
- "version": "4.42.0",
3
+ "version": "4.42.1-dev.1770615146.e130b7a",
4
4
  "description": "Stencil Development Server which communicates with the Stencil Compiler.",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",