187 lines
5.4 KiB
JavaScript
187 lines
5.4 KiB
JavaScript
'use client'
|
|
"use strict";
|
|
var __defProp = Object.defineProperty;
|
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __export = (target, all) => {
|
|
for (var name in all)
|
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
};
|
|
var __copyProps = (to, from, except, desc) => {
|
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
for (let key of __getOwnPropNames(from))
|
|
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
}
|
|
return to;
|
|
};
|
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
|
|
// src/modifiers.ts
|
|
var modifiers_exports = {};
|
|
__export(modifiers_exports, {
|
|
innerArrow: () => innerArrow,
|
|
matchWidth: () => matchWidth,
|
|
positionArrow: () => positionArrow,
|
|
transformOrigin: () => transformOrigin
|
|
});
|
|
module.exports = __toCommonJS(modifiers_exports);
|
|
|
|
// src/utils.ts
|
|
var toVar = (value, fallback) => ({
|
|
var: value,
|
|
varRef: fallback ? `var(${value}, ${fallback})` : `var(${value})`
|
|
});
|
|
var cssVars = {
|
|
arrowShadowColor: toVar("--popper-arrow-shadow-color"),
|
|
arrowSize: toVar("--popper-arrow-size", "8px"),
|
|
arrowSizeHalf: toVar("--popper-arrow-size-half"),
|
|
arrowBg: toVar("--popper-arrow-bg"),
|
|
transformOrigin: toVar("--popper-transform-origin"),
|
|
arrowOffset: toVar("--popper-arrow-offset")
|
|
};
|
|
function getBoxShadow(placement) {
|
|
if (placement.includes("top"))
|
|
return `1px 1px 0px 0 var(--popper-arrow-shadow-color)`;
|
|
if (placement.includes("bottom"))
|
|
return `-1px -1px 0px 0 var(--popper-arrow-shadow-color)`;
|
|
if (placement.includes("right"))
|
|
return `-1px 1px 0px 0 var(--popper-arrow-shadow-color)`;
|
|
if (placement.includes("left"))
|
|
return `1px -1px 0px 0 var(--popper-arrow-shadow-color)`;
|
|
}
|
|
var transforms = {
|
|
top: "bottom center",
|
|
"top-start": "bottom left",
|
|
"top-end": "bottom right",
|
|
bottom: "top center",
|
|
"bottom-start": "top left",
|
|
"bottom-end": "top right",
|
|
left: "right center",
|
|
"left-start": "right top",
|
|
"left-end": "right bottom",
|
|
right: "left center",
|
|
"right-start": "left top",
|
|
"right-end": "left bottom"
|
|
};
|
|
var toTransformOrigin = (placement) => transforms[placement];
|
|
|
|
// src/modifiers.ts
|
|
var matchWidth = {
|
|
name: "matchWidth",
|
|
enabled: true,
|
|
phase: "beforeWrite",
|
|
requires: ["computeStyles"],
|
|
fn: ({ state }) => {
|
|
state.styles.popper.width = `${state.rects.reference.width}px`;
|
|
},
|
|
effect: ({ state }) => () => {
|
|
const reference = state.elements.reference;
|
|
state.elements.popper.style.width = `${reference.offsetWidth}px`;
|
|
}
|
|
};
|
|
var transformOrigin = {
|
|
name: "transformOrigin",
|
|
enabled: true,
|
|
phase: "write",
|
|
fn: ({ state }) => {
|
|
setTransformOrigin(state);
|
|
},
|
|
effect: ({ state }) => () => {
|
|
setTransformOrigin(state);
|
|
}
|
|
};
|
|
var setTransformOrigin = (state) => {
|
|
state.elements.popper.style.setProperty(
|
|
cssVars.transformOrigin.var,
|
|
toTransformOrigin(state.placement)
|
|
);
|
|
};
|
|
var positionArrow = {
|
|
name: "positionArrow",
|
|
enabled: true,
|
|
phase: "afterWrite",
|
|
fn: ({ state }) => {
|
|
setArrowStyles(state);
|
|
}
|
|
};
|
|
var setArrowStyles = (state) => {
|
|
var _a;
|
|
if (!state.placement)
|
|
return;
|
|
const overrides = getArrowStyle(state.placement);
|
|
if (((_a = state.elements) == null ? void 0 : _a.arrow) && overrides) {
|
|
Object.assign(state.elements.arrow.style, {
|
|
[overrides.property]: overrides.value,
|
|
width: cssVars.arrowSize.varRef,
|
|
height: cssVars.arrowSize.varRef,
|
|
zIndex: -1
|
|
});
|
|
const vars = {
|
|
[cssVars.arrowSizeHalf.var]: `calc(${cssVars.arrowSize.varRef} / 2 - 1px)`,
|
|
[cssVars.arrowOffset.var]: `calc(${cssVars.arrowSizeHalf.varRef} * -1)`
|
|
};
|
|
for (const property in vars) {
|
|
state.elements.arrow.style.setProperty(property, vars[property]);
|
|
}
|
|
}
|
|
};
|
|
var getArrowStyle = (placement) => {
|
|
if (placement.startsWith("top")) {
|
|
return { property: "bottom", value: cssVars.arrowOffset.varRef };
|
|
}
|
|
if (placement.startsWith("bottom")) {
|
|
return { property: "top", value: cssVars.arrowOffset.varRef };
|
|
}
|
|
if (placement.startsWith("left")) {
|
|
return { property: "right", value: cssVars.arrowOffset.varRef };
|
|
}
|
|
if (placement.startsWith("right")) {
|
|
return { property: "left", value: cssVars.arrowOffset.varRef };
|
|
}
|
|
};
|
|
var innerArrow = {
|
|
name: "innerArrow",
|
|
enabled: true,
|
|
phase: "main",
|
|
requires: ["arrow"],
|
|
fn: ({ state }) => {
|
|
setInnerArrowStyles(state);
|
|
},
|
|
effect: ({ state }) => () => {
|
|
setInnerArrowStyles(state);
|
|
}
|
|
};
|
|
var setInnerArrowStyles = (state) => {
|
|
if (!state.elements.arrow)
|
|
return;
|
|
const inner = state.elements.arrow.querySelector(
|
|
"[data-popper-arrow-inner]"
|
|
);
|
|
if (!inner)
|
|
return;
|
|
const boxShadow = getBoxShadow(state.placement);
|
|
if (boxShadow) {
|
|
inner.style.setProperty("--popper-arrow-default-shadow", boxShadow);
|
|
}
|
|
Object.assign(inner.style, {
|
|
transform: "rotate(45deg)",
|
|
background: cssVars.arrowBg.varRef,
|
|
top: 0,
|
|
left: 0,
|
|
width: "100%",
|
|
height: "100%",
|
|
position: "absolute",
|
|
zIndex: "inherit",
|
|
boxShadow: `var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))`
|
|
});
|
|
};
|
|
// Annotate the CommonJS export names for ESM import in node:
|
|
0 && (module.exports = {
|
|
innerArrow,
|
|
matchWidth,
|
|
positionArrow,
|
|
transformOrigin
|
|
});
|
|
//# sourceMappingURL=modifiers.js.map
|