@xplortech/apollo-core 0.0.7 → 0.1.1
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/CHANGELOG.md +40 -0
- package/README.md +42 -1
- package/build/style.css +972 -372
- package/dist/apollo-core/apollo-core.css +2127 -9
- package/dist/apollo-core/apollo-core.esm.js +125 -1
- package/dist/apollo-core/app-globals-0f993ce5.js +3 -0
- package/dist/apollo-core/css-shim-bbdf0cc6.js +4 -0
- package/dist/apollo-core/dom-1f98a75f.js +73 -0
- package/dist/apollo-core/index-912d1a21.js +584 -0
- package/dist/apollo-core/index-f313719f.js +2938 -0
- package/dist/apollo-core/index.esm.js +1 -0
- package/dist/apollo-core/p-00996870.js +1 -0
- package/dist/apollo-core/p-21872e0f.entry.js +1 -0
- package/dist/apollo-core/{p-1fc2ec24.entry.js → p-6c4f9227.entry.js} +4 -3
- package/dist/apollo-core/p-d8ea7d80.entry.js +1 -0
- package/dist/apollo-core/shadow-css-67b66845.js +389 -0
- package/dist/apollo-core/xpl-avatar.entry.js +19 -0
- package/dist/apollo-core/xpl-badge.entry.js +17 -0
- package/dist/apollo-core/xpl-breadcrumb-item.entry.js +19 -0
- package/dist/apollo-core/xpl-breadcrumbs.entry.js +14 -0
- package/dist/{esm/xpl-button_3.entry.js → apollo-core/xpl-button.entry.js} +15 -152
- package/dist/apollo-core/xpl-checkbox.entry.js +14 -0
- package/dist/apollo-core/xpl-choicelist.entry.js +12 -0
- package/dist/apollo-core/xpl-pagination.entry.js +72 -0
- package/dist/apollo-core/xpl-radio.entry.js +14 -0
- package/dist/apollo-core/xpl-table.entry.js +85 -0
- package/dist/apollo-core/xpl-utility-bar.entry.js +12 -0
- package/dist/cjs/apollo-core.cjs.js +113 -5
- package/dist/cjs/app-globals-3a1e7e63.js +5 -0
- package/dist/cjs/css-shim-a7379e2b.js +6 -0
- package/dist/cjs/dom-3e7d9c3b.js +75 -0
- package/dist/cjs/index-318d5fc7.js +586 -0
- package/dist/cjs/{index-d0d9877d.js → index-716d8f57.js} +106 -29
- package/dist/cjs/index-fca88002.js +2973 -0
- package/dist/cjs/index.cjs.js +1 -0
- package/dist/cjs/loader.cjs.js +19 -3
- package/dist/cjs/shadow-css-09555044.js +391 -0
- package/dist/cjs/xpl-avatar.cjs.entry.js +23 -0
- package/dist/cjs/xpl-avatar_9.cjs.entry.js +16327 -0
- package/dist/cjs/xpl-badge.cjs.entry.js +21 -0
- package/dist/cjs/xpl-breadcrumb-item.cjs.entry.js +23 -0
- package/dist/cjs/xpl-breadcrumbs.cjs.entry.js +18 -0
- package/dist/cjs/{xpl-button_3.cjs.entry.js → xpl-button.cjs.entry.js} +14 -153
- package/dist/cjs/xpl-checkbox.cjs.entry.js +18 -0
- package/dist/cjs/xpl-choicelist.cjs.entry.js +16 -0
- package/dist/cjs/xpl-pagination.cjs.entry.js +76 -0
- package/dist/cjs/xpl-radio.cjs.entry.js +18 -0
- package/dist/cjs/xpl-table.cjs.entry.js +89 -0
- package/dist/cjs/xpl-utility-bar.cjs.entry.js +16 -0
- package/dist/collection/collection-manifest.json +10 -2
- package/dist/collection/components/xpl-avatar/xpl-avatar.js +158 -0
- package/dist/collection/components/xpl-badge/xpl-badge.js +50 -0
- package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +19 -0
- package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +12 -0
- package/dist/collection/components/xpl-button/xpl-button.js +37 -5
- package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +139 -0
- package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +9 -0
- package/dist/collection/components/xpl-radio/xpl-radio.js +122 -0
- package/dist/collection/components/xpl-table/xpl-table.js +9 -5
- package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +10 -0
- package/dist/custom-elements/index.d.ts +36 -0
- package/dist/custom-elements/index.js +733 -11
- package/dist/esm/apollo-core.js +113 -5
- package/dist/esm/app-globals-0f993ce5.js +3 -0
- package/dist/esm/css-shim-bbdf0cc6.js +4 -0
- package/dist/esm/dom-1f98a75f.js +73 -0
- package/dist/esm/{index-252a5f91.js → index-4c8962a5.js} +106 -29
- package/dist/esm/index-912d1a21.js +584 -0
- package/dist/esm/index-f313719f.js +2938 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +19 -3
- package/dist/esm/shadow-css-67b66845.js +389 -0
- package/dist/esm/xpl-avatar.entry.js +19 -0
- package/dist/esm/xpl-avatar_9.entry.js +16315 -0
- package/dist/esm/xpl-badge.entry.js +17 -0
- package/dist/esm/xpl-breadcrumb-item.entry.js +19 -0
- package/dist/esm/xpl-breadcrumbs.entry.js +14 -0
- package/dist/esm/xpl-button.entry.js +16086 -0
- package/dist/esm/xpl-checkbox.entry.js +14 -0
- package/dist/esm/xpl-choicelist.entry.js +12 -0
- package/dist/esm/xpl-pagination.entry.js +72 -0
- package/dist/esm/xpl-radio.entry.js +14 -0
- package/dist/esm/xpl-table.entry.js +85 -0
- package/dist/esm/xpl-utility-bar.entry.js +12 -0
- package/dist/stories/avatar.stories.js +173 -0
- package/dist/stories/badge.stories.js +48 -0
- package/dist/stories/breadcrumbs.stories.js +115 -0
- package/dist/stories/button.stories.js +98 -0
- package/dist/stories/checkbox.stories.js +66 -0
- package/dist/stories/pagination.stories.js +84 -0
- package/dist/stories/radio.stories.js +56 -0
- package/dist/stories/table.stories.js +107 -0
- package/dist/stories/tabs.stories.js +24 -0
- package/dist/stories/utility-bar.stories.js +94 -0
- package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/avatar.stories.d.ts +91 -0
- package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/badge.stories.d.ts +48 -0
- package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/breadcrumbs.stories.d.ts +53 -0
- package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/button.stories.d.ts +74 -0
- package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/checkbox.stories.d.ts +64 -0
- package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/pagination.stories.d.ts +0 -0
- package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/radio.stories.d.ts +56 -0
- package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/table.stories.d.ts +50 -0
- package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/tabs.stories.d.ts +0 -0
- package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/utility-bar.stories.d.ts +20 -0
- package/dist/types/components/xpl-avatar/xpl-avatar.d.ts +11 -0
- package/dist/types/components/xpl-badge/xpl-badge.d.ts +5 -0
- package/dist/types/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.d.ts +4 -0
- package/dist/types/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.d.ts +3 -0
- package/dist/types/{.stencil → components}/xpl-button/xpl-button.d.ts +3 -1
- package/dist/types/components/xpl-checkbox/xpl-checkbox.d.ts +11 -0
- package/dist/types/components/xpl-choicelist/xpl-choicelist.d.ts +3 -0
- package/dist/types/components/xpl-radio/xpl-radio.d.ts +10 -0
- package/dist/types/{.stencil → components}/xpl-table/xpl-table.d.ts +2 -2
- package/dist/types/components/xpl-utility-bar/xpl-utility-bar.d.ts +3 -0
- package/dist/types/components.d.ts +132 -4
- package/dist/types/stencil-public-runtime.d.ts +183 -182
- package/package.json +42 -13
- package/dist/apollo-core/p-3f7da885.js +0 -1
- /package/dist/types/{.stencil → components}/xpl-pagination/xpl-pagination.d.ts +0 -0
package/dist/esm/apollo-core.js
CHANGED
|
@@ -1,17 +1,125 @@
|
|
|
1
|
-
import { p as promiseResolve, b as bootstrapLazy } from './index-
|
|
1
|
+
import { B as BUILD, c as consoleDevInfo, p as plt, w as win, H, d as doc, N as NAMESPACE, a as promiseResolve, b as bootstrapLazy } from './index-f313719f.js';
|
|
2
|
+
import { g as globalScripts } from './app-globals-0f993ce5.js';
|
|
2
3
|
|
|
3
4
|
/*
|
|
4
|
-
Stencil Client Patch Browser v2.
|
|
5
|
+
Stencil Client Patch Browser v2.8.0 | MIT Licensed | https://stenciljs.com
|
|
5
6
|
*/
|
|
7
|
+
const getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\s|-/g, '_')}`;
|
|
6
8
|
const patchBrowser = () => {
|
|
9
|
+
// NOTE!! This fn cannot use async/await!
|
|
10
|
+
if (BUILD.isDev && !BUILD.isTesting) {
|
|
11
|
+
consoleDevInfo('Running in development mode.');
|
|
12
|
+
}
|
|
13
|
+
if (BUILD.cssVarShim) {
|
|
14
|
+
// shim css vars
|
|
15
|
+
plt.$cssShim$ = win.__cssshim;
|
|
16
|
+
}
|
|
17
|
+
if (BUILD.cloneNodeFix) {
|
|
18
|
+
// opted-in to polyfill cloneNode() for slot polyfilled components
|
|
19
|
+
patchCloneNodeFix(H.prototype);
|
|
20
|
+
}
|
|
21
|
+
if (BUILD.profile && !performance.mark) {
|
|
22
|
+
// not all browsers support performance.mark/measure (Safari 10)
|
|
23
|
+
performance.mark = performance.measure = () => {
|
|
24
|
+
/*noop*/
|
|
25
|
+
};
|
|
26
|
+
performance.getEntriesByName = () => [];
|
|
27
|
+
}
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
const scriptElm = BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim
|
|
30
|
+
? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\/${NAMESPACE}(\\.esm)?\\.js($|\\?|#)`).test(s.src) ||
|
|
31
|
+
s.getAttribute('data-stencil-namespace') === NAMESPACE)
|
|
32
|
+
: null;
|
|
7
33
|
const importMeta = import.meta.url;
|
|
8
|
-
const opts = {};
|
|
9
|
-
if (
|
|
34
|
+
const opts = BUILD.scriptDataOpts ? scriptElm['data-opts'] || {} : {};
|
|
35
|
+
if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {
|
|
36
|
+
// Safari < v11 support: This IF is true if it's Safari below v11.
|
|
37
|
+
// This fn cannot use async/await since Safari didn't support it until v11,
|
|
38
|
+
// however, Safari 10 did support modules. Safari 10 also didn't support "nomodule",
|
|
39
|
+
// so both the ESM file and nomodule file would get downloaded. Only Safari
|
|
40
|
+
// has 'onbeforeload' in the script, and "history.scrollRestoration" was added
|
|
41
|
+
// to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.
|
|
42
|
+
// IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.
|
|
43
|
+
return {
|
|
44
|
+
then() {
|
|
45
|
+
/* promise noop */
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (!BUILD.safari10 && importMeta !== '') {
|
|
10
50
|
opts.resourcesUrl = new URL('.', importMeta).href;
|
|
11
51
|
}
|
|
52
|
+
else if (BUILD.dynamicImportShim || BUILD.safari10) {
|
|
53
|
+
opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;
|
|
54
|
+
if (BUILD.dynamicImportShim) {
|
|
55
|
+
patchDynamicImport(opts.resourcesUrl, scriptElm);
|
|
56
|
+
}
|
|
57
|
+
if (BUILD.dynamicImportShim && !win.customElements) {
|
|
58
|
+
// module support, but no custom elements support (Old Edge)
|
|
59
|
+
// @ts-ignore
|
|
60
|
+
return import(/* webpackChunkName: "polyfills-dom" */ './dom-1f98a75f.js').then(() => opts);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
12
63
|
return promiseResolve(opts);
|
|
13
64
|
};
|
|
65
|
+
const patchDynamicImport = (base, orgScriptElm) => {
|
|
66
|
+
const importFunctionName = getDynamicImportFunction(NAMESPACE);
|
|
67
|
+
try {
|
|
68
|
+
// test if this browser supports dynamic imports
|
|
69
|
+
// There is a caching issue in V8, that breaks using import() in Function
|
|
70
|
+
// By generating a random string, we can workaround it
|
|
71
|
+
// Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info
|
|
72
|
+
win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
// this shim is specifically for browsers that do support "esm" imports
|
|
76
|
+
// however, they do NOT support "dynamic" imports
|
|
77
|
+
// basically this code is for old Edge, v18 and below
|
|
78
|
+
const moduleMap = new Map();
|
|
79
|
+
win[importFunctionName] = (src) => {
|
|
80
|
+
const url = new URL(src, base).href;
|
|
81
|
+
let mod = moduleMap.get(url);
|
|
82
|
+
if (!mod) {
|
|
83
|
+
const script = doc.createElement('script');
|
|
84
|
+
script.type = 'module';
|
|
85
|
+
script.crossOrigin = orgScriptElm.crossOrigin;
|
|
86
|
+
script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {
|
|
87
|
+
type: 'application/javascript',
|
|
88
|
+
}));
|
|
89
|
+
mod = new Promise((resolve) => {
|
|
90
|
+
script.onload = () => {
|
|
91
|
+
resolve(win[importFunctionName].m);
|
|
92
|
+
script.remove();
|
|
93
|
+
};
|
|
94
|
+
});
|
|
95
|
+
moduleMap.set(url, mod);
|
|
96
|
+
doc.head.appendChild(script);
|
|
97
|
+
}
|
|
98
|
+
return mod;
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
const patchCloneNodeFix = (HTMLElementPrototype) => {
|
|
103
|
+
const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;
|
|
104
|
+
HTMLElementPrototype.cloneNode = function (deep) {
|
|
105
|
+
if (this.nodeName === 'TEMPLATE') {
|
|
106
|
+
return nativeCloneNodeFn.call(this, deep);
|
|
107
|
+
}
|
|
108
|
+
const clonedNode = nativeCloneNodeFn.call(this, false);
|
|
109
|
+
const srcChildNodes = this.childNodes;
|
|
110
|
+
if (deep) {
|
|
111
|
+
for (let i = 0; i < srcChildNodes.length; i++) {
|
|
112
|
+
// Node.ATTRIBUTE_NODE === 2, and checking because IE11
|
|
113
|
+
if (srcChildNodes[i].nodeType !== 2) {
|
|
114
|
+
clonedNode.appendChild(srcChildNodes[i].cloneNode(true));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return clonedNode;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
14
121
|
|
|
15
122
|
patchBrowser().then(options => {
|
|
16
|
-
|
|
123
|
+
globalScripts();
|
|
124
|
+
return bootstrapLazy([["xpl-avatar",[[4,"xpl-avatar",{"color":[1],"disabled":[4],"href":[1],"name":[1],"size":[1],"src":[1],"status":[1],"target":[1]}]]],["xpl-badge",[[4,"xpl-badge",{"dot":[4],"variant":[1]}]]],["xpl-breadcrumb-item",[[4,"xpl-breadcrumb-item"]]],["xpl-breadcrumbs",[[4,"xpl-breadcrumbs"]]],["xpl-button",[[4,"xpl-button",{"disabled":[4],"href":[1],"icon":[1],"iconOnly":[4,"icon-only"],"iconTrailing":[4,"icon-trailing"],"name":[1],"size":[1],"type":[1],"value":[1],"variant":[1]}]]],["xpl-checkbox",[[4,"xpl-checkbox",{"checked":[4],"description":[1],"disabled":[4],"indeterminate":[4],"name":[1],"required":[4],"value":[1],"id":[32]}]]],["xpl-choicelist",[[1,"xpl-choicelist"]]],["xpl-pagination",[[0,"xpl-pagination",{"total":[2],"perPage":[2,"per-page"],"waitForCallback":[4,"wait-for-callback"],"current":[32],"goto":[64]}]]],["xpl-radio",[[4,"xpl-radio",{"checked":[4],"description":[1],"disabled":[4],"name":[1],"required":[4],"value":[1],"id":[32]}]]],["xpl-table",[[0,"xpl-table",{"columns":[16],"data":[16],"freeze":[4],"multiselect":[4],"striped":[4],"areAllSelected":[32],"rowData":[32],"hasScrolled":[32],"selected":[32]}]]],["xpl-utility-bar",[[4,"xpl-utility-bar"]]]], options);
|
|
17
125
|
});
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Stencil Client Patch Esm v2.8.0 | MIT Licensed | https://stenciljs.com
|
|
3
|
+
*/
|
|
4
|
+
var __assign=undefined&&undefined.__assign||function(){return (__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)},StyleNode=function(){this.start=0,this.end=0,this.previous=null,this.parent=null,this.rules=null,this.parsedCssText="",this.cssText="",this.atRule=!1,this.type=0,this.keyframesName="",this.selector="",this.parsedSelector="";};function parse(e){return parseCss(lex(e=clean(e)),e)}function clean(e){return e.replace(RX.comments,"").replace(RX.port,"")}function lex(e){var t=new StyleNode;t.start=0,t.end=e.length;for(var r=t,n=0,s=e.length;n<s;n++)if(e[n]===OPEN_BRACE){r.rules||(r.rules=[]);var o=r,a=o.rules[o.rules.length-1]||null;(r=new StyleNode).start=n+1,r.parent=o,r.previous=a,o.rules.push(r);}else e[n]===CLOSE_BRACE&&(r.end=n+1,r=r.parent||t);return t}function parseCss(e,t){var r=t.substring(e.start,e.end-1);if(e.parsedCssText=e.cssText=r.trim(),e.parent){var n=e.previous?e.previous.end:e.parent.start;r=(r=(r=_expandUnicodeEscapes(r=t.substring(n,e.start-1))).replace(RX.multipleSpaces," ")).substring(r.lastIndexOf(";")+1);var s=e.parsedSelector=e.selector=r.trim();e.atRule=0===s.indexOf(AT_START),e.atRule?0===s.indexOf(MEDIA_START)?e.type=types.MEDIA_RULE:s.match(RX.keyframesRule)&&(e.type=types.KEYFRAMES_RULE,e.keyframesName=e.selector.split(RX.multipleSpaces).pop()):0===s.indexOf(VAR_START)?e.type=types.MIXIN_RULE:e.type=types.STYLE_RULE;}var o=e.rules;if(o)for(var a=0,i=o.length,l=void 0;a<i&&(l=o[a]);a++)parseCss(l,t);return e}function _expandUnicodeEscapes(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,(function(){for(var e=arguments[1],t=6-e.length;t--;)e="0"+e;return "\\"+e}))}var types={STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE:1e3},OPEN_BRACE="{",CLOSE_BRACE="}",RX={comments:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*keyframes/,multipleSpaces:/\s+/g},VAR_START="--",MEDIA_START="@media",AT_START="@";function findRegex(e,t,r){e.lastIndex=0;var n=t.substring(r).match(e);if(n){var s=r+n.index;return {start:s,end:s+n[0].length}}return null}var VAR_USAGE_START=/\bvar\(/,VAR_ASSIGN_START=/\B--[\w-]+\s*:/,COMMENTS=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,TRAILING_LINES=/^[\t ]+\n/gm;function resolveVar(e,t,r){return e[t]?e[t]:r?executeTemplate(r,e):""}function findVarEndIndex(e,t){for(var r=0,n=t;n<e.length;n++){var s=e[n];if("("===s)r++;else if(")"===s&&--r<=0)return n+1}return n}function parseVar(e,t){var r=findRegex(VAR_USAGE_START,e,t);if(!r)return null;var n=findVarEndIndex(e,r.start),s=e.substring(r.end,n-1).split(","),o=s[0],a=s.slice(1);return {start:r.start,end:n,propName:o.trim(),fallback:a.length>0?a.join(",").trim():void 0}}function compileVar(e,t,r){var n=parseVar(e,r);if(!n)return t.push(e.substring(r,e.length)),e.length;var s=n.propName,o=null!=n.fallback?compileTemplate(n.fallback):void 0;return t.push(e.substring(r,n.start),(function(e){return resolveVar(e,s,o)})),n.end}function executeTemplate(e,t){for(var r="",n=0;n<e.length;n++){var s=e[n];r+="string"==typeof s?s:s(t);}return r}function findEndValue(e,t){for(var r=!1,n=!1,s=t;s<e.length;s++){var o=e[s];if(r)n&&'"'===o&&(r=!1),n||"'"!==o||(r=!1);else if('"'===o)r=!0,n=!0;else if("'"===o)r=!0,n=!1;else {if(";"===o)return s+1;if("}"===o)return s}}return s}function removeCustomAssigns(e){for(var t="",r=0;;){var n=findRegex(VAR_ASSIGN_START,e,r),s=n?n.start:e.length;if(t+=e.substring(r,s),!n)break;r=findEndValue(e,s);}return t}function compileTemplate(e){var t=0;e=removeCustomAssigns(e=e.replace(COMMENTS,"")).replace(TRAILING_LINES,"");for(var r=[];t<e.length;)t=compileVar(e,r,t);return r}function resolveValues(e){var t={};e.forEach((function(e){e.declarations.forEach((function(e){t[e.prop]=e.value;}));}));for(var r={},n=Object.entries(t),s=function(e){var t=!1;if(n.forEach((function(e){var n=e[0],s=executeTemplate(e[1],r);s!==r[n]&&(r[n]=s,t=!0);})),!t)return "break"},o=0;o<10;o++){if("break"===s())break}return r}function getSelectors(e,t){if(void 0===t&&(t=0),!e.rules)return [];var r=[];return e.rules.filter((function(e){return e.type===types.STYLE_RULE})).forEach((function(e){var n=getDeclarations(e.cssText);n.length>0&&e.parsedSelector.split(",").forEach((function(e){e=e.trim(),r.push({selector:e,declarations:n,specificity:computeSpecificity(),nu:t});})),t++;})),r}function computeSpecificity(e){return 1}var IMPORTANT="!important",FIND_DECLARATIONS=/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gm;function getDeclarations(e){for(var t,r=[];t=FIND_DECLARATIONS.exec(e.trim());){var n=normalizeValue(t[2]),s=n.value,o=n.important;r.push({prop:t[1].trim(),value:compileTemplate(s),important:o});}return r}function normalizeValue(e){var t=(e=e.replace(/\s+/gim," ").trim()).endsWith(IMPORTANT);return t&&(e=e.substr(0,e.length-IMPORTANT.length).trim()),{value:e,important:t}}function getActiveSelectors(e,t,r){var n=[],s=getScopesForElement(t,e);return r.forEach((function(e){return n.push(e)})),s.forEach((function(e){return n.push(e)})),sortSelectors(getSelectorsForScopes(n).filter((function(t){return matches(e,t.selector)})))}function getScopesForElement(e,t){for(var r=[];t;){var n=e.get(t);n&&r.push(n),t=t.parentElement;}return r}function getSelectorsForScopes(e){var t=[];return e.forEach((function(e){t.push.apply(t,e.selectors);})),t}function sortSelectors(e){return e.sort((function(e,t){return e.specificity===t.specificity?e.nu-t.nu:e.specificity-t.specificity})),e}function matches(e,t){return ":root"===t||"html"===t||e.matches(t)}function parseCSS(e){var t=parse(e),r=compileTemplate(e);return {original:e,template:r,selectors:getSelectors(t),usesCssVars:r.length>1}}function addGlobalStyle(e,t){if(e.some((function(e){return e.styleEl===t})))return !1;var r=parseCSS(t.textContent);return r.styleEl=t,e.push(r),!0}function updateGlobalScopes(e){var t=resolveValues(getSelectorsForScopes(e));e.forEach((function(e){e.usesCssVars&&(e.styleEl.textContent=executeTemplate(e.template,t));}));}function reScope(e,t){var r=e.template.map((function(r){return "string"==typeof r?replaceScope(r,e.scopeId,t):r})),n=e.selectors.map((function(r){return __assign(__assign({},r),{selector:replaceScope(r.selector,e.scopeId,t)})}));return __assign(__assign({},e),{template:r,selectors:n,scopeId:t})}function replaceScope(e,t,r){return e=replaceAll(e,"\\."+t,"."+r)}function replaceAll(e,t,r){return e.replace(new RegExp(t,"g"),r)}function loadDocument(e,t){return loadDocumentStyles(e,t),loadDocumentLinks(e,t).then((function(){updateGlobalScopes(t);}))}function startWatcher(e,t){"undefined"!=typeof MutationObserver&&new MutationObserver((function(){loadDocumentStyles(e,t)&&updateGlobalScopes(t);})).observe(document.head,{childList:!0});}function loadDocumentLinks(e,t){for(var r=[],n=e.querySelectorAll('link[rel="stylesheet"][href]:not([data-no-shim])'),s=0;s<n.length;s++)r.push(addGlobalLink(e,t,n[s]));return Promise.all(r)}function loadDocumentStyles(e,t){return Array.from(e.querySelectorAll("style:not([data-styles]):not([data-no-shim])")).map((function(e){return addGlobalStyle(t,e)})).some(Boolean)}function addGlobalLink(e,t,r){var n=r.href;return fetch(n).then((function(e){return e.text()})).then((function(s){if(hasCssVariables(s)&&r.parentNode){hasRelativeUrls(s)&&(s=fixRelativeUrls(s,n));var o=e.createElement("style");o.setAttribute("data-styles",""),o.textContent=s,addGlobalStyle(t,o),r.parentNode.insertBefore(o,r),r.remove();}})).catch((function(e){console.error(e);}))}var CSS_VARIABLE_REGEXP=/[\s;{]--[-a-zA-Z0-9]+\s*:/m;function hasCssVariables(e){return e.indexOf("var(")>-1||CSS_VARIABLE_REGEXP.test(e)}var CSS_URL_REGEXP=/url[\s]*\([\s]*['"]?(?!(?:https?|data)\:|\/)([^\'\"\)]*)[\s]*['"]?\)[\s]*/gim;function hasRelativeUrls(e){return CSS_URL_REGEXP.lastIndex=0,CSS_URL_REGEXP.test(e)}function fixRelativeUrls(e,t){var r=t.replace(/[^/]*$/,"");return e.replace(CSS_URL_REGEXP,(function(e,t){var n=r+t;return e.replace(t,n)}))}var CustomStyle=function(){function e(e,t){this.win=e,this.doc=t,this.count=0,this.hostStyleMap=new WeakMap,this.hostScopeMap=new WeakMap,this.globalScopes=[],this.scopesMap=new Map,this.didInit=!1;}return e.prototype.i=function(){var e=this;return this.didInit||!this.win.requestAnimationFrame?Promise.resolve():(this.didInit=!0,new Promise((function(t){e.win.requestAnimationFrame((function(){startWatcher(e.doc,e.globalScopes),loadDocument(e.doc,e.globalScopes).then((function(){return t()}));}));})))},e.prototype.addLink=function(e){var t=this;return addGlobalLink(this.doc,this.globalScopes,e).then((function(){t.updateGlobal();}))},e.prototype.addGlobalStyle=function(e){addGlobalStyle(this.globalScopes,e)&&this.updateGlobal();},e.prototype.createHostStyle=function(e,t,r,n){if(this.hostScopeMap.has(e))throw new Error("host style already created");var s=this.registerHostTemplate(r,t,n),o=this.doc.createElement("style");return o.setAttribute("data-no-shim",""),s.usesCssVars?n?(o["s-sc"]=t=s.scopeId+"-"+this.count,o.textContent="/*needs update*/",this.hostStyleMap.set(e,o),this.hostScopeMap.set(e,reScope(s,t)),this.count++):(s.styleEl=o,s.usesCssVars||(o.textContent=executeTemplate(s.template,{})),this.globalScopes.push(s),this.updateGlobal(),this.hostScopeMap.set(e,s)):o.textContent=r,o},e.prototype.removeHost=function(e){var t=this.hostStyleMap.get(e);t&&t.remove(),this.hostStyleMap.delete(e),this.hostScopeMap.delete(e);},e.prototype.updateHost=function(e){var t=this.hostScopeMap.get(e);if(t&&t.usesCssVars&&t.isScoped){var r=this.hostStyleMap.get(e);if(r){var n=resolveValues(getActiveSelectors(e,this.hostScopeMap,this.globalScopes));r.textContent=executeTemplate(t.template,n);}}},e.prototype.updateGlobal=function(){updateGlobalScopes(this.globalScopes);},e.prototype.registerHostTemplate=function(e,t,r){var n=this.scopesMap.get(t);return n||((n=parseCSS(e)).scopeId=t,n.isScoped=r,this.scopesMap.set(t,n)),n},e}();!function(e){!e||e.__cssshim||e.CSS&&e.CSS.supports&&e.CSS.supports("color","var(--c)")||(e.__cssshim=new CustomStyle(e,e.document));}("undefined"!=typeof window&&window);
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Stencil Client Patch Browser v2.8.0 | MIT Licensed | https://stenciljs.com
|
|
3
|
+
*/
|
|
4
|
+
(function(){
|
|
5
|
+
var aa=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function g(a){var b=aa.has(a);a=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);return !b&&a}function l(a){var b=a.isConnected;if(void 0!==b)return b;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return !(!a||!(a.__CE_isImportDocument||a instanceof Document))}
|
|
6
|
+
function n(a,b){for(;b&&b!==a&&!b.nextSibling;)b=b.parentNode;return b&&b!==a?b.nextSibling:null}
|
|
7
|
+
function p(a,b,d){d=void 0===d?new Set:d;for(var c=a;c;){if(c.nodeType===Node.ELEMENT_NODE){var e=c;b(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){c=e.import;if(c instanceof Node&&!d.has(c))for(d.add(c),c=c.firstChild;c;c=c.nextSibling)p(c,b,d);c=n(a,e);continue}else if("template"===f){c=n(a,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)p(e,b,d);}c=c.firstChild?c.firstChild:n(a,c);}}function r(a,b,d){a[b]=d;}function u(){this.a=new Map;this.g=new Map;this.c=[];this.f=[];this.b=!1;}function ba(a,b,d){a.a.set(b,d);a.g.set(d.constructorFunction,d);}function ca(a,b){a.b=!0;a.c.push(b);}function da(a,b){a.b=!0;a.f.push(b);}function v(a,b){a.b&&p(b,function(b){return w(a,b)});}function w(a,b){if(a.b&&!b.__CE_patched){b.__CE_patched=!0;for(var d=0;d<a.c.length;d++)a.c[d](b);for(d=0;d<a.f.length;d++)a.f[d](b);}}
|
|
8
|
+
function x(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b<d.length;b++){var c=d[b];1===c.__CE_state?a.connectedCallback(c):y(a,c);}}function z(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b<d.length;b++){var c=d[b];1===c.__CE_state&&a.disconnectedCallback(c);}}
|
|
9
|
+
function A(a,b,d){d=void 0===d?{}:d;var c=d.u||new Set,e=d.i||function(b){return y(a,b)},f=[];p(b,function(b){if("link"===b.localName&&"import"===b.getAttribute("rel")){var d=b.import;d instanceof Node&&(d.__CE_isImportDocument=!0,d.__CE_hasRegistry=!0);d&&"complete"===d.readyState?d.__CE_documentLoadHandled=!0:b.addEventListener("load",function(){var d=b.import;if(!d.__CE_documentLoadHandled){d.__CE_documentLoadHandled=!0;var f=new Set(c);f.delete(d);A(a,d,{u:f,i:e});}});}else f.push(b);},c);if(a.b)for(b=
|
|
10
|
+
0;b<f.length;b++)w(a,f[b]);for(b=0;b<f.length;b++)e(f[b]);}
|
|
11
|
+
function y(a,b){if(void 0===b.__CE_state){var d=b.ownerDocument;if(d.defaultView||d.__CE_isImportDocument&&d.__CE_hasRegistry)if(d=a.a.get(b.localName)){d.constructionStack.push(b);var c=d.constructorFunction;try{try{if(new c!==b)throw Error("The custom element constructor did not produce the element being upgraded.");}finally{d.constructionStack.pop();}}catch(t){throw b.__CE_state=2,t;}b.__CE_state=1;b.__CE_definition=d;if(d.attributeChangedCallback)for(d=d.observedAttributes,c=0;c<d.length;c++){var e=
|
|
12
|
+
d[c],f=b.getAttribute(e);null!==f&&a.attributeChangedCallback(b,e,null,f,null);}l(b)&&a.connectedCallback(b);}}}u.prototype.connectedCallback=function(a){var b=a.__CE_definition;b.connectedCallback&&b.connectedCallback.call(a);};u.prototype.disconnectedCallback=function(a){var b=a.__CE_definition;b.disconnectedCallback&&b.disconnectedCallback.call(a);};
|
|
13
|
+
u.prototype.attributeChangedCallback=function(a,b,d,c,e){var f=a.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(b)&&f.attributeChangedCallback.call(a,b,d,c,e);};function B(a){var b=document;this.c=a;this.a=b;this.b=void 0;A(this.c,this.a);"loading"===this.a.readyState&&(this.b=new MutationObserver(this.f.bind(this)),this.b.observe(this.a,{childList:!0,subtree:!0}));}function C(a){a.b&&a.b.disconnect();}B.prototype.f=function(a){var b=this.a.readyState;"interactive"!==b&&"complete"!==b||C(this);for(b=0;b<a.length;b++)for(var d=a[b].addedNodes,c=0;c<d.length;c++)A(this.c,d[c]);};function ea(){var a=this;this.b=this.a=void 0;this.c=new Promise(function(b){a.b=b;a.a&&b(a.a);});}function D(a){if(a.a)throw Error("Already resolved.");a.a=void 0;a.b&&a.b(void 0);}function E(a){this.c=!1;this.a=a;this.j=new Map;this.f=function(b){return b()};this.b=!1;this.g=[];this.o=new B(a);}
|
|
14
|
+
E.prototype.l=function(a,b){var d=this;if(!(b instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!g(a))throw new SyntaxError("The element name '"+a+"' is not valid.");if(this.a.a.get(a))throw Error("A custom element with name '"+a+"' has already been defined.");if(this.c)throw Error("A custom element is already being defined.");this.c=!0;try{var c=function(b){var a=e[b];if(void 0!==a&&!(a instanceof Function))throw Error("The '"+b+"' callback must be a function.");
|
|
15
|
+
return a},e=b.prototype;if(!(e instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var f=c("connectedCallback");var t=c("disconnectedCallback");var k=c("adoptedCallback");var h=c("attributeChangedCallback");var m=b.observedAttributes||[];}catch(q){return}finally{this.c=!1;}b={localName:a,constructorFunction:b,connectedCallback:f,disconnectedCallback:t,adoptedCallback:k,attributeChangedCallback:h,observedAttributes:m,constructionStack:[]};ba(this.a,
|
|
16
|
+
a,b);this.g.push(b);this.b||(this.b=!0,this.f(function(){return fa(d)}));};E.prototype.i=function(a){A(this.a,a);};
|
|
17
|
+
function fa(a){if(!1!==a.b){a.b=!1;for(var b=a.g,d=[],c=new Map,e=0;e<b.length;e++)c.set(b[e].localName,[]);A(a.a,document,{i:function(b){if(void 0===b.__CE_state){var e=b.localName,f=c.get(e);f?f.push(b):a.a.a.get(e)&&d.push(b);}}});for(e=0;e<d.length;e++)y(a.a,d[e]);for(;0<b.length;){var f=b.shift();e=f.localName;f=c.get(f.localName);for(var t=0;t<f.length;t++)y(a.a,f[t]);(e=a.j.get(e))&&D(e);}}}E.prototype.get=function(a){if(a=this.a.a.get(a))return a.constructorFunction};
|
|
18
|
+
E.prototype.m=function(a){if(!g(a))return Promise.reject(new SyntaxError("'"+a+"' is not a valid custom element name."));var b=this.j.get(a);if(b)return b.c;b=new ea;this.j.set(a,b);this.a.a.get(a)&&!this.g.some(function(b){return b.localName===a})&&D(b);return b.c};E.prototype.s=function(a){C(this.o);var b=this.f;this.f=function(d){return a(function(){return b(d)})};};window.CustomElementRegistry=E;E.prototype.define=E.prototype.l;E.prototype.upgrade=E.prototype.i;E.prototype.get=E.prototype.get;
|
|
19
|
+
E.prototype.whenDefined=E.prototype.m;E.prototype.polyfillWrapFlushCallback=E.prototype.s;var F=window.Document.prototype.createElement,G=window.Document.prototype.createElementNS,ha=window.Document.prototype.importNode,ia=window.Document.prototype.prepend,ja=window.Document.prototype.append,ka=window.DocumentFragment.prototype.prepend,la=window.DocumentFragment.prototype.append,H=window.Node.prototype.cloneNode,I=window.Node.prototype.appendChild,J=window.Node.prototype.insertBefore,K=window.Node.prototype.removeChild,L=window.Node.prototype.replaceChild,M=Object.getOwnPropertyDescriptor(window.Node.prototype,
|
|
20
|
+
"textContent"),N=window.Element.prototype.attachShadow,O=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),P=window.Element.prototype.getAttribute,Q=window.Element.prototype.setAttribute,R=window.Element.prototype.removeAttribute,S=window.Element.prototype.getAttributeNS,T=window.Element.prototype.setAttributeNS,U=window.Element.prototype.removeAttributeNS,ma=window.Element.prototype.insertAdjacentElement,na=window.Element.prototype.insertAdjacentHTML,oa=window.Element.prototype.prepend,
|
|
21
|
+
pa=window.Element.prototype.append,V=window.Element.prototype.before,qa=window.Element.prototype.after,ra=window.Element.prototype.replaceWith,sa=window.Element.prototype.remove,ta=window.HTMLElement,W=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),ua=window.HTMLElement.prototype.insertAdjacentElement,va=window.HTMLElement.prototype.insertAdjacentHTML;var wa=new function(){};function xa(){var a=X;window.HTMLElement=function(){function b(){var b=this.constructor,c=a.g.get(b);if(!c)throw Error("The custom element being constructed was not registered with `customElements`.");var e=c.constructionStack;if(0===e.length)return e=F.call(document,c.localName),Object.setPrototypeOf(e,b.prototype),e.__CE_state=1,e.__CE_definition=c,w(a,e),e;c=e.length-1;var f=e[c];if(f===wa)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");
|
|
22
|
+
e[c]=wa;Object.setPrototypeOf(f,b.prototype);w(a,f);return f}b.prototype=ta.prototype;Object.defineProperty(b.prototype,"constructor",{writable:!0,configurable:!0,enumerable:!1,value:b});return b}();}function Y(a,b,d){function c(b){return function(d){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var f=[],m=0;m<e.length;m++){var q=e[m];q instanceof Element&&l(q)&&f.push(q);if(q instanceof DocumentFragment)for(q=q.firstChild;q;q=q.nextSibling)c.push(q);else c.push(q);}b.apply(this,e);for(e=0;e<f.length;e++)z(a,f[e]);if(l(this))for(e=0;e<c.length;e++)f=c[e],f instanceof Element&&x(a,f);}}void 0!==d.h&&(b.prepend=c(d.h));void 0!==d.append&&(b.append=c(d.append));}function ya(){var a=X;r(Document.prototype,"createElement",function(b){if(this.__CE_hasRegistry){var d=a.a.get(b);if(d)return new d.constructorFunction}b=F.call(this,b);w(a,b);return b});r(Document.prototype,"importNode",function(b,d){b=ha.call(this,b,!!d);this.__CE_hasRegistry?A(a,b):v(a,b);return b});r(Document.prototype,"createElementNS",function(b,d){if(this.__CE_hasRegistry&&(null===b||"http://www.w3.org/1999/xhtml"===b)){var c=a.a.get(d);if(c)return new c.constructorFunction}b=G.call(this,b,
|
|
23
|
+
d);w(a,b);return b});Y(a,Document.prototype,{h:ia,append:ja});}function za(){function a(a,c){Object.defineProperty(a,"textContent",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(a){if(this.nodeType===Node.TEXT_NODE)c.set.call(this,a);else {var d=void 0;if(this.firstChild){var e=this.childNodes,k=e.length;if(0<k&&l(this)){d=Array(k);for(var h=0;h<k;h++)d[h]=e[h];}}c.set.call(this,a);if(d)for(a=0;a<d.length;a++)z(b,d[a]);}}});}var b=X;r(Node.prototype,"insertBefore",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);
|
|
24
|
+
a=J.call(this,a,c);if(l(this))for(c=0;c<e.length;c++)x(b,e[c]);return a}e=l(a);c=J.call(this,a,c);e&&z(b,a);l(this)&&x(b,a);return c});r(Node.prototype,"appendChild",function(a){if(a instanceof DocumentFragment){var c=Array.prototype.slice.apply(a.childNodes);a=I.call(this,a);if(l(this))for(var e=0;e<c.length;e++)x(b,c[e]);return a}c=l(a);e=I.call(this,a);c&&z(b,a);l(this)&&x(b,a);return e});r(Node.prototype,"cloneNode",function(a){a=H.call(this,!!a);this.ownerDocument.__CE_hasRegistry?A(b,a):v(b,
|
|
25
|
+
a);return a});r(Node.prototype,"removeChild",function(a){var c=l(a),e=K.call(this,a);c&&z(b,a);return e});r(Node.prototype,"replaceChild",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);a=L.call(this,a,c);if(l(this))for(z(b,c),c=0;c<e.length;c++)x(b,e[c]);return a}e=l(a);var f=L.call(this,a,c),d=l(this);d&&z(b,c);e&&z(b,a);d&&x(b,a);return f});M&&M.get?a(Node.prototype,M):ca(b,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){for(var a=[],
|
|
26
|
+
b=0;b<this.childNodes.length;b++){var f=this.childNodes[b];f.nodeType!==Node.COMMENT_NODE&&a.push(f.textContent);}return a.join("")},set:function(a){for(;this.firstChild;)K.call(this,this.firstChild);null!=a&&""!==a&&I.call(this,document.createTextNode(a));}});});}function Aa(a){function b(b){return function(e){for(var c=[],d=0;d<arguments.length;++d)c[d]=arguments[d];d=[];for(var k=[],h=0;h<c.length;h++){var m=c[h];m instanceof Element&&l(m)&&k.push(m);if(m instanceof DocumentFragment)for(m=m.firstChild;m;m=m.nextSibling)d.push(m);else d.push(m);}b.apply(this,c);for(c=0;c<k.length;c++)z(a,k[c]);if(l(this))for(c=0;c<d.length;c++)k=d[c],k instanceof Element&&x(a,k);}}var d=Element.prototype;void 0!==V&&(d.before=b(V));void 0!==V&&(d.after=b(qa));void 0!==ra&&
|
|
27
|
+
r(d,"replaceWith",function(b){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var d=[],k=0;k<e.length;k++){var h=e[k];h instanceof Element&&l(h)&&d.push(h);if(h instanceof DocumentFragment)for(h=h.firstChild;h;h=h.nextSibling)c.push(h);else c.push(h);}k=l(this);ra.apply(this,e);for(e=0;e<d.length;e++)z(a,d[e]);if(k)for(z(a,this),e=0;e<c.length;e++)d=c[e],d instanceof Element&&x(a,d);});void 0!==sa&&r(d,"remove",function(){var b=l(this);sa.call(this);b&&z(a,this);});}function Ba(){function a(a,b){Object.defineProperty(a,"innerHTML",{enumerable:b.enumerable,configurable:!0,get:b.get,set:function(a){var e=this,d=void 0;l(this)&&(d=[],p(this,function(a){a!==e&&d.push(a);}));b.set.call(this,a);if(d)for(var f=0;f<d.length;f++){var t=d[f];1===t.__CE_state&&c.disconnectedCallback(t);}this.ownerDocument.__CE_hasRegistry?A(c,this):v(c,this);return a}});}function b(a,b){r(a,"insertAdjacentElement",function(a,e){var d=l(e);a=b.call(this,a,e);d&&z(c,e);l(a)&&x(c,e);return a});}
|
|
28
|
+
function d(a,b){function e(a,b){for(var e=[];a!==b;a=a.nextSibling)e.push(a);for(b=0;b<e.length;b++)A(c,e[b]);}r(a,"insertAdjacentHTML",function(a,c){a=a.toLowerCase();if("beforebegin"===a){var d=this.previousSibling;b.call(this,a,c);e(d||this.parentNode.firstChild,this);}else if("afterbegin"===a)d=this.firstChild,b.call(this,a,c),e(this.firstChild,d);else if("beforeend"===a)d=this.lastChild,b.call(this,a,c),e(d||this.firstChild,null);else if("afterend"===a)d=this.nextSibling,b.call(this,a,c),e(this.nextSibling,
|
|
29
|
+
d);else throw new SyntaxError("The value provided ("+String(a)+") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");});}var c=X;N&&r(Element.prototype,"attachShadow",function(a){a=N.call(this,a);var b=c;if(b.b&&!a.__CE_patched){a.__CE_patched=!0;for(var e=0;e<b.c.length;e++)b.c[e](a);}return this.__CE_shadowRoot=a});O&&O.get?a(Element.prototype,O):W&&W.get?a(HTMLElement.prototype,W):da(c,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){return H.call(this,!0).innerHTML},
|
|
30
|
+
set:function(a){var b="template"===this.localName,c=b?this.content:this,e=G.call(document,this.namespaceURI,this.localName);for(e.innerHTML=a;0<c.childNodes.length;)K.call(c,c.childNodes[0]);for(a=b?e.content:e;0<a.childNodes.length;)I.call(c,a.childNodes[0]);}});});r(Element.prototype,"setAttribute",function(a,b){if(1!==this.__CE_state)return Q.call(this,a,b);var e=P.call(this,a);Q.call(this,a,b);b=P.call(this,a);c.attributeChangedCallback(this,a,e,b,null);});r(Element.prototype,"setAttributeNS",function(a,
|
|
31
|
+
b,d){if(1!==this.__CE_state)return T.call(this,a,b,d);var e=S.call(this,a,b);T.call(this,a,b,d);d=S.call(this,a,b);c.attributeChangedCallback(this,b,e,d,a);});r(Element.prototype,"removeAttribute",function(a){if(1!==this.__CE_state)return R.call(this,a);var b=P.call(this,a);R.call(this,a);null!==b&&c.attributeChangedCallback(this,a,b,null,null);});r(Element.prototype,"removeAttributeNS",function(a,b){if(1!==this.__CE_state)return U.call(this,a,b);var d=S.call(this,a,b);U.call(this,a,b);var e=S.call(this,
|
|
32
|
+
a,b);d!==e&&c.attributeChangedCallback(this,b,d,e,a);});ua?b(HTMLElement.prototype,ua):ma?b(Element.prototype,ma):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");va?d(HTMLElement.prototype,va):na?d(Element.prototype,na):console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched.");Y(c,Element.prototype,{h:oa,append:pa});Aa(c);}var Z=window.customElements;if(!Z||Z.forcePolyfill||"function"!=typeof Z.define||"function"!=typeof Z.get){var X=new u;xa();ya();Y(X,DocumentFragment.prototype,{h:ka,append:la});za();Ba();document.__CE_hasRegistry=!0;var customElements=new E(X);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:customElements});}}).call(self);
|
|
33
|
+
|
|
34
|
+
// Polyfill document.baseURI
|
|
35
|
+
"string"!==typeof document.baseURI&&Object.defineProperty(Document.prototype,"baseURI",{enumerable:!0,configurable:!0,get:function(){var a=document.querySelector("base");return a&&a.href?a.href:document.URL}});
|
|
36
|
+
|
|
37
|
+
// Polyfill CustomEvent
|
|
38
|
+
"function"!==typeof window.CustomEvent&&(window.CustomEvent=function(c,a){a=a||{bubbles:!1,cancelable:!1,detail:void 0};var b=document.createEvent("CustomEvent");b.initCustomEvent(c,a.bubbles,a.cancelable,a.detail);return b},window.CustomEvent.prototype=window.Event.prototype);
|
|
39
|
+
|
|
40
|
+
// Event.composedPath
|
|
41
|
+
(function(b,c,d){b.composedPath||(b.composedPath=function(){if(this.path)return this.path;var a=this.target;for(this.path=[];null!==a.parentNode;)this.path.push(a),a=a.parentNode;this.path.push(c,d);return this.path});})(Event.prototype,document,window);
|
|
42
|
+
|
|
43
|
+
/*!
|
|
44
|
+
Element.closest and Element.matches
|
|
45
|
+
https://github.com/jonathantneal/closest
|
|
46
|
+
Creative Commons Zero v1.0 Universal
|
|
47
|
+
*/
|
|
48
|
+
(function(a){"function"!==typeof a.matches&&(a.matches=a.msMatchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||function(a){a=(this.document||this.ownerDocument).querySelectorAll(a);for(var b=0;a[b]&&a[b]!==this;)++b;return !!a[b]});"function"!==typeof a.closest&&(a.closest=function(a){for(var b=this;b&&1===b.nodeType;){if(b.matches(a))return b;b=b.parentNode;}return null});})(window.Element.prototype);
|
|
49
|
+
|
|
50
|
+
/*!
|
|
51
|
+
Element.getRootNode()
|
|
52
|
+
*/
|
|
53
|
+
(function(c){function d(a){a=b(a);return a&&11===a.nodeType?d(a.host):a}function b(a){return a&&a.parentNode?b(a.parentNode):a}"function"!==typeof c.getRootNode&&(c.getRootNode=function(a){return a&&a.composed?d(this):b(this)});})(Element.prototype);
|
|
54
|
+
|
|
55
|
+
/*!
|
|
56
|
+
Element.isConnected()
|
|
57
|
+
*/
|
|
58
|
+
(function(a){"isConnected"in a||Object.defineProperty(a,"isConnected",{configurable:!0,enumerable:!0,get:function(){var a=this.getRootNode({composed:!0});return a&&9===a.nodeType}});})(Element.prototype);
|
|
59
|
+
|
|
60
|
+
/*!
|
|
61
|
+
Element.remove()
|
|
62
|
+
*/
|
|
63
|
+
(function(b){b.forEach(function(a){a.hasOwnProperty("remove")||Object.defineProperty(a,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this);}});});})([Element.prototype,CharacterData.prototype,DocumentType.prototype]);
|
|
64
|
+
|
|
65
|
+
/*!
|
|
66
|
+
Element.classList
|
|
67
|
+
*/
|
|
68
|
+
!function(e){'classList'in e||Object.defineProperty(e,"classList",{get:function(){var e=this,t=(e.getAttribute("class")||"").replace(/^\s+|\s$/g,"").split(/\s+/g);function n(){t.length>0?e.setAttribute("class",t.join(" ")):e.removeAttribute("class");}return ""===t[0]&&t.splice(0,1),t.toggle=function(e,i){void 0!==i?i?t.add(e):t.remove(e):-1!==t.indexOf(e)?t.splice(t.indexOf(e),1):t.push(e),n();},t.add=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i<s;i++)-1===t.indexOf(e[i])&&t.push(e[i]);n();},t.remove=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i<s;i++)-1!==t.indexOf(e[i])&&t.splice(t.indexOf(e[i]),1);n();},t.item=function(e){return t[e]},t.contains=function(e){return -1!==t.indexOf(e)},t.replace=function(e,i){-1!==t.indexOf(e)&&t.splice(t.indexOf(e),1,i),n();},t.value=e.getAttribute("class")||"",t}});}(Element.prototype);
|
|
69
|
+
|
|
70
|
+
/*!
|
|
71
|
+
DOMTokenList
|
|
72
|
+
*/
|
|
73
|
+
(function(b){try{document.body.classList.add();}catch(e){var c=b.add,d=b.remove;b.add=function(){for(var a=0;a<arguments.length;a++)c.call(this,arguments[a]);};b.remove=function(){for(var a=0;a<arguments.length;a++)d.call(this,arguments[a]);};}})(DOMTokenList.prototype);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const NAMESPACE = 'apollo-core';
|
|
2
2
|
|
|
3
|
+
let scopeId;
|
|
3
4
|
let contentRef;
|
|
4
5
|
let hostTagName;
|
|
5
6
|
let useNativeShadowDom = false;
|
|
@@ -12,8 +13,8 @@ const doc = win.document || { head: {} };
|
|
|
12
13
|
const plt = {
|
|
13
14
|
$flags$: 0,
|
|
14
15
|
$resourcesUrl$: '',
|
|
15
|
-
jmp: h => h(),
|
|
16
|
-
raf: h => requestAnimationFrame(h),
|
|
16
|
+
jmp: (h) => h(),
|
|
17
|
+
raf: (h) => requestAnimationFrame(h),
|
|
17
18
|
ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
|
|
18
19
|
rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
|
|
19
20
|
ce: (eventName, opts) => new CustomEvent(eventName, opts),
|
|
@@ -47,6 +48,7 @@ const EMPTY_OBJ = {};
|
|
|
47
48
|
*/
|
|
48
49
|
const SVG_NS = 'http://www.w3.org/2000/svg';
|
|
49
50
|
const HTML_NS = 'http://www.w3.org/1999/xhtml';
|
|
51
|
+
const isDef = (v) => v != null;
|
|
50
52
|
const isComplexType = (o) => {
|
|
51
53
|
// https://jsperf.com/typeof-fn-object/5
|
|
52
54
|
o = typeof o;
|
|
@@ -103,7 +105,7 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
103
105
|
typeof classData !== 'object'
|
|
104
106
|
? classData
|
|
105
107
|
: Object.keys(classData)
|
|
106
|
-
.filter(k => classData[k])
|
|
108
|
+
.filter((k) => classData[k])
|
|
107
109
|
.join(' ');
|
|
108
110
|
}
|
|
109
111
|
}
|
|
@@ -152,8 +154,8 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
152
154
|
const classList = elm.classList;
|
|
153
155
|
const oldClasses = parseClassList(oldValue);
|
|
154
156
|
const newClasses = parseClassList(newValue);
|
|
155
|
-
classList.remove(...oldClasses.filter(c => c && !newClasses.includes(c)));
|
|
156
|
-
classList.add(...newClasses.filter(c => c && !oldClasses.includes(c)));
|
|
157
|
+
classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
|
|
158
|
+
classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
|
|
157
159
|
}
|
|
158
160
|
else if (memberName === 'ref') {
|
|
159
161
|
// minifier will clean this up
|
|
@@ -161,7 +163,9 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
161
163
|
newValue(elm);
|
|
162
164
|
}
|
|
163
165
|
}
|
|
164
|
-
else if ((!isProp ) &&
|
|
166
|
+
else if ((!isProp ) &&
|
|
167
|
+
memberName[0] === 'o' &&
|
|
168
|
+
memberName[1] === 'n') {
|
|
165
169
|
// Event Handlers
|
|
166
170
|
// so if the member name starts with "on" and the 3rd characters is
|
|
167
171
|
// a capital letter, and it's not already a member on the element,
|
|
@@ -242,7 +246,9 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
|
|
|
242
246
|
// if the element passed in is a shadow root, which is a document fragment
|
|
243
247
|
// then we want to be adding attrs/props to the shadow root's "host" element
|
|
244
248
|
// if it's not a shadow root, then we add attrs/props to the same element
|
|
245
|
-
const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host
|
|
249
|
+
const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host
|
|
250
|
+
? newVnode.$elm$.host
|
|
251
|
+
: newVnode.$elm$;
|
|
246
252
|
const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;
|
|
247
253
|
const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
|
|
248
254
|
{
|
|
@@ -269,6 +275,10 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
269
275
|
// remember for later we need to check to relocate nodes
|
|
270
276
|
checkSlotRelocate = true;
|
|
271
277
|
if (newVNode.$tag$ === 'slot') {
|
|
278
|
+
if (scopeId) {
|
|
279
|
+
// scoped css needs to add its scoped id to the parent element
|
|
280
|
+
parentElm.classList.add(scopeId + '-s');
|
|
281
|
+
}
|
|
272
282
|
newVNode.$flags$ |= newVNode.$children$
|
|
273
283
|
? // slot element has fallback content
|
|
274
284
|
2 /* isSlotFallback */
|
|
@@ -282,14 +292,17 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
282
292
|
}
|
|
283
293
|
else if (newVNode.$flags$ & 1 /* isSlotReference */) {
|
|
284
294
|
// create a slot reference node
|
|
285
|
-
elm = newVNode.$elm$ =
|
|
295
|
+
elm = newVNode.$elm$ =
|
|
296
|
+
doc.createTextNode('');
|
|
286
297
|
}
|
|
287
298
|
else {
|
|
288
299
|
if (!isSvgMode) {
|
|
289
300
|
isSvgMode = newVNode.$tag$ === 'svg';
|
|
290
301
|
}
|
|
291
302
|
// create element
|
|
292
|
-
elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* isSlotFallback */
|
|
303
|
+
elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* isSlotFallback */
|
|
304
|
+
? 'slot-fb'
|
|
305
|
+
: newVNode.$tag$)
|
|
293
306
|
);
|
|
294
307
|
if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
|
|
295
308
|
isSvgMode = false;
|
|
@@ -298,10 +311,15 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
298
311
|
{
|
|
299
312
|
updateElement(null, newVNode, isSvgMode);
|
|
300
313
|
}
|
|
314
|
+
if (isDef(scopeId) && elm['s-si'] !== scopeId) {
|
|
315
|
+
// if there is a scopeId and this is the initial render
|
|
316
|
+
// then let's add the scopeId as a css class
|
|
317
|
+
elm.classList.add((elm['s-si'] = scopeId));
|
|
318
|
+
}
|
|
301
319
|
if (newVNode.$children$) {
|
|
302
320
|
for (i = 0; i < newVNode.$children$.length; ++i) {
|
|
303
321
|
// create the node
|
|
304
|
-
childNode = createElm(oldParentVNode, newVNode, i);
|
|
322
|
+
childNode = createElm(oldParentVNode, newVNode, i, elm);
|
|
305
323
|
// return node could have been null
|
|
306
324
|
if (childNode) {
|
|
307
325
|
// append our new node
|
|
@@ -367,9 +385,12 @@ const putBackInOriginalLocation = (parentElm, recursive) => {
|
|
|
367
385
|
const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
|
|
368
386
|
let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
|
|
369
387
|
let childNode;
|
|
388
|
+
if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
|
|
389
|
+
containerElm = containerElm.shadowRoot;
|
|
390
|
+
}
|
|
370
391
|
for (; startIdx <= endIdx; ++startIdx) {
|
|
371
392
|
if (vnodes[startIdx]) {
|
|
372
|
-
childNode = createElm(null, parentVNode, startIdx);
|
|
393
|
+
childNode = createElm(null, parentVNode, startIdx, parentElm);
|
|
373
394
|
if (childNode) {
|
|
374
395
|
vnodes[startIdx].$elm$ = childNode;
|
|
375
396
|
containerElm.insertBefore(childNode, referenceNode(before) );
|
|
@@ -458,7 +479,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
458
479
|
else {
|
|
459
480
|
{
|
|
460
481
|
// new element
|
|
461
|
-
node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
|
|
482
|
+
node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
|
|
462
483
|
newStartVnode = newCh[++newStartIdx];
|
|
463
484
|
}
|
|
464
485
|
if (node) {
|
|
@@ -621,7 +642,7 @@ const relocateSlotContent = (elm) => {
|
|
|
621
642
|
// that is suppose to always represent the original content location
|
|
622
643
|
if (isNodeLocatedInSlot(node, slotNameAttr)) {
|
|
623
644
|
// it's possible we've already decided to relocate this node
|
|
624
|
-
relocateNodeData = relocateNodes.find(r => r.$nodeToRelocate$ === node);
|
|
645
|
+
relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
|
|
625
646
|
// made some changes to slots
|
|
626
647
|
// let's make sure we also double check
|
|
627
648
|
// fallbacks are correctly hidden or shown
|
|
@@ -640,9 +661,9 @@ const relocateSlotContent = (elm) => {
|
|
|
640
661
|
});
|
|
641
662
|
}
|
|
642
663
|
if (node['s-sr']) {
|
|
643
|
-
relocateNodes.map(relocateNode => {
|
|
664
|
+
relocateNodes.map((relocateNode) => {
|
|
644
665
|
if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
|
|
645
|
-
relocateNodeData = relocateNodes.find(r => r.$nodeToRelocate$ === node);
|
|
666
|
+
relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
|
|
646
667
|
if (relocateNodeData && !relocateNode.$slotRefNode$) {
|
|
647
668
|
relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
|
|
648
669
|
}
|
|
@@ -650,7 +671,7 @@ const relocateSlotContent = (elm) => {
|
|
|
650
671
|
});
|
|
651
672
|
}
|
|
652
673
|
}
|
|
653
|
-
else if (!relocateNodes.some(r => r.$nodeToRelocate$ === node)) {
|
|
674
|
+
else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
|
|
654
675
|
// so far this element does not have a slot home, not setting slotRefNode on purpose
|
|
655
676
|
// if we never find a home for this element then we'll need to hide it
|
|
656
677
|
relocateNodes.push({
|
|
@@ -695,7 +716,10 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
695
716
|
rootVnode.$tag$ = null;
|
|
696
717
|
rootVnode.$flags$ |= 4 /* isHost */;
|
|
697
718
|
hostRef.$vnode$ = rootVnode;
|
|
698
|
-
rootVnode.$elm$ = oldVNode.$elm$ = (hostElm);
|
|
719
|
+
rootVnode.$elm$ = oldVNode.$elm$ = (hostElm.shadowRoot || hostElm );
|
|
720
|
+
{
|
|
721
|
+
scopeId = hostElm['s-sc'];
|
|
722
|
+
}
|
|
699
723
|
{
|
|
700
724
|
contentRef = hostElm['s-cr'];
|
|
701
725
|
useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
|
|
@@ -723,7 +747,8 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
723
747
|
if (!nodeToRelocate['s-ol']) {
|
|
724
748
|
// add a reference node marking this node's original location
|
|
725
749
|
// keep a reference to this node for later lookups
|
|
726
|
-
orgLocationNode =
|
|
750
|
+
orgLocationNode =
|
|
751
|
+
doc.createTextNode('');
|
|
727
752
|
orgLocationNode['s-nr'] = nodeToRelocate;
|
|
728
753
|
nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
|
|
729
754
|
}
|
|
@@ -747,7 +772,8 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
747
772
|
}
|
|
748
773
|
}
|
|
749
774
|
}
|
|
750
|
-
if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
|
|
775
|
+
if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
|
|
776
|
+
nodeToRelocate.nextSibling !== insertBeforeNode) {
|
|
751
777
|
// we've checked that it's worth while to relocate
|
|
752
778
|
// since that the node to relocate
|
|
753
779
|
// has a different next sibling or parent relocated
|
|
@@ -800,7 +826,7 @@ const emitEvent = (elm, name, opts) => {
|
|
|
800
826
|
};
|
|
801
827
|
const attachToAncestor = (hostRef, ancestorComponent) => {
|
|
802
828
|
if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
|
|
803
|
-
ancestorComponent['s-p'].push(new Promise(r => (hostRef.$onRenderResolve$ = r)));
|
|
829
|
+
ancestorComponent['s-p'].push(new Promise((r) => (hostRef.$onRenderResolve$ = r)));
|
|
804
830
|
}
|
|
805
831
|
};
|
|
806
832
|
const scheduleUpdate = (hostRef, isInitialLoad) => {
|
|
@@ -843,7 +869,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
|
843
869
|
// ok, so turns out there are some child host elements
|
|
844
870
|
// waiting on this parent element to load
|
|
845
871
|
// let's fire off all update callbacks waiting
|
|
846
|
-
rc.map(cb => cb());
|
|
872
|
+
rc.map((cb) => cb());
|
|
847
873
|
elm['s-rc'] = undefined;
|
|
848
874
|
}
|
|
849
875
|
endRender();
|
|
@@ -949,7 +975,8 @@ const safeCall = (instance, method, arg) => {
|
|
|
949
975
|
const then = (promise, thenFn) => {
|
|
950
976
|
return promise && promise.then ? promise.then(thenFn) : thenFn();
|
|
951
977
|
};
|
|
952
|
-
const addHydratedFlag = (elm) =>
|
|
978
|
+
const addHydratedFlag = (elm) => elm.classList.add('hydrated')
|
|
979
|
+
;
|
|
953
980
|
const parsePropertyValue = (propValue, propType) => {
|
|
954
981
|
// ensure this value is of the correct prop type
|
|
955
982
|
if (propValue != null && !isComplexType(propValue)) {
|
|
@@ -1003,7 +1030,8 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1003
1030
|
const members = Object.entries(cmpMeta.$members$);
|
|
1004
1031
|
const prototype = Cstr.prototype;
|
|
1005
1032
|
members.map(([memberName, [memberFlags]]) => {
|
|
1006
|
-
if ((memberFlags & 31 /* Prop */ ||
|
|
1033
|
+
if ((memberFlags & 31 /* Prop */ ||
|
|
1034
|
+
((flags & 2 /* proxyState */) && memberFlags & 32 /* State */))) {
|
|
1007
1035
|
// proxyComponent - prop
|
|
1008
1036
|
Object.defineProperty(prototype, memberName, {
|
|
1009
1037
|
get() {
|
|
@@ -1018,7 +1046,8 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1018
1046
|
enumerable: true,
|
|
1019
1047
|
});
|
|
1020
1048
|
}
|
|
1021
|
-
else if (flags & 1 /* isElementConstructor */ &&
|
|
1049
|
+
else if (flags & 1 /* isElementConstructor */ &&
|
|
1050
|
+
memberFlags & 64 /* Method */) {
|
|
1022
1051
|
// proxyComponent - method
|
|
1023
1052
|
Object.defineProperty(prototype, memberName, {
|
|
1024
1053
|
value(...args) {
|
|
@@ -1033,6 +1062,43 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1033
1062
|
prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
|
|
1034
1063
|
plt.jmp(() => {
|
|
1035
1064
|
const propName = attrNameToPropName.get(attrName);
|
|
1065
|
+
// In a webcomponent lifecyle the attributeChangedCallback runs prior to connectedCallback
|
|
1066
|
+
// in the case where an attribute was set inline.
|
|
1067
|
+
// ```html
|
|
1068
|
+
// <my-component some-attribute="some-value"></my-component>
|
|
1069
|
+
// ```
|
|
1070
|
+
//
|
|
1071
|
+
// There is an edge case where a developer sets the attribute inline on a custom element and then programatically
|
|
1072
|
+
// changes it before it has been upgraded as shown below:
|
|
1073
|
+
//
|
|
1074
|
+
// ```html
|
|
1075
|
+
// <!-- this component has _not_ been upgraded yet -->
|
|
1076
|
+
// <my-component id="test" some-attribute="some-value"></my-component>
|
|
1077
|
+
// <script>
|
|
1078
|
+
// // grab non-upgraded component
|
|
1079
|
+
// el = document.querySelector("#test");
|
|
1080
|
+
// el.someAttribute = "another-value";
|
|
1081
|
+
// // upgrade component
|
|
1082
|
+
// cutsomElements.define('my-component', MyComponent);
|
|
1083
|
+
// </script>
|
|
1084
|
+
// ```
|
|
1085
|
+
// In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
|
|
1086
|
+
// will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
|
|
1087
|
+
// to the value that was set inline i.e. "some-value" from above example. When
|
|
1088
|
+
// the connectedCallback attempts to unshadow it will use "some-value" as the intial value rather than "another-value"
|
|
1089
|
+
//
|
|
1090
|
+
// The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
|
|
1091
|
+
// by connectedCallback as this attributeChangedCallback will not fire.
|
|
1092
|
+
//
|
|
1093
|
+
// https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
|
|
1094
|
+
//
|
|
1095
|
+
// TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to
|
|
1096
|
+
// properties here given that this goes against best practices outlined here
|
|
1097
|
+
// https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy
|
|
1098
|
+
if (this.hasOwnProperty(propName)) {
|
|
1099
|
+
newValue = this[propName];
|
|
1100
|
+
delete this[propName];
|
|
1101
|
+
}
|
|
1036
1102
|
this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
|
|
1037
1103
|
});
|
|
1038
1104
|
};
|
|
@@ -1187,7 +1253,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1187
1253
|
let isBootstrapping = true;
|
|
1188
1254
|
Object.assign(plt, options);
|
|
1189
1255
|
plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
|
|
1190
|
-
lazyBundles.map(lazyBundle => lazyBundle[1].map(compactMeta => {
|
|
1256
|
+
lazyBundles.map((lazyBundle) => lazyBundle[1].map((compactMeta) => {
|
|
1191
1257
|
const cmpMeta = {
|
|
1192
1258
|
$flags$: compactMeta[0],
|
|
1193
1259
|
$tagName$: compactMeta[1],
|
|
@@ -1205,6 +1271,17 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1205
1271
|
super(self);
|
|
1206
1272
|
self = this;
|
|
1207
1273
|
registerHost(self, cmpMeta);
|
|
1274
|
+
if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
|
|
1275
|
+
// this component is using shadow dom
|
|
1276
|
+
// and this browser supports shadow dom
|
|
1277
|
+
// add the read-only property "shadowRoot" to the host element
|
|
1278
|
+
// adding the shadow root build conditionals to minimize runtime
|
|
1279
|
+
{
|
|
1280
|
+
{
|
|
1281
|
+
self.attachShadow({ mode: 'open' });
|
|
1282
|
+
}
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1208
1285
|
}
|
|
1209
1286
|
connectedCallback() {
|
|
1210
1287
|
if (appLoadFallback) {
|
|
@@ -1240,7 +1317,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1240
1317
|
// Process deferred connectedCallbacks now all components have been registered
|
|
1241
1318
|
isBootstrapping = false;
|
|
1242
1319
|
if (deferredConnectedCallbacks.length) {
|
|
1243
|
-
deferredConnectedCallbacks.map(host => host.connectedCallback());
|
|
1320
|
+
deferredConnectedCallbacks.map((host) => host.connectedCallback());
|
|
1244
1321
|
}
|
|
1245
1322
|
else {
|
|
1246
1323
|
{
|
|
@@ -1261,10 +1338,10 @@ const registerHost = (elm, cmpMeta) => {
|
|
|
1261
1338
|
$instanceValues$: new Map(),
|
|
1262
1339
|
};
|
|
1263
1340
|
{
|
|
1264
|
-
hostRef.$onInstancePromise$ = new Promise(r => (hostRef.$onInstanceResolve$ = r));
|
|
1341
|
+
hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));
|
|
1265
1342
|
}
|
|
1266
1343
|
{
|
|
1267
|
-
hostRef.$onReadyPromise$ = new Promise(r => (hostRef.$onReadyResolve$ = r));
|
|
1344
|
+
hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
|
|
1268
1345
|
elm['s-p'] = [];
|
|
1269
1346
|
elm['s-rc'] = [];
|
|
1270
1347
|
}
|
|
@@ -1285,7 +1362,7 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
|
1285
1362
|
/* webpackInclude: /\.entry\.js$/ */
|
|
1286
1363
|
/* webpackExclude: /\.system\.entry\.js$/ */
|
|
1287
1364
|
/* webpackMode: "lazy" */
|
|
1288
|
-
`./${bundleId}.entry.js${''}`).then(importedModule => {
|
|
1365
|
+
`./${bundleId}.entry.js${''}`).then((importedModule) => {
|
|
1289
1366
|
{
|
|
1290
1367
|
cmpModules.set(bundleId, importedModule);
|
|
1291
1368
|
}
|