@stencil/core 5.0.0-alpha.1 → 5.0.0-alpha.3

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 (42) hide show
  1. package/dist/{client-B1nuvCd2.mjs → client-CSm3x5ke.mjs} +81 -60
  2. package/dist/compiler/index.d.mts +3 -3
  3. package/dist/compiler/index.mjs +2 -2
  4. package/dist/compiler/utils/index.d.mts +2 -2
  5. package/dist/compiler/utils/index.mjs +3 -3
  6. package/dist/{compiler-LX4_RKKd.mjs → compiler-D6iP7Bzb.mjs} +1391 -1631
  7. package/dist/declarations/stencil-public-compiler.d.ts +4031 -2
  8. package/dist/declarations/stencil-public-compiler.js +0 -1
  9. package/dist/declarations/stencil-public-docs.d.ts +494 -1
  10. package/dist/declarations/stencil-public-runtime.d.ts +1943 -2
  11. package/dist/{index-fIuYTL9f.d.mts → index-CXHCTQNt.d.mts} +14 -2
  12. package/dist/{index-BONzXKJt.d.ts → index-CyrGY82h.d.ts} +5 -7
  13. package/dist/{index-CHjZtib0.d.ts → index-hS-KBdAP.d.ts} +1 -1
  14. package/dist/{index-D-LlB2nw.d.mts → index-tUR6pD3J.d.mts} +145 -809
  15. package/dist/index.d.mts +1 -0
  16. package/dist/index.mjs +2 -2
  17. package/dist/{jsx-runtime-DBzBJLKk.d.ts → jsx-runtime-DlDkTqps.d.ts} +1 -1
  18. package/dist/jsx-runtime.d.ts +1 -1
  19. package/dist/jsx-runtime.js +1 -1
  20. package/dist/{node-SxQIOCZE.mjs → node-Bg-mO5dw.mjs} +3 -14
  21. package/dist/regular-expression-D5pGVpCu.mjs +415 -0
  22. package/dist/runtime/app-data/index.d.ts +1 -1
  23. package/dist/runtime/app-data/index.js +1 -2
  24. package/dist/runtime/client/index.d.ts +14 -4
  25. package/dist/runtime/client/index.js +103 -192
  26. package/dist/runtime/index.d.ts +16 -4
  27. package/dist/runtime/index.js +2 -2
  28. package/dist/runtime/server/index.d.mts +1 -3
  29. package/dist/runtime/server/index.mjs +103 -192
  30. package/dist/runtime/server/runner.d.mts +1 -17
  31. package/dist/runtime/server/runner.mjs +12 -368
  32. package/dist/{runtime-CF9DJtSu.js → runtime-BBCnuprF.js} +103 -192
  33. package/dist/sys/node/index.d.mts +1 -1
  34. package/dist/sys/node/index.mjs +1 -1
  35. package/dist/sys/node/worker.mjs +2 -2
  36. package/dist/testing/index.d.mts +3 -3
  37. package/dist/testing/index.mjs +18 -17
  38. package/dist/{validation-CaCgjw-f.mjs → validation-Byxie0Uk.mjs} +28 -24
  39. package/package.json +9 -13
  40. package/dist/serialize-BkYHk7Mi.mjs +0 -766
  41. package/dist/stencil-public-compiler-C_X1iolo.d.ts +0 -4455
  42. package/dist/stencil-public-runtime-DlV8o7-z.d.ts +0 -1845
@@ -36,8 +36,7 @@ const LISTENER_FLAGS = {
36
36
  Capture: 2,
37
37
  TargetDocument: 4,
38
38
  TargetWindow: 8,
39
- TargetBody: 16,
40
- TargetParent: 32
39
+ TargetBody: 16
41
40
  };
42
41
  const HOST_FLAGS = {
43
42
  hasConnected: 1,
@@ -73,7 +72,12 @@ const CMP_FLAGS = {
73
72
  shadowNeedsScopedCss: 128,
74
73
  hasSlot: 256,
75
74
  hasModernPropertyDecls: 512,
76
- shadowSlotAssignmentManual: 1024
75
+ shadowSlotAssignmentManual: 1024,
76
+ shadowModeClosed: 2048,
77
+ patchChildren: 4096,
78
+ patchClone: 8192,
79
+ patchInsert: 16384,
80
+ patchAll: 32768
77
81
  };
78
82
  /**
79
83
  * Namespaces
@@ -104,38 +108,6 @@ const NODE_TYPES = {
104
108
  DOCUMENT_FRAGMENT_NODE: 11,
105
109
  NOTATION_NODE: 12
106
110
  };
107
- /**
108
- * Represents a primitive type.
109
- * Described in https://w3c.github.io/webdriver-bidi/#type-script-PrimitiveProtocolValue.
110
- */
111
- const PrimitiveType = {
112
- Undefined: "undefined",
113
- Null: "null",
114
- String: "string",
115
- Number: "number",
116
- SpecialNumber: "number",
117
- Boolean: "boolean",
118
- BigInt: "bigint"
119
- };
120
- /**
121
- * Represents a non-primitive type.
122
- * Described in https://w3c.github.io/webdriver-bidi/#type-script-RemoteValue.
123
- * @deprecated will be removed in v5. Use `@AttrDeserialize()` / `@PropDeserialize()` decorators instead.
124
- */
125
- const NonPrimitiveType = {
126
- Array: "array",
127
- Date: "date",
128
- Map: "map",
129
- Object: "object",
130
- RegularExpression: "regexp",
131
- Set: "set",
132
- Channel: "channel",
133
- Symbol: "symbol"
134
- };
135
- /** @deprecated will be removed in v5. Use `@AttrDeserialize()` / `@PropDeserialize()` decorators instead. */
136
- const TYPE_CONSTANT = "type";
137
- /** @deprecated will be removed in v5. Use `@AttrDeserialize()` / `@PropDeserialize()` decorators instead. */
138
- const VALUE_CONSTANT = "value";
139
111
  //#endregion
140
112
  //#region src/utils/get-prop-descriptor.ts
141
113
  /**
@@ -270,7 +242,7 @@ const cmpModules = /* @__PURE__ */ new Map();
270
242
  * where here in the source code it must be like this, so that an undesirable
271
243
  * transformation that Esbuild would otherwise carry out doesn't occur, but we
272
244
  * actually need to then manually edit the bundled Esbuild code later on to fix
273
- * that. We do this with plugins in the Esbuild and Rollup bundles which
245
+ * that. We do this with plugins in the Esbuild and Rolldown bundles which
274
246
  * include this file.
275
247
  */
276
248
  const MODULE_IMPORT_PREFIX = "./";
@@ -476,12 +448,14 @@ function createStyleSheetIfNeededAndSupported(styles) {
476
448
  //#region src/utils/shadow-root.ts
477
449
  let globalStyleSheet;
478
450
  function createShadowRoot(cmpMeta) {
479
- const opts = { mode: "open" };
451
+ const isClosed = BUILD.shadowModeClosed && !!(cmpMeta.$flags$ & CMP_FLAGS.shadowModeClosed);
452
+ const opts = { mode: isClosed ? "closed" : "open" };
480
453
  if (BUILD.shadowDelegatesFocus) opts.delegatesFocus = !!(cmpMeta.$flags$ & CMP_FLAGS.shadowDelegatesFocus);
481
454
  if (BUILD.shadowSlotAssignmentManual) {
482
455
  if (!!(cmpMeta.$flags$ & CMP_FLAGS.shadowSlotAssignmentManual)) opts.slotAssignment = "manual";
483
456
  }
484
457
  const shadowRoot = this.attachShadow(opts);
458
+ if (BUILD.shadowModeClosed && isClosed) this.__shadowRoot = shadowRoot;
485
459
  if (globalStyleSheet === void 0) globalStyleSheet = createStyleSheetIfNeededAndSupported("") ?? null;
486
460
  if (globalStyleSheet) if (supportsMutableAdoptedStyleSheets) shadowRoot.adoptedStyleSheets.push(globalStyleSheet);
487
461
  else shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, globalStyleSheet];
@@ -1127,6 +1101,24 @@ function internalCall(node, method) {
1127
1101
  }
1128
1102
  }
1129
1103
  //#endregion
1104
+ //#region src/runtime/element.ts
1105
+ const getElement = (ref) => BUILD.lazyLoad ? getHostRef(ref)?.$hostElement$ : ref;
1106
+ /**
1107
+ * Get the shadow root for a Stencil component's host element.
1108
+ * This works for both open and closed shadow DOM modes.
1109
+ *
1110
+ * For closed shadow DOM, `element.shadowRoot` returns `null` by design,
1111
+ * but Stencil stores the reference internally so components can still
1112
+ * access their own shadow root.
1113
+ *
1114
+ * @param element The host element (from @Element() decorator)
1115
+ * @returns The shadow root, or null if no shadow root exists
1116
+ */
1117
+ const getShadowRoot = (element) => {
1118
+ if (BUILD.shadowModeClosed && element.__shadowRoot) return element.__shadowRoot;
1119
+ return element.shadowRoot;
1120
+ };
1121
+ //#endregion
1130
1122
  //#region src/runtime/profile.ts
1131
1123
  let i = 0;
1132
1124
  const createTime = (fnName, tagName = "") => {
@@ -1303,7 +1295,8 @@ const addStyle = (styleContainerNode, cmpMeta, mode) => {
1303
1295
  if (!BUILD.attachStyles || !win.document) return scopeId;
1304
1296
  let style = styles.get(scopeId);
1305
1297
  if (cmpMeta.$flags$ & CMP_FLAGS.hasSlotRelocation) style = getStyleWithSlotCss(style);
1306
- styleContainerNode = styleContainerNode.nodeType === NODE_TYPE.DocumentFragment ? styleContainerNode : win.document;
1298
+ const isClosedShadowSSR = BUILD.hydrateServerSide && BUILD.shadowModeClosed && cmpMeta.$flags$ & CMP_FLAGS.shadowNeedsScopedCss && cmpMeta.$flags$ & CMP_FLAGS.shadowModeClosed;
1299
+ if (styleContainerNode.nodeType !== NODE_TYPE.DocumentFragment && !isClosedShadowSSR) styleContainerNode = win.document;
1307
1300
  if (style) {
1308
1301
  if (typeof style === "string") {
1309
1302
  styleContainerNode = styleContainerNode.head || styleContainerNode;
@@ -1353,7 +1346,8 @@ const addStyle = (styleContainerNode, cmpMeta, mode) => {
1353
1346
  /**
1354
1347
  * attach styles at the beginning of a shadow root node if we render shadow components
1355
1348
  */
1356
- if (cmpMeta.$flags$ & CMP_FLAGS.shadowDomEncapsulation) styleContainerNode.insertBefore(styleElm, null);
1349
+ if (cmpMeta.$flags$ & CMP_FLAGS.shadowDomEncapsulation) if (isClosedShadowSSR) styleContainerNode.prepend(styleElm);
1350
+ else styleContainerNode.insertBefore(styleElm, null);
1357
1351
  if (appliedStyles) appliedStyles.add(scopeId);
1358
1352
  }
1359
1353
  } else if (BUILD.constructableCSS) {
@@ -1388,7 +1382,12 @@ const attachStyles = (hostRef) => {
1388
1382
  const elm = hostRef.$hostElement$;
1389
1383
  const flags = cmpMeta.$flags$;
1390
1384
  const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
1391
- const scopeId = addStyle(BUILD.shadowDom && supportsShadow && elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta, hostRef.$modeName$);
1385
+ let styleContainerNode;
1386
+ const shadowRoot = BUILD.shadowDom && supportsShadow ? getShadowRoot(elm) : null;
1387
+ if (shadowRoot) styleContainerNode = shadowRoot;
1388
+ else if (BUILD.hydrateServerSide && BUILD.shadowModeClosed && flags & CMP_FLAGS.shadowNeedsScopedCss && flags & CMP_FLAGS.shadowModeClosed) styleContainerNode = elm;
1389
+ else styleContainerNode = elm.getRootNode();
1390
+ const scopeId = addStyle(styleContainerNode, cmpMeta, hostRef.$modeName$);
1392
1391
  if ((BUILD.shadowDom || BUILD.scoped) && BUILD.cssAnnotations && flags & CMP_FLAGS.needsScopedEncapsulation) {
1393
1392
  elm["s-sc"] = scopeId;
1394
1393
  elm.classList.add(scopeId + "-h");
@@ -1626,7 +1625,7 @@ const validateInputProperties = (inputElm) => {
1626
1625
  */
1627
1626
  const initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1628
1627
  const endHydrate = createTime("hydrateClient", tagName);
1629
- const shadowRoot = hostElm.shadowRoot;
1628
+ const shadowRoot = getShadowRoot(hostElm);
1630
1629
  const childRenderNodes = [];
1631
1630
  const slotNodes = [];
1632
1631
  const slottedNodes = [];
@@ -1707,7 +1706,7 @@ const initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1707
1706
  }
1708
1707
  addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"] || currentPos);
1709
1708
  if (slottedItem.node.parentElement?.shadowRoot && slottedItem.node["getAttribute"] && slottedItem.node.getAttribute("slot")) slottedItem.node.removeAttribute("slot");
1710
- if (BUILD.experimentalSlotFixes) patchSlottedNode(slottedItem.node);
1709
+ if (BUILD.experimentalSlotFixes || BUILD.patchAll && hostRef.$cmpMeta$.$flags$ & CMP_FLAGS.patchAll) patchSlottedNode(slottedItem.node);
1711
1710
  }
1712
1711
  currentPos = (slottedItem.node["s-oo"] || currentPos) + 1;
1713
1712
  }
@@ -2029,9 +2028,12 @@ const _polyfillHost = "-shadowcsshost";
2029
2028
  const _polyfillSlotted = "-shadowcssslotted";
2030
2029
  const _polyfillHostContext = "-shadowcsscontext";
2031
2030
  const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)";
2032
- const _cssColonHostRe = new RegExp("(" + _polyfillHost + _parenSuffix, "gim");
2033
- const _cssColonHostContextRe = new RegExp("(" + _polyfillHostContext + _parenSuffix, "gim");
2034
- const _cssColonSlottedRe = new RegExp("(" + _polyfillSlotted + _parenSuffix, "gim");
2031
+ let _cssColonHostRe;
2032
+ let _cssColonHostContextRe;
2033
+ let _cssColonSlottedRe;
2034
+ const getCssColonHostRe = () => _cssColonHostRe ??= new RegExp("(" + _polyfillHost + _parenSuffix, "gim");
2035
+ const getCssColonHostContextRe = () => _cssColonHostContextRe ??= new RegExp("(" + _polyfillHostContext + _parenSuffix, "gim");
2036
+ const getCssColonSlottedRe = () => _cssColonSlottedRe ??= new RegExp("(" + _polyfillSlotted + _parenSuffix, "gim");
2035
2037
  const _polyfillHostNoCombinator = _polyfillHost + "-no-combinator";
2036
2038
  const _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/;
2037
2039
  const _shadowDOMSelectorsRe = [/::shadow/g, /::content/g];
@@ -2191,7 +2193,7 @@ const colonHostPartReplacer = (host, part, suffix) => {
2191
2193
  return host + part.replace(_polyfillHost, "") + suffix;
2192
2194
  };
2193
2195
  const convertColonHost = (cssText) => {
2194
- return convertColonRule(cssText, _cssColonHostRe, colonHostPartReplacer);
2196
+ return convertColonRule(cssText, getCssColonHostRe(), colonHostPartReplacer);
2195
2197
  };
2196
2198
  const colonHostContextPartReplacer = (host, part, suffix) => {
2197
2199
  if (part.indexOf(_polyfillHost) > -1) return colonHostPartReplacer(host, part, suffix);
@@ -2200,7 +2202,7 @@ const colonHostContextPartReplacer = (host, part, suffix) => {
2200
2202
  const convertColonSlotted = (cssText, slotScopeId) => {
2201
2203
  const slotClass = "." + slotScopeId + " > ";
2202
2204
  const selectors = [];
2203
- cssText = cssText.replace(_cssColonSlottedRe, (...m) => {
2205
+ cssText = cssText.replace(getCssColonSlottedRe(), (...m) => {
2204
2206
  if (m[2]) {
2205
2207
  const compound = m[2].trim();
2206
2208
  const suffix = m[3];
@@ -2229,7 +2231,7 @@ const convertColonSlotted = (cssText, slotScopeId) => {
2229
2231
  };
2230
2232
  };
2231
2233
  const convertColonHostContext = (cssText) => {
2232
- return convertColonRule(cssText, _cssColonHostContextRe, colonHostContextPartReplacer);
2234
+ return convertColonRule(cssText, getCssColonHostContextRe(), colonHostContextPartReplacer);
2233
2235
  };
2234
2236
  const convertShadowDOMSelectors = (cssText) => {
2235
2237
  return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, " "), cssText);
@@ -2418,98 +2420,6 @@ const computeMode = (elm) => modeResolutionChain.map((h) => h(elm)).find((m) =>
2418
2420
  const setMode = (handler) => modeResolutionChain.push(handler);
2419
2421
  const getMode = (ref) => getHostRef(ref)?.$modeName$;
2420
2422
  //#endregion
2421
- //#region src/utils/remote-value.ts
2422
- /**
2423
- * RemoteValue class for deserializing LocalValue serialized objects back into their original form
2424
- * @deprecated will be removed in v5. Use `@AttrDeserialize()` / `@PropDeserialize()` decorators instead.
2425
- */
2426
- var RemoteValue = class RemoteValue {
2427
- /**
2428
- * Deserializes a LocalValue serialized object back to its original JavaScript representation
2429
- *
2430
- * @param serialized The serialized LocalValue object
2431
- * @returns The original JavaScript value/object
2432
- */
2433
- static fromLocalValue(serialized) {
2434
- const type = serialized[TYPE_CONSTANT];
2435
- const value = "value" in serialized ? serialized[VALUE_CONSTANT] : void 0;
2436
- switch (type) {
2437
- case PrimitiveType.String: return value;
2438
- case PrimitiveType.Boolean: return value;
2439
- case PrimitiveType.BigInt: return BigInt(value);
2440
- case PrimitiveType.Undefined: return;
2441
- case PrimitiveType.Null: return null;
2442
- case PrimitiveType.Number:
2443
- if (value === "NaN") return NaN;
2444
- if (value === "-0") return -0;
2445
- if (value === "Infinity") return Infinity;
2446
- if (value === "-Infinity") return -Infinity;
2447
- return value;
2448
- case NonPrimitiveType.Array: return value.map((item) => RemoteValue.fromLocalValue(item));
2449
- case NonPrimitiveType.Date: return new Date(value);
2450
- case NonPrimitiveType.Map:
2451
- const map = /* @__PURE__ */ new Map();
2452
- for (const [key, val] of value) {
2453
- const deserializedKey = typeof key === "object" && key !== null ? RemoteValue.fromLocalValue(key) : key;
2454
- const deserializedValue = RemoteValue.fromLocalValue(val);
2455
- map.set(deserializedKey, deserializedValue);
2456
- }
2457
- return map;
2458
- case NonPrimitiveType.Object:
2459
- const obj = {};
2460
- for (const [key, val] of value) obj[key] = RemoteValue.fromLocalValue(val);
2461
- return obj;
2462
- case NonPrimitiveType.RegularExpression:
2463
- const { pattern, flags } = value;
2464
- return new RegExp(pattern, flags);
2465
- case NonPrimitiveType.Set:
2466
- const set = /* @__PURE__ */ new Set();
2467
- for (const item of value) set.add(RemoteValue.fromLocalValue(item));
2468
- return set;
2469
- case NonPrimitiveType.Symbol: return Symbol(value);
2470
- default: throw new Error(`Unsupported type: ${type}`);
2471
- }
2472
- }
2473
- /**
2474
- * Utility method to deserialize multiple LocalValues at once
2475
- *
2476
- * @param serializedValues Array of serialized LocalValue objects
2477
- * @returns Array of deserialized JavaScript values
2478
- */
2479
- static fromLocalValueArray(serializedValues) {
2480
- return serializedValues.map((value) => RemoteValue.fromLocalValue(value));
2481
- }
2482
- /**
2483
- * Verifies if the given object matches the structure of a serialized LocalValue
2484
- *
2485
- * @param obj Object to verify
2486
- * @returns boolean indicating if the object has LocalValue structure
2487
- */
2488
- static isLocalValueObject(obj) {
2489
- if (typeof obj !== "object" || obj === null) return false;
2490
- if (!obj.hasOwnProperty("type")) return false;
2491
- const type = obj[TYPE_CONSTANT];
2492
- if (!Object.values({
2493
- ...PrimitiveType,
2494
- ...NonPrimitiveType
2495
- }).includes(type)) return false;
2496
- if (type !== PrimitiveType.Null && type !== PrimitiveType.Undefined) return obj.hasOwnProperty(VALUE_CONSTANT);
2497
- return true;
2498
- }
2499
- };
2500
- //#endregion
2501
- //#region src/utils/serialize.ts
2502
- /**
2503
- * Deserialize a value from a string that was serialized earlier.
2504
- * @param {string} value - The string to deserialize.
2505
- * @returns {unknown} The deserialized value.
2506
- * @deprecated will be removed in v5. Use `@AttrDeserialize()` decorator instead.
2507
- */
2508
- function deserializeProperty(value) {
2509
- if (typeof value !== "string" || !value.startsWith("serialized:")) return value;
2510
- return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(11))));
2511
- }
2512
- //#endregion
2513
2423
  //#region src/runtime/parse-property-value.ts
2514
2424
  /**
2515
2425
  * Parse a new property value for a given property type.
@@ -2536,14 +2446,6 @@ function deserializeProperty(value) {
2536
2446
  * @returns the parsed/coerced value
2537
2447
  */
2538
2448
  const parsePropertyValue = (propValue, propType, isFormAssociated) => {
2539
- /**
2540
- * Allow hydrate parameters that contain a complex non-serialized values.
2541
- * This is SSR-specific and should only run during hydration.
2542
- */
2543
- if ((BUILD.hydrateClientSide || BUILD.hydrateServerSide) && typeof propValue === "string" && propValue.startsWith("serialized:")) {
2544
- propValue = deserializeProperty(propValue);
2545
- return propValue;
2546
- }
2547
2449
  if (propValue != null && !isComplexType(propValue)) {
2548
2450
  /**
2549
2451
  * ensure this value is of the correct prop type
@@ -2572,9 +2474,6 @@ const parsePropertyValue = (propValue, propType, isFormAssociated) => {
2572
2474
  return propValue;
2573
2475
  };
2574
2476
  //#endregion
2575
- //#region src/runtime/element.ts
2576
- const getElement = (ref) => BUILD.lazyLoad ? getHostRef(ref)?.$hostElement$ : ref;
2577
- //#endregion
2578
2477
  //#region src/runtime/event-emitter.ts
2579
2478
  const createEvent = (ref, name, flags) => {
2580
2479
  const elm = getElement(ref);
@@ -2927,7 +2826,10 @@ const putBackInOriginalLocation = (parentElm, recursive) => {
2927
2826
  const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
2928
2827
  let containerElm = BUILD.slotRelocation && parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
2929
2828
  let childNode;
2930
- if (BUILD.shadowDom && containerElm.shadowRoot && containerElm.tagName === hostTagName) containerElm = containerElm.shadowRoot;
2829
+ if (BUILD.shadowDom && containerElm.tagName === hostTagName) {
2830
+ const shadow = getShadowRoot(containerElm);
2831
+ if (shadow) containerElm = shadow;
2832
+ }
2931
2833
  if (parentVNode.$tag$ === "template") containerElm = containerElm.content;
2932
2834
  for (; startIdx <= endIdx; ++startIdx) if (vnodes[startIdx]) {
2933
2835
  childNode = createElm(null, parentVNode, startIdx);
@@ -3277,7 +3179,8 @@ const insertBefore = (parent, newNode, reference, isInitialLoad) => {
3277
3179
  if (BUILD.slotRelocation) {
3278
3180
  if (BUILD.scoped && typeof newNode["s-sn"] === "string" && !!newNode["s-sr"] && !!newNode["s-cr"]) addRemoveSlotScopedClass(newNode["s-cr"], newNode, parent, newNode.parentElement);
3279
3181
  else if (typeof newNode["s-sn"] === "string") {
3280
- if (BUILD.experimentalSlotFixes && parent.getRootNode().nodeType !== NODE_TYPES.DOCUMENT_FRAGMENT_NODE) patchParentNode(newNode);
3182
+ const hostElm = newNode["s-hn"] && parent.closest?.(newNode["s-hn"]);
3183
+ if ((BUILD.experimentalSlotFixes || BUILD.patchAll && !!(hostElm && getHostRef(hostElm)?.$cmpMeta$.$flags$ & CMP_FLAGS.patchAll)) && parent.getRootNode().nodeType !== NODE_TYPES.DOCUMENT_FRAGMENT_NODE) patchParentNode(newNode);
3281
3184
  parent.insertBefore(newNode, reference);
3282
3185
  const { slotNode } = findSlotFromSlottedNode(newNode);
3283
3186
  if (slotNode && !isInitialLoad) dispatchSlotChangeEvent(slotNode);
@@ -3366,7 +3269,7 @@ render() {
3366
3269
  rootVnode.$tag$ = null;
3367
3270
  rootVnode.$flags$ |= VNODE_FLAGS.isHost;
3368
3271
  hostRef.$vnode$ = rootVnode;
3369
- rootVnode.$elm$ = oldVNode.$elm$ = BUILD.shadowDom ? hostElm.shadowRoot || hostElm : hostElm;
3272
+ rootVnode.$elm$ = oldVNode.$elm$ = BUILD.shadowDom ? getShadowRoot(hostElm) || hostElm : hostElm;
3370
3273
  if (BUILD.scoped || BUILD.shadowDom) scopeId = hostElm["s-sc"];
3371
3274
  useNativeShadowDom = supportsShadow && !!(cmpMeta.$flags$ & CMP_FLAGS.shadowDomEncapsulation) && !(cmpMeta.$flags$ & CMP_FLAGS.shadowNeedsScopedCss);
3372
3275
  if (BUILD.slotRelocation) {
@@ -3521,13 +3424,13 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
3521
3424
  }
3522
3425
  if (hostRef.$fetchedCbList$.length) hostRef.$fetchedCbList$.forEach((cb) => cb(elm));
3523
3426
  }
3524
- emitLifecycleEvent(elm, "componentWillLoad");
3427
+ if (BUILD.lifecycleDOMEvents) emitLifecycleEvent(elm, "componentWillLoad");
3525
3428
  maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
3526
3429
  } else {
3527
- emitLifecycleEvent(elm, "componentWillUpdate");
3430
+ if (BUILD.lifecycleDOMEvents) emitLifecycleEvent(elm, "componentWillUpdate");
3528
3431
  maybePromise = safeCall(instance, "componentWillUpdate", void 0, elm);
3529
3432
  }
3530
- emitLifecycleEvent(elm, "componentWillRender");
3433
+ if (BUILD.lifecycleDOMEvents) emitLifecycleEvent(elm, "componentWillRender");
3531
3434
  maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender", void 0, elm));
3532
3435
  endSchedule();
3533
3436
  return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
@@ -3662,14 +3565,14 @@ const postUpdateComponent = (hostRef) => {
3662
3565
  if (BUILD.isDev) hostRef.$flags$ |= HOST_FLAGS.devOnRender;
3663
3566
  safeCall(instance, "componentDidRender", void 0, elm);
3664
3567
  if (BUILD.isDev) hostRef.$flags$ &= ~HOST_FLAGS.devOnRender;
3665
- emitLifecycleEvent(elm, "componentDidRender");
3568
+ if (BUILD.lifecycleDOMEvents) emitLifecycleEvent(elm, "componentDidRender");
3666
3569
  if (!(hostRef.$flags$ & HOST_FLAGS.hasLoadedComponent)) {
3667
3570
  hostRef.$flags$ |= HOST_FLAGS.hasLoadedComponent;
3668
3571
  if (BUILD.asyncLoading && BUILD.cssAnnotations) addHydratedFlag(elm);
3669
3572
  if (BUILD.isDev) hostRef.$flags$ |= HOST_FLAGS.devOnDidLoad;
3670
3573
  safeCall(instance, "componentDidLoad", void 0, elm);
3671
3574
  if (BUILD.isDev) hostRef.$flags$ &= ~HOST_FLAGS.devOnDidLoad;
3672
- emitLifecycleEvent(elm, "componentDidLoad");
3575
+ if (BUILD.lifecycleDOMEvents) emitLifecycleEvent(elm, "componentDidLoad");
3673
3576
  if (BUILD.propChangeCallback) hostRef.$flags$ |= HOST_FLAGS.isWatchReady;
3674
3577
  endPostUpdate();
3675
3578
  if (BUILD.asyncLoading) {
@@ -3680,7 +3583,7 @@ const postUpdateComponent = (hostRef) => {
3680
3583
  if (BUILD.isDev) hostRef.$flags$ |= HOST_FLAGS.devOnRender;
3681
3584
  safeCall(instance, "componentDidUpdate", void 0, elm);
3682
3585
  if (BUILD.isDev) hostRef.$flags$ &= ~HOST_FLAGS.devOnRender;
3683
- emitLifecycleEvent(elm, "componentDidUpdate");
3586
+ if (BUILD.lifecycleDOMEvents) emitLifecycleEvent(elm, "componentDidUpdate");
3684
3587
  endPostUpdate();
3685
3588
  }
3686
3589
  if (BUILD.method && BUILD.lazyLoad) hostRef.$onInstanceResolve$(elm);
@@ -4103,7 +4006,6 @@ const connectedCallback = (elm) => {
4103
4006
  if (!hostRef) return;
4104
4007
  const cmpMeta = hostRef.$cmpMeta$;
4105
4008
  const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
4106
- if (BUILD.hostListenerTargetParent) addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, true);
4107
4009
  if (!(hostRef.$flags$ & HOST_FLAGS.hasConnected)) {
4108
4010
  hostRef.$flags$ |= HOST_FLAGS.hasConnected;
4109
4011
  let hostId;
@@ -4111,7 +4013,8 @@ const connectedCallback = (elm) => {
4111
4013
  hostId = elm.getAttribute(HYDRATE_ID);
4112
4014
  if (hostId) {
4113
4015
  if (BUILD.shadowDom && supportsShadow && cmpMeta.$flags$ & CMP_FLAGS.shadowDomEncapsulation) {
4114
- const scopeId = BUILD.mode ? addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute("s-mode")) : addStyle(elm.shadowRoot, cmpMeta);
4016
+ const shadowRoot = getShadowRoot(elm);
4017
+ const scopeId = BUILD.mode ? addStyle(shadowRoot, cmpMeta, elm.getAttribute("s-mode")) : addStyle(shadowRoot, cmpMeta);
4115
4018
  elm.classList.remove(scopeId + "-h", scopeId + "-s");
4116
4019
  } else if (BUILD.scoped && cmpMeta.$flags$ & CMP_FLAGS.scopedCssEncapsulation) elm["s-sc"] = getScopeId(cmpMeta, BUILD.mode ? elm.getAttribute("s-mode") : void 0);
4117
4020
  initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);
@@ -4150,7 +4053,7 @@ const connectedCallback = (elm) => {
4150
4053
  if (BUILD.initializeNextTick) nextTick(() => initializeComponent(elm, hostRef, cmpMeta));
4151
4054
  else initializeComponent(elm, hostRef, cmpMeta);
4152
4055
  } else {
4153
- addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);
4056
+ addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
4154
4057
  if (hostRef?.$lazyInstance$) fireConnectedCallback(hostRef.$lazyInstance$, elm);
4155
4058
  else if (hostRef?.$onReadyPromise$) hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$, elm));
4156
4059
  }
@@ -4211,14 +4114,18 @@ const proxyCustomElement = (Cstr, compactMeta) => {
4211
4114
  }
4212
4115
  if (BUILD.reflect) cmpMeta.$attrsToReflect$ = [];
4213
4116
  if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & CMP_FLAGS.shadowDomEncapsulation) cmpMeta.$flags$ |= CMP_FLAGS.needsShadowDomShim;
4214
- if (!(cmpMeta.$flags$ & CMP_FLAGS.shadowDomEncapsulation) && cmpMeta.$flags$ & CMP_FLAGS.hasSlot) if (BUILD.experimentalSlotFixes) patchPseudoShadowDom(Cstr.prototype);
4117
+ if (!(cmpMeta.$flags$ & CMP_FLAGS.shadowDomEncapsulation) && cmpMeta.$flags$ & CMP_FLAGS.hasSlot) if (BUILD.experimentalSlotFixes || BUILD.patchAll && cmpMeta.$flags$ & CMP_FLAGS.patchAll) patchPseudoShadowDom(Cstr.prototype);
4215
4118
  else {
4216
- if (BUILD.slotChildNodesFix) patchChildSlotNodes(Cstr.prototype);
4217
- if (BUILD.cloneNodeFix) patchCloneNode(Cstr.prototype);
4218
- if (BUILD.appendChildSlotFix) patchSlotAppendChild(Cstr.prototype);
4119
+ if (BUILD.slotChildNodesFix || BUILD.patchChildren && cmpMeta.$flags$ & CMP_FLAGS.patchChildren) patchChildSlotNodes(Cstr.prototype);
4120
+ if (BUILD.cloneNodeFix || BUILD.patchClone && cmpMeta.$flags$ & CMP_FLAGS.patchClone) patchCloneNode(Cstr.prototype);
4121
+ if (BUILD.appendChildSlotFix || BUILD.patchInsert && cmpMeta.$flags$ & CMP_FLAGS.patchInsert) {
4122
+ patchSlotAppendChild(Cstr.prototype);
4123
+ patchInsertBefore(Cstr.prototype);
4124
+ patchSlotRemoveChild(Cstr.prototype);
4125
+ }
4219
4126
  if (BUILD.scopedSlotTextContentFix && cmpMeta.$flags$ & CMP_FLAGS.scopedCssEncapsulation) patchTextContent(Cstr.prototype);
4220
4127
  }
4221
- else if (BUILD.cloneNodeFix) patchCloneNode(Cstr.prototype);
4128
+ else if (BUILD.cloneNodeFix || BUILD.patchClone && cmpMeta.$flags$ & CMP_FLAGS.patchClone) patchCloneNode(Cstr.prototype);
4222
4129
  if (BUILD.hydrateClientSide && BUILD.shadowDom) hydrateScopedToShadow();
4223
4130
  const originalConnectedCallback = Cstr.prototype.connectedCallback;
4224
4131
  const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;
@@ -4234,7 +4141,7 @@ const proxyCustomElement = (Cstr, compactMeta) => {
4234
4141
  if (!this.__hasHostListenerAttached) {
4235
4142
  const hostRef = getHostRef(this);
4236
4143
  if (!hostRef) return;
4237
- addHostEventListeners(this, hostRef, cmpMeta.$listeners$, false);
4144
+ addHostEventListeners(this, hostRef, cmpMeta.$listeners$);
4238
4145
  this.__hasHostListenerAttached = true;
4239
4146
  }
4240
4147
  connectedCallback(this);
@@ -4246,8 +4153,13 @@ const proxyCustomElement = (Cstr, compactMeta) => {
4246
4153
  },
4247
4154
  __attachShadow() {
4248
4155
  if (supportsShadow) {
4249
- if (!this.shadowRoot) createShadowRoot.call(this, cmpMeta);
4250
- else if (this.shadowRoot.mode !== "open") throw new Error(`Unable to re-use existing shadow root for ${cmpMeta.$tagName$}! Mode is set to ${this.shadowRoot.mode} but Stencil only supports open shadow roots.`);
4156
+ const isClosed = BUILD.shadowModeClosed && !!(cmpMeta.$flags$ & CMP_FLAGS.shadowModeClosed);
4157
+ let existingRoot = this.shadowRoot;
4158
+ if (BUILD.shadowModeClosed && isClosed) existingRoot = this.__shadowRoot ?? null;
4159
+ if (!existingRoot) createShadowRoot.call(this, cmpMeta);
4160
+ else if (BUILD.shadowModeClosed && isClosed) {
4161
+ if (existingRoot.mode !== "closed") throw new Error(`Unable to re-use existing shadow root for ${cmpMeta.$tagName$}! Mode is set to ${existingRoot.mode} but expected closed.`);
4162
+ }
4251
4163
  } else this.shadowRoot = this;
4252
4164
  }
4253
4165
  });
@@ -4343,7 +4255,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
4343
4255
  cmpMeta.$deserializers$ = compactMeta[6] ?? {};
4344
4256
  }
4345
4257
  if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & CMP_FLAGS.shadowDomEncapsulation) cmpMeta.$flags$ |= CMP_FLAGS.needsShadowDomShim;
4346
- const tagName = BUILD.transformTagName && options.transformTagName ? options.transformTagName(cmpMeta.$tagName$) : transformTag(cmpMeta.$tagName$);
4258
+ const tagName = transformTag(cmpMeta.$tagName$);
4347
4259
  const HostElement = class extends HTMLElement {
4348
4260
  ["s-p"];
4349
4261
  ["s-rc"];
@@ -4370,7 +4282,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
4370
4282
  */
4371
4283
  if (!this.hasRegisteredEventListeners) {
4372
4284
  this.hasRegisteredEventListeners = true;
4373
- addHostEventListeners(this, hostRef, cmpMeta.$listeners$, false);
4285
+ addHostEventListeners(this, hostRef, cmpMeta.$listeners$);
4374
4286
  }
4375
4287
  if (appLoadFallback) {
4376
4288
  clearTimeout(appLoadFallback);
@@ -4402,14 +4314,18 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
4402
4314
  return getHostRef(this)?.$onReadyPromise$;
4403
4315
  }
4404
4316
  };
4405
- if (!(cmpMeta.$flags$ & CMP_FLAGS.shadowDomEncapsulation) && cmpMeta.$flags$ & CMP_FLAGS.hasSlot) if (BUILD.experimentalSlotFixes) patchPseudoShadowDom(HostElement.prototype);
4317
+ if (!(cmpMeta.$flags$ & CMP_FLAGS.shadowDomEncapsulation) && cmpMeta.$flags$ & CMP_FLAGS.hasSlot) if (BUILD.experimentalSlotFixes || BUILD.patchAll && cmpMeta.$flags$ & CMP_FLAGS.patchAll) patchPseudoShadowDom(HostElement.prototype);
4406
4318
  else {
4407
- if (BUILD.slotChildNodesFix) patchChildSlotNodes(HostElement.prototype);
4408
- if (BUILD.cloneNodeFix) patchCloneNode(HostElement.prototype);
4409
- if (BUILD.appendChildSlotFix) patchSlotAppendChild(HostElement.prototype);
4319
+ if (BUILD.slotChildNodesFix || BUILD.patchChildren && cmpMeta.$flags$ & CMP_FLAGS.patchChildren) patchChildSlotNodes(HostElement.prototype);
4320
+ if (BUILD.cloneNodeFix || BUILD.patchClone && cmpMeta.$flags$ & CMP_FLAGS.patchClone) patchCloneNode(HostElement.prototype);
4321
+ if (BUILD.appendChildSlotFix || BUILD.patchInsert && cmpMeta.$flags$ & CMP_FLAGS.patchInsert) {
4322
+ patchSlotAppendChild(HostElement.prototype);
4323
+ patchInsertBefore(HostElement.prototype);
4324
+ patchSlotRemoveChild(HostElement.prototype);
4325
+ }
4410
4326
  if (BUILD.scopedSlotTextContentFix && cmpMeta.$flags$ & CMP_FLAGS.scopedCssEncapsulation) patchTextContent(HostElement.prototype);
4411
4327
  }
4412
- else if (BUILD.cloneNodeFix) patchCloneNode(HostElement.prototype);
4328
+ else if (BUILD.cloneNodeFix || BUILD.patchClone && cmpMeta.$flags$ & CMP_FLAGS.patchClone) patchCloneNode(HostElement.prototype);
4413
4329
  if (BUILD.formAssociated && cmpMeta.$flags$ & CMP_FLAGS.formAssociated) HostElement.formAssociated = true;
4414
4330
  if (BUILD.hotModuleReplacement) HostElement.prototype["s-hmr"] = function(hmrVersionId) {
4415
4331
  hmrStart(this, cmpMeta, hmrVersionId);
@@ -4441,18 +4357,14 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
4441
4357
  const Fragment = (_, children) => children;
4442
4358
  //#endregion
4443
4359
  //#region src/runtime/host-listener.ts
4444
- const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
4445
- if (BUILD.hostListener && listeners && win.document) {
4446
- if (BUILD.hostListenerTargetParent) if (attachParentListeners) listeners = listeners.filter(([flags]) => flags & LISTENER_FLAGS.TargetParent);
4447
- else listeners = listeners.filter(([flags]) => !(flags & LISTENER_FLAGS.TargetParent));
4448
- listeners.map(([flags, name, method]) => {
4449
- const target = BUILD.hostListenerTarget ? getHostListenerTarget(win.document, elm, flags) : elm;
4450
- const handler = hostListenerProxy(hostRef, method);
4451
- const opts = hostListenerOpts(flags);
4452
- plt.ael(target, name, handler, opts);
4453
- (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
4454
- });
4455
- }
4360
+ const addHostEventListeners = (elm, hostRef, listeners) => {
4361
+ if (BUILD.hostListener && listeners && win.document) listeners.map(([flags, name, method]) => {
4362
+ const target = BUILD.hostListenerTarget ? getHostListenerTarget(win.document, elm, flags) : elm;
4363
+ const handler = hostListenerProxy(hostRef, method);
4364
+ const opts = hostListenerOpts(flags);
4365
+ plt.ael(target, name, handler, opts);
4366
+ (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
4367
+ });
4456
4368
  };
4457
4369
  const hostListenerProxy = (hostRef, methodName) => (ev) => {
4458
4370
  try {
@@ -4467,7 +4379,6 @@ const getHostListenerTarget = (doc, elm, flags) => {
4467
4379
  if (BUILD.hostListenerTargetDocument && flags & LISTENER_FLAGS.TargetDocument) return doc;
4468
4380
  if (BUILD.hostListenerTargetWindow && flags & LISTENER_FLAGS.TargetWindow) return win;
4469
4381
  if (BUILD.hostListenerTargetBody && flags & LISTENER_FLAGS.TargetBody) return doc.body;
4470
- if (BUILD.hostListenerTargetParent && flags & LISTENER_FLAGS.TargetParent && elm.parentElement) return elm.parentElement;
4471
4382
  return elm;
4472
4383
  };
4473
4384
  const hostListenerOpts = (flags) => supportsListenerOptions ? {
@@ -4745,4 +4656,4 @@ const insertChildVNodeAnnotations = (doc, vnodeChild, cmpData, hostId, depth, in
4745
4656
  }
4746
4657
  };
4747
4658
  //#endregion
4748
- export { Host as A, postUpdateComponent as C, parsePropertyValue as D, getElement as E, getAssetPath as M, setAssetPath as N, getMode as O, HYDRATED_STYLE_ID as P, getRenderingRef as S, createEvent as T, connectedCallback as _, transformTag as a, setValue as b, setNonce as c, Fragment as d, bootstrapLazy as f, disconnectedCallback as g, proxyCustomElement as h, setTagTransformer as i, h as j, setMode as k, Mixin as l, forceModeUpdate as m, jsx as n, render as o, defineCustomElement as p, jsxs as r, setPlatformOptions as s, insertVdomAnnotations as t, addHostEventListeners as u, proxyComponent as v, renderVdom as w, forceUpdate as x, getValue as y };
4659
+ export { h as A, postUpdateComponent as C, getMode as D, parsePropertyValue as E, HYDRATED_STYLE_ID as F, getShadowRoot as M, getAssetPath as N, setMode as O, setAssetPath as P, getRenderingRef as S, createEvent as T, connectedCallback as _, transformTag as a, setValue as b, setNonce as c, Fragment as d, bootstrapLazy as f, disconnectedCallback as g, proxyCustomElement as h, setTagTransformer as i, getElement as j, Host as k, Mixin as l, forceModeUpdate as m, jsx as n, render as o, defineCustomElement as p, jsxs as r, setPlatformOptions as s, insertVdomAnnotations as t, addHostEventListeners as u, proxyComponent as v, renderVdom as w, forceUpdate as x, getValue as y };
@@ -1,4 +1,4 @@
1
- import { gr as CompilerSystem, ri as Logger } from "../../index-D-LlB2nw.mjs";
1
+ import { Qr as Logger, gr as CompilerSystem } from "../../index-tUR6pD3J.mjs";
2
2
 
3
3
  //#region src/sys/node/logger/index.d.ts
4
4
  /**
@@ -1,2 +1,2 @@
1
- import { n as setupNodeProcess, r as createNodeLogger, t as createNodeSys } from "../../node-SxQIOCZE.mjs";
1
+ import { n as setupNodeProcess, r as createNodeLogger, t as createNodeSys } from "../../node-Bg-mO5dw.mjs";
2
2
  export { createNodeLogger, createNodeSys, setupNodeProcess };
@@ -1,5 +1,5 @@
1
- import { l as createWorkerMessageHandler } from "../../compiler-LX4_RKKd.mjs";
2
- import { t as createNodeSys } from "../../node-SxQIOCZE.mjs";
1
+ import { l as createWorkerMessageHandler } from "../../compiler-D6iP7Bzb.mjs";
2
+ import { t as createNodeSys } from "../../node-Bg-mO5dw.mjs";
3
3
  //#region src/sys/node/node-worker-thread.ts
4
4
  /**
5
5
  * Initialize a worker thread, setting up various machinery for managing
@@ -1,5 +1,5 @@
1
- import { B as ComponentCompilerMeta, Ct as HostElement, E as CompilerCtx, Rr as Diagnostic, Rt as Module, Sa as UserBuildConditionals, Ut as NewSpecPageOptions, _a as ErrorHandler, a as BuildCtx, ai as LoggerTimeSpan, ei as LoadConfigInit, fa as UnvalidatedConfig, ft as ComponentRuntimeMeta, gr as CompilerSystem, ia as Testing, ni as LogLevel, pa as ValidatedConfig, pn as RuntimeRef, ri as Logger, vn as SpecPage, wt as HostRef, ya as RafCallback } from "../index-D-LlB2nw.mjs";
2
- import { c as getMode, d as Fragment, f as createEvent, g as Env, h as setAssetPath, i as getRenderingRef, m as getAssetPath, n as h, p as getElement, r as forceUpdate, t as Host, u as Mixin } from "../index-fIuYTL9f.mjs";
1
+ import { B as ComponentCompilerMeta, E as CompilerCtx, Qr as Logger, Rr as Diagnostic, Tt as HostRef, Wt as NewSpecPageOptions, Yr as LoadConfigInit, Zr as LogLevel, a as BuildCtx, ca as RafCallback, da as UserBuildConditionals, ei as LoggerTimeSpan, gr as CompilerSystem, mn as RuntimeRef, na as ValidatedConfig, oa as ErrorHandler, pt as ComponentRuntimeMeta, ta as UnvalidatedConfig, wt as HostElement, yn as SpecPage, zt as Module } from "../index-tUR6pD3J.mjs";
2
+ import { _ as Env, c as getMode, d as Fragment, f as createEvent, g as setAssetPath, h as getAssetPath, i as getRenderingRef, n as h, p as getElement, r as forceUpdate, t as Host, u as Mixin } from "../index-CXHCTQNt.mjs";
3
3
  import { Mock } from "vitest";
4
4
 
5
5
  //#region src/testing/testing-logger.d.ts
@@ -206,4 +206,4 @@ declare function readTask(cb: RafCallback): void;
206
206
  //#region src/testing/platform/index.d.ts
207
207
  declare const setMode: (handler: (elm: any) => string | undefined | null) => void;
208
208
  //#endregion
209
- export { Build, Env, Fragment, Host, Mixin, type SpecPage, type Testing, createEvent, createTestingSystem, forceUpdate, getAssetPath, getElement, getHostRef, getMode, getRenderingRef, h, mockBuildCtx, mockCompilerCtx, mockCompilerSystem, mockComponentMeta, mockConfig, mockDocument, mockLoadConfigInit, mockLogger, mockModule, mockValidatedConfig, mockWindow, newSpecPage, readTask, registerHost, registerInstance, setAssetPath, setErrorHandler, setMode, setupConsoleMocker, shuffleArray, writeTask };
209
+ export { Build, Env, Fragment, Host, Mixin, type SpecPage, createEvent, createTestingSystem, forceUpdate, getAssetPath, getElement, getHostRef, getMode, getRenderingRef, h, mockBuildCtx, mockCompilerCtx, mockCompilerSystem, mockComponentMeta, mockConfig, mockDocument, mockLoadConfigInit, mockLogger, mockModule, mockValidatedConfig, mockWindow, newSpecPage, readTask, registerHost, registerInstance, setAssetPath, setErrorHandler, setMode, setupConsoleMocker, shuffleArray, writeTask };