@stencil/core 5.0.0-alpha.4 → 5.0.0-alpha.6

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 (44) hide show
  1. package/dist/{client-Dti6fFpE.mjs → client-fWOou5EW.mjs} +2360 -2090
  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-BYRrEeD-.mjs → compiler-CdUbDTbV.mjs} +13426 -12276
  7. package/dist/declarations/stencil-public-compiler.d.ts +527 -238
  8. package/dist/declarations/stencil-public-compiler.js +2 -3
  9. package/dist/declarations/stencil-public-docs.d.ts +10 -0
  10. package/dist/declarations/stencil-public-runtime.d.ts +51 -12
  11. package/dist/{index-BwTaN1Nq.d.mts → index-D8vvsppY.d.mts} +566 -350
  12. package/dist/{index-CyrGY82h.d.ts → index-Dap2E02-.d.ts} +83 -32
  13. package/dist/{index-9LTuoSiw.d.mts → index-UUlemGuu.d.mts} +13 -2
  14. package/dist/index.d.mts +0 -1
  15. package/dist/index.mjs +1 -1
  16. package/dist/jsx-runtime.d.mts +18 -0
  17. package/dist/jsx-runtime.mjs +2 -0
  18. package/dist/{node-BF2jSfWg.mjs → node-klLZLdDe.mjs} +20 -19
  19. package/dist/{regular-expression-D5pGVpCu.mjs → regular-expression-DUdhF3Ei.mjs} +113 -29
  20. package/dist/runtime/app-data/index.d.ts +1 -1
  21. package/dist/runtime/app-data/index.js +15 -9
  22. package/dist/{runtime-COEYYPyw.js → runtime/client/lazy.js} +2596 -2182
  23. package/dist/runtime/client/{index.d.ts → runtime.d.ts} +89 -47
  24. package/dist/runtime/client/{index.js → runtime.js} +2473 -2183
  25. package/dist/runtime/index.d.ts +46 -5
  26. package/dist/runtime/index.js +4956 -2
  27. package/dist/runtime/server/index.d.mts +85 -63
  28. package/dist/runtime/server/index.mjs +2462 -2193
  29. package/dist/runtime/server/runner.d.mts +44 -32
  30. package/dist/runtime/server/runner.mjs +335 -383
  31. package/dist/signals/index.d.ts +47 -0
  32. package/dist/signals/index.js +199 -0
  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 +97 -3
  37. package/dist/testing/index.mjs +197 -45
  38. package/dist/{validation-Byxie0Uk.mjs → validation-2QipI30K.mjs} +90 -77
  39. package/package.json +41 -28
  40. package/dist/index-hS-KBdAP.d.ts +0 -30
  41. package/dist/jsx-runtime-DlDkTqps.d.ts +0 -28
  42. package/dist/jsx-runtime.d.ts +0 -2
  43. package/dist/jsx-runtime.js +0 -2
  44. /package/dist/{chunk-CjcI7cDX.mjs → chunk-z9aeyW2b.mjs} +0 -0
@@ -44,7 +44,6 @@ const HOST_FLAGS = {
44
44
  devOnDidLoad: 2048
45
45
  };
46
46
  const CF_scopedCssEncapsulation = 2;
47
- const CF_needsShadowDomShim = 8;
48
47
  /**
49
48
  * A set of flags used for bitwise calculations against {@link ComponentRuntimeMeta#$flags$}.
50
49
  *
@@ -52,22 +51,81 @@ const CF_needsShadowDomShim = 8;
52
51
  * They should _not_ be used for calculations against other fields/numbers
53
52
  */
54
53
  const CMP_FLAGS = {
54
+ /**
55
+ * Used to determine if a component is using the shadow DOM.
56
+ * e.g. `shadow: true | {}` is set on the `@Component()` decorator
57
+ */
55
58
  shadowDomEncapsulation: 1,
59
+ /**
60
+ * Used to determine if a component is using scoped stylesheets
61
+ * e.g. `scoped: true` is set on the `@Component()` decorator
62
+ */
56
63
  scopedCssEncapsulation: CF_scopedCssEncapsulation,
64
+ /**
65
+ * Used to determine if a component does not use the shadow DOM _and_ has `<slot/>` tags in its markup.
66
+ */
57
67
  hasSlotRelocation: 4,
58
- needsShadowDomShim: CF_needsShadowDomShim,
68
+ /**
69
+ * Determines if `delegatesFocus` is enabled for a component that uses the shadow DOM.
70
+ * e.g. `shadow: { delegatesFocus: true }` is set on the `@Component()` decorator
71
+ */
59
72
  shadowDelegatesFocus: 16,
73
+ /**
74
+ * Determines if `mode` is set on the `@Component()` decorator
75
+ */
60
76
  hasMode: 32,
61
- needsScopedEncapsulation: CF_scopedCssEncapsulation | CF_needsShadowDomShim,
77
+ /**
78
+ * Determines if styles must be scoped - i.e. the component uses scoped stylesheets.
79
+ */
80
+ needsScopedEncapsulation: CF_scopedCssEncapsulation,
81
+ /**
82
+ * Determines if a component is form-associated or not. This is set based on
83
+ * options passed to the `@Component` decorator.
84
+ */
62
85
  formAssociated: 64,
86
+ /**
87
+ * Determines if a `shadow: true` component needs
88
+ * to have its styles scoped during SSR as opposed to using DSD.
89
+ */
63
90
  shadowNeedsScopedCss: 128,
91
+ /**
92
+ * Determines if a component has a `<slot>` in its template.
93
+ */
64
94
  hasSlot: 256,
95
+ /**
96
+ * Determines if a component uses modern class property declarations.
97
+ */
65
98
  hasModernPropertyDecls: 512,
99
+ /**
100
+ * Determines if `slotAssignment` is set to `'manual'` for a component that uses the shadow DOM.
101
+ * e.g. `shadow: { slotAssignment: 'manual' }` is set on the `@Component()` decorator
102
+ */
66
103
  shadowSlotAssignmentManual: 1024,
104
+ /**
105
+ * Determines if the shadow DOM mode is 'closed'.
106
+ * e.g. `encapsulation: { type: 'shadow', mode: 'closed' }` is set on the `@Component()` decorator
107
+ */
67
108
  shadowModeClosed: 2048,
109
+ /**
110
+ * Determines if the component should patch child node accessors for slot handling.
111
+ * e.g. `encapsulation: { type: 'none', patches: ['children'] }`
112
+ */
68
113
  patchChildren: 4096,
114
+ /**
115
+ * Determines if the component should patch cloneNode() for slot handling.
116
+ * e.g. `encapsulation: { type: 'none', patches: ['clone'] }`
117
+ */
69
118
  patchClone: 8192,
119
+ /**
120
+ * Determines if the component should patch appendChild/insertBefore for slot handling.
121
+ * e.g. `encapsulation: { type: 'none', patches: ['insert'] }`
122
+ */
70
123
  patchInsert: 16384,
124
+ /**
125
+ * Determines if the component should apply all slot patches.
126
+ * e.g. `encapsulation: { type: 'none', patches: ['all'] }`
127
+ * Equivalent to the global `experimentalSlotFixes` config option.
128
+ */
71
129
  patchAll: 32768
72
130
  };
73
131
  /**
@@ -84,6 +142,7 @@ const XLINK_NS = "http://www.w3.org/1999/xlink";
84
142
  * File names and value
85
143
  */
86
144
  const COLLECTION_MANIFEST_FILE_NAME = "collection-manifest.json";
145
+ const COLLECTION_APP_DATA_FILE_NAME = "app-data.js";
87
146
  /**
88
147
  * Constant for the 'copy' output target
89
148
  */
@@ -93,37 +152,54 @@ const COPY = "copy";
93
152
  */
94
153
  const CUSTOM = "custom";
95
154
  /**
96
- * Constant for the 'dist' output target
155
+ * Constant for the 'loader-bundle' output target
156
+ * (formerly 'dist' in v4)
97
157
  */
98
- const DIST = "dist";
158
+ const LOADER_BUNDLE = "loader-bundle";
99
159
  /**
100
- * Constant for the 'dist-collection' output target
160
+ * Constant for the 'standalone' output target
161
+ * (formerly 'dist-custom-elements' in v4)
101
162
  */
102
- const DIST_COLLECTION = "dist-collection";
163
+ const STANDALONE = "standalone";
103
164
  /**
104
- * Constant for the 'dist-custom-elements' output target
165
+ * Constant for the 'ssr' output target
166
+ * (formerly 'dist-hydrate-script' in v4)
105
167
  */
106
- const DIST_CUSTOM_ELEMENTS = "dist-custom-elements";
168
+ const SSR = "ssr";
107
169
  /**
108
- * Constant for the 'dist-types' output target
170
+ * Constant for the 'ssr-wasm' output target.
171
+ * Compiles the SSR script to a WASM binary via javy for use in any WASM-capable host
172
+ * (PHP, Java, Ruby, Go, etc.) without requiring a JavaScript runtime.
109
173
  */
110
- const DIST_TYPES = "dist-types";
174
+ const SSR_WASM = "ssr-wasm";
111
175
  /**
112
- * Constant for the 'dist-hydrate-script' output target
176
+ * Constant for the 'collection' output target
177
+ * (formerly 'dist-collection' sub-output in v4)
178
+ *
179
+ * Contains transpiled source + metadata for downstream Stencil projects
180
+ * to re-compile/bundle.
113
181
  */
114
- const DIST_HYDRATE_SCRIPT = "dist-hydrate-script";
182
+ const STENCIL_REBUNDLE = "collection";
115
183
  /**
116
- * Constant for the 'dist-lazy' output target
184
+ * Constant for the 'types' output target
185
+ * (formerly 'dist-types' sub-output in v4)
117
186
  */
118
- const DIST_LAZY = "dist-lazy";
187
+ const TYPES = "types";
188
+ /**
189
+ * Constant for the 'global-style' output target
190
+ * Outputs global styles to a unified location available to all distributions.
191
+ */
192
+ const GLOBAL_STYLE = "global-style";
119
193
  /**
120
- * Constant for the 'dist-lazy-loader' output target
194
+ * Constant for the 'assets' output target
195
+ * Copies component assetsDirs to a unified location available to all distributions.
121
196
  */
122
- const DIST_LAZY_LOADER = "dist-lazy-loader";
197
+ const ASSETS = "assets";
123
198
  /**
124
- * Constant for the 'dist-global-styles' output target
199
+ * Internal constant for the 'dist-lazy' output target
200
+ * (used by loader-bundle and www)
125
201
  */
126
- const DIST_GLOBAL_STYLES = "dist-global-styles";
202
+ const DIST_LAZY = "dist-lazy";
127
203
  /**
128
204
  * Constant for the 'docs-custom' output target
129
205
  */
@@ -155,18 +231,26 @@ const WWW = "www";
155
231
  /**
156
232
  * Valid output targets to specify in a Stencil config.
157
233
  *
158
- * Note that there are some output targets (e.g. `DIST_TYPES`) which are
159
- * programmatically set as output targets by the compiler when other output
160
- * targets (in that case `DIST`) are set, but which are _not_ supported in a
161
- * Stencil config. This is enforced in the output target validation code.
234
+ * Note that some internal output targets (e.g. `DIST_LAZY`, `DIST_GLOBAL_STYLES`)
235
+ * are programmatically created by the compiler and are not user-configurable.
236
+ *
237
+ * In v5, `TYPES` and `STENCIL_REBUNDLE` are auto-generated in production builds unless explicitly configured.
162
238
  */
163
239
  const VALID_CONFIG_OUTPUT_TARGETS = [
164
240
  "www",
165
- DIST,
166
- DIST_COLLECTION,
167
- DIST_CUSTOM_ELEMENTS,
168
- DIST_LAZY,
169
- DIST_HYDRATE_SCRIPT,
241
+ LOADER_BUNDLE,
242
+ STANDALONE,
243
+ "ssr",
244
+ SSR_WASM,
245
+ STENCIL_REBUNDLE,
246
+ TYPES,
247
+ GLOBAL_STYLE,
248
+ ASSETS,
249
+ "dist",
250
+ "dist-custom-elements",
251
+ "dist-hydrate-script",
252
+ "dist-collection",
253
+ "dist-types",
170
254
  DOCS_JSON,
171
255
  DOCS_README,
172
256
  DOCS_VSCODE,
@@ -412,4 +496,4 @@ const escapeRegExpSpecialCharacters = (text) => {
412
496
  return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
413
497
  };
414
498
  //#endregion
415
- export { XLINK_NS as $, DIST_CUSTOM_ELEMENTS as A, DOCS_VSCODE as B, CMP_FLAGS as C, DEFAULT_STYLE_MODE as D, CUSTOM as E, DIST_TYPES as F, LISTENER_FLAGS as G, GENERATED_DTS as H, DOCS_CUSTOM as I, STATS as J, MEMBER_FLAGS as K, DOCS_CUSTOM_ELEMENTS_MANIFEST as L, DIST_HYDRATE_SCRIPT as M, DIST_LAZY as N, DIST as O, DIST_LAZY_LOADER as P, WWW as Q, DOCS_JSON as R, queryNonceMetaTagContent as S, COPY as T, HOST_FLAGS as U, EVENT_FLAGS as V, HTML_NS as W, VALID_CONFIG_OUTPUT_TARGETS as X, SVG_NS as Y, WATCH_FLAGS as Z, sortBy as _, fromEntries as a, toTitleCase as b, isDef as c, isNumber as d, isObject as f, pluck as g, noop as h, flatOne as i, DIST_GLOBAL_STYLES as j, DIST_COLLECTION as k, isFunction as l, mergeIntoWith as m, dashToPascalCase as n, isBoolean as o, isString as p, NODE_TYPES as q, escapeWithPattern as r, isComplexType as s, escapeRegExpSpecialCharacters as t, isIterable as u, toCamelCase as v, COLLECTION_MANIFEST_FILE_NAME as w, unique as x, toDashCase as y, DOCS_README as z };
499
+ export { WATCH_FLAGS as $, DIST_LAZY as A, HTML_NS as B, ASSETS as C, COPY as D, COLLECTION_MANIFEST_FILE_NAME as E, DOCS_VSCODE as F, SSR as G, LOADER_BUNDLE as H, EVENT_FLAGS as I, STATS as J, SSR_WASM as K, GENERATED_DTS as L, DOCS_CUSTOM_ELEMENTS_MANIFEST as M, DOCS_JSON as N, CUSTOM as O, DOCS_README as P, VALID_CONFIG_OUTPUT_TARGETS as Q, GLOBAL_STYLE as R, queryNonceMetaTagContent as S, COLLECTION_APP_DATA_FILE_NAME as T, MEMBER_FLAGS as U, LISTENER_FLAGS as V, NODE_TYPES as W, SVG_NS as X, STENCIL_REBUNDLE as Y, TYPES as Z, sortBy as _, fromEntries as a, toTitleCase as b, isDef as c, isNumber as d, WWW as et, isObject as f, pluck as g, noop as h, flatOne as i, DOCS_CUSTOM as j, DEFAULT_STYLE_MODE as k, isFunction as l, mergeIntoWith as m, dashToPascalCase as n, isBoolean as o, isString as p, STANDALONE as q, escapeWithPattern as r, isComplexType as s, escapeRegExpSpecialCharacters as t, XLINK_NS as tt, isIterable as u, toCamelCase as v, CMP_FLAGS as w, unique as x, toDashCase as y, HOST_FLAGS as z };
@@ -1,2 +1,2 @@
1
- import { n as Env, r as NAMESPACE, t as BUILD } from "../../index-hS-KBdAP.js";
1
+ import { n as Env, r as NAMESPACE, t as BUILD } from "../../index-Dap2E02-.js";
2
2
  export { BUILD, Env, NAMESPACE };
@@ -45,7 +45,7 @@ const BUILD = {
45
45
  cssAnnotations: true,
46
46
  state: true,
47
47
  style: true,
48
- formAssociated: false,
48
+ formAssociated: true,
49
49
  svg: true,
50
50
  updatable: true,
51
51
  vdomAttribute: true,
@@ -61,6 +61,13 @@ const BUILD = {
61
61
  vdomText: true,
62
62
  propChangeCallback: true,
63
63
  taskQueue: true,
64
+ lifecycle: true,
65
+ serializer: true,
66
+ deserializer: true,
67
+ patchAll: true,
68
+ patchChildren: true,
69
+ patchClone: true,
70
+ patchInsert: true,
64
71
  hotModuleReplacement: false,
65
72
  isDebug: false,
66
73
  isDev: false,
@@ -71,14 +78,15 @@ const BUILD = {
71
78
  lazyLoad: false,
72
79
  profile: false,
73
80
  slotRelocation: true,
74
- appendChildSlotFix: false,
75
- cloneNodeFix: false,
81
+ lightDomPatches: true,
82
+ slotChildNodes: true,
83
+ slotCloneNode: true,
84
+ slotDomMutations: true,
85
+ slotTextContent: true,
76
86
  hydratedAttribute: false,
77
87
  hydratedClass: true,
78
- scopedSlotTextContentFix: false,
79
- shadowDomShim: false,
80
- slotChildNodesFix: false,
81
88
  invisiblePrehydration: true,
89
+ staticHydrationStyles: false,
82
90
  propBoolean: true,
83
91
  propNumber: true,
84
92
  propString: true,
@@ -88,9 +96,7 @@ const BUILD = {
88
96
  shadowSlotAssignmentManual: false,
89
97
  initializeNextTick: false,
90
98
  asyncLoading: true,
91
- asyncQueue: false,
92
- attachStyles: true,
93
- experimentalSlotFixes: false
99
+ asyncQueue: false
94
100
  };
95
101
  const Env = {};
96
102
  const NAMESPACE = "app";