quill-table-up 2.1.3 → 2.1.4
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 -9
- package/dist/index.d.ts +1 -22
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/formats/overrides/index.ts +0 -4
- package/src/index.ts +12 -6
- package/src/formats/overrides/blockquote.ts +0 -8
- package/src/formats/overrides/code.ts +0 -8
- package/src/formats/overrides/header.ts +0 -8
- package/src/formats/overrides/list.ts +0 -10
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/utils/constants.ts","../src/utils/bem.ts","../src/utils/color.ts","../src/utils/is.ts","../src/utils/components/button.ts","../src/utils/components/color-picker.ts","../src/utils/components/dialog.ts","../src/utils/components/input.ts","../src/utils/components/table/select-box.ts","../src/utils/components/table/creator.ts","../node_modules/.pnpm/@floating-ui+utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/.pnpm/@floating-ui+core@1.6.8/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/.pnpm/@floating-ui+utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/.pnpm/@floating-ui+dom@1.6.12/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../src/utils/components/tooltip.ts","../src/utils/position.ts","../src/utils/utils.ts","../src/formats/container-format.ts","../src/formats/overrides/block.ts","../src/formats/overrides/blockquote.ts","../src/formats/overrides/code.ts","../src/formats/overrides/header.ts","../src/formats/overrides/list.ts","../src/formats/utils.ts","../src/formats/table-cell-inner-format.ts","../src/formats/overrides/scroll.ts","../src/formats/table-row-format.ts","../src/formats/table-body-format.ts","../src/formats/table-cell-format.ts","../src/formats/table-col-format.ts","../src/formats/table-main-format.ts","../src/formats/table-colgroup-format.ts","../src/formats/table-wrapper-format.ts","../src/modules/table-menu/constants.ts","../src/modules/table-menu/table-menu-common.ts","../src/modules/table-resize/utils.ts","../src/modules/table-resize/table-resize-common.ts","../src/modules/table-scrollbar.ts","../src/modules/table-selection.ts","../src/index.ts","../src/modules/table-align.ts","../src/modules/table-menu/table-menu-contextmenu.ts","../src/modules/table-menu/table-menu-select.ts","../src/modules/table-resize/table-resize-box.ts","../src/modules/table-resize/table-resize-line.ts","../src/modules/table-resize/table-resize-scale.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,"/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n 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))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n 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);\n 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);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["blotName","container","tableWrapper","tableMain","tableColgroup","tableCol","tableBody","tableRow","tableCell","tableCellInner","tableUpSize","colMinWidthPre","colMinWidthPx","colDefaultWidth","rowMinHeightPx","tableUpEvent","AFTER_TABLE_RESIZE","defaultColorMap","createBEM","b","n","prefix","be","e","bm","m","bem","ns","s","bs","cv","v","is","normalizeValue","value","max","Math","min","Number","parseFloat","abs","validateHSB","hsb","h","a","RGBtoHSB","rgb","r","g","d","HSBtoRGB","i","floor","f","p","q","t","mod","round","RGBtoHEX","hex","toString","key","length","join","HSBtoHEX","isFunction","val","isArray","Array","isString","createButton","options","type","content","btn","document","createElement","classList","add","textContent","appendChild","createColorPicker","contentWidth","contentHeight","handleSizeSec","hsbValue","color","startsWith","slice","parseInt","toFixed","root","colorSelector","colorBackground","colorHandle","colorAlpha","alphaBg","alphaHandle","colorHue","colorHueHandle","action","colorRInput","colorGInput","colorBInput","colorAInput","map","item","label","toUpperCase","colorInput","addEventListener","replaceAll","updateValue","Object","assign","updateUI","colorDragging","hueDragging","alphaDragging","updateInput","input","entries","String","style","left","top","backgroundColor","background","updateAlphaBg","onChange","pickColor","event","rect","getBoundingClientRect","window","pageYOffset","documentElement","scrollTop","body","scrollLeft","pageX","pageY","pickHue","pickAlpha","width","onDrag","preventDefault","onColorSelectorDragEnd","removeEventListener","onColorHueDragEnd","onColorAlphaDragEnd","zindex","createDialog","child","target","beforeClose","appendTo","dialog","zIndex","overlay","stopPropagation","originOverflow","getComputedStyle","overflow","close","remove","createInputItem","inputItem","inputLabel","inputInput","setAttribute","errorTip","msg","contains","querySelector","removeError","createSelectBox","selectDom","selectBlock","row","c","col","selectItem","dataset","updateSelectBlockItems","from","querySelectorAll","childs","children","childRow","childCol","removeAttribute","onSelect","customBtn","texts","selectCustom","customBtnText","async","res","box","inputContent","rowItem","rowInput","rowErrorTip","rowText","colItem","colInput","colErrorTip","colText","control","confirmBtn","confirmText","cancelBtn","cancelText","validateInput","isNaN","notPositiveNumberError","keyboardClose","Promise","resolve","reject","focus","result","showTableCreator","createCoords","x","y","oppositeSideMap","right","bottom","oppositeAlignmentMap","start","end","clamp","evaluate","param","getSide","placement","split","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","includes","getAlignmentAxis","getOppositeAlignmentPlacement","replace","alignment","getOppositePlacement","side","rectToClientRect","height","computeCoordsFromPlacement","_ref","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","detectOverflow","state","_await$platform$isEle","platform","rects","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","padding","paddingObject","expandPaddingObject","getPaddingObject","element","clippingClientRect","getClippingRect","isElement","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","hasWindow","getNodeName","node","isNode","nodeName","toLowerCase","getWindow","_node$ownerDocument","ownerDocument","defaultView","Node","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","isOverflowElement","overflowX","overflowY","display","test","isTableElement","isTopLayer","some","selector","matches","isContainingBlock","elementOrCss","webkit","isWebKit","css","transform","perspective","containerType","backdropFilter","filter","willChange","contain","CSS","supports","isLastTraversableNode","getNodeScroll","scrollX","scrollY","getParentNode","assignedSlot","parentNode","host","getNearestOverflowAncestor","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","concat","visualViewport","parent","getPrototypeOf","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","domElement","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","ignoreScrollbarX","htmlRect","getClientRectFromClippingAncestor","clippingAncestor","html","clientWidth","clientHeight","visualViewportBased","getViewportRect","scrollWidth","scrollHeight","direction","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","position","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","offsetRect","htmlOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","currentNode","getContainingBlock","topLayer","clippingAncestors","cache","cachedResult","get","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","set","getClippingElementAncestors","this","_c","firstClippingAncestor","clippingRect","reduce","accRect","getElementRects","data","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","getClientRects","isRTL","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","forEach","passive","cleanupIo","onMove","timeoutId","io","cleanup","_io","clearTimeout","disconnect","refresh","skip","threshold","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","setTimeout","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","name","fn","_middlewareData$offse","_middlewareData$arrow","middlewareData","diffCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","convertValueToCoords","arrow","alignmentOffset","shift","checkMainAxis","checkCrossAxis","limiter","detectOverflowOptions","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","enabled","flip","_middlewareData$flip","initialPlacement","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","initialSideAxis","isBasePlacement","oppositePlacement","getExpandedPlacements","hasFallbackAxisSideDirection","push","isStart","lr","rl","tb","bt","getSideList","getOppositeAxisPlacements","placements","overflows","overflowsData","sides","mainAlignmentSide","getAlignmentSides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","index","nextPlacement","reset","resetPlacement","sort","_overflowsData$filter2","currentSideAxis","acc","limitShift","rawOffset","computedOffset","len","limitMin","limitMax","_middlewareData$offse2","isOriginSide","computePosition","Map","mergedOptions","platformWithCache","config","middleware","validMiddleware","Boolean","statefulPlacement","resetCount","nextX","nextY","computePosition$1","tooltipContainer","createTooltip","delay","onOpen","onClose","closed","onDestroy","tooltip","showTimer","closeTimer","then","transitionendHandler","removeChild","openTooltip","force","allow","closeTooltip","once","clickDisplay","show","prepare","hide","destroy","displayMethods","hover","eventListeners","bind","undefined","open","listener","click","destroyDisplay","isRectanglesIntersect","tolerance","edgeJudge","minAx","minAy","x1","maxAx","y1","maxAy","minBx","minBy","maxBx","maxBy","notOverlapX","notOverlapY","randomId","random","debounce","timestamp","args","apply","findParentBlot","blot","targetBlotName","statics","Error","findParentBlots","targetBlotNames","resultBlots","blotNameIndexMaps","size","has","delete","keys","findAllParentBlot","Blot","blots","mixinProps","source","prop","getOwnPropertyNames","defineProperty","getOwnPropertyDescriptor","mixinClass","base","mixins","targetClass","constructor","props","super","prototype","limitDomInViewPort","leftLimited","topLimited","addScrollEvent","dom","handle","scrollHandler","clearScrollEvent","Parchment","Quill","import","Container","Block","BlockEmbed","ContainerFormat","static","Scope","BLOCK_BLOT","create","_value","tagName","className","insertAt","def","find","defaultChild","optimize","_context","next","checkMerge","moveChildren","BlockOverride","replaceWith","replacement","ParentBlot","selfParent","insertBefore","prev","block","selfRow","attributes","copy","format","tableNext","tableRowNext","tableCellNext","Blockquote","BlockquoteOverride","CodeBlock","CodeBlockOverride","Header","HeaderOverride","ListItem","ListItemOverride","register","getValidCellspan","isValidCellspan","TableCellInnerFormat","Set","isAllowStyle","str","allowStyle","tableId","rowId","colId","rowspan","colspan","formats","domNode","setFormatValue","isStyle","cssText","allowDataAttrs","attrName","blocks","descendants","getColumnIndex","getColIds","indexOf","formatAt","blotValue","afterBlock","wrap","uiNode","firstChild","ref","cellInnerBlot","cellInnerBlotValue","selfValue","selfCell","newCellInner","forEachAt","cell","ScrollBlot","ScrollOverride","createBlock","refBlot","createBlotName","query","BLOCK","BLOT","TableRowFormat","setHeight","foreachCellInner","cellInner","insertCell","targetIndex","iterator","cur","getCellInner","skipRowNum","getCellByColumIndex","stopIndex","cellEndIndex","removeCell","columnIndexData","colIds","func","context","TableBodyFormat","insertRow","tableBlot","rows","insertColIds","colIndex","TableCellFormat","getAttribute","inlineStyles","property","allowAttrs","head","TableColFormat","validWidth","full","widthNumber","align","hasOwn","table","closest","lines","text","pop","line","tableColgroupBlot","tableMainBlot","tableBodyBlot","insertBlot","nextBlotRef","cellInners","newBlock","newTableBody","TableMainFormat","updateAlign","colWidthFillTable","cols","getCols","colsWidth","sum","cancelFull","tableWidth","colgroup","marginLeft","marginRight","getRows","getRowIds","TableColgroupFormat","findCol","insertColByIndex","TypeError","removeColByIndex","TableWrapperFormat","dataTransfer","dropEffect","emitter","on","events","TEXT_CHANGE","insertLineAround","deleteAt","tableBodys","tableColgroups","off","BlockBlot","menuColorSelectClassName","defaultTools","tip","icon","tableModule","selectedTds","getTextByCell","getHTMLByCell","clipboardItem","ClipboardItem","Blob","navigator","clipboard","write","hideTableTools","appendRow","appendCol","mergeCells","splitCell","removeRow","removeCol","deleteTable","isColorChoose","setCellAttrs","usedColors","colorClassName","selectWrapper","used","mapRow","TableMenuCommon","quill","menu","updateUsedColor","tooltipItem","colorItemClass","colorChooseTooltipOption","resolveOptions","storageValue","localStorage","getItem","localstorageKey","colorValue","JSON","parse","saveColors","clear","setItem","stringify","usedColorWrappers","usedColorWrapper","newColorItem","colorItem","tipText","tools","getUsedColors","buildTools","toolBox","tool","attrKey","iconDom","innerHTML","createColorChoose","getSelectedTds","createTipText","colorSelectWrapper","colorMap","colors","colorMapRow","marginTop","transparentColor","transparent","clearColor","customColor","custom","colorPicker","hideColorPicker","destroyColorPicker","usedColorWrap","recordColor","isChild","tableSelection","tipTextDom","isTableAlignRight","TableResizeCommon","dragging","dragColBreak","handleColMouseUpFunc","handleColMouseUp","handleColMouseMoveFunc","handleColMouseMove","handleColMouseDownFunc","handleColMouseDown","rowIndex","dragRowBreak","handleRowMouseUpFunc","handleRowMouseUp","handleRowMouseMoveFunc","handleRowMouseMove","handleRowMouseDownFunc","handleRowMouseDown","dragBEM","findCurrentColIndex","_e","colWidthChange","_i","_w","_isFull","createConfirmDialog","message","confirm","cancel","fontSize","lineHeight","btnWrapper","justifyContent","gap","w","isFull","needUpdate","updateInfo","pre","oldWidthPre","totalWidthNextPre","resultWidth","skipColIndex","perWidthInsufficient","info","px","emit","changeColRect","tableRect","resX","clientX","minWidth","maxRange","minRange","button","tableMainRect","fullWidth","colWidthAttr","divDom","styleValue","findCurrentRowIndex","rowHeightChange","_h","resY","clientY","Scrollbar","scrollbarContainer","minSize","move","cursorDown","cursorLeave","ratioY","ratioX","sizeWidth","sizeHeight","thumbState","X","Y","ob","scrollbar","thumb","propertyMap","parentElement","scrollDirection","scrollSize","client","calculateSize","createScrollbar","setScrollbarPosition","call","showScrollbar","editorScrollX","editorScrollY","containerOffsetLeft","containerOffsetTop","containerWidth","containerHeight","tableHeight","containerScrollHandler","originalHeight","originalWidth","mouseMoveDocumentHandler","prevPage","offsetRatio","thumbPositionPercentage","mouseUpDocumentHandler","hideScrollbar","startDrag","stopImmediatePropagation","onselectstart","ctrlKey","getSelection","removeAllRanges","currentTarget","displayListener","hideScrollbarTransitionend","IsFirstResizeObserve","Symbol","Delta","Break","icons","createCell","getCellWidth","styleWidth","tableCantInsert","isForbidInTable","current","TableUp","bindInHead","collapsed","handler","range","getLine","offsetInline","tail","allowedChildren","requiredContainer","fixTableByLisenter","balanceTables","tableResize","tableScrollbar","tableAlign","tableResizeScale","scrollbarBEM","toolboxBEM","addContainer","selection","selectionOptions","toolbar","getModule","theme","pickers","select","controls","toolName","toLocaleLowerCase","picker","buildCustomSelect","customSelect","selectRect","labelRect","keyboard","values","keyboradHandler","bindings","unshift","addBinding","evt","path","composedPath","tableNode","showTableTools","updateWithSelectedTds","pasteTableHandler","listenBalanceCells","classes","classname","resolveTexts","fullSwitch","alignOptions","scrollbarOptions","resizeOptions","resizeScaleOptions","fullCheckboxText","CopyCell","CutCell","InsertTop","InsertRight","InsertBottom","InsertLeft","MergeCell","SplitCell","DeleteRow","DeleteColumn","DeleteTable","BackgroundColor","BorderColor","rowspanCount","cellCount","colCount","pasteElementIntoCell","delta","_scroll","tableCellInnerValue","getFormat","op","ops","addMatcher","TEXT_NODE","ELEMENT_NODE","currentCellFormat","insert","attrs","hasCol","keepAtttrs","newCols","colNums","colWidths","fill","cells","cellWidth","calculateCols","colOps","cellAttrs","span","matchCell","cellFormat","border","resize","resizeScale","isFulllLabel","isFullCheckbox","checked","mark","isFullCheckboxText","attr","td","tds","getContents","isCut","tdParentMain","console","error","colgroupBlot","tbodyBlot","getElementTags","startTag","endTag","trBlot","tdRows","outerHTML","colgroupStartTag","colgroupEndTag","colStr","tableMainDom","cloneNode","mainStartTag","mainEndTag","wrapperStartTag","wrapperEndTag","insertTable","columns","currentBlot","getLeaf","borderWidth","calculateTableCellBorderWidth","rootStyle","paddingRight","colWidth","retain","j","updateContents","sources","USER","setSelection","SILENT","tableStr","div","visibility","tempTableStyle","fixUnusuaDeletelTable","trBlots","tableColIds","cellSpanMap","indexTr","tr","indexTd","indexCol","curCellSpan","curTd","SCROLL_OPTIMIZE","mutations","mutation","isDown","baseTd","baseTdParentTr","insertRowIndex","isRight","columnIndex","newColId","trs","spanCols","spanCol","nextSpanCols","fixTableByRemove","tableCols","colIdMap","idMap","reverseTrBlots","reverse","removeTr","count","endTrIndex","nextTrIndex","patchTds","nextTr","colspanMap","colspanCount","counts","selectTd","rowCount","baseTr","curTr","id","tableWrapperBlot","alignBox","buildTool","alignIcons","center","iconStr","setTableAlign","listenContextmenu","items","getElementsByClassName","menuRect","limitLeft","limitTop","cellSelect","tableRows","rowHeadWrapper","colHeadWrapper","corner","lastHeaderSelect","handleResizerHeader","isX","shiftKey","currentBoundary","computeSelectedTds","bindColEvents","tableColHeads","tableColHeadSeparators","bindRowEvents","tableRowHeads","tableRowHeadSeparators","descendant","tableBodyRect","rootRect","tableWrapperRect","cornerTranslateX","rowHeadWrapperTranslateX","colHeadStr","colHead","maxWidth","rowHeadStr","rowHead","maxHeight","colResizer","rowResizer","currentTableCell","curColIndex","curRowIndex","tableCellBlot","mousemoveHandler","hideWhenTextChange","findTableCell","updateColResizer","updateRowResizer","tableBodyect","tableCellRect","findIndex","currentRow","tableBodynRect","startX","startY","resizeobserver","buildResizer","blockSize","originColWidth","originRowHeight","handleMouseMove","diffX","diffY","itemWidth","itemHeight","handleMouseUp","isTableOutofEditor","editorRect","rootWidth","rootHeight","blockStyle","startScrollX","startScrollY","selectedTableScrollX","selectedTableScrollY","selectedEditorScrollX","selectedEditorScrollY","cellSelectWrap","tableMenu","isDisplaySelection","lastSelection","anchorNode","anchorOffset","focusNode","focusOffset","helpLinesInitial","entry","originVal","mouseDownHandler","selectionChangeHandler","SELECTION_CHANGE","quillSelectionChangeHandler","tableMenuOptions","getFirstTextNode","childNodes","nodeType","getLastTextNode","getNodeTailOffset","tempRange","createRange","selectNodeContents","collapse","startOffset","isInChildren","setSelectionData","selectionData","isUpFromDown","selectionDirectionUp","setStart","setEnd","addRange","extend","nodePosition","compareDocumentPosition","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","findWrapSelection","points","startNode","endNode","endOffset","selectColor","anchorBlot","focusBlot","anchorNames","focusNames","isAnchorInColgroup","isFocusInColgroup","newAnchorNode","newAnchorOffset","newFocusNode","newFocusOffset","isAnchorInCellInner","isFocusInCellInner","isNotSameCellInner","anchorCellBlot","focusCellBlot","setProperty","startPoint","endPoint","tableCells","tableScrollX","tableScrollY","getTableViewScroll","getQuillViewScroll","startPointX","startPointY","selectedCells","findEnd","__rect","targetRect","containerRect","getRelativeRect","mousedownEvent","closestTable","setSelectionTable","startTableId","mouseMoveHandler","mousemoveEvent","movePoint","blur","mouseUpHandler","Infinity","observer","characterData","characterDataOldValue","childList","subtree","wrapLeft","wrapTop"],"mappings":"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","x_google_ignoreList":[10,11,12,13]}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/utils/constants.ts","../src/utils/bem.ts","../src/utils/color.ts","../src/utils/is.ts","../src/utils/components/button.ts","../src/utils/components/color-picker.ts","../src/utils/components/dialog.ts","../src/utils/components/input.ts","../src/utils/components/table/select-box.ts","../src/utils/components/table/creator.ts","../node_modules/.pnpm/@floating-ui+utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/.pnpm/@floating-ui+core@1.6.8/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/.pnpm/@floating-ui+utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/.pnpm/@floating-ui+dom@1.6.12/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../src/utils/components/tooltip.ts","../src/utils/position.ts","../src/utils/utils.ts","../src/formats/container-format.ts","../src/formats/overrides/block.ts","../src/formats/utils.ts","../src/formats/table-cell-inner-format.ts","../src/formats/overrides/scroll.ts","../src/formats/table-row-format.ts","../src/formats/table-body-format.ts","../src/formats/table-cell-format.ts","../src/formats/table-col-format.ts","../src/formats/table-main-format.ts","../src/formats/table-colgroup-format.ts","../src/formats/table-wrapper-format.ts","../src/modules/table-menu/constants.ts","../src/modules/table-menu/table-menu-common.ts","../src/modules/table-resize/utils.ts","../src/modules/table-resize/table-resize-common.ts","../src/modules/table-scrollbar.ts","../src/modules/table-selection.ts","../src/index.ts","../src/modules/table-align.ts","../src/modules/table-menu/table-menu-contextmenu.ts","../src/modules/table-menu/table-menu-select.ts","../src/modules/table-resize/table-resize-box.ts","../src/modules/table-resize/table-resize-line.ts","../src/modules/table-resize/table-resize-scale.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,"/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n 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))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n 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);\n 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);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["blotName","container","tableWrapper","tableMain","tableColgroup","tableCol","tableBody","tableRow","tableCell","tableCellInner","tableUpSize","colMinWidthPre","colMinWidthPx","colDefaultWidth","rowMinHeightPx","tableUpEvent","AFTER_TABLE_RESIZE","defaultColorMap","createBEM","b","n","prefix","be","e","bm","m","bem","ns","s","bs","cv","v","is","normalizeValue","value","max","Math","min","Number","parseFloat","abs","validateHSB","hsb","h","a","RGBtoHSB","rgb","r","g","d","HSBtoRGB","i","floor","f","p","q","t","mod","round","RGBtoHEX","hex","toString","key","length","join","HSBtoHEX","isFunction","val","isArray","Array","isString","createButton","options","type","content","btn","document","createElement","classList","add","textContent","appendChild","createColorPicker","contentWidth","contentHeight","handleSizeSec","hsbValue","color","startsWith","slice","parseInt","toFixed","root","colorSelector","colorBackground","colorHandle","colorAlpha","alphaBg","alphaHandle","colorHue","colorHueHandle","action","colorRInput","colorGInput","colorBInput","colorAInput","map","item","label","toUpperCase","colorInput","addEventListener","replaceAll","updateValue","Object","assign","updateUI","colorDragging","hueDragging","alphaDragging","updateInput","input","entries","String","style","left","top","backgroundColor","background","updateAlphaBg","onChange","pickColor","event","rect","getBoundingClientRect","window","pageYOffset","documentElement","scrollTop","body","scrollLeft","pageX","pageY","pickHue","pickAlpha","width","onDrag","preventDefault","onColorSelectorDragEnd","removeEventListener","onColorHueDragEnd","onColorAlphaDragEnd","zindex","createDialog","child","target","beforeClose","appendTo","dialog","zIndex","overlay","stopPropagation","originOverflow","getComputedStyle","overflow","close","remove","createInputItem","inputItem","inputLabel","inputInput","setAttribute","errorTip","msg","contains","querySelector","removeError","createSelectBox","selectDom","selectBlock","row","c","col","selectItem","dataset","updateSelectBlockItems","from","querySelectorAll","childs","children","childRow","childCol","removeAttribute","onSelect","customBtn","texts","selectCustom","customBtnText","async","res","box","inputContent","rowItem","rowInput","rowErrorTip","rowText","colItem","colInput","colErrorTip","colText","control","confirmBtn","confirmText","cancelBtn","cancelText","validateInput","isNaN","notPositiveNumberError","keyboardClose","Promise","resolve","reject","focus","result","showTableCreator","createCoords","x","y","oppositeSideMap","right","bottom","oppositeAlignmentMap","start","end","clamp","evaluate","param","getSide","placement","split","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","includes","getAlignmentAxis","getOppositeAlignmentPlacement","replace","alignment","getOppositePlacement","side","rectToClientRect","height","computeCoordsFromPlacement","_ref","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","detectOverflow","state","_await$platform$isEle","platform","rects","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","padding","paddingObject","expandPaddingObject","getPaddingObject","element","clippingClientRect","getClippingRect","isElement","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","hasWindow","getNodeName","node","isNode","nodeName","toLowerCase","getWindow","_node$ownerDocument","ownerDocument","defaultView","Node","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","isOverflowElement","overflowX","overflowY","display","test","isTableElement","isTopLayer","some","selector","matches","isContainingBlock","elementOrCss","webkit","isWebKit","css","transform","perspective","containerType","backdropFilter","filter","willChange","contain","CSS","supports","isLastTraversableNode","getNodeScroll","scrollX","scrollY","getParentNode","assignedSlot","parentNode","host","getNearestOverflowAncestor","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","concat","visualViewport","parent","getPrototypeOf","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","domElement","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","ignoreScrollbarX","htmlRect","getClientRectFromClippingAncestor","clippingAncestor","html","clientWidth","clientHeight","visualViewportBased","getViewportRect","scrollWidth","scrollHeight","direction","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","position","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","offsetRect","htmlOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","currentNode","getContainingBlock","topLayer","clippingAncestors","cache","cachedResult","get","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","set","getClippingElementAncestors","this","_c","firstClippingAncestor","clippingRect","reduce","accRect","getElementRects","data","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","getClientRects","isRTL","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","forEach","passive","cleanupIo","onMove","timeoutId","io","cleanup","_io","clearTimeout","disconnect","refresh","skip","threshold","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","setTimeout","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","name","fn","_middlewareData$offse","_middlewareData$arrow","middlewareData","diffCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","convertValueToCoords","arrow","alignmentOffset","shift","checkMainAxis","checkCrossAxis","limiter","detectOverflowOptions","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","enabled","flip","_middlewareData$flip","initialPlacement","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","initialSideAxis","isBasePlacement","oppositePlacement","getExpandedPlacements","hasFallbackAxisSideDirection","push","isStart","lr","rl","tb","bt","getSideList","getOppositeAxisPlacements","placements","overflows","overflowsData","sides","mainAlignmentSide","getAlignmentSides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","index","nextPlacement","reset","resetPlacement","sort","_overflowsData$filter2","currentSideAxis","acc","limitShift","rawOffset","computedOffset","len","limitMin","limitMax","_middlewareData$offse2","isOriginSide","computePosition","Map","mergedOptions","platformWithCache","config","middleware","validMiddleware","Boolean","statefulPlacement","resetCount","nextX","nextY","computePosition$1","tooltipContainer","createTooltip","delay","onOpen","onClose","closed","onDestroy","tooltip","showTimer","closeTimer","then","transitionendHandler","removeChild","openTooltip","force","allow","closeTooltip","once","clickDisplay","show","prepare","hide","destroy","displayMethods","hover","eventListeners","bind","undefined","open","listener","click","destroyDisplay","isRectanglesIntersect","tolerance","edgeJudge","minAx","minAy","x1","maxAx","y1","maxAy","minBx","minBy","maxBx","maxBy","notOverlapX","notOverlapY","randomId","random","debounce","timestamp","args","apply","findParentBlot","blot","targetBlotName","statics","Error","findParentBlots","targetBlotNames","resultBlots","blotNameIndexMaps","size","has","delete","keys","findAllParentBlot","Blot","blots","mixinProps","source","prop","getOwnPropertyNames","defineProperty","getOwnPropertyDescriptor","limitDomInViewPort","leftLimited","topLimited","addScrollEvent","dom","handle","scrollHandler","clearScrollEvent","Parchment","Quill","import","Container","Block","BlockEmbed","ContainerFormat","static","Scope","BLOCK_BLOT","create","_value","tagName","className","insertAt","def","find","defaultChild","super","optimize","_context","next","checkMerge","moveChildren","BlockOverride","replaceWith","replacement","ParentBlot","selfParent","insertBefore","prev","block","selfRow","attributes","copy","format","tableNext","tableRowNext","tableCellNext","getValidCellspan","isValidCellspan","TableCellInnerFormat","Set","isAllowStyle","str","allowStyle","tableId","rowId","colId","rowspan","colspan","formats","domNode","setFormatValue","isStyle","cssText","allowDataAttrs","attrName","blocks","descendants","getColumnIndex","getColIds","indexOf","formatAt","blotValue","afterBlock","wrap","uiNode","firstChild","ref","cellInnerBlot","cellInnerBlotValue","selfValue","selfCell","newCellInner","forEachAt","cell","ScrollBlot","ScrollOverride","createBlock","refBlot","createBlotName","query","BLOCK","BLOT","TableRowFormat","setHeight","foreachCellInner","cellInner","insertCell","targetIndex","iterator","cur","getCellInner","skipRowNum","getCellByColumIndex","stopIndex","cellEndIndex","removeCell","columnIndexData","colIds","func","context","TableBodyFormat","insertRow","tableBlot","rows","insertColIds","colIndex","TableCellFormat","getAttribute","inlineStyles","property","allowAttrs","head","TableColFormat","validWidth","full","widthNumber","align","hasOwn","constructor","table","closest","lines","text","pop","line","tableColgroupBlot","tableMainBlot","tableBodyBlot","insertBlot","nextBlotRef","cellInners","newBlock","newTableBody","TableMainFormat","updateAlign","colWidthFillTable","cols","getCols","colsWidth","sum","cancelFull","tableWidth","colgroup","marginLeft","marginRight","getRows","getRowIds","TableColgroupFormat","findCol","insertColByIndex","TypeError","removeColByIndex","TableWrapperFormat","dataTransfer","dropEffect","emitter","on","events","TEXT_CHANGE","insertLineAround","deleteAt","tableBodys","tableColgroups","off","BlockBlot","menuColorSelectClassName","defaultTools","tip","icon","tableModule","selectedTds","getTextByCell","getHTMLByCell","clipboardItem","ClipboardItem","Blob","navigator","clipboard","write","hideTableTools","appendRow","appendCol","mergeCells","splitCell","removeRow","removeCol","deleteTable","isColorChoose","setCellAttrs","usedColors","colorClassName","selectWrapper","used","mapRow","TableMenuCommon","quill","menu","updateUsedColor","tooltipItem","colorItemClass","colorChooseTooltipOption","resolveOptions","storageValue","localStorage","getItem","localstorageKey","colorValue","JSON","parse","saveColors","clear","setItem","stringify","usedColorWrappers","usedColorWrapper","newColorItem","colorItem","tipText","tools","getUsedColors","buildTools","toolBox","tool","attrKey","iconDom","innerHTML","createColorChoose","getSelectedTds","createTipText","colorSelectWrapper","colorMap","colors","colorMapRow","marginTop","transparentColor","transparent","clearColor","customColor","custom","colorPicker","hideColorPicker","destroyColorPicker","usedColorWrap","recordColor","isChild","tableSelection","tipTextDom","isTableAlignRight","TableResizeCommon","dragging","dragColBreak","handleColMouseUpFunc","handleColMouseUp","handleColMouseMoveFunc","handleColMouseMove","handleColMouseDownFunc","handleColMouseDown","rowIndex","dragRowBreak","handleRowMouseUpFunc","handleRowMouseUp","handleRowMouseMoveFunc","handleRowMouseMove","handleRowMouseDownFunc","handleRowMouseDown","dragBEM","findCurrentColIndex","_e","colWidthChange","_i","_w","_isFull","createConfirmDialog","message","confirm","cancel","fontSize","lineHeight","btnWrapper","justifyContent","gap","w","isFull","needUpdate","updateInfo","pre","oldWidthPre","totalWidthNextPre","resultWidth","skipColIndex","perWidthInsufficient","info","px","emit","changeColRect","tableRect","resX","clientX","minWidth","maxRange","minRange","button","tableMainRect","fullWidth","colWidthAttr","divDom","styleValue","findCurrentRowIndex","rowHeightChange","_h","resY","clientY","Scrollbar","scrollbarContainer","minSize","move","cursorDown","cursorLeave","ratioY","ratioX","sizeWidth","sizeHeight","thumbState","X","Y","ob","scrollbar","thumb","propertyMap","parentElement","scrollDirection","scrollSize","client","calculateSize","createScrollbar","setScrollbarPosition","call","showScrollbar","editorScrollX","editorScrollY","containerOffsetLeft","containerOffsetTop","containerWidth","containerHeight","tableHeight","containerScrollHandler","originalHeight","originalWidth","mouseMoveDocumentHandler","prevPage","offsetRatio","thumbPositionPercentage","mouseUpDocumentHandler","hideScrollbar","startDrag","stopImmediatePropagation","onselectstart","ctrlKey","getSelection","removeAllRanges","currentTarget","displayListener","hideScrollbarTransitionend","IsFirstResizeObserve","Symbol","Delta","Break","icons","createCell","getCellWidth","styleWidth","tableCantInsert","isForbidInTable","current","TableUp","bindInHead","collapsed","handler","range","getLine","offsetInline","tail","register","allowedChildren","requiredContainer","overrides","formatMap","base","mixins","targetClass","props","prototype","mixinClass","fixTableByLisenter","balanceTables","tableResize","tableScrollbar","tableAlign","tableResizeScale","scrollbarBEM","toolboxBEM","addContainer","selection","selectionOptions","toolbar","getModule","theme","pickers","select","controls","toolName","toLocaleLowerCase","picker","buildCustomSelect","customSelect","selectRect","labelRect","keyboard","values","keyboradHandler","bindings","unshift","addBinding","evt","path","composedPath","tableNode","showTableTools","updateWithSelectedTds","pasteTableHandler","listenBalanceCells","classes","classname","resolveTexts","fullSwitch","alignOptions","scrollbarOptions","resizeOptions","resizeScaleOptions","fullCheckboxText","CopyCell","CutCell","InsertTop","InsertRight","InsertBottom","InsertLeft","MergeCell","SplitCell","DeleteRow","DeleteColumn","DeleteTable","BackgroundColor","BorderColor","rowspanCount","cellCount","colCount","pasteElementIntoCell","delta","_scroll","tableCellInnerValue","getFormat","op","ops","addMatcher","TEXT_NODE","ELEMENT_NODE","currentCellFormat","insert","attrs","hasCol","keepAtttrs","newCols","colNums","colWidths","fill","cells","cellWidth","calculateCols","colOps","cellAttrs","span","matchCell","cellFormat","border","resize","resizeScale","isFulllLabel","isFullCheckbox","checked","mark","isFullCheckboxText","attr","td","tds","getContents","isCut","tdParentMain","console","error","colgroupBlot","tbodyBlot","getElementTags","startTag","endTag","trBlot","tdRows","outerHTML","colgroupStartTag","colgroupEndTag","colStr","tableMainDom","cloneNode","mainStartTag","mainEndTag","wrapperStartTag","wrapperEndTag","insertTable","columns","currentBlot","getLeaf","borderWidth","calculateTableCellBorderWidth","rootStyle","paddingRight","colWidth","retain","j","updateContents","sources","USER","setSelection","SILENT","tableStr","div","visibility","tempTableStyle","fixUnusuaDeletelTable","trBlots","tableColIds","cellSpanMap","indexTr","tr","indexTd","indexCol","curCellSpan","curTd","SCROLL_OPTIMIZE","mutations","mutation","isDown","baseTd","baseTdParentTr","insertRowIndex","isRight","columnIndex","newColId","trs","spanCols","spanCol","nextSpanCols","fixTableByRemove","tableCols","colIdMap","idMap","reverseTrBlots","reverse","removeTr","count","endTrIndex","nextTrIndex","patchTds","nextTr","colspanMap","colspanCount","counts","selectTd","rowCount","baseTr","curTr","id","tableWrapperBlot","alignBox","buildTool","alignIcons","center","iconStr","setTableAlign","listenContextmenu","items","getElementsByClassName","menuRect","limitLeft","limitTop","cellSelect","tableRows","rowHeadWrapper","colHeadWrapper","corner","lastHeaderSelect","handleResizerHeader","isX","shiftKey","currentBoundary","computeSelectedTds","bindColEvents","tableColHeads","tableColHeadSeparators","bindRowEvents","tableRowHeads","tableRowHeadSeparators","descendant","tableBodyRect","rootRect","tableWrapperRect","cornerTranslateX","rowHeadWrapperTranslateX","colHeadStr","colHead","maxWidth","rowHeadStr","rowHead","maxHeight","colResizer","rowResizer","currentTableCell","curColIndex","curRowIndex","tableCellBlot","mousemoveHandler","hideWhenTextChange","findTableCell","updateColResizer","updateRowResizer","tableBodyect","tableCellRect","findIndex","currentRow","tableBodynRect","startX","startY","resizeobserver","buildResizer","blockSize","originColWidth","originRowHeight","handleMouseMove","diffX","diffY","itemWidth","itemHeight","handleMouseUp","isTableOutofEditor","editorRect","rootWidth","rootHeight","blockStyle","startScrollX","startScrollY","selectedTableScrollX","selectedTableScrollY","selectedEditorScrollX","selectedEditorScrollY","cellSelectWrap","tableMenu","isDisplaySelection","lastSelection","anchorNode","anchorOffset","focusNode","focusOffset","helpLinesInitial","entry","originVal","mouseDownHandler","selectionChangeHandler","SELECTION_CHANGE","quillSelectionChangeHandler","tableMenuOptions","getFirstTextNode","childNodes","nodeType","getLastTextNode","getNodeTailOffset","tempRange","createRange","selectNodeContents","collapse","startOffset","isInChildren","setSelectionData","selectionData","isUpFromDown","selectionDirectionUp","setStart","setEnd","addRange","extend","nodePosition","compareDocumentPosition","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","findWrapSelection","points","startNode","endNode","endOffset","selectColor","anchorBlot","focusBlot","anchorNames","focusNames","isAnchorInColgroup","isFocusInColgroup","newAnchorNode","newAnchorOffset","newFocusNode","newFocusOffset","isAnchorInCellInner","isFocusInCellInner","isNotSameCellInner","anchorCellBlot","focusCellBlot","setProperty","startPoint","endPoint","tableCells","tableScrollX","tableScrollY","getTableViewScroll","getQuillViewScroll","startPointX","startPointY","selectedCells","findEnd","__rect","targetRect","containerRect","getRelativeRect","mousedownEvent","closestTable","setSelectionTable","startTableId","mouseMoveHandler","mousemoveEvent","movePoint","blur","mouseUpHandler","Infinity","observer","characterData","characterDataOldValue","childList","subtree","wrapLeft","wrapTop"],"mappings":"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","x_google_ignoreList":[10,11,12,13]}
|