ngx-bootstrap 3.2.0 → 3.3.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/CHANGELOG.md +46 -0
- package/README.md +3 -0
- package/accordion/package.json +1 -1
- package/alert/package.json +1 -1
- package/bundles/ngx-bootstrap.es2015.js +10658 -8629
- package/bundles/ngx-bootstrap.es2015.js.map +1 -1
- package/buttons/package.json +1 -1
- package/carousel/package.json +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js +22 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
- package/chronos/esm2015/index.js +2 -2
- package/chronos/esm2015/ngx-bootstrap-chronos.js +2 -2
- package/chronos/esm2015/public_api.js +2 -2
- package/chronos/esm5/index.js +2 -2
- package/chronos/esm5/ngx-bootstrap-chronos.js +2 -2
- package/chronos/esm5/public_api.js +2 -2
- package/chronos/fesm2015/ngx-bootstrap-chronos.js +19 -2
- package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/fesm5/ngx-bootstrap-chronos.js +20 -2
- package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/ngx-bootstrap-chronos.metadata.json +1 -1
- package/chronos/package.json +1 -1
- package/chronos/public_api.d.ts +1 -1
- package/collapse/package.json +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +2 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +1 -1
- package/component-loader/esm2015/component-loader.class.js +2 -1
- package/component-loader/esm5/component-loader.class.js +2 -1
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +2 -1
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js +2 -1
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/package.json +1 -1
- package/datepicker/base/bs-datepicker-container.d.ts +1 -0
- package/datepicker/bs-datepicker-inline.component.d.ts +4 -0
- package/datepicker/bs-datepicker.component.d.ts +4 -0
- package/datepicker/bs-datepicker.config.d.ts +4 -0
- package/datepicker/bs-daterangepicker.component.d.ts +4 -0
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +69 -4
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +1 -1
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
- package/datepicker/engine/flag-days-calendar.d.ts +1 -0
- package/datepicker/esm2015/base/bs-datepicker-container.js +8 -1
- package/datepicker/esm2015/bs-datepicker-inline.component.js +12 -2
- package/datepicker/esm2015/bs-datepicker.component.js +11 -1
- package/datepicker/esm2015/bs-datepicker.config.js +6 -1
- package/datepicker/esm2015/bs-daterangepicker.component.js +12 -2
- package/datepicker/esm2015/engine/flag-days-calendar.js +6 -3
- package/datepicker/esm2015/reducer/bs-datepicker.actions.js +14 -1
- package/datepicker/esm2015/reducer/bs-datepicker.effects.js +9 -1
- package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +2 -1
- package/datepicker/esm2015/reducer/bs-datepicker.state.js +3 -1
- package/datepicker/esm2015/utils/bs-calendar-utils.js +13 -2
- package/datepicker/esm5/base/bs-datepicker-container.js +12 -1
- package/datepicker/esm5/bs-datepicker-inline.component.js +12 -2
- package/datepicker/esm5/bs-datepicker.component.js +11 -1
- package/datepicker/esm5/bs-datepicker.config.js +6 -1
- package/datepicker/esm5/bs-daterangepicker.component.js +12 -2
- package/datepicker/esm5/engine/flag-days-calendar.js +6 -3
- package/datepicker/esm5/reducer/bs-datepicker.actions.js +18 -1
- package/datepicker/esm5/reducer/bs-datepicker.effects.js +13 -1
- package/datepicker/esm5/reducer/bs-datepicker.reducer.js +2 -1
- package/datepicker/esm5/reducer/bs-datepicker.state.js +3 -1
- package/datepicker/esm5/utils/bs-calendar-utils.js +13 -2
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +59 -5
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js +71 -5
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
- package/datepicker/package.json +1 -1
- package/datepicker/reducer/bs-datepicker.actions.d.ts +2 -0
- package/datepicker/reducer/bs-datepicker.effects.d.ts +1 -0
- package/datepicker/reducer/bs-datepicker.state.d.ts +1 -0
- package/datepicker/utils/bs-calendar-utils.d.ts +1 -0
- package/dropdown/package.json +1 -1
- package/locale/package.json +1 -1
- package/mini-ngrx/package.json +1 -1
- package/modal/package.json +1 -1
- package/package.json +2 -2
- package/pagination/package.json +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.js +3 -2
- package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.min.js +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -1
- package/popover/esm2015/popover-container.component.js +19 -8
- package/popover/esm5/popover-container.component.js +3 -2
- package/popover/fesm2015/ngx-bootstrap-popover.js +19 -8
- package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
- package/popover/fesm5/ngx-bootstrap-popover.js +3 -2
- package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -1
- package/popover/ngx-bootstrap-popover.metadata.json +1 -1
- package/popover/package.json +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js +1192 -252
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -1
- package/positioning/esm2015/models/index.js +44 -0
- package/positioning/esm2015/modifiers/arrow.js +54 -0
- package/positioning/esm2015/modifiers/flip.js +65 -0
- package/positioning/esm2015/modifiers/index.js +11 -0
- package/positioning/esm2015/modifiers/initData.js +34 -0
- package/positioning/esm2015/modifiers/preventOverflow.js +70 -0
- package/positioning/esm2015/modifiers/shift.js +29 -0
- package/positioning/esm2015/ng-positioning.js +19 -220
- package/positioning/esm2015/positioning.service.js +44 -4
- package/positioning/esm2015/utils/computeAutoPlacement.js +64 -0
- package/positioning/esm2015/utils/findCommonOffsetParent.js +47 -0
- package/positioning/esm2015/utils/getBordersSize.js +20 -0
- package/positioning/esm2015/utils/getBoundaries.js +66 -0
- package/positioning/esm2015/utils/getBoundingClientRect.js +61 -0
- package/positioning/esm2015/utils/getClientRect.js +13 -0
- package/positioning/esm2015/utils/getFixedPositionOffsetParent.js +26 -0
- package/positioning/esm2015/utils/getOffsetParent.js +37 -0
- package/positioning/esm2015/utils/getOffsetRectRelativeToArbitraryNode.js +62 -0
- package/positioning/esm2015/utils/getOffsets.js +20 -0
- package/positioning/esm2015/utils/getOppositePlacement.js +15 -0
- package/positioning/esm2015/utils/getOppositeVariation.js +20 -0
- package/positioning/esm2015/utils/getOuterSizes.js +21 -0
- package/positioning/esm2015/utils/getParentNode.js +17 -0
- package/positioning/esm2015/utils/getReferenceOffsets.js +21 -0
- package/positioning/esm2015/utils/getRoot.js +17 -0
- package/positioning/esm2015/utils/getScroll.js +22 -0
- package/positioning/esm2015/utils/getScrollParent.js +32 -0
- package/positioning/esm2015/utils/getStyleComputedProperty.js +21 -0
- package/positioning/esm2015/utils/getTargetOffsets.js +38 -0
- package/positioning/esm2015/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +29 -0
- package/positioning/esm2015/utils/getWindowSizes.js +34 -0
- package/positioning/esm2015/utils/includeScroll.js +23 -0
- package/positioning/esm2015/utils/index.js +28 -0
- package/positioning/esm2015/utils/isBrowser.js +7 -0
- package/positioning/esm2015/utils/isFixed.js +22 -0
- package/positioning/esm2015/utils/isIE.js +22 -0
- package/positioning/esm2015/utils/isNumeric.js +14 -0
- package/positioning/esm2015/utils/isOffsetContainer.js +18 -0
- package/positioning/esm2015/utils/setAllStyles.js +55 -0
- package/positioning/esm2015/utils/setStyles.js +28 -0
- package/positioning/esm5/models/index.js +44 -0
- package/positioning/esm5/modifiers/arrow.js +56 -0
- package/positioning/esm5/modifiers/flip.js +66 -0
- package/positioning/esm5/modifiers/index.js +11 -0
- package/positioning/esm5/modifiers/initData.js +34 -0
- package/positioning/esm5/modifiers/preventOverflow.js +73 -0
- package/positioning/esm5/modifiers/shift.js +31 -0
- package/positioning/esm5/ng-positioning.js +24 -247
- package/positioning/esm5/positioning.service.js +49 -5
- package/positioning/esm5/utils/computeAutoPlacement.js +72 -0
- package/positioning/esm5/utils/findCommonOffsetParent.js +47 -0
- package/positioning/esm5/utils/getBordersSize.js +20 -0
- package/positioning/esm5/utils/getBoundaries.js +68 -0
- package/positioning/esm5/utils/getBoundingClientRect.js +61 -0
- package/positioning/esm5/utils/getClientRect.js +14 -0
- package/positioning/esm5/utils/getFixedPositionOffsetParent.js +26 -0
- package/positioning/esm5/utils/getOffsetParent.js +37 -0
- package/positioning/esm5/utils/getOffsetRectRelativeToArbitraryNode.js +63 -0
- package/positioning/esm5/utils/getOffsets.js +20 -0
- package/positioning/esm5/utils/getOppositePlacement.js +15 -0
- package/positioning/esm5/utils/getOppositeVariation.js +20 -0
- package/positioning/esm5/utils/getOuterSizes.js +21 -0
- package/positioning/esm5/utils/getParentNode.js +17 -0
- package/positioning/esm5/utils/getReferenceOffsets.js +22 -0
- package/positioning/esm5/utils/getRoot.js +17 -0
- package/positioning/esm5/utils/getScroll.js +23 -0
- package/positioning/esm5/utils/getScrollParent.js +32 -0
- package/positioning/esm5/utils/getStyleComputedProperty.js +21 -0
- package/positioning/esm5/utils/getTargetOffsets.js +38 -0
- package/positioning/esm5/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +30 -0
- package/positioning/esm5/utils/getWindowSizes.js +34 -0
- package/positioning/esm5/utils/includeScroll.js +24 -0
- package/positioning/esm5/utils/index.js +28 -0
- package/positioning/esm5/utils/isBrowser.js +7 -0
- package/positioning/esm5/utils/isFixed.js +22 -0
- package/positioning/esm5/utils/isIE.js +22 -0
- package/positioning/esm5/utils/isNumeric.js +14 -0
- package/positioning/esm5/utils/isOffsetContainer.js +18 -0
- package/positioning/esm5/utils/setAllStyles.js +55 -0
- package/positioning/esm5/utils/setStyles.js +28 -0
- package/positioning/fesm2015/ngx-bootstrap-positioning.js +1108 -211
- package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/fesm5/ngx-bootstrap-positioning.js +1148 -249
- package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/models/index.d.ts +27 -0
- package/positioning/modifiers/arrow.d.ts +2 -0
- package/positioning/modifiers/flip.d.ts +2 -0
- package/positioning/modifiers/index.d.ts +5 -0
- package/positioning/modifiers/initData.d.ts +2 -0
- package/positioning/modifiers/preventOverflow.d.ts +2 -0
- package/positioning/modifiers/shift.d.ts +2 -0
- package/positioning/ng-positioning.d.ts +7 -10
- package/positioning/ngx-bootstrap-positioning.metadata.json +1 -1
- package/positioning/package.json +1 -1
- package/positioning/positioning.service.d.ts +7 -1
- package/positioning/utils/computeAutoPlacement.d.ts +2 -0
- package/positioning/utils/findCommonOffsetParent.d.ts +1 -0
- package/positioning/utils/getBordersSize.d.ts +4 -0
- package/positioning/utils/getBoundaries.d.ts +1 -0
- package/positioning/utils/getBoundingClientRect.d.ts +2 -0
- package/positioning/utils/getClientRect.d.ts +5 -0
- package/positioning/utils/getFixedPositionOffsetParent.d.ts +1 -0
- package/positioning/utils/getOffsetParent.d.ts +1 -0
- package/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +2 -0
- package/positioning/utils/getOffsets.d.ts +2 -0
- package/positioning/utils/getOppositePlacement.d.ts +4 -0
- package/positioning/utils/getOppositeVariation.d.ts +4 -0
- package/positioning/utils/getOuterSizes.d.ts +7 -0
- package/positioning/utils/getParentNode.d.ts +4 -0
- package/positioning/utils/getReferenceOffsets.d.ts +2 -0
- package/positioning/utils/getRoot.d.ts +4 -0
- package/positioning/utils/getScroll.d.ts +4 -0
- package/positioning/utils/getScrollParent.d.ts +1 -0
- package/positioning/utils/getStyleComputedProperty.d.ts +4 -0
- package/positioning/utils/getTargetOffsets.d.ts +2 -0
- package/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +2 -0
- package/positioning/utils/getWindowSizes.d.ts +4 -0
- package/positioning/utils/includeScroll.d.ts +2 -0
- package/positioning/utils/index.d.ts +22 -0
- package/positioning/utils/isBrowser.d.ts +1 -0
- package/positioning/utils/isFixed.d.ts +1 -0
- package/positioning/utils/isIE.d.ts +1 -0
- package/positioning/utils/isNumeric.d.ts +4 -0
- package/positioning/utils/isOffsetContainer.d.ts +1 -0
- package/positioning/utils/setAllStyles.d.ts +6 -0
- package/positioning/utils/setStyles.d.ts +5 -0
- package/progressbar/package.json +1 -1
- package/rating/package.json +1 -1
- package/sortable/package.json +1 -1
- package/tabs/package.json +1 -1
- package/timepicker/package.json +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +3 -2
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
- package/tooltip/esm2015/tooltip-container.component.js +12 -7
- package/tooltip/esm5/tooltip-container.component.js +3 -2
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +12 -7
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js +3 -2
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/ngx-bootstrap-tooltip.metadata.json +1 -1
- package/tooltip/package.json +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +46 -22
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
- package/typeahead/esm2015/typeahead-container.component.js +15 -4
- package/typeahead/esm2015/typeahead.config.js +21 -1
- package/typeahead/esm2015/typeahead.directive.js +37 -21
- package/typeahead/esm5/typeahead-container.component.js +12 -4
- package/typeahead/esm5/typeahead.config.js +21 -1
- package/typeahead/esm5/typeahead.directive.js +37 -21
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +49 -22
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js +46 -22
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
- package/typeahead/package.json +1 -1
- package/typeahead/typeahead-container.component.d.ts +1 -1
- package/typeahead/typeahead.config.d.ts +6 -0
- package/typeahead/typeahead.directive.d.ts +7 -1
- package/utils/package.json +1 -1
@@ -0,0 +1,68 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
import { getScrollParent } from './getScrollParent';
|
6
|
+
import { getParentNode } from './getParentNode';
|
7
|
+
import { findCommonOffsetParent } from './findCommonOffsetParent';
|
8
|
+
import { getOffsetRectRelativeToArbitraryNode } from './getOffsetRectRelativeToArbitraryNode';
|
9
|
+
import { getViewportOffsetRectRelativeToArtbitraryNode } from './getViewportOffsetRectRelativeToArtbitraryNode';
|
10
|
+
import { getWindowSizes } from './getWindowSizes';
|
11
|
+
import { isFixed } from './isFixed';
|
12
|
+
import { getFixedPositionOffsetParent } from './getFixedPositionOffsetParent';
|
13
|
+
/**
|
14
|
+
* @param {?} target
|
15
|
+
* @param {?} host
|
16
|
+
* @param {?=} padding
|
17
|
+
* @param {?=} boundariesElement
|
18
|
+
* @param {?=} fixedPosition
|
19
|
+
* @return {?}
|
20
|
+
*/
|
21
|
+
export function getBoundaries(target, host, padding, boundariesElement, fixedPosition) {
|
22
|
+
if (padding === void 0) { padding = 0; }
|
23
|
+
if (fixedPosition === void 0) { fixedPosition = false; }
|
24
|
+
// NOTE: 1 DOM access here
|
25
|
+
var /** @type {?} */ boundaries = { top: 0, left: 0 };
|
26
|
+
var /** @type {?} */ offsetParent = fixedPosition ? getFixedPositionOffsetParent(target) : findCommonOffsetParent(target, host);
|
27
|
+
// Handle viewport case
|
28
|
+
if (boundariesElement === 'viewport') {
|
29
|
+
boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);
|
30
|
+
}
|
31
|
+
else {
|
32
|
+
// Handle other cases based on DOM element used as boundaries
|
33
|
+
var /** @type {?} */ boundariesNode = void 0;
|
34
|
+
if (boundariesElement === 'scrollParent') {
|
35
|
+
boundariesNode = getScrollParent(getParentNode(host));
|
36
|
+
if (boundariesNode.nodeName === 'BODY') {
|
37
|
+
boundariesNode = target.ownerDocument.documentElement;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
else if (boundariesElement === 'window') {
|
41
|
+
boundariesNode = target.ownerDocument.documentElement;
|
42
|
+
}
|
43
|
+
else {
|
44
|
+
boundariesNode = boundariesElement;
|
45
|
+
}
|
46
|
+
var /** @type {?} */ offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);
|
47
|
+
// In case of HTML, we need a different computation
|
48
|
+
if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
|
49
|
+
var _a = getWindowSizes(target.ownerDocument), height = _a.height, width = _a.width;
|
50
|
+
boundaries.top += offsets.top - offsets.marginTop;
|
51
|
+
boundaries.bottom = Number(height) + Number(offsets.top);
|
52
|
+
boundaries.left += offsets.left - offsets.marginLeft;
|
53
|
+
boundaries.right = Number(width) + Number(offsets.left);
|
54
|
+
}
|
55
|
+
else {
|
56
|
+
// for all the other DOM elements, this one is good
|
57
|
+
boundaries = offsets;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
// Add paddings
|
61
|
+
boundaries.left += padding;
|
62
|
+
boundaries.top += padding;
|
63
|
+
boundaries.right -= padding;
|
64
|
+
boundaries.bottom -= padding;
|
65
|
+
return boundaries;
|
66
|
+
}
|
67
|
+
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Qm91bmRhcmllcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvcG9zaXRpb25pbmcvIiwic291cmNlcyI6WyJ1dGlscy9nZXRCb3VuZGFyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSw2Q0FBNkMsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2hILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7QUFFOUUsTUFBTSx3QkFDSixNQUFtQixFQUNuQixJQUFpQixFQUNqQixPQUFXLEVBQ1gsaUJBQXlCLEVBQ3pCLGFBQXFCO0lBRnJCLHdCQUFBLEVBQUEsV0FBVztJQUVYLDhCQUFBLEVBQUEscUJBQXFCOztJQUlyQixxQkFBSSxVQUFVLEdBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMxQyxxQkFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDOztJQUdqSCxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLFVBQVUsR0FBRyw2Q0FBNkMsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDekY7SUFBQyxJQUFJLENBQUMsQ0FBQzs7UUFFTixxQkFBSSxjQUFjLFNBQUEsQ0FBQztRQUNuQixFQUFFLENBQUMsQ0FBQyxpQkFBaUIsS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLGNBQWMsR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdEQsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN2QyxjQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7YUFDdkQ7U0FDRjtRQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzFDLGNBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQztTQUN2RDtRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sY0FBYyxHQUFHLGlCQUFpQixDQUFDO1NBQ3BDO1FBRUQscUJBQU0sT0FBTyxHQUFHLG9DQUFvQyxDQUNsRCxjQUFjLEVBQ2QsWUFBWSxFQUNaLGFBQWEsQ0FDZCxDQUFDOztRQUdGLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEtBQUssTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRSwrQ0FBUSxrQkFBTSxFQUFFLGdCQUFLLENBQTBDO1lBQy9ELFVBQVUsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQ2xELFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekQsVUFBVSxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDckQsVUFBVSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6RDtRQUFDLElBQUksQ0FBQyxDQUFDOztZQUVOLFVBQVUsR0FBRyxPQUFPLENBQUM7U0FDdEI7S0FDRjs7SUFHRCxVQUFVLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQztJQUMzQixVQUFVLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQztJQUMxQixVQUFVLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQztJQUM1QixVQUFVLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQztJQUU3QixNQUFNLENBQUMsVUFBVSxDQUFDO0NBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb21wdXRlZCB0aGUgYm91bmRhcmllcyBsaW1pdHMgYW5kIHJldHVybiB0aGVtXG4gKi9cbmltcG9ydCB7IGdldFNjcm9sbFBhcmVudCB9IGZyb20gJy4vZ2V0U2Nyb2xsUGFyZW50JztcbmltcG9ydCB7IGdldFBhcmVudE5vZGUgfSBmcm9tICcuL2dldFBhcmVudE5vZGUnO1xuaW1wb3J0IHsgZmluZENvbW1vbk9mZnNldFBhcmVudCB9IGZyb20gJy4vZmluZENvbW1vbk9mZnNldFBhcmVudCc7XG5pbXBvcnQgeyBnZXRPZmZzZXRSZWN0UmVsYXRpdmVUb0FyYml0cmFyeU5vZGUgfSBmcm9tICcuL2dldE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJiaXRyYXJ5Tm9kZSc7XG5pbXBvcnQgeyBnZXRWaWV3cG9ydE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJ0Yml0cmFyeU5vZGUgfSBmcm9tICcuL2dldFZpZXdwb3J0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcnRiaXRyYXJ5Tm9kZSc7XG5pbXBvcnQgeyBnZXRXaW5kb3dTaXplcyB9IGZyb20gJy4vZ2V0V2luZG93U2l6ZXMnO1xuaW1wb3J0IHsgaXNGaXhlZCB9IGZyb20gJy4vaXNGaXhlZCc7XG5pbXBvcnQgeyBnZXRGaXhlZFBvc2l0aW9uT2Zmc2V0UGFyZW50IH0gZnJvbSAnLi9nZXRGaXhlZFBvc2l0aW9uT2Zmc2V0UGFyZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJvdW5kYXJpZXMoXG4gIHRhcmdldDogSFRNTEVsZW1lbnQsXG4gIGhvc3Q6IEhUTUxFbGVtZW50LFxuICBwYWRkaW5nID0gMCxcbiAgYm91bmRhcmllc0VsZW1lbnQ6IHN0cmluZyxcbiAgZml4ZWRQb3NpdGlvbiA9IGZhbHNlXG4pIHtcbiAgLy8gTk9URTogMSBET00gYWNjZXNzIGhlcmVcblxuICBsZXQgYm91bmRhcmllczogYW55ID0geyB0b3A6IDAsIGxlZnQ6IDAgfTtcbiAgY29uc3Qgb2Zmc2V0UGFyZW50ID0gZml4ZWRQb3NpdGlvbiA/IGdldEZpeGVkUG9zaXRpb25PZmZzZXRQYXJlbnQodGFyZ2V0KSA6IGZpbmRDb21tb25PZmZzZXRQYXJlbnQodGFyZ2V0LCBob3N0KTtcblxuICAvLyBIYW5kbGUgdmlld3BvcnQgY2FzZVxuICBpZiAoYm91bmRhcmllc0VsZW1lbnQgPT09ICd2aWV3cG9ydCcpIHtcbiAgICBib3VuZGFyaWVzID0gZ2V0Vmlld3BvcnRPZmZzZXRSZWN0UmVsYXRpdmVUb0FydGJpdHJhcnlOb2RlKG9mZnNldFBhcmVudCwgZml4ZWRQb3NpdGlvbik7XG4gIH0gZWxzZSB7XG4gICAgLy8gSGFuZGxlIG90aGVyIGNhc2VzIGJhc2VkIG9uIERPTSBlbGVtZW50IHVzZWQgYXMgYm91bmRhcmllc1xuICAgIGxldCBib3VuZGFyaWVzTm9kZTtcbiAgICBpZiAoYm91bmRhcmllc0VsZW1lbnQgPT09ICdzY3JvbGxQYXJlbnQnKSB7XG4gICAgICBib3VuZGFyaWVzTm9kZSA9IGdldFNjcm9sbFBhcmVudChnZXRQYXJlbnROb2RlKGhvc3QpKTtcbiAgICAgIGlmIChib3VuZGFyaWVzTm9kZS5ub2RlTmFtZSA9PT0gJ0JPRFknKSB7XG4gICAgICAgIGJvdW5kYXJpZXNOb2RlID0gdGFyZ2V0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYm91bmRhcmllc0VsZW1lbnQgPT09ICd3aW5kb3cnKSB7XG4gICAgICBib3VuZGFyaWVzTm9kZSA9IHRhcmdldC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgYm91bmRhcmllc05vZGUgPSBib3VuZGFyaWVzRWxlbWVudDtcbiAgICB9XG5cbiAgICBjb25zdCBvZmZzZXRzID0gZ2V0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcmJpdHJhcnlOb2RlKFxuICAgICAgYm91bmRhcmllc05vZGUsXG4gICAgICBvZmZzZXRQYXJlbnQsXG4gICAgICBmaXhlZFBvc2l0aW9uXG4gICAgKTtcblxuICAgIC8vIEluIGNhc2Ugb2YgSFRNTCwgd2UgbmVlZCBhIGRpZmZlcmVudCBjb21wdXRhdGlvblxuICAgIGlmIChib3VuZGFyaWVzTm9kZS5ub2RlTmFtZSA9PT0gJ0hUTUwnICYmICFpc0ZpeGVkKG9mZnNldFBhcmVudCkpIHtcbiAgICAgIGNvbnN0IHsgaGVpZ2h0LCB3aWR0aCB9ID0gZ2V0V2luZG93U2l6ZXModGFyZ2V0Lm93bmVyRG9jdW1lbnQpO1xuICAgICAgYm91bmRhcmllcy50b3AgKz0gb2Zmc2V0cy50b3AgLSBvZmZzZXRzLm1hcmdpblRvcDtcbiAgICAgIGJvdW5kYXJpZXMuYm90dG9tID0gTnVtYmVyKGhlaWdodCkgKyBOdW1iZXIob2Zmc2V0cy50b3ApO1xuICAgICAgYm91bmRhcmllcy5sZWZ0ICs9IG9mZnNldHMubGVmdCAtIG9mZnNldHMubWFyZ2luTGVmdDtcbiAgICAgIGJvdW5kYXJpZXMucmlnaHQgPSBOdW1iZXIod2lkdGgpICsgTnVtYmVyKG9mZnNldHMubGVmdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGZvciBhbGwgdGhlIG90aGVyIERPTSBlbGVtZW50cywgdGhpcyBvbmUgaXMgZ29vZFxuICAgICAgYm91bmRhcmllcyA9IG9mZnNldHM7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIHBhZGRpbmdzXG4gIGJvdW5kYXJpZXMubGVmdCArPSBwYWRkaW5nO1xuICBib3VuZGFyaWVzLnRvcCArPSBwYWRkaW5nO1xuICBib3VuZGFyaWVzLnJpZ2h0IC09IHBhZGRpbmc7XG4gIGJvdW5kYXJpZXMuYm90dG9tIC09IHBhZGRpbmc7XG5cbiAgcmV0dXJuIGJvdW5kYXJpZXM7XG59XG4iXX0=
|
@@ -0,0 +1,61 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
import { getStyleComputedProperty } from './getStyleComputedProperty';
|
6
|
+
import { getBordersSize } from './getBordersSize';
|
7
|
+
import { getWindowSizes } from './getWindowSizes';
|
8
|
+
import { getScroll } from './getScroll';
|
9
|
+
import { getClientRect } from './getClientRect';
|
10
|
+
import { isIE } from './isIE';
|
11
|
+
/**
|
12
|
+
* @param {?} element
|
13
|
+
* @return {?}
|
14
|
+
*/
|
15
|
+
export function getBoundingClientRect(element) {
|
16
|
+
var /** @type {?} */ rect = {};
|
17
|
+
// IE10 10 FIX: Please, don't ask, the element isn't
|
18
|
+
// considered in DOM in some circumstances...
|
19
|
+
// This isn't reproducible in IE10 compatibility mode of IE11
|
20
|
+
try {
|
21
|
+
if (isIE(10)) {
|
22
|
+
rect = element.getBoundingClientRect();
|
23
|
+
var /** @type {?} */ scrollTop = getScroll(element, 'top');
|
24
|
+
var /** @type {?} */ scrollLeft = getScroll(element, 'left');
|
25
|
+
rect.top += scrollTop;
|
26
|
+
rect.left += scrollLeft;
|
27
|
+
rect.bottom += scrollTop;
|
28
|
+
rect.right += scrollLeft;
|
29
|
+
}
|
30
|
+
else {
|
31
|
+
rect = element.getBoundingClientRect();
|
32
|
+
}
|
33
|
+
}
|
34
|
+
catch (/** @type {?} */ e) {
|
35
|
+
return undefined;
|
36
|
+
}
|
37
|
+
var /** @type {?} */ result = {
|
38
|
+
left: rect.left,
|
39
|
+
top: rect.top,
|
40
|
+
width: rect.right - rect.left,
|
41
|
+
height: rect.bottom - rect.top
|
42
|
+
};
|
43
|
+
// subtract scrollbar size from sizes
|
44
|
+
var /** @type {?} */ sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};
|
45
|
+
var /** @type {?} */ width = sizes.width || element.clientWidth || result.right - result.left;
|
46
|
+
var /** @type {?} */ height = sizes.height || element.clientHeight || result.bottom - result.top;
|
47
|
+
var /** @type {?} */ horizScrollbar = element.offsetWidth - width;
|
48
|
+
var /** @type {?} */ vertScrollbar = element.offsetHeight - height;
|
49
|
+
// if an hypothetical scrollbar is detected, we must be sure it's not a `border`
|
50
|
+
// we make this check conditional for performance reasons
|
51
|
+
if (horizScrollbar || vertScrollbar) {
|
52
|
+
var /** @type {?} */ styles = getStyleComputedProperty(element);
|
53
|
+
horizScrollbar -= getBordersSize(styles, 'x');
|
54
|
+
vertScrollbar -= getBordersSize(styles, 'y');
|
55
|
+
result.width -= horizScrollbar;
|
56
|
+
result.height -= vertScrollbar;
|
57
|
+
}
|
58
|
+
return getClientRect(result);
|
59
|
+
}
|
60
|
+
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWJvb3RzdHJhcC9wb3NpdGlvbmluZy8iLCJzb3VyY2VzIjpbInV0aWxzL2dldEJvdW5kaW5nQ2xpZW50UmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7OztBQUc5QixNQUFNLGdDQUFnQyxPQUFvQjtJQUN4RCxxQkFBSSxJQUFJLEdBQVEsRUFBRSxDQUFDOzs7O0lBS25CLElBQUksQ0FBQztRQUNILEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDYixJQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDdkMscUJBQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDNUMscUJBQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUM7U0FDMUI7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLElBQUksR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUN4QztLQUNGO0lBQUMsS0FBSyxDQUFDLENBQUMsaUJBQUEsQ0FBQyxFQUFFLENBQUM7UUFDWCxNQUFNLENBQUMsU0FBUyxDQUFDO0tBQ2xCO0lBRUQscUJBQU0sTUFBTSxHQUFRO1FBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtRQUNmLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztRQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJO1FBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHO0tBQy9CLENBQUM7O0lBR0YscUJBQU0sS0FBSyxHQUFRLE9BQU8sQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDNUYscUJBQU0sS0FBSyxHQUNULEtBQUssQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDbkUscUJBQU0sTUFBTSxHQUNWLEtBQUssQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFFckUscUJBQUksY0FBYyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ2pELHFCQUFJLGFBQWEsR0FBRyxPQUFPLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQzs7O0lBSWxELEVBQUUsQ0FBQyxDQUFDLGNBQWMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLHFCQUFNLE1BQU0sR0FBRyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxjQUFjLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QyxhQUFhLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUU3QyxNQUFNLENBQUMsS0FBSyxJQUFJLGNBQWMsQ0FBQztRQUMvQixNQUFNLENBQUMsTUFBTSxJQUFJLGFBQWEsQ0FBQztLQUNoQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDOUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdldCBib3VuZGluZyBjbGllbnQgcmVjdCBvZiBnaXZlbiBlbGVtZW50XG4gKi9cbmltcG9ydCB7IGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eSB9IGZyb20gJy4vZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5JztcbmltcG9ydCB7IGdldEJvcmRlcnNTaXplIH0gZnJvbSAnLi9nZXRCb3JkZXJzU2l6ZSc7XG5pbXBvcnQgeyBnZXRXaW5kb3dTaXplcyB9IGZyb20gJy4vZ2V0V2luZG93U2l6ZXMnO1xuaW1wb3J0IHsgZ2V0U2Nyb2xsIH0gZnJvbSAnLi9nZXRTY3JvbGwnO1xuaW1wb3J0IHsgZ2V0Q2xpZW50UmVjdCB9IGZyb20gJy4vZ2V0Q2xpZW50UmVjdCc7XG5pbXBvcnQgeyBpc0lFIH0gZnJvbSAnLi9pc0lFJztcbmltcG9ydCB7IE9mZnNldHMgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogT2Zmc2V0cyB7XG4gIGxldCByZWN0OiBhbnkgPSB7fTtcblxuICAvLyBJRTEwIDEwIEZJWDogUGxlYXNlLCBkb24ndCBhc2ssIHRoZSBlbGVtZW50IGlzbid0XG4gIC8vIGNvbnNpZGVyZWQgaW4gRE9NIGluIHNvbWUgY2lyY3Vtc3RhbmNlcy4uLlxuICAvLyBUaGlzIGlzbid0IHJlcHJvZHVjaWJsZSBpbiBJRTEwIGNvbXBhdGliaWxpdHkgbW9kZSBvZiBJRTExXG4gIHRyeSB7XG4gICAgaWYgKGlzSUUoMTApKSB7XG4gICAgICByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IGdldFNjcm9sbChlbGVtZW50LCAndG9wJyk7XG4gICAgICBjb25zdCBzY3JvbGxMZWZ0ID0gZ2V0U2Nyb2xsKGVsZW1lbnQsICdsZWZ0Jyk7XG4gICAgICByZWN0LnRvcCArPSBzY3JvbGxUb3A7XG4gICAgICByZWN0LmxlZnQgKz0gc2Nyb2xsTGVmdDtcbiAgICAgIHJlY3QuYm90dG9tICs9IHNjcm9sbFRvcDtcbiAgICAgIHJlY3QucmlnaHQgKz0gc2Nyb2xsTGVmdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogYW55ID0ge1xuICAgIGxlZnQ6IHJlY3QubGVmdCxcbiAgICB0b3A6IHJlY3QudG9wLFxuICAgIHdpZHRoOiByZWN0LnJpZ2h0IC0gcmVjdC5sZWZ0LFxuICAgIGhlaWdodDogcmVjdC5ib3R0b20gLSByZWN0LnRvcFxuICB9O1xuXG4gIC8vIHN1YnRyYWN0IHNjcm9sbGJhciBzaXplIGZyb20gc2l6ZXNcbiAgY29uc3Qgc2l6ZXM6IGFueSA9IGVsZW1lbnQubm9kZU5hbWUgPT09ICdIVE1MJyA/IGdldFdpbmRvd1NpemVzKGVsZW1lbnQub3duZXJEb2N1bWVudCkgOiB7fTtcbiAgY29uc3Qgd2lkdGggPVxuICAgIHNpemVzLndpZHRoIHx8IGVsZW1lbnQuY2xpZW50V2lkdGggfHwgcmVzdWx0LnJpZ2h0IC0gcmVzdWx0LmxlZnQ7XG4gIGNvbnN0IGhlaWdodCA9XG4gICAgc2l6ZXMuaGVpZ2h0IHx8IGVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IHJlc3VsdC5ib3R0b20gLSByZXN1bHQudG9wO1xuXG4gIGxldCBob3JpelNjcm9sbGJhciA9IGVsZW1lbnQub2Zmc2V0V2lkdGggLSB3aWR0aDtcbiAgbGV0IHZlcnRTY3JvbGxiYXIgPSBlbGVtZW50Lm9mZnNldEhlaWdodCAtIGhlaWdodDtcblxuICAvLyBpZiBhbiBoeXBvdGhldGljYWwgc2Nyb2xsYmFyIGlzIGRldGVjdGVkLCB3ZSBtdXN0IGJlIHN1cmUgaXQncyBub3QgYSBgYm9yZGVyYFxuICAvLyB3ZSBtYWtlIHRoaXMgY2hlY2sgY29uZGl0aW9uYWwgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnNcbiAgaWYgKGhvcml6U2Nyb2xsYmFyIHx8IHZlcnRTY3JvbGxiYXIpIHtcbiAgICBjb25zdCBzdHlsZXMgPSBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkoZWxlbWVudCk7XG4gICAgaG9yaXpTY3JvbGxiYXIgLT0gZ2V0Qm9yZGVyc1NpemUoc3R5bGVzLCAneCcpO1xuICAgIHZlcnRTY3JvbGxiYXIgLT0gZ2V0Qm9yZGVyc1NpemUoc3R5bGVzLCAneScpO1xuXG4gICAgcmVzdWx0LndpZHRoIC09IGhvcml6U2Nyb2xsYmFyO1xuICAgIHJlc3VsdC5oZWlnaHQgLT0gdmVydFNjcm9sbGJhcjtcbiAgfVxuXG4gIHJldHVybiBnZXRDbGllbnRSZWN0KHJlc3VsdCk7XG59XG4iXX0=
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
import * as tslib_1 from "tslib";
|
6
|
+
/**
|
7
|
+
* @param {?} offsets
|
8
|
+
* @return {?}
|
9
|
+
*/
|
10
|
+
export function getClientRect(offsets) {
|
11
|
+
return tslib_1.__assign({}, offsets, { right: offsets.left + offsets.width, bottom: offsets.top + offsets.height });
|
12
|
+
}
|
13
|
+
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2xpZW50UmVjdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvcG9zaXRpb25pbmcvIiwic291cmNlcyI6WyJ1dGlscy9nZXRDbGllbnRSZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUtBLE1BQU0sd0JBQXdCLE9BQWdCO0lBQzVDLE1BQU0sc0JBQ0QsT0FBTyxJQUNWLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQ25DLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQ3BDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdpdmVuIGVsZW1lbnQgb2Zmc2V0cywgZ2VuZXJhdGUgYW4gb3V0cHV0IHNpbWlsYXIgdG8gZ2V0Qm91bmRpbmdDbGllbnRSZWN0XG4gKi9cbmltcG9ydCB7IE9mZnNldHMgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xpZW50UmVjdChvZmZzZXRzOiBPZmZzZXRzKTogT2Zmc2V0cyB7XG4gIHJldHVybiB7XG4gICAgLi4ub2Zmc2V0cyxcbiAgICByaWdodDogb2Zmc2V0cy5sZWZ0ICsgb2Zmc2V0cy53aWR0aCxcbiAgICBib3R0b206IG9mZnNldHMudG9wICsgb2Zmc2V0cy5oZWlnaHRcbiAgfTtcbn1cbiJdfQ==
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
/**
|
6
|
+
* Finds the first parent of an element that has a transformed property defined
|
7
|
+
*/
|
8
|
+
import { getStyleComputedProperty } from './getStyleComputedProperty';
|
9
|
+
import { isIE } from './isIE';
|
10
|
+
/**
|
11
|
+
* @param {?} element
|
12
|
+
* @return {?}
|
13
|
+
*/
|
14
|
+
export function getFixedPositionOffsetParent(element) {
|
15
|
+
// This check is needed to avoid errors in case one of the elements isn't defined for any reason
|
16
|
+
if (!element || !element.parentElement || isIE()) {
|
17
|
+
return document.documentElement;
|
18
|
+
}
|
19
|
+
var /** @type {?} */ el = element.parentElement;
|
20
|
+
while (el && getStyleComputedProperty(el, 'transform') === 'none') {
|
21
|
+
el = el.parentElement;
|
22
|
+
}
|
23
|
+
return el || document.documentElement;
|
24
|
+
}
|
25
|
+
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Rml4ZWRQb3NpdGlvbk9mZnNldFBhcmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvcG9zaXRpb25pbmcvIiwic291cmNlcyI6WyJ1dGlscy9nZXRGaXhlZFBvc2l0aW9uT2Zmc2V0UGFyZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7OztBQUU5QixNQUFNLHVDQUF1QyxPQUFvQjs7SUFFL0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztLQUNoQztJQUVELHFCQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBRS9CLE9BQU8sRUFBRSxJQUFJLHdCQUF3QixDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUNsRSxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztLQUN2QjtJQUVELE1BQU0sQ0FBQyxFQUFFLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQztDQUN2QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRmluZHMgdGhlIGZpcnN0IHBhcmVudCBvZiBhbiBlbGVtZW50IHRoYXQgaGFzIGEgdHJhbnNmb3JtZWQgcHJvcGVydHkgZGVmaW5lZFxuICovXG5cbmltcG9ydCB7IGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eSB9IGZyb20gJy4vZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5JztcbmltcG9ydCB7IGlzSUUgfSBmcm9tICcuL2lzSUUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rml4ZWRQb3NpdGlvbk9mZnNldFBhcmVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgLy8gVGhpcyBjaGVjayBpcyBuZWVkZWQgdG8gYXZvaWQgZXJyb3JzIGluIGNhc2Ugb25lIG9mIHRoZSBlbGVtZW50cyBpc24ndCBkZWZpbmVkIGZvciBhbnkgcmVhc29uXG4gIGlmICghZWxlbWVudCB8fCAhZWxlbWVudC5wYXJlbnRFbGVtZW50IHx8IGlzSUUoKSkge1xuICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgfVxuXG4gIGxldCBlbCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDtcblxuICB3aGlsZSAoZWwgJiYgZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5KGVsLCAndHJhbnNmb3JtJykgPT09ICdub25lJykge1xuICAgIGVsID0gZWwucGFyZW50RWxlbWVudDtcbiAgfVxuXG4gIHJldHVybiBlbCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG59XG4iXX0=
|
@@ -0,0 +1,37 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
import { getStyleComputedProperty } from './getStyleComputedProperty';
|
6
|
+
import { isIE } from './isIE';
|
7
|
+
/**
|
8
|
+
* @param {?} element
|
9
|
+
* @return {?}
|
10
|
+
*/
|
11
|
+
export function getOffsetParent(element) {
|
12
|
+
if (!element) {
|
13
|
+
return document.documentElement;
|
14
|
+
}
|
15
|
+
var /** @type {?} */ noOffsetParent = isIE(10) ? document.body : null;
|
16
|
+
// NOTE: 1 DOM access here
|
17
|
+
var /** @type {?} */ offsetParent = element.offsetParent || null;
|
18
|
+
// Skip hidden elements which don't have an offsetParent
|
19
|
+
var /** @type {?} */ sibling;
|
20
|
+
while (offsetParent === noOffsetParent && element.nextElementSibling) {
|
21
|
+
sibling = element.nextElementSibling;
|
22
|
+
offsetParent = sibling.offsetParent;
|
23
|
+
}
|
24
|
+
var /** @type {?} */ nodeName = offsetParent && offsetParent.nodeName;
|
25
|
+
if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
|
26
|
+
return sibling ? sibling.ownerDocument.documentElement : document.documentElement;
|
27
|
+
}
|
28
|
+
// .offsetParent will return the closest TH, TD or TABLE in case
|
29
|
+
// no offsetParent is present, I hate this job...
|
30
|
+
if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&
|
31
|
+
getStyleComputedProperty(offsetParent, 'position') === 'static') {
|
32
|
+
return getOffsetParent(offsetParent);
|
33
|
+
}
|
34
|
+
return offsetParent;
|
35
|
+
}
|
36
|
+
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0T2Zmc2V0UGFyZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWJvb3RzdHJhcC9wb3NpdGlvbmluZy8iLCJzb3VyY2VzIjpbInV0aWxzL2dldE9mZnNldFBhcmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7QUFFOUIsTUFBTSwwQkFBMEIsT0FBWTtJQUMxQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDYixNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztLQUNqQztJQUVELHFCQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzs7SUFHdkQscUJBQUksWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDOztJQUdoRCxxQkFBSSxPQUFZLENBQUM7SUFFakIsT0FBTyxZQUFZLEtBQUssY0FBYyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JFLE9BQU8sR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDckMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7S0FDckM7SUFFRCxxQkFBTSxRQUFRLEdBQUcsWUFBWSxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFFdkQsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxLQUFLLE1BQU0sSUFBSSxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM1RCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztLQUNuRjs7O0lBSUQsRUFBRSxDQUFDLENBQ0QsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELHdCQUF3QixDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsS0FBSyxRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUNELE1BQU0sQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDdEM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDO0NBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXR1cm5zIHRoZSBvZmZzZXQgcGFyZW50IG9mIHRoZSBnaXZlbiBlbGVtZW50XG4gKi9cbmltcG9ydCB7IGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eSB9IGZyb20gJy4vZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5JztcbmltcG9ydCB7IGlzSUUgfSBmcm9tICcuL2lzSUUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T2Zmc2V0UGFyZW50KGVsZW1lbnQ6IGFueSk6IGFueSB7XG4gIGlmICghZWxlbWVudCkge1xuICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdCBub09mZnNldFBhcmVudCA9IGlzSUUoMTApID8gZG9jdW1lbnQuYm9keSA6IG51bGw7XG5cbiAgLy8gTk9URTogMSBET00gYWNjZXNzIGhlcmVcbiAgbGV0IG9mZnNldFBhcmVudCA9IGVsZW1lbnQub2Zmc2V0UGFyZW50IHx8IG51bGw7XG4gIC8vIFNraXAgaGlkZGVuIGVsZW1lbnRzIHdoaWNoIGRvbid0IGhhdmUgYW4gb2Zmc2V0UGFyZW50XG5cbiAgbGV0IHNpYmxpbmc6IGFueTtcblxuICB3aGlsZSAob2Zmc2V0UGFyZW50ID09PSBub09mZnNldFBhcmVudCAmJiBlbGVtZW50Lm5leHRFbGVtZW50U2libGluZykge1xuICAgIHNpYmxpbmcgPSBlbGVtZW50Lm5leHRFbGVtZW50U2libGluZztcbiAgICBvZmZzZXRQYXJlbnQgPSBzaWJsaW5nLm9mZnNldFBhcmVudDtcbiAgfVxuXG4gIGNvbnN0IG5vZGVOYW1lID0gb2Zmc2V0UGFyZW50ICYmIG9mZnNldFBhcmVudC5ub2RlTmFtZTtcblxuICBpZiAoIW5vZGVOYW1lIHx8IG5vZGVOYW1lID09PSAnQk9EWScgfHwgbm9kZU5hbWUgPT09ICdIVE1MJykge1xuICAgIHJldHVybiBzaWJsaW5nID8gc2libGluZy5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgfVxuXG4gIC8vIC5vZmZzZXRQYXJlbnQgd2lsbCByZXR1cm4gdGhlIGNsb3Nlc3QgVEgsIFREIG9yIFRBQkxFIGluIGNhc2VcbiAgLy8gbm8gb2Zmc2V0UGFyZW50IGlzIHByZXNlbnQsIEkgaGF0ZSB0aGlzIGpvYi4uLlxuICBpZiAoXG4gICAgWydUSCcsICdURCcsICdUQUJMRSddLmluZGV4T2Yob2Zmc2V0UGFyZW50Lm5vZGVOYW1lKSAhPT0gLTEgJiZcbiAgICBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkob2Zmc2V0UGFyZW50LCAncG9zaXRpb24nKSA9PT0gJ3N0YXRpYydcbiAgKSB7XG4gICAgcmV0dXJuIGdldE9mZnNldFBhcmVudChvZmZzZXRQYXJlbnQpO1xuICB9XG5cbiAgcmV0dXJuIG9mZnNldFBhcmVudDtcbn1cbiJdfQ==
|
@@ -0,0 +1,63 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
import { getBoundingClientRect } from './getBoundingClientRect';
|
6
|
+
import { getClientRect } from './getClientRect';
|
7
|
+
import { getScrollParent } from './getScrollParent';
|
8
|
+
import { getStyleComputedProperty } from './getStyleComputedProperty';
|
9
|
+
import { includeScroll } from './includeScroll';
|
10
|
+
import { isIE as runIsIE } from './isIE';
|
11
|
+
/**
|
12
|
+
* @param {?} children
|
13
|
+
* @param {?} parent
|
14
|
+
* @param {?=} fixedPosition
|
15
|
+
* @return {?}
|
16
|
+
*/
|
17
|
+
export function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition) {
|
18
|
+
if (fixedPosition === void 0) { fixedPosition = false; }
|
19
|
+
var /** @type {?} */ isIE10 = runIsIE(10);
|
20
|
+
var /** @type {?} */ isHTML = parent.nodeName === 'HTML';
|
21
|
+
var /** @type {?} */ childrenRect = getBoundingClientRect(children);
|
22
|
+
var /** @type {?} */ parentRect = getBoundingClientRect(parent);
|
23
|
+
var /** @type {?} */ scrollParent = getScrollParent(children);
|
24
|
+
var /** @type {?} */ styles = getStyleComputedProperty(parent);
|
25
|
+
var /** @type {?} */ borderTopWidth = parseFloat(styles.borderTopWidth);
|
26
|
+
var /** @type {?} */ borderLeftWidth = parseFloat(styles.borderLeftWidth);
|
27
|
+
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
|
28
|
+
if (fixedPosition && isHTML) {
|
29
|
+
parentRect.top = Math.max(parentRect.top, 0);
|
30
|
+
parentRect.left = Math.max(parentRect.left, 0);
|
31
|
+
}
|
32
|
+
var /** @type {?} */ offsets = getClientRect({
|
33
|
+
top: childrenRect.top - parentRect.top - borderTopWidth,
|
34
|
+
left: childrenRect.left - parentRect.left - borderLeftWidth,
|
35
|
+
width: childrenRect.width,
|
36
|
+
height: childrenRect.height
|
37
|
+
});
|
38
|
+
offsets.marginTop = 0;
|
39
|
+
offsets.marginLeft = 0;
|
40
|
+
// Subtract margins of documentElement in case it's being used as parent
|
41
|
+
// we do this only on HTML because it's the only element that behaves
|
42
|
+
// differently when margins are applied to it. The margins are included in
|
43
|
+
// the box of the documentElement, in the other cases not.
|
44
|
+
if (!isIE10 && isHTML) {
|
45
|
+
var /** @type {?} */ marginTop = parseFloat(styles.marginTop);
|
46
|
+
var /** @type {?} */ marginLeft = parseFloat(styles.marginLeft);
|
47
|
+
offsets.top -= borderTopWidth - marginTop;
|
48
|
+
offsets.bottom -= borderTopWidth - marginTop;
|
49
|
+
offsets.left -= borderLeftWidth - marginLeft;
|
50
|
+
offsets.right -= borderLeftWidth - marginLeft;
|
51
|
+
// Attach marginTop and marginLeft because in some circumstances we may need them
|
52
|
+
offsets.marginTop = marginTop;
|
53
|
+
offsets.marginLeft = marginLeft;
|
54
|
+
}
|
55
|
+
if (isIE10 && !fixedPosition
|
56
|
+
? parent.contains(scrollParent)
|
57
|
+
: parent === scrollParent && scrollParent.nodeName !== 'BODY') {
|
58
|
+
offsets = includeScroll(offsets, parent);
|
59
|
+
}
|
60
|
+
return offsets;
|
61
|
+
}
|
62
|
+
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcmJpdHJhcnlOb2RlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWJvb3RzdHJhcC9wb3NpdGlvbmluZy8iLCJzb3VyY2VzIjpbInV0aWxzL2dldE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJiaXRyYXJ5Tm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLElBQUksSUFBSSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7QUFHekMsTUFBTSwrQ0FDSixRQUFxQixFQUNyQixNQUFtQixFQUNuQixhQUFxQjtJQUFyQiw4QkFBQSxFQUFBLHFCQUFxQjtJQUVyQixxQkFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLHFCQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQztJQUMxQyxxQkFBTSxZQUFZLEdBQVEscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUQscUJBQU0sVUFBVSxHQUFRLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELHFCQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFL0MscUJBQU0sTUFBTSxHQUFHLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELHFCQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pELHFCQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDOztJQUczRCxFQUFFLENBQUMsQ0FBQyxhQUFhLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM1QixVQUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNoRDtJQUVELHFCQUFJLE9BQU8sR0FBWSxhQUFhLENBQUM7UUFDbkMsR0FBRyxFQUFFLFlBQVksQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsR0FBRyxjQUFjO1FBQ3ZELElBQUksRUFBRSxZQUFZLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEdBQUcsZUFBZTtRQUMzRCxLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUs7UUFDekIsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNO0tBQzVCLENBQUMsQ0FBQztJQUVILE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDOzs7OztJQU12QixFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLHFCQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLHFCQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpELE9BQU8sQ0FBQyxHQUFHLElBQUksY0FBYyxHQUFHLFNBQVMsQ0FBQztRQUMxQyxPQUFPLENBQUMsTUFBTSxJQUFJLGNBQWMsR0FBRyxTQUFTLENBQUM7UUFDN0MsT0FBTyxDQUFDLElBQUksSUFBSSxlQUFlLEdBQUcsVUFBVSxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxLQUFLLElBQUksZUFBZSxHQUFHLFVBQVUsQ0FBQzs7UUFHOUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDOUIsT0FBTyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7S0FDakM7SUFFRCxFQUFFLENBQUMsQ0FDRCxNQUFNLElBQUksQ0FBQyxhQUFhO1FBQ3RCLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUMvQixDQUFDLENBQUMsTUFBTSxLQUFLLFlBQVksSUFBSSxZQUFZLENBQUMsUUFBUSxLQUFLLE1BQzNELENBQUMsQ0FBQyxDQUFDO1FBQ0QsT0FBTyxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDMUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDO0NBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IH0gZnJvbSAnLi9nZXRCb3VuZGluZ0NsaWVudFJlY3QnO1xuaW1wb3J0IHsgZ2V0Q2xpZW50UmVjdCB9IGZyb20gJy4vZ2V0Q2xpZW50UmVjdCc7XG5pbXBvcnQgeyBnZXRTY3JvbGxQYXJlbnQgfSBmcm9tICcuL2dldFNjcm9sbFBhcmVudCc7XG5pbXBvcnQgeyBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkgfSBmcm9tICcuL2dldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eSc7XG5pbXBvcnQgeyBpbmNsdWRlU2Nyb2xsIH0gZnJvbSAnLi9pbmNsdWRlU2Nyb2xsJztcbmltcG9ydCB7IGlzSUUgYXMgcnVuSXNJRSB9IGZyb20gJy4vaXNJRSc7XG5pbXBvcnQgeyBPZmZzZXRzIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJiaXRyYXJ5Tm9kZShcbiAgY2hpbGRyZW46IEhUTUxFbGVtZW50LFxuICBwYXJlbnQ6IEhUTUxFbGVtZW50LFxuICBmaXhlZFBvc2l0aW9uID0gZmFsc2Vcbik6IE9mZnNldHMge1xuICBjb25zdCBpc0lFMTAgPSBydW5Jc0lFKDEwKTtcbiAgY29uc3QgaXNIVE1MID0gcGFyZW50Lm5vZGVOYW1lID09PSAnSFRNTCc7XG4gIGNvbnN0IGNoaWxkcmVuUmVjdDogYW55ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGNoaWxkcmVuKTtcbiAgY29uc3QgcGFyZW50UmVjdDogYW55ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KHBhcmVudCk7XG4gIGNvbnN0IHNjcm9sbFBhcmVudCA9IGdldFNjcm9sbFBhcmVudChjaGlsZHJlbik7XG5cbiAgY29uc3Qgc3R5bGVzID0gZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5KHBhcmVudCk7XG4gIGNvbnN0IGJvcmRlclRvcFdpZHRoID0gcGFyc2VGbG9hdChzdHlsZXMuYm9yZGVyVG9wV2lkdGgpO1xuICBjb25zdCBib3JkZXJMZWZ0V2lkdGggPSBwYXJzZUZsb2F0KHN0eWxlcy5ib3JkZXJMZWZ0V2lkdGgpO1xuXG4gIC8vIEluIGNhc2VzIHdoZXJlIHRoZSBwYXJlbnQgaXMgZml4ZWQsIHdlIG11c3QgaWdub3JlIG5lZ2F0aXZlIHNjcm9sbCBpbiBvZmZzZXQgY2FsY1xuICBpZiAoZml4ZWRQb3NpdGlvbiAmJiBpc0hUTUwpIHtcbiAgICBwYXJlbnRSZWN0LnRvcCA9IE1hdGgubWF4KHBhcmVudFJlY3QudG9wLCAwKTtcbiAgICBwYXJlbnRSZWN0LmxlZnQgPSBNYXRoLm1heChwYXJlbnRSZWN0LmxlZnQsIDApO1xuICB9XG5cbiAgbGV0IG9mZnNldHM6IE9mZnNldHMgPSBnZXRDbGllbnRSZWN0KHtcbiAgICB0b3A6IGNoaWxkcmVuUmVjdC50b3AgLSBwYXJlbnRSZWN0LnRvcCAtIGJvcmRlclRvcFdpZHRoLFxuICAgIGxlZnQ6IGNoaWxkcmVuUmVjdC5sZWZ0IC0gcGFyZW50UmVjdC5sZWZ0IC0gYm9yZGVyTGVmdFdpZHRoLFxuICAgIHdpZHRoOiBjaGlsZHJlblJlY3Qud2lkdGgsXG4gICAgaGVpZ2h0OiBjaGlsZHJlblJlY3QuaGVpZ2h0XG4gIH0pO1xuXG4gIG9mZnNldHMubWFyZ2luVG9wID0gMDtcbiAgb2Zmc2V0cy5tYXJnaW5MZWZ0ID0gMDtcblxuICAvLyBTdWJ0cmFjdCBtYXJnaW5zIG9mIGRvY3VtZW50RWxlbWVudCBpbiBjYXNlIGl0J3MgYmVpbmcgdXNlZCBhcyBwYXJlbnRcbiAgLy8gd2UgZG8gdGhpcyBvbmx5IG9uIEhUTUwgYmVjYXVzZSBpdCdzIHRoZSBvbmx5IGVsZW1lbnQgdGhhdCBiZWhhdmVzXG4gIC8vIGRpZmZlcmVudGx5IHdoZW4gbWFyZ2lucyBhcmUgYXBwbGllZCB0byBpdC4gVGhlIG1hcmdpbnMgYXJlIGluY2x1ZGVkIGluXG4gIC8vIHRoZSBib3ggb2YgdGhlIGRvY3VtZW50RWxlbWVudCwgaW4gdGhlIG90aGVyIGNhc2VzIG5vdC5cbiAgaWYgKCFpc0lFMTAgJiYgaXNIVE1MKSB7XG4gICAgY29uc3QgbWFyZ2luVG9wID0gcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luVG9wKTtcbiAgICBjb25zdCBtYXJnaW5MZWZ0ID0gcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luTGVmdCk7XG5cbiAgICBvZmZzZXRzLnRvcCAtPSBib3JkZXJUb3BXaWR0aCAtIG1hcmdpblRvcDtcbiAgICBvZmZzZXRzLmJvdHRvbSAtPSBib3JkZXJUb3BXaWR0aCAtIG1hcmdpblRvcDtcbiAgICBvZmZzZXRzLmxlZnQgLT0gYm9yZGVyTGVmdFdpZHRoIC0gbWFyZ2luTGVmdDtcbiAgICBvZmZzZXRzLnJpZ2h0IC09IGJvcmRlckxlZnRXaWR0aCAtIG1hcmdpbkxlZnQ7XG5cbiAgICAvLyBBdHRhY2ggbWFyZ2luVG9wIGFuZCBtYXJnaW5MZWZ0IGJlY2F1c2UgaW4gc29tZSBjaXJjdW1zdGFuY2VzIHdlIG1heSBuZWVkIHRoZW1cbiAgICBvZmZzZXRzLm1hcmdpblRvcCA9IG1hcmdpblRvcDtcbiAgICBvZmZzZXRzLm1hcmdpbkxlZnQgPSBtYXJnaW5MZWZ0O1xuICB9XG5cbiAgaWYgKFxuICAgIGlzSUUxMCAmJiAhZml4ZWRQb3NpdGlvblxuICAgICAgPyBwYXJlbnQuY29udGFpbnMoc2Nyb2xsUGFyZW50KVxuICAgICAgOiBwYXJlbnQgPT09IHNjcm9sbFBhcmVudCAmJiBzY3JvbGxQYXJlbnQubm9kZU5hbWUgIT09ICdCT0RZJ1xuICApIHtcbiAgICBvZmZzZXRzID0gaW5jbHVkZVNjcm9sbChvZmZzZXRzLCBwYXJlbnQpO1xuICB9XG5cbiAgcmV0dXJuIG9mZnNldHM7XG59XG4iXX0=
|
@@ -0,0 +1,20 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
/**
|
6
|
+
* @param {?} data
|
7
|
+
* @return {?}
|
8
|
+
*/
|
9
|
+
export function getOffsets(data) {
|
10
|
+
return {
|
11
|
+
width: data.offsets.target.width,
|
12
|
+
height: data.offsets.target.height,
|
13
|
+
left: Math.floor(data.offsets.target.left),
|
14
|
+
top: Math.round(data.offsets.target.top),
|
15
|
+
bottom: Math.round(data.offsets.target.bottom),
|
16
|
+
right: Math.floor(data.offsets.target.right)
|
17
|
+
};
|
18
|
+
}
|
19
|
+
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0T2Zmc2V0cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvcG9zaXRpb25pbmcvIiwic291cmNlcyI6WyJ1dGlscy9nZXRPZmZzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUEsTUFBTSxxQkFBcUIsSUFBVTtJQUNuQyxNQUFNLENBQUM7UUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSztRQUNoQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTTtRQUNsQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDMUMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3hDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM5QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDN0MsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YSwgT2Zmc2V0cyB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPZmZzZXRzKGRhdGE6IERhdGEpOiBPZmZzZXRzIHtcbiAgcmV0dXJuIHtcbiAgICB3aWR0aDogZGF0YS5vZmZzZXRzLnRhcmdldC53aWR0aCxcbiAgICBoZWlnaHQ6IGRhdGEub2Zmc2V0cy50YXJnZXQuaGVpZ2h0LFxuICAgIGxlZnQ6IE1hdGguZmxvb3IoZGF0YS5vZmZzZXRzLnRhcmdldC5sZWZ0KSxcbiAgICB0b3A6IE1hdGgucm91bmQoZGF0YS5vZmZzZXRzLnRhcmdldC50b3ApLFxuICAgIGJvdHRvbTogTWF0aC5yb3VuZChkYXRhLm9mZnNldHMudGFyZ2V0LmJvdHRvbSksXG4gICAgcmlnaHQ6IE1hdGguZmxvb3IoZGF0YS5vZmZzZXRzLnRhcmdldC5yaWdodClcbiAgfTtcbn1cbiJdfQ==
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
/**
|
6
|
+
* Get the opposite placement of the given one
|
7
|
+
* @param {?} placement
|
8
|
+
* @return {?}
|
9
|
+
*/
|
10
|
+
export function getOppositePlacement(placement) {
|
11
|
+
var /** @type {?} */ hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };
|
12
|
+
return placement.replace(/left|right|bottom|top/g, function (matched) { return hash[matched]; });
|
13
|
+
}
|
14
|
+
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0T3Bwb3NpdGVQbGFjZW1lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYm9vdHN0cmFwL3Bvc2l0aW9uaW5nLyIsInNvdXJjZXMiOlsidXRpbHMvZ2V0T3Bwb3NpdGVQbGFjZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsTUFBTSwrQkFBK0IsU0FBaUI7SUFDcEQscUJBQU0sSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBRTVFLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLFVBQUEsT0FBTyxJQUFJLE9BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFiLENBQWEsQ0FBQyxDQUFDO0NBQzlFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZXQgdGhlIG9wcG9zaXRlIHBsYWNlbWVudCBvZiB0aGUgZ2l2ZW4gb25lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQ6IHN0cmluZykge1xuICBjb25zdCBoYXNoID0geyBsZWZ0OiAncmlnaHQnLCByaWdodDogJ2xlZnQnLCBib3R0b206ICd0b3AnLCB0b3A6ICdib3R0b20nIH07XG5cbiAgcmV0dXJuIHBsYWNlbWVudC5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZywgbWF0Y2hlZCA9PiBoYXNoW21hdGNoZWRdKTtcbn1cbiJdfQ==
|
@@ -0,0 +1,20 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
/**
|
6
|
+
* Get the opposite placement variation of the given one
|
7
|
+
* @param {?} variation
|
8
|
+
* @return {?}
|
9
|
+
*/
|
10
|
+
export function getOppositeVariation(variation) {
|
11
|
+
if (variation === 'right') {
|
12
|
+
return 'left';
|
13
|
+
}
|
14
|
+
else if (variation === 'left') {
|
15
|
+
return 'right';
|
16
|
+
}
|
17
|
+
return variation;
|
18
|
+
}
|
19
|
+
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0T3Bwb3NpdGVWYXJpYXRpb24uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYm9vdHN0cmFwL3Bvc2l0aW9uaW5nLyIsInNvdXJjZXMiOlsidXRpbHMvZ2V0T3Bwb3NpdGVWYXJpYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsTUFBTSwrQkFBK0IsU0FBaUI7SUFDcEQsRUFBRSxDQUFDLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLE1BQU0sQ0FBQztLQUNmO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUM7S0FDaEI7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDO0NBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZXQgdGhlIG9wcG9zaXRlIHBsYWNlbWVudCB2YXJpYXRpb24gb2YgdGhlIGdpdmVuIG9uZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3Bwb3NpdGVWYXJpYXRpb24odmFyaWF0aW9uOiBzdHJpbmcpIHtcbiAgaWYgKHZhcmlhdGlvbiA9PT0gJ3JpZ2h0Jykge1xuICAgIHJldHVybiAnbGVmdCc7XG4gIH0gZWxzZSBpZiAodmFyaWF0aW9uID09PSAnbGVmdCcpIHtcbiAgICByZXR1cm4gJ3JpZ2h0JztcbiAgfVxuXG4gIHJldHVybiB2YXJpYXRpb247XG59XG4iXX0=
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
/**
|
6
|
+
* Get the outer sizes of the given element (offset size + margins)
|
7
|
+
* @param {?} element
|
8
|
+
* @return {?}
|
9
|
+
*/
|
10
|
+
export function getOuterSizes(element) {
|
11
|
+
var /** @type {?} */ window = element.ownerDocument.defaultView;
|
12
|
+
var /** @type {?} */ styles = window.getComputedStyle(element);
|
13
|
+
var /** @type {?} */ x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);
|
14
|
+
var /** @type {?} */ y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);
|
15
|
+
return {
|
16
|
+
width: Number(element.offsetWidth) + y,
|
17
|
+
height: Number(element.offsetHeight) + x
|
18
|
+
};
|
19
|
+
}
|
20
|
+
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0T3V0ZXJTaXplcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvcG9zaXRpb25pbmcvIiwic291cmNlcyI6WyJ1dGlscy9nZXRPdXRlclNpemVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLE1BQU0sd0JBQXdCLE9BQVk7SUFDeEMscUJBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ2pELHFCQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQscUJBQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25GLHFCQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVuRixNQUFNLENBQUM7UUFDTCxLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO1FBQ3RDLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUM7S0FDekMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZXQgdGhlIG91dGVyIHNpemVzIG9mIHRoZSBnaXZlbiBlbGVtZW50IChvZmZzZXQgc2l6ZSArIG1hcmdpbnMpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPdXRlclNpemVzKGVsZW1lbnQ6IGFueSkge1xuICBjb25zdCB3aW5kb3cgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7XG4gIGNvbnN0IHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICBjb25zdCB4ID0gcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luVG9wIHx8IDApICsgcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luQm90dG9tIHx8IDApO1xuICBjb25zdCB5ID0gcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luTGVmdCB8fCAwKSArIHBhcnNlRmxvYXQoc3R5bGVzLm1hcmdpblJpZ2h0IHx8IDApO1xuXG4gIHJldHVybiB7XG4gICAgd2lkdGg6IE51bWJlcihlbGVtZW50Lm9mZnNldFdpZHRoKSArIHksXG4gICAgaGVpZ2h0OiBOdW1iZXIoZWxlbWVudC5vZmZzZXRIZWlnaHQpICsgeFxuICB9O1xufVxuIl19
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
/**
|
6
|
+
* Returns the parentNode or the host of the element
|
7
|
+
* @param {?} element
|
8
|
+
* @return {?}
|
9
|
+
*/
|
10
|
+
export function getParentNode(element) {
|
11
|
+
if (element.nodeName === 'HTML') {
|
12
|
+
return element;
|
13
|
+
}
|
14
|
+
return element.parentNode || element.host;
|
15
|
+
}
|
16
|
+
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UGFyZW50Tm9kZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvcG9zaXRpb25pbmcvIiwic291cmNlcyI6WyJ1dGlscy9nZXRQYXJlbnROb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLE1BQU0sd0JBQXdCLE9BQVk7SUFDeEMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUM7S0FDaEI7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDO0NBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXR1cm5zIHRoZSBwYXJlbnROb2RlIG9yIHRoZSBob3N0IG9mIHRoZSBlbGVtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXJlbnROb2RlKGVsZW1lbnQ6IGFueSk6IGFueSB7XG4gIGlmIChlbGVtZW50Lm5vZGVOYW1lID09PSAnSFRNTCcpIHtcbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50LnBhcmVudE5vZGUgfHwgZWxlbWVudC5ob3N0O1xufVxuIl19
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
import { findCommonOffsetParent } from './findCommonOffsetParent';
|
6
|
+
import { getOffsetRectRelativeToArbitraryNode } from './getOffsetRectRelativeToArbitraryNode';
|
7
|
+
import { getFixedPositionOffsetParent } from './getFixedPositionOffsetParent';
|
8
|
+
/**
|
9
|
+
* @param {?} target
|
10
|
+
* @param {?} host
|
11
|
+
* @param {?=} fixedPosition
|
12
|
+
* @return {?}
|
13
|
+
*/
|
14
|
+
export function getReferenceOffsets(target, host, fixedPosition) {
|
15
|
+
if (fixedPosition === void 0) { fixedPosition = null; }
|
16
|
+
var /** @type {?} */ commonOffsetParent = fixedPosition
|
17
|
+
? getFixedPositionOffsetParent(target)
|
18
|
+
: findCommonOffsetParent(target, host);
|
19
|
+
return getOffsetRectRelativeToArbitraryNode(host, commonOffsetParent, fixedPosition);
|
20
|
+
}
|
21
|
+
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UmVmZXJlbmNlT2Zmc2V0cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvcG9zaXRpb25pbmcvIiwic291cmNlcyI6WyJ1dGlscy9nZXRSZWZlcmVuY2VPZmZzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7OztBQUc5RSxNQUFNLDhCQUNKLE1BQW1CLEVBQ25CLElBQWlCLEVBQ2pCLGFBQTZCO0lBQTdCLDhCQUFBLEVBQUEsb0JBQTZCO0lBRTdCLHFCQUFNLGtCQUFrQixHQUFHLGFBQWE7UUFDdEMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQztRQUN0QyxDQUFDLENBQUMsc0JBQXNCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRXpDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLENBQUM7Q0FDdEYiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdldCBvZmZzZXRzIHRvIHRoZSByZWZlcmVuY2UgZWxlbWVudFxuICovXG5pbXBvcnQgeyBmaW5kQ29tbW9uT2Zmc2V0UGFyZW50IH0gZnJvbSAnLi9maW5kQ29tbW9uT2Zmc2V0UGFyZW50JztcbmltcG9ydCB7IGdldE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJiaXRyYXJ5Tm9kZSB9IGZyb20gJy4vZ2V0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcmJpdHJhcnlOb2RlJztcbmltcG9ydCB7IGdldEZpeGVkUG9zaXRpb25PZmZzZXRQYXJlbnQgfSBmcm9tICcuL2dldEZpeGVkUG9zaXRpb25PZmZzZXRQYXJlbnQnO1xuaW1wb3J0IHsgT2Zmc2V0cyB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWZlcmVuY2VPZmZzZXRzKFxuICB0YXJnZXQ6IEhUTUxFbGVtZW50LFxuICBob3N0OiBIVE1MRWxlbWVudCxcbiAgZml4ZWRQb3NpdGlvbjogYm9vbGVhbiA9IG51bGxcbik6IE9mZnNldHMge1xuICBjb25zdCBjb21tb25PZmZzZXRQYXJlbnQgPSBmaXhlZFBvc2l0aW9uXG4gICAgPyBnZXRGaXhlZFBvc2l0aW9uT2Zmc2V0UGFyZW50KHRhcmdldClcbiAgICA6IGZpbmRDb21tb25PZmZzZXRQYXJlbnQodGFyZ2V0LCBob3N0KTtcblxuICByZXR1cm4gZ2V0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcmJpdHJhcnlOb2RlKGhvc3QsIGNvbW1vbk9mZnNldFBhcmVudCwgZml4ZWRQb3NpdGlvbik7XG59XG4iXX0=
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
/**
|
6
|
+
* Finds the root node (document, shadowDOM root) of the given element
|
7
|
+
* @param {?} node
|
8
|
+
* @return {?}
|
9
|
+
*/
|
10
|
+
export function getRoot(node) {
|
11
|
+
if (node.parentNode !== null) {
|
12
|
+
return getRoot(node.parentNode);
|
13
|
+
}
|
14
|
+
return node;
|
15
|
+
}
|
16
|
+
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Um9vdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvcG9zaXRpb25pbmcvIiwic291cmNlcyI6WyJ1dGlscy9nZXRSb290LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLE1BQU0sa0JBQWtCLElBQVU7SUFDaEMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ2pDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQztDQUNiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGaW5kcyB0aGUgcm9vdCBub2RlIChkb2N1bWVudCwgc2hhZG93RE9NIHJvb3QpIG9mIHRoZSBnaXZlbiBlbGVtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290KG5vZGU6IE5vZGUpOiBhbnkge1xuICBpZiAobm9kZS5wYXJlbnROb2RlICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGdldFJvb3Qobm9kZS5wYXJlbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBub2RlO1xufVxuIl19
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
/**
|
6
|
+
* Gets the scroll value of the given element in the given side (top and left)
|
7
|
+
* @param {?} element
|
8
|
+
* @param {?=} side
|
9
|
+
* @return {?}
|
10
|
+
*/
|
11
|
+
export function getScroll(element, side) {
|
12
|
+
if (side === void 0) { side = 'top'; }
|
13
|
+
var /** @type {?} */ upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';
|
14
|
+
var /** @type {?} */ nodeName = element.nodeName;
|
15
|
+
if (nodeName === 'BODY' || nodeName === 'HTML') {
|
16
|
+
var /** @type {?} */ html = element.ownerDocument.documentElement;
|
17
|
+
var /** @type {?} */ scrollingElement = element.ownerDocument.scrollingElement || html;
|
18
|
+
return scrollingElement[upperSide];
|
19
|
+
}
|
20
|
+
return element[upperSide];
|
21
|
+
}
|
22
|
+
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2Nyb2xsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWJvb3RzdHJhcC9wb3NpdGlvbmluZy8iLCJzb3VyY2VzIjpbInV0aWxzL2dldFNjcm9sbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBR0EsTUFBTSxvQkFBb0IsT0FBb0IsRUFBRSxJQUFZO0lBQVoscUJBQUEsRUFBQSxZQUFZO0lBQzFELHFCQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUM5RCxxQkFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUVsQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEtBQUssTUFBTSxJQUFJLFFBQVEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9DLHFCQUFNLElBQUksR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQztRQUNuRCxxQkFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQztRQUV4RSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDcEM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0NBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZXRzIHRoZSBzY3JvbGwgdmFsdWUgb2YgdGhlIGdpdmVuIGVsZW1lbnQgaW4gdGhlIGdpdmVuIHNpZGUgKHRvcCBhbmQgbGVmdClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcm9sbChlbGVtZW50OiBIVE1MRWxlbWVudCwgc2lkZSA9ICd0b3AnKSB7XG4gIGNvbnN0IHVwcGVyU2lkZSA9IHNpZGUgPT09ICd0b3AnID8gJ3Njcm9sbFRvcCcgOiAnc2Nyb2xsTGVmdCc7XG4gIGNvbnN0IG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZTtcblxuICBpZiAobm9kZU5hbWUgPT09ICdCT0RZJyB8fCBub2RlTmFtZSA9PT0gJ0hUTUwnKSB7XG4gICAgY29uc3QgaHRtbCA9IGVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgY29uc3Qgc2Nyb2xsaW5nRWxlbWVudCA9IGVsZW1lbnQub3duZXJEb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50IHx8IGh0bWw7XG5cbiAgICByZXR1cm4gc2Nyb2xsaW5nRWxlbWVudFt1cHBlclNpZGVdO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnRbdXBwZXJTaWRlXTtcbn1cbiJdfQ==
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
import { getStyleComputedProperty } from './getStyleComputedProperty';
|
6
|
+
import { getParentNode } from './getParentNode';
|
7
|
+
/**
|
8
|
+
* @param {?} element
|
9
|
+
* @return {?}
|
10
|
+
*/
|
11
|
+
export function getScrollParent(element) {
|
12
|
+
// Return body, `getScroll` will take care to get the correct `scrollTop` from it
|
13
|
+
if (!element) {
|
14
|
+
return document.body;
|
15
|
+
}
|
16
|
+
switch (element.nodeName) {
|
17
|
+
case 'HTML':
|
18
|
+
case 'BODY':
|
19
|
+
return element.ownerDocument.body;
|
20
|
+
case '#document':
|
21
|
+
return element.body;
|
22
|
+
default:
|
23
|
+
}
|
24
|
+
// Firefox want us to check `-x` and `-y` variations as well
|
25
|
+
var _a = getStyleComputedProperty(element), overflow = _a.overflow, overflowX = _a.overflowX, overflowY = _a.overflowY;
|
26
|
+
if (/(auto|scroll|overlay)/.test(String(overflow) + String(overflowY) + String(overflowX))) {
|
27
|
+
return element;
|
28
|
+
}
|
29
|
+
return getScrollParent(getParentNode(element));
|
30
|
+
}
|
31
|
+
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2Nyb2xsUGFyZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWJvb3RzdHJhcC9wb3NpdGlvbmluZy8iLCJzb3VyY2VzIjpbInV0aWxzL2dldFNjcm9sbFBhcmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUVoRCxNQUFNLDBCQUEwQixPQUFZOztJQUUxQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDYixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztLQUN0QjtJQUVELE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxNQUFNO1lBQ1QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQ3BDLEtBQUssV0FBVztZQUNkLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3RCLFFBQVE7S0FDVDs7SUFHRCw0Q0FBUSxzQkFBUSxFQUFFLHdCQUFTLEVBQUUsd0JBQVMsQ0FBdUM7SUFDN0UsRUFBRSxDQUFDLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNGLE1BQU0sQ0FBQyxPQUFPLENBQUM7S0FDaEI7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0NBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXR1cm5zIHRoZSBzY3JvbGxpbmcgcGFyZW50IG9mIHRoZSBnaXZlbiBlbGVtZW50XG4gKi9cbmltcG9ydCB7IGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eSB9IGZyb20gJy4vZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5JztcbmltcG9ydCB7IGdldFBhcmVudE5vZGUgfSBmcm9tICcuL2dldFBhcmVudE5vZGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2Nyb2xsUGFyZW50KGVsZW1lbnQ6IGFueSk6IGFueSB7XG4gIC8vIFJldHVybiBib2R5LCBgZ2V0U2Nyb2xsYCB3aWxsIHRha2UgY2FyZSB0byBnZXQgdGhlIGNvcnJlY3QgYHNjcm9sbFRvcGAgZnJvbSBpdFxuICBpZiAoIWVsZW1lbnQpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuYm9keTtcbiAgfVxuXG4gIHN3aXRjaCAoZWxlbWVudC5ub2RlTmFtZSkge1xuICAgIGNhc2UgJ0hUTUwnOlxuICAgIGNhc2UgJ0JPRFknOlxuICAgICAgcmV0dXJuIGVsZW1lbnQub3duZXJEb2N1bWVudC5ib2R5O1xuICAgIGNhc2UgJyNkb2N1bWVudCc6XG4gICAgICByZXR1cm4gZWxlbWVudC5ib2R5O1xuICAgIGRlZmF1bHQ6XG4gIH1cblxuICAvLyBGaXJlZm94IHdhbnQgdXMgdG8gY2hlY2sgYC14YCBhbmQgYC15YCB2YXJpYXRpb25zIGFzIHdlbGxcbiAgY29uc3QgeyBvdmVyZmxvdywgb3ZlcmZsb3dYLCBvdmVyZmxvd1kgfSA9IGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShlbGVtZW50KTtcbiAgaWYgKC8oYXV0b3xzY3JvbGx8b3ZlcmxheSkvLnRlc3QoU3RyaW5nKG92ZXJmbG93KSArIFN0cmluZyhvdmVyZmxvd1kpICsgU3RyaW5nKG92ZXJmbG93WCkpKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cblxuICByZXR1cm4gZ2V0U2Nyb2xsUGFyZW50KGdldFBhcmVudE5vZGUoZWxlbWVudCkpO1xufVxuIl19
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
/**
|
6
|
+
* Get CSS computed property of the given element
|
7
|
+
* @param {?} element
|
8
|
+
* @param {?=} property
|
9
|
+
* @return {?}
|
10
|
+
*/
|
11
|
+
export function getStyleComputedProperty(element, property) {
|
12
|
+
if (element.nodeType !== 1) {
|
13
|
+
return [];
|
14
|
+
}
|
15
|
+
// NOTE: 1 DOM access here
|
16
|
+
var /** @type {?} */ window = element.ownerDocument.defaultView;
|
17
|
+
var /** @type {?} */ css = window.getComputedStyle(element, null);
|
18
|
+
return property ? css[property] : css;
|
19
|
+
}
|
20
|
+
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWJvb3RzdHJhcC9wb3NpdGlvbmluZy8iLCJzb3VyY2VzIjpbInV0aWxzL2dldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBR0EsTUFBTSxtQ0FBbUMsT0FBb0IsRUFBRSxRQUFpQjtJQUM5RSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLEVBQUUsQ0FBQztLQUNYOztJQUVELHFCQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUNqRCxxQkFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUVuRCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztDQUN2QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2V0IENTUyBjb21wdXRlZCBwcm9wZXJ0eSBvZiB0aGUgZ2l2ZW4gZWxlbWVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBwcm9wZXJ0eT86IHN0cmluZyk6IGFueSB7XG4gIGlmIChlbGVtZW50Lm5vZGVUeXBlICE9PSAxKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIC8vIE5PVEU6IDEgRE9NIGFjY2VzcyBoZXJlXG4gIGNvbnN0IHdpbmRvdyA9IGVsZW1lbnQub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztcbiAgY29uc3QgY3NzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgbnVsbCk7XG5cbiAgcmV0dXJuIHByb3BlcnR5ID8gY3NzW3Byb3BlcnR5XSA6IGNzcztcbn1cbiJdfQ==
|
@@ -0,0 +1,38 @@
|
|
1
|
+
/**
|
2
|
+
* @fileoverview added by tsickle
|
3
|
+
* @suppress {checkTypes} checked by tsc
|
4
|
+
*/
|
5
|
+
import { getOppositePlacement } from './getOppositePlacement';
|
6
|
+
import { getOuterSizes } from './getOuterSizes';
|
7
|
+
/**
|
8
|
+
* @param {?} target
|
9
|
+
* @param {?} hostOffsets
|
10
|
+
* @param {?} position
|
11
|
+
* @return {?}
|
12
|
+
*/
|
13
|
+
export function getTargetOffsets(target, hostOffsets, position) {
|
14
|
+
var /** @type {?} */ placement = position.split(' ')[0];
|
15
|
+
// Get target node sizes
|
16
|
+
var /** @type {?} */ targetRect = getOuterSizes(target);
|
17
|
+
// Add position, width and height to our offsets object
|
18
|
+
var /** @type {?} */ targetOffsets = {
|
19
|
+
width: targetRect.width,
|
20
|
+
height: targetRect.height
|
21
|
+
};
|
22
|
+
// depending by the target placement we have to compute its offsets slightly differently
|
23
|
+
var /** @type {?} */ isHoriz = ['right', 'left'].indexOf(placement) !== -1;
|
24
|
+
var /** @type {?} */ mainSide = isHoriz ? 'top' : 'left';
|
25
|
+
var /** @type {?} */ secondarySide = isHoriz ? 'left' : 'top';
|
26
|
+
var /** @type {?} */ measurement = isHoriz ? 'height' : 'width';
|
27
|
+
var /** @type {?} */ secondaryMeasurement = !isHoriz ? 'height' : 'width';
|
28
|
+
targetOffsets[mainSide] =
|
29
|
+
hostOffsets[mainSide] +
|
30
|
+
hostOffsets[measurement] / 2 -
|
31
|
+
targetRect[measurement] / 2;
|
32
|
+
targetOffsets[secondarySide] = placement === secondarySide
|
33
|
+
? hostOffsets[secondarySide] - targetRect[secondaryMeasurement]
|
34
|
+
: hostOffsets[getOppositePlacement(secondarySide)];
|
35
|
+
return targetOffsets;
|
36
|
+
}
|
37
|
+
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VGFyZ2V0T2Zmc2V0cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1ib290c3RyYXAvcG9zaXRpb25pbmcvIiwic291cmNlcyI6WyJ1dGlscy9nZXRUYXJnZXRPZmZzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFHaEQsTUFBTSwyQkFDSixNQUFtQixFQUNuQixXQUFvQixFQUNwQixRQUFnQjtJQUVoQixxQkFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7SUFHekMscUJBQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7SUFHekMscUJBQU0sYUFBYSxHQUFHO1FBQ3BCLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztRQUN2QixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07S0FDMUIsQ0FBQzs7SUFHRixxQkFBTSxPQUFPLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVELHFCQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzFDLHFCQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQy9DLHFCQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ2pELHFCQUFNLG9CQUFvQixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUUzRCxhQUFhLENBQUMsUUFBUSxDQUFDO1FBQ3JCLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDckIsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7WUFDNUIsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUU5QixhQUFhLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxLQUFLLGFBQWE7UUFDeEQsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsR0FBRyxVQUFVLENBQUMsb0JBQW9CLENBQUM7UUFDL0QsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBRXJELE1BQU0sQ0FBQyxhQUFhLENBQUM7Q0FDdEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdldCBvZmZzZXRzIHRvIHRoZSB0YXJnZXRcbiAqL1xuaW1wb3J0IHsgZ2V0T3Bwb3NpdGVQbGFjZW1lbnQgfSBmcm9tICcuL2dldE9wcG9zaXRlUGxhY2VtZW50JztcbmltcG9ydCB7IGdldE91dGVyU2l6ZXMgfSBmcm9tICcuL2dldE91dGVyU2l6ZXMnO1xuaW1wb3J0IHsgT2Zmc2V0cyB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYXJnZXRPZmZzZXRzKFxuICB0YXJnZXQ6IEhUTUxFbGVtZW50LFxuICBob3N0T2Zmc2V0czogT2Zmc2V0cyxcbiAgcG9zaXRpb246IHN0cmluZ1xuKTogT2Zmc2V0cyB7XG4gIGNvbnN0IHBsYWNlbWVudCA9IHBvc2l0aW9uLnNwbGl0KCcgJylbMF07XG5cbiAgLy8gR2V0IHRhcmdldCBub2RlIHNpemVzXG4gIGNvbnN0IHRhcmdldFJlY3QgPSBnZXRPdXRlclNpemVzKHRhcmdldCk7XG5cbiAgLy8gQWRkIHBvc2l0aW9uLCB3aWR0aCBhbmQgaGVpZ2h0IHRvIG91ciBvZmZzZXRzIG9iamVjdFxuICBjb25zdCB0YXJnZXRPZmZzZXRzID0ge1xuICAgIHdpZHRoOiB0YXJnZXRSZWN0LndpZHRoLFxuICAgIGhlaWdodDogdGFyZ2V0UmVjdC5oZWlnaHRcbiAgfTtcblxuICAvLyBkZXBlbmRpbmcgYnkgdGhlIHRhcmdldCBwbGFjZW1lbnQgd2UgaGF2ZSB0byBjb21wdXRlIGl0cyBvZmZzZXRzIHNsaWdodGx5IGRpZmZlcmVudGx5XG4gIGNvbnN0IGlzSG9yaXogPSBbJ3JpZ2h0JywgJ2xlZnQnXS5pbmRleE9mKHBsYWNlbWVudCkgIT09IC0xO1xuICBjb25zdCBtYWluU2lkZSA9IGlzSG9yaXogPyAndG9wJyA6ICdsZWZ0JztcbiAgY29uc3Qgc2Vjb25kYXJ5U2lkZSA9IGlzSG9yaXogPyAnbGVmdCcgOiAndG9wJztcbiAgY29uc3QgbWVhc3VyZW1lbnQgPSBpc0hvcml6ID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuICBjb25zdCBzZWNvbmRhcnlNZWFzdXJlbWVudCA9ICFpc0hvcml6ID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuXG4gIHRhcmdldE9mZnNldHNbbWFpblNpZGVdID1cbiAgICBob3N0T2Zmc2V0c1ttYWluU2lkZV0gK1xuICAgIGhvc3RPZmZzZXRzW21lYXN1cmVtZW50XSAvIDIgLVxuICAgIHRhcmdldFJlY3RbbWVhc3VyZW1lbnRdIC8gMjtcblxuICB0YXJnZXRPZmZzZXRzW3NlY29uZGFyeVNpZGVdID0gcGxhY2VtZW50ID09PSBzZWNvbmRhcnlTaWRlXG4gICAgPyBob3N0T2Zmc2V0c1tzZWNvbmRhcnlTaWRlXSAtIHRhcmdldFJlY3Rbc2Vjb25kYXJ5TWVhc3VyZW1lbnRdXG4gICAgOiBob3N0T2Zmc2V0c1tnZXRPcHBvc2l0ZVBsYWNlbWVudChzZWNvbmRhcnlTaWRlKV07XG5cbiAgcmV0dXJuIHRhcmdldE9mZnNldHM7XG59XG4iXX0=
|