Test and measurement

Digital Waveform <smart-digital-waveform>

DigitalWaveform displays digital lines against time, one row per line, with lines grouped into buses whose words are written in hex, binary or decimal: the view of a logic analyser.

Stylesheet

The component is styled by source/styles/default/smart.digitalwaveform.css, which is included in smart.industrial-elements.css. It uses the theme's CSS variables and the Industrial tokens (--smart-industrial-*) described in the Themes and Styling guide, so it follows the theme applied to the page.

CSS variables

The component declares 4 CSS variables of its own, on the component itself. Set them in a rule that selects the component, loaded after the component's stylesheet: smart-digital-waveform, or a class or an id on it. A value set on a container does not reach the component, because the component's own declaration replaces the inherited one.

smart-digital-waveform {
    --smart-digital-label-background: ...;
    --smart-digital-plot-background: ...;
    --smart-digital-grid-color: ...;
    --smart-digital-axis-color: ...;
}

/* one instance */
#digitalWaveform {
    --smart-digital-label-background: ...;
}

Themes

Two ISA-101 themes ship with the package: smart.industrial.css and smart.industrial-dark.css. Load one after the base theme and set theme="industrial" or theme="industrial-dark" on the body element. The demo page switches between the three.

<link rel="stylesheet" href="node_modules/smart-industrial/source/styles/smart.default.css" />
<link rel="stylesheet" href="node_modules/smart-industrial/source/styles/smart.industrial-elements.css" />
<link rel="stylesheet" href="node_modules/smart-industrial/source/styles/smart.industrial.css" />

<body theme="industrial">