@skyux/core 6.16.0 → 6.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +1042 -892
- package/esm2020/lib/modules/adapter-service/adapter.service.mjs +21 -22
- package/esm2020/lib/modules/affix/affix-offset.mjs +1 -1
- package/esm2020/lib/modules/affix/affix.directive.mjs +38 -23
- package/esm2020/lib/modules/affix/affixer.mjs +266 -260
- package/esm2020/lib/modules/affix/dom-utils.mjs +7 -7
- package/esm2020/lib/modules/dock/dock-dom-adapter.service.mjs +48 -44
- package/esm2020/lib/modules/dock/dock-item.mjs +10 -5
- package/esm2020/lib/modules/dock/dock.component.mjs +55 -31
- package/esm2020/lib/modules/dock/dock.service.mjs +40 -36
- package/esm2020/lib/modules/dynamic-component/dynamic-component.service.mjs +37 -22
- package/esm2020/lib/modules/log/log.service.mjs +37 -37
- package/esm2020/lib/modules/media-query/media-query.service.mjs +50 -47
- package/esm2020/lib/modules/mutation/mutation-observer-service.mjs +3 -1
- package/esm2020/lib/modules/numeric/numeric.pipe.mjs +26 -19
- package/esm2020/lib/modules/numeric/numeric.service.mjs +84 -99
- package/esm2020/lib/modules/overlay/overlay-adapter.service.mjs +23 -17
- package/esm2020/lib/modules/overlay/overlay-instance.mjs +18 -9
- package/esm2020/lib/modules/overlay/overlay.component.mjs +79 -55
- package/esm2020/lib/modules/overlay/overlay.service.mjs +55 -49
- package/esm2020/lib/modules/percent-pipe/percent.pipe.mjs +32 -21
- package/esm2020/lib/modules/resize-observer/resize-observer-media-query.service.mjs +38 -46
- package/esm2020/lib/modules/scrollable-host/scrollable-host.service.mjs +66 -67
- package/esm2020/lib/modules/title/title.service.mjs +8 -4
- package/esm2020/lib/modules/trim/trim.directive.mjs +10 -11
- package/esm2020/lib/modules/viewkeeper/viewkeeper-boundary-info.mjs +1 -1
- package/esm2020/lib/modules/viewkeeper/viewkeeper.directive.mjs +75 -60
- package/esm2020/lib/modules/viewkeeper/viewkeeper.mjs +166 -156
- package/esm2020/lib/modules/viewkeeper/viewkeeper.service.mjs +7 -3
- package/esm2020/testing/core-testing.module.mjs +4 -1
- package/esm2020/testing/mock-media-query.service.mjs +4 -1
- package/esm2020/testing/mock-ui-config.service.mjs +4 -1
- package/esm2020/testing/overlay/overlay-harness-filters.mjs +1 -1
- package/esm2020/testing/overlay/overlay-harness.mjs +2 -1
- package/esm2020/testing/shared/component-harness.mjs +4 -1
- package/esm2020/testing/shared/harness-filters.mjs +1 -1
- package/fesm2015/skyux-core-testing.mjs +13 -0
- package/fesm2015/skyux-core-testing.mjs.map +1 -1
- package/fesm2015/skyux-core.mjs +1276 -1151
- package/fesm2015/skyux-core.mjs.map +1 -1
- package/fesm2020/skyux-core-testing.mjs +13 -0
- package/fesm2020/skyux-core-testing.mjs.map +1 -1
- package/fesm2020/skyux-core.mjs +1278 -1150
- package/fesm2020/skyux-core.mjs.map +1 -1
- package/lib/modules/adapter-service/adapter.service.d.ts +3 -5
- package/lib/modules/affix/affix-offset.d.ts +1 -1
- package/lib/modules/affix/affix.directive.d.ts +12 -13
- package/lib/modules/affix/affixer.d.ts +2 -34
- package/lib/modules/affix/dom-utils.d.ts +3 -3
- package/lib/modules/dock/dock-dom-adapter.service.d.ts +2 -9
- package/lib/modules/dock/dock-item.d.ts +1 -1
- package/lib/modules/dock/dock.component.d.ts +2 -10
- package/lib/modules/dock/dock.service.d.ts +2 -5
- package/lib/modules/dynamic-component/dynamic-component.service.d.ts +2 -7
- package/lib/modules/log/log.service.d.ts +2 -6
- package/lib/modules/media-query/media-query.service.d.ts +1 -8
- package/lib/modules/numeric/numeric.pipe.d.ts +2 -8
- package/lib/modules/numeric/numeric.service.d.ts +3 -36
- package/lib/modules/overlay/overlay-adapter.service.d.ts +1 -3
- package/lib/modules/overlay/overlay-instance.d.ts +1 -2
- package/lib/modules/overlay/overlay.component.d.ts +1 -14
- package/lib/modules/overlay/overlay.service.d.ts +1 -7
- package/lib/modules/percent-pipe/percent.pipe.d.ts +2 -9
- package/lib/modules/resize-observer/resize-observer-media-query.service.d.ts +2 -7
- package/lib/modules/scrollable-host/scrollable-host.service.d.ts +2 -11
- package/lib/modules/title/title.service.d.ts +2 -2
- package/lib/modules/trim/trim.directive.d.ts +0 -2
- package/lib/modules/viewkeeper/viewkeeper-boundary-info.d.ts +1 -1
- package/lib/modules/viewkeeper/viewkeeper.d.ts +2 -24
- package/lib/modules/viewkeeper/viewkeeper.directive.d.ts +4 -16
- package/lib/modules/viewkeeper/viewkeeper.service.d.ts +1 -1
- package/package.json +2 -2
- package/testing/core-testing.module.d.ts +3 -0
- package/testing/mock-media-query.service.d.ts +3 -0
- package/testing/mock-ui-config.service.d.ts +3 -0
- package/testing/overlay/overlay-harness-filters.d.ts +1 -0
- package/testing/overlay/overlay-harness.d.ts +1 -0
- package/testing/shared/component-harness.d.ts +3 -0
- package/testing/shared/harness-filters.d.ts +1 -0
@@ -3,11 +3,11 @@
|
|
3
3
|
* @param element The HTML element.
|
4
4
|
* @param bufferOffset An optional offset to add/subtract to the element's actual offset.
|
5
5
|
*/
|
6
|
-
export function getElementOffset(element, bufferOffset
|
7
|
-
const bufferOffsetBottom = bufferOffset
|
8
|
-
const bufferOffsetLeft = bufferOffset
|
9
|
-
const bufferOffsetRight = bufferOffset
|
10
|
-
const bufferOffsetTop = bufferOffset
|
6
|
+
export function getElementOffset(element, bufferOffset) {
|
7
|
+
const bufferOffsetBottom = bufferOffset?.bottom || 0;
|
8
|
+
const bufferOffsetLeft = bufferOffset?.left || 0;
|
9
|
+
const bufferOffsetRight = bufferOffset?.right || 0;
|
10
|
+
const bufferOffsetTop = bufferOffset?.top || 0;
|
11
11
|
let top;
|
12
12
|
let left;
|
13
13
|
let right;
|
@@ -39,7 +39,7 @@ export function getElementOffset(element, bufferOffset = {}) {
|
|
39
39
|
export function getOverflowParents(child) {
|
40
40
|
const bodyElement = window.document.body;
|
41
41
|
const results = [bodyElement];
|
42
|
-
let parentElement = child
|
42
|
+
let parentElement = child?.parentNode;
|
43
43
|
while (parentElement !== undefined &&
|
44
44
|
parentElement !== bodyElement &&
|
45
45
|
parentElement instanceof HTMLElement) {
|
@@ -74,4 +74,4 @@ export function isOffsetPartiallyVisibleWithinParent(parent, offset, bufferOffse
|
|
74
74
|
parentOffset.bottom <= offset.top ||
|
75
75
|
parentOffset.left >= offset.right);
|
76
76
|
}
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2FmZml4L2RvbS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixPQUFvQixFQUNwQixZQUE2QjtJQUU3QixNQUFNLGtCQUFrQixHQUFHLFlBQVksRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUM7SUFDakQsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNuRCxNQUFNLGVBQWUsR0FBRyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUUvQyxJQUFJLEdBQVcsQ0FBQztJQUNoQixJQUFJLElBQVksQ0FBQztJQUNqQixJQUFJLEtBQWEsQ0FBQztJQUNsQixJQUFJLE1BQWMsQ0FBQztJQUVuQixJQUFJLE9BQU8sS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFO1FBQzdCLElBQUksR0FBRyxDQUFDLENBQUM7UUFDVCxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsS0FBSyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBQzdDLE1BQU0sR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQztLQUNoRDtTQUFNO1FBQ0wsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDbkQsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDdkIsR0FBRyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDckIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDekIsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7S0FDNUI7SUFFRCxNQUFNLElBQUksa0JBQWtCLENBQUM7SUFDN0IsSUFBSSxJQUFJLGdCQUFnQixDQUFDO0lBQ3pCLEtBQUssSUFBSSxpQkFBaUIsQ0FBQztJQUMzQixHQUFHLElBQUksZUFBZSxDQUFDO0lBRXZCLE9BQU87UUFDTCxNQUFNO1FBQ04sSUFBSTtRQUNKLEtBQUs7UUFDTCxHQUFHO0tBQ0osQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBa0I7SUFDbkQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDekMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU5QixJQUFJLGFBQWEsR0FBRyxLQUFLLEVBQUUsVUFBVSxDQUFDO0lBRXRDLE9BQ0UsYUFBYSxLQUFLLFNBQVM7UUFDM0IsYUFBYSxLQUFLLFdBQVc7UUFDN0IsYUFBYSxZQUFZLFdBQVcsRUFDcEM7UUFDQSxNQUFNLFNBQVMsR0FBRyxNQUFNO2FBQ3JCLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUM7YUFDMUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTNCLElBQ0UsU0FBUyxLQUFLLE1BQU07WUFDcEIsU0FBUyxLQUFLLFFBQVE7WUFDdEIsU0FBUyxLQUFLLFFBQVEsRUFDdEI7WUFDQSxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsYUFBYSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUM7S0FDMUM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsTUFBbUIsRUFDbkIsTUFBZ0MsRUFDaEMsWUFBNkI7SUFFN0IsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRTVELE9BQU8sQ0FBQyxDQUNOLFlBQVksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUc7UUFDN0IsWUFBWSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSztRQUNqQyxZQUFZLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNO1FBQ25DLFlBQVksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDaEMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsb0NBQW9DLENBQ2xELE1BQW1CLEVBQ25CLE1BQWdDLEVBQ2hDLFlBQTZCO0lBRTdCLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUU1RCxPQUFPLENBQUMsQ0FDTixZQUFZLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNO1FBQ2pDLFlBQVksQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLElBQUk7UUFDakMsWUFBWSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsR0FBRztRQUNqQyxZQUFZLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQ2xDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5QWZmaXhPZmZzZXQgfSBmcm9tICcuL2FmZml4LW9mZnNldCc7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgb2Zmc2V0IHZhbHVlcyBvZiBhIGdpdmVuIGVsZW1lbnQuXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgSFRNTCBlbGVtZW50LlxuICogQHBhcmFtIGJ1ZmZlck9mZnNldCBBbiBvcHRpb25hbCBvZmZzZXQgdG8gYWRkL3N1YnRyYWN0IHRvIHRoZSBlbGVtZW50J3MgYWN0dWFsIG9mZnNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRPZmZzZXQoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICBidWZmZXJPZmZzZXQ/OiBTa3lBZmZpeE9mZnNldFxuKTogUmVxdWlyZWQ8U2t5QWZmaXhPZmZzZXQ+IHtcbiAgY29uc3QgYnVmZmVyT2Zmc2V0Qm90dG9tID0gYnVmZmVyT2Zmc2V0Py5ib3R0b20gfHwgMDtcbiAgY29uc3QgYnVmZmVyT2Zmc2V0TGVmdCA9IGJ1ZmZlck9mZnNldD8ubGVmdCB8fCAwO1xuICBjb25zdCBidWZmZXJPZmZzZXRSaWdodCA9IGJ1ZmZlck9mZnNldD8ucmlnaHQgfHwgMDtcbiAgY29uc3QgYnVmZmVyT2Zmc2V0VG9wID0gYnVmZmVyT2Zmc2V0Py50b3AgfHwgMDtcblxuICBsZXQgdG9wOiBudW1iZXI7XG4gIGxldCBsZWZ0OiBudW1iZXI7XG4gIGxldCByaWdodDogbnVtYmVyO1xuICBsZXQgYm90dG9tOiBudW1iZXI7XG5cbiAgaWYgKGVsZW1lbnQgPT09IGRvY3VtZW50LmJvZHkpIHtcbiAgICBsZWZ0ID0gMDtcbiAgICB0b3AgPSAwO1xuICAgIHJpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIGJvdHRvbSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgY2xpZW50UmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgbGVmdCA9IGNsaWVudFJlY3QubGVmdDtcbiAgICB0b3AgPSBjbGllbnRSZWN0LnRvcDtcbiAgICByaWdodCA9IGNsaWVudFJlY3QucmlnaHQ7XG4gICAgYm90dG9tID0gY2xpZW50UmVjdC5ib3R0b207XG4gIH1cblxuICBib3R0b20gLT0gYnVmZmVyT2Zmc2V0Qm90dG9tO1xuICBsZWZ0ICs9IGJ1ZmZlck9mZnNldExlZnQ7XG4gIHJpZ2h0IC09IGJ1ZmZlck9mZnNldFJpZ2h0O1xuICB0b3AgKz0gYnVmZmVyT2Zmc2V0VG9wO1xuXG4gIHJldHVybiB7XG4gICAgYm90dG9tLFxuICAgIGxlZnQsXG4gICAgcmlnaHQsXG4gICAgdG9wLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3ZlcmZsb3dQYXJlbnRzKGNoaWxkOiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50W10ge1xuICBjb25zdCBib2R5RWxlbWVudCA9IHdpbmRvdy5kb2N1bWVudC5ib2R5O1xuICBjb25zdCByZXN1bHRzID0gW2JvZHlFbGVtZW50XTtcblxuICBsZXQgcGFyZW50RWxlbWVudCA9IGNoaWxkPy5wYXJlbnROb2RlO1xuXG4gIHdoaWxlIChcbiAgICBwYXJlbnRFbGVtZW50ICE9PSB1bmRlZmluZWQgJiZcbiAgICBwYXJlbnRFbGVtZW50ICE9PSBib2R5RWxlbWVudCAmJlxuICAgIHBhcmVudEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudFxuICApIHtcbiAgICBjb25zdCBvdmVyZmxvd1kgPSB3aW5kb3dcbiAgICAgIC5nZXRDb21wdXRlZFN0eWxlKHBhcmVudEVsZW1lbnQsIHVuZGVmaW5lZClcbiAgICAgIC5vdmVyZmxvd1kudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChcbiAgICAgIG92ZXJmbG93WSA9PT0gJ2F1dG8nIHx8XG4gICAgICBvdmVyZmxvd1kgPT09ICdoaWRkZW4nIHx8XG4gICAgICBvdmVyZmxvd1kgPT09ICdzY3JvbGwnXG4gICAgKSB7XG4gICAgICByZXN1bHRzLnB1c2gocGFyZW50RWxlbWVudCk7XG4gICAgfVxuXG4gICAgcGFyZW50RWxlbWVudCA9IHBhcmVudEVsZW1lbnQucGFyZW50Tm9kZTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHRzO1xufVxuXG4vKipcbiAqIENvbmZpcm1zIG9mZnNldCBpcyBmdWxseSB2aXNpYmxlIHdpdGhpbiBhIHBhcmVudCBlbGVtZW50LlxuICogQHBhcmFtIHBhcmVudFxuICogQHBhcmFtIG9mZnNldFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNPZmZzZXRGdWxseVZpc2libGVXaXRoaW5QYXJlbnQoXG4gIHBhcmVudDogSFRNTEVsZW1lbnQsXG4gIG9mZnNldDogUmVxdWlyZWQ8U2t5QWZmaXhPZmZzZXQ+LFxuICBidWZmZXJPZmZzZXQ/OiBTa3lBZmZpeE9mZnNldFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IHBhcmVudE9mZnNldCA9IGdldEVsZW1lbnRPZmZzZXQocGFyZW50LCBidWZmZXJPZmZzZXQpO1xuXG4gIHJldHVybiAhKFxuICAgIHBhcmVudE9mZnNldC50b3AgPiBvZmZzZXQudG9wIHx8XG4gICAgcGFyZW50T2Zmc2V0LnJpZ2h0IDwgb2Zmc2V0LnJpZ2h0IHx8XG4gICAgcGFyZW50T2Zmc2V0LmJvdHRvbSA8IG9mZnNldC5ib3R0b20gfHxcbiAgICBwYXJlbnRPZmZzZXQubGVmdCA+IG9mZnNldC5sZWZ0XG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09mZnNldFBhcnRpYWxseVZpc2libGVXaXRoaW5QYXJlbnQoXG4gIHBhcmVudDogSFRNTEVsZW1lbnQsXG4gIG9mZnNldDogUmVxdWlyZWQ8U2t5QWZmaXhPZmZzZXQ+LFxuICBidWZmZXJPZmZzZXQ/OiBTa3lBZmZpeE9mZnNldFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IHBhcmVudE9mZnNldCA9IGdldEVsZW1lbnRPZmZzZXQocGFyZW50LCBidWZmZXJPZmZzZXQpO1xuXG4gIHJldHVybiAhKFxuICAgIHBhcmVudE9mZnNldC50b3AgPj0gb2Zmc2V0LmJvdHRvbSB8fFxuICAgIHBhcmVudE9mZnNldC5yaWdodCA8PSBvZmZzZXQubGVmdCB8fFxuICAgIHBhcmVudE9mZnNldC5ib3R0b20gPD0gb2Zmc2V0LnRvcCB8fFxuICAgIHBhcmVudE9mZnNldC5sZWZ0ID49IG9mZnNldC5yaWdodFxuICApO1xufVxuIl19
|
@@ -1,3 +1,5 @@
|
|
1
|
+
var _SkyDockDomAdapterService_instances, _SkyDockDomAdapterService_currentDockHeight, _SkyDockDomAdapterService_mutationSvc, _SkyDockDomAdapterService_ngUnsubscribe, _SkyDockDomAdapterService_observer, _SkyDockDomAdapterService_renderer, _SkyDockDomAdapterService_styleElement, _SkyDockDomAdapterService_adjustBodyStyles, _SkyDockDomAdapterService_destroyStyleElement;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { Injectable, RendererFactory2, } from '@angular/core';
|
2
4
|
import { Subject, fromEvent as observableFromEvent } from 'rxjs';
|
3
5
|
import { debounceTime, takeUntil } from 'rxjs/operators';
|
@@ -8,73 +10,75 @@ import * as i1 from "../mutation/mutation-observer-service";
|
|
8
10
|
* @internal
|
9
11
|
*/
|
10
12
|
export class SkyDockDomAdapterService {
|
11
|
-
constructor(
|
12
|
-
this
|
13
|
-
this
|
14
|
-
|
13
|
+
constructor(mutationSvc, rendererFactory) {
|
14
|
+
_SkyDockDomAdapterService_instances.add(this);
|
15
|
+
_SkyDockDomAdapterService_currentDockHeight.set(this, void 0);
|
16
|
+
_SkyDockDomAdapterService_mutationSvc.set(this, void 0);
|
17
|
+
_SkyDockDomAdapterService_ngUnsubscribe.set(this, new Subject());
|
18
|
+
_SkyDockDomAdapterService_observer.set(this, void 0);
|
19
|
+
_SkyDockDomAdapterService_renderer.set(this, void 0);
|
20
|
+
_SkyDockDomAdapterService_styleElement.set(this, void 0);
|
21
|
+
__classPrivateFieldSet(this, _SkyDockDomAdapterService_mutationSvc, mutationSvc, "f");
|
22
|
+
__classPrivateFieldSet(this, _SkyDockDomAdapterService_renderer, rendererFactory.createRenderer(undefined, null), "f");
|
15
23
|
}
|
16
24
|
ngOnDestroy() {
|
17
|
-
if (this
|
18
|
-
this.
|
25
|
+
if (__classPrivateFieldGet(this, _SkyDockDomAdapterService_observer, "f")) {
|
26
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_observer, "f").disconnect();
|
19
27
|
}
|
20
|
-
this.
|
21
|
-
|
22
|
-
|
28
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_ngUnsubscribe, "f").next();
|
29
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_ngUnsubscribe, "f").complete();
|
30
|
+
if (__classPrivateFieldGet(this, _SkyDockDomAdapterService_styleElement, "f")) {
|
31
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_instances, "m", _SkyDockDomAdapterService_destroyStyleElement).call(this);
|
23
32
|
}
|
24
|
-
this
|
25
|
-
this.ngUnsubscribe =
|
26
|
-
this.observer =
|
27
|
-
this.styleElement =
|
28
|
-
undefined;
|
33
|
+
__classPrivateFieldSet(this, _SkyDockDomAdapterService_currentDockHeight, __classPrivateFieldSet(this, _SkyDockDomAdapterService_observer, __classPrivateFieldSet(this, _SkyDockDomAdapterService_styleElement, undefined, "f"), "f"), "f");
|
29
34
|
}
|
30
35
|
setSticky(elementRef) {
|
31
|
-
this.
|
36
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_renderer, "f").addClass(elementRef.nativeElement, 'sky-dock-sticky');
|
32
37
|
}
|
33
38
|
setZIndex(zIndex, elementRef) {
|
34
|
-
this.
|
39
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_renderer, "f").setStyle(elementRef.nativeElement, 'z-index', zIndex);
|
35
40
|
}
|
36
41
|
unbindDock(elementRef) {
|
37
|
-
this.
|
42
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_renderer, "f").addClass(elementRef.nativeElement, 'sky-dock-unbound');
|
38
43
|
}
|
39
44
|
watchDomChanges(elementRef) {
|
40
|
-
this
|
41
|
-
this.
|
42
|
-
});
|
43
|
-
this.
|
45
|
+
__classPrivateFieldSet(this, _SkyDockDomAdapterService_observer, __classPrivateFieldGet(this, _SkyDockDomAdapterService_mutationSvc, "f").create(() => {
|
46
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_instances, "m", _SkyDockDomAdapterService_adjustBodyStyles).call(this, elementRef);
|
47
|
+
}), "f");
|
48
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_observer, "f").observe(elementRef.nativeElement, {
|
44
49
|
attributes: true,
|
45
50
|
childList: true,
|
46
51
|
characterData: true,
|
47
52
|
subtree: true,
|
48
53
|
});
|
49
54
|
observableFromEvent(window, 'resize')
|
50
|
-
.pipe(debounceTime(250), takeUntil(this
|
51
|
-
.subscribe(() => this.
|
55
|
+
.pipe(debounceTime(250), takeUntil(__classPrivateFieldGet(this, _SkyDockDomAdapterService_ngUnsubscribe, "f")))
|
56
|
+
.subscribe(() => __classPrivateFieldGet(this, _SkyDockDomAdapterService_instances, "m", _SkyDockDomAdapterService_adjustBodyStyles).call(this, elementRef));
|
52
57
|
}
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
// Create a style element to avoid overwriting any existing inline body styles.
|
59
|
-
const styleElement = this.renderer.createElement('style');
|
60
|
-
const textNode = this.renderer.createText(`body { margin-bottom: ${dockHeight}px; }`);
|
61
|
-
// Apply a `data-` attribute to make unit testing easier.
|
62
|
-
this.renderer.setAttribute(styleElement, 'data-test-selector', 'sky-layout-dock-bottom-styles');
|
63
|
-
this.renderer.appendChild(styleElement, textNode);
|
64
|
-
this.renderer.appendChild(document.head, styleElement);
|
65
|
-
if (this.styleElement) {
|
66
|
-
this.destroyStyleElement();
|
67
|
-
}
|
68
|
-
this.currentDockHeight = dockHeight;
|
69
|
-
this.styleElement = styleElement;
|
58
|
+
}
|
59
|
+
_SkyDockDomAdapterService_currentDockHeight = new WeakMap(), _SkyDockDomAdapterService_mutationSvc = new WeakMap(), _SkyDockDomAdapterService_ngUnsubscribe = new WeakMap(), _SkyDockDomAdapterService_observer = new WeakMap(), _SkyDockDomAdapterService_renderer = new WeakMap(), _SkyDockDomAdapterService_styleElement = new WeakMap(), _SkyDockDomAdapterService_instances = new WeakSet(), _SkyDockDomAdapterService_adjustBodyStyles = function _SkyDockDomAdapterService_adjustBodyStyles(elementRef) {
|
60
|
+
const dockHeight = elementRef.nativeElement.getBoundingClientRect().height;
|
61
|
+
if (dockHeight === __classPrivateFieldGet(this, _SkyDockDomAdapterService_currentDockHeight, "f")) {
|
62
|
+
return;
|
70
63
|
}
|
71
|
-
|
72
|
-
|
64
|
+
// Create a style element to avoid overwriting any existing inline body styles.
|
65
|
+
const styleElement = __classPrivateFieldGet(this, _SkyDockDomAdapterService_renderer, "f").createElement('style');
|
66
|
+
const textNode = __classPrivateFieldGet(this, _SkyDockDomAdapterService_renderer, "f").createText(`body { margin-bottom: ${dockHeight}px; }`);
|
67
|
+
// Apply a `data-` attribute to make unit testing easier.
|
68
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_renderer, "f").setAttribute(styleElement, 'data-test-selector', 'sky-layout-dock-bottom-styles');
|
69
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_renderer, "f").appendChild(styleElement, textNode);
|
70
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_renderer, "f").appendChild(document.head, styleElement);
|
71
|
+
if (__classPrivateFieldGet(this, _SkyDockDomAdapterService_styleElement, "f")) {
|
72
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_instances, "m", _SkyDockDomAdapterService_destroyStyleElement).call(this);
|
73
73
|
}
|
74
|
-
|
74
|
+
__classPrivateFieldSet(this, _SkyDockDomAdapterService_currentDockHeight, dockHeight, "f");
|
75
|
+
__classPrivateFieldSet(this, _SkyDockDomAdapterService_styleElement, styleElement, "f");
|
76
|
+
}, _SkyDockDomAdapterService_destroyStyleElement = function _SkyDockDomAdapterService_destroyStyleElement() {
|
77
|
+
__classPrivateFieldGet(this, _SkyDockDomAdapterService_renderer, "f").removeChild(document.head, __classPrivateFieldGet(this, _SkyDockDomAdapterService_styleElement, "f"));
|
78
|
+
};
|
75
79
|
SkyDockDomAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyDockDomAdapterService, deps: [{ token: i1.MutationObserverService }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
76
80
|
SkyDockDomAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyDockDomAdapterService });
|
77
81
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyDockDomAdapterService, decorators: [{
|
78
82
|
type: Injectable
|
79
83
|
}], ctorParameters: function () { return [{ type: i1.MutationObserverService }, { type: i0.RendererFactory2 }]; } });
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay1kb20tYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2RvY2svZG9jay1kb20tYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLFVBQVUsRUFHVixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLElBQUksbUJBQW1CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBRWhGOztHQUVHO0FBRUgsTUFBTSxPQUFPLHdCQUF3QjtJQWFuQyxZQUNFLFdBQW9DLEVBQ3BDLGVBQWlDOztRQWRuQyw4REFBdUM7UUFFdkMsd0RBQXNDO1FBRXRDLGtEQUFpQixJQUFJLE9BQU8sRUFBUSxFQUFDO1FBRXJDLHFEQUF3QztRQUV4QyxxREFBcUI7UUFFckIseURBQTRDO1FBTTFDLHVCQUFBLElBQUkseUNBQWdCLFdBQVcsTUFBQSxDQUFDO1FBQ2hDLHVCQUFBLElBQUksc0NBQWEsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQUEsQ0FBQztJQUNuRSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLHVCQUFBLElBQUksMENBQVUsRUFBRTtZQUNsQix1QkFBQSxJQUFJLDBDQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDN0I7UUFDRCx1QkFBQSxJQUFJLCtDQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsdUJBQUEsSUFBSSwrQ0FBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRS9CLElBQUksdUJBQUEsSUFBSSw4Q0FBYyxFQUFFO1lBQ3RCLHVCQUFBLElBQUksMEZBQXFCLE1BQXpCLElBQUksQ0FBdUIsQ0FBQztTQUM3QjtRQUVELHVCQUFBLElBQUksK0NBQXNCLHVCQUFBLElBQUksc0NBQWEsdUJBQUEsSUFBSSwwQ0FBaUIsU0FBUyxNQUFBLE1BQUEsTUFBQSxDQUFDO0lBQzVFLENBQUM7SUFFTSxTQUFTLENBQUMsVUFBc0I7UUFDckMsdUJBQUEsSUFBSSwwQ0FBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFjLEVBQUUsVUFBc0I7UUFDckQsdUJBQUEsSUFBSSwwQ0FBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sVUFBVSxDQUFDLFVBQXNCO1FBQ3RDLHVCQUFBLElBQUksMENBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTSxlQUFlLENBQUMsVUFBc0I7UUFDM0MsdUJBQUEsSUFBSSxzQ0FBYSx1QkFBQSxJQUFJLDZDQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUM3Qyx1QkFBQSxJQUFJLHVGQUFrQixNQUF0QixJQUFJLEVBQW1CLFVBQVUsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxNQUFBLENBQUM7UUFFSCx1QkFBQSxJQUFJLDBDQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUU7WUFDL0MsVUFBVSxFQUFFLElBQUk7WUFDaEIsU0FBUyxFQUFFLElBQUk7WUFDZixhQUFhLEVBQUUsSUFBSTtZQUNuQixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztRQUVILG1CQUFtQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7YUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsdUJBQUEsSUFBSSwrQ0FBZSxDQUFDLENBQUM7YUFDdkQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUFBLElBQUksdUZBQWtCLE1BQXRCLElBQUksRUFBbUIsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDOzttZUFFaUIsVUFBc0I7SUFDdEMsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUMzRSxJQUFJLFVBQVUsS0FBSyx1QkFBQSxJQUFJLG1EQUFtQixFQUFFO1FBQzFDLE9BQU87S0FDUjtJQUVELCtFQUErRTtJQUMvRSxNQUFNLFlBQVksR0FBRyx1QkFBQSxJQUFJLDBDQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNELE1BQU0sUUFBUSxHQUFHLHVCQUFBLElBQUksMENBQVUsQ0FBQyxVQUFVLENBQ3hDLHlCQUF5QixVQUFVLE9BQU8sQ0FDM0MsQ0FBQztJQUVGLHlEQUF5RDtJQUN6RCx1QkFBQSxJQUFJLDBDQUFVLENBQUMsWUFBWSxDQUN6QixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLCtCQUErQixDQUNoQyxDQUFDO0lBRUYsdUJBQUEsSUFBSSwwQ0FBVSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkQsdUJBQUEsSUFBSSwwQ0FBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRXhELElBQUksdUJBQUEsSUFBSSw4Q0FBYyxFQUFFO1FBQ3RCLHVCQUFBLElBQUksMEZBQXFCLE1BQXpCLElBQUksQ0FBdUIsQ0FBQztLQUM3QjtJQUVELHVCQUFBLElBQUksK0NBQXNCLFVBQVUsTUFBQSxDQUFDO0lBQ3JDLHVCQUFBLElBQUksMENBQWlCLFlBQVksTUFBQSxDQUFDO0FBQ3BDLENBQUM7SUFHQyx1QkFBQSxJQUFJLDBDQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsdUJBQUEsSUFBSSw4Q0FBYyxDQUFDLENBQUM7QUFDaEUsQ0FBQztxSEFoR1Usd0JBQXdCO3lIQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIE9uRGVzdHJveSxcbiAgUmVuZGVyZXIyLFxuICBSZW5kZXJlckZhY3RvcnkyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IGFzIG9ic2VydmFibGVGcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNdXRhdGlvbk9ic2VydmVyU2VydmljZSB9IGZyb20gJy4uL211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLXNlcnZpY2UnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5RG9ja0RvbUFkYXB0ZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgI2N1cnJlbnREb2NrSGVpZ2h0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgI211dGF0aW9uU3ZjOiBNdXRhdGlvbk9ic2VydmVyU2VydmljZTtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI29ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyIHwgdW5kZWZpbmVkO1xuXG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICNzdHlsZUVsZW1lbnQ6IEhUTUxTdHlsZUVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbXV0YXRpb25TdmM6IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxuICAgIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MlxuICApIHtcbiAgICB0aGlzLiNtdXRhdGlvblN2YyA9IG11dGF0aW9uU3ZjO1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI29ic2VydmVyKSB7XG4gICAgICB0aGlzLiNvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIGlmICh0aGlzLiNzdHlsZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuI2Rlc3Ryb3lTdHlsZUVsZW1lbnQoKTtcbiAgICB9XG5cbiAgICB0aGlzLiNjdXJyZW50RG9ja0hlaWdodCA9IHRoaXMuI29ic2VydmVyID0gdGhpcy4jc3R5bGVFbGVtZW50ID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHNldFN0aWNreShlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnc2t5LWRvY2stc3RpY2t5Jyk7XG4gIH1cblxuICBwdWJsaWMgc2V0WkluZGV4KHpJbmRleDogbnVtYmVyLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnei1pbmRleCcsIHpJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgdW5iaW5kRG9jayhlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnc2t5LWRvY2stdW5ib3VuZCcpO1xuICB9XG5cbiAgcHVibGljIHdhdGNoRG9tQ2hhbmdlcyhlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy4jb2JzZXJ2ZXIgPSB0aGlzLiNtdXRhdGlvblN2Yy5jcmVhdGUoKCkgPT4ge1xuICAgICAgdGhpcy4jYWRqdXN0Qm9keVN0eWxlcyhlbGVtZW50UmVmKTtcbiAgICB9KTtcblxuICAgIHRoaXMuI29ic2VydmVyLm9ic2VydmUoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMjUwKSwgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLiNhZGp1c3RCb2R5U3R5bGVzKGVsZW1lbnRSZWYpKTtcbiAgfVxuXG4gICNhZGp1c3RCb2R5U3R5bGVzKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBkb2NrSGVpZ2h0ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICBpZiAoZG9ja0hlaWdodCA9PT0gdGhpcy4jY3VycmVudERvY2tIZWlnaHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgYSBzdHlsZSBlbGVtZW50IHRvIGF2b2lkIG92ZXJ3cml0aW5nIGFueSBleGlzdGluZyBpbmxpbmUgYm9keSBzdHlsZXMuXG4gICAgY29uc3Qgc3R5bGVFbGVtZW50ID0gdGhpcy4jcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICBjb25zdCB0ZXh0Tm9kZSA9IHRoaXMuI3JlbmRlcmVyLmNyZWF0ZVRleHQoXG4gICAgICBgYm9keSB7IG1hcmdpbi1ib3R0b206ICR7ZG9ja0hlaWdodH1weDsgfWBcbiAgICApO1xuXG4gICAgLy8gQXBwbHkgYSBgZGF0YS1gIGF0dHJpYnV0ZSB0byBtYWtlIHVuaXQgdGVzdGluZyBlYXNpZXIuXG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgc3R5bGVFbGVtZW50LFxuICAgICAgJ2RhdGEtdGVzdC1zZWxlY3RvcicsXG4gICAgICAnc2t5LWxheW91dC1kb2NrLWJvdHRvbS1zdHlsZXMnXG4gICAgKTtcblxuICAgIHRoaXMuI3JlbmRlcmVyLmFwcGVuZENoaWxkKHN0eWxlRWxlbWVudCwgdGV4dE5vZGUpO1xuICAgIHRoaXMuI3JlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmhlYWQsIHN0eWxlRWxlbWVudCk7XG5cbiAgICBpZiAodGhpcy4jc3R5bGVFbGVtZW50KSB7XG4gICAgICB0aGlzLiNkZXN0cm95U3R5bGVFbGVtZW50KCk7XG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudERvY2tIZWlnaHQgPSBkb2NrSGVpZ2h0O1xuICAgIHRoaXMuI3N0eWxlRWxlbWVudCA9IHN0eWxlRWxlbWVudDtcbiAgfVxuXG4gICNkZXN0cm95U3R5bGVFbGVtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUNoaWxkKGRvY3VtZW50LmhlYWQsIHRoaXMuI3N0eWxlRWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,3 +1,5 @@
|
|
1
|
+
var _SkyDockItem_destroyed, _SkyDockItem_destroyedObs;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { Subject } from 'rxjs';
|
2
4
|
/**
|
3
5
|
* Represents a single item added to the dock.
|
@@ -10,20 +12,23 @@ export class SkyDockItem {
|
|
10
12
|
constructor(componentInstance, stackOrder) {
|
11
13
|
this.componentInstance = componentInstance;
|
12
14
|
this.stackOrder = stackOrder;
|
13
|
-
this
|
15
|
+
_SkyDockItem_destroyed.set(this, new Subject());
|
16
|
+
_SkyDockItem_destroyedObs.set(this, void 0);
|
17
|
+
__classPrivateFieldSet(this, _SkyDockItem_destroyedObs, __classPrivateFieldGet(this, _SkyDockItem_destroyed, "f").asObservable(), "f");
|
14
18
|
}
|
15
19
|
/**
|
16
20
|
* An event that emits when the item is removed from the dock.
|
17
21
|
*/
|
18
22
|
get destroyed() {
|
19
|
-
return this
|
23
|
+
return __classPrivateFieldGet(this, _SkyDockItem_destroyedObs, "f");
|
20
24
|
}
|
21
25
|
/**
|
22
26
|
* Removes the item from the dock.
|
23
27
|
*/
|
24
28
|
destroy() {
|
25
|
-
this.
|
26
|
-
this.
|
29
|
+
__classPrivateFieldGet(this, _SkyDockItem_destroyed, "f").next();
|
30
|
+
__classPrivateFieldGet(this, _SkyDockItem_destroyed, "f").complete();
|
27
31
|
}
|
28
32
|
}
|
29
|
-
|
33
|
+
_SkyDockItem_destroyed = new WeakMap(), _SkyDockItem_destroyedObs = new WeakMap();
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2RvY2svZG9jay1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQzs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBWXRCOzs7T0FHRztJQUNILFlBQ2tCLGlCQUFvQixFQUNwQixVQUFrQjtRQURsQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQUc7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQVZwQyxpQ0FBYSxJQUFJLE9BQU8sRUFBUSxFQUFDO1FBRWpDLDRDQUFnQztRQVU5Qix1QkFBQSxJQUFJLDZCQUFpQix1QkFBQSxJQUFJLDhCQUFXLENBQUMsWUFBWSxFQUFFLE1BQUEsQ0FBQztJQUN0RCxDQUFDO0lBcEJEOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sdUJBQUEsSUFBSSxpQ0FBYyxDQUFDO0lBQzVCLENBQUM7SUFpQkQ7O09BRUc7SUFDSSxPQUFPO1FBQ1osdUJBQUEsSUFBSSw4QkFBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLHVCQUFBLElBQUksOEJBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBpdGVtIGFkZGVkIHRvIHRoZSBkb2NrLlxuICovXG5leHBvcnQgY2xhc3MgU2t5RG9ja0l0ZW08VD4ge1xuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCBlbWl0cyB3aGVuIHRoZSBpdGVtIGlzIHJlbW92ZWQgZnJvbSB0aGUgZG9jay5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGVzdHJveWVkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNkZXN0cm95ZWRPYnM7XG4gIH1cblxuICAjZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjZGVzdHJveWVkT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gY29tcG9uZW50SW5zdGFuY2UgVGhlIGl0ZW0ncyBjb21wb25lbnQgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBzdGFja09yZGVyIFRoZSBhc3NpZ25lZCBzdGFjayBvcmRlciBvZiB0aGUgZG9ja2VkIGl0ZW0uXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50SW5zdGFuY2U6IFQsXG4gICAgcHVibGljIHJlYWRvbmx5IHN0YWNrT3JkZXI6IG51bWJlclxuICApIHtcbiAgICB0aGlzLiNkZXN0cm95ZWRPYnMgPSB0aGlzLiNkZXN0cm95ZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyB0aGUgaXRlbSBmcm9tIHRoZSBkb2NrLlxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLiNkZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
|
@@ -1,3 +1,5 @@
|
|
1
|
+
var _SkyDockComponent_instances, _SkyDockComponent_changeDetector, _SkyDockComponent_domAdapter, _SkyDockComponent_elementRef, _SkyDockComponent_injector, _SkyDockComponent_itemRefs, _SkyDockComponent_options, _SkyDockComponent_resolver, _SkyDockComponent_sortItemsByStackOrder, _SkyDockComponent_getHighestStackOrder;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, Injector, ViewChild, ViewContainerRef, } from '@angular/core';
|
2
4
|
import { SkyDockDomAdapterService } from './dock-dom-adapter.service';
|
3
5
|
import { SkyDockLocation } from './dock-location';
|
@@ -8,71 +10,93 @@ import * as i1 from "./dock-dom-adapter.service";
|
|
8
10
|
* @internal
|
9
11
|
*/
|
10
12
|
export class SkyDockComponent {
|
13
|
+
// TODO: Replace deprecated `ComponentFactoryResolver`.
|
11
14
|
constructor(changeDetector, resolver, elementRef, injector, domAdapter) {
|
12
|
-
this
|
13
|
-
this
|
14
|
-
this
|
15
|
-
this
|
16
|
-
this
|
17
|
-
this
|
15
|
+
_SkyDockComponent_instances.add(this);
|
16
|
+
_SkyDockComponent_changeDetector.set(this, void 0);
|
17
|
+
_SkyDockComponent_domAdapter.set(this, void 0);
|
18
|
+
_SkyDockComponent_elementRef.set(this, void 0);
|
19
|
+
_SkyDockComponent_injector.set(this, void 0);
|
20
|
+
_SkyDockComponent_itemRefs.set(this, []);
|
21
|
+
_SkyDockComponent_options.set(this, void 0);
|
22
|
+
_SkyDockComponent_resolver.set(this, void 0);
|
23
|
+
__classPrivateFieldSet(this, _SkyDockComponent_changeDetector, changeDetector, "f");
|
24
|
+
__classPrivateFieldSet(this, _SkyDockComponent_resolver, resolver, "f");
|
25
|
+
__classPrivateFieldSet(this, _SkyDockComponent_elementRef, elementRef, "f");
|
26
|
+
__classPrivateFieldSet(this, _SkyDockComponent_injector, injector, "f");
|
27
|
+
__classPrivateFieldSet(this, _SkyDockComponent_domAdapter, domAdapter, "f");
|
18
28
|
}
|
19
29
|
insertComponent(component, config = {}) {
|
20
|
-
|
30
|
+
/*istanbul ignore if: untestable*/
|
31
|
+
if (!this.target) {
|
32
|
+
throw Error('[SkyDockComponent] Could not insert the component because the target element could not be found.');
|
33
|
+
}
|
34
|
+
const factory = __classPrivateFieldGet(this, _SkyDockComponent_resolver, "f").resolveComponentFactory(component);
|
21
35
|
const injector = Injector.create({
|
22
36
|
providers: config.providers || [],
|
23
|
-
parent: this
|
37
|
+
parent: __classPrivateFieldGet(this, _SkyDockComponent_injector, "f"),
|
24
38
|
});
|
25
39
|
const componentRef = this.target.createComponent(factory, undefined, injector);
|
26
40
|
const stackOrder = config.stackOrder !== null && config.stackOrder !== undefined
|
27
41
|
? config.stackOrder
|
28
|
-
: this.
|
29
|
-
this.
|
42
|
+
: __classPrivateFieldGet(this, _SkyDockComponent_instances, "m", _SkyDockComponent_getHighestStackOrder).call(this);
|
43
|
+
__classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").push({
|
30
44
|
componentRef,
|
31
45
|
stackOrder,
|
32
46
|
});
|
33
|
-
this.
|
34
|
-
this.
|
47
|
+
__classPrivateFieldGet(this, _SkyDockComponent_instances, "m", _SkyDockComponent_sortItemsByStackOrder).call(this);
|
48
|
+
__classPrivateFieldGet(this, _SkyDockComponent_changeDetector, "f").markForCheck();
|
35
49
|
return {
|
36
50
|
componentRef,
|
37
51
|
stackOrder,
|
38
52
|
};
|
39
53
|
}
|
40
54
|
removeItem(item) {
|
55
|
+
/*istanbul ignore if: untestable*/
|
56
|
+
if (!this.target) {
|
57
|
+
throw Error('[SkyDockComponent] Could not remove the item because the target element could not be found.');
|
58
|
+
}
|
41
59
|
const viewRef = item.componentRef.hostView;
|
42
60
|
this.target.remove(this.target.indexOf(viewRef));
|
43
|
-
const found = this.
|
44
|
-
|
61
|
+
const found = __classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").find((i) => i.componentRef.hostView === viewRef);
|
62
|
+
if (found) {
|
63
|
+
__classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").splice(__classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").indexOf(found), 1);
|
64
|
+
}
|
45
65
|
}
|
46
66
|
setOptions(options) {
|
47
|
-
this
|
48
|
-
switch (this
|
67
|
+
__classPrivateFieldSet(this, _SkyDockComponent_options, options, "f");
|
68
|
+
switch (__classPrivateFieldGet(this, _SkyDockComponent_options, "f")?.location) {
|
49
69
|
case SkyDockLocation.BeforeElement:
|
50
|
-
this.
|
70
|
+
__classPrivateFieldGet(this, _SkyDockComponent_domAdapter, "f").unbindDock(__classPrivateFieldGet(this, _SkyDockComponent_elementRef, "f"));
|
51
71
|
break;
|
52
72
|
case SkyDockLocation.ElementBottom:
|
53
|
-
this.
|
73
|
+
__classPrivateFieldGet(this, _SkyDockComponent_domAdapter, "f").setSticky(__classPrivateFieldGet(this, _SkyDockComponent_elementRef, "f"));
|
54
74
|
break;
|
55
75
|
case SkyDockLocation.BodyBottom:
|
56
76
|
default:
|
57
|
-
this.
|
77
|
+
__classPrivateFieldGet(this, _SkyDockComponent_domAdapter, "f").watchDomChanges(__classPrivateFieldGet(this, _SkyDockComponent_elementRef, "f"));
|
58
78
|
break;
|
59
79
|
}
|
60
|
-
if (this
|
61
|
-
this.
|
80
|
+
if (__classPrivateFieldGet(this, _SkyDockComponent_options, "f")?.zIndex) {
|
81
|
+
__classPrivateFieldGet(this, _SkyDockComponent_domAdapter, "f").setZIndex(__classPrivateFieldGet(this, _SkyDockComponent_options, "f").zIndex, __classPrivateFieldGet(this, _SkyDockComponent_elementRef, "f"));
|
62
82
|
}
|
63
83
|
}
|
64
|
-
|
65
|
-
|
84
|
+
}
|
85
|
+
_SkyDockComponent_changeDetector = new WeakMap(), _SkyDockComponent_domAdapter = new WeakMap(), _SkyDockComponent_elementRef = new WeakMap(), _SkyDockComponent_injector = new WeakMap(), _SkyDockComponent_itemRefs = new WeakMap(), _SkyDockComponent_options = new WeakMap(), _SkyDockComponent_resolver = new WeakMap(), _SkyDockComponent_instances = new WeakSet(), _SkyDockComponent_sortItemsByStackOrder = function _SkyDockComponent_sortItemsByStackOrder() {
|
86
|
+
if (this.target) {
|
87
|
+
__classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").sort(sortByStackOrder);
|
66
88
|
// Reassign the correct index for each view.
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
if (this.itemRefs.length === 0) {
|
71
|
-
return 0;
|
89
|
+
for (let i = 0, len = __classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").length; i < len; i++) {
|
90
|
+
const item = __classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f")[i];
|
91
|
+
this.target.move(item.componentRef.hostView, i);
|
72
92
|
}
|
73
|
-
return this.itemRefs[0].stackOrder + 1;
|
74
93
|
}
|
75
|
-
}
|
94
|
+
}, _SkyDockComponent_getHighestStackOrder = function _SkyDockComponent_getHighestStackOrder() {
|
95
|
+
if (__classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").length === 0) {
|
96
|
+
return 0;
|
97
|
+
}
|
98
|
+
return __classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f")[0].stackOrder + 1;
|
99
|
+
};
|
76
100
|
SkyDockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyDockComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i1.SkyDockDomAdapterService }], target: i0.ɵɵFactoryTarget.Component });
|
77
101
|
SkyDockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyDockComponent, selector: "sky-dock", providers: [SkyDockDomAdapterService], viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #target></ng-container>\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host:not(.sky-dock-unbound){position:fixed;left:0;bottom:0;right:0}:host.sky-dock-sticky{position:sticky}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
78
102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyDockComponent, decorators: [{
|
@@ -85,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
85
109
|
static: true,
|
86
110
|
}]
|
87
111
|
}] } });
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvZG9jay9kb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9kb2NrL2RvY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsUUFBUSxFQUVSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFFekQ7O0dBRUc7QUFRSCxNQUFNLE9BQU8sZ0JBQWdCO0lBVzNCLFlBQ1UsY0FBaUMsRUFDakMsUUFBa0MsRUFDbEMsVUFBc0IsRUFDdEIsUUFBa0IsRUFDbEIsVUFBb0M7UUFKcEMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUEwQjtRQVB0QyxhQUFRLEdBQWdDLEVBQUUsQ0FBQztJQVFoRCxDQUFDO0lBRUcsZUFBZSxDQUNwQixTQUFrQixFQUNsQixTQUF1QyxFQUFFO1FBRXpDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakUsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMvQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFO1lBQ2pDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN0QixDQUFDLENBQUM7UUFFSCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FDOUMsT0FBTyxFQUNQLFNBQVMsRUFDVCxRQUFRLENBQ1QsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUNkLE1BQU0sQ0FBQyxVQUFVLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssU0FBUztZQUMzRCxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVU7WUFDbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRWxDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2pCLFlBQVk7WUFDWixVQUFVO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVuQyxPQUFPO1lBQ0wsWUFBWTtZQUNaLFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUErQjtRQUMvQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRWpELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUM5QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUMzQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxPQUF1QjtRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUV2QixRQUFRLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFO1lBQzlCLEtBQUssZUFBZSxDQUFDLGFBQWE7Z0JBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDNUMsTUFBTTtZQUNSLEtBQUssZUFBZSxDQUFDLGFBQWE7Z0JBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0MsTUFBTTtZQUNSLEtBQUssZUFBZSxDQUFDLFVBQVUsQ0FBQztZQUNoQztnQkFDRSxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2pELE1BQU07U0FDVDtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXJDLDRDQUE0QztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FDaEQsQ0FBQztJQUNKLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7OzZHQXBHVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixtQ0FIaEIsQ0FBQyx3QkFBd0IsQ0FBQyx1R0FPN0IsZ0JBQWdCLDJDQ2pDMUIseUNBQ0E7MkZENEJhLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxVQUFVLGFBR1QsQ0FBQyx3QkFBd0IsQ0FBQyxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtzT0FTdkMsTUFBTTtzQkFKYixTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3RvcixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RG9ja0RvbUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9kb2NrLWRvbS1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RG9ja0luc2VydENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4vZG9jay1pbnNlcnQtY29tcG9uZW50LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lEb2NrSXRlbVJlZmVyZW5jZSB9IGZyb20gJy4vZG9jay1pdGVtLXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBTa3lEb2NrTG9jYXRpb24gfSBmcm9tICcuL2RvY2stbG9jYXRpb24nO1xuaW1wb3J0IHsgU2t5RG9ja09wdGlvbnMgfSBmcm9tICcuL2RvY2stb3B0aW9ucyc7XG5pbXBvcnQgeyBzb3J0QnlTdGFja09yZGVyIH0gZnJvbSAnLi9zb3J0LWJ5LXN0YWNrLW9yZGVyJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRvY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9jay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RvY2suY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5RG9ja0RvbUFkYXB0ZXJTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY2tDb21wb25lbnQge1xuICBwcml2YXRlIG9wdGlvbnM6IFNreURvY2tPcHRpb25zO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHJpdmF0ZSB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgcHJpdmF0ZSBpdGVtUmVmczogU2t5RG9ja0l0ZW1SZWZlcmVuY2U8YW55PltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGRvbUFkYXB0ZXI6IFNreURvY2tEb21BZGFwdGVyU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGluc2VydENvbXBvbmVudDxUPihcbiAgICBjb21wb25lbnQ6IFR5cGU8VD4sXG4gICAgY29uZmlnOiBTa3lEb2NrSW5zZXJ0Q29tcG9uZW50Q29uZmlnID0ge31cbiAgKTogU2t5RG9ja0l0ZW1SZWZlcmVuY2U8VD4ge1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzOiBjb25maWcucHJvdmlkZXJzIHx8IFtdLFxuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy50YXJnZXQuY3JlYXRlQ29tcG9uZW50PFQ+KFxuICAgICAgZmFjdG9yeSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGluamVjdG9yXG4gICAgKTtcbiAgICBjb25zdCBzdGFja09yZGVyID1cbiAgICAgIGNvbmZpZy5zdGFja09yZGVyICE9PSBudWxsICYmIGNvbmZpZy5zdGFja09yZGVyICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBjb25maWcuc3RhY2tPcmRlclxuICAgICAgICA6IHRoaXMuZ2V0SGlnaGVzdFN0YWNrT3JkZXIoKTtcblxuICAgIHRoaXMuaXRlbVJlZnMucHVzaCh7XG4gICAgICBjb21wb25lbnRSZWYsXG4gICAgICBzdGFja09yZGVyLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zb3J0SXRlbXNCeVN0YWNrT3JkZXIoKTtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29tcG9uZW50UmVmLFxuICAgICAgc3RhY2tPcmRlcixcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUl0ZW0oaXRlbTogU2t5RG9ja0l0ZW1SZWZlcmVuY2U8YW55Pik6IHZvaWQge1xuICAgIGNvbnN0IHZpZXdSZWYgPSBpdGVtLmNvbXBvbmVudFJlZi5ob3N0VmlldztcbiAgICB0aGlzLnRhcmdldC5yZW1vdmUodGhpcy50YXJnZXQuaW5kZXhPZih2aWV3UmVmKSk7XG5cbiAgICBjb25zdCBmb3VuZCA9IHRoaXMuaXRlbVJlZnMuZmluZChcbiAgICAgIChpKSA9PiBpLmNvbXBvbmVudFJlZi5ob3N0VmlldyA9PT0gdmlld1JlZlxuICAgICk7XG4gICAgdGhpcy5pdGVtUmVmcy5zcGxpY2UodGhpcy5pdGVtUmVmcy5pbmRleE9mKGZvdW5kKSwgMSk7XG4gIH1cblxuICBwdWJsaWMgc2V0T3B0aW9ucyhvcHRpb25zOiBTa3lEb2NrT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICBzd2l0Y2ggKHRoaXMub3B0aW9ucz8ubG9jYXRpb24pIHtcbiAgICAgIGNhc2UgU2t5RG9ja0xvY2F0aW9uLkJlZm9yZUVsZW1lbnQ6XG4gICAgICAgIHRoaXMuZG9tQWRhcHRlci51bmJpbmREb2NrKHRoaXMuZWxlbWVudFJlZik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbTpcbiAgICAgICAgdGhpcy5kb21BZGFwdGVyLnNldFN0aWNreSh0aGlzLmVsZW1lbnRSZWYpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2t5RG9ja0xvY2F0aW9uLkJvZHlCb3R0b206XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmRvbUFkYXB0ZXIud2F0Y2hEb21DaGFuZ2VzKHRoaXMuZWxlbWVudFJlZik7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnM/LnpJbmRleCkge1xuICAgICAgdGhpcy5kb21BZGFwdGVyLnNldFpJbmRleCh0aGlzLm9wdGlvbnMuekluZGV4LCB0aGlzLmVsZW1lbnRSZWYpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc29ydEl0ZW1zQnlTdGFja09yZGVyKCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbVJlZnMuc29ydChzb3J0QnlTdGFja09yZGVyKTtcblxuICAgIC8vIFJlYXNzaWduIHRoZSBjb3JyZWN0IGluZGV4IGZvciBlYWNoIHZpZXcuXG4gICAgdGhpcy5pdGVtUmVmcy5mb3JFYWNoKChpdGVtLCBpKSA9PlxuICAgICAgdGhpcy50YXJnZXQubW92ZShpdGVtLmNvbXBvbmVudFJlZi5ob3N0VmlldywgaSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIaWdoZXN0U3RhY2tPcmRlcigpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLml0ZW1SZWZzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaXRlbVJlZnNbMF0uc3RhY2tPcmRlciArIDE7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgI3RhcmdldD48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvZG9jay9kb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9kb2NrL2RvY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLFVBQVUsRUFDVixRQUFRLEVBRVIsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUd0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUV6RDs7R0FFRztBQVFILE1BQU0sT0FBTyxnQkFBZ0I7SUFxQjNCLHVEQUF1RDtJQUN2RCxZQUNFLGNBQWlDLEVBQ2pDLFFBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLFFBQWtCLEVBQ2xCLFVBQW9DOztRQXBCdEMsbURBQW1DO1FBRW5DLCtDQUFzQztRQUV0QywrQ0FBd0I7UUFFeEIsNkNBQW9CO1FBRXBCLHFDQUE2QyxFQUFFLEVBQUM7UUFFaEQsNENBQXFDO1FBRXJDLDZDQUFvQztRQVVsQyx1QkFBQSxJQUFJLG9DQUFtQixjQUFjLE1BQUEsQ0FBQztRQUN0Qyx1QkFBQSxJQUFJLDhCQUFhLFFBQVEsTUFBQSxDQUFDO1FBQzFCLHVCQUFBLElBQUksZ0NBQWUsVUFBVSxNQUFBLENBQUM7UUFDOUIsdUJBQUEsSUFBSSw4QkFBYSxRQUFRLE1BQUEsQ0FBQztRQUMxQix1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QUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreURvY2tEb21BZGFwdGVyU2VydmljZSB9IGZyb20gJy4vZG9jay1kb20tYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURvY2tJbnNlcnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2RvY2staW5zZXJ0LWNvbXBvbmVudC1jb25maWcnO1xuaW1wb3J0IHsgU2t5RG9ja0l0ZW1SZWZlcmVuY2UgfSBmcm9tICcuL2RvY2staXRlbS1yZWZlcmVuY2UnO1xuaW1wb3J0IHsgU2t5RG9ja0xvY2F0aW9uIH0gZnJvbSAnLi9kb2NrLWxvY2F0aW9uJztcbmltcG9ydCB7IFNreURvY2tPcHRpb25zIH0gZnJvbSAnLi9kb2NrLW9wdGlvbnMnO1xuaW1wb3J0IHsgc29ydEJ5U3RhY2tPcmRlciB9IGZyb20gJy4vc29ydC1ieS1zdGFjay1vcmRlcic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kb2NrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb2NrLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreURvY2tEb21BZGFwdGVyU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NrQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgndGFyZ2V0Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwcml2YXRlIHRhcmdldDogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNkb21BZGFwdGVyOiBTa3lEb2NrRG9tQWRhcHRlclNlcnZpY2U7XG5cbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgI2luamVjdG9yOiBJbmplY3RvcjtcblxuICAjaXRlbVJlZnM6IFNreURvY2tJdGVtUmVmZXJlbmNlPHVua25vd24+W10gPSBbXTtcblxuICAjb3B0aW9uczogU2t5RG9ja09wdGlvbnMgfCB1bmRlZmluZWQ7XG5cbiAgI3Jlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XG5cbiAgLy8gVE9ETzogUmVwbGFjZSBkZXByZWNhdGVkIGBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJgLlxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBkb21BZGFwdGVyOiBTa3lEb2NrRG9tQWRhcHRlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNyZXNvbHZlciA9IHJlc29sdmVyO1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICAgIHRoaXMuI2luamVjdG9yID0gaW5qZWN0b3I7XG4gICAgdGhpcy4jZG9tQWRhcHRlciA9IGRvbUFkYXB0ZXI7XG4gIH1cblxuICBwdWJsaWMgaW5zZXJ0Q29tcG9uZW50PFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc6IFNreURvY2tJbnNlcnRDb21wb25lbnRDb25maWcgPSB7fVxuICApOiBTa3lEb2NrSXRlbVJlZmVyZW5jZTxUPiB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgaWY6IHVudGVzdGFibGUqL1xuICAgIGlmICghdGhpcy50YXJnZXQpIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAnW1NreURvY2tDb21wb25lbnRdIENvdWxkIG5vdCBpbnNlcnQgdGhlIGNvbXBvbmVudCBiZWNhdXNlIHRoZSB0YXJnZXQgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy4jcmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IGNvbmZpZy5wcm92aWRlcnMgfHwgW10sXG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy50YXJnZXQuY3JlYXRlQ29tcG9uZW50PFQ+KFxuICAgICAgZmFjdG9yeSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGluamVjdG9yXG4gICAgKTtcbiAgICBjb25zdCBzdGFja09yZGVyID1cbiAgICAgIGNvbmZpZy5zdGFja09yZGVyICE9PSBudWxsICYmIGNvbmZpZy5zdGFja09yZGVyICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBjb25maWcuc3RhY2tPcmRlclxuICAgICAgICA6IHRoaXMuI2dldEhpZ2hlc3RTdGFja09yZGVyKCk7XG5cbiAgICB0aGlzLiNpdGVtUmVmcy5wdXNoKHtcbiAgICAgIGNvbXBvbmVudFJlZixcbiAgICAgIHN0YWNrT3JkZXIsXG4gICAgfSk7XG5cbiAgICB0aGlzLiNzb3J0SXRlbXNCeVN0YWNrT3JkZXIoKTtcblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudFJlZixcbiAgICAgIHN0YWNrT3JkZXIsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVJdGVtKGl0ZW06IFNreURvY2tJdGVtUmVmZXJlbmNlPGFueT4pOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBpZjogdW50ZXN0YWJsZSovXG4gICAgaWYgKCF0aGlzLnRhcmdldCkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICdbU2t5RG9ja0NvbXBvbmVudF0gQ291bGQgbm90IHJlbW92ZSB0aGUgaXRlbSBiZWNhdXNlIHRoZSB0YXJnZXQgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCB2aWV3UmVmID0gaXRlbS5jb21wb25lbnRSZWYuaG9zdFZpZXc7XG4gICAgdGhpcy50YXJnZXQucmVtb3ZlKHRoaXMudGFyZ2V0LmluZGV4T2Yodmlld1JlZikpO1xuXG4gICAgY29uc3QgZm91bmQgPSB0aGlzLiNpdGVtUmVmcy5maW5kKFxuICAgICAgKGkpID0+IGkuY29tcG9uZW50UmVmLmhvc3RWaWV3ID09PSB2aWV3UmVmXG4gICAgKTtcblxuICAgIGlmIChmb3VuZCkge1xuICAgICAgdGhpcy4jaXRlbVJlZnMuc3BsaWNlKHRoaXMuI2l0ZW1SZWZzLmluZGV4T2YoZm91bmQpLCAxKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0T3B0aW9ucyhvcHRpb25zOiBTa3lEb2NrT3B0aW9ucyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuI29wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgc3dpdGNoICh0aGlzLiNvcHRpb25zPy5sb2NhdGlvbikge1xuICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uQmVmb3JlRWxlbWVudDpcbiAgICAgICAgdGhpcy4jZG9tQWRhcHRlci51bmJpbmREb2NrKHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2t5RG9ja0xvY2F0aW9uLkVsZW1lbnRCb3R0b206XG4gICAgICAgIHRoaXMuI2RvbUFkYXB0ZXIuc2V0U3RpY2t5KHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2t5RG9ja0xvY2F0aW9uLkJvZHlCb3R0b206XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLiNkb21BZGFwdGVyLndhdGNoRG9tQ2hhbmdlcyh0aGlzLiNlbGVtZW50UmVmKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI29wdGlvbnM/LnpJbmRleCkge1xuICAgICAgdGhpcy4jZG9tQWRhcHRlci5zZXRaSW5kZXgodGhpcy4jb3B0aW9ucy56SW5kZXgsIHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgIH1cbiAgfVxuXG4gICNzb3J0SXRlbXNCeVN0YWNrT3JkZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFyZ2V0KSB7XG4gICAgICB0aGlzLiNpdGVtUmVmcy5zb3J0KHNvcnRCeVN0YWNrT3JkZXIpO1xuXG4gICAgICAvLyBSZWFzc2lnbiB0aGUgY29ycmVjdCBpbmRleCBmb3IgZWFjaCB2aWV3LlxuICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHRoaXMuI2l0ZW1SZWZzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLiNpdGVtUmVmc1tpXTtcbiAgICAgICAgdGhpcy50YXJnZXQubW92ZShpdGVtLmNvbXBvbmVudFJlZi5ob3N0VmlldywgaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2dldEhpZ2hlc3RTdGFja09yZGVyKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuI2l0ZW1SZWZzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuI2l0ZW1SZWZzWzBdLnN0YWNrT3JkZXIgKyAxO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICN0YXJnZXQ+PC9uZy1jb250YWluZXI+XG4iXX0=
|
@@ -1,3 +1,5 @@
|
|
1
|
+
var _SkyDockService_instances, _SkyDockService_dynamicComponentSvc, _SkyDockService_options, _SkyDockService_createDock, _SkyDockService_destroyDock;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { Injectable } from '@angular/core';
|
2
4
|
import { SkyDynamicComponentLocation } from '../dynamic-component/dynamic-component-location';
|
3
5
|
import { SkyDynamicComponentService } from '../dynamic-component/dynamic-component.service';
|
@@ -11,8 +13,11 @@ import * as i1 from "../dynamic-component/dynamic-component.service";
|
|
11
13
|
* This service docks components to specific areas on the page.
|
12
14
|
*/
|
13
15
|
export class SkyDockService {
|
14
|
-
constructor(
|
15
|
-
this
|
16
|
+
constructor(dynamicComponentSvc) {
|
17
|
+
_SkyDockService_instances.add(this);
|
18
|
+
_SkyDockService_dynamicComponentSvc.set(this, void 0);
|
19
|
+
_SkyDockService_options.set(this, void 0);
|
20
|
+
__classPrivateFieldSet(this, _SkyDockService_dynamicComponentSvc, dynamicComponentSvc, "f");
|
16
21
|
}
|
17
22
|
/**
|
18
23
|
* Returns all docked items.
|
@@ -26,16 +31,15 @@ export class SkyDockService {
|
|
26
31
|
* @param config Options that affect the docking action.
|
27
32
|
*/
|
28
33
|
insertComponent(component, config) {
|
29
|
-
|
30
|
-
this.
|
31
|
-
|
32
|
-
const itemRef = SkyDockService.dockRef.instance.insertComponent(component, config);
|
34
|
+
const dockRef = (SkyDockService.dockRef =
|
35
|
+
SkyDockService.dockRef || __classPrivateFieldGet(this, _SkyDockService_instances, "m", _SkyDockService_createDock).call(this));
|
36
|
+
const itemRef = dockRef.instance.insertComponent(component, config);
|
33
37
|
const item = new SkyDockItem(itemRef.componentRef.instance, itemRef.stackOrder);
|
34
38
|
item.destroyed.subscribe(() => {
|
35
|
-
|
39
|
+
dockRef.instance.removeItem(itemRef);
|
36
40
|
SkyDockService._items.splice(SkyDockService._items.indexOf(item), 1);
|
37
41
|
if (SkyDockService._items.length === 0) {
|
38
|
-
this.
|
42
|
+
__classPrivateFieldGet(this, _SkyDockService_instances, "m", _SkyDockService_destroyDock).call(this);
|
39
43
|
}
|
40
44
|
});
|
41
45
|
SkyDockService._items.push(item);
|
@@ -50,36 +54,36 @@ export class SkyDockService {
|
|
50
54
|
* @param options The options for positioning and styling
|
51
55
|
*/
|
52
56
|
setDockOptions(options) {
|
53
|
-
this
|
57
|
+
__classPrivateFieldSet(this, _SkyDockService_options, options, "f");
|
54
58
|
}
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
dockOptions = {
|
71
|
-
location: dynamicLocation,
|
72
|
-
referenceEl: this.options.referenceEl,
|
73
|
-
};
|
59
|
+
}
|
60
|
+
_SkyDockService_dynamicComponentSvc = new WeakMap(), _SkyDockService_options = new WeakMap(), _SkyDockService_instances = new WeakSet(), _SkyDockService_createDock = function _SkyDockService_createDock() {
|
61
|
+
let dockOptions;
|
62
|
+
if (__classPrivateFieldGet(this, _SkyDockService_options, "f")) {
|
63
|
+
let dynamicLocation;
|
64
|
+
switch (__classPrivateFieldGet(this, _SkyDockService_options, "f").location) {
|
65
|
+
case SkyDockLocation.BeforeElement:
|
66
|
+
dynamicLocation = SkyDynamicComponentLocation.BeforeElement;
|
67
|
+
break;
|
68
|
+
case SkyDockLocation.ElementBottom:
|
69
|
+
dynamicLocation = SkyDynamicComponentLocation.ElementBottom;
|
70
|
+
break;
|
71
|
+
default:
|
72
|
+
dynamicLocation = SkyDynamicComponentLocation.BodyTop;
|
73
|
+
break;
|
74
74
|
}
|
75
|
-
|
76
|
-
|
75
|
+
dockOptions = {
|
76
|
+
location: dynamicLocation,
|
77
|
+
referenceEl: __classPrivateFieldGet(this, _SkyDockService_options, "f").referenceEl,
|
78
|
+
};
|
77
79
|
}
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
80
|
+
const dockRef = __classPrivateFieldGet(this, _SkyDockService_dynamicComponentSvc, "f").createComponent(SkyDockComponent, dockOptions);
|
81
|
+
dockRef.instance.setOptions(__classPrivateFieldGet(this, _SkyDockService_options, "f"));
|
82
|
+
return dockRef;
|
83
|
+
}, _SkyDockService_destroyDock = function _SkyDockService_destroyDock() {
|
84
|
+
__classPrivateFieldGet(this, _SkyDockService_dynamicComponentSvc, "f").removeComponent(SkyDockService.dockRef);
|
85
|
+
SkyDockService.dockRef = undefined;
|
86
|
+
};
|
83
87
|
SkyDockService._items = [];
|
84
88
|
SkyDockService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyDockService, deps: [{ token: i1.SkyDynamicComponentService }], target: i0.ɵɵFactoryTarget.Injectable });
|
85
89
|
SkyDockService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyDockService, providedIn: 'any' });
|
@@ -92,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
92
96
|
providedIn: 'any',
|
93
97
|
}]
|
94
98
|
}], ctorParameters: function () { return [{ type: i1.SkyDynamicComponentService }]; } });
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2RvY2svZG9jay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFnQixVQUFVLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFOUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFHNUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUV6RDs7R0FFRztBQU9ILE1BQU0sT0FBTyxjQUFjO0lBZXpCLFlBQVksbUJBQStDOztRQUozRCxzREFBaUQ7UUFFakQsMENBQXFDO1FBR25DLHVCQUFBLElBQUksdUNBQXdCLG1CQUFtQixNQUFBLENBQUM7SUFDbEQsQ0FBQztJQWJEOztPQUVHO0lBQ0gsSUFBVyxLQUFLO1FBQ2QsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFVRDs7OztPQUlHO0lBQ0ksZUFBZSxDQUNwQixTQUFrQixFQUNsQixNQUFxQztRQUVyQyxNQUFNLE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQyxPQUFPO1lBQ3JDLGNBQWMsQ0FBQyxPQUFPLElBQUksdUJBQUEsSUFBSSw2REFBWSxNQUFoQixJQUFJLENBQWMsQ0FBQyxDQUFDO1FBRWhELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRSxNQUFNLElBQUksR0FBRyxJQUFJLFdBQVcsQ0FDMUIsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQzdCLE9BQU8sQ0FBQyxVQUFVLENBQ25CLENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckUsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3RDLHVCQUFBLElBQUksOERBQWEsTUFBakIsSUFBSSxDQUFlLENBQUM7YUFDckI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFN0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksY0FBYyxDQUFDLE9BQXVCO1FBQzNDLHVCQUFBLElBQUksMkJBQVksT0FBTyxNQUFBLENBQUM7SUFDMUIsQ0FBQzs7O0lBR0MsSUFBSSxXQUFtRCxDQUFDO0lBRXhELElBQUksdUJBQUEsSUFBSSwrQkFBUyxFQUFFO1FBQ2pCLElBQUksZUFBNEMsQ0FBQztRQUNqRCxRQUFRLHVCQUFBLElBQUksK0JBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDOUIsS0FBSyxlQUFlLENBQUMsYUFBYTtnQkFDaEMsZUFBZSxHQUFHLDJCQUEyQixDQUFDLGFBQWEsQ0FBQztnQkFDNUQsTUFBTTtZQUNSLEtBQUssZUFBZSxDQUFDLGFBQWE7Z0JBQ2hDLGVBQWUsR0FBRywyQkFBMkIsQ0FBQyxhQUFhLENBQUM7Z0JBQzVELE1BQU07WUFDUjtnQkFDRSxlQUFlLEdBQUcsMkJBQTJCLENBQUMsT0FBTyxDQUFDO2dCQUN0RCxNQUFNO1NBQ1Q7UUFFRCxXQUFXLEdBQUc7WUFDWixRQUFRLEVBQUUsZUFBZTtZQUN6QixXQUFXLEVBQUUsdUJBQUEsSUFBSSwrQkFBUyxDQUFDLFdBQVc7U0FDdkMsQ0FBQztLQUNIO0lBRUQsTUFBTSxPQUFPLEdBQUcsdUJBQUEsSUFBSSwyQ0FBcUIsQ0FBQyxlQUFlLENBQ3ZELGdCQUFnQixFQUNoQixXQUFXLENBQ1osQ0FBQztJQUVGLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLHVCQUFBLElBQUksK0JBQVMsQ0FBQyxDQUFDO0lBRTNDLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7SUFHQyx1QkFBQSxJQUFJLDJDQUFxQixDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEUsY0FBYyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDckMsQ0FBQztBQWhHYyxxQkFBTSxHQUF1QixFQUFHLENBQUE7MkdBRnBDLGNBQWM7K0dBQWQsY0FBYyxjQUZiLEtBQUs7MkZBRU4sY0FBYztrQkFOMUIsVUFBVTttQkFBQztvQkFDViwrRkFBK0Y7b0JBQy9GLDhGQUE4RjtvQkFDOUYsMEZBQTBGO29CQUMxRixVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uIH0gZnJvbSAnLi4vZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtbG9jYXRpb24nO1xuaW1wb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudE9wdGlvbnMgfSBmcm9tICcuLi9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC1vcHRpb25zJztcbmltcG9ydCB7IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG5cbmltcG9ydCB7IFNreURvY2tJbnNlcnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2RvY2staW5zZXJ0LWNvbXBvbmVudC1jb25maWcnO1xuaW1wb3J0IHsgU2t5RG9ja0l0ZW0gfSBmcm9tICcuL2RvY2staXRlbSc7XG5pbXBvcnQgeyBTa3lEb2NrTG9jYXRpb24gfSBmcm9tICcuL2RvY2stbG9jYXRpb24nO1xuaW1wb3J0IHsgU2t5RG9ja09wdGlvbnMgfSBmcm9tICcuL2RvY2stb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lEb2NrQ29tcG9uZW50IH0gZnJvbSAnLi9kb2NrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBzb3J0QnlTdGFja09yZGVyIH0gZnJvbSAnLi9zb3J0LWJ5LXN0YWNrLW9yZGVyJztcblxuLyoqXG4gKiBUaGlzIHNlcnZpY2UgZG9ja3MgY29tcG9uZW50cyB0byBzcGVjaWZpYyBhcmVhcyBvbiB0aGUgcGFnZS5cbiAqL1xuQEluamVjdGFibGUoe1xuICAvLyBNdXN0IGJlICdhbnknIHNvIHRoYXQgdGhlIGRvY2sgY29tcG9uZW50IGlzIGNyZWF0ZWQgaW4gdGhlIGNvbnRleHQgb2YgaXRzIG1vZHVsZSdzIGluamVjdG9yLlxuICAvLyBJZiBzZXQgdG8gJ3Jvb3QnLCB0aGUgY29tcG9uZW50J3MgZGVwZW5kZW5jeSBpbmplY3Rpb25zIHdvdWxkIG9ubHkgYmUgZGVyaXZlZCBmcm9tIHRoZSByb290XG4gIC8vIGluamVjdG9yIGFuZCBtYXkgbG9vc2UgY29udGV4dCBpZiB0aGUgZG9jayB3YXMgb3BlbmVkIGZyb20gd2l0aGluIGEgbGF6eS1sb2FkZWQgbW9kdWxlLlxuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9ja1NlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRpYyBkb2NrUmVmOiBDb21wb25lbnRSZWY8U2t5RG9ja0NvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgc3RhdGljIF9pdGVtczogU2t5RG9ja0l0ZW08YW55PltdID0gW107XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIGRvY2tlZCBpdGVtcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgaXRlbXMoKTogU2t5RG9ja0l0ZW08YW55PltdIHtcbiAgICByZXR1cm4gU2t5RG9ja1NlcnZpY2UuX2l0ZW1zO1xuICB9XG5cbiAgI2R5bmFtaWNDb21wb25lbnRTdmM6IFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlO1xuXG4gICNvcHRpb25zOiBTa3lEb2NrT3B0aW9ucyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihkeW5hbWljQ29tcG9uZW50U3ZjOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSkge1xuICAgIHRoaXMuI2R5bmFtaWNDb21wb25lbnRTdmMgPSBkeW5hbWljQ29tcG9uZW50U3ZjO1xuICB9XG5cbiAgLyoqXG4gICAqIERvY2tzIGEgY29tcG9uZW50IHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byBkb2NrLlxuICAgKiBAcGFyYW0gY29uZmlnIE9wdGlvbnMgdGhhdCBhZmZlY3QgdGhlIGRvY2tpbmcgYWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGluc2VydENvbXBvbmVudDxUPihcbiAgICBjb21wb25lbnQ6IFR5cGU8VD4sXG4gICAgY29uZmlnPzogU2t5RG9ja0luc2VydENvbXBvbmVudENvbmZpZ1xuICApOiBTa3lEb2NrSXRlbTxUPiB7XG4gICAgY29uc3QgZG9ja1JlZiA9IChTa3lEb2NrU2VydmljZS5kb2NrUmVmID1cbiAgICAgIFNreURvY2tTZXJ2aWNlLmRvY2tSZWYgfHwgdGhpcy4jY3JlYXRlRG9jaygpKTtcblxuICAgIGNvbnN0IGl0ZW1SZWYgPSBkb2NrUmVmLmluc3RhbmNlLmluc2VydENvbXBvbmVudChjb21wb25lbnQsIGNvbmZpZyk7XG4gICAgY29uc3QgaXRlbSA9IG5ldyBTa3lEb2NrSXRlbShcbiAgICAgIGl0ZW1SZWYuY29tcG9uZW50UmVmLmluc3RhbmNlLFxuICAgICAgaXRlbVJlZi5zdGFja09yZGVyXG4gICAgKTtcblxuICAgIGl0ZW0uZGVzdHJveWVkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBkb2NrUmVmLmluc3RhbmNlLnJlbW92ZUl0ZW0oaXRlbVJlZik7XG4gICAgICBTa3lEb2NrU2VydmljZS5faXRlbXMuc3BsaWNlKFNreURvY2tTZXJ2aWNlLl9pdGVtcy5pbmRleE9mKGl0ZW0pLCAxKTtcbiAgICAgIGlmIChTa3lEb2NrU2VydmljZS5faXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lEb2NrKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBTa3lEb2NrU2VydmljZS5faXRlbXMucHVzaChpdGVtKTtcbiAgICBTa3lEb2NrU2VydmljZS5faXRlbXMuc29ydChzb3J0QnlTdGFja09yZGVyKTtcblxuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgb3B0aW9ucyBmb3IgdGhlIHBvc2l0aW9uaW5nIGFuZCBzdHlsaW5nIG9mIHRoZSBkb2NrIGNvbXBvbmVudC4gU2luY2UgdGhlIGRvY2sgc2VydmljZSBpcyBhXG4gICAqIHNpbmdsZXRvbiBpbnN0YW5jZSwgdGhlc2Ugb3B0aW9ucyB3aWxsIGJlIGFwcGxpZWQgdG8gYWxsIGNvbXBvbmVudHMgaW5zZXJ0ZWQgaW50byB0aGUgZG9jay4gSW5cbiAgICogb3JkZXIgdG8gY3JlYXRlIGEgc2VwZXJhdGUgZG9jayB3aXRoIGRpZmZlcmVudCBvcHRpb25zLCBjb25zdW1lcnMgc2hvdWxkIHByb3ZpZGUgYSBkaWZmZXJlbnRcbiAgICogaW5zdGFuY2Ugb2YgdGhlIGRvY2sgc2VydmljZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHBvc2l0aW9uaW5nIGFuZCBzdHlsaW5nXG4gICAqL1xuICBwdWJsaWMgc2V0RG9ja09wdGlvbnMob3B0aW9uczogU2t5RG9ja09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLiNvcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gICNjcmVhdGVEb2NrKCk6IENvbXBvbmVudFJlZjxTa3lEb2NrQ29tcG9uZW50PiB7XG4gICAgbGV0IGRvY2tPcHRpb25zOiBTa3lEeW5hbWljQ29tcG9uZW50T3B0aW9ucyB8IHVuZGVmaW5lZDtcblxuICAgIGlmICh0aGlzLiNvcHRpb25zKSB7XG4gICAgICBsZXQgZHluYW1pY0xvY2F0aW9uOiBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb247XG4gICAgICBzd2l0Y2ggKHRoaXMuI29wdGlvbnMubG9jYXRpb24pIHtcbiAgICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uQmVmb3JlRWxlbWVudDpcbiAgICAgICAgICBkeW5hbWljTG9jYXRpb24gPSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uQmVmb3JlRWxlbWVudDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbTpcbiAgICAgICAgICBkeW5hbWljTG9jYXRpb24gPSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uRWxlbWVudEJvdHRvbTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBkeW5hbWljTG9jYXRpb24gPSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uQm9keVRvcDtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgZG9ja09wdGlvbnMgPSB7XG4gICAgICAgIGxvY2F0aW9uOiBkeW5hbWljTG9jYXRpb24sXG4gICAgICAgIHJlZmVyZW5jZUVsOiB0aGlzLiNvcHRpb25zLnJlZmVyZW5jZUVsLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBkb2NrUmVmID0gdGhpcy4jZHluYW1pY0NvbXBvbmVudFN2Yy5jcmVhdGVDb21wb25lbnQoXG4gICAgICBTa3lEb2NrQ29tcG9uZW50LFxuICAgICAgZG9ja09wdGlvbnNcbiAgICApO1xuXG4gICAgZG9ja1JlZi5pbnN0YW5jZS5zZXRPcHRpb25zKHRoaXMuI29wdGlvbnMpO1xuXG4gICAgcmV0dXJuIGRvY2tSZWY7XG4gIH1cblxuICAjZGVzdHJveURvY2soKTogdm9pZCB7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFN2Yy5yZW1vdmVDb21wb25lbnQoU2t5RG9ja1NlcnZpY2UuZG9ja1JlZik7XG4gICAgU2t5RG9ja1NlcnZpY2UuZG9ja1JlZiA9IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
|