@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
43 lines (42 loc) • 2.27 kB
JavaScript
"use client";
const require_keys = require("../../../../core/utils/keys/keys.cjs");
const require_rem = require("../../../../core/utils/units-converters/rem.cjs");
const require_get_base_size = require("../get-base-size/get-base-size.cjs");
const require_is_primitive_size = require("../is-primitive-size/is-primitive-size.cjs");
const require_is_responsive_size = require("../is-responsive-size/is-responsive-size.cjs");
//#region packages/@mantine/core/src/components/AppShell/AppShellMediaStyles/assign-header-variables/assign-header-variables.ts
function assignHeaderVariables({ baseStyles, minMediaStyles, header, mode }) {
const headerHeight = header?.height;
const collapsedHeaderTransform = "translateY(calc(var(--app-shell-header-height) * -1))";
const shouldOffset = mode === "static" ? true : header?.offset ?? true;
if (mode === "static" && header) {
baseStyles["--app-shell-header-position"] = "sticky";
baseStyles["--app-shell-header-grid-column"] = "1 / -1";
baseStyles["--app-shell-header-grid-row"] = "1";
}
if (require_is_primitive_size.isPrimitiveSize(headerHeight)) {
const baseSize = require_rem.rem(require_get_base_size.getBaseSize(headerHeight));
baseStyles["--app-shell-header-height"] = baseSize;
if (shouldOffset) baseStyles["--app-shell-header-offset"] = baseSize;
}
if (require_is_responsive_size.isResponsiveSize(headerHeight)) {
if (typeof headerHeight.base !== "undefined") {
baseStyles["--app-shell-header-height"] = require_rem.rem(headerHeight.base);
if (shouldOffset) baseStyles["--app-shell-header-offset"] = require_rem.rem(headerHeight.base);
}
require_keys.keys(headerHeight).forEach((key) => {
if (key !== "base") {
minMediaStyles[key] = minMediaStyles[key] || {};
minMediaStyles[key]["--app-shell-header-height"] = require_rem.rem(headerHeight[key]);
if (shouldOffset) minMediaStyles[key]["--app-shell-header-offset"] = require_rem.rem(headerHeight[key]);
}
});
}
if (header?.collapsed) {
baseStyles["--app-shell-header-transform"] = collapsedHeaderTransform;
if (mode === "fixed") baseStyles["--app-shell-header-offset"] = "0px !important";
}
}
//#endregion
exports.assignHeaderVariables = assignHeaderVariables;
//# sourceMappingURL=assign-header-variables.cjs.map