@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,181 +0,0 @@
1
- import { h, Host } from "@stencil/core";
2
- export class IndFillRow {
3
- /** Short ID rendered in mono (e.g. "F1", "TK-101"). */
4
- tag;
5
- /** Human description. */
6
- label;
7
- /** Current level. */
8
- value = 0;
9
- /** Max value. Default 100. */
10
- max = 100;
11
- /** Unit suffix on the numeric value (default `%`). */
12
- unit = '%';
13
- /** Drives the progress color and the severity glyph. */
14
- variant = 'default';
15
- /** Render the severity glyph between the value and the actions. */
16
- severity = false;
17
- render() {
18
- return (h(Host, { key: 'cb80dcf8705dc03c77b6e18541bff34d4d332f51' }, this.tag && h("span", { key: 'd891414706180ae57bf6851a2a0ecab41b645412', class: "tag", part: "tag" }, this.tag), h("span", { key: '956eae765526cf44507c26b3bb4106e807f83b10', class: "label", part: "label" }, this.label), h("ind-progress", { key: '512e89f8f4e0472222b89a17fcbc25537f7f0a30', class: "progress", part: "progress", value: this.value, max: this.max, variant: this.variant, size: "sm" }), h("span", { key: '75126140321428ea001d2ee7403dd539c67261ff', class: "value", part: "value" }, Math.round(this.value), this.unit ? ' ' + this.unit : ''), this.severity && (h("span", { key: '0c163111da1a1217141a17b6fae5798df43a8966', class: "severity", part: "severity", "aria-hidden": "true" }, "\u26A0")), h("span", { key: 'e7b13297ff9c092c13dc17d1fee1c72252571829', class: "actions", part: "actions" }, h("slot", { key: '689279b59b375558bff4032d6a2f60c928fa4744' }))));
19
- }
20
- static get is() { return "ind-fill-row"; }
21
- static get encapsulation() { return "shadow"; }
22
- static get originalStyleUrls() {
23
- return {
24
- "$": ["fill-row.css"]
25
- };
26
- }
27
- static get styleUrls() {
28
- return {
29
- "$": ["fill-row.css"]
30
- };
31
- }
32
- static get properties() {
33
- return {
34
- "tag": {
35
- "type": "string",
36
- "mutable": false,
37
- "complexType": {
38
- "original": "string",
39
- "resolved": "string | undefined",
40
- "references": {}
41
- },
42
- "required": false,
43
- "optional": true,
44
- "docs": {
45
- "tags": [],
46
- "text": "Short ID rendered in mono (e.g. \"F1\", \"TK-101\")."
47
- },
48
- "getter": false,
49
- "setter": false,
50
- "reflect": false,
51
- "attribute": "tag"
52
- },
53
- "label": {
54
- "type": "string",
55
- "mutable": false,
56
- "complexType": {
57
- "original": "string",
58
- "resolved": "string",
59
- "references": {}
60
- },
61
- "required": true,
62
- "optional": false,
63
- "docs": {
64
- "tags": [],
65
- "text": "Human description."
66
- },
67
- "getter": false,
68
- "setter": false,
69
- "reflect": false,
70
- "attribute": "label"
71
- },
72
- "value": {
73
- "type": "number",
74
- "mutable": false,
75
- "complexType": {
76
- "original": "number",
77
- "resolved": "number",
78
- "references": {}
79
- },
80
- "required": false,
81
- "optional": false,
82
- "docs": {
83
- "tags": [],
84
- "text": "Current level."
85
- },
86
- "getter": false,
87
- "setter": false,
88
- "reflect": false,
89
- "attribute": "value",
90
- "defaultValue": "0"
91
- },
92
- "max": {
93
- "type": "number",
94
- "mutable": false,
95
- "complexType": {
96
- "original": "number",
97
- "resolved": "number",
98
- "references": {}
99
- },
100
- "required": false,
101
- "optional": false,
102
- "docs": {
103
- "tags": [],
104
- "text": "Max value. Default 100."
105
- },
106
- "getter": false,
107
- "setter": false,
108
- "reflect": false,
109
- "attribute": "max",
110
- "defaultValue": "100"
111
- },
112
- "unit": {
113
- "type": "string",
114
- "mutable": false,
115
- "complexType": {
116
- "original": "string",
117
- "resolved": "string",
118
- "references": {}
119
- },
120
- "required": false,
121
- "optional": false,
122
- "docs": {
123
- "tags": [],
124
- "text": "Unit suffix on the numeric value (default `%`)."
125
- },
126
- "getter": false,
127
- "setter": false,
128
- "reflect": false,
129
- "attribute": "unit",
130
- "defaultValue": "'%'"
131
- },
132
- "variant": {
133
- "type": "string",
134
- "mutable": false,
135
- "complexType": {
136
- "original": "FillRowVariant",
137
- "resolved": "\"default\" | \"error\" | \"success\" | \"warning\"",
138
- "references": {
139
- "FillRowVariant": {
140
- "location": "local",
141
- "path": "/home/runner/work/ind-ds/ind-ds/packages/core/src/components/molecules/fill-row/fill-row.tsx",
142
- "id": "src/components/molecules/fill-row/fill-row.tsx::FillRowVariant"
143
- }
144
- }
145
- },
146
- "required": false,
147
- "optional": false,
148
- "docs": {
149
- "tags": [],
150
- "text": "Drives the progress color and the severity glyph."
151
- },
152
- "getter": false,
153
- "setter": false,
154
- "reflect": true,
155
- "attribute": "variant",
156
- "defaultValue": "'default'"
157
- },
158
- "severity": {
159
- "type": "boolean",
160
- "mutable": false,
161
- "complexType": {
162
- "original": "boolean",
163
- "resolved": "boolean",
164
- "references": {}
165
- },
166
- "required": false,
167
- "optional": false,
168
- "docs": {
169
- "tags": [],
170
- "text": "Render the severity glyph between the value and the actions."
171
- },
172
- "getter": false,
173
- "setter": false,
174
- "reflect": false,
175
- "attribute": "severity",
176
- "defaultValue": "false"
177
- }
178
- };
179
- }
180
- }
181
- //# sourceMappingURL=fill-row.js.map
@@ -1,53 +0,0 @@
1
- :host {
2
- display: flex;
3
- flex-direction: column;
4
- gap: var(--ind-spacing-3, 6px);
5
- padding: var(--ind-spacing-5, 12px);
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
- min-width: 160px;
12
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
13
- }
14
-
15
- .title {
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
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
21
- }
22
-
23
- .status {
24
- display: flex;
25
- align-items: center;
26
- gap: var(--ind-spacing-3, 6px);
27
- }
28
-
29
- .state-label {
30
- font-size: var(--ind-font-size-xl, 16px);
31
- font-weight: var(--ind-font-weight-semibold, 600);
32
- line-height: 1;
33
- }
34
-
35
- .detail {
36
- font-size: var(--ind-font-size-sm, 11px);
37
- color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
38
- }
39
-
40
- /* Bold colored label per state — matches the dot color so the card
41
- * reads at a glance across a 4-up grid. */
42
- :host([state="running"]) .state-label { color: var(--ind-state-running-bg, #16a34a); }
43
- :host([state="fault"]) .state-label { color: var(--ind-state-fault-bg, #dc2626); }
44
- :host([state="warning"]) .state-label { color: var(--ind-state-warning-bg, #f59e0b); }
45
- :host([state="maintenance"]) .state-label { color: var(--ind-state-maintenance-bg, #2563eb); }
46
- :host([state="stopped"]) .state-label { color: var(--ind-surface-text-secondary); }
47
- :host([state="unknown"]) .state-label { color: var(--ind-surface-text-muted); }
48
-
49
- /* Fault card glows subtly as a visual cue, even without blinking. */
50
- :host([state="fault"]) {
51
- border-color: var(--ind-state-fault-bg, #dc2626);
52
- box-shadow: 0 0 0 1px color-mix(in srgb, var(--ind-state-fault-bg, #dc2626) 30%, transparent);
53
- }
@@ -1,124 +0,0 @@
1
- import { h, Host } from "@stencil/core";
2
- const DEFAULT_LABEL = {
3
- running: 'OK',
4
- stopped: 'Stopped',
5
- fault: 'Fault',
6
- warning: 'Warning',
7
- maintenance: 'Maintenance',
8
- unknown: '—',
9
- };
10
- export class IndHealthCard {
11
- /** Subsystem name (e.g. "PLC", "Dispense robot", "Washer"). */
12
- heading;
13
- /** Process state — drives the dot color and the prominent text color. */
14
- state = 'unknown';
15
- /** Override the default label (e.g. show "RUN 24 h" instead of "OK"). */
16
- stateLabel;
17
- /** Optional sub-line for context (timestamp, last error, etc.). */
18
- detail;
19
- render() {
20
- const label = this.stateLabel ?? DEFAULT_LABEL[this.state];
21
- const dotState = this.state === 'unknown' ? 'neutral' : this.state;
22
- return (h(Host, { key: '8bcd20c7ae26a39c6627aa547ce01d12d53bdb8e', role: "group", "aria-label": `${this.heading}: ${label}`, "aria-live": this.state === 'fault' ? 'assertive' : 'polite' }, h("div", { key: 'eee5962658e3ddb193ad613083535b1101cc7770', class: "title", part: "title" }, this.heading), h("div", { key: '2ab1426acd7f2863bb4b2832847b68ff9d0e4d33', class: "status", part: "status" }, h("ind-status-dot", { key: 'b09a658e623532ee3a5b6f72f94e27d01849ef5c', state: dotState, size: "md" }), h("span", { key: '365c3e7a25f850174caa59a7efad2f4df9996946', class: "state-label", part: "state-label" }, label)), this.detail && h("div", { key: '7c35221f76e00d7d0223b3c3e89795ae9a3721ce', class: "detail", part: "detail" }, this.detail)));
23
- }
24
- static get is() { return "ind-health-card"; }
25
- static get encapsulation() { return "shadow"; }
26
- static get originalStyleUrls() {
27
- return {
28
- "$": ["health-card.css"]
29
- };
30
- }
31
- static get styleUrls() {
32
- return {
33
- "$": ["health-card.css"]
34
- };
35
- }
36
- static get properties() {
37
- return {
38
- "heading": {
39
- "type": "string",
40
- "mutable": false,
41
- "complexType": {
42
- "original": "string",
43
- "resolved": "string",
44
- "references": {}
45
- },
46
- "required": true,
47
- "optional": false,
48
- "docs": {
49
- "tags": [],
50
- "text": "Subsystem name (e.g. \"PLC\", \"Dispense robot\", \"Washer\")."
51
- },
52
- "getter": false,
53
- "setter": false,
54
- "reflect": false,
55
- "attribute": "heading"
56
- },
57
- "state": {
58
- "type": "string",
59
- "mutable": false,
60
- "complexType": {
61
- "original": "HealthState",
62
- "resolved": "\"fault\" | \"maintenance\" | \"running\" | \"stopped\" | \"unknown\" | \"warning\"",
63
- "references": {
64
- "HealthState": {
65
- "location": "local",
66
- "path": "/home/runner/work/ind-ds/ind-ds/packages/core/src/components/molecules/health-card/health-card.tsx",
67
- "id": "src/components/molecules/health-card/health-card.tsx::HealthState"
68
- }
69
- }
70
- },
71
- "required": false,
72
- "optional": false,
73
- "docs": {
74
- "tags": [],
75
- "text": "Process state \u2014 drives the dot color and the prominent text color."
76
- },
77
- "getter": false,
78
- "setter": false,
79
- "reflect": true,
80
- "attribute": "state",
81
- "defaultValue": "'unknown'"
82
- },
83
- "stateLabel": {
84
- "type": "string",
85
- "mutable": false,
86
- "complexType": {
87
- "original": "string",
88
- "resolved": "string | undefined",
89
- "references": {}
90
- },
91
- "required": false,
92
- "optional": true,
93
- "docs": {
94
- "tags": [],
95
- "text": "Override the default label (e.g. show \"RUN 24 h\" instead of \"OK\")."
96
- },
97
- "getter": false,
98
- "setter": false,
99
- "reflect": false,
100
- "attribute": "state-label"
101
- },
102
- "detail": {
103
- "type": "string",
104
- "mutable": false,
105
- "complexType": {
106
- "original": "string",
107
- "resolved": "string | undefined",
108
- "references": {}
109
- },
110
- "required": false,
111
- "optional": true,
112
- "docs": {
113
- "tags": [],
114
- "text": "Optional sub-line for context (timestamp, last error, etc.)."
115
- },
116
- "getter": false,
117
- "setter": false,
118
- "reflect": false,
119
- "attribute": "detail"
120
- }
121
- };
122
- }
123
- }
124
- //# sourceMappingURL=health-card.js.map
@@ -1,28 +0,0 @@
1
- :host {
2
- grid-template-columns: 1fr auto auto;
3
- }
4
-
5
- .value {
6
- font-family: var(--ind-font-family-mono);
7
- font-weight: var(--ind-font-weight-medium, 500);
8
- text-align: right;
9
- }
10
-
11
- .unit {
12
- color: var(--ind-surface-text-secondary);
13
- font-weight: var(--ind-font-weight-regular, 400);
14
- }
15
-
16
- .quality {
17
- font-size: var(--ind-font-size-xs, 10px);
18
- font-weight: var(--ind-font-weight-bold, 700);
19
- text-transform: uppercase;
20
- letter-spacing: 0.04em;
21
- padding: 1px 5px;
22
- border-radius: var(--ind-radius-sm, 2px);
23
- white-space: nowrap;
24
- }
25
-
26
- .quality-good { color: var(--ind-state-running-bg, #16a34a); background: color-mix(in srgb, var(--ind-state-running-bg, #16a34a) 16%, transparent); }
27
- .quality-uncertain { color: var(--ind-state-warning-bg, #f59e0b); background: color-mix(in srgb, var(--ind-state-warning-bg, #f59e0b) 16%, transparent); }
28
- .quality-bad { color: var(--ind-state-fault-bg, #dc2626); background: color-mix(in srgb, var(--ind-state-fault-bg, #dc2626) 16%, transparent); }
@@ -1,153 +0,0 @@
1
- import { h, Host } from "@stencil/core";
2
- const QUALITY_LABEL = {
3
- good: 'Good',
4
- uncertain: 'Uncertain',
5
- bad: 'Bad',
6
- };
7
- /**
8
- * One sample in a historical / trend table: timestamp, value with unit and an
9
- * OPC-style data quality flag. Read-only.
10
- */
11
- export class IndHistoricalValueRow {
12
- /** Pre-formatted timestamp. */
13
- time;
14
- /** Sample value. */
15
- value;
16
- /** Engineering unit. */
17
- unit;
18
- /** Decimal places when numeric. */
19
- precision;
20
- /** Data quality flag. */
21
- quality = 'good';
22
- formatted() {
23
- if (typeof this.value === 'string')
24
- return this.value;
25
- if (!Number.isFinite(this.value))
26
- return '--';
27
- if (this.precision !== undefined)
28
- return this.value.toFixed(this.precision);
29
- return String(this.value);
30
- }
31
- render() {
32
- return (h(Host, { key: '0f9964bb0b57a48ec321af617c73c49bbdba379f', role: "row", "aria-label": `${this.time}: ${this.formatted()} ${this.unit ?? ''}, ${QUALITY_LABEL[this.quality]}` }, h("span", { key: '17f0412c066e28d2c00c8a87296aeb0898b4e1b0', class: "time", part: "time" }, this.time), h("span", { key: '01a0b99d35321fe7fbc2579b75dc34b438aa695b', class: "value", part: "value" }, this.formatted(), this.unit && h("span", { key: 'b778bcf0adcf60bd0c6826bc886b31a2dfc1e92b', class: "unit", part: "unit" }, " ", this.unit)), h("span", { key: '9145c8be49a4e8f4f8f000a0888a61fe06858dfa', class: `quality quality-${this.quality}`, part: "quality" }, QUALITY_LABEL[this.quality])));
33
- }
34
- static get is() { return "ind-historical-value-row"; }
35
- static get encapsulation() { return "shadow"; }
36
- static get originalStyleUrls() {
37
- return {
38
- "$": ["../_shared/row.css", "historical-value-row.css"]
39
- };
40
- }
41
- static get styleUrls() {
42
- return {
43
- "$": ["../_shared/row.css", "historical-value-row.css"]
44
- };
45
- }
46
- static get properties() {
47
- return {
48
- "time": {
49
- "type": "string",
50
- "mutable": false,
51
- "complexType": {
52
- "original": "string",
53
- "resolved": "string",
54
- "references": {}
55
- },
56
- "required": true,
57
- "optional": false,
58
- "docs": {
59
- "tags": [],
60
- "text": "Pre-formatted timestamp."
61
- },
62
- "getter": false,
63
- "setter": false,
64
- "reflect": false,
65
- "attribute": "time"
66
- },
67
- "value": {
68
- "type": "any",
69
- "mutable": false,
70
- "complexType": {
71
- "original": "number | string",
72
- "resolved": "number | string",
73
- "references": {}
74
- },
75
- "required": true,
76
- "optional": false,
77
- "docs": {
78
- "tags": [],
79
- "text": "Sample value."
80
- },
81
- "getter": false,
82
- "setter": false,
83
- "reflect": false,
84
- "attribute": "value"
85
- },
86
- "unit": {
87
- "type": "string",
88
- "mutable": false,
89
- "complexType": {
90
- "original": "string",
91
- "resolved": "string | undefined",
92
- "references": {}
93
- },
94
- "required": false,
95
- "optional": true,
96
- "docs": {
97
- "tags": [],
98
- "text": "Engineering unit."
99
- },
100
- "getter": false,
101
- "setter": false,
102
- "reflect": false,
103
- "attribute": "unit"
104
- },
105
- "precision": {
106
- "type": "number",
107
- "mutable": false,
108
- "complexType": {
109
- "original": "number",
110
- "resolved": "number | undefined",
111
- "references": {}
112
- },
113
- "required": false,
114
- "optional": true,
115
- "docs": {
116
- "tags": [],
117
- "text": "Decimal places when numeric."
118
- },
119
- "getter": false,
120
- "setter": false,
121
- "reflect": false,
122
- "attribute": "precision"
123
- },
124
- "quality": {
125
- "type": "string",
126
- "mutable": false,
127
- "complexType": {
128
- "original": "DataQuality",
129
- "resolved": "\"bad\" | \"good\" | \"uncertain\"",
130
- "references": {
131
- "DataQuality": {
132
- "location": "local",
133
- "path": "/home/runner/work/ind-ds/ind-ds/packages/core/src/components/molecules/historical-value-row/historical-value-row.tsx",
134
- "id": "src/components/molecules/historical-value-row/historical-value-row.tsx::DataQuality"
135
- }
136
- }
137
- },
138
- "required": false,
139
- "optional": false,
140
- "docs": {
141
- "tags": [],
142
- "text": "Data quality flag."
143
- },
144
- "getter": false,
145
- "setter": false,
146
- "reflect": true,
147
- "attribute": "quality",
148
- "defaultValue": "'good'"
149
- }
150
- };
151
- }
152
- }
153
- //# sourceMappingURL=historical-value-row.js.map
@@ -1,31 +0,0 @@
1
- :host {
2
- min-width: 150px;
3
- }
4
-
5
- .readout {
6
- display: flex;
7
- align-items: baseline;
8
- gap: var(--ind-spacing-2, 4px);
9
- }
10
-
11
- .number {
12
- font-size: var(--ind-font-size-3xl, 28px);
13
- font-weight: var(--ind-font-weight-bold, 700);
14
- line-height: 1;
15
- }
16
-
17
- .unit {
18
- font-size: var(--ind-font-size-lg, 14px);
19
- color: var(--ind-surface-text-secondary);
20
- }
21
-
22
- .delta {
23
- display: flex;
24
- align-items: center;
25
- gap: var(--ind-spacing-2, 4px);
26
- font-size: var(--ind-font-size-sm, 11px);
27
- color: var(--ind-surface-text-muted);
28
- }
29
-
30
- :host([variant="good"]) .delta { color: var(--ind-state-running-bg, #16a34a); }
31
- :host([variant="bad"]) .delta { color: var(--ind-state-fault-bg, #dc2626); }
@@ -1,4 +0,0 @@
1
- :host {
2
- min-width: 180px;
3
- align-items: flex-start;
4
- }
@@ -1,3 +0,0 @@
1
- :host {
2
- min-width: 200px;
3
- }
@@ -1,3 +0,0 @@
1
- :host {
2
- min-width: 220px;
3
- }
@@ -1,82 +0,0 @@
1
- :host {
2
- display: block;
3
- font-family: var(--ind-font-family-sans);
4
- }
5
-
6
- .item {
7
- position: relative;
8
- display: flex;
9
- align-items: center;
10
- gap: var(--ind-spacing-3, 6px);
11
- width: 100%;
12
- height: var(--ind-nav-item-height, 38px);
13
- padding: 0 var(--ind-spacing-5, 12px);
14
- background: transparent;
15
- border: none;
16
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
17
- font: inherit;
18
- font-size: var(--ind-font-size-base, 12px);
19
- text-align: left;
20
- text-decoration: none;
21
- cursor: pointer;
22
- user-select: none;
23
- box-sizing: border-box;
24
- transition:
25
- background-color var(--ind-motion-duration-fast, 120ms),
26
- color var(--ind-motion-duration-fast, 120ms);
27
- }
28
-
29
- .indicator {
30
- width: 10px;
31
- font-size: 9px;
32
- color: var(--ind-feedback-info-bg, #0891b2);
33
- opacity: 0;
34
- transition: opacity var(--ind-motion-duration-fast, 120ms);
35
- text-align: center;
36
- }
37
-
38
- .content {
39
- flex: 1;
40
- overflow: hidden;
41
- text-overflow: ellipsis;
42
- white-space: nowrap;
43
- }
44
-
45
- .badge {
46
- font-size: var(--ind-font-size-xs, 10px);
47
- font-family: var(--ind-font-family-mono);
48
- font-weight: var(--ind-font-weight-bold, 700);
49
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
50
- padding: 1px var(--ind-spacing-2, 4px);
51
- min-width: 16px;
52
- text-align: center;
53
- border-radius: var(--ind-radius-sm, 2px);
54
- background: var(--ind-feedback-error-bg, #dc2626);
55
- color: var(--ind-feedback-error-fg, #ffffff);
56
- line-height: 1.2;
57
- }
58
-
59
- .item:hover:not(:disabled):not([aria-disabled="true"]) {
60
- background: var(--ind-surface-raised);
61
- color: var(--ind-surface-text-primary);
62
- }
63
-
64
- .item:focus-visible {
65
- outline: 2px solid var(--ind-surface-focus-ring, #22d3ee);
66
- outline-offset: -2px;
67
- }
68
-
69
- :host([active]) .item {
70
- background: var(--ind-surface-raised);
71
- color: var(--ind-surface-text-primary);
72
- font-weight: var(--ind-font-weight-semibold, 600);
73
- }
74
-
75
- :host([active]) .indicator {
76
- opacity: 1;
77
- }
78
-
79
- :host([disabled]) {
80
- opacity: 0.4;
81
- pointer-events: none;
82
- }