@stencil/core 2.9.0 → 2.12.0
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.
- package/cli/index.cjs +16 -5
- package/cli/index.js +16 -5
- package/cli/package.json +1 -1
- package/compiler/lib.dom.d.ts +263 -648
- package/compiler/lib.dom.iterable.d.ts +1 -5
- package/compiler/lib.es2015.core.d.ts +2 -2
- package/compiler/lib.es2015.iterable.d.ts +1 -1
- package/compiler/lib.es2015.symbol.wellknown.d.ts +10 -10
- package/compiler/lib.es2018.asynciterable.d.ts +1 -1
- package/compiler/lib.es2020.bigint.d.ts +1 -1
- package/compiler/lib.es2020.intl.d.ts +6 -7
- package/compiler/lib.es2020.symbol.wellknown.d.ts +1 -1
- package/compiler/lib.es2021.d.ts +24 -0
- package/compiler/lib.es2021.full.d.ts +25 -0
- package/compiler/lib.es2021.promise.d.ts +43 -0
- package/compiler/lib.es2021.string.d.ts +35 -0
- package/compiler/lib.es2021.weakref.d.ts +75 -0
- package/compiler/lib.es5.d.ts +9 -9
- package/compiler/lib.esnext.d.ts +1 -4
- package/compiler/lib.esnext.promise.d.ts +26 -26
- package/compiler/lib.esnext.string.d.ts +18 -18
- package/compiler/lib.esnext.weakref.d.ts +58 -58
- package/compiler/lib.webworker.d.ts +98 -153
- package/compiler/lib.webworker.iterable.d.ts +1 -1
- package/compiler/package.json +1 -1
- package/compiler/stencil.js +497 -725
- package/compiler/stencil.min.js +2 -2
- package/dependencies.json +6 -1
- package/dev-server/client/index.js +1 -1
- package/dev-server/client/package.json +1 -1
- package/dev-server/connector.html +2 -2
- package/dev-server/index.js +1 -1
- package/dev-server/package.json +1 -1
- package/dev-server/server-process.js +2 -2
- package/internal/app-data/package.json +1 -1
- package/internal/client/css-shim.js +1 -1
- package/internal/client/dom.js +1 -1
- package/internal/client/index.js +119 -102
- package/internal/client/package.json +1 -1
- package/internal/client/patch-browser.js +1 -1
- package/internal/client/patch-esm.js +1 -1
- package/internal/client/shadow-css.js +9 -10
- package/internal/hydrate/index.js +44 -40
- package/internal/hydrate/package.json +1 -1
- package/internal/hydrate/shadow-css.js +59 -62
- package/internal/index.js +1 -0
- package/internal/package.json +1 -1
- package/internal/stencil-public-compiler.d.ts +1 -1
- package/internal/testing/index.js +54 -47
- package/internal/testing/package.json +1 -1
- package/internal/testing/shadow-css.js +54 -57
- package/mock-doc/index.cjs +5 -2
- package/mock-doc/index.d.ts +6 -6
- package/mock-doc/index.js +5 -2
- package/mock-doc/package.json +1 -1
- package/package.json +17 -9
- package/screenshot/index.js +1 -1
- package/screenshot/package.json +1 -1
- package/sys/node/autoprefixer.js +2 -2
- package/sys/node/index.js +1 -1
- package/sys/node/package.json +1 -1
- package/sys/node/worker.js +1 -1
- package/testing/index.js +84 -73
- package/testing/jest/jest-environment.d.ts +1 -0
- package/testing/jest/jest-preprocessor.d.ts +56 -8
- package/testing/jest-preset.js +5 -0
- package/testing/mocks.d.ts +1 -5
- package/testing/package.json +1 -1
- package/testing/testing-sys.d.ts +6 -1
- package/screenshot/index.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)", _cssColonHostRe = new RegExp("(-shadowcsshost" + _parenSuffix, "gim"), _cssColonHostContextRe = new RegExp("(-shadowcsscontext" + _parenSuffix, "gim"), _cssColonSlottedRe = new RegExp("(-shadowcssslotted" + _parenSuffix, "gim"), _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/, _shadowDOMSelectorsRe = [ /::shadow/g, /::content/g ], _polyfillHostRe = /-shadowcsshost/gim, _colonHostRe = /:host/gim, _colonSlottedRe = /::slotted/gim, _colonHostContextRe = /:host-context/gim, _commentRe = /\/\*\s*[\s\S]*?\*\//g, _commentWithHashRe = /\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g, _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g, _curlyRe = /([{}])/g, processRules = (e, t) => {
|
|
2
|
-
const
|
|
3
|
-
let
|
|
4
|
-
return
|
|
1
|
+
const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)", _cssColonHostRe = new RegExp("(-shadowcsshost" + _parenSuffix, "gim"), _cssColonHostContextRe = new RegExp("(-shadowcsscontext" + _parenSuffix, "gim"), _cssColonSlottedRe = new RegExp("(-shadowcssslotted" + _parenSuffix, "gim"), _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/, _shadowDOMSelectorsRe = [ /::shadow/g, /::content/g ], _polyfillHostRe = /-shadowcsshost/gim, _colonHostRe = /:host/gim, _colonSlottedRe = /::slotted/gim, _colonHostContextRe = /:host-context/gim, _commentRe = /\/\*\s*[\s\S]*?\*\//g, _commentWithHashRe = /\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g, _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g, _curlyRe = /([{}])/g, _selectorPartsRe = /(^.*?[^\\])??((:+)(.*)|$)/, processRules = (e, t) => {
|
|
2
|
+
const o = escapeBlocks(e);
|
|
3
|
+
let s = 0;
|
|
4
|
+
return o.escapedString.replace(_ruleRe, ((...e) => {
|
|
5
5
|
const c = e[2];
|
|
6
6
|
let r = "", n = e[4], l = "";
|
|
7
|
-
n && n.startsWith("{%BLOCK%") && (r =
|
|
7
|
+
n && n.startsWith("{%BLOCK%") && (r = o.blocks[s++], n = n.substring("%BLOCK%".length + 1),
|
|
8
8
|
l = "{");
|
|
9
9
|
const a = t({
|
|
10
10
|
selector: c,
|
|
@@ -13,111 +13,108 @@ const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)", _cssColo
|
|
|
13
13
|
return `${e[1]}${a.selector}${e[3]}${l}${a.content}${n}`;
|
|
14
14
|
}));
|
|
15
15
|
}, escapeBlocks = e => {
|
|
16
|
-
const t = e.split(_curlyRe),
|
|
16
|
+
const t = e.split(_curlyRe), o = [], s = [];
|
|
17
17
|
let c = 0, r = [];
|
|
18
18
|
for (let e = 0; e < t.length; e++) {
|
|
19
19
|
const n = t[e];
|
|
20
|
-
"}" === n && c--, c > 0 ? r.push(n) : (r.length > 0 && (
|
|
21
|
-
r = []),
|
|
20
|
+
"}" === n && c--, c > 0 ? r.push(n) : (r.length > 0 && (s.push(r.join("")), o.push("%BLOCK%"),
|
|
21
|
+
r = []), o.push(n)), "{" === n && c++;
|
|
22
22
|
}
|
|
23
|
-
return r.length > 0 && (
|
|
24
|
-
escapedString:
|
|
25
|
-
blocks:
|
|
23
|
+
return r.length > 0 && (s.push(r.join("")), o.push("%BLOCK%")), {
|
|
24
|
+
escapedString: o.join(""),
|
|
25
|
+
blocks: s
|
|
26
26
|
};
|
|
27
|
-
}, convertColonRule = (e, t,
|
|
27
|
+
}, convertColonRule = (e, t, o) => e.replace(t, ((...e) => {
|
|
28
28
|
if (e[2]) {
|
|
29
|
-
const t = e[2].split(","),
|
|
29
|
+
const t = e[2].split(","), s = [];
|
|
30
30
|
for (let c = 0; c < t.length; c++) {
|
|
31
31
|
const r = t[c].trim();
|
|
32
32
|
if (!r) break;
|
|
33
|
-
|
|
33
|
+
s.push(o("-shadowcsshost-no-combinator", r, e[3]));
|
|
34
34
|
}
|
|
35
|
-
return
|
|
35
|
+
return s.join(",");
|
|
36
36
|
}
|
|
37
37
|
return "-shadowcsshost-no-combinator" + e[3];
|
|
38
|
-
})), colonHostPartReplacer = (e, t,
|
|
38
|
+
})), colonHostPartReplacer = (e, t, o) => e + t.replace("-shadowcsshost", "") + o, colonHostContextPartReplacer = (e, t, o) => t.indexOf("-shadowcsshost") > -1 ? colonHostPartReplacer(e, t, o) : e + t + o + ", " + t + " " + e + o, injectScopingSelector = (e, t) => e.replace(_selectorPartsRe, ((e, o = "", s, c = "", r = "") => o + t + c + r)), scopeSelectors = (e, t, o, s, c) => processRules(e, (e => {
|
|
39
39
|
let c = e.selector, r = e.content;
|
|
40
|
-
return "@" !== e.selector[0] ? c = ((e, t,
|
|
41
|
-
new RegExp("^(" + e + ")([>\\s~+[.,{:][\\s\\S]*)?$", "m")))(t).test(e))(e, t) ? ((e, t,
|
|
42
|
-
const
|
|
40
|
+
return "@" !== e.selector[0] ? c = ((e, t, o, s) => e.split(",").map((e => s && e.indexOf("." + s) > -1 ? e.trim() : ((e, t) => !(e => (e = e.replace(/\[/g, "\\[").replace(/\]/g, "\\]"),
|
|
41
|
+
new RegExp("^(" + e + ")([>\\s~+[.,{:][\\s\\S]*)?$", "m")))(t).test(e))(e, t) ? ((e, t, o) => {
|
|
42
|
+
const s = "." + (t = t.replace(/\[is=([^\]]*)\]/g, ((e, ...t) => t[0]))), c = e => {
|
|
43
43
|
let c = e.trim();
|
|
44
44
|
if (!c) return "";
|
|
45
|
-
if (e.indexOf("-shadowcsshost-no-combinator") > -1) c = ((e, t,
|
|
45
|
+
if (e.indexOf("-shadowcsshost-no-combinator") > -1) c = ((e, t, o) => {
|
|
46
46
|
if (_polyfillHostRe.lastIndex = 0, _polyfillHostRe.test(e)) {
|
|
47
|
-
const t = `.${
|
|
48
|
-
return e.replace(_polyfillHostNoCombinatorRe, ((e,
|
|
47
|
+
const t = `.${o}`;
|
|
48
|
+
return e.replace(_polyfillHostNoCombinatorRe, ((e, o) => injectScopingSelector(o, t))).replace(_polyfillHostRe, t + " ");
|
|
49
49
|
}
|
|
50
50
|
return t + " " + e;
|
|
51
|
-
})(e, t,
|
|
51
|
+
})(e, t, o); else {
|
|
52
52
|
const t = e.replace(_polyfillHostRe, "");
|
|
53
|
-
|
|
54
|
-
const e = t.match(/([^:]*)(:*)(.*)/);
|
|
55
|
-
e && (c = e[1] + o + e[2] + e[3]);
|
|
56
|
-
}
|
|
53
|
+
t.length > 0 && (c = injectScopingSelector(t, s));
|
|
57
54
|
}
|
|
58
55
|
return c;
|
|
59
56
|
}, r = (e => {
|
|
60
57
|
const t = [];
|
|
61
|
-
let
|
|
62
|
-
return
|
|
63
|
-
const c = `__ph-${
|
|
64
|
-
return t.push(
|
|
65
|
-
}))).replace(/(:nth-[-\w]+)(\([^)]+\))/g, ((e,
|
|
66
|
-
const r = `__ph-${
|
|
67
|
-
return t.push(c),
|
|
58
|
+
let o, s = 0;
|
|
59
|
+
return o = (e = e.replace(/(\[[^\]]*\])/g, ((e, o) => {
|
|
60
|
+
const c = `__ph-${s}__`;
|
|
61
|
+
return t.push(o), s++, c;
|
|
62
|
+
}))).replace(/(:nth-[-\w]+)(\([^)]+\))/g, ((e, o, c) => {
|
|
63
|
+
const r = `__ph-${s}__`;
|
|
64
|
+
return t.push(c), s++, o + r;
|
|
68
65
|
})), {
|
|
69
|
-
content:
|
|
66
|
+
content: o,
|
|
70
67
|
placeholders: t
|
|
71
68
|
};
|
|
72
69
|
})(e);
|
|
73
70
|
let n, l = "", a = 0;
|
|
74
|
-
const
|
|
75
|
-
let
|
|
76
|
-
for (;null !== (n =
|
|
77
|
-
const t = n[1],
|
|
78
|
-
|
|
79
|
-
a =
|
|
71
|
+
const i = /( |>|\+|~(?!=))\s*/g;
|
|
72
|
+
let p = !((e = r.content).indexOf("-shadowcsshost-no-combinator") > -1);
|
|
73
|
+
for (;null !== (n = i.exec(e)); ) {
|
|
74
|
+
const t = n[1], o = e.slice(a, n.index).trim();
|
|
75
|
+
p = p || o.indexOf("-shadowcsshost-no-combinator") > -1, l += `${p ? c(o) : o} ${t} `,
|
|
76
|
+
a = i.lastIndex;
|
|
80
77
|
}
|
|
81
78
|
const h = e.substring(a);
|
|
82
|
-
return
|
|
79
|
+
return p = p || h.indexOf("-shadowcsshost-no-combinator") > -1, l += p ? c(h) : h,
|
|
83
80
|
u = r.placeholders, l.replace(/__ph-(\d+)__/g, ((e, t) => u[+t]));
|
|
84
81
|
var u;
|
|
85
|
-
})(e, t,
|
|
82
|
+
})(e, t, o).trim() : e.trim())).join(", "))(e.selector, t, o, s) : (e.selector.startsWith("@media") || e.selector.startsWith("@supports") || e.selector.startsWith("@page") || e.selector.startsWith("@document")) && (r = scopeSelectors(e.content, t, o, s)),
|
|
86
83
|
{
|
|
87
84
|
selector: c.replace(/\s{2,}/g, " ").trim(),
|
|
88
85
|
content: r
|
|
89
86
|
};
|
|
90
|
-
})), scopeCss = (e, t,
|
|
91
|
-
const
|
|
87
|
+
})), scopeCss = (e, t, o) => {
|
|
88
|
+
const s = t + "-h", c = t + "-s", r = e.match(_commentWithHashRe) || [];
|
|
92
89
|
e = e.replace(_commentRe, "");
|
|
93
90
|
const n = [];
|
|
94
|
-
if (
|
|
91
|
+
if (o) {
|
|
95
92
|
const t = e => {
|
|
96
|
-
const t = `/*!@___${n.length}___*/`,
|
|
93
|
+
const t = `/*!@___${n.length}___*/`, o = `/*!@${e.selector}*/`;
|
|
97
94
|
return n.push({
|
|
98
95
|
placeholder: t,
|
|
99
|
-
comment:
|
|
96
|
+
comment: o
|
|
100
97
|
}), e.selector = t + e.selector, e;
|
|
101
98
|
};
|
|
102
99
|
e = processRules(e, (e => "@" !== e.selector[0] ? t(e) : e.selector.startsWith("@media") || e.selector.startsWith("@supports") || e.selector.startsWith("@page") || e.selector.startsWith("@document") ? (e.content = processRules(e.content, t),
|
|
103
100
|
e) : e));
|
|
104
101
|
}
|
|
105
|
-
const l = ((e, t,
|
|
102
|
+
const l = ((e, t, o, s, c) => {
|
|
106
103
|
const r = ((e, t) => {
|
|
107
|
-
const
|
|
104
|
+
const o = "." + t + " > ", s = [];
|
|
108
105
|
return e = e.replace(_cssColonSlottedRe, ((...e) => {
|
|
109
106
|
if (e[2]) {
|
|
110
|
-
const t = e[2].trim(), c = e[3], r =
|
|
107
|
+
const t = e[2].trim(), c = e[3], r = o + t + c;
|
|
111
108
|
let n = "";
|
|
112
109
|
for (let t = e[4] - 1; t >= 0; t--) {
|
|
113
|
-
const
|
|
114
|
-
if ("}" ===
|
|
115
|
-
n =
|
|
110
|
+
const o = e[5][t];
|
|
111
|
+
if ("}" === o || "," === o) break;
|
|
112
|
+
n = o + n;
|
|
116
113
|
}
|
|
117
114
|
const l = n + r, a = `${n.trimRight()}${r.trim()}`;
|
|
118
115
|
if (l.trim() !== a.trim()) {
|
|
119
116
|
const e = `${a}, ${l}`;
|
|
120
|
-
|
|
117
|
+
s.push({
|
|
121
118
|
orgSelector: l,
|
|
122
119
|
updatedSelector: e
|
|
123
120
|
});
|
|
@@ -126,18 +123,18 @@ const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)", _cssColo
|
|
|
126
123
|
}
|
|
127
124
|
return "-shadowcsshost-no-combinator" + e[3];
|
|
128
125
|
})), {
|
|
129
|
-
selectors:
|
|
126
|
+
selectors: s,
|
|
130
127
|
cssText: e
|
|
131
128
|
};
|
|
132
|
-
})(e = (e => convertColonRule(e, _cssColonHostContextRe, colonHostContextPartReplacer))(e = (e => convertColonRule(e, _cssColonHostRe, colonHostPartReplacer))(e = e.replace(_colonHostContextRe, "-shadowcsscontext").replace(_colonHostRe, "-shadowcsshost").replace(_colonSlottedRe, "-shadowcssslotted"))),
|
|
129
|
+
})(e = (e => convertColonRule(e, _cssColonHostContextRe, colonHostContextPartReplacer))(e = (e => convertColonRule(e, _cssColonHostRe, colonHostPartReplacer))(e = e.replace(_colonHostContextRe, "-shadowcsscontext").replace(_colonHostRe, "-shadowcsshost").replace(_colonSlottedRe, "-shadowcssslotted"))), s);
|
|
133
130
|
return e = (e => _shadowDOMSelectorsRe.reduce(((e, t) => e.replace(t, " ")), e))(e = r.cssText),
|
|
134
|
-
t && (e = scopeSelectors(e, t,
|
|
135
|
-
cssText: (e = (e = e.replace(/-shadowcsshost-no-combinator/g, `.${
|
|
131
|
+
t && (e = scopeSelectors(e, t, o, s)), {
|
|
132
|
+
cssText: (e = (e = e.replace(/-shadowcsshost-no-combinator/g, `.${o}`)).replace(/>\s*\*\s+([^{, ]+)/gm, " $1 ")).trim(),
|
|
136
133
|
slottedSelectors: r.selectors
|
|
137
134
|
};
|
|
138
|
-
})(e, t,
|
|
139
|
-
return e = [ l.cssText, ...r ].join("\n"),
|
|
140
|
-
e = e.replace(t,
|
|
135
|
+
})(e, t, s, c);
|
|
136
|
+
return e = [ l.cssText, ...r ].join("\n"), o && n.forEach((({placeholder: t, comment: o}) => {
|
|
137
|
+
e = e.replace(t, o);
|
|
141
138
|
})), l.slottedSelectors.forEach((t => {
|
|
142
139
|
e = e.replace(t.orgSelector, t.updatedSelector);
|
|
143
140
|
})), e;
|
package/internal/index.js
CHANGED
package/internal/package.json
CHANGED
|
@@ -43,7 +43,7 @@ export interface StencilConfig {
|
|
|
43
43
|
* However, it's still common to have styles which should be "global" across all components and the website.
|
|
44
44
|
* A global CSS file is often useful to set CSS Variables.
|
|
45
45
|
*
|
|
46
|
-
* Additonally, the globalStyle config
|
|
46
|
+
* Additonally, the globalStyle config can be used to precompile styles with Sass, PostCss, etc.
|
|
47
47
|
* Below is an example folder structure containing a webapp's global sass file, named app.css.
|
|
48
48
|
*/
|
|
49
49
|
globalStyle?: string;
|
|
@@ -582,7 +582,8 @@ const callRender = (e, t, a) => {
|
|
|
582
582
|
s.attributeChangedCallback = function(e, t, o) {
|
|
583
583
|
plt.jmp((() => {
|
|
584
584
|
const t = a.get(e);
|
|
585
|
-
this.hasOwnProperty(t)
|
|
585
|
+
if (this.hasOwnProperty(t)) o = this[t], delete this[t]; else if (s.hasOwnProperty(t) && "number" == typeof this[t] && this[t] == o) return;
|
|
586
|
+
this[t] = (null !== o || "boolean" != typeof this[t]) && o;
|
|
586
587
|
}));
|
|
587
588
|
}, e.observedAttributes = o.filter((([e, t]) => 15 & t[0])).map((([e, o]) => {
|
|
588
589
|
const s = o[1] || e;
|
|
@@ -704,6 +705,14 @@ const callRender = (e, t, a) => {
|
|
|
704
705
|
},
|
|
705
706
|
disconnectedCallback() {
|
|
706
707
|
disconnectedCallback(this), appData.BUILD.disconnectedCallback && s && s.call(this);
|
|
708
|
+
},
|
|
709
|
+
__attachShadow() {
|
|
710
|
+
exports.supportsShadow ? appData.BUILD.shadowDelegatesFocus ? this.attachShadow({
|
|
711
|
+
mode: "open",
|
|
712
|
+
delegatesFocus: !!(16 & a.$flags$)
|
|
713
|
+
}) : this.attachShadow({
|
|
714
|
+
mode: "open"
|
|
715
|
+
}) : this.shadowRoot = this;
|
|
707
716
|
}
|
|
708
717
|
}), e.is = a.$tagName$, proxyComponent(e, a, 3);
|
|
709
718
|
}, patchCloneNode = e => {
|
|
@@ -865,11 +874,7 @@ Object.defineProperty(exports, "Env", {
|
|
|
865
874
|
isServer: !0,
|
|
866
875
|
isTesting: !0
|
|
867
876
|
}, exports.Context = Context, exports.Fragment = (e, t) => t, exports.Host = Host,
|
|
868
|
-
exports.addHostEventListeners = addHostEventListeners, exports.
|
|
869
|
-
exports.supportsShadow ? e.attachShadow({
|
|
870
|
-
mode: "open"
|
|
871
|
-
}) : e.shadowRoot = e;
|
|
872
|
-
}, exports.bootstrapLazy = (e, t = {}) => {
|
|
877
|
+
exports.addHostEventListeners = addHostEventListeners, exports.bootstrapLazy = (e, t = {}) => {
|
|
873
878
|
appData.BUILD.profile && performance.mark && performance.mark("st:app:start"), (() => {
|
|
874
879
|
if (appData.BUILD.devTools) {
|
|
875
880
|
const e = win.stencil = win.stencil || {}, t = e.inspect;
|
|
@@ -922,47 +927,49 @@ exports.addHostEventListeners = addHostEventListeners, exports.attachShadow = e
|
|
|
922
927
|
if (Object.assign(plt, t), plt.$resourcesUrl$ = new URL(t.resourcesUrl || "./", doc.baseURI).href,
|
|
923
928
|
appData.BUILD.asyncQueue && t.syncQueue && (plt.$flags$ |= 4), appData.BUILD.hydrateClientSide && (plt.$flags$ |= 2),
|
|
924
929
|
appData.BUILD.hydrateClientSide && appData.BUILD.shadowDom) for (;m < d.length; m++) registerStyle(d[m].getAttribute("sty-id"), d[m].innerHTML.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, "$1{"));
|
|
925
|
-
e.map((e =>
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
((e
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
930
|
+
e.map((e => {
|
|
931
|
+
e[1].map((a => {
|
|
932
|
+
const l = {
|
|
933
|
+
$flags$: a[0],
|
|
934
|
+
$tagName$: a[1],
|
|
935
|
+
$members$: a[2],
|
|
936
|
+
$listeners$: a[3]
|
|
937
|
+
};
|
|
938
|
+
appData.BUILD.member && (l.$members$ = a[2]), appData.BUILD.hostListener && (l.$listeners$ = a[3]),
|
|
939
|
+
appData.BUILD.reflect && (l.$attrsToReflect$ = []), appData.BUILD.watchCallback && (l.$watchers$ = {}),
|
|
940
|
+
appData.BUILD.shadowDom && !exports.supportsShadow && 1 & l.$flags$ && (l.$flags$ |= 8);
|
|
941
|
+
const r = appData.BUILD.transformTagName && t.transformTagName ? t.transformTagName(l.$tagName$) : l.$tagName$, p = class extends HTMLElement {
|
|
942
|
+
constructor(e) {
|
|
943
|
+
super(e), registerHost(e = this, l), appData.BUILD.shadowDom && 1 & l.$flags$ && (exports.supportsShadow ? appData.BUILD.shadowDelegatesFocus ? e.attachShadow({
|
|
944
|
+
mode: "open",
|
|
945
|
+
delegatesFocus: !!(16 & l.$flags$)
|
|
946
|
+
}) : e.attachShadow({
|
|
947
|
+
mode: "open"
|
|
948
|
+
}) : appData.BUILD.hydrateServerSide || "shadowRoot" in e || (e.shadowRoot = e)),
|
|
949
|
+
appData.BUILD.slotChildNodesFix && patchChildSlotNodes(e, l);
|
|
950
|
+
}
|
|
951
|
+
connectedCallback() {
|
|
952
|
+
c && (clearTimeout(c), c = null), $ ? i.push(this) : plt.jmp((() => connectedCallback(this)));
|
|
953
|
+
}
|
|
954
|
+
disconnectedCallback() {
|
|
955
|
+
plt.jmp((() => disconnectedCallback(this)));
|
|
956
|
+
}
|
|
957
|
+
componentOnReady() {
|
|
958
|
+
return getHostRef(this).$onReadyPromise$;
|
|
959
|
+
}
|
|
960
|
+
};
|
|
961
|
+
appData.BUILD.cloneNodeFix && patchCloneNode(p.prototype), appData.BUILD.appendChildSlotFix && patchSlotAppendChild(p.prototype),
|
|
962
|
+
appData.BUILD.hotModuleReplacement && (p.prototype["s-hmr"] = function(e) {
|
|
963
|
+
((e, t, a) => {
|
|
964
|
+
const o = getHostRef(e);
|
|
965
|
+
o.$flags$ = 1, e["s-hmr-load"] = () => {
|
|
966
|
+
delete e["s-hmr-load"];
|
|
967
|
+
}, initializeComponent(e, o, t);
|
|
968
|
+
})(this, l);
|
|
969
|
+
}), appData.BUILD.scopedSlotTextContentFix && patchTextContent(p.prototype, l),
|
|
970
|
+
l.$lazyBundleId$ = e[0], s.includes(r) || n.get(r) || (o.push(r), n.define(r, proxyComponent(p, l, 1)));
|
|
971
|
+
}));
|
|
972
|
+
})), appData.BUILD.invisiblePrehydration && (appData.BUILD.hydratedClass || appData.BUILD.hydratedAttribute) && (p.innerHTML = o + "{visibility:hidden}.hydrated{visibility:inherit}",
|
|
966
973
|
p.setAttribute("data-styles", ""), l.insertBefore(p, r ? r.nextSibling : l.firstChild)),
|
|
967
974
|
$ = !1, i.length ? i.map((e => e.connectedCallback())) : appData.BUILD.profile ? plt.jmp((() => c = setTimeout(appDidLoad, 30, "timeout"))) : plt.jmp((() => c = setTimeout(appDidLoad, 30))),
|
|
968
975
|
a();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stencil/core/internal/testing",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.12.0",
|
|
4
4
|
"description": "Stencil internal testing 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,10 +1,10 @@
|
|
|
1
|
-
const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)", _cssColonHostRe = new RegExp("(-shadowcsshost" + _parenSuffix, "gim"), _cssColonHostContextRe = new RegExp("(-shadowcsscontext" + _parenSuffix, "gim"), _cssColonSlottedRe = new RegExp("(-shadowcssslotted" + _parenSuffix, "gim"), _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/, _shadowDOMSelectorsRe = [ /::shadow/g, /::content/g ], _polyfillHostRe = /-shadowcsshost/gim, _colonHostRe = /:host/gim, _colonSlottedRe = /::slotted/gim, _colonHostContextRe = /:host-context/gim, _commentRe = /\/\*\s*[\s\S]*?\*\//g, _commentWithHashRe = /\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g, _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g, _curlyRe = /([{}])/g, processRules = (e, t) => {
|
|
2
|
-
const
|
|
3
|
-
let
|
|
4
|
-
return
|
|
1
|
+
const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)", _cssColonHostRe = new RegExp("(-shadowcsshost" + _parenSuffix, "gim"), _cssColonHostContextRe = new RegExp("(-shadowcsscontext" + _parenSuffix, "gim"), _cssColonSlottedRe = new RegExp("(-shadowcssslotted" + _parenSuffix, "gim"), _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/, _shadowDOMSelectorsRe = [ /::shadow/g, /::content/g ], _polyfillHostRe = /-shadowcsshost/gim, _colonHostRe = /:host/gim, _colonSlottedRe = /::slotted/gim, _colonHostContextRe = /:host-context/gim, _commentRe = /\/\*\s*[\s\S]*?\*\//g, _commentWithHashRe = /\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g, _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g, _curlyRe = /([{}])/g, _selectorPartsRe = /(^.*?[^\\])??((:+)(.*)|$)/, processRules = (e, t) => {
|
|
2
|
+
const o = escapeBlocks(e);
|
|
3
|
+
let s = 0;
|
|
4
|
+
return o.escapedString.replace(_ruleRe, ((...e) => {
|
|
5
5
|
const c = e[2];
|
|
6
6
|
let r = "", n = e[4], l = "";
|
|
7
|
-
n && n.startsWith("{%BLOCK%") && (r =
|
|
7
|
+
n && n.startsWith("{%BLOCK%") && (r = o.blocks[s++], n = n.substring("%BLOCK%".length + 1),
|
|
8
8
|
l = "{");
|
|
9
9
|
const a = t({
|
|
10
10
|
selector: c,
|
|
@@ -13,60 +13,57 @@ const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)", _cssColo
|
|
|
13
13
|
return `${e[1]}${a.selector}${e[3]}${l}${a.content}${n}`;
|
|
14
14
|
}));
|
|
15
15
|
}, escapeBlocks = e => {
|
|
16
|
-
const t = e.split(_curlyRe),
|
|
16
|
+
const t = e.split(_curlyRe), o = [], s = [];
|
|
17
17
|
let c = 0, r = [];
|
|
18
18
|
for (let e = 0; e < t.length; e++) {
|
|
19
19
|
const n = t[e];
|
|
20
|
-
"}" === n && c--, c > 0 ? r.push(n) : (r.length > 0 && (
|
|
21
|
-
r = []),
|
|
20
|
+
"}" === n && c--, c > 0 ? r.push(n) : (r.length > 0 && (s.push(r.join("")), o.push("%BLOCK%"),
|
|
21
|
+
r = []), o.push(n)), "{" === n && c++;
|
|
22
22
|
}
|
|
23
|
-
return r.length > 0 && (
|
|
24
|
-
escapedString:
|
|
25
|
-
blocks:
|
|
23
|
+
return r.length > 0 && (s.push(r.join("")), o.push("%BLOCK%")), {
|
|
24
|
+
escapedString: o.join(""),
|
|
25
|
+
blocks: s
|
|
26
26
|
};
|
|
27
|
-
}, convertColonRule = (e, t,
|
|
27
|
+
}, convertColonRule = (e, t, o) => e.replace(t, ((...e) => {
|
|
28
28
|
if (e[2]) {
|
|
29
|
-
const t = e[2].split(","),
|
|
29
|
+
const t = e[2].split(","), s = [];
|
|
30
30
|
for (let c = 0; c < t.length; c++) {
|
|
31
31
|
const r = t[c].trim();
|
|
32
32
|
if (!r) break;
|
|
33
|
-
|
|
33
|
+
s.push(o("-shadowcsshost-no-combinator", r, e[3]));
|
|
34
34
|
}
|
|
35
|
-
return
|
|
35
|
+
return s.join(",");
|
|
36
36
|
}
|
|
37
37
|
return "-shadowcsshost-no-combinator" + e[3];
|
|
38
|
-
})), colonHostPartReplacer = (e, t,
|
|
38
|
+
})), colonHostPartReplacer = (e, t, o) => e + t.replace("-shadowcsshost", "") + o, colonHostContextPartReplacer = (e, t, o) => t.indexOf("-shadowcsshost") > -1 ? colonHostPartReplacer(e, t, o) : e + t + o + ", " + t + " " + e + o, injectScopingSelector = (e, t) => e.replace(_selectorPartsRe, ((e, o = "", s, c = "", r = "") => o + t + c + r)), scopeSelectors = (e, t, o, s, c) => processRules(e, (e => {
|
|
39
39
|
let c = e.selector, r = e.content;
|
|
40
|
-
return "@" !== e.selector[0] ? c = ((e, t,
|
|
41
|
-
new RegExp("^(" + e + ")([>\\s~+[.,{:][\\s\\S]*)?$", "m")))(t).test(e))(e, t) ? ((e, t,
|
|
42
|
-
const
|
|
40
|
+
return "@" !== e.selector[0] ? c = ((e, t, o, s) => e.split(",").map((e => s && e.indexOf("." + s) > -1 ? e.trim() : ((e, t) => !(e => (e = e.replace(/\[/g, "\\[").replace(/\]/g, "\\]"),
|
|
41
|
+
new RegExp("^(" + e + ")([>\\s~+[.,{:][\\s\\S]*)?$", "m")))(t).test(e))(e, t) ? ((e, t, o) => {
|
|
42
|
+
const s = "." + (t = t.replace(/\[is=([^\]]*)\]/g, ((e, ...t) => t[0]))), c = e => {
|
|
43
43
|
let c = e.trim();
|
|
44
44
|
if (!c) return "";
|
|
45
|
-
if (e.indexOf("-shadowcsshost-no-combinator") > -1) c = ((e, t,
|
|
45
|
+
if (e.indexOf("-shadowcsshost-no-combinator") > -1) c = ((e, t, o) => {
|
|
46
46
|
if (_polyfillHostRe.lastIndex = 0, _polyfillHostRe.test(e)) {
|
|
47
|
-
const t = `.${
|
|
48
|
-
return e.replace(_polyfillHostNoCombinatorRe, ((e,
|
|
47
|
+
const t = `.${o}`;
|
|
48
|
+
return e.replace(_polyfillHostNoCombinatorRe, ((e, o) => injectScopingSelector(o, t))).replace(_polyfillHostRe, t + " ");
|
|
49
49
|
}
|
|
50
50
|
return t + " " + e;
|
|
51
|
-
})(e, t,
|
|
51
|
+
})(e, t, o); else {
|
|
52
52
|
const t = e.replace(_polyfillHostRe, "");
|
|
53
|
-
|
|
54
|
-
const e = t.match(/([^:]*)(:*)(.*)/);
|
|
55
|
-
e && (c = e[1] + o + e[2] + e[3]);
|
|
56
|
-
}
|
|
53
|
+
t.length > 0 && (c = injectScopingSelector(t, s));
|
|
57
54
|
}
|
|
58
55
|
return c;
|
|
59
56
|
}, r = (e => {
|
|
60
57
|
const t = [];
|
|
61
|
-
let
|
|
62
|
-
return
|
|
63
|
-
const c = `__ph-${
|
|
64
|
-
return t.push(
|
|
65
|
-
}))).replace(/(:nth-[-\w]+)(\([^)]+\))/g, ((e,
|
|
66
|
-
const r = `__ph-${
|
|
67
|
-
return t.push(c),
|
|
58
|
+
let o, s = 0;
|
|
59
|
+
return o = (e = e.replace(/(\[[^\]]*\])/g, ((e, o) => {
|
|
60
|
+
const c = `__ph-${s}__`;
|
|
61
|
+
return t.push(o), s++, c;
|
|
62
|
+
}))).replace(/(:nth-[-\w]+)(\([^)]+\))/g, ((e, o, c) => {
|
|
63
|
+
const r = `__ph-${s}__`;
|
|
64
|
+
return t.push(c), s++, o + r;
|
|
68
65
|
})), {
|
|
69
|
-
content:
|
|
66
|
+
content: o,
|
|
70
67
|
placeholders: t
|
|
71
68
|
};
|
|
72
69
|
})(e);
|
|
@@ -74,52 +71,52 @@ const _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)", _cssColo
|
|
|
74
71
|
const i = /( |>|\+|~(?!=))\s*/g;
|
|
75
72
|
let p = !((e = r.content).indexOf("-shadowcsshost-no-combinator") > -1);
|
|
76
73
|
for (;null !== (n = i.exec(e)); ) {
|
|
77
|
-
const t = n[1],
|
|
78
|
-
p = p ||
|
|
74
|
+
const t = n[1], o = e.slice(a, n.index).trim();
|
|
75
|
+
p = p || o.indexOf("-shadowcsshost-no-combinator") > -1, l += `${p ? c(o) : o} ${t} `,
|
|
79
76
|
a = i.lastIndex;
|
|
80
77
|
}
|
|
81
78
|
const h = e.substring(a);
|
|
82
79
|
return p = p || h.indexOf("-shadowcsshost-no-combinator") > -1, l += p ? c(h) : h,
|
|
83
80
|
u = r.placeholders, l.replace(/__ph-(\d+)__/g, ((e, t) => u[+t]));
|
|
84
81
|
var u;
|
|
85
|
-
})(e, t,
|
|
82
|
+
})(e, t, o).trim() : e.trim())).join(", "))(e.selector, t, o, s) : (e.selector.startsWith("@media") || e.selector.startsWith("@supports") || e.selector.startsWith("@page") || e.selector.startsWith("@document")) && (r = scopeSelectors(e.content, t, o, s)),
|
|
86
83
|
{
|
|
87
84
|
selector: c.replace(/\s{2,}/g, " ").trim(),
|
|
88
85
|
content: r
|
|
89
86
|
};
|
|
90
87
|
}));
|
|
91
88
|
|
|
92
|
-
exports.scopeCss = (e, t,
|
|
93
|
-
const
|
|
89
|
+
exports.scopeCss = (e, t, o) => {
|
|
90
|
+
const s = t + "-h", c = t + "-s", r = e.match(_commentWithHashRe) || [];
|
|
94
91
|
e = e.replace(_commentRe, "");
|
|
95
92
|
const n = [];
|
|
96
|
-
if (
|
|
93
|
+
if (o) {
|
|
97
94
|
const t = e => {
|
|
98
|
-
const t = `/*!@___${n.length}___*/`,
|
|
95
|
+
const t = `/*!@___${n.length}___*/`, o = `/*!@${e.selector}*/`;
|
|
99
96
|
return n.push({
|
|
100
97
|
placeholder: t,
|
|
101
|
-
comment:
|
|
98
|
+
comment: o
|
|
102
99
|
}), e.selector = t + e.selector, e;
|
|
103
100
|
};
|
|
104
101
|
e = processRules(e, (e => "@" !== e.selector[0] ? t(e) : e.selector.startsWith("@media") || e.selector.startsWith("@supports") || e.selector.startsWith("@page") || e.selector.startsWith("@document") ? (e.content = processRules(e.content, t),
|
|
105
102
|
e) : e));
|
|
106
103
|
}
|
|
107
|
-
const l = ((e, t,
|
|
104
|
+
const l = ((e, t, o, s, c) => {
|
|
108
105
|
const r = ((e, t) => {
|
|
109
|
-
const
|
|
106
|
+
const o = "." + t + " > ", s = [];
|
|
110
107
|
return e = e.replace(_cssColonSlottedRe, ((...e) => {
|
|
111
108
|
if (e[2]) {
|
|
112
|
-
const t = e[2].trim(), c = e[3], r =
|
|
109
|
+
const t = e[2].trim(), c = e[3], r = o + t + c;
|
|
113
110
|
let n = "";
|
|
114
111
|
for (let t = e[4] - 1; t >= 0; t--) {
|
|
115
|
-
const
|
|
116
|
-
if ("}" ===
|
|
117
|
-
n =
|
|
112
|
+
const o = e[5][t];
|
|
113
|
+
if ("}" === o || "," === o) break;
|
|
114
|
+
n = o + n;
|
|
118
115
|
}
|
|
119
116
|
const l = n + r, a = `${n.trimRight()}${r.trim()}`;
|
|
120
117
|
if (l.trim() !== a.trim()) {
|
|
121
118
|
const e = `${a}, ${l}`;
|
|
122
|
-
|
|
119
|
+
s.push({
|
|
123
120
|
orgSelector: l,
|
|
124
121
|
updatedSelector: e
|
|
125
122
|
});
|
|
@@ -128,18 +125,18 @@ exports.scopeCss = (e, t, s) => {
|
|
|
128
125
|
}
|
|
129
126
|
return "-shadowcsshost-no-combinator" + e[3];
|
|
130
127
|
})), {
|
|
131
|
-
selectors:
|
|
128
|
+
selectors: s,
|
|
132
129
|
cssText: e
|
|
133
130
|
};
|
|
134
|
-
})(e = (e => convertColonRule(e, _cssColonHostContextRe, colonHostContextPartReplacer))(e = (e => convertColonRule(e, _cssColonHostRe, colonHostPartReplacer))(e = e.replace(_colonHostContextRe, "-shadowcsscontext").replace(_colonHostRe, "-shadowcsshost").replace(_colonSlottedRe, "-shadowcssslotted"))),
|
|
131
|
+
})(e = (e => convertColonRule(e, _cssColonHostContextRe, colonHostContextPartReplacer))(e = (e => convertColonRule(e, _cssColonHostRe, colonHostPartReplacer))(e = e.replace(_colonHostContextRe, "-shadowcsscontext").replace(_colonHostRe, "-shadowcsshost").replace(_colonSlottedRe, "-shadowcssslotted"))), s);
|
|
135
132
|
return e = (e => _shadowDOMSelectorsRe.reduce(((e, t) => e.replace(t, " ")), e))(e = r.cssText),
|
|
136
|
-
t && (e = scopeSelectors(e, t,
|
|
137
|
-
cssText: (e = (e = e.replace(/-shadowcsshost-no-combinator/g, `.${
|
|
133
|
+
t && (e = scopeSelectors(e, t, o, s)), {
|
|
134
|
+
cssText: (e = (e = e.replace(/-shadowcsshost-no-combinator/g, `.${o}`)).replace(/>\s*\*\s+([^{, ]+)/gm, " $1 ")).trim(),
|
|
138
135
|
slottedSelectors: r.selectors
|
|
139
136
|
};
|
|
140
|
-
})(e, t,
|
|
141
|
-
return e = [ l.cssText, ...r ].join("\n"),
|
|
142
|
-
e = e.replace(t,
|
|
137
|
+
})(e, t, s, c);
|
|
138
|
+
return e = [ l.cssText, ...r ].join("\n"), o && n.forEach((({placeholder: t, comment: o}) => {
|
|
139
|
+
e = e.replace(t, o);
|
|
143
140
|
})), l.slottedSelectors.forEach((t => {
|
|
144
141
|
e = e.replace(t.orgSelector, t.updatedSelector);
|
|
145
142
|
})), e;
|
package/mock-doc/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
Stencil Mock Doc (CommonJS) v2.
|
|
2
|
+
Stencil Mock Doc (CommonJS) v2.12.0 | MIT Licensed | https://stenciljs.com
|
|
3
3
|
*/
|
|
4
4
|
var mockDoc = (function(exports) {
|
|
5
5
|
'use strict';
|
|
@@ -547,7 +547,7 @@ class MockCSSStyleDeclaration {
|
|
|
547
547
|
const splt = rule.split(':');
|
|
548
548
|
if (splt.length > 1) {
|
|
549
549
|
const prop = splt[0].trim();
|
|
550
|
-
const value = splt
|
|
550
|
+
const value = splt.slice(1).join(':').trim();
|
|
551
551
|
if (prop !== '' && value !== '') {
|
|
552
552
|
this._styles.set(jsCaseToCssCase(prop), value);
|
|
553
553
|
}
|
|
@@ -1510,6 +1510,9 @@ class MockNode {
|
|
|
1510
1510
|
return null;
|
|
1511
1511
|
}
|
|
1512
1512
|
contains(otherNode) {
|
|
1513
|
+
if (otherNode === this) {
|
|
1514
|
+
return true;
|
|
1515
|
+
}
|
|
1513
1516
|
return this.childNodes.includes(otherNode);
|
|
1514
1517
|
}
|
|
1515
1518
|
removeChild(childNode) {
|