quill-table-up 2.0.0 → 2.0.1

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