@tetacom/ng-components 1.0.20 → 1.0.21
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/common/util/position-util.d.ts +1 -1
- package/esm2020/common/util/position-util.mjs +13 -4
- package/esm2020/component/dropdown/dropdown-base.mjs +24 -16
- package/fesm2015/tetacom-ng-components.mjs +35 -18
- package/fesm2015/tetacom-ng-components.mjs.map +1 -1
- package/fesm2020/tetacom-ng-components.mjs +35 -18
- package/fesm2020/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import { IRect } from '../contract/i-rect';
|
|
|
2
2
|
import { Align } from '../enum/align.enum';
|
|
3
3
|
import { VerticalAlign } from '../enum/vertical-align.enum';
|
|
4
4
|
export declare class PositionUtil {
|
|
5
|
-
static getPosition(containerPosition: IRect, elementPosition: IRect, align: Align, verticalAlign: VerticalAlign, margin?: number, verticalMargin?: number): IRect;
|
|
5
|
+
static getPosition(containerPosition: IRect, elementPosition: IRect, align: Align, verticalAlign: VerticalAlign, margin?: number, verticalMargin?: number, transformedParentRect?: IRect): IRect;
|
|
6
6
|
static setElementPosition(element: HTMLElement, rect: IRect): void;
|
|
7
7
|
static getMaxHeight(position: IRect): number | null;
|
|
8
8
|
static getMaxWidth(position: IRect): number | null;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { Align } from '../enum/align.enum';
|
|
2
2
|
import { VerticalAlign } from '../enum/vertical-align.enum';
|
|
3
3
|
export class PositionUtil {
|
|
4
|
-
static getPosition(containerPosition, elementPosition, align, verticalAlign, margin = 0, verticalMargin = 0
|
|
4
|
+
static getPosition(containerPosition, elementPosition, align, verticalAlign, margin = 0, verticalMargin = 0, transformedParentRect = {
|
|
5
|
+
left: 0,
|
|
6
|
+
right: 0,
|
|
7
|
+
top: 0,
|
|
8
|
+
bottom: 0
|
|
9
|
+
}) {
|
|
5
10
|
const rect = {};
|
|
6
11
|
const elementWidth = elementPosition.right - elementPosition.left;
|
|
7
12
|
const elementHeight = elementPosition.bottom - elementPosition.top;
|
|
@@ -37,7 +42,7 @@ export class PositionUtil {
|
|
|
37
42
|
}
|
|
38
43
|
}
|
|
39
44
|
if (verticalAlign === VerticalAlign.top) {
|
|
40
|
-
rect.
|
|
45
|
+
rect.top = containerPosition.top - elementHeight - verticalMargin;
|
|
41
46
|
}
|
|
42
47
|
if (verticalAlign === VerticalAlign.bottom) {
|
|
43
48
|
rect.top = containerPosition.bottom + verticalMargin;
|
|
@@ -56,12 +61,16 @@ export class PositionUtil {
|
|
|
56
61
|
if (rect.top < 0) {
|
|
57
62
|
rect.top = 0;
|
|
58
63
|
}
|
|
59
|
-
if (verticalAlign === VerticalAlign.bottom) {
|
|
64
|
+
if (verticalAlign === VerticalAlign.bottom || verticalAlign === VerticalAlign.center) {
|
|
60
65
|
rect.maxHeight = window.innerHeight - rect.top;
|
|
61
66
|
}
|
|
62
67
|
if (verticalAlign === VerticalAlign.top) {
|
|
63
68
|
rect.maxHeight = containerPosition.top;
|
|
64
69
|
}
|
|
70
|
+
rect.left = rect.left - transformedParentRect.left;
|
|
71
|
+
rect.right = rect.right - transformedParentRect.left;
|
|
72
|
+
rect.top = rect.top - transformedParentRect.top;
|
|
73
|
+
rect.bottom = rect.bottom ? rect.bottom - transformedParentRect.bottom : rect.bottom;
|
|
65
74
|
return rect;
|
|
66
75
|
}
|
|
67
76
|
static setElementPosition(element, rect) {
|
|
@@ -84,4 +93,4 @@ export class PositionUtil {
|
|
|
84
93
|
return maxWidth;
|
|
85
94
|
}
|
|
86
95
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24tdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbW1vbi91dGlsL3Bvc2l0aW9uLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU1RCxNQUFNLE9BQU8sWUFBWTtJQUNoQixNQUFNLENBQUMsV0FBVyxDQUN2QixpQkFBd0IsRUFDeEIsZUFBc0IsRUFDdEIsS0FBWSxFQUNaLGFBQTRCLEVBQzVCLFNBQWlCLENBQUMsRUFDbEIsaUJBQXlCLENBQUM7UUFFMUIsTUFBTSxJQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztRQUNsRSxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUM7UUFDbkUsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUN4RSxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDO1FBQ3pFLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLEtBQUssR0FBRyxZQUFZLEdBQUcsTUFBTSxDQUFDO1NBQzdEO1FBQ0QsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFD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IGZyb20gJy4uL2NvbnRyYWN0L2ktcmVjdCc7XG5pbXBvcnQgeyBBbGlnbiB9IGZyb20gJy4uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQgeyBWZXJ0aWNhbEFsaWduIH0gZnJvbSAnLi4vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtJztcblxuZXhwb3J0IGNsYXNzIFBvc2l0aW9uVXRpbCB7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0UG9zaXRpb24oXG4gICAgY29udGFpbmVyUG9zaXRpb246IElSZWN0LFxuICAgIGVsZW1lbnRQb3NpdGlvbjogSVJlY3QsXG4gICAgYWxpZ246IEFsaWduLFxuICAgIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ24sXG4gICAgbWFyZ2luOiBudW1iZXIgPSAwLFxuICAgIHZlcnRpY2FsTWFyZ2luOiBudW1iZXIgPSAwXG4gICk6IElSZWN0IHtcbiAgICBjb25zdCByZWN0OiBJUmVjdCA9IHt9O1xuICAgIGNvbnN0IGVsZW1lbnRXaWR0aCA9IGVsZW1lbnRQb3NpdGlvbi5yaWdodCAtIGVsZW1lbnRQb3NpdGlvbi5sZWZ0O1xuICAgIGNvbnN0IGVsZW1lbnRIZWlnaHQgPSBlbGVtZW50UG9zaXRpb24uYm90dG9tIC0gZWxlbWVudFBvc2l0aW9uLnRvcDtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IGNvbnRhaW5lclBvc2l0aW9uLnJpZ2h0IC0gY29udGFpbmVyUG9zaXRpb24ubGVmdDtcbiAgICBjb25zdCBjb250YWluZXJIZWlnaHQgPSBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gLSBjb250YWluZXJQb3NpdGlvbi50b3A7XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5sZWZ0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgbWFyZ2luO1xuICAgIH1cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLnJpZ2h0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5yaWdodCAtIGVsZW1lbnRXaWR0aCAtIG1hcmdpbjtcbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5jZW50ZXIpIHtcbiAgICAgIHJlY3QubGVmdCA9XG4gICAgICAgIChjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgY29udGFpbmVyUG9zaXRpb24ucmlnaHQpIC8gMiAtXG4gICAgICAgIGVsZW1lbnRXaWR0aCAvIDI7XG4gICAgfVxuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24uZml0V2lkdGgpIHtcbiAgICAgIHJlY3QubGVmdCA9IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBtYXJnaW47XG4gICAgICByZWN0LnJpZ2h0ID0gd2luZG93LmlubmVyV2lkdGggLSBjb250YWluZXJQb3NpdGlvbi5yaWdodCArIG1hcmdpbjtcbiAgICB9XG5cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLm1pbldpZHRoKSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgbWFyZ2luO1xuICAgICAgcmVjdC5taW5XaWR0aCA9IGNvbnRhaW5lcldpZHRoO1xuICAgIH1cblxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmF1dG8pIHtcbiAgICAgIGlmIChcbiAgICAgICAgY29udGFpbmVyUG9zaXRpb24uYm90dG9tICtcbiAgICAgICAgICAoZWxlbWVudFBvc2l0aW9uLmJvdHRvbSAtIGVsZW1lbnRQb3NpdGlvbi50b3ApIDw9XG4gICAgICAgIHdpbmRvdy5pbm5lckhlaWdodFxuICAgICAgKSB7XG4gICAgICAgIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmJvdHRvbTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLnRvcDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24udG9wKSB7XG4gICAgICByZWN0LmJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGNvbnRhaW5lclBvc2l0aW9uLnRvcCArIHZlcnRpY2FsTWFyZ2luO1xuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5ib3R0b20pIHtcbiAgICAgIHJlY3QudG9wID0gY29udGFpbmVyUG9zaXRpb24uYm90dG9tICsgdmVydGljYWxNYXJnaW47XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmNlbnRlcikge1xuICAgICAgcmVjdC50b3AgPVxuICAgICAgICAoY29udGFpbmVyUG9zaXRpb24udG9wICsgY29udGFpbmVyUG9zaXRpb24uYm90dG9tKSAvIDIgLVxuICAgICAgICBlbGVtZW50SGVpZ2h0IC8gMjtcbiAgICB9XG5cbiAgICBpZiAocmVjdC5sZWZ0IDwgMCkge1xuICAgICAgcmVjdC5sZWZ0ID0gMDtcbiAgICB9XG4gICAgaWYgKHJlY3QudG9wICsgZWxlbWVudEhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCB8fCByZWN0LmJvdHRvbSA8IDApIHtcbiAgICAgIHJlY3QuYm90dG9tID0gMDtcbiAgICB9XG4gICAgaWYgKHJlY3QudG9wIDwgMCkge1xuICAgICAgcmVjdC50b3AgPSAwO1xuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5ib3R0b20pIHtcbiAgICAgIHJlY3QubWF4SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC50b3A7XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLnRvcCkge1xuICAgICAgcmVjdC5tYXhIZWlnaHQgPSBjb250YWluZXJQb3NpdGlvbi50b3A7XG4gICAgfVxuICAgIHJldHVybiByZWN0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXRFbGVtZW50UG9zaXRpb24oZWxlbWVudDogSFRNTEVsZW1lbnQsIHJlY3Q6IElSZWN0KTogdm9pZCB7XG4gICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gcmVjdC5sZWZ0ICE9IG51bGwgPyBgJHtyZWN0LmxlZnR9cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS5yaWdodCA9IHJlY3QucmlnaHQgIT0gbnVsbCA/IGAke3JlY3QucmlnaHR9cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS50b3AgPSByZWN0LnRvcCAhPSBudWxsID8gYCR7cmVjdC50b3B9cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS5ib3R0b20gPSByZWN0LmJvdHRvbSAhPSBudWxsID8gYCR7cmVjdC5ib3R0b219cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS5tYXhIZWlnaHQgPVxuICAgICAgcmVjdC5tYXhIZWlnaHQgIT0gbnVsbCA/IGAke3JlY3QubWF4SGVpZ2h0fXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUubWluV2lkdGggPSByZWN0Lm1pbldpZHRoICE9IG51bGwgPyBgJHtyZWN0Lm1pbldpZHRofXB4YCA6ICcnO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRNYXhIZWlnaHQocG9zaXRpb246IElSZWN0KTogbnVtYmVyIHwgbnVsbCB7XG4gICAgbGV0IG1heEhlaWdodCA9IG51bGw7XG4gICAgbWF4SGVpZ2h0ID0gMTtcbiAgICByZXR1cm4gbWF4SGVpZ2h0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRNYXhXaWR0aChwb3NpdGlvbjogSVJlY3QpOiBudW1iZXIgfCBudWxsIHtcbiAgICBsZXQgbWF4V2lkdGggPSBudWxsO1xuICAgIG1heFdpZHRoID0gMTtcbiAgICByZXR1cm4gbWF4V2lkdGg7XG4gIH1cbn1cbiJdfQ==
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24tdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbW1vbi91dGlsL3Bvc2l0aW9uLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxNQUFNLE9BQU8sWUFBWTtJQUNoQixNQUFNLENBQUMsV0FBVyxDQUN2QixpQkFBd0IsRUFDeEIsZUFBc0IsRUFDdEIsS0FBWSxFQUNaLGFBQTRCLEVBQzVCLFNBQWlCLENBQUMsRUFDbEIsaUJBQXlCLENBQUMsRUFDMUIsd0JBQStCO1FBQzdCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLENBQUM7UUFDUixHQUFHLEVBQUUsQ0FBQztRQUNOLE1BQU0sRUFBRSxDQUFDO0tBQ1Y7UUFFRCxNQUFNLElBQUksR0FBVSxFQUFFLENBQUM7UUFDdkIsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ2xFLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQztRQUNuRSxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1FBQ3hFLE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUM7UUFDekUsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7U0FDN0M7UUFDRCxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ3pC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LFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDN0UsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBZTtRQUN4QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDckIsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQWU7UUFDdkMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lSZWN0fSBmcm9tICcuLi9jb250cmFjdC9pLXJlY3QnO1xuaW1wb3J0IHtBbGlnbn0gZnJvbSAnLi4vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7VmVydGljYWxBbGlnbn0gZnJvbSAnLi4vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtJztcblxuZXhwb3J0IGNsYXNzIFBvc2l0aW9uVXRpbCB7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0UG9zaXRpb24oXG4gICAgY29udGFpbmVyUG9zaXRpb246IElSZWN0LFxuICAgIGVsZW1lbnRQb3NpdGlvbjogSVJlY3QsXG4gICAgYWxpZ246IEFsaWduLFxuICAgIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ24sXG4gICAgbWFyZ2luOiBudW1iZXIgPSAwLFxuICAgIHZlcnRpY2FsTWFyZ2luOiBudW1iZXIgPSAwLFxuICAgIHRyYW5zZm9ybWVkUGFyZW50UmVjdDogSVJlY3QgPSB7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB0b3A6IDAsXG4gICAgICBib3R0b206IDBcbiAgICB9XG4gICk6IElSZWN0IHtcbiAgICBjb25zdCByZWN0OiBJUmVjdCA9IHt9O1xuICAgIGNvbnN0IGVsZW1lbnRXaWR0aCA9IGVsZW1lbnRQb3NpdGlvbi5yaWdodCAtIGVsZW1lbnRQb3NpdGlvbi5sZWZ0O1xuICAgIGNvbnN0IGVsZW1lbnRIZWlnaHQgPSBlbGVtZW50UG9zaXRpb24uYm90dG9tIC0gZWxlbWVudFBvc2l0aW9uLnRvcDtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IGNvbnRhaW5lclBvc2l0aW9uLnJpZ2h0IC0gY29udGFpbmVyUG9zaXRpb24ubGVmdDtcbiAgICBjb25zdCBjb250YWluZXJIZWlnaHQgPSBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gLSBjb250YWluZXJQb3NpdGlvbi50b3A7XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5sZWZ0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgbWFyZ2luO1xuICAgIH1cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLnJpZ2h0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5yaWdodCAtIGVsZW1lbnRXaWR0aCAtIG1hcmdpbjtcbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5jZW50ZXIpIHtcbiAgICAgIHJlY3QubGVmdCA9XG4gICAgICAgIChjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgY29udGFpbmVyUG9zaXRpb24ucmlnaHQpIC8gMiAtXG4gICAgICAgIGVsZW1lbnRXaWR0aCAvIDI7XG4gICAgfVxuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24uZml0V2lkdGgpIHtcbiAgICAgIHJlY3QubGVmdCA9IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBtYXJnaW47XG4gICAgICByZWN0LnJpZ2h0ID0gd2luZG93LmlubmVyV2lkdGggLSBjb250YWluZXJQb3NpdGlvbi5yaWdodCArIG1hcmdpbjtcbiAgICB9XG5cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLm1pbldpZHRoKSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgbWFyZ2luO1xuICAgICAgcmVjdC5taW5XaWR0aCA9IGNvbnRhaW5lcldpZHRoO1xuICAgIH1cblxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmF1dG8pIHtcbiAgICAgIGlmIChcbiAgICAgICAgY29udGFpbmVyUG9zaXRpb24uYm90dG9tICtcbiAgICAgICAgKGVsZW1lbnRQb3NpdGlvbi5ib3R0b20gLSBlbGVtZW50UG9zaXRpb24udG9wKSA8PVxuICAgICAgICB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICAgICkge1xuICAgICAgICB2ZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5ib3R0b207XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2ZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi50b3A7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLnRvcCkge1xuICAgICAgcmVjdC50b3AgPSBjb250YWluZXJQb3NpdGlvbi50b3AgLSBlbGVtZW50SGVpZ2h0IC0gdmVydGljYWxNYXJnaW47XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmJvdHRvbSkge1xuICAgICAgcmVjdC50b3AgPSBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gKyB2ZXJ0aWNhbE1hcmdpbjtcbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uY2VudGVyKSB7XG4gICAgICByZWN0LnRvcCA9XG4gICAgICAgIChjb250YWluZXJQb3NpdGlvbi50b3AgKyBjb250YWluZXJQb3NpdGlvbi5ib3R0b20pIC8gMiAtXG4gICAgICAgIGVsZW1lbnRIZWlnaHQgLyAyO1xuICAgIH1cblxuICAgIGlmIChyZWN0LmxlZnQgPCAwKSB7XG4gICAgICByZWN0LmxlZnQgPSAwO1xuICAgIH1cbiAgICBpZiAocmVjdC50b3AgKyBlbGVtZW50SGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0IHx8IHJlY3QuYm90dG9tIDwgMCkge1xuICAgICAgcmVjdC5ib3R0b20gPSAwO1xuICAgIH1cbiAgICBpZiAocmVjdC50b3AgPCAwKSB7XG4gICAgICByZWN0LnRvcCA9IDA7XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmJvdHRvbSB8fCB2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmNlbnRlcikge1xuICAgICAgcmVjdC5tYXhIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSByZWN0LnRvcDtcbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24udG9wKSB7XG4gICAgICByZWN0Lm1heEhlaWdodCA9IGNvbnRhaW5lclBvc2l0aW9uLnRvcDtcbiAgICB9XG4gICAgcmVjdC5sZWZ0ID0gcmVjdC5sZWZ0IC0gdHJhbnNmb3JtZWRQYXJlbnRSZWN0LmxlZnQ7XG4gICAgcmVjdC5yaWdodCA9IHJlY3QucmlnaHQgLSB0cmFuc2Zvcm1lZFBhcmVudFJlY3QubGVmdDtcbiAgICByZWN0LnRvcCA9IHJlY3QudG9wIC0gdHJhbnNmb3JtZWRQYXJlbnRSZWN0LnRvcDtcbiAgICByZWN0LmJvdHRvbSA9IHJlY3QuYm90dG9tID8gcmVjdC5ib3R0b20gLSB0cmFuc2Zvcm1lZFBhcmVudFJlY3QuYm90dG9tIDogcmVjdC5ib3R0b207XG4gICAgcmV0dXJuIHJlY3Q7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNldEVsZW1lbnRQb3NpdGlvbihlbGVtZW50OiBIVE1MRWxlbWVudCwgcmVjdDogSVJlY3QpOiB2b2lkIHtcbiAgICBlbGVtZW50LnN0eWxlLmxlZnQgPSByZWN0LmxlZnQgIT0gbnVsbCA/IGAke3JlY3QubGVmdH1weGAgOiAnJztcbiAgICBlbGVtZW50LnN0eWxlLnJpZ2h0ID0gcmVjdC5yaWdodCAhPSBudWxsID8gYCR7cmVjdC5yaWdodH1weGAgOiAnJztcbiAgICBlbGVtZW50LnN0eWxlLnRvcCA9IHJlY3QudG9wICE9IG51bGwgPyBgJHtyZWN0LnRvcH1weGAgOiAnJztcbiAgICBlbGVtZW50LnN0eWxlLmJvdHRvbSA9IHJlY3QuYm90dG9tICE9IG51bGwgPyBgJHtyZWN0LmJvdHRvbX1weGAgOiAnJztcbiAgICBlbGVtZW50LnN0eWxlLm1heEhlaWdodCA9XG4gICAgICByZWN0Lm1heEhlaWdodCAhPSBudWxsID8gYCR7cmVjdC5tYXhIZWlnaHR9cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS5taW5XaWR0aCA9IHJlY3QubWluV2lkdGggIT0gbnVsbCA/IGAke3JlY3QubWluV2lkdGh9cHhgIDogJyc7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldE1heEhlaWdodChwb3NpdGlvbjogSVJlY3QpOiBudW1iZXIgfCBudWxsIHtcbiAgICBsZXQgbWF4SGVpZ2h0ID0gbnVsbDtcbiAgICBtYXhIZWlnaHQgPSAxO1xuICAgIHJldHVybiBtYXhIZWlnaHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldE1heFdpZHRoKHBvc2l0aW9uOiBJUmVjdCk6IG51bWJlciB8IG51bGwge1xuICAgIGxldCBtYXhXaWR0aCA9IG51bGw7XG4gICAgbWF4V2lkdGggPSAxO1xuICAgIHJldHVybiBtYXhXaWR0aDtcbiAgfVxufVxuIl19
|
|
@@ -130,23 +130,31 @@ export class DropdownBase {
|
|
|
130
130
|
this.setPosition(this._head.nativeElement, this._body);
|
|
131
131
|
}
|
|
132
132
|
setPosition(container, target) {
|
|
133
|
-
const
|
|
133
|
+
const containerPosition = container.getBoundingClientRect();
|
|
134
|
+
const targetPosition = target.getBoundingClientRect();
|
|
134
135
|
const rect = {
|
|
135
|
-
bottom:
|
|
136
|
-
top:
|
|
137
|
-
left:
|
|
138
|
-
right:
|
|
136
|
+
bottom: containerPosition.bottom,
|
|
137
|
+
top: containerPosition.top,
|
|
138
|
+
left: containerPosition.left,
|
|
139
|
+
right: containerPosition.right,
|
|
139
140
|
};
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
141
|
+
const targetRect = {
|
|
142
|
+
bottom: targetPosition.bottom,
|
|
143
|
+
top: targetPosition.top,
|
|
144
|
+
left: targetPosition.left,
|
|
145
|
+
right: targetPosition.right,
|
|
146
|
+
};
|
|
147
|
+
const targetTransformedParent = DomUtil.findTransformedParent(target);
|
|
148
|
+
let parentPosition = {
|
|
149
|
+
left: 0,
|
|
150
|
+
right: 0,
|
|
151
|
+
top: 0,
|
|
152
|
+
bottom: 0
|
|
153
|
+
};
|
|
154
|
+
if (targetTransformedParent) {
|
|
155
|
+
parentPosition = targetTransformedParent.getBoundingClientRect();
|
|
156
|
+
}
|
|
157
|
+
const position = PositionUtil.getPosition(rect, targetRect, this.align, this.verticalAlign, 0, 0, parentPosition);
|
|
150
158
|
PositionUtil.setElementPosition(target, position);
|
|
151
159
|
}
|
|
152
160
|
}
|
|
@@ -193,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
193
201
|
type: HostListener,
|
|
194
202
|
args: ['window:keyup', ['$event']]
|
|
195
203
|
}] } });
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9kcm9wZG93bi9kcm9wZG93bi1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3pELGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sWUFBWTtJQThDdkIsWUFDWSxJQUF1QixFQUN2QixTQUFjLEVBQ2QsV0FBb0MsRUFDcEMsS0FBYSxFQUNiLFNBQW9CO1FBSnBCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFsRHZCLFVBQUssR0FBVSxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQzFCLGtCQUFhLEdBQWtCLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFHcEQsV0FBTSxHQUFHLElBQUksQ0FBQztRQXdCYixlQUFVLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFDakUsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixvQkFBZSxHQUErQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBV3hELFVBQUssR0FBdUIsSUFBSSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBU3RCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTthQUNoQixJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVksQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQ2hEO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQzNDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDeEQ7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQTNERCxJQUNJLElBQUksQ0FBQyxHQUFZO1FBQ25CLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDdkQsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUN0QjtTQUNGO0lBQ0gsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWTtZQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJO1lBQ3JCLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBMENrQyxLQUFLLENBQUMsS0FBaUI7UUFDeEQsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3RCO1NBQ0Y7YUFBTTtZQUNMLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO1NBQ0Y7SUFDSCxDQUFDO0lBRTJDLGFBQWEsQ0FDdkQsS0FBaUI7UUFFakIsSUFDRSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQ1YsQ0FBQyxJQUFJLENBQUMsU0FBUztZQUNmLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUNsQixPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQztZQUN0RCxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQ3hDO1lBQ0EsT0FBTztTQUNSO1FBQ0QsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDNUMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUN0QjtTQUNGO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDL0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3RCO1NBQ0Y7SUFDSCxDQUFDO0lBRXlDLEtBQUssQ0FBQyxLQUFvQjtRQUNsRSxJQUNFLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDVixDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ2YsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUNwQixDQUFDLENBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDN0QsRUFDRDtZQUNBLE9BQU87U0FDUjtRQUNELElBQ0UsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDckU7WUFDQSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRVMsYUFBYTtRQUNyQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pELE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQzVDLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDM0IsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDL0MsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFekMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxTQUFTLFlBQVksS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDaEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDM0IsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUU7Z0JBQ3RDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUM5QztTQUNGO1FBRUQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxXQUFXLENBQUMsU0FBc0IsRUFBRSxNQUFtQjtRQUM3RCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN4RCxNQUFNLElBQUksR0FBVTtZQUNsQixNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU07WUFDNUIsR0FBRyxFQUFFLGFBQWEsQ0FBQyxHQUFHO1lBQ3RCLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSTtZQUN4QixLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUs7U0FDM0IsQ0FBQztRQUNGLHNFQUFzRTtRQUN0RSxrQ0FBa0M7UUFDbEMsMkJBQTJCO1FBQzNCLHNFQUFzRTtRQUN0RSxpREFBaUQ7UUFDakQsOENBQThDO1FBQzlDLG9EQUFvRDtRQUNwRCxvREFBb0Q7UUFDcEQsSUFBSTtRQUVKLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQ3ZDLElBQUksRUFDSixNQUFNLENBQUMscUJBQXFCLEVBQUUsRUFDOUIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsYUFBYSxDQUNuQixDQUFDO1FBRUYsWUFBWSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDOzt5R0ExTFUsWUFBWTs2RkFBWixZQUFZLHVjQWlDVCxxQkFBcUIsMkJBRTNCLFVBQVUsd0RBSUosd0JBQXdCOzJGQXZDM0IsWUFBWTtrQkFGeEIsU0FBUzttTUFHQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0YsSUFBSTtzQkFEUCxLQUFLO2dCQXFCSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNFLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFNSSxLQUFLO3NCQUpkLFlBQVk7dUJBQUMscUJBQXFCLEVBQUU7d0JBQ25DLE1BQU0sRUFBRSxLQUFLO3dCQUNiLElBQUksRUFBRSxVQUFVO3FCQUNqQjtnQkFJUyxRQUFRO3NCQURqQixZQUFZO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkE4QnRCLEtBQUs7c0JBQXZDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVlXLGFBQWE7c0JBQXhELFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBdUJBLEtBQUs7c0JBQTlDLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tVXRpbCB9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2RvbS11dGlsJztcbmltcG9ydCB7IFBvc2l0aW9uVXRpbCB9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3Bvc2l0aW9uLXV0aWwnO1xuaW1wb3J0IHsgQWxpZ24gfSBmcm9tICcuLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7IFZlcnRpY2FsQWxpZ24gfSBmcm9tICcuLi8uLi9jb21tb24vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtJztcbmltcG9ydCB7IERyb3Bkb3duSGVhZERpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24taGVhZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJvcGRvd25Db250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBdXRvQ2xvc2VJZ25vcmVDYXNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvbnRyYWN0L2F1dG8tY2xvc2UtaWdub3JlLWNhc2UnO1xuaW1wb3J0IHsgSVJlY3QgfSBmcm9tICcuLi8uLi9jb21tb24vY29udHJhY3QvaS1yZWN0JztcbmltcG9ydCB7IHRha2VXaGlsZSwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKClcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQmFzZSB7XG4gIEBJbnB1dCgpIGFsaWduOiBBbGlnbiA9IEFsaWduLmxlZnQ7XG4gIEBJbnB1dCgpIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmJvdHRvbTtcbiAgQElucHV0KCkgYXBwZW5kVG9Cb2R5OiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hhZG93ID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICBASW5wdXQoKVxuICBzZXQgb3Blbih2YWw6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsICE9IG51bGwgJiYgdmFsICE9PSB0aGlzLl9vcGVuICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAodmFsKSB7XG4gICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgb3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcbiAgfVxuXG4gIGdldCBjb250YWluZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwZW5kVG9Cb2R5XG4gICAgICA/IHRoaXMuX2RvY3VtZW50LmJvZHlcbiAgICAgIDogdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQElucHV0KCkgYXV0b0Nsb3NlID0gdHJ1ZTtcbiAgQElucHV0KCkgYXV0b0Nsb3NlSWdub3JlOiBBcnJheTxBdXRvQ2xvc2VJZ25vcmVDYXNlPiA9IFsnaW5zaWRlJ107XG5cbiAgQENvbnRlbnRDaGlsZChEcm9wZG93bkhlYWREaXJlY3RpdmUsIHtcbiAgICBzdGF0aWM6IGZhbHNlLFxuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gIH0pXG4gIHByb3RlY3RlZCBfaGVhZDogRWxlbWVudFJlZjtcblxuICBAQ29udGVudENoaWxkKERyb3Bkb3duQ29udGVudERpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByb3RlY3RlZCBfY29udGVudDogRHJvcGRvd25Db250ZW50RGlyZWN0aXZlO1xuXG4gIHByb3RlY3RlZCBfYm9keTogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJvdGVjdGVkIF9vcGVuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcm90ZWN0ZWQgX2RvY3VtZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcm90ZWN0ZWQgX3pvbmU6IE5nWm9uZSxcbiAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgdGhpcy5fem9uZS5vblN0YWJsZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpLFxuICAgICAgICB0aHJvdHRsZVRpbWUoMTAsIHVuZGVmaW5lZCwgeyB0cmFpbGluZzogdHJ1ZSB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICBpZiAodGhpcy5faGVhZD8ubmF0aXZlRWxlbWVudCAmJiB0aGlzLl9ib2R5KSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5faGVhZD8ubmF0aXZlRWxlbWVudCAmJiB0aGlzLl9ib2R5KSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0UG9zaXRpb24odGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCB0aGlzLl9ib2R5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIGNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgaWYgKCFEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5fYm9keSwgZXZlbnQpKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoRG9tVXRpbC5jbGlja2VkSW5zaWRlKHRoaXMuX2hlYWQubmF0aXZlRWxlbWVudCwgZXZlbnQpKSB7XG4gICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKSBkb2N1bWVudENsaWNrKFxuICAgIGV2ZW50OiBNb3VzZUV2ZW50XG4gICk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLm9wZW4gfHxcbiAgICAgICF0aGlzLmF1dG9DbG9zZSB8fFxuICAgICAgZXZlbnQuZGV0YWlsID09PSAwIHx8XG4gICAgICBEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCBldmVudCkgfHxcbiAgICAgIERvbVV0aWwuY2xpY2tlZEluc2lkZSh0aGlzLl9ib2R5LCBldmVudClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKERvbVV0aWwuY2xpY2tlZEluc2lkZSh0aGlzLl9ib2R5LCBldmVudCkpIHtcbiAgICAgIGlmICh0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKCdpbnNpZGUnKSA8IDApIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKCdvdXRzaWRlJykgPCAwKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cCcsIFsnJGV2ZW50J10pIGtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMub3BlbiB8fFxuICAgICAgIXRoaXMuYXV0b0Nsb3NlIHx8XG4gICAgICBbJ2VzYycsICdlbnRlciddLmV2ZXJ5KFxuICAgICAgICAoXzogJ2VzYycgfCAnZW50ZXInKSA9PiB0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKF8pID49IDBcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKGV2ZW50LmNvZGUgPT09ICdFc2NhcGUnICYmIHRoaXMuYXV0b0Nsb3NlSWdub3JlLmluZGV4T2YoJ2VzYycpIDwgMCkgfHxcbiAgICAgIChldmVudC5jb2RlID09PSAnRW50ZXInICYmIHRoaXMuYXV0b0Nsb3NlSWdub3JlLmluZGV4T2YoJ2VudGVyJykgPCAwKVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3BlbiAmJiB0aGlzLl9ib2R5ICYmIHRoaXMuY29udGFpbmVyLmNvbnRhaW5zKHRoaXMuX2JvZHkpKSB7XG4gICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lciwgdGhpcy5fYm9keSk7XG4gICAgICB0aGlzLl9vcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLl9ib2R5ID0gbnVsbDtcbiAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHRoaXMub3Blbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX29wZW4gfHwgIXRoaXMuX2NvbnRlbnQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9vcGVuID0gdHJ1ZTtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0aGlzLm9wZW4pO1xuICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5fcmVuZGVyZXI7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuX2NvbnRlbnQubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBjb250YWluZXIgPSAodGhpcy5fYm9keSA9XG4gICAgICB0aGlzLl9ib2R5IHx8IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcbiAgICByZW5kZXJlci5hZGRDbGFzcyhjb250YWluZXIsICdkcm9wZG93bicpO1xuXG4gICAgaWYgKHRoaXMuY2xhc3NOYW1lICE9IG51bGwpIHtcbiAgICAgIGlmICh0aGlzLmNsYXNzTmFtZSBpbnN0YW5jZW9mIEFycmF5ICYmIHRoaXMuY2xhc3NOYW1lLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5jbGFzc05hbWUuZm9yRWFjaCgoXykgPT4ge1xuICAgICAgICAgIHJlbmRlcmVyLmFkZENsYXNzKGNvbnRhaW5lciwgXyk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNsYXNzTmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmVuZGVyZXIuYWRkQ2xhc3MoY29udGFpbmVyLCB0aGlzLmNsYXNzTmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoY29udGFpbmVyLCBjb250ZW50KTtcbiAgICByZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lciwgY29udGFpbmVyKTtcblxuICAgIHRoaXMuc2V0UG9zaXRpb24odGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCB0aGlzLl9ib2R5KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9zaXRpb24oY29udGFpbmVyOiBIVE1MRWxlbWVudCwgdGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgcmVjdDogSVJlY3QgPSB7XG4gICAgICBib3R0b206IGNvbnRhaW5lclJlY3QuYm90dG9tLFxuICAgICAgdG9wOiBjb250YWluZXJSZWN0LnRvcCxcbiAgICAgIGxlZnQ6IGNvbnRhaW5lclJlY3QubGVmdCxcbiAgICAgIHJpZ2h0OiBjb250YWluZXJSZWN0LnJpZ2h0LFxuICAgIH07XG4gICAgLy8gY29uc3QgdHJhbnNmb3JtZWRQYXJlbnQgPSBEb21VdGlsLmZpbmRUcmFuc2Zvcm1lZFBhcmVudChjb250YWluZXIpO1xuICAgIC8vIGNvbnNvbGUubG9nKHRyYW5zZm9ybWVkUGFyZW50KTtcbiAgICAvLyBpZiAodHJhbnNmb3JtZWRQYXJlbnQpIHtcbiAgICAvLyAgIGNvbnN0IHBhcmVudFBvc2l0aW9uID0gdHJhbnNmb3JtZWRQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy8gICByZWN0LmxlZnQgPSByZWN0LmxlZnQgLSBwYXJlbnRQb3NpdGlvbi5sZWZ0O1xuICAgIC8vICAgcmVjdC50b3AgPSByZWN0LnRvcCAtIHBhcmVudFBvc2l0aW9uLnRvcDtcbiAgICAvLyAgIHJlY3QuYm90dG9tID0gcGFyZW50UG9zaXRpb24uYm90dG9tIC0gcmVjdC50b3A7XG4gICAgLy8gICByZWN0LnJpZ2h0ID0gcGFyZW50UG9zaXRpb24ucmlnaHQgLSByZWN0LnJpZ2h0O1xuICAgIC8vIH1cblxuICAgIGNvbnN0IHBvc2l0aW9uID0gUG9zaXRpb25VdGlsLmdldFBvc2l0aW9uKFxuICAgICAgcmVjdCxcbiAgICAgIHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgIHRoaXMuYWxpZ24sXG4gICAgICB0aGlzLnZlcnRpY2FsQWxpZ25cbiAgICApO1xuXG4gICAgUG9zaXRpb25VdGlsLnNldEVsZW1lbnRQb3NpdGlvbih0YXJnZXQsIHBvc2l0aW9uKTtcbiAgfVxufVxuIl19
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9kcm9wZG93bi9kcm9wZG93bi1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBR3RFLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3ZELGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sWUFBWTtJQThDdkIsWUFDWSxJQUF1QixFQUN2QixTQUFjLEVBQ2QsV0FBb0MsRUFDcEMsS0FBYSxFQUNiLFNBQW9CO1FBSnBCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFsRHZCLFVBQUssR0FBVSxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQzFCLGtCQUFhLEdBQWtCLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFHcEQsV0FBTSxHQUFH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ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9tVXRpbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvZG9tLXV0aWwnO1xuaW1wb3J0IHtQb3NpdGlvblV0aWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3Bvc2l0aW9uLXV0aWwnO1xuaW1wb3J0IHtBbGlnbn0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHtEcm9wZG93bkhlYWREaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24taGVhZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtEcm9wZG93bkNvbnRlbnREaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtBdXRvQ2xvc2VJZ25vcmVDYXNlfSBmcm9tICcuLi8uLi9jb21tb24vY29udHJhY3QvYXV0by1jbG9zZS1pZ25vcmUtY2FzZSc7XG5pbXBvcnQge0lSZWN0fSBmcm9tICcuLi8uLi9jb21tb24vY29udHJhY3QvaS1yZWN0JztcbmltcG9ydCB7dGFrZVdoaWxlLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSgpXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkJhc2Uge1xuICBASW5wdXQoKSBhbGlnbjogQWxpZ24gPSBBbGlnbi5sZWZ0O1xuICBASW5wdXQoKSB2ZXJ0aWNhbEFsaWduOiBWZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5ib3R0b207XG4gIEBJbnB1dCgpIGFwcGVuZFRvQm9keTogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNoYWRvdyA9IHRydWU7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZTogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgc2V0IG9wZW4odmFsOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbCAhPSBudWxsICYmIHZhbCAhPT0gdGhpcy5fb3BlbiAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKHZhbCkge1xuICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IG9wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW47XG4gIH1cblxuICBnZXQgY29udGFpbmVyKCkge1xuICAgIHJldHVybiB0aGlzLmFwcGVuZFRvQm9keVxuICAgICAgPyB0aGlzLl9kb2N1bWVudC5ib2R5XG4gICAgICA6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBJbnB1dCgpIGF1dG9DbG9zZSA9IHRydWU7XG4gIEBJbnB1dCgpIGF1dG9DbG9zZUlnbm9yZTogQXJyYXk8QXV0b0Nsb3NlSWdub3JlQ2FzZT4gPSBbJ2luc2lkZSddO1xuXG4gIEBDb250ZW50Q2hpbGQoRHJvcGRvd25IZWFkRGlyZWN0aXZlLCB7XG4gICAgc3RhdGljOiBmYWxzZSxcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICB9KVxuICBwcm90ZWN0ZWQgX2hlYWQ6IEVsZW1lbnRSZWY7XG5cbiAgQENvbnRlbnRDaGlsZChEcm9wZG93bkNvbnRlbnREaXJlY3RpdmUsIHtzdGF0aWM6IGZhbHNlfSlcbiAgcHJvdGVjdGVkIF9jb250ZW50OiBEcm9wZG93bkNvbnRlbnREaXJlY3RpdmU7XG5cbiAgcHJvdGVjdGVkIF9ib2R5OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcm90ZWN0ZWQgX29wZW4gPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9hbGl2ZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByb3RlY3RlZCBfZG9jdW1lbnQ6IGFueSxcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByb3RlY3RlZCBfem9uZTogTmdab25lLFxuICAgIHByb3RlY3RlZCBfcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHtcbiAgICB0aGlzLl96b25lLm9uU3RhYmxlXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICAgIHRocm90dGxlVGltZSgxMCwgdW5kZWZpbmVkLCB7dHJhaWxpbmc6IHRydWV9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICBpZiAodGhpcy5faGVhZD8ubmF0aXZlRWxlbWVudCAmJiB0aGlzLl9ib2R5KSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5faGVhZD8ubmF0aXZlRWxlbWVudCAmJiB0aGlzLl9ib2R5KSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0UG9zaXRpb24odGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCB0aGlzLl9ib2R5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIGNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgaWYgKCFEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5fYm9keSwgZXZlbnQpKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoRG9tVXRpbC5jbGlja2VkSW5zaWRlKHRoaXMuX2hlYWQubmF0aXZlRWxlbWVudCwgZXZlbnQpKSB7XG4gICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKSBkb2N1bWVudENsaWNrKFxuICAgIGV2ZW50OiBNb3VzZUV2ZW50XG4gICk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLm9wZW4gfHxcbiAgICAgICF0aGlzLmF1dG9DbG9zZSB8fFxuICAgICAgZXZlbnQuZGV0YWlsID09PSAwIHx8XG4gICAgICBEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCBldmVudCkgfHxcbiAgICAgIERvbVV0aWwuY2xpY2tlZEluc2lkZSh0aGlzLl9ib2R5LCBldmVudClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKERvbVV0aWwuY2xpY2tlZEluc2lkZSh0aGlzLl9ib2R5LCBldmVudCkpIHtcbiAgICAgIGlmICh0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKCdpbnNpZGUnKSA8IDApIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKCdvdXRzaWRlJykgPCAwKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cCcsIFsnJGV2ZW50J10pIGtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMub3BlbiB8fFxuICAgICAgIXRoaXMuYXV0b0Nsb3NlIHx8XG4gICAgICBbJ2VzYycsICdlbnRlciddLmV2ZXJ5KFxuICAgICAgICAoXzogJ2VzYycgfCAnZW50ZXInKSA9PiB0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKF8pID49IDBcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKGV2ZW50LmNvZGUgPT09ICdFc2NhcGUnICYmIHRoaXMuYXV0b0Nsb3NlSWdub3JlLmluZGV4T2YoJ2VzYycpIDwgMCkgfHxcbiAgICAgIChldmVudC5jb2RlID09PSAnRW50ZXInICYmIHRoaXMuYXV0b0Nsb3NlSWdub3JlLmluZGV4T2YoJ2VudGVyJykgPCAwKVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3BlbiAmJiB0aGlzLl9ib2R5ICYmIHRoaXMuY29udGFpbmVyLmNvbnRhaW5zKHRoaXMuX2JvZHkpKSB7XG4gICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lciwgdGhpcy5fYm9keSk7XG4gICAgICB0aGlzLl9vcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLl9ib2R5ID0gbnVsbDtcbiAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHRoaXMub3Blbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX29wZW4gfHwgIXRoaXMuX2NvbnRlbnQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9vcGVuID0gdHJ1ZTtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0aGlzLm9wZW4pO1xuICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5fcmVuZGVyZXI7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuX2NvbnRlbnQubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBjb250YWluZXIgPSAodGhpcy5fYm9keSA9XG4gICAgICB0aGlzLl9ib2R5IHx8IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcbiAgICByZW5kZXJlci5hZGRDbGFzcyhjb250YWluZXIsICdkcm9wZG93bicpO1xuICAgIGlmICh0aGlzLmNsYXNzTmFtZSAhPSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5jbGFzc05hbWUgaW5zdGFuY2VvZiBBcnJheSAmJiB0aGlzLmNsYXNzTmFtZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuY2xhc3NOYW1lLmZvckVhY2goKF8pID0+IHtcbiAgICAgICAgICByZW5kZXJlci5hZGRDbGFzcyhjb250YWluZXIsIF8pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jbGFzc05hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJlbmRlcmVyLmFkZENsYXNzKGNvbnRhaW5lciwgdGhpcy5jbGFzc05hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGNvbnRhaW5lciwgY29udGVudCk7XG4gICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXIsIGNvbnRhaW5lcik7XG5cbiAgICB0aGlzLnNldFBvc2l0aW9uKHRoaXMuX2hlYWQubmF0aXZlRWxlbWVudCwgdGhpcy5fYm9keSk7XG4gIH1cblxuICBwcml2YXRlIHNldFBvc2l0aW9uKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXJQb3NpdGlvbiA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB0YXJnZXRQb3NpdGlvbiA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IHJlY3Q6IElSZWN0ID0ge1xuICAgICAgYm90dG9tOiBjb250YWluZXJQb3NpdGlvbi5ib3R0b20sXG4gICAgICB0b3A6IGNvbnRhaW5lclBvc2l0aW9uLnRvcCxcbiAgICAgIGxlZnQ6IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQsXG4gICAgICByaWdodDogY29udGFpbmVyUG9zaXRpb24ucmlnaHQsXG4gICAgfTtcblxuICAgIGNvbnN0IHRhcmdldFJlY3Q6IElSZWN0ID0ge1xuICAgICAgYm90dG9tOiB0YXJnZXRQb3NpdGlvbi5ib3R0b20sXG4gICAgICB0b3A6IHRhcmdldFBvc2l0aW9uLnRvcCxcbiAgICAgIGxlZnQ6IHRhcmdldFBvc2l0aW9uLmxlZnQsXG4gICAgICByaWdodDogdGFyZ2V0UG9zaXRpb24ucmlnaHQsXG4gICAgfTtcblxuICAgIGNvbnN0IHRhcmdldFRyYW5zZm9ybWVkUGFyZW50ID0gRG9tVXRpbC5maW5kVHJhbnNmb3JtZWRQYXJlbnQodGFyZ2V0KTtcbiAgICBsZXQgcGFyZW50UG9zaXRpb24gPSB7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB0b3A6IDAsXG4gICAgICBib3R0b206IDBcbiAgICB9O1xuICAgIGlmICh0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudCkge1xuICAgICAgcGFyZW50UG9zaXRpb24gPSB0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwb3NpdGlvbiA9IFBvc2l0aW9uVXRpbC5nZXRQb3NpdGlvbihcbiAgICAgIHJlY3QsXG4gICAgICB0YXJnZXRSZWN0LFxuICAgICAgdGhpcy5hbGlnbixcbiAgICAgIHRoaXMudmVydGljYWxBbGlnbixcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgcGFyZW50UG9zaXRpb25cbiAgICApO1xuXG4gICAgUG9zaXRpb25VdGlsLnNldEVsZW1lbnRQb3NpdGlvbih0YXJnZXQsIHBvc2l0aW9uKTtcbiAgfVxufVxuIl19
|
|
@@ -961,7 +961,12 @@ var VerticalAlign;
|
|
|
961
961
|
})(VerticalAlign || (VerticalAlign = {}));
|
|
962
962
|
|
|
963
963
|
class PositionUtil {
|
|
964
|
-
static getPosition(containerPosition, elementPosition, align, verticalAlign, margin = 0, verticalMargin = 0
|
|
964
|
+
static getPosition(containerPosition, elementPosition, align, verticalAlign, margin = 0, verticalMargin = 0, transformedParentRect = {
|
|
965
|
+
left: 0,
|
|
966
|
+
right: 0,
|
|
967
|
+
top: 0,
|
|
968
|
+
bottom: 0
|
|
969
|
+
}) {
|
|
965
970
|
const rect = {};
|
|
966
971
|
const elementWidth = elementPosition.right - elementPosition.left;
|
|
967
972
|
const elementHeight = elementPosition.bottom - elementPosition.top;
|
|
@@ -997,7 +1002,7 @@ class PositionUtil {
|
|
|
997
1002
|
}
|
|
998
1003
|
}
|
|
999
1004
|
if (verticalAlign === VerticalAlign.top) {
|
|
1000
|
-
rect.
|
|
1005
|
+
rect.top = containerPosition.top - elementHeight - verticalMargin;
|
|
1001
1006
|
}
|
|
1002
1007
|
if (verticalAlign === VerticalAlign.bottom) {
|
|
1003
1008
|
rect.top = containerPosition.bottom + verticalMargin;
|
|
@@ -1016,12 +1021,16 @@ class PositionUtil {
|
|
|
1016
1021
|
if (rect.top < 0) {
|
|
1017
1022
|
rect.top = 0;
|
|
1018
1023
|
}
|
|
1019
|
-
if (verticalAlign === VerticalAlign.bottom) {
|
|
1024
|
+
if (verticalAlign === VerticalAlign.bottom || verticalAlign === VerticalAlign.center) {
|
|
1020
1025
|
rect.maxHeight = window.innerHeight - rect.top;
|
|
1021
1026
|
}
|
|
1022
1027
|
if (verticalAlign === VerticalAlign.top) {
|
|
1023
1028
|
rect.maxHeight = containerPosition.top;
|
|
1024
1029
|
}
|
|
1030
|
+
rect.left = rect.left - transformedParentRect.left;
|
|
1031
|
+
rect.right = rect.right - transformedParentRect.left;
|
|
1032
|
+
rect.top = rect.top - transformedParentRect.top;
|
|
1033
|
+
rect.bottom = rect.bottom ? rect.bottom - transformedParentRect.bottom : rect.bottom;
|
|
1025
1034
|
return rect;
|
|
1026
1035
|
}
|
|
1027
1036
|
static setElementPosition(element, rect) {
|
|
@@ -1203,23 +1212,31 @@ class DropdownBase {
|
|
|
1203
1212
|
this.setPosition(this._head.nativeElement, this._body);
|
|
1204
1213
|
}
|
|
1205
1214
|
setPosition(container, target) {
|
|
1206
|
-
const
|
|
1215
|
+
const containerPosition = container.getBoundingClientRect();
|
|
1216
|
+
const targetPosition = target.getBoundingClientRect();
|
|
1207
1217
|
const rect = {
|
|
1208
|
-
bottom:
|
|
1209
|
-
top:
|
|
1210
|
-
left:
|
|
1211
|
-
right:
|
|
1218
|
+
bottom: containerPosition.bottom,
|
|
1219
|
+
top: containerPosition.top,
|
|
1220
|
+
left: containerPosition.left,
|
|
1221
|
+
right: containerPosition.right,
|
|
1222
|
+
};
|
|
1223
|
+
const targetRect = {
|
|
1224
|
+
bottom: targetPosition.bottom,
|
|
1225
|
+
top: targetPosition.top,
|
|
1226
|
+
left: targetPosition.left,
|
|
1227
|
+
right: targetPosition.right,
|
|
1212
1228
|
};
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1229
|
+
const targetTransformedParent = DomUtil.findTransformedParent(target);
|
|
1230
|
+
let parentPosition = {
|
|
1231
|
+
left: 0,
|
|
1232
|
+
right: 0,
|
|
1233
|
+
top: 0,
|
|
1234
|
+
bottom: 0
|
|
1235
|
+
};
|
|
1236
|
+
if (targetTransformedParent) {
|
|
1237
|
+
parentPosition = targetTransformedParent.getBoundingClientRect();
|
|
1238
|
+
}
|
|
1239
|
+
const position = PositionUtil.getPosition(rect, targetRect, this.align, this.verticalAlign, 0, 0, parentPosition);
|
|
1223
1240
|
PositionUtil.setElementPosition(target, position);
|
|
1224
1241
|
}
|
|
1225
1242
|
}
|