@ind-ds/core 0.1.1 → 0.2.0

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 (1402) hide show
  1. package/dist/cjs/ind-alarm-badge-group.cjs.entry.js +41 -0
  2. package/dist/cjs/ind-alarm-badge-group.cjs.entry.js.map +1 -0
  3. package/dist/cjs/ind-alarm-count.cjs.entry.js +42 -0
  4. package/dist/cjs/ind-alarm-count.cjs.entry.js.map +1 -0
  5. package/dist/cjs/ind-alarm-panel.cjs.entry.js +51 -0
  6. package/dist/cjs/ind-alarm-panel.cjs.entry.js.map +1 -0
  7. package/dist/cjs/ind-alarm-row.cjs.entry.js +41 -0
  8. package/dist/cjs/ind-alarm-row.cjs.entry.js.map +1 -0
  9. package/dist/cjs/ind-alarm-summary.cjs.entry.js +32 -0
  10. package/dist/cjs/ind-alarm-summary.cjs.entry.js.map +1 -0
  11. package/dist/cjs/ind-alarm.cjs.entry.js +1 -1
  12. package/dist/cjs/ind-app-header.cjs.entry.js +2 -2
  13. package/dist/cjs/ind-asset-overview.cjs.entry.js +33 -0
  14. package/dist/cjs/ind-asset-overview.cjs.entry.js.map +1 -0
  15. package/dist/cjs/ind-audit-row.cjs.entry.js +30 -0
  16. package/dist/cjs/ind-audit-row.cjs.entry.js.map +1 -0
  17. package/dist/cjs/ind-badge.cjs.entry.js +26 -0
  18. package/dist/cjs/ind-badge.cjs.entry.js.map +1 -0
  19. package/dist/cjs/ind-batch-control-panel.cjs.entry.js +48 -0
  20. package/dist/cjs/ind-batch-control-panel.cjs.entry.js.map +1 -0
  21. package/dist/cjs/{ind-input.cjs.entry.js → ind-batch-parameter-row_2.cjs.entry.js} +50 -4
  22. package/dist/cjs/ind-batch-parameter-row_2.cjs.entry.js.map +1 -0
  23. package/dist/cjs/ind-breadcrumb-item.cjs.entry.js +37 -0
  24. package/dist/cjs/ind-breadcrumb-item.cjs.entry.js.map +1 -0
  25. package/dist/cjs/ind-button.cjs.entry.js +2 -2
  26. package/dist/cjs/ind-canvas-layer.cjs.entry.js +38 -0
  27. package/dist/cjs/ind-canvas-layer.cjs.entry.js.map +1 -0
  28. package/dist/cjs/ind-checkbox.cjs.entry.js +2 -2
  29. package/dist/cjs/ind-command-center.cjs.entry.js +25 -0
  30. package/dist/cjs/ind-command-center.cjs.entry.js.map +1 -0
  31. package/dist/cjs/ind-command-group.cjs.entry.js +26 -0
  32. package/dist/cjs/ind-command-group.cjs.entry.js.map +1 -0
  33. package/dist/cjs/ind-compressor.cjs.entry.js +31 -0
  34. package/dist/cjs/ind-compressor.cjs.entry.js.map +1 -0
  35. package/dist/cjs/ind-connection-indicator.cjs.entry.js +33 -0
  36. package/dist/cjs/ind-connection-indicator.cjs.entry.js.map +1 -0
  37. package/dist/cjs/ind-context-toolbar.cjs.entry.js +24 -0
  38. package/dist/cjs/ind-context-toolbar.cjs.entry.js.map +1 -0
  39. package/dist/cjs/ind-conveyor.cjs.entry.js +33 -0
  40. package/dist/cjs/ind-conveyor.cjs.entry.js.map +1 -0
  41. package/dist/cjs/ind-cooler.cjs.entry.js +31 -0
  42. package/dist/cjs/ind-cooler.cjs.entry.js.map +1 -0
  43. package/dist/cjs/ind-counter.cjs.entry.js +38 -0
  44. package/dist/cjs/ind-counter.cjs.entry.js.map +1 -0
  45. package/dist/cjs/ind-datetime-picker.cjs.entry.js +48 -0
  46. package/dist/cjs/ind-datetime-picker.cjs.entry.js.map +1 -0
  47. package/dist/cjs/ind-device-connection-card.cjs.entry.js +32 -0
  48. package/dist/cjs/ind-device-connection-card.cjs.entry.js.map +1 -0
  49. package/dist/cjs/ind-device-diagnostics-panel.cjs.entry.js +34 -0
  50. package/dist/cjs/ind-device-diagnostics-panel.cjs.entry.js.map +1 -0
  51. package/dist/cjs/ind-device-info-card.cjs.entry.js +48 -0
  52. package/dist/cjs/ind-device-info-card.cjs.entry.js.map +1 -0
  53. package/dist/cjs/ind-dialog.cjs.entry.js +2 -2
  54. package/dist/cjs/ind-divider.cjs.entry.js +2 -2
  55. package/dist/cjs/ind-ds.cjs.js +2 -2
  56. package/dist/cjs/ind-energy-card.cjs.entry.js +40 -0
  57. package/dist/cjs/ind-energy-card.cjs.entry.js.map +1 -0
  58. package/dist/cjs/ind-energy-dashboard.cjs.entry.js +31 -0
  59. package/dist/cjs/ind-energy-dashboard.cjs.entry.js.map +1 -0
  60. package/dist/cjs/ind-equipment-dashboard.cjs.entry.js +25 -0
  61. package/dist/cjs/ind-equipment-dashboard.cjs.entry.js.map +1 -0
  62. package/dist/cjs/ind-equipment-status-card.cjs.entry.js +42 -0
  63. package/dist/cjs/ind-equipment-status-card.cjs.entry.js.map +1 -0
  64. package/dist/cjs/ind-estop.cjs.entry.js +47 -0
  65. package/dist/cjs/ind-estop.cjs.entry.js.map +1 -0
  66. package/dist/cjs/ind-event-journal.cjs.entry.js +31 -0
  67. package/dist/cjs/ind-event-journal.cjs.entry.js.map +1 -0
  68. package/dist/cjs/ind-event-row.cjs.entry.js +30 -0
  69. package/dist/cjs/ind-event-row.cjs.entry.js.map +1 -0
  70. package/dist/cjs/ind-fan.cjs.entry.js +31 -0
  71. package/dist/cjs/ind-fan.cjs.entry.js.map +1 -0
  72. package/dist/cjs/ind-fill-row.cjs.entry.js +2 -2
  73. package/dist/cjs/ind-firmware-update-panel.cjs.entry.js +49 -0
  74. package/dist/cjs/ind-firmware-update-panel.cjs.entry.js.map +1 -0
  75. package/dist/cjs/ind-gauge.cjs.entry.js +67 -0
  76. package/dist/cjs/ind-gauge.cjs.entry.js.map +1 -0
  77. package/dist/cjs/ind-health-card.cjs.entry.js +2 -2
  78. package/dist/cjs/ind-heartbeat.cjs.entry.js +28 -0
  79. package/dist/cjs/ind-heartbeat.cjs.entry.js.map +1 -0
  80. package/dist/cjs/ind-heater.cjs.entry.js +31 -0
  81. package/dist/cjs/ind-heater.cjs.entry.js.map +1 -0
  82. package/dist/cjs/ind-historian-viewer.cjs.entry.js +38 -0
  83. package/dist/cjs/ind-historian-viewer.cjs.entry.js.map +1 -0
  84. package/dist/cjs/ind-historical-value-row.cjs.entry.js +46 -0
  85. package/dist/cjs/ind-historical-value-row.cjs.entry.js.map +1 -0
  86. package/dist/cjs/ind-icon.cjs.entry.js +46 -0
  87. package/dist/cjs/ind-icon.cjs.entry.js.map +1 -0
  88. package/dist/cjs/ind-knob_3.cjs.entry.js +198 -0
  89. package/dist/cjs/ind-knob_3.cjs.entry.js.map +1 -0
  90. package/dist/cjs/ind-kpi-card.cjs.entry.js +46 -0
  91. package/dist/cjs/ind-kpi-card.cjs.entry.js.map +1 -0
  92. package/dist/cjs/ind-label.cjs.entry.js +31 -0
  93. package/dist/cjs/ind-label.cjs.entry.js.map +1 -0
  94. package/dist/cjs/ind-led_4.cjs.entry.js +150 -0
  95. package/dist/cjs/ind-led_4.cjs.entry.js.map +1 -0
  96. package/dist/cjs/ind-linear-gauge_2.cjs.entry.js +100 -0
  97. package/dist/cjs/ind-linear-gauge_2.cjs.entry.js.map +1 -0
  98. package/dist/cjs/ind-machine-overview.cjs.entry.js +39 -0
  99. package/dist/cjs/ind-machine-overview.cjs.entry.js.map +1 -0
  100. package/dist/cjs/ind-maintenance-dashboard.cjs.entry.js +33 -0
  101. package/dist/cjs/ind-maintenance-dashboard.cjs.entry.js.map +1 -0
  102. package/dist/cjs/ind-motor-card.cjs.entry.js +37 -0
  103. package/dist/cjs/ind-motor-card.cjs.entry.js.map +1 -0
  104. package/dist/cjs/ind-motor-control-panel.cjs.entry.js +57 -0
  105. package/dist/cjs/ind-motor-control-panel.cjs.entry.js.map +1 -0
  106. package/dist/cjs/ind-motor.cjs.entry.js +31 -0
  107. package/dist/cjs/ind-motor.cjs.entry.js.map +1 -0
  108. package/dist/cjs/ind-mqtt-monitor.cjs.entry.js +2 -2
  109. package/dist/cjs/ind-mqtt-tag-binding.cjs.entry.js +39 -0
  110. package/dist/cjs/ind-mqtt-tag-binding.cjs.entry.js.map +1 -0
  111. package/dist/cjs/ind-nav-item.cjs.entry.js +4 -4
  112. package/dist/cjs/ind-network-status-card.cjs.entry.js +39 -0
  113. package/dist/cjs/ind-network-status-card.cjs.entry.js.map +1 -0
  114. package/dist/cjs/ind-oee-dashboard.cjs.entry.js +44 -0
  115. package/dist/cjs/ind-oee-dashboard.cjs.entry.js.map +1 -0
  116. package/dist/cjs/ind-opcua-tag-binding.cjs.entry.js +42 -0
  117. package/dist/cjs/ind-opcua-tag-binding.cjs.entry.js.map +1 -0
  118. package/dist/cjs/ind-pipe.cjs.entry.js +37 -0
  119. package/dist/cjs/ind-pipe.cjs.entry.js.map +1 -0
  120. package/dist/cjs/ind-process-control-panel.cjs.entry.js +57 -0
  121. package/dist/cjs/ind-process-control-panel.cjs.entry.js.map +1 -0
  122. package/dist/cjs/ind-process-symbol.cjs.entry.js +44 -0
  123. package/dist/cjs/ind-process-symbol.cjs.entry.js.map +1 -0
  124. package/dist/cjs/ind-production-cell.cjs.entry.js +30 -0
  125. package/dist/cjs/ind-production-cell.cjs.entry.js.map +1 -0
  126. package/dist/cjs/ind-production-dashboard.cjs.entry.js +27 -0
  127. package/dist/cjs/ind-production-dashboard.cjs.entry.js.map +1 -0
  128. package/dist/cjs/ind-production-line-overview.cjs.entry.js +27 -0
  129. package/dist/cjs/ind-production-line-overview.cjs.entry.js.map +1 -0
  130. package/dist/cjs/ind-progress-ring.cjs.entry.js +47 -0
  131. package/dist/cjs/ind-progress-ring.cjs.entry.js.map +1 -0
  132. package/dist/cjs/ind-progress.cjs.entry.js +2 -2
  133. package/dist/cjs/ind-pump-card.cjs.entry.js +39 -0
  134. package/dist/cjs/ind-pump-card.cjs.entry.js.map +1 -0
  135. package/dist/cjs/ind-pump-control-panel.cjs.entry.js +47 -0
  136. package/dist/cjs/ind-pump-control-panel.cjs.entry.js.map +1 -0
  137. package/dist/cjs/ind-pump.cjs.entry.js +31 -0
  138. package/dist/cjs/ind-pump.cjs.entry.js.map +1 -0
  139. package/dist/cjs/ind-recipe-management-panel.cjs.entry.js +48 -0
  140. package/dist/cjs/ind-recipe-management-panel.cjs.entry.js.map +1 -0
  141. package/dist/cjs/ind-recipe-selector.cjs.entry.js +46 -0
  142. package/dist/cjs/ind-recipe-selector.cjs.entry.js.map +1 -0
  143. package/dist/cjs/ind-scara-canvas.cjs.entry.js +2 -2
  144. package/dist/cjs/ind-select.cjs.entry.js +2 -2
  145. package/dist/cjs/ind-setpoint-control.cjs.entry.js +45 -0
  146. package/dist/cjs/ind-setpoint-control.cjs.entry.js.map +1 -0
  147. package/dist/cjs/ind-setpoint.cjs.entry.js +67 -0
  148. package/dist/cjs/ind-setpoint.cjs.entry.js.map +1 -0
  149. package/dist/cjs/ind-shelf-canvas.cjs.entry.js +2 -2
  150. package/dist/cjs/ind-sidebar-group.cjs.entry.js +34 -0
  151. package/dist/cjs/ind-sidebar-group.cjs.entry.js.map +1 -0
  152. package/dist/cjs/ind-sidebar-nav.cjs.entry.js +2 -2
  153. package/dist/cjs/ind-signal-quality.cjs.entry.js +41 -0
  154. package/dist/cjs/ind-signal-quality.cjs.entry.js.map +1 -0
  155. package/dist/cjs/ind-silo.cjs.entry.js +42 -0
  156. package/dist/cjs/ind-silo.cjs.entry.js.map +1 -0
  157. package/dist/cjs/ind-sparkline.cjs.entry.js +58 -0
  158. package/dist/cjs/ind-sparkline.cjs.entry.js.map +1 -0
  159. package/dist/cjs/ind-status-bar.cjs.entry.js +2 -2
  160. package/dist/cjs/ind-status-dot.cjs.entry.js +1 -1
  161. package/dist/cjs/ind-tab.cjs.entry.js +40 -0
  162. package/dist/cjs/ind-tab.cjs.entry.js.map +1 -0
  163. package/dist/cjs/ind-tag-card.cjs.entry.js +38 -0
  164. package/dist/cjs/ind-tag-card.cjs.entry.js.map +1 -0
  165. package/dist/cjs/ind-tag-name.cjs.entry.js +26 -0
  166. package/dist/cjs/ind-tag-name.cjs.entry.js.map +1 -0
  167. package/dist/cjs/ind-tank-level-card.cjs.entry.js +41 -0
  168. package/dist/cjs/ind-tank-level-card.cjs.entry.js.map +1 -0
  169. package/dist/cjs/ind-temperature-control.cjs.entry.js +49 -0
  170. package/dist/cjs/ind-temperature-control.cjs.entry.js.map +1 -0
  171. package/dist/cjs/ind-textarea.cjs.entry.js +2 -2
  172. package/dist/cjs/ind-timestamp.cjs.entry.js +74 -0
  173. package/dist/cjs/ind-timestamp.cjs.entry.js.map +1 -0
  174. package/dist/cjs/ind-toggle.cjs.entry.js +47 -0
  175. package/dist/cjs/ind-toggle.cjs.entry.js.map +1 -0
  176. package/dist/cjs/ind-toolbar-action.cjs.entry.js +2 -2
  177. package/dist/cjs/ind-tree-node.cjs.entry.js +60 -0
  178. package/dist/cjs/ind-tree-node.cjs.entry.js.map +1 -0
  179. package/dist/cjs/ind-trend-viewer.cjs.entry.js +31 -0
  180. package/dist/cjs/ind-trend-viewer.cjs.entry.js.map +1 -0
  181. package/dist/cjs/ind-trend-widget.cjs.entry.js +48 -0
  182. package/dist/cjs/ind-trend-widget.cjs.entry.js.map +1 -0
  183. package/dist/cjs/ind-unit-label.cjs.entry.js +24 -0
  184. package/dist/cjs/ind-unit-label.cjs.entry.js.map +1 -0
  185. package/dist/cjs/ind-value.cjs.entry.js +2 -2
  186. package/dist/cjs/ind-valve-card.cjs.entry.js +40 -0
  187. package/dist/cjs/ind-valve-card.cjs.entry.js.map +1 -0
  188. package/dist/cjs/ind-valve-control-panel.cjs.entry.js +46 -0
  189. package/dist/cjs/ind-valve-control-panel.cjs.entry.js.map +1 -0
  190. package/dist/cjs/ind-valve.cjs.entry.js +2 -2
  191. package/dist/cjs/ind-workstation-monitor.cjs.entry.js +38 -0
  192. package/dist/cjs/ind-workstation-monitor.cjs.entry.js.map +1 -0
  193. package/dist/cjs/ind-xy-point.cjs.entry.js +51 -0
  194. package/dist/cjs/ind-xy-point.cjs.entry.js.map +1 -0
  195. package/dist/cjs/{index-ph7ZTjuY.js → index-BLwLw5-d.js} +39 -2
  196. package/dist/cjs/index-BLwLw5-d.js.map +1 -0
  197. package/dist/cjs/loader.cjs.js +2 -2
  198. package/dist/collection/collection-manifest.json +93 -2
  199. package/dist/collection/components/atoms/_equipment/equipment.css +74 -0
  200. package/dist/collection/components/atoms/_equipment/types.js +2 -0
  201. package/dist/collection/components/atoms/_equipment/types.js.map +1 -0
  202. package/dist/collection/components/atoms/alarm-count/alarm-count.css +44 -0
  203. package/dist/collection/components/atoms/alarm-count/alarm-count.js +171 -0
  204. package/dist/collection/components/atoms/alarm-count/alarm-count.js.map +1 -0
  205. package/dist/collection/components/atoms/badge/badge.css +42 -0
  206. package/dist/collection/components/atoms/badge/badge.js +101 -0
  207. package/dist/collection/components/atoms/badge/badge.js.map +1 -0
  208. package/dist/collection/components/atoms/breadcrumb-item/breadcrumb-item.css +42 -0
  209. package/dist/collection/components/atoms/breadcrumb-item/breadcrumb-item.js +116 -0
  210. package/dist/collection/components/atoms/breadcrumb-item/breadcrumb-item.js.map +1 -0
  211. package/dist/collection/components/atoms/button/button.js +1 -1
  212. package/dist/collection/components/atoms/canvas-layer/canvas-layer.css +8 -0
  213. package/dist/collection/components/atoms/canvas-layer/canvas-layer.js +161 -0
  214. package/dist/collection/components/atoms/canvas-layer/canvas-layer.js.map +1 -0
  215. package/dist/collection/components/atoms/checkbox/checkbox.js +1 -1
  216. package/dist/collection/components/atoms/compressor/compressor.css +7 -0
  217. package/dist/collection/components/atoms/compressor/compressor.js +124 -0
  218. package/dist/collection/components/atoms/compressor/compressor.js.map +1 -0
  219. package/dist/collection/components/atoms/connection-indicator/connection-indicator.css +42 -0
  220. package/dist/collection/components/atoms/connection-indicator/connection-indicator.js +107 -0
  221. package/dist/collection/components/atoms/connection-indicator/connection-indicator.js.map +1 -0
  222. package/dist/collection/components/atoms/conveyor/conveyor.css +18 -0
  223. package/dist/collection/components/atoms/conveyor/conveyor.js +152 -0
  224. package/dist/collection/components/atoms/conveyor/conveyor.js.map +1 -0
  225. package/dist/collection/components/atoms/cooler/cooler.css +15 -0
  226. package/dist/collection/components/atoms/cooler/cooler.js +124 -0
  227. package/dist/collection/components/atoms/cooler/cooler.js.map +1 -0
  228. package/dist/collection/components/atoms/counter/counter.css +45 -0
  229. package/dist/collection/components/atoms/counter/counter.js +171 -0
  230. package/dist/collection/components/atoms/counter/counter.js.map +1 -0
  231. package/dist/collection/components/atoms/datetime-picker/datetime-picker.css +46 -0
  232. package/dist/collection/components/atoms/datetime-picker/datetime-picker.js +275 -0
  233. package/dist/collection/components/atoms/datetime-picker/datetime-picker.js.map +1 -0
  234. package/dist/collection/components/atoms/dialog/dialog.js +1 -1
  235. package/dist/collection/components/atoms/divider/divider.js +1 -1
  236. package/dist/collection/components/atoms/estop/estop.css +69 -0
  237. package/dist/collection/components/atoms/estop/estop.js +166 -0
  238. package/dist/collection/components/atoms/estop/estop.js.map +1 -0
  239. package/dist/collection/components/atoms/fan/fan.css +11 -0
  240. package/dist/collection/components/atoms/fan/fan.js +124 -0
  241. package/dist/collection/components/atoms/fan/fan.js.map +1 -0
  242. package/dist/collection/components/atoms/gauge/gauge.css +70 -0
  243. package/dist/collection/components/atoms/gauge/gauge.js +237 -0
  244. package/dist/collection/components/atoms/gauge/gauge.js.map +1 -0
  245. package/dist/collection/components/atoms/heartbeat/heartbeat.css +58 -0
  246. package/dist/collection/components/atoms/heartbeat/heartbeat.js +116 -0
  247. package/dist/collection/components/atoms/heartbeat/heartbeat.js.map +1 -0
  248. package/dist/collection/components/atoms/heater/heater.css +20 -0
  249. package/dist/collection/components/atoms/heater/heater.js +124 -0
  250. package/dist/collection/components/atoms/heater/heater.js.map +1 -0
  251. package/dist/collection/components/atoms/icon/icon.css +30 -0
  252. package/dist/collection/components/atoms/icon/icon.js +119 -0
  253. package/dist/collection/components/atoms/icon/icon.js.map +1 -0
  254. package/dist/collection/components/atoms/input/input.js +1 -1
  255. package/dist/collection/components/atoms/knob/knob.css +71 -0
  256. package/dist/collection/components/atoms/knob/knob.js +330 -0
  257. package/dist/collection/components/atoms/knob/knob.js.map +1 -0
  258. package/dist/collection/components/atoms/label/label.css +29 -0
  259. package/dist/collection/components/atoms/label/label.js +145 -0
  260. package/dist/collection/components/atoms/label/label.js.map +1 -0
  261. package/dist/collection/components/atoms/led/led.js +1 -1
  262. package/dist/collection/components/atoms/linear-gauge/linear-gauge.css +65 -0
  263. package/dist/collection/components/atoms/linear-gauge/linear-gauge.js +299 -0
  264. package/dist/collection/components/atoms/linear-gauge/linear-gauge.js.map +1 -0
  265. package/dist/collection/components/atoms/motor/motor.css +24 -0
  266. package/dist/collection/components/atoms/motor/motor.js +124 -0
  267. package/dist/collection/components/atoms/motor/motor.js.map +1 -0
  268. package/dist/collection/components/atoms/pipe/pipe.css +57 -0
  269. package/dist/collection/components/atoms/pipe/pipe.js +176 -0
  270. package/dist/collection/components/atoms/pipe/pipe.js.map +1 -0
  271. package/dist/collection/components/atoms/process-symbol/process-symbol.css +44 -0
  272. package/dist/collection/components/atoms/process-symbol/process-symbol.js +163 -0
  273. package/dist/collection/components/atoms/process-symbol/process-symbol.js.map +1 -0
  274. package/dist/collection/components/atoms/progress/progress.js +1 -1
  275. package/dist/collection/components/atoms/progress-ring/progress-ring.css +59 -0
  276. package/dist/collection/components/atoms/progress-ring/progress-ring.js +220 -0
  277. package/dist/collection/components/atoms/progress-ring/progress-ring.js.map +1 -0
  278. package/dist/collection/components/atoms/pump/pump.css +7 -0
  279. package/dist/collection/components/atoms/pump/pump.js +124 -0
  280. package/dist/collection/components/atoms/pump/pump.js.map +1 -0
  281. package/dist/collection/components/atoms/scara-canvas/scara-canvas.js +1 -1
  282. package/dist/collection/components/atoms/select/select.js +1 -1
  283. package/dist/collection/components/atoms/selector-switch/selector-switch.css +53 -0
  284. package/dist/collection/components/atoms/selector-switch/selector-switch.js +154 -0
  285. package/dist/collection/components/atoms/selector-switch/selector-switch.js.map +1 -0
  286. package/dist/collection/components/atoms/setpoint/setpoint.css +79 -0
  287. package/dist/collection/components/atoms/setpoint/setpoint.js +287 -0
  288. package/dist/collection/components/atoms/setpoint/setpoint.js.map +1 -0
  289. package/dist/collection/components/atoms/shelf-canvas/shelf-canvas.js +1 -1
  290. package/dist/collection/components/atoms/signal-quality/signal-quality.css +41 -0
  291. package/dist/collection/components/atoms/signal-quality/signal-quality.js +129 -0
  292. package/dist/collection/components/atoms/signal-quality/signal-quality.js.map +1 -0
  293. package/dist/collection/components/atoms/silo/silo.css +12 -0
  294. package/dist/collection/components/atoms/silo/silo.js +195 -0
  295. package/dist/collection/components/atoms/silo/silo.js.map +1 -0
  296. package/dist/collection/components/atoms/slider/slider.css +87 -0
  297. package/dist/collection/components/atoms/slider/slider.js +274 -0
  298. package/dist/collection/components/atoms/slider/slider.js.map +1 -0
  299. package/dist/collection/components/atoms/sparkline/sparkline.css +37 -0
  300. package/dist/collection/components/atoms/sparkline/sparkline.js +202 -0
  301. package/dist/collection/components/atoms/sparkline/sparkline.js.map +1 -0
  302. package/dist/collection/components/atoms/tab/tab.css +39 -0
  303. package/dist/collection/components/atoms/tab/tab.js +119 -0
  304. package/dist/collection/components/atoms/tab/tab.js.map +1 -0
  305. package/dist/collection/components/atoms/tag-name/tag-name.css +25 -0
  306. package/dist/collection/components/atoms/tag-name/tag-name.js +94 -0
  307. package/dist/collection/components/atoms/tag-name/tag-name.js.map +1 -0
  308. package/dist/collection/components/atoms/tank/tank.css +12 -0
  309. package/dist/collection/components/atoms/tank/tank.js +196 -0
  310. package/dist/collection/components/atoms/tank/tank.js.map +1 -0
  311. package/dist/collection/components/atoms/textarea/textarea.js +1 -1
  312. package/dist/collection/components/atoms/timestamp/timestamp.css +15 -0
  313. package/dist/collection/components/atoms/timestamp/timestamp.js +161 -0
  314. package/dist/collection/components/atoms/timestamp/timestamp.js.map +1 -0
  315. package/dist/collection/components/atoms/toggle/toggle.css +78 -0
  316. package/dist/collection/components/atoms/toggle/toggle.js +190 -0
  317. package/dist/collection/components/atoms/toggle/toggle.js.map +1 -0
  318. package/dist/collection/components/atoms/tree-node/tree-node.css +65 -0
  319. package/dist/collection/components/atoms/tree-node/tree-node.js +193 -0
  320. package/dist/collection/components/atoms/tree-node/tree-node.js.map +1 -0
  321. package/dist/collection/components/atoms/unit-label/unit-label.css +16 -0
  322. package/dist/collection/components/atoms/unit-label/unit-label.js +72 -0
  323. package/dist/collection/components/atoms/unit-label/unit-label.js.map +1 -0
  324. package/dist/collection/components/atoms/value/value.js +1 -1
  325. package/dist/collection/components/atoms/valve/valve.js +1 -1
  326. package/dist/collection/components/atoms/xy-point/xy-point.css +49 -0
  327. package/dist/collection/components/atoms/xy-point/xy-point.js +237 -0
  328. package/dist/collection/components/atoms/xy-point/xy-point.js.map +1 -0
  329. package/dist/collection/components/molecules/_shared/binding.css +41 -0
  330. package/dist/collection/components/molecules/_shared/card.css +51 -0
  331. package/dist/collection/components/molecules/_shared/equipment-card.css +20 -0
  332. package/dist/collection/components/molecules/_shared/row.css +34 -0
  333. package/dist/collection/components/molecules/alarm-badge-group/alarm-badge-group.css +43 -0
  334. package/dist/collection/components/molecules/alarm-badge-group/alarm-badge-group.js +168 -0
  335. package/dist/collection/components/molecules/alarm-badge-group/alarm-badge-group.js.map +1 -0
  336. package/dist/collection/components/molecules/alarm-row/alarm-row.css +42 -0
  337. package/dist/collection/components/molecules/alarm-row/alarm-row.js +166 -0
  338. package/dist/collection/components/molecules/alarm-row/alarm-row.js.map +1 -0
  339. package/dist/collection/components/molecules/audit-row/audit-row.css +19 -0
  340. package/dist/collection/components/molecules/audit-row/audit-row.js +111 -0
  341. package/dist/collection/components/molecules/audit-row/audit-row.js.map +1 -0
  342. package/dist/collection/components/molecules/batch-parameter-row/batch-parameter-row.css +35 -0
  343. package/dist/collection/components/molecules/batch-parameter-row/batch-parameter-row.js +304 -0
  344. package/dist/collection/components/molecules/batch-parameter-row/batch-parameter-row.js.map +1 -0
  345. package/dist/collection/components/molecules/command-group/command-group.css +26 -0
  346. package/dist/collection/components/molecules/command-group/command-group.js +99 -0
  347. package/dist/collection/components/molecules/command-group/command-group.js.map +1 -0
  348. package/dist/collection/components/molecules/device-connection-card/device-connection-card.css +19 -0
  349. package/dist/collection/components/molecules/device-connection-card/device-connection-card.js +140 -0
  350. package/dist/collection/components/molecules/device-connection-card/device-connection-card.js.map +1 -0
  351. package/dist/collection/components/molecules/device-info-card/device-info-card.css +27 -0
  352. package/dist/collection/components/molecules/device-info-card/device-info-card.js +194 -0
  353. package/dist/collection/components/molecules/device-info-card/device-info-card.js.map +1 -0
  354. package/dist/collection/components/molecules/energy-card/energy-card.css +12 -0
  355. package/dist/collection/components/molecules/energy-card/energy-card.js +206 -0
  356. package/dist/collection/components/molecules/energy-card/energy-card.js.map +1 -0
  357. package/dist/collection/components/molecules/equipment-status-card/equipment-status-card.css +29 -0
  358. package/dist/collection/components/molecules/equipment-status-card/equipment-status-card.js +150 -0
  359. package/dist/collection/components/molecules/equipment-status-card/equipment-status-card.js.map +1 -0
  360. package/dist/collection/components/molecules/event-row/event-row.css +3 -0
  361. package/dist/collection/components/molecules/event-row/event-row.js +118 -0
  362. package/dist/collection/components/molecules/event-row/event-row.js.map +1 -0
  363. package/dist/collection/components/molecules/fill-row/fill-row.js +1 -1
  364. package/dist/collection/components/molecules/health-card/health-card.js +1 -1
  365. package/dist/collection/components/molecules/historical-value-row/historical-value-row.css +28 -0
  366. package/dist/collection/components/molecules/historical-value-row/historical-value-row.js +153 -0
  367. package/dist/collection/components/molecules/historical-value-row/historical-value-row.js.map +1 -0
  368. package/dist/collection/components/molecules/kpi-card/kpi-card.css +31 -0
  369. package/dist/collection/components/molecules/kpi-card/kpi-card.js +199 -0
  370. package/dist/collection/components/molecules/kpi-card/kpi-card.js.map +1 -0
  371. package/dist/collection/components/molecules/mode-selector/mode-selector.css +4 -0
  372. package/dist/collection/components/molecules/mode-selector/mode-selector.js +148 -0
  373. package/dist/collection/components/molecules/mode-selector/mode-selector.js.map +1 -0
  374. package/dist/collection/components/molecules/motor-card/motor-card.css +3 -0
  375. package/dist/collection/components/molecules/motor-card/motor-card.js +162 -0
  376. package/dist/collection/components/molecules/motor-card/motor-card.js.map +1 -0
  377. package/dist/collection/components/molecules/mqtt-tag-binding/mqtt-tag-binding.css +3 -0
  378. package/dist/collection/components/molecules/mqtt-tag-binding/mqtt-tag-binding.js +185 -0
  379. package/dist/collection/components/molecules/mqtt-tag-binding/mqtt-tag-binding.js.map +1 -0
  380. package/dist/collection/components/molecules/nav-item/nav-item.js +3 -3
  381. package/dist/collection/components/molecules/network-status-card/network-status-card.css +31 -0
  382. package/dist/collection/components/molecules/network-status-card/network-status-card.js +168 -0
  383. package/dist/collection/components/molecules/network-status-card/network-status-card.js.map +1 -0
  384. package/dist/collection/components/molecules/opcua-tag-binding/opcua-tag-binding.css +7 -0
  385. package/dist/collection/components/molecules/opcua-tag-binding/opcua-tag-binding.js +175 -0
  386. package/dist/collection/components/molecules/opcua-tag-binding/opcua-tag-binding.js.map +1 -0
  387. package/dist/collection/components/molecules/pump-card/pump-card.css +3 -0
  388. package/dist/collection/components/molecules/pump-card/pump-card.js +184 -0
  389. package/dist/collection/components/molecules/pump-card/pump-card.js.map +1 -0
  390. package/dist/collection/components/molecules/recipe-selector/recipe-selector.css +13 -0
  391. package/dist/collection/components/molecules/recipe-selector/recipe-selector.js +207 -0
  392. package/dist/collection/components/molecules/recipe-selector/recipe-selector.js.map +1 -0
  393. package/dist/collection/components/molecules/setpoint-control/setpoint-control.css +3 -0
  394. package/dist/collection/components/molecules/setpoint-control/setpoint-control.js +263 -0
  395. package/dist/collection/components/molecules/setpoint-control/setpoint-control.js.map +1 -0
  396. package/dist/collection/components/molecules/sidebar-group/sidebar-group.css +61 -0
  397. package/dist/collection/components/molecules/sidebar-group/sidebar-group.js +117 -0
  398. package/dist/collection/components/molecules/sidebar-group/sidebar-group.js.map +1 -0
  399. package/dist/collection/components/molecules/speed-control/speed-control.css +7 -0
  400. package/dist/collection/components/molecules/speed-control/speed-control.js +251 -0
  401. package/dist/collection/components/molecules/speed-control/speed-control.js.map +1 -0
  402. package/dist/collection/components/molecules/start-stop-control/start-stop-control.css +24 -0
  403. package/dist/collection/components/molecules/start-stop-control/start-stop-control.js +208 -0
  404. package/dist/collection/components/molecules/start-stop-control/start-stop-control.js.map +1 -0
  405. package/dist/collection/components/molecules/tag-card/tag-card.css +7 -0
  406. package/dist/collection/components/molecules/tag-card/tag-card.js +216 -0
  407. package/dist/collection/components/molecules/tag-card/tag-card.js.map +1 -0
  408. package/dist/collection/components/molecules/tank-level-card/tank-level-card.css +7 -0
  409. package/dist/collection/components/molecules/tank-level-card/tank-level-card.js +194 -0
  410. package/dist/collection/components/molecules/tank-level-card/tank-level-card.js.map +1 -0
  411. package/dist/collection/components/molecules/temperature-control/temperature-control.css +15 -0
  412. package/dist/collection/components/molecules/temperature-control/temperature-control.js +294 -0
  413. package/dist/collection/components/molecules/temperature-control/temperature-control.js.map +1 -0
  414. package/dist/collection/components/molecules/toolbar-action/toolbar-action.js +1 -1
  415. package/dist/collection/components/molecules/trend-widget/trend-widget.css +15 -0
  416. package/dist/collection/components/molecules/trend-widget/trend-widget.js +232 -0
  417. package/dist/collection/components/molecules/trend-widget/trend-widget.js.map +1 -0
  418. package/dist/collection/components/molecules/valve-card/valve-card.css +13 -0
  419. package/dist/collection/components/molecules/valve-card/valve-card.js +127 -0
  420. package/dist/collection/components/molecules/valve-card/valve-card.js.map +1 -0
  421. package/dist/collection/components/organisms/_shared/control-panel.css +15 -0
  422. package/dist/collection/components/organisms/_shared/panel.css +96 -0
  423. package/dist/collection/components/organisms/alarm-panel/alarm-panel.css +7 -0
  424. package/dist/collection/components/organisms/alarm-panel/alarm-panel.js +152 -0
  425. package/dist/collection/components/organisms/alarm-panel/alarm-panel.js.map +1 -0
  426. package/dist/collection/components/organisms/alarm-summary/alarm-summary.css +30 -0
  427. package/dist/collection/components/organisms/alarm-summary/alarm-summary.js +158 -0
  428. package/dist/collection/components/organisms/alarm-summary/alarm-summary.js.map +1 -0
  429. package/dist/collection/components/organisms/app-header/app-header.js +1 -1
  430. package/dist/collection/components/organisms/asset-overview/asset-overview.css +34 -0
  431. package/dist/collection/components/organisms/asset-overview/asset-overview.js +82 -0
  432. package/dist/collection/components/organisms/asset-overview/asset-overview.js.map +1 -0
  433. package/dist/collection/components/organisms/batch-control-panel/batch-control-panel.css +45 -0
  434. package/dist/collection/components/organisms/batch-control-panel/batch-control-panel.js +226 -0
  435. package/dist/collection/components/organisms/batch-control-panel/batch-control-panel.js.map +1 -0
  436. package/dist/collection/components/organisms/command-center/command-center.css +7 -0
  437. package/dist/collection/components/organisms/command-center/command-center.js +70 -0
  438. package/dist/collection/components/organisms/command-center/command-center.js.map +1 -0
  439. package/dist/collection/components/organisms/context-toolbar/context-toolbar.css +48 -0
  440. package/dist/collection/components/organisms/context-toolbar/context-toolbar.js +70 -0
  441. package/dist/collection/components/organisms/context-toolbar/context-toolbar.js.map +1 -0
  442. package/dist/collection/components/organisms/device-diagnostics-panel/device-diagnostics-panel.css +43 -0
  443. package/dist/collection/components/organisms/device-diagnostics-panel/device-diagnostics-panel.js +222 -0
  444. package/dist/collection/components/organisms/device-diagnostics-panel/device-diagnostics-panel.js.map +1 -0
  445. package/dist/collection/components/organisms/energy-dashboard/energy-dashboard.css +29 -0
  446. package/dist/collection/components/organisms/energy-dashboard/energy-dashboard.js +134 -0
  447. package/dist/collection/components/organisms/energy-dashboard/energy-dashboard.js.map +1 -0
  448. package/dist/collection/components/organisms/equipment-dashboard/equipment-dashboard.css +3 -0
  449. package/dist/collection/components/organisms/equipment-dashboard/equipment-dashboard.js +71 -0
  450. package/dist/collection/components/organisms/equipment-dashboard/equipment-dashboard.js.map +1 -0
  451. package/dist/collection/components/organisms/event-journal/event-journal.css +17 -0
  452. package/dist/collection/components/organisms/event-journal/event-journal.js +107 -0
  453. package/dist/collection/components/organisms/event-journal/event-journal.js.map +1 -0
  454. package/dist/collection/components/organisms/firmware-update-panel/firmware-update-panel.css +47 -0
  455. package/dist/collection/components/organisms/firmware-update-panel/firmware-update-panel.js +208 -0
  456. package/dist/collection/components/organisms/firmware-update-panel/firmware-update-panel.js.map +1 -0
  457. package/dist/collection/components/organisms/historian-viewer/historian-viewer.css +17 -0
  458. package/dist/collection/components/organisms/historian-viewer/historian-viewer.js +144 -0
  459. package/dist/collection/components/organisms/historian-viewer/historian-viewer.js.map +1 -0
  460. package/dist/collection/components/organisms/machine-overview/machine-overview.css +22 -0
  461. package/dist/collection/components/organisms/machine-overview/machine-overview.js +148 -0
  462. package/dist/collection/components/organisms/machine-overview/machine-overview.js.map +1 -0
  463. package/dist/collection/components/organisms/maintenance-dashboard/maintenance-dashboard.css +48 -0
  464. package/dist/collection/components/organisms/maintenance-dashboard/maintenance-dashboard.js +160 -0
  465. package/dist/collection/components/organisms/maintenance-dashboard/maintenance-dashboard.js.map +1 -0
  466. package/dist/collection/components/organisms/motor-control-panel/motor-control-panel.css +3 -0
  467. package/dist/collection/components/organisms/motor-control-panel/motor-control-panel.js +281 -0
  468. package/dist/collection/components/organisms/motor-control-panel/motor-control-panel.js.map +1 -0
  469. package/dist/collection/components/organisms/mqtt-monitor/mqtt-monitor.js +1 -1
  470. package/dist/collection/components/organisms/oee-dashboard/oee-dashboard.css +30 -0
  471. package/dist/collection/components/organisms/oee-dashboard/oee-dashboard.js +167 -0
  472. package/dist/collection/components/organisms/oee-dashboard/oee-dashboard.js.map +1 -0
  473. package/dist/collection/components/organisms/process-control-panel/process-control-panel.css +13 -0
  474. package/dist/collection/components/organisms/process-control-panel/process-control-panel.js +344 -0
  475. package/dist/collection/components/organisms/process-control-panel/process-control-panel.js.map +1 -0
  476. package/dist/collection/components/organisms/production-cell/production-cell.css +7 -0
  477. package/dist/collection/components/organisms/production-cell/production-cell.js +121 -0
  478. package/dist/collection/components/organisms/production-cell/production-cell.js.map +1 -0
  479. package/dist/collection/components/organisms/production-dashboard/production-dashboard.css +3 -0
  480. package/dist/collection/components/organisms/production-dashboard/production-dashboard.js +91 -0
  481. package/dist/collection/components/organisms/production-dashboard/production-dashboard.js.map +1 -0
  482. package/dist/collection/components/organisms/production-line-overview/production-line-overview.css +57 -0
  483. package/dist/collection/components/organisms/production-line-overview/production-line-overview.js +76 -0
  484. package/dist/collection/components/organisms/production-line-overview/production-line-overview.js.map +1 -0
  485. package/dist/collection/components/organisms/pump-control-panel/pump-control-panel.css +3 -0
  486. package/dist/collection/components/organisms/pump-control-panel/pump-control-panel.js +217 -0
  487. package/dist/collection/components/organisms/pump-control-panel/pump-control-panel.js.map +1 -0
  488. package/dist/collection/components/organisms/recipe-management-panel/recipe-management-panel.css +10 -0
  489. package/dist/collection/components/organisms/recipe-management-panel/recipe-management-panel.js +205 -0
  490. package/dist/collection/components/organisms/recipe-management-panel/recipe-management-panel.js.map +1 -0
  491. package/dist/collection/components/organisms/sidebar-nav/sidebar-nav.js +1 -1
  492. package/dist/collection/components/organisms/status-bar/status-bar.js +1 -1
  493. package/dist/collection/components/organisms/trend-viewer/trend-viewer.css +45 -0
  494. package/dist/collection/components/organisms/trend-viewer/trend-viewer.js +81 -0
  495. package/dist/collection/components/organisms/trend-viewer/trend-viewer.js.map +1 -0
  496. package/dist/collection/components/organisms/valve-control-panel/valve-control-panel.css +10 -0
  497. package/dist/collection/components/organisms/valve-control-panel/valve-control-panel.js +233 -0
  498. package/dist/collection/components/organisms/valve-control-panel/valve-control-panel.js.map +1 -0
  499. package/dist/collection/components/organisms/workstation-monitor/workstation-monitor.css +30 -0
  500. package/dist/collection/components/organisms/workstation-monitor/workstation-monitor.js +206 -0
  501. package/dist/collection/components/organisms/workstation-monitor/workstation-monitor.js.map +1 -0
  502. package/dist/collection/index.js.map +1 -1
  503. package/dist/components/ind-alarm-badge-group.d.ts +11 -0
  504. package/dist/components/ind-alarm-badge-group.js +2 -0
  505. package/dist/components/ind-alarm-badge-group.js.map +1 -0
  506. package/dist/components/ind-alarm-count.d.ts +11 -0
  507. package/dist/components/ind-alarm-count.js +2 -0
  508. package/dist/components/ind-alarm-count.js.map +1 -0
  509. package/dist/components/ind-alarm-panel.d.ts +11 -0
  510. package/dist/components/ind-alarm-panel.js +2 -0
  511. package/dist/components/ind-alarm-panel.js.map +1 -0
  512. package/dist/components/ind-alarm-row.d.ts +11 -0
  513. package/dist/components/ind-alarm-row.js +2 -0
  514. package/dist/components/ind-alarm-row.js.map +1 -0
  515. package/dist/components/ind-alarm-summary.d.ts +11 -0
  516. package/dist/components/ind-alarm-summary.js +2 -0
  517. package/dist/components/ind-alarm-summary.js.map +1 -0
  518. package/dist/components/ind-app-header.js +1 -1
  519. package/dist/components/ind-asset-overview.d.ts +11 -0
  520. package/dist/components/ind-asset-overview.js +2 -0
  521. package/dist/components/ind-asset-overview.js.map +1 -0
  522. package/dist/components/ind-audit-row.d.ts +11 -0
  523. package/dist/components/ind-audit-row.js +2 -0
  524. package/dist/components/ind-audit-row.js.map +1 -0
  525. package/dist/components/ind-badge.d.ts +11 -0
  526. package/dist/components/ind-badge.js +2 -0
  527. package/dist/components/ind-badge.js.map +1 -0
  528. package/dist/components/ind-batch-control-panel.d.ts +11 -0
  529. package/dist/components/ind-batch-control-panel.js +2 -0
  530. package/dist/components/ind-batch-control-panel.js.map +1 -0
  531. package/dist/components/ind-batch-parameter-row.d.ts +11 -0
  532. package/dist/components/ind-batch-parameter-row.js +2 -0
  533. package/dist/components/ind-batch-parameter-row.js.map +1 -0
  534. package/dist/components/ind-breadcrumb-item.d.ts +11 -0
  535. package/dist/components/ind-breadcrumb-item.js +2 -0
  536. package/dist/components/ind-breadcrumb-item.js.map +1 -0
  537. package/dist/components/ind-button.js +1 -1
  538. package/dist/components/ind-button.js.map +1 -1
  539. package/dist/components/ind-canvas-layer.d.ts +11 -0
  540. package/dist/components/ind-canvas-layer.js +2 -0
  541. package/dist/components/ind-canvas-layer.js.map +1 -0
  542. package/dist/components/ind-checkbox.js +1 -1
  543. package/dist/components/ind-command-center.d.ts +11 -0
  544. package/dist/components/ind-command-center.js +2 -0
  545. package/dist/components/ind-command-center.js.map +1 -0
  546. package/dist/components/ind-command-group.d.ts +11 -0
  547. package/dist/components/ind-command-group.js +2 -0
  548. package/dist/components/ind-command-group.js.map +1 -0
  549. package/dist/components/ind-compressor.d.ts +11 -0
  550. package/dist/components/ind-compressor.js +2 -0
  551. package/dist/components/ind-compressor.js.map +1 -0
  552. package/dist/components/ind-connection-indicator.d.ts +11 -0
  553. package/dist/components/ind-connection-indicator.js +2 -0
  554. package/dist/components/ind-connection-indicator.js.map +1 -0
  555. package/dist/components/ind-context-toolbar.d.ts +11 -0
  556. package/dist/components/ind-context-toolbar.js +2 -0
  557. package/dist/components/ind-context-toolbar.js.map +1 -0
  558. package/dist/components/ind-conveyor.d.ts +11 -0
  559. package/dist/components/ind-conveyor.js +2 -0
  560. package/dist/components/ind-conveyor.js.map +1 -0
  561. package/dist/components/ind-cooler.d.ts +11 -0
  562. package/dist/components/ind-cooler.js +2 -0
  563. package/dist/components/ind-cooler.js.map +1 -0
  564. package/dist/components/ind-counter.d.ts +11 -0
  565. package/dist/components/ind-counter.js +2 -0
  566. package/dist/components/ind-counter.js.map +1 -0
  567. package/dist/components/ind-datetime-picker.d.ts +11 -0
  568. package/dist/components/ind-datetime-picker.js +2 -0
  569. package/dist/components/ind-datetime-picker.js.map +1 -0
  570. package/dist/components/ind-device-connection-card.d.ts +11 -0
  571. package/dist/components/ind-device-connection-card.js +2 -0
  572. package/dist/components/ind-device-connection-card.js.map +1 -0
  573. package/dist/components/ind-device-diagnostics-panel.d.ts +11 -0
  574. package/dist/components/ind-device-diagnostics-panel.js +2 -0
  575. package/dist/components/ind-device-diagnostics-panel.js.map +1 -0
  576. package/dist/components/ind-device-info-card.d.ts +11 -0
  577. package/dist/components/ind-device-info-card.js +2 -0
  578. package/dist/components/ind-device-info-card.js.map +1 -0
  579. package/dist/components/ind-dialog.js +1 -1
  580. package/dist/components/ind-divider.js +1 -1
  581. package/dist/components/ind-energy-card.d.ts +11 -0
  582. package/dist/components/ind-energy-card.js +2 -0
  583. package/dist/components/ind-energy-card.js.map +1 -0
  584. package/dist/components/ind-energy-dashboard.d.ts +11 -0
  585. package/dist/components/ind-energy-dashboard.js +2 -0
  586. package/dist/components/ind-energy-dashboard.js.map +1 -0
  587. package/dist/components/ind-equipment-dashboard.d.ts +11 -0
  588. package/dist/components/ind-equipment-dashboard.js +2 -0
  589. package/dist/components/ind-equipment-dashboard.js.map +1 -0
  590. package/dist/components/ind-equipment-status-card.d.ts +11 -0
  591. package/dist/components/ind-equipment-status-card.js +2 -0
  592. package/dist/components/ind-equipment-status-card.js.map +1 -0
  593. package/dist/components/ind-estop.d.ts +11 -0
  594. package/dist/components/ind-estop.js +2 -0
  595. package/dist/components/ind-estop.js.map +1 -0
  596. package/dist/components/ind-event-journal.d.ts +11 -0
  597. package/dist/components/ind-event-journal.js +2 -0
  598. package/dist/components/ind-event-journal.js.map +1 -0
  599. package/dist/components/ind-event-row.d.ts +11 -0
  600. package/dist/components/ind-event-row.js +2 -0
  601. package/dist/components/ind-event-row.js.map +1 -0
  602. package/dist/components/ind-fan.d.ts +11 -0
  603. package/dist/components/ind-fan.js +2 -0
  604. package/dist/components/ind-fan.js.map +1 -0
  605. package/dist/components/ind-fill-row.js +1 -1
  606. package/dist/components/ind-firmware-update-panel.d.ts +11 -0
  607. package/dist/components/ind-firmware-update-panel.js +2 -0
  608. package/dist/components/ind-firmware-update-panel.js.map +1 -0
  609. package/dist/components/ind-gauge.d.ts +11 -0
  610. package/dist/components/ind-gauge.js +2 -0
  611. package/dist/components/ind-gauge.js.map +1 -0
  612. package/dist/components/ind-health-card.js +1 -1
  613. package/dist/components/ind-heartbeat.d.ts +11 -0
  614. package/dist/components/ind-heartbeat.js +2 -0
  615. package/dist/components/ind-heartbeat.js.map +1 -0
  616. package/dist/components/ind-heater.d.ts +11 -0
  617. package/dist/components/ind-heater.js +2 -0
  618. package/dist/components/ind-heater.js.map +1 -0
  619. package/dist/components/ind-historian-viewer.d.ts +11 -0
  620. package/dist/components/ind-historian-viewer.js +2 -0
  621. package/dist/components/ind-historian-viewer.js.map +1 -0
  622. package/dist/components/ind-historical-value-row.d.ts +11 -0
  623. package/dist/components/ind-historical-value-row.js +2 -0
  624. package/dist/components/ind-historical-value-row.js.map +1 -0
  625. package/dist/components/ind-icon.d.ts +11 -0
  626. package/dist/components/ind-icon.js +2 -0
  627. package/dist/components/ind-icon.js.map +1 -0
  628. package/dist/components/ind-input.js +1 -1
  629. package/dist/components/ind-input.js.map +1 -1
  630. package/dist/components/ind-knob.d.ts +11 -0
  631. package/dist/components/ind-knob.js +2 -0
  632. package/dist/components/ind-knob.js.map +1 -0
  633. package/dist/components/ind-kpi-card.d.ts +11 -0
  634. package/dist/components/ind-kpi-card.js +2 -0
  635. package/dist/components/ind-kpi-card.js.map +1 -0
  636. package/dist/components/ind-label.d.ts +11 -0
  637. package/dist/components/ind-label.js +2 -0
  638. package/dist/components/ind-label.js.map +1 -0
  639. package/dist/components/ind-led.js +1 -1
  640. package/dist/components/ind-led.js.map +1 -1
  641. package/dist/components/ind-linear-gauge.d.ts +11 -0
  642. package/dist/components/ind-linear-gauge.js +2 -0
  643. package/dist/components/ind-linear-gauge.js.map +1 -0
  644. package/dist/components/ind-machine-overview.d.ts +11 -0
  645. package/dist/components/ind-machine-overview.js +2 -0
  646. package/dist/components/ind-machine-overview.js.map +1 -0
  647. package/dist/components/ind-maintenance-dashboard.d.ts +11 -0
  648. package/dist/components/ind-maintenance-dashboard.js +2 -0
  649. package/dist/components/ind-maintenance-dashboard.js.map +1 -0
  650. package/dist/components/ind-mode-selector.d.ts +11 -0
  651. package/dist/components/ind-mode-selector.js +2 -0
  652. package/dist/components/ind-mode-selector.js.map +1 -0
  653. package/dist/components/ind-motor-card.d.ts +11 -0
  654. package/dist/components/ind-motor-card.js +2 -0
  655. package/dist/components/ind-motor-card.js.map +1 -0
  656. package/dist/components/ind-motor-control-panel.d.ts +11 -0
  657. package/dist/components/ind-motor-control-panel.js +2 -0
  658. package/dist/components/ind-motor-control-panel.js.map +1 -0
  659. package/dist/components/ind-motor.d.ts +11 -0
  660. package/dist/components/ind-motor.js +2 -0
  661. package/dist/components/ind-motor.js.map +1 -0
  662. package/dist/components/ind-mqtt-monitor.js +1 -1
  663. package/dist/components/ind-mqtt-tag-binding.d.ts +11 -0
  664. package/dist/components/ind-mqtt-tag-binding.js +2 -0
  665. package/dist/components/ind-mqtt-tag-binding.js.map +1 -0
  666. package/dist/components/ind-nav-item.js +1 -1
  667. package/dist/components/ind-network-status-card.d.ts +11 -0
  668. package/dist/components/ind-network-status-card.js +2 -0
  669. package/dist/components/ind-network-status-card.js.map +1 -0
  670. package/dist/components/ind-oee-dashboard.d.ts +11 -0
  671. package/dist/components/ind-oee-dashboard.js +2 -0
  672. package/dist/components/ind-oee-dashboard.js.map +1 -0
  673. package/dist/components/ind-opcua-tag-binding.d.ts +11 -0
  674. package/dist/components/ind-opcua-tag-binding.js +2 -0
  675. package/dist/components/ind-opcua-tag-binding.js.map +1 -0
  676. package/dist/components/ind-pipe.d.ts +11 -0
  677. package/dist/components/ind-pipe.js +2 -0
  678. package/dist/components/ind-pipe.js.map +1 -0
  679. package/dist/components/ind-process-control-panel.d.ts +11 -0
  680. package/dist/components/ind-process-control-panel.js +2 -0
  681. package/dist/components/ind-process-control-panel.js.map +1 -0
  682. package/dist/components/ind-process-symbol.d.ts +11 -0
  683. package/dist/components/ind-process-symbol.js +2 -0
  684. package/dist/components/ind-process-symbol.js.map +1 -0
  685. package/dist/components/ind-production-cell.d.ts +11 -0
  686. package/dist/components/ind-production-cell.js +2 -0
  687. package/dist/components/ind-production-cell.js.map +1 -0
  688. package/dist/components/ind-production-dashboard.d.ts +11 -0
  689. package/dist/components/ind-production-dashboard.js +2 -0
  690. package/dist/components/ind-production-dashboard.js.map +1 -0
  691. package/dist/components/ind-production-line-overview.d.ts +11 -0
  692. package/dist/components/ind-production-line-overview.js +2 -0
  693. package/dist/components/ind-production-line-overview.js.map +1 -0
  694. package/dist/components/ind-progress-ring.d.ts +11 -0
  695. package/dist/components/ind-progress-ring.js +2 -0
  696. package/dist/components/ind-progress-ring.js.map +1 -0
  697. package/dist/components/ind-progress.js +1 -1
  698. package/dist/components/ind-pump-card.d.ts +11 -0
  699. package/dist/components/ind-pump-card.js +2 -0
  700. package/dist/components/ind-pump-card.js.map +1 -0
  701. package/dist/components/ind-pump-control-panel.d.ts +11 -0
  702. package/dist/components/ind-pump-control-panel.js +2 -0
  703. package/dist/components/ind-pump-control-panel.js.map +1 -0
  704. package/dist/components/ind-pump.d.ts +11 -0
  705. package/dist/components/ind-pump.js +2 -0
  706. package/dist/components/ind-pump.js.map +1 -0
  707. package/dist/components/ind-recipe-management-panel.d.ts +11 -0
  708. package/dist/components/ind-recipe-management-panel.js +2 -0
  709. package/dist/components/ind-recipe-management-panel.js.map +1 -0
  710. package/dist/components/ind-recipe-selector.d.ts +11 -0
  711. package/dist/components/ind-recipe-selector.js +2 -0
  712. package/dist/components/ind-recipe-selector.js.map +1 -0
  713. package/dist/components/ind-scara-canvas.js +1 -1
  714. package/dist/components/ind-select.js +1 -1
  715. package/dist/components/ind-select.js.map +1 -1
  716. package/dist/components/ind-selector-switch.d.ts +11 -0
  717. package/dist/components/ind-selector-switch.js +2 -0
  718. package/dist/components/ind-selector-switch.js.map +1 -0
  719. package/dist/components/ind-setpoint-control.d.ts +11 -0
  720. package/dist/components/ind-setpoint-control.js +2 -0
  721. package/dist/components/ind-setpoint-control.js.map +1 -0
  722. package/dist/components/ind-setpoint.d.ts +11 -0
  723. package/dist/components/ind-setpoint.js +2 -0
  724. package/dist/components/ind-setpoint.js.map +1 -0
  725. package/dist/components/ind-shelf-canvas.js +1 -1
  726. package/dist/components/ind-sidebar-group.d.ts +11 -0
  727. package/dist/components/ind-sidebar-group.js +2 -0
  728. package/dist/components/ind-sidebar-group.js.map +1 -0
  729. package/dist/components/ind-sidebar-nav.js +1 -1
  730. package/dist/components/ind-signal-quality.d.ts +11 -0
  731. package/dist/components/ind-signal-quality.js +2 -0
  732. package/dist/components/ind-signal-quality.js.map +1 -0
  733. package/dist/components/ind-silo.d.ts +11 -0
  734. package/dist/components/ind-silo.js +2 -0
  735. package/dist/components/ind-silo.js.map +1 -0
  736. package/dist/components/ind-slider.d.ts +11 -0
  737. package/dist/components/ind-slider.js +2 -0
  738. package/dist/components/ind-slider.js.map +1 -0
  739. package/dist/components/ind-sparkline.d.ts +11 -0
  740. package/dist/components/ind-sparkline.js +2 -0
  741. package/dist/components/ind-sparkline.js.map +1 -0
  742. package/dist/components/ind-speed-control.d.ts +11 -0
  743. package/dist/components/ind-speed-control.js +2 -0
  744. package/dist/components/ind-speed-control.js.map +1 -0
  745. package/dist/components/ind-start-stop-control.d.ts +11 -0
  746. package/dist/components/ind-start-stop-control.js +2 -0
  747. package/dist/components/ind-start-stop-control.js.map +1 -0
  748. package/dist/components/ind-status-bar.js +1 -1
  749. package/dist/components/ind-status-bar.js.map +1 -1
  750. package/dist/components/ind-tab.d.ts +11 -0
  751. package/dist/components/ind-tab.js +2 -0
  752. package/dist/components/ind-tab.js.map +1 -0
  753. package/dist/components/ind-tag-card.d.ts +11 -0
  754. package/dist/components/ind-tag-card.js +2 -0
  755. package/dist/components/ind-tag-card.js.map +1 -0
  756. package/dist/components/ind-tag-name.d.ts +11 -0
  757. package/dist/components/ind-tag-name.js +2 -0
  758. package/dist/components/ind-tag-name.js.map +1 -0
  759. package/dist/components/ind-tank-level-card.d.ts +11 -0
  760. package/dist/components/ind-tank-level-card.js +2 -0
  761. package/dist/components/ind-tank-level-card.js.map +1 -0
  762. package/dist/components/ind-tank.d.ts +11 -0
  763. package/dist/components/ind-tank.js +2 -0
  764. package/dist/components/ind-tank.js.map +1 -0
  765. package/dist/components/ind-temperature-control.d.ts +11 -0
  766. package/dist/components/ind-temperature-control.js +2 -0
  767. package/dist/components/ind-temperature-control.js.map +1 -0
  768. package/dist/components/ind-textarea.js +1 -1
  769. package/dist/components/ind-timestamp.d.ts +11 -0
  770. package/dist/components/ind-timestamp.js +2 -0
  771. package/dist/components/ind-timestamp.js.map +1 -0
  772. package/dist/components/ind-toggle.d.ts +11 -0
  773. package/dist/components/ind-toggle.js +2 -0
  774. package/dist/components/ind-toggle.js.map +1 -0
  775. package/dist/components/ind-toolbar-action.js +1 -1
  776. package/dist/components/ind-tree-node.d.ts +11 -0
  777. package/dist/components/ind-tree-node.js +2 -0
  778. package/dist/components/ind-tree-node.js.map +1 -0
  779. package/dist/components/ind-trend-viewer.d.ts +11 -0
  780. package/dist/components/ind-trend-viewer.js +2 -0
  781. package/dist/components/ind-trend-viewer.js.map +1 -0
  782. package/dist/components/ind-trend-widget.d.ts +11 -0
  783. package/dist/components/ind-trend-widget.js +2 -0
  784. package/dist/components/ind-trend-widget.js.map +1 -0
  785. package/dist/components/ind-unit-label.d.ts +11 -0
  786. package/dist/components/ind-unit-label.js +2 -0
  787. package/dist/components/ind-unit-label.js.map +1 -0
  788. package/dist/components/ind-value.js +1 -1
  789. package/dist/components/ind-value.js.map +1 -1
  790. package/dist/components/ind-valve-card.d.ts +11 -0
  791. package/dist/components/ind-valve-card.js +2 -0
  792. package/dist/components/ind-valve-card.js.map +1 -0
  793. package/dist/components/ind-valve-control-panel.d.ts +11 -0
  794. package/dist/components/ind-valve-control-panel.js +2 -0
  795. package/dist/components/ind-valve-control-panel.js.map +1 -0
  796. package/dist/components/ind-valve.js +1 -1
  797. package/dist/components/ind-valve.js.map +1 -1
  798. package/dist/components/ind-workstation-monitor.d.ts +11 -0
  799. package/dist/components/ind-workstation-monitor.js +2 -0
  800. package/dist/components/ind-workstation-monitor.js.map +1 -0
  801. package/dist/components/ind-xy-point.d.ts +11 -0
  802. package/dist/components/ind-xy-point.js +2 -0
  803. package/dist/components/ind-xy-point.js.map +1 -0
  804. package/dist/components/index.js +1 -1
  805. package/dist/components/index.js.map +1 -1
  806. package/dist/components/p-5RlFcxee.js +2 -0
  807. package/dist/components/p-5RlFcxee.js.map +1 -0
  808. package/dist/components/p-6RTRR-qH.js +2 -0
  809. package/dist/components/p-6RTRR-qH.js.map +1 -0
  810. package/dist/components/p-B-KVhtvw.js +2 -0
  811. package/dist/components/p-B-KVhtvw.js.map +1 -0
  812. package/dist/components/p-B-dXQIRL.js +2 -0
  813. package/dist/components/p-B-dXQIRL.js.map +1 -0
  814. package/dist/components/p-B0kcsf9E.js +2 -0
  815. package/dist/components/p-B0kcsf9E.js.map +1 -0
  816. package/dist/components/p-B4gtNdKu.js +2 -0
  817. package/dist/components/p-B4gtNdKu.js.map +1 -0
  818. package/dist/components/p-BEmLi4hz.js +2 -0
  819. package/dist/components/p-BEmLi4hz.js.map +1 -0
  820. package/dist/components/p-BFESjyKK.js +2 -0
  821. package/dist/components/p-BFESjyKK.js.map +1 -0
  822. package/dist/components/p-BInyhy9s.js +2 -0
  823. package/dist/components/p-BInyhy9s.js.map +1 -0
  824. package/dist/components/p-BW8uYv_d.js +2 -0
  825. package/dist/components/p-BW8uYv_d.js.map +1 -0
  826. package/dist/components/p-BdjJnR7Z.js +2 -0
  827. package/dist/components/p-BdjJnR7Z.js.map +1 -0
  828. package/dist/components/p-BfWZu0jH.js +2 -0
  829. package/dist/components/p-BfWZu0jH.js.map +1 -0
  830. package/dist/components/p-Bo4OFmkA.js +2 -0
  831. package/dist/components/p-Bo4OFmkA.js.map +1 -0
  832. package/dist/components/p-CA0CnZe7.js +2 -0
  833. package/dist/components/p-CA0CnZe7.js.map +1 -0
  834. package/dist/components/p-CDXZCm5V.js +2 -0
  835. package/dist/components/p-CDXZCm5V.js.map +1 -0
  836. package/dist/components/p-CICnxqic.js +2 -0
  837. package/dist/components/p-CICnxqic.js.map +1 -0
  838. package/dist/components/p-CJi2bLBO.js +2 -0
  839. package/dist/components/p-CJi2bLBO.js.map +1 -0
  840. package/dist/components/p-CNo94Sf0.js +2 -0
  841. package/dist/components/p-CNo94Sf0.js.map +1 -0
  842. package/dist/components/p-CRSC4h1X.js +2 -0
  843. package/dist/components/p-CRSC4h1X.js.map +1 -0
  844. package/dist/components/p-CUfsFNIv.js +2 -0
  845. package/dist/components/p-CUfsFNIv.js.map +1 -0
  846. package/dist/components/p-CVo-n5Qd.js +2 -0
  847. package/dist/components/p-CVo-n5Qd.js.map +1 -0
  848. package/dist/components/p-Ca70rR-o.js +2 -0
  849. package/dist/components/p-Ca70rR-o.js.map +1 -0
  850. package/dist/components/p-Cvkpsp6g.js +2 -0
  851. package/dist/components/p-Cvkpsp6g.js.map +1 -0
  852. package/dist/components/p-D3gnEPFv.js +2 -0
  853. package/dist/components/p-D3gnEPFv.js.map +1 -0
  854. package/dist/components/{p-acsAzrRn.js → p-D79nNJVt.js} +2 -2
  855. package/dist/components/p-DA_BMXS3.js +2 -0
  856. package/dist/components/p-DA_BMXS3.js.map +1 -0
  857. package/dist/components/p-DC9NDak5.js +2 -0
  858. package/dist/components/p-DC9NDak5.js.map +1 -0
  859. package/dist/components/p-DGb-eiYo.js +2 -0
  860. package/dist/components/p-DGb-eiYo.js.map +1 -0
  861. package/dist/components/p-DGgGNwxv.js +2 -0
  862. package/dist/components/p-DGgGNwxv.js.map +1 -0
  863. package/dist/components/p-DZD3LczI.js +2 -0
  864. package/dist/components/p-DZD3LczI.js.map +1 -0
  865. package/dist/components/p-Dk2CwpEp.js +2 -0
  866. package/dist/components/p-Dk2CwpEp.js.map +1 -0
  867. package/dist/components/p-Dnxar2_f.js +2 -0
  868. package/dist/components/p-Dnxar2_f.js.map +1 -0
  869. package/dist/components/p-Dp1wiEsR.js +2 -0
  870. package/dist/components/p-Dp1wiEsR.js.map +1 -0
  871. package/dist/components/p-WD-5DMF4.js +2 -0
  872. package/dist/components/p-WD-5DMF4.js.map +1 -0
  873. package/dist/components/p-yllNHAkG.js +2 -0
  874. package/dist/components/p-yllNHAkG.js.map +1 -0
  875. package/dist/docs.json +23264 -2308
  876. package/dist/esm/ind-alarm-badge-group.entry.js +39 -0
  877. package/dist/esm/ind-alarm-badge-group.entry.js.map +1 -0
  878. package/dist/esm/ind-alarm-count.entry.js +40 -0
  879. package/dist/esm/ind-alarm-count.entry.js.map +1 -0
  880. package/dist/esm/ind-alarm-panel.entry.js +49 -0
  881. package/dist/esm/ind-alarm-panel.entry.js.map +1 -0
  882. package/dist/esm/ind-alarm-row.entry.js +39 -0
  883. package/dist/esm/ind-alarm-row.entry.js.map +1 -0
  884. package/dist/esm/ind-alarm-summary.entry.js +30 -0
  885. package/dist/esm/ind-alarm-summary.entry.js.map +1 -0
  886. package/dist/esm/ind-alarm.entry.js +1 -1
  887. package/dist/esm/ind-app-header.entry.js +2 -2
  888. package/dist/esm/ind-asset-overview.entry.js +31 -0
  889. package/dist/esm/ind-asset-overview.entry.js.map +1 -0
  890. package/dist/esm/ind-audit-row.entry.js +28 -0
  891. package/dist/esm/ind-audit-row.entry.js.map +1 -0
  892. package/dist/esm/ind-badge.entry.js +24 -0
  893. package/dist/esm/ind-badge.entry.js.map +1 -0
  894. package/dist/esm/ind-batch-control-panel.entry.js +46 -0
  895. package/dist/esm/ind-batch-control-panel.entry.js.map +1 -0
  896. package/dist/esm/{ind-input.entry.js → ind-batch-parameter-row_2.entry.js} +50 -5
  897. package/dist/esm/ind-batch-parameter-row_2.entry.js.map +1 -0
  898. package/dist/esm/ind-breadcrumb-item.entry.js +35 -0
  899. package/dist/esm/ind-breadcrumb-item.entry.js.map +1 -0
  900. package/dist/esm/ind-button.entry.js +2 -2
  901. package/dist/esm/ind-canvas-layer.entry.js +36 -0
  902. package/dist/esm/ind-canvas-layer.entry.js.map +1 -0
  903. package/dist/esm/ind-checkbox.entry.js +2 -2
  904. package/dist/esm/ind-command-center.entry.js +23 -0
  905. package/dist/esm/ind-command-center.entry.js.map +1 -0
  906. package/dist/esm/ind-command-group.entry.js +24 -0
  907. package/dist/esm/ind-command-group.entry.js.map +1 -0
  908. package/dist/esm/ind-compressor.entry.js +29 -0
  909. package/dist/esm/ind-compressor.entry.js.map +1 -0
  910. package/dist/esm/ind-connection-indicator.entry.js +31 -0
  911. package/dist/esm/ind-connection-indicator.entry.js.map +1 -0
  912. package/dist/esm/ind-context-toolbar.entry.js +22 -0
  913. package/dist/esm/ind-context-toolbar.entry.js.map +1 -0
  914. package/dist/esm/ind-conveyor.entry.js +31 -0
  915. package/dist/esm/ind-conveyor.entry.js.map +1 -0
  916. package/dist/esm/ind-cooler.entry.js +29 -0
  917. package/dist/esm/ind-cooler.entry.js.map +1 -0
  918. package/dist/esm/ind-counter.entry.js +36 -0
  919. package/dist/esm/ind-counter.entry.js.map +1 -0
  920. package/dist/esm/ind-datetime-picker.entry.js +46 -0
  921. package/dist/esm/ind-datetime-picker.entry.js.map +1 -0
  922. package/dist/esm/ind-device-connection-card.entry.js +30 -0
  923. package/dist/esm/ind-device-connection-card.entry.js.map +1 -0
  924. package/dist/esm/ind-device-diagnostics-panel.entry.js +32 -0
  925. package/dist/esm/ind-device-diagnostics-panel.entry.js.map +1 -0
  926. package/dist/esm/ind-device-info-card.entry.js +46 -0
  927. package/dist/esm/ind-device-info-card.entry.js.map +1 -0
  928. package/dist/esm/ind-dialog.entry.js +2 -2
  929. package/dist/esm/ind-divider.entry.js +2 -2
  930. package/dist/esm/ind-ds.js +3 -3
  931. package/dist/esm/ind-energy-card.entry.js +38 -0
  932. package/dist/esm/ind-energy-card.entry.js.map +1 -0
  933. package/dist/esm/ind-energy-dashboard.entry.js +29 -0
  934. package/dist/esm/ind-energy-dashboard.entry.js.map +1 -0
  935. package/dist/esm/ind-equipment-dashboard.entry.js +23 -0
  936. package/dist/esm/ind-equipment-dashboard.entry.js.map +1 -0
  937. package/dist/esm/ind-equipment-status-card.entry.js +40 -0
  938. package/dist/esm/ind-equipment-status-card.entry.js.map +1 -0
  939. package/dist/esm/ind-estop.entry.js +45 -0
  940. package/dist/esm/ind-estop.entry.js.map +1 -0
  941. package/dist/esm/ind-event-journal.entry.js +29 -0
  942. package/dist/esm/ind-event-journal.entry.js.map +1 -0
  943. package/dist/esm/ind-event-row.entry.js +28 -0
  944. package/dist/esm/ind-event-row.entry.js.map +1 -0
  945. package/dist/esm/ind-fan.entry.js +29 -0
  946. package/dist/esm/ind-fan.entry.js.map +1 -0
  947. package/dist/esm/ind-fill-row.entry.js +2 -2
  948. package/dist/esm/ind-firmware-update-panel.entry.js +47 -0
  949. package/dist/esm/ind-firmware-update-panel.entry.js.map +1 -0
  950. package/dist/esm/ind-gauge.entry.js +65 -0
  951. package/dist/esm/ind-gauge.entry.js.map +1 -0
  952. package/dist/esm/ind-health-card.entry.js +2 -2
  953. package/dist/esm/ind-heartbeat.entry.js +26 -0
  954. package/dist/esm/ind-heartbeat.entry.js.map +1 -0
  955. package/dist/esm/ind-heater.entry.js +29 -0
  956. package/dist/esm/ind-heater.entry.js.map +1 -0
  957. package/dist/esm/ind-historian-viewer.entry.js +36 -0
  958. package/dist/esm/ind-historian-viewer.entry.js.map +1 -0
  959. package/dist/esm/ind-historical-value-row.entry.js +44 -0
  960. package/dist/esm/ind-historical-value-row.entry.js.map +1 -0
  961. package/dist/esm/ind-icon.entry.js +44 -0
  962. package/dist/esm/ind-icon.entry.js.map +1 -0
  963. package/dist/esm/ind-knob_3.entry.js +194 -0
  964. package/dist/esm/ind-knob_3.entry.js.map +1 -0
  965. package/dist/esm/ind-kpi-card.entry.js +44 -0
  966. package/dist/esm/ind-kpi-card.entry.js.map +1 -0
  967. package/dist/esm/ind-label.entry.js +29 -0
  968. package/dist/esm/ind-label.entry.js.map +1 -0
  969. package/dist/esm/ind-led_4.entry.js +145 -0
  970. package/dist/esm/ind-led_4.entry.js.map +1 -0
  971. package/dist/esm/ind-linear-gauge_2.entry.js +97 -0
  972. package/dist/esm/ind-linear-gauge_2.entry.js.map +1 -0
  973. package/dist/esm/ind-machine-overview.entry.js +37 -0
  974. package/dist/esm/ind-machine-overview.entry.js.map +1 -0
  975. package/dist/esm/ind-maintenance-dashboard.entry.js +31 -0
  976. package/dist/esm/ind-maintenance-dashboard.entry.js.map +1 -0
  977. package/dist/esm/ind-motor-card.entry.js +35 -0
  978. package/dist/esm/ind-motor-card.entry.js.map +1 -0
  979. package/dist/esm/ind-motor-control-panel.entry.js +55 -0
  980. package/dist/esm/ind-motor-control-panel.entry.js.map +1 -0
  981. package/dist/esm/ind-motor.entry.js +29 -0
  982. package/dist/esm/ind-motor.entry.js.map +1 -0
  983. package/dist/esm/ind-mqtt-monitor.entry.js +2 -2
  984. package/dist/esm/ind-mqtt-tag-binding.entry.js +37 -0
  985. package/dist/esm/ind-mqtt-tag-binding.entry.js.map +1 -0
  986. package/dist/esm/ind-nav-item.entry.js +4 -4
  987. package/dist/esm/ind-network-status-card.entry.js +37 -0
  988. package/dist/esm/ind-network-status-card.entry.js.map +1 -0
  989. package/dist/esm/ind-oee-dashboard.entry.js +42 -0
  990. package/dist/esm/ind-oee-dashboard.entry.js.map +1 -0
  991. package/dist/esm/ind-opcua-tag-binding.entry.js +40 -0
  992. package/dist/esm/ind-opcua-tag-binding.entry.js.map +1 -0
  993. package/dist/esm/ind-pipe.entry.js +35 -0
  994. package/dist/esm/ind-pipe.entry.js.map +1 -0
  995. package/dist/esm/ind-process-control-panel.entry.js +55 -0
  996. package/dist/esm/ind-process-control-panel.entry.js.map +1 -0
  997. package/dist/esm/ind-process-symbol.entry.js +42 -0
  998. package/dist/esm/ind-process-symbol.entry.js.map +1 -0
  999. package/dist/esm/ind-production-cell.entry.js +28 -0
  1000. package/dist/esm/ind-production-cell.entry.js.map +1 -0
  1001. package/dist/esm/ind-production-dashboard.entry.js +25 -0
  1002. package/dist/esm/ind-production-dashboard.entry.js.map +1 -0
  1003. package/dist/esm/ind-production-line-overview.entry.js +25 -0
  1004. package/dist/esm/ind-production-line-overview.entry.js.map +1 -0
  1005. package/dist/esm/ind-progress-ring.entry.js +45 -0
  1006. package/dist/esm/ind-progress-ring.entry.js.map +1 -0
  1007. package/dist/esm/ind-progress.entry.js +2 -2
  1008. package/dist/esm/ind-pump-card.entry.js +37 -0
  1009. package/dist/esm/ind-pump-card.entry.js.map +1 -0
  1010. package/dist/esm/ind-pump-control-panel.entry.js +45 -0
  1011. package/dist/esm/ind-pump-control-panel.entry.js.map +1 -0
  1012. package/dist/esm/ind-pump.entry.js +29 -0
  1013. package/dist/esm/ind-pump.entry.js.map +1 -0
  1014. package/dist/esm/ind-recipe-management-panel.entry.js +46 -0
  1015. package/dist/esm/ind-recipe-management-panel.entry.js.map +1 -0
  1016. package/dist/esm/ind-recipe-selector.entry.js +44 -0
  1017. package/dist/esm/ind-recipe-selector.entry.js.map +1 -0
  1018. package/dist/esm/ind-scara-canvas.entry.js +2 -2
  1019. package/dist/esm/ind-select.entry.js +2 -2
  1020. package/dist/esm/ind-setpoint-control.entry.js +43 -0
  1021. package/dist/esm/ind-setpoint-control.entry.js.map +1 -0
  1022. package/dist/esm/ind-setpoint.entry.js +65 -0
  1023. package/dist/esm/ind-setpoint.entry.js.map +1 -0
  1024. package/dist/esm/ind-shelf-canvas.entry.js +2 -2
  1025. package/dist/esm/ind-sidebar-group.entry.js +32 -0
  1026. package/dist/esm/ind-sidebar-group.entry.js.map +1 -0
  1027. package/dist/esm/ind-sidebar-nav.entry.js +2 -2
  1028. package/dist/esm/ind-signal-quality.entry.js +39 -0
  1029. package/dist/esm/ind-signal-quality.entry.js.map +1 -0
  1030. package/dist/esm/ind-silo.entry.js +40 -0
  1031. package/dist/esm/ind-silo.entry.js.map +1 -0
  1032. package/dist/esm/ind-sparkline.entry.js +56 -0
  1033. package/dist/esm/ind-sparkline.entry.js.map +1 -0
  1034. package/dist/esm/ind-status-bar.entry.js +2 -2
  1035. package/dist/esm/ind-status-dot.entry.js +1 -1
  1036. package/dist/esm/ind-tab.entry.js +38 -0
  1037. package/dist/esm/ind-tab.entry.js.map +1 -0
  1038. package/dist/esm/ind-tag-card.entry.js +36 -0
  1039. package/dist/esm/ind-tag-card.entry.js.map +1 -0
  1040. package/dist/esm/ind-tag-name.entry.js +24 -0
  1041. package/dist/esm/ind-tag-name.entry.js.map +1 -0
  1042. package/dist/esm/ind-tank-level-card.entry.js +39 -0
  1043. package/dist/esm/ind-tank-level-card.entry.js.map +1 -0
  1044. package/dist/esm/ind-temperature-control.entry.js +47 -0
  1045. package/dist/esm/ind-temperature-control.entry.js.map +1 -0
  1046. package/dist/esm/ind-textarea.entry.js +2 -2
  1047. package/dist/esm/ind-timestamp.entry.js +72 -0
  1048. package/dist/esm/ind-timestamp.entry.js.map +1 -0
  1049. package/dist/esm/ind-toggle.entry.js +45 -0
  1050. package/dist/esm/ind-toggle.entry.js.map +1 -0
  1051. package/dist/esm/ind-toolbar-action.entry.js +2 -2
  1052. package/dist/esm/ind-tree-node.entry.js +58 -0
  1053. package/dist/esm/ind-tree-node.entry.js.map +1 -0
  1054. package/dist/esm/ind-trend-viewer.entry.js +29 -0
  1055. package/dist/esm/ind-trend-viewer.entry.js.map +1 -0
  1056. package/dist/esm/ind-trend-widget.entry.js +46 -0
  1057. package/dist/esm/ind-trend-widget.entry.js.map +1 -0
  1058. package/dist/esm/ind-unit-label.entry.js +22 -0
  1059. package/dist/esm/ind-unit-label.entry.js.map +1 -0
  1060. package/dist/esm/ind-value.entry.js +2 -2
  1061. package/dist/esm/ind-valve-card.entry.js +38 -0
  1062. package/dist/esm/ind-valve-card.entry.js.map +1 -0
  1063. package/dist/esm/ind-valve-control-panel.entry.js +44 -0
  1064. package/dist/esm/ind-valve-control-panel.entry.js.map +1 -0
  1065. package/dist/esm/ind-valve.entry.js +2 -2
  1066. package/dist/esm/ind-workstation-monitor.entry.js +36 -0
  1067. package/dist/esm/ind-workstation-monitor.entry.js.map +1 -0
  1068. package/dist/esm/ind-xy-point.entry.js +49 -0
  1069. package/dist/esm/ind-xy-point.entry.js.map +1 -0
  1070. package/dist/esm/{index-D2yNiL0d.js → index-Bls_NlWP.js} +39 -2
  1071. package/dist/esm/index-Bls_NlWP.js.map +1 -0
  1072. package/dist/esm/loader.js +3 -3
  1073. package/dist/ind-ds/ind-ds.esm.js +1 -1
  1074. package/dist/ind-ds/{p-ea24a59d.entry.js → p-00d22e4b.entry.js} +2 -2
  1075. package/dist/ind-ds/p-06c09435.entry.js +2 -0
  1076. package/dist/ind-ds/p-06c09435.entry.js.map +1 -0
  1077. package/dist/ind-ds/p-088010f1.entry.js +2 -0
  1078. package/dist/ind-ds/p-088010f1.entry.js.map +1 -0
  1079. package/dist/ind-ds/{p-8817625a.entry.js → p-094ac159.entry.js} +2 -2
  1080. package/dist/ind-ds/p-12242d8c.entry.js +2 -0
  1081. package/dist/ind-ds/p-12242d8c.entry.js.map +1 -0
  1082. package/dist/ind-ds/p-12a5951f.entry.js +2 -0
  1083. package/dist/ind-ds/p-12a5951f.entry.js.map +1 -0
  1084. package/dist/ind-ds/p-13be3eaf.entry.js +2 -0
  1085. package/dist/ind-ds/p-13be3eaf.entry.js.map +1 -0
  1086. package/dist/ind-ds/p-1459ada5.entry.js +2 -0
  1087. package/dist/ind-ds/p-1459ada5.entry.js.map +1 -0
  1088. package/dist/ind-ds/p-1685fd9c.entry.js +2 -0
  1089. package/dist/ind-ds/p-1685fd9c.entry.js.map +1 -0
  1090. package/dist/ind-ds/p-16d1f704.entry.js +2 -0
  1091. package/dist/ind-ds/p-16d1f704.entry.js.map +1 -0
  1092. package/dist/ind-ds/p-1be24214.entry.js +2 -0
  1093. package/dist/ind-ds/p-1be24214.entry.js.map +1 -0
  1094. package/dist/ind-ds/p-1ee08c0a.entry.js +2 -0
  1095. package/dist/ind-ds/p-1ee08c0a.entry.js.map +1 -0
  1096. package/dist/ind-ds/p-2fb287d2.entry.js +2 -0
  1097. package/dist/ind-ds/p-2fb287d2.entry.js.map +1 -0
  1098. package/dist/ind-ds/p-31111991.entry.js +2 -0
  1099. package/dist/ind-ds/p-31111991.entry.js.map +1 -0
  1100. package/dist/ind-ds/p-346ab1ad.entry.js +2 -0
  1101. package/dist/ind-ds/p-346ab1ad.entry.js.map +1 -0
  1102. package/dist/ind-ds/p-34b2f7e2.entry.js +2 -0
  1103. package/dist/ind-ds/p-34b2f7e2.entry.js.map +1 -0
  1104. package/dist/ind-ds/{p-c8de42e9.entry.js → p-36e43ec4.entry.js} +2 -2
  1105. package/dist/ind-ds/p-3701bd5b.entry.js +2 -0
  1106. package/dist/ind-ds/p-3701bd5b.entry.js.map +1 -0
  1107. package/dist/ind-ds/{p-cf07b580.entry.js → p-37d6486c.entry.js} +2 -2
  1108. package/dist/ind-ds/{p-0840007d.entry.js → p-381489a3.entry.js} +2 -2
  1109. package/dist/ind-ds/p-3819e686.entry.js +2 -0
  1110. package/dist/ind-ds/p-3819e686.entry.js.map +1 -0
  1111. package/dist/ind-ds/p-391657f6.entry.js +2 -0
  1112. package/dist/ind-ds/p-391657f6.entry.js.map +1 -0
  1113. package/dist/ind-ds/p-3cdcae06.entry.js +2 -0
  1114. package/dist/ind-ds/p-3cdcae06.entry.js.map +1 -0
  1115. package/dist/ind-ds/p-3dfc5d4e.entry.js +2 -0
  1116. package/dist/ind-ds/p-3dfc5d4e.entry.js.map +1 -0
  1117. package/dist/ind-ds/p-3ff919c2.entry.js +2 -0
  1118. package/dist/ind-ds/p-3ff919c2.entry.js.map +1 -0
  1119. package/dist/ind-ds/p-40502915.entry.js +2 -0
  1120. package/dist/ind-ds/p-40502915.entry.js.map +1 -0
  1121. package/dist/ind-ds/p-421d201d.entry.js +2 -0
  1122. package/dist/ind-ds/p-421d201d.entry.js.map +1 -0
  1123. package/dist/ind-ds/{p-1727b403.entry.js → p-45a62875.entry.js} +2 -2
  1124. package/dist/ind-ds/p-463fedff.entry.js +2 -0
  1125. package/dist/ind-ds/p-463fedff.entry.js.map +1 -0
  1126. package/dist/ind-ds/{p-cee8bf2b.entry.js → p-5119173c.entry.js} +2 -2
  1127. package/dist/ind-ds/p-5213a4f0.entry.js +2 -0
  1128. package/dist/ind-ds/p-5213a4f0.entry.js.map +1 -0
  1129. package/dist/ind-ds/p-52387956.entry.js +2 -0
  1130. package/dist/ind-ds/p-52387956.entry.js.map +1 -0
  1131. package/dist/ind-ds/p-531dcb46.entry.js +2 -0
  1132. package/dist/ind-ds/p-531dcb46.entry.js.map +1 -0
  1133. package/dist/ind-ds/p-53f0dc3a.entry.js +2 -0
  1134. package/dist/ind-ds/p-53f0dc3a.entry.js.map +1 -0
  1135. package/dist/ind-ds/p-548d7456.entry.js +2 -0
  1136. package/dist/ind-ds/p-548d7456.entry.js.map +1 -0
  1137. package/dist/ind-ds/p-585af84b.entry.js +2 -0
  1138. package/dist/ind-ds/p-585af84b.entry.js.map +1 -0
  1139. package/dist/ind-ds/{p-ee453874.entry.js → p-5a49aced.entry.js} +2 -2
  1140. package/dist/ind-ds/p-5d6cee7b.entry.js +2 -0
  1141. package/dist/ind-ds/p-5d6cee7b.entry.js.map +1 -0
  1142. package/dist/ind-ds/p-5d7bc819.entry.js +2 -0
  1143. package/dist/ind-ds/p-5d7bc819.entry.js.map +1 -0
  1144. package/dist/ind-ds/p-6054259d.entry.js +2 -0
  1145. package/dist/ind-ds/p-6054259d.entry.js.map +1 -0
  1146. package/dist/ind-ds/p-60585701.entry.js +2 -0
  1147. package/dist/ind-ds/p-60585701.entry.js.map +1 -0
  1148. package/dist/ind-ds/p-60751e04.entry.js +2 -0
  1149. package/dist/ind-ds/p-60751e04.entry.js.map +1 -0
  1150. package/dist/ind-ds/p-6135cdf0.entry.js +2 -0
  1151. package/dist/ind-ds/p-6135cdf0.entry.js.map +1 -0
  1152. package/dist/ind-ds/p-6963683d.entry.js +2 -0
  1153. package/dist/ind-ds/p-6963683d.entry.js.map +1 -0
  1154. package/dist/ind-ds/p-6dcfca81.entry.js +2 -0
  1155. package/dist/ind-ds/p-6dcfca81.entry.js.map +1 -0
  1156. package/dist/ind-ds/p-6ff4c77b.entry.js +2 -0
  1157. package/dist/ind-ds/p-6ff4c77b.entry.js.map +1 -0
  1158. package/dist/ind-ds/p-703709c2.entry.js +2 -0
  1159. package/dist/ind-ds/p-70894390.entry.js +2 -0
  1160. package/dist/ind-ds/p-7122fee8.entry.js +2 -0
  1161. package/dist/ind-ds/p-7122fee8.entry.js.map +1 -0
  1162. package/dist/ind-ds/p-73bf9023.entry.js +2 -0
  1163. package/dist/ind-ds/p-73bf9023.entry.js.map +1 -0
  1164. package/dist/ind-ds/{p-595ccdce.entry.js → p-74f4256f.entry.js} +2 -2
  1165. package/dist/ind-ds/p-7b2fbada.entry.js +2 -0
  1166. package/dist/ind-ds/p-7b2fbada.entry.js.map +1 -0
  1167. package/dist/ind-ds/p-7da4b557.entry.js +2 -0
  1168. package/dist/ind-ds/p-7da4b557.entry.js.map +1 -0
  1169. package/dist/ind-ds/p-7e337fb5.entry.js +2 -0
  1170. package/dist/ind-ds/p-7e337fb5.entry.js.map +1 -0
  1171. package/dist/ind-ds/p-7e5bc0c2.entry.js +2 -0
  1172. package/dist/ind-ds/p-7e5bc0c2.entry.js.map +1 -0
  1173. package/dist/ind-ds/p-81afebb1.entry.js +2 -0
  1174. package/dist/ind-ds/p-81afebb1.entry.js.map +1 -0
  1175. package/dist/ind-ds/p-8264f1cb.entry.js +2 -0
  1176. package/dist/ind-ds/p-8264f1cb.entry.js.map +1 -0
  1177. package/dist/ind-ds/p-82e30a2b.entry.js +2 -0
  1178. package/dist/ind-ds/p-82e30a2b.entry.js.map +1 -0
  1179. package/dist/ind-ds/p-83e5c6f2.entry.js +2 -0
  1180. package/dist/ind-ds/p-83e5c6f2.entry.js.map +1 -0
  1181. package/dist/ind-ds/p-866865be.entry.js +2 -0
  1182. package/dist/ind-ds/p-866865be.entry.js.map +1 -0
  1183. package/dist/ind-ds/p-872b2341.entry.js +2 -0
  1184. package/dist/ind-ds/p-872b2341.entry.js.map +1 -0
  1185. package/dist/ind-ds/{p-5369d63a.entry.js → p-880b7148.entry.js} +2 -2
  1186. package/dist/ind-ds/{p-781e21df.entry.js → p-8bae38f6.entry.js} +2 -2
  1187. package/dist/ind-ds/p-8ed6ec01.entry.js +2 -0
  1188. package/dist/ind-ds/p-8ed6ec01.entry.js.map +1 -0
  1189. package/dist/ind-ds/{p-52b18003.entry.js → p-91366917.entry.js} +2 -2
  1190. package/dist/ind-ds/p-93c934e3.entry.js +2 -0
  1191. package/dist/ind-ds/p-940221f7.entry.js +2 -0
  1192. package/dist/ind-ds/p-940221f7.entry.js.map +1 -0
  1193. package/dist/ind-ds/p-9da66a8c.entry.js +2 -0
  1194. package/dist/ind-ds/p-9da66a8c.entry.js.map +1 -0
  1195. package/dist/ind-ds/{p-c9f752e6.entry.js → p-9fbc8bc4.entry.js} +2 -2
  1196. package/dist/ind-ds/p-Bls_NlWP.js +3 -0
  1197. package/dist/ind-ds/p-Bls_NlWP.js.map +1 -0
  1198. package/dist/ind-ds/p-a2aa673c.entry.js +2 -0
  1199. package/dist/ind-ds/p-a2aa673c.entry.js.map +1 -0
  1200. package/dist/ind-ds/p-a7819f86.entry.js +2 -0
  1201. package/dist/ind-ds/p-a7819f86.entry.js.map +1 -0
  1202. package/dist/ind-ds/p-a9d0d040.entry.js +2 -0
  1203. package/dist/ind-ds/p-a9d0d040.entry.js.map +1 -0
  1204. package/dist/ind-ds/p-aa926eb9.entry.js +2 -0
  1205. package/dist/ind-ds/p-aa926eb9.entry.js.map +1 -0
  1206. package/dist/ind-ds/p-acf6c190.entry.js +2 -0
  1207. package/dist/ind-ds/p-acf6c190.entry.js.map +1 -0
  1208. package/dist/ind-ds/p-aed02606.entry.js +2 -0
  1209. package/dist/ind-ds/p-aed02606.entry.js.map +1 -0
  1210. package/dist/ind-ds/p-b1487a49.entry.js +2 -0
  1211. package/dist/ind-ds/p-b1487a49.entry.js.map +1 -0
  1212. package/dist/ind-ds/{p-6c5c8053.entry.js → p-b27c4d6b.entry.js} +2 -2
  1213. package/dist/ind-ds/p-b595aa1c.entry.js +2 -0
  1214. package/dist/ind-ds/p-b595aa1c.entry.js.map +1 -0
  1215. package/dist/ind-ds/{p-9b93fb09.entry.js → p-b5b6ceca.entry.js} +2 -2
  1216. package/dist/ind-ds/p-b8e77e43.entry.js +2 -0
  1217. package/dist/ind-ds/p-b8e77e43.entry.js.map +1 -0
  1218. package/dist/ind-ds/p-b9f36487.entry.js +2 -0
  1219. package/dist/ind-ds/p-b9f36487.entry.js.map +1 -0
  1220. package/dist/ind-ds/p-bb56a2b3.entry.js +2 -0
  1221. package/dist/ind-ds/p-bb56a2b3.entry.js.map +1 -0
  1222. package/dist/ind-ds/p-bbc9cf76.entry.js +2 -0
  1223. package/dist/ind-ds/p-bbc9cf76.entry.js.map +1 -0
  1224. package/dist/ind-ds/{p-459405b6.entry.js → p-c1714801.entry.js} +2 -2
  1225. package/dist/ind-ds/p-c30766d8.entry.js +2 -0
  1226. package/dist/ind-ds/p-c30766d8.entry.js.map +1 -0
  1227. package/dist/ind-ds/p-c6799bfc.entry.js +2 -0
  1228. package/dist/ind-ds/p-c6799bfc.entry.js.map +1 -0
  1229. package/dist/ind-ds/p-c857f789.entry.js +2 -0
  1230. package/dist/ind-ds/p-c857f789.entry.js.map +1 -0
  1231. package/dist/ind-ds/p-cc24e08a.entry.js +2 -0
  1232. package/dist/ind-ds/p-cc24e08a.entry.js.map +1 -0
  1233. package/dist/ind-ds/p-cf5b9e07.entry.js +2 -0
  1234. package/dist/ind-ds/p-cf5b9e07.entry.js.map +1 -0
  1235. package/dist/ind-ds/p-d0c6070b.entry.js +2 -0
  1236. package/dist/ind-ds/p-d0c6070b.entry.js.map +1 -0
  1237. package/dist/ind-ds/p-d454102f.entry.js +2 -0
  1238. package/dist/ind-ds/p-d454102f.entry.js.map +1 -0
  1239. package/dist/ind-ds/p-d760dc98.entry.js +2 -0
  1240. package/dist/ind-ds/p-d760dc98.entry.js.map +1 -0
  1241. package/dist/ind-ds/{p-99f55d2a.entry.js → p-ddbed251.entry.js} +2 -2
  1242. package/dist/ind-ds/p-ddc19668.entry.js +2 -0
  1243. package/dist/ind-ds/p-ddc19668.entry.js.map +1 -0
  1244. package/dist/ind-ds/p-de63cd36.entry.js +2 -0
  1245. package/dist/ind-ds/p-de63cd36.entry.js.map +1 -0
  1246. package/dist/ind-ds/p-e0644932.entry.js +2 -0
  1247. package/dist/ind-ds/p-e0644932.entry.js.map +1 -0
  1248. package/dist/ind-ds/{p-1d871f3f.entry.js → p-e314fa9b.entry.js} +2 -2
  1249. package/dist/ind-ds/p-e501fde9.entry.js +2 -0
  1250. package/dist/ind-ds/p-e501fde9.entry.js.map +1 -0
  1251. package/dist/ind-ds/p-e5295b8e.entry.js +2 -0
  1252. package/dist/ind-ds/p-e5295b8e.entry.js.map +1 -0
  1253. package/dist/ind-ds/p-eac22c88.entry.js +2 -0
  1254. package/dist/ind-ds/p-eac22c88.entry.js.map +1 -0
  1255. package/dist/ind-ds/p-eb5e6683.entry.js +2 -0
  1256. package/dist/ind-ds/p-eb5e6683.entry.js.map +1 -0
  1257. package/dist/ind-ds/p-ec65f7d2.entry.js +2 -0
  1258. package/dist/ind-ds/p-ec65f7d2.entry.js.map +1 -0
  1259. package/dist/ind-ds/p-f0674d4c.entry.js +2 -0
  1260. package/dist/ind-ds/p-f0674d4c.entry.js.map +1 -0
  1261. package/dist/ind-ds/p-f4182d11.entry.js +2 -0
  1262. package/dist/ind-ds/p-f4182d11.entry.js.map +1 -0
  1263. package/dist/ind-ds/p-f8613dc4.entry.js +2 -0
  1264. package/dist/ind-ds/p-f8613dc4.entry.js.map +1 -0
  1265. package/dist/ind-ds/p-fa004b8b.entry.js +2 -0
  1266. package/dist/ind-ds/p-fa004b8b.entry.js.map +1 -0
  1267. package/dist/ind-ds/p-fa391b29.entry.js +2 -0
  1268. package/dist/ind-ds/p-fa391b29.entry.js.map +1 -0
  1269. package/dist/types/components/atoms/_equipment/types.d.ts +5 -0
  1270. package/dist/types/components/atoms/alarm-count/alarm-count.d.ts +18 -0
  1271. package/dist/types/components/atoms/badge/badge.d.ts +12 -0
  1272. package/dist/types/components/atoms/breadcrumb-item/breadcrumb-item.d.ts +14 -0
  1273. package/dist/types/components/atoms/canvas-layer/canvas-layer.d.ts +16 -0
  1274. package/dist/types/components/atoms/compressor/compressor.d.ts +13 -0
  1275. package/dist/types/components/atoms/connection-indicator/connection-indicator.d.ts +12 -0
  1276. package/dist/types/components/atoms/conveyor/conveyor.d.ts +16 -0
  1277. package/dist/types/components/atoms/cooler/cooler.d.ts +13 -0
  1278. package/dist/types/components/atoms/counter/counter.d.ts +19 -0
  1279. package/dist/types/components/atoms/datetime-picker/datetime-picker.d.ts +30 -0
  1280. package/dist/types/components/atoms/estop/estop.d.ts +19 -0
  1281. package/dist/types/components/atoms/fan/fan.d.ts +13 -0
  1282. package/dist/types/components/atoms/gauge/gauge.d.ts +36 -0
  1283. package/dist/types/components/atoms/heartbeat/heartbeat.d.ts +13 -0
  1284. package/dist/types/components/atoms/heater/heater.d.ts +13 -0
  1285. package/dist/types/components/atoms/icon/icon.d.ts +12 -0
  1286. package/dist/types/components/atoms/knob/knob.d.ts +39 -0
  1287. package/dist/types/components/atoms/label/label.d.ts +16 -0
  1288. package/dist/types/components/atoms/linear-gauge/linear-gauge.d.ts +35 -0
  1289. package/dist/types/components/atoms/motor/motor.d.ts +13 -0
  1290. package/dist/types/components/atoms/pipe/pipe.d.ts +19 -0
  1291. package/dist/types/components/atoms/process-symbol/process-symbol.d.ts +18 -0
  1292. package/dist/types/components/atoms/progress-ring/progress-ring.d.ts +25 -0
  1293. package/dist/types/components/atoms/pump/pump.d.ts +13 -0
  1294. package/dist/types/components/atoms/selector-switch/selector-switch.d.ts +21 -0
  1295. package/dist/types/components/atoms/setpoint/setpoint.d.ts +32 -0
  1296. package/dist/types/components/atoms/signal-quality/signal-quality.d.ts +14 -0
  1297. package/dist/types/components/atoms/silo/silo.d.ts +19 -0
  1298. package/dist/types/components/atoms/slider/slider.d.ts +31 -0
  1299. package/dist/types/components/atoms/sparkline/sparkline.d.ts +23 -0
  1300. package/dist/types/components/atoms/tab/tab.d.ts +15 -0
  1301. package/dist/types/components/atoms/tag-name/tag-name.d.ts +11 -0
  1302. package/dist/types/components/atoms/tank/tank.d.ts +19 -0
  1303. package/dist/types/components/atoms/timestamp/timestamp.d.ts +16 -0
  1304. package/dist/types/components/atoms/toggle/toggle.d.ts +22 -0
  1305. package/dist/types/components/atoms/tree-node/tree-node.d.ts +22 -0
  1306. package/dist/types/components/atoms/unit-label/unit-label.d.ts +9 -0
  1307. package/dist/types/components/atoms/xy-point/xy-point.d.ts +25 -0
  1308. package/dist/types/components/molecules/alarm-badge-group/alarm-badge-group.d.ts +21 -0
  1309. package/dist/types/components/molecules/alarm-row/alarm-row.d.ts +22 -0
  1310. package/dist/types/components/molecules/audit-row/audit-row.d.ts +16 -0
  1311. package/dist/types/components/molecules/batch-parameter-row/batch-parameter-row.d.ts +33 -0
  1312. package/dist/types/components/molecules/command-group/command-group.d.ts +16 -0
  1313. package/dist/types/components/molecules/device-connection-card/device-connection-card.d.ts +19 -0
  1314. package/dist/types/components/molecules/device-info-card/device-info-card.d.ts +24 -0
  1315. package/dist/types/components/molecules/energy-card/energy-card.d.ts +25 -0
  1316. package/dist/types/components/molecules/equipment-status-card/equipment-status-card.d.ts +20 -0
  1317. package/dist/types/components/molecules/event-row/event-row.d.ts +17 -0
  1318. package/dist/types/components/molecules/historical-value-row/historical-value-row.d.ts +20 -0
  1319. package/dist/types/components/molecules/kpi-card/kpi-card.d.ts +26 -0
  1320. package/dist/types/components/molecules/mode-selector/mode-selector.d.ts +20 -0
  1321. package/dist/types/components/molecules/motor-card/motor-card.d.ts +21 -0
  1322. package/dist/types/components/molecules/mqtt-tag-binding/mqtt-tag-binding.d.ts +23 -0
  1323. package/dist/types/components/molecules/network-status-card/network-status-card.d.ts +22 -0
  1324. package/dist/types/components/molecules/opcua-tag-binding/opcua-tag-binding.d.ts +22 -0
  1325. package/dist/types/components/molecules/pump-card/pump-card.d.ts +22 -0
  1326. package/dist/types/components/molecules/recipe-selector/recipe-selector.d.ts +26 -0
  1327. package/dist/types/components/molecules/setpoint-control/setpoint-control.d.ts +27 -0
  1328. package/dist/types/components/molecules/sidebar-group/sidebar-group.d.ts +19 -0
  1329. package/dist/types/components/molecules/speed-control/speed-control.d.ts +28 -0
  1330. package/dist/types/components/molecules/start-stop-control/start-stop-control.d.ts +25 -0
  1331. package/dist/types/components/molecules/tag-card/tag-card.d.ts +27 -0
  1332. package/dist/types/components/molecules/tank-level-card/tank-level-card.d.ts +24 -0
  1333. package/dist/types/components/molecules/temperature-control/temperature-control.d.ts +30 -0
  1334. package/dist/types/components/molecules/trend-widget/trend-widget.d.ts +29 -0
  1335. package/dist/types/components/molecules/valve-card/valve-card.d.ts +17 -0
  1336. package/dist/types/components/organisms/alarm-panel/alarm-panel.d.ts +30 -0
  1337. package/dist/types/components/organisms/alarm-summary/alarm-summary.d.ts +17 -0
  1338. package/dist/types/components/organisms/asset-overview/asset-overview.d.ts +20 -0
  1339. package/dist/types/components/organisms/batch-control-panel/batch-control-panel.d.ts +30 -0
  1340. package/dist/types/components/organisms/command-center/command-center.d.ts +11 -0
  1341. package/dist/types/components/organisms/context-toolbar/context-toolbar.d.ts +13 -0
  1342. package/dist/types/components/organisms/device-diagnostics-panel/device-diagnostics-panel.d.ts +25 -0
  1343. package/dist/types/components/organisms/energy-dashboard/energy-dashboard.d.ts +17 -0
  1344. package/dist/types/components/organisms/equipment-dashboard/equipment-dashboard.d.ts +12 -0
  1345. package/dist/types/components/organisms/event-journal/event-journal.d.ts +21 -0
  1346. package/dist/types/components/organisms/firmware-update-panel/firmware-update-panel.d.ts +23 -0
  1347. package/dist/types/components/organisms/historian-viewer/historian-viewer.d.ts +24 -0
  1348. package/dist/types/components/organisms/machine-overview/machine-overview.d.ts +17 -0
  1349. package/dist/types/components/organisms/maintenance-dashboard/maintenance-dashboard.d.ts +25 -0
  1350. package/dist/types/components/organisms/motor-control-panel/motor-control-panel.d.ts +26 -0
  1351. package/dist/types/components/organisms/oee-dashboard/oee-dashboard.d.ts +20 -0
  1352. package/dist/types/components/organisms/process-control-panel/process-control-panel.d.ts +35 -0
  1353. package/dist/types/components/organisms/production-cell/production-cell.d.ts +17 -0
  1354. package/dist/types/components/organisms/production-dashboard/production-dashboard.d.ts +13 -0
  1355. package/dist/types/components/organisms/production-line-overview/production-line-overview.d.ts +19 -0
  1356. package/dist/types/components/organisms/pump-control-panel/pump-control-panel.d.ts +20 -0
  1357. package/dist/types/components/organisms/recipe-management-panel/recipe-management-panel.d.ts +25 -0
  1358. package/dist/types/components/organisms/trend-viewer/trend-viewer.d.ts +21 -0
  1359. package/dist/types/components/organisms/valve-control-panel/valve-control-panel.d.ts +24 -0
  1360. package/dist/types/components/organisms/workstation-monitor/workstation-monitor.d.ts +23 -0
  1361. package/dist/types/components.d.ts +8729 -879
  1362. package/dist/types/index.d.ts +50 -0
  1363. package/package.json +3 -2
  1364. package/dist/cjs/ind-input.cjs.entry.js.map +0 -1
  1365. package/dist/cjs/ind-led.cjs.entry.js +0 -29
  1366. package/dist/cjs/ind-led.cjs.entry.js.map +0 -1
  1367. package/dist/cjs/index-ph7ZTjuY.js.map +0 -1
  1368. package/dist/esm/ind-input.entry.js.map +0 -1
  1369. package/dist/esm/ind-led.entry.js +0 -27
  1370. package/dist/esm/ind-led.entry.js.map +0 -1
  1371. package/dist/esm/index-D2yNiL0d.js.map +0 -1
  1372. package/dist/ind-ds/p-296b0c55.entry.js +0 -2
  1373. package/dist/ind-ds/p-4a4811ab.entry.js +0 -2
  1374. package/dist/ind-ds/p-4a4811ab.entry.js.map +0 -1
  1375. package/dist/ind-ds/p-6c8f4bbd.entry.js +0 -2
  1376. package/dist/ind-ds/p-D2yNiL0d.js +0 -3
  1377. package/dist/ind-ds/p-D2yNiL0d.js.map +0 -1
  1378. package/dist/ind-ds/p-d1edc052.entry.js +0 -2
  1379. package/dist/ind-ds/p-d1edc052.entry.js.map +0 -1
  1380. package/dist/ind-ds/p-ec0b3785.entry.js +0 -2
  1381. /package/dist/components/{p-acsAzrRn.js.map → p-D79nNJVt.js.map} +0 -0
  1382. /package/dist/ind-ds/{p-ea24a59d.entry.js.map → p-00d22e4b.entry.js.map} +0 -0
  1383. /package/dist/ind-ds/{p-8817625a.entry.js.map → p-094ac159.entry.js.map} +0 -0
  1384. /package/dist/ind-ds/{p-c8de42e9.entry.js.map → p-36e43ec4.entry.js.map} +0 -0
  1385. /package/dist/ind-ds/{p-cf07b580.entry.js.map → p-37d6486c.entry.js.map} +0 -0
  1386. /package/dist/ind-ds/{p-0840007d.entry.js.map → p-381489a3.entry.js.map} +0 -0
  1387. /package/dist/ind-ds/{p-1727b403.entry.js.map → p-45a62875.entry.js.map} +0 -0
  1388. /package/dist/ind-ds/{p-cee8bf2b.entry.js.map → p-5119173c.entry.js.map} +0 -0
  1389. /package/dist/ind-ds/{p-ee453874.entry.js.map → p-5a49aced.entry.js.map} +0 -0
  1390. /package/dist/ind-ds/{p-ec0b3785.entry.js.map → p-703709c2.entry.js.map} +0 -0
  1391. /package/dist/ind-ds/{p-6c8f4bbd.entry.js.map → p-70894390.entry.js.map} +0 -0
  1392. /package/dist/ind-ds/{p-595ccdce.entry.js.map → p-74f4256f.entry.js.map} +0 -0
  1393. /package/dist/ind-ds/{p-5369d63a.entry.js.map → p-880b7148.entry.js.map} +0 -0
  1394. /package/dist/ind-ds/{p-781e21df.entry.js.map → p-8bae38f6.entry.js.map} +0 -0
  1395. /package/dist/ind-ds/{p-52b18003.entry.js.map → p-91366917.entry.js.map} +0 -0
  1396. /package/dist/ind-ds/{p-296b0c55.entry.js.map → p-93c934e3.entry.js.map} +0 -0
  1397. /package/dist/ind-ds/{p-c9f752e6.entry.js.map → p-9fbc8bc4.entry.js.map} +0 -0
  1398. /package/dist/ind-ds/{p-6c5c8053.entry.js.map → p-b27c4d6b.entry.js.map} +0 -0
  1399. /package/dist/ind-ds/{p-9b93fb09.entry.js.map → p-b5b6ceca.entry.js.map} +0 -0
  1400. /package/dist/ind-ds/{p-459405b6.entry.js.map → p-c1714801.entry.js.map} +0 -0
  1401. /package/dist/ind-ds/{p-99f55d2a.entry.js.map → p-ddbed251.entry.js.map} +0 -0
  1402. /package/dist/ind-ds/{p-1d871f3f.entry.js.map → p-e314fa9b.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["panelCss","equipmentDashboardCss","IndEquipmentDashboard","heading","columns","render","h","Host","key","class","part","this","name","style","gridTemplateColumns"],"sources":["src/components/organisms/_shared/panel.css?tag=ind-equipment-dashboard&encapsulation=shadow","src/components/organisms/equipment-dashboard/equipment-dashboard.css?tag=ind-equipment-dashboard&encapsulation=shadow","src/components/organisms/equipment-dashboard/equipment-dashboard.tsx"],"sourcesContent":["/* Shared chrome for organism panels. Pulled in first via\n * `styleUrls: ['../_shared/panel.css', 'xxx.css']`. */\n:host {\n display: flex;\n flex-direction: column;\n background: var(--ind-surface-panel);\n border: 1px solid var(--ind-surface-border-default);\n border-radius: var(--ind-radius-md, 3px);\n font-family: var(--ind-font-family-sans);\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n box-sizing: border-box;\n overflow: hidden;\n font-feature-settings: var(--ind-font-feature-tabular, \"tnum\" 1);\n}\n\n.panel-head {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n background: var(--ind-surface-raised);\n flex: 0 0 auto;\n}\n\n.panel-titles {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.panel-title {\n font-size: var(--ind-font-size-md, 13px);\n font-weight: var(--ind-font-weight-semibold, 600);\n line-height: 1.2;\n}\n\n.panel-subtitle {\n font-size: var(--ind-font-size-xs, 10px);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));\n}\n\n.panel-tag {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-secondary);\n}\n\n.panel-actions {\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n}\n\n.panel-body {\n display: flex;\n flex-direction: column;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n min-height: 0;\n}\n\n.panel-toolbar {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n padding: var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n flex: 0 0 auto;\n}\n\n.panel-list {\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n.panel-grid {\n display: grid;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n}\n\n.panel-empty {\n padding: var(--ind-spacing-7, 20px);\n text-align: center;\n color: var(--ind-surface-text-muted);\n font-size: var(--ind-font-size-sm, 11px);\n}\n\n.panel-spacer {\n flex: 1 1 auto;\n}\n",":host {\n min-width: 480px;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * Responsive grid host for equipment faceplate molecules (motor/pump/valve/\n * tank cards). Slot the cards in; the dashboard supplies the heading and the\n * column layout.\n */\n@Component({\n tag: 'ind-equipment-dashboard',\n styleUrls: ['../_shared/panel.css', 'equipment-dashboard.css'],\n shadow: true,\n})\nexport class IndEquipmentDashboard {\n @Prop() heading: string = 'Equipment';\n /** Number of grid columns. */\n @Prop() columns: number = 3;\n\n render() {\n return (\n <Host>\n <div class=\"panel-head\">\n <span class=\"panel-title\" part=\"heading\">{this.heading}</span>\n <div class=\"panel-actions\"><slot name=\"actions\" /></div>\n </div>\n <div\n class=\"panel-grid\"\n part=\"grid\"\n style={{ gridTemplateColumns: `repeat(${this.columns}, minmax(0, 1fr))` }}\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAW,IAAM,4zDCAvB,MAAMC,EAAwB,IAAM,yB,MCYvBC,EAAqB,M,yBACxBC,QAAkB,YAElBC,QAAkB,EAE1B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cACTH,EAAA,QAAAE,IAAA,2CAAMC,MAAM,cAAcC,KAAK,WAAWC,KAAKR,SAC/CG,EAAA,OAAAE,IAAA,2CAAKC,MAAM,iBAAgBH,EAAA,QAAAE,IAAA,2CAAMI,KAAK,cAExCN,EAAA,OAAAE,IAAA,2CACEC,MAAM,aACNC,KAAK,OACLG,MAAO,CAAEC,oBAAqB,UAAUH,KAAKP,6BAE7CE,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a,H as i}from"./p-Bls_NlWP.js";const n=()=>`:host{display:flex;flex-direction:column;background:var(--ind-surface-panel);border:1px solid var(--ind-surface-border-default);border-radius:var(--ind-radius-md, 3px);font-family:var(--ind-font-family-sans);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));box-sizing:border-box;overflow:hidden;font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1)}.panel-head{display:flex;align-items:center;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);background:var(--ind-surface-raised);flex:0 0 auto}.panel-titles{display:flex;flex-direction:column;min-width:0}.panel-title{font-size:var(--ind-font-size-md, 13px);font-weight:var(--ind-font-weight-semibold, 600);line-height:1.2}.panel-subtitle{font-size:var(--ind-font-size-xs, 10px);text-transform:uppercase;letter-spacing:0.06em;color:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0))}.panel-tag{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-secondary)}.panel-actions{margin-left:auto;display:flex;align-items:center;gap:var(--ind-spacing-3, 6px)}.panel-body{display:flex;flex-direction:column;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px);min-height:0}.panel-toolbar{display:flex;align-items:center;gap:var(--ind-spacing-3, 6px);padding:var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);flex:0 0 auto}.panel-list{display:flex;flex-direction:column;overflow:auto}.panel-grid{display:grid;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px)}.panel-empty{padding:var(--ind-spacing-7, 20px);text-align:center;color:var(--ind-surface-text-muted);font-size:var(--ind-font-size-sm, 11px)}.panel-spacer{flex:1 1 auto}`;const r=()=>`:host{min-width:360px}.series{display:flex;flex-direction:column;gap:var(--ind-spacing-2, 4px)}.series-head{display:flex;align-items:baseline;gap:var(--ind-spacing-3, 6px);font-size:var(--ind-font-size-sm, 11px)}.series-label{color:var(--ind-surface-text-secondary)}.series-value{margin-left:auto;font-family:var(--ind-font-family-mono);font-weight:var(--ind-font-weight-semibold, 600);color:var(--ind-surface-text-primary)}.legend{width:10px;height:10px;border-radius:2px;flex:0 0 auto;background:var(--ind-surface-text-muted)}.legend-running{background:var(--ind-state-running-bg, #16a34a)}.legend-warning{background:var(--ind-state-warning-bg, #f59e0b)}.legend-fault{background:var(--ind-state-fault-bg, #dc2626)}.legend-default{background:var(--ind-color-palette-cyan-300, #22d3ee)}.series-spark{width:100%;height:40px}`;const s=class{constructor(a){e(this,a)}heading="Trends";series=[];last(e){if(!e.points.length)return"--";const a=e.points[e.points.length-1];return e.precision!==undefined?a.toFixed(e.precision):String(a)}render(){return a(i,{key:"41e4221a264008e8405251a8701cc16576758fe7"},a("div",{key:"9c0684d404e77dbb2de77d1873b933f58a420e85",class:"panel-head"},a("span",{key:"596e6de04ef55e07038c9d7c78cbf258767c7699",class:"panel-title",part:"heading"},this.heading)),a("div",{key:"fd80bafe1fbe0a0f7bccc713a6ec0a13b5eb53b3",class:"panel-body"},this.series.length===0?a("div",{class:"panel-empty"},"No series"):this.series.map(((e,i)=>a("div",{class:"series",part:"series",key:i},a("div",{class:"series-head"},a("span",{class:`legend legend-${e.variant??"default"}`,"aria-hidden":"true"}),a("span",{class:"series-label"},e.label),a("span",{class:"series-value"},this.last(e),e.unit?` ${e.unit}`:"")),a("ind-sparkline",{class:"series-spark",points:e.points,variant:e.variant??"default",area:true}))))))}};s.style=n()+r();export{s as ind_trend_viewer};
2
+ //# sourceMappingURL=p-548d7456.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["panelCss","trendViewerCss","IndTrendViewer","heading","series","last","s","points","length","v","precision","undefined","toFixed","String","render","h","Host","key","class","part","this","map","i","variant","label","unit","area"],"sources":["src/components/organisms/_shared/panel.css?tag=ind-trend-viewer&encapsulation=shadow","src/components/organisms/trend-viewer/trend-viewer.css?tag=ind-trend-viewer&encapsulation=shadow","src/components/organisms/trend-viewer/trend-viewer.tsx"],"sourcesContent":["/* Shared chrome for organism panels. Pulled in first via\n * `styleUrls: ['../_shared/panel.css', 'xxx.css']`. */\n:host {\n display: flex;\n flex-direction: column;\n background: var(--ind-surface-panel);\n border: 1px solid var(--ind-surface-border-default);\n border-radius: var(--ind-radius-md, 3px);\n font-family: var(--ind-font-family-sans);\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n box-sizing: border-box;\n overflow: hidden;\n font-feature-settings: var(--ind-font-feature-tabular, \"tnum\" 1);\n}\n\n.panel-head {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n background: var(--ind-surface-raised);\n flex: 0 0 auto;\n}\n\n.panel-titles {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.panel-title {\n font-size: var(--ind-font-size-md, 13px);\n font-weight: var(--ind-font-weight-semibold, 600);\n line-height: 1.2;\n}\n\n.panel-subtitle {\n font-size: var(--ind-font-size-xs, 10px);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));\n}\n\n.panel-tag {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-secondary);\n}\n\n.panel-actions {\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n}\n\n.panel-body {\n display: flex;\n flex-direction: column;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n min-height: 0;\n}\n\n.panel-toolbar {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n padding: var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n flex: 0 0 auto;\n}\n\n.panel-list {\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n.panel-grid {\n display: grid;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n}\n\n.panel-empty {\n padding: var(--ind-spacing-7, 20px);\n text-align: center;\n color: var(--ind-surface-text-muted);\n font-size: var(--ind-font-size-sm, 11px);\n}\n\n.panel-spacer {\n flex: 1 1 auto;\n}\n",":host {\n min-width: 360px;\n}\n\n.series {\n display: flex;\n flex-direction: column;\n gap: var(--ind-spacing-2, 4px);\n}\n\n.series-head {\n display: flex;\n align-items: baseline;\n gap: var(--ind-spacing-3, 6px);\n font-size: var(--ind-font-size-sm, 11px);\n}\n\n.series-label {\n color: var(--ind-surface-text-secondary);\n}\n\n.series-value {\n margin-left: auto;\n font-family: var(--ind-font-family-mono);\n font-weight: var(--ind-font-weight-semibold, 600);\n color: var(--ind-surface-text-primary);\n}\n\n.legend {\n width: 10px;\n height: 10px;\n border-radius: 2px;\n flex: 0 0 auto;\n background: var(--ind-surface-text-muted);\n}\n\n.legend-running { background: var(--ind-state-running-bg, #16a34a); }\n.legend-warning { background: var(--ind-state-warning-bg, #f59e0b); }\n.legend-fault { background: var(--ind-state-fault-bg, #dc2626); }\n.legend-default { background: var(--ind-color-palette-cyan-300, #22d3ee); }\n\n.series-spark {\n width: 100%;\n height: 40px;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport type { TrendVariant } from '../../molecules/trend-widget/trend-widget';\n\nexport interface TrendSeries {\n label: string;\n points: number[];\n unit?: string;\n variant?: TrendVariant;\n precision?: number;\n}\n\n/**\n * Multi-series trend viewer. Stacks one labelled `<ind-sparkline>` per series\n * with the current value, for comparing several tags without a full charting\n * library.\n */\n@Component({\n tag: 'ind-trend-viewer',\n styleUrls: ['../_shared/panel.css', 'trend-viewer.css'],\n shadow: true,\n})\nexport class IndTrendViewer {\n @Prop() heading: string = 'Trends';\n /** Series to plot. */\n @Prop() series: TrendSeries[] = [];\n\n private last(s: TrendSeries): string {\n if (!s.points.length) return '--';\n const v = s.points[s.points.length - 1];\n return s.precision !== undefined ? v.toFixed(s.precision) : String(v);\n }\n\n render() {\n return (\n <Host>\n <div class=\"panel-head\">\n <span class=\"panel-title\" part=\"heading\">{this.heading}</span>\n </div>\n <div class=\"panel-body\">\n {this.series.length === 0 ? (\n <div class=\"panel-empty\">No series</div>\n ) : (\n this.series.map((s, i) => (\n <div class=\"series\" part=\"series\" key={i}>\n <div class=\"series-head\">\n <span class={`legend legend-${s.variant ?? 'default'}`} aria-hidden=\"true\"></span>\n <span class=\"series-label\">{s.label}</span>\n <span class=\"series-value\">\n {this.last(s)}{s.unit ? ` ${s.unit}` : ''}\n </span>\n </div>\n <ind-sparkline class=\"series-spark\" points={s.points} variant={s.variant ?? 'default'} area></ind-sparkline>\n </div>\n ))\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAW,IAAM,4zDCAvB,MAAMC,EAAiB,IAAM,0zB,MCqBhBC,EAAc,M,yBACjBC,QAAkB,SAElBC,OAAwB,GAExB,IAAAC,CAAKC,GACX,IAAKA,EAAEC,OAAOC,OAAQ,MAAO,KAC7B,MAAMC,EAAIH,EAAEC,OAAOD,EAAEC,OAAOC,OAAS,GACrC,OAAOF,EAAEI,YAAcC,UAAYF,EAAEG,QAAQN,EAAEI,WAAaG,OAAOJ,E,CAGrE,MAAAK,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cACTH,EAAA,QAAAE,IAAA,2CAAMC,MAAM,cAAcC,KAAK,WAAWC,KAAKjB,UAEjDY,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cACRE,KAAKhB,OAAOI,SAAW,EACtBO,EAAA,OAAKG,MAAM,eAAa,aAExBE,KAAKhB,OAAOiB,KAAI,CAACf,EAAGgB,IAClBP,EAAA,OAAKG,MAAM,SAASC,KAAK,SAASF,IAAKK,GACrCP,EAAA,OAAKG,MAAM,eACTH,EAAA,QAAMG,MAAO,iBAAiBZ,EAAEiB,SAAW,YAAW,cAAc,SACpER,EAAA,QAAMG,MAAM,gBAAgBZ,EAAEkB,OAC9BT,EAAA,QAAMG,MAAM,gBACTE,KAAKf,KAAKC,GAAIA,EAAEmB,KAAO,IAAInB,EAAEmB,OAAS,KAG3CV,EAAA,iBAAeG,MAAM,eAAeX,OAAQD,EAAEC,OAAQgB,QAASjB,EAAEiB,SAAW,UAAWG,KAAI,W","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as s,h as a,H as i}from"./p-Bls_NlWP.js";const t=()=>`:host{display:inline-flex;flex-direction:column;align-items:center;gap:var(--ind-spacing-2, 4px);font-family:var(--ind-font-family-sans, system-ui, sans-serif);--_size:56px}:host([size="sm"]){--_size:40px}:host([size="lg"]){--_size:80px}.btn{appearance:none;border:none;background:none;padding:0;cursor:pointer;line-height:0}.btn:disabled{cursor:not-allowed;opacity:0.5}.ring{display:inline-flex;align-items:center;justify-content:center;width:var(--_size);height:var(--_size);border-radius:50%;background:radial-gradient(circle at 50% 40%, #ffd400, #d9a900);box-shadow:0 2px 6px rgba(0, 0, 0, 0.5)}.mushroom{display:block;width:72%;height:72%;border-radius:50%;background:radial-gradient(circle at 35% 30%, #ff5a52, #c1121f 70%);box-shadow:inset 0 -3px 6px rgba(0, 0, 0, 0.5), inset 0 2px 4px rgba(255, 255, 255, 0.4);transition:transform var(--ind-motion-duration-fast, 120ms) ease, box-shadow var(--ind-motion-duration-fast, 120ms) ease}:host([engaged]) .mushroom{transform:scale(0.86);box-shadow:inset 0 -1px 3px rgba(0, 0, 0, 0.6), 0 0 0 3px color-mix(in srgb, #c1121f 50%, transparent)}.btn:focus-visible .ring{outline:3px solid var(--ind-surface-focus-ring, #67e8f9);outline-offset:3px}.caption{font-size:var(--ind-font-size-xs, 10px);font-weight:var(--ind-font-weight-bold, 700);letter-spacing:0.04em;color:var(--ind-state-fault-bg, #dc2626);text-align:center}@media (prefers-reduced-motion: reduce){.mushroom{transition:none}}`;const n=class{constructor(a){e(this,a);this.indActivate=s(this,"indActivate");this.indReset=s(this,"indReset")}engaged=false;disabled=false;size="md";label;indActivate;indReset;press=()=>{if(this.disabled)return;if(this.engaged){this.engaged=false;this.indReset.emit()}else{this.engaged=true;this.indActivate.emit()}};render(){const e=this.label??"EMERGENCY STOP";return a(i,{key:"1d89daec6d582afdf9a80afab71bd74fa581b9fb"},a("button",{key:"e143f5cdcbf6128f14aa2be18d9e14484dc6848f",type:"button",class:"btn",part:"button","aria-pressed":this.engaged?"true":"false","aria-label":`${e}${this.engaged?" — engaged":""}`,disabled:this.disabled,onClick:this.press},a("span",{key:"4080a0c05c0c0519aace4f85c1855d873bd5e98e",class:"ring",part:"ring"},a("span",{key:"74ee36092a5d05adceded87b76276b245c191010",class:"mushroom",part:"mushroom"}))),a("span",{key:"1e055f18d1b651c7ebb7a86085976f54ffbf2787",class:"caption",part:"caption"},e))}};n.style=t();export{n as ind_estop};
2
+ //# sourceMappingURL=p-585af84b.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["estopCss","IndEstop","engaged","disabled","size","label","indActivate","indReset","press","this","emit","render","caption","h","Host","key","type","class","part","onClick"],"sources":["src/components/atoms/estop/estop.css?tag=ind-estop&encapsulation=shadow","src/components/atoms/estop/estop.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n gap: var(--ind-spacing-2, 4px);\n font-family: var(--ind-font-family-sans, system-ui, sans-serif);\n --_size: 56px;\n}\n\n:host([size=\"sm\"]) { --_size: 40px; }\n:host([size=\"lg\"]) { --_size: 80px; }\n\n.btn {\n appearance: none;\n border: none;\n background: none;\n padding: 0;\n cursor: pointer;\n line-height: 0;\n}\n\n.btn:disabled { cursor: not-allowed; opacity: 0.5; }\n\n.ring {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--_size);\n height: var(--_size);\n border-radius: 50%;\n background: radial-gradient(circle at 50% 40%, #ffd400, #d9a900);\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);\n}\n\n.mushroom {\n display: block;\n width: 72%;\n height: 72%;\n border-radius: 50%;\n background: radial-gradient(circle at 35% 30%, #ff5a52, #c1121f 70%);\n box-shadow:\n inset 0 -3px 6px rgba(0, 0, 0, 0.5),\n inset 0 2px 4px rgba(255, 255, 255, 0.4);\n transition: transform var(--ind-motion-duration-fast, 120ms) ease, box-shadow var(--ind-motion-duration-fast, 120ms) ease;\n}\n\n:host([engaged]) .mushroom {\n transform: scale(0.86);\n box-shadow:\n inset 0 -1px 3px rgba(0, 0, 0, 0.6),\n 0 0 0 3px color-mix(in srgb, #c1121f 50%, transparent);\n}\n\n.btn:focus-visible .ring {\n outline: 3px solid var(--ind-surface-focus-ring, #67e8f9);\n outline-offset: 3px;\n}\n\n.caption {\n font-size: var(--ind-font-size-xs, 10px);\n font-weight: var(--ind-font-weight-bold, 700);\n letter-spacing: 0.04em;\n color: var(--ind-state-fault-bg, #dc2626);\n text-align: center;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .mushroom { transition: none; }\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport type EstopSize = 'sm' | 'md' | 'lg';\n\n@Component({\n tag: 'ind-estop',\n styleUrl: 'estop.css',\n shadow: true,\n})\nexport class IndEstop {\n /** Whether the mushroom button is latched (pressed/engaged). */\n @Prop({ mutable: true, reflect: true }) engaged: boolean = false;\n /** Disabled. */\n @Prop({ reflect: true }) disabled: boolean = false;\n /** Size. */\n @Prop({ reflect: true }) size: EstopSize = 'md';\n /** Visible caption. Defaults to \"EMERGENCY STOP\". */\n @Prop() label?: string;\n\n /** Fires when pressed to engage the stop. */\n @Event() indActivate!: EventEmitter<void>;\n /** Fires when reset (twist-release) from an engaged state. */\n @Event() indReset!: EventEmitter<void>;\n\n private press = () => {\n if (this.disabled) return;\n if (this.engaged) {\n this.engaged = false;\n this.indReset.emit();\n } else {\n this.engaged = true;\n this.indActivate.emit();\n }\n };\n\n render() {\n const caption = this.label ?? 'EMERGENCY STOP';\n return (\n <Host>\n <button\n type=\"button\"\n class=\"btn\"\n part=\"button\"\n aria-pressed={this.engaged ? 'true' : 'false'}\n aria-label={`${caption}${this.engaged ? ' — engaged' : ''}`}\n disabled={this.disabled}\n onClick={this.press}\n >\n <span class=\"ring\" part=\"ring\">\n <span class=\"mushroom\" part=\"mushroom\" />\n </span>\n </button>\n <span class=\"caption\" part=\"caption\">{caption}</span>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAW,IAAM,s6C,MCSVC,EAAQ,M,iGAEqBC,QAAmB,MAElCC,SAAoB,MAEpBC,KAAkB,KAEnCC,MAGCC,YAEAC,SAEDC,MAAQ,KACd,GAAIC,KAAKN,SAAU,OACnB,GAAIM,KAAKP,QAAS,CAChBO,KAAKP,QAAU,MACfO,KAAKF,SAASG,M,KACT,CACLD,KAAKP,QAAU,KACfO,KAAKH,YAAYI,M,GAIrB,MAAAC,GACE,MAAMC,EAAUH,KAAKJ,OAAS,iBAC9B,OACEQ,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,UAAAE,IAAA,2CACEC,KAAK,SACLC,MAAM,MACNC,KAAK,SAAQ,eACCT,KAAKP,QAAU,OAAS,QAAO,aACjC,GAAGU,IAAUH,KAAKP,QAAU,aAAe,KACvDC,SAAUM,KAAKN,SACfgB,QAASV,KAAKD,OAEdK,EAAA,QAAAE,IAAA,2CAAME,MAAM,OAAOC,KAAK,QACtBL,EAAA,QAAAE,IAAA,2CAAME,MAAM,WAAWC,KAAK,eAGhCL,EAAA,QAAAE,IAAA,2CAAME,MAAM,UAAUC,KAAK,WAAWN,G","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as a,c as e,a as t,h as r,H as i}from"./p-D2yNiL0d.js";const n=()=>`:host{display:inline-block;width:100%;font-family:var(--ind-font-family-sans);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5))}.wrap{display:flex;flex-direction:column;gap:var(--ind-spacing-2, 4px)}.label{font-size:var(--ind-font-size-sm, 11px);font-weight:var(--ind-font-weight-medium, 500);color:var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));letter-spacing:0.04em;text-transform:uppercase}.textarea{width:100%;box-sizing:border-box;padding:var(--ind-spacing-3, 6px) var(--ind-spacing-4, 8px);background:var(--ind-surface-sunken, light-dark(#ffffff, #000000));border:1px solid var(--ind-surface-border-default, #2a3340);border-radius:var(--ind-radius-md, 3px);font-family:inherit;font-size:var(--ind-font-size-base, 12px);line-height:var(--ind-font-line-height-normal, 1.4);color:inherit;resize:vertical;outline:none;font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1);transition:border-color var(--ind-motion-duration-fast, 120ms), box-shadow var(--ind-motion-duration-fast, 120ms)}.textarea:focus{border-color:var(--ind-surface-focus-ring, #22d3ee);box-shadow:0 0 0 2px color-mix(in srgb, var(--ind-surface-focus-ring, #22d3ee) 35%, transparent)}.textarea::placeholder{color:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));opacity:1}:host([variant="mono"]) .textarea{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-sm, 11px);line-height:var(--ind-font-line-height-tight, 1.4);background:var(--ind-color-palette-neutral-0, #000000);color:var(--ind-color-palette-neutral-800, #d0d7e0);border-color:var(--ind-surface-border-strong, #5a6776)}:host([invalid]) .textarea{border-color:var(--ind-feedback-error-bg, #dc2626)}:host([invalid]) .textarea:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--ind-feedback-error-bg, #dc2626) 40%, transparent)}:host([readonly]) .textarea{cursor:default}:host([disabled]){opacity:0.55;pointer-events:none}`;const o=class{constructor(t){a(this,t);this.indInput=e(this,"indInput");this.indChange=e(this,"indChange")}get host(){return t(this)}value="";placeholder;label;name;rows=4;size="md";variant="default";disabled=false;readonly=false;invalid=false;autoScroll=false;indInput;indChange;componentDidLoad(){if(this.autoScroll)this.scrollToBottom()}onValueChange(){if(this.autoScroll)this.scrollToBottom()}scrollToBottom(){requestAnimationFrame((()=>{const a=this.host.shadowRoot?.querySelector("textarea");if(a)a.scrollTop=a.scrollHeight}))}onInput=a=>{const e=a.target.value;this.value=e;this.indInput.emit(e)};onChange=a=>{this.indChange.emit(a.target.value)};render(){return r(i,{key:"a4ca904c7a9ca65900e0ccc696aab66429bdde71"},r("label",{key:"57f1880efe8a30a2bd5e1253c81f058360519c9f",class:"wrap",part:"wrap"},this.label&&r("span",{key:"aa0367d91235eca6d69fd520617ea831b1ac71fc",class:"label",part:"label"},this.label),r("textarea",{key:"2248ea771f4ac6f8ae9fb0cc12ea4ed038e7ab24",part:"textarea",class:"textarea",placeholder:this.placeholder,rows:this.rows,disabled:this.disabled,readonly:this.readonly,name:this.name,"aria-invalid":this.invalid?"true":"false",onInput:this.onInput,onChange:this.onChange},this.value)))}static get watchers(){return{value:[{onValueChange:0}]}}};o.style=n();export{o as ind_textarea};
2
- //# sourceMappingURL=p-ee453874.entry.js.map
1
+ import{r as a,c as e,a as t,h as r,H as i}from"./p-Bls_NlWP.js";const n=()=>`:host{display:inline-block;width:100%;font-family:var(--ind-font-family-sans);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5))}.wrap{display:flex;flex-direction:column;gap:var(--ind-spacing-2, 4px)}.label{font-size:var(--ind-font-size-sm, 11px);font-weight:var(--ind-font-weight-medium, 500);color:var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));letter-spacing:0.04em;text-transform:uppercase}.textarea{width:100%;box-sizing:border-box;padding:var(--ind-spacing-3, 6px) var(--ind-spacing-4, 8px);background:var(--ind-surface-sunken, light-dark(#ffffff, #000000));border:1px solid var(--ind-surface-border-default, #2a3340);border-radius:var(--ind-radius-md, 3px);font-family:inherit;font-size:var(--ind-font-size-base, 12px);line-height:var(--ind-font-line-height-normal, 1.4);color:inherit;resize:vertical;outline:none;font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1);transition:border-color var(--ind-motion-duration-fast, 120ms), box-shadow var(--ind-motion-duration-fast, 120ms)}.textarea:focus{border-color:var(--ind-surface-focus-ring, #22d3ee);box-shadow:0 0 0 2px color-mix(in srgb, var(--ind-surface-focus-ring, #22d3ee) 35%, transparent)}.textarea::placeholder{color:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));opacity:1}:host([variant="mono"]) .textarea{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-sm, 11px);line-height:var(--ind-font-line-height-tight, 1.4);background:var(--ind-color-palette-neutral-0, #000000);color:var(--ind-color-palette-neutral-800, #d0d7e0);border-color:var(--ind-surface-border-strong, #5a6776)}:host([invalid]) .textarea{border-color:var(--ind-feedback-error-bg, #dc2626)}:host([invalid]) .textarea:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--ind-feedback-error-bg, #dc2626) 40%, transparent)}:host([readonly]) .textarea{cursor:default}:host([disabled]){opacity:0.55;pointer-events:none}`;const o=class{constructor(t){a(this,t);this.indInput=e(this,"indInput");this.indChange=e(this,"indChange")}get host(){return t(this)}value="";placeholder;label;name;rows=4;size="md";variant="default";disabled=false;readonly=false;invalid=false;autoScroll=false;indInput;indChange;componentDidLoad(){if(this.autoScroll)this.scrollToBottom()}onValueChange(){if(this.autoScroll)this.scrollToBottom()}scrollToBottom(){requestAnimationFrame((()=>{const a=this.host.shadowRoot?.querySelector("textarea");if(a)a.scrollTop=a.scrollHeight}))}onInput=a=>{const e=a.target.value;this.value=e;this.indInput.emit(e)};onChange=a=>{this.indChange.emit(a.target.value)};render(){return r(i,{key:"57426919f6763e39da55fc5bf1366a5c9ce24436"},r("label",{key:"c0cc807246cd070846c50ad4124297fb1bd2d95d",class:"wrap",part:"wrap"},this.label&&r("span",{key:"e3a2d9a38526b6cee6f5b07e228dba59daf5d212",class:"label",part:"label"},this.label),r("textarea",{key:"8b0f6fa3c2b4457db390bf44b06c81e089724da2",part:"textarea",class:"textarea",placeholder:this.placeholder,rows:this.rows,disabled:this.disabled,readonly:this.readonly,name:this.name,"aria-invalid":this.invalid?"true":"false",onInput:this.onInput,onChange:this.onChange},this.value)))}static get watchers(){return{value:[{onValueChange:0}]}}};o.style=n();export{o as ind_textarea};
2
+ //# sourceMappingURL=p-5a49aced.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as a,h as e,H as i}from"./p-Bls_NlWP.js";const n=()=>`:host{display:flex;flex-direction:column;background:var(--ind-surface-panel);border:1px solid var(--ind-surface-border-default);border-radius:var(--ind-radius-md, 3px);font-family:var(--ind-font-family-sans);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));box-sizing:border-box;overflow:hidden;font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1)}.panel-head{display:flex;align-items:center;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);background:var(--ind-surface-raised);flex:0 0 auto}.panel-titles{display:flex;flex-direction:column;min-width:0}.panel-title{font-size:var(--ind-font-size-md, 13px);font-weight:var(--ind-font-weight-semibold, 600);line-height:1.2}.panel-subtitle{font-size:var(--ind-font-size-xs, 10px);text-transform:uppercase;letter-spacing:0.06em;color:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0))}.panel-tag{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-secondary)}.panel-actions{margin-left:auto;display:flex;align-items:center;gap:var(--ind-spacing-3, 6px)}.panel-body{display:flex;flex-direction:column;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px);min-height:0}.panel-toolbar{display:flex;align-items:center;gap:var(--ind-spacing-3, 6px);padding:var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);flex:0 0 auto}.panel-list{display:flex;flex-direction:column;overflow:auto}.panel-grid{display:grid;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px)}.panel-empty{padding:var(--ind-spacing-7, 20px);text-align:center;color:var(--ind-surface-text-muted);font-size:var(--ind-font-size-sm, 11px)}.panel-spacer{flex:1 1 auto}`;const s=()=>`:host{min-width:480px}.panel-list{max-height:440px}.row{display:grid;grid-template-columns:12px 88px 1fr 120px auto;align-items:center;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);font-size:var(--ind-font-size-base, 12px)}.tag{font-family:var(--ind-font-family-mono);color:var(--ind-surface-text-secondary)}.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail{font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-muted);white-space:nowrap}`;const t=class{constructor(e){a(this,e)}heading="Assets";assets=[];healthVariant(a){if(a===undefined)return"default";if(a<40)return"error";if(a<70)return"warning";return"success"}render(){return e(i,{key:"2940434a68bef715cfc3629eb509ff9509d3fbf5"},e("div",{key:"0eb751f4a281626ed4f7a8eab06f8069f39508a1",class:"panel-head"},e("span",{key:"275ae9a642cc9f8dee88fa7fdcf8919b59e0641d",class:"panel-title",part:"heading"},this.heading),e("span",{key:"b359e1e0f2213d4c80f53d856cdb49ccc4bbba9e",class:"panel-subtitle"},this.assets.length," assets")),e("div",{key:"caa13830b3c719859aa59631303a9a0e31685d8b",class:"panel-list",part:"list"},this.assets.length===0?e("div",{class:"panel-empty"},"No assets"):this.assets.map((a=>e("div",{class:"row",part:"row",key:a.tag},e("ind-status-dot",{state:a.state==="unknown"?"neutral":a.state,size:"sm"}),e("span",{class:"tag",part:"tag"},a.tag),e("span",{class:"name",part:"name"},a.name),a.health!==undefined&&e("ind-progress",{class:"health",value:a.health,max:100,variant:this.healthVariant(a.health),size:"sm"}),a.detail&&e("span",{class:"detail",part:"detail"},a.detail))))))}};t.style=n()+s();export{t as ind_asset_overview};
2
+ //# sourceMappingURL=p-5d6cee7b.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["panelCss","assetOverviewCss","IndAssetOverview","heading","assets","healthVariant","h","undefined","render","Host","key","class","part","this","length","map","a","tag","state","size","name","health","value","max","variant","detail"],"sources":["src/components/organisms/_shared/panel.css?tag=ind-asset-overview&encapsulation=shadow","src/components/organisms/asset-overview/asset-overview.css?tag=ind-asset-overview&encapsulation=shadow","src/components/organisms/asset-overview/asset-overview.tsx"],"sourcesContent":["/* Shared chrome for organism panels. Pulled in first via\n * `styleUrls: ['../_shared/panel.css', 'xxx.css']`. */\n:host {\n display: flex;\n flex-direction: column;\n background: var(--ind-surface-panel);\n border: 1px solid var(--ind-surface-border-default);\n border-radius: var(--ind-radius-md, 3px);\n font-family: var(--ind-font-family-sans);\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n box-sizing: border-box;\n overflow: hidden;\n font-feature-settings: var(--ind-font-feature-tabular, \"tnum\" 1);\n}\n\n.panel-head {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n background: var(--ind-surface-raised);\n flex: 0 0 auto;\n}\n\n.panel-titles {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.panel-title {\n font-size: var(--ind-font-size-md, 13px);\n font-weight: var(--ind-font-weight-semibold, 600);\n line-height: 1.2;\n}\n\n.panel-subtitle {\n font-size: var(--ind-font-size-xs, 10px);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));\n}\n\n.panel-tag {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-secondary);\n}\n\n.panel-actions {\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n}\n\n.panel-body {\n display: flex;\n flex-direction: column;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n min-height: 0;\n}\n\n.panel-toolbar {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n padding: var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n flex: 0 0 auto;\n}\n\n.panel-list {\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n.panel-grid {\n display: grid;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n}\n\n.panel-empty {\n padding: var(--ind-spacing-7, 20px);\n text-align: center;\n color: var(--ind-surface-text-muted);\n font-size: var(--ind-font-size-sm, 11px);\n}\n\n.panel-spacer {\n flex: 1 1 auto;\n}\n",":host {\n min-width: 480px;\n}\n\n.panel-list {\n max-height: 440px;\n}\n\n.row {\n display: grid;\n grid-template-columns: 12px 88px 1fr 120px auto;\n align-items: center;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n font-size: var(--ind-font-size-base, 12px);\n}\n\n.tag {\n font-family: var(--ind-font-family-mono);\n color: var(--ind-surface-text-secondary);\n}\n\n.name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.detail {\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-muted);\n white-space: nowrap;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport type { EquipmentCardState } from '../../molecules/equipment-status-card/equipment-status-card';\n\nexport interface AssetItem {\n tag: string;\n name: string;\n state: EquipmentCardState;\n /** Health score 0–100. */\n health?: number;\n detail?: string;\n}\n\n/**\n * Tabular overview of plant assets with state dot, health bar and detail.\n * Suits an asset register or a fleet health page.\n */\n@Component({\n tag: 'ind-asset-overview',\n styleUrls: ['../_shared/panel.css', 'asset-overview.css'],\n shadow: true,\n})\nexport class IndAssetOverview {\n @Prop() heading: string = 'Assets';\n @Prop() assets: AssetItem[] = [];\n\n private healthVariant(h?: number): 'default' | 'success' | 'warning' | 'error' {\n if (h === undefined) return 'default';\n if (h < 40) return 'error';\n if (h < 70) return 'warning';\n return 'success';\n }\n\n render() {\n return (\n <Host>\n <div class=\"panel-head\">\n <span class=\"panel-title\" part=\"heading\">{this.heading}</span>\n <span class=\"panel-subtitle\">{this.assets.length} assets</span>\n </div>\n <div class=\"panel-list\" part=\"list\">\n {this.assets.length === 0 ? (\n <div class=\"panel-empty\">No assets</div>\n ) : (\n this.assets.map((a) => (\n <div class=\"row\" part=\"row\" key={a.tag}>\n <ind-status-dot state={(a.state === 'unknown' ? 'neutral' : a.state) as any} size=\"sm\" />\n <span class=\"tag\" part=\"tag\">{a.tag}</span>\n <span class=\"name\" part=\"name\">{a.name}</span>\n {a.health !== undefined && (\n <ind-progress class=\"health\" value={a.health} max={100} variant={this.healthVariant(a.health)} size=\"sm\"></ind-progress>\n )}\n {a.detail && <span class=\"detail\" part=\"detail\">{a.detail}</span>}\n </div>\n ))\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAW,IAAM,4zDCAvB,MAAMC,EAAmB,IAAM,okB,MCqBlBC,EAAgB,M,yBACnBC,QAAkB,SAClBC,OAAsB,GAEtB,aAAAC,CAAcC,GACpB,GAAIA,IAAMC,UAAW,MAAO,UAC5B,GAAID,EAAI,GAAI,MAAO,QACnB,GAAIA,EAAI,GAAI,MAAO,UACnB,MAAO,S,CAGT,MAAAE,GACE,OACEF,EAACG,EAAI,CAAAC,IAAA,4CACHJ,EAAA,OAAAI,IAAA,2CAAKC,MAAM,cACTL,EAAA,QAAAI,IAAA,2CAAMC,MAAM,cAAcC,KAAK,WAAWC,KAAKV,SAC/CG,EAAA,QAAAI,IAAA,2CAAMC,MAAM,kBAAkBE,KAAKT,OAAOU,OAAM,YAElDR,EAAA,OAAAI,IAAA,2CAAKC,MAAM,aAAaC,KAAK,QAC1BC,KAAKT,OAAOU,SAAW,EACtBR,EAAA,OAAKK,MAAM,eAAa,aAExBE,KAAKT,OAAOW,KAAKC,GACfV,EAAA,OAAKK,MAAM,MAAMC,KAAK,MAAMF,IAAKM,EAAEC,KACjCX,EAAA,kBAAgBY,MAAQF,EAAEE,QAAU,UAAY,UAAYF,EAAEE,MAAeC,KAAK,OAClFb,EAAA,QAAMK,MAAM,MAAMC,KAAK,OAAOI,EAAEC,KAChCX,EAAA,QAAMK,MAAM,OAAOC,KAAK,QAAQI,EAAEI,MACjCJ,EAAEK,SAAWd,WACZD,EAAA,gBAAcK,MAAM,SAASW,MAAON,EAAEK,OAAQE,IAAK,IAAKC,QAASX,KAAKR,cAAcW,EAAEK,QAASF,KAAK,OAErGH,EAAES,QAAUnB,EAAA,QAAMK,MAAM,SAASC,KAAK,UAAUI,EAAES,Y","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e,H as r}from"./p-Bls_NlWP.js";const a=()=>`:host{display:inline-flex;gap:var(--ind-spacing-3, 6px);align-items:center}:host([orientation="vertical"]){flex-direction:column;align-items:stretch}:host([attached]){gap:0;border-radius:var(--ind-radius-md, 3px);overflow:hidden;border:1px solid var(--ind-surface-border-default)}:host([attached]) ::slotted(ind-button:not(:last-child)){border-right:1px solid var(--ind-surface-border-default)}:host([attached][orientation="vertical"]) ::slotted(ind-button:not(:last-child)){border-right:0;border-bottom:1px solid var(--ind-surface-border-default)}`;const o=class{constructor(e){t(this,e)}label;orientation="horizontal";attached=false;render(){return e(r,{key:"9b4a75ffd5999eb7ffec1e428b66f00bce939ae3",role:"group","aria-label":this.label},e("slot",{key:"a433f837349fe52f09a2de8dc51e51024d947d0f"}))}};o.style=a();export{o as ind_command_group};
2
+ //# sourceMappingURL=p-5d7bc819.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["commandGroupCss","IndCommandGroup","label","orientation","attached","render","h","Host","key","role","this"],"sources":["src/components/molecules/command-group/command-group.css?tag=ind-command-group&encapsulation=shadow","src/components/molecules/command-group/command-group.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n gap: var(--ind-spacing-3, 6px);\n align-items: center;\n}\n\n:host([orientation=\"vertical\"]) {\n flex-direction: column;\n align-items: stretch;\n}\n\n:host([attached]) {\n gap: 0;\n border-radius: var(--ind-radius-md, 3px);\n overflow: hidden;\n border: 1px solid var(--ind-surface-border-default);\n}\n\n:host([attached]) ::slotted(ind-button:not(:last-child)) {\n border-right: 1px solid var(--ind-surface-border-default);\n}\n\n:host([attached][orientation=\"vertical\"]) ::slotted(ind-button:not(:last-child)) {\n border-right: 0;\n border-bottom: 1px solid var(--ind-surface-border-default);\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nexport type CommandGroupOrientation = 'horizontal' | 'vertical';\n\n/**\n * Groups related command buttons into a single segmented bar with a shared\n * border. Slot `<ind-button>`s into the default slot. Purely presentational —\n * each button keeps its own `indActivate` event.\n */\n@Component({\n tag: 'ind-command-group',\n styleUrl: 'command-group.css',\n shadow: true,\n})\nexport class IndCommandGroup {\n /** Accessible label for the toolbar group. */\n @Prop() label?: string;\n /** Layout direction. */\n @Prop({ reflect: true }) orientation: CommandGroupOrientation = 'horizontal';\n /** Render attached (shared borders, no gap) instead of spaced. */\n @Prop({ reflect: true }) attached: boolean = false;\n\n render() {\n return (\n <Host role=\"group\" aria-label={this.label}>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAkB,IAAM,uiB,MCcjBC,EAAe,M,yBAElBC,MAEiBC,YAAuC,aAEvCC,SAAoB,MAE7C,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,QAAO,aAAaC,KAAKR,OAClCI,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as a,H as e}from"./p-Bls_NlWP.js";const s=()=>`:host{display:inline-block;width:var(--ind-sparkline-width, 100px);height:var(--ind-sparkline-height, 28px);--_stroke:var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2))}:host([variant="running"]){--_stroke:var(--ind-state-running-bg, #16a34a)}:host([variant="warning"]){--_stroke:var(--ind-state-warning-bg, #f59e0b)}:host([variant="fault"]){--_stroke:var(--ind-state-fault-bg, #dc2626)}.chart{display:block;width:100%;height:100%;overflow:visible}.line{fill:none;stroke:var(--_stroke);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.fill{fill:color-mix(in srgb, var(--_stroke) 18%, transparent);stroke:none}.dot{fill:var(--_stroke);stroke:var(--ind-surface-panel, #11161c);stroke-width:1}`;const r=class{constructor(a){t(this,a)}points=[];min;max;variant="default";area=false;marker=true;label;w=100;hh=28;path(){const t=this.points??[];if(t.length===0)return{line:"",area:""};const a=this.min??Math.min(...t);const e=this.max??Math.max(...t);const s=e-a||1;const r=t.length>1?this.w/(t.length-1):0;const i=2;const n=this.hh-i*2;const o=t.map(((t,e)=>{const o=e*r;const c=i+n-(t-a)/s*n;return{x:o,y:c}}));const c=o.map(((t,a)=>`${a===0?"M":"L"}${t.x.toFixed(1)},${t.y.toFixed(1)}`)).join(" ");const l=`${c} L${this.w},${this.hh} L0,${this.hh} Z`;return{line:c,area:l,last:o[o.length-1]}}render(){const{line:t,area:s,last:r}=this.path();const i=this.label??"trend";return a(e,{key:"1375d90762013de4768f40391fc9e228ba3a3c7b",role:"img","aria-label":i},a("svg",{key:"2f857e3abe826e653e4a895fece8f4611b439d26",class:"chart",part:"chart",viewBox:`0 0 ${this.w} ${this.hh}`,preserveAspectRatio:"none","aria-hidden":"true"},this.area&&s&&a("path",{key:"adaed13e2d763577023f7203cffa31f1081174fe",class:"fill",part:"fill",d:s}),t&&a("path",{key:"f5a4ea869dcc82ba4634cf44e3c21376500221b0",class:"line",part:"line",d:t}),this.marker&&r&&a("circle",{key:"79e602b6f952e5b9abd55dcf1ac6d946177acdb4",class:"dot",part:"dot",cx:r.x,cy:r.y,r:"2"})))}};r.style=s();export{r as ind_sparkline};
2
+ //# sourceMappingURL=p-6054259d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sparklineCss","IndSparkline","points","min","max","variant","area","marker","label","w","hh","path","pts","this","length","line","lo","Math","hi","span","stepX","pad","usable","coords","map","v","i","x","y","c","toFixed","join","last","render","name","h","Host","key","role","class","part","viewBox","preserveAspectRatio","d","cx","cy","r"],"sources":["src/components/atoms/sparkline/sparkline.css?tag=ind-sparkline&encapsulation=shadow","src/components/atoms/sparkline/sparkline.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: var(--ind-sparkline-width, 100px);\n height: var(--ind-sparkline-height, 28px);\n --_stroke: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));\n}\n\n:host([variant=\"running\"]) { --_stroke: var(--ind-state-running-bg, #16a34a); }\n:host([variant=\"warning\"]) { --_stroke: var(--ind-state-warning-bg, #f59e0b); }\n:host([variant=\"fault\"]) { --_stroke: var(--ind-state-fault-bg, #dc2626); }\n\n.chart {\n display: block;\n width: 100%;\n height: 100%;\n overflow: visible;\n}\n\n.line {\n fill: none;\n stroke: var(--_stroke);\n stroke-width: 1.5;\n stroke-linejoin: round;\n stroke-linecap: round;\n vector-effect: non-scaling-stroke;\n}\n\n.fill {\n fill: color-mix(in srgb, var(--_stroke) 18%, transparent);\n stroke: none;\n}\n\n.dot {\n fill: var(--_stroke);\n stroke: var(--ind-surface-panel, #11161c);\n stroke-width: 1;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nexport type SparklineVariant = 'default' | 'running' | 'warning' | 'fault';\n\n@Component({\n tag: 'ind-sparkline',\n styleUrl: 'sparkline.css',\n shadow: true,\n})\nexport class IndSparkline {\n /** Series of numeric samples, oldest → newest. Pass as a property. */\n @Prop() points: number[] = [];\n\n /** Lower bound. Defaults to the min of `points`. */\n @Prop() min?: number;\n\n /** Upper bound. Defaults to the max of `points`. */\n @Prop() max?: number;\n\n /** Color intent. */\n @Prop({ reflect: true }) variant: SparklineVariant = 'default';\n\n /** Fill the area under the line. */\n @Prop({ reflect: true }) area: boolean = false;\n\n /** Highlight the most recent sample with a dot. */\n @Prop({ reflect: true }) marker: boolean = true;\n\n /** Accessible label. */\n @Prop() label?: string;\n\n /** SVG coordinate width. CSS controls the rendered size. */\n private readonly w = 100;\n private readonly hh = 28;\n\n private path(): { line: string; area: string; last?: { x: number; y: number } } {\n const pts = this.points ?? [];\n if (pts.length === 0) return { line: '', area: '' };\n const lo = this.min ?? Math.min(...pts);\n const hi = this.max ?? Math.max(...pts);\n const span = hi - lo || 1;\n const stepX = pts.length > 1 ? this.w / (pts.length - 1) : 0;\n const pad = 2;\n const usable = this.hh - pad * 2;\n const coords = pts.map((v, i) => {\n const x = i * stepX;\n const y = pad + usable - ((v - lo) / span) * usable;\n return { x, y };\n });\n const line = coords.map((c, i) => `${i === 0 ? 'M' : 'L'}${c.x.toFixed(1)},${c.y.toFixed(1)}`).join(' ');\n const area = `${line} L${this.w},${this.hh} L0,${this.hh} Z`;\n return { line, area, last: coords[coords.length - 1] };\n }\n\n render() {\n const { line, area, last } = this.path();\n const name = this.label ?? 'trend';\n return (\n <Host role=\"img\" aria-label={name}>\n <svg class=\"chart\" part=\"chart\" viewBox={`0 0 ${this.w} ${this.hh}`} preserveAspectRatio=\"none\" aria-hidden=\"true\">\n {this.area && area && <path class=\"fill\" part=\"fill\" d={area} />}\n {line && <path class=\"line\" part=\"line\" d={line} />}\n {this.marker && last && <circle class=\"dot\" part=\"dot\" cx={last.x} cy={last.y} r=\"2\" />}\n </svg>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAe,IAAM,+uB,MCSdC,EAAY,M,yBAEfC,OAAmB,GAGnBC,IAGAC,IAGiBC,QAA4B,UAG5BC,KAAgB,MAGhBC,OAAkB,KAGnCC,MAGSC,EAAI,IACJC,GAAK,GAEd,IAAAC,GACN,MAAMC,EAAMC,KAAKX,QAAU,GAC3B,GAAIU,EAAIE,SAAW,EAAG,MAAO,CAAEC,KAAM,GAAIT,KAAM,IAC/C,MAAMU,EAAKH,KAAKV,KAAOc,KAAKd,OAAOS,GACnC,MAAMM,EAAKL,KAAKT,KAAOa,KAAKb,OAAOQ,GACnC,MAAMO,EAAOD,EAAKF,GAAM,EACxB,MAAMI,EAAQR,EAAIE,OAAS,EAAID,KAAKJ,GAAKG,EAAIE,OAAS,GAAK,EAC3D,MAAMO,EAAM,EACZ,MAAMC,EAAST,KAAKH,GAAKW,EAAM,EAC/B,MAAME,EAASX,EAAIY,KAAI,CAACC,EAAGC,KACzB,MAAMC,EAAID,EAAIN,EACd,MAAMQ,EAAIP,EAAMC,GAAWG,EAAIT,GAAMG,EAAQG,EAC7C,MAAO,CAAEK,IAAGC,IAAG,IAEjB,MAAMb,EAAOQ,EAAOC,KAAI,CAACK,EAAGH,IAAM,GAAGA,IAAM,EAAI,IAAM,MAAMG,EAAEF,EAAEG,QAAQ,MAAMD,EAAED,EAAEE,QAAQ,OAAMC,KAAK,KACpG,MAAMzB,EAAO,GAAGS,MAASF,KAAKJ,KAAKI,KAAKH,SAASG,KAAKH,OACtD,MAAO,CAAEK,OAAMT,OAAM0B,KAAMT,EAAOA,EAAOT,OAAS,G,CAGpD,MAAAmB,GACE,MAAMlB,KAAEA,EAAIT,KAAEA,EAAI0B,KAAEA,GAASnB,KAAKF,OAClC,MAAMuB,EAAOrB,KAAKL,OAAS,QAC3B,OACE2B,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,MAAK,aAAaJ,GAC3BC,EAAA,OAAAE,IAAA,2CAAKE,MAAM,QAAQC,KAAK,QAAQC,QAAS,OAAO5B,KAAKJ,KAAKI,KAAKH,KAAMgC,oBAAoB,OAAM,cAAa,QACzG7B,KAAKP,MAAQA,GAAQ6B,EAAA,QAAAE,IAAA,2CAAME,MAAM,OAAOC,KAAK,OAAOG,EAAGrC,IACvDS,GAAQoB,EAAA,QAAAE,IAAA,2CAAME,MAAM,OAAOC,KAAK,OAAOG,EAAG5B,IAC1CF,KAAKN,QAAUyB,GAAQG,EAAA,UAAAE,IAAA,2CAAQE,MAAM,MAAMC,KAAK,MAAMI,GAAIZ,EAAKL,EAAGkB,GAAIb,EAAKJ,EAAGkB,EAAE,O","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a,H as t}from"./p-Bls_NlWP.js";const s=()=>`:host{display:inline-flex;flex-direction:column;align-items:center;gap:var(--ind-spacing-2, 4px);font-family:var(--ind-font-family-sans, system-ui, sans-serif);font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));--_w:48px;--_stroke:var(--ind-state-stopped-border, #8390a0);--_fill:var(--ind-state-stopped-bg, #5a6776);--_accent:var(--ind-state-stopped-bg, #5a6776)}:host([size="sm"]){--_w:32px}:host([size="md"]){--_w:48px}:host([size="lg"]){--_w:72px}:host([state="running"]){--_stroke:var(--ind-state-running-border, #4ade80);--_fill:var(--ind-state-running-bg, #16a34a);--_accent:var(--ind-state-running-bg, #16a34a)}:host([state="stopped"]){--_stroke:var(--ind-state-stopped-border, #8390a0);--_fill:var(--ind-state-stopped-bg, #5a6776);--_accent:var(--ind-state-stopped-bg, #5a6776)}:host([state="fault"]){--_stroke:var(--ind-state-fault-border, #f87171);--_fill:var(--ind-state-fault-bg, #dc2626);--_accent:var(--ind-state-fault-bg, #dc2626)}:host([state="warning"]){--_stroke:var(--ind-state-warning-border, #fcd34d);--_fill:var(--ind-state-warning-bg, #f59e0b);--_accent:var(--ind-state-warning-bg, #f59e0b)}:host([state="maintenance"]){--_stroke:var(--ind-state-maintenance-border, #60a5fa);--_fill:var(--ind-state-maintenance-bg, #2563eb);--_accent:var(--ind-state-maintenance-bg, #2563eb)}.symbol{display:block;width:var(--_w);height:auto;overflow:visible}.body{fill:color-mix(in srgb, var(--_fill) 22%, transparent);stroke:var(--_stroke);stroke-width:1.5;vector-effect:non-scaling-stroke}.accent{fill:var(--_accent);stroke:none}.stroke{fill:none;stroke:var(--_stroke);stroke-width:1.5;stroke-linecap:round;vector-effect:non-scaling-stroke}.caption{display:flex;flex-direction:column;align-items:center;line-height:var(--ind-font-line-height-tight, 1.1)}.tag{font-family:var(--ind-font-family-mono, ui-monospace, monospace);font-weight:var(--ind-font-weight-semibold, 600);font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1)}.label{color:var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));font-size:var(--ind-font-size-xs, 10px)}@media (prefers-reduced-motion: reduce){.spin,.pulse{animation:none !important}}`;const n=()=>`:host([state="running"]) .spin{animation:ind-compressor-spin 1.2s linear infinite}@keyframes ind-compressor-spin{to{transform:rotate(360deg)}}`;const i=class{constructor(a){e(this,a)}state="stopped";size="md";tag;label;render(){const e=this.label??this.tag??"compressor";return a(t,{key:"177263a885e412e000fbc75ddfc64ada327237ed",role:"img","aria-label":`${e} — ${this.state}`},a("svg",{key:"3f61b41e05047ddc7919194573f9fde74f0669da",class:"symbol",viewBox:"0 0 48 36","aria-hidden":"true"},a("circle",{key:"b878724289639bdc93d548cca9709020e89a6bc9",class:"body",cx:"20",cy:"18",r:"16"}),a("polygon",{key:"e138a8bb432b20a78164ffd73dfff52dc50fdece",class:"accent",points:"10,8 30,14 30,22 10,28"}),a("g",{key:"5f2d983f2269d4d9af48cba1277c9e9701233d30",class:"spin",style:{transformOrigin:"20px 18px"}},a("line",{key:"128d83535a477ea26d1f158c37d79b7f06434c3a",class:"stroke",x1:"20",y1:"6",x2:"20",y2:"30"}))),(this.tag||this.label)&&a("div",{key:"7a20496716daaa18f7c54c3548bf713cb0323157",class:"caption"},this.tag&&a("span",{key:"5f00781bcc9ad63a2b190001e4894185c8913159",class:"tag"},this.tag),this.label&&a("span",{key:"5a8fa6b2586eea7d75269f936fd08491a0ba9104",class:"label"},this.label)))}};i.style=s()+n();export{i as ind_compressor};
2
+ //# sourceMappingURL=p-60585701.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["equipmentCss","compressorCss","IndCompressor","state","size","tag","label","render","name","this","h","Host","key","role","class","viewBox","cx","cy","r","points","style","transformOrigin","x1","y1","x2","y2"],"sources":["src/components/atoms/_equipment/equipment.css?tag=ind-compressor&encapsulation=shadow","src/components/atoms/compressor/compressor.css?tag=ind-compressor&encapsulation=shadow","src/components/atoms/compressor/compressor.tsx"],"sourcesContent":["/* Shared base styles for ind-ds process-equipment symbols.\n * Referenced via styleUrls alongside each component's own CSS. */\n:host {\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n gap: var(--ind-spacing-2, 4px);\n font-family: var(--ind-font-family-sans, system-ui, sans-serif);\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n --_w: 48px;\n --_stroke: var(--ind-state-stopped-border, #8390a0);\n --_fill: var(--ind-state-stopped-bg, #5a6776);\n --_accent: var(--ind-state-stopped-bg, #5a6776);\n}\n\n:host([size=\"sm\"]) { --_w: 32px; }\n:host([size=\"md\"]) { --_w: 48px; }\n:host([size=\"lg\"]) { --_w: 72px; }\n\n:host([state=\"running\"]) { --_stroke: var(--ind-state-running-border, #4ade80); --_fill: var(--ind-state-running-bg, #16a34a); --_accent: var(--ind-state-running-bg, #16a34a); }\n:host([state=\"stopped\"]) { --_stroke: var(--ind-state-stopped-border, #8390a0); --_fill: var(--ind-state-stopped-bg, #5a6776); --_accent: var(--ind-state-stopped-bg, #5a6776); }\n:host([state=\"fault\"]) { --_stroke: var(--ind-state-fault-border, #f87171); --_fill: var(--ind-state-fault-bg, #dc2626); --_accent: var(--ind-state-fault-bg, #dc2626); }\n:host([state=\"warning\"]) { --_stroke: var(--ind-state-warning-border, #fcd34d); --_fill: var(--ind-state-warning-bg, #f59e0b); --_accent: var(--ind-state-warning-bg, #f59e0b); }\n:host([state=\"maintenance\"]) { --_stroke: var(--ind-state-maintenance-border, #60a5fa); --_fill: var(--ind-state-maintenance-bg, #2563eb); --_accent: var(--ind-state-maintenance-bg, #2563eb); }\n\n.symbol {\n display: block;\n width: var(--_w);\n height: auto;\n overflow: visible;\n}\n\n.body {\n fill: color-mix(in srgb, var(--_fill) 22%, transparent);\n stroke: var(--_stroke);\n stroke-width: 1.5;\n vector-effect: non-scaling-stroke;\n}\n\n.accent {\n fill: var(--_accent);\n stroke: none;\n}\n\n.stroke {\n fill: none;\n stroke: var(--_stroke);\n stroke-width: 1.5;\n stroke-linecap: round;\n vector-effect: non-scaling-stroke;\n}\n\n.caption {\n display: flex;\n flex-direction: column;\n align-items: center;\n line-height: var(--ind-font-line-height-tight, 1.1);\n}\n\n.tag {\n font-family: var(--ind-font-family-mono, ui-monospace, monospace);\n font-weight: var(--ind-font-weight-semibold, 600);\n font-feature-settings: var(--ind-font-feature-tabular, \"tnum\" 1);\n}\n\n.label {\n color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));\n font-size: var(--ind-font-size-xs, 10px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spin, .pulse { animation: none !important; }\n}\n",":host([state=\"running\"]) .spin {\n animation: ind-compressor-spin 1.2s linear infinite;\n}\n\n@keyframes ind-compressor-spin {\n to { transform: rotate(360deg); }\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport type { EquipmentState, EquipmentSize } from '../_equipment/types';\n\n@Component({\n tag: 'ind-compressor',\n styleUrls: ['../_equipment/equipment.css', 'compressor.css'],\n shadow: true,\n})\nexport class IndCompressor {\n /** Process state. */\n @Prop({ reflect: true }) state: EquipmentState = 'stopped';\n /** Visual size. */\n @Prop({ reflect: true }) size: EquipmentSize = 'md';\n /** Equipment tag (e.g. \"K-401\"). */\n @Prop() tag?: string;\n /** Human label. */\n @Prop() label?: string;\n\n render() {\n const name = this.label ?? this.tag ?? 'compressor';\n return (\n <Host role=\"img\" aria-label={`${name} — ${this.state}`}>\n {/* Centrifugal compressor: trapezoid casing (wide inlet → narrow outlet). */}\n <svg class=\"symbol\" viewBox=\"0 0 48 36\" aria-hidden=\"true\">\n <circle class=\"body\" cx=\"20\" cy=\"18\" r=\"16\" />\n <polygon class=\"accent\" points=\"10,8 30,14 30,22 10,28\" />\n <g class=\"spin\" style={{ transformOrigin: '20px 18px' }}>\n <line class=\"stroke\" x1=\"20\" y1=\"6\" x2=\"20\" y2=\"30\" />\n </g>\n </svg>\n {(this.tag || this.label) && (\n <div class=\"caption\">\n {this.tag && <span class=\"tag\">{this.tag}</span>}\n {this.label && <span class=\"label\">{this.label}</span>}\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAe,IAAM,4pECA3B,MAAMC,EAAgB,IAAM,iJ,MCQfC,EAAa,M,yBAECC,MAAwB,UAExBC,KAAsB,KAEvCC,IAEAC,MAER,MAAAC,GACE,MAAMC,EAAOC,KAAKH,OAASG,KAAKJ,KAAO,aACvC,OACEK,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,MAAK,aAAa,GAAGL,OAAUC,KAAKN,SAE7CO,EAAA,OAAAE,IAAA,2CAAKE,MAAM,SAASC,QAAQ,YAAW,cAAa,QAClDL,EAAA,UAAAE,IAAA,2CAAQE,MAAM,OAAOE,GAAG,KAAKC,GAAG,KAAKC,EAAE,OACvCR,EAAA,WAAAE,IAAA,2CAASE,MAAM,SAASK,OAAO,2BAC/BT,EAAA,KAAAE,IAAA,2CAAGE,MAAM,OAAOM,MAAO,CAAEC,gBAAiB,cACxCX,EAAA,QAAAE,IAAA,2CAAME,MAAM,SAASQ,GAAG,KAAKC,GAAG,IAAIC,GAAG,KAAKC,GAAG,UAGjDhB,KAAKJ,KAAOI,KAAKH,QACjBI,EAAA,OAAAE,IAAA,2CAAKE,MAAM,WACRL,KAAKJ,KAAOK,EAAA,QAAAE,IAAA,2CAAME,MAAM,OAAOL,KAAKJ,KACpCI,KAAKH,OAASI,EAAA,QAAAE,IAAA,2CAAME,MAAM,SAASL,KAAKH,Q","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a,H as i}from"./p-Bls_NlWP.js";const n=()=>`:host{display:flex;flex-direction:column;background:var(--ind-surface-panel);border:1px solid var(--ind-surface-border-default);border-radius:var(--ind-radius-md, 3px);font-family:var(--ind-font-family-sans);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));box-sizing:border-box;overflow:hidden;font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1)}.panel-head{display:flex;align-items:center;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);background:var(--ind-surface-raised);flex:0 0 auto}.panel-titles{display:flex;flex-direction:column;min-width:0}.panel-title{font-size:var(--ind-font-size-md, 13px);font-weight:var(--ind-font-weight-semibold, 600);line-height:1.2}.panel-subtitle{font-size:var(--ind-font-size-xs, 10px);text-transform:uppercase;letter-spacing:0.06em;color:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0))}.panel-tag{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-secondary)}.panel-actions{margin-left:auto;display:flex;align-items:center;gap:var(--ind-spacing-3, 6px)}.panel-body{display:flex;flex-direction:column;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px);min-height:0}.panel-toolbar{display:flex;align-items:center;gap:var(--ind-spacing-3, 6px);padding:var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);flex:0 0 auto}.panel-list{display:flex;flex-direction:column;overflow:auto}.panel-grid{display:grid;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px)}.panel-empty{padding:var(--ind-spacing-7, 20px);text-align:center;color:var(--ind-surface-text-muted);font-size:var(--ind-font-size-sm, 11px)}.panel-spacer{flex:1 1 auto}`;const r=()=>`.panel-body>ind-motor-card,.panel-body>ind-pump-card,.panel-body>ind-valve-card,.panel-body>ind-start-stop-control,.panel-body>ind-setpoint-control,.panel-body>ind-speed-control,.panel-body>ind-mode-selector,.panel-body>ind-recipe-selector{border:0;padding:0;background:transparent;min-width:0}`;const d=()=>`:host{min-width:300px}.panel-body>ind-device-info-card{border:0;padding:0;background:transparent;min-width:0}.metrics{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--ind-spacing-3, 6px)}.metric{display:flex;flex-direction:column;gap:1px;padding:var(--ind-spacing-3, 6px);background:var(--ind-surface-sunken);border-radius:var(--ind-radius-sm, 2px);border-left:2px solid var(--ind-surface-border-strong)}.metric-label{font-size:var(--ind-font-size-xs, 10px);text-transform:uppercase;letter-spacing:0.04em;color:var(--ind-surface-text-muted)}.metric-value{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-md, 13px);font-weight:var(--ind-font-weight-semibold, 600)}.metric-ok{border-left-color:var(--ind-state-running-bg, #16a34a)}.metric-warn{border-left-color:var(--ind-state-warning-bg, #f59e0b)}.metric-fault{border-left-color:var(--ind-state-fault-bg, #dc2626)}`;const t=class{constructor(a){e(this,a)}heading="Diagnostics";name;vendor;model;firmware;serial;address;state="disconnected";metrics=[];render(){return a(i,{key:"87d13057cbdf0ae8cc50951231be0c72a5970236"},a("div",{key:"399c23ad7dff5cd8bf8430c2dfe3e7b21d13f807",class:"panel-head"},a("span",{key:"7b05113457a67d943203ea9c4f3a6896d953cfab",class:"panel-title",part:"heading"},this.heading)),a("div",{key:"5685e0cffe993b39f956d0081fb0c9ff0b7e88f1",class:"panel-body"},a("ind-device-info-card",{key:"fdba4747a89414806cee8c781cc90e7e5bebd063",name:this.name,vendor:this.vendor,model:this.model,firmware:this.firmware,serial:this.serial,address:this.address,state:this.state}),this.metrics.length>0&&a("div",{key:"16eeeda3f9919ace04e34b118fe31e08ac1e3d94",class:"metrics",part:"metrics"},this.metrics.map(((e,i)=>a("div",{class:`metric metric-${e.status??"ok"}`,part:"metric",key:i},a("span",{class:"metric-label"},e.label),a("span",{class:"metric-value"},e.value,e.unit?` ${e.unit}`:"")))))))}};t.style=n()+(r()+d());export{t as ind_device_diagnostics_panel};
2
+ //# sourceMappingURL=p-60751e04.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["panelCss","controlPanelCss","deviceDiagnosticsPanelCss","IndDeviceDiagnosticsPanel","heading","name","vendor","model","firmware","serial","address","state","metrics","render","h","Host","key","class","part","this","length","map","m","i","status","label","value","unit"],"sources":["src/components/organisms/_shared/panel.css?tag=ind-device-diagnostics-panel&encapsulation=shadow","src/components/organisms/_shared/control-panel.css?tag=ind-device-diagnostics-panel&encapsulation=shadow","src/components/organisms/device-diagnostics-panel/device-diagnostics-panel.css?tag=ind-device-diagnostics-panel&encapsulation=shadow","src/components/organisms/device-diagnostics-panel/device-diagnostics-panel.tsx"],"sourcesContent":["/* Shared chrome for organism panels. Pulled in first via\n * `styleUrls: ['../_shared/panel.css', 'xxx.css']`. */\n:host {\n display: flex;\n flex-direction: column;\n background: var(--ind-surface-panel);\n border: 1px solid var(--ind-surface-border-default);\n border-radius: var(--ind-radius-md, 3px);\n font-family: var(--ind-font-family-sans);\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n box-sizing: border-box;\n overflow: hidden;\n font-feature-settings: var(--ind-font-feature-tabular, \"tnum\" 1);\n}\n\n.panel-head {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n background: var(--ind-surface-raised);\n flex: 0 0 auto;\n}\n\n.panel-titles {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.panel-title {\n font-size: var(--ind-font-size-md, 13px);\n font-weight: var(--ind-font-weight-semibold, 600);\n line-height: 1.2;\n}\n\n.panel-subtitle {\n font-size: var(--ind-font-size-xs, 10px);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));\n}\n\n.panel-tag {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-secondary);\n}\n\n.panel-actions {\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n}\n\n.panel-body {\n display: flex;\n flex-direction: column;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n min-height: 0;\n}\n\n.panel-toolbar {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n padding: var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n flex: 0 0 auto;\n}\n\n.panel-list {\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n.panel-grid {\n display: grid;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n}\n\n.panel-empty {\n padding: var(--ind-spacing-7, 20px);\n text-align: center;\n color: var(--ind-surface-text-muted);\n font-size: var(--ind-font-size-sm, 11px);\n}\n\n.panel-spacer {\n flex: 1 1 auto;\n}\n","/* Flatten the faceplate / control molecules when embedded in a control panel,\n * so the panel provides the single card chrome. */\n.panel-body > ind-motor-card,\n.panel-body > ind-pump-card,\n.panel-body > ind-valve-card,\n.panel-body > ind-start-stop-control,\n.panel-body > ind-setpoint-control,\n.panel-body > ind-speed-control,\n.panel-body > ind-mode-selector,\n.panel-body > ind-recipe-selector {\n border: 0;\n padding: 0;\n background: transparent;\n min-width: 0;\n}\n",":host {\n min-width: 300px;\n}\n\n.panel-body > ind-device-info-card {\n border: 0;\n padding: 0;\n background: transparent;\n min-width: 0;\n}\n\n.metrics {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: var(--ind-spacing-3, 6px);\n}\n\n.metric {\n display: flex;\n flex-direction: column;\n gap: 1px;\n padding: var(--ind-spacing-3, 6px);\n background: var(--ind-surface-sunken);\n border-radius: var(--ind-radius-sm, 2px);\n border-left: 2px solid var(--ind-surface-border-strong);\n}\n\n.metric-label {\n font-size: var(--ind-font-size-xs, 10px);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--ind-surface-text-muted);\n}\n\n.metric-value {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-md, 13px);\n font-weight: var(--ind-font-weight-semibold, 600);\n}\n\n.metric-ok { border-left-color: var(--ind-state-running-bg, #16a34a); }\n.metric-warn { border-left-color: var(--ind-state-warning-bg, #f59e0b); }\n.metric-fault { border-left-color: var(--ind-state-fault-bg, #dc2626); }\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport type { ConnectionState } from '../../atoms/connection-indicator/connection-indicator';\n\nexport interface DiagnosticMetric {\n label: string;\n value: string | number;\n unit?: string;\n status?: 'ok' | 'warn' | 'fault';\n}\n\n/**\n * Device diagnostics panel: nameplate / connection via `<ind-device-info-card>`\n * plus a list of live diagnostic metrics (CPU, memory, temperature, errors).\n */\n@Component({\n tag: 'ind-device-diagnostics-panel',\n styleUrls: ['../_shared/panel.css', '../_shared/control-panel.css', 'device-diagnostics-panel.css'],\n shadow: true,\n})\nexport class IndDeviceDiagnosticsPanel {\n @Prop() heading: string = 'Diagnostics';\n @Prop() name!: string;\n @Prop() vendor?: string;\n @Prop() model?: string;\n @Prop() firmware?: string;\n @Prop() serial?: string;\n @Prop() address?: string;\n @Prop({ reflect: true }) state: ConnectionState = 'disconnected';\n /** Diagnostic metrics. */\n @Prop() metrics: DiagnosticMetric[] = [];\n\n render() {\n return (\n <Host>\n <div class=\"panel-head\">\n <span class=\"panel-title\" part=\"heading\">{this.heading}</span>\n </div>\n <div class=\"panel-body\">\n <ind-device-info-card\n name={this.name}\n vendor={this.vendor}\n model={this.model}\n firmware={this.firmware}\n serial={this.serial}\n address={this.address}\n state={this.state}\n ></ind-device-info-card>\n {this.metrics.length > 0 && (\n <div class=\"metrics\" part=\"metrics\">\n {this.metrics.map((m, i) => (\n <div class={`metric metric-${m.status ?? 'ok'}`} part=\"metric\" key={i}>\n <span class=\"metric-label\">{m.label}</span>\n <span class=\"metric-value\">\n {m.value}{m.unit ? ` ${m.unit}` : ''}\n </span>\n </div>\n ))}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAW,IAAM,4zDCAvB,MAAMC,EAAkB,IAAM,ySCA9B,MAAMC,EAA4B,IAAM,84B,MCmB3BC,EAAyB,M,yBAC5BC,QAAkB,cAClBC,KACAC,OACAC,MACAC,SACAC,OACAC,QACiBC,MAAyB,eAE1CC,QAA8B,GAEtC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cACTH,EAAA,QAAAE,IAAA,2CAAMC,MAAM,cAAcC,KAAK,WAAWC,KAAKf,UAEjDU,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cACTH,EAAA,wBAAAE,IAAA,2CACEX,KAAMc,KAAKd,KACXC,OAAQa,KAAKb,OACbC,MAAOY,KAAKZ,MACZC,SAAUW,KAAKX,SACfC,OAAQU,KAAKV,OACbC,QAASS,KAAKT,QACdC,MAAOQ,KAAKR,QAEbQ,KAAKP,QAAQQ,OAAS,GACrBN,EAAA,OAAAE,IAAA,2CAAKC,MAAM,UAAUC,KAAK,WACvBC,KAAKP,QAAQS,KAAI,CAACC,EAAGC,IACpBT,EAAA,OAAKG,MAAO,iBAAiBK,EAAEE,QAAU,OAAQN,KAAK,SAASF,IAAKO,GAClET,EAAA,QAAMG,MAAM,gBAAgBK,EAAEG,OAC9BX,EAAA,QAAMG,MAAM,gBACTK,EAAEI,MAAOJ,EAAEK,KAAO,IAAIL,EAAEK,OAAS,S","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,H as a}from"./p-Bls_NlWP.js";const s=()=>`:host{display:inline-flex;flex-direction:column;align-items:center;font-family:var(--ind-font-family-sans, system-ui, sans-serif);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));--_w:120px}:host([size="sm"]){--_w:84px}:host([size="md"]){--_w:120px}:host([size="lg"]){--_w:168px}.gauge{width:var(--_w);height:var(--_w);display:block}.track{fill:none;stroke:var(--ind-surface-border-default, #2a3340);stroke-width:8;stroke-linecap:round}.zone{fill:none;stroke-width:8;stroke-linecap:butt}.needle{stroke:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));stroke-width:2.5;stroke-linecap:round;transition:all var(--ind-motion-duration-base, 200ms) var(--ind-motion-easing-standard, ease)}.hub{fill:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5))}.readout{display:inline-flex;align-items:baseline;gap:3px;margin-top:-28%}.number{font-family:var(--ind-font-family-mono, ui-monospace, monospace);font-size:var(--ind-font-size-xl, 16px);font-weight:var(--ind-font-weight-semibold, 600);font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1)}:host([size="lg"]) .number{font-size:var(--ind-font-size-2xl, 20px)}.unit{font-size:var(--ind-font-size-xs, 10px);color:var(--ind-surface-text-muted, #7a8694)}.label{margin-top:var(--ind-spacing-2, 4px);font-size:var(--ind-font-size-xs, 10px);color:var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2))}@media (prefers-reduced-motion: reduce){.needle{transition:none}}`;const i=class{constructor(t){e(this,t)}value=0;min=0;max=100;zones=[];unit;label;precision;size="md";startAngle=135;sweep=270;cx=50;cy=50;r=40;valueToAngle(e){const t=this.max-this.min||1;const a=Math.min(1,Math.max(0,(e-this.min)/t));return this.startAngle+a*this.sweep}polar(e,t=this.r){const a=e*Math.PI/180;return{x:this.cx+t*Math.cos(a),y:this.cy+t*Math.sin(a)}}arc(e,t,a=this.r){const s=this.valueToAngle(e);const i=this.valueToAngle(t);const n=this.polar(s,a);const r=this.polar(i,a);const o=i-s>180?1:0;return`M ${n.x.toFixed(2)} ${n.y.toFixed(2)} A ${a} ${a} 0 ${o} 1 ${r.x.toFixed(2)} ${r.y.toFixed(2)}`}formatted(){if(!Number.isFinite(this.value))return"--";return this.precision!==undefined?this.value.toFixed(this.precision):String(this.value)}render(){const e=this.valueToAngle(this.value);const s=this.polar(e,this.r-6);const i=this.label??"gauge";return t(a,{key:"1dcc7b4a14620e9e67f62b4bb839de1c73c9eb28",role:"meter","aria-valuenow":this.value,"aria-valuemin":this.min,"aria-valuemax":this.max,"aria-label":`${i}: ${this.formatted()}${this.unit?" "+this.unit:""}`},t("svg",{key:"835dadb8fe0ffcab0bd4f3dc62d7049a6a9d04dd",class:"gauge",part:"gauge",viewBox:"0 0 100 100","aria-hidden":"true"},t("path",{key:"440f32cf9718f31589b1c3320c3e5db538a5aaaf",class:"track",part:"track",d:this.arc(this.min,this.max)}),(this.zones??[]).map((e=>t("path",{class:"zone",d:this.arc(e.from,e.to),style:{stroke:e.color}}))),t("line",{key:"d7d4f7fc4137c2763d3d51f2e33bd4f833e8f349",class:"needle",part:"needle",x1:this.cx,y1:this.cy,x2:s.x,y2:s.y}),t("circle",{key:"f8e497fd70ab2f68f12d867efc41b45e8477ee7e",class:"hub",cx:this.cx,cy:this.cy,r:"3.5"})),t("div",{key:"e71f4f120c4a8618c54a4287a47e292375a1acad",class:"readout",part:"readout"},t("span",{key:"7cc72fe3205519521e18eb1cbc9d374101704d2d",class:"number",part:"number"},this.formatted()),this.unit&&t("span",{key:"2309b9b1c009a726af38381e8ad05aa8365f4109",class:"unit",part:"unit"},this.unit)),this.label&&t("span",{key:"2d7c584f453a5006f75d6b5f03af2d1e4a200a59",class:"label",part:"label"},this.label))}};i.style=s();export{i as ind_gauge};
2
+ //# sourceMappingURL=p-6135cdf0.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["gaugeCss","IndGauge","value","min","max","zones","unit","label","precision","size","startAngle","sweep","cx","cy","r","valueToAngle","v","span","this","ratio","Math","polar","angleDeg","radius","a","PI","x","cos","y","sin","arc","fromV","toV","a0","a1","p0","p1","large","toFixed","formatted","Number","isFinite","undefined","String","render","needleAngle","tip","name","h","Host","key","role","class","part","viewBox","d","map","z","from","to","style","stroke","color","x1","y1","x2","y2"],"sources":["src/components/atoms/gauge/gauge.css?tag=ind-gauge&encapsulation=shadow","src/components/atoms/gauge/gauge.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n font-family: var(--ind-font-family-sans, system-ui, sans-serif);\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n --_w: 120px;\n}\n\n:host([size=\"sm\"]) { --_w: 84px; }\n:host([size=\"md\"]) { --_w: 120px; }\n:host([size=\"lg\"]) { --_w: 168px; }\n\n.gauge {\n width: var(--_w);\n height: var(--_w);\n display: block;\n}\n\n.track {\n fill: none;\n stroke: var(--ind-surface-border-default, #2a3340);\n stroke-width: 8;\n stroke-linecap: round;\n}\n\n.zone {\n fill: none;\n stroke-width: 8;\n stroke-linecap: butt;\n}\n\n.needle {\n stroke: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n stroke-width: 2.5;\n stroke-linecap: round;\n transition: all var(--ind-motion-duration-base, 200ms) var(--ind-motion-easing-standard, ease);\n}\n\n.hub {\n fill: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n}\n\n.readout {\n display: inline-flex;\n align-items: baseline;\n gap: 3px;\n margin-top: -28%;\n}\n\n.number {\n font-family: var(--ind-font-family-mono, ui-monospace, monospace);\n font-size: var(--ind-font-size-xl, 16px);\n font-weight: var(--ind-font-weight-semibold, 600);\n font-feature-settings: var(--ind-font-feature-tabular, \"tnum\" 1);\n}\n\n:host([size=\"lg\"]) .number { font-size: var(--ind-font-size-2xl, 20px); }\n\n.unit { font-size: var(--ind-font-size-xs, 10px); color: var(--ind-surface-text-muted, #7a8694); }\n\n.label {\n margin-top: var(--ind-spacing-2, 4px);\n font-size: var(--ind-font-size-xs, 10px);\n color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .needle { transition: none; }\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nexport interface GaugeZone {\n from: number;\n to: number;\n /** CSS color or a state keyword resolved to a token. */\n color: string;\n}\n\nexport type GaugeSize = 'sm' | 'md' | 'lg';\n\n@Component({\n tag: 'ind-gauge',\n styleUrl: 'gauge.css',\n shadow: true,\n})\nexport class IndGauge {\n /** Current value. */\n @Prop() value: number = 0;\n /** Scale minimum. */\n @Prop() min: number = 0;\n /** Scale maximum. */\n @Prop() max: number = 100;\n /** Colored zones along the arc (e.g. green/amber/red bands). Pass as a property. */\n @Prop() zones: GaugeZone[] = [];\n /** Engineering unit. */\n @Prop() unit?: string;\n /** Label / tag rendered under the value. */\n @Prop() label?: string;\n /** Decimal places for the value. */\n @Prop() precision?: number;\n /** Size. */\n @Prop({ reflect: true }) size: GaugeSize = 'md';\n\n // 270° sweep from 135° (bottom-left) clockwise to 405°/45° (bottom-right).\n private readonly startAngle = 135;\n private readonly sweep = 270;\n private readonly cx = 50;\n private readonly cy = 50;\n private readonly r = 40;\n\n private valueToAngle(v: number): number {\n const span = this.max - this.min || 1;\n const ratio = Math.min(1, Math.max(0, (v - this.min) / span));\n return this.startAngle + ratio * this.sweep;\n }\n\n private polar(angleDeg: number, radius = this.r): { x: number; y: number } {\n const a = (angleDeg * Math.PI) / 180;\n return { x: this.cx + radius * Math.cos(a), y: this.cy + radius * Math.sin(a) };\n }\n\n private arc(fromV: number, toV: number, radius = this.r): string {\n const a0 = this.valueToAngle(fromV);\n const a1 = this.valueToAngle(toV);\n const p0 = this.polar(a0, radius);\n const p1 = this.polar(a1, radius);\n const large = a1 - a0 > 180 ? 1 : 0;\n return `M ${p0.x.toFixed(2)} ${p0.y.toFixed(2)} A ${radius} ${radius} 0 ${large} 1 ${p1.x.toFixed(2)} ${p1.y.toFixed(2)}`;\n }\n\n private formatted(): string {\n if (!Number.isFinite(this.value)) return '--';\n return this.precision !== undefined ? this.value.toFixed(this.precision) : String(this.value);\n }\n\n render() {\n const needleAngle = this.valueToAngle(this.value);\n const tip = this.polar(needleAngle, this.r - 6);\n const name = this.label ?? 'gauge';\n return (\n <Host\n role=\"meter\"\n aria-valuenow={this.value}\n aria-valuemin={this.min}\n aria-valuemax={this.max}\n aria-label={`${name}: ${this.formatted()}${this.unit ? ' ' + this.unit : ''}`}\n >\n <svg class=\"gauge\" part=\"gauge\" viewBox=\"0 0 100 100\" aria-hidden=\"true\">\n <path class=\"track\" part=\"track\" d={this.arc(this.min, this.max)} />\n {(this.zones ?? []).map((z) => (\n <path class=\"zone\" d={this.arc(z.from, z.to)} style={{ stroke: z.color }} />\n ))}\n <line class=\"needle\" part=\"needle\" x1={this.cx} y1={this.cy} x2={tip.x} y2={tip.y} />\n <circle class=\"hub\" cx={this.cx} cy={this.cy} r=\"3.5\" />\n </svg>\n <div class=\"readout\" part=\"readout\">\n <span class=\"number\" part=\"number\">{this.formatted()}</span>\n {this.unit && <span class=\"unit\" part=\"unit\">{this.unit}</span>}\n </div>\n {this.label && <span class=\"label\" part=\"label\">{this.label}</span>}\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAW,IAAM,47C,MCgBVC,EAAQ,M,yBAEXC,MAAgB,EAEhBC,IAAc,EAEdC,IAAc,IAEdC,MAAqB,GAErBC,KAEAC,MAEAC,UAEiBC,KAAkB,KAG1BC,WAAa,IACbC,MAAQ,IACRC,GAAK,GACLC,GAAK,GACLC,EAAI,GAEb,YAAAC,CAAaC,GACnB,MAAMC,EAAOC,KAAKd,IAAMc,KAAKf,KAAO,EACpC,MAAMgB,EAAQC,KAAKjB,IAAI,EAAGiB,KAAKhB,IAAI,GAAIY,EAAIE,KAAKf,KAAOc,IACvD,OAAOC,KAAKR,WAAaS,EAAQD,KAAKP,K,CAGhC,KAAAU,CAAMC,EAAkBC,EAASL,KAAKJ,GAC5C,MAAMU,EAAKF,EAAWF,KAAKK,GAAM,IACjC,MAAO,CAAEC,EAAGR,KAAKN,GAAKW,EAASH,KAAKO,IAAIH,GAAII,EAAGV,KAAKL,GAAKU,EAASH,KAAKS,IAAIL,G,CAGrE,GAAAM,CAAIC,EAAeC,EAAaT,EAASL,KAAKJ,GACpD,MAAMmB,EAAKf,KAAKH,aAAagB,GAC7B,MAAMG,EAAKhB,KAAKH,aAAaiB,GAC7B,MAAMG,EAAKjB,KAAKG,MAAMY,EAAIV,GAC1B,MAAMa,EAAKlB,KAAKG,MAAMa,EAAIX,GAC1B,MAAMc,EAAQH,EAAKD,EAAK,IAAM,EAAI,EAClC,MAAO,KAAKE,EAAGT,EAAEY,QAAQ,MAAMH,EAAGP,EAAEU,QAAQ,QAAQf,KAAUA,OAAYc,OAAWD,EAAGV,EAAEY,QAAQ,MAAMF,EAAGR,EAAEU,QAAQ,I,CAG/G,SAAAC,GACN,IAAKC,OAAOC,SAASvB,KAAKhB,OAAQ,MAAO,KACzC,OAAOgB,KAAKV,YAAckC,UAAYxB,KAAKhB,MAAMoC,QAAQpB,KAAKV,WAAamC,OAAOzB,KAAKhB,M,CAGzF,MAAA0C,GACE,MAAMC,EAAc3B,KAAKH,aAAaG,KAAKhB,OAC3C,MAAM4C,EAAM5B,KAAKG,MAAMwB,EAAa3B,KAAKJ,EAAI,GAC7C,MAAMiC,EAAO7B,KAAKX,OAAS,QAC3B,OACEyC,EAACC,EAAI,CAAAC,IAAA,2CACHC,KAAK,QAAO,gBACGjC,KAAKhB,MAAK,gBACVgB,KAAKf,IAAG,gBACRe,KAAKd,IAAG,aACX,GAAG2C,MAAS7B,KAAKqB,cAAcrB,KAAKZ,KAAO,IAAMY,KAAKZ,KAAO,MAEzE0C,EAAA,OAAAE,IAAA,2CAAKE,MAAM,QAAQC,KAAK,QAAQC,QAAQ,cAAa,cAAa,QAChEN,EAAA,QAAAE,IAAA,2CAAME,MAAM,QAAQC,KAAK,QAAQE,EAAGrC,KAAKY,IAAIZ,KAAKf,IAAKe,KAAKd,QAC1Dc,KAAKb,OAAS,IAAImD,KAAKC,GACvBT,EAAA,QAAMI,MAAM,OAAOG,EAAGrC,KAAKY,IAAI2B,EAAEC,KAAMD,EAAEE,IAAKC,MAAO,CAAEC,OAAQJ,EAAEK,WAEnEd,EAAA,QAAAE,IAAA,2CAAME,MAAM,SAASC,KAAK,SAASU,GAAI7C,KAAKN,GAAIoD,GAAI9C,KAAKL,GAAIoD,GAAInB,EAAIpB,EAAGwC,GAAIpB,EAAIlB,IAChFoB,EAAA,UAAAE,IAAA,2CAAQE,MAAM,MAAMxC,GAAIM,KAAKN,GAAIC,GAAIK,KAAKL,GAAIC,EAAE,SAElDkC,EAAA,OAAAE,IAAA,2CAAKE,MAAM,UAAUC,KAAK,WACxBL,EAAA,QAAAE,IAAA,2CAAME,MAAM,SAASC,KAAK,UAAUnC,KAAKqB,aACxCrB,KAAKZ,MAAQ0C,EAAA,QAAAE,IAAA,2CAAME,MAAM,OAAOC,KAAK,QAAQnC,KAAKZ,OAEpDY,KAAKX,OAASyC,EAAA,QAAAE,IAAA,2CAAME,MAAM,QAAQC,KAAK,SAASnC,KAAKX,O","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,c as e,h as i,H as n}from"./p-Bls_NlWP.js";const t=()=>`:host{display:flex;flex-direction:column;background:var(--ind-surface-panel);border:1px solid var(--ind-surface-border-default);border-radius:var(--ind-radius-md, 3px);font-family:var(--ind-font-family-sans);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));box-sizing:border-box;overflow:hidden;font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1)}.panel-head{display:flex;align-items:center;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);background:var(--ind-surface-raised);flex:0 0 auto}.panel-titles{display:flex;flex-direction:column;min-width:0}.panel-title{font-size:var(--ind-font-size-md, 13px);font-weight:var(--ind-font-weight-semibold, 600);line-height:1.2}.panel-subtitle{font-size:var(--ind-font-size-xs, 10px);text-transform:uppercase;letter-spacing:0.06em;color:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0))}.panel-tag{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-secondary)}.panel-actions{margin-left:auto;display:flex;align-items:center;gap:var(--ind-spacing-3, 6px)}.panel-body{display:flex;flex-direction:column;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px);min-height:0}.panel-toolbar{display:flex;align-items:center;gap:var(--ind-spacing-3, 6px);padding:var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);flex:0 0 auto}.panel-list{display:flex;flex-direction:column;overflow:auto}.panel-grid{display:grid;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px)}.panel-empty{padding:var(--ind-spacing-7, 20px);text-align:center;color:var(--ind-surface-text-muted);font-size:var(--ind-font-size-sm, 11px)}.panel-spacer{flex:1 1 auto}`;const d=()=>`:host{min-width:300px}ind-progress{width:100%}.versions{display:flex;align-items:center;gap:var(--ind-spacing-5, 12px)}.ver{display:flex;flex-direction:column}.ver-label{font-size:var(--ind-font-size-xs, 10px);text-transform:uppercase;letter-spacing:0.06em;color:var(--ind-surface-text-muted)}.ver-value{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-lg, 14px);font-weight:var(--ind-font-weight-semibold, 600)}.arrow{color:var(--ind-surface-text-muted)}.state{font-size:var(--ind-font-size-sm, 11px);font-weight:var(--ind-font-weight-bold, 700);padding:2px 8px;border-radius:var(--ind-radius-full, 9999px);background:var(--ind-surface-raised)}.state-available{color:var(--ind-state-warning-bg, #f59e0b)}.state-up-to-date{color:var(--ind-state-running-bg, #16a34a)}.state-error{color:var(--ind-state-fault-bg, #dc2626)}`;const s={idle:"Idle",checking:"Checking…",available:"Update available",downloading:"Downloading…",installing:"Installing…","up-to-date":"Up to date",error:"Update failed"};const r=class{constructor(i){a(this,i);this.indCheck=e(this,"indCheck");this.indInstall=e(this,"indInstall")}heading="Firmware";device;currentVersion;targetVersion;state="idle";progress=0;indCheck;indInstall;render(){const a=this.state==="downloading"||this.state==="installing"||this.state==="checking";const e=this.state==="available";const t=this.state==="error"?"error":"default";return i(n,{key:"c9cee9fc072636573cfa2119088ab8c602b91ddc"},i("div",{key:"b1defe4c2fef4b350cabd879bb68946c7ee90ace",class:"panel-head"},i("div",{key:"ce3e01440b4951b9ec350b6205af5dc1baf490c1",class:"panel-titles"},i("span",{key:"6760bdf61cebbbeaade59e01e0cda543b09ab6d0",class:"panel-title",part:"heading"},this.heading),this.device&&i("span",{key:"0294ac7428cdf439fca758ef1f0ee5b961f87cf7",class:"panel-subtitle"},this.device)),i("span",{key:"dd966181fa4ef9272fc277cf9aa23e9f5bbd8d9c",class:`state state-${this.state}`,part:"state"},s[this.state])),i("div",{key:"f19ef00c269639924aa1399ac7e5cf518a341e07",class:"panel-body"},i("div",{key:"9b88a26c64eaf6b000b5d1a1b22b48869ecb57fc",class:"versions",part:"versions"},i("div",{key:"29449a45053f0227faefc3d18ba90a1eb6f8d562",class:"ver"},i("span",{key:"c6b1baccacf71ccd6e632754ed3975d1813fede7",class:"ver-label"},"Installed"),i("span",{key:"00a47da41568fad6230f1005c9abd16137850367",class:"ver-value"},this.currentVersion)),i("span",{key:"d542f90b0e28cb7f2b647804902f095db680c2de",class:"arrow","aria-hidden":"true"},"→"),i("div",{key:"dd4221c1edcd9cda6325a0c4446acc8f1dc60ba3",class:"ver"},i("span",{key:"f90cc2eb98028665402d87596a4f52bcac0eeddc",class:"ver-label"},"Target"),i("span",{key:"a2bdb73992f0ea490156679f2d0aca66eaf8ca28",class:"ver-value"},this.targetVersion??"—"))),a&&i("ind-progress",{key:"9653d04c3a041bf5d5840b80c6fe0fde2fd65551",value:this.progress,max:100,variant:t,size:"md","show-value":true,indeterminate:this.state==="checking"}),i("ind-command-group",{key:"38daf75517ce16e6ab122c71e3134e5dac789770",label:"Firmware commands"},i("ind-button",{key:"1027f80e79d2f3cd36eff6f780c7874d14986a06",variant:"default",size:"sm",label:"Check",disabled:a,onIndActivate:()=>this.indCheck.emit()}),i("ind-button",{key:"e6623303064153b5e600446cc4bfdae9cb79ef01",variant:"primary",size:"sm",label:"Install",disabled:!e,onIndActivate:()=>this.indInstall.emit()}))))}};r.style=t()+d();export{r as ind_firmware_update_panel};
2
+ //# sourceMappingURL=p-6963683d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["panelCss","firmwareUpdatePanelCss","STATE_LABEL","idle","checking","available","downloading","installing","error","IndFirmwareUpdatePanel","heading","device","currentVersion","targetVersion","state","progress","indCheck","indInstall","render","busy","this","canInstall","progressVariant","h","Host","key","class","part","value","max","variant","size","indeterminate","label","disabled","onIndActivate","emit"],"sources":["src/components/organisms/_shared/panel.css?tag=ind-firmware-update-panel&encapsulation=shadow","src/components/organisms/firmware-update-panel/firmware-update-panel.css?tag=ind-firmware-update-panel&encapsulation=shadow","src/components/organisms/firmware-update-panel/firmware-update-panel.tsx"],"sourcesContent":["/* Shared chrome for organism panels. Pulled in first via\n * `styleUrls: ['../_shared/panel.css', 'xxx.css']`. */\n:host {\n display: flex;\n flex-direction: column;\n background: var(--ind-surface-panel);\n border: 1px solid var(--ind-surface-border-default);\n border-radius: var(--ind-radius-md, 3px);\n font-family: var(--ind-font-family-sans);\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n box-sizing: border-box;\n overflow: hidden;\n font-feature-settings: var(--ind-font-feature-tabular, \"tnum\" 1);\n}\n\n.panel-head {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n background: var(--ind-surface-raised);\n flex: 0 0 auto;\n}\n\n.panel-titles {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.panel-title {\n font-size: var(--ind-font-size-md, 13px);\n font-weight: var(--ind-font-weight-semibold, 600);\n line-height: 1.2;\n}\n\n.panel-subtitle {\n font-size: var(--ind-font-size-xs, 10px);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));\n}\n\n.panel-tag {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-secondary);\n}\n\n.panel-actions {\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n}\n\n.panel-body {\n display: flex;\n flex-direction: column;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n min-height: 0;\n}\n\n.panel-toolbar {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n padding: var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n flex: 0 0 auto;\n}\n\n.panel-list {\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n.panel-grid {\n display: grid;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n}\n\n.panel-empty {\n padding: var(--ind-spacing-7, 20px);\n text-align: center;\n color: var(--ind-surface-text-muted);\n font-size: var(--ind-font-size-sm, 11px);\n}\n\n.panel-spacer {\n flex: 1 1 auto;\n}\n",":host {\n min-width: 300px;\n}\n\nind-progress {\n width: 100%;\n}\n\n.versions {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-5, 12px);\n}\n\n.ver {\n display: flex;\n flex-direction: column;\n}\n\n.ver-label {\n font-size: var(--ind-font-size-xs, 10px);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--ind-surface-text-muted);\n}\n\n.ver-value {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-lg, 14px);\n font-weight: var(--ind-font-weight-semibold, 600);\n}\n\n.arrow {\n color: var(--ind-surface-text-muted);\n}\n\n.state {\n font-size: var(--ind-font-size-sm, 11px);\n font-weight: var(--ind-font-weight-bold, 700);\n padding: 2px 8px;\n border-radius: var(--ind-radius-full, 9999px);\n background: var(--ind-surface-raised);\n}\n\n.state-available { color: var(--ind-state-warning-bg, #f59e0b); }\n.state-up-to-date { color: var(--ind-state-running-bg, #16a34a); }\n.state-error { color: var(--ind-state-fault-bg, #dc2626); }\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport type FirmwareState =\n | 'idle'\n | 'checking'\n | 'available'\n | 'downloading'\n | 'installing'\n | 'up-to-date'\n | 'error';\n\nconst STATE_LABEL: Record<FirmwareState, string> = {\n idle: 'Idle',\n checking: 'Checking…',\n available: 'Update available',\n downloading: 'Downloading…',\n installing: 'Installing…',\n 'up-to-date': 'Up to date',\n error: 'Update failed',\n};\n\n/**\n * Firmware update panel: current vs target version, update progress and the\n * Check / Install commands. Emits `indCheck` and `indInstall`.\n */\n@Component({\n tag: 'ind-firmware-update-panel',\n styleUrls: ['../_shared/panel.css', 'firmware-update-panel.css'],\n shadow: true,\n})\nexport class IndFirmwareUpdatePanel {\n @Prop() heading: string = 'Firmware';\n /** Device name. */\n @Prop() device?: string;\n /** Installed version. */\n @Prop() currentVersion!: string;\n /** Available / target version. */\n @Prop() targetVersion?: string;\n /** Update state. */\n @Prop({ reflect: true }) state: FirmwareState = 'idle';\n /** Progress 0–100 % while downloading / installing. */\n @Prop() progress: number = 0;\n\n @Event() indCheck!: EventEmitter<void>;\n @Event() indInstall!: EventEmitter<void>;\n\n render() {\n const busy = this.state === 'downloading' || this.state === 'installing' || this.state === 'checking';\n const canInstall = this.state === 'available';\n const progressVariant = this.state === 'error' ? 'error' : 'default';\n return (\n <Host>\n <div class=\"panel-head\">\n <div class=\"panel-titles\">\n <span class=\"panel-title\" part=\"heading\">{this.heading}</span>\n {this.device && <span class=\"panel-subtitle\">{this.device}</span>}\n </div>\n <span class={`state state-${this.state}`} part=\"state\">{STATE_LABEL[this.state]}</span>\n </div>\n <div class=\"panel-body\">\n <div class=\"versions\" part=\"versions\">\n <div class=\"ver\">\n <span class=\"ver-label\">Installed</span>\n <span class=\"ver-value\">{this.currentVersion}</span>\n </div>\n <span class=\"arrow\" aria-hidden=\"true\">→</span>\n <div class=\"ver\">\n <span class=\"ver-label\">Target</span>\n <span class=\"ver-value\">{this.targetVersion ?? '—'}</span>\n </div>\n </div>\n {busy && (\n <ind-progress value={this.progress} max={100} variant={progressVariant} size=\"md\" show-value indeterminate={this.state === 'checking'}></ind-progress>\n )}\n <ind-command-group label=\"Firmware commands\">\n <ind-button variant=\"default\" size=\"sm\" label=\"Check\" disabled={busy} onIndActivate={() => this.indCheck.emit()} />\n <ind-button variant=\"primary\" size=\"sm\" label=\"Install\" disabled={!canInstall} onIndActivate={() => this.indInstall.emit()} />\n </ind-command-group>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAW,IAAM,4zDCAvB,MAAMC,EAAyB,IAAM,40BCWrC,MAAMC,EAA6C,CACjDC,KAAM,OACNC,SAAU,YACVC,UAAW,mBACXC,YAAa,eACbC,WAAY,cACZ,aAAc,aACdC,MAAO,iB,MAYIC,EAAsB,M,+FACzBC,QAAkB,WAElBC,OAEAC,eAEAC,cAEiBC,MAAuB,OAExCC,SAAmB,EAElBC,SACAC,WAET,MAAAC,GACE,MAAMC,EAAOC,KAAKN,QAAU,eAAiBM,KAAKN,QAAU,cAAgBM,KAAKN,QAAU,WAC3F,MAAMO,EAAaD,KAAKN,QAAU,YAClC,MAAMQ,EAAkBF,KAAKN,QAAU,QAAU,QAAU,UAC3D,OACES,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,gBACTH,EAAA,QAAAE,IAAA,2CAAMC,MAAM,cAAcC,KAAK,WAAWP,KAAKV,SAC9CU,KAAKT,QAAUY,EAAA,QAAAE,IAAA,2CAAMC,MAAM,kBAAkBN,KAAKT,SAErDY,EAAA,QAAAE,IAAA,2CAAMC,MAAO,eAAeN,KAAKN,QAASa,KAAK,SAASzB,EAAYkB,KAAKN,SAE3ES,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,WAAWC,KAAK,YACzBJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,OACTH,EAAA,QAAAE,IAAA,2CAAMC,MAAM,aAAW,aACvBH,EAAA,QAAAE,IAAA,2CAAMC,MAAM,aAAaN,KAAKR,iBAEhCW,EAAA,QAAAE,IAAA,2CAAMC,MAAM,QAAO,cAAa,QAAM,KACtCH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,OACTH,EAAA,QAAAE,IAAA,2CAAMC,MAAM,aAAW,UACvBH,EAAA,QAAAE,IAAA,2CAAMC,MAAM,aAAaN,KAAKP,eAAiB,OAGlDM,GACCI,EAAA,gBAAAE,IAAA,2CAAcG,MAAOR,KAAKL,SAAUc,IAAK,IAAKC,QAASR,EAAiBS,KAAK,KAAI,kBAAYC,cAAeZ,KAAKN,QAAU,aAE7HS,EAAA,qBAAAE,IAAA,2CAAmBQ,MAAM,qBACvBV,EAAA,cAAAE,IAAA,2CAAYK,QAAQ,UAAUC,KAAK,KAAKE,MAAM,QAAQC,SAAUf,EAAMgB,cAAe,IAAMf,KAAKJ,SAASoB,SACzGb,EAAA,cAAAE,IAAA,2CAAYK,QAAQ,UAAUC,KAAK,KAAKE,MAAM,UAAUC,UAAWb,EAAYc,cAAe,IAAMf,KAAKH,WAAWmB,W","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,h as e,H as n}from"./p-Bls_NlWP.js";const o=()=>`:host{display:inline-block;--_thickness:8px;--_fluid:var(--ind-surface-border-strong, #5a6776)}:host([orientation="horizontal"]){width:64px;height:var(--_thickness)}:host([orientation="vertical"]){width:var(--_thickness);height:64px}:host([tone="running"]){--_fluid:var(--ind-state-running-bg, #16a34a)}:host([tone="fault"]){--_fluid:var(--ind-state-fault-bg, #dc2626)}:host([tone="warning"]){--_fluid:var(--ind-state-warning-bg, #f59e0b)}.pipe{position:relative;display:block;width:100%;height:100%;background:var(--ind-surface-raised, #1b222c);border:1px solid var(--ind-surface-border-strong, #5a6776);border-radius:2px;overflow:hidden}.flow{position:absolute;inset:0;background:var(--_fluid);opacity:0.85}:host([flow="forward"]) .flow,:host([flow="reverse"]) .flow{background-image:repeating-linear-gradient( var(--_angle, 90deg), color-mix(in srgb, #fff 28%, transparent) 0 4px, transparent 4px 10px );background-color:var(--_fluid);background-size:14px 14px}:host([orientation="horizontal"]) .flow{--_angle:90deg}:host([orientation="vertical"]) .flow{--_angle:0deg}:host([flow="forward"][orientation="horizontal"]) .flow{animation:ind-pipe-x 0.7s linear infinite}:host([flow="reverse"][orientation="horizontal"]) .flow{animation:ind-pipe-x 0.7s linear infinite reverse}:host([flow="forward"][orientation="vertical"]) .flow{animation:ind-pipe-y 0.7s linear infinite}:host([flow="reverse"][orientation="vertical"]) .flow{animation:ind-pipe-y 0.7s linear infinite reverse}@keyframes ind-pipe-x{to{background-position:14px 0}}@keyframes ind-pipe-y{to{background-position:0 14px}}@media (prefers-reduced-motion: reduce){.flow{animation:none !important}}`;const t=class{constructor(e){i(this,e)}orientation="horizontal";flow="none";tone="neutral";thickness=8;length;label;render(){const i=this.orientation==="horizontal";const o={"--_thickness":`${this.thickness}px`};if(this.length!==undefined){o[i?"width":"height"]=`${this.length}px`}return e(n,{key:"3120dcbff81eec57ff6d8cb4c8aa375783ed7121",role:this.label?"img":"presentation","aria-label":this.label,"aria-hidden":this.label?undefined:"true",style:o},e("span",{key:"3e3d0e87990f290ee93a87af9df619dcac2869bd",class:"pipe",part:"pipe"},e("span",{key:"0f54ffc6f3737abb2aa86a0b6c0a71cc1f6cb153",class:"flow",part:"flow"})))}};t.style=o();export{t as ind_pipe};
2
+ //# sourceMappingURL=p-6dcfca81.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pipeCss","IndPipe","orientation","flow","tone","thickness","length","label","render","horizontal","this","style","undefined","h","Host","key","role","class","part"],"sources":["src/components/atoms/pipe/pipe.css?tag=ind-pipe&encapsulation=shadow","src/components/atoms/pipe/pipe.tsx"],"sourcesContent":[":host {\n display: inline-block;\n --_thickness: 8px;\n --_fluid: var(--ind-surface-border-strong, #5a6776);\n}\n\n:host([orientation=\"horizontal\"]) { width: 64px; height: var(--_thickness); }\n:host([orientation=\"vertical\"]) { width: var(--_thickness); height: 64px; }\n\n:host([tone=\"running\"]) { --_fluid: var(--ind-state-running-bg, #16a34a); }\n:host([tone=\"fault\"]) { --_fluid: var(--ind-state-fault-bg, #dc2626); }\n:host([tone=\"warning\"]) { --_fluid: var(--ind-state-warning-bg, #f59e0b); }\n\n.pipe {\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n background: var(--ind-surface-raised, #1b222c);\n border: 1px solid var(--ind-surface-border-strong, #5a6776);\n border-radius: 2px;\n overflow: hidden;\n}\n\n.flow {\n position: absolute;\n inset: 0;\n background: var(--_fluid);\n opacity: 0.85;\n}\n\n/* Dashed overlay conveys flow motion. */\n:host([flow=\"forward\"]) .flow,\n:host([flow=\"reverse\"]) .flow {\n background-image: repeating-linear-gradient(\n var(--_angle, 90deg),\n color-mix(in srgb, #fff 28%, transparent) 0 4px,\n transparent 4px 10px\n );\n background-color: var(--_fluid);\n background-size: 14px 14px;\n}\n\n:host([orientation=\"horizontal\"]) .flow { --_angle: 90deg; }\n:host([orientation=\"vertical\"]) .flow { --_angle: 0deg; }\n\n:host([flow=\"forward\"][orientation=\"horizontal\"]) .flow { animation: ind-pipe-x 0.7s linear infinite; }\n:host([flow=\"reverse\"][orientation=\"horizontal\"]) .flow { animation: ind-pipe-x 0.7s linear infinite reverse; }\n:host([flow=\"forward\"][orientation=\"vertical\"]) .flow { animation: ind-pipe-y 0.7s linear infinite; }\n:host([flow=\"reverse\"][orientation=\"vertical\"]) .flow { animation: ind-pipe-y 0.7s linear infinite reverse; }\n\n@keyframes ind-pipe-x { to { background-position: 14px 0; } }\n@keyframes ind-pipe-y { to { background-position: 0 14px; } }\n\n@media (prefers-reduced-motion: reduce) {\n .flow { animation: none !important; }\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nexport type PipeOrientation = 'horizontal' | 'vertical';\nexport type PipeFlow = 'none' | 'forward' | 'reverse';\nexport type PipeTone = 'neutral' | 'running' | 'fault' | 'warning';\n\n@Component({\n tag: 'ind-pipe',\n styleUrl: 'pipe.css',\n shadow: true,\n})\nexport class IndPipe {\n /** Run direction of the segment. */\n @Prop({ reflect: true }) orientation: PipeOrientation = 'horizontal';\n /** Flow animation. `none` = static. */\n @Prop({ reflect: true }) flow: PipeFlow = 'none';\n /** Color tone of the fluid. */\n @Prop({ reflect: true }) tone: PipeTone = 'neutral';\n /** Pipe thickness in px. */\n @Prop() thickness: number = 8;\n /** Length in px (along the orientation). Defaults to filling the host. */\n @Prop() length?: number;\n /** Accessible label (decorative by default). */\n @Prop() label?: string;\n\n render() {\n const horizontal = this.orientation === 'horizontal';\n const style: Record<string, string> = { '--_thickness': `${this.thickness}px` };\n if (this.length !== undefined) {\n style[horizontal ? 'width' : 'height'] = `${this.length}px`;\n }\n return (\n <Host\n role={this.label ? 'img' : 'presentation'}\n aria-label={this.label}\n aria-hidden={this.label ? undefined : 'true'}\n style={style}\n >\n <span class=\"pipe\" part=\"pipe\">\n <span class=\"flow\" part=\"flow\" />\n </span>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAU,IAAM,uoD,MCWTC,EAAO,M,yBAEOC,YAA+B,aAE/BC,KAAiB,OAEjBC,KAAiB,UAElCC,UAAoB,EAEpBC,OAEAC,MAER,MAAAC,GACE,MAAMC,EAAaC,KAAKR,cAAgB,aACxC,MAAMS,EAAgC,CAAE,eAAgB,GAAGD,KAAKL,eAChE,GAAIK,KAAKJ,SAAWM,UAAW,CAC7BD,EAAMF,EAAa,QAAU,UAAY,GAAGC,KAAKJ,U,CAEnD,OACEO,EAACC,EAAI,CAAAC,IAAA,2CACHC,KAAMN,KAAKH,MAAQ,MAAQ,eAAc,aAC7BG,KAAKH,MAAK,cACTG,KAAKH,MAAQK,UAAY,OACtCD,MAAOA,GAEPE,EAAA,QAAAE,IAAA,2CAAME,MAAM,OAAOC,KAAK,QACtBL,EAAA,QAAAE,IAAA,2CAAME,MAAM,OAAOC,KAAK,U","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,h as e,H as t}from"./p-Bls_NlWP.js";const i=()=>`:host{display:flex;flex-direction:column;gap:var(--ind-spacing-3, 6px);padding:var(--ind-spacing-5, 12px);background:var(--ind-surface-panel);border:1px solid var(--ind-surface-border-default);border-radius:var(--ind-radius-md, 3px);font-family:var(--ind-font-family-sans);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1);box-sizing:border-box;min-width:160px}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ind-spacing-3, 6px)}.card-title{font-size:var(--ind-font-size-xs, 10px);font-weight:var(--ind-font-weight-bold, 700);text-transform:uppercase;letter-spacing:0.08em;color:var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2))}.card-tag{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2))}.card-detail{font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0))}:host([state="fault"]){border-color:var(--ind-state-fault-bg, #dc2626);box-shadow:0 0 0 1px color-mix(in srgb, var(--ind-state-fault-bg, #dc2626) 30%, transparent)}:host([state="warning"]){border-color:color-mix(in srgb, var(--ind-state-warning-bg, #f59e0b) 60%, var(--ind-surface-border-default))}`;const n=()=>`.body{display:flex;align-items:center;gap:var(--ind-spacing-5, 12px)}.symbol{flex:0 0 auto}.metrics{display:flex;flex-direction:column;gap:var(--ind-spacing-2, 4px);margin-left:auto;align-items:flex-end;text-align:right}`;const r=()=>`:host{min-width:210px}ind-linear-gauge{width:100%}`;const s=class{constructor(e){a(this,e)}tag;label;state="running";level=0;alarm="none";capacity;unit="L";render(){const a=Math.min(100,Math.max(0,this.level));const i=this.label??this.tag??"Tank";const n=this.alarm==="high"?"high":this.alarm==="low"?"low":"none";return e(t,{key:"5d6a6f6b6548d7ba5addfdc1db0d823ca95b4ad4",role:"group","aria-label":`${i} level ${Math.round(a)} percent`},e("div",{key:"a7a312f8303325cf679702176dc905a715551a8b",class:"card-head"},e("span",{key:"2f063cf5494e5bed48e2e01ea4821030cdf974ca",class:"card-title",part:"label"},i),this.tag&&e("span",{key:"b41273e27e1ef980837ec53f6e678d52d3d850ea",class:"card-tag",part:"tag"},this.tag)),e("div",{key:"0add427bf608da5e11895e0f34b422a1fd0bcffd",class:"body",part:"body"},e("ind-tank",{key:"b20d9ff05ba43b9bdbb692420b27bae809ed62ef",class:"symbol",state:this.state,level:a,alarm:this.alarm,size:"md"}),e("div",{key:"a593e704843bf704266732312424f1c27b835532",class:"metrics",part:"metrics"},e("ind-value",{key:"91abab48fbc9e642e597a56ceb3720c4b8a9ecc9",value:a,unit:"%",precision:0,alarm:n,label:"Level",size:"lg"}),this.capacity!==undefined&&e("ind-value",{key:"f0cbf620bcd7e840a1f89e3b5c91ee6c3b2aa456",value:this.capacity*a/100,unit:this.unit,precision:0,label:"Volume",size:"sm"}))),e("ind-linear-gauge",{key:"6962c05beb268f96fdbb9608f33e42882bd0aff7",part:"gauge",value:a,min:0,max:100,orientation:"horizontal",unit:"%",size:"sm"}))}};s.style=i()+(n()+r());export{s as ind_tank_level_card};
2
+ //# sourceMappingURL=p-6ff4c77b.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["cardCss","equipmentCardCss","tankLevelCardCss","IndTankLevelCard","tag","label","state","level","alarm","capacity","unit","render","pct","Math","min","max","this","name","valueAlarm","h","Host","key","role","round","class","part","size","value","precision","undefined","orientation"],"sources":["src/components/molecules/_shared/card.css?tag=ind-tank-level-card&encapsulation=shadow","src/components/molecules/_shared/equipment-card.css?tag=ind-tank-level-card&encapsulation=shadow","src/components/molecules/tank-level-card/tank-level-card.css?tag=ind-tank-level-card&encapsulation=shadow","src/components/molecules/tank-level-card/tank-level-card.tsx"],"sourcesContent":["/* Shared chrome for molecule \"card\" components. Pulled in first via\n * `styleUrls: ['../_shared/card.css', 'xxx.css']` so each card can override. */\n:host {\n display: flex;\n flex-direction: column;\n gap: var(--ind-spacing-3, 6px);\n padding: var(--ind-spacing-5, 12px);\n background: var(--ind-surface-panel);\n border: 1px solid var(--ind-surface-border-default);\n border-radius: var(--ind-radius-md, 3px);\n font-family: var(--ind-font-family-sans);\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n font-feature-settings: var(--ind-font-feature-tabular, \"tnum\" 1);\n box-sizing: border-box;\n min-width: 160px;\n}\n\n.card-head {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--ind-spacing-3, 6px);\n}\n\n.card-title {\n font-size: var(--ind-font-size-xs, 10px);\n font-weight: var(--ind-font-weight-bold, 700);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));\n}\n\n.card-tag {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));\n}\n\n.card-detail {\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));\n}\n\n/* Fault chrome cue, opt-in by reflecting state=\"fault\" on the host. */\n:host([state=\"fault\"]) {\n border-color: var(--ind-state-fault-bg, #dc2626);\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--ind-state-fault-bg, #dc2626) 30%, transparent);\n}\n:host([state=\"warning\"]) {\n border-color: color-mix(in srgb, var(--ind-state-warning-bg, #f59e0b) 60%, var(--ind-surface-border-default));\n}\n","/* Shared layout for the equipment faceplate cards (motor, pump, valve, tank).\n * Loaded after card.css and before each component's own sheet. */\n.body {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-5, 12px);\n}\n\n.symbol {\n flex: 0 0 auto;\n}\n\n.metrics {\n display: flex;\n flex-direction: column;\n gap: var(--ind-spacing-2, 4px);\n margin-left: auto;\n align-items: flex-end;\n text-align: right;\n}\n",":host {\n min-width: 210px;\n}\n\nind-linear-gauge {\n width: 100%;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport type { EquipmentState } from '../../atoms/_equipment/types';\n\nexport type TankAlarm = 'none' | 'low' | 'high';\n\n/**\n * Tank level faceplate: `<ind-tank>` symbol with a level readout and a\n * `<ind-linear-gauge>` showing the fill against low/high alarm bands.\n */\n@Component({\n tag: 'ind-tank-level-card',\n styleUrls: ['../_shared/card.css', '../_shared/equipment-card.css', 'tank-level-card.css'],\n shadow: true,\n})\nexport class IndTankLevelCard {\n /** Equipment tag (e.g. \"T-204\"). */\n @Prop() tag?: string;\n /** Human label (e.g. \"Buffer tank\"). */\n @Prop() label?: string;\n /** Equipment state (drives fault chrome and tank outline). */\n @Prop({ reflect: true }) state: EquipmentState = 'running';\n /** Current level 0–100 %. */\n @Prop() level: number = 0;\n /** Alarm tint of the liquid. */\n @Prop({ reflect: true }) alarm: TankAlarm = 'none';\n /** Engineering capacity for the secondary readout (e.g. 5000). */\n @Prop() capacity?: number;\n /** Capacity unit (e.g. \"L\"). */\n @Prop() unit: string = 'L';\n\n render() {\n const pct = Math.min(100, Math.max(0, this.level));\n const name = this.label ?? this.tag ?? 'Tank';\n const valueAlarm = this.alarm === 'high' ? 'high' : this.alarm === 'low' ? 'low' : 'none';\n return (\n <Host role=\"group\" aria-label={`${name} level ${Math.round(pct)} percent`}>\n <div class=\"card-head\">\n <span class=\"card-title\" part=\"label\">{name}</span>\n {this.tag && <span class=\"card-tag\" part=\"tag\">{this.tag}</span>}\n </div>\n <div class=\"body\" part=\"body\">\n <ind-tank class=\"symbol\" state={this.state} level={pct} alarm={this.alarm} size=\"md\" />\n <div class=\"metrics\" part=\"metrics\">\n <ind-value value={pct} unit=\"%\" precision={0} alarm={valueAlarm} label=\"Level\" size=\"lg\" />\n {this.capacity !== undefined && (\n <ind-value\n value={(this.capacity * pct) / 100}\n unit={this.unit}\n precision={0}\n label=\"Volume\"\n size=\"sm\"\n />\n )}\n </div>\n </div>\n <ind-linear-gauge\n part=\"gauge\"\n value={pct}\n min={0}\n max={100}\n orientation=\"horizontal\"\n unit=\"%\"\n size=\"sm\"\n />\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAU,IAAM,8zCCAtB,MAAMC,EAAmB,IAAM,+NCA/B,MAAMC,EAAmB,IAAM,qD,MCclBC,EAAgB,M,yBAEnBC,IAEAC,MAEiBC,MAAwB,UAEzCC,MAAgB,EAECC,MAAmB,OAEpCC,SAEAC,KAAe,IAEvB,MAAAC,GACE,MAAMC,EAAMC,KAAKC,IAAI,IAAKD,KAAKE,IAAI,EAAGC,KAAKT,QAC3C,MAAMU,EAAOD,KAAKX,OAASW,KAAKZ,KAAO,OACvC,MAAMc,EAAaF,KAAKR,QAAU,OAAS,OAASQ,KAAKR,QAAU,MAAQ,MAAQ,OACnF,OACEW,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,QAAO,aAAa,GAAGL,WAAcJ,KAAKU,MAAMX,cACzDO,EAAA,OAAAE,IAAA,2CAAKG,MAAM,aACTL,EAAA,QAAAE,IAAA,2CAAMG,MAAM,aAAaC,KAAK,SAASR,GACtCD,KAAKZ,KAAOe,EAAA,QAAAE,IAAA,2CAAMG,MAAM,WAAWC,KAAK,OAAOT,KAAKZ,MAEvDe,EAAA,OAAAE,IAAA,2CAAKG,MAAM,OAAOC,KAAK,QACrBN,EAAA,YAAAE,IAAA,2CAAUG,MAAM,SAASlB,MAAOU,KAAKV,MAAOC,MAAOK,EAAKJ,MAAOQ,KAAKR,MAAOkB,KAAK,OAChFP,EAAA,OAAAE,IAAA,2CAAKG,MAAM,UAAUC,KAAK,WACxBN,EAAA,aAAAE,IAAA,2CAAWM,MAAOf,EAAKF,KAAK,IAAIkB,UAAW,EAAGpB,MAAOU,EAAYb,MAAM,QAAQqB,KAAK,OACnFV,KAAKP,WAAaoB,WACjBV,EAAA,aAAAE,IAAA,2CACEM,MAAQX,KAAKP,SAAWG,EAAO,IAC/BF,KAAMM,KAAKN,KACXkB,UAAW,EACXvB,MAAM,SACNqB,KAAK,SAKbP,EAAA,oBAAAE,IAAA,2CACEI,KAAK,QACLE,MAAOf,EACPE,IAAK,EACLC,IAAK,IACLe,YAAY,aACZpB,KAAK,IACLgB,KAAK,O","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as r,H as i}from"./p-Bls_NlWP.js";const o=()=>`:host{display:block;background:var(--ind-surface-border-default, #2a3340);flex-shrink:0}:host([orientation="horizontal"]){width:100%;height:1px}:host([orientation="vertical"]){height:100%;min-height:1em;width:1px}`;const e=class{constructor(r){t(this,r)}orientation="horizontal";render(){return r(i,{key:"177e60e429d2cf5cfd3faa97d34e3c605c1c898e",role:"separator","aria-orientation":this.orientation})}};e.style=o();export{e as ind_divider};
2
+ //# sourceMappingURL=p-703709c2.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a,H as t}from"./p-Bls_NlWP.js";const s=()=>`:host{display:block;width:var(--ind-size-canvas-robot-width, 320px);height:var(--ind-size-canvas-robot-height, 220px);font-family:var(--ind-font-family-mono)}svg{display:block;width:100%;height:100%;background:var(--ind-surface-sunken, light-dark(#ffffff, #000000));border:1px solid var(--ind-surface-border-default);border-radius:var(--ind-radius-md, 3px)}.envelope{fill:none;stroke:var(--ind-surface-border-subtle);stroke-dasharray:2 4}.envelope-inner{stroke-dasharray:1 3;opacity:0.6}.axis{stroke:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));stroke-width:1}.axis-label{font-family:var(--ind-font-family-mono);font-size:9px;fill:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0))}.link{stroke-width:5;stroke-linecap:round;transition:stroke 240ms}.link-1{stroke:var(--ind-state-running-bg, #16a34a)}.link-2{stroke:var(--ind-state-running-border, #4ade80)}.wrist{stroke:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));stroke-width:2;stroke-linecap:round}.joint{fill:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));stroke:var(--ind-surface-border-strong);stroke-width:1}.joint.base{fill:var(--ind-state-stopped-bg, #5a6776);stroke:var(--ind-state-stopped-border, #8390a0)}.joint.effector{fill:var(--ind-state-warning-bg, #f59e0b);stroke:var(--ind-state-warning-border, #fcd34d)}.readout text{font-size:9px;fill:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));font-feature-settings:"tnum" 1}.readout tspan{fill:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));font-weight:700}:host([state="moving"]) .link{stroke-dasharray:4 2;animation:ind-scara-move 1.2s linear infinite}:host([state="fault"]) .link,:host([state="fault"]) .wrist{stroke:var(--ind-state-fault-bg, #dc2626)}:host([state="fault"]) .joint{stroke:var(--ind-state-fault-border, #f87171)}@keyframes ind-scara-move{to{stroke-dashoffset:-12}}@media (prefers-reduced-motion: reduce){:host([state="moving"]) .link{animation:none}}`;const r=class{constructor(a){e(this,a)}joints=[0,0,0];linkLengths=[110,90];state="idle";parseArr(e){if(Array.isArray(e))return e;if(typeof e==="string"&&e.trim()){try{const a=JSON.parse(e);return Array.isArray(a)?a:[]}catch{return[]}}return[]}render(){const e=this.parseArr(this.joints);const s=this.parseArr(this.linkLengths);const[r=0,c=0,d=0]=e;const[n=110,i=90]=s;const o=160;const f=105;const l=r*Math.PI/180;const b=c*Math.PI/180;const k=d*Math.PI/180;const y=o+n*Math.cos(l);const x=f+n*Math.sin(l);const h=y+i*Math.cos(l+b);const u=x+i*Math.sin(l+b);const v=14;const p=h+v*Math.cos(l+b+k);const g=u+v*Math.sin(l+b+k);const m=e=>e.toFixed(1);const w=e=>e.toFixed(0);return a(t,{key:"e220c57195ecb3c211223a9c678ad6a832c584cd",role:"img","aria-label":`SCARA arm: J1 ${m(r)}°, J2 ${m(c)}°, J3 ${m(d)}°`},a("svg",{key:"7a04466cdcedb3e90bb45d0e86ee1d846f16d2fe",viewBox:"0 0 320 220",part:"svg"},a("circle",{key:"9f1c589063eae5f24c60017e12b45afe5f44a714",cx:o,cy:f,r:n+i,class:"envelope envelope-outer"}),a("circle",{key:"a6228d89177c0dca40aaf37e85a08e59a04a2488",cx:o,cy:f,r:Math.max(0,n-i),class:"envelope envelope-inner"}),a("line",{key:"21e8c9bbf7cf19afa8dd88f909c94e1b458c928d",x1:"10",y1:f,x2:"22",y2:f,class:"axis"}),a("line",{key:"bd2a5eca21b2e7fc73828a601870c730cc153bbd",x1:o,y1:"6",x2:o,y2:"18",class:"axis"}),a("text",{key:"dab2bdb3cd08468e10220174102d9d198658b26b",x:"24",y:f+3,class:"axis-label"},"X"),a("text",{key:"66581ab90a79151eeb64522a5525de10e151d0ad",x:o+4,y:"14",class:"axis-label"},"Y"),a("line",{key:"0f8c1214d584f7c9e062927af7ca0425242e6e2b",x1:o,y1:f,x2:y,y2:x,class:"link link-1"}),a("line",{key:"e19107929c6f87d3b3e47042f017a73193714b30",x1:y,y1:x,x2:h,y2:u,class:"link link-2"}),a("line",{key:"a4cb08318e5c5df59494f6b38477307477313378",x1:h,y1:u,x2:p,y2:g,class:"wrist"}),a("circle",{key:"25f7d34a6cc339b46a59437809bce8b7e5b4015b",cx:o,cy:f,r:"8",class:"joint base"}),a("circle",{key:"0fd90ea8c7b17654d927be0627ad2a0bcdb54c93",cx:y,cy:x,r:"6",class:"joint elbow"}),a("circle",{key:"528398188bef093e0d931bb23877022fd94900cf",cx:h,cy:u,r:"7",class:"joint effector"}),a("g",{key:"3fafeb02e9001d091436addbe37c53cfa5281df5",class:"readout"},a("text",{key:"3d5c879baea3c1ef177fbd53153d846eb1158411",x:"10",y:"198"},"J1 ",a("tspan",{key:"df726f043b2a33357c2525c68a6f23861def214d"},m(r),"°")),a("text",{key:"68565b08ced6589ecd0a2d84cd738535ebe9fc63",x:"74",y:"198"},"J2 ",a("tspan",{key:"65a013c07a5f9412b603557e39409d34ba5b4812"},m(c),"°")),a("text",{key:"88712594e3a0ac5e8e506ce467192d0bbcbf4a7f",x:"138",y:"198"},"J3 ",a("tspan",{key:"31f1c81c381841747057257d6e4ee1af9d213dd8"},m(d),"°")),a("text",{key:"42d91dc495775b5bf29cc455e6d6404c72e2839f",x:"202",y:"198"},"X ",a("tspan",{key:"00d7e9336de136e9ec0dd21ec85fd2a7a9b3ebf9"},w(h-o))),a("text",{key:"8ba2b283b6cd83942747e5df2c93d51b4dcb85bd",x:"254",y:"198"},"Y ",a("tspan",{key:"767695ce2b72564dec42536bc618835070d4b1a7"},w(u-f))))))}};r.style=s();export{r as ind_scara_canvas};
2
+ //# sourceMappingURL=p-70894390.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a,H as t}from"./p-Bls_NlWP.js";const s=()=>`:host{display:inline-flex;flex-direction:column;align-items:center;gap:var(--ind-spacing-2, 4px);font-family:var(--ind-font-family-sans, system-ui, sans-serif);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));--_w:44px;--_stroke:var(--ind-surface-border-strong, #5a6776)}:host([size="sm"]){--_w:32px}:host([size="lg"]){--_w:60px}:host([state="running"]){--_stroke:var(--ind-state-running-border, #4ade80)}:host([state="fault"]){--_stroke:var(--ind-state-fault-border, #f87171)}:host([state="warning"]){--_stroke:var(--ind-state-warning-border, #fcd34d)}:host([state="maintenance"]){--_stroke:var(--ind-state-maintenance-border, #60a5fa)}.symbol{width:var(--_w);height:var(--_w);display:block}.outline{fill:var(--ind-surface-sunken, light-dark(#fff, #000));stroke:var(--_stroke);stroke-width:1.5;vector-effect:non-scaling-stroke}.tag{fill:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));font-family:var(--ind-font-family-mono, ui-monospace, monospace);font-weight:var(--ind-font-weight-semibold, 600);font-size:10px;font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1)}.label{font-size:var(--ind-font-size-xs, 10px);color:var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2))}`;const r=class{constructor(a){e(this,a)}shape="circle";state="normal";tag;label;size="md";shapeEl(){switch(this.shape){case"square":return a("rect",{class:"outline",part:"outline",x:"4",y:"4",width:"40",height:"40",rx:"2"});case"diamond":return a("polygon",{class:"outline",part:"outline",points:"24,3 45,24 24,45 3,24"});case"hexagon":return a("polygon",{class:"outline",part:"outline",points:"14,6 34,6 45,24 34,42 14,42 3,24"});case"circle":default:return a("circle",{class:"outline",part:"outline",cx:"24",cy:"24",r:"20"})}}render(){const e=this.label??this.tag??"instrument";return a(t,{key:"24aef7364a542acddb8cb29fbf404faf7aa8972e",role:"img","aria-label":`${e}${this.state!=="normal"?" — "+this.state:""}`},a("svg",{key:"c5c4936c45d0d0ace90a5b86a593ae3f97c9f599",class:"symbol",part:"symbol",viewBox:"0 0 48 48","aria-hidden":"true"},this.shapeEl(),this.tag&&a("text",{key:"987ede87e53bd367f7af62f7903eef1c8661330a",class:"tag",x:"24",y:"24","text-anchor":"middle","dominant-baseline":"central"},this.tag)),this.label&&a("span",{key:"0ba6f143afefa065bf938fcc79cbf2faef393e51",class:"label",part:"label"},this.label))}};r.style=s();export{r as ind_process_symbol};
2
+ //# sourceMappingURL=p-7122fee8.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["processSymbolCss","IndProcessSymbol","shape","state","tag","label","size","shapeEl","this","h","class","part","x","y","width","height","rx","points","cx","cy","r","render","name","Host","key","role","viewBox"],"sources":["src/components/atoms/process-symbol/process-symbol.css?tag=ind-process-symbol&encapsulation=shadow","src/components/atoms/process-symbol/process-symbol.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n gap: var(--ind-spacing-2, 4px);\n font-family: var(--ind-font-family-sans, system-ui, sans-serif);\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n --_w: 44px;\n --_stroke: var(--ind-surface-border-strong, #5a6776);\n}\n\n:host([size=\"sm\"]) { --_w: 32px; }\n:host([size=\"lg\"]) { --_w: 60px; }\n\n:host([state=\"running\"]) { --_stroke: var(--ind-state-running-border, #4ade80); }\n:host([state=\"fault\"]) { --_stroke: var(--ind-state-fault-border, #f87171); }\n:host([state=\"warning\"]) { --_stroke: var(--ind-state-warning-border, #fcd34d); }\n:host([state=\"maintenance\"]) { --_stroke: var(--ind-state-maintenance-border, #60a5fa); }\n\n.symbol {\n width: var(--_w);\n height: var(--_w);\n display: block;\n}\n\n.outline {\n fill: var(--ind-surface-sunken, light-dark(#fff, #000));\n stroke: var(--_stroke);\n stroke-width: 1.5;\n vector-effect: non-scaling-stroke;\n}\n\n.tag {\n fill: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n font-family: var(--ind-font-family-mono, ui-monospace, monospace);\n font-weight: var(--ind-font-weight-semibold, 600);\n font-size: 10px;\n font-feature-settings: var(--ind-font-feature-tabular, \"tnum\" 1);\n}\n\n.label {\n font-size: var(--ind-font-size-xs, 10px);\n color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nexport type ProcessSymbolShape = 'circle' | 'square' | 'diamond' | 'hexagon';\nexport type ProcessSymbolState = 'normal' | 'running' | 'fault' | 'warning' | 'maintenance';\nexport type ProcessSymbolSize = 'sm' | 'md' | 'lg';\n\n@Component({\n tag: 'ind-process-symbol',\n styleUrl: 'process-symbol.css',\n shadow: true,\n})\nexport class IndProcessSymbol {\n /** ISA-5.1 instrument balloon shape. */\n @Prop({ reflect: true }) shape: ProcessSymbolShape = 'circle';\n /** Status coloring. */\n @Prop({ reflect: true }) state: ProcessSymbolState = 'normal';\n /** Tag text rendered inside (e.g. \"PT 101\"). */\n @Prop() tag?: string;\n /** Caption rendered below the symbol. */\n @Prop() label?: string;\n /** Size. */\n @Prop({ reflect: true }) size: ProcessSymbolSize = 'md';\n\n private shapeEl() {\n switch (this.shape) {\n case 'square':\n return <rect class=\"outline\" part=\"outline\" x=\"4\" y=\"4\" width=\"40\" height=\"40\" rx=\"2\" />;\n case 'diamond':\n return <polygon class=\"outline\" part=\"outline\" points=\"24,3 45,24 24,45 3,24\" />;\n case 'hexagon':\n return <polygon class=\"outline\" part=\"outline\" points=\"14,6 34,6 45,24 34,42 14,42 3,24\" />;\n case 'circle':\n default:\n return <circle class=\"outline\" part=\"outline\" cx=\"24\" cy=\"24\" r=\"20\" />;\n }\n }\n\n render() {\n const name = this.label ?? this.tag ?? 'instrument';\n return (\n <Host role=\"img\" aria-label={`${name}${this.state !== 'normal' ? ' — ' + this.state : ''}`}>\n <svg class=\"symbol\" part=\"symbol\" viewBox=\"0 0 48 48\" aria-hidden=\"true\">\n {this.shapeEl()}\n {this.tag && (\n <text class=\"tag\" x=\"24\" y=\"24\" text-anchor=\"middle\" dominant-baseline=\"central\">{this.tag}</text>\n )}\n </svg>\n {this.label && <span class=\"label\" part=\"label\">{this.label}</span>}\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAmB,IAAM,gtC,MCWlBC,EAAgB,M,yBAEFC,MAA4B,SAE5BC,MAA4B,SAE7CC,IAEAC,MAEiBC,KAA0B,KAE3C,OAAAC,GACN,OAAQC,KAAKN,OACX,IAAK,SACH,OAAOO,EAAA,QAAMC,MAAM,UAAUC,KAAK,UAAUC,EAAE,IAAIC,EAAE,IAAIC,MAAM,KAAKC,OAAO,KAAKC,GAAG,MACpF,IAAK,UACH,OAAOP,EAAA,WAASC,MAAM,UAAUC,KAAK,UAAUM,OAAO,0BACxD,IAAK,UACH,OAAOR,EAAA,WAASC,MAAM,UAAUC,KAAK,UAAUM,OAAO,qCACxD,IAAK,SACL,QACE,OAAOR,EAAA,UAAQC,MAAM,UAAUC,KAAK,UAAUO,GAAG,KAAKC,GAAG,KAAKC,EAAE,O,CAItE,MAAAC,GACE,MAAMC,EAAOd,KAAKH,OAASG,KAAKJ,KAAO,aACvC,OACEK,EAACc,EAAI,CAAAC,IAAA,2CAACC,KAAK,MAAK,aAAa,GAAGH,IAAOd,KAAKL,QAAU,SAAW,MAAQK,KAAKL,MAAQ,MACpFM,EAAA,OAAAe,IAAA,2CAAKd,MAAM,SAASC,KAAK,SAASe,QAAQ,YAAW,cAAa,QAC/DlB,KAAKD,UACLC,KAAKJ,KACJK,EAAA,QAAAe,IAAA,2CAAMd,MAAM,MAAME,EAAE,KAAKC,EAAE,KAAI,cAAa,SAAQ,oBAAmB,WAAWL,KAAKJ,MAG1FI,KAAKH,OAASI,EAAA,QAAAe,IAAA,2CAAMd,MAAM,QAAQC,KAAK,SAASH,KAAKH,O","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,h as e,H as n}from"./p-Bls_NlWP.js";const t=()=>`:host{display:flex;flex-direction:column;background:var(--ind-surface-panel);border:1px solid var(--ind-surface-border-default);border-radius:var(--ind-radius-md, 3px);font-family:var(--ind-font-family-sans);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));box-sizing:border-box;overflow:hidden;font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1)}.panel-head{display:flex;align-items:center;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);background:var(--ind-surface-raised);flex:0 0 auto}.panel-titles{display:flex;flex-direction:column;min-width:0}.panel-title{font-size:var(--ind-font-size-md, 13px);font-weight:var(--ind-font-weight-semibold, 600);line-height:1.2}.panel-subtitle{font-size:var(--ind-font-size-xs, 10px);text-transform:uppercase;letter-spacing:0.06em;color:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0))}.panel-tag{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-secondary)}.panel-actions{margin-left:auto;display:flex;align-items:center;gap:var(--ind-spacing-3, 6px)}.panel-body{display:flex;flex-direction:column;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px);min-height:0}.panel-toolbar{display:flex;align-items:center;gap:var(--ind-spacing-3, 6px);padding:var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);flex:0 0 auto}.panel-list{display:flex;flex-direction:column;overflow:auto}.panel-grid{display:grid;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px)}.panel-empty{padding:var(--ind-spacing-7, 20px);text-align:center;color:var(--ind-surface-text-muted);font-size:var(--ind-font-size-sm, 11px)}.panel-spacer{flex:1 1 auto}`;const i=()=>`:host{min-width:480px}.oee{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-secondary);margin-right:var(--ind-spacing-3, 6px)}.state{font-size:var(--ind-font-size-sm, 11px);font-weight:var(--ind-font-weight-semibold, 600)}.state-running{color:var(--ind-state-running-bg, #16a34a)}.state-fault{color:var(--ind-state-fault-bg, #dc2626)}.state-warning{color:var(--ind-state-warning-bg, #f59e0b)}.state-maintenance{color:var(--ind-state-maintenance-bg, #2563eb)}.state-stopped{color:var(--ind-surface-text-secondary)}.state-unknown{color:var(--ind-surface-text-muted)}`;const s={running:"Running",stopped:"Stopped",fault:"Fault",warning:"Warning",maintenance:"Maintenance",unknown:"—"};const d=class{constructor(e){a(this,e)}heading;machineId;state="unknown";oee;columns=3;render(){const a=this.state==="unknown"?"neutral":this.state;return e(n,{key:"281c842746d39b89babab44e4082af21459af697"},e("div",{key:"268505d67fd22ab2b6e8c318c9cb62b44f1ac713",class:"panel-head"},e("div",{key:"1ba1ecfc8934171596ea8907bf724b94597908e2",class:"panel-titles"},e("span",{key:"c190548d8a484f0b4cda417eb5ac15da1c455c0e",class:"panel-title",part:"heading"},this.heading),this.machineId&&e("span",{key:"9c0cea21d61d6ad76a3318705449fe05422a17d8",class:"panel-subtitle"},this.machineId)),e("div",{key:"d83bd064b37f7c33948be3f8e99e6c7629d493dd",class:"panel-actions"},this.oee!==undefined&&e("span",{key:"bd88990d43b39d1fe968bddf726cb4be28cf1805",class:"oee",part:"oee"},"OEE ",this.oee.toFixed(0),"%"),e("ind-status-dot",{key:"a58bb00ece8b3dec79951cf619b82fda039050b1",state:a,size:"md"}),e("span",{key:"385aacc80f7094ffc6395e228e4f7cf4f3034011",class:`state state-${this.state}`,part:"state"},s[this.state]))),e("div",{key:"0abd7affd719ac98abbb71d4d8d657e9d3b1f618",class:"panel-grid",part:"grid",style:{gridTemplateColumns:`repeat(${this.columns}, minmax(0, 1fr))`}},e("slot",{key:"36463bab72f6522f6a17788ca6efc4d770e6abee"})))}};d.style=t()+i();export{d as ind_machine_overview};
2
+ //# sourceMappingURL=p-73bf9023.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["panelCss","machineOverviewCss","STATE_LABEL","running","stopped","fault","warning","maintenance","unknown","IndMachineOverview","heading","machineId","state","oee","columns","render","dot","this","h","Host","key","class","part","undefined","toFixed","size","style","gridTemplateColumns"],"sources":["src/components/organisms/_shared/panel.css?tag=ind-machine-overview&encapsulation=shadow","src/components/organisms/machine-overview/machine-overview.css?tag=ind-machine-overview&encapsulation=shadow","src/components/organisms/machine-overview/machine-overview.tsx"],"sourcesContent":["/* Shared chrome for organism panels. Pulled in first via\n * `styleUrls: ['../_shared/panel.css', 'xxx.css']`. */\n:host {\n display: flex;\n flex-direction: column;\n background: var(--ind-surface-panel);\n border: 1px solid var(--ind-surface-border-default);\n border-radius: var(--ind-radius-md, 3px);\n font-family: var(--ind-font-family-sans);\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n box-sizing: border-box;\n overflow: hidden;\n font-feature-settings: var(--ind-font-feature-tabular, \"tnum\" 1);\n}\n\n.panel-head {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n background: var(--ind-surface-raised);\n flex: 0 0 auto;\n}\n\n.panel-titles {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.panel-title {\n font-size: var(--ind-font-size-md, 13px);\n font-weight: var(--ind-font-weight-semibold, 600);\n line-height: 1.2;\n}\n\n.panel-subtitle {\n font-size: var(--ind-font-size-xs, 10px);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));\n}\n\n.panel-tag {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-secondary);\n}\n\n.panel-actions {\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n}\n\n.panel-body {\n display: flex;\n flex-direction: column;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n min-height: 0;\n}\n\n.panel-toolbar {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n padding: var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n flex: 0 0 auto;\n}\n\n.panel-list {\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n.panel-grid {\n display: grid;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n}\n\n.panel-empty {\n padding: var(--ind-spacing-7, 20px);\n text-align: center;\n color: var(--ind-surface-text-muted);\n font-size: var(--ind-font-size-sm, 11px);\n}\n\n.panel-spacer {\n flex: 1 1 auto;\n}\n",":host {\n min-width: 480px;\n}\n\n.oee {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-secondary);\n margin-right: var(--ind-spacing-3, 6px);\n}\n\n.state {\n font-size: var(--ind-font-size-sm, 11px);\n font-weight: var(--ind-font-weight-semibold, 600);\n}\n\n.state-running { color: var(--ind-state-running-bg, #16a34a); }\n.state-fault { color: var(--ind-state-fault-bg, #dc2626); }\n.state-warning { color: var(--ind-state-warning-bg, #f59e0b); }\n.state-maintenance { color: var(--ind-state-maintenance-bg, #2563eb); }\n.state-stopped { color: var(--ind-surface-text-secondary); }\n.state-unknown { color: var(--ind-surface-text-muted); }\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport type { EquipmentCardState } from '../../molecules/equipment-status-card/equipment-status-card';\n\nconst STATE_LABEL: Record<EquipmentCardState, string> = {\n running: 'Running',\n stopped: 'Stopped',\n fault: 'Fault',\n warning: 'Warning',\n maintenance: 'Maintenance',\n unknown: '—',\n};\n\n/**\n * Machine overview header + content area. Shows machine identity and state in\n * the header; slot equipment / KPI molecules into the grid body.\n */\n@Component({\n tag: 'ind-machine-overview',\n styleUrls: ['../_shared/panel.css', 'machine-overview.css'],\n shadow: true,\n})\nexport class IndMachineOverview {\n @Prop() heading!: string;\n /** Machine identifier. */\n @Prop() machineId?: string;\n @Prop({ reflect: true }) state: EquipmentCardState = 'unknown';\n /** OEE headline percentage. */\n @Prop() oee?: number;\n /** Grid columns for the body. */\n @Prop() columns: number = 3;\n\n render() {\n const dot = this.state === 'unknown' ? 'neutral' : this.state;\n return (\n <Host>\n <div class=\"panel-head\">\n <div class=\"panel-titles\">\n <span class=\"panel-title\" part=\"heading\">{this.heading}</span>\n {this.machineId && <span class=\"panel-subtitle\">{this.machineId}</span>}\n </div>\n <div class=\"panel-actions\">\n {this.oee !== undefined && (\n <span class=\"oee\" part=\"oee\">OEE {this.oee.toFixed(0)}%</span>\n )}\n <ind-status-dot state={dot as any} size=\"md\" />\n <span class={`state state-${this.state}`} part=\"state\">{STATE_LABEL[this.state]}</span>\n </div>\n </div>\n <div\n class=\"panel-grid\"\n part=\"grid\"\n style={{ gridTemplateColumns: `repeat(${this.columns}, minmax(0, 1fr))` }}\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAW,IAAM,4zDCAvB,MAAMC,EAAqB,IAAM,mnBCGjC,MAAMC,EAAkD,CACtDC,QAAS,UACTC,QAAS,UACTC,MAAO,QACPC,QAAS,UACTC,YAAa,cACbC,QAAS,K,MAYEC,EAAkB,M,yBACrBC,QAEAC,UACiBC,MAA4B,UAE7CC,IAEAC,QAAkB,EAE1B,MAAAC,GACE,MAAMC,EAAMC,KAAKL,QAAU,UAAY,UAAYK,KAAKL,MACxD,OACEM,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,gBACTH,EAAA,QAAAE,IAAA,2CAAMC,MAAM,cAAcC,KAAK,WAAWL,KAAKP,SAC9CO,KAAKN,WAAaO,EAAA,QAAAE,IAAA,2CAAMC,MAAM,kBAAkBJ,KAAKN,YAExDO,EAAA,OAAAE,IAAA,2CAAKC,MAAM,iBACRJ,KAAKJ,MAAQU,WACZL,EAAA,QAAAE,IAAA,2CAAMC,MAAM,MAAMC,KAAK,OAAK,OAAML,KAAKJ,IAAIW,QAAQ,GAAE,KAEvDN,EAAA,kBAAAE,IAAA,2CAAgBR,MAAOI,EAAYS,KAAK,OACxCP,EAAA,QAAAE,IAAA,2CAAMC,MAAO,eAAeJ,KAAKL,QAASU,KAAK,SAASpB,EAAYe,KAAKL,UAG7EM,EAAA,OAAAE,IAAA,2CACEC,MAAM,aACNC,KAAK,OACLI,MAAO,CAAEC,oBAAqB,UAAUV,KAAKH,6BAE7CI,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as a,a as i,h as t,H as s}from"./p-D2yNiL0d.js";const n=()=>`:host{display:contents}.dialog{padding:0;border:none;background:transparent;color:inherit;max-width:90vw;max-height:90vh;overflow:visible}.dialog::backdrop{background:rgba(0, 0, 0, 0.55);backdrop-filter:blur(2px)}.content{display:flex;flex-direction:column;background:var(--ind-surface-raised, light-dark(#ffffff, #1a2129));border:1px solid var(--ind-surface-border-default, #2a3340);border-radius:var(--ind-radius-md, 3px);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));font-family:var(--ind-font-family-sans);font-size:var(--ind-font-size-base, 12px);max-height:90vh;overflow:hidden}:host([size="sm"]) .content{width:320px}:host([size="md"]) .content{width:480px}:host([size="lg"]) .content{width:720px}.header{display:flex;align-items:center;justify-content:space-between;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px) var(--ind-spacing-6, 16px);border-bottom:1px solid var(--ind-surface-border-subtle)}.heading{font-size:var(--ind-font-size-lg, 14px);font-weight:var(--ind-font-weight-semibold, 600);margin:0}.close{background:transparent;border:none;color:inherit;font-size:20px;line-height:1;cursor:pointer;padding:2px 8px;border-radius:var(--ind-radius-sm, 2px)}.close:hover{background:var(--ind-surface-panel)}.close:focus-visible{outline:2px solid var(--ind-surface-focus-ring, #22d3ee);outline-offset:2px}.body{flex:1;overflow:auto;padding:var(--ind-spacing-6, 16px);line-height:var(--ind-font-line-height-normal, 1.4)}.footer{display:flex;justify-content:flex-end;gap:var(--ind-spacing-3, 6px);padding:var(--ind-spacing-4, 8px) var(--ind-spacing-6, 16px);border-top:1px solid var(--ind-surface-border-subtle)}.footer.is-empty{display:none}`;const o=class{constructor(i){e(this,i);this.indOpen=a(this,"indOpen");this.indClose=a(this,"indClose")}get host(){return i(this)}open=false;heading;size="md";closeOnBackdrop=true;hasFooter=false;indOpen;indClose;componentDidLoad(){this.syncOpen();this.watchFooter()}onOpenChange(){this.syncOpen()}syncOpen(){const e=this.host.shadowRoot?.querySelector("dialog");if(!e)return;if(this.open&&!e.open){e.showModal();this.indOpen.emit()}else if(!this.open&&e.open){e.close()}}watchFooter(){const e=this.host.shadowRoot?.querySelector('slot[name="footer"]');if(!e)return;const a=()=>{this.hasFooter=e.assignedNodes({flatten:true}).some((e=>{if(e.nodeType===Node.ELEMENT_NODE)return true;return e.nodeType===Node.TEXT_NODE&&(e.textContent??"").trim().length>0}))};a();e.addEventListener("slotchange",a)}async show(){this.open=true}async close(){this.open=false}onNativeClose=()=>{if(this.open){this.open=false;this.indClose.emit()}};onClick=e=>{if(!this.closeOnBackdrop)return;const a=e.currentTarget;if(e.target!==a)return;const i=a.getBoundingClientRect();const t=e.clientX>=i.left&&e.clientX<=i.right&&e.clientY>=i.top&&e.clientY<=i.bottom;if(!t)this.close()};render(){return t(s,{key:"2fc6c8608a86b696f04a42989f9fa89e90c815ca"},t("dialog",{key:"2ace88391803eeacc9ab918906db7ff01f96af05",class:"dialog",part:"dialog","aria-label":this.heading,onClose:this.onNativeClose,onClick:this.onClick},t("div",{key:"01d6bcd48e243524bf657559407e58ec70995752",class:"content",part:"content"},this.heading&&t("header",{key:"930017b49c0ea7056eb5ec71efd30090bf5d2ef1",class:"header",part:"header"},t("h2",{key:"be329505ab6c8d2ae4b94ea399c1426c9bb2ca23",class:"heading",part:"heading"},this.heading),t("button",{key:"6943d296514bb4035bc44f292fd9a3be42b96bd7",type:"button",class:"close",part:"close","aria-label":"Close",onClick:()=>this.close()},"×")),t("div",{key:"79277205e3a87957a9f4885a80ff2d88ff250615",class:"body",part:"body"},t("slot",{key:"c1bf7607910c5d5dff0bdaa14f9285be09aecbce"})),t("footer",{key:"102f2ea37b063d77f4874c619e134abad87161c9",class:{footer:true,"is-empty":!this.hasFooter},part:"footer"},t("slot",{key:"d6068ca633c113c5a9bf6bd87e793a96928ae95e",name:"footer"})))))}static get watchers(){return{open:[{onOpenChange:0}]}}};o.style=n();export{o as ind_dialog};
2
- //# sourceMappingURL=p-595ccdce.entry.js.map
1
+ import{r as e,c as a,a as i,h as t,H as s}from"./p-Bls_NlWP.js";const n=()=>`:host{display:contents}.dialog{padding:0;border:none;background:transparent;color:inherit;max-width:90vw;max-height:90vh;overflow:visible}.dialog::backdrop{background:rgba(0, 0, 0, 0.55);backdrop-filter:blur(2px)}.content{display:flex;flex-direction:column;background:var(--ind-surface-raised, light-dark(#ffffff, #1a2129));border:1px solid var(--ind-surface-border-default, #2a3340);border-radius:var(--ind-radius-md, 3px);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));font-family:var(--ind-font-family-sans);font-size:var(--ind-font-size-base, 12px);max-height:90vh;overflow:hidden}:host([size="sm"]) .content{width:320px}:host([size="md"]) .content{width:480px}:host([size="lg"]) .content{width:720px}.header{display:flex;align-items:center;justify-content:space-between;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px) var(--ind-spacing-6, 16px);border-bottom:1px solid var(--ind-surface-border-subtle)}.heading{font-size:var(--ind-font-size-lg, 14px);font-weight:var(--ind-font-weight-semibold, 600);margin:0}.close{background:transparent;border:none;color:inherit;font-size:20px;line-height:1;cursor:pointer;padding:2px 8px;border-radius:var(--ind-radius-sm, 2px)}.close:hover{background:var(--ind-surface-panel)}.close:focus-visible{outline:2px solid var(--ind-surface-focus-ring, #22d3ee);outline-offset:2px}.body{flex:1;overflow:auto;padding:var(--ind-spacing-6, 16px);line-height:var(--ind-font-line-height-normal, 1.4)}.footer{display:flex;justify-content:flex-end;gap:var(--ind-spacing-3, 6px);padding:var(--ind-spacing-4, 8px) var(--ind-spacing-6, 16px);border-top:1px solid var(--ind-surface-border-subtle)}.footer.is-empty{display:none}`;const o=class{constructor(i){e(this,i);this.indOpen=a(this,"indOpen");this.indClose=a(this,"indClose")}get host(){return i(this)}open=false;heading;size="md";closeOnBackdrop=true;hasFooter=false;indOpen;indClose;componentDidLoad(){this.syncOpen();this.watchFooter()}onOpenChange(){this.syncOpen()}syncOpen(){const e=this.host.shadowRoot?.querySelector("dialog");if(!e)return;if(this.open&&!e.open){e.showModal();this.indOpen.emit()}else if(!this.open&&e.open){e.close()}}watchFooter(){const e=this.host.shadowRoot?.querySelector('slot[name="footer"]');if(!e)return;const a=()=>{this.hasFooter=e.assignedNodes({flatten:true}).some((e=>{if(e.nodeType===Node.ELEMENT_NODE)return true;return e.nodeType===Node.TEXT_NODE&&(e.textContent??"").trim().length>0}))};a();e.addEventListener("slotchange",a)}async show(){this.open=true}async close(){this.open=false}onNativeClose=()=>{if(this.open){this.open=false;this.indClose.emit()}};onClick=e=>{if(!this.closeOnBackdrop)return;const a=e.currentTarget;if(e.target!==a)return;const i=a.getBoundingClientRect();const t=e.clientX>=i.left&&e.clientX<=i.right&&e.clientY>=i.top&&e.clientY<=i.bottom;if(!t)this.close()};render(){return t(s,{key:"87b1b19e34124d336690c96e1eafc5dcdce689aa"},t("dialog",{key:"98199eb56477658120f7ff9bc421fd388d956207",class:"dialog",part:"dialog","aria-label":this.heading,onClose:this.onNativeClose,onClick:this.onClick},t("div",{key:"058705a27904ca8dea5da499afca1ab2d040517a",class:"content",part:"content"},this.heading&&t("header",{key:"0feedadbfec3051654dd9ce6968917afef5d97fc",class:"header",part:"header"},t("h2",{key:"d43f968c6248adafd0383bb2beae39d156c193db",class:"heading",part:"heading"},this.heading),t("button",{key:"2bbafbf683baeb78cfeeba5f436d3449bc8041c5",type:"button",class:"close",part:"close","aria-label":"Close",onClick:()=>this.close()},"×")),t("div",{key:"71e78c288ebe5a9d5437a8dfb240b08ce4ee7aea",class:"body",part:"body"},t("slot",{key:"81581e2f10629935fc08c02544144d7c9be00ebd"})),t("footer",{key:"9f3ae5dee0ea4d1c5300a9b0fd35662d1493c159",class:{footer:true,"is-empty":!this.hasFooter},part:"footer"},t("slot",{key:"27c4a6d3e2c914acb40cddf3d57b944643af62a2",name:"footer"})))))}static get watchers(){return{open:[{onOpenChange:0}]}}};o.style=n();export{o as ind_dialog};
2
+ //# sourceMappingURL=p-74f4256f.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as a,c as e,h as t,H as i}from"./p-Bls_NlWP.js";const s=()=>`:host{display:inline-flex}.tab{appearance:none;display:inline-flex;align-items:center;gap:var(--ind-spacing-3, 6px);padding:var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;font-family:var(--ind-font-family-sans, system-ui, sans-serif);font-size:var(--ind-font-size-base, 12px);font-weight:var(--ind-font-weight-medium, 500);color:var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));transition:color var(--ind-motion-duration-fast, 120ms) ease, border-color var(--ind-motion-duration-fast, 120ms) ease}.tab:hover:not(:disabled){color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5))}.tab:focus-visible{outline:2px solid var(--ind-surface-focus-ring, #67e8f9);outline-offset:-2px}:host([selected]) .tab{color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));border-bottom-color:var(--ind-button-primary-bg, #2563eb);font-weight:var(--ind-font-weight-semibold, 600)}:host([disabled]) .tab{opacity:0.5;cursor:not-allowed}.icon:empty,.badge:empty{display:none}.icon,.badge{display:inline-flex;align-items:center}`;const n=class{constructor(t){a(this,t);this.indSelect=e(this,"indSelect")}selected=false;disabled=false;tabId;indSelect;activate=()=>{if(this.disabled||this.selected)return;this.indSelect.emit(this.tabId)};onKey=a=>{if(a.key==="Enter"||a.key===" "){a.preventDefault();this.activate()}};render(){return t(i,{key:"80610acb7a454a8e50b01f284942f0a55650bdd6"},t("button",{key:"cad17b0d0a9850486b77e8012042a91dd3615276",type:"button",class:"tab",part:"tab",role:"tab","aria-selected":this.selected?"true":"false",disabled:this.disabled,tabindex:this.selected?"0":"-1",onClick:this.activate,onKeyDown:this.onKey},t("span",{key:"3c8531773262e8da453771366b8c242e4f5dc1b8",class:"icon",part:"icon"},t("slot",{key:"10ed053ba7659569b45211b827503ca23e63e33a",name:"icon"})),t("span",{key:"d658c67c3f874bcfd01f746c4df379a9f41aa7b1",class:"label",part:"label"},t("slot",{key:"0b0bcdaf87c92e1252556500448726680adc4718"})),t("span",{key:"6bfa8167f56ddda8c18bd1c0d23ad06a0eb29a49",class:"badge",part:"badge"},t("slot",{key:"345cb8f4b94885d62f4f14476f6b2bf3303f06ef",name:"badge"}))))}};n.style=s();export{n as ind_tab};
2
+ //# sourceMappingURL=p-7b2fbada.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tabCss","IndTab","selected","disabled","tabId","indSelect","activate","this","emit","onKey","e","key","preventDefault","render","h","Host","type","class","part","role","tabindex","onClick","onKeyDown","name"],"sources":["src/components/atoms/tab/tab.css?tag=ind-tab&encapsulation=shadow","src/components/atoms/tab/tab.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n}\n\n.tab {\n appearance: none;\n display: inline-flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n padding: var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);\n border: none;\n border-bottom: 2px solid transparent;\n background: none;\n cursor: pointer;\n font-family: var(--ind-font-family-sans, system-ui, sans-serif);\n font-size: var(--ind-font-size-base, 12px);\n font-weight: var(--ind-font-weight-medium, 500);\n color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));\n transition: color var(--ind-motion-duration-fast, 120ms) ease, border-color var(--ind-motion-duration-fast, 120ms) ease;\n}\n\n.tab:hover:not(:disabled) { color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5)); }\n\n.tab:focus-visible {\n outline: 2px solid var(--ind-surface-focus-ring, #67e8f9);\n outline-offset: -2px;\n}\n\n:host([selected]) .tab {\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n border-bottom-color: var(--ind-button-primary-bg, #2563eb);\n font-weight: var(--ind-font-weight-semibold, 600);\n}\n\n:host([disabled]) .tab { opacity: 0.5; cursor: not-allowed; }\n\n.icon:empty, .badge:empty { display: none; }\n\n.icon, .badge { display: inline-flex; align-items: center; }\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'ind-tab',\n styleUrl: 'tab.css',\n shadow: true,\n})\nexport class IndTab {\n /** Selected state. */\n @Prop({ reflect: true }) selected: boolean = false;\n /** Disabled. */\n @Prop({ reflect: true }) disabled: boolean = false;\n /** Stable id for the tab (emitted on select). */\n @Prop() tabId?: string;\n\n /** Fires when the tab is activated. */\n @Event() indSelect!: EventEmitter<string | undefined>;\n\n private activate = () => {\n if (this.disabled || this.selected) return;\n this.indSelect.emit(this.tabId);\n };\n\n private onKey = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.activate();\n }\n };\n\n render() {\n return (\n <Host>\n <button\n type=\"button\"\n class=\"tab\"\n part=\"tab\"\n role=\"tab\"\n aria-selected={this.selected ? 'true' : 'false'}\n disabled={this.disabled}\n tabindex={this.selected ? '0' : '-1'}\n onClick={this.activate}\n onKeyDown={this.onKey}\n >\n <span class=\"icon\" part=\"icon\"><slot name=\"icon\" /></span>\n <span class=\"label\" part=\"label\"><slot /></span>\n <span class=\"badge\" part=\"badge\"><slot name=\"badge\" /></span>\n </button>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAS,IAAM,4mC,MCORC,EAAM,M,4DAEQC,SAAoB,MAEpBC,SAAoB,MAErCC,MAGCC,UAEDC,SAAW,KACjB,GAAIC,KAAKJ,UAAYI,KAAKL,SAAU,OACpCK,KAAKF,UAAUG,KAAKD,KAAKH,MAAM,EAGzBK,MAASC,IACf,GAAIA,EAAEC,MAAQ,SAAWD,EAAEC,MAAQ,IAAK,CACtCD,EAAEE,iBACFL,KAAKD,U,GAIT,MAAAO,GACE,OACEC,EAACC,EAAI,CAAAJ,IAAA,4CACHG,EAAA,UAAAH,IAAA,2CACEK,KAAK,SACLC,MAAM,MACNC,KAAK,MACLC,KAAK,MAAK,gBACKZ,KAAKL,SAAW,OAAS,QACxCC,SAAUI,KAAKJ,SACfiB,SAAUb,KAAKL,SAAW,IAAM,KAChCmB,QAASd,KAAKD,SACdgB,UAAWf,KAAKE,OAEhBK,EAAA,QAAAH,IAAA,2CAAMM,MAAM,OAAOC,KAAK,QAAOJ,EAAA,QAAAH,IAAA,2CAAMY,KAAK,UAC1CT,EAAA,QAAAH,IAAA,2CAAMM,MAAM,QAAQC,KAAK,SAAQJ,EAAA,QAAAH,IAAA,8CACjCG,EAAA,QAAAH,IAAA,2CAAMM,MAAM,QAAQC,KAAK,SAAQJ,EAAA,QAAAH,IAAA,2CAAMY,KAAK,Y","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a,H as i}from"./p-Bls_NlWP.js";const n=()=>`:host{display:flex;flex-direction:column;background:var(--ind-surface-panel);border:1px solid var(--ind-surface-border-default);border-radius:var(--ind-radius-md, 3px);font-family:var(--ind-font-family-sans);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));box-sizing:border-box;overflow:hidden;font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1)}.panel-head{display:flex;align-items:center;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);background:var(--ind-surface-raised);flex:0 0 auto}.panel-titles{display:flex;flex-direction:column;min-width:0}.panel-title{font-size:var(--ind-font-size-md, 13px);font-weight:var(--ind-font-weight-semibold, 600);line-height:1.2}.panel-subtitle{font-size:var(--ind-font-size-xs, 10px);text-transform:uppercase;letter-spacing:0.06em;color:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0))}.panel-tag{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-secondary)}.panel-actions{margin-left:auto;display:flex;align-items:center;gap:var(--ind-spacing-3, 6px)}.panel-body{display:flex;flex-direction:column;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px);min-height:0}.panel-toolbar{display:flex;align-items:center;gap:var(--ind-spacing-3, 6px);padding:var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);border-bottom:1px solid var(--ind-surface-border-subtle);flex:0 0 auto}.panel-list{display:flex;flex-direction:column;overflow:auto}.panel-grid{display:grid;gap:var(--ind-spacing-4, 8px);padding:var(--ind-spacing-5, 12px)}.panel-empty{padding:var(--ind-spacing-7, 20px);text-align:center;color:var(--ind-surface-text-muted);font-size:var(--ind-font-size-sm, 11px)}.panel-spacer{flex:1 1 auto}`;const d=()=>`:host{min-width:420px}.panel-list{max-height:420px}.filter{font-family:var(--ind-font-family-sans);font-size:var(--ind-font-size-sm, 11px);background:var(--ind-surface-sunken);color:var(--ind-surface-text-primary);border:1px solid var(--ind-surface-border-default);border-radius:var(--ind-radius-sm, 2px);padding:3px 6px}`;const r=class{constructor(a){e(this,a)}heading="Event journal";events=[];filter="all";onFilter=e=>{this.filter=e.target.value};render(){const e=this.filter==="all"?this.events:this.events.filter((e=>e.severity===this.filter));return a(i,{key:"929ed5552330cf00cd4d19d634d28084f620e45a"},a("div",{key:"cda7f696c5979c7d43bb5fe820e91bb906e4056f",class:"panel-head"},a("span",{key:"5c60680f7f033917b8c39fa2c9735a0587632ead",class:"panel-title",part:"heading"},this.heading),a("div",{key:"de0dec2492782802de3b62a7542b34fa47d61a75",class:"panel-actions"},a("select",{key:"6b9d2b537af2b4e5d8ed50ff0cd1242f29a20c6d",class:"filter",part:"filter",onChange:this.onFilter},a("option",{key:"b86227a678a5851e6dd859f2acb38c9a763c8c56",value:"all"},"All severities"),a("option",{key:"7f2f904e5d13783b45d42a53d4df66ce07064913",value:"error"},"Error"),a("option",{key:"545575b6488b207f90c2dc392cb6eb323e36dcdc",value:"warning"},"Warning"),a("option",{key:"de94ee66b3d5fc73d63ddea1f96e313a67fedbd9",value:"success"},"Success"),a("option",{key:"25d7721fb074f259851800252eb5c1f5675a6ae5",value:"info"},"Info")))),a("div",{key:"e10810c54e731d3b99bf337134ac3775332d8055",class:"panel-list",part:"list"},e.length===0?a("div",{class:"panel-empty"},"No events"):e.map(((e,i)=>a("ind-event-row",{key:i,time:e.time,severity:e.severity,source:e.source,message:e.message})))))}};r.style=n()+d();export{r as ind_event_journal};
2
+ //# sourceMappingURL=p-7da4b557.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["panelCss","eventJournalCss","IndEventJournal","heading","events","filter","onFilter","e","this","target","value","render","rows","severity","h","Host","key","class","part","onChange","length","map","i","time","source","message"],"sources":["src/components/organisms/_shared/panel.css?tag=ind-event-journal&encapsulation=shadow","src/components/organisms/event-journal/event-journal.css?tag=ind-event-journal&encapsulation=shadow","src/components/organisms/event-journal/event-journal.tsx"],"sourcesContent":["/* Shared chrome for organism panels. Pulled in first via\n * `styleUrls: ['../_shared/panel.css', 'xxx.css']`. */\n:host {\n display: flex;\n flex-direction: column;\n background: var(--ind-surface-panel);\n border: 1px solid var(--ind-surface-border-default);\n border-radius: var(--ind-radius-md, 3px);\n font-family: var(--ind-font-family-sans);\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n box-sizing: border-box;\n overflow: hidden;\n font-feature-settings: var(--ind-font-feature-tabular, \"tnum\" 1);\n}\n\n.panel-head {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n background: var(--ind-surface-raised);\n flex: 0 0 auto;\n}\n\n.panel-titles {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.panel-title {\n font-size: var(--ind-font-size-md, 13px);\n font-weight: var(--ind-font-weight-semibold, 600);\n line-height: 1.2;\n}\n\n.panel-subtitle {\n font-size: var(--ind-font-size-xs, 10px);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));\n}\n\n.panel-tag {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-secondary);\n}\n\n.panel-actions {\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n}\n\n.panel-body {\n display: flex;\n flex-direction: column;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n min-height: 0;\n}\n\n.panel-toolbar {\n display: flex;\n align-items: center;\n gap: var(--ind-spacing-3, 6px);\n padding: var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);\n border-bottom: 1px solid var(--ind-surface-border-subtle);\n flex: 0 0 auto;\n}\n\n.panel-list {\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n.panel-grid {\n display: grid;\n gap: var(--ind-spacing-4, 8px);\n padding: var(--ind-spacing-5, 12px);\n}\n\n.panel-empty {\n padding: var(--ind-spacing-7, 20px);\n text-align: center;\n color: var(--ind-surface-text-muted);\n font-size: var(--ind-font-size-sm, 11px);\n}\n\n.panel-spacer {\n flex: 1 1 auto;\n}\n",":host {\n min-width: 420px;\n}\n\n.panel-list {\n max-height: 420px;\n}\n\n.filter {\n font-family: var(--ind-font-family-sans);\n font-size: var(--ind-font-size-sm, 11px);\n background: var(--ind-surface-sunken);\n color: var(--ind-surface-text-primary);\n border: 1px solid var(--ind-surface-border-default);\n border-radius: var(--ind-radius-sm, 2px);\n padding: 3px 6px;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport type { EventSeverity } from '../../molecules/event-row/event-row';\n\nexport interface EventJournalItem {\n time?: string;\n severity: EventSeverity;\n source?: string;\n message: string;\n}\n\n/**\n * Chronological event / system log built from `<ind-event-row>`s, with a\n * severity filter in the toolbar.\n */\n@Component({\n tag: 'ind-event-journal',\n styleUrls: ['../_shared/panel.css', 'event-journal.css'],\n shadow: true,\n})\nexport class IndEventJournal {\n @Prop() heading: string = 'Event journal';\n /** Events, most-recent first. */\n @Prop() events: EventJournalItem[] = [];\n /** Active severity filter — `all` shows everything. */\n @Prop({ mutable: true }) filter: 'all' | EventSeverity = 'all';\n\n private onFilter = (e: Event) => {\n this.filter = (e.target as HTMLSelectElement).value as 'all' | EventSeverity;\n };\n\n render() {\n const rows = this.filter === 'all' ? this.events : this.events.filter((e) => e.severity === this.filter);\n return (\n <Host>\n <div class=\"panel-head\">\n <span class=\"panel-title\" part=\"heading\">{this.heading}</span>\n <div class=\"panel-actions\">\n <select class=\"filter\" part=\"filter\" onChange={this.onFilter}>\n <option value=\"all\">All severities</option>\n <option value=\"error\">Error</option>\n <option value=\"warning\">Warning</option>\n <option value=\"success\">Success</option>\n <option value=\"info\">Info</option>\n </select>\n </div>\n </div>\n <div class=\"panel-list\" part=\"list\">\n {rows.length === 0 ? (\n <div class=\"panel-empty\">No events</div>\n ) : (\n rows.map((e, i) => (\n <ind-event-row\n key={i}\n time={e.time}\n severity={e.severity}\n source={e.source}\n message={e.message}\n />\n ))\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAW,IAAM,4zDCAvB,MAAMC,EAAkB,IAAM,oU,MCmBjBC,EAAe,M,yBAClBC,QAAkB,gBAElBC,OAA6B,GAEZC,OAAgC,MAEjDC,SAAYC,IAClBC,KAAKH,OAAUE,EAAEE,OAA6BC,KAA8B,EAG9E,MAAAC,GACE,MAAMC,EAAOJ,KAAKH,SAAW,MAAQG,KAAKJ,OAASI,KAAKJ,OAAOC,QAAQE,GAAMA,EAAEM,WAAaL,KAAKH,SACjG,OACES,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cACTH,EAAA,QAAAE,IAAA,2CAAMC,MAAM,cAAcC,KAAK,WAAWV,KAAKL,SAC/CW,EAAA,OAAAE,IAAA,2CAAKC,MAAM,iBACTH,EAAA,UAAAE,IAAA,2CAAQC,MAAM,SAASC,KAAK,SAASC,SAAUX,KAAKF,UAClDQ,EAAA,UAAAE,IAAA,2CAAQN,MAAM,OAAK,kBACnBI,EAAA,UAAAE,IAAA,2CAAQN,MAAM,SAAO,SACrBI,EAAA,UAAAE,IAAA,2CAAQN,MAAM,WAAS,WACvBI,EAAA,UAAAE,IAAA,2CAAQN,MAAM,WAAS,WACvBI,EAAA,UAAAE,IAAA,2CAAQN,MAAM,QAAM,WAI1BI,EAAA,OAAAE,IAAA,2CAAKC,MAAM,aAAaC,KAAK,QAC1BN,EAAKQ,SAAW,EACfN,EAAA,OAAKG,MAAM,eAAa,aAExBL,EAAKS,KAAI,CAACd,EAAGe,IACXR,EAAA,iBACEE,IAAKM,EACLC,KAAMhB,EAAEgB,KACRV,SAAUN,EAAEM,SACZW,OAAQjB,EAAEiB,OACVC,QAASlB,EAAEkB,a","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,h as e,H as t}from"./p-Bls_NlWP.js";const r=()=>`:host{display:flex;flex-direction:column;gap:var(--ind-spacing-3, 6px);padding:var(--ind-spacing-5, 12px);background:var(--ind-surface-panel);border:1px solid var(--ind-surface-border-default);border-radius:var(--ind-radius-md, 3px);font-family:var(--ind-font-family-sans);color:var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));font-feature-settings:var(--ind-font-feature-tabular, "tnum" 1);box-sizing:border-box;min-width:160px}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ind-spacing-3, 6px)}.card-title{font-size:var(--ind-font-size-xs, 10px);font-weight:var(--ind-font-weight-bold, 700);text-transform:uppercase;letter-spacing:0.08em;color:var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2))}.card-tag{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2))}.card-detail{font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0))}:host([state="fault"]){border-color:var(--ind-state-fault-bg, #dc2626);box-shadow:0 0 0 1px color-mix(in srgb, var(--ind-state-fault-bg, #dc2626) 30%, transparent)}:host([state="warning"]){border-color:color-mix(in srgb, var(--ind-state-warning-bg, #f59e0b) 60%, var(--ind-surface-border-default))}`;const n=()=>`:host{min-width:210px}:host([state="error"]){border-color:var(--ind-state-fault-bg, #dc2626);box-shadow:0 0 0 1px color-mix(in srgb, var(--ind-state-fault-bg, #dc2626) 30%, transparent)}.endpoint{font-family:var(--ind-font-family-mono);font-size:var(--ind-font-size-sm, 11px);color:var(--ind-surface-text-secondary);background:var(--ind-surface-sunken);padding:3px 6px;border-radius:var(--ind-radius-sm, 2px);word-break:break-all}`;const d=class{constructor(e){a(this,e)}name;protocol;endpoint;state="disconnected";latency;render(){return e(t,{key:"d4650fd63a64a9dd3bc58fae077ea5a6f1cf71fb",role:"group","aria-label":`${this.name} connection ${this.state}`},e("div",{key:"0e4f0b7d8beeb28c51449a56a9bebea4ab0580ca",class:"card-head"},e("span",{key:"dec224a80ed7880f33e0c1bb6d2c5c28feeb8435",class:"card-title",part:"name"},this.name),this.protocol&&e("span",{key:"3e446e59f250e22556a8c6476363d6ad37395626",class:"card-tag",part:"protocol"},this.protocol)),e("ind-connection-indicator",{key:"7c41a2d6f998360827fbf299ff40197d98eb02a9",state:this.state,size:"md"}),this.endpoint&&e("code",{key:"26982889839026079a9fda011d3276efd99e26cc",class:"endpoint",part:"endpoint"},this.endpoint),this.latency!==undefined&&e("div",{key:"8eed12b7cee83a545d01efbc6fb98c24e5241b49",class:"card-detail",part:"latency"},"Latency ",Math.round(this.latency)," ms"))}};d.style=r()+n();export{d as ind_device_connection_card};
2
+ //# sourceMappingURL=p-7e337fb5.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["cardCss","deviceConnectionCardCss","IndDeviceConnectionCard","name","protocol","endpoint","state","latency","render","h","Host","key","role","this","class","part","size","undefined","Math","round"],"sources":["src/components/molecules/_shared/card.css?tag=ind-device-connection-card&encapsulation=shadow","src/components/molecules/device-connection-card/device-connection-card.css?tag=ind-device-connection-card&encapsulation=shadow","src/components/molecules/device-connection-card/device-connection-card.tsx"],"sourcesContent":["/* Shared chrome for molecule \"card\" components. Pulled in first via\n * `styleUrls: ['../_shared/card.css', 'xxx.css']` so each card can override. */\n:host {\n display: flex;\n flex-direction: column;\n gap: var(--ind-spacing-3, 6px);\n padding: var(--ind-spacing-5, 12px);\n background: var(--ind-surface-panel);\n border: 1px solid var(--ind-surface-border-default);\n border-radius: var(--ind-radius-md, 3px);\n font-family: var(--ind-font-family-sans);\n color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));\n font-feature-settings: var(--ind-font-feature-tabular, \"tnum\" 1);\n box-sizing: border-box;\n min-width: 160px;\n}\n\n.card-head {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--ind-spacing-3, 6px);\n}\n\n.card-title {\n font-size: var(--ind-font-size-xs, 10px);\n font-weight: var(--ind-font-weight-bold, 700);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));\n}\n\n.card-tag {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));\n}\n\n.card-detail {\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));\n}\n\n/* Fault chrome cue, opt-in by reflecting state=\"fault\" on the host. */\n:host([state=\"fault\"]) {\n border-color: var(--ind-state-fault-bg, #dc2626);\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--ind-state-fault-bg, #dc2626) 30%, transparent);\n}\n:host([state=\"warning\"]) {\n border-color: color-mix(in srgb, var(--ind-state-warning-bg, #f59e0b) 60%, var(--ind-surface-border-default));\n}\n",":host {\n min-width: 210px;\n}\n\n/* The connection card uses its own state vocabulary, so map error→fault chrome. */\n:host([state=\"error\"]) {\n border-color: var(--ind-state-fault-bg, #dc2626);\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--ind-state-fault-bg, #dc2626) 30%, transparent);\n}\n\n.endpoint {\n font-family: var(--ind-font-family-mono);\n font-size: var(--ind-font-size-sm, 11px);\n color: var(--ind-surface-text-secondary);\n background: var(--ind-surface-sunken);\n padding: 3px 6px;\n border-radius: var(--ind-radius-sm, 2px);\n word-break: break-all;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport type { ConnectionState } from '../../atoms/connection-indicator/connection-indicator';\n\n/**\n * Connection summary for a field device / driver: protocol, endpoint, live\n * connection state and round-trip latency.\n */\n@Component({\n tag: 'ind-device-connection-card',\n styleUrls: ['../_shared/card.css', 'device-connection-card.css'],\n shadow: true,\n})\nexport class IndDeviceConnectionCard {\n /** Device / driver name. */\n @Prop() name!: string;\n /** Protocol (e.g. \"Modbus TCP\", \"EtherNet/IP\"). */\n @Prop() protocol?: string;\n /** Endpoint (host:port / URL). */\n @Prop() endpoint?: string;\n /** Connection state — drives the indicator and fault chrome. */\n @Prop({ reflect: true }) state: ConnectionState = 'disconnected';\n /** Round-trip latency in ms. */\n @Prop() latency?: number;\n\n render() {\n return (\n <Host role=\"group\" aria-label={`${this.name} connection ${this.state}`}>\n <div class=\"card-head\">\n <span class=\"card-title\" part=\"name\">{this.name}</span>\n {this.protocol && <span class=\"card-tag\" part=\"protocol\">{this.protocol}</span>}\n </div>\n <ind-connection-indicator state={this.state} size=\"md\" />\n {this.endpoint && <code class=\"endpoint\" part=\"endpoint\">{this.endpoint}</code>}\n {this.latency !== undefined && (\n <div class=\"card-detail\" part=\"latency\">Latency {Math.round(this.latency)} ms</div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAU,IAAM,8zCCAtB,MAAMC,EAA0B,IAAM,ib,MCYzBC,EAAuB,M,yBAE1BC,KAEAC,SAEAC,SAEiBC,MAAyB,eAE1CC,QAER,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,QAAO,aAAa,GAAGC,KAAKV,mBAAmBU,KAAKP,SAC7DG,EAAA,OAAAE,IAAA,2CAAKG,MAAM,aACTL,EAAA,QAAAE,IAAA,2CAAMG,MAAM,aAAaC,KAAK,QAAQF,KAAKV,MAC1CU,KAAKT,UAAYK,EAAA,QAAAE,IAAA,2CAAMG,MAAM,WAAWC,KAAK,YAAYF,KAAKT,WAEjEK,EAAA,4BAAAE,IAAA,2CAA0BL,MAAOO,KAAKP,MAAOU,KAAK,OACjDH,KAAKR,UAAYI,EAAA,QAAAE,IAAA,2CAAMG,MAAM,WAAWC,KAAK,YAAYF,KAAKR,UAC9DQ,KAAKN,UAAYU,WAChBR,EAAA,OAAAE,IAAA,2CAAKG,MAAM,cAAcC,KAAK,WAAS,WAAUG,KAAKC,MAAMN,KAAKN,SAAQ,O","ignoreList":[]}