@zextras/carbonio-design-system 12.0.2 → 12.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/zapp-ui.bundle.cjs +1094 -268
- package/dist/zapp-ui.bundle.d.ts +1 -1
- package/dist/zapp-ui.bundle.mjs +1098 -272
- package/package.json +98 -71
package/dist/zapp-ui.bundle.cjs
CHANGED
|
@@ -436,7 +436,7 @@ var insertStyles = function insertStyles(cache, serialized, isStringTag) {
|
|
|
436
436
|
};
|
|
437
437
|
|
|
438
438
|
// eslint-disable-next-line no-undef
|
|
439
|
-
var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
|
|
439
|
+
var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|popover|popoverTarget|popoverTargetAction|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
|
|
440
440
|
|
|
441
441
|
var isPropValid = /* #__PURE__ */memoize(function (prop) {
|
|
442
442
|
return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
|
|
@@ -3703,7 +3703,9 @@ function hslToHex(hue, saturation, lightness) {
|
|
|
3703
3703
|
* }
|
|
3704
3704
|
*/
|
|
3705
3705
|
function hsl(value, saturation, lightness) {
|
|
3706
|
-
if (typeof value === '
|
|
3706
|
+
if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {
|
|
3707
|
+
return hslToHex(value, saturation, lightness);
|
|
3708
|
+
} else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {
|
|
3707
3709
|
return hslToHex(value.hue, value.saturation, value.lightness);
|
|
3708
3710
|
}
|
|
3709
3711
|
throw new PolishedError(1);
|
|
@@ -3736,7 +3738,9 @@ function hsl(value, saturation, lightness) {
|
|
|
3736
3738
|
* }
|
|
3737
3739
|
*/
|
|
3738
3740
|
function hsla(value, saturation, lightness, alpha) {
|
|
3739
|
-
if (typeof value === '
|
|
3741
|
+
if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {
|
|
3742
|
+
return alpha >= 1 ? hslToHex(value, saturation, lightness) : "rgba(" + hslToRgb(value, saturation, lightness) + "," + alpha + ")";
|
|
3743
|
+
} else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {
|
|
3740
3744
|
return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : "rgba(" + hslToRgb(value.hue, value.saturation, value.lightness) + "," + value.alpha + ")";
|
|
3741
3745
|
}
|
|
3742
3746
|
throw new PolishedError(2);
|
|
@@ -4786,10 +4790,6 @@ const oppositeSideMap = {
|
|
|
4786
4790
|
bottom: 'top',
|
|
4787
4791
|
top: 'bottom'
|
|
4788
4792
|
};
|
|
4789
|
-
const oppositeAlignmentMap = {
|
|
4790
|
-
start: 'end',
|
|
4791
|
-
end: 'start'
|
|
4792
|
-
};
|
|
4793
4793
|
function clamp(start, value, end) {
|
|
4794
4794
|
return max$1(start, min$1(value, end));
|
|
4795
4795
|
}
|
|
@@ -4809,7 +4809,8 @@ function getAxisLength(axis) {
|
|
|
4809
4809
|
return axis === 'y' ? 'height' : 'width';
|
|
4810
4810
|
}
|
|
4811
4811
|
function getSideAxis(placement) {
|
|
4812
|
-
|
|
4812
|
+
const firstChar = placement[0];
|
|
4813
|
+
return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';
|
|
4813
4814
|
}
|
|
4814
4815
|
function getAlignmentAxis(placement) {
|
|
4815
4816
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -4832,21 +4833,21 @@ function getExpandedPlacements(placement) {
|
|
|
4832
4833
|
return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
|
|
4833
4834
|
}
|
|
4834
4835
|
function getOppositeAlignmentPlacement(placement) {
|
|
4835
|
-
return placement.replace(
|
|
4836
|
+
return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');
|
|
4836
4837
|
}
|
|
4838
|
+
const lrPlacement = ['left', 'right'];
|
|
4839
|
+
const rlPlacement = ['right', 'left'];
|
|
4840
|
+
const tbPlacement = ['top', 'bottom'];
|
|
4841
|
+
const btPlacement = ['bottom', 'top'];
|
|
4837
4842
|
function getSideList(side, isStart, rtl) {
|
|
4838
|
-
const lr = ['left', 'right'];
|
|
4839
|
-
const rl = ['right', 'left'];
|
|
4840
|
-
const tb = ['top', 'bottom'];
|
|
4841
|
-
const bt = ['bottom', 'top'];
|
|
4842
4843
|
switch (side) {
|
|
4843
4844
|
case 'top':
|
|
4844
4845
|
case 'bottom':
|
|
4845
|
-
if (rtl) return isStart ?
|
|
4846
|
-
return isStart ?
|
|
4846
|
+
if (rtl) return isStart ? rlPlacement : lrPlacement;
|
|
4847
|
+
return isStart ? lrPlacement : rlPlacement;
|
|
4847
4848
|
case 'left':
|
|
4848
4849
|
case 'right':
|
|
4849
|
-
return isStart ?
|
|
4850
|
+
return isStart ? tbPlacement : btPlacement;
|
|
4850
4851
|
default:
|
|
4851
4852
|
return [];
|
|
4852
4853
|
}
|
|
@@ -4863,7 +4864,8 @@ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
|
|
|
4863
4864
|
return list;
|
|
4864
4865
|
}
|
|
4865
4866
|
function getOppositePlacement(placement) {
|
|
4866
|
-
|
|
4867
|
+
const side = getSide(placement);
|
|
4868
|
+
return oppositeSideMap[side] + placement.slice(side.length);
|
|
4867
4869
|
}
|
|
4868
4870
|
function expandPaddingObject(padding) {
|
|
4869
4871
|
return {
|
|
@@ -4957,6 +4959,74 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
|
|
|
4957
4959
|
return coords;
|
|
4958
4960
|
}
|
|
4959
4961
|
|
|
4962
|
+
/**
|
|
4963
|
+
* Resolves with an object of overflow side offsets that determine how much the
|
|
4964
|
+
* element is overflowing a given clipping boundary on each side.
|
|
4965
|
+
* - positive = overflowing the boundary by that number of pixels
|
|
4966
|
+
* - negative = how many pixels left before it will overflow
|
|
4967
|
+
* - 0 = lies flush with the boundary
|
|
4968
|
+
* @see https://floating-ui.com/docs/detectOverflow
|
|
4969
|
+
*/
|
|
4970
|
+
async function detectOverflow(state, options) {
|
|
4971
|
+
var _await$platform$isEle;
|
|
4972
|
+
if (options === void 0) {
|
|
4973
|
+
options = {};
|
|
4974
|
+
}
|
|
4975
|
+
const {
|
|
4976
|
+
x,
|
|
4977
|
+
y,
|
|
4978
|
+
platform,
|
|
4979
|
+
rects,
|
|
4980
|
+
elements,
|
|
4981
|
+
strategy
|
|
4982
|
+
} = state;
|
|
4983
|
+
const {
|
|
4984
|
+
boundary = 'clippingAncestors',
|
|
4985
|
+
rootBoundary = 'viewport',
|
|
4986
|
+
elementContext = 'floating',
|
|
4987
|
+
altBoundary = false,
|
|
4988
|
+
padding = 0
|
|
4989
|
+
} = evaluate(options, state);
|
|
4990
|
+
const paddingObject = getPaddingObject(padding);
|
|
4991
|
+
const altContext = elementContext === 'floating' ? 'reference' : 'floating';
|
|
4992
|
+
const element = elements[altBoundary ? altContext : elementContext];
|
|
4993
|
+
const clippingClientRect = rectToClientRect(await platform.getClippingRect({
|
|
4994
|
+
element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),
|
|
4995
|
+
boundary,
|
|
4996
|
+
rootBoundary,
|
|
4997
|
+
strategy
|
|
4998
|
+
}));
|
|
4999
|
+
const rect = elementContext === 'floating' ? {
|
|
5000
|
+
x,
|
|
5001
|
+
y,
|
|
5002
|
+
width: rects.floating.width,
|
|
5003
|
+
height: rects.floating.height
|
|
5004
|
+
} : rects.reference;
|
|
5005
|
+
const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
|
|
5006
|
+
const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
|
|
5007
|
+
x: 1,
|
|
5008
|
+
y: 1
|
|
5009
|
+
} : {
|
|
5010
|
+
x: 1,
|
|
5011
|
+
y: 1
|
|
5012
|
+
};
|
|
5013
|
+
const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
|
|
5014
|
+
elements,
|
|
5015
|
+
rect,
|
|
5016
|
+
offsetParent,
|
|
5017
|
+
strategy
|
|
5018
|
+
}) : rect);
|
|
5019
|
+
return {
|
|
5020
|
+
top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
|
|
5021
|
+
bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
|
|
5022
|
+
left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
|
|
5023
|
+
right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
|
|
5024
|
+
};
|
|
5025
|
+
}
|
|
5026
|
+
|
|
5027
|
+
// Maximum number of resets that can occur before bailing to avoid infinite reset loops.
|
|
5028
|
+
const MAX_RESET_COUNT = 50;
|
|
5029
|
+
|
|
4960
5030
|
/**
|
|
4961
5031
|
* Computes the `x` and `y` coordinates that will place the floating element
|
|
4962
5032
|
* next to a given reference element.
|
|
@@ -4964,14 +5034,17 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
|
|
|
4964
5034
|
* This export does not have any `platform` interface logic. You will need to
|
|
4965
5035
|
* write one for the platform you are using Floating UI with.
|
|
4966
5036
|
*/
|
|
4967
|
-
const computePosition$
|
|
5037
|
+
const computePosition$2 = async (reference, floating, config) => {
|
|
4968
5038
|
const {
|
|
4969
5039
|
placement = 'bottom',
|
|
4970
5040
|
strategy = 'absolute',
|
|
4971
5041
|
middleware = [],
|
|
4972
5042
|
platform
|
|
4973
5043
|
} = config;
|
|
4974
|
-
const
|
|
5044
|
+
const platformWithDetectOverflow = platform.detectOverflow ? platform : {
|
|
5045
|
+
...platform,
|
|
5046
|
+
detectOverflow
|
|
5047
|
+
};
|
|
4975
5048
|
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
|
|
4976
5049
|
let rects = await platform.getElementRects({
|
|
4977
5050
|
reference,
|
|
@@ -4983,13 +5056,17 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
4983
5056
|
y
|
|
4984
5057
|
} = computeCoordsFromPlacement(rects, placement, rtl);
|
|
4985
5058
|
let statefulPlacement = placement;
|
|
4986
|
-
let middlewareData = {};
|
|
4987
5059
|
let resetCount = 0;
|
|
4988
|
-
|
|
5060
|
+
const middlewareData = {};
|
|
5061
|
+
for (let i = 0; i < middleware.length; i++) {
|
|
5062
|
+
const currentMiddleware = middleware[i];
|
|
5063
|
+
if (!currentMiddleware) {
|
|
5064
|
+
continue;
|
|
5065
|
+
}
|
|
4989
5066
|
const {
|
|
4990
5067
|
name,
|
|
4991
5068
|
fn
|
|
4992
|
-
} =
|
|
5069
|
+
} = currentMiddleware;
|
|
4993
5070
|
const {
|
|
4994
5071
|
x: nextX,
|
|
4995
5072
|
y: nextY,
|
|
@@ -5003,7 +5080,7 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
5003
5080
|
strategy,
|
|
5004
5081
|
middlewareData,
|
|
5005
5082
|
rects,
|
|
5006
|
-
platform,
|
|
5083
|
+
platform: platformWithDetectOverflow,
|
|
5007
5084
|
elements: {
|
|
5008
5085
|
reference,
|
|
5009
5086
|
floating
|
|
@@ -5011,14 +5088,11 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
5011
5088
|
});
|
|
5012
5089
|
x = nextX != null ? nextX : x;
|
|
5013
5090
|
y = nextY != null ? nextY : y;
|
|
5014
|
-
middlewareData = {
|
|
5015
|
-
...middlewareData,
|
|
5016
|
-
|
|
5017
|
-
...middlewareData[name],
|
|
5018
|
-
...data
|
|
5019
|
-
}
|
|
5091
|
+
middlewareData[name] = {
|
|
5092
|
+
...middlewareData[name],
|
|
5093
|
+
...data
|
|
5020
5094
|
};
|
|
5021
|
-
if (reset && resetCount
|
|
5095
|
+
if (reset && resetCount < MAX_RESET_COUNT) {
|
|
5022
5096
|
resetCount++;
|
|
5023
5097
|
if (typeof reset === 'object') {
|
|
5024
5098
|
if (reset.placement) {
|
|
@@ -5048,71 +5122,6 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
5048
5122
|
};
|
|
5049
5123
|
};
|
|
5050
5124
|
|
|
5051
|
-
/**
|
|
5052
|
-
* Resolves with an object of overflow side offsets that determine how much the
|
|
5053
|
-
* element is overflowing a given clipping boundary on each side.
|
|
5054
|
-
* - positive = overflowing the boundary by that number of pixels
|
|
5055
|
-
* - negative = how many pixels left before it will overflow
|
|
5056
|
-
* - 0 = lies flush with the boundary
|
|
5057
|
-
* @see https://floating-ui.com/docs/detectOverflow
|
|
5058
|
-
*/
|
|
5059
|
-
async function detectOverflow(state, options) {
|
|
5060
|
-
var _await$platform$isEle;
|
|
5061
|
-
if (options === void 0) {
|
|
5062
|
-
options = {};
|
|
5063
|
-
}
|
|
5064
|
-
const {
|
|
5065
|
-
x,
|
|
5066
|
-
y,
|
|
5067
|
-
platform,
|
|
5068
|
-
rects,
|
|
5069
|
-
elements,
|
|
5070
|
-
strategy
|
|
5071
|
-
} = state;
|
|
5072
|
-
const {
|
|
5073
|
-
boundary = 'clippingAncestors',
|
|
5074
|
-
rootBoundary = 'viewport',
|
|
5075
|
-
elementContext = 'floating',
|
|
5076
|
-
altBoundary = false,
|
|
5077
|
-
padding = 0
|
|
5078
|
-
} = evaluate(options, state);
|
|
5079
|
-
const paddingObject = getPaddingObject(padding);
|
|
5080
|
-
const altContext = elementContext === 'floating' ? 'reference' : 'floating';
|
|
5081
|
-
const element = elements[altBoundary ? altContext : elementContext];
|
|
5082
|
-
const clippingClientRect = rectToClientRect(await platform.getClippingRect({
|
|
5083
|
-
element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),
|
|
5084
|
-
boundary,
|
|
5085
|
-
rootBoundary,
|
|
5086
|
-
strategy
|
|
5087
|
-
}));
|
|
5088
|
-
const rect = elementContext === 'floating' ? {
|
|
5089
|
-
x,
|
|
5090
|
-
y,
|
|
5091
|
-
width: rects.floating.width,
|
|
5092
|
-
height: rects.floating.height
|
|
5093
|
-
} : rects.reference;
|
|
5094
|
-
const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
|
|
5095
|
-
const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
|
|
5096
|
-
x: 1,
|
|
5097
|
-
y: 1
|
|
5098
|
-
} : {
|
|
5099
|
-
x: 1,
|
|
5100
|
-
y: 1
|
|
5101
|
-
};
|
|
5102
|
-
const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
|
|
5103
|
-
elements,
|
|
5104
|
-
rect,
|
|
5105
|
-
offsetParent,
|
|
5106
|
-
strategy
|
|
5107
|
-
}) : rect);
|
|
5108
|
-
return {
|
|
5109
|
-
top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
|
|
5110
|
-
bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
|
|
5111
|
-
left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
|
|
5112
|
-
right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
|
|
5113
|
-
};
|
|
5114
|
-
}
|
|
5115
|
-
|
|
5116
5125
|
/**
|
|
5117
5126
|
* Provides data to position an inner element of the floating element so that it
|
|
5118
5127
|
* appears centered to the reference element.
|
|
@@ -5201,7 +5210,7 @@ const arrow$3 = options => ({
|
|
|
5201
5210
|
* clipping boundary. Alternative to `autoPlacement`.
|
|
5202
5211
|
* @see https://floating-ui.com/docs/flip
|
|
5203
5212
|
*/
|
|
5204
|
-
const flip$
|
|
5213
|
+
const flip$3 = function (options) {
|
|
5205
5214
|
if (options === void 0) {
|
|
5206
5215
|
options = {};
|
|
5207
5216
|
}
|
|
@@ -5245,7 +5254,7 @@ const flip$2 = function (options) {
|
|
|
5245
5254
|
fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
|
|
5246
5255
|
}
|
|
5247
5256
|
const placements = [initialPlacement, ...fallbackPlacements];
|
|
5248
|
-
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
5257
|
+
const overflow = await platform.detectOverflow(state, detectOverflowOptions);
|
|
5249
5258
|
const overflows = [];
|
|
5250
5259
|
let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
|
|
5251
5260
|
if (checkMainAxis) {
|
|
@@ -5266,16 +5275,22 @@ const flip$2 = function (options) {
|
|
|
5266
5275
|
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
|
5267
5276
|
const nextPlacement = placements[nextIndex];
|
|
5268
5277
|
if (nextPlacement) {
|
|
5269
|
-
|
|
5270
|
-
|
|
5271
|
-
|
|
5272
|
-
|
|
5273
|
-
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5277
|
-
|
|
5278
|
-
|
|
5278
|
+
const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;
|
|
5279
|
+
if (!ignoreCrossAxisOverflow ||
|
|
5280
|
+
// We leave the current main axis only if every placement on that axis
|
|
5281
|
+
// overflows the main axis.
|
|
5282
|
+
overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
|
|
5283
|
+
// Try next placement and re-run the lifecycle.
|
|
5284
|
+
return {
|
|
5285
|
+
data: {
|
|
5286
|
+
index: nextIndex,
|
|
5287
|
+
overflows: overflowsData
|
|
5288
|
+
},
|
|
5289
|
+
reset: {
|
|
5290
|
+
placement: nextPlacement
|
|
5291
|
+
}
|
|
5292
|
+
};
|
|
5293
|
+
}
|
|
5279
5294
|
}
|
|
5280
5295
|
|
|
5281
5296
|
// First, find the candidates that fit on the mainAxis side of overflow,
|
|
@@ -5321,6 +5336,8 @@ const flip$2 = function (options) {
|
|
|
5321
5336
|
};
|
|
5322
5337
|
};
|
|
5323
5338
|
|
|
5339
|
+
const originSides = /*#__PURE__*/new Set(['left', 'top']);
|
|
5340
|
+
|
|
5324
5341
|
// For type backwards-compatibility, the `OffsetOptions` type was also
|
|
5325
5342
|
// Derivable.
|
|
5326
5343
|
|
|
@@ -5334,7 +5351,7 @@ async function convertValueToCoords(state, options) {
|
|
|
5334
5351
|
const side = getSide(placement);
|
|
5335
5352
|
const alignment = getAlignment(placement);
|
|
5336
5353
|
const isVertical = getSideAxis(placement) === 'y';
|
|
5337
|
-
const mainAxisMulti =
|
|
5354
|
+
const mainAxisMulti = originSides.has(side) ? -1 : 1;
|
|
5338
5355
|
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
|
5339
5356
|
const rawValue = evaluate(options, state);
|
|
5340
5357
|
|
|
@@ -5348,10 +5365,9 @@ async function convertValueToCoords(state, options) {
|
|
|
5348
5365
|
crossAxis: 0,
|
|
5349
5366
|
alignmentAxis: null
|
|
5350
5367
|
} : {
|
|
5351
|
-
mainAxis: 0,
|
|
5352
|
-
crossAxis: 0,
|
|
5353
|
-
alignmentAxis:
|
|
5354
|
-
...rawValue
|
|
5368
|
+
mainAxis: rawValue.mainAxis || 0,
|
|
5369
|
+
crossAxis: rawValue.crossAxis || 0,
|
|
5370
|
+
alignmentAxis: rawValue.alignmentAxis
|
|
5355
5371
|
};
|
|
5356
5372
|
if (alignment && typeof alignmentAxis === 'number') {
|
|
5357
5373
|
crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;
|
|
@@ -5372,7 +5388,7 @@ async function convertValueToCoords(state, options) {
|
|
|
5372
5388
|
* object may be passed.
|
|
5373
5389
|
* @see https://floating-ui.com/docs/offset
|
|
5374
5390
|
*/
|
|
5375
|
-
const offset$
|
|
5391
|
+
const offset$3 = function (options) {
|
|
5376
5392
|
if (options === void 0) {
|
|
5377
5393
|
options = 0;
|
|
5378
5394
|
}
|
|
@@ -5422,7 +5438,8 @@ const shift$1 = function (options) {
|
|
|
5422
5438
|
const {
|
|
5423
5439
|
x,
|
|
5424
5440
|
y,
|
|
5425
|
-
placement
|
|
5441
|
+
placement,
|
|
5442
|
+
platform
|
|
5426
5443
|
} = state;
|
|
5427
5444
|
const {
|
|
5428
5445
|
mainAxis: checkMainAxis = true,
|
|
@@ -5445,7 +5462,7 @@ const shift$1 = function (options) {
|
|
|
5445
5462
|
x,
|
|
5446
5463
|
y
|
|
5447
5464
|
};
|
|
5448
|
-
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
5465
|
+
const overflow = await platform.detectOverflow(state, detectOverflowOptions);
|
|
5449
5466
|
const crossAxis = getSideAxis(getSide(placement));
|
|
5450
5467
|
const mainAxis = getOppositeAxis(crossAxis);
|
|
5451
5468
|
let mainAxisCoord = coords[mainAxis];
|
|
@@ -5473,7 +5490,11 @@ const shift$1 = function (options) {
|
|
|
5473
5490
|
...limitedCoords,
|
|
5474
5491
|
data: {
|
|
5475
5492
|
x: limitedCoords.x - x,
|
|
5476
|
-
y: limitedCoords.y - y
|
|
5493
|
+
y: limitedCoords.y - y,
|
|
5494
|
+
enabled: {
|
|
5495
|
+
[mainAxis]: checkMainAxis,
|
|
5496
|
+
[crossAxis]: checkCrossAxis
|
|
5497
|
+
}
|
|
5477
5498
|
}
|
|
5478
5499
|
};
|
|
5479
5500
|
}
|
|
@@ -5531,7 +5552,7 @@ const limitShift$1 = function (options) {
|
|
|
5531
5552
|
if (checkCrossAxis) {
|
|
5532
5553
|
var _middlewareData$offse, _middlewareData$offse2;
|
|
5533
5554
|
const len = mainAxis === 'y' ? 'width' : 'height';
|
|
5534
|
-
const isOriginSide =
|
|
5555
|
+
const isOriginSide = originSides.has(getSide(placement));
|
|
5535
5556
|
const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);
|
|
5536
5557
|
const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);
|
|
5537
5558
|
if (crossAxisCoord < limitMin) {
|
|
@@ -5598,27 +5619,36 @@ function isOverflowElement(element) {
|
|
|
5598
5619
|
overflowX,
|
|
5599
5620
|
overflowY,
|
|
5600
5621
|
display
|
|
5601
|
-
} = getComputedStyle(element);
|
|
5602
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) &&
|
|
5622
|
+
} = getComputedStyle$1(element);
|
|
5623
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';
|
|
5603
5624
|
}
|
|
5604
5625
|
function isTableElement(element) {
|
|
5605
|
-
return
|
|
5626
|
+
return /^(table|td|th)$/.test(getNodeName(element));
|
|
5606
5627
|
}
|
|
5607
5628
|
function isTopLayer(element) {
|
|
5608
|
-
|
|
5609
|
-
|
|
5610
|
-
return
|
|
5611
|
-
} catch (e) {
|
|
5612
|
-
return false;
|
|
5629
|
+
try {
|
|
5630
|
+
if (element.matches(':popover-open')) {
|
|
5631
|
+
return true;
|
|
5613
5632
|
}
|
|
5614
|
-
})
|
|
5633
|
+
} catch (_e) {
|
|
5634
|
+
// no-op
|
|
5635
|
+
}
|
|
5636
|
+
try {
|
|
5637
|
+
return element.matches(':modal');
|
|
5638
|
+
} catch (_e) {
|
|
5639
|
+
return false;
|
|
5640
|
+
}
|
|
5615
5641
|
}
|
|
5642
|
+
const willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
|
|
5643
|
+
const containRe = /paint|layout|strict|content/;
|
|
5644
|
+
const isNotNone = value => !!value && value !== 'none';
|
|
5645
|
+
let isWebKitValue;
|
|
5616
5646
|
function isContainingBlock(elementOrCss) {
|
|
5617
|
-
const
|
|
5618
|
-
const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
|
|
5647
|
+
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
5619
5648
|
|
|
5620
5649
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
5621
|
-
|
|
5650
|
+
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
|
5651
|
+
return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');
|
|
5622
5652
|
}
|
|
5623
5653
|
function getContainingBlock(element) {
|
|
5624
5654
|
let currentNode = getParentNode(element);
|
|
@@ -5633,13 +5663,15 @@ function getContainingBlock(element) {
|
|
|
5633
5663
|
return null;
|
|
5634
5664
|
}
|
|
5635
5665
|
function isWebKit() {
|
|
5636
|
-
if (
|
|
5637
|
-
|
|
5666
|
+
if (isWebKitValue == null) {
|
|
5667
|
+
isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');
|
|
5668
|
+
}
|
|
5669
|
+
return isWebKitValue;
|
|
5638
5670
|
}
|
|
5639
5671
|
function isLastTraversableNode(node) {
|
|
5640
|
-
return
|
|
5672
|
+
return /^(html|body|#document)$/.test(getNodeName(node));
|
|
5641
5673
|
}
|
|
5642
|
-
function getComputedStyle(element) {
|
|
5674
|
+
function getComputedStyle$1(element) {
|
|
5643
5675
|
return getWindow(element).getComputedStyle(element);
|
|
5644
5676
|
}
|
|
5645
5677
|
function getNodeScroll(element) {
|
|
@@ -5693,15 +5725,16 @@ function getOverflowAncestors(node, list, traverseIframes) {
|
|
|
5693
5725
|
if (isBody) {
|
|
5694
5726
|
const frameElement = getFrameElement(win);
|
|
5695
5727
|
return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
|
|
5728
|
+
} else {
|
|
5729
|
+
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
|
5696
5730
|
}
|
|
5697
|
-
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
|
5698
5731
|
}
|
|
5699
5732
|
function getFrameElement(win) {
|
|
5700
5733
|
return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
|
|
5701
5734
|
}
|
|
5702
5735
|
|
|
5703
|
-
function getCssDimensions(element) {
|
|
5704
|
-
const css = getComputedStyle(element);
|
|
5736
|
+
function getCssDimensions$1(element) {
|
|
5737
|
+
const css = getComputedStyle$1(element);
|
|
5705
5738
|
// In testing environments, the `width` and `height` properties are empty
|
|
5706
5739
|
// strings for SVG elements, returning NaN. Fallback to `0` in this case.
|
|
5707
5740
|
let width = parseFloat(css.width) || 0;
|
|
@@ -5721,12 +5754,12 @@ function getCssDimensions(element) {
|
|
|
5721
5754
|
};
|
|
5722
5755
|
}
|
|
5723
5756
|
|
|
5724
|
-
function unwrapElement(element) {
|
|
5757
|
+
function unwrapElement$1(element) {
|
|
5725
5758
|
return !isElement(element) ? element.contextElement : element;
|
|
5726
5759
|
}
|
|
5727
5760
|
|
|
5728
|
-
function getScale(element) {
|
|
5729
|
-
const domElement = unwrapElement(element);
|
|
5761
|
+
function getScale$1(element) {
|
|
5762
|
+
const domElement = unwrapElement$1(element);
|
|
5730
5763
|
if (!isHTMLElement(domElement)) {
|
|
5731
5764
|
return createCoords(1);
|
|
5732
5765
|
}
|
|
@@ -5735,7 +5768,7 @@ function getScale(element) {
|
|
|
5735
5768
|
width,
|
|
5736
5769
|
height,
|
|
5737
5770
|
$
|
|
5738
|
-
} = getCssDimensions(domElement);
|
|
5771
|
+
} = getCssDimensions$1(domElement);
|
|
5739
5772
|
let x = ($ ? round(rect.width) : rect.width) / width;
|
|
5740
5773
|
let y = ($ ? round(rect.height) : rect.height) / height;
|
|
5741
5774
|
|
|
@@ -5753,18 +5786,18 @@ function getScale(element) {
|
|
|
5753
5786
|
};
|
|
5754
5787
|
}
|
|
5755
5788
|
|
|
5756
|
-
const noOffsets = /*#__PURE__*/createCoords(0);
|
|
5757
|
-
function getVisualOffsets(element) {
|
|
5789
|
+
const noOffsets$1 = /*#__PURE__*/createCoords(0);
|
|
5790
|
+
function getVisualOffsets$1(element) {
|
|
5758
5791
|
const win = getWindow(element);
|
|
5759
5792
|
if (!isWebKit() || !win.visualViewport) {
|
|
5760
|
-
return noOffsets;
|
|
5793
|
+
return noOffsets$1;
|
|
5761
5794
|
}
|
|
5762
5795
|
return {
|
|
5763
5796
|
x: win.visualViewport.offsetLeft,
|
|
5764
5797
|
y: win.visualViewport.offsetTop
|
|
5765
5798
|
};
|
|
5766
5799
|
}
|
|
5767
|
-
function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
|
|
5800
|
+
function shouldAddVisualOffsets$1(element, isFixed, floatingOffsetParent) {
|
|
5768
5801
|
if (isFixed === void 0) {
|
|
5769
5802
|
isFixed = false;
|
|
5770
5803
|
}
|
|
@@ -5774,7 +5807,7 @@ function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
|
|
|
5774
5807
|
return isFixed;
|
|
5775
5808
|
}
|
|
5776
5809
|
|
|
5777
|
-
function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
|
|
5810
|
+
function getBoundingClientRect$1(element, includeScale, isFixedStrategy, offsetParent) {
|
|
5778
5811
|
if (includeScale === void 0) {
|
|
5779
5812
|
includeScale = false;
|
|
5780
5813
|
}
|
|
@@ -5782,18 +5815,18 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
|
|
|
5782
5815
|
isFixedStrategy = false;
|
|
5783
5816
|
}
|
|
5784
5817
|
const clientRect = element.getBoundingClientRect();
|
|
5785
|
-
const domElement = unwrapElement(element);
|
|
5818
|
+
const domElement = unwrapElement$1(element);
|
|
5786
5819
|
let scale = createCoords(1);
|
|
5787
5820
|
if (includeScale) {
|
|
5788
5821
|
if (offsetParent) {
|
|
5789
5822
|
if (isElement(offsetParent)) {
|
|
5790
|
-
scale = getScale(offsetParent);
|
|
5823
|
+
scale = getScale$1(offsetParent);
|
|
5791
5824
|
}
|
|
5792
5825
|
} else {
|
|
5793
|
-
scale = getScale(element);
|
|
5826
|
+
scale = getScale$1(element);
|
|
5794
5827
|
}
|
|
5795
5828
|
}
|
|
5796
|
-
const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
|
|
5829
|
+
const visualOffsets = shouldAddVisualOffsets$1(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets$1(domElement) : createCoords(0);
|
|
5797
5830
|
let x = (clientRect.left + visualOffsets.x) / scale.x;
|
|
5798
5831
|
let y = (clientRect.top + visualOffsets.y) / scale.y;
|
|
5799
5832
|
let width = clientRect.width / scale.x;
|
|
@@ -5804,9 +5837,9 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
|
|
|
5804
5837
|
let currentWin = win;
|
|
5805
5838
|
let currentIFrame = getFrameElement(currentWin);
|
|
5806
5839
|
while (currentIFrame && offsetParent && offsetWin !== currentWin) {
|
|
5807
|
-
const iframeScale = getScale(currentIFrame);
|
|
5840
|
+
const iframeScale = getScale$1(currentIFrame);
|
|
5808
5841
|
const iframeRect = currentIFrame.getBoundingClientRect();
|
|
5809
|
-
const css = getComputedStyle(currentIFrame);
|
|
5842
|
+
const css = getComputedStyle$1(currentIFrame);
|
|
5810
5843
|
const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
|
|
5811
5844
|
const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
|
|
5812
5845
|
x *= iframeScale.x;
|
|
@@ -5829,22 +5862,22 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
|
|
|
5829
5862
|
|
|
5830
5863
|
// If <html> has a CSS width greater than the viewport, then this will be
|
|
5831
5864
|
// incorrect for RTL.
|
|
5832
|
-
function getWindowScrollBarX(element, rect) {
|
|
5865
|
+
function getWindowScrollBarX$1(element, rect) {
|
|
5833
5866
|
const leftScroll = getNodeScroll(element).scrollLeft;
|
|
5834
5867
|
if (!rect) {
|
|
5835
|
-
return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
|
|
5868
|
+
return getBoundingClientRect$1(getDocumentElement(element)).left + leftScroll;
|
|
5836
5869
|
}
|
|
5837
5870
|
return rect.left + leftScroll;
|
|
5838
5871
|
}
|
|
5839
5872
|
|
|
5840
|
-
function getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {
|
|
5873
|
+
function getHTMLOffset$1(documentElement, scroll, ignoreScrollbarX) {
|
|
5841
5874
|
if (ignoreScrollbarX === void 0) {
|
|
5842
5875
|
ignoreScrollbarX = false;
|
|
5843
5876
|
}
|
|
5844
5877
|
const htmlRect = documentElement.getBoundingClientRect();
|
|
5845
5878
|
const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :
|
|
5846
5879
|
// RTL <body> scrollbar.
|
|
5847
|
-
getWindowScrollBarX(documentElement, htmlRect));
|
|
5880
|
+
getWindowScrollBarX$1(documentElement, htmlRect));
|
|
5848
5881
|
const y = htmlRect.top + scroll.scrollTop;
|
|
5849
5882
|
return {
|
|
5850
5883
|
x,
|
|
@@ -5852,7 +5885,7 @@ function getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {
|
|
|
5852
5885
|
};
|
|
5853
5886
|
}
|
|
5854
5887
|
|
|
5855
|
-
function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
5888
|
+
function convertOffsetParentRelativeRectToViewportRelativeRect$1(_ref) {
|
|
5856
5889
|
let {
|
|
5857
5890
|
elements,
|
|
5858
5891
|
rect,
|
|
@@ -5877,13 +5910,13 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
5877
5910
|
scroll = getNodeScroll(offsetParent);
|
|
5878
5911
|
}
|
|
5879
5912
|
if (isHTMLElement(offsetParent)) {
|
|
5880
|
-
const offsetRect = getBoundingClientRect(offsetParent);
|
|
5881
|
-
scale = getScale(offsetParent);
|
|
5913
|
+
const offsetRect = getBoundingClientRect$1(offsetParent);
|
|
5914
|
+
scale = getScale$1(offsetParent);
|
|
5882
5915
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
5883
5916
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
5884
5917
|
}
|
|
5885
5918
|
}
|
|
5886
|
-
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);
|
|
5919
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset$1(documentElement, scroll, true) : createCoords(0);
|
|
5887
5920
|
return {
|
|
5888
5921
|
width: rect.width * scale.x,
|
|
5889
5922
|
height: rect.height * scale.y,
|
|
@@ -5892,21 +5925,21 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
5892
5925
|
};
|
|
5893
5926
|
}
|
|
5894
5927
|
|
|
5895
|
-
function getClientRects(element) {
|
|
5928
|
+
function getClientRects$1(element) {
|
|
5896
5929
|
return Array.from(element.getClientRects());
|
|
5897
5930
|
}
|
|
5898
5931
|
|
|
5899
5932
|
// Gets the entire size of the scrollable document area, even extending outside
|
|
5900
5933
|
// of the `<html>` and `<body>` rect bounds if horizontally scrollable.
|
|
5901
|
-
function getDocumentRect(element) {
|
|
5934
|
+
function getDocumentRect$1(element) {
|
|
5902
5935
|
const html = getDocumentElement(element);
|
|
5903
5936
|
const scroll = getNodeScroll(element);
|
|
5904
5937
|
const body = element.ownerDocument.body;
|
|
5905
5938
|
const width = max$1(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
|
|
5906
5939
|
const height = max$1(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
|
|
5907
|
-
let x = -scroll.scrollLeft + getWindowScrollBarX(element);
|
|
5940
|
+
let x = -scroll.scrollLeft + getWindowScrollBarX$1(element);
|
|
5908
5941
|
const y = -scroll.scrollTop;
|
|
5909
|
-
if (getComputedStyle(body).direction === 'rtl') {
|
|
5942
|
+
if (getComputedStyle$1(body).direction === 'rtl') {
|
|
5910
5943
|
x += max$1(html.clientWidth, body.clientWidth) - width;
|
|
5911
5944
|
}
|
|
5912
5945
|
return {
|
|
@@ -5917,7 +5950,7 @@ function getDocumentRect(element) {
|
|
|
5917
5950
|
};
|
|
5918
5951
|
}
|
|
5919
5952
|
|
|
5920
|
-
function getViewportRect(element, strategy) {
|
|
5953
|
+
function getViewportRect$1(element, strategy) {
|
|
5921
5954
|
const win = getWindow(element);
|
|
5922
5955
|
const html = getDocumentElement(element);
|
|
5923
5956
|
const visualViewport = win.visualViewport;
|
|
@@ -5943,11 +5976,11 @@ function getViewportRect(element, strategy) {
|
|
|
5943
5976
|
}
|
|
5944
5977
|
|
|
5945
5978
|
// Returns the inner client rect, subtracting scrollbars if present.
|
|
5946
|
-
function getInnerBoundingClientRect(element, strategy) {
|
|
5947
|
-
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
5979
|
+
function getInnerBoundingClientRect$1(element, strategy) {
|
|
5980
|
+
const clientRect = getBoundingClientRect$1(element, true, strategy === 'fixed');
|
|
5948
5981
|
const top = clientRect.top + element.clientTop;
|
|
5949
5982
|
const left = clientRect.left + element.clientLeft;
|
|
5950
|
-
const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
|
|
5983
|
+
const scale = isHTMLElement(element) ? getScale$1(element) : createCoords(1);
|
|
5951
5984
|
const width = element.clientWidth * scale.x;
|
|
5952
5985
|
const height = element.clientHeight * scale.y;
|
|
5953
5986
|
const x = left * scale.x;
|
|
@@ -5959,16 +5992,16 @@ function getInnerBoundingClientRect(element, strategy) {
|
|
|
5959
5992
|
y
|
|
5960
5993
|
};
|
|
5961
5994
|
}
|
|
5962
|
-
function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
|
|
5995
|
+
function getClientRectFromClippingAncestor$1(element, clippingAncestor, strategy) {
|
|
5963
5996
|
let rect;
|
|
5964
5997
|
if (clippingAncestor === 'viewport') {
|
|
5965
|
-
rect = getViewportRect(element, strategy);
|
|
5998
|
+
rect = getViewportRect$1(element, strategy);
|
|
5966
5999
|
} else if (clippingAncestor === 'document') {
|
|
5967
|
-
rect = getDocumentRect(getDocumentElement(element));
|
|
6000
|
+
rect = getDocumentRect$1(getDocumentElement(element));
|
|
5968
6001
|
} else if (isElement(clippingAncestor)) {
|
|
5969
|
-
rect = getInnerBoundingClientRect(clippingAncestor, strategy);
|
|
6002
|
+
rect = getInnerBoundingClientRect$1(clippingAncestor, strategy);
|
|
5970
6003
|
} else {
|
|
5971
|
-
const visualOffsets = getVisualOffsets(element);
|
|
6004
|
+
const visualOffsets = getVisualOffsets$1(element);
|
|
5972
6005
|
rect = {
|
|
5973
6006
|
x: clippingAncestor.x - visualOffsets.x,
|
|
5974
6007
|
y: clippingAncestor.y - visualOffsets.y,
|
|
@@ -5978,35 +6011,35 @@ function getClientRectFromClippingAncestor(element, clippingAncestor, strategy)
|
|
|
5978
6011
|
}
|
|
5979
6012
|
return rectToClientRect(rect);
|
|
5980
6013
|
}
|
|
5981
|
-
function hasFixedPositionAncestor(element, stopNode) {
|
|
6014
|
+
function hasFixedPositionAncestor$1(element, stopNode) {
|
|
5982
6015
|
const parentNode = getParentNode(element);
|
|
5983
6016
|
if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
|
|
5984
6017
|
return false;
|
|
5985
6018
|
}
|
|
5986
|
-
return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
|
|
6019
|
+
return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor$1(parentNode, stopNode);
|
|
5987
6020
|
}
|
|
5988
6021
|
|
|
5989
6022
|
// A "clipping ancestor" is an `overflow` element with the characteristic of
|
|
5990
6023
|
// clipping (or hiding) child elements. This returns all clipping ancestors
|
|
5991
6024
|
// of the given element up the tree.
|
|
5992
|
-
function getClippingElementAncestors(element, cache) {
|
|
6025
|
+
function getClippingElementAncestors$1(element, cache) {
|
|
5993
6026
|
const cachedResult = cache.get(element);
|
|
5994
6027
|
if (cachedResult) {
|
|
5995
6028
|
return cachedResult;
|
|
5996
6029
|
}
|
|
5997
6030
|
let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');
|
|
5998
6031
|
let currentContainingBlockComputedStyle = null;
|
|
5999
|
-
const elementIsFixed = getComputedStyle(element).position === 'fixed';
|
|
6032
|
+
const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
|
|
6000
6033
|
let currentNode = elementIsFixed ? getParentNode(element) : element;
|
|
6001
6034
|
|
|
6002
6035
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
6003
6036
|
while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
|
|
6004
|
-
const computedStyle = getComputedStyle(currentNode);
|
|
6037
|
+
const computedStyle = getComputedStyle$1(currentNode);
|
|
6005
6038
|
const currentNodeIsContaining = isContainingBlock(currentNode);
|
|
6006
6039
|
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
|
6007
6040
|
currentContainingBlockComputedStyle = null;
|
|
6008
6041
|
}
|
|
6009
|
-
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
6042
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor$1(element, currentNode);
|
|
6010
6043
|
if (shouldDropCurrentNode) {
|
|
6011
6044
|
// Drop non-containing blocks.
|
|
6012
6045
|
result = result.filter(ancestor => ancestor !== currentNode);
|
|
@@ -6022,24 +6055,24 @@ function getClippingElementAncestors(element, cache) {
|
|
|
6022
6055
|
|
|
6023
6056
|
// Gets the maximum area that the element is visible in due to any number of
|
|
6024
6057
|
// clipping ancestors.
|
|
6025
|
-
function getClippingRect(_ref) {
|
|
6058
|
+
function getClippingRect$1(_ref) {
|
|
6026
6059
|
let {
|
|
6027
6060
|
element,
|
|
6028
6061
|
boundary,
|
|
6029
6062
|
rootBoundary,
|
|
6030
6063
|
strategy
|
|
6031
6064
|
} = _ref;
|
|
6032
|
-
const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
|
|
6065
|
+
const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors$1(element, this._c) : [].concat(boundary);
|
|
6033
6066
|
const clippingAncestors = [...elementClippingAncestors, rootBoundary];
|
|
6034
6067
|
const firstClippingAncestor = clippingAncestors[0];
|
|
6035
6068
|
const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
|
|
6036
|
-
const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);
|
|
6069
|
+
const rect = getClientRectFromClippingAncestor$1(element, clippingAncestor, strategy);
|
|
6037
6070
|
accRect.top = max$1(rect.top, accRect.top);
|
|
6038
6071
|
accRect.right = min$1(rect.right, accRect.right);
|
|
6039
6072
|
accRect.bottom = min$1(rect.bottom, accRect.bottom);
|
|
6040
6073
|
accRect.left = max$1(rect.left, accRect.left);
|
|
6041
6074
|
return accRect;
|
|
6042
|
-
}, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));
|
|
6075
|
+
}, getClientRectFromClippingAncestor$1(element, firstClippingAncestor, strategy));
|
|
6043
6076
|
return {
|
|
6044
6077
|
width: clippingRect.right - clippingRect.left,
|
|
6045
6078
|
height: clippingRect.bottom - clippingRect.top,
|
|
@@ -6048,22 +6081,22 @@ function getClippingRect(_ref) {
|
|
|
6048
6081
|
};
|
|
6049
6082
|
}
|
|
6050
6083
|
|
|
6051
|
-
function getDimensions(element) {
|
|
6084
|
+
function getDimensions$1(element) {
|
|
6052
6085
|
const {
|
|
6053
6086
|
width,
|
|
6054
6087
|
height
|
|
6055
|
-
} = getCssDimensions(element);
|
|
6088
|
+
} = getCssDimensions$1(element);
|
|
6056
6089
|
return {
|
|
6057
6090
|
width,
|
|
6058
6091
|
height
|
|
6059
6092
|
};
|
|
6060
6093
|
}
|
|
6061
6094
|
|
|
6062
|
-
function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
6095
|
+
function getRectRelativeToOffsetParent$1(element, offsetParent, strategy) {
|
|
6063
6096
|
const isOffsetParentAnElement = isHTMLElement(offsetParent);
|
|
6064
6097
|
const documentElement = getDocumentElement(offsetParent);
|
|
6065
6098
|
const isFixed = strategy === 'fixed';
|
|
6066
|
-
const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
|
|
6099
|
+
const rect = getBoundingClientRect$1(element, true, isFixed, offsetParent);
|
|
6067
6100
|
let scroll = {
|
|
6068
6101
|
scrollLeft: 0,
|
|
6069
6102
|
scrollTop: 0
|
|
@@ -6074,16 +6107,16 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
6074
6107
|
scroll = getNodeScroll(offsetParent);
|
|
6075
6108
|
}
|
|
6076
6109
|
if (isOffsetParentAnElement) {
|
|
6077
|
-
const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
|
|
6110
|
+
const offsetRect = getBoundingClientRect$1(offsetParent, true, isFixed, offsetParent);
|
|
6078
6111
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
6079
6112
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
6080
6113
|
} else if (documentElement) {
|
|
6081
6114
|
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
|
6082
6115
|
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
6083
|
-
offsets.x = getWindowScrollBarX(documentElement);
|
|
6116
|
+
offsets.x = getWindowScrollBarX$1(documentElement);
|
|
6084
6117
|
}
|
|
6085
6118
|
}
|
|
6086
|
-
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
6119
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset$1(documentElement, scroll) : createCoords(0);
|
|
6087
6120
|
const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
|
|
6088
6121
|
const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
|
|
6089
6122
|
return {
|
|
@@ -6094,12 +6127,12 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
6094
6127
|
};
|
|
6095
6128
|
}
|
|
6096
6129
|
|
|
6097
|
-
function isStaticPositioned(element) {
|
|
6098
|
-
return getComputedStyle(element).position === 'static';
|
|
6130
|
+
function isStaticPositioned$1(element) {
|
|
6131
|
+
return getComputedStyle$1(element).position === 'static';
|
|
6099
6132
|
}
|
|
6100
6133
|
|
|
6101
|
-
function getTrueOffsetParent(element, polyfill) {
|
|
6102
|
-
if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {
|
|
6134
|
+
function getTrueOffsetParent$1(element, polyfill) {
|
|
6135
|
+
if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {
|
|
6103
6136
|
return null;
|
|
6104
6137
|
}
|
|
6105
6138
|
if (polyfill) {
|
|
@@ -6119,7 +6152,7 @@ function getTrueOffsetParent(element, polyfill) {
|
|
|
6119
6152
|
|
|
6120
6153
|
// Gets the closest ancestor positioned element. Handles some edge cases,
|
|
6121
6154
|
// such as table ancestors and cross browser bugs.
|
|
6122
|
-
function getOffsetParent(element, polyfill) {
|
|
6155
|
+
function getOffsetParent$1(element, polyfill) {
|
|
6123
6156
|
const win = getWindow(element);
|
|
6124
6157
|
if (isTopLayer(element)) {
|
|
6125
6158
|
return win;
|
|
@@ -6127,29 +6160,29 @@ function getOffsetParent(element, polyfill) {
|
|
|
6127
6160
|
if (!isHTMLElement(element)) {
|
|
6128
6161
|
let svgOffsetParent = getParentNode(element);
|
|
6129
6162
|
while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
|
|
6130
|
-
if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
|
|
6163
|
+
if (isElement(svgOffsetParent) && !isStaticPositioned$1(svgOffsetParent)) {
|
|
6131
6164
|
return svgOffsetParent;
|
|
6132
6165
|
}
|
|
6133
6166
|
svgOffsetParent = getParentNode(svgOffsetParent);
|
|
6134
6167
|
}
|
|
6135
6168
|
return win;
|
|
6136
6169
|
}
|
|
6137
|
-
let offsetParent = getTrueOffsetParent(element, polyfill);
|
|
6138
|
-
while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
|
|
6139
|
-
offsetParent = getTrueOffsetParent(offsetParent, polyfill);
|
|
6170
|
+
let offsetParent = getTrueOffsetParent$1(element, polyfill);
|
|
6171
|
+
while (offsetParent && isTableElement(offsetParent) && isStaticPositioned$1(offsetParent)) {
|
|
6172
|
+
offsetParent = getTrueOffsetParent$1(offsetParent, polyfill);
|
|
6140
6173
|
}
|
|
6141
|
-
if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
|
|
6174
|
+
if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned$1(offsetParent) && !isContainingBlock(offsetParent)) {
|
|
6142
6175
|
return win;
|
|
6143
6176
|
}
|
|
6144
6177
|
return offsetParent || getContainingBlock(element) || win;
|
|
6145
6178
|
}
|
|
6146
6179
|
|
|
6147
|
-
const getElementRects = async function (data) {
|
|
6148
|
-
const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
|
|
6180
|
+
const getElementRects$1 = async function (data) {
|
|
6181
|
+
const getOffsetParentFn = this.getOffsetParent || getOffsetParent$1;
|
|
6149
6182
|
const getDimensionsFn = this.getDimensions;
|
|
6150
6183
|
const floatingDimensions = await getDimensionsFn(data.floating);
|
|
6151
6184
|
return {
|
|
6152
|
-
reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
|
|
6185
|
+
reference: getRectRelativeToOffsetParent$1(data.reference, await getOffsetParentFn(data.floating), data.strategy),
|
|
6153
6186
|
floating: {
|
|
6154
6187
|
x: 0,
|
|
6155
6188
|
y: 0,
|
|
@@ -6159,25 +6192,25 @@ const getElementRects = async function (data) {
|
|
|
6159
6192
|
};
|
|
6160
6193
|
};
|
|
6161
6194
|
|
|
6162
|
-
function isRTL(element) {
|
|
6163
|
-
return getComputedStyle(element).direction === 'rtl';
|
|
6195
|
+
function isRTL$1(element) {
|
|
6196
|
+
return getComputedStyle$1(element).direction === 'rtl';
|
|
6164
6197
|
}
|
|
6165
6198
|
|
|
6166
|
-
const platform = {
|
|
6167
|
-
convertOffsetParentRelativeRectToViewportRelativeRect,
|
|
6199
|
+
const platform$1 = {
|
|
6200
|
+
convertOffsetParentRelativeRectToViewportRelativeRect: convertOffsetParentRelativeRectToViewportRelativeRect$1,
|
|
6168
6201
|
getDocumentElement,
|
|
6169
|
-
getClippingRect,
|
|
6170
|
-
getOffsetParent,
|
|
6171
|
-
getElementRects,
|
|
6172
|
-
getClientRects,
|
|
6173
|
-
getDimensions,
|
|
6174
|
-
getScale,
|
|
6202
|
+
getClippingRect: getClippingRect$1,
|
|
6203
|
+
getOffsetParent: getOffsetParent$1,
|
|
6204
|
+
getElementRects: getElementRects$1,
|
|
6205
|
+
getClientRects: getClientRects$1,
|
|
6206
|
+
getDimensions: getDimensions$1,
|
|
6207
|
+
getScale: getScale$1,
|
|
6175
6208
|
isElement,
|
|
6176
|
-
isRTL
|
|
6209
|
+
isRTL: isRTL$1
|
|
6177
6210
|
};
|
|
6178
6211
|
|
|
6179
6212
|
// https://samthor.au/2021/observing-dom/
|
|
6180
|
-
function observeMove(element, onMove) {
|
|
6213
|
+
function observeMove$1(element, onMove) {
|
|
6181
6214
|
let io = null;
|
|
6182
6215
|
let timeoutId;
|
|
6183
6216
|
const root = getDocumentElement(element);
|
|
@@ -6261,7 +6294,7 @@ function observeMove(element, onMove) {
|
|
|
6261
6294
|
* removed from the DOM or hidden from the screen.
|
|
6262
6295
|
* @see https://floating-ui.com/docs/autoUpdate
|
|
6263
6296
|
*/
|
|
6264
|
-
function autoUpdate(reference, floating, update, options) {
|
|
6297
|
+
function autoUpdate$1(reference, floating, update, options) {
|
|
6265
6298
|
if (options === void 0) {
|
|
6266
6299
|
options = {};
|
|
6267
6300
|
}
|
|
@@ -6272,7 +6305,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
6272
6305
|
layoutShift = typeof IntersectionObserver === 'function',
|
|
6273
6306
|
animationFrame = false
|
|
6274
6307
|
} = options;
|
|
6275
|
-
const referenceEl = unwrapElement(reference);
|
|
6308
|
+
const referenceEl = unwrapElement$1(reference);
|
|
6276
6309
|
const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];
|
|
6277
6310
|
ancestors.forEach(ancestor => {
|
|
6278
6311
|
ancestorScroll && ancestor.addEventListener('scroll', update, {
|
|
@@ -6280,7 +6313,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
6280
6313
|
});
|
|
6281
6314
|
ancestorResize && ancestor.addEventListener('resize', update);
|
|
6282
6315
|
});
|
|
6283
|
-
const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
|
|
6316
|
+
const cleanupIo = referenceEl && layoutShift ? observeMove$1(referenceEl, update) : null;
|
|
6284
6317
|
let reobserveFrame = -1;
|
|
6285
6318
|
let resizeObserver = null;
|
|
6286
6319
|
if (elementResize) {
|
|
@@ -6304,12 +6337,12 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
6304
6337
|
resizeObserver.observe(floating);
|
|
6305
6338
|
}
|
|
6306
6339
|
let frameId;
|
|
6307
|
-
let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
|
|
6340
|
+
let prevRefRect = animationFrame ? getBoundingClientRect$1(reference) : null;
|
|
6308
6341
|
if (animationFrame) {
|
|
6309
6342
|
frameLoop();
|
|
6310
6343
|
}
|
|
6311
6344
|
function frameLoop() {
|
|
6312
|
-
const nextRefRect = getBoundingClientRect(reference);
|
|
6345
|
+
const nextRefRect = getBoundingClientRect$1(reference);
|
|
6313
6346
|
if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {
|
|
6314
6347
|
update();
|
|
6315
6348
|
}
|
|
@@ -6339,7 +6372,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
6339
6372
|
* object may be passed.
|
|
6340
6373
|
* @see https://floating-ui.com/docs/offset
|
|
6341
6374
|
*/
|
|
6342
|
-
const offset$
|
|
6375
|
+
const offset$2 = offset$3;
|
|
6343
6376
|
|
|
6344
6377
|
/**
|
|
6345
6378
|
* Optimizes the visibility of the floating element by shifting it in order to
|
|
@@ -6354,14 +6387,7 @@ const shift = shift$1;
|
|
|
6354
6387
|
* clipping boundary. Alternative to `autoPlacement`.
|
|
6355
6388
|
* @see https://floating-ui.com/docs/flip
|
|
6356
6389
|
*/
|
|
6357
|
-
const flip$
|
|
6358
|
-
|
|
6359
|
-
/**
|
|
6360
|
-
* Provides data to position an inner element of the floating element so that it
|
|
6361
|
-
* appears centered to the reference element.
|
|
6362
|
-
* @see https://floating-ui.com/docs/arrow
|
|
6363
|
-
*/
|
|
6364
|
-
const arrow$2 = arrow$3;
|
|
6390
|
+
const flip$2 = flip$3;
|
|
6365
6391
|
|
|
6366
6392
|
/**
|
|
6367
6393
|
* Built-in `limiter` that will stop `shift()` at a certain point.
|
|
@@ -6372,20 +6398,20 @@ const limitShift = limitShift$1;
|
|
|
6372
6398
|
* Computes the `x` and `y` coordinates that will place the floating element
|
|
6373
6399
|
* next to a given reference element.
|
|
6374
6400
|
*/
|
|
6375
|
-
const computePosition = (reference, floating, options) => {
|
|
6401
|
+
const computePosition$1 = (reference, floating, options) => {
|
|
6376
6402
|
// This caches the expensive `getClippingElementAncestors` function so that
|
|
6377
6403
|
// multiple lifecycle resets re-use the same result. It only lives for a
|
|
6378
6404
|
// single call. If other functions become expensive, we can add them as well.
|
|
6379
6405
|
const cache = new Map();
|
|
6380
6406
|
const mergedOptions = {
|
|
6381
|
-
platform,
|
|
6407
|
+
platform: platform$1,
|
|
6382
6408
|
...options
|
|
6383
6409
|
};
|
|
6384
6410
|
const platformWithCache = {
|
|
6385
6411
|
...mergedOptions.platform,
|
|
6386
6412
|
_c: cache
|
|
6387
6413
|
};
|
|
6388
|
-
return computePosition$
|
|
6414
|
+
return computePosition$2(reference, floating, {
|
|
6389
6415
|
...mergedOptions,
|
|
6390
6416
|
platform: platformWithCache
|
|
6391
6417
|
});
|
|
@@ -6414,8 +6440,8 @@ function useCombinedRefs(...refs) {
|
|
|
6414
6440
|
*/
|
|
6415
6441
|
|
|
6416
6442
|
function setupFloating(reference, floating, options) {
|
|
6417
|
-
return autoUpdate(reference, floating, () => {
|
|
6418
|
-
computePosition(reference, floating, options).then(({
|
|
6443
|
+
return autoUpdate$1(reference, floating, () => {
|
|
6444
|
+
computePosition$1(reference, floating, options).then(({
|
|
6419
6445
|
x,
|
|
6420
6446
|
y
|
|
6421
6447
|
}) => {
|
|
@@ -6611,7 +6637,7 @@ const Tooltip = /*#__PURE__*/React__namespace.default.forwardRef(function Toolti
|
|
|
6611
6637
|
if (open && !disabled && combinedTriggerRef.current && tooltipRef.current) {
|
|
6612
6638
|
cleanup = setupFloating(combinedTriggerRef.current, tooltipRef.current, {
|
|
6613
6639
|
placement,
|
|
6614
|
-
middleware: [offset$
|
|
6640
|
+
middleware: [offset$2(8), flip$2({
|
|
6615
6641
|
fallbackPlacements
|
|
6616
6642
|
}), shift({
|
|
6617
6643
|
limiter: limitShift()
|
|
@@ -8842,7 +8868,7 @@ const Dropdown = /*#__PURE__*/React__namespace.default.forwardRef(function Dropd
|
|
|
8842
8868
|
if (popperReference && dropdownRef.current) {
|
|
8843
8869
|
cleanup = setupFloating(popperReference, dropdownRef.current, {
|
|
8844
8870
|
placement,
|
|
8845
|
-
middleware: [flip$
|
|
8871
|
+
middleware: [flip$2(), shift({
|
|
8846
8872
|
limiter: limitShift()
|
|
8847
8873
|
})],
|
|
8848
8874
|
strategy: 'fixed'
|
|
@@ -17984,23 +18010,749 @@ function subYears(date, amount) {
|
|
|
17984
18010
|
return addYears(date, -amount);
|
|
17985
18011
|
}
|
|
17986
18012
|
|
|
17987
|
-
|
|
17988
|
-
|
|
17989
|
-
//
|
|
17990
|
-
//
|
|
17991
|
-
|
|
17992
|
-
|
|
17993
|
-
|
|
17994
|
-
|
|
17995
|
-
|
|
17996
|
-
|
|
17997
|
-
|
|
17998
|
-
|
|
17999
|
-
|
|
18000
|
-
}
|
|
18001
|
-
|
|
18002
|
-
|
|
18003
|
-
|
|
18013
|
+
function getCssDimensions(element) {
|
|
18014
|
+
const css = getComputedStyle$1(element);
|
|
18015
|
+
// In testing environments, the `width` and `height` properties are empty
|
|
18016
|
+
// strings for SVG elements, returning NaN. Fallback to `0` in this case.
|
|
18017
|
+
let width = parseFloat(css.width) || 0;
|
|
18018
|
+
let height = parseFloat(css.height) || 0;
|
|
18019
|
+
const hasOffset = isHTMLElement(element);
|
|
18020
|
+
const offsetWidth = hasOffset ? element.offsetWidth : width;
|
|
18021
|
+
const offsetHeight = hasOffset ? element.offsetHeight : height;
|
|
18022
|
+
const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
|
|
18023
|
+
if (shouldFallback) {
|
|
18024
|
+
width = offsetWidth;
|
|
18025
|
+
height = offsetHeight;
|
|
18026
|
+
}
|
|
18027
|
+
return {
|
|
18028
|
+
width,
|
|
18029
|
+
height,
|
|
18030
|
+
$: shouldFallback
|
|
18031
|
+
};
|
|
18032
|
+
}
|
|
18033
|
+
|
|
18034
|
+
function unwrapElement(element) {
|
|
18035
|
+
return !isElement(element) ? element.contextElement : element;
|
|
18036
|
+
}
|
|
18037
|
+
|
|
18038
|
+
function getScale(element) {
|
|
18039
|
+
const domElement = unwrapElement(element);
|
|
18040
|
+
if (!isHTMLElement(domElement)) {
|
|
18041
|
+
return createCoords(1);
|
|
18042
|
+
}
|
|
18043
|
+
const rect = domElement.getBoundingClientRect();
|
|
18044
|
+
const {
|
|
18045
|
+
width,
|
|
18046
|
+
height,
|
|
18047
|
+
$
|
|
18048
|
+
} = getCssDimensions(domElement);
|
|
18049
|
+
let x = ($ ? round(rect.width) : rect.width) / width;
|
|
18050
|
+
let y = ($ ? round(rect.height) : rect.height) / height;
|
|
18051
|
+
|
|
18052
|
+
// 0, NaN, or Infinity should always fallback to 1.
|
|
18053
|
+
|
|
18054
|
+
if (!x || !Number.isFinite(x)) {
|
|
18055
|
+
x = 1;
|
|
18056
|
+
}
|
|
18057
|
+
if (!y || !Number.isFinite(y)) {
|
|
18058
|
+
y = 1;
|
|
18059
|
+
}
|
|
18060
|
+
return {
|
|
18061
|
+
x,
|
|
18062
|
+
y
|
|
18063
|
+
};
|
|
18064
|
+
}
|
|
18065
|
+
|
|
18066
|
+
const noOffsets = /*#__PURE__*/createCoords(0);
|
|
18067
|
+
function getVisualOffsets(element) {
|
|
18068
|
+
const win = getWindow(element);
|
|
18069
|
+
if (!isWebKit() || !win.visualViewport) {
|
|
18070
|
+
return noOffsets;
|
|
18071
|
+
}
|
|
18072
|
+
return {
|
|
18073
|
+
x: win.visualViewport.offsetLeft,
|
|
18074
|
+
y: win.visualViewport.offsetTop
|
|
18075
|
+
};
|
|
18076
|
+
}
|
|
18077
|
+
function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
|
|
18078
|
+
if (isFixed === void 0) {
|
|
18079
|
+
isFixed = false;
|
|
18080
|
+
}
|
|
18081
|
+
if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {
|
|
18082
|
+
return false;
|
|
18083
|
+
}
|
|
18084
|
+
return isFixed;
|
|
18085
|
+
}
|
|
18086
|
+
|
|
18087
|
+
function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
|
|
18088
|
+
if (includeScale === void 0) {
|
|
18089
|
+
includeScale = false;
|
|
18090
|
+
}
|
|
18091
|
+
if (isFixedStrategy === void 0) {
|
|
18092
|
+
isFixedStrategy = false;
|
|
18093
|
+
}
|
|
18094
|
+
const clientRect = element.getBoundingClientRect();
|
|
18095
|
+
const domElement = unwrapElement(element);
|
|
18096
|
+
let scale = createCoords(1);
|
|
18097
|
+
if (includeScale) {
|
|
18098
|
+
if (offsetParent) {
|
|
18099
|
+
if (isElement(offsetParent)) {
|
|
18100
|
+
scale = getScale(offsetParent);
|
|
18101
|
+
}
|
|
18102
|
+
} else {
|
|
18103
|
+
scale = getScale(element);
|
|
18104
|
+
}
|
|
18105
|
+
}
|
|
18106
|
+
const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
|
|
18107
|
+
let x = (clientRect.left + visualOffsets.x) / scale.x;
|
|
18108
|
+
let y = (clientRect.top + visualOffsets.y) / scale.y;
|
|
18109
|
+
let width = clientRect.width / scale.x;
|
|
18110
|
+
let height = clientRect.height / scale.y;
|
|
18111
|
+
if (domElement) {
|
|
18112
|
+
const win = getWindow(domElement);
|
|
18113
|
+
const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
|
|
18114
|
+
let currentWin = win;
|
|
18115
|
+
let currentIFrame = getFrameElement(currentWin);
|
|
18116
|
+
while (currentIFrame && offsetParent && offsetWin !== currentWin) {
|
|
18117
|
+
const iframeScale = getScale(currentIFrame);
|
|
18118
|
+
const iframeRect = currentIFrame.getBoundingClientRect();
|
|
18119
|
+
const css = getComputedStyle$1(currentIFrame);
|
|
18120
|
+
const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
|
|
18121
|
+
const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
|
|
18122
|
+
x *= iframeScale.x;
|
|
18123
|
+
y *= iframeScale.y;
|
|
18124
|
+
width *= iframeScale.x;
|
|
18125
|
+
height *= iframeScale.y;
|
|
18126
|
+
x += left;
|
|
18127
|
+
y += top;
|
|
18128
|
+
currentWin = getWindow(currentIFrame);
|
|
18129
|
+
currentIFrame = getFrameElement(currentWin);
|
|
18130
|
+
}
|
|
18131
|
+
}
|
|
18132
|
+
return rectToClientRect({
|
|
18133
|
+
width,
|
|
18134
|
+
height,
|
|
18135
|
+
x,
|
|
18136
|
+
y
|
|
18137
|
+
});
|
|
18138
|
+
}
|
|
18139
|
+
|
|
18140
|
+
// If <html> has a CSS width greater than the viewport, then this will be
|
|
18141
|
+
// incorrect for RTL.
|
|
18142
|
+
function getWindowScrollBarX(element, rect) {
|
|
18143
|
+
const leftScroll = getNodeScroll(element).scrollLeft;
|
|
18144
|
+
if (!rect) {
|
|
18145
|
+
return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
|
|
18146
|
+
}
|
|
18147
|
+
return rect.left + leftScroll;
|
|
18148
|
+
}
|
|
18149
|
+
|
|
18150
|
+
function getHTMLOffset(documentElement, scroll) {
|
|
18151
|
+
const htmlRect = documentElement.getBoundingClientRect();
|
|
18152
|
+
const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
|
|
18153
|
+
const y = htmlRect.top + scroll.scrollTop;
|
|
18154
|
+
return {
|
|
18155
|
+
x,
|
|
18156
|
+
y
|
|
18157
|
+
};
|
|
18158
|
+
}
|
|
18159
|
+
|
|
18160
|
+
function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
18161
|
+
let {
|
|
18162
|
+
elements,
|
|
18163
|
+
rect,
|
|
18164
|
+
offsetParent,
|
|
18165
|
+
strategy
|
|
18166
|
+
} = _ref;
|
|
18167
|
+
const isFixed = strategy === 'fixed';
|
|
18168
|
+
const documentElement = getDocumentElement(offsetParent);
|
|
18169
|
+
const topLayer = elements ? isTopLayer(elements.floating) : false;
|
|
18170
|
+
if (offsetParent === documentElement || topLayer && isFixed) {
|
|
18171
|
+
return rect;
|
|
18172
|
+
}
|
|
18173
|
+
let scroll = {
|
|
18174
|
+
scrollLeft: 0,
|
|
18175
|
+
scrollTop: 0
|
|
18176
|
+
};
|
|
18177
|
+
let scale = createCoords(1);
|
|
18178
|
+
const offsets = createCoords(0);
|
|
18179
|
+
const isOffsetParentAnElement = isHTMLElement(offsetParent);
|
|
18180
|
+
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
|
18181
|
+
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
18182
|
+
scroll = getNodeScroll(offsetParent);
|
|
18183
|
+
}
|
|
18184
|
+
if (isOffsetParentAnElement) {
|
|
18185
|
+
const offsetRect = getBoundingClientRect(offsetParent);
|
|
18186
|
+
scale = getScale(offsetParent);
|
|
18187
|
+
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
18188
|
+
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
18189
|
+
}
|
|
18190
|
+
}
|
|
18191
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
18192
|
+
return {
|
|
18193
|
+
width: rect.width * scale.x,
|
|
18194
|
+
height: rect.height * scale.y,
|
|
18195
|
+
x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
|
|
18196
|
+
y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
|
|
18197
|
+
};
|
|
18198
|
+
}
|
|
18199
|
+
|
|
18200
|
+
function getClientRects(element) {
|
|
18201
|
+
return Array.from(element.getClientRects());
|
|
18202
|
+
}
|
|
18203
|
+
|
|
18204
|
+
// Gets the entire size of the scrollable document area, even extending outside
|
|
18205
|
+
// of the `<html>` and `<body>` rect bounds if horizontally scrollable.
|
|
18206
|
+
function getDocumentRect(element) {
|
|
18207
|
+
const html = getDocumentElement(element);
|
|
18208
|
+
const scroll = getNodeScroll(element);
|
|
18209
|
+
const body = element.ownerDocument.body;
|
|
18210
|
+
const width = max$1(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
|
|
18211
|
+
const height = max$1(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
|
|
18212
|
+
let x = -scroll.scrollLeft + getWindowScrollBarX(element);
|
|
18213
|
+
const y = -scroll.scrollTop;
|
|
18214
|
+
if (getComputedStyle$1(body).direction === 'rtl') {
|
|
18215
|
+
x += max$1(html.clientWidth, body.clientWidth) - width;
|
|
18216
|
+
}
|
|
18217
|
+
return {
|
|
18218
|
+
width,
|
|
18219
|
+
height,
|
|
18220
|
+
x,
|
|
18221
|
+
y
|
|
18222
|
+
};
|
|
18223
|
+
}
|
|
18224
|
+
|
|
18225
|
+
// Safety check: ensure the scrollbar space is reasonable in case this
|
|
18226
|
+
// calculation is affected by unusual styles.
|
|
18227
|
+
// Most scrollbars leave 15-18px of space.
|
|
18228
|
+
const SCROLLBAR_MAX = 25;
|
|
18229
|
+
function getViewportRect(element, strategy) {
|
|
18230
|
+
const win = getWindow(element);
|
|
18231
|
+
const html = getDocumentElement(element);
|
|
18232
|
+
const visualViewport = win.visualViewport;
|
|
18233
|
+
let width = html.clientWidth;
|
|
18234
|
+
let height = html.clientHeight;
|
|
18235
|
+
let x = 0;
|
|
18236
|
+
let y = 0;
|
|
18237
|
+
if (visualViewport) {
|
|
18238
|
+
width = visualViewport.width;
|
|
18239
|
+
height = visualViewport.height;
|
|
18240
|
+
const visualViewportBased = isWebKit();
|
|
18241
|
+
if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {
|
|
18242
|
+
x = visualViewport.offsetLeft;
|
|
18243
|
+
y = visualViewport.offsetTop;
|
|
18244
|
+
}
|
|
18245
|
+
}
|
|
18246
|
+
const windowScrollbarX = getWindowScrollBarX(html);
|
|
18247
|
+
// <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
|
|
18248
|
+
// visual width of the <html> but this is not considered in the size
|
|
18249
|
+
// of `html.clientWidth`.
|
|
18250
|
+
if (windowScrollbarX <= 0) {
|
|
18251
|
+
const doc = html.ownerDocument;
|
|
18252
|
+
const body = doc.body;
|
|
18253
|
+
const bodyStyles = getComputedStyle(body);
|
|
18254
|
+
const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
|
|
18255
|
+
const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
|
|
18256
|
+
if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
|
|
18257
|
+
width -= clippingStableScrollbarWidth;
|
|
18258
|
+
}
|
|
18259
|
+
} else if (windowScrollbarX <= SCROLLBAR_MAX) {
|
|
18260
|
+
// If the <body> scrollbar is on the left, the width needs to be extended
|
|
18261
|
+
// by the scrollbar amount so there isn't extra space on the right.
|
|
18262
|
+
width += windowScrollbarX;
|
|
18263
|
+
}
|
|
18264
|
+
return {
|
|
18265
|
+
width,
|
|
18266
|
+
height,
|
|
18267
|
+
x,
|
|
18268
|
+
y
|
|
18269
|
+
};
|
|
18270
|
+
}
|
|
18271
|
+
|
|
18272
|
+
// Returns the inner client rect, subtracting scrollbars if present.
|
|
18273
|
+
function getInnerBoundingClientRect(element, strategy) {
|
|
18274
|
+
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
18275
|
+
const top = clientRect.top + element.clientTop;
|
|
18276
|
+
const left = clientRect.left + element.clientLeft;
|
|
18277
|
+
const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
|
|
18278
|
+
const width = element.clientWidth * scale.x;
|
|
18279
|
+
const height = element.clientHeight * scale.y;
|
|
18280
|
+
const x = left * scale.x;
|
|
18281
|
+
const y = top * scale.y;
|
|
18282
|
+
return {
|
|
18283
|
+
width,
|
|
18284
|
+
height,
|
|
18285
|
+
x,
|
|
18286
|
+
y
|
|
18287
|
+
};
|
|
18288
|
+
}
|
|
18289
|
+
function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
|
|
18290
|
+
let rect;
|
|
18291
|
+
if (clippingAncestor === 'viewport') {
|
|
18292
|
+
rect = getViewportRect(element, strategy);
|
|
18293
|
+
} else if (clippingAncestor === 'document') {
|
|
18294
|
+
rect = getDocumentRect(getDocumentElement(element));
|
|
18295
|
+
} else if (isElement(clippingAncestor)) {
|
|
18296
|
+
rect = getInnerBoundingClientRect(clippingAncestor, strategy);
|
|
18297
|
+
} else {
|
|
18298
|
+
const visualOffsets = getVisualOffsets(element);
|
|
18299
|
+
rect = {
|
|
18300
|
+
x: clippingAncestor.x - visualOffsets.x,
|
|
18301
|
+
y: clippingAncestor.y - visualOffsets.y,
|
|
18302
|
+
width: clippingAncestor.width,
|
|
18303
|
+
height: clippingAncestor.height
|
|
18304
|
+
};
|
|
18305
|
+
}
|
|
18306
|
+
return rectToClientRect(rect);
|
|
18307
|
+
}
|
|
18308
|
+
function hasFixedPositionAncestor(element, stopNode) {
|
|
18309
|
+
const parentNode = getParentNode(element);
|
|
18310
|
+
if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
|
|
18311
|
+
return false;
|
|
18312
|
+
}
|
|
18313
|
+
return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
|
|
18314
|
+
}
|
|
18315
|
+
|
|
18316
|
+
// A "clipping ancestor" is an `overflow` element with the characteristic of
|
|
18317
|
+
// clipping (or hiding) child elements. This returns all clipping ancestors
|
|
18318
|
+
// of the given element up the tree.
|
|
18319
|
+
function getClippingElementAncestors(element, cache) {
|
|
18320
|
+
const cachedResult = cache.get(element);
|
|
18321
|
+
if (cachedResult) {
|
|
18322
|
+
return cachedResult;
|
|
18323
|
+
}
|
|
18324
|
+
let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');
|
|
18325
|
+
let currentContainingBlockComputedStyle = null;
|
|
18326
|
+
const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
|
|
18327
|
+
let currentNode = elementIsFixed ? getParentNode(element) : element;
|
|
18328
|
+
|
|
18329
|
+
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
18330
|
+
while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
|
|
18331
|
+
const computedStyle = getComputedStyle$1(currentNode);
|
|
18332
|
+
const currentNodeIsContaining = isContainingBlock(currentNode);
|
|
18333
|
+
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
|
18334
|
+
currentContainingBlockComputedStyle = null;
|
|
18335
|
+
}
|
|
18336
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
18337
|
+
if (shouldDropCurrentNode) {
|
|
18338
|
+
// Drop non-containing blocks.
|
|
18339
|
+
result = result.filter(ancestor => ancestor !== currentNode);
|
|
18340
|
+
} else {
|
|
18341
|
+
// Record last containing block for next iteration.
|
|
18342
|
+
currentContainingBlockComputedStyle = computedStyle;
|
|
18343
|
+
}
|
|
18344
|
+
currentNode = getParentNode(currentNode);
|
|
18345
|
+
}
|
|
18346
|
+
cache.set(element, result);
|
|
18347
|
+
return result;
|
|
18348
|
+
}
|
|
18349
|
+
|
|
18350
|
+
// Gets the maximum area that the element is visible in due to any number of
|
|
18351
|
+
// clipping ancestors.
|
|
18352
|
+
function getClippingRect(_ref) {
|
|
18353
|
+
let {
|
|
18354
|
+
element,
|
|
18355
|
+
boundary,
|
|
18356
|
+
rootBoundary,
|
|
18357
|
+
strategy
|
|
18358
|
+
} = _ref;
|
|
18359
|
+
const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
|
|
18360
|
+
const clippingAncestors = [...elementClippingAncestors, rootBoundary];
|
|
18361
|
+
const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
|
|
18362
|
+
let top = firstRect.top;
|
|
18363
|
+
let right = firstRect.right;
|
|
18364
|
+
let bottom = firstRect.bottom;
|
|
18365
|
+
let left = firstRect.left;
|
|
18366
|
+
for (let i = 1; i < clippingAncestors.length; i++) {
|
|
18367
|
+
const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
|
|
18368
|
+
top = max$1(rect.top, top);
|
|
18369
|
+
right = min$1(rect.right, right);
|
|
18370
|
+
bottom = min$1(rect.bottom, bottom);
|
|
18371
|
+
left = max$1(rect.left, left);
|
|
18372
|
+
}
|
|
18373
|
+
return {
|
|
18374
|
+
width: right - left,
|
|
18375
|
+
height: bottom - top,
|
|
18376
|
+
x: left,
|
|
18377
|
+
y: top
|
|
18378
|
+
};
|
|
18379
|
+
}
|
|
18380
|
+
|
|
18381
|
+
function getDimensions(element) {
|
|
18382
|
+
const {
|
|
18383
|
+
width,
|
|
18384
|
+
height
|
|
18385
|
+
} = getCssDimensions(element);
|
|
18386
|
+
return {
|
|
18387
|
+
width,
|
|
18388
|
+
height
|
|
18389
|
+
};
|
|
18390
|
+
}
|
|
18391
|
+
|
|
18392
|
+
function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
18393
|
+
const isOffsetParentAnElement = isHTMLElement(offsetParent);
|
|
18394
|
+
const documentElement = getDocumentElement(offsetParent);
|
|
18395
|
+
const isFixed = strategy === 'fixed';
|
|
18396
|
+
const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
|
|
18397
|
+
let scroll = {
|
|
18398
|
+
scrollLeft: 0,
|
|
18399
|
+
scrollTop: 0
|
|
18400
|
+
};
|
|
18401
|
+
const offsets = createCoords(0);
|
|
18402
|
+
|
|
18403
|
+
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
|
18404
|
+
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
18405
|
+
function setLeftRTLScrollbarOffset() {
|
|
18406
|
+
offsets.x = getWindowScrollBarX(documentElement);
|
|
18407
|
+
}
|
|
18408
|
+
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
|
18409
|
+
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
18410
|
+
scroll = getNodeScroll(offsetParent);
|
|
18411
|
+
}
|
|
18412
|
+
if (isOffsetParentAnElement) {
|
|
18413
|
+
const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
|
|
18414
|
+
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
18415
|
+
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
18416
|
+
} else if (documentElement) {
|
|
18417
|
+
setLeftRTLScrollbarOffset();
|
|
18418
|
+
}
|
|
18419
|
+
}
|
|
18420
|
+
if (isFixed && !isOffsetParentAnElement && documentElement) {
|
|
18421
|
+
setLeftRTLScrollbarOffset();
|
|
18422
|
+
}
|
|
18423
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
18424
|
+
const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
|
|
18425
|
+
const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
|
|
18426
|
+
return {
|
|
18427
|
+
x,
|
|
18428
|
+
y,
|
|
18429
|
+
width: rect.width,
|
|
18430
|
+
height: rect.height
|
|
18431
|
+
};
|
|
18432
|
+
}
|
|
18433
|
+
|
|
18434
|
+
function isStaticPositioned(element) {
|
|
18435
|
+
return getComputedStyle$1(element).position === 'static';
|
|
18436
|
+
}
|
|
18437
|
+
|
|
18438
|
+
function getTrueOffsetParent(element, polyfill) {
|
|
18439
|
+
if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {
|
|
18440
|
+
return null;
|
|
18441
|
+
}
|
|
18442
|
+
if (polyfill) {
|
|
18443
|
+
return polyfill(element);
|
|
18444
|
+
}
|
|
18445
|
+
let rawOffsetParent = element.offsetParent;
|
|
18446
|
+
|
|
18447
|
+
// Firefox returns the <html> element as the offsetParent if it's non-static,
|
|
18448
|
+
// while Chrome and Safari return the <body> element. The <body> element must
|
|
18449
|
+
// be used to perform the correct calculations even if the <html> element is
|
|
18450
|
+
// non-static.
|
|
18451
|
+
if (getDocumentElement(element) === rawOffsetParent) {
|
|
18452
|
+
rawOffsetParent = rawOffsetParent.ownerDocument.body;
|
|
18453
|
+
}
|
|
18454
|
+
return rawOffsetParent;
|
|
18455
|
+
}
|
|
18456
|
+
|
|
18457
|
+
// Gets the closest ancestor positioned element. Handles some edge cases,
|
|
18458
|
+
// such as table ancestors and cross browser bugs.
|
|
18459
|
+
function getOffsetParent(element, polyfill) {
|
|
18460
|
+
const win = getWindow(element);
|
|
18461
|
+
if (isTopLayer(element)) {
|
|
18462
|
+
return win;
|
|
18463
|
+
}
|
|
18464
|
+
if (!isHTMLElement(element)) {
|
|
18465
|
+
let svgOffsetParent = getParentNode(element);
|
|
18466
|
+
while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
|
|
18467
|
+
if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
|
|
18468
|
+
return svgOffsetParent;
|
|
18469
|
+
}
|
|
18470
|
+
svgOffsetParent = getParentNode(svgOffsetParent);
|
|
18471
|
+
}
|
|
18472
|
+
return win;
|
|
18473
|
+
}
|
|
18474
|
+
let offsetParent = getTrueOffsetParent(element, polyfill);
|
|
18475
|
+
while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
|
|
18476
|
+
offsetParent = getTrueOffsetParent(offsetParent, polyfill);
|
|
18477
|
+
}
|
|
18478
|
+
if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
|
|
18479
|
+
return win;
|
|
18480
|
+
}
|
|
18481
|
+
return offsetParent || getContainingBlock(element) || win;
|
|
18482
|
+
}
|
|
18483
|
+
|
|
18484
|
+
const getElementRects = async function (data) {
|
|
18485
|
+
const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
|
|
18486
|
+
const getDimensionsFn = this.getDimensions;
|
|
18487
|
+
const floatingDimensions = await getDimensionsFn(data.floating);
|
|
18488
|
+
return {
|
|
18489
|
+
reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
|
|
18490
|
+
floating: {
|
|
18491
|
+
x: 0,
|
|
18492
|
+
y: 0,
|
|
18493
|
+
width: floatingDimensions.width,
|
|
18494
|
+
height: floatingDimensions.height
|
|
18495
|
+
}
|
|
18496
|
+
};
|
|
18497
|
+
};
|
|
18498
|
+
|
|
18499
|
+
function isRTL(element) {
|
|
18500
|
+
return getComputedStyle$1(element).direction === 'rtl';
|
|
18501
|
+
}
|
|
18502
|
+
|
|
18503
|
+
const platform = {
|
|
18504
|
+
convertOffsetParentRelativeRectToViewportRelativeRect,
|
|
18505
|
+
getDocumentElement,
|
|
18506
|
+
getClippingRect,
|
|
18507
|
+
getOffsetParent,
|
|
18508
|
+
getElementRects,
|
|
18509
|
+
getClientRects,
|
|
18510
|
+
getDimensions,
|
|
18511
|
+
getScale,
|
|
18512
|
+
isElement,
|
|
18513
|
+
isRTL
|
|
18514
|
+
};
|
|
18515
|
+
|
|
18516
|
+
function rectsAreEqual(a, b) {
|
|
18517
|
+
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
18518
|
+
}
|
|
18519
|
+
|
|
18520
|
+
// https://samthor.au/2021/observing-dom/
|
|
18521
|
+
function observeMove(element, onMove) {
|
|
18522
|
+
let io = null;
|
|
18523
|
+
let timeoutId;
|
|
18524
|
+
const root = getDocumentElement(element);
|
|
18525
|
+
function cleanup() {
|
|
18526
|
+
var _io;
|
|
18527
|
+
clearTimeout(timeoutId);
|
|
18528
|
+
(_io = io) == null || _io.disconnect();
|
|
18529
|
+
io = null;
|
|
18530
|
+
}
|
|
18531
|
+
function refresh(skip, threshold) {
|
|
18532
|
+
if (skip === void 0) {
|
|
18533
|
+
skip = false;
|
|
18534
|
+
}
|
|
18535
|
+
if (threshold === void 0) {
|
|
18536
|
+
threshold = 1;
|
|
18537
|
+
}
|
|
18538
|
+
cleanup();
|
|
18539
|
+
const elementRectForRootMargin = element.getBoundingClientRect();
|
|
18540
|
+
const {
|
|
18541
|
+
left,
|
|
18542
|
+
top,
|
|
18543
|
+
width,
|
|
18544
|
+
height
|
|
18545
|
+
} = elementRectForRootMargin;
|
|
18546
|
+
if (!skip) {
|
|
18547
|
+
onMove();
|
|
18548
|
+
}
|
|
18549
|
+
if (!width || !height) {
|
|
18550
|
+
return;
|
|
18551
|
+
}
|
|
18552
|
+
const insetTop = floor(top);
|
|
18553
|
+
const insetRight = floor(root.clientWidth - (left + width));
|
|
18554
|
+
const insetBottom = floor(root.clientHeight - (top + height));
|
|
18555
|
+
const insetLeft = floor(left);
|
|
18556
|
+
const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
|
|
18557
|
+
const options = {
|
|
18558
|
+
rootMargin,
|
|
18559
|
+
threshold: max$1(0, min$1(1, threshold)) || 1
|
|
18560
|
+
};
|
|
18561
|
+
let isFirstUpdate = true;
|
|
18562
|
+
function handleObserve(entries) {
|
|
18563
|
+
const ratio = entries[0].intersectionRatio;
|
|
18564
|
+
if (ratio !== threshold) {
|
|
18565
|
+
if (!isFirstUpdate) {
|
|
18566
|
+
return refresh();
|
|
18567
|
+
}
|
|
18568
|
+
if (!ratio) {
|
|
18569
|
+
// If the reference is clipped, the ratio is 0. Throttle the refresh
|
|
18570
|
+
// to prevent an infinite loop of updates.
|
|
18571
|
+
timeoutId = setTimeout(() => {
|
|
18572
|
+
refresh(false, 1e-7);
|
|
18573
|
+
}, 1000);
|
|
18574
|
+
} else {
|
|
18575
|
+
refresh(false, ratio);
|
|
18576
|
+
}
|
|
18577
|
+
}
|
|
18578
|
+
if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
|
|
18579
|
+
// It's possible that even though the ratio is reported as 1, the
|
|
18580
|
+
// element is not actually fully within the IntersectionObserver's root
|
|
18581
|
+
// area anymore. This can happen under performance constraints. This may
|
|
18582
|
+
// be a bug in the browser's IntersectionObserver implementation. To
|
|
18583
|
+
// work around this, we compare the element's bounding rect now with
|
|
18584
|
+
// what it was at the time we created the IntersectionObserver. If they
|
|
18585
|
+
// are not equal then the element moved, so we refresh.
|
|
18586
|
+
refresh();
|
|
18587
|
+
}
|
|
18588
|
+
isFirstUpdate = false;
|
|
18589
|
+
}
|
|
18590
|
+
|
|
18591
|
+
// Older browsers don't support a `document` as the root and will throw an
|
|
18592
|
+
// error.
|
|
18593
|
+
try {
|
|
18594
|
+
io = new IntersectionObserver(handleObserve, {
|
|
18595
|
+
...options,
|
|
18596
|
+
// Handle <iframe>s
|
|
18597
|
+
root: root.ownerDocument
|
|
18598
|
+
});
|
|
18599
|
+
} catch (_e) {
|
|
18600
|
+
io = new IntersectionObserver(handleObserve, options);
|
|
18601
|
+
}
|
|
18602
|
+
io.observe(element);
|
|
18603
|
+
}
|
|
18604
|
+
refresh(true);
|
|
18605
|
+
return cleanup;
|
|
18606
|
+
}
|
|
18607
|
+
|
|
18608
|
+
/**
|
|
18609
|
+
* Automatically updates the position of the floating element when necessary.
|
|
18610
|
+
* Should only be called when the floating element is mounted on the DOM or
|
|
18611
|
+
* visible on the screen.
|
|
18612
|
+
* @returns cleanup function that should be invoked when the floating element is
|
|
18613
|
+
* removed from the DOM or hidden from the screen.
|
|
18614
|
+
* @see https://floating-ui.com/docs/autoUpdate
|
|
18615
|
+
*/
|
|
18616
|
+
function autoUpdate(reference, floating, update, options) {
|
|
18617
|
+
if (options === void 0) {
|
|
18618
|
+
options = {};
|
|
18619
|
+
}
|
|
18620
|
+
const {
|
|
18621
|
+
ancestorScroll = true,
|
|
18622
|
+
ancestorResize = true,
|
|
18623
|
+
elementResize = typeof ResizeObserver === 'function',
|
|
18624
|
+
layoutShift = typeof IntersectionObserver === 'function',
|
|
18625
|
+
animationFrame = false
|
|
18626
|
+
} = options;
|
|
18627
|
+
const referenceEl = unwrapElement(reference);
|
|
18628
|
+
const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];
|
|
18629
|
+
ancestors.forEach(ancestor => {
|
|
18630
|
+
ancestorScroll && ancestor.addEventListener('scroll', update, {
|
|
18631
|
+
passive: true
|
|
18632
|
+
});
|
|
18633
|
+
ancestorResize && ancestor.addEventListener('resize', update);
|
|
18634
|
+
});
|
|
18635
|
+
const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
|
|
18636
|
+
let reobserveFrame = -1;
|
|
18637
|
+
let resizeObserver = null;
|
|
18638
|
+
if (elementResize) {
|
|
18639
|
+
resizeObserver = new ResizeObserver(_ref => {
|
|
18640
|
+
let [firstEntry] = _ref;
|
|
18641
|
+
if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
|
|
18642
|
+
// Prevent update loops when using the `size` middleware.
|
|
18643
|
+
// https://github.com/floating-ui/floating-ui/issues/1740
|
|
18644
|
+
resizeObserver.unobserve(floating);
|
|
18645
|
+
cancelAnimationFrame(reobserveFrame);
|
|
18646
|
+
reobserveFrame = requestAnimationFrame(() => {
|
|
18647
|
+
var _resizeObserver;
|
|
18648
|
+
(_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
|
|
18649
|
+
});
|
|
18650
|
+
}
|
|
18651
|
+
update();
|
|
18652
|
+
});
|
|
18653
|
+
if (referenceEl && !animationFrame) {
|
|
18654
|
+
resizeObserver.observe(referenceEl);
|
|
18655
|
+
}
|
|
18656
|
+
if (floating) {
|
|
18657
|
+
resizeObserver.observe(floating);
|
|
18658
|
+
}
|
|
18659
|
+
}
|
|
18660
|
+
let frameId;
|
|
18661
|
+
let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
|
|
18662
|
+
if (animationFrame) {
|
|
18663
|
+
frameLoop();
|
|
18664
|
+
}
|
|
18665
|
+
function frameLoop() {
|
|
18666
|
+
const nextRefRect = getBoundingClientRect(reference);
|
|
18667
|
+
if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
|
|
18668
|
+
update();
|
|
18669
|
+
}
|
|
18670
|
+
prevRefRect = nextRefRect;
|
|
18671
|
+
frameId = requestAnimationFrame(frameLoop);
|
|
18672
|
+
}
|
|
18673
|
+
update();
|
|
18674
|
+
return () => {
|
|
18675
|
+
var _resizeObserver2;
|
|
18676
|
+
ancestors.forEach(ancestor => {
|
|
18677
|
+
ancestorScroll && ancestor.removeEventListener('scroll', update);
|
|
18678
|
+
ancestorResize && ancestor.removeEventListener('resize', update);
|
|
18679
|
+
});
|
|
18680
|
+
cleanupIo == null || cleanupIo();
|
|
18681
|
+
(_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
|
|
18682
|
+
resizeObserver = null;
|
|
18683
|
+
if (animationFrame) {
|
|
18684
|
+
cancelAnimationFrame(frameId);
|
|
18685
|
+
}
|
|
18686
|
+
};
|
|
18687
|
+
}
|
|
18688
|
+
|
|
18689
|
+
/**
|
|
18690
|
+
* Modifies the placement by translating the floating element along the
|
|
18691
|
+
* specified axes.
|
|
18692
|
+
* A number (shorthand for `mainAxis` or distance), or an axes configuration
|
|
18693
|
+
* object may be passed.
|
|
18694
|
+
* @see https://floating-ui.com/docs/offset
|
|
18695
|
+
*/
|
|
18696
|
+
const offset$1 = offset$3;
|
|
18697
|
+
|
|
18698
|
+
/**
|
|
18699
|
+
* Optimizes the visibility of the floating element by flipping the `placement`
|
|
18700
|
+
* in order to keep it in view when the preferred placement(s) will overflow the
|
|
18701
|
+
* clipping boundary. Alternative to `autoPlacement`.
|
|
18702
|
+
* @see https://floating-ui.com/docs/flip
|
|
18703
|
+
*/
|
|
18704
|
+
const flip$1 = flip$3;
|
|
18705
|
+
|
|
18706
|
+
/**
|
|
18707
|
+
* Provides data to position an inner element of the floating element so that it
|
|
18708
|
+
* appears centered to the reference element.
|
|
18709
|
+
* @see https://floating-ui.com/docs/arrow
|
|
18710
|
+
*/
|
|
18711
|
+
const arrow$2 = arrow$3;
|
|
18712
|
+
|
|
18713
|
+
/**
|
|
18714
|
+
* Computes the `x` and `y` coordinates that will place the floating element
|
|
18715
|
+
* next to a given reference element.
|
|
18716
|
+
*/
|
|
18717
|
+
const computePosition = (reference, floating, options) => {
|
|
18718
|
+
// This caches the expensive `getClippingElementAncestors` function so that
|
|
18719
|
+
// multiple lifecycle resets re-use the same result. It only lives for a
|
|
18720
|
+
// single call. If other functions become expensive, we can add them as well.
|
|
18721
|
+
const cache = new Map();
|
|
18722
|
+
const mergedOptions = {
|
|
18723
|
+
platform,
|
|
18724
|
+
...options
|
|
18725
|
+
};
|
|
18726
|
+
const platformWithCache = {
|
|
18727
|
+
...mergedOptions.platform,
|
|
18728
|
+
_c: cache
|
|
18729
|
+
};
|
|
18730
|
+
return computePosition$2(reference, floating, {
|
|
18731
|
+
...mergedOptions,
|
|
18732
|
+
platform: platformWithCache
|
|
18733
|
+
});
|
|
18734
|
+
};
|
|
18735
|
+
|
|
18736
|
+
var isClient = typeof document !== 'undefined';
|
|
18737
|
+
|
|
18738
|
+
var noop = function noop() {};
|
|
18739
|
+
var index$1 = isClient ? React.useLayoutEffect : noop;
|
|
18740
|
+
|
|
18741
|
+
// Fork of `fast-deep-equal` that only does the comparisons we need and compares
|
|
18742
|
+
// functions
|
|
18743
|
+
function deepEqual(a, b) {
|
|
18744
|
+
if (a === b) {
|
|
18745
|
+
return true;
|
|
18746
|
+
}
|
|
18747
|
+
if (typeof a !== typeof b) {
|
|
18748
|
+
return false;
|
|
18749
|
+
}
|
|
18750
|
+
if (typeof a === 'function' && a.toString() === b.toString()) {
|
|
18751
|
+
return true;
|
|
18752
|
+
}
|
|
18753
|
+
let length;
|
|
18754
|
+
let i;
|
|
18755
|
+
let keys;
|
|
18004
18756
|
if (a && b && typeof a === 'object') {
|
|
18005
18757
|
if (Array.isArray(a)) {
|
|
18006
18758
|
length = a.length;
|
|
@@ -18258,10 +19010,14 @@ const arrow$1 = options => {
|
|
|
18258
19010
|
* object may be passed.
|
|
18259
19011
|
* @see https://floating-ui.com/docs/offset
|
|
18260
19012
|
*/
|
|
18261
|
-
const offset = (options, deps) =>
|
|
18262
|
-
|
|
18263
|
-
|
|
18264
|
-
|
|
19013
|
+
const offset = (options, deps) => {
|
|
19014
|
+
const result = offset$1(options);
|
|
19015
|
+
return {
|
|
19016
|
+
name: result.name,
|
|
19017
|
+
fn: result.fn,
|
|
19018
|
+
options: [options, deps]
|
|
19019
|
+
};
|
|
19020
|
+
};
|
|
18265
19021
|
|
|
18266
19022
|
/**
|
|
18267
19023
|
* Optimizes the visibility of the floating element by flipping the `placement`
|
|
@@ -18269,10 +19025,14 @@ const offset = (options, deps) => ({
|
|
|
18269
19025
|
* clipping boundary. Alternative to `autoPlacement`.
|
|
18270
19026
|
* @see https://floating-ui.com/docs/flip
|
|
18271
19027
|
*/
|
|
18272
|
-
const flip = (options, deps) =>
|
|
18273
|
-
|
|
18274
|
-
|
|
18275
|
-
|
|
19028
|
+
const flip = (options, deps) => {
|
|
19029
|
+
const result = flip$1(options);
|
|
19030
|
+
return {
|
|
19031
|
+
name: result.name,
|
|
19032
|
+
fn: result.fn,
|
|
19033
|
+
options: [options, deps]
|
|
19034
|
+
};
|
|
19035
|
+
};
|
|
18276
19036
|
|
|
18277
19037
|
/**
|
|
18278
19038
|
* Provides data to position an inner element of the floating element so that it
|
|
@@ -18280,10 +19040,14 @@ const flip = (options, deps) => ({
|
|
|
18280
19040
|
* This wraps the core `arrow` middleware to allow React refs as the element.
|
|
18281
19041
|
* @see https://floating-ui.com/docs/arrow
|
|
18282
19042
|
*/
|
|
18283
|
-
const arrow = (options, deps) =>
|
|
18284
|
-
|
|
18285
|
-
|
|
18286
|
-
|
|
19043
|
+
const arrow = (options, deps) => {
|
|
19044
|
+
const result = arrow$1(options);
|
|
19045
|
+
return {
|
|
19046
|
+
name: result.name,
|
|
19047
|
+
fn: result.fn,
|
|
19048
|
+
options: [options, deps]
|
|
19049
|
+
};
|
|
19050
|
+
};
|
|
18287
19051
|
|
|
18288
19052
|
// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379
|
|
18289
19053
|
const SafeReact = {
|
|
@@ -18423,7 +19187,7 @@ const FloatingArrow = /*#__PURE__*/React__namespace.forwardRef(function Floating
|
|
|
18423
19187
|
// https://github.com/floating-ui/floating-ui/issues/2932
|
|
18424
19188
|
index(() => {
|
|
18425
19189
|
if (!floating) return;
|
|
18426
|
-
const isRTL = getComputedStyle(floating).direction === 'rtl';
|
|
19190
|
+
const isRTL = getComputedStyle$1(floating).direction === 'rtl';
|
|
18427
19191
|
if (isRTL) {
|
|
18428
19192
|
setIsRTL(true);
|
|
18429
19193
|
}
|
|
@@ -18598,7 +19362,7 @@ function useFloating(options) {
|
|
|
18598
19362
|
const computedElements = rootContext.elements;
|
|
18599
19363
|
const [_domReference, setDomReference] = React__namespace.useState(null);
|
|
18600
19364
|
const [positionReference, _setPositionReference] = React__namespace.useState(null);
|
|
18601
|
-
const optionDomReference = computedElements == null ? void 0 : computedElements.
|
|
19365
|
+
const optionDomReference = computedElements == null ? void 0 : computedElements.domReference;
|
|
18602
19366
|
const domReference = optionDomReference || _domReference;
|
|
18603
19367
|
const domReferenceRef = React__namespace.useRef(null);
|
|
18604
19368
|
const tree = useFloatingTree();
|
|
@@ -23974,7 +24738,7 @@ const DateTimePickerInput = /*#__PURE__*/React__namespace.default.forwardRef(fun
|
|
|
23974
24738
|
var css_248z = ".react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon::before{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:\"\";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:\"Helvetica Neue\",helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:bold;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *::before{border-color:hsl(0,0%,65%)}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next::before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous::before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.7rem/2);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:bold}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:rgba(0,0,0,0)}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected,.react-datepicker__week-number--keyboard-selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:rgb(28.75,93.2196969697,143.75)}.react-datepicker__week-number--keyboard-selected{border-radius:.3rem;background-color:rgb(41.5,134.5606060606,207.5);color:#fff}.react-datepicker__week-number--keyboard-selected:hover{background-color:rgb(28.75,93.2196969697,143.75)}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:bold}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:rgb(49.8551020408,189.6448979592,62.5632653061)}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:rgb(207,82.9642857143,0)}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:rgb(28.75,93.2196969697,143.75)}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:rgb(186.25,217.0833333333,241.25);color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:rgb(28.75,93.2196969697,143.75)}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:rgba(33,107,165,.5)}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translateX(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid rgba(0,0,0,0);border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:hsl(0,0%,70%)}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:hsl(0,0%,70%)}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:hsl(0,0%,70%)}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:rgba(0,0,0,0);border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon::after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:\"×\"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled::after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:bold;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:rgba(0,0,0,.8);left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media(max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-0.125em}\n";
|
|
23975
24739
|
styleInject(css_248z);
|
|
23976
24740
|
|
|
23977
|
-
const DEFAULT_MODIFIERS = [flip$
|
|
24741
|
+
const DEFAULT_MODIFIERS = [flip$2({
|
|
23978
24742
|
fallbackPlacements: ['bottom']
|
|
23979
24743
|
}), shift({
|
|
23980
24744
|
limiter: limitShift()
|
|
@@ -24446,6 +25210,68 @@ const TextArea = /*#__PURE__*/React__namespace.default.forwardRef(function TextA
|
|
|
24446
25210
|
}, description));
|
|
24447
25211
|
});
|
|
24448
25212
|
|
|
25213
|
+
var es_array_includes = {};
|
|
25214
|
+
|
|
25215
|
+
var addToUnscopables;
|
|
25216
|
+
var hasRequiredAddToUnscopables;
|
|
25217
|
+
|
|
25218
|
+
function requireAddToUnscopables () {
|
|
25219
|
+
if (hasRequiredAddToUnscopables) return addToUnscopables;
|
|
25220
|
+
hasRequiredAddToUnscopables = 1;
|
|
25221
|
+
var wellKnownSymbol = requireWellKnownSymbol();
|
|
25222
|
+
var create = requireObjectCreate();
|
|
25223
|
+
var defineProperty = requireObjectDefineProperty().f;
|
|
25224
|
+
|
|
25225
|
+
var UNSCOPABLES = wellKnownSymbol('unscopables');
|
|
25226
|
+
var ArrayPrototype = Array.prototype;
|
|
25227
|
+
|
|
25228
|
+
// Array.prototype[@@unscopables]
|
|
25229
|
+
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
|
25230
|
+
if (ArrayPrototype[UNSCOPABLES] === undefined) {
|
|
25231
|
+
defineProperty(ArrayPrototype, UNSCOPABLES, {
|
|
25232
|
+
configurable: true,
|
|
25233
|
+
value: create(null)
|
|
25234
|
+
});
|
|
25235
|
+
}
|
|
25236
|
+
|
|
25237
|
+
// add a key to Array.prototype[@@unscopables]
|
|
25238
|
+
addToUnscopables = function (key) {
|
|
25239
|
+
ArrayPrototype[UNSCOPABLES][key] = true;
|
|
25240
|
+
};
|
|
25241
|
+
return addToUnscopables;
|
|
25242
|
+
}
|
|
25243
|
+
|
|
25244
|
+
var hasRequiredEs_array_includes;
|
|
25245
|
+
|
|
25246
|
+
function requireEs_array_includes () {
|
|
25247
|
+
if (hasRequiredEs_array_includes) return es_array_includes;
|
|
25248
|
+
hasRequiredEs_array_includes = 1;
|
|
25249
|
+
var $ = require_export();
|
|
25250
|
+
var $includes = requireArrayIncludes().includes;
|
|
25251
|
+
var fails = requireFails();
|
|
25252
|
+
var addToUnscopables = requireAddToUnscopables();
|
|
25253
|
+
|
|
25254
|
+
// FF99+ bug
|
|
25255
|
+
var BROKEN_ON_SPARSE = fails(function () {
|
|
25256
|
+
// eslint-disable-next-line es/no-array-prototype-includes -- detection
|
|
25257
|
+
return !Array(1).includes();
|
|
25258
|
+
});
|
|
25259
|
+
|
|
25260
|
+
// `Array.prototype.includes` method
|
|
25261
|
+
// https://tc39.es/ecma262/#sec-array.prototype.includes
|
|
25262
|
+
$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
|
|
25263
|
+
includes: function includes(el /* , fromIndex = 0 */) {
|
|
25264
|
+
return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
|
|
25265
|
+
}
|
|
25266
|
+
});
|
|
25267
|
+
|
|
25268
|
+
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
|
25269
|
+
addToUnscopables('includes');
|
|
25270
|
+
return es_array_includes;
|
|
25271
|
+
}
|
|
25272
|
+
|
|
25273
|
+
requireEs_array_includes();
|
|
25274
|
+
|
|
24449
25275
|
const DEFAULT_TRANSITION_TIMING = 'cubic-bezier(0.4, 0, 0.2, 1)';
|
|
24450
25276
|
const DEFAULT_TRANSITION_DURATION = 225;
|
|
24451
25277
|
const STYLES = {
|
|
@@ -25503,7 +26329,7 @@ const Popper = /*#__PURE__*/React__namespace.default.forwardRef(function PopperF
|
|
|
25503
26329
|
if (popperRef.current) {
|
|
25504
26330
|
cleanup = setupFloating(virtualEl || anchorElement, popperRef.current, {
|
|
25505
26331
|
placement,
|
|
25506
|
-
middleware: [offset$
|
|
26332
|
+
middleware: [offset$2(8), !virtualEl && flip$2({
|
|
25507
26333
|
fallbackPlacements: ['bottom']
|
|
25508
26334
|
}), shift({
|
|
25509
26335
|
limiter: limitShift()
|