apps/mantine.dev/src/pages/core/highlight.mdx
import { HighlightDemos } from '@docs/demos'; import { Layout } from '@/layout'; import { MDX_DATA } from '@/mdx';
export default Layout(MDX_DATA.Highlight);
Use the Highlight component to highlight substrings within text using the HTML <mark> element.
Pass the text as children and specify which substring(s) to highlight with the highlight prop.
Matching is case-insensitive and accent-insensitive by default, and highlights all occurrences
of the matched substring. Use the caseInsensitive and accentInsensitive props to opt out.
caseInsensitive, defaults to true)accentInsensitive, defaults to true)[, ], (, ) are automatically escaped and treated as literal textSet caseInsensitive={false} to only match substrings with the same casing as the highlight term:
Set accentInsensitive={false} to require accented characters in the text to match the highlight term exactly:
To highlight multiple substrings, provide an array of values. When multiple substrings are provided, longer matches take precedence to avoid partial overlaps.
<Demo data={HighlightDemos.multiple} />You can assign different colors to different highlighted terms by providing an array of objects with text and color properties:
Use the wholeWord prop to match only complete words. When enabled, 'the' will not match 'there' or 'theme':
Default Mark styles can be overwritten with the highlightStyles prop,
which accepts either an object with styles or a function that receives the theme as a parameter and returns styles:
Highlight is based on the Text component - all Text props except color are available.
Use the color prop to change the highlight background color, not the text color.