@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
51 lines (50 loc) • 1.77 kB
JavaScript
"use client";
import { rem } from "../../core/utils/units-converters/rem.mjs";
import { getRadius } from "../../core/utils/get-size/get-size.mjs";
import { createVarsResolver } from "../../core/styles-api/create-vars-resolver/create-vars-resolver.mjs";
import { useProps } from "../../core/MantineProvider/use-props/use-props.mjs";
import { useStyles } from "../../core/styles-api/use-styles/use-styles.mjs";
import { factory } from "../../core/factory/factory.mjs";
import { Box } from "../../core/Box/Box.mjs";
import Skeleton_module_default from "./Skeleton.module.mjs";
import { jsx } from "react/jsx-runtime";
//#region packages/@mantine/core/src/components/Skeleton/Skeleton.tsx
const defaultProps = {
visible: true,
animate: true
};
const varsResolver = createVarsResolver((_, { width, height, radius, circle }) => ({ root: {
"--skeleton-height": rem(height),
"--skeleton-width": circle ? rem(height) : rem(width),
"--skeleton-radius": circle ? "1000px" : radius === void 0 ? void 0 : getRadius(radius)
} }));
const Skeleton = factory((_props) => {
const props = useProps("Skeleton", defaultProps, _props);
const { classNames, className, style, styles, unstyled, vars, width, height, circle, visible, radius, animate, mod, attributes, ...others } = props;
return /* @__PURE__ */ jsx(Box, {
...useStyles({
name: "Skeleton",
classes: Skeleton_module_default,
props,
className,
style,
classNames,
styles,
unstyled,
attributes,
vars,
varsResolver
})("root"),
mod: [{
visible,
animate
}, mod],
...others
});
});
Skeleton.classes = Skeleton_module_default;
Skeleton.varsResolver = varsResolver;
Skeleton.displayName = "@mantine/core/Skeleton";
//#endregion
export { Skeleton };
//# sourceMappingURL=Skeleton.mjs.map