UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

106 lines (102 loc) 3.17 kB
'use client'; 'use strict'; var jsxRuntime = require('react/jsx-runtime'); require('react'); var getSize = require('../../core/utils/get-size/get-size.cjs'); require('@mantine/hooks'); var createVarsResolver = require('../../core/styles-api/create-vars-resolver/create-vars-resolver.cjs'); require('clsx'); var getThemeColor = require('../../core/MantineProvider/color-functions/get-theme-color/get-theme-color.cjs'); var getGradient = require('../../core/MantineProvider/color-functions/get-gradient/get-gradient.cjs'); require('../../core/MantineProvider/Mantine.context.cjs'); require('../../core/MantineProvider/default-theme.cjs'); require('../../core/MantineProvider/MantineProvider.cjs'); require('../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs'); var useProps = require('../../core/MantineProvider/use-props/use-props.cjs'); require('../../core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs'); var useStyles = require('../../core/styles-api/use-styles/use-styles.cjs'); var Box = require('../../core/Box/Box.cjs'); var polymorphicFactory = require('../../core/factory/polymorphic-factory.cjs'); require('../../core/DirectionProvider/DirectionProvider.cjs'); var Text_module = require('./Text.module.css.cjs'); function getTextTruncate(truncate) { if (truncate === "start") { return "start"; } if (truncate === "end" || truncate) { return "end"; } return void 0; } const defaultProps = { inherit: false }; const varsResolver = createVarsResolver.createVarsResolver( (theme, { variant, lineClamp, gradient, size, color }) => ({ root: { "--text-fz": getSize.getFontSize(size), "--text-lh": getSize.getLineHeight(size), "--text-gradient": variant === "gradient" ? getGradient.getGradient(gradient, theme) : void 0, "--text-line-clamp": typeof lineClamp === "number" ? lineClamp.toString() : void 0, "--text-color": color ? getThemeColor.getThemeColor(color, theme) : void 0 } }) ); const Text = polymorphicFactory.polymorphicFactory((_props, ref) => { const props = useProps.useProps("Text", defaultProps, _props); const { lineClamp, truncate, inline, inherit, gradient, span, __staticSelector, vars, className, style, classNames, styles, unstyled, variant, mod, size, ...others } = props; const getStyles = useStyles.useStyles({ name: ["Text", __staticSelector], props, classes: Text_module, className, style, classNames, styles, unstyled, vars, varsResolver }); return /* @__PURE__ */ jsxRuntime.jsx( Box.Box, { ...getStyles("root", { focusable: true }), ref, component: span ? "span" : "p", variant, mod: [ { "data-truncate": getTextTruncate(truncate), "data-line-clamp": typeof lineClamp === "number", "data-inline": inline, "data-inherit": inherit }, mod ], size, ...others } ); }); Text.classes = Text_module; Text.displayName = "@mantine/core/Text"; exports.Text = Text; //# sourceMappingURL=Text.cjs.map