@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.
Files changed (311) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/annotation/index.d.ts +9 -0
  3. package/dist/annotation/index.d.ts.map +1 -0
  4. package/dist/annotation/off-page/index.d.ts +3 -0
  5. package/dist/annotation/off-page/index.d.ts.map +1 -0
  6. package/dist/annotation/off-page/off-page.stories.d.ts +7 -0
  7. package/dist/annotation/off-page/off-page.stories.d.ts.map +1 -0
  8. package/dist/annotation/story-kit.d.ts +28 -0
  9. package/dist/annotation/story-kit.d.ts.map +1 -0
  10. package/dist/annotation.js +44 -0
  11. package/dist/base-CByO_2mM.js +87 -0
  12. package/dist/bevel-DnmDNvyc.js +14 -0
  13. package/dist/chrome/bevel.d.ts +21 -0
  14. package/dist/chrome/bevel.d.ts.map +1 -0
  15. package/dist/controls/index.d.ts +4 -0
  16. package/dist/controls/index.d.ts.map +1 -0
  17. package/dist/controls/motor-starter-panel/index.d.ts +4 -0
  18. package/dist/controls/motor-starter-panel/index.d.ts.map +1 -0
  19. package/dist/controls/motor-starter-panel/motor-starter-panel.stories.d.ts +10 -0
  20. package/dist/controls/motor-starter-panel/motor-starter-panel.stories.d.ts.map +1 -0
  21. package/dist/controls/pushbutton/index.d.ts +4 -0
  22. package/dist/controls/pushbutton/index.d.ts.map +1 -0
  23. package/dist/controls/pushbutton/pushbutton.stories.d.ts +7 -0
  24. package/dist/controls/pushbutton/pushbutton.stories.d.ts.map +1 -0
  25. package/dist/controls/selector-switch/index.d.ts +4 -0
  26. package/dist/controls/selector-switch/index.d.ts.map +1 -0
  27. package/dist/controls/selector-switch/selector-switch.stories.d.ts +8 -0
  28. package/dist/controls/selector-switch/selector-switch.stories.d.ts.map +1 -0
  29. package/dist/controls/story-kit.d.ts +31 -0
  30. package/dist/controls/story-kit.d.ts.map +1 -0
  31. package/dist/controls.js +149 -0
  32. package/dist/conveyance/conveyor/conveyor.stories.d.ts +9 -0
  33. package/dist/conveyance/conveyor/conveyor.stories.d.ts.map +1 -0
  34. package/dist/conveyance/conveyor/index.d.ts +4 -0
  35. package/dist/conveyance/conveyor/index.d.ts.map +1 -0
  36. package/dist/conveyance/duct/duct.stories.d.ts +7 -0
  37. package/dist/conveyance/duct/duct.stories.d.ts.map +1 -0
  38. package/dist/conveyance/duct/index.d.ts +4 -0
  39. package/dist/conveyance/duct/index.d.ts.map +1 -0
  40. package/dist/conveyance/index.d.ts +5 -0
  41. package/dist/conveyance/index.d.ts.map +1 -0
  42. package/dist/conveyance/pipe/dash.d.ts +28 -0
  43. package/dist/conveyance/pipe/dash.d.ts.map +1 -0
  44. package/dist/conveyance/pipe/flange.d.ts +9 -0
  45. package/dist/conveyance/pipe/flange.d.ts.map +1 -0
  46. package/dist/conveyance/pipe/index.d.ts +3 -0
  47. package/dist/conveyance/pipe/index.d.ts.map +1 -0
  48. package/dist/conveyance/pipe/wave.d.ts +29 -0
  49. package/dist/conveyance/pipe/wave.d.ts.map +1 -0
  50. package/dist/conveyance/screw-feeder/index.d.ts +4 -0
  51. package/dist/conveyance/screw-feeder/index.d.ts.map +1 -0
  52. package/dist/conveyance/screw-feeder/screw-feeder.stories.d.ts +7 -0
  53. package/dist/conveyance/screw-feeder/screw-feeder.stories.d.ts.map +1 -0
  54. package/dist/conveyance/story-kit.d.ts +28 -0
  55. package/dist/conveyance/story-kit.d.ts.map +1 -0
  56. package/dist/conveyance.js +345 -0
  57. package/dist/electrical/base.d.ts +54 -0
  58. package/dist/electrical/base.d.ts.map +1 -0
  59. package/dist/electrical/breaker/breaker.stories.d.ts +9 -0
  60. package/dist/electrical/breaker/breaker.stories.d.ts.map +1 -0
  61. package/dist/electrical/breaker/index.d.ts +4 -0
  62. package/dist/electrical/breaker/index.d.ts.map +1 -0
  63. package/dist/electrical/busbar/busbar.stories.d.ts +8 -0
  64. package/dist/electrical/busbar/busbar.stories.d.ts.map +1 -0
  65. package/dist/electrical/busbar/index.d.ts +4 -0
  66. package/dist/electrical/busbar/index.d.ts.map +1 -0
  67. package/dist/electrical/generator/generator.stories.d.ts +9 -0
  68. package/dist/electrical/generator/generator.stories.d.ts.map +1 -0
  69. package/dist/electrical/generator/index.d.ts +4 -0
  70. package/dist/electrical/generator/index.d.ts.map +1 -0
  71. package/dist/electrical/index.d.ts +4 -0
  72. package/dist/electrical/index.d.ts.map +1 -0
  73. package/dist/electrical/single-line.stories.d.ts +15 -0
  74. package/dist/electrical/single-line.stories.d.ts.map +1 -0
  75. package/dist/electrical/story-kit.d.ts +34 -0
  76. package/dist/electrical/story-kit.d.ts.map +1 -0
  77. package/dist/electrical/transformer/index.d.ts +4 -0
  78. package/dist/electrical/transformer/index.d.ts.map +1 -0
  79. package/dist/electrical/transformer/transformer.stories.d.ts +8 -0
  80. package/dist/electrical/transformer/transformer.stories.d.ts.map +1 -0
  81. package/dist/electrical.js +214 -0
  82. package/dist/filtration/bag-filter/bag-filter.stories.d.ts +6 -0
  83. package/dist/filtration/bag-filter/bag-filter.stories.d.ts.map +1 -0
  84. package/dist/filtration/bag-filter/index.d.ts +3 -0
  85. package/dist/filtration/bag-filter/index.d.ts.map +1 -0
  86. package/dist/filtration/base.d.ts +25 -0
  87. package/dist/filtration/base.d.ts.map +1 -0
  88. package/dist/filtration/cyclone/cyclone.stories.d.ts +6 -0
  89. package/dist/filtration/cyclone/cyclone.stories.d.ts.map +1 -0
  90. package/dist/filtration/cyclone/index.d.ts +3 -0
  91. package/dist/filtration/cyclone/index.d.ts.map +1 -0
  92. package/dist/filtration/index.d.ts +9 -0
  93. package/dist/filtration/index.d.ts.map +1 -0
  94. package/dist/filtration/scrubber/index.d.ts +3 -0
  95. package/dist/filtration/scrubber/index.d.ts.map +1 -0
  96. package/dist/filtration/scrubber/scrubber.stories.d.ts +6 -0
  97. package/dist/filtration/scrubber/scrubber.stories.d.ts.map +1 -0
  98. package/dist/filtration/stack/index.d.ts +3 -0
  99. package/dist/filtration/stack/index.d.ts.map +1 -0
  100. package/dist/filtration/stack/stack.stories.d.ts +6 -0
  101. package/dist/filtration/stack/stack.stories.d.ts.map +1 -0
  102. package/dist/filtration/story-kit.d.ts +27 -0
  103. package/dist/filtration/story-kit.d.ts.map +1 -0
  104. package/dist/filtration.js +163 -0
  105. package/dist/gradients/pipe-gradient.d.ts +35 -0
  106. package/dist/gradients/pipe-gradient.d.ts.map +1 -0
  107. package/dist/heat/base.d.ts +28 -0
  108. package/dist/heat/base.d.ts.map +1 -0
  109. package/dist/heat/boiler/boiler.stories.d.ts +8 -0
  110. package/dist/heat/boiler/boiler.stories.d.ts.map +1 -0
  111. package/dist/heat/boiler/index.d.ts +3 -0
  112. package/dist/heat/boiler/index.d.ts.map +1 -0
  113. package/dist/heat/coil/coil.stories.d.ts +6 -0
  114. package/dist/heat/coil/coil.stories.d.ts.map +1 -0
  115. package/dist/heat/coil/index.d.ts +3 -0
  116. package/dist/heat/coil/index.d.ts.map +1 -0
  117. package/dist/heat/condenser/condenser.stories.d.ts +6 -0
  118. package/dist/heat/condenser/condenser.stories.d.ts.map +1 -0
  119. package/dist/heat/condenser/index.d.ts +3 -0
  120. package/dist/heat/condenser/index.d.ts.map +1 -0
  121. package/dist/heat/cooling-tower/cooling-tower.stories.d.ts +6 -0
  122. package/dist/heat/cooling-tower/cooling-tower.stories.d.ts.map +1 -0
  123. package/dist/heat/cooling-tower/index.d.ts +3 -0
  124. package/dist/heat/cooling-tower/index.d.ts.map +1 -0
  125. package/dist/heat/furnace/furnace.stories.d.ts +8 -0
  126. package/dist/heat/furnace/furnace.stories.d.ts.map +1 -0
  127. package/dist/heat/furnace/index.d.ts +3 -0
  128. package/dist/heat/furnace/index.d.ts.map +1 -0
  129. package/dist/heat/index.d.ts +9 -0
  130. package/dist/heat/index.d.ts.map +1 -0
  131. package/dist/heat/shell-tube/index.d.ts +3 -0
  132. package/dist/heat/shell-tube/index.d.ts.map +1 -0
  133. package/dist/heat/shell-tube/shell-tube.stories.d.ts +6 -0
  134. package/dist/heat/shell-tube/shell-tube.stories.d.ts.map +1 -0
  135. package/dist/heat/story-kit.d.ts +27 -0
  136. package/dist/heat/story-kit.d.ts.map +1 -0
  137. package/dist/heat.js +290 -0
  138. package/dist/index.d.ts +2 -0
  139. package/dist/index.d.ts.map +1 -0
  140. package/dist/index.js +4 -0
  141. package/dist/instruments/bargraph/bargraph.stories.d.ts +8 -0
  142. package/dist/instruments/bargraph/bargraph.stories.d.ts.map +1 -0
  143. package/dist/instruments/bargraph/index.d.ts +3 -0
  144. package/dist/instruments/bargraph/index.d.ts.map +1 -0
  145. package/dist/instruments/face.d.ts +15 -0
  146. package/dist/instruments/face.d.ts.map +1 -0
  147. package/dist/instruments/gauge-analog/gauge-analog.stories.d.ts +11 -0
  148. package/dist/instruments/gauge-analog/gauge-analog.stories.d.ts.map +1 -0
  149. package/dist/instruments/gauge-analog/index.d.ts +3 -0
  150. package/dist/instruments/gauge-analog/index.d.ts.map +1 -0
  151. package/dist/instruments/gauge-digital/gauge-digital.stories.d.ts +7 -0
  152. package/dist/instruments/gauge-digital/gauge-digital.stories.d.ts.map +1 -0
  153. package/dist/instruments/gauge-digital/index.d.ts +3 -0
  154. package/dist/instruments/gauge-digital/index.d.ts.map +1 -0
  155. package/dist/instruments/index.d.ts +10 -0
  156. package/dist/instruments/index.d.ts.map +1 -0
  157. package/dist/instruments/indicator-lamp/index.d.ts +3 -0
  158. package/dist/instruments/indicator-lamp/index.d.ts.map +1 -0
  159. package/dist/instruments/indicator-lamp/indicator-lamp.stories.d.ts +9 -0
  160. package/dist/instruments/indicator-lamp/indicator-lamp.stories.d.ts.map +1 -0
  161. package/dist/instruments/readout-panel/index.d.ts +3 -0
  162. package/dist/instruments/readout-panel/index.d.ts.map +1 -0
  163. package/dist/instruments/readout-panel/readout-panel.stories.d.ts +6 -0
  164. package/dist/instruments/readout-panel/readout-panel.stories.d.ts.map +1 -0
  165. package/dist/instruments/story-kit.d.ts +29 -0
  166. package/dist/instruments/story-kit.d.ts.map +1 -0
  167. package/dist/instruments/trend-mini/index.d.ts +3 -0
  168. package/dist/instruments/trend-mini/index.d.ts.map +1 -0
  169. package/dist/instruments/trend-mini/trend-mini.stories.d.ts +6 -0
  170. package/dist/instruments/trend-mini/trend-mini.stories.d.ts.map +1 -0
  171. package/dist/instruments.js +347 -0
  172. package/dist/motion/seamless-loop.d.ts +14 -0
  173. package/dist/motion/seamless-loop.d.ts.map +1 -0
  174. package/dist/pipe-gradient-B538FEvi.js +18 -0
  175. package/dist/readout/index.d.ts +3 -0
  176. package/dist/readout/index.d.ts.map +1 -0
  177. package/dist/readout/readout.stories.d.ts +8 -0
  178. package/dist/readout/readout.stories.d.ts.map +1 -0
  179. package/dist/readout/story-kit.d.ts +27 -0
  180. package/dist/readout/story-kit.d.ts.map +1 -0
  181. package/dist/readout.js +33 -0
  182. package/dist/recipe-BxxL1vV1.js +383 -0
  183. package/dist/rotating/compressor/compressor.stories.d.ts +28 -0
  184. package/dist/rotating/compressor/compressor.stories.d.ts.map +1 -0
  185. package/dist/rotating/compressor/index.d.ts +3 -0
  186. package/dist/rotating/compressor/index.d.ts.map +1 -0
  187. package/dist/rotating/fan-axial/fan-axial.stories.d.ts +31 -0
  188. package/dist/rotating/fan-axial/fan-axial.stories.d.ts.map +1 -0
  189. package/dist/rotating/fan-axial/index.d.ts +3 -0
  190. package/dist/rotating/fan-axial/index.d.ts.map +1 -0
  191. package/dist/rotating/fan-centrifugal/fan-centrifugal.stories.d.ts +31 -0
  192. package/dist/rotating/fan-centrifugal/fan-centrifugal.stories.d.ts.map +1 -0
  193. package/dist/rotating/fan-centrifugal/index.d.ts +3 -0
  194. package/dist/rotating/fan-centrifugal/index.d.ts.map +1 -0
  195. package/dist/rotating/index.d.ts +12 -0
  196. package/dist/rotating/index.d.ts.map +1 -0
  197. package/dist/rotating/motor/index.d.ts +3 -0
  198. package/dist/rotating/motor/index.d.ts.map +1 -0
  199. package/dist/rotating/motor/motor.stories.d.ts +28 -0
  200. package/dist/rotating/motor/motor.stories.d.ts.map +1 -0
  201. package/dist/rotating/pump-centrifugal/index.d.ts +3 -0
  202. package/dist/rotating/pump-centrifugal/index.d.ts.map +1 -0
  203. package/dist/rotating/pump-centrifugal/pump-centrifugal.stories.d.ts +29 -0
  204. package/dist/rotating/pump-centrifugal/pump-centrifugal.stories.d.ts.map +1 -0
  205. package/dist/rotating/pump-positive-displacement/index.d.ts +3 -0
  206. package/dist/rotating/pump-positive-displacement/index.d.ts.map +1 -0
  207. package/dist/rotating/pump-positive-displacement/pump-positive-displacement.stories.d.ts +28 -0
  208. package/dist/rotating/pump-positive-displacement/pump-positive-displacement.stories.d.ts.map +1 -0
  209. package/dist/rotating/story-kit.d.ts +65 -0
  210. package/dist/rotating/story-kit.d.ts.map +1 -0
  211. package/dist/rotating/turbine/index.d.ts +3 -0
  212. package/dist/rotating/turbine/index.d.ts.map +1 -0
  213. package/dist/rotating/turbine/turbine.stories.d.ts +29 -0
  214. package/dist/rotating/turbine/turbine.stories.d.ts.map +1 -0
  215. package/dist/rotating.js +513 -0
  216. package/dist/rotation-drive/base.d.ts +110 -0
  217. package/dist/rotation-drive/base.d.ts.map +1 -0
  218. package/dist/valves/ball/ball.stories.d.ts +26 -0
  219. package/dist/valves/ball/ball.stories.d.ts.map +1 -0
  220. package/dist/valves/ball/index.d.ts +3 -0
  221. package/dist/valves/ball/index.d.ts.map +1 -0
  222. package/dist/valves/base.d.ts +70 -0
  223. package/dist/valves/base.d.ts.map +1 -0
  224. package/dist/valves/butterfly/butterfly.stories.d.ts +26 -0
  225. package/dist/valves/butterfly/butterfly.stories.d.ts.map +1 -0
  226. package/dist/valves/butterfly/index.d.ts +3 -0
  227. package/dist/valves/butterfly/index.d.ts.map +1 -0
  228. package/dist/valves/check/check.stories.d.ts +25 -0
  229. package/dist/valves/check/check.stories.d.ts.map +1 -0
  230. package/dist/valves/check/index.d.ts +3 -0
  231. package/dist/valves/check/index.d.ts.map +1 -0
  232. package/dist/valves/control/control.stories.d.ts +26 -0
  233. package/dist/valves/control/control.stories.d.ts.map +1 -0
  234. package/dist/valves/control/index.d.ts +3 -0
  235. package/dist/valves/control/index.d.ts.map +1 -0
  236. package/dist/valves/gate/gate.stories.d.ts +26 -0
  237. package/dist/valves/gate/gate.stories.d.ts.map +1 -0
  238. package/dist/valves/gate/index.d.ts +3 -0
  239. package/dist/valves/gate/index.d.ts.map +1 -0
  240. package/dist/valves/index.d.ts +8 -0
  241. package/dist/valves/index.d.ts.map +1 -0
  242. package/dist/valves/relief/index.d.ts +3 -0
  243. package/dist/valves/relief/index.d.ts.map +1 -0
  244. package/dist/valves/relief/relief.stories.d.ts +26 -0
  245. package/dist/valves/relief/relief.stories.d.ts.map +1 -0
  246. package/dist/valves/story-kit.d.ts +54 -0
  247. package/dist/valves/story-kit.d.ts.map +1 -0
  248. package/dist/valves.js +424 -0
  249. package/dist/vapor/base.d.ts +42 -0
  250. package/dist/vapor/base.d.ts.map +1 -0
  251. package/dist/vapor/billow-layer.d.ts +33 -0
  252. package/dist/vapor/billow-layer.d.ts.map +1 -0
  253. package/dist/vapor/billow-path.d.ts +36 -0
  254. package/dist/vapor/billow-path.d.ts.map +1 -0
  255. package/dist/vapor/index.d.ts +8 -0
  256. package/dist/vapor/index.d.ts.map +1 -0
  257. package/dist/vapor/plume/index.d.ts +3 -0
  258. package/dist/vapor/plume/index.d.ts.map +1 -0
  259. package/dist/vapor/plume/plume.stories.d.ts +9 -0
  260. package/dist/vapor/plume/plume.stories.d.ts.map +1 -0
  261. package/dist/vapor/steam-vent/index.d.ts +3 -0
  262. package/dist/vapor/steam-vent/index.d.ts.map +1 -0
  263. package/dist/vapor/steam-vent/steam-vent.stories.d.ts +9 -0
  264. package/dist/vapor/steam-vent/steam-vent.stories.d.ts.map +1 -0
  265. package/dist/vapor/story-kit.d.ts +28 -0
  266. package/dist/vapor/story-kit.d.ts.map +1 -0
  267. package/dist/vapor.js +194 -0
  268. package/dist/vessel-body/hardware.d.ts +13 -0
  269. package/dist/vessel-body/hardware.d.ts.map +1 -0
  270. package/dist/vessel-body/liquid/dished-bottom.d.ts +33 -0
  271. package/dist/vessel-body/liquid/dished-bottom.d.ts.map +1 -0
  272. package/dist/vessel-body/liquid/index.d.ts +11 -0
  273. package/dist/vessel-body/liquid/index.d.ts.map +1 -0
  274. package/dist/vessel-body/liquid/wave-layer.d.ts +57 -0
  275. package/dist/vessel-body/liquid/wave-layer.d.ts.map +1 -0
  276. package/dist/vessel-body/liquid/wave-path.d.ts +45 -0
  277. package/dist/vessel-body/liquid/wave-path.d.ts.map +1 -0
  278. package/dist/vessel-body/recipe.d.ts +85 -0
  279. package/dist/vessel-body/recipe.d.ts.map +1 -0
  280. package/dist/vessel-body/shapes.d.ts +78 -0
  281. package/dist/vessel-body/shapes.d.ts.map +1 -0
  282. package/dist/vessels/drum/drum.stories.d.ts +33 -0
  283. package/dist/vessels/drum/drum.stories.d.ts.map +1 -0
  284. package/dist/vessels/drum/index.d.ts +3 -0
  285. package/dist/vessels/drum/index.d.ts.map +1 -0
  286. package/dist/vessels/hopper/hopper.stories.d.ts +39 -0
  287. package/dist/vessels/hopper/hopper.stories.d.ts.map +1 -0
  288. package/dist/vessels/hopper/index.d.ts +3 -0
  289. package/dist/vessels/hopper/index.d.ts.map +1 -0
  290. package/dist/vessels/index.d.ts +10 -0
  291. package/dist/vessels/index.d.ts.map +1 -0
  292. package/dist/vessels/silo/index.d.ts +3 -0
  293. package/dist/vessels/silo/index.d.ts.map +1 -0
  294. package/dist/vessels/silo/silo.stories.d.ts +33 -0
  295. package/dist/vessels/silo/silo.stories.d.ts.map +1 -0
  296. package/dist/vessels/story-kit.d.ts +83 -0
  297. package/dist/vessels/story-kit.d.ts.map +1 -0
  298. package/dist/vessels/tank-horizontal/index.d.ts +3 -0
  299. package/dist/vessels/tank-horizontal/index.d.ts.map +1 -0
  300. package/dist/vessels/tank-horizontal/tank-horizontal.stories.d.ts +33 -0
  301. package/dist/vessels/tank-horizontal/tank-horizontal.stories.d.ts.map +1 -0
  302. package/dist/vessels/tank-spherical/index.d.ts +3 -0
  303. package/dist/vessels/tank-spherical/index.d.ts.map +1 -0
  304. package/dist/vessels/tank-spherical/tank-spherical.stories.d.ts +33 -0
  305. package/dist/vessels/tank-spherical/tank-spherical.stories.d.ts.map +1 -0
  306. package/dist/vessels/tank-vertical/index.d.ts +3 -0
  307. package/dist/vessels/tank-vertical/index.d.ts.map +1 -0
  308. package/dist/vessels/tank-vertical/tank-vertical.stories.d.ts +47 -0
  309. package/dist/vessels/tank-vertical/tank-vertical.stories.d.ts.map +1 -0
  310. package/dist/vessels.js +198 -0
  311. 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,4 @@
1
+ import type { PrimitiveModule } from '@vscada/core';
2
+ declare const breakerModule: PrimitiveModule;
3
+ export { breakerModule };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,4 @@
1
+ import type { PrimitiveModule } from '@vscada/core';
2
+ declare const busbarModule: PrimitiveModule;
3
+ export { busbarModule };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,4 @@
1
+ import type { PrimitiveModule } from '@vscada/core';
2
+ declare const generatorModule: PrimitiveModule;
3
+ export { generatorModule };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,4 @@
1
+ import type { PrimitiveGroup } from '@vscada/core';
2
+ /** Story 3.10 Task 1 — the electrical group's element primitives: breaker/transformer/busbar/generator. */
3
+ export declare const electrical: PrimitiveGroup;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,4 @@
1
+ import type { PrimitiveModule } from '@vscada/core';
2
+ declare const transformerModule: PrimitiveModule;
3
+ export { transformerModule };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}