@stencil/core 5.0.0-alpha.5 → 5.0.0-alpha.7

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 (43) hide show
  1. package/dist/{client-Dnio47yQ.mjs → client-Dd-NB5Ei.mjs} +2324 -2125
  2. package/dist/compiler/index.d.mts +5 -5
  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-Dxri2g8Z.mjs → compiler-BmT_yLHU.mjs} +13458 -12695
  7. package/dist/declarations/stencil-public-compiler.d.ts +273 -144
  8. package/dist/declarations/stencil-public-docs.d.ts +10 -0
  9. package/dist/declarations/stencil-public-runtime.d.ts +49 -12
  10. package/dist/{index-D61XZw0f.d.ts → index-BuveMLxy.d.ts} +82 -31
  11. package/dist/{index-D5zaocDq.d.mts → index-CVhWFUM0.d.mts} +249 -204
  12. package/dist/{index-Dat4djoo.d.mts → index-ch-cf-bZ.d.mts} +13 -2
  13. package/dist/index.d.mts +0 -1
  14. package/dist/index.mjs +1 -1
  15. package/dist/jsx-runtime.d.mts +18 -0
  16. package/dist/jsx-runtime.mjs +2 -0
  17. package/dist/{node-pj6rF4Wt.mjs → node-10UamZmn.mjs} +59 -55
  18. package/dist/{regular-expression-D0_N0PGa.mjs → regular-expression-CFVJOTUh.mjs} +83 -8
  19. package/dist/runtime/app-data/index.d.ts +1 -1
  20. package/dist/runtime/app-data/index.js +15 -9
  21. package/dist/{runtime-CKyUrF4i.js → runtime/client/lazy.js} +2539 -2199
  22. package/dist/runtime/client/{index.d.ts → runtime.d.ts} +49 -40
  23. package/dist/runtime/client/{index.js → runtime.js} +2401 -2185
  24. package/dist/runtime/index.d.ts +20 -3
  25. package/dist/runtime/index.js +4956 -2
  26. package/dist/runtime/server/index.d.mts +30 -39
  27. package/dist/runtime/server/index.mjs +2369 -2185
  28. package/dist/runtime/server/runner.d.mts +4 -6
  29. package/dist/runtime/server/runner.mjs +307 -361
  30. package/dist/signals/index.d.ts +47 -0
  31. package/dist/signals/index.js +199 -0
  32. package/dist/sys/node/index.d.mts +1 -1
  33. package/dist/sys/node/index.mjs +1 -1
  34. package/dist/sys/node/worker.mjs +2 -2
  35. package/dist/testing/index.d.mts +97 -3
  36. package/dist/testing/index.mjs +199 -50
  37. package/dist/{validation-BA8nzXu_.mjs → validation-ByxKj8bC.mjs} +21 -32
  38. package/package.json +41 -27
  39. package/dist/index-D-XN9HW_.d.ts +0 -30
  40. package/dist/jsx-runtime-B3vQbWIW.d.ts +0 -28
  41. package/dist/jsx-runtime.d.ts +0 -2
  42. package/dist/jsx-runtime.js +0 -2
  43. /package/dist/{chunk-CjcI7cDX.mjs → chunk-z9aeyW2b.mjs} +0 -0
@@ -20,6 +20,11 @@ interface ComponentCompilerPropertyComplexType {
20
20
  * annotation in the original source file.
21
21
  */
22
22
  references: ComponentCompilerTypeReferences;
23
+ /**
24
+ * @internal TypeScript AST node used for semantic type analysis during compilation.
25
+ * Not serialized, only used internally for improved type renaming logic.
26
+ */
27
+ _astNode?: any;
23
28
  }
24
29
  /**
25
30
  * A record of `ComponentCompilerTypeReference` entities.
@@ -90,6 +95,11 @@ interface ComponentCompilerMethodComplexType {
90
95
  parameters: JsonDocMethodParameter[];
91
96
  references: ComponentCompilerTypeReferences;
92
97
  return: string;
98
+ /**
99
+ * @internal TypeScript AST method node used for semantic type analysis during compilation.
100
+ * Not serialized, only used internally for improved type renaming logic.
101
+ */
102
+ _astNode?: any;
93
103
  }
94
104
  //#endregion
95
105
  //#region src/declarations/stencil-public-docs.d.ts
@@ -55,6 +55,28 @@ interface ComponentOptions {
55
55
  * Array of relative links to folders of assets required by the component.
56
56
  */
57
57
  assetsDirs?: string[];
58
+ /**
59
+ * Relative URL to an external stylesheet providing document-level styles for this component.
60
+ * Unlike `styleUrl`, these styles are not scoped to shadow/scoped DOM - they are collected
61
+ * at build time and injected wherever `@import "stencil-globals"` appears in a global stylesheet.
62
+ *
63
+ * Useful for
64
+ * - pre-first-js-render styles (combatting cumulative layout shift)
65
+ * - host element and slotted content style
66
+ * - 'css-only' CEs - those that don't use a JS runtime at all
67
+ *
68
+ * @example
69
+ * ```tsx
70
+ * @Component({ tag: 'my-button', globalStyleUrl: './my-button.global.css' })
71
+ * ```
72
+ */
73
+ globalStyleUrl?: string;
74
+ /**
75
+ * Inline CSS string providing document-level styles for this component.
76
+ * Collected at build time and injected wherever `@import "stencil-globals"` appears.
77
+ * @see globalStyleUrl
78
+ */
79
+ globalStyle?: string;
58
80
  }
59
81
  /**
60
82
  * Shadow DOM encapsulation options for the `encapsulation` property.
@@ -83,7 +105,7 @@ interface ShadowEncapsulation {
83
105
  }
84
106
  /**
85
107
  * Patch types for non-shadow DOM components that use slots.
86
- * - `'all'`: Apply all slot-related patches (equivalent to `experimentalSlotFixes`)
108
+ * - `'all'`: Apply all slot-related patches (equivalent to `lightDomPatches: true`)
87
109
  * - `'children'`: Patch child node accessors (children, firstChild, lastChild, etc.)
88
110
  * - `'clone'`: Patch `cloneNode()` to handle slotted content
89
111
  * - `'insert'`: Patch `appendChild()`, `insertBefore()`, etc. for slot relocation
@@ -535,15 +557,16 @@ declare function setTagTransformer(transformer: TagTransformer): void;
535
557
  * @returns the transformed tag e.g. `new-my-tag`
536
558
  */
537
559
  declare function transformTag(tag: string): string;
560
+ type MixinFactory = (base: MixedInCtor) => MixedInCtor;
538
561
  /**
539
- * @deprecated - Use `MixedInCtor` instead:
562
+ * A constructor type that can be used as the base for mixin factories.
563
+ *
540
564
  * ```ts
541
565
  * import { MixedInCtor } from '@stencil/core';
542
566
  *
543
567
  * const AFactoryFn = <B extends MixedInCtor>(Base: B) => {class A extends Base { propA = A }; return A;}
544
568
  * ```
545
569
  */
546
- type MixinFactory = (base: MixedInCtor) => MixedInCtor;
547
570
  type MixedInCtor<T = {}> = new (...args: any[]) => T;
548
571
  /**
549
572
  * Compose multiple mixin classes into a single constructor.
@@ -684,13 +707,21 @@ interface QueueApi {
684
707
  clear?: () => void;
685
708
  flush?: (cb?: () => void) => void;
686
709
  }
710
+ /**
711
+ * Minimal interface matched by signal objects (from @stencil/core/signals).
712
+ * Used in JSX attribute types.
713
+ */
714
+ interface SignalRef<T = any> {
715
+ readonly value: T;
716
+ peek(): T;
717
+ }
687
718
  /**
688
719
  * Host
689
720
  */
690
721
  interface HostAttributes {
691
722
  class?: string | {
692
723
  [className: string]: boolean;
693
- };
724
+ } | SignalRef<string>;
694
725
  style?: {
695
726
  [key: string]: string | undefined;
696
727
  };
@@ -738,7 +769,7 @@ interface FunctionalUtilities {
738
769
  map: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => ChildNode) => VNode[];
739
770
  }
740
771
  interface FunctionalComponent<T = {}> {
741
- (props: T, children: VNode[], utils: FunctionalUtilities): VNode | VNode[] | null;
772
+ (props: T, children: VNode[], utils: FunctionalUtilities): VNode | null;
742
773
  }
743
774
  /**
744
775
  * A Child VDOM node
@@ -749,7 +780,7 @@ interface FunctionalComponent<T = {}> {
749
780
  * {@link FunctionalUtilities}).
750
781
  */
751
782
  interface ChildNode {
752
- vtag?: string | number | Function;
783
+ vtag?: string | number | Function | symbol | null;
753
784
  vkey?: string | number;
754
785
  vtext?: string;
755
786
  vchildren?: VNode[];
@@ -762,11 +793,11 @@ interface ChildNode {
762
793
  *
763
794
  * For further information: https://stenciljs.com/docs/host-element
764
795
  */
765
- declare const Host: FunctionalComponent<HostAttributes>;
796
+ declare const Host: (props: HostAttributes) => VNode;
766
797
  /**
767
798
  * Fragment
768
799
  */
769
- declare const Fragment: FunctionalComponent<{}>;
800
+ declare const Fragment: (props: {}) => VNode;
770
801
  /**
771
802
  * The "h" namespace is used to import JSX types for elements and attributes.
772
803
  * It is imported in order to avoid conflicting global JSX issues.
@@ -782,6 +813,7 @@ declare namespace h {
782
813
  function h(sel: any, data: VNodeData | null, children: VNode): VNode;
783
814
  function h(sel: any, data: VNodeData | null, ...children: (VNode | string | number)[]): VNode;
784
815
  namespace JSX {
816
+ type Element = VNode;
785
817
  interface IntrinsicElements extends LocalJSX.IntrinsicElements, JSXBase.IntrinsicElements {
786
818
  [tagName: string]: any;
787
819
  }
@@ -818,13 +850,15 @@ declare function jsxs(type: any, props: any, key?: string): VNode;
818
850
  */
819
851
  interface VNode {
820
852
  $flags$: number;
821
- $tag$: string | number | Function;
853
+ $tag$: string | number | Function | symbol | null;
822
854
  $elm$: any;
823
855
  $text$: string;
824
856
  $children$: VNode[];
825
857
  $attrs$?: any;
826
858
  $name$?: string;
827
859
  $key$?: string | number;
860
+ /** Signal reference for vdom bypass: signal text nodes store the signal here. */
861
+ $signal$?: any;
828
862
  }
829
863
  interface VNodeData {
830
864
  class?: {
@@ -1471,7 +1505,7 @@ declare namespace JSXBase {
1471
1505
  autofocus?: boolean | string;
1472
1506
  class?: string | {
1473
1507
  [className: string]: boolean;
1474
- };
1508
+ } | SignalRef<string>;
1475
1509
  contentEditable?: boolean | string;
1476
1510
  contenteditable?: boolean | string;
1477
1511
  contextMenu?: string;
@@ -1530,7 +1564,7 @@ declare namespace JSXBase {
1530
1564
  interface SVGAttributes<T = SVGElement> extends DOMAttributes<T> {
1531
1565
  class?: string | {
1532
1566
  [className: string]: boolean;
1533
- };
1567
+ } | SignalRef<string>;
1534
1568
  color?: string;
1535
1569
  height?: number | string;
1536
1570
  id?: string;
@@ -1931,10 +1965,13 @@ declare namespace JSXBase {
1931
1965
  interface JSXAttributes<T = Element> {
1932
1966
  key?: string | number;
1933
1967
  ref?: (elm?: T) => void;
1968
+ children?: any;
1934
1969
  }
1935
1970
  interface CustomElementsDefineOptions {
1936
1971
  exclude?: string[];
1937
1972
  syncQueue?: boolean;
1973
+ /** Scoped custom element registry to define components in. Defaults to the global registry. */
1974
+ registry?: CustomElementRegistry;
1938
1975
  jmp?: (c: Function) => any;
1939
1976
  raf?: (c: FrameRequestCallback) => number;
1940
1977
  ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
@@ -1942,4 +1979,4 @@ interface CustomElementsDefineOptions {
1942
1979
  ce?: (eventName: string, opts?: any) => CustomEvent;
1943
1980
  }
1944
1981
  //#endregion
1945
- export { AttachInternals, AttachInternalsDecorator, AttachInternalsOptions, AttrDeserialize, AttrDeserializeDecorator, Build, ChildNode, Component, ComponentDecorator, ComponentDidLoad, ComponentDidUpdate, ComponentInterface, ComponentOptions, ComponentWillLoad, ComponentWillUpdate, CustomElementsDefineOptions, Element, ElementDecorator, EncapsulationOptions, Env, ErrorHandler, Event, EventDecorator, EventEmitter, EventOptions, Fragment, FunctionalComponent, FunctionalUtilities, HTMLStencilElement, Host, HostAttributes, LocalJSX as JSX, JSXAttributes, JSXBase, Listen, ListenDecorator, ListenOptions, ListenTargetOptions, Method, MethodDecorator, MethodOptions, MixedInCtor, Mixin, MixinFactory, ModeStyles, NoneEncapsulation, Prop, PropDecorator, PropOptions, PropSerialize, PropSerializeDecorator, QueueApi, RafCallback, ResolutionHandler, ResolveVarFunction, ScopedEncapsulation, ShadowEncapsulation, ShadowRootOptions, SlotPatch, State, StateDecorator, TagTransformer, UserBuildConditionals, VNode, VNodeData, Watch, WatchDecorator, forceUpdate, getAssetPath, getElement, getMode, getRenderingRef, getShadowRoot, h, jsx, jsxs, readTask, render, resolveVar, setAssetPath, setErrorHandler, setMode, setNonce, setPlatformHelpers, setTagTransformer, transformTag, writeTask };
1982
+ export { AttachInternals, AttachInternalsDecorator, AttachInternalsOptions, AttrDeserialize, AttrDeserializeDecorator, Build, ChildNode, Component, ComponentDecorator, ComponentDidLoad, ComponentDidUpdate, ComponentInterface, ComponentOptions, ComponentWillLoad, ComponentWillUpdate, CustomElementsDefineOptions, Element, ElementDecorator, EncapsulationOptions, Env, ErrorHandler, Event, EventDecorator, EventEmitter, EventOptions, Fragment, FunctionalComponent, FunctionalUtilities, HTMLStencilElement, Host, HostAttributes, LocalJSX as JSX, JSXAttributes, JSXBase, Listen, ListenDecorator, ListenOptions, ListenTargetOptions, Method, MethodDecorator, MethodOptions, MixedInCtor, Mixin, ModeStyles, NoneEncapsulation, Prop, PropDecorator, PropOptions, PropSerialize, PropSerializeDecorator, QueueApi, RafCallback, ResolutionHandler, ResolveVarFunction, ScopedEncapsulation, ShadowEncapsulation, ShadowRootOptions, SignalRef, SlotPatch, State, StateDecorator, TagTransformer, UserBuildConditionals, VNode, VNodeData, Watch, WatchDecorator, forceUpdate, getAssetPath, getElement, getMode, getRenderingRef, getShadowRoot, h, jsx, jsxs, readTask, render, resolveVar, setAssetPath, setErrorHandler, setMode, setNonce, setPlatformHelpers, setTagTransformer, transformTag, writeTask };
@@ -96,6 +96,14 @@ interface ComponentInterface {
96
96
  render?(): any;
97
97
  [memberName: string]: any;
98
98
  }
99
+ /**
100
+ * Minimal interface matched by signal objects (from @stencil/core/signals).
101
+ * Used in JSX attribute types.
102
+ */
103
+ interface SignalRef<T = any> {
104
+ readonly value: T;
105
+ peek(): T;
106
+ }
99
107
  /**
100
108
  * Utilities for working with functional Stencil components. An object
101
109
  * conforming to this interface is passed by the Stencil runtime as the third
@@ -137,7 +145,7 @@ interface FunctionalUtilities {
137
145
  map: (children: VNode[], cb: (vnode: ChildNode$1, index: number, array: ChildNode$1[]) => ChildNode$1) => VNode[];
138
146
  }
139
147
  interface FunctionalComponent<T = {}> {
140
- (props: T, children: VNode[], utils: FunctionalUtilities): VNode | VNode[] | null;
148
+ (props: T, children: VNode[], utils: FunctionalUtilities): VNode | null;
141
149
  }
142
150
  /**
143
151
  * A Child VDOM node
@@ -148,7 +156,7 @@ interface FunctionalComponent<T = {}> {
148
156
  * {@link FunctionalUtilities}).
149
157
  */
150
158
  interface ChildNode$1 {
151
- vtag?: string | number | Function;
159
+ vtag?: string | number | Function | symbol | null;
152
160
  vkey?: string | number;
153
161
  vtext?: string;
154
162
  vchildren?: VNode[];
@@ -160,13 +168,15 @@ interface ChildNode$1 {
160
168
  */
161
169
  interface VNode {
162
170
  $flags$: number;
163
- $tag$: string | number | Function;
171
+ $tag$: string | number | Function | symbol | null;
164
172
  $elm$: any;
165
173
  $text$: string;
166
174
  $children$: VNode[];
167
175
  $attrs$?: any;
168
176
  $name$?: string;
169
177
  $key$?: string | number;
178
+ /** Signal reference for vdom bypass: signal text nodes store the signal here. */
179
+ $signal$?: any;
170
180
  }
171
181
  declare namespace JSXBase {
172
182
  interface IntrinsicElements {
@@ -802,7 +812,7 @@ declare namespace JSXBase {
802
812
  autofocus?: boolean | string;
803
813
  class?: string | {
804
814
  [className: string]: boolean;
805
- };
815
+ } | SignalRef<string>;
806
816
  contentEditable?: boolean | string;
807
817
  contenteditable?: boolean | string;
808
818
  contextMenu?: string;
@@ -861,7 +871,7 @@ declare namespace JSXBase {
861
871
  interface SVGAttributes<T = SVGElement> extends DOMAttributes<T> {
862
872
  class?: string | {
863
873
  [className: string]: boolean;
864
- };
874
+ } | SignalRef<string>;
865
875
  color?: string;
866
876
  height?: number | string;
867
877
  id?: string;
@@ -1262,10 +1272,13 @@ declare namespace JSXBase {
1262
1272
  interface JSXAttributes<T = Element$1> {
1263
1273
  key?: string | number;
1264
1274
  ref?: (elm?: T) => void;
1275
+ children?: any;
1265
1276
  }
1266
1277
  interface CustomElementsDefineOptions {
1267
1278
  exclude?: string[];
1268
1279
  syncQueue?: boolean;
1280
+ /** Scoped custom element registry to define components in. Defaults to the global registry. */
1281
+ registry?: CustomElementRegistry;
1269
1282
  jmp?: (c: Function) => any;
1270
1283
  raf?: (c: FrameRequestCallback) => number;
1271
1284
  ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
@@ -1302,6 +1315,7 @@ interface BuildFeatures {
1302
1315
  vdomStyle: boolean;
1303
1316
  vdomText: boolean;
1304
1317
  vdomXlink: boolean;
1318
+ vdomSignals: boolean;
1305
1319
  slotRelocation: boolean;
1306
1320
  patchAll: boolean;
1307
1321
  patchChildren: boolean;
@@ -1348,20 +1362,27 @@ interface BuildConditionals extends Partial<BuildFeatures> {
1348
1362
  lazyLoad?: boolean;
1349
1363
  profile?: boolean;
1350
1364
  constructableCSS?: boolean;
1351
- appendChildSlotFix?: boolean;
1352
- slotChildNodesFix?: boolean;
1353
- scopedSlotTextContentFix?: boolean;
1354
- cloneNodeFix?: boolean;
1365
+ /** True when `compat.lightDomPatches === true` - enables `applyLightDomPatches` shortcut. */
1366
+ lightDomPatches?: boolean;
1367
+ /** Patch `childNodes`/`children` getters on light-dom slotted components. */
1368
+ slotChildNodes?: boolean;
1369
+ /** Patch `cloneNode()` on light-dom slotted components. */
1370
+ slotCloneNode?: boolean;
1371
+ /** Patch `appendChild`/`insertBefore`/`removeChild` on light-dom slotted components. */
1372
+ slotDomMutations?: boolean;
1373
+ /** Patch `textContent` on light-dom slotted components. */
1374
+ slotTextContent?: boolean;
1355
1375
  hydratedAttribute?: boolean;
1356
1376
  hydratedClass?: boolean;
1357
1377
  hydratedSelectorName?: string;
1378
+ /** True when a global-style input contains `@import "stencil-hydrate"` - suppresses dynamic style injection in the loader. */
1379
+ staticHydrationStyles?: boolean;
1358
1380
  initializeNextTick?: boolean;
1359
- shadowDomShim?: boolean;
1360
1381
  asyncQueue?: boolean;
1361
1382
  additionalTagTransformers?: boolean | 'prod';
1362
- attachStyles?: boolean;
1363
- experimentalSlotFixes?: boolean;
1364
- experimentalScopedSlotChanges?: boolean;
1383
+ signalBacking?: boolean;
1384
+ /** True when JSX signal bypass is active - text nodes and attributes backed by Signal objects update the DOM directly. Auto-enabled when `signalBacking: true`. */
1385
+ vdomSignals?: boolean;
1365
1386
  }
1366
1387
  interface ComponentConstructor {
1367
1388
  is?: string;
@@ -1426,7 +1447,7 @@ interface HostElement extends HTMLElement {
1426
1447
  disconnectedCallback?: () => void;
1427
1448
  host?: Element;
1428
1449
  forceUpdate?: () => void;
1429
- __stencil__getHostRef?: () => HostRef;
1450
+ __s_ghr?: () => HostRef;
1430
1451
  /**
1431
1452
  * Unique stencil id for this element
1432
1453
  */
@@ -1574,61 +1595,61 @@ interface RenderNode extends HostElement {
1574
1595
  ['s-en']?: '' | /*shadow*/'c';
1575
1596
  /**
1576
1597
  * On a `scoped: true` component
1577
- * with `experimentalSlotFixes` flag enabled,
1598
+ * with `lightDomPatches` flag enabled,
1578
1599
  * returns the internal `childNodes` of the component
1579
1600
  */
1580
1601
  readonly __childNodes?: NodeListOf<ChildNode>;
1581
1602
  /**
1582
1603
  * On a `scoped: true` component
1583
- * with `experimentalSlotFixes` flag enabled,
1604
+ * with `lightDomPatches` flag enabled,
1584
1605
  * returns the internal `children` of the component
1585
1606
  */
1586
1607
  readonly __children?: HTMLCollectionOf<Element>;
1587
1608
  /**
1588
1609
  * On a `scoped: true` component
1589
- * with `experimentalSlotFixes` flag enabled,
1610
+ * with `lightDomPatches` flag enabled,
1590
1611
  * returns the internal `firstChild` of the component
1591
1612
  */
1592
1613
  readonly __firstChild?: ChildNode;
1593
1614
  /**
1594
1615
  * On a `scoped: true` component
1595
- * with `experimentalSlotFixes` flag enabled,
1616
+ * with `lightDomPatches` flag enabled,
1596
1617
  * returns the internal `lastChild` of the component
1597
1618
  */
1598
1619
  readonly __lastChild?: ChildNode;
1599
1620
  /**
1600
1621
  * On a `scoped: true` component
1601
- * with `experimentalSlotFixes` flag enabled,
1622
+ * with `lightDomPatches` flag enabled,
1602
1623
  * returns the internal `textContent` of the component
1603
1624
  */
1604
1625
  __textContent?: string;
1605
1626
  /**
1606
1627
  * On a `scoped: true` component
1607
- * with `experimentalSlotFixes` flag enabled,
1628
+ * with `lightDomPatches` flag enabled,
1608
1629
  * gives access to the original `append` method
1609
1630
  */
1610
1631
  __append?: (...nodes: (Node | string)[]) => void;
1611
1632
  /**
1612
1633
  * On a `scoped: true` component
1613
- * with `experimentalSlotFixes` flag enabled,
1634
+ * with `lightDomPatches` flag enabled,
1614
1635
  * gives access to the original `prepend` method
1615
1636
  */
1616
1637
  __prepend?: (...nodes: (Node | string)[]) => void;
1617
1638
  /**
1618
1639
  * On a `scoped: true` component
1619
- * with `experimentalSlotFixes` flag enabled,
1640
+ * with `lightDomPatches` flag enabled,
1620
1641
  * gives access to the original `appendChild` method
1621
1642
  */
1622
1643
  __appendChild?: <T extends Node>(newChild: T) => T;
1623
1644
  /**
1624
1645
  * On a `scoped: true` component
1625
- * with `experimentalSlotFixes` flag enabled,
1646
+ * with `lightDomPatches` flag enabled,
1626
1647
  * gives access to the original `insertBefore` method
1627
1648
  */
1628
1649
  __insertBefore?: <T extends Node>(node: T, child: Node | null) => T;
1629
1650
  /**
1630
1651
  * On a `scoped: true` component
1631
- * with `experimentalSlotFixes` flag enabled,
1652
+ * with `lightDomPatches` flag enabled,
1632
1653
  * gives access to the original `removeChild` method
1633
1654
  */
1634
1655
  __removeChild?: <T extends Node>(child: T) => T;
@@ -1666,31 +1687,31 @@ interface PatchedSlotNode extends Node {
1666
1687
  ['s-sr']?: boolean;
1667
1688
  /**
1668
1689
  * On a `scoped: true` component
1669
- * with `experimentalSlotFixes` flag enabled,
1690
+ * with `lightDomPatches` flag enabled,
1670
1691
  * returns the actual `parentNode` of the component
1671
1692
  */
1672
1693
  __parentNode?: RenderNode;
1673
1694
  /**
1674
1695
  * On a `scoped: true` component
1675
- * with `experimentalSlotFixes` flag enabled,
1696
+ * with `lightDomPatches` flag enabled,
1676
1697
  * returns the actual `nextSibling` of the component
1677
1698
  */
1678
1699
  __nextSibling?: RenderNode;
1679
1700
  /**
1680
1701
  * On a `scoped: true` component
1681
- * with `experimentalSlotFixes` flag enabled,
1702
+ * with `lightDomPatches` flag enabled,
1682
1703
  * returns the actual `previousSibling` of the component
1683
1704
  */
1684
1705
  __previousSibling?: RenderNode;
1685
1706
  /**
1686
1707
  * On a `scoped: true` component
1687
- * with `experimentalSlotFixes` flag enabled,
1708
+ * with `lightDomPatches` flag enabled,
1688
1709
  * returns the actual `nextElementSibling` of the component
1689
1710
  */
1690
1711
  __nextElementSibling?: RenderNode;
1691
1712
  /**
1692
1713
  * On a `scoped: true` component
1693
- * with `experimentalSlotFixes` flag enabled,
1714
+ * with `lightDomPatches` flag enabled,
1694
1715
  * returns the actual `nextElementSibling` of the component
1695
1716
  */
1696
1717
  __previousElementSibling?: RenderNode;
@@ -1791,7 +1812,7 @@ type ComponentRuntimeReflectingAttr = [string, string | undefined];
1791
1812
  * associated {@link HostRef} instance.
1792
1813
  */
1793
1814
  type RuntimeRef = HostElement | {
1794
- __stencil__getHostRef?: () => HostRef;
1815
+ __s_ghr?: () => HostRef;
1795
1816
  };
1796
1817
  /**
1797
1818
  * Interface used to track an Element, it's virtual Node (`VNode`), and other data
@@ -1802,6 +1823,9 @@ interface HostRef {
1802
1823
  $cmpMeta$: ComponentRuntimeMeta;
1803
1824
  $hostElement$: HostElement;
1804
1825
  $instanceValues$?: Map<string, any>;
1826
+ $signalValues$?: Map<string, import('@preact/signals-core').Signal<any>>;
1827
+ /** Dispose function that tears down all signal effects for this component. */
1828
+ $signalCleanup$?: () => void;
1805
1829
  $serializerValues$?: Map<string, string>;
1806
1830
  $lazyInstance$?: ComponentInterface;
1807
1831
  /**
@@ -1888,4 +1912,31 @@ interface PlatformRuntime {
1888
1912
  }
1889
1913
  type ChildType = VNode | number | string;
1890
1914
  //#endregion
1891
- export { JSXBase as _, ComponentRuntimeHostListener as a, VNode as b, HostElement as c, PlatformRuntime as d, RenderNode as f, HTMLStencilElement as g, FunctionalComponent as h, ComponentConstructorChangeHandlers as i, HostRef as l, CustomElementsDefineOptions as m, ChildType as n, ComponentRuntimeMeta as o, RuntimeRef as p, ComponentConstructor as r, ComponentRuntimeMetaCompact as s, BuildConditionals as t, LazyBundlesRuntimeData as u, ResolutionHandler as v, TagTransformer as y };
1915
+ //#region src/app-data/index.d.ts
1916
+ /**
1917
+ * A collection of default build flags for a Stencil project.
1918
+ *
1919
+ * This collection can be found throughout the Stencil codebase, often imported from the `virtual:app-data` module like so:
1920
+ * ```ts
1921
+ * import { BUILD } from 'virtual:app-data';
1922
+ * ```
1923
+ * and is used to determine if a portion of the output of a Stencil _project_'s compilation step can be eliminated.
1924
+ *
1925
+ * e.g. When `BUILD.allRenderFn` evaluates to `false`, the compiler will eliminate conditional statements like:
1926
+ * ```ts
1927
+ * if (BUILD.allRenderFn) {
1928
+ * // some code that will be eliminated if BUILD.allRenderFn is false
1929
+ * }
1930
+ * ```
1931
+ *
1932
+ * `virtual:app-data`, the module that `BUILD` is imported from, is an alias for the `@stencil/core/runtime/app-data`, and is
1933
+ * partially referenced by {@link STENCIL_APP_DATA_ID}. The `src/compiler/bundle/app-data-plugin.ts` references
1934
+ * `STENCIL_APP_DATA_ID` uses it to replace these defaults with {@link BuildConditionals} that are derived from a
1935
+ * Stencil project's contents (i.e. metadata from the components). This replacement happens at a Stencil project's
1936
+ * compile time. Such code can be found at `src/compiler/app-core/app-data.ts`.
1937
+ */
1938
+ declare const BUILD: BuildConditionals;
1939
+ declare const Env: {};
1940
+ declare const NAMESPACE: string;
1941
+ //#endregion
1942
+ export { VNode as S, FunctionalComponent as _, ComponentConstructor as a, ResolutionHandler as b, ComponentRuntimeMeta as c, HostRef as d, LazyBundlesRuntimeData as f, CustomElementsDefineOptions as g, RuntimeRef as h, ChildType as i, ComponentRuntimeMetaCompact as l, RenderNode as m, Env as n, ComponentConstructorChangeHandlers as o, PlatformRuntime as p, NAMESPACE as r, ComponentRuntimeHostListener as s, BUILD as t, HostElement as u, HTMLStencilElement as v, TagTransformer as x, JSXBase as y };