Instrument readouts and controls

Bar Graph <smart-bar-graph>

BarGraph is a segmented level meter, such as the column of lit blocks on an audio console or a vibration monitor.

Stylesheet

The component is styled by source/styles/default/smart.bargraph.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 5 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-bar-graph, 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-bar-graph {
    --smart-bar-graph-width: ...;
    --smart-bar-graph-height: ...;
    --smart-bar-segment-off: ...;
    --smart-bar-segment-on: ...;
    --smart-bar-segment-gap: ...;
}

/* one instance */
#barGraph {
    --smart-bar-graph-width: ...;
}

One variable is written inline by the component's script, and an inline value replaces any stylesheet rule:

Set it through the property rather than in CSS.

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">