DmPageHeader
DmPageHeader documents the DmPageHeader export from duskmoon.
@duskmoon-dev/components/dm-page-header Usage
When to use
- Use it in DuskMoon application screens that need a packaged, opinionated workflow component.
- Reach for the lower-level standard component when the screen needs custom composition.
Implementation notes
Features
Wraps lower-level primitives into a higher-level DuskMoon-prefixed workflow API.
Examples show the defaults and composition points expected by internal DuskMoon app screens.
DmPageHeader is most often configured through `backClick`, `onBack`, `title`, `extra`.
Renders title, body, and Dm page header classes
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 DmPageHeader from its package subpath, then render it with the core props.
import "@duskmoon-dev/components/styles.css";
import { DmPageHeader } from "@duskmoon-dev/components/dm-page-header";
export function Example() {
return (<DmPageHeader
title="DuskMoon"
>
DuskMoon Dm Page Header
</DmPageHeader>);
} Renders title, body, and Dm page header classes
test-backedDmPageHeader scenario from the component test coverage: renders title, body, and dm page header classes.
import "@duskmoon-dev/components/styles.css";
import { DmPageHeader } from "@duskmoon-dev/components/dm-page-header";
export function DmPageHeaderRendersTitleBodyAndDemo() {
return (<DmPageHeader
// Renders title, body, and Dm page header classes
title="DuskMoon"
>
DuskMoon Dm Page Header
</DmPageHeader>);
} Renders title form items with custom separator
test-backedDmPageHeader scenario from the component test coverage: renders title form items with custom separator.
import "@duskmoon-dev/components/styles.css";
import { DmPageHeader } from "@duskmoon-dev/components/dm-page-header";
export function DmPageHeaderRendersTitleFormItemsDemo() {
return (<DmPageHeader
// Renders title form items with custom separator
title="DuskMoon"
>
DuskMoon Dm Page Header
</DmPageHeader>);
} Renders back affordance and invokes callback
test-backedDmPageHeader scenario from the component test coverage: renders back affordance and invokes callback.
import "@duskmoon-dev/components/styles.css";
import { DmPageHeader } from "@duskmoon-dev/components/dm-page-header";
export function DmPageHeaderRendersBackAffordanceAndDemo() {
return (<DmPageHeader
// Renders back affordance and invokes callback
title="DuskMoon"
>
DuskMoon Dm Page Header
</DmPageHeader>);
} Renders breadcrumb and toolbar extra props
test-backedDmPageHeader scenario from the component test coverage: renders breadcrumb and toolbar extra props.
import "@duskmoon-dev/components/styles.css";
import { DmPageHeader } from "@duskmoon-dev/components/dm-page-header";
export function DmPageHeaderRendersBreadcrumbAndToolbarDemo() {
return (<DmPageHeader
// Renders breadcrumb and toolbar extra props
title="DuskMoon"
>
DuskMoon Dm Page Header
</DmPageHeader>);
} Theme aware
Docs previews inherit the DuskMoon data-theme value. Use the header switch to compare light and dark rendering.
<div data-theme="sunshine">
<DmPageHeader
title="DuskMoon"
>
DuskMoon Dm Page Header
</DmPageHeader>
</div>
<div data-theme="moonlight">
<DmPageHeader
title="DuskMoon"
>
DuskMoon Dm Page Header
</DmPageHeader>
</div> API
The API reference below lists every parsed exported type or interface for DmPageHeader. Start with `backClick`, `onBack`, `title`, `extra` for common usage.
packages/components/src/components/dm-page-header/DmPageHeader.types.ts
Scenarios: packages/components/src/components/dm-page-header/DmPageHeader.test.tsx | Prop | Type | Required | Description |
|---|---|---|---|
backClick | (event: MouseEvent<HTMLButtonElement>) => void | No | backClick configures DmPageHeader. |
onBack | (event: MouseEvent<HTMLButtonElement>) => void | No | onBack configures DmPageHeader. |
title | ReactNode | DmPageHeaderTitleItem[] | No | title configures DmPageHeader. |
extra | ReactNode | DmToolbarProps | No | extra configures DmPageHeader. |
breadcrumb | BreadcrumbProps | No | breadcrumb configures DmPageHeader. |
className | string | No | className configures DmPageHeader. |
style | CSSProperties | No | style configures DmPageHeader. |
children | ReactNode | No | children configures DmPageHeader. |
titleSeparator | ReactNode | No | titleSeparator configures DmPageHeader. |
backIcon | ReactNode | No | backIcon configures DmPageHeader. |
| Prop | Type | Required | Description |
|---|---|---|---|
title | ReactNode | Yes | title configures DmPageHeader. |
value | ReactNode | Yes | value configures DmPageHeader. |