DmProvider
DmProvider documents the DmProvider export from duskmoon.
@duskmoon-dev/components/dm-provider 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.
DmProvider is most often configured through `component`, `theme`, `prefixCls`, `locale`.
Provides Dm prefix and theme defaults
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 DmProvider from its package subpath, then render it with the core props.
import "@duskmoon-dev/components/styles.css";
import { DmProvider } from "@duskmoon-dev/components/dm-provider";
export function Example() {
return (<DmProvider>DuskMoon Dm Provider</DmProvider>);
} Provides Dm prefix and theme defaults
test-backedDmProvider scenario from the component test coverage: provides dm prefix and theme defaults.
import "@duskmoon-dev/components/styles.css";
import { DmProvider } from "@duskmoon-dev/components/dm-provider";
export function DmProviderProvidesDmPrefixAndDemo() {
return (<DmProvider>DuskMoon Dm Provider</DmProvider>);
} Uses custom prefix and reacts to theme updates
test-backedDmProvider scenario from the component test coverage: uses custom prefix and reacts to theme updates.
import "@duskmoon-dev/components/styles.css";
import { DmProvider } from "@duskmoon-dev/components/dm-provider";
export function DmProviderUsesCustomPrefixAndDemo() {
return (<DmProvider>DuskMoon Dm Provider</DmProvider>);
} Theme aware
Docs previews inherit the DuskMoon data-theme value. Use the header switch to compare light and dark rendering.
<div data-theme="sunshine">
<DmProvider>DuskMoon Dm Provider</DmProvider>
</div>
<div data-theme="moonlight">
<DmProvider>DuskMoon Dm Provider</DmProvider>
</div> API
The API reference below lists every parsed exported type or interface for DmProvider. Start with `component`, `theme`, `prefixCls`, `locale` for common usage.
packages/components/src/components/dm-provider/DmProvider.types.ts
Scenarios: packages/components/src/components/dm-provider/DmProvider.test.tsx | Prop | Type | Required | Description |
|---|---|---|---|
children | ReactNode | No | children configures DmProvider. |
className | string | No | className configures DmProvider. |
component | ConfigProviderProps["component"] | No | component configures DmProvider. |
theme | ConfigProviderContextValue["theme"] | No | theme configures DmProvider. |
prefixCls | string | No | prefixCls configures DmProvider. |
locale | Record<string, unknown> | No | locale configures DmProvider. |
direction | ConfigProviderProps["direction"] | No | direction configures DmProvider. |