@ind-ds/core 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/cjs/ind-ds.cjs.js +1 -1
  2. package/dist/cjs/ind-valve-control-panel.cjs.entry.js +7 -1
  3. package/dist/cjs/ind-valve-control-panel.cjs.entry.js.map +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/collection/components/atoms/_equipment/equipment.css +0 -74
  6. package/dist/collection/components/atoms/alarm/alarm.css +0 -87
  7. package/dist/collection/components/atoms/alarm/alarm.js +0 -122
  8. package/dist/collection/components/atoms/alarm-count/alarm-count.css +0 -44
  9. package/dist/collection/components/atoms/alarm-count/alarm-count.js +0 -171
  10. package/dist/collection/components/atoms/badge/badge.css +0 -42
  11. package/dist/collection/components/atoms/badge/badge.js +0 -101
  12. package/dist/collection/components/atoms/breadcrumb-item/breadcrumb-item.css +0 -42
  13. package/dist/collection/components/atoms/breadcrumb-item/breadcrumb-item.js +0 -116
  14. package/dist/collection/components/atoms/button/button.css +0 -110
  15. package/dist/collection/components/atoms/button/button.js +0 -215
  16. package/dist/collection/components/atoms/canvas-layer/canvas-layer.css +0 -8
  17. package/dist/collection/components/atoms/canvas-layer/canvas-layer.js +0 -161
  18. package/dist/collection/components/atoms/checkbox/checkbox.css +0 -92
  19. package/dist/collection/components/atoms/checkbox/checkbox.js +0 -214
  20. package/dist/collection/components/atoms/compressor/compressor.css +0 -7
  21. package/dist/collection/components/atoms/compressor/compressor.js +0 -124
  22. package/dist/collection/components/atoms/connection-indicator/connection-indicator.css +0 -42
  23. package/dist/collection/components/atoms/connection-indicator/connection-indicator.js +0 -107
  24. package/dist/collection/components/atoms/conveyor/conveyor.css +0 -18
  25. package/dist/collection/components/atoms/conveyor/conveyor.js +0 -152
  26. package/dist/collection/components/atoms/cooler/cooler.css +0 -15
  27. package/dist/collection/components/atoms/cooler/cooler.js +0 -124
  28. package/dist/collection/components/atoms/counter/counter.css +0 -45
  29. package/dist/collection/components/atoms/counter/counter.js +0 -171
  30. package/dist/collection/components/atoms/datetime-picker/datetime-picker.css +0 -46
  31. package/dist/collection/components/atoms/datetime-picker/datetime-picker.js +0 -275
  32. package/dist/collection/components/atoms/dialog/dialog.css +0 -85
  33. package/dist/collection/components/atoms/dialog/dialog.js +0 -265
  34. package/dist/collection/components/atoms/divider/divider.css +0 -16
  35. package/dist/collection/components/atoms/divider/divider.js +0 -50
  36. package/dist/collection/components/atoms/estop/estop.css +0 -69
  37. package/dist/collection/components/atoms/estop/estop.js +0 -166
  38. package/dist/collection/components/atoms/fan/fan.css +0 -11
  39. package/dist/collection/components/atoms/fan/fan.js +0 -124
  40. package/dist/collection/components/atoms/gauge/gauge.css +0 -70
  41. package/dist/collection/components/atoms/gauge/gauge.js +0 -237
  42. package/dist/collection/components/atoms/heartbeat/heartbeat.css +0 -58
  43. package/dist/collection/components/atoms/heartbeat/heartbeat.js +0 -116
  44. package/dist/collection/components/atoms/heater/heater.css +0 -20
  45. package/dist/collection/components/atoms/heater/heater.js +0 -124
  46. package/dist/collection/components/atoms/icon/icon.css +0 -30
  47. package/dist/collection/components/atoms/icon/icon.js +0 -119
  48. package/dist/collection/components/atoms/input/input.css +0 -92
  49. package/dist/collection/components/atoms/knob/knob.css +0 -71
  50. package/dist/collection/components/atoms/label/label.css +0 -29
  51. package/dist/collection/components/atoms/led/led.css +0 -91
  52. package/dist/collection/components/atoms/linear-gauge/linear-gauge.css +0 -65
  53. package/dist/collection/components/atoms/motor/motor.css +0 -24
  54. package/dist/collection/components/atoms/pipe/pipe.css +0 -57
  55. package/dist/collection/components/atoms/process-symbol/process-symbol.css +0 -44
  56. package/dist/collection/components/atoms/progress/progress.css +0 -69
  57. package/dist/collection/components/atoms/progress-ring/progress-ring.css +0 -59
  58. package/dist/collection/components/atoms/pump/pump.css +0 -7
  59. package/dist/collection/components/atoms/scara-canvas/scara-canvas.css +0 -100
  60. package/dist/collection/components/atoms/select/select.css +0 -88
  61. package/dist/collection/components/atoms/selector-switch/selector-switch.css +0 -53
  62. package/dist/collection/components/atoms/setpoint/setpoint.css +0 -79
  63. package/dist/collection/components/atoms/shelf-canvas/shelf-canvas.css +0 -67
  64. package/dist/collection/components/atoms/signal-quality/signal-quality.css +0 -41
  65. package/dist/collection/components/atoms/silo/silo.css +0 -12
  66. package/dist/collection/components/atoms/slider/slider.css +0 -87
  67. package/dist/collection/components/atoms/sparkline/sparkline.css +0 -37
  68. package/dist/collection/components/atoms/status-dot/status-dot.css +0 -69
  69. package/dist/collection/components/atoms/tab/tab.css +0 -39
  70. package/dist/collection/components/atoms/tag-name/tag-name.css +0 -25
  71. package/dist/collection/components/atoms/tank/tank.css +0 -12
  72. package/dist/collection/components/atoms/textarea/textarea.css +0 -74
  73. package/dist/collection/components/atoms/timestamp/timestamp.css +0 -15
  74. package/dist/collection/components/atoms/toggle/toggle.css +0 -78
  75. package/dist/collection/components/atoms/tree-node/tree-node.css +0 -65
  76. package/dist/collection/components/atoms/unit-label/unit-label.css +0 -16
  77. package/dist/collection/components/atoms/value/value.css +0 -115
  78. package/dist/collection/components/atoms/valve/valve.css +0 -101
  79. package/dist/collection/components/atoms/xy-point/xy-point.css +0 -49
  80. package/dist/collection/components/molecules/_shared/binding.css +0 -41
  81. package/dist/collection/components/molecules/_shared/card.css +0 -51
  82. package/dist/collection/components/molecules/_shared/equipment-card.css +0 -20
  83. package/dist/collection/components/molecules/_shared/row.css +0 -34
  84. package/dist/collection/components/molecules/alarm-badge-group/alarm-badge-group.css +0 -43
  85. package/dist/collection/components/molecules/alarm-badge-group/alarm-badge-group.js +0 -168
  86. package/dist/collection/components/molecules/alarm-row/alarm-row.css +0 -42
  87. package/dist/collection/components/molecules/alarm-row/alarm-row.js +0 -166
  88. package/dist/collection/components/molecules/audit-row/audit-row.css +0 -19
  89. package/dist/collection/components/molecules/audit-row/audit-row.js +0 -111
  90. package/dist/collection/components/molecules/batch-parameter-row/batch-parameter-row.css +0 -35
  91. package/dist/collection/components/molecules/batch-parameter-row/batch-parameter-row.js +0 -304
  92. package/dist/collection/components/molecules/command-group/command-group.css +0 -26
  93. package/dist/collection/components/molecules/command-group/command-group.js +0 -99
  94. package/dist/collection/components/molecules/device-connection-card/device-connection-card.css +0 -19
  95. package/dist/collection/components/molecules/device-connection-card/device-connection-card.js +0 -140
  96. package/dist/collection/components/molecules/device-info-card/device-info-card.css +0 -27
  97. package/dist/collection/components/molecules/device-info-card/device-info-card.js +0 -194
  98. package/dist/collection/components/molecules/energy-card/energy-card.css +0 -12
  99. package/dist/collection/components/molecules/energy-card/energy-card.js +0 -206
  100. package/dist/collection/components/molecules/equipment-status-card/equipment-status-card.css +0 -29
  101. package/dist/collection/components/molecules/equipment-status-card/equipment-status-card.js +0 -150
  102. package/dist/collection/components/molecules/event-row/event-row.css +0 -3
  103. package/dist/collection/components/molecules/event-row/event-row.js +0 -118
  104. package/dist/collection/components/molecules/fill-row/fill-row.css +0 -70
  105. package/dist/collection/components/molecules/fill-row/fill-row.js +0 -181
  106. package/dist/collection/components/molecules/health-card/health-card.css +0 -53
  107. package/dist/collection/components/molecules/health-card/health-card.js +0 -124
  108. package/dist/collection/components/molecules/historical-value-row/historical-value-row.css +0 -28
  109. package/dist/collection/components/molecules/historical-value-row/historical-value-row.js +0 -153
  110. package/dist/collection/components/molecules/kpi-card/kpi-card.css +0 -31
  111. package/dist/collection/components/molecules/mode-selector/mode-selector.css +0 -4
  112. package/dist/collection/components/molecules/motor-card/motor-card.css +0 -3
  113. package/dist/collection/components/molecules/mqtt-tag-binding/mqtt-tag-binding.css +0 -3
  114. package/dist/collection/components/molecules/nav-item/nav-item.css +0 -82
  115. package/dist/collection/components/molecules/network-status-card/network-status-card.css +0 -31
  116. package/dist/collection/components/molecules/opcua-tag-binding/opcua-tag-binding.css +0 -7
  117. package/dist/collection/components/molecules/pump-card/pump-card.css +0 -3
  118. package/dist/collection/components/molecules/recipe-selector/recipe-selector.css +0 -13
  119. package/dist/collection/components/molecules/setpoint-control/setpoint-control.css +0 -3
  120. package/dist/collection/components/molecules/sidebar-group/sidebar-group.css +0 -61
  121. package/dist/collection/components/molecules/speed-control/speed-control.css +0 -7
  122. package/dist/collection/components/molecules/start-stop-control/start-stop-control.css +0 -24
  123. package/dist/collection/components/molecules/tag-card/tag-card.css +0 -7
  124. package/dist/collection/components/molecules/tank-level-card/tank-level-card.css +0 -7
  125. package/dist/collection/components/molecules/temperature-control/temperature-control.css +0 -15
  126. package/dist/collection/components/molecules/toolbar-action/toolbar-action.css +0 -36
  127. package/dist/collection/components/molecules/trend-widget/trend-widget.css +0 -15
  128. package/dist/collection/components/molecules/valve-card/valve-card.css +0 -13
  129. package/dist/collection/components/organisms/_shared/control-panel.css +0 -15
  130. package/dist/collection/components/organisms/_shared/panel.css +0 -96
  131. package/dist/collection/components/organisms/alarm-panel/alarm-panel.css +0 -7
  132. package/dist/collection/components/organisms/alarm-panel/alarm-panel.js +0 -152
  133. package/dist/collection/components/organisms/alarm-summary/alarm-summary.css +0 -30
  134. package/dist/collection/components/organisms/alarm-summary/alarm-summary.js +0 -158
  135. package/dist/collection/components/organisms/app-header/app-header.css +0 -127
  136. package/dist/collection/components/organisms/app-header/app-header.js +0 -256
  137. package/dist/collection/components/organisms/asset-overview/asset-overview.css +0 -34
  138. package/dist/collection/components/organisms/asset-overview/asset-overview.js +0 -82
  139. package/dist/collection/components/organisms/batch-control-panel/batch-control-panel.css +0 -45
  140. package/dist/collection/components/organisms/batch-control-panel/batch-control-panel.js +0 -226
  141. package/dist/collection/components/organisms/command-center/command-center.css +0 -7
  142. package/dist/collection/components/organisms/command-center/command-center.js +0 -70
  143. package/dist/collection/components/organisms/context-toolbar/context-toolbar.css +0 -48
  144. package/dist/collection/components/organisms/context-toolbar/context-toolbar.js +0 -70
  145. package/dist/collection/components/organisms/device-diagnostics-panel/device-diagnostics-panel.css +0 -43
  146. package/dist/collection/components/organisms/device-diagnostics-panel/device-diagnostics-panel.js +0 -222
  147. package/dist/collection/components/organisms/energy-dashboard/energy-dashboard.css +0 -29
  148. package/dist/collection/components/organisms/energy-dashboard/energy-dashboard.js +0 -134
  149. package/dist/collection/components/organisms/equipment-dashboard/equipment-dashboard.css +0 -3
  150. package/dist/collection/components/organisms/equipment-dashboard/equipment-dashboard.js +0 -71
  151. package/dist/collection/components/organisms/event-journal/event-journal.css +0 -17
  152. package/dist/collection/components/organisms/event-journal/event-journal.js +0 -107
  153. package/dist/collection/components/organisms/firmware-update-panel/firmware-update-panel.css +0 -47
  154. package/dist/collection/components/organisms/firmware-update-panel/firmware-update-panel.js +0 -208
  155. package/dist/collection/components/organisms/historian-viewer/historian-viewer.css +0 -17
  156. package/dist/collection/components/organisms/historian-viewer/historian-viewer.js +0 -144
  157. package/dist/collection/components/organisms/machine-overview/machine-overview.css +0 -22
  158. package/dist/collection/components/organisms/maintenance-dashboard/maintenance-dashboard.css +0 -48
  159. package/dist/collection/components/organisms/motor-control-panel/motor-control-panel.css +0 -3
  160. package/dist/collection/components/organisms/mqtt-monitor/mqtt-monitor.css +0 -96
  161. package/dist/collection/components/organisms/oee-dashboard/oee-dashboard.css +0 -30
  162. package/dist/collection/components/organisms/process-control-panel/process-control-panel.css +0 -13
  163. package/dist/collection/components/organisms/production-cell/production-cell.css +0 -7
  164. package/dist/collection/components/organisms/production-dashboard/production-dashboard.css +0 -3
  165. package/dist/collection/components/organisms/production-line-overview/production-line-overview.css +0 -57
  166. package/dist/collection/components/organisms/pump-control-panel/pump-control-panel.css +0 -3
  167. package/dist/collection/components/organisms/recipe-management-panel/recipe-management-panel.css +0 -10
  168. package/dist/collection/components/organisms/sidebar-nav/sidebar-nav.css +0 -39
  169. package/dist/collection/components/organisms/status-bar/status-bar.css +0 -34
  170. package/dist/collection/components/organisms/trend-viewer/trend-viewer.css +0 -45
  171. package/dist/collection/components/organisms/valve-control-panel/valve-control-panel.css +0 -10
  172. package/dist/collection/components/organisms/valve-control-panel/valve-control-panel.js +67 -1
  173. package/dist/collection/components/organisms/valve-control-panel/valve-control-panel.js.map +1 -1
  174. package/dist/collection/components/organisms/workstation-monitor/workstation-monitor.css +0 -30
  175. package/dist/components/ind-valve-control-panel.js +1 -1
  176. package/dist/components/ind-valve-control-panel.js.map +1 -1
  177. package/dist/docs.json +88 -1
  178. package/dist/esm/ind-ds.js +1 -1
  179. package/dist/esm/ind-valve-control-panel.entry.js +7 -1
  180. package/dist/esm/ind-valve-control-panel.entry.js.map +1 -1
  181. package/dist/esm/loader.js +1 -1
  182. package/dist/ind-ds/ind-ds.esm.js +1 -1
  183. package/dist/ind-ds/{p-eac22c88.entry.js → p-69ac33af.entry.js} +2 -2
  184. package/dist/ind-ds/p-69ac33af.entry.js.map +1 -0
  185. package/dist/types/components/organisms/valve-control-panel/valve-control-panel.d.ts +6 -0
  186. package/dist/types/components.d.ts +33 -0
  187. package/package.json +2 -2
  188. package/dist/ind-ds/p-eac22c88.entry.js.map +0 -1
@@ -1,31 +0,0 @@
1
- :host {
2
- min-width: 200px;
3
- }
4
-
5
- :host([state="error"]) {
6
- border-color: var(--ind-state-fault-bg, #dc2626);
7
- }
8
-
9
- .signal {
10
- display: flex;
11
- align-items: center;
12
- gap: var(--ind-spacing-4, 8px);
13
- }
14
-
15
- .address {
16
- font-family: var(--ind-font-family-mono);
17
- font-size: var(--ind-font-size-sm, 11px);
18
- color: var(--ind-surface-text-secondary);
19
- }
20
-
21
- .throughput {
22
- display: flex;
23
- gap: var(--ind-spacing-6, 16px);
24
- font-family: var(--ind-font-family-mono);
25
- font-size: var(--ind-font-size-sm, 11px);
26
- color: var(--ind-surface-text-primary);
27
- }
28
-
29
- .arrow {
30
- color: var(--ind-surface-text-muted);
31
- }
@@ -1,7 +0,0 @@
1
- :host {
2
- min-width: 240px;
3
- }
4
-
5
- .quality-good { color: var(--ind-state-running-bg, #16a34a); }
6
- .quality-uncertain { color: var(--ind-state-warning-bg, #f59e0b); }
7
- .quality-bad { color: var(--ind-state-fault-bg, #dc2626); }
@@ -1,3 +0,0 @@
1
- :host {
2
- min-width: 200px;
3
- }
@@ -1,13 +0,0 @@
1
- :host {
2
- min-width: 240px;
3
- }
4
-
5
- .row {
6
- display: flex;
7
- align-items: flex-end;
8
- gap: var(--ind-spacing-4, 8px);
9
- }
10
-
11
- .select {
12
- flex: 1 1 auto;
13
- }
@@ -1,3 +0,0 @@
1
- :host {
2
- min-width: 200px;
3
- }
@@ -1,61 +0,0 @@
1
- :host {
2
- display: block;
3
- font-family: var(--ind-font-family-sans);
4
- }
5
-
6
- .header {
7
- display: flex;
8
- align-items: center;
9
- gap: var(--ind-spacing-2, 4px);
10
- width: 100%;
11
- padding: var(--ind-spacing-3, 6px) var(--ind-spacing-4, 8px);
12
- background: transparent;
13
- border: 0;
14
- cursor: pointer;
15
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
16
- font-size: var(--ind-font-size-xs, 10px);
17
- font-weight: var(--ind-font-weight-bold, 700);
18
- text-transform: uppercase;
19
- letter-spacing: 0.08em;
20
- text-align: left;
21
- }
22
-
23
- .header:hover {
24
- color: var(--ind-surface-text-primary);
25
- }
26
-
27
- .header:focus-visible {
28
- outline: 2px solid var(--ind-surface-focus-ring);
29
- outline-offset: -2px;
30
- }
31
-
32
- .chevron {
33
- transition: transform var(--ind-motion-duration-fast, 120ms) var(--ind-motion-easing-standard, ease);
34
- font-size: 0.9em;
35
- }
36
-
37
- :host([collapsed]) .chevron {
38
- transform: rotate(-90deg);
39
- }
40
-
41
- .label {
42
- flex: 1 1 auto;
43
- }
44
-
45
- .badge {
46
- font-family: var(--ind-font-family-mono);
47
- background: var(--ind-surface-raised);
48
- border-radius: var(--ind-radius-full, 9999px);
49
- padding: 1px 6px;
50
- font-size: var(--ind-font-size-xs, 10px);
51
- color: var(--ind-surface-text-primary);
52
- }
53
-
54
- .items {
55
- display: flex;
56
- flex-direction: column;
57
- }
58
-
59
- @media (prefers-reduced-motion: reduce) {
60
- .chevron { transition: none; }
61
- }
@@ -1,7 +0,0 @@
1
- :host {
2
- min-width: 200px;
3
- }
4
-
5
- ind-slider {
6
- width: 100%;
7
- }
@@ -1,24 +0,0 @@
1
- :host {
2
- min-width: 180px;
3
- gap: var(--ind-spacing-4, 8px);
4
- }
5
-
6
- .head {
7
- display: flex;
8
- align-items: center;
9
- gap: var(--ind-spacing-3, 6px);
10
- }
11
-
12
- .label {
13
- font-size: var(--ind-font-size-md, 13px);
14
- font-weight: var(--ind-font-weight-medium, 500);
15
- }
16
-
17
- .buttons {
18
- display: flex;
19
- gap: var(--ind-spacing-4, 8px);
20
- }
21
-
22
- .buttons ind-button {
23
- flex: 1 1 0;
24
- }
@@ -1,7 +0,0 @@
1
- :host {
2
- min-width: 150px;
3
- }
4
-
5
- .card-head {
6
- align-items: center;
7
- }
@@ -1,7 +0,0 @@
1
- :host {
2
- min-width: 210px;
3
- }
4
-
5
- ind-linear-gauge {
6
- width: 100%;
7
- }
@@ -1,15 +0,0 @@
1
- :host {
2
- min-width: 210px;
3
- }
4
-
5
- .mode {
6
- display: inline-flex;
7
- align-items: center;
8
- gap: var(--ind-spacing-2, 4px);
9
- font-size: var(--ind-font-size-sm, 11px);
10
- font-weight: var(--ind-font-weight-medium, 500);
11
- color: var(--ind-surface-text-muted);
12
- }
13
-
14
- .mode-heating { color: var(--ind-state-fault-bg, #dc2626); }
15
- .mode-cooling { color: var(--ind-color-palette-cyan-300, #22d3ee); }
@@ -1,36 +0,0 @@
1
- :host {
2
- display: flex;
3
- align-items: center;
4
- gap: var(--ind-spacing-4, 8px);
5
- padding: var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);
6
- background: var(--ind-surface-panel);
7
- border-bottom: 1px solid var(--ind-surface-border-default);
8
- font-family: var(--ind-font-family-sans);
9
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
10
- flex-wrap: wrap;
11
- }
12
-
13
- .filter ::slotted(*) {
14
- min-width: 200px;
15
- }
16
-
17
- .flags {
18
- display: flex;
19
- align-items: center;
20
- gap: var(--ind-spacing-4, 8px);
21
- }
22
-
23
- .spacer { flex: 1; }
24
-
25
- .counter {
26
- font-family: var(--ind-font-family-mono);
27
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
28
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
29
- font-size: var(--ind-font-size-sm, 11px);
30
- white-space: nowrap;
31
- }
32
-
33
- .actions {
34
- display: flex;
35
- gap: var(--ind-spacing-3, 6px);
36
- }
@@ -1,15 +0,0 @@
1
- :host {
2
- min-width: 200px;
3
- }
4
-
5
- .spark {
6
- width: 100%;
7
- height: 44px;
8
- }
9
-
10
- .bounds {
11
- display: flex;
12
- justify-content: space-between;
13
- font-size: var(--ind-font-size-xs, 10px);
14
- color: var(--ind-surface-text-muted);
15
- }
@@ -1,13 +0,0 @@
1
- :host {
2
- min-width: 190px;
3
- }
4
-
5
- .state-label {
6
- font-size: var(--ind-font-size-lg, 14px);
7
- font-weight: var(--ind-font-weight-semibold, 600);
8
- }
9
-
10
- .state-open { color: var(--ind-state-running-bg, #16a34a); }
11
- .state-closed { color: var(--ind-surface-text-secondary); }
12
- .state-transit { color: var(--ind-state-warning-bg, #f59e0b); }
13
- .state-fault { color: var(--ind-state-fault-bg, #dc2626); }
@@ -1,15 +0,0 @@
1
- /* Flatten the faceplate / control molecules when embedded in a control panel,
2
- * so the panel provides the single card chrome. */
3
- .panel-body > ind-motor-card,
4
- .panel-body > ind-pump-card,
5
- .panel-body > ind-valve-card,
6
- .panel-body > ind-start-stop-control,
7
- .panel-body > ind-setpoint-control,
8
- .panel-body > ind-speed-control,
9
- .panel-body > ind-mode-selector,
10
- .panel-body > ind-recipe-selector {
11
- border: 0;
12
- padding: 0;
13
- background: transparent;
14
- min-width: 0;
15
- }
@@ -1,96 +0,0 @@
1
- /* Shared chrome for organism panels. Pulled in first via
2
- * `styleUrls: ['../_shared/panel.css', 'xxx.css']`. */
3
- :host {
4
- display: flex;
5
- flex-direction: column;
6
- background: var(--ind-surface-panel);
7
- border: 1px solid var(--ind-surface-border-default);
8
- border-radius: var(--ind-radius-md, 3px);
9
- font-family: var(--ind-font-family-sans);
10
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
11
- box-sizing: border-box;
12
- overflow: hidden;
13
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
14
- }
15
-
16
- .panel-head {
17
- display: flex;
18
- align-items: center;
19
- gap: var(--ind-spacing-4, 8px);
20
- padding: var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);
21
- border-bottom: 1px solid var(--ind-surface-border-subtle);
22
- background: var(--ind-surface-raised);
23
- flex: 0 0 auto;
24
- }
25
-
26
- .panel-titles {
27
- display: flex;
28
- flex-direction: column;
29
- min-width: 0;
30
- }
31
-
32
- .panel-title {
33
- font-size: var(--ind-font-size-md, 13px);
34
- font-weight: var(--ind-font-weight-semibold, 600);
35
- line-height: 1.2;
36
- }
37
-
38
- .panel-subtitle {
39
- font-size: var(--ind-font-size-xs, 10px);
40
- text-transform: uppercase;
41
- letter-spacing: 0.06em;
42
- color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
43
- }
44
-
45
- .panel-tag {
46
- font-family: var(--ind-font-family-mono);
47
- font-size: var(--ind-font-size-sm, 11px);
48
- color: var(--ind-surface-text-secondary);
49
- }
50
-
51
- .panel-actions {
52
- margin-left: auto;
53
- display: flex;
54
- align-items: center;
55
- gap: var(--ind-spacing-3, 6px);
56
- }
57
-
58
- .panel-body {
59
- display: flex;
60
- flex-direction: column;
61
- gap: var(--ind-spacing-4, 8px);
62
- padding: var(--ind-spacing-5, 12px);
63
- min-height: 0;
64
- }
65
-
66
- .panel-toolbar {
67
- display: flex;
68
- align-items: center;
69
- gap: var(--ind-spacing-3, 6px);
70
- padding: var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);
71
- border-bottom: 1px solid var(--ind-surface-border-subtle);
72
- flex: 0 0 auto;
73
- }
74
-
75
- .panel-list {
76
- display: flex;
77
- flex-direction: column;
78
- overflow: auto;
79
- }
80
-
81
- .panel-grid {
82
- display: grid;
83
- gap: var(--ind-spacing-4, 8px);
84
- padding: var(--ind-spacing-5, 12px);
85
- }
86
-
87
- .panel-empty {
88
- padding: var(--ind-spacing-7, 20px);
89
- text-align: center;
90
- color: var(--ind-surface-text-muted);
91
- font-size: var(--ind-font-size-sm, 11px);
92
- }
93
-
94
- .panel-spacer {
95
- flex: 1 1 auto;
96
- }
@@ -1,7 +0,0 @@
1
- :host {
2
- min-width: 360px;
3
- }
4
-
5
- .panel-list {
6
- max-height: 420px;
7
- }
@@ -1,152 +0,0 @@
1
- import { h, Host } from "@stencil/core";
2
- const PRIORITY_RANK = {
3
- 'high-high': 0,
4
- high: 1,
5
- low: 2,
6
- 'low-low': 3,
7
- };
8
- /**
9
- * Active alarm list with a toolbar: shows unacknowledged-first, ISA-18.2
10
- * sorted `<ind-alarm-row>`s and an "ACK all" command. Emits `indAck` (per
11
- * alarm) and `indAckAll`.
12
- */
13
- export class IndAlarmPanel {
14
- /** Panel heading. */
15
- heading = 'Alarms';
16
- /** Alarm rows. */
17
- alarms = [];
18
- /** Hide already-acknowledged alarms. */
19
- hideAcknowledged = false;
20
- /** Fires with the alarm id when a single alarm is acknowledged. */
21
- indAck;
22
- /** Fires when the operator acknowledges all visible alarms. */
23
- indAckAll;
24
- sorted() {
25
- const list = this.hideAcknowledged ? this.alarms.filter((a) => !a.acknowledged) : this.alarms;
26
- return [...list].sort((a, b) => {
27
- const ack = Number(a.acknowledged ?? false) - Number(b.acknowledged ?? false);
28
- if (ack !== 0)
29
- return ack;
30
- return PRIORITY_RANK[a.priority] - PRIORITY_RANK[b.priority];
31
- });
32
- }
33
- render() {
34
- const rows = this.sorted();
35
- const unacked = this.alarms.filter((a) => !a.acknowledged).length;
36
- return (h(Host, { key: '0dfd3cce47c2bb9367fe44374890f64fe8e6cd35' }, h("div", { key: '5fb96dd5aba1723905467f0b97df8808cfe60362', class: "panel-head" }, h("div", { key: '4df0bf8cb769f781920c69cdd81dcdf0f22721b5', class: "panel-titles" }, h("span", { key: '41bd0d8955b5bb89107b5abf350f82cd6b54b160', class: "panel-title", part: "heading" }, this.heading), h("span", { key: 'b8143a078e6ac7fca073713f19e44554b72a3b3c', class: "panel-subtitle" }, unacked, " unacknowledged \u00B7 ", this.alarms.length, " total")), h("div", { key: '9c660b78dad715003000c61b9ed532e280950193', class: "panel-actions" }, h("ind-button", { key: '37ae9d3d64083f360a8292d17e33346c6ae60ee6', variant: "default", size: "sm", label: "ACK all", disabled: unacked === 0, onIndActivate: () => this.indAckAll.emit() }))), h("div", { key: '65b366bc7cd87378fa18af0610d9796cbdc6bbfb', class: "panel-list", part: "list" }, rows.length === 0 ? (h("div", { class: "panel-empty" }, "No active alarms")) : (rows.map((a) => (h("ind-alarm-row", { key: a.id, priority: a.priority, tag: a.tag, message: a.message, time: a.time, acknowledged: a.acknowledged, onIndAck: () => this.indAck.emit(a.id) })))))));
37
- }
38
- static get is() { return "ind-alarm-panel"; }
39
- static get encapsulation() { return "shadow"; }
40
- static get originalStyleUrls() {
41
- return {
42
- "$": ["../_shared/panel.css", "alarm-panel.css"]
43
- };
44
- }
45
- static get styleUrls() {
46
- return {
47
- "$": ["../_shared/panel.css", "alarm-panel.css"]
48
- };
49
- }
50
- static get properties() {
51
- return {
52
- "heading": {
53
- "type": "string",
54
- "mutable": false,
55
- "complexType": {
56
- "original": "string",
57
- "resolved": "string",
58
- "references": {}
59
- },
60
- "required": false,
61
- "optional": false,
62
- "docs": {
63
- "tags": [],
64
- "text": "Panel heading."
65
- },
66
- "getter": false,
67
- "setter": false,
68
- "reflect": false,
69
- "attribute": "heading",
70
- "defaultValue": "'Alarms'"
71
- },
72
- "alarms": {
73
- "type": "unknown",
74
- "mutable": false,
75
- "complexType": {
76
- "original": "AlarmPanelItem[]",
77
- "resolved": "AlarmPanelItem[]",
78
- "references": {
79
- "AlarmPanelItem": {
80
- "location": "local",
81
- "path": "/home/runner/work/ind-ds/ind-ds/packages/core/src/components/organisms/alarm-panel/alarm-panel.tsx",
82
- "id": "src/components/organisms/alarm-panel/alarm-panel.tsx::AlarmPanelItem"
83
- }
84
- }
85
- },
86
- "required": false,
87
- "optional": false,
88
- "docs": {
89
- "tags": [],
90
- "text": "Alarm rows."
91
- },
92
- "getter": false,
93
- "setter": false,
94
- "defaultValue": "[]"
95
- },
96
- "hideAcknowledged": {
97
- "type": "boolean",
98
- "mutable": false,
99
- "complexType": {
100
- "original": "boolean",
101
- "resolved": "boolean",
102
- "references": {}
103
- },
104
- "required": false,
105
- "optional": false,
106
- "docs": {
107
- "tags": [],
108
- "text": "Hide already-acknowledged alarms."
109
- },
110
- "getter": false,
111
- "setter": false,
112
- "reflect": false,
113
- "attribute": "hide-acknowledged",
114
- "defaultValue": "false"
115
- }
116
- };
117
- }
118
- static get events() {
119
- return [{
120
- "method": "indAck",
121
- "name": "indAck",
122
- "bubbles": true,
123
- "cancelable": true,
124
- "composed": true,
125
- "docs": {
126
- "tags": [],
127
- "text": "Fires with the alarm id when a single alarm is acknowledged."
128
- },
129
- "complexType": {
130
- "original": "string",
131
- "resolved": "string",
132
- "references": {}
133
- }
134
- }, {
135
- "method": "indAckAll",
136
- "name": "indAckAll",
137
- "bubbles": true,
138
- "cancelable": true,
139
- "composed": true,
140
- "docs": {
141
- "tags": [],
142
- "text": "Fires when the operator acknowledges all visible alarms."
143
- },
144
- "complexType": {
145
- "original": "void",
146
- "resolved": "void",
147
- "references": {}
148
- }
149
- }];
150
- }
151
- }
152
- //# sourceMappingURL=alarm-panel.js.map
@@ -1,30 +0,0 @@
1
- :host {
2
- min-width: 220px;
3
- }
4
-
5
- .figures {
6
- display: flex;
7
- gap: var(--ind-spacing-7, 20px);
8
- }
9
-
10
- .figure {
11
- display: flex;
12
- flex-direction: column;
13
- }
14
-
15
- .figure-value {
16
- font-size: var(--ind-font-size-3xl, 28px);
17
- font-weight: var(--ind-font-weight-bold, 700);
18
- line-height: 1;
19
- }
20
-
21
- .figure-label {
22
- font-size: var(--ind-font-size-xs, 10px);
23
- text-transform: uppercase;
24
- letter-spacing: 0.06em;
25
- color: var(--ind-surface-text-muted);
26
- }
27
-
28
- .figure-alert .figure-value {
29
- color: var(--ind-state-fault-bg, #dc2626);
30
- }