Highlight
Highlight is a component that highlights specified strings within text. By default, it renders a p element.
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
<Highlight query="ăăăăȘă" colorScheme="warning">
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ
ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ
ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ
ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ
çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
</Highlight>
Usage
import { Highlight } from "@yamada-ui/react"
import { Highlight } from "@/components/ui"
import { Highlight } from "@workspaces/ui"
<Highlight />
Change Variant
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
<VStack>
<For each={["subtle", "solid", "text", "accent"]}>
{(variant, index) => (
<Highlight
key={index}
query="ăăăăȘă"
colorScheme="warning"
markProps={{ variant }}
>
ăăăăȘăăâŠăăăŁăăăȘăăïŒ
ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ
ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ
ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ
ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ
çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
</Highlight>
)}
</For>
</VStack>
Change Color Scheme
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
<VStack>
<For each={["warning", "success"]}>
{(colorScheme, index) => (
<Highlight key={index} query="ăăăăȘă" colorScheme={colorScheme}>
ăăăăȘăăâŠăăăŁăăăȘăăïŒ
ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ
ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ
ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ
ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ
çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
</Highlight>
)}
</For>
</VStack>
Specify Multiple
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
<Highlight query={["ăăăăȘă", "ăžă„ăŒć"]} colorScheme="warning">
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ
ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ
ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ
ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ
çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
</Highlight>
Style the Highlight
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
<Highlight
query="ăăăăȘă"
colorScheme="warning"
markProps={{ rounded: "full" }}
>
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ
ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ
ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ
ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ
çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
</Highlight>
Use Fragments
By default, Highlight renders a p element. By setting fragment, highlight will use Fragment.
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
<Text>
<Highlight fragment query="ăăăăȘă" colorScheme="warning">
ăăăăȘăăâŠăăăŁăăăȘăăïŒ
ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ
ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ
ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ
ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ
çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
</Highlight>
</Text>
Customize the Rendered Element
By using useHighlight, you can customize multiple elements and their styles.
ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ
const chunks = useHighlight({
query: ["ăăăăȘă", "ăžă„ăŒć"],
text: " ăăăăȘăăâŠăăăŁăăăȘăăïŒ ăžă„ăŒćăźèšăŁăŠăăăšăŻăČăšă€ăăăăăȘăăïŒ ăžă„ăŒćăăăăŁăŠèšăŁăŠăăăźăäœăăăăźăăăăăȘăăïŒ ăăăăȘăïŒç§ă«ăŻăăăăȘăăźïŒ ăă©ăăăŁăŁăŠäœăă«ăăłă€ă€ăźïŒèĄăȘăăŠć«ă ăïŒçăă ăă ăïŒ çăăźă©ăăă«ăăłă€ă€ăźïŒăŻăŹă€ăžăŒăźă©ăăăăăźăăăăăȘăïŒ",
})
return (
<Text>
{chunks.map(({ match, text }, index) =>
match ? (
text === "ăăăăȘă" ? (
<Mark key={index} colorScheme="warning">
{text}
</Mark>
) : (
<Mark key={index} colorScheme="success">
{text}
</Mark>
)
) : (
text
),
)}
</Text>
)
"use client" to the top of the file.Props
Similar Components
Blockquote
Blockquote is a component that represents a quotation. By default, it renders a blockquote element.
Code
Code is a component that represents a code block. By default, it renders a code element.
Em
Em is a component that represents emphasized text. By default, it renders a em element.
Heading
Heading is a component that represents section headings. By default, it renders an h1 element.
Kbd
Kbd is a component that represents keyboard input.
Mark
Mark is a component that emphasizes a specific part of the text.
Text
Text is a component that represents a paragraph of text. By default, it renders a p element.
Link
Link is a component for creating hyperlinks to different web pages, locations within the same page, or other URLs.