UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

157 lines (155 loc) 5.39 kB
"use strict"; 'use client'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.ChartsLabelMark = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var React = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _clsx = _interopRequireDefault(require("clsx")); var _styles = require("@mui/material/styles"); var _d3Shape = require("@mui/x-charts-vendor/d3-shape"); var _labelMarkClasses = require("./labelMarkClasses"); var _consumeThemeProps = require("../internals/consumeThemeProps"); var _getSymbol = require("../internals/getSymbol"); var _jsxRuntime = require("react/jsx-runtime"); const _excluded = ["type", "markShape", "color", "className", "classes"]; const Root = (0, _styles.styled)('div', { name: 'MuiChartsLabelMark', slot: 'Root' })(() => { return { display: 'flex', width: 14, height: 14, ['& > *']: { width: '100%', height: '100%' }, [`&.${_labelMarkClasses.labelMarkClasses.line}`]: { width: 16, height: 8, alignItems: 'center' }, [`&.${_labelMarkClasses.labelMarkClasses.lineAndMark}`]: { width: 16, height: 16, alignItems: 'center' }, [`&.${_labelMarkClasses.labelMarkClasses.square}`]: { height: 13, width: 13, borderRadius: 2, overflow: 'hidden' }, [`&.${_labelMarkClasses.labelMarkClasses.circle}`]: { height: 15, width: 15 }, svg: { display: 'block' } }; }); /** * Generates the label mark for the tooltip and legend. * @ignore - internal component. */ const ChartsLabelMark = exports.ChartsLabelMark = (0, _consumeThemeProps.consumeThemeProps)('MuiChartsLabelMark', { defaultProps: { type: 'square' }, classesResolver: _labelMarkClasses.useUtilityClasses }, function ChartsLabelMark(props, ref) { const { type, markShape, color, className, classes } = props, other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); const Component = type; const theme = (0, _styles.useTheme)(); return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, (0, _extends2.default)({ className: (0, _clsx.default)(classes?.root, className), ownerState: props, "aria-hidden": "true", ref: ref }, other, { children: typeof Component === 'function' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, { className: classes?.fill, color: color }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, { children: [type === 'circle' && /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", { viewBox: "0 0 15 15", children: /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", { className: classes?.fill, r: "7.5", cx: "7.5", cy: "7.5", fill: color }) }), type === 'line' && /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", { viewBox: "0 0 16 8", preserveAspectRatio: "none", children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", { className: classes?.fill, d: "M 2 4 L 14 4", stroke: color, strokeWidth: "4", strokeLinecap: "round", vectorEffect: "non-scaling-stroke" }) }), type === 'line+mark' && /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", { viewBox: "0 0 16 16", preserveAspectRatio: "none", children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", { className: classes?.fill, d: "M 1 8 L 15 8", stroke: color, strokeWidth: 2, strokeLinecap: "round", vectorEffect: "non-scaling-stroke" }), markShape && /*#__PURE__*/(0, _jsxRuntime.jsx)("path", { d: (0, _d3Shape.symbol)(_d3Shape.symbolsFill[(0, _getSymbol.getSymbol)(markShape)], 32)(), transform: "translate(8, 8) ", stroke: color, strokeWidth: 2, fill: (theme.vars || theme).palette.background.paper })] }), type !== 'line' && type !== 'circle' && type !== 'line+mark' && /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", { viewBox: "0 0 13 13", children: /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", { className: classes?.fill, width: "13", height: "13", fill: color }) })] }) })); }); process.env.NODE_ENV !== "production" ? ChartsLabelMark.propTypes = { // ----------------------------- Warning -------------------------------- // | These PropTypes are generated from the TypeScript type definitions | // | To update them edit the TypeScript types and run "pnpm proptypes" | // ---------------------------------------------------------------------- /** * Override or extend the styles applied to the component. */ classes: _propTypes.default.object, /** * The color of the mark. */ color: _propTypes.default.string, /** * The type of the mark. * @default 'square' */ type: _propTypes.default.oneOf(['circle', 'line', 'square']) } : void 0;