quill-table-up 2.2.0 → 2.2.2
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.d.ts +101 -93
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +4 -1
- package/src/__tests__/e2e/table-caption.test.ts +41 -0
- package/src/__tests__/e2e/table-scrollbar.test.ts +35 -0
- package/src/__tests__/e2e/table-selection.test.ts +61 -0
- package/src/__tests__/unit/table-clipboard.test.ts +261 -123
- package/src/formats/index.ts +12 -0
- package/src/formats/table-caption-format.ts +1 -0
- package/src/formats/table-cell-format.ts +1 -1
- package/src/formats/utils.ts +1 -1
- package/src/modules/table-clipboard.ts +30 -1
- package/src/modules/table-resize/table-resize-box.ts +13 -15
- package/src/modules/table-resize/table-resize-common.ts +8 -8
- package/src/modules/table-resize/table-resize-scale.ts +5 -5
- package/src/modules/table-scrollbar.ts +6 -7
- package/src/modules/table-selection.ts +7 -7
- package/src/table-up.ts +22 -4
- package/src/utils/transformer.ts +13 -2
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/overrides/block.ts","../src/formats/utils.ts","../src/formats/table-cell-inner-format.ts","../src/formats/overrides/scroll.ts","../src/formats/table-row-format.ts","../src/formats/table-body-format.ts","../src/formats/table-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/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],"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","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","BlockOverride","replaceWith","replacement","selfParent","insertBefore","block","selfRow","attributes","copy","format","console","error","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","ref","cellInnerBlot","cellInnerBlotValue","selfValue","selfCell","newCellInner","forEachAt","cell","ScrollBlot","ScrollOverride","enable","tableCellInnerFormat","inners","inner","tableCaptionFormat","caption","createBlock","refBlot","createBlotName","query","BLOCK","BLOT","TableRowFormat","setHeight","foreachCellInner","cellInner","getCellByColId","colIds","targetIndex","curIndex","insertCell","getCellInner","skipRowNum","getCellByColumIndex","stopIndex","cellEndIndex","removeCell","columnIndexData","func","context","TableBodyFormat","insertRow","tableBlot","rows","insertColIds","colIndex","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","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","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","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","tableBodyRect","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","editorScrollX","editorScrollY","containerOffsetLeft","containerOffsetTop","bodyOffsetLeft","bodyOffsetTop","containerWidth","containerHeight","tableHeight","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","toolboxBEM","scrollbarBEM","selectionOptions","toolbar","getModule","theme","pickers","select","controls","buildCustomSelect","customSelect","selectRect","labelRect","keyboard","keyboradHandler","bindings","unshift","addBinding","evt","showTableTools","quillHack","listenBalanceCells","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","filterStyle","obj","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","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]}
|