quill-table-up 2.2.2 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/utils/constants.ts","../src/utils/bem.ts","../src/utils/blot-helper.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.9/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.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/.pnpm/@floating-ui+dom@1.6.13/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../src/utils/components/tooltip.ts","../src/utils/transition-event-helper.ts","../src/utils/position.ts","../src/utils/resize-observer-helper.ts","../src/utils/scroll-event-handle.ts","../src/utils/transformer.ts","../src/utils/utils.ts","../src/formats/container-format.ts","../src/formats/utils.ts","../src/formats/table-cell-inner-format.ts","../src/formats/table-row-format.ts","../src/formats/table-body-format.ts","../src/formats/overrides/block.ts","../src/formats/overrides/scroll.ts","../src/formats/table-caption-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/formats/index.ts","../src/modules/table-align.ts","../src/modules/table-clipboard.ts","../src/modules/table-menu/constants.ts","../src/modules/table-menu/table-menu-common.ts","../src/modules/table-menu/table-menu-contextmenu.ts","../src/modules/table-menu/table-menu-select.ts","../src/modules/table-resize/utils.ts","../src/modules/table-resize/table-resize-common.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","../src/modules/table-scrollbar.ts","../src/modules/table-selection.ts","../src/table-up.ts"],"sourcesContent":[null,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 // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', '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\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\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 elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\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 if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\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 && !rectsAreEqual(prevRefRect, nextRefRect)) {\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,null,null,null],"names":["blotName","container","tableCaption","tableWrapper","tableMain","tableColgroup","tableCol","tableBody","tableRow","tableCell","tableCellInner","tableUpSize","colMinWidthPre","colMinWidthPx","colDefaultWidth","rowMinHeightPx","tableUpEvent","AFTER_TABLE_RESIZE","tableUpInternal","moduleName","defaultColorMap","cssNamespace","tableCantInsert","Set","isForbidInTable","current","parent","blot","has","statics","createBEM","b","n","prefix","be","e","bm","m","bem","ns","s","bs","cv","v","is","findParentBlot","targetBlotName","target","scroll","Error","findParentBlots","targetBlotNames","resultBlots","Array","length","blotNameIndexMaps","Map","map","name","i","size","get","delete","from","keys","join","findAllParentBlot","Blot","blots","set","findChildBlot","descendants","next","children","iterator","cur","push","mixinProps","source","prop","Object","getOwnPropertyNames","test","defineProperty","getOwnPropertyDescriptor","normalizeValue","value","max","Math","min","Number","parseFloat","abs","validateHSB","hsb","h","a","RGBtoHSB","rgb","r","g","d","HSBtoRGB","floor","f","p","q","t","mod","round","RGBtoHEX","hex","toString","key","HSBtoHEX","isFunction","val","isArray","isString","isObject","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","item","label","toUpperCase","colorInput","addEventListener","replaceAll","updateValue","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","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","querySelectorAll","childs","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","isTableElement","isTopLayer","some","selector","matches","isContainingBlock","elementOrCss","webkit","isWebKit","css","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","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","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","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingElementAncestors","this","_c","firstClippingAncestor","clippingRect","reduce","accRect","getElementRects","data","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","getClientRects","isRTL","rectsAreEqual","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","forEach","passive","cleanupIo","onMove","timeoutId","io","cleanup","_io","clearTimeout","disconnect","refresh","skip","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","setTimeout","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","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","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","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","domNode","duration","handler","lastTimer","handleIfTransitionend","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","limitDomInViewPort","leftLimited","topLimited","createResizeObserver","callback","ignoreFirstBindSymbol","Symbol","observeEls","observer","ignoreFirstBind","entry","originVal","originObserve","call","originUnobserve","originDisconnect","values","addScrollEvent","dom","handle","scrollHandler","clearScrollEvent","cssTextToObject","cssText","styleObject","styles","trim","colonPosition","indexOf","property","toCamelCase","objectToCssText","obj","toKebabCase","all","letter","randomId","random","debounce","timestamp","args","apply","Parchment","Quill","import","Container","Block","BlockEmbed","ContainerFormat","static","Scope","BLOCK_BLOT","create","_value","tagName","className","insertAt","def","find","defaultChild","super","optimize","_context","checkMerge","moveChildren","enforceAllowedChildren","allowedChildren","scope","splitAfter","prev","unwrap","ParentBlot","getValidCellspan","isValidCellspan","TableCellInnerFormat","isAllowStyle","str","allowStyle","tableId","rowId","colId","rowspan","colspan","formats","constructor","isEnabled","setFormatValue","isStyle","allowDataAttrs","attrName","blocks","getColumnIndex","getColIds","formatAt","blotValue","afterBlock","wrap","uiNode","firstChild","insertBefore","ref","cellInnerBlot","cellInnerBlotValue","selfValue","selfRow","selfCell","newCellInner","forEachAt","block","cell","TableRowFormat","setHeight","foreachCellInner","cellInner","getCellByColId","colIds","targetIndex","curIndex","insertCell","getCellInner","skipRowNum","getCellByColumIndex","stopIndex","cellEndIndex","removeCell","columnIndexData","func","context","TableBodyFormat","insertRow","tableBlot","rows","insertColIds","colIndex","BlockOverride","replaceWith","replacement","selfParent","attributes","copy","format","console","error","ScrollBlot","ScrollOverride","enable","tableCellInnerFormat","inners","inner","tableCaptionFormat","caption","createBlock","refBlot","createBlotName","query","BLOCK","BLOT","Inline","Text","TableCaptionFormat","captionSide","attachUI","createUI","innerHTML","TableCellFormat","getAttribute","inlineStyles","allowAttrs","setStyleBoder","head","setValue","leftCellInners","getNearByCell","td","descendant","topCellInners","nearByCell","startColIndex","endColIndex","borderColIds","_","trReachCurrent","TableColFormat","validWidth","full","widthNumber","align","hasOwn","table","closest","isAllFull","lines","text","pop","line","tableColgroupBlot","tableMainBlot","tableBodyBlot","insertBlot","nextBlotRef","cellInners","newBlock","newTableBody","TableMainFormat","updateAlign","colWidthFillTable","cols","getCols","colsWidth","sum","setFull","tableWidth","cancelFull","marginLeft","marginRight","getRows","getRowIds","TableColgroupFormat","findCol","insertColByIndex","TypeError","removeColByIndex","TableWrapperFormat","dataTransfer","dropEffect","emitter","on","events","TEXT_CHANGE","insertLineAround","deleteAt","tableBodys","tableColgroups","off","BlockBlot","getTableMainRect","TableAlign","tableModule","quill","tableWrapperBlot","alignBox","buildTool","updateWhenTextChange","addContainer","icons","alignIcons","center","iconStr","setTableAlign","SCROLL_OPTIMIZE","tableSelection","tableResize","tableResizeScale","tableScrollbar","Delta","Clipboard","getCellWidth","styleWidth","TableClipboard","rowspanCount","cellCount","colCount","addMatcher","matchTable","matchTbody","matchColgroup","matchCol","matchTr","matchTd","matchCaption","ELEMENT_NODE","matchTdAttributor","delta","ops","bodyStartIndex","insert","attrs","hasCol","newCols","tableNode","colNums","colWidths","fill","cells","cellWidth","calculateCols","colOps","splice","op","styleObj","span","cellFormat","border","other","endsWith","toLocaleLowerCase","bgTemp","cellTemp","convert","menuColorSelectClassName","tableMenuTools","Break","CopyCell","tip","icon","selectedTds","getTextByCell","getHTMLByCell","clipboardItem","ClipboardItem","Blob","navigator","clipboard","write","hideTableTools","CutCell","InsertTop","appendRow","InsertRight","appendCol","InsertBottom","InsertLeft","MergeCell","mergeCells","SplitCell","splitCell","DeleteRow","removeRow","DeleteColumn","removeCol","DeleteTable","deleteTable","BackgroundColor","isColorChoose","setCellAttrs","BorderColor","SwitchWidth","InsertCaption","colorClassName","selectWrapper","used","mapRow","TableMenuCommon","usedColors","menu","isMenuDisplay","isColorPicking","updateUsedColor","tooltipItem","activeTooltip","colorItemClass","colorChooseTooltipOption","resolveOptions","storageValue","localStorage","getItem","localstorageKey","colorValue","JSON","parse","saveColors","clear","setItem","stringify","usedColorWrappers","usedColorWrapper","newColorItem","colorItem","tipText","tools","buildTools","toolBox","tool","attrKey","iconDom","createColorChoose","getSelectedTds","createTipText","colorSelectWrapper","colorMap","colors","colorMapRow","marginTop","transparentColor","transparent","clearColor","customColor","custom","colorPicker","hideColorPicker","destroyColorPicker","usedColorWrap","recordColor","hideDisplay","setActiveTooltip","updateWithSelectedTds","showDisplay","isColorPick","tipTextDom","TableMenuContextmenu","listenContextmenu","path","composedPath","clientX","clientY","items","getElementsByClassName","isDisplaySelection","menuRect","limitLeft","limitTop","TableMenuSelect","cellSelect","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","minWidth","maxRange","minRange","button","colWidthAttr","divDom","styleValue","findCurrentRowIndex","rowHeightChange","_h","resY","tableMainRect","TableResizeBox","tableCols","tableRows","rowHeadWrapper","colHeadWrapper","corner","lastHeaderSelect","handleResizerHeader","isX","shiftKey","currentBoundary","lastX","lastY","computeSelectedTds","tableCaptionBlot","bindColEvents","tableColHeads","tableColHeadSeparators","bindRowEvents","tableRowHeads","tableRowHeadSeparators","tableWrapperRect","rootRect","cornerTranslateX","rowHeadWrapperTranslateX","tableCaptionIsTop","transform","colHeadStr","colHead","maxWidth","rowHeadStr","rowHead","maxHeight","TableResizeLine","colResizer","rowResizer","currentTableCell","curColIndex","curRowIndex","tableCellBlot","mousemoveHandler","hideWhenTextChange","findTableCell","updateColResizer","updateRowResizer","tableBodyect","tableCellRect","findIndex","currentRow","tableBodynRect","TableResizeScale","startX","startY","resizeobserver","buildResizer","blockSize","originColWidth","originRowHeight","handleMouseMove","isRight","diffX","diffY","itemWidth","itemHeight","handleMouseUp","isTableOutofEditor","editorRect","rootWidth","rootHeight","blockStyle","Scrollbar","scrollbarContainer","minSize","move","cursorDown","cursorLeave","ratioY","ratioX","sizeWidth","sizeHeight","thumbState","X","Y","ob","scrollbar","thumb","propertyMap","parentElement","scrollDirection","scrollSize","client","calculateSize","createScrollbar","setScrollbarPosition","showScrollbar","tableHeight","editorScrollX","editorScrollY","rootOffsetLeft","rootOffsetTop","containerOffsetLeft","containerOffsetTop","bodyOffsetLeft","bodyOffsetTop","containerWidth","containerHeight","containerScrollHandler","originalHeight","originalWidth","originDocSelect","mouseMoveDocumentHandler","prevPage","offsetRatio","thumbPositionPercentage","mouseUpDocumentHandler","hideScrollbar","onselectstart","startDrag","stopImmediatePropagation","ctrlKey","getSelection","removeAllRanges","currentTarget","displayListener","hideScrollbarTransitionend","TableVirtualScrollbar","TableSelection","startScrollX","startScrollY","selectedTableScrollX","selectedTableScrollY","selectedEditorScrollX","selectedEditorScrollY","cellSelectWrap","tableMenu","lastSelection","anchorNode","anchorOffset","focusNode","focusOffset","helpLinesInitial","updateAfterEvent","mouseDownHandler","selectionChangeHandler","SELECTION_CHANGE","quillSelectionChangeHandler","tableMenuOptions","getFirstTextNode","childNodes","nodeType","TEXT_NODE","getLastTextNode","getNodeTailOffset","tempRange","createRange","selectNodeContents","collapse","startOffset","range","_oldRange","sources","API","getFormat","getLine","isInCell","containsLine","setSelectionData","selection","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","closestTableBody","setSelectionTable","startTableId","mouseMoveHandler","mousemoveEvent","movePoint","blur","mouseUpHandler","Infinity","wrapLeft","wrapTop","createCell","updateTableConstants","TableUp","toolName","defaultCustomSelect","picker","insertTable","generateTableArrowHandler","up","bindInHead","collapsed","childDirection","aroundLine","targetRow","cellIndex","targetCell","targetChild","setSelection","USER","offsetInline","tail","_range","register","requiredContainer","overrides","formatMap","base","mixins","targetClass","props","prototype","mixinClass","fixTableByLisenter","balanceTables","tableAlign","resizeOb","initialContainer","scrollbarBEM","selectionOptions","toolbar","getModule","theme","pickers","select","controls","buildCustomSelect","customSelect","selectRect","labelRect","keyboard","keyboradHandler","bindings","unshift","addBinding","evt","showTableTools","quillHack","listenBalanceCells","toolboxBEM","quillRootRect","classes","classname","resolveTexts","fullSwitch","alignOptions","scrollbarOptions","resizeOptions","resizeScaleOptions","fullCheckboxText","originGetSemanticHTML","getSemanticHTML","tableWrapperFormat","doc","DOMParser","parseFromString","originFormat","EmbedBlot","tableUpModule","setOrigin","tdRanges","innerTd","resultValue","lastIndex","retain","updateDelta","updateContents","modules","cleanHandler","handlers","clean","cleanFormatExcludeTable","changeCellStyle","getText","suffixLength","suffix","contents","getContents","diff","deltaIndex","nullValue","tableCellInnerValue","newStyle","warn","editTds","tds","cleanBorder","allCells","cellIndexMap","styleStr","cellDiff","resize","resizeScale","isFulllLabel","isFullCheckbox","checked","isFullCheckboxText","attr","isCut","tdParentMain","tableIndex","getIndex","tableLength","tableHTML","cellColWidth","cellColIds","cellIds","rowCount","lastRowId","colsValue","totalWidth","total","columns","currentBlot","getLeaf","borderWidth","calculateTableCellBorderWidth","rootStyle","paddingRight","colWidth","j","SILENT","tableStr","div","visibility","tempTableStyle","fixUnusuaDeletelTable","trBlots","tableColIds","cellSpanMap","indexTr","tr","indexTd","indexCol","curCellSpan","curTd","mutations","mutation","isDown","baseTd","baseTdParentTr","insertRowIndex","columnIndex","newColId","colgroup","trs","spanCols","spanCol","nextSpanCols","fixTableByRemove","colIdMap","idMap","reverseTrBlots","reverse","removeTr","count","endTrIndex","nextTrIndex","patchTds","nextTr","colspanMap","colspanCount","counts","selectTd","baseTr","curTr","id"],"mappings":"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","x_google_ignoreList":[11,12,13,14]}
1
+ {"version":3,"file":"index.js","sources":["../src/utils/constants.ts","../src/utils/bem.ts","../src/utils/blot-helper.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.9/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.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/.pnpm/@floating-ui+dom@1.6.13/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../src/utils/components/tooltip.ts","../src/utils/transition-event-helper.ts","../src/utils/position.ts","../src/utils/resize-observer-helper.ts","../src/utils/scroll-event-handle.ts","../src/utils/transformer.ts","../src/utils/utils.ts","../src/formats/container-format.ts","../src/formats/utils.ts","../src/formats/table-cell-inner-format.ts","../src/formats/table-row-format.ts","../src/formats/table-body-format.ts","../src/formats/overrides/block.ts","../src/formats/overrides/scroll.ts","../src/formats/table-caption-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/formats/index.ts","../src/modules/table-align.ts","../src/modules/table-clipboard.ts","../src/modules/table-menu/constants.ts","../src/modules/table-menu/table-menu-common.ts","../src/modules/table-menu/table-menu-contextmenu.ts","../src/modules/table-menu/table-menu-select.ts","../src/modules/table-resize/utils.ts","../src/modules/table-resize/table-resize-common.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","../src/modules/table-scrollbar.ts","../src/modules/table-selection.ts","../src/table-up.ts"],"sourcesContent":[null,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 // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', '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\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\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 elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\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 if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\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 && !rectsAreEqual(prevRefRect, nextRefRect)) {\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,null,null,null],"names":["blotName","container","tableCaption","tableWrapper","tableMain","tableColgroup","tableCol","tableBody","tableRow","tableCell","tableCellInner","tableUpSize","colMinWidthPre","colMinWidthPx","colDefaultWidth","rowMinHeightPx","tableUpEvent","AFTER_TABLE_RESIZE","tableUpInternal","moduleName","defaultColorMap","cssNamespace","tableCantInsert","Set","isForbidInTable","current","parent","blot","has","statics","createBEM","b","n","prefix","be","e","bm","m","bem","ns","s","bs","cv","v","is","findParentBlot","targetBlotName","target","scroll","Error","findParentBlots","targetBlotNames","resultBlots","Array","length","blotNameIndexMaps","Map","map","name","i","size","get","delete","from","keys","join","findAllParentBlot","Blot","blots","set","findChildBlot","descendants","next","children","iterator","cur","push","mixinProps","source","prop","Object","getOwnPropertyNames","test","defineProperty","getOwnPropertyDescriptor","normalizeValue","value","max","Math","min","Number","parseFloat","abs","validateHSB","hsb","h","a","RGBtoHSB","rgb","r","g","d","HSBtoRGB","floor","f","p","q","t","mod","round","RGBtoHEX","hex","toString","key","HSBtoHEX","isFunction","val","isArray","isString","isObject","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","item","label","toUpperCase","colorInput","addEventListener","replaceAll","updateValue","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","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","querySelectorAll","childs","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","isTableElement","isTopLayer","some","selector","matches","isContainingBlock","elementOrCss","webkit","isWebKit","css","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","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","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","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingElementAncestors","this","_c","firstClippingAncestor","clippingRect","reduce","accRect","getElementRects","data","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","getClientRects","isRTL","rectsAreEqual","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","forEach","passive","cleanupIo","onMove","timeoutId","io","cleanup","_io","clearTimeout","disconnect","refresh","skip","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","setTimeout","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","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","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","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","domNode","duration","handler","lastTimer","handleIfTransitionend","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","limitDomInViewPort","leftLimited","topLimited","createResizeObserver","callback","ignoreFirstBindSymbol","Symbol","observeEls","observer","ignoreFirstBind","entry","originVal","originObserve","call","originUnobserve","originDisconnect","values","addScrollEvent","dom","handle","scrollHandler","clearScrollEvent","cssTextToObject","cssText","styleObject","styles","trim","colonPosition","indexOf","property","toCamelCase","objectToCssText","obj","toKebabCase","all","letter","randomId","random","debounce","timestamp","args","apply","Parchment","Quill","import","Container","Block","BlockEmbed","ContainerFormat","static","Scope","BLOCK_BLOT","create","_value","tagName","className","insertAt","def","find","defaultChild","super","optimize","_context","checkMerge","moveChildren","enforceAllowedChildren","allowedChildren","scope","splitAfter","prev","unwrap","ParentBlot","getValidCellspan","isValidCellspan","TableCellInnerFormat","isAllowStyle","str","allowStyle","tableId","rowId","colId","rowspan","colspan","formats","constructor","isEnabled","setFormatValue","isStyle","allowDataAttrs","attrName","blocks","getColumnIndex","getColIds","formatAt","blotValue","afterBlock","wrap","uiNode","firstChild","insertBefore","ref","cellInnerBlot","cellInnerBlotValue","selfValue","selfRow","selfCell","newCellInner","forEachAt","block","cell","TableRowFormat","setHeight","foreachCellInner","cellInner","getCellByColId","colIds","targetIndex","curIndex","insertCell","getCellInner","skipRowNum","getCellByColumIndex","stopIndex","cellEndIndex","removeCell","columnIndexData","func","context","TableBodyFormat","insertRow","tableBlot","rows","insertColIds","colIndex","BlockOverride","replaceWith","replacement","selfParent","attributes","copy","format","console","error","ScrollBlot","ScrollOverride","enable","tableCellInnerFormat","inners","inner","tableCaptionFormat","caption","createBlock","refBlot","createBlotName","query","BLOCK","BLOT","Inline","Text","TableCaptionFormat","captionSide","attachUI","createUI","innerHTML","TableCellFormat","getAttribute","inlineStyles","allowAttrs","setStyleBoder","head","setValue","leftCellInners","getNearByCell","td","descendant","topCellInners","nearByCell","startColIndex","endColIndex","borderColIds","_","trReachCurrent","TableColFormat","validWidth","full","widthNumber","align","hasOwn","table","closest","isAllFull","lines","text","pop","line","tableColgroupBlot","tableMainBlot","tableBodyBlot","insertBlot","nextBlotRef","cellInners","newBlock","newTableBody","TableMainFormat","updateAlign","colWidthFillTable","cols","getCols","colsWidth","sum","setFull","tableWidth","cancelFull","marginLeft","marginRight","getRows","getRowIds","sortMergeChildren","isCaptionFirst","isColgroupSecond","isColgroupFirst","isBodyLast","tail","clone","TableColgroupFormat","findCol","insertColByIndex","TypeError","removeColByIndex","TableWrapperFormat","dataTransfer","dropEffect","emitter","on","events","TEXT_CHANGE","insertLineAround","deleteAt","tableBodys","tableColgroups","off","BlockBlot","getTableMainRect","TableAlign","tableModule","quill","tableWrapperBlot","alignBox","buildTool","updateWhenTextChange","addContainer","icons","alignIcons","center","iconStr","setTableAlign","SCROLL_OPTIMIZE","tableSelection","tableResize","tableResizeScale","tableScrollbar","Delta","Clipboard","getCellWidth","styleWidth","TableClipboard","rowspanCount","cellCount","colCount","addMatcher","matchTable","matchTbody","matchColgroup","matchCol","matchTr","matchTd","matchCaption","ELEMENT_NODE","matchTdAttributor","delta","ops","bodyStartIndex","insert","attrs","hasCol","newCols","tableNode","colNums","colWidths","fill","cells","cellWidth","calculateCols","colOps","splice","op","styleObj","span","cellFormat","border","other","endsWith","toLocaleLowerCase","bgTemp","cellTemp","convert","menuColorSelectClassName","tableMenuTools","Break","CopyCell","tip","icon","selectedTds","getTextByCell","getHTMLByCell","clipboardItem","ClipboardItem","Blob","navigator","clipboard","write","hideTableTools","CutCell","InsertTop","appendRow","InsertRight","appendCol","InsertBottom","InsertLeft","MergeCell","mergeCells","SplitCell","splitCell","DeleteRow","removeRow","DeleteColumn","removeCol","DeleteTable","deleteTable","BackgroundColor","isColorChoose","setCellAttrs","BorderColor","SwitchWidth","InsertCaption","colorClassName","selectWrapper","used","mapRow","TableMenuCommon","usedColors","menu","isMenuDisplay","isColorPicking","updateUsedColor","tooltipItem","activeTooltip","colorItemClass","colorChooseTooltipOption","resolveOptions","storageValue","localStorage","getItem","localstorageKey","colorValue","JSON","parse","saveColors","clear","setItem","stringify","usedColorWrappers","usedColorWrapper","newColorItem","colorItem","tipText","tools","buildTools","toolBox","tool","attrKey","iconDom","createColorChoose","getSelectedTds","createTipText","colorSelectWrapper","colorMap","colors","colorMapRow","marginTop","transparentColor","transparent","clearColor","customColor","custom","colorPicker","hideColorPicker","destroyColorPicker","usedColorWrap","recordColor","hideDisplay","setActiveTooltip","updateWithSelectedTds","showDisplay","isColorPick","tipTextDom","TableMenuContextmenu","listenContextmenu","path","composedPath","clientX","clientY","items","getElementsByClassName","isDisplaySelection","menuRect","limitLeft","limitTop","TableMenuSelect","cellSelect","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","minWidth","maxRange","minRange","button","colWidthAttr","divDom","styleValue","findCurrentRowIndex","rowHeightChange","_h","resY","tableMainRect","TableResizeBox","tableCols","tableRows","rowHeadWrapper","colHeadWrapper","corner","lastHeaderSelect","handleResizerHeader","isX","shiftKey","currentBoundary","lastX","lastY","computeSelectedTds","tableCaptionBlot","bindColEvents","tableColHeads","tableColHeadSeparators","bindRowEvents","tableRowHeads","tableRowHeadSeparators","tableWrapperRect","rootRect","cornerTranslateX","rowHeadWrapperTranslateX","tableCaptionIsTop","transform","colHeadStr","colHead","maxWidth","rowHeadStr","rowHead","maxHeight","TableResizeLine","colResizer","rowResizer","currentTableCell","curColIndex","curRowIndex","tableCellBlot","mousemoveHandler","hideWhenTextChange","findTableCell","updateColResizer","updateRowResizer","tableBodyect","tableCellRect","findIndex","currentRow","tableBodynRect","TableResizeScale","startX","startY","resizeobserver","buildResizer","blockSize","originColWidth","originRowHeight","handleMouseMove","isRight","diffX","diffY","itemWidth","itemHeight","handleMouseUp","isTableOutofEditor","editorRect","rootWidth","rootHeight","blockStyle","Scrollbar","scrollbarContainer","minSize","move","cursorDown","cursorLeave","ratioY","ratioX","sizeWidth","sizeHeight","thumbState","X","Y","ob","scrollbar","thumb","propertyMap","parentElement","scrollDirection","scrollSize","client","calculateSize","createScrollbar","setScrollbarPosition","showScrollbar","tableHeight","editorScrollX","editorScrollY","rootOffsetLeft","rootOffsetTop","containerOffsetLeft","containerOffsetTop","bodyOffsetLeft","bodyOffsetTop","containerWidth","containerHeight","containerScrollHandler","originalHeight","originalWidth","originDocSelect","mouseMoveDocumentHandler","prevPage","offsetRatio","thumbPositionPercentage","mouseUpDocumentHandler","hideScrollbar","onselectstart","startDrag","stopImmediatePropagation","ctrlKey","getSelection","removeAllRanges","currentTarget","displayListener","hideScrollbarTransitionend","TableVirtualScrollbar","TableSelection","startScrollX","startScrollY","selectedTableScrollX","selectedTableScrollY","selectedEditorScrollX","selectedEditorScrollY","cellSelectWrap","tableMenu","lastSelection","anchorNode","anchorOffset","focusNode","focusOffset","helpLinesInitial","updateAfterEvent","mouseDownHandler","selectionChangeHandler","SELECTION_CHANGE","quillSelectionChangeHandler","tableMenuOptions","getFirstTextNode","childNodes","nodeType","TEXT_NODE","getLastTextNode","getNodeTailOffset","tempRange","createRange","selectNodeContents","collapse","startOffset","range","_oldRange","sources","API","getFormat","getLine","isInCell","containsLine","setSelectionData","selection","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","closestTableBody","setSelectionTable","startTableId","mouseMoveHandler","mousemoveEvent","movePoint","blur","mouseUpHandler","Infinity","wrapLeft","wrapTop","createCell","updateTableConstants","TableUp","toolName","defaultCustomSelect","picker","insertTable","generateTableArrowHandler","up","bindInHead","collapsed","childDirection","aroundLine","targetRow","cellIndex","targetCell","targetChild","setSelection","USER","offsetInline","_range","register","requiredContainer","overrides","formatMap","base","mixins","targetClass","props","prototype","mixinClass","fixTableByLisenter","balanceTables","tableAlign","resizeOb","initialContainer","scrollbarBEM","selectionOptions","toolbar","getModule","theme","pickers","select","controls","buildCustomSelect","customSelect","selectRect","labelRect","keyboard","keyboradHandler","bindings","unshift","addBinding","evt","showTableTools","quillHack","listenBalanceCells","toolboxBEM","quillRootRect","classes","classname","resolveTexts","fullSwitch","alignOptions","scrollbarOptions","resizeOptions","resizeScaleOptions","fullCheckboxText","originGetSemanticHTML","getSemanticHTML","tableWrapperFormat","doc","DOMParser","parseFromString","originFormat","EmbedBlot","tableUpModule","setOrigin","tdRanges","innerTd","resultValue","lastIndex","retain","updateDelta","updateContents","modules","cleanHandler","handlers","clean","cleanFormatExcludeTable","changeCellStyle","getText","suffixLength","suffix","contents","getContents","diff","deltaIndex","nullValue","tableCellInnerValue","newStyle","warn","editTds","tds","cleanBorder","allCells","cellIndexMap","styleStr","cellDiff","resize","resizeScale","isFulllLabel","isFullCheckbox","checked","isFullCheckboxText","attr","isCut","tdParentMain","tableIndex","getIndex","tableLength","tableHTML","cellColWidth","cellColIds","cellIds","rowCount","lastRowId","colsValue","totalWidth","total","columns","currentBlot","getLeaf","borderWidth","calculateTableCellBorderWidth","rootStyle","paddingRight","colWidth","j","SILENT","tableStr","div","visibility","tempTableStyle","fixUnusuaDeletelTable","trBlots","tableColIds","cellSpanMap","indexTr","tr","indexTd","indexCol","curCellSpan","curTd","mutations","mutation","mutationTarget","isDown","baseTd","baseTdParentTr","insertRowIndex","columnIndex","newColId","colgroup","trs","spanCols","spanCol","nextSpanCols","fixTableByRemove","colIdMap","idMap","reverseTrBlots","reverse","removeTr","count","endTrIndex","nextTrIndex","patchTds","nextTr","colspanMap","colspanCount","counts","selectTd","baseTr","curTr","id"],"mappings":"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","x_google_ignoreList":[11,12,13,14]}