Instrument readouts and controls

Bit Field <smart-bit-field>

BitField displays a fixed-width register as individual bits with names, keeping the word value and the bits in sync.

Stylesheet

The component is styled by source/styles/default/smart.bitfield.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-bit-field, 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-bit-field {
    --smart-bit-size: ...;
    --smart-bit-off-color: ...;
    --smart-bit-on-color: ...;
    --smart-bit-gap: ...;
    --smart-bit-group-gap: ...;
}

/* one instance */
#bitField {
    --smart-bit-size: ...;
}

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