quill-table-up 2.1.9 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -34
- package/dist/index.css +1 -1
- package/dist/index.d.ts +53 -17
- 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 +16 -16
- package/src/__tests__/e2e/editor-page.ts +6 -0
- package/src/__tests__/e2e/table-blots.test.ts +52 -0
- package/src/__tests__/e2e/table-caption.test.ts +93 -0
- package/src/__tests__/e2e/table-hack.test.ts +43 -0
- package/src/__tests__/e2e/table-resize.test.ts +136 -5
- package/src/__tests__/e2e/table-selection.test.ts +7 -10
- package/src/__tests__/e2e/utils.ts +2 -2
- package/src/__tests__/unit/table-blots.test.ts +223 -0
- package/src/__tests__/unit/table-caption.test.ts +237 -0
- package/src/__tests__/unit/table-clipboard.test.ts +6 -6
- package/src/__tests__/unit/table-hack.test.ts +137 -63
- package/src/__tests__/unit/table-insert.test.ts +4 -4
- package/src/__tests__/unit/table-redo-undo.test.ts +252 -3
- package/src/__tests__/unit/utils.test.ts +2 -2
- package/src/__tests__/unit/utils.ts +44 -25
- package/src/__tests__/unit/vitest.d.ts +0 -1
- package/src/formats/index.ts +1 -0
- package/src/formats/overrides/scroll.ts +6 -0
- package/src/formats/table-caption-format.ts +115 -0
- package/src/formats/table-cell-format.ts +63 -33
- package/src/formats/table-cell-inner-format.ts +3 -3
- package/src/formats/table-col-format.ts +16 -12
- package/src/formats/table-colgroup-format.ts +2 -2
- package/src/formats/table-main-format.ts +0 -9
- package/src/formats/table-wrapper-format.ts +2 -2
- package/src/modules/table-clipboard.ts +21 -3
- package/src/modules/table-menu/constants.ts +18 -2
- package/src/modules/table-menu/table-menu-common.ts +0 -5
- package/src/modules/table-resize/table-resize-box.ts +74 -31
- package/src/modules/table-resize/table-resize-common.ts +8 -7
- package/src/modules/table-resize/table-resize-scale.ts +12 -5
- package/src/modules/table-scrollbar.ts +12 -7
- package/src/modules/table-selection.ts +16 -19
- package/src/style/color-picker.less +4 -2
- package/src/style/index.less +19 -0
- package/src/style/table-resize.less +16 -1
- package/src/svg/arrow-up-down.svg +11 -0
- package/src/svg/auto-full.svg +11 -1
- package/src/svg/background.svg +10 -1
- package/src/svg/border.svg +10 -1
- package/src/svg/color.svg +10 -1
- package/src/svg/copy.svg +8 -1
- package/src/svg/cut.svg +7 -1
- package/src/svg/insert-bottom.svg +6 -1
- package/src/svg/insert-left.svg +6 -1
- package/src/svg/insert-right.svg +6 -1
- package/src/svg/insert-top.svg +6 -1
- package/src/svg/merge-cell.svg +6 -1
- package/src/svg/remove-column.svg +6 -1
- package/src/svg/remove-row.svg +6 -1
- package/src/svg/remove-table.svg +6 -1
- package/src/svg/split-cell.svg +6 -1
- package/src/svg/table-head.svg +4 -0
- package/src/table-up.ts +149 -112
- package/src/utils/bem.ts +2 -2
- package/src/utils/blot-helper.ts +12 -0
- package/src/utils/color.ts +12 -12
- package/src/utils/components/button.ts +2 -2
- package/src/utils/components/color-picker.ts +2 -2
- package/src/utils/components/dialog.ts +2 -2
- package/src/utils/components/input.ts +2 -2
- package/src/utils/components/table/creator.ts +2 -2
- package/src/utils/components/table/select-box.ts +2 -2
- package/src/utils/components/tooltip.ts +2 -2
- package/src/utils/constants.ts +5 -3
- package/src/utils/position.ts +2 -2
- package/src/utils/resize-observer-helper.ts +2 -2
- package/src/utils/transformer.ts +5 -0
- package/src/utils/transition-event-helper.ts +2 -2
- package/src/utils/types.ts +5 -1
- package/src/utils/utils.ts +2 -2
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/utils/constants.ts","../src/utils/bem.ts","../src/utils/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/utils.ts","../src/formats/container-format.ts","../src/formats/overrides/block.ts","../src/formats/utils.ts","../src/formats/table-cell-inner-format.ts","../src/utils/transformer.ts","../src/formats/overrides/scroll.ts","../src/formats/table-row-format.ts","../src/formats/table-body-format.ts","../src/formats/table-cell-format.ts","../src/formats/table-col-format.ts","../src/formats/table-main-format.ts","../src/formats/table-colgroup-format.ts","../src/formats/table-wrapper-format.ts","../src/modules/table-clipboard.ts","../src/modules/table-menu/constants.ts","../src/modules/table-menu/table-menu-common.ts","../src/modules/table-resize/utils.ts","../src/modules/table-resize/table-resize-common.ts","../src/modules/table-scrollbar.ts","../src/table-up.ts","../src/modules/table-align.ts","../src/modules/table-menu/table-menu-contextmenu.ts","../src/modules/table-menu/table-menu-select.ts","../src/modules/table-resize/table-resize-box.ts","../src/modules/table-resize/table-resize-line.ts","../src/modules/table-resize/table-resize-scale.ts","../src/modules/table-selection.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],"names":["blotName","container","tableWrapper","tableMain","tableColgroup","tableCol","tableBody","tableRow","tableCell","tableCellInner","tableUpSize","colMinWidthPre","colMinWidthPx","colDefaultWidth","rowMinHeightPx","tableUpEvent","AFTER_TABLE_RESIZE","tableUpInternal","moduleName","defaultColorMap","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","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","children","childRow","childCol","removeAttribute","onSelect","customBtn","texts","selectCustom","customBtnText","async","res","box","inputContent","rowItem","rowInput","rowErrorTip","rowText","colItem","colInput","colErrorTip","colText","control","confirmBtn","confirmText","cancelBtn","cancelText","validateInput","isNaN","notPositiveNumberError","keyboardClose","Promise","resolve","reject","focus","result","showTableCreator","createCoords","x","y","oppositeSideMap","right","bottom","oppositeAlignmentMap","start","end","clamp","evaluate","param","getSide","placement","split","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","includes","getAlignmentAxis","getOppositeAlignmentPlacement","replace","alignment","getOppositePlacement","side","rectToClientRect","height","computeCoordsFromPlacement","_ref","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","detectOverflow","state","_await$platform$isEle","platform","rects","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","padding","paddingObject","expandPaddingObject","getPaddingObject","element","clippingClientRect","getClippingRect","isElement","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","hasWindow","getNodeName","node","isNode","nodeName","toLowerCase","getWindow","_node$ownerDocument","ownerDocument","defaultView","Node","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","isOverflowElement","overflowX","overflowY","display","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","push","isStart","lr","rl","tb","bt","getSideList","getOppositeAxisPlacements","placements","overflows","overflowsData","sides","mainAlignmentSide","getAlignmentSides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","index","nextPlacement","reset","resetPlacement","sort","_overflowsData$filter2","currentSideAxis","acc","limitShift","rawOffset","computedOffset","len","limitMin","limitMax","_middlewareData$offse2","isOriginSide","computePosition","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","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","next","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","descendants","getColumnIndex","getColIds","indexOf","formatAt","cssText","styleObject","styles","trim","colonPosition","property","cssTextToObject","blotValue","afterBlock","wrap","uiNode","firstChild","ref","cellInnerBlot","cellInnerBlotValue","selfValue","selfCell","newCellInner","forEachAt","cell","ScrollBlot","ScrollOverride","enable","tableCellInnerFormat","inners","inner","createBlock","refBlot","createBlotName","query","BLOCK","BLOT","TableRowFormat","setHeight","foreachCellInner","cellInner","getCellByColId","colIds","targetIndex","iterator","cur","curIndex","insertCell","getCellInner","skipRowNum","getCellByColumIndex","stopIndex","cellEndIndex","removeCell","columnIndexData","func","context","TableBodyFormat","insertRow","tableBlot","rows","insertColIds","colIndex","TableCellFormat","getAttribute","inlineStyles","allowAttrs","setStyleBoder","head","setValue","descendant","startColIndex","endColIndex","borderColIds","_","prevTr","trReachCurrent","TableColFormat","validWidth","full","widthNumber","align","hasOwn","table","closest","lines","text","pop","line","tableColgroupBlot","tableMainBlot","tableBodyBlot","insertBlot","nextBlotRef","cellInners","newBlock","newTableBody","TableMainFormat","updateAlign","colWidthFillTable","cols","getCols","colsWidth","sum","setFull","tableWidth","colgroup","cancelFull","marginLeft","marginRight","getRows","getRowIds","TableColgroupFormat","findCol","insertColByIndex","TypeError","removeColByIndex","TableWrapperFormat","dataTransfer","dropEffect","emitter","on","events","TEXT_CHANGE","insertLineAround","deleteAt","tableBodys","tableColgroups","off","BlockBlot","Delta","Clipboard","getCellWidth","styleWidth","TableClipboard","quill","rowspanCount","cellCount","colCount","addMatcher","matchTable","matchColgroup","matchCol","matchTr","matchTd","ELEMENT_NODE","matchTdAttributor","delta","ops","insert","attrs","newCols","tableNode","colNums","colWidths","fill","cells","cellWidth","calculateCols","colOps","unshift","op","span","cellFormat","border","other","endsWith","toLocaleLowerCase","bgTemp","cellTemp","convert","menuColorSelectClassName","tableMenuTools","Break","CopyCell","tip","icon","tableModule","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","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","updateWhenTextChange","tipText","tools","buildTools","toolBox","tool","attrKey","iconDom","innerHTML","createColorChoose","getSelectedTds","createTipText","colorSelectWrapper","colorMap","colors","colorMapRow","marginTop","transparentColor","transparent","clearColor","customColor","custom","colorPicker","hideColorPicker","destroyColorPicker","usedColorWrap","recordColor","tableSelection","hideDisplay","setActiveTooltip","updateWithSelectedTds","showDisplay","isColorPick","tipTextDom","isTableAlignRight","TableResizeCommon","dragging","dragColBreak","handleColMouseUpFunc","handleColMouseUp","handleColMouseMoveFunc","handleColMouseMove","handleColMouseDownFunc","handleColMouseDown","rowIndex","dragRowBreak","handleRowMouseUpFunc","handleRowMouseUp","handleRowMouseMoveFunc","handleRowMouseMove","handleRowMouseDownFunc","handleRowMouseDown","dragBEM","findCurrentColIndex","_e","colWidthChange","_i","_w","_isFull","createConfirmDialog","message","confirm","cancel","fontSize","lineHeight","btnWrapper","justifyContent","gap","w","isFull","needUpdate","updateInfo","pre","oldWidthPre","totalWidthNextPre","resultWidth","skipColIndex","perWidthInsufficient","info","px","emit","changeColRect","tableRect","resX","clientX","minWidth","maxRange","minRange","button","tableMainRect","fullWidth","colWidthAttr","divDom","styleValue","findCurrentRowIndex","rowHeightChange","_h","resY","clientY","Scrollbar","scrollbarContainer","minSize","move","cursorDown","cursorLeave","ratioY","ratioX","sizeWidth","sizeHeight","thumbState","X","Y","ob","scrollbar","thumb","propertyMap","parentElement","scrollDirection","scrollSize","client","calculateSize","createScrollbar","setScrollbarPosition","showScrollbar","editorScrollX","editorScrollY","containerOffsetLeft","containerOffsetTop","containerWidth","containerHeight","tableHeight","transform","containerScrollHandler","originalHeight","originalWidth","originDocSelect","mouseMoveDocumentHandler","prevPage","offsetRatio","thumbPositionPercentage","mouseUpDocumentHandler","hideScrollbar","onselectstart","startDrag","stopImmediatePropagation","ctrlKey","getSelection","removeAllRanges","currentTarget","displayListener","hideScrollbarTransitionend","icons","createCell","generateTableArrowHandler","up","collapsed","bindInHead","range","childDirection","aroundLine","targetRow","cellIndex","targetCell","targetChild","setSelection","sources","USER","TableUp","getLine","offsetInline","tail","register","requiredContainer","overrides","formatMap","base","mixins","targetClass","props","prototype","mixinClass","fixTableByLisenter","balanceTables","tableResize","tableScrollbar","tableAlign","tableResizeScale","toolboxBEM","addContainer","scrollbarBEM","selection","selectionOptions","toolbar","getModule","theme","pickers","select","controls","toolName","picker","buildCustomSelect","customSelect","selectRect","labelRect","keyboard","keyboradHandler","bindings","addBinding","evt","path","composedPath","showTableTools","quillHack","listenBalanceCells","classes","classname","resolveTexts","fullSwitch","alignOptions","scrollbarOptions","resizeOptions","resizeScaleOptions","fullCheckboxText","originGetSemanticHTML","getSemanticHTML","originFormat","API","EmbedBlot","tableUpModule","getFormat","setOrigin","tdRanges","innerTd","resultValue","lastIndex","retain","updateDelta","updateContents","blur","modules","cleanHandler","handlers","clean","cleanFormatExcludeTable","cleanCellStyle","getText","suffixLength","suffix","contents","getContents","diff","deltaIndex","nullValue","tableCellInnerValue","cellDiff","resize","resizeScale","isFulllLabel","isFullCheckbox","checked","isFullCheckboxText","attr","td","tds","isCut","tdParentMain","colgroupBlot","tbodyBlot","getElementTags","startTag","endTag","tdRows","lastTrId","getIndex","htmlStr","doc","DOMParser","parseFromString","tr","colgroupStartTag","colgroupEndTag","colStr","convertCols","clone","totalWidth","total","part","tableMainDom","cloneNode","mainStartTag","mainEndTag","wrapperStartTag","wrapperEndTag","insertTable","columns","currentBlot","getLeaf","borderWidth","calculateTableCellBorderWidth","rootStyle","paddingRight","colWidth","j","SILENT","tableStr","div","visibility","tempTableStyle","fixUnusuaDeletelTable","trBlots","tableColIds","cellSpanMap","indexTr","indexTd","indexCol","curCellSpan","curTd","SCROLL_OPTIMIZE","mutations","mutation","isDown","baseTd","baseTdParentTr","insertRowIndex","isRight","columnIndex","newColId","trs","spanCols","spanCol","nextSpanCols","fixTableByRemove","tableCols","colIdMap","idMap","reverseTrBlots","reverse","removeTr","count","endTrIndex","nextTrIndex","patchTds","nextTr","colspanMap","colspanCount","counts","selectTd","rowCount","baseTr","curTr","id","tableWrapperBlot","alignBox","buildTool","alignIcons","center","iconStr","setTableAlign","listenContextmenu","items","getElementsByClassName","isDisplaySelection","menuRect","limitLeft","limitTop","cellSelect","tableRows","rowHeadWrapper","colHeadWrapper","corner","lastHeaderSelect","handleResizerHeader","isX","shiftKey","currentBoundary","computeSelectedTds","bindColEvents","tableColHeads","tableColHeadSeparators","bindRowEvents","tableRowHeads","tableRowHeadSeparators","tableBodyRect","rootRect","tableWrapperRect","cornerTranslateX","rowHeadWrapperTranslateX","colHeadStr","colHead","maxWidth","rowHeadStr","rowHead","maxHeight","colResizer","rowResizer","currentTableCell","curColIndex","curRowIndex","tableCellBlot","mousemoveHandler","hideWhenTextChange","findTableCell","updateColResizer","updateRowResizer","tableBodyect","tableCellRect","findIndex","currentRow","tableBodynRect","startX","startY","resizeobserver","buildResizer","blockSize","originColWidth","originRowHeight","handleMouseMove","diffX","diffY","itemWidth","itemHeight","handleMouseUp","isTableOutofEditor","editorRect","rootWidth","rootHeight","blockStyle","startScrollX","startScrollY","selectedTableScrollX","selectedTableScrollY","selectedEditorScrollX","selectedEditorScrollY","cellSelectWrap","tableMenu","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","_oldRange","isInCell","containsLine","setSelectionData","selectionData","isUpFromDown","selectionDirectionUp","setStart","setEnd","addRange","extend","nodePosition","compareDocumentPosition","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","findWrapSelection","points","startNode","endNode","endOffset","selectColor","anchorBlot","focusBlot","anchorNames","focusNames","isAnchorInColgroup","isFocusInColgroup","newAnchorNode","newAnchorOffset","newFocusNode","newFocusOffset","isAnchorInCellInner","isFocusInCellInner","isNotSameCellInner","anchorCellBlot","focusCellBlot","setProperty","startPoint","endPoint","tableCells","tableScrollX","tableScrollY","getTableViewScroll","getQuillViewScroll","startPointX","startPointY","selectedCells","findEnd","__rect","targetRect","containerRect","getRelativeRect","mousedownEvent","closestTable","setSelectionTable","startTableId","mouseMoveHandler","mousemoveEvent","movePoint","mouseUpHandler","Infinity","wrapLeft","wrapTop"],"mappings":"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","x_google_ignoreList":[11,12,13,14]}
|
|
1
|
+
{"version":3,"file":"index.umd.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-clipboard.ts","../src/modules/table-menu/constants.ts","../src/modules/table-menu/table-menu-common.ts","../src/modules/table-resize/utils.ts","../src/modules/table-resize/table-resize-common.ts","../src/modules/table-scrollbar.ts","../src/table-up.ts","../src/modules/table-align.ts","../src/modules/table-menu/table-menu-contextmenu.ts","../src/modules/table-menu/table-menu-select.ts","../src/modules/table-resize/table-resize-box.ts","../src/modules/table-resize/table-resize-line.ts","../src/modules/table-resize/table-resize-scale.ts","../src/modules/table-selection.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","Delta","Clipboard","getCellWidth","styleWidth","TableClipboard","quill","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","tableModule","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","updateWhenTextChange","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","tableSelection","hideDisplay","setActiveTooltip","updateWithSelectedTds","showDisplay","isColorPick","tipTextDom","isTableAlignRight","TableResizeCommon","dragging","dragColBreak","handleColMouseUpFunc","handleColMouseUp","handleColMouseMoveFunc","handleColMouseMove","handleColMouseDownFunc","handleColMouseDown","rowIndex","dragRowBreak","handleRowMouseUpFunc","handleRowMouseUp","handleRowMouseMoveFunc","handleRowMouseMove","handleRowMouseDownFunc","handleRowMouseDown","dragBEM","findCurrentColIndex","_e","colWidthChange","_i","_w","_isFull","createConfirmDialog","message","confirm","cancel","fontSize","lineHeight","btnWrapper","justifyContent","gap","w","isFull","needUpdate","updateInfo","pre","oldWidthPre","totalWidthNextPre","resultWidth","skipColIndex","perWidthInsufficient","info","px","emit","changeColRect","tableRect","resX","clientX","minWidth","maxRange","minRange","button","tableBodyRect","colWidthAttr","divDom","styleValue","findCurrentRowIndex","rowHeightChange","_h","resY","clientY","tableMainRect","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","transform","containerScrollHandler","originalHeight","originalWidth","originDocSelect","mouseMoveDocumentHandler","prevPage","offsetRatio","thumbPositionPercentage","mouseUpDocumentHandler","hideScrollbar","onselectstart","startDrag","stopImmediatePropagation","ctrlKey","getSelection","removeAllRanges","currentTarget","displayListener","hideScrollbarTransitionend","icons","createCell","generateTableArrowHandler","up","bindInHead","collapsed","range","childDirection","aroundLine","targetRow","cellIndex","targetCell","targetChild","setSelection","sources","USER","TableUp","getLine","offsetInline","tail","shiftKey","_range","register","requiredContainer","overrides","formatMap","base","mixins","targetClass","props","prototype","mixinClass","fixTableByLisenter","balanceTables","tableResize","tableScrollbar","tableAlign","tableResizeScale","toolboxBEM","addContainer","scrollbarBEM","selection","selectionOptions","toolbar","getModule","theme","pickers","select","controls","toolName","picker","buildCustomSelect","customSelect","selectRect","labelRect","keyboard","keyboradHandler","bindings","unshift","addBinding","evt","path","composedPath","showTableTools","quillHack","listenBalanceCells","classes","classname","resolveTexts","fullSwitch","alignOptions","scrollbarOptions","resizeOptions","resizeScaleOptions","fullCheckboxText","originGetSemanticHTML","getSemanticHTML","tableWrapperFormat","doc","DOMParser","parseFromString","originFormat","API","EmbedBlot","tableUpModule","getFormat","setOrigin","tdRanges","innerTd","resultValue","lastIndex","retain","updateDelta","updateContents","blur","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","insertTable","columns","currentBlot","getLeaf","borderWidth","calculateTableCellBorderWidth","rootStyle","paddingRight","colWidth","j","SILENT","tableStr","div","visibility","tempTableStyle","fixUnusuaDeletelTable","trBlots","tableColIds","cellSpanMap","indexTr","tr","indexTd","indexCol","curCellSpan","curTd","SCROLL_OPTIMIZE","mutations","mutation","isDown","baseTd","baseTdParentTr","insertRowIndex","isRight","columnIndex","newColId","colgroup","trs","spanCols","spanCol","nextSpanCols","fixTableByRemove","tableCols","colIdMap","idMap","reverseTrBlots","reverse","removeTr","count","endTrIndex","nextTrIndex","patchTds","nextTr","colspanMap","colspanCount","counts","selectTd","baseTr","curTr","id","tableWrapperBlot","alignBox","buildTool","alignIcons","center","iconStr","setTableAlign","listenContextmenu","items","getElementsByClassName","isDisplaySelection","menuRect","limitLeft","limitTop","cellSelect","tableRows","rowHeadWrapper","colHeadWrapper","corner","lastHeaderSelect","handleResizerHeader","isX","currentBoundary","lastX","lastY","computeSelectedTds","tableCaptionBlot","bindColEvents","tableColHeads","tableColHeadSeparators","bindRowEvents","tableRowHeads","tableRowHeadSeparators","tableWrapperRect","rootRect","cornerTranslateX","rowHeadWrapperTranslateX","tableCaptionIsTop","colHeadStr","colHead","maxWidth","rowHeadStr","rowHead","maxHeight","colResizer","rowResizer","currentTableCell","curColIndex","curRowIndex","tableCellBlot","mousemoveHandler","hideWhenTextChange","findTableCell","updateColResizer","updateRowResizer","tableBodyect","tableCellRect","findIndex","currentRow","tableBodynRect","startX","startY","resizeobserver","buildResizer","blockSize","originColWidth","originRowHeight","handleMouseMove","diffX","diffY","itemWidth","itemHeight","handleMouseUp","isTableOutofEditor","editorRect","rootWidth","rootHeight","blockStyle","startScrollX","startScrollY","selectedTableScrollX","selectedTableScrollY","selectedEditorScrollX","selectedEditorScrollY","cellSelectWrap","tableMenu","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","_oldRange","isInCell","containsLine","setSelectionData","selectionData","isUpFromDown","selectionDirectionUp","setStart","setEnd","addRange","extend","nodePosition","compareDocumentPosition","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","findWrapSelection","points","startNode","endNode","endOffset","selectColor","anchorBlot","focusBlot","anchorNames","focusNames","isAnchorInColgroup","isFocusInColgroup","newAnchorNode","newAnchorOffset","newFocusNode","newFocusOffset","isAnchorInCellInner","isFocusInCellInner","isNotSameCellInner","anchorCellBlot","focusCellBlot","setProperty","startPoint","endPoint","tableCells","tableScrollX","tableScrollY","getTableViewScroll","getQuillViewScroll","startPointX","startPointY","selectedCells","findEnd","__rect","targetRect","containerRect","getRelativeRect","mousedownEvent","closestTable","closestTableBody","setSelectionTable","startTableId","mouseMoveHandler","mousemoveEvent","movePoint","mouseUpHandler","Infinity","wrapLeft","wrapTop"],"mappings":"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","x_google_ignoreList":[11,12,13,14]}
|