vrembem 1.35.2 → 1.38.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/dev/scripts.esm.js +180 -75
- package/dev/scripts.esm.js.map +1 -1
- package/dev/scripts.js +180 -75
- package/dev/scripts.js.map +1 -1
- package/dev/scripts.modern.js +176 -71
- package/dev/scripts.modern.js.map +1 -1
- package/dev/scripts.umd.js +180 -75
- package/dev/scripts.umd.js.map +1 -1
- package/dev/styles.css +36 -186
- package/dev/styles.css.map +1 -1
- package/dist/scripts.esm.js +1 -1
- package/dist/scripts.esm.js.map +1 -1
- package/dist/scripts.js +1 -1
- package/dist/scripts.js.map +1 -1
- package/dist/scripts.modern.js +1 -1
- package/dist/scripts.modern.js.map +1 -1
- package/dist/scripts.umd.js +1 -1
- package/dist/scripts.umd.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/index.scss +0 -1
- package/package.json +26 -27
package/dev/scripts.umd.js
CHANGED
|
@@ -66,6 +66,8 @@
|
|
|
66
66
|
});
|
|
67
67
|
};
|
|
68
68
|
|
|
69
|
+
var focusableSelectors = ['a[href]:not([tabindex^="-"])', 'area[href]:not([tabindex^="-"])', 'input:not([type="hidden"]):not([type="radio"]):not([disabled]):not([tabindex^="-"])', 'input[type="radio"]:not([disabled]):not([tabindex^="-"])', 'select:not([disabled]):not([tabindex^="-"])', 'textarea:not([disabled]):not([tabindex^="-"])', 'button:not([disabled]):not([tabindex^="-"])', 'iframe:not([tabindex^="-"])', 'audio[controls]:not([tabindex^="-"])', 'video[controls]:not([tabindex^="-"])', '[contenteditable]:not([tabindex^="-"])', '[tabindex]:not([tabindex^="-"])'];
|
|
70
|
+
|
|
69
71
|
var focusTarget = function focusTarget(target, settings) {
|
|
70
72
|
var innerFocus = target.querySelector("[data-" + settings.dataFocus + "]");
|
|
71
73
|
|
|
@@ -118,6 +120,28 @@
|
|
|
118
120
|
this.target = null;
|
|
119
121
|
};
|
|
120
122
|
|
|
123
|
+
_proto.refresh = function refresh() {
|
|
124
|
+
// Check if a target has been set
|
|
125
|
+
if (!this.target) return; // Remove existing events
|
|
126
|
+
|
|
127
|
+
this.target.removeEventListener('keydown', this.__handlerFocusTrap);
|
|
128
|
+
this.target.removeEventListener('keydown', this.handlerFocusLock); // Get the focusable elements
|
|
129
|
+
|
|
130
|
+
this.focusable = this.getFocusable(); // Setup the focus handlers based on focusable length
|
|
131
|
+
|
|
132
|
+
if (this.focusable.length) {
|
|
133
|
+
// If there are focusable elements, setup focus trap
|
|
134
|
+
this.focusableFirst = this.focusable[0];
|
|
135
|
+
this.focusableLast = this.focusable[this.focusable.length - 1];
|
|
136
|
+
this.target.addEventListener('keydown', this.__handlerFocusTrap);
|
|
137
|
+
} else {
|
|
138
|
+
// If there are no focusable elements, setup focus lock
|
|
139
|
+
this.focusableFirst = null;
|
|
140
|
+
this.focusableLast = null;
|
|
141
|
+
this.target.addEventListener('keydown', this.handlerFocusLock);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
|
|
121
145
|
_proto.handlerFocusTrap = function handlerFocusTrap(event) {
|
|
122
146
|
var isTab = event.key === 'Tab' || event.keyCode === 9;
|
|
123
147
|
if (!isTab) return;
|
|
@@ -144,7 +168,7 @@
|
|
|
144
168
|
var focusable = [];
|
|
145
169
|
var initFocus = document.activeElement;
|
|
146
170
|
var initScrollTop = this.inner ? this.inner.scrollTop : 0;
|
|
147
|
-
this.target.querySelectorAll('
|
|
171
|
+
this.target.querySelectorAll(focusableSelectors.join(',')).forEach(function (el) {
|
|
148
172
|
el.focus();
|
|
149
173
|
|
|
150
174
|
if (el === document.activeElement) {
|
|
@@ -879,6 +903,7 @@
|
|
|
879
903
|
|
|
880
904
|
focusTarget(drawer, _this4.settings);
|
|
881
905
|
drawer.dispatchEvent(new CustomEvent(_this4.settings.customEventPrefix + 'opened', {
|
|
906
|
+
detail: _this4,
|
|
882
907
|
bubbles: true
|
|
883
908
|
}));
|
|
884
909
|
_this4.working = false;
|
|
@@ -917,6 +942,7 @@
|
|
|
917
942
|
_this6.focusTrap.destroy();
|
|
918
943
|
|
|
919
944
|
drawer.dispatchEvent(new CustomEvent(_this6.settings.customEventPrefix + 'closed', {
|
|
945
|
+
detail: _this6,
|
|
920
946
|
bubbles: true
|
|
921
947
|
}));
|
|
922
948
|
_this6.working = false;
|
|
@@ -963,10 +989,6 @@
|
|
|
963
989
|
|
|
964
990
|
var handlerClick$1 = function handlerClick(event) {
|
|
965
991
|
try {
|
|
966
|
-
var _exit2;
|
|
967
|
-
|
|
968
|
-
var _this2 = this;
|
|
969
|
-
|
|
970
992
|
var _temp3 = function _temp3(_result) {
|
|
971
993
|
if (_exit2) return _result;
|
|
972
994
|
|
|
@@ -985,6 +1007,10 @@
|
|
|
985
1007
|
}
|
|
986
1008
|
};
|
|
987
1009
|
|
|
1010
|
+
var _exit2;
|
|
1011
|
+
|
|
1012
|
+
var _this2 = this;
|
|
1013
|
+
|
|
988
1014
|
// Working catch
|
|
989
1015
|
if (_this2.working) return Promise.resolve(); // Trigger click
|
|
990
1016
|
|
|
@@ -1151,6 +1177,7 @@
|
|
|
1151
1177
|
focusTarget(modal, _this2.settings);
|
|
1152
1178
|
setInert(true, _this2.settings.selectorInert);
|
|
1153
1179
|
modal.dispatchEvent(new CustomEvent(_this2.settings.customEventPrefix + 'opened', {
|
|
1180
|
+
detail: _this2,
|
|
1154
1181
|
bubbles: true
|
|
1155
1182
|
}));
|
|
1156
1183
|
_this2.working = false;
|
|
@@ -1184,6 +1211,7 @@
|
|
|
1184
1211
|
_this4.focusTrap.destroy();
|
|
1185
1212
|
|
|
1186
1213
|
modal.dispatchEvent(new CustomEvent(_this4.settings.customEventPrefix + 'closed', {
|
|
1214
|
+
detail: _this4,
|
|
1187
1215
|
bubbles: true
|
|
1188
1216
|
}));
|
|
1189
1217
|
_this4.working = false;
|
|
@@ -1599,17 +1627,42 @@
|
|
|
1599
1627
|
return placement.split('-')[0];
|
|
1600
1628
|
}
|
|
1601
1629
|
|
|
1602
|
-
|
|
1630
|
+
var max = Math.max;
|
|
1631
|
+
var min = Math.min;
|
|
1632
|
+
var round = Math.round;
|
|
1633
|
+
|
|
1634
|
+
function getBoundingClientRect(element, includeScale) {
|
|
1635
|
+
if (includeScale === void 0) {
|
|
1636
|
+
includeScale = false;
|
|
1637
|
+
}
|
|
1638
|
+
|
|
1603
1639
|
var rect = element.getBoundingClientRect();
|
|
1640
|
+
var scaleX = 1;
|
|
1641
|
+
var scaleY = 1;
|
|
1642
|
+
|
|
1643
|
+
if (isHTMLElement(element) && includeScale) {
|
|
1644
|
+
var offsetHeight = element.offsetHeight;
|
|
1645
|
+
var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
|
|
1646
|
+
// Fallback to 1 in case both values are `0`
|
|
1647
|
+
|
|
1648
|
+
if (offsetWidth > 0) {
|
|
1649
|
+
scaleX = round(rect.width) / offsetWidth || 1;
|
|
1650
|
+
}
|
|
1651
|
+
|
|
1652
|
+
if (offsetHeight > 0) {
|
|
1653
|
+
scaleY = round(rect.height) / offsetHeight || 1;
|
|
1654
|
+
}
|
|
1655
|
+
}
|
|
1656
|
+
|
|
1604
1657
|
return {
|
|
1605
|
-
width: rect.width,
|
|
1606
|
-
height: rect.height,
|
|
1607
|
-
top: rect.top,
|
|
1608
|
-
right: rect.right,
|
|
1609
|
-
bottom: rect.bottom,
|
|
1610
|
-
left: rect.left,
|
|
1611
|
-
x: rect.left,
|
|
1612
|
-
y: rect.top
|
|
1658
|
+
width: rect.width / scaleX,
|
|
1659
|
+
height: rect.height / scaleY,
|
|
1660
|
+
top: rect.top / scaleY,
|
|
1661
|
+
right: rect.right / scaleX,
|
|
1662
|
+
bottom: rect.bottom / scaleY,
|
|
1663
|
+
left: rect.left / scaleX,
|
|
1664
|
+
x: rect.left / scaleX,
|
|
1665
|
+
y: rect.top / scaleY
|
|
1613
1666
|
};
|
|
1614
1667
|
}
|
|
1615
1668
|
|
|
@@ -1754,13 +1807,13 @@
|
|
|
1754
1807
|
return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
|
|
1755
1808
|
}
|
|
1756
1809
|
|
|
1757
|
-
var max = Math.max;
|
|
1758
|
-
var min = Math.min;
|
|
1759
|
-
var round = Math.round;
|
|
1760
|
-
|
|
1761
1810
|
function within(min$1, value, max$1) {
|
|
1762
1811
|
return max(min$1, min(value, max$1));
|
|
1763
1812
|
}
|
|
1813
|
+
function withinMaxClamp(min, value, max) {
|
|
1814
|
+
var v = within(min, value, max);
|
|
1815
|
+
return v > max ? max : v;
|
|
1816
|
+
}
|
|
1764
1817
|
|
|
1765
1818
|
function getFreshSideObject() {
|
|
1766
1819
|
return {
|
|
@@ -1864,6 +1917,10 @@
|
|
|
1864
1917
|
requiresIfExists: ['preventOverflow']
|
|
1865
1918
|
};
|
|
1866
1919
|
|
|
1920
|
+
function getVariation(placement) {
|
|
1921
|
+
return placement.split('-')[1];
|
|
1922
|
+
}
|
|
1923
|
+
|
|
1867
1924
|
var unsetSides = {
|
|
1868
1925
|
top: 'auto',
|
|
1869
1926
|
right: 'auto',
|
|
@@ -1879,8 +1936,8 @@
|
|
|
1879
1936
|
var win = window;
|
|
1880
1937
|
var dpr = win.devicePixelRatio || 1;
|
|
1881
1938
|
return {
|
|
1882
|
-
x: round(
|
|
1883
|
-
y: round(
|
|
1939
|
+
x: round(x * dpr) / dpr || 0,
|
|
1940
|
+
y: round(y * dpr) / dpr || 0
|
|
1884
1941
|
};
|
|
1885
1942
|
}
|
|
1886
1943
|
|
|
@@ -1890,18 +1947,28 @@
|
|
|
1890
1947
|
var popper = _ref2.popper,
|
|
1891
1948
|
popperRect = _ref2.popperRect,
|
|
1892
1949
|
placement = _ref2.placement,
|
|
1950
|
+
variation = _ref2.variation,
|
|
1893
1951
|
offsets = _ref2.offsets,
|
|
1894
1952
|
position = _ref2.position,
|
|
1895
1953
|
gpuAcceleration = _ref2.gpuAcceleration,
|
|
1896
1954
|
adaptive = _ref2.adaptive,
|
|
1897
|
-
roundOffsets = _ref2.roundOffsets
|
|
1898
|
-
|
|
1899
|
-
var
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1955
|
+
roundOffsets = _ref2.roundOffsets,
|
|
1956
|
+
isFixed = _ref2.isFixed;
|
|
1957
|
+
var _offsets$x = offsets.x,
|
|
1958
|
+
x = _offsets$x === void 0 ? 0 : _offsets$x,
|
|
1959
|
+
_offsets$y = offsets.y,
|
|
1960
|
+
y = _offsets$y === void 0 ? 0 : _offsets$y;
|
|
1961
|
+
|
|
1962
|
+
var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({
|
|
1963
|
+
x: x,
|
|
1964
|
+
y: y
|
|
1965
|
+
}) : {
|
|
1966
|
+
x: x,
|
|
1967
|
+
y: y
|
|
1968
|
+
};
|
|
1904
1969
|
|
|
1970
|
+
x = _ref3.x;
|
|
1971
|
+
y = _ref3.y;
|
|
1905
1972
|
var hasX = offsets.hasOwnProperty('x');
|
|
1906
1973
|
var hasY = offsets.hasOwnProperty('y');
|
|
1907
1974
|
var sideX = left;
|
|
@@ -1916,7 +1983,7 @@
|
|
|
1916
1983
|
if (offsetParent === getWindow(popper)) {
|
|
1917
1984
|
offsetParent = getDocumentElement(popper);
|
|
1918
1985
|
|
|
1919
|
-
if (getComputedStyle$1(offsetParent).position !== 'static') {
|
|
1986
|
+
if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') {
|
|
1920
1987
|
heightProp = 'scrollHeight';
|
|
1921
1988
|
widthProp = 'scrollWidth';
|
|
1922
1989
|
}
|
|
@@ -1925,17 +1992,19 @@
|
|
|
1925
1992
|
|
|
1926
1993
|
offsetParent = offsetParent;
|
|
1927
1994
|
|
|
1928
|
-
if (placement === top) {
|
|
1929
|
-
sideY = bottom;
|
|
1930
|
-
|
|
1931
|
-
|
|
1995
|
+
if (placement === top || (placement === left || placement === right) && variation === end) {
|
|
1996
|
+
sideY = bottom;
|
|
1997
|
+
var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
|
|
1998
|
+
offsetParent[heightProp];
|
|
1999
|
+
y -= offsetY - popperRect.height;
|
|
1932
2000
|
y *= gpuAcceleration ? 1 : -1;
|
|
1933
2001
|
}
|
|
1934
2002
|
|
|
1935
|
-
if (placement === left) {
|
|
1936
|
-
sideX = right;
|
|
1937
|
-
|
|
1938
|
-
|
|
2003
|
+
if (placement === left || (placement === top || placement === bottom) && variation === end) {
|
|
2004
|
+
sideX = right;
|
|
2005
|
+
var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
|
|
2006
|
+
offsetParent[widthProp];
|
|
2007
|
+
x -= offsetX - popperRect.width;
|
|
1939
2008
|
x *= gpuAcceleration ? 1 : -1;
|
|
1940
2009
|
}
|
|
1941
2010
|
}
|
|
@@ -1944,18 +2013,29 @@
|
|
|
1944
2013
|
position: position
|
|
1945
2014
|
}, adaptive && unsetSides);
|
|
1946
2015
|
|
|
2016
|
+
var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
|
|
2017
|
+
x: x,
|
|
2018
|
+
y: y
|
|
2019
|
+
}) : {
|
|
2020
|
+
x: x,
|
|
2021
|
+
y: y
|
|
2022
|
+
};
|
|
2023
|
+
|
|
2024
|
+
x = _ref4.x;
|
|
2025
|
+
y = _ref4.y;
|
|
2026
|
+
|
|
1947
2027
|
if (gpuAcceleration) {
|
|
1948
2028
|
var _Object$assign;
|
|
1949
2029
|
|
|
1950
|
-
return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1)
|
|
2030
|
+
return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
|
|
1951
2031
|
}
|
|
1952
2032
|
|
|
1953
2033
|
return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
|
|
1954
2034
|
}
|
|
1955
2035
|
|
|
1956
|
-
function computeStyles(
|
|
1957
|
-
var state =
|
|
1958
|
-
options =
|
|
2036
|
+
function computeStyles(_ref5) {
|
|
2037
|
+
var state = _ref5.state,
|
|
2038
|
+
options = _ref5.options;
|
|
1959
2039
|
var _options$gpuAccelerat = options.gpuAcceleration,
|
|
1960
2040
|
gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
|
|
1961
2041
|
_options$adaptive = options.adaptive,
|
|
@@ -1965,9 +2045,11 @@
|
|
|
1965
2045
|
|
|
1966
2046
|
var commonStyles = {
|
|
1967
2047
|
placement: getBasePlacement(state.placement),
|
|
2048
|
+
variation: getVariation(state.placement),
|
|
1968
2049
|
popper: state.elements.popper,
|
|
1969
2050
|
popperRect: state.rects.popper,
|
|
1970
|
-
gpuAcceleration: gpuAcceleration
|
|
2051
|
+
gpuAcceleration: gpuAcceleration,
|
|
2052
|
+
isFixed: state.options.strategy === 'fixed'
|
|
1971
2053
|
};
|
|
1972
2054
|
|
|
1973
2055
|
if (state.modifiersData.popperOffsets != null) {
|
|
@@ -2225,7 +2307,7 @@
|
|
|
2225
2307
|
}
|
|
2226
2308
|
|
|
2227
2309
|
function getClientRectFromMixedType(element, clippingParent) {
|
|
2228
|
-
return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) :
|
|
2310
|
+
return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
|
|
2229
2311
|
} // A "clipping parent" is an overflowable container with the characteristic of
|
|
2230
2312
|
// clipping (or hiding) overflowing elements with a position different from
|
|
2231
2313
|
// `initial`
|
|
@@ -2267,10 +2349,6 @@
|
|
|
2267
2349
|
return clippingRect;
|
|
2268
2350
|
}
|
|
2269
2351
|
|
|
2270
|
-
function getVariation(placement) {
|
|
2271
|
-
return placement.split('-')[1];
|
|
2272
|
-
}
|
|
2273
|
-
|
|
2274
2352
|
function computeOffsets(_ref) {
|
|
2275
2353
|
var reference = _ref.reference,
|
|
2276
2354
|
element = _ref.element,
|
|
@@ -2356,11 +2434,10 @@
|
|
|
2356
2434
|
padding = _options$padding === void 0 ? 0 : _options$padding;
|
|
2357
2435
|
var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
|
|
2358
2436
|
var altContext = elementContext === popper ? reference : popper;
|
|
2359
|
-
var referenceElement = state.elements.reference;
|
|
2360
2437
|
var popperRect = state.rects.popper;
|
|
2361
2438
|
var element = state.elements[altBoundary ? altContext : elementContext];
|
|
2362
2439
|
var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
|
|
2363
|
-
var referenceClientRect = getBoundingClientRect(
|
|
2440
|
+
var referenceClientRect = getBoundingClientRect(state.elements.reference);
|
|
2364
2441
|
var popperOffsets = computeOffsets({
|
|
2365
2442
|
reference: referenceClientRect,
|
|
2366
2443
|
element: popperRect,
|
|
@@ -2743,6 +2820,14 @@
|
|
|
2743
2820
|
var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
|
|
2744
2821
|
placement: state.placement
|
|
2745
2822
|
})) : tetherOffset;
|
|
2823
|
+
var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
|
|
2824
|
+
mainAxis: tetherOffsetValue,
|
|
2825
|
+
altAxis: tetherOffsetValue
|
|
2826
|
+
} : Object.assign({
|
|
2827
|
+
mainAxis: 0,
|
|
2828
|
+
altAxis: 0
|
|
2829
|
+
}, tetherOffsetValue);
|
|
2830
|
+
var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
|
|
2746
2831
|
var data = {
|
|
2747
2832
|
x: 0,
|
|
2748
2833
|
y: 0
|
|
@@ -2752,13 +2837,15 @@
|
|
|
2752
2837
|
return;
|
|
2753
2838
|
}
|
|
2754
2839
|
|
|
2755
|
-
if (checkMainAxis
|
|
2840
|
+
if (checkMainAxis) {
|
|
2841
|
+
var _offsetModifierState$;
|
|
2842
|
+
|
|
2756
2843
|
var mainSide = mainAxis === 'y' ? top : left;
|
|
2757
2844
|
var altSide = mainAxis === 'y' ? bottom : right;
|
|
2758
2845
|
var len = mainAxis === 'y' ? 'height' : 'width';
|
|
2759
2846
|
var offset = popperOffsets[mainAxis];
|
|
2760
|
-
var min$1 =
|
|
2761
|
-
var max$1 =
|
|
2847
|
+
var min$1 = offset + overflow[mainSide];
|
|
2848
|
+
var max$1 = offset - overflow[altSide];
|
|
2762
2849
|
var additive = tether ? -popperRect[len] / 2 : 0;
|
|
2763
2850
|
var minLen = variation === start ? referenceRect[len] : popperRect[len];
|
|
2764
2851
|
var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
|
|
@@ -2778,36 +2865,45 @@
|
|
|
2778
2865
|
// width or height)
|
|
2779
2866
|
|
|
2780
2867
|
var arrowLen = within(0, referenceRect[len], arrowRect[len]);
|
|
2781
|
-
var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin -
|
|
2782
|
-
var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax +
|
|
2868
|
+
var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
|
|
2869
|
+
var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
|
|
2783
2870
|
var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
|
|
2784
2871
|
var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
|
|
2785
|
-
var offsetModifierValue =
|
|
2786
|
-
var tetherMin =
|
|
2787
|
-
var tetherMax =
|
|
2872
|
+
var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
|
|
2873
|
+
var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
|
|
2874
|
+
var tetherMax = offset + maxOffset - offsetModifierValue;
|
|
2875
|
+
var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
|
|
2876
|
+
popperOffsets[mainAxis] = preventedOffset;
|
|
2877
|
+
data[mainAxis] = preventedOffset - offset;
|
|
2878
|
+
}
|
|
2788
2879
|
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
popperOffsets[mainAxis] = preventedOffset;
|
|
2792
|
-
data[mainAxis] = preventedOffset - offset;
|
|
2793
|
-
}
|
|
2880
|
+
if (checkAltAxis) {
|
|
2881
|
+
var _offsetModifierState$2;
|
|
2794
2882
|
|
|
2795
|
-
|
|
2796
|
-
var _mainSide = mainAxis === 'x' ? top : left;
|
|
2883
|
+
var _mainSide = mainAxis === 'x' ? top : left;
|
|
2797
2884
|
|
|
2798
|
-
|
|
2885
|
+
var _altSide = mainAxis === 'x' ? bottom : right;
|
|
2799
2886
|
|
|
2800
|
-
|
|
2887
|
+
var _offset = popperOffsets[altAxis];
|
|
2801
2888
|
|
|
2802
|
-
|
|
2889
|
+
var _len = altAxis === 'y' ? 'height' : 'width';
|
|
2803
2890
|
|
|
2804
|
-
|
|
2891
|
+
var _min = _offset + overflow[_mainSide];
|
|
2805
2892
|
|
|
2806
|
-
|
|
2893
|
+
var _max = _offset - overflow[_altSide];
|
|
2807
2894
|
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2895
|
+
var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
|
|
2896
|
+
|
|
2897
|
+
var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
|
|
2898
|
+
|
|
2899
|
+
var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
|
|
2900
|
+
|
|
2901
|
+
var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
|
|
2902
|
+
|
|
2903
|
+
var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
|
|
2904
|
+
|
|
2905
|
+
popperOffsets[altAxis] = _preventedOffset;
|
|
2906
|
+
data[altAxis] = _preventedOffset - _offset;
|
|
2811
2907
|
}
|
|
2812
2908
|
|
|
2813
2909
|
state.modifiersData[name] = data;
|
|
@@ -2837,16 +2933,24 @@
|
|
|
2837
2933
|
}
|
|
2838
2934
|
}
|
|
2839
2935
|
|
|
2936
|
+
function isElementScaled(element) {
|
|
2937
|
+
var rect = element.getBoundingClientRect();
|
|
2938
|
+
var scaleX = round(rect.width) / element.offsetWidth || 1;
|
|
2939
|
+
var scaleY = round(rect.height) / element.offsetHeight || 1;
|
|
2940
|
+
return scaleX !== 1 || scaleY !== 1;
|
|
2941
|
+
} // Returns the composite rect of an element relative to its offsetParent.
|
|
2840
2942
|
// Composite means it takes into account transforms as well as layout.
|
|
2841
2943
|
|
|
2944
|
+
|
|
2842
2945
|
function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
|
|
2843
2946
|
if (isFixed === void 0) {
|
|
2844
2947
|
isFixed = false;
|
|
2845
2948
|
}
|
|
2846
2949
|
|
|
2847
|
-
var documentElement = getDocumentElement(offsetParent);
|
|
2848
|
-
var rect = getBoundingClientRect(elementOrVirtualElement);
|
|
2849
2950
|
var isOffsetParentAnElement = isHTMLElement(offsetParent);
|
|
2951
|
+
var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
|
|
2952
|
+
var documentElement = getDocumentElement(offsetParent);
|
|
2953
|
+
var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
|
|
2850
2954
|
var scroll = {
|
|
2851
2955
|
scrollLeft: 0,
|
|
2852
2956
|
scrollTop: 0
|
|
@@ -2863,7 +2967,7 @@
|
|
|
2863
2967
|
}
|
|
2864
2968
|
|
|
2865
2969
|
if (isHTMLElement(offsetParent)) {
|
|
2866
|
-
offsets = getBoundingClientRect(offsetParent);
|
|
2970
|
+
offsets = getBoundingClientRect(offsetParent, true);
|
|
2867
2971
|
offsets.x += offsetParent.clientLeft;
|
|
2868
2972
|
offsets.y += offsetParent.clientTop;
|
|
2869
2973
|
} else if (documentElement) {
|
|
@@ -3000,7 +3104,8 @@
|
|
|
3000
3104
|
var isDestroyed = false;
|
|
3001
3105
|
var instance = {
|
|
3002
3106
|
state: state,
|
|
3003
|
-
setOptions: function setOptions(
|
|
3107
|
+
setOptions: function setOptions(setOptionsAction) {
|
|
3108
|
+
var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;
|
|
3004
3109
|
cleanupModifierEffects();
|
|
3005
3110
|
state.options = Object.assign({}, defaultOptions, state.options, options);
|
|
3006
3111
|
state.scrollParents = {
|