CSS Art art-components implemented 2 demos

ArtPlasmaBall

ArtPlasmaBall renders the ArtPlasmaBall CSS-art scene as a reusable React component.

Import @duskmoon-dev/art-components
1 API sections
6 documented props
1 behavior scenarios
Key API
checkeddefaultCheckedhideBasehideElectrodeinputPropsonCheckedChange

Usage

When to use

  • Use it when a page needs a reusable DuskMoon visual asset rendered from CSS rather than an image.
  • Keep it decorative unless the illustration carries information that must be announced.

Implementation notes

Stylesheet Import @duskmoon-dev/art-components/styles.css once before rendering art components.
State Start with default props for static examples, then switch to controlled props when state must be shared.
Sizing Use the size prop and CSS custom properties to adapt the scene without replacing markup.

Features

CSS-art wrapper

Renders the matching @duskmoon-dev/css-art scene through a typed React component.

Accessible decoration

Defaults to decorative output while allowing aria labels and roles when the scene carries meaning.

Primary API surface

ArtPlasmaBall is most often configured through `checked`, `defaultChecked`, `hideBase`, `hideElectrode`.

Covered behavior

Renders interactive plasma rays and switch state

Feature Demos

Feature demos are authored for the component page, then supplemented with behavior scenarios from the component test coverage.

Preview

Basic usage

authored

Import ArtPlasmaBall and the art component stylesheet before rendering the CSS art scene.

Source
import "@duskmoon-dev/art-components/styles.css";
import { ArtPlasmaBall } from "@duskmoon-dev/art-components";

export function Example() {
  return (<ArtPlasmaBall size="sm" defaultChecked />);
}
Preview

Accessible art

authored

Use ArtPlasmaBall as decorative output by default, or pass accessible labeling when the scene is meaningful.

Source
import "@duskmoon-dev/art-components/styles.css";
import { ArtPlasmaBall } from "@duskmoon-dev/art-components";

export function AccessibleArt() {
  return (<ArtPlasmaBall size="sm" defaultChecked
  decorative={false}
  aria-label="Art Plasma Ball illustration" />);
}

API

The API reference below lists every parsed exported type or interface for ArtPlasmaBall. Start with `checked`, `defaultChecked`, `hideBase`, `hideElectrode` for common usage.

Types: packages/art-components/src/index.tsx Scenarios: packages/art-components/tests/art-components.test.tsx
ArtPlasmaBallProps interface extends SizedArtProps
Prop Type Required Description
checked boolean No checked configures ArtPlasmaBall.
defaultChecked boolean No defaultChecked configures ArtPlasmaBall.
hideBase boolean No hideBase configures ArtPlasmaBall.
hideElectrode boolean No hideElectrode configures ArtPlasmaBall.
inputProps Omit< No inputProps configures ArtPlasmaBall.
onCheckedChange (checked: boolean) => void No onCheckedChange configures ArtPlasmaBall.