Result
Result summarizes the outcome of a completed workflow.
@duskmoon-dev/components/result Usage
When to use
- Use it to clarify state, metadata, content hierarchy, or loading without creating a new workflow.
- Pair it with semantic content so visual treatment never becomes the only source of meaning.
Implementation notes
Features
Focuses on status, metadata, empty/loading states, or content grouping without owning application state.
Uses DuskMoon tokens so the component follows the active docs theme.
Result is most often configured through `status`, `title`, `subTitle`, `icon`.
Renders info result by default
Feature Demos
Feature demos are authored for the component page, then supplemented with behavior scenarios from the component test coverage.
Basic usage
Import the component stylesheet and Result from its package subpath, then render it with the core props.
import "@duskmoon-dev/components/styles.css";
import { Result } from "@duskmoon-dev/components/result";
export function Example() {
return (<Result
title="DuskMoon"
status="success"
>
DuskMoon Result
</Result>);
} Renders info result by default
test-backedResult scenario from the component test coverage: renders info result by default.
import "@duskmoon-dev/components/styles.css";
import { Result } from "@duskmoon-dev/components/result";
export function ResultRendersInfoResultByDemo() {
return (<Result
// Renders info result by default
title="DuskMoon"
status="success"
>
DuskMoon Result
</Result>);
} Renders supported semantic statuses
test-backedResult scenario from the component test coverage: renders supported semantic statuses.
import "@duskmoon-dev/components/styles.css";
import { Result } from "@duskmoon-dev/components/result";
export function ResultRendersSupportedSemanticStatusesDemo() {
return (<Result
// Renders supported semantic statuses
title="DuskMoon"
status="success"
>
DuskMoon Result
</Result>);
} Normalizes numeric exception statuses
test-backedResult scenario from the component test coverage: normalizes numeric exception statuses.
import "@duskmoon-dev/components/styles.css";
import { Result } from "@duskmoon-dev/components/result";
export function ResultNormalizesNumericExceptionStatusesDemo() {
return (<Result
// Normalizes numeric exception statuses
title="DuskMoon"
status="success"
>
DuskMoon Result
</Result>);
} Renders title subtitle extra and custom icon
test-backedResult scenario from the component test coverage: renders title subtitle extra and custom icon.
import "@duskmoon-dev/components/styles.css";
import { Result } from "@duskmoon-dev/components/result";
export function ResultRendersTitleSubtitleExtraDemo() {
return (<Result
// Renders title subtitle extra and custom icon
title="DuskMoon"
status="success"
>
DuskMoon Result
</Result>);
} Supports native div props, custom className, and forwarded ref
test-backedResult scenario from the component test coverage: supports native div props, custom classname, and forwarded ref.
import "@duskmoon-dev/components/styles.css";
import { Result } from "@duskmoon-dev/components/result";
export function ResultSupportsNativeDivPropsDemo() {
return (<Result
// Supports native div props, custom className, and forwarded ref
title="DuskMoon"
status="success"
>
DuskMoon Result
</Result>);
} Theme aware
Docs previews inherit the DuskMoon data-theme value. Use the header switch to compare light and dark rendering.
<div data-theme="sunshine">
<Result
title="DuskMoon"
status="success"
>
DuskMoon Result
</Result>
</div>
<div data-theme="moonlight">
<Result
title="DuskMoon"
status="success"
>
DuskMoon Result
</Result>
</div> API
The API reference below lists every parsed exported type or interface for Result. Start with `status`, `title`, `subTitle`, `icon` for common usage.
packages/components/src/components/result/Result.types.ts
Scenarios: packages/components/src/components/result/Result.test.tsx | Prop | Type | Required | Description |
|---|---|---|---|
status | ResultStatus | No | status configures Result. |
title | ReactNode | No | title configures Result. |
subTitle | ReactNode | No | subTitle configures Result. |
icon | ReactNode | No | icon configures Result. |
extra | ReactNode | No | extra configures Result. |
| "success" | "error" | "info" | "warning" | "404" | "403" | "500" ResultNormalizedStatus | 404 | 403 | 500