@vscada/primitives 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -0
- package/dist/annotation/index.d.ts +9 -0
- package/dist/annotation/index.d.ts.map +1 -0
- package/dist/annotation/off-page/index.d.ts +3 -0
- package/dist/annotation/off-page/index.d.ts.map +1 -0
- package/dist/annotation/off-page/off-page.stories.d.ts +7 -0
- package/dist/annotation/off-page/off-page.stories.d.ts.map +1 -0
- package/dist/annotation/story-kit.d.ts +28 -0
- package/dist/annotation/story-kit.d.ts.map +1 -0
- package/dist/annotation.js +44 -0
- package/dist/base-CByO_2mM.js +87 -0
- package/dist/bevel-DnmDNvyc.js +14 -0
- package/dist/chrome/bevel.d.ts +21 -0
- package/dist/chrome/bevel.d.ts.map +1 -0
- package/dist/controls/index.d.ts +4 -0
- package/dist/controls/index.d.ts.map +1 -0
- package/dist/controls/motor-starter-panel/index.d.ts +4 -0
- package/dist/controls/motor-starter-panel/index.d.ts.map +1 -0
- package/dist/controls/motor-starter-panel/motor-starter-panel.stories.d.ts +10 -0
- package/dist/controls/motor-starter-panel/motor-starter-panel.stories.d.ts.map +1 -0
- package/dist/controls/pushbutton/index.d.ts +4 -0
- package/dist/controls/pushbutton/index.d.ts.map +1 -0
- package/dist/controls/pushbutton/pushbutton.stories.d.ts +7 -0
- package/dist/controls/pushbutton/pushbutton.stories.d.ts.map +1 -0
- package/dist/controls/selector-switch/index.d.ts +4 -0
- package/dist/controls/selector-switch/index.d.ts.map +1 -0
- package/dist/controls/selector-switch/selector-switch.stories.d.ts +8 -0
- package/dist/controls/selector-switch/selector-switch.stories.d.ts.map +1 -0
- package/dist/controls/story-kit.d.ts +31 -0
- package/dist/controls/story-kit.d.ts.map +1 -0
- package/dist/controls.js +149 -0
- package/dist/conveyance/conveyor/conveyor.stories.d.ts +9 -0
- package/dist/conveyance/conveyor/conveyor.stories.d.ts.map +1 -0
- package/dist/conveyance/conveyor/index.d.ts +4 -0
- package/dist/conveyance/conveyor/index.d.ts.map +1 -0
- package/dist/conveyance/duct/duct.stories.d.ts +7 -0
- package/dist/conveyance/duct/duct.stories.d.ts.map +1 -0
- package/dist/conveyance/duct/index.d.ts +4 -0
- package/dist/conveyance/duct/index.d.ts.map +1 -0
- package/dist/conveyance/index.d.ts +5 -0
- package/dist/conveyance/index.d.ts.map +1 -0
- package/dist/conveyance/pipe/dash.d.ts +28 -0
- package/dist/conveyance/pipe/dash.d.ts.map +1 -0
- package/dist/conveyance/pipe/flange.d.ts +9 -0
- package/dist/conveyance/pipe/flange.d.ts.map +1 -0
- package/dist/conveyance/pipe/index.d.ts +3 -0
- package/dist/conveyance/pipe/index.d.ts.map +1 -0
- package/dist/conveyance/pipe/wave.d.ts +29 -0
- package/dist/conveyance/pipe/wave.d.ts.map +1 -0
- package/dist/conveyance/screw-feeder/index.d.ts +4 -0
- package/dist/conveyance/screw-feeder/index.d.ts.map +1 -0
- package/dist/conveyance/screw-feeder/screw-feeder.stories.d.ts +7 -0
- package/dist/conveyance/screw-feeder/screw-feeder.stories.d.ts.map +1 -0
- package/dist/conveyance/story-kit.d.ts +28 -0
- package/dist/conveyance/story-kit.d.ts.map +1 -0
- package/dist/conveyance.js +345 -0
- package/dist/electrical/base.d.ts +54 -0
- package/dist/electrical/base.d.ts.map +1 -0
- package/dist/electrical/breaker/breaker.stories.d.ts +9 -0
- package/dist/electrical/breaker/breaker.stories.d.ts.map +1 -0
- package/dist/electrical/breaker/index.d.ts +4 -0
- package/dist/electrical/breaker/index.d.ts.map +1 -0
- package/dist/electrical/busbar/busbar.stories.d.ts +8 -0
- package/dist/electrical/busbar/busbar.stories.d.ts.map +1 -0
- package/dist/electrical/busbar/index.d.ts +4 -0
- package/dist/electrical/busbar/index.d.ts.map +1 -0
- package/dist/electrical/generator/generator.stories.d.ts +9 -0
- package/dist/electrical/generator/generator.stories.d.ts.map +1 -0
- package/dist/electrical/generator/index.d.ts +4 -0
- package/dist/electrical/generator/index.d.ts.map +1 -0
- package/dist/electrical/index.d.ts +4 -0
- package/dist/electrical/index.d.ts.map +1 -0
- package/dist/electrical/single-line.stories.d.ts +15 -0
- package/dist/electrical/single-line.stories.d.ts.map +1 -0
- package/dist/electrical/story-kit.d.ts +34 -0
- package/dist/electrical/story-kit.d.ts.map +1 -0
- package/dist/electrical/transformer/index.d.ts +4 -0
- package/dist/electrical/transformer/index.d.ts.map +1 -0
- package/dist/electrical/transformer/transformer.stories.d.ts +8 -0
- package/dist/electrical/transformer/transformer.stories.d.ts.map +1 -0
- package/dist/electrical.js +214 -0
- package/dist/filtration/bag-filter/bag-filter.stories.d.ts +6 -0
- package/dist/filtration/bag-filter/bag-filter.stories.d.ts.map +1 -0
- package/dist/filtration/bag-filter/index.d.ts +3 -0
- package/dist/filtration/bag-filter/index.d.ts.map +1 -0
- package/dist/filtration/base.d.ts +25 -0
- package/dist/filtration/base.d.ts.map +1 -0
- package/dist/filtration/cyclone/cyclone.stories.d.ts +6 -0
- package/dist/filtration/cyclone/cyclone.stories.d.ts.map +1 -0
- package/dist/filtration/cyclone/index.d.ts +3 -0
- package/dist/filtration/cyclone/index.d.ts.map +1 -0
- package/dist/filtration/index.d.ts +9 -0
- package/dist/filtration/index.d.ts.map +1 -0
- package/dist/filtration/scrubber/index.d.ts +3 -0
- package/dist/filtration/scrubber/index.d.ts.map +1 -0
- package/dist/filtration/scrubber/scrubber.stories.d.ts +6 -0
- package/dist/filtration/scrubber/scrubber.stories.d.ts.map +1 -0
- package/dist/filtration/stack/index.d.ts +3 -0
- package/dist/filtration/stack/index.d.ts.map +1 -0
- package/dist/filtration/stack/stack.stories.d.ts +6 -0
- package/dist/filtration/stack/stack.stories.d.ts.map +1 -0
- package/dist/filtration/story-kit.d.ts +27 -0
- package/dist/filtration/story-kit.d.ts.map +1 -0
- package/dist/filtration.js +163 -0
- package/dist/gradients/pipe-gradient.d.ts +35 -0
- package/dist/gradients/pipe-gradient.d.ts.map +1 -0
- package/dist/heat/base.d.ts +28 -0
- package/dist/heat/base.d.ts.map +1 -0
- package/dist/heat/boiler/boiler.stories.d.ts +8 -0
- package/dist/heat/boiler/boiler.stories.d.ts.map +1 -0
- package/dist/heat/boiler/index.d.ts +3 -0
- package/dist/heat/boiler/index.d.ts.map +1 -0
- package/dist/heat/coil/coil.stories.d.ts +6 -0
- package/dist/heat/coil/coil.stories.d.ts.map +1 -0
- package/dist/heat/coil/index.d.ts +3 -0
- package/dist/heat/coil/index.d.ts.map +1 -0
- package/dist/heat/condenser/condenser.stories.d.ts +6 -0
- package/dist/heat/condenser/condenser.stories.d.ts.map +1 -0
- package/dist/heat/condenser/index.d.ts +3 -0
- package/dist/heat/condenser/index.d.ts.map +1 -0
- package/dist/heat/cooling-tower/cooling-tower.stories.d.ts +6 -0
- package/dist/heat/cooling-tower/cooling-tower.stories.d.ts.map +1 -0
- package/dist/heat/cooling-tower/index.d.ts +3 -0
- package/dist/heat/cooling-tower/index.d.ts.map +1 -0
- package/dist/heat/furnace/furnace.stories.d.ts +8 -0
- package/dist/heat/furnace/furnace.stories.d.ts.map +1 -0
- package/dist/heat/furnace/index.d.ts +3 -0
- package/dist/heat/furnace/index.d.ts.map +1 -0
- package/dist/heat/index.d.ts +9 -0
- package/dist/heat/index.d.ts.map +1 -0
- package/dist/heat/shell-tube/index.d.ts +3 -0
- package/dist/heat/shell-tube/index.d.ts.map +1 -0
- package/dist/heat/shell-tube/shell-tube.stories.d.ts +6 -0
- package/dist/heat/shell-tube/shell-tube.stories.d.ts.map +1 -0
- package/dist/heat/story-kit.d.ts +27 -0
- package/dist/heat/story-kit.d.ts.map +1 -0
- package/dist/heat.js +290 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/instruments/bargraph/bargraph.stories.d.ts +8 -0
- package/dist/instruments/bargraph/bargraph.stories.d.ts.map +1 -0
- package/dist/instruments/bargraph/index.d.ts +3 -0
- package/dist/instruments/bargraph/index.d.ts.map +1 -0
- package/dist/instruments/face.d.ts +15 -0
- package/dist/instruments/face.d.ts.map +1 -0
- package/dist/instruments/gauge-analog/gauge-analog.stories.d.ts +11 -0
- package/dist/instruments/gauge-analog/gauge-analog.stories.d.ts.map +1 -0
- package/dist/instruments/gauge-analog/index.d.ts +3 -0
- package/dist/instruments/gauge-analog/index.d.ts.map +1 -0
- package/dist/instruments/gauge-digital/gauge-digital.stories.d.ts +7 -0
- package/dist/instruments/gauge-digital/gauge-digital.stories.d.ts.map +1 -0
- package/dist/instruments/gauge-digital/index.d.ts +3 -0
- package/dist/instruments/gauge-digital/index.d.ts.map +1 -0
- package/dist/instruments/index.d.ts +10 -0
- package/dist/instruments/index.d.ts.map +1 -0
- package/dist/instruments/indicator-lamp/index.d.ts +3 -0
- package/dist/instruments/indicator-lamp/index.d.ts.map +1 -0
- package/dist/instruments/indicator-lamp/indicator-lamp.stories.d.ts +9 -0
- package/dist/instruments/indicator-lamp/indicator-lamp.stories.d.ts.map +1 -0
- package/dist/instruments/readout-panel/index.d.ts +3 -0
- package/dist/instruments/readout-panel/index.d.ts.map +1 -0
- package/dist/instruments/readout-panel/readout-panel.stories.d.ts +6 -0
- package/dist/instruments/readout-panel/readout-panel.stories.d.ts.map +1 -0
- package/dist/instruments/story-kit.d.ts +29 -0
- package/dist/instruments/story-kit.d.ts.map +1 -0
- package/dist/instruments/trend-mini/index.d.ts +3 -0
- package/dist/instruments/trend-mini/index.d.ts.map +1 -0
- package/dist/instruments/trend-mini/trend-mini.stories.d.ts +6 -0
- package/dist/instruments/trend-mini/trend-mini.stories.d.ts.map +1 -0
- package/dist/instruments.js +347 -0
- package/dist/motion/seamless-loop.d.ts +14 -0
- package/dist/motion/seamless-loop.d.ts.map +1 -0
- package/dist/pipe-gradient-B538FEvi.js +18 -0
- package/dist/readout/index.d.ts +3 -0
- package/dist/readout/index.d.ts.map +1 -0
- package/dist/readout/readout.stories.d.ts +8 -0
- package/dist/readout/readout.stories.d.ts.map +1 -0
- package/dist/readout/story-kit.d.ts +27 -0
- package/dist/readout/story-kit.d.ts.map +1 -0
- package/dist/readout.js +33 -0
- package/dist/recipe-BxxL1vV1.js +383 -0
- package/dist/rotating/compressor/compressor.stories.d.ts +28 -0
- package/dist/rotating/compressor/compressor.stories.d.ts.map +1 -0
- package/dist/rotating/compressor/index.d.ts +3 -0
- package/dist/rotating/compressor/index.d.ts.map +1 -0
- package/dist/rotating/fan-axial/fan-axial.stories.d.ts +31 -0
- package/dist/rotating/fan-axial/fan-axial.stories.d.ts.map +1 -0
- package/dist/rotating/fan-axial/index.d.ts +3 -0
- package/dist/rotating/fan-axial/index.d.ts.map +1 -0
- package/dist/rotating/fan-centrifugal/fan-centrifugal.stories.d.ts +31 -0
- package/dist/rotating/fan-centrifugal/fan-centrifugal.stories.d.ts.map +1 -0
- package/dist/rotating/fan-centrifugal/index.d.ts +3 -0
- package/dist/rotating/fan-centrifugal/index.d.ts.map +1 -0
- package/dist/rotating/index.d.ts +12 -0
- package/dist/rotating/index.d.ts.map +1 -0
- package/dist/rotating/motor/index.d.ts +3 -0
- package/dist/rotating/motor/index.d.ts.map +1 -0
- package/dist/rotating/motor/motor.stories.d.ts +28 -0
- package/dist/rotating/motor/motor.stories.d.ts.map +1 -0
- package/dist/rotating/pump-centrifugal/index.d.ts +3 -0
- package/dist/rotating/pump-centrifugal/index.d.ts.map +1 -0
- package/dist/rotating/pump-centrifugal/pump-centrifugal.stories.d.ts +29 -0
- package/dist/rotating/pump-centrifugal/pump-centrifugal.stories.d.ts.map +1 -0
- package/dist/rotating/pump-positive-displacement/index.d.ts +3 -0
- package/dist/rotating/pump-positive-displacement/index.d.ts.map +1 -0
- package/dist/rotating/pump-positive-displacement/pump-positive-displacement.stories.d.ts +28 -0
- package/dist/rotating/pump-positive-displacement/pump-positive-displacement.stories.d.ts.map +1 -0
- package/dist/rotating/story-kit.d.ts +65 -0
- package/dist/rotating/story-kit.d.ts.map +1 -0
- package/dist/rotating/turbine/index.d.ts +3 -0
- package/dist/rotating/turbine/index.d.ts.map +1 -0
- package/dist/rotating/turbine/turbine.stories.d.ts +29 -0
- package/dist/rotating/turbine/turbine.stories.d.ts.map +1 -0
- package/dist/rotating.js +513 -0
- package/dist/rotation-drive/base.d.ts +110 -0
- package/dist/rotation-drive/base.d.ts.map +1 -0
- package/dist/valves/ball/ball.stories.d.ts +26 -0
- package/dist/valves/ball/ball.stories.d.ts.map +1 -0
- package/dist/valves/ball/index.d.ts +3 -0
- package/dist/valves/ball/index.d.ts.map +1 -0
- package/dist/valves/base.d.ts +70 -0
- package/dist/valves/base.d.ts.map +1 -0
- package/dist/valves/butterfly/butterfly.stories.d.ts +26 -0
- package/dist/valves/butterfly/butterfly.stories.d.ts.map +1 -0
- package/dist/valves/butterfly/index.d.ts +3 -0
- package/dist/valves/butterfly/index.d.ts.map +1 -0
- package/dist/valves/check/check.stories.d.ts +25 -0
- package/dist/valves/check/check.stories.d.ts.map +1 -0
- package/dist/valves/check/index.d.ts +3 -0
- package/dist/valves/check/index.d.ts.map +1 -0
- package/dist/valves/control/control.stories.d.ts +26 -0
- package/dist/valves/control/control.stories.d.ts.map +1 -0
- package/dist/valves/control/index.d.ts +3 -0
- package/dist/valves/control/index.d.ts.map +1 -0
- package/dist/valves/gate/gate.stories.d.ts +26 -0
- package/dist/valves/gate/gate.stories.d.ts.map +1 -0
- package/dist/valves/gate/index.d.ts +3 -0
- package/dist/valves/gate/index.d.ts.map +1 -0
- package/dist/valves/index.d.ts +8 -0
- package/dist/valves/index.d.ts.map +1 -0
- package/dist/valves/relief/index.d.ts +3 -0
- package/dist/valves/relief/index.d.ts.map +1 -0
- package/dist/valves/relief/relief.stories.d.ts +26 -0
- package/dist/valves/relief/relief.stories.d.ts.map +1 -0
- package/dist/valves/story-kit.d.ts +54 -0
- package/dist/valves/story-kit.d.ts.map +1 -0
- package/dist/valves.js +424 -0
- package/dist/vapor/base.d.ts +42 -0
- package/dist/vapor/base.d.ts.map +1 -0
- package/dist/vapor/billow-layer.d.ts +33 -0
- package/dist/vapor/billow-layer.d.ts.map +1 -0
- package/dist/vapor/billow-path.d.ts +36 -0
- package/dist/vapor/billow-path.d.ts.map +1 -0
- package/dist/vapor/index.d.ts +8 -0
- package/dist/vapor/index.d.ts.map +1 -0
- package/dist/vapor/plume/index.d.ts +3 -0
- package/dist/vapor/plume/index.d.ts.map +1 -0
- package/dist/vapor/plume/plume.stories.d.ts +9 -0
- package/dist/vapor/plume/plume.stories.d.ts.map +1 -0
- package/dist/vapor/steam-vent/index.d.ts +3 -0
- package/dist/vapor/steam-vent/index.d.ts.map +1 -0
- package/dist/vapor/steam-vent/steam-vent.stories.d.ts +9 -0
- package/dist/vapor/steam-vent/steam-vent.stories.d.ts.map +1 -0
- package/dist/vapor/story-kit.d.ts +28 -0
- package/dist/vapor/story-kit.d.ts.map +1 -0
- package/dist/vapor.js +194 -0
- package/dist/vessel-body/hardware.d.ts +13 -0
- package/dist/vessel-body/hardware.d.ts.map +1 -0
- package/dist/vessel-body/liquid/dished-bottom.d.ts +33 -0
- package/dist/vessel-body/liquid/dished-bottom.d.ts.map +1 -0
- package/dist/vessel-body/liquid/index.d.ts +11 -0
- package/dist/vessel-body/liquid/index.d.ts.map +1 -0
- package/dist/vessel-body/liquid/wave-layer.d.ts +57 -0
- package/dist/vessel-body/liquid/wave-layer.d.ts.map +1 -0
- package/dist/vessel-body/liquid/wave-path.d.ts +45 -0
- package/dist/vessel-body/liquid/wave-path.d.ts.map +1 -0
- package/dist/vessel-body/recipe.d.ts +85 -0
- package/dist/vessel-body/recipe.d.ts.map +1 -0
- package/dist/vessel-body/shapes.d.ts +78 -0
- package/dist/vessel-body/shapes.d.ts.map +1 -0
- package/dist/vessels/drum/drum.stories.d.ts +33 -0
- package/dist/vessels/drum/drum.stories.d.ts.map +1 -0
- package/dist/vessels/drum/index.d.ts +3 -0
- package/dist/vessels/drum/index.d.ts.map +1 -0
- package/dist/vessels/hopper/hopper.stories.d.ts +39 -0
- package/dist/vessels/hopper/hopper.stories.d.ts.map +1 -0
- package/dist/vessels/hopper/index.d.ts +3 -0
- package/dist/vessels/hopper/index.d.ts.map +1 -0
- package/dist/vessels/index.d.ts +10 -0
- package/dist/vessels/index.d.ts.map +1 -0
- package/dist/vessels/silo/index.d.ts +3 -0
- package/dist/vessels/silo/index.d.ts.map +1 -0
- package/dist/vessels/silo/silo.stories.d.ts +33 -0
- package/dist/vessels/silo/silo.stories.d.ts.map +1 -0
- package/dist/vessels/story-kit.d.ts +83 -0
- package/dist/vessels/story-kit.d.ts.map +1 -0
- package/dist/vessels/tank-horizontal/index.d.ts +3 -0
- package/dist/vessels/tank-horizontal/index.d.ts.map +1 -0
- package/dist/vessels/tank-horizontal/tank-horizontal.stories.d.ts +33 -0
- package/dist/vessels/tank-horizontal/tank-horizontal.stories.d.ts.map +1 -0
- package/dist/vessels/tank-spherical/index.d.ts +3 -0
- package/dist/vessels/tank-spherical/index.d.ts.map +1 -0
- package/dist/vessels/tank-spherical/tank-spherical.stories.d.ts +33 -0
- package/dist/vessels/tank-spherical/tank-spherical.stories.d.ts.map +1 -0
- package/dist/vessels/tank-vertical/index.d.ts +3 -0
- package/dist/vessels/tank-vertical/index.d.ts.map +1 -0
- package/dist/vessels/tank-vertical/tank-vertical.stories.d.ts +47 -0
- package/dist/vessels/tank-vertical/tank-vertical.stories.d.ts.map +1 -0
- package/dist/vessels.js +198 -0
- package/package.json +76 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
import { n as e, t } from "./pipe-gradient-B538FEvi.js";
|
|
2
|
+
import { Fsm as n, rangeFraction as r, resolveLevelFraction as i, resolveMediumStyle as a } from "@vscada/core";
|
|
3
|
+
//#region src/conveyance/duct/index.ts
|
|
4
|
+
var o = "http://www.w3.org/2000/svg", s = 0;
|
|
5
|
+
function c(e) {
|
|
6
|
+
return s += 1, `${e}-${s}`;
|
|
7
|
+
}
|
|
8
|
+
function l(n, r, i) {
|
|
9
|
+
let s = document.createElementNS(o, "g");
|
|
10
|
+
s.setAttribute("data-element-id", n.id), s.setAttribute("class", "vscada-duct");
|
|
11
|
+
let l = r.tokens.pipe, u = r.tokens.duct;
|
|
12
|
+
if (!l || !u) return {
|
|
13
|
+
svg: s,
|
|
14
|
+
handles: {}
|
|
15
|
+
};
|
|
16
|
+
let { w: d, h: f } = n;
|
|
17
|
+
e(r.defs, l.gradient);
|
|
18
|
+
let p = c("vscada-duct-grad");
|
|
19
|
+
t(r.defs, p, 0, 0, 0, f);
|
|
20
|
+
let m = document.createElementNS(o, "rect");
|
|
21
|
+
m.setAttribute("class", "vscada-duct-body"), m.setAttribute("width", String(d)), m.setAttribute("height", String(f)), m.setAttribute("fill", `url(#${p})`), s.appendChild(m);
|
|
22
|
+
let h = a(r.tokens.medium, n.medium)?.color ?? u.seamColor, g = document.createElementNS(o, "g");
|
|
23
|
+
g.setAttribute("class", "vscada-duct-seams");
|
|
24
|
+
for (let e = u.seamSpacing; e < d; e += u.seamSpacing) {
|
|
25
|
+
let t = document.createElementNS(o, "line");
|
|
26
|
+
t.setAttribute("class", "vscada-duct-seam"), t.setAttribute("x1", String(e)), t.setAttribute("y1", "0"), t.setAttribute("x2", String(e)), t.setAttribute("y2", String(f)), t.setAttribute("stroke", h), t.setAttribute("stroke-width", String(u.strokeWidth ?? 1)), g.appendChild(t);
|
|
27
|
+
}
|
|
28
|
+
return s.appendChild(g), {
|
|
29
|
+
svg: s,
|
|
30
|
+
handles: {}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
var u = { build: l }, d = "http://www.w3.org/2000/svg";
|
|
34
|
+
function f(e) {
|
|
35
|
+
return Math.atan2(e.to.y - e.from.y, e.to.x - e.from.x);
|
|
36
|
+
}
|
|
37
|
+
var p = 1e3;
|
|
38
|
+
function m(e, t) {
|
|
39
|
+
if (!Number.isFinite(t) || t === 0) return 0;
|
|
40
|
+
let n = e / t;
|
|
41
|
+
return Math.max(-4, Math.min(4, n));
|
|
42
|
+
}
|
|
43
|
+
function h(e, t, n) {
|
|
44
|
+
let r = f(e), i = t.dash.length + t.dash.gap, a = Math.cos(r) * i, o = Math.sin(r) * i, s = document.createElementNS(d, "g");
|
|
45
|
+
s.setAttribute("class", "vscada-pipe-dash");
|
|
46
|
+
let c = document.createElementNS(d, "line");
|
|
47
|
+
return c.setAttribute("x1", String(e.from.x)), c.setAttribute("y1", String(e.from.y)), c.setAttribute("x2", String(e.to.x)), c.setAttribute("y2", String(e.to.y)), c.setAttribute("stroke", t.dash.color), c.setAttribute("stroke-width", String(t.dash.lineStrokeWidth ?? 3)), c.setAttribute("stroke-dasharray", `${t.dash.length} ${t.dash.gap}`), c.setAttribute("stroke-opacity", String(t.dash.opacity)), s.appendChild(c), {
|
|
48
|
+
group: s,
|
|
49
|
+
control: n.animateTransform(s, ["translate(0px, 0px)", `translate(${a}px, ${o}px)`], p)
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/conveyance/conveyor/index.ts
|
|
54
|
+
var g = "http://www.w3.org/2000/svg", _ = {
|
|
55
|
+
duration: 1,
|
|
56
|
+
easing: "linear"
|
|
57
|
+
};
|
|
58
|
+
function v(e, t, a) {
|
|
59
|
+
let o = document.createElementNS(g, "g");
|
|
60
|
+
o.setAttribute("data-element-id", e.id), o.setAttribute("class", "vscada-conveyor");
|
|
61
|
+
let s = t.tokens.conveyor;
|
|
62
|
+
if (!s) return {
|
|
63
|
+
svg: o,
|
|
64
|
+
handles: {}
|
|
65
|
+
};
|
|
66
|
+
let { w: c, h: l } = e, u = {}, d = document.createElementNS(g, "rect");
|
|
67
|
+
d.setAttribute("class", "vscada-conveyor-body"), d.setAttribute("width", String(c)), d.setAttribute("height", String(l)), d.setAttribute("fill", s.bodyColor), o.appendChild(d);
|
|
68
|
+
let f = l * .18, p = l / 2;
|
|
69
|
+
for (let e of [f * 1.2, c - f * 1.2]) {
|
|
70
|
+
let t = document.createElementNS(g, "circle");
|
|
71
|
+
t.setAttribute("class", "vscada-conveyor-roller"), t.setAttribute("cx", String(e)), t.setAttribute("cy", String(p)), t.setAttribute("r", String(f)), t.setAttribute("fill", s.rollerColor), o.appendChild(t);
|
|
72
|
+
}
|
|
73
|
+
let m = document.createElementNS(g, "rect");
|
|
74
|
+
m.setAttribute("class", "vscada-conveyor-belt"), m.setAttribute("x", "0"), m.setAttribute("y", String(p - l * .12)), m.setAttribute("width", String(c)), m.setAttribute("height", String(l * .24)), m.setAttribute("fill", s.beltColor), o.appendChild(m);
|
|
75
|
+
let v = h({
|
|
76
|
+
from: {
|
|
77
|
+
x: 0,
|
|
78
|
+
y: p
|
|
79
|
+
},
|
|
80
|
+
to: {
|
|
81
|
+
x: c,
|
|
82
|
+
y: p
|
|
83
|
+
}
|
|
84
|
+
}, { dash: {
|
|
85
|
+
color: s.beltDashColor,
|
|
86
|
+
length: s.beltDashLength,
|
|
87
|
+
gap: s.beltDashGap,
|
|
88
|
+
opacity: 1
|
|
89
|
+
} }, a);
|
|
90
|
+
o.appendChild(v.group);
|
|
91
|
+
let y = document.createElementNS(g, "rect");
|
|
92
|
+
y.setAttribute("class", "vscada-conveyor-load"), y.setAttribute("x", "0"), y.setAttribute("y", String(p - l * .12)), y.setAttribute("width", String(c)), y.setAttribute("height", String(l * .24)), y.setAttribute("fill", s.loadColor), y.setAttribute("opacity", "0"), o.appendChild(y);
|
|
93
|
+
let b = document.createElementNS(g, "circle");
|
|
94
|
+
b.setAttribute("class", "vscada-conveyor-lamp"), b.setAttribute("cx", String(c * .9)), b.setAttribute("cy", "-8"), b.setAttribute("r", "5"), o.appendChild(b);
|
|
95
|
+
let x = document.createElementNS(g, "text");
|
|
96
|
+
x.setAttribute("class", "vscada-conveyor-label"), x.setAttribute("x", "0"), x.setAttribute("y", String(l + 14)), x.setAttribute("font-size", "9"), o.appendChild(x);
|
|
97
|
+
let S = e.bindings.find((e) => e.type === "state");
|
|
98
|
+
if (S) {
|
|
99
|
+
let t = new n(S.map, e.transitions, _), r = {
|
|
100
|
+
kind: "state",
|
|
101
|
+
write(e, n) {
|
|
102
|
+
let r = t.resolve(n, S.tag), i = s.states[r.state];
|
|
103
|
+
i && (e.setAttr(b, "fill", i.lampColor), e.setText(x, i.label));
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
u[S.tag] = r;
|
|
107
|
+
}
|
|
108
|
+
let C = e.bindings.find((e) => e.type === "rotate");
|
|
109
|
+
if (C) {
|
|
110
|
+
let e = {
|
|
111
|
+
kind: "numeric",
|
|
112
|
+
write(e, t) {
|
|
113
|
+
typeof t == "number" && v.control.setPlaybackRate(r(C.min, C.max, t));
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
u[C.tag] = e;
|
|
117
|
+
}
|
|
118
|
+
let w = e.bindings.find((e) => e.type === "level");
|
|
119
|
+
if (w) {
|
|
120
|
+
let e = {
|
|
121
|
+
kind: "numeric",
|
|
122
|
+
write(e, t) {
|
|
123
|
+
if (typeof t != "number") return;
|
|
124
|
+
let n = i(w, t);
|
|
125
|
+
e.setAttr(y, "opacity", String(n));
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
u[w.tag] = e;
|
|
129
|
+
}
|
|
130
|
+
return u[`__conveyor-animation-${e.id}`] = {
|
|
131
|
+
kind: "animation",
|
|
132
|
+
pause: v.control.pause,
|
|
133
|
+
resume: v.control.resume,
|
|
134
|
+
seek: v.control.seek
|
|
135
|
+
}, {
|
|
136
|
+
svg: o,
|
|
137
|
+
handles: u
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
var y = { build: v }, b = "http://www.w3.org/2000/svg", x = 900;
|
|
141
|
+
function S(e, t, n) {
|
|
142
|
+
let i = document.createElementNS(b, "g");
|
|
143
|
+
i.setAttribute("data-element-id", e.id), i.setAttribute("class", "vscada-screw-feeder");
|
|
144
|
+
let a = t.tokens.screwFeeder;
|
|
145
|
+
if (!a) return {
|
|
146
|
+
svg: i,
|
|
147
|
+
handles: {}
|
|
148
|
+
};
|
|
149
|
+
let { w: o, h: s } = e, c = o / 2, l = s / 2, u = document.createElementNS(b, "rect");
|
|
150
|
+
u.setAttribute("class", "vscada-screw-feeder-body"), u.setAttribute("width", String(o)), u.setAttribute("height", String(s)), u.setAttribute("fill", a.bodyColor), u.setAttribute("stroke", a.outlineColor), i.appendChild(u);
|
|
151
|
+
let d = document.createElementNS(b, "g");
|
|
152
|
+
d.setAttribute("class", "vscada-screw-feeder-helix"), d.style.transformOrigin = `${c}px ${l}px`;
|
|
153
|
+
for (let e = 0; e < 4; e++) {
|
|
154
|
+
let t = document.createElementNS(b, "line"), n = o / 4 * e + o / 8;
|
|
155
|
+
t.setAttribute("x1", String(n)), t.setAttribute("y1", "0"), t.setAttribute("x2", String(n)), t.setAttribute("y2", String(s)), t.setAttribute("stroke", a.helixColor), t.setAttribute("stroke-width", String(a.strokeWidth ?? 3)), d.appendChild(t);
|
|
156
|
+
}
|
|
157
|
+
i.appendChild(d);
|
|
158
|
+
let f = n.animateTransform(d, ["rotate(0deg)", "rotate(360deg)"], x), p = {}, m = e.bindings.find((e) => e.type === "rotate");
|
|
159
|
+
if (m) {
|
|
160
|
+
let e = {
|
|
161
|
+
kind: "numeric",
|
|
162
|
+
write(e, t) {
|
|
163
|
+
typeof t == "number" && f.setPlaybackRate(r(m.min, m.max, t));
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
p[m.tag] = e;
|
|
167
|
+
}
|
|
168
|
+
return p[`__screw-feeder-animation-${e.id}`] = {
|
|
169
|
+
kind: "animation",
|
|
170
|
+
pause: f.pause,
|
|
171
|
+
resume: f.resume,
|
|
172
|
+
seek: f.seek
|
|
173
|
+
}, {
|
|
174
|
+
svg: i,
|
|
175
|
+
handles: p
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
var C = { build: S }, w = "http://www.w3.org/2000/svg";
|
|
179
|
+
function T(e, t, n) {
|
|
180
|
+
let r = n.flange.widthFactor * n.strokeWidth, i = n.flange.length, a = i / 2, o = r / 2, s = document.createElementNS(w, "g");
|
|
181
|
+
s.setAttribute("class", "vscada-pipe-flange"), s.setAttribute("transform", `translate(${e.x} ${e.y}) rotate(${t})`);
|
|
182
|
+
let c = document.createElementNS(w, "rect");
|
|
183
|
+
c.setAttribute("x", String(-a)), c.setAttribute("y", String(-o)), c.setAttribute("width", String(i)), c.setAttribute("height", String(r)), c.setAttribute("fill", n.flange.outlineColor), s.appendChild(c);
|
|
184
|
+
let l = document.createElementNS(w, "rect"), u = i * .6, d = r * .5;
|
|
185
|
+
l.setAttribute("x", String(-u / 2)), l.setAttribute("y", String(-d / 2)), l.setAttribute("width", String(u)), l.setAttribute("height", String(d)), l.setAttribute("fill", n.flange.highlightColor), s.appendChild(l);
|
|
186
|
+
for (let e of [-a, a]) {
|
|
187
|
+
let t = document.createElementNS(w, "line");
|
|
188
|
+
t.setAttribute("class", "vscada-pipe-flange-ring"), t.setAttribute("x1", String(e)), t.setAttribute("y1", String(-o)), t.setAttribute("x2", String(e)), t.setAttribute("y2", String(o)), t.setAttribute("stroke", n.flange.ringColor), t.setAttribute("stroke-width", String(n.flange.ringStrokeWidth ?? 1)), s.appendChild(t);
|
|
189
|
+
}
|
|
190
|
+
return s;
|
|
191
|
+
}
|
|
192
|
+
//#endregion
|
|
193
|
+
//#region src/conveyance/pipe/wave.ts
|
|
194
|
+
var E = "http://www.w3.org/2000/svg", D = 2, O = 1400, k = 0;
|
|
195
|
+
function A(e) {
|
|
196
|
+
return k += 1, `${e}-${k}`;
|
|
197
|
+
}
|
|
198
|
+
function j(e, t, n, r) {
|
|
199
|
+
let { color: i, amplitude: a, period: o, strokeWidth: s, opacity: c } = t.wave, l = e.to.x - e.from.x, u = e.to.y - e.from.y, d = Math.hypot(l, u) || 1, f = l / d, p = u / d, m = -p, h = f, g = d * 2 + o, _ = [];
|
|
200
|
+
for (let t = 0; t <= g; t += D) {
|
|
201
|
+
let n = a * Math.sin(2 * Math.PI * t / o), r = e.from.x + f * t + m * n, i = e.from.y + p * t + h * n;
|
|
202
|
+
_.push(`${t === 0 ? "M" : "L"}${r},${i}`);
|
|
203
|
+
}
|
|
204
|
+
let v = document.createElementNS(E, "g");
|
|
205
|
+
v.setAttribute("class", "vscada-pipe-wave");
|
|
206
|
+
let y = a + s / 2, b = A("vscada-pipe-wave-clip"), x = document.createElementNS(E, "clipPath");
|
|
207
|
+
x.setAttribute("id", b), x.setAttribute("clipPathUnits", "userSpaceOnUse");
|
|
208
|
+
let S = document.createElementNS(E, "polygon"), C = [
|
|
209
|
+
{
|
|
210
|
+
x: e.from.x + m * y,
|
|
211
|
+
y: e.from.y + h * y
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
x: e.from.x - m * y,
|
|
215
|
+
y: e.from.y - h * y
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
x: e.to.x - m * y,
|
|
219
|
+
y: e.to.y - h * y
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
x: e.to.x + m * y,
|
|
223
|
+
y: e.to.y + h * y
|
|
224
|
+
}
|
|
225
|
+
];
|
|
226
|
+
S.setAttribute("points", C.map((e) => `${e.x},${e.y}`).join(" ")), x.appendChild(S), n.appendChild(x), v.setAttribute("clip-path", `url(#${b})`);
|
|
227
|
+
let w = document.createElementNS(E, "path");
|
|
228
|
+
return w.setAttribute("class", "vscada-pipe-wave-ripple"), w.setAttribute("d", _.join(" ")), w.setAttribute("fill", "none"), w.setAttribute("stroke", i), w.setAttribute("stroke-width", String(s)), w.setAttribute("stroke-linecap", "round"), w.setAttribute("stroke-linejoin", "round"), w.setAttribute("stroke-opacity", String(c)), v.appendChild(w), {
|
|
229
|
+
group: v,
|
|
230
|
+
control: r.animateTransform(v, ["translate(0px, 0px)", `translate(${-f * o}px, ${-p * o}px)`], O)
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
//#endregion
|
|
234
|
+
//#region src/conveyance/pipe/index.ts
|
|
235
|
+
var M = "http://www.w3.org/2000/svg", N = 180 / Math.PI;
|
|
236
|
+
function P(e, t) {
|
|
237
|
+
return Math.atan2(t.y - e.y, t.x - e.x) * N;
|
|
238
|
+
}
|
|
239
|
+
function F(e, t) {
|
|
240
|
+
return {
|
|
241
|
+
x: (e.x + t.x) / 2,
|
|
242
|
+
y: (e.y + t.y) / 2
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
function I(e, t, n) {
|
|
246
|
+
let r = t.x - e.x, i = t.y - e.y, a = Math.hypot(r, i) || 1, o = -i / a, s = r / a, c = (e.x + t.x) / 2, l = (e.y + t.y) / 2, u = n / 2;
|
|
247
|
+
return {
|
|
248
|
+
x1: c - o * u,
|
|
249
|
+
y1: l - s * u,
|
|
250
|
+
x2: c + o * u,
|
|
251
|
+
y2: l + s * u
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
var L = 0;
|
|
255
|
+
function R(e) {
|
|
256
|
+
return L += 1, `${e}-${L}`;
|
|
257
|
+
}
|
|
258
|
+
function z(t, n, r) {
|
|
259
|
+
let i = document.createElementNS(M, "g");
|
|
260
|
+
i.setAttribute("class", "vscada-pipe");
|
|
261
|
+
let o = n.tokens.pipe;
|
|
262
|
+
if (!o || t.segments.length === 0) return {
|
|
263
|
+
svg: i,
|
|
264
|
+
handles: {}
|
|
265
|
+
};
|
|
266
|
+
e(n.defs, o.gradient);
|
|
267
|
+
let s = a(n.tokens.medium, t.medium), c = s ? {
|
|
268
|
+
...o,
|
|
269
|
+
dash: {
|
|
270
|
+
color: s.color,
|
|
271
|
+
length: s.dashSignature.length,
|
|
272
|
+
gap: s.dashSignature.gap,
|
|
273
|
+
opacity: s.dashSignature.opacity
|
|
274
|
+
}
|
|
275
|
+
} : o, l = o.flowStyle === "wave" && o.wave ? { wave: s ? {
|
|
276
|
+
...o.wave,
|
|
277
|
+
color: s.color
|
|
278
|
+
} : o.wave } : void 0, u = s?.animationSpeedFactor ?? 1, d = document.createElementNS(M, "g");
|
|
279
|
+
d.setAttribute("class", "vscada-pipe-body");
|
|
280
|
+
let f = [];
|
|
281
|
+
for (let e = 0; e < t.segments.length; e++) {
|
|
282
|
+
let i = t.segments[e];
|
|
283
|
+
B(d, n.defs, `M ${i.from.x} ${i.from.y} L ${i.to.x} ${i.to.y}`, i.from, i.to, o.strokeWidth);
|
|
284
|
+
let a = l ? j(i, l, n.defs, r) : h(i, c, r);
|
|
285
|
+
a.control.setPlaybackRate(u), f.push(a);
|
|
286
|
+
let s = t.corners[e];
|
|
287
|
+
s && B(d, n.defs, `M ${s.from.x} ${s.from.y} A ${s.radius} ${s.radius} 0 0 ${s.sweepFlag} ${s.to.x} ${s.to.y}`, s.from, s.to, o.strokeWidth);
|
|
288
|
+
}
|
|
289
|
+
i.appendChild(d);
|
|
290
|
+
let p = document.createElementNS(M, "g");
|
|
291
|
+
p.setAttribute("class", "vscada-pipe-flanges");
|
|
292
|
+
let g = t.segments[0];
|
|
293
|
+
p.appendChild(T(g.from, P(g.from, g.to), o));
|
|
294
|
+
for (let e of t.corners) p.appendChild(T(F(e.from, e.to), P(e.from, e.to), o));
|
|
295
|
+
let _ = t.segments[t.segments.length - 1];
|
|
296
|
+
p.appendChild(T(_.to, P(_.from, _.to), o)), i.appendChild(p);
|
|
297
|
+
let v = document.createElementNS(M, "g");
|
|
298
|
+
v.setAttribute("class", "vscada-pipe-flow-container");
|
|
299
|
+
for (let e of f) v.appendChild(e.group);
|
|
300
|
+
i.appendChild(v);
|
|
301
|
+
let y = {};
|
|
302
|
+
if (t.flowBinding) {
|
|
303
|
+
let { tag: e, max: n } = t.flowBinding;
|
|
304
|
+
y[e] = {
|
|
305
|
+
kind: "numeric",
|
|
306
|
+
write(e, t) {
|
|
307
|
+
if (typeof t != "number") return;
|
|
308
|
+
let r = m(t, n) * u;
|
|
309
|
+
for (let e of f) e.control.setPlaybackRate(r);
|
|
310
|
+
}
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
let b = {
|
|
314
|
+
kind: "animation",
|
|
315
|
+
pause() {
|
|
316
|
+
for (let e of f) e.control.pause();
|
|
317
|
+
},
|
|
318
|
+
resume() {
|
|
319
|
+
for (let e of f) e.control.resume();
|
|
320
|
+
},
|
|
321
|
+
seek(e) {
|
|
322
|
+
for (let t of f) t.control.seek(e);
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
return y[R("pipe-flow-animation")] = b, {
|
|
326
|
+
svg: i,
|
|
327
|
+
handles: y
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
function B(e, n, r, i, a, o) {
|
|
331
|
+
let s = R("vscada-pipe-grad"), c = I(i, a, o);
|
|
332
|
+
t(n, s, c.x1, c.y1, c.x2, c.y2);
|
|
333
|
+
let l = document.createElementNS(M, "path");
|
|
334
|
+
l.setAttribute("d", r), l.setAttribute("stroke", `url(#${s})`), l.setAttribute("stroke-width", String(o)), l.setAttribute("fill", "none"), e.appendChild(l);
|
|
335
|
+
}
|
|
336
|
+
var V = { build: z }, H = Object.freeze({
|
|
337
|
+
group: "conveyance",
|
|
338
|
+
primitives: Object.freeze({
|
|
339
|
+
duct: u,
|
|
340
|
+
conveyor: y,
|
|
341
|
+
"screw-feeder": C
|
|
342
|
+
})
|
|
343
|
+
});
|
|
344
|
+
//#endregion
|
|
345
|
+
export { H as conveyance, V as pipeConnectionRenderer };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { BreakerStateVisual, EnergizationStateVisual, HandleMap, Renderer, SceneElement, ValueWarningDetail } from '@vscada/core';
|
|
2
|
+
/** Minimal structural shape `buildEnergizationDrive` needs from `TransformerTokens`/`BusbarTokens`. */
|
|
3
|
+
export interface EnergizationTokensLike {
|
|
4
|
+
states: Record<string, EnergizationStateVisual>;
|
|
5
|
+
}
|
|
6
|
+
/** The SVG elements an energization-state write touches. */
|
|
7
|
+
export interface EnergizationVisualRefs {
|
|
8
|
+
/** Fill + fill-opacity read the resolved state's glow (layered opacity, never filters — C7). */
|
|
9
|
+
glow: Element;
|
|
10
|
+
/** AD-3: glow color always paired with this text label. */
|
|
11
|
+
label: Element;
|
|
12
|
+
}
|
|
13
|
+
/** AD-3 pairing — glow color/opacity always paired with the text label. */
|
|
14
|
+
export declare function applyEnergizationVisual(renderer: Renderer, tokens: EnergizationTokensLike, state: string, visuals: EnergizationVisualRefs): EnergizationStateVisual | undefined;
|
|
15
|
+
export interface EnergizationDriveOptions {
|
|
16
|
+
element: SceneElement;
|
|
17
|
+
tokens: EnergizationTokensLike;
|
|
18
|
+
visuals: EnergizationVisualRefs;
|
|
19
|
+
onWarning?: (detail: ValueWarningDetail) => void;
|
|
20
|
+
}
|
|
21
|
+
export interface EnergizationDrive {
|
|
22
|
+
handles: HandleMap;
|
|
23
|
+
getCurrentState(): string | undefined;
|
|
24
|
+
}
|
|
25
|
+
/** Wires transformer's/busbar's `state` binding (de-energized/energized) -> `Fsm` -> glow+label write. */
|
|
26
|
+
export declare function buildEnergizationDrive(opts: EnergizationDriveOptions): EnergizationDrive;
|
|
27
|
+
/** Minimal structural shape `buildBreakerDrive` needs from `BreakerTokens`. */
|
|
28
|
+
export interface BreakerTokensLike {
|
|
29
|
+
states: Record<string, BreakerStateVisual>;
|
|
30
|
+
}
|
|
31
|
+
/** The SVG elements a breaker state write touches. */
|
|
32
|
+
export interface BreakerVisualRefs {
|
|
33
|
+
/** AD-3: indicator color always paired with the text label. */
|
|
34
|
+
indicator: Element;
|
|
35
|
+
label: Element;
|
|
36
|
+
/**
|
|
37
|
+
* The bridge segment spanning the switch gap — the piece that completes
|
|
38
|
+
* the conductor. Visible (opacity 1) only in the real "current flows"
|
|
39
|
+
* condition; hidden (opacity 0, leaving the gap visibly open) for every
|
|
40
|
+
* other state. Toggled by opacity, never re-rendered (AD-2).
|
|
41
|
+
*/
|
|
42
|
+
bridge: Element;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Wires breaker's `state` binding -> `Fsm` -> indicator/label/gap write.
|
|
46
|
+
* The resolved FSM state STRING is the exact value
|
|
47
|
+
* `_registerFlowStateTracking` (core `scada-view.ts`, Story 2.4) reads off
|
|
48
|
+
* this SAME binding to decide topology isolation — see `BreakerStateVisual`'s
|
|
49
|
+
* doc (`@vscada/core` tokens.ts) for why the isolating condition's state key
|
|
50
|
+
* must literally be `'closed'`. This module only renders whatever state the
|
|
51
|
+
* scene's own `map` resolves to; it does not itself special-case any key.
|
|
52
|
+
*/
|
|
53
|
+
export declare function buildBreakerDrive(element: SceneElement, tokens: BreakerTokensLike, visuals: BreakerVisualRefs, onWarning?: (detail: ValueWarningDetail) => void): EnergizationDrive;
|
|
54
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/electrical/base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAe,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAoBpJ,uGAAuG;AACvG,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACjD;AAED,4DAA4D;AAC5D,MAAM,WAAW,sBAAsB;IACrC,gGAAgG;IAChG,IAAI,EAAE,OAAO,CAAC;IACd,2DAA2D;IAC3D,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,2EAA2E;AAC3E,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,sBAAsB,EAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,sBAAsB,GAC9B,uBAAuB,GAAG,SAAS,CAOrC;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,SAAS,CAAC;IACnB,eAAe,IAAI,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,0GAA0G;AAC1G,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,wBAAwB,GAAG,iBAAiB,CAoBxF;AAED,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC5C;AAED,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,GAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAuB,GACjE,iBAAiB,CAyBnB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ElectricalStory, type ElectricalStoryMeta } from '../story-kit';
|
|
2
|
+
export declare const meta: ElectricalStoryMeta;
|
|
3
|
+
export declare const Open: ElectricalStory;
|
|
4
|
+
export declare const Closed: ElectricalStory;
|
|
5
|
+
export declare const Tripped: ElectricalStory;
|
|
6
|
+
export declare const StaleFreeze: ElectricalStory;
|
|
7
|
+
export declare function render(container: HTMLElement, story?: ElectricalStory): import("../story-kit").MountedElectricalStory;
|
|
8
|
+
export default meta;
|
|
9
|
+
//# sourceMappingURL=breaker.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breaker.stories.d.ts","sourceRoot":"","sources":["../../../src/electrical/breaker/breaker.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEpG,eAAO,MAAM,IAAI,EAAE,mBAMlB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,eAAgG,CAAC;AACpH,eAAO,MAAM,MAAM,EAAE,eAAkG,CAAC;AACxH,eAAO,MAAM,OAAO,EAAE,eAAmG,CAAC;AAC1H,eAAO,MAAM,WAAW,EAAE,eAA+H,CAAC;AAE1J,wBAAgB,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,GAAE,eAAsB,iDAE3E;AAED,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/electrical/breaker/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,eAAe,EAAwC,MAAM,cAAc,CAAC;AAoGrG,QAAA,MAAM,aAAa,EAAE,eAA2B,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ElectricalStory, type ElectricalStoryMeta } from '../story-kit';
|
|
2
|
+
export declare const meta: ElectricalStoryMeta;
|
|
3
|
+
export declare const DeEnergized: ElectricalStory;
|
|
4
|
+
export declare const Energized: ElectricalStory;
|
|
5
|
+
export declare const StaleFreeze: ElectricalStory;
|
|
6
|
+
export declare function render(container: HTMLElement, story?: ElectricalStory): import("../story-kit").MountedElectricalStory;
|
|
7
|
+
export default meta;
|
|
8
|
+
//# sourceMappingURL=busbar.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"busbar.stories.d.ts","sourceRoot":"","sources":["../../../src/electrical/busbar/busbar.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEpG,eAAO,MAAM,IAAI,EAAE,mBAMlB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAwG,CAAC;AACnI,eAAO,MAAM,SAAS,EAAE,eAAqG,CAAC;AAC9H,eAAO,MAAM,WAAW,EAAE,eAAkI,CAAC;AAE7J,wBAAgB,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,GAAE,eAA6B,iDAElF;AAED,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/electrical/busbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,eAAe,EAAwC,MAAM,cAAc,CAAC;AAgDrG,QAAA,MAAM,YAAY,EAAE,eAA2B,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ElectricalStory, type ElectricalStoryMeta } from '../story-kit';
|
|
2
|
+
export declare const meta: ElectricalStoryMeta;
|
|
3
|
+
export declare const Stopped: ElectricalStory;
|
|
4
|
+
export declare const Running: ElectricalStory;
|
|
5
|
+
export declare const Tripped: ElectricalStory;
|
|
6
|
+
export declare const StaleFreeze: ElectricalStory;
|
|
7
|
+
export declare function render(container: HTMLElement, story?: ElectricalStory): import("../story-kit").MountedElectricalStory;
|
|
8
|
+
export default meta;
|
|
9
|
+
//# sourceMappingURL=generator.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.stories.d.ts","sourceRoot":"","sources":["../../../src/electrical/generator/generator.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEpG,eAAO,MAAM,IAAI,EAAE,mBAUlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,eAAoJ,CAAC;AAC3K,eAAO,MAAM,OAAO,EAAE,eAAuJ,CAAC;AAC9K,eAAO,MAAM,OAAO,EAAE,eAAoJ,CAAC;AAC3K,eAAO,MAAM,WAAW,EAAE,eAIzB,CAAC;AAEF,wBAAgB,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,GAAE,eAAyB,iDAE9E;AAED,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/electrical/generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,eAAe,EAAwC,MAAM,cAAc,CAAC;AAiIrG,QAAA,MAAM,eAAe,EAAE,eAA2B,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/electrical/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,2GAA2G;AAC3G,eAAO,MAAM,UAAU,EAAE,cAQvB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type SingleLineStory } from './story-kit';
|
|
2
|
+
/**
|
|
3
|
+
* Story 3.10 Task 4 — the single-line-diagram composite story: generator ->
|
|
4
|
+
* breaker -> busbar -> transformer -> breaker, `direct`-routed, `inferFlow`
|
|
5
|
+
* on. The substation starter template (5.4) leans on this exact composite
|
|
6
|
+
* (Dev Notes).
|
|
7
|
+
*/
|
|
8
|
+
export declare const meta: {
|
|
9
|
+
title: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const AllEnergized: SingleLineStory;
|
|
12
|
+
export declare const IsolatedAtBrk1: SingleLineStory;
|
|
13
|
+
export declare function render(container: HTMLElement, story?: SingleLineStory): import("./story-kit").MountedElectricalStory;
|
|
14
|
+
export default meta;
|
|
15
|
+
//# sourceMappingURL=single-line.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"single-line.stories.d.ts","sourceRoot":"","sources":["../../src/electrical/single-line.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,IAAI;;CAEhB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAU1B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAU5B,CAAC;AAEF,wBAAgB,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,GAAE,eAA8B,gDAEnF;AAED,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ScadaView, type Binding, type Renderer, type TagValue, type TimeSource } from '@vscada/core';
|
|
2
|
+
export interface ElectricalStoryMeta {
|
|
3
|
+
title: string;
|
|
4
|
+
/** The registered primitive `type` — must be a key in `electrical.primitives`. */
|
|
5
|
+
elementType: string;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
bindings: Binding[];
|
|
9
|
+
}
|
|
10
|
+
export interface ElectricalStory {
|
|
11
|
+
name: string;
|
|
12
|
+
values: TagValue[];
|
|
13
|
+
/** Reuses Story 1.6's freeze mechanism (`connectionState = 'disconnected'`). */
|
|
14
|
+
stale?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface MountedElectricalStory {
|
|
17
|
+
element: ScadaView;
|
|
18
|
+
setValues(values: TagValue[]): void;
|
|
19
|
+
teardown(): void;
|
|
20
|
+
}
|
|
21
|
+
export interface MountElectricalStoryOptions {
|
|
22
|
+
/** Real usage always gets the real WAAPI-backed `domRenderer`; tests inject a stub (jsdom/happy-dom has no `Element.animate`). */
|
|
23
|
+
renderer?: Renderer;
|
|
24
|
+
timeSource?: TimeSource;
|
|
25
|
+
}
|
|
26
|
+
export declare function mountElectricalStory(container: HTMLElement, meta: ElectricalStoryMeta, story: ElectricalStory, options?: MountElectricalStoryOptions): MountedElectricalStory;
|
|
27
|
+
/** The single-line-diagram composite (Task 4's last bullet): a substation-style run of generator -> breaker -> busbar -> transformer -> breaker, all sharing one `direct`-routed connection chain. */
|
|
28
|
+
export interface SingleLineStory {
|
|
29
|
+
name: string;
|
|
30
|
+
values: TagValue[];
|
|
31
|
+
stale?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare function mountSingleLineStory(container: HTMLElement, story: SingleLineStory, options?: MountElectricalStoryOptions): MountedElectricalStory;
|
|
34
|
+
//# sourceMappingURL=story-kit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"story-kit.d.ts","sourceRoot":"","sources":["../../src/electrical/story-kit.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,SAAS,EACT,KAAK,OAAO,EACZ,KAAK,QAAQ,EAGb,KAAK,QAAQ,EAEb,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AA+EtB,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAwCD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACpC,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,kIAAkI;IAClI,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,eAAe,EACtB,OAAO,GAAE,2BAAgC,GACxC,sBAAsB,CAkBxB;AAED,sMAAsM;AACtM,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAgGD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,eAAe,EACtB,OAAO,GAAE,2BAAgC,GACxC,sBAAsB,CAkBxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/electrical/transformer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,eAAe,EAAwC,MAAM,cAAc,CAAC;AAgGrG,QAAA,MAAM,iBAAiB,EAAE,eAA2B,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ElectricalStory, type ElectricalStoryMeta } from '../story-kit';
|
|
2
|
+
export declare const meta: ElectricalStoryMeta;
|
|
3
|
+
export declare const DeEnergized: ElectricalStory;
|
|
4
|
+
export declare const Energized: ElectricalStory;
|
|
5
|
+
export declare const StaleFreeze: ElectricalStory;
|
|
6
|
+
export declare function render(container: HTMLElement, story?: ElectricalStory): import("../story-kit").MountedElectricalStory;
|
|
7
|
+
export default meta;
|
|
8
|
+
//# sourceMappingURL=transformer.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformer.stories.d.ts","sourceRoot":"","sources":["../../../src/electrical/transformer/transformer.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEpG,eAAO,MAAM,IAAI,EAAE,mBAMlB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAyG,CAAC;AACpI,eAAO,MAAM,SAAS,EAAE,eAAsG,CAAC;AAC/H,eAAO,MAAM,WAAW,EAAE,eAAmI,CAAC;AAE9J,wBAAgB,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,GAAE,eAA6B,iDAElF;AAED,eAAe,IAAI,CAAC"}
|