@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,101 +0,0 @@
1
- :host {
2
- display: inline-flex;
3
- flex-direction: column;
4
- align-items: center;
5
- gap: var(--ind-spacing-2, 4px);
6
- font-family: var(--ind-font-family-sans);
7
- font-size: var(--ind-font-size-base, 12px);
8
- /* `light-dark()` makes the fallback adapt to the page's color-scheme so the
9
- * caption stays readable even if the atom lands on a surface whose theme
10
- * doesn't match the loaded tokens (e.g. Storybook autodocs on white). */
11
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
12
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
13
- }
14
-
15
- .symbol {
16
- --_w: var(--ind-valve-width, 48px);
17
- --_fill: var(--ind-state-stopped-bg, #5a6776);
18
- --_stroke: var(--ind-state-stopped-border, #8390a0);
19
-
20
- width: var(--_w);
21
- height: calc(var(--_w) / 2);
22
- display: block;
23
- }
24
-
25
- :host([orientation="vertical"]) .symbol {
26
- transform: rotate(90deg);
27
- }
28
-
29
- :host([size="sm"]) .symbol { --_w: 32px; }
30
- :host([size="md"]) .symbol { --_w: 48px; }
31
- :host([size="lg"]) .symbol { --_w: 72px; }
32
-
33
- .left,
34
- .right {
35
- fill: var(--_fill);
36
- stroke: var(--_stroke);
37
- stroke-width: 1.25;
38
- stroke-linejoin: round;
39
- transition:
40
- fill var(--ind-motion-duration-base, 200ms),
41
- stroke var(--ind-motion-duration-base, 200ms);
42
- }
43
-
44
- .stem {
45
- stroke: var(--_stroke);
46
- stroke-width: 2;
47
- stroke-linecap: round;
48
- }
49
-
50
- :host([state="open"]) .symbol {
51
- --_fill: var(--ind-state-running-bg, #16a34a);
52
- --_stroke: var(--ind-state-running-border, #4ade80);
53
- }
54
- :host([state="closed"]) .symbol {
55
- --_fill: var(--ind-state-stopped-bg, #5a6776);
56
- --_stroke: var(--ind-state-stopped-border, #8390a0);
57
- }
58
- :host([state="fault"]) .symbol {
59
- --_fill: var(--ind-state-fault-bg, #dc2626);
60
- --_stroke: var(--ind-state-fault-border, #f87171);
61
- }
62
- :host([state="transit"]) .symbol {
63
- --_fill: var(--ind-state-warning-bg, #f59e0b);
64
- --_stroke: var(--ind-state-warning-border, #fcd34d);
65
- }
66
-
67
- /* Transit: marching ants on the perimeter — universally read as
68
- * "in motion / transitioning" by control room operators. */
69
- :host([state="transit"]) .left,
70
- :host([state="transit"]) .right {
71
- stroke-dasharray: 4 2;
72
- animation: ind-valve-march var(--ind-motion-blink-slow, 1000ms) linear infinite;
73
- }
74
-
75
- @keyframes ind-valve-march {
76
- to { stroke-dashoffset: -6; }
77
- }
78
-
79
- .caption {
80
- display: flex;
81
- gap: var(--ind-spacing-3, 6px);
82
- align-items: baseline;
83
- font-size: var(--ind-font-size-sm, 11px);
84
- }
85
-
86
- .tag {
87
- font-family: var(--ind-font-family-mono);
88
- font-weight: var(--ind-font-weight-semibold, 600);
89
- }
90
-
91
- .label {
92
- color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
93
- }
94
-
95
- @media (prefers-reduced-motion: reduce) {
96
- :host([state="transit"]) .left,
97
- :host([state="transit"]) .right {
98
- animation: none;
99
- stroke-dasharray: 4 2;
100
- }
101
- }
@@ -1,49 +0,0 @@
1
- :host {
2
- display: inline-block;
3
- width: var(--ind-xy-size, 120px);
4
- height: var(--ind-xy-size, 120px);
5
- --_accent: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
6
- }
7
-
8
- :host([variant="running"]) { --_accent: var(--ind-state-running-bg, #16a34a); }
9
- :host([variant="warning"]) { --_accent: var(--ind-state-warning-bg, #f59e0b); }
10
- :host([variant="fault"]) { --_accent: var(--ind-state-fault-bg, #dc2626); }
11
-
12
- .plot {
13
- display: block;
14
- width: 100%;
15
- height: 100%;
16
- }
17
-
18
- .field {
19
- fill: var(--ind-surface-sunken, light-dark(#fff, #000));
20
- stroke: var(--ind-surface-border-default, #2a3340);
21
- stroke-width: 1;
22
- vector-effect: non-scaling-stroke;
23
- }
24
-
25
- .axis {
26
- stroke: var(--ind-surface-border-subtle, #2a3340);
27
- stroke-width: 1;
28
- stroke-dasharray: 2 2;
29
- vector-effect: non-scaling-stroke;
30
- }
31
-
32
- .trail {
33
- fill: none;
34
- stroke: color-mix(in srgb, var(--_accent) 50%, transparent);
35
- stroke-width: 1.5;
36
- stroke-linejoin: round;
37
- vector-effect: non-scaling-stroke;
38
- }
39
-
40
- .point {
41
- fill: var(--_accent);
42
- stroke: var(--ind-surface-panel, #11161c);
43
- stroke-width: 1.5;
44
- transition: cx var(--ind-motion-duration-base, 200ms) ease, cy var(--ind-motion-duration-base, 200ms) ease;
45
- }
46
-
47
- @media (prefers-reduced-motion: reduce) {
48
- .point { transition: none; }
49
- }
@@ -1,41 +0,0 @@
1
- /* Shared chrome for protocol tag-binding cards (MQTT, OPC UA). */
2
- .card-head {
3
- align-items: center;
4
- }
5
-
6
- .address {
7
- font-family: var(--ind-font-family-mono);
8
- font-size: var(--ind-font-size-sm, 11px);
9
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
10
- background: var(--ind-surface-sunken);
11
- padding: 3px 6px;
12
- border-radius: var(--ind-radius-sm, 2px);
13
- word-break: break-all;
14
- }
15
-
16
- .readout {
17
- display: flex;
18
- align-items: baseline;
19
- justify-content: space-between;
20
- gap: var(--ind-spacing-4, 8px);
21
- }
22
-
23
- .value {
24
- font-family: var(--ind-font-family-mono);
25
- font-size: var(--ind-font-size-lg, 14px);
26
- font-weight: var(--ind-font-weight-semibold, 600);
27
- }
28
-
29
- .flags {
30
- display: inline-flex;
31
- gap: var(--ind-spacing-2, 4px);
32
- }
33
-
34
- .flag {
35
- font-size: var(--ind-font-size-xs, 10px);
36
- color: var(--ind-surface-text-muted);
37
- background: var(--ind-surface-raised);
38
- border-radius: var(--ind-radius-sm, 2px);
39
- padding: 1px 5px;
40
- white-space: nowrap;
41
- }
@@ -1,51 +0,0 @@
1
- /* Shared chrome for molecule "card" components. Pulled in first via
2
- * `styleUrls: ['../_shared/card.css', 'xxx.css']` so each card can override. */
3
- :host {
4
- display: flex;
5
- flex-direction: column;
6
- gap: var(--ind-spacing-3, 6px);
7
- padding: var(--ind-spacing-5, 12px);
8
- background: var(--ind-surface-panel);
9
- border: 1px solid var(--ind-surface-border-default);
10
- border-radius: var(--ind-radius-md, 3px);
11
- font-family: var(--ind-font-family-sans);
12
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
13
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
14
- box-sizing: border-box;
15
- min-width: 160px;
16
- }
17
-
18
- .card-head {
19
- display: flex;
20
- align-items: baseline;
21
- justify-content: space-between;
22
- gap: var(--ind-spacing-3, 6px);
23
- }
24
-
25
- .card-title {
26
- font-size: var(--ind-font-size-xs, 10px);
27
- font-weight: var(--ind-font-weight-bold, 700);
28
- text-transform: uppercase;
29
- letter-spacing: 0.08em;
30
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
31
- }
32
-
33
- .card-tag {
34
- font-family: var(--ind-font-family-mono);
35
- font-size: var(--ind-font-size-sm, 11px);
36
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
37
- }
38
-
39
- .card-detail {
40
- font-size: var(--ind-font-size-sm, 11px);
41
- color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
42
- }
43
-
44
- /* Fault chrome cue, opt-in by reflecting state="fault" on the host. */
45
- :host([state="fault"]) {
46
- border-color: var(--ind-state-fault-bg, #dc2626);
47
- box-shadow: 0 0 0 1px color-mix(in srgb, var(--ind-state-fault-bg, #dc2626) 30%, transparent);
48
- }
49
- :host([state="warning"]) {
50
- border-color: color-mix(in srgb, var(--ind-state-warning-bg, #f59e0b) 60%, var(--ind-surface-border-default));
51
- }
@@ -1,20 +0,0 @@
1
- /* Shared layout for the equipment faceplate cards (motor, pump, valve, tank).
2
- * Loaded after card.css and before each component's own sheet. */
3
- .body {
4
- display: flex;
5
- align-items: center;
6
- gap: var(--ind-spacing-5, 12px);
7
- }
8
-
9
- .symbol {
10
- flex: 0 0 auto;
11
- }
12
-
13
- .metrics {
14
- display: flex;
15
- flex-direction: column;
16
- gap: var(--ind-spacing-2, 4px);
17
- margin-left: auto;
18
- align-items: flex-end;
19
- text-align: right;
20
- }
@@ -1,34 +0,0 @@
1
- /* Shared chrome for log-style molecule rows (alarm, event, audit, historical).
2
- * Each component sets its own grid-template-columns. */
3
- :host {
4
- display: grid;
5
- align-items: center;
6
- gap: var(--ind-spacing-4, 8px);
7
- padding: var(--ind-spacing-3, 6px) var(--ind-spacing-4, 8px);
8
- font-family: var(--ind-font-family-sans);
9
- font-size: var(--ind-font-size-base, 12px);
10
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
11
- border-bottom: 1px solid var(--ind-surface-border-subtle);
12
- box-sizing: border-box;
13
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
14
- }
15
-
16
- .time {
17
- font-family: var(--ind-font-family-mono);
18
- font-size: var(--ind-font-size-sm, 11px);
19
- color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
20
- white-space: nowrap;
21
- }
22
-
23
- .tag {
24
- font-family: var(--ind-font-family-mono);
25
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
26
- white-space: nowrap;
27
- }
28
-
29
- .msg {
30
- min-width: 0;
31
- overflow: hidden;
32
- text-overflow: ellipsis;
33
- white-space: nowrap;
34
- }
@@ -1,43 +0,0 @@
1
- :host {
2
- display: inline-flex;
3
- align-items: center;
4
- gap: var(--ind-spacing-2, 4px);
5
- font-family: var(--ind-font-family-sans);
6
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
7
- }
8
-
9
- .pill {
10
- display: inline-flex;
11
- align-items: stretch;
12
- border-radius: var(--ind-radius-sm, 2px);
13
- overflow: hidden;
14
- font-size: var(--ind-font-size-sm, 11px);
15
- font-weight: var(--ind-font-weight-bold, 700);
16
- line-height: 1;
17
- border: 1px solid transparent;
18
- }
19
-
20
- .pill-label {
21
- padding: 3px 5px;
22
- color: var(--ind-color-palette-neutral-1000, #fff);
23
- }
24
-
25
- .pill-count {
26
- padding: 3px 6px;
27
- background: var(--ind-surface-raised);
28
- color: var(--ind-surface-text-primary);
29
- min-width: 1.2em;
30
- text-align: center;
31
- }
32
-
33
- .pill-high-high .pill-label { background: var(--ind-alarm-high-high-bg, #dc2626); }
34
- .pill-high-high { border-color: var(--ind-alarm-high-high-border, #f87171); }
35
- .pill-high .pill-label { background: var(--ind-alarm-high-bg, #f59e0b); color: var(--ind-alarm-high-fg, #000); }
36
- .pill-high { border-color: var(--ind-alarm-high-border, #fcd34d); }
37
- .pill-low .pill-label { background: var(--ind-alarm-low-bg, #0891b2); }
38
- .pill-low { border-color: var(--ind-alarm-low-border, #22d3ee); }
39
- .pill-low-low .pill-label { background: var(--ind-alarm-low-low-bg, #7c3aed); }
40
- .pill-low-low { border-color: var(--ind-alarm-low-low-border, #a78bfa); }
41
-
42
- .pill-total .pill-label { background: var(--ind-surface-border-strong, #5a6776); }
43
- .pill-total { border-color: var(--ind-surface-border-strong, #5a6776); }
@@ -1,168 +0,0 @@
1
- import { h, Host } from "@stencil/core";
2
- /**
3
- * Row of ISA-18.2 priority counters (HH / H / L / LL). Gives an at-a-glance
4
- * alarm summary for a unit or the whole plant, colored by priority.
5
- */
6
- export class IndAlarmBadgeGroup {
7
- /** High-high count. */
8
- highHigh = 0;
9
- /** High count. */
10
- high = 0;
11
- /** Low count. */
12
- low = 0;
13
- /** Low-low count. */
14
- lowLow = 0;
15
- /** Hide priorities whose count is zero. */
16
- hideZero = false;
17
- /** Append a total pill. */
18
- showTotal = false;
19
- get total() {
20
- return this.highHigh + this.high + this.low + this.lowLow;
21
- }
22
- render() {
23
- const items = [
24
- { key: 'high-high', label: 'HH', count: this.highHigh },
25
- { key: 'high', label: 'H', count: this.high },
26
- { key: 'low', label: 'L', count: this.low },
27
- { key: 'low-low', label: 'LL', count: this.lowLow },
28
- ].filter((i) => !this.hideZero || i.count > 0);
29
- return (h(Host, { key: '201a3706da7e4d7861c46d089f0640c2b9fb23f4', role: "group", "aria-label": `${this.total} active alarms` }, items.map((i) => (h("span", { class: `pill pill-${i.key}`, part: "pill", key: i.key }, h("span", { class: "pill-label", part: "pill-label" }, i.label), h("span", { class: "pill-count", part: "pill-count" }, i.count)))), this.showTotal && (h("span", { key: '12adde650a7be127226d5d65b6981008d3e72484', class: "pill pill-total", part: "total" }, h("span", { key: '624406d463a074110c7e11bb26af668e85a6ed71', class: "pill-label" }, "\u03A3"), h("span", { key: '23b0c696feb5cb9dbb38c41d9185e6f1e8c4ee4d', class: "pill-count" }, this.total)))));
30
- }
31
- static get is() { return "ind-alarm-badge-group"; }
32
- static get encapsulation() { return "shadow"; }
33
- static get originalStyleUrls() {
34
- return {
35
- "$": ["alarm-badge-group.css"]
36
- };
37
- }
38
- static get styleUrls() {
39
- return {
40
- "$": ["alarm-badge-group.css"]
41
- };
42
- }
43
- static get properties() {
44
- return {
45
- "highHigh": {
46
- "type": "number",
47
- "mutable": false,
48
- "complexType": {
49
- "original": "number",
50
- "resolved": "number",
51
- "references": {}
52
- },
53
- "required": false,
54
- "optional": false,
55
- "docs": {
56
- "tags": [],
57
- "text": "High-high count."
58
- },
59
- "getter": false,
60
- "setter": false,
61
- "reflect": false,
62
- "attribute": "high-high",
63
- "defaultValue": "0"
64
- },
65
- "high": {
66
- "type": "number",
67
- "mutable": false,
68
- "complexType": {
69
- "original": "number",
70
- "resolved": "number",
71
- "references": {}
72
- },
73
- "required": false,
74
- "optional": false,
75
- "docs": {
76
- "tags": [],
77
- "text": "High count."
78
- },
79
- "getter": false,
80
- "setter": false,
81
- "reflect": false,
82
- "attribute": "high",
83
- "defaultValue": "0"
84
- },
85
- "low": {
86
- "type": "number",
87
- "mutable": false,
88
- "complexType": {
89
- "original": "number",
90
- "resolved": "number",
91
- "references": {}
92
- },
93
- "required": false,
94
- "optional": false,
95
- "docs": {
96
- "tags": [],
97
- "text": "Low count."
98
- },
99
- "getter": false,
100
- "setter": false,
101
- "reflect": false,
102
- "attribute": "low",
103
- "defaultValue": "0"
104
- },
105
- "lowLow": {
106
- "type": "number",
107
- "mutable": false,
108
- "complexType": {
109
- "original": "number",
110
- "resolved": "number",
111
- "references": {}
112
- },
113
- "required": false,
114
- "optional": false,
115
- "docs": {
116
- "tags": [],
117
- "text": "Low-low count."
118
- },
119
- "getter": false,
120
- "setter": false,
121
- "reflect": false,
122
- "attribute": "low-low",
123
- "defaultValue": "0"
124
- },
125
- "hideZero": {
126
- "type": "boolean",
127
- "mutable": false,
128
- "complexType": {
129
- "original": "boolean",
130
- "resolved": "boolean",
131
- "references": {}
132
- },
133
- "required": false,
134
- "optional": false,
135
- "docs": {
136
- "tags": [],
137
- "text": "Hide priorities whose count is zero."
138
- },
139
- "getter": false,
140
- "setter": false,
141
- "reflect": false,
142
- "attribute": "hide-zero",
143
- "defaultValue": "false"
144
- },
145
- "showTotal": {
146
- "type": "boolean",
147
- "mutable": false,
148
- "complexType": {
149
- "original": "boolean",
150
- "resolved": "boolean",
151
- "references": {}
152
- },
153
- "required": false,
154
- "optional": false,
155
- "docs": {
156
- "tags": [],
157
- "text": "Append a total pill."
158
- },
159
- "getter": false,
160
- "setter": false,
161
- "reflect": false,
162
- "attribute": "show-total",
163
- "defaultValue": "false"
164
- }
165
- };
166
- }
167
- }
168
- //# sourceMappingURL=alarm-badge-group.js.map
@@ -1,42 +0,0 @@
1
- :host {
2
- grid-template-columns: 28px auto 1fr auto auto;
3
- }
4
-
5
- :host([acknowledged]) {
6
- opacity: 0.6;
7
- }
8
-
9
- .prio {
10
- display: inline-flex;
11
- align-items: center;
12
- justify-content: center;
13
- font-weight: var(--ind-font-weight-bold, 700);
14
- font-size: var(--ind-font-size-xs, 10px);
15
- border-radius: var(--ind-radius-sm, 2px);
16
- padding: 2px 0;
17
- color: var(--ind-color-palette-neutral-1000, #fff);
18
- }
19
-
20
- .prio-high-high { background: var(--ind-alarm-high-high-bg, #dc2626); }
21
- .prio-high { background: var(--ind-alarm-high-bg, #f59e0b); color: var(--ind-alarm-high-fg, #000); }
22
- .prio-low { background: var(--ind-alarm-low-bg, #0891b2); }
23
- .prio-low-low { background: var(--ind-alarm-low-low-bg, #7c3aed); }
24
-
25
- .acked {
26
- font-size: var(--ind-font-size-xs, 10px);
27
- color: var(--ind-state-running-bg, #16a34a);
28
- white-space: nowrap;
29
- }
30
-
31
- /* Unacknowledged high-high pulses to draw the eye. */
32
- :host([priority="high-high"]:not([acknowledged])) .prio {
33
- animation: ind-alarm-row-pulse var(--ind-motion-blink-slow, 1000ms) ease-in-out infinite;
34
- }
35
-
36
- @keyframes ind-alarm-row-pulse {
37
- 50% { opacity: 0.45; }
38
- }
39
-
40
- @media (prefers-reduced-motion: reduce) {
41
- :host([priority="high-high"]:not([acknowledged])) .prio { animation: none; }
42
- }