@mantine/code-highlight
Version:
Code highlight with Mantine theme
46 lines (43 loc) • 1.42 kB
JavaScript
'use client';
import { jsx } from 'react/jsx-runtime';
import { polymorphicFactory, useProps, ActionIcon, Tooltip } from '@mantine/core';
import { useCodeHighlightContext } from '../CodeHighlight.context.mjs';
const defaultProps = {};
const CodeHighlightControl = polymorphicFactory(
(_props, ref) => {
const props = useProps("CodeHighlightControl", defaultProps, _props);
const { children, vars, tooltipLabel, ...others } = props;
const ctx = useCodeHighlightContext();
const tooltipStyles = ctx.getStyles("controlTooltip");
const control = /* @__PURE__ */ jsx(
ActionIcon,
{
ref,
...ctx.getStyles("control"),
...others,
variant: "none",
"data-code-color-scheme": ctx.codeColorScheme,
children
}
);
if (tooltipLabel) {
return /* @__PURE__ */ jsx(
Tooltip,
{
label: tooltipLabel,
fz: "sm",
position: "bottom",
classNames: { tooltip: tooltipStyles.className },
styles: { tooltip: tooltipStyles.style },
"data-code-color-scheme": ctx.codeColorScheme,
transitionProps: { duration: 0 },
children: control
}
);
}
return control;
}
);
CodeHighlightControl.displayName = "@mantine/code-highlight/CodeHighlightControl";
export { CodeHighlightControl };
//# sourceMappingURL=CodeHighlightControl.mjs.map