2727>
2828 <div class = " component-recipe" >
2929 <AlertBox
30- tone = " info "
30+ tone = " success "
3131 variant = " spotlight"
3232 eyebrow = " DESIGN SYSTEM"
3333 title = " Make feedback useful"
3434 badge = " Tip"
3535 icon = " lucide:check"
3636 meta = " Semantic tones adapt to light and dark themes."
37- ><p >
37+ ><p class = " m-0 " >
3838 Explain what happened, why it matters, and what the reader can do next.
3939 </p >
4040 <template #actions
4141 ><BtnLink
42+ class = " max-w-full ws-normal"
4243 href = " /guides/styling/semantic-tones/"
43- tone = " info "
44- variant = " outline "
44+ tone = " success "
45+ variant = " outlineFill "
4546 >Explore semantic tones</BtnLink ></template ></AlertBox >
4647 </div >
4748</ComponentExample >
4849
4950``` html
50- <AlertBox tone =" info" variant =" spotlight" eyebrow =" DESIGN SYSTEM" title =" Make feedback useful" badge =" Tip" icon =" lucide:check" meta =" Semantic tones adapt to light and dark themes." >
51- <p >Explain what happened, why it matters, and what the reader can do next.</p >
52- <template #actions >
53- <BtnLink href =" /guides/styling/semantic-tones/" tone =" info" variant =" outline" >Explore semantic tones</BtnLink >
54- </template >
51+ <AlertBox
52+ tone =" success"
53+ variant =" spotlight"
54+ eyebrow =" DESIGN SYSTEM"
55+ title =" Make feedback useful"
56+ badge =" Tip"
57+ icon =" lucide:check"
58+ meta =" Semantic tones adapt to light and dark themes."
59+ ><p class =" m-0" >
60+ Explain what happened, why it matters, and what the reader can do next.
61+ </p >
62+ <template #actions
63+ ><BtnLink
64+ class =" max-w-full ws-normal"
65+ href =" /guides/styling/semantic-tones/"
66+ tone =" success"
67+ variant =" outlineFill"
68+ >Explore semantic tones</BtnLink ></template >
5569</AlertBox >
5670```
5771
@@ -70,19 +84,21 @@ Make the next step part of the message. The actions slot keeps it alongside the
7084 <TabPane id = " alert-box-sample-1-preview" label = " Preview" >
7185 <div class = " component-preview-stage" >
7286 <AlertBox
73- tone = " info "
87+ tone = " danger "
7488 title = " A shared design language"
7589 eyebrow = " COMPONENT GUIDANCE"
7690 badge = " Tip"
7791 icon = " lucide:check"
7892 meta = " Applies to both light and dark themes."
7993 >
80- <p >Use semantic tones to communicate intent across your interface.</p >
94+ <p class = " m-0" >
95+ Use semantic tones to communicate intent across your interface.
96+ </p >
8197 <template #actions>
8298 <BtnLink
99+ class = " max-w-full ws-normal"
83100 href = " /components/layout/panel/"
84- tone = " info"
85- variant = " outline"
101+ variant = " outlineFill"
86102 >
87103 Explore surfaces
88104 </BtnLink >
@@ -93,19 +109,25 @@ Make the next step part of the message. The actions slot keeps it alongside the
93109 <TabPane id = " alert-box-sample-1-source-0" label = " actionable-notice.mdx" >
94110``` html
95111<AlertBox
96- tone =" info"
97- title =" A shared design language"
98- eyebrow =" COMPONENT GUIDANCE"
99- badge =" Tip"
100- icon =" lucide:check"
101- meta =" Applies to both light and dark themes."
102- >
103- <p >Use semantic tones to communicate intent across your interface.</p >
104- <template #actions >
105- <BtnLink href =" /components/layout/panel/" tone =" info" variant =" outline" >
106- Explore surfaces
107- </BtnLink >
108- </template >
112+ tone =" danger"
113+ title =" A shared design language"
114+ eyebrow =" COMPONENT GUIDANCE"
115+ badge =" Tip"
116+ icon =" lucide:check"
117+ meta =" Applies to both light and dark themes."
118+ >
119+ <p class =" m-0" >
120+ Use semantic tones to communicate intent across your interface.
121+ </p >
122+ <template #actions >
123+ <BtnLink
124+ class =" max-w-full ws-normal"
125+ href =" /components/layout/panel/"
126+ variant =" outlineFill"
127+ >
128+ Explore surfaces
129+ </BtnLink >
130+ </template >
109131</AlertBox >
110132```
111133 </TabPane >
@@ -126,13 +148,26 @@ Keep the message explicit so color is never the only signal.
126148 <TabPane id = " alert-box-sample-2-preview" label = " Preview" >
127149 <div class = " component-preview-stage" >
128150 <Flex direction = " column" >
129- <AlertBox tone = " success" title = " All checks passed" >
151+ <AlertBox
152+ tone = " success"
153+ title = " All checks passed"
154+ icon = " tabler:circle-check"
155+ >
130156 The preview is ready for review.
131157 </AlertBox >
132- <AlertBox tone = " warning" title = " Review required" >
158+ <AlertBox
159+ tone = " warning"
160+ title = " Review required"
161+ icon = " tabler:alert-triangle"
162+ >
133163 Check the content before publishing.
134164 </AlertBox >
135- <AlertBox tone = " danger" title = " Build failed" variant = " outline" >
165+ <AlertBox
166+ tone = " danger"
167+ title = " Build failed"
168+ variant = " outline"
169+ icon = " tabler:alert-circle"
170+ >
136171 Correct the source error and build again.
137172 </AlertBox >
138173 </Flex >
@@ -141,13 +176,13 @@ Keep the message explicit so color is never the only signal.
141176 <TabPane id = " alert-box-sample-2-source-0" label = " message-tones.mdx" >
142177``` html
143178<Flex direction =" column" >
144- <AlertBox tone =" success" title =" All checks passed" >
179+ <AlertBox tone =" success" title =" All checks passed" icon = " tabler:circle-check " >
145180 The preview is ready for review.
146181 </AlertBox >
147- <AlertBox tone =" warning" title =" Review required" >
182+ <AlertBox tone =" warning" title =" Review required" icon = " tabler:alert-triangle " >
148183 Check the content before publishing.
149184 </AlertBox >
150- <AlertBox tone =" danger" title =" Build failed" variant =" outline" >
185+ <AlertBox tone =" danger" title =" Build failed" variant =" outline" icon = " tabler:alert-circle " >
151186 Correct the source error and build again.
152187 </AlertBox >
153188</Flex >
@@ -323,6 +358,8 @@ Stateless is the default. Stateful enables hover, focus, and active styling; it
323358
324359## Behavior and accessibility
325360
361+ The eyebrow sits above the title, the badge stays beside the title, and metadata follows the actions. Empty actions take no space. The optional icon uses a solid frame in the selected tone; variant controls the surrounding Panel. This layout uses existing spacing, typography, wrapping, and visibility utilities.
362+
326363AlertBox is a visual content component and does not automatically announce messages. For newly inserted urgent messages use an appropriate live region; for routine form feedback use FormStatus. Static notices should not interrupt screen-reader users.
327364
328365## API reference
0 commit comments