@watermarkinsights/ripple 3.3.2 → 3.4.0-3
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/dist/cjs/functions-a6491ba8.js +7943 -0
- package/dist/cjs/{global-e79f2300.js → global-4d3b13c3.js} +1 -1
- package/dist/cjs/{index-cd179539.js → index-921ef454.js} +103 -157
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/priv-chart-popover.cjs.entry.js +2 -2
- package/dist/cjs/priv-datepicker.cjs.entry.js +11 -5
- package/dist/cjs/priv-navigator-button.cjs.entry.js +1 -1
- package/dist/cjs/priv-navigator-item.cjs.entry.js +1 -1
- package/dist/cjs/ripple.cjs.js +6 -6
- package/dist/cjs/wm-action-menu_2.cjs.entry.js +2 -2
- package/dist/cjs/wm-button.cjs.entry.js +2 -2
- package/dist/cjs/wm-chart-slice.cjs.entry.js +1 -1
- package/dist/cjs/wm-chart.cjs.entry.js +9 -7
- package/dist/cjs/wm-datepicker.cjs.entry.js +6 -6
- package/dist/cjs/wm-input.cjs.entry.js +11 -3
- package/dist/cjs/wm-modal-footer.cjs.entry.js +1 -1
- package/dist/cjs/wm-modal-header.cjs.entry.js +2 -2
- package/dist/cjs/wm-modal.cjs.entry.js +2 -2
- package/dist/cjs/wm-navigator.cjs.entry.js +2 -2
- package/dist/cjs/wm-network-uploader.cjs.entry.js +2 -2
- package/dist/cjs/wm-option_2.cjs.entry.js +3 -3
- package/dist/cjs/wm-pagination.cjs.entry.js +2 -2
- package/dist/cjs/wm-search.cjs.entry.js +2 -2
- package/dist/cjs/wm-snackbar.cjs.entry.js +2 -2
- package/dist/cjs/wm-tab-item_3.cjs.entry.js +2 -2
- package/dist/cjs/wm-tag-input.cjs.entry.js +2 -2
- package/dist/cjs/wm-timepicker.cjs.entry.js +2 -2
- package/dist/cjs/wm-toggletip.cjs.entry.js +2 -2
- package/dist/cjs/wm-uploader.cjs.entry.js +2 -2
- package/dist/cjs/wm-wrapper.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/wm-chart/wm-chart.css +7 -5
- package/dist/collection/components/wm-chart/wm-chart.js +17 -13
- package/dist/collection/components/wm-datepicker/priv-datepicker/priv-datepicker.js +15 -3
- package/dist/collection/components/wm-datepicker/wm-datepicker.js +4 -4
- package/dist/collection/components/wm-input/wm-input.js +9 -1
- package/dist/collection/components/wm-select/wm-select.css +1 -0
- package/dist/esm/functions-5aebd578.js +7923 -0
- package/dist/esm/{global-5c26edba.js → global-a335f845.js} +1 -1
- package/dist/esm/{index-66f8130e.js → index-f8b130b6.js} +103 -157
- package/dist/esm/loader.js +4 -4
- package/dist/esm/polyfills/index.js +2 -2
- package/dist/esm/priv-chart-popover.entry.js +2 -2
- package/dist/esm/priv-datepicker.entry.js +11 -5
- package/dist/esm/priv-navigator-button.entry.js +1 -1
- package/dist/esm/priv-navigator-item.entry.js +1 -1
- package/dist/esm/ripple.js +6 -6
- package/dist/esm/wm-action-menu_2.entry.js +2 -2
- package/dist/esm/wm-button.entry.js +2 -2
- package/dist/esm/wm-chart-slice.entry.js +1 -1
- package/dist/esm/wm-chart.entry.js +9 -7
- package/dist/esm/wm-datepicker.entry.js +6 -6
- package/dist/esm/wm-input.entry.js +11 -3
- package/dist/esm/wm-modal-footer.entry.js +1 -1
- package/dist/esm/wm-modal-header.entry.js +2 -2
- package/dist/esm/wm-modal.entry.js +2 -2
- package/dist/esm/wm-navigator.entry.js +2 -2
- package/dist/esm/wm-network-uploader.entry.js +2 -2
- package/dist/esm/wm-option_2.entry.js +3 -3
- package/dist/esm/wm-pagination.entry.js +2 -2
- package/dist/esm/wm-search.entry.js +2 -2
- package/dist/esm/wm-snackbar.entry.js +2 -2
- package/dist/esm/wm-tab-item_3.entry.js +2 -2
- package/dist/esm/wm-tag-input.entry.js +2 -2
- package/dist/esm/wm-timepicker.entry.js +2 -2
- package/dist/esm/wm-toggletip.entry.js +2 -2
- package/dist/esm/wm-uploader.entry.js +2 -2
- package/dist/esm/wm-wrapper.entry.js +1 -1
- package/dist/ripple/p-0865e7cf.js +16 -0
- package/dist/ripple/p-0f663e59.entry.js +1 -0
- package/dist/ripple/p-1b790a7d.entry.js +1 -0
- package/dist/ripple/{p-99db8501.entry.js → p-22a1a636.entry.js} +1 -1
- package/dist/ripple/p-3b4c01b8.entry.js +1 -0
- package/dist/ripple/p-54c1f704.entry.js +1 -0
- package/dist/ripple/{p-dea72d46.entry.js → p-5e49aba7.entry.js} +1 -1
- package/dist/ripple/p-76c615e9.entry.js +1 -0
- package/dist/ripple/{p-1a934627.entry.js → p-7d009793.entry.js} +1 -1
- package/dist/ripple/p-7d993d52.js +1 -0
- package/dist/ripple/p-8198cc9c.entry.js +1 -0
- package/dist/ripple/p-839d35bd.entry.js +1 -0
- package/dist/ripple/p-8708b8cb.entry.js +1 -0
- package/dist/ripple/{p-c5e44367.entry.js → p-8bd66955.entry.js} +1 -1
- package/dist/ripple/p-957e3a05.entry.js +1 -0
- package/dist/ripple/{p-b4a8c8d3.entry.js → p-a61977b2.entry.js} +1 -1
- package/dist/ripple/p-af6eb4d5.entry.js +1 -0
- package/dist/ripple/p-b3f9f575.entry.js +1 -0
- package/dist/ripple/p-bba99fcd.entry.js +1 -0
- package/dist/ripple/{p-0c58f50d.entry.js → p-c995acbc.entry.js} +1 -1
- package/dist/ripple/p-cd30198d.entry.js +1 -0
- package/dist/ripple/{p-8b0eb05e.entry.js → p-d52033d5.entry.js} +1 -1
- package/dist/ripple/p-e097c562.entry.js +1 -0
- package/dist/ripple/p-e8993d49.js +1 -0
- package/dist/ripple/p-e9db6122.entry.js +1 -0
- package/dist/ripple/p-eabbd1e9.entry.js +1 -0
- package/dist/ripple/p-ec496b8b.entry.js +1 -0
- package/dist/ripple/p-fc8ec142.entry.js +1 -0
- package/dist/ripple/ripple.esm.js +1 -1
- package/dist/types/components/wm-datepicker/priv-datepicker/priv-datepicker.d.ts +1 -0
- package/dist/types/components/wm-input/wm-input.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +186 -194
- package/package.json +1 -1
- package/dist/cjs/functions-8fb310fe.js +0 -6164
- package/dist/esm/functions-c315390d.js +0 -6144
- package/dist/ripple/p-042d6449.entry.js +0 -1
- package/dist/ripple/p-053e8324.entry.js +0 -1
- package/dist/ripple/p-11c09317.entry.js +0 -1
- package/dist/ripple/p-2689c3ff.entry.js +0 -1
- package/dist/ripple/p-36da5d4a.entry.js +0 -1
- package/dist/ripple/p-374b4fa6.entry.js +0 -1
- package/dist/ripple/p-41f39509.entry.js +0 -1
- package/dist/ripple/p-589f8195.entry.js +0 -1
- package/dist/ripple/p-5ffa983b.entry.js +0 -1
- package/dist/ripple/p-635cfaa9.js +0 -1
- package/dist/ripple/p-7bbd123c.entry.js +0 -1
- package/dist/ripple/p-9baa3039.js +0 -1
- package/dist/ripple/p-a50439f1.entry.js +0 -1
- package/dist/ripple/p-af4b2ea9.entry.js +0 -1
- package/dist/ripple/p-b03382ea.entry.js +0 -1
- package/dist/ripple/p-ba9d3069.entry.js +0 -1
- package/dist/ripple/p-bc9ca97b.entry.js +0 -1
- package/dist/ripple/p-d5fafa9c.entry.js +0 -1
- package/dist/ripple/p-e574fb73.entry.js +0 -1
- package/dist/ripple/p-e60fe2f5.js +0 -16
- package/dist/ripple/p-ec5db255.entry.js +0 -1
- package/dist/types/global/functions.d.ts +0 -40
|
@@ -31,26 +31,26 @@ const doc = win.document || { head: {} };
|
|
|
31
31
|
const plt = {
|
|
32
32
|
$flags$: 0,
|
|
33
33
|
$resourcesUrl$: '',
|
|
34
|
-
jmp:
|
|
35
|
-
raf:
|
|
34
|
+
jmp: h => h(),
|
|
35
|
+
raf: h => requestAnimationFrame(h),
|
|
36
36
|
ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
|
|
37
37
|
rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
|
|
38
38
|
ce: (eventName, opts) => new CustomEvent(eventName, opts),
|
|
39
39
|
};
|
|
40
40
|
const promiseResolve = (v) => Promise.resolve(v);
|
|
41
|
-
const supportsConstructibleStylesheets =
|
|
41
|
+
const supportsConstructibleStylesheets = /*@__PURE__*/ (() => {
|
|
42
42
|
try {
|
|
43
43
|
new CSSStyleSheet();
|
|
44
|
-
return
|
|
44
|
+
return true;
|
|
45
45
|
}
|
|
46
46
|
catch (e) { }
|
|
47
47
|
return false;
|
|
48
48
|
})()
|
|
49
49
|
;
|
|
50
50
|
const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
|
|
51
|
-
if (listeners) {
|
|
51
|
+
if ( listeners) {
|
|
52
52
|
listeners.map(([flags, name, method]) => {
|
|
53
|
-
const target =
|
|
53
|
+
const target = getHostListenerTarget(elm, flags) ;
|
|
54
54
|
const handler = hostListenerProxy(hostRef, method);
|
|
55
55
|
const opts = hostListenerOpts(flags);
|
|
56
56
|
plt.ael(target, name, handler, opts);
|
|
@@ -75,14 +75,14 @@ const hostListenerProxy = (hostRef, methodName) => (ev) => {
|
|
|
75
75
|
}
|
|
76
76
|
};
|
|
77
77
|
const getHostListenerTarget = (elm, flags) => {
|
|
78
|
-
if (flags & 4 /* TargetDocument */)
|
|
78
|
+
if ( flags & 4 /* TargetDocument */)
|
|
79
79
|
return doc;
|
|
80
|
-
if (flags & 8 /* TargetWindow */)
|
|
80
|
+
if ( flags & 8 /* TargetWindow */)
|
|
81
81
|
return win;
|
|
82
82
|
return elm;
|
|
83
83
|
};
|
|
84
84
|
// prettier-ignore
|
|
85
|
-
const hostListenerOpts = (flags) =>
|
|
85
|
+
const hostListenerOpts = (flags) => (flags & 2 /* Capture */) !== 0;
|
|
86
86
|
const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
|
|
87
87
|
const XLINK_NS = 'http://www.w3.org/1999/xlink';
|
|
88
88
|
const createTime = (fnName, tagName = '') => {
|
|
@@ -138,7 +138,7 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
-
else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
|
|
141
|
+
else if ( !styleContainerNode.adoptedStyleSheets.includes(style)) {
|
|
142
142
|
styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
|
|
143
143
|
}
|
|
144
144
|
}
|
|
@@ -149,8 +149,8 @@ const attachStyles = (hostRef) => {
|
|
|
149
149
|
const elm = hostRef.$hostElement$;
|
|
150
150
|
const flags = cmpMeta.$flags$;
|
|
151
151
|
const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
|
|
152
|
-
const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
|
|
153
|
-
if (flags & 10 /* needsScopedEncapsulation */) {
|
|
152
|
+
const scopeId = addStyle( elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
|
|
153
|
+
if ( flags & 10 /* needsScopedEncapsulation */) {
|
|
154
154
|
// only required when we're NOT using native shadow dom (slot)
|
|
155
155
|
// or this browser doesn't support native shadow dom
|
|
156
156
|
// and this host element was NOT created with SSR
|
|
@@ -163,7 +163,7 @@ const attachStyles = (hostRef) => {
|
|
|
163
163
|
}
|
|
164
164
|
endAttachStyles();
|
|
165
165
|
};
|
|
166
|
-
const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
|
|
166
|
+
const getScopeId = (cmp, mode) => 'sc-' + ( cmp.$tagName$);
|
|
167
167
|
/**
|
|
168
168
|
* Default style mode id
|
|
169
169
|
*/
|
|
@@ -225,7 +225,7 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
225
225
|
walk(children);
|
|
226
226
|
if (vnodeData) {
|
|
227
227
|
// normalize class / classname attributes
|
|
228
|
-
if (vnodeData.key) {
|
|
228
|
+
if ( vnodeData.key) {
|
|
229
229
|
key = vnodeData.key;
|
|
230
230
|
}
|
|
231
231
|
{
|
|
@@ -235,7 +235,7 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
235
235
|
typeof classData !== 'object'
|
|
236
236
|
? classData
|
|
237
237
|
: Object.keys(classData)
|
|
238
|
-
.filter(
|
|
238
|
+
.filter(k => classData[k])
|
|
239
239
|
.join(' ');
|
|
240
240
|
}
|
|
241
241
|
}
|
|
@@ -280,19 +280,19 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
280
280
|
if (oldValue !== newValue) {
|
|
281
281
|
let isProp = isMemberInElement(elm, memberName);
|
|
282
282
|
let ln = memberName.toLowerCase();
|
|
283
|
-
if (memberName === 'class') {
|
|
283
|
+
if ( memberName === 'class') {
|
|
284
284
|
const classList = elm.classList;
|
|
285
285
|
const oldClasses = parseClassList(oldValue);
|
|
286
286
|
const newClasses = parseClassList(newValue);
|
|
287
|
-
classList.remove(...oldClasses.filter(
|
|
288
|
-
classList.add(...newClasses.filter(
|
|
287
|
+
classList.remove(...oldClasses.filter(c => c && !newClasses.includes(c)));
|
|
288
|
+
classList.add(...newClasses.filter(c => c && !oldClasses.includes(c)));
|
|
289
289
|
}
|
|
290
|
-
else if (memberName === 'style') {
|
|
290
|
+
else if ( memberName === 'style') {
|
|
291
291
|
// update style attribute, css properties and values
|
|
292
292
|
{
|
|
293
293
|
for (const prop in oldValue) {
|
|
294
294
|
if (!newValue || newValue[prop] == null) {
|
|
295
|
-
if (prop.includes('-')) {
|
|
295
|
+
if ( prop.includes('-')) {
|
|
296
296
|
elm.style.removeProperty(prop);
|
|
297
297
|
}
|
|
298
298
|
else {
|
|
@@ -303,7 +303,7 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
303
303
|
}
|
|
304
304
|
for (const prop in newValue) {
|
|
305
305
|
if (!oldValue || newValue[prop] !== oldValue[prop]) {
|
|
306
|
-
if (prop.includes('-')) {
|
|
306
|
+
if ( prop.includes('-')) {
|
|
307
307
|
elm.style.setProperty(prop, newValue[prop]);
|
|
308
308
|
}
|
|
309
309
|
else {
|
|
@@ -312,17 +312,15 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
312
312
|
}
|
|
313
313
|
}
|
|
314
314
|
}
|
|
315
|
-
else if (memberName === 'key')
|
|
315
|
+
else if ( memberName === 'key')
|
|
316
316
|
;
|
|
317
|
-
else if (memberName === 'ref') {
|
|
317
|
+
else if ( memberName === 'ref') {
|
|
318
318
|
// minifier will clean this up
|
|
319
319
|
if (newValue) {
|
|
320
320
|
newValue(elm);
|
|
321
321
|
}
|
|
322
322
|
}
|
|
323
|
-
else if ((!isProp ) &&
|
|
324
|
-
memberName[0] === 'o' &&
|
|
325
|
-
memberName[1] === 'n') {
|
|
323
|
+
else if ( ( !isProp ) && memberName[0] === 'o' && memberName[1] === 'n') {
|
|
326
324
|
// Event Handlers
|
|
327
325
|
// so if the member name starts with "on" and the 3rd characters is
|
|
328
326
|
// a capital letter, and it's not already a member on the element,
|
|
@@ -397,7 +395,7 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
397
395
|
}
|
|
398
396
|
if (newValue == null || newValue === false) {
|
|
399
397
|
if (newValue !== false || elm.getAttribute(memberName) === '') {
|
|
400
|
-
if (xlink) {
|
|
398
|
+
if ( xlink) {
|
|
401
399
|
elm.removeAttributeNS(XLINK_NS, memberName);
|
|
402
400
|
}
|
|
403
401
|
else {
|
|
@@ -407,7 +405,7 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
407
405
|
}
|
|
408
406
|
else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
|
|
409
407
|
newValue = newValue === true ? '' : newValue;
|
|
410
|
-
if (xlink) {
|
|
408
|
+
if ( xlink) {
|
|
411
409
|
elm.setAttributeNS(XLINK_NS, memberName, newValue);
|
|
412
410
|
}
|
|
413
411
|
else {
|
|
@@ -423,9 +421,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
|
|
|
423
421
|
// if the element passed in is a shadow root, which is a document fragment
|
|
424
422
|
// then we want to be adding attrs/props to the shadow root's "host" element
|
|
425
423
|
// if it's not a shadow root, then we add attrs/props to the same element
|
|
426
|
-
const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host
|
|
427
|
-
? newVnode.$elm$.host
|
|
428
|
-
: newVnode.$elm$;
|
|
424
|
+
const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
|
|
429
425
|
const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;
|
|
430
426
|
const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
|
|
431
427
|
{
|
|
@@ -447,25 +443,25 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
447
443
|
let i = 0;
|
|
448
444
|
let elm;
|
|
449
445
|
let childNode;
|
|
450
|
-
if (newVNode.$text$ !== null) {
|
|
446
|
+
if ( newVNode.$text$ !== null) {
|
|
451
447
|
// create text node
|
|
452
448
|
elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
|
|
453
449
|
}
|
|
454
450
|
else {
|
|
455
|
-
if (!isSvgMode) {
|
|
451
|
+
if ( !isSvgMode) {
|
|
456
452
|
isSvgMode = newVNode.$tag$ === 'svg';
|
|
457
453
|
}
|
|
458
454
|
// create element
|
|
459
|
-
elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS,
|
|
455
|
+
elm = newVNode.$elm$ = ( doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$tag$)
|
|
460
456
|
);
|
|
461
|
-
if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
|
|
457
|
+
if ( isSvgMode && newVNode.$tag$ === 'foreignObject') {
|
|
462
458
|
isSvgMode = false;
|
|
463
459
|
}
|
|
464
460
|
// add css classes, attrs, props, listeners, etc.
|
|
465
461
|
{
|
|
466
462
|
updateElement(null, newVNode, isSvgMode);
|
|
467
463
|
}
|
|
468
|
-
if (isDef(scopeId) && elm['s-si'] !== scopeId) {
|
|
464
|
+
if ( isDef(scopeId) && elm['s-si'] !== scopeId) {
|
|
469
465
|
// if there is a scopeId and this is the initial render
|
|
470
466
|
// then let's add the scopeId as a css class
|
|
471
467
|
elm.classList.add((elm['s-si'] = scopeId));
|
|
@@ -495,9 +491,9 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
495
491
|
return elm;
|
|
496
492
|
};
|
|
497
493
|
const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
|
|
498
|
-
let containerElm = (parentElm);
|
|
494
|
+
let containerElm = ( parentElm);
|
|
499
495
|
let childNode;
|
|
500
|
-
if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
|
|
496
|
+
if ( containerElm.shadowRoot && containerElm.tagName === hostTagName) {
|
|
501
497
|
containerElm = containerElm.shadowRoot;
|
|
502
498
|
}
|
|
503
499
|
for (; startIdx <= endIdx; ++startIdx) {
|
|
@@ -505,7 +501,7 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
|
|
|
505
501
|
childNode = createElm(null, parentVNode, startIdx);
|
|
506
502
|
if (childNode) {
|
|
507
503
|
vnodes[startIdx].$elm$ = childNode;
|
|
508
|
-
containerElm.insertBefore(childNode,
|
|
504
|
+
containerElm.insertBefore(childNode, before);
|
|
509
505
|
}
|
|
510
506
|
}
|
|
511
507
|
}
|
|
@@ -580,7 +576,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
580
576
|
}
|
|
581
577
|
}
|
|
582
578
|
}
|
|
583
|
-
if (idxInOld >= 0) {
|
|
579
|
+
if ( idxInOld >= 0) {
|
|
584
580
|
elmToMove = oldCh[idxInOld];
|
|
585
581
|
if (elmToMove.$tag$ !== newStartVnode.$tag$) {
|
|
586
582
|
node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld);
|
|
@@ -607,7 +603,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
607
603
|
if (oldStartIdx > oldEndIdx) {
|
|
608
604
|
addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);
|
|
609
605
|
}
|
|
610
|
-
else if (newStartIdx > newEndIdx) {
|
|
606
|
+
else if ( newStartIdx > newEndIdx) {
|
|
611
607
|
removeVnodes(oldCh, oldStartIdx, oldEndIdx);
|
|
612
608
|
}
|
|
613
609
|
};
|
|
@@ -627,7 +623,7 @@ const patch = (oldVNode, newVNode) => {
|
|
|
627
623
|
const newChildren = newVNode.$children$;
|
|
628
624
|
const tag = newVNode.$tag$;
|
|
629
625
|
const text = newVNode.$text$;
|
|
630
|
-
if (text === null) {
|
|
626
|
+
if ( text === null) {
|
|
631
627
|
{
|
|
632
628
|
// test if we're rendering an svg element, or still rendering nodes inside of one
|
|
633
629
|
// only add this to the when the compiler sees we're using an svg somewhere
|
|
@@ -635,7 +631,7 @@ const patch = (oldVNode, newVNode) => {
|
|
|
635
631
|
}
|
|
636
632
|
// element node
|
|
637
633
|
{
|
|
638
|
-
if (tag === 'slot')
|
|
634
|
+
if ( tag === 'slot')
|
|
639
635
|
;
|
|
640
636
|
else {
|
|
641
637
|
// either this is the first render of an element OR it's an update
|
|
@@ -644,28 +640,28 @@ const patch = (oldVNode, newVNode) => {
|
|
|
644
640
|
updateElement(oldVNode, newVNode, isSvgMode);
|
|
645
641
|
}
|
|
646
642
|
}
|
|
647
|
-
if (oldChildren !== null && newChildren !== null) {
|
|
643
|
+
if ( oldChildren !== null && newChildren !== null) {
|
|
648
644
|
// looks like there's child vnodes for both the old and new vnodes
|
|
649
645
|
updateChildren(elm, oldChildren, newVNode, newChildren);
|
|
650
646
|
}
|
|
651
647
|
else if (newChildren !== null) {
|
|
652
648
|
// no old child vnodes, but there are new child vnodes to add
|
|
653
|
-
if (oldVNode.$text$ !== null) {
|
|
649
|
+
if ( oldVNode.$text$ !== null) {
|
|
654
650
|
// the old vnode was text, so be sure to clear it out
|
|
655
651
|
elm.textContent = '';
|
|
656
652
|
}
|
|
657
653
|
// add the new vnode children
|
|
658
654
|
addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);
|
|
659
655
|
}
|
|
660
|
-
else if (oldChildren !== null) {
|
|
656
|
+
else if ( oldChildren !== null) {
|
|
661
657
|
// no new child vnodes, but there are old child vnodes to remove
|
|
662
658
|
removeVnodes(oldChildren, 0, oldChildren.length - 1);
|
|
663
659
|
}
|
|
664
|
-
if (isSvgMode && tag === 'svg') {
|
|
660
|
+
if ( isSvgMode && tag === 'svg') {
|
|
665
661
|
isSvgMode = false;
|
|
666
662
|
}
|
|
667
663
|
}
|
|
668
|
-
else if (oldVNode.$text$ !== text) {
|
|
664
|
+
else if ( oldVNode.$text$ !== text) {
|
|
669
665
|
// update the text content for the text only vnode
|
|
670
666
|
// and also only if the text is different than before
|
|
671
667
|
elm.data = text;
|
|
@@ -683,21 +679,21 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
683
679
|
const oldVNode = hostRef.$vnode$ || newVNode(null, null);
|
|
684
680
|
const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
|
|
685
681
|
hostTagName = hostElm.tagName;
|
|
686
|
-
if (cmpMeta.$attrsToReflect$) {
|
|
682
|
+
if ( cmpMeta.$attrsToReflect$) {
|
|
687
683
|
rootVnode.$attrs$ = rootVnode.$attrs$ || {};
|
|
688
684
|
cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
|
|
689
685
|
}
|
|
690
686
|
rootVnode.$tag$ = null;
|
|
691
687
|
rootVnode.$flags$ |= 4 /* isHost */;
|
|
692
688
|
hostRef.$vnode$ = rootVnode;
|
|
693
|
-
rootVnode.$elm$ = oldVNode.$elm$ = (hostElm.shadowRoot || hostElm );
|
|
689
|
+
rootVnode.$elm$ = oldVNode.$elm$ = ( hostElm.shadowRoot || hostElm );
|
|
694
690
|
{
|
|
695
691
|
scopeId = hostElm['s-sc'];
|
|
696
692
|
}
|
|
697
693
|
// synchronous patch
|
|
698
694
|
patch(oldVNode, rootVnode);
|
|
699
695
|
};
|
|
700
|
-
const getElement = (ref) => (getHostRef(ref).$hostElement$ );
|
|
696
|
+
const getElement = (ref) => ( getHostRef(ref).$hostElement$ );
|
|
701
697
|
const createEvent = (ref, name, flags) => {
|
|
702
698
|
const elm = getElement(ref);
|
|
703
699
|
return {
|
|
@@ -711,28 +707,21 @@ const createEvent = (ref, name, flags) => {
|
|
|
711
707
|
},
|
|
712
708
|
};
|
|
713
709
|
};
|
|
714
|
-
/**
|
|
715
|
-
* Helper function to create & dispatch a custom Event on a provided target
|
|
716
|
-
* @param elm the target of the Event
|
|
717
|
-
* @param name the name to give the custom Event
|
|
718
|
-
* @param opts options for configuring a custom Event
|
|
719
|
-
* @returns the custom Event
|
|
720
|
-
*/
|
|
721
710
|
const emitEvent = (elm, name, opts) => {
|
|
722
711
|
const ev = plt.ce(name, opts);
|
|
723
712
|
elm.dispatchEvent(ev);
|
|
724
713
|
return ev;
|
|
725
714
|
};
|
|
726
715
|
const attachToAncestor = (hostRef, ancestorComponent) => {
|
|
727
|
-
if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
|
|
728
|
-
ancestorComponent['s-p'].push(new Promise(
|
|
716
|
+
if ( ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
|
|
717
|
+
ancestorComponent['s-p'].push(new Promise(r => (hostRef.$onRenderResolve$ = r)));
|
|
729
718
|
}
|
|
730
719
|
};
|
|
731
720
|
const scheduleUpdate = (hostRef, isInitialLoad) => {
|
|
732
721
|
{
|
|
733
722
|
hostRef.$flags$ |= 16 /* isQueuedForUpdate */;
|
|
734
723
|
}
|
|
735
|
-
if (hostRef.$flags$ & 4 /* isWaitingForChildren */) {
|
|
724
|
+
if ( hostRef.$flags$ & 4 /* isWaitingForChildren */) {
|
|
736
725
|
hostRef.$flags$ |= 512 /* needsRerender */;
|
|
737
726
|
return;
|
|
738
727
|
}
|
|
@@ -741,11 +730,11 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
|
|
|
741
730
|
// has already fired off its lifecycle update then
|
|
742
731
|
// fire off the initial update
|
|
743
732
|
const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
|
|
744
|
-
return
|
|
733
|
+
return writeTask(dispatch) ;
|
|
745
734
|
};
|
|
746
735
|
const dispatchHooks = (hostRef, isInitialLoad) => {
|
|
747
736
|
const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
|
|
748
|
-
const instance =
|
|
737
|
+
const instance = hostRef.$lazyInstance$ ;
|
|
749
738
|
let promise;
|
|
750
739
|
if (isInitialLoad) {
|
|
751
740
|
{
|
|
@@ -767,19 +756,26 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
|
767
756
|
const elm = hostRef.$hostElement$;
|
|
768
757
|
const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
|
|
769
758
|
const rc = elm['s-rc'];
|
|
770
|
-
if (isInitialLoad) {
|
|
759
|
+
if ( isInitialLoad) {
|
|
771
760
|
// DOM WRITE!
|
|
772
761
|
attachStyles(hostRef);
|
|
773
762
|
}
|
|
774
763
|
const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
|
|
775
764
|
{
|
|
776
|
-
|
|
765
|
+
{
|
|
766
|
+
// looks like we've got child nodes to render into this host element
|
|
767
|
+
// or we need to update the css class/attrs on the host element
|
|
768
|
+
// DOM WRITE!
|
|
769
|
+
{
|
|
770
|
+
renderVdom(hostRef, callRender(hostRef, instance));
|
|
771
|
+
}
|
|
772
|
+
}
|
|
777
773
|
}
|
|
778
|
-
if (rc) {
|
|
774
|
+
if ( rc) {
|
|
779
775
|
// ok, so turns out there are some child host elements
|
|
780
776
|
// waiting on this parent element to load
|
|
781
777
|
// let's fire off all update callbacks waiting
|
|
782
|
-
rc.map(
|
|
778
|
+
rc.map(cb => cb());
|
|
783
779
|
elm['s-rc'] = undefined;
|
|
784
780
|
}
|
|
785
781
|
endRender();
|
|
@@ -797,36 +793,26 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
|
797
793
|
}
|
|
798
794
|
}
|
|
799
795
|
};
|
|
800
|
-
const callRender = (hostRef, instance
|
|
796
|
+
const callRender = (hostRef, instance) => {
|
|
801
797
|
try {
|
|
802
|
-
instance =
|
|
798
|
+
instance = instance.render && instance.render();
|
|
803
799
|
{
|
|
804
800
|
hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;
|
|
805
801
|
}
|
|
806
802
|
{
|
|
807
803
|
hostRef.$flags$ |= 2 /* hasRendered */;
|
|
808
804
|
}
|
|
809
|
-
{
|
|
810
|
-
{
|
|
811
|
-
// looks like we've got child nodes to render into this host element
|
|
812
|
-
// or we need to update the css class/attrs on the host element
|
|
813
|
-
// DOM WRITE!
|
|
814
|
-
{
|
|
815
|
-
renderVdom(hostRef, instance);
|
|
816
|
-
}
|
|
817
|
-
}
|
|
818
|
-
}
|
|
819
805
|
}
|
|
820
806
|
catch (e) {
|
|
821
807
|
consoleError(e, hostRef.$hostElement$);
|
|
822
808
|
}
|
|
823
|
-
return
|
|
809
|
+
return instance;
|
|
824
810
|
};
|
|
825
811
|
const postUpdateComponent = (hostRef) => {
|
|
826
812
|
const tagName = hostRef.$cmpMeta$.$tagName$;
|
|
827
813
|
const elm = hostRef.$hostElement$;
|
|
828
814
|
const endPostUpdate = createTime('postUpdate', tagName);
|
|
829
|
-
const instance =
|
|
815
|
+
const instance = hostRef.$lazyInstance$ ;
|
|
830
816
|
const ancestorComponent = hostRef.$ancestorComponent$;
|
|
831
817
|
{
|
|
832
818
|
safeCall(instance, 'componentDidRender');
|
|
@@ -877,8 +863,7 @@ const forceUpdate = (ref) => {
|
|
|
877
863
|
{
|
|
878
864
|
const hostRef = getHostRef(ref);
|
|
879
865
|
const isConnected = hostRef.$hostElement$.isConnected;
|
|
880
|
-
if (isConnected &&
|
|
881
|
-
(hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
|
|
866
|
+
if (isConnected && (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
|
|
882
867
|
scheduleUpdate(hostRef, false);
|
|
883
868
|
}
|
|
884
869
|
// Returns "true" when the forced update was successfully scheduled
|
|
@@ -907,21 +892,20 @@ const safeCall = (instance, method, arg) => {
|
|
|
907
892
|
const then = (promise, thenFn) => {
|
|
908
893
|
return promise && promise.then ? promise.then(thenFn) : thenFn();
|
|
909
894
|
};
|
|
910
|
-
const addHydratedFlag = (elm) => elm.classList.add('hydrated')
|
|
911
|
-
;
|
|
895
|
+
const addHydratedFlag = (elm) => ( elm.classList.add('hydrated') );
|
|
912
896
|
const parsePropertyValue = (propValue, propType) => {
|
|
913
897
|
// ensure this value is of the correct prop type
|
|
914
898
|
if (propValue != null && !isComplexType(propValue)) {
|
|
915
|
-
if (propType & 4 /* Boolean */) {
|
|
899
|
+
if ( propType & 4 /* Boolean */) {
|
|
916
900
|
// per the HTML spec, any string value means it is a boolean true value
|
|
917
901
|
// but we'll cheat here and say that the string "false" is the boolean false
|
|
918
902
|
return propValue === 'false' ? false : propValue === '' || !!propValue;
|
|
919
903
|
}
|
|
920
|
-
if (propType & 2 /* Number */) {
|
|
904
|
+
if ( propType & 2 /* Number */) {
|
|
921
905
|
// force it to be a number
|
|
922
906
|
return parseFloat(propValue);
|
|
923
907
|
}
|
|
924
|
-
if (propType & 1 /* String */) {
|
|
908
|
+
if ( propType & 1 /* String */) {
|
|
925
909
|
// could have been passed as a number or boolean
|
|
926
910
|
// but we still want it as a string
|
|
927
911
|
return String(propValue);
|
|
@@ -937,22 +921,22 @@ const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propNam
|
|
|
937
921
|
const setValue = (ref, propName, newVal, cmpMeta) => {
|
|
938
922
|
// check our new property value against our internal value
|
|
939
923
|
const hostRef = getHostRef(ref);
|
|
940
|
-
const elm =
|
|
924
|
+
const elm = hostRef.$hostElement$ ;
|
|
941
925
|
const oldVal = hostRef.$instanceValues$.get(propName);
|
|
942
926
|
const flags = hostRef.$flags$;
|
|
943
|
-
const instance =
|
|
927
|
+
const instance = hostRef.$lazyInstance$ ;
|
|
944
928
|
newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
|
|
945
|
-
if ((!(flags & 8 /* isConstructingInstance */) || oldVal === undefined) && newVal !== oldVal) {
|
|
929
|
+
if (( !(flags & 8 /* isConstructingInstance */) || oldVal === undefined) && newVal !== oldVal) {
|
|
946
930
|
// gadzooks! the property's value has changed!!
|
|
947
931
|
// set our new value!
|
|
948
932
|
hostRef.$instanceValues$.set(propName, newVal);
|
|
949
|
-
if (instance) {
|
|
933
|
+
if ( instance) {
|
|
950
934
|
// get an array of method names of watch functions to call
|
|
951
|
-
if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {
|
|
935
|
+
if ( cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {
|
|
952
936
|
const watchMethods = cmpMeta.$watchers$[propName];
|
|
953
937
|
if (watchMethods) {
|
|
954
938
|
// this instance is watching for when this property changed
|
|
955
|
-
watchMethods.map(
|
|
939
|
+
watchMethods.map(watchMethodName => {
|
|
956
940
|
try {
|
|
957
941
|
// fire off each of the watch methods that are watching this property
|
|
958
942
|
instance[watchMethodName](newVal, oldVal, propName);
|
|
@@ -963,7 +947,7 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
|
|
|
963
947
|
});
|
|
964
948
|
}
|
|
965
949
|
}
|
|
966
|
-
if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
|
|
950
|
+
if ( (flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
|
|
967
951
|
// looks like this value actually changed, so we've got work to do!
|
|
968
952
|
// but only if we've already rendered, otherwise just chill out
|
|
969
953
|
// queue that we need to do an update, but don't worry about queuing
|
|
@@ -974,16 +958,15 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
|
|
|
974
958
|
}
|
|
975
959
|
};
|
|
976
960
|
const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
977
|
-
if (cmpMeta.$members$) {
|
|
978
|
-
if (Cstr.watchers) {
|
|
961
|
+
if ( cmpMeta.$members$) {
|
|
962
|
+
if ( Cstr.watchers) {
|
|
979
963
|
cmpMeta.$watchers$ = Cstr.watchers;
|
|
980
964
|
}
|
|
981
965
|
// It's better to have a const than two Object.entries()
|
|
982
966
|
const members = Object.entries(cmpMeta.$members$);
|
|
983
967
|
const prototype = Cstr.prototype;
|
|
984
968
|
members.map(([memberName, [memberFlags]]) => {
|
|
985
|
-
if ((memberFlags & 31 /* Prop */ ||
|
|
986
|
-
((flags & 2 /* proxyState */) && memberFlags & 32 /* State */))) {
|
|
969
|
+
if ( (memberFlags & 31 /* Prop */ || (( flags & 2 /* proxyState */) && memberFlags & 32 /* State */))) {
|
|
987
970
|
// proxyComponent - prop
|
|
988
971
|
Object.defineProperty(prototype, memberName, {
|
|
989
972
|
get() {
|
|
@@ -998,8 +981,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
998
981
|
enumerable: true,
|
|
999
982
|
});
|
|
1000
983
|
}
|
|
1001
|
-
else if (flags & 1 /* isElementConstructor */ &&
|
|
1002
|
-
memberFlags & 64 /* Method */) {
|
|
984
|
+
else if ( flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {
|
|
1003
985
|
// proxyComponent - method
|
|
1004
986
|
Object.defineProperty(prototype, memberName, {
|
|
1005
987
|
value(...args) {
|
|
@@ -1009,48 +991,11 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1009
991
|
});
|
|
1010
992
|
}
|
|
1011
993
|
});
|
|
1012
|
-
if ((flags & 1 /* isElementConstructor */)) {
|
|
994
|
+
if ( ( flags & 1 /* isElementConstructor */)) {
|
|
1013
995
|
const attrNameToPropName = new Map();
|
|
1014
996
|
prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
|
|
1015
997
|
plt.jmp(() => {
|
|
1016
998
|
const propName = attrNameToPropName.get(attrName);
|
|
1017
|
-
// In a webcomponent lifecyle the attributeChangedCallback runs prior to connectedCallback
|
|
1018
|
-
// in the case where an attribute was set inline.
|
|
1019
|
-
// ```html
|
|
1020
|
-
// <my-component some-attribute="some-value"></my-component>
|
|
1021
|
-
// ```
|
|
1022
|
-
//
|
|
1023
|
-
// There is an edge case where a developer sets the attribute inline on a custom element and then programatically
|
|
1024
|
-
// changes it before it has been upgraded as shown below:
|
|
1025
|
-
//
|
|
1026
|
-
// ```html
|
|
1027
|
-
// <!-- this component has _not_ been upgraded yet -->
|
|
1028
|
-
// <my-component id="test" some-attribute="some-value"></my-component>
|
|
1029
|
-
// <script>
|
|
1030
|
-
// // grab non-upgraded component
|
|
1031
|
-
// el = document.querySelector("#test");
|
|
1032
|
-
// el.someAttribute = "another-value";
|
|
1033
|
-
// // upgrade component
|
|
1034
|
-
// cutsomElements.define('my-component', MyComponent);
|
|
1035
|
-
// </script>
|
|
1036
|
-
// ```
|
|
1037
|
-
// In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
|
|
1038
|
-
// will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
|
|
1039
|
-
// to the value that was set inline i.e. "some-value" from above example. When
|
|
1040
|
-
// the connectedCallback attempts to unshadow it will use "some-value" as the intial value rather than "another-value"
|
|
1041
|
-
//
|
|
1042
|
-
// The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
|
|
1043
|
-
// by connectedCallback as this attributeChangedCallback will not fire.
|
|
1044
|
-
//
|
|
1045
|
-
// https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
|
|
1046
|
-
//
|
|
1047
|
-
// TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to
|
|
1048
|
-
// properties here given that this goes against best practices outlined here
|
|
1049
|
-
// https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy
|
|
1050
|
-
if (this.hasOwnProperty(propName)) {
|
|
1051
|
-
newValue = this[propName];
|
|
1052
|
-
delete this[propName];
|
|
1053
|
-
}
|
|
1054
999
|
this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
|
|
1055
1000
|
});
|
|
1056
1001
|
};
|
|
@@ -1061,7 +1006,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1061
1006
|
.map(([propName, m]) => {
|
|
1062
1007
|
const attrName = m[1] || propName;
|
|
1063
1008
|
attrNameToPropName.set(attrName, propName);
|
|
1064
|
-
if (m[0] & 512 /* ReflectAttr */) {
|
|
1009
|
+
if ( m[0] & 512 /* ReflectAttr */) {
|
|
1065
1010
|
cmpMeta.$attrsToReflect$.push([propName, attrName]);
|
|
1066
1011
|
}
|
|
1067
1012
|
return attrName;
|
|
@@ -1072,7 +1017,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1072
1017
|
};
|
|
1073
1018
|
const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
|
|
1074
1019
|
// initializeComponent
|
|
1075
|
-
if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
|
|
1020
|
+
if ( (hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
|
|
1076
1021
|
{
|
|
1077
1022
|
// we haven't initialized this element yet
|
|
1078
1023
|
hostRef.$flags$ |= 32 /* hasInitializedComponent */;
|
|
@@ -1086,8 +1031,8 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
|
|
|
1086
1031
|
Cstr = await Cstr;
|
|
1087
1032
|
endLoad();
|
|
1088
1033
|
}
|
|
1089
|
-
if (!Cstr.isProxied) {
|
|
1090
|
-
// we'
|
|
1034
|
+
if ( !Cstr.isProxied) {
|
|
1035
|
+
// we'eve never proxied this Constructor before
|
|
1091
1036
|
// let's add the getters/setters to its prototype before
|
|
1092
1037
|
// the first time we create an instance of the implementation
|
|
1093
1038
|
{
|
|
@@ -1121,7 +1066,7 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
|
|
|
1121
1066
|
}
|
|
1122
1067
|
endNewInstance();
|
|
1123
1068
|
}
|
|
1124
|
-
if (Cstr.style) {
|
|
1069
|
+
if ( Cstr.style) {
|
|
1125
1070
|
// this component has styles but we haven't registered them yet
|
|
1126
1071
|
let style = Cstr.style;
|
|
1127
1072
|
const scopeId = getScopeId(cmpMeta);
|
|
@@ -1135,7 +1080,7 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
|
|
|
1135
1080
|
// we've successfully created a lazy instance
|
|
1136
1081
|
const ancestorComponent = hostRef.$ancestorComponent$;
|
|
1137
1082
|
const schedule = () => scheduleUpdate(hostRef, true);
|
|
1138
|
-
if (ancestorComponent && ancestorComponent['s-rc']) {
|
|
1083
|
+
if ( ancestorComponent && ancestorComponent['s-rc']) {
|
|
1139
1084
|
// this is the intial load and this component it has an ancestor component
|
|
1140
1085
|
// but the ancestor component has NOT fired its will update lifecycle yet
|
|
1141
1086
|
// so let's just cool our jets and wait for the ancestor to continue first
|
|
@@ -1163,7 +1108,8 @@ const connectedCallback = (elm) => {
|
|
|
1163
1108
|
while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {
|
|
1164
1109
|
// climb up the ancestors looking for the first
|
|
1165
1110
|
// component that hasn't finished its lifecycle update yet
|
|
1166
|
-
if (
|
|
1111
|
+
if (
|
|
1112
|
+
ancestorComponent['s-p']) {
|
|
1167
1113
|
// we found this components first ancestor component
|
|
1168
1114
|
// keep a reference to this component's ancestor component
|
|
1169
1115
|
attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));
|
|
@@ -1173,7 +1119,7 @@ const connectedCallback = (elm) => {
|
|
|
1173
1119
|
}
|
|
1174
1120
|
// Lazy properties
|
|
1175
1121
|
// https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
|
|
1176
|
-
if (cmpMeta.$members$) {
|
|
1122
|
+
if ( cmpMeta.$members$) {
|
|
1177
1123
|
Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
|
|
1178
1124
|
if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {
|
|
1179
1125
|
const value = elm[memberName];
|
|
@@ -1200,7 +1146,7 @@ const disconnectedCallback = (elm) => {
|
|
|
1200
1146
|
const hostRef = getHostRef(elm);
|
|
1201
1147
|
{
|
|
1202
1148
|
if (hostRef.$rmListeners$) {
|
|
1203
|
-
hostRef.$rmListeners$.map(
|
|
1149
|
+
hostRef.$rmListeners$.map(rmListener => rmListener());
|
|
1204
1150
|
hostRef.$rmListeners$ = undefined;
|
|
1205
1151
|
}
|
|
1206
1152
|
}
|
|
@@ -1219,7 +1165,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1219
1165
|
let isBootstrapping = true;
|
|
1220
1166
|
Object.assign(plt, options);
|
|
1221
1167
|
plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
|
|
1222
|
-
lazyBundles.map(
|
|
1168
|
+
lazyBundles.map(lazyBundle => lazyBundle[1].map(compactMeta => {
|
|
1223
1169
|
const cmpMeta = {
|
|
1224
1170
|
$flags$: compactMeta[0],
|
|
1225
1171
|
$tagName$: compactMeta[1],
|
|
@@ -1238,7 +1184,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1238
1184
|
{
|
|
1239
1185
|
cmpMeta.$watchers$ = {};
|
|
1240
1186
|
}
|
|
1241
|
-
const tagName =
|
|
1187
|
+
const tagName = cmpMeta.$tagName$;
|
|
1242
1188
|
const HostElement = class extends HTMLElement {
|
|
1243
1189
|
// StencilLazyHost
|
|
1244
1190
|
constructor(self) {
|
|
@@ -1246,7 +1192,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1246
1192
|
super(self);
|
|
1247
1193
|
self = this;
|
|
1248
1194
|
registerHost(self, cmpMeta);
|
|
1249
|
-
if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
|
|
1195
|
+
if ( cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
|
|
1250
1196
|
// this component is using shadow dom
|
|
1251
1197
|
// and this browser supports shadow dom
|
|
1252
1198
|
// add the read-only property "shadowRoot" to the host element
|
|
@@ -1292,7 +1238,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1292
1238
|
// Process deferred connectedCallbacks now all components have been registered
|
|
1293
1239
|
isBootstrapping = false;
|
|
1294
1240
|
if (deferredConnectedCallbacks.length) {
|
|
1295
|
-
deferredConnectedCallbacks.map(
|
|
1241
|
+
deferredConnectedCallbacks.map(host => host.connectedCallback());
|
|
1296
1242
|
}
|
|
1297
1243
|
else {
|
|
1298
1244
|
{
|
|
@@ -1313,10 +1259,10 @@ const registerHost = (elm, cmpMeta) => {
|
|
|
1313
1259
|
$instanceValues$: new Map(),
|
|
1314
1260
|
};
|
|
1315
1261
|
{
|
|
1316
|
-
hostRef.$onInstancePromise$ = new Promise(
|
|
1262
|
+
hostRef.$onInstancePromise$ = new Promise(r => (hostRef.$onInstanceResolve$ = r));
|
|
1317
1263
|
}
|
|
1318
1264
|
{
|
|
1319
|
-
hostRef.$onReadyPromise$ = new Promise(
|
|
1265
|
+
hostRef.$onReadyPromise$ = new Promise(r => (hostRef.$onReadyResolve$ = r));
|
|
1320
1266
|
elm['s-p'] = [];
|
|
1321
1267
|
elm['s-rc'] = [];
|
|
1322
1268
|
}
|
|
@@ -1324,13 +1270,13 @@ const registerHost = (elm, cmpMeta) => {
|
|
|
1324
1270
|
return hostRefs.set(elm, hostRef);
|
|
1325
1271
|
};
|
|
1326
1272
|
const isMemberInElement = (elm, memberName) => memberName in elm;
|
|
1327
|
-
const consoleError = (e, el) => (0, console.error)(e, el);
|
|
1273
|
+
const consoleError = (e, el) => ( 0, console.error)(e, el);
|
|
1328
1274
|
const cmpModules = /*@__PURE__*/ new Map();
|
|
1329
1275
|
const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
1330
1276
|
// loadModuleImport
|
|
1331
1277
|
const exportName = cmpMeta.$tagName$.replace(/-/g, '_');
|
|
1332
1278
|
const bundleId = cmpMeta.$lazyBundleId$;
|
|
1333
|
-
const module =
|
|
1279
|
+
const module = cmpModules.get(bundleId) ;
|
|
1334
1280
|
if (module) {
|
|
1335
1281
|
return module[exportName];
|
|
1336
1282
|
}
|
|
@@ -1338,7 +1284,7 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
|
1338
1284
|
/* webpackInclude: /\.entry\.js$/ */
|
|
1339
1285
|
/* webpackExclude: /\.system\.entry\.js$/ */
|
|
1340
1286
|
/* webpackMode: "lazy" */
|
|
1341
|
-
`./${bundleId}.entry.js${''}`)); }).then(
|
|
1287
|
+
`./${bundleId}.entry.js${ ''}`)); }).then(importedModule => {
|
|
1342
1288
|
{
|
|
1343
1289
|
cmpModules.set(bundleId, importedModule);
|
|
1344
1290
|
}
|