Files
wdi-dashboard/node_modules/@chakra-ui/popper/dist/modifiers.js
2024-08-16 15:06:52 +05:30

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