@mui/x-charts
Version:
The community edition of MUI X Charts components.
205 lines (204 loc) • 9.2 kB
JavaScript
'use client';
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ChartsTooltip = ChartsTooltip;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var React = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _HTMLElementType = _interopRequireDefault(require("@mui/utils/HTMLElementType"));
var _ChartsItemTooltipContent = require("./ChartsItemTooltipContent");
var _ChartsAxisTooltipContent = require("./ChartsAxisTooltipContent");
var _ChartsTooltipContainer = require("./ChartsTooltipContainer");
var _chartsTooltipClasses = require("./chartsTooltipClasses");
var _jsxRuntime = require("react/jsx-runtime");
/**
* Demos:
*
* - [ChartsTooltip](https://mui.com/x/react-charts/tooltip/)
*
* API:
*
* - [ChartsTooltip API](https://mui.com/x/api/charts/charts-tool-tip/)
*/
function ChartsTooltip(props) {
const {
classes: propClasses,
trigger = 'axis'
} = props;
const classes = (0, _chartsTooltipClasses.useUtilityClasses)(propClasses);
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipContainer.ChartsTooltipContainer, (0, _extends2.default)({}, props, {
classes: propClasses,
children: trigger === 'axis' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisTooltipContent.ChartsAxisTooltipContent, {
classes: classes
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsItemTooltipContent.ChartsItemTooltipContent, {
classes: classes
})
}));
}
process.env.NODE_ENV !== "production" ? ChartsTooltip.propTypes = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
/**
* An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),
* or a function that returns either.
* It's used to set the position of the popper.
* The return value will passed as the reference object of the Popper instance.
*/
anchorEl: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_HTMLElementType.default, _propTypes.default.object, _propTypes.default.func]),
/**
* Override or extend the styles applied to the component.
*/
classes: _propTypes.default.object,
/**
* The component used for the root node.
* Either a string to use a HTML element or a component.
*/
component: _propTypes.default.elementType,
/**
* The components used for each slot inside the Popper.
* Either a string to use a HTML element or a component.
*
* @deprecated use the `slots` prop instead. This prop will be removed in a future major release. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
* @default {}
*/
components: _propTypes.default.shape({
Root: _propTypes.default.elementType
}),
/**
* The props used for each slot inside the Popper.
*
* @deprecated use the `slotProps` prop instead. This prop will be removed in a future major release. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
* @default {}
*/
componentsProps: _propTypes.default.shape({
root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
}),
/**
* An HTML element or function that returns one.
* The `container` will have the portal children appended to it.
*
* You can also provide a callback, which is called in a React layout effect.
* This lets you set the container from a ref, and also makes server-side rendering possible.
*
* By default, it uses the body of the top-level document object,
* so it's simply `document.body` most of the time.
*/
container: _propTypes.default.oneOfType([(props, propName) => {
if (props[propName] == null) {
return new Error(`Prop '${propName}' is required but wasn't specified`);
}
if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
return new Error(`Expected prop '${propName}' to be of type Element`);
}
return null;
}, _propTypes.default.func]),
/**
* The `children` will be under the DOM hierarchy of the parent component.
* @default false
*/
disablePortal: _propTypes.default.bool,
/**
* Always keep the children in the DOM.
* This prop can be useful in SEO situation or
* when you want to maximize the responsiveness of the Popper.
* @default false
*/
keepMounted: _propTypes.default.bool,
/**
* Popper.js is based on a "plugin-like" architecture,
* most of its features are fully encapsulated "modifiers".
*
* A modifier is a function that is called each time Popper.js needs to
* compute the position of the popper.
* For this reason, modifiers should be very performant to avoid bottlenecks.
* To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).
*/
modifiers: _propTypes.default.arrayOf(_propTypes.default.shape({
data: _propTypes.default.object,
effect: _propTypes.default.func,
enabled: _propTypes.default.bool,
fn: _propTypes.default.func,
name: _propTypes.default.any,
options: _propTypes.default.object,
phase: _propTypes.default.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),
requires: _propTypes.default.arrayOf(_propTypes.default.string),
requiresIfExists: _propTypes.default.arrayOf(_propTypes.default.string)
})),
/**
* If `true`, the component is shown.
*/
open: _propTypes.default.bool,
/**
* Popper placement.
* @default 'bottom'
*/
placement: _propTypes.default.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
/**
* Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.
* @default {}
*/
popperOptions: _propTypes.default.shape({
modifiers: _propTypes.default.array,
onFirstUpdate: _propTypes.default.func,
placement: _propTypes.default.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
strategy: _propTypes.default.oneOf(['absolute', 'fixed'])
}),
/**
* A ref that points to the used popper instance.
*/
popperRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
current: _propTypes.default.shape({
destroy: _propTypes.default.func.isRequired,
forceUpdate: _propTypes.default.func.isRequired,
setOptions: _propTypes.default.func.isRequired,
state: _propTypes.default.shape({
attributes: _propTypes.default.object.isRequired,
elements: _propTypes.default.object.isRequired,
modifiersData: _propTypes.default.object.isRequired,
options: _propTypes.default.object.isRequired,
orderedModifiers: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
placement: _propTypes.default.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']).isRequired,
rects: _propTypes.default.object.isRequired,
reset: _propTypes.default.bool.isRequired,
scrollParents: _propTypes.default.object.isRequired,
strategy: _propTypes.default.oneOf(['absolute', 'fixed']).isRequired,
styles: _propTypes.default.object.isRequired
}).isRequired,
update: _propTypes.default.func.isRequired
})
})]),
/**
* The props used for each slot inside the Popper.
* @default {}
*/
slotProps: _propTypes.default.object,
/**
* The components used for each slot inside the Popper.
* Either a string to use a HTML element or a component.
* @default {}
*/
slots: _propTypes.default.object,
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
/**
* Help supporting a react-transition-group/Transition component.
* @default false
*/
transition: _propTypes.default.bool,
/**
* Select the kind of tooltip to display
* - 'item': Shows data about the item below the mouse.
* - 'axis': Shows values associated with the hovered x value
* - 'none': Does not display tooltip
* @default 'axis'
*/
trigger: _propTypes.default.oneOf(['axis', 'item', 'none'])
} : void 0;
;