@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
87 lines (82 loc) • 2.57 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var createMemoStyles = require('../../theme/create-memo-styles.js');
var getSizeValue = require('../../theme/utils/get-size-value/get-size-value.js');
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
const sizes = {
xs: 180,
sm: 240,
md: 320,
lg: 360,
xl: 500,
full: "100%"
};
function getPositionStyles({
position,
size
}) {
switch (position) {
case "top":
return { top: 0, left: 0, right: 0, height: getSizeValue.getSizeValue({ size, sizes }) };
case "bottom":
return { bottom: 0, left: 0, right: 0, height: getSizeValue.getSizeValue({ size, sizes }) };
case "right":
return { bottom: 0, top: 0, right: 0, width: getSizeValue.getSizeValue({ size, sizes }) };
case "left":
return { bottom: 0, top: 0, left: 0, width: getSizeValue.getSizeValue({ size, sizes }) };
default:
return null;
}
}
var useStyles = createMemoStyles.createMemoStyles({
noOverlay: {},
root: {
"&:not($noOverlay)": {
position: "fixed",
top: 0,
left: 0,
right: 0,
bottom: 0
}
},
drawer: ({ size, position }) => __spreadProps(__spreadValues({}, getPositionStyles({ position, size })), {
maxWidth: "100%",
maxHeight: "100vh",
position: "fixed",
outline: 0
}),
title: ({ theme }) => ({
marginRight: theme.spacing.md,
textOverflow: "ellipsis",
display: "block",
wordBreak: "break-word"
}),
header: ({ theme }) => ({
display: "flex",
alignItems: "center",
justifyContent: "space-between",
marginBottom: theme.spacing.md,
marginRight: -9
})
});
exports.default = useStyles;
exports.sizes = sizes;
//# sourceMappingURL=Drawer.styles.js.map