Concepts
OverviewCompositionTestingLayout
Aspect RatioBleedBoxCenterContainerDividerFlexFloatGridLink OverlayScrollableStackWrapComponents
AccordionAdmonitionAvatarButtonCarouselCheckboxClipboardCollapsibleComboboxConfirm ModalCTAModalDate PickerDialogFieldFieldsetFile UploaderIcon ButtonInputLoading StatesMenuNotificationsNumber InputPin InputProgressPrompt ModalRadioRatingSelectSplit ButtonSwitchTableTabsTagTextTextareaToggleTooltipUtilities
Client OnlyDownload TriggerEnvironmentFeature FlagsFocus TrapForFormat ByteFormat NumberFormat Relative TimeFrameHighlightJSON Tree ViewLocaleLocal StoragePortalPresenceShowsplitPropsThemeThe Highlight component takes a text prop containing the full text and a query prop specifying the text to
highlight. It then renders the text with highlighted portions wrapped in <mark> tags.
import { Highlight } from '@cerberus/react'
export const Basic = () => { return ( <Highlight query="ipsum" text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt" /> )}You can highlight multiple terms by passing an array of strings to the query prop.
import { Highlight } from '@cerberus/react'
export const Multiple = () => { return ( <Highlight query={['ipsum', 'amet']} text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt" /> )}By default, the highlighting is case-sensitive. Use the ignoreCase prop to make it case-insensitive.
import { Highlight } from '@cerberus/react'
export const IgnoreCase = () => ( <Highlight text="The quick brown Fox jumps over the lazy Dog." query={['fox', 'dog']} ignoreCase />)By default, the Highlight component matches the first occurrence of the query. To highlight all occurrences of the
query, set the matchAll prop to true.
import { Highlight } from '@cerberus/react'
export const MatchAll = () => ( <div> <h3>Match All</h3> <Highlight text="The quick brown fox jumps over the lazy fox." query="fox" matchAll={true} />
<h3>Match First Occurrence Only</h3> <Highlight text="The quick brown fox jumps over the lazy fox." query="fox" matchAll={false} /> </div>)By default, the Highlight component matches partial words. Use the exactMatch prop to only highlight whole words that
match the query exactly.
import { Highlight } from '@cerberus/react'
export const ExactMatch = () => { return ( <div> <p>Without exactMatch (highlights partial matches):</p> <Highlight query="cat" text="The cat is in the category. A cat-like creature." matchAll /> <p style={{ marginTop: '1rem' }}>With exactMatch (highlights whole words only):</p> <Highlight query="cat" text="The cat is in the category. A cat-like creature." exactMatch matchAll /> </div> )}Highlight Props:
| Prop | Type | Required | Description |
|---|---|---|---|
query | string[] | Yes | The query to highlight in the text |
text | string | Yes | The text to highlight |
exactMatch | boolean | No | Whether to match whole words only |
ignoreCase | boolean | No | Whether to ignore case while matching |
matchAll | boolean | No | Whether to match multiple instances of the query |
The Highlight component wraps matched text in <mark> tags.
<Highlight text="The quick brown fox jumps over the lazy fox." query="fox" className="highlighted-text" />Style the mark tags using CSS to customize the appearance of highlighted text.
.highlighted-text { background-color: yellow;}On this page