@stencil/core 4.33.1-dev.1749534306.36fca61 → 4.33.1-dev.1749618190.28e2a06

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.
@@ -1,5 +1,5 @@
1
1
  /*
2
- Stencil Client Platform v4.33.1-dev.1749534306.36fca61 | MIT Licensed | https://stenciljs.com
2
+ Stencil Client Platform v4.33.1-dev.1749618190.28e2a06 | MIT Licensed | https://stenciljs.com
3
3
  */
4
4
  var __defProp = Object.defineProperty;
5
5
  var __export = (target, all) => {
@@ -640,13 +640,17 @@ var addSlotRelocateNode = (newChild, slotNode, prepend, position) => {
640
640
  };
641
641
  var getSlotName = (node) => typeof node["s-sn"] === "string" ? node["s-sn"] : node.nodeType === 1 && node.getAttribute("slot") || void 0;
642
642
  function patchSlotNode(node) {
643
- if (node.assignedElements || node.assignedNodes || !node["s-sr"]) return;
643
+ var _a;
644
+ const slotNode = node;
645
+ if (slotNode.assignedElements || slotNode.assignedNodes || !node["s-sr"]) {
646
+ return;
647
+ }
644
648
  const assignedFactory = (elementsOnly) => (function(opts) {
645
649
  const toReturn = [];
646
650
  const slotName = this["s-sn"];
647
651
  if (opts == null ? void 0 : opts.flatten) {
648
652
  console.error(`
649
- Flattening is not supported for Stencil non-shadow slots.
653
+ Flattening is not supported for Stencil non-shadow slots.
650
654
  You can use \`.childNodes\` to nested slot fallback content.
651
655
  If you have a particular use case, please open an issue on the Stencil repo.
652
656
  `);
@@ -663,8 +667,39 @@ function patchSlotNode(node) {
663
667
  }
664
668
  return toReturn;
665
669
  }).bind(node);
666
- node.assignedElements = assignedFactory(true);
667
- node.assignedNodes = assignedFactory(false);
670
+ slotNode.assignedElements = assignedFactory(true);
671
+ slotNode.assignedNodes = assignedFactory(false);
672
+ slotNode.__eventListeners = (_a = slotNode.__eventListeners) != null ? _a : [];
673
+ if (!slotNode.addEventListener) {
674
+ slotNode.addEventListener = function(type, listener) {
675
+ this.__eventListeners = this.__eventListeners || [];
676
+ this.__eventListeners.push({ type, listener });
677
+ };
678
+ }
679
+ if (!slotNode.removeEventListener) {
680
+ slotNode.removeEventListener = function(type, listener) {
681
+ if (!this.__eventListeners) return;
682
+ this.__eventListeners = this.__eventListeners.filter((l) => !(l.type === type && l.listener === listener));
683
+ };
684
+ }
685
+ if (!slotNode.dispatchEvent) {
686
+ slotNode.dispatchEvent = function(event) {
687
+ if (!this.__eventListeners) return true;
688
+ const listeners = this.__eventListeners.filter((l) => l.type === event.type);
689
+ for (const { listener } of listeners) {
690
+ try {
691
+ if (typeof listener === "function") {
692
+ listener.call(this, event);
693
+ } else if (listener && typeof listener.handleEvent === "function") {
694
+ listener.handleEvent(event);
695
+ }
696
+ } catch (err2) {
697
+ console.error("Error in slot event listener:", err2);
698
+ }
699
+ }
700
+ return !event.defaultPrevented;
701
+ };
702
+ }
668
703
  }
669
704
  function dispatchSlotChangeEvent(elm) {
670
705
  elm.dispatchEvent(new CustomEvent("slotchange", { bubbles: false, cancelable: false, composed: false }));
@@ -1294,15 +1329,19 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1294
1329
  vnode.$elm$ = hostElm;
1295
1330
  const members = Object.entries(((_a = hostRef.$cmpMeta$) == null ? void 0 : _a.$members$) || {});
1296
1331
  members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
1297
- var _a2;
1332
+ var _a2, _b;
1298
1333
  if (!(memberFlags & 31 /* Prop */)) {
1299
1334
  return;
1300
1335
  }
1301
1336
  const attributeName = metaAttributeName || memberName;
1302
1337
  const attrVal = hostElm.getAttribute(attributeName);
1303
1338
  if (attrVal !== null) {
1304
- const attrPropVal = parsePropertyValue(attrVal, memberFlags);
1305
- (_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.set(memberName, attrPropVal);
1339
+ const attrPropVal = parsePropertyValue(
1340
+ attrVal,
1341
+ memberFlags,
1342
+ BUILD13.formAssociated && !!(((_a2 = hostRef.$cmpMeta$) == null ? void 0 : _a2.$flags$) & 64 /* formAssociated */)
1343
+ );
1344
+ (_b = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _b.set(memberName, attrPropVal);
1306
1345
  }
1307
1346
  });
1308
1347
  let scopeId2;
@@ -2073,7 +2112,7 @@ import { BUILD as BUILD22 } from "@stencil/core/internal/app-data";
2073
2112
 
2074
2113
  // src/runtime/parse-property-value.ts
2075
2114
  import { BUILD as BUILD14 } from "@stencil/core/internal/app-data";
2076
- var parsePropertyValue = (propValue, propType) => {
2115
+ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
2077
2116
  if ((BUILD14.hydrateClientSide || BUILD14.hydrateServerSide) && typeof propValue === "string" && (propValue.startsWith("{") && propValue.endsWith("}") || propValue.startsWith("[") && propValue.endsWith("]"))) {
2078
2117
  try {
2079
2118
  propValue = JSON.parse(propValue);
@@ -2087,7 +2126,11 @@ var parsePropertyValue = (propValue, propType) => {
2087
2126
  }
2088
2127
  if (propValue != null && !isComplexType(propValue)) {
2089
2128
  if (BUILD14.propBoolean && propType & 4 /* Boolean */) {
2090
- return propValue === "false" ? false : propValue === "" || !!propValue;
2129
+ if (BUILD14.formAssociated && isFormAssociated && typeof propValue === "string") {
2130
+ return propValue === "" || !!propValue;
2131
+ } else {
2132
+ return propValue === "false" ? false : propValue === "" || !!propValue;
2133
+ }
2091
2134
  }
2092
2135
  if (BUILD14.propNumber && propType & 2 /* Number */) {
2093
2136
  return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
@@ -2433,7 +2476,7 @@ var checkSlotFallbackVisibility = false;
2433
2476
  var checkSlotRelocate = false;
2434
2477
  var isSvgMode = false;
2435
2478
  var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2436
- var _a;
2479
+ var _a, _b;
2437
2480
  const newVNode2 = newParentVNode.$children$[childIndex];
2438
2481
  let i2 = 0;
2439
2482
  let elm;
@@ -2463,6 +2506,11 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2463
2506
  elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
2464
2507
  } else if (BUILD20.slotRelocation && newVNode2.$flags$ & 1 /* isSlotReference */) {
2465
2508
  elm = newVNode2.$elm$ = BUILD20.isDebug || BUILD20.hydrateServerSide ? slotReferenceDebugNode(newVNode2) : win.document.createTextNode("");
2509
+ elm["s-sr"] = true;
2510
+ elm["s-cr"] = contentRef;
2511
+ elm["s-sn"] = newVNode2.$name$ || "";
2512
+ elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
2513
+ patchSlotNode(elm);
2466
2514
  if (BUILD20.vdomAttribute) {
2467
2515
  updateElement(null, newVNode2, isSvgMode);
2468
2516
  }
@@ -2509,11 +2557,13 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2509
2557
  elm["s-hn"] = hostTagName;
2510
2558
  if (BUILD20.slotRelocation) {
2511
2559
  if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
2512
- elm["s-sr"] = true;
2513
- elm["s-cr"] = contentRef;
2514
- elm["s-sn"] = newVNode2.$name$ || "";
2515
- elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
2516
- patchSlotNode(elm);
2560
+ if (!(newVNode2.$flags$ & 1 /* isSlotReference */)) {
2561
+ elm["s-sr"] = true;
2562
+ elm["s-cr"] = contentRef;
2563
+ elm["s-sn"] = newVNode2.$name$ || "";
2564
+ elm["s-rf"] = (_b = newVNode2.$attrs$) == null ? void 0 : _b.ref;
2565
+ patchSlotNode(elm);
2566
+ }
2517
2567
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
2518
2568
  if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
2519
2569
  if (BUILD20.experimentalSlotFixes) {
@@ -3281,7 +3331,11 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
3281
3331
  const oldVal = hostRef.$instanceValues$.get(propName);
3282
3332
  const flags = hostRef.$flags$;
3283
3333
  const instance = BUILD22.lazyLoad ? hostRef.$lazyInstance$ : elm;
3284
- newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
3334
+ newVal = parsePropertyValue(
3335
+ newVal,
3336
+ cmpMeta.$members$[propName][0],
3337
+ BUILD22.formAssociated && !!(cmpMeta.$flags$ & 64 /* formAssociated */)
3338
+ );
3285
3339
  const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
3286
3340
  const didValueChange = newVal !== oldVal && !areBothNaN;
3287
3341
  if ((!BUILD22.lazyLoad || !(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
@@ -3419,7 +3473,13 @@ More information: https://stenciljs.com/docs/properties#prop-mutability`
3419
3473
  } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
3420
3474
  ref.$instanceValues$.set(memberName, currentValue);
3421
3475
  }
3422
- origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
3476
+ origSetter.apply(this, [
3477
+ parsePropertyValue(
3478
+ newValue,
3479
+ memberFlags,
3480
+ BUILD23.formAssociated && !!(cmpMeta.$flags$ & 64 /* formAssociated */)
3481
+ )
3482
+ ]);
3423
3483
  newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
3424
3484
  setValue(this, memberName, newValue, cmpMeta);
3425
3485
  return;
@@ -3445,7 +3505,11 @@ More information: https://stenciljs.com/docs/properties#prop-mutability`
3445
3505
  if (!ref.$instanceValues$.get(memberName) && currentValue) {
3446
3506
  ref.$instanceValues$.set(memberName, currentValue);
3447
3507
  }
3448
- ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, memberFlags);
3508
+ ref.$lazyInstance$[memberName] = parsePropertyValue(
3509
+ newValue,
3510
+ memberFlags,
3511
+ BUILD23.formAssociated && !!(cmpMeta.$flags$ & 64 /* formAssociated */)
3512
+ );
3449
3513
  setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
3450
3514
  };
3451
3515
  if (ref.$lazyInstance$) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stencil/core/internal/client",
3
- "version": "4.33.1-dev.1749534306.36fca61",
3
+ "version": "4.33.1-dev.1749618190.28e2a06",
4
4
  "description": "Stencil internal client platform to be imported by the Stencil Compiler and internal runtime. Breaking changes can and will happen at any time.",
5
5
  "main": "./index.js",
6
6
  "exports": "./index.js",
@@ -1,5 +1,5 @@
1
1
  /*
2
- Stencil Client Patch Browser v4.33.1-dev.1749534306.36fca61 | MIT Licensed | https://stenciljs.com
2
+ Stencil Client Patch Browser v4.33.1-dev.1749618190.28e2a06 | MIT Licensed | https://stenciljs.com
3
3
  */
4
4
 
5
5
  // src/client/client-patch-browser.ts
@@ -1,5 +1,5 @@
1
1
  /*
2
- Stencil Hydrate Platform v4.33.1-dev.1749534306.36fca61 | MIT Licensed | https://stenciljs.com
2
+ Stencil Hydrate Platform v4.33.1-dev.1749618190.28e2a06 | MIT Licensed | https://stenciljs.com
3
3
  */
4
4
  var __defProp = Object.defineProperty;
5
5
  var __export = (target, all) => {
@@ -411,13 +411,17 @@ var addSlotRelocateNode = (newChild, slotNode, prepend, position) => {
411
411
  };
412
412
  var getSlotName = (node) => typeof node["s-sn"] === "string" ? node["s-sn"] : node.nodeType === 1 && node.getAttribute("slot") || void 0;
413
413
  function patchSlotNode(node) {
414
- if (node.assignedElements || node.assignedNodes || !node["s-sr"]) return;
414
+ var _a;
415
+ const slotNode = node;
416
+ if (slotNode.assignedElements || slotNode.assignedNodes || !node["s-sr"]) {
417
+ return;
418
+ }
415
419
  const assignedFactory = (elementsOnly) => (function(opts) {
416
420
  const toReturn = [];
417
421
  const slotName = this["s-sn"];
418
422
  if (opts == null ? void 0 : opts.flatten) {
419
423
  console.error(`
420
- Flattening is not supported for Stencil non-shadow slots.
424
+ Flattening is not supported for Stencil non-shadow slots.
421
425
  You can use \`.childNodes\` to nested slot fallback content.
422
426
  If you have a particular use case, please open an issue on the Stencil repo.
423
427
  `);
@@ -434,8 +438,39 @@ function patchSlotNode(node) {
434
438
  }
435
439
  return toReturn;
436
440
  }).bind(node);
437
- node.assignedElements = assignedFactory(true);
438
- node.assignedNodes = assignedFactory(false);
441
+ slotNode.assignedElements = assignedFactory(true);
442
+ slotNode.assignedNodes = assignedFactory(false);
443
+ slotNode.__eventListeners = (_a = slotNode.__eventListeners) != null ? _a : [];
444
+ if (!slotNode.addEventListener) {
445
+ slotNode.addEventListener = function(type, listener) {
446
+ this.__eventListeners = this.__eventListeners || [];
447
+ this.__eventListeners.push({ type, listener });
448
+ };
449
+ }
450
+ if (!slotNode.removeEventListener) {
451
+ slotNode.removeEventListener = function(type, listener) {
452
+ if (!this.__eventListeners) return;
453
+ this.__eventListeners = this.__eventListeners.filter((l) => !(l.type === type && l.listener === listener));
454
+ };
455
+ }
456
+ if (!slotNode.dispatchEvent) {
457
+ slotNode.dispatchEvent = function(event) {
458
+ if (!this.__eventListeners) return true;
459
+ const listeners = this.__eventListeners.filter((l) => l.type === event.type);
460
+ for (const { listener } of listeners) {
461
+ try {
462
+ if (typeof listener === "function") {
463
+ listener.call(this, event);
464
+ } else if (listener && typeof listener.handleEvent === "function") {
465
+ listener.handleEvent(event);
466
+ }
467
+ } catch (err2) {
468
+ console.error("Error in slot event listener:", err2);
469
+ }
470
+ }
471
+ return !event.defaultPrevented;
472
+ };
473
+ }
439
474
  }
440
475
  function dispatchSlotChangeEvent(elm) {
441
476
  elm.dispatchEvent(new CustomEvent("slotchange", { bubbles: false, cancelable: false, composed: false }));
@@ -1065,15 +1100,19 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1065
1100
  vnode.$elm$ = hostElm;
1066
1101
  const members = Object.entries(((_a = hostRef.$cmpMeta$) == null ? void 0 : _a.$members$) || {});
1067
1102
  members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
1068
- var _a2;
1103
+ var _a2, _b;
1069
1104
  if (!(memberFlags & 31 /* Prop */)) {
1070
1105
  return;
1071
1106
  }
1072
1107
  const attributeName = metaAttributeName || memberName;
1073
1108
  const attrVal = hostElm.getAttribute(attributeName);
1074
1109
  if (attrVal !== null) {
1075
- const attrPropVal = parsePropertyValue(attrVal, memberFlags);
1076
- (_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.set(memberName, attrPropVal);
1110
+ const attrPropVal = parsePropertyValue(
1111
+ attrVal,
1112
+ memberFlags,
1113
+ BUILD7.formAssociated && !!(((_a2 = hostRef.$cmpMeta$) == null ? void 0 : _a2.$flags$) & 64 /* formAssociated */)
1114
+ );
1115
+ (_b = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _b.set(memberName, attrPropVal);
1077
1116
  }
1078
1117
  });
1079
1118
  let scopeId2;
@@ -1844,7 +1883,7 @@ import { BUILD as BUILD16 } from "@stencil/core/internal/app-data";
1844
1883
 
1845
1884
  // src/runtime/parse-property-value.ts
1846
1885
  import { BUILD as BUILD8 } from "@stencil/core/internal/app-data";
1847
- var parsePropertyValue = (propValue, propType) => {
1886
+ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
1848
1887
  if ((BUILD8.hydrateClientSide || BUILD8.hydrateServerSide) && typeof propValue === "string" && (propValue.startsWith("{") && propValue.endsWith("}") || propValue.startsWith("[") && propValue.endsWith("]"))) {
1849
1888
  try {
1850
1889
  propValue = JSON.parse(propValue);
@@ -1858,7 +1897,11 @@ var parsePropertyValue = (propValue, propType) => {
1858
1897
  }
1859
1898
  if (propValue != null && !isComplexType(propValue)) {
1860
1899
  if (BUILD8.propBoolean && propType & 4 /* Boolean */) {
1861
- return propValue === "false" ? false : propValue === "" || !!propValue;
1900
+ if (BUILD8.formAssociated && isFormAssociated && typeof propValue === "string") {
1901
+ return propValue === "" || !!propValue;
1902
+ } else {
1903
+ return propValue === "false" ? false : propValue === "" || !!propValue;
1904
+ }
1862
1905
  }
1863
1906
  if (BUILD8.propNumber && propType & 2 /* Number */) {
1864
1907
  return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
@@ -2204,7 +2247,7 @@ var checkSlotFallbackVisibility = false;
2204
2247
  var checkSlotRelocate = false;
2205
2248
  var isSvgMode = false;
2206
2249
  var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2207
- var _a;
2250
+ var _a, _b;
2208
2251
  const newVNode2 = newParentVNode.$children$[childIndex];
2209
2252
  let i2 = 0;
2210
2253
  let elm;
@@ -2234,6 +2277,11 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2234
2277
  elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
2235
2278
  } else if (BUILD14.slotRelocation && newVNode2.$flags$ & 1 /* isSlotReference */) {
2236
2279
  elm = newVNode2.$elm$ = BUILD14.isDebug || BUILD14.hydrateServerSide ? slotReferenceDebugNode(newVNode2) : win.document.createTextNode("");
2280
+ elm["s-sr"] = true;
2281
+ elm["s-cr"] = contentRef;
2282
+ elm["s-sn"] = newVNode2.$name$ || "";
2283
+ elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
2284
+ patchSlotNode(elm);
2237
2285
  if (BUILD14.vdomAttribute) {
2238
2286
  updateElement(null, newVNode2, isSvgMode);
2239
2287
  }
@@ -2280,11 +2328,13 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2280
2328
  elm["s-hn"] = hostTagName;
2281
2329
  if (BUILD14.slotRelocation) {
2282
2330
  if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
2283
- elm["s-sr"] = true;
2284
- elm["s-cr"] = contentRef;
2285
- elm["s-sn"] = newVNode2.$name$ || "";
2286
- elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
2287
- patchSlotNode(elm);
2331
+ if (!(newVNode2.$flags$ & 1 /* isSlotReference */)) {
2332
+ elm["s-sr"] = true;
2333
+ elm["s-cr"] = contentRef;
2334
+ elm["s-sn"] = newVNode2.$name$ || "";
2335
+ elm["s-rf"] = (_b = newVNode2.$attrs$) == null ? void 0 : _b.ref;
2336
+ patchSlotNode(elm);
2337
+ }
2288
2338
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
2289
2339
  if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
2290
2340
  if (BUILD14.experimentalSlotFixes) {
@@ -3052,7 +3102,11 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
3052
3102
  const oldVal = hostRef.$instanceValues$.get(propName);
3053
3103
  const flags = hostRef.$flags$;
3054
3104
  const instance = BUILD16.lazyLoad ? hostRef.$lazyInstance$ : elm;
3055
- newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
3105
+ newVal = parsePropertyValue(
3106
+ newVal,
3107
+ cmpMeta.$members$[propName][0],
3108
+ BUILD16.formAssociated && !!(cmpMeta.$flags$ & 64 /* formAssociated */)
3109
+ );
3056
3110
  const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
3057
3111
  const didValueChange = newVal !== oldVal && !areBothNaN;
3058
3112
  if ((!BUILD16.lazyLoad || !(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
@@ -3190,7 +3244,13 @@ More information: https://stenciljs.com/docs/properties#prop-mutability`
3190
3244
  } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
3191
3245
  ref.$instanceValues$.set(memberName, currentValue);
3192
3246
  }
3193
- origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
3247
+ origSetter.apply(this, [
3248
+ parsePropertyValue(
3249
+ newValue,
3250
+ memberFlags,
3251
+ BUILD17.formAssociated && !!(cmpMeta.$flags$ & 64 /* formAssociated */)
3252
+ )
3253
+ ]);
3194
3254
  newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
3195
3255
  setValue(this, memberName, newValue, cmpMeta);
3196
3256
  return;
@@ -3216,7 +3276,11 @@ More information: https://stenciljs.com/docs/properties#prop-mutability`
3216
3276
  if (!ref.$instanceValues$.get(memberName) && currentValue) {
3217
3277
  ref.$instanceValues$.set(memberName, currentValue);
3218
3278
  }
3219
- ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, memberFlags);
3279
+ ref.$lazyInstance$[memberName] = parsePropertyValue(
3280
+ newValue,
3281
+ memberFlags,
3282
+ BUILD17.formAssociated && !!(cmpMeta.$flags$ & 64 /* formAssociated */)
3283
+ );
3220
3284
  setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
3221
3285
  };
3222
3286
  if (ref.$lazyInstance$) {
@@ -4046,7 +4110,7 @@ function proxyHostElement(elm, cstr) {
4046
4110
  let attrPropVal;
4047
4111
  const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(cstr.prototype, memberName) || {};
4048
4112
  if (attrValue != null) {
4049
- attrPropVal = parsePropertyValue(attrValue, memberFlags);
4113
+ attrPropVal = parsePropertyValue(attrValue, memberFlags, !!(cmpMeta.$flags$ & 64 /* formAssociated */));
4050
4114
  }
4051
4115
  if (propValue !== void 0) {
4052
4116
  attrPropVal = propValue;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stencil/core/internal/hydrate",
3
- "version": "4.33.1-dev.1749534306.36fca61",
3
+ "version": "4.33.1-dev.1749618190.28e2a06",
4
4
  "description": "Stencil internal hydrate platform to be imported by the Stencil Compiler. Breaking changes can and will happen at any time.",
5
5
  "main": "./index.js",
6
6
  "private": true
@@ -1,5 +1,5 @@
1
1
  /*
2
- Stencil Hydrate Runner v4.33.1-dev.1749534306.36fca61 | MIT Licensed | https://stenciljs.com
2
+ Stencil Hydrate Runner v4.33.1-dev.1749618190.28e2a06 | MIT Licensed | https://stenciljs.com
3
3
  */
4
4
  var __defProp = Object.defineProperty;
5
5
  var __export = (target, all) => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stencil/core/internal",
3
- "version": "4.33.1-dev.1749534306.36fca61",
3
+ "version": "4.33.1-dev.1749618190.28e2a06",
4
4
  "description": "Stencil internals only to be imported by the Stencil Compiler. Breaking changes can and will happen at any time.",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -1120,9 +1120,10 @@ export interface Plugin {
1120
1120
  pluginType?: string;
1121
1121
  load?: (id: string, context: PluginCtx) => Promise<string> | string;
1122
1122
  resolveId?: (importee: string, importer: string, context: PluginCtx) => Promise<string> | string;
1123
- transform?: (sourceText: string, id: string, context: PluginCtx) => Promise<PluginTransformResults> | PluginTransformResults | string;
1123
+ transform?: (sourceText: string, id: string, context: PluginCtx) => Promise<PluginTransformResults> | PluginTransformResults;
1124
1124
  }
1125
- export interface PluginTransformResults {
1125
+ export type PluginTransformResults = PluginTransformationDescriptor | string | null;
1126
+ export interface PluginTransformationDescriptor {
1126
1127
  code?: string;
1127
1128
  map?: string;
1128
1129
  id?: string;
@@ -250,7 +250,6 @@ export interface StencilConfig {
250
250
  docs?: StencilDocsConfig;
251
251
  globalScript?: string;
252
252
  srcIndexHtml?: string;
253
- watch?: boolean;
254
253
  testing?: TestingConfig;
255
254
  maxConcurrentWorkers?: number;
256
255
  preamble?: string;
@@ -273,6 +272,17 @@ export interface StencilConfig {
273
272
  sys?: CompilerSystem;
274
273
  tsconfig?: string;
275
274
  validateTypes?: boolean;
275
+ /**
276
+ * Sets whether Stencil will watch for changes in the source files and rebuild the project automatically.
277
+ * @default true
278
+ */
279
+ watch?: boolean;
280
+ /**
281
+ * External directories to watch for changes. By default, Stencil will watch the root and {@link StencilConfig.srcDir}
282
+ * directory for changes. If you want to watch additional directories, including e.g. `node_modules`, you can add them here.
283
+ * @default []
284
+ */
285
+ watchExternalDirs?: string[];
276
286
  /**
277
287
  * An array of RegExp patterns that are matched against all source files before adding
278
288
  * to the watch list in watch mode. If the file path matches any of the patterns, when it