@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,87 +0,0 @@
1
- :host {
2
- display: block;
3
- font-family: var(--ind-font-family-sans, system-ui, sans-serif);
4
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
5
- --_track-h: 4px;
6
- --_thumb: 14px;
7
- --_accent: var(--ind-button-primary-bg, #2563eb);
8
- }
9
-
10
- :host([size="sm"]) { --_track-h: 3px; --_thumb: 11px; }
11
- :host([size="lg"]) { --_track-h: 6px; --_thumb: 18px; }
12
-
13
- .header {
14
- display: flex;
15
- justify-content: space-between;
16
- align-items: baseline;
17
- gap: var(--ind-spacing-3, 6px);
18
- margin-bottom: var(--ind-spacing-2, 4px);
19
- font-size: var(--ind-font-size-base, 12px);
20
- }
21
-
22
- .label { color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2)); }
23
-
24
- .value {
25
- font-family: var(--ind-font-family-mono, ui-monospace, monospace);
26
- font-weight: var(--ind-font-weight-semibold, 600);
27
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
28
- }
29
-
30
- .range {
31
- -webkit-appearance: none;
32
- appearance: none;
33
- width: 100%;
34
- height: var(--_thumb);
35
- background: transparent;
36
- cursor: pointer;
37
- margin: 0;
38
- }
39
-
40
- .range:disabled { cursor: not-allowed; opacity: 0.5; }
41
-
42
- /* WebKit */
43
- .range::-webkit-slider-runnable-track {
44
- height: var(--_track-h);
45
- border-radius: var(--ind-radius-full, 9999px);
46
- background: linear-gradient(
47
- to right,
48
- var(--_accent) 0 var(--_pct, 0%),
49
- var(--ind-surface-border-default, #2a3340) var(--_pct, 0%) 100%
50
- );
51
- }
52
- .range::-webkit-slider-thumb {
53
- -webkit-appearance: none;
54
- appearance: none;
55
- width: var(--_thumb);
56
- height: var(--_thumb);
57
- margin-top: calc((var(--_track-h) - var(--_thumb)) / 2);
58
- border-radius: 50%;
59
- background: #fff;
60
- border: 2px solid var(--_accent);
61
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
62
- }
63
-
64
- /* Firefox */
65
- .range::-moz-range-track {
66
- height: var(--_track-h);
67
- border-radius: var(--ind-radius-full, 9999px);
68
- background: var(--ind-surface-border-default, #2a3340);
69
- }
70
- .range::-moz-range-progress {
71
- height: var(--_track-h);
72
- border-radius: var(--ind-radius-full, 9999px);
73
- background: var(--_accent);
74
- }
75
- .range::-moz-range-thumb {
76
- width: var(--_thumb);
77
- height: var(--_thumb);
78
- border-radius: 50%;
79
- background: #fff;
80
- border: 2px solid var(--_accent);
81
- }
82
-
83
- .range:focus-visible {
84
- outline: 2px solid var(--ind-surface-focus-ring, #67e8f9);
85
- outline-offset: 4px;
86
- border-radius: var(--ind-radius-sm, 2px);
87
- }
@@ -1,37 +0,0 @@
1
- :host {
2
- display: inline-block;
3
- width: var(--ind-sparkline-width, 100px);
4
- height: var(--ind-sparkline-height, 28px);
5
- --_stroke: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
6
- }
7
-
8
- :host([variant="running"]) { --_stroke: var(--ind-state-running-bg, #16a34a); }
9
- :host([variant="warning"]) { --_stroke: var(--ind-state-warning-bg, #f59e0b); }
10
- :host([variant="fault"]) { --_stroke: var(--ind-state-fault-bg, #dc2626); }
11
-
12
- .chart {
13
- display: block;
14
- width: 100%;
15
- height: 100%;
16
- overflow: visible;
17
- }
18
-
19
- .line {
20
- fill: none;
21
- stroke: var(--_stroke);
22
- stroke-width: 1.5;
23
- stroke-linejoin: round;
24
- stroke-linecap: round;
25
- vector-effect: non-scaling-stroke;
26
- }
27
-
28
- .fill {
29
- fill: color-mix(in srgb, var(--_stroke) 18%, transparent);
30
- stroke: none;
31
- }
32
-
33
- .dot {
34
- fill: var(--_stroke);
35
- stroke: var(--ind-surface-panel, #11161c);
36
- stroke-width: 1;
37
- }
@@ -1,69 +0,0 @@
1
- :host {
2
- display: inline-block;
3
- --_size: 8px;
4
- --_bg: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
5
- --_glow: transparent;
6
-
7
- width: var(--_size);
8
- height: var(--_size);
9
- border-radius: 50%;
10
- background: var(--_bg);
11
- box-shadow: 0 0 6px var(--_glow);
12
- flex-shrink: 0;
13
- vertical-align: middle;
14
- }
15
-
16
- :host([size="sm"]) { --_size: 6px; }
17
- :host([size="md"]) { --_size: 8px; }
18
- :host([size="lg"]) { --_size: 12px; }
19
-
20
- :host([state="running"]) {
21
- --_bg: var(--ind-state-running-bg, #16a34a);
22
- --_glow: var(--ind-state-running-glow, rgba(34, 197, 94, 0.6));
23
- }
24
- :host([state="stopped"]) {
25
- --_bg: var(--ind-state-stopped-bg, #5a6776);
26
- }
27
- :host([state="fault"]) {
28
- --_bg: var(--ind-state-fault-bg, #dc2626);
29
- --_glow: var(--ind-state-fault-glow, rgba(220, 38, 38, 0.7));
30
- }
31
- :host([state="warning"]) {
32
- --_bg: var(--ind-state-warning-bg, #f59e0b);
33
- --_glow: var(--ind-state-warning-glow, rgba(245, 158, 11, 0.6));
34
- }
35
- :host([state="maintenance"]) {
36
- --_bg: var(--ind-state-maintenance-bg, #2563eb);
37
- --_glow: var(--ind-state-maintenance-glow, rgba(37, 99, 235, 0.6));
38
- }
39
- :host([state="success"]) {
40
- --_bg: var(--ind-feedback-success-bg, #16a34a);
41
- --_glow: rgba(34, 197, 94, 0.5);
42
- }
43
- :host([state="info"]) {
44
- --_bg: var(--ind-feedback-info-bg, #0891b2);
45
- --_glow: rgba(8, 145, 178, 0.5);
46
- }
47
- :host([state="error"]) {
48
- --_bg: var(--ind-feedback-error-bg, #dc2626);
49
- --_glow: rgba(220, 38, 38, 0.6);
50
- }
51
- :host([state="neutral"]) {
52
- --_bg: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
53
- }
54
-
55
- :host([blinking]) {
56
- animation: ind-status-dot-blink var(--ind-motion-blink-fast, 400ms) steps(2, end) infinite;
57
- }
58
-
59
- @keyframes ind-status-dot-blink {
60
- 50% { opacity: 0.3; box-shadow: none; }
61
- }
62
-
63
- @media (prefers-reduced-motion: reduce) {
64
- :host([blinking]) {
65
- animation: none;
66
- outline: 2px solid currentColor;
67
- outline-offset: 2px;
68
- }
69
- }
@@ -1,39 +0,0 @@
1
- :host {
2
- display: inline-flex;
3
- }
4
-
5
- .tab {
6
- appearance: none;
7
- display: inline-flex;
8
- align-items: center;
9
- gap: var(--ind-spacing-3, 6px);
10
- padding: var(--ind-spacing-3, 6px) var(--ind-spacing-5, 12px);
11
- border: none;
12
- border-bottom: 2px solid transparent;
13
- background: none;
14
- cursor: pointer;
15
- font-family: var(--ind-font-family-sans, system-ui, sans-serif);
16
- font-size: var(--ind-font-size-base, 12px);
17
- font-weight: var(--ind-font-weight-medium, 500);
18
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
19
- transition: color var(--ind-motion-duration-fast, 120ms) ease, border-color var(--ind-motion-duration-fast, 120ms) ease;
20
- }
21
-
22
- .tab:hover:not(:disabled) { color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5)); }
23
-
24
- .tab:focus-visible {
25
- outline: 2px solid var(--ind-surface-focus-ring, #67e8f9);
26
- outline-offset: -2px;
27
- }
28
-
29
- :host([selected]) .tab {
30
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
31
- border-bottom-color: var(--ind-button-primary-bg, #2563eb);
32
- font-weight: var(--ind-font-weight-semibold, 600);
33
- }
34
-
35
- :host([disabled]) .tab { opacity: 0.5; cursor: not-allowed; }
36
-
37
- .icon:empty, .badge:empty { display: none; }
38
-
39
- .icon, .badge { display: inline-flex; align-items: center; }
@@ -1,25 +0,0 @@
1
- :host {
2
- display: inline-flex;
3
- --_size: var(--ind-font-size-base, 12px);
4
- }
5
-
6
- :host([size="sm"]) { --_size: var(--ind-font-size-sm, 11px); }
7
- :host([size="md"]) { --_size: var(--ind-font-size-base, 12px); }
8
- :host([size="lg"]) { --_size: var(--ind-font-size-lg, 14px); }
9
-
10
- .tag {
11
- font-family: var(--ind-font-family-mono, ui-monospace, monospace);
12
- font-size: var(--_size);
13
- font-weight: var(--ind-font-weight-semibold, 600);
14
- letter-spacing: 0.01em;
15
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
16
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
17
- white-space: nowrap;
18
- }
19
-
20
- :host([boxed]) .tag {
21
- padding: 1px var(--ind-spacing-3, 6px);
22
- border: 1px solid var(--ind-surface-border-strong, #5a6776);
23
- border-radius: var(--ind-radius-sm, 2px);
24
- background: var(--ind-surface-sunken, light-dark(#fff, #000));
25
- }
@@ -1,12 +0,0 @@
1
- .liquid {
2
- fill: var(--ind-state-maintenance-bg, #2563eb);
3
- transition: y var(--ind-motion-duration-base, 200ms) var(--ind-motion-easing-standard, ease),
4
- height var(--ind-motion-duration-base, 200ms) var(--ind-motion-easing-standard, ease);
5
- }
6
-
7
- :host([alarm="high"]) .liquid { fill: var(--ind-state-fault-bg, #dc2626); }
8
- :host([alarm="low"]) .liquid { fill: var(--ind-state-warning-bg, #f59e0b); }
9
-
10
- .body {
11
- fill: none;
12
- }
@@ -1,74 +0,0 @@
1
- :host {
2
- display: inline-block;
3
- width: 100%;
4
- font-family: var(--ind-font-family-sans);
5
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
6
- }
7
-
8
- .wrap {
9
- display: flex;
10
- flex-direction: column;
11
- gap: var(--ind-spacing-2, 4px);
12
- }
13
-
14
- .label {
15
- font-size: var(--ind-font-size-sm, 11px);
16
- font-weight: var(--ind-font-weight-medium, 500);
17
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
18
- letter-spacing: 0.04em;
19
- text-transform: uppercase;
20
- }
21
-
22
- .textarea {
23
- width: 100%;
24
- box-sizing: border-box;
25
- padding: var(--ind-spacing-3, 6px) var(--ind-spacing-4, 8px);
26
- background: var(--ind-surface-sunken, light-dark(#ffffff, #000000));
27
- border: 1px solid var(--ind-surface-border-default, #2a3340);
28
- border-radius: var(--ind-radius-md, 3px);
29
- font-family: inherit;
30
- font-size: var(--ind-font-size-base, 12px);
31
- line-height: var(--ind-font-line-height-normal, 1.4);
32
- color: inherit;
33
- resize: vertical;
34
- outline: none;
35
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
36
- transition:
37
- border-color var(--ind-motion-duration-fast, 120ms),
38
- box-shadow var(--ind-motion-duration-fast, 120ms);
39
- }
40
-
41
- .textarea:focus {
42
- border-color: var(--ind-surface-focus-ring, #22d3ee);
43
- box-shadow: 0 0 0 2px color-mix(in srgb, var(--ind-surface-focus-ring, #22d3ee) 35%, transparent);
44
- }
45
-
46
- .textarea::placeholder {
47
- color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
48
- opacity: 1;
49
- }
50
-
51
- :host([variant="mono"]) .textarea {
52
- font-family: var(--ind-font-family-mono);
53
- font-size: var(--ind-font-size-sm, 11px);
54
- line-height: var(--ind-font-line-height-tight, 1.4);
55
- background: var(--ind-color-palette-neutral-0, #000000);
56
- color: var(--ind-color-palette-neutral-800, #d0d7e0);
57
- border-color: var(--ind-surface-border-strong, #5a6776);
58
- }
59
-
60
- :host([invalid]) .textarea {
61
- border-color: var(--ind-feedback-error-bg, #dc2626);
62
- }
63
- :host([invalid]) .textarea:focus {
64
- box-shadow: 0 0 0 2px color-mix(in srgb, var(--ind-feedback-error-bg, #dc2626) 40%, transparent);
65
- }
66
-
67
- :host([readonly]) .textarea {
68
- cursor: default;
69
- }
70
-
71
- :host([disabled]) {
72
- opacity: 0.55;
73
- pointer-events: none;
74
- }
@@ -1,15 +0,0 @@
1
- :host {
2
- display: inline;
3
- }
4
-
5
- .ts {
6
- font-family: var(--ind-font-family-mono, ui-monospace, monospace);
7
- font-size: var(--ind-font-size-sm, 11px);
8
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
9
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
10
- white-space: nowrap;
11
- }
12
-
13
- :host([format="relative"]) .ts {
14
- font-family: var(--ind-font-family-sans, system-ui, sans-serif);
15
- }
@@ -1,78 +0,0 @@
1
- :host {
2
- display: inline-flex;
3
- --_w: 36px;
4
- --_h: 18px;
5
- --_pad: 2px;
6
- }
7
-
8
- :host([size="sm"]) { --_w: 28px; --_h: 14px; }
9
- :host([size="lg"]) { --_w: 46px; --_h: 24px; }
10
-
11
- .control {
12
- display: inline-flex;
13
- align-items: center;
14
- gap: var(--ind-spacing-3, 6px);
15
- padding: 0;
16
- margin: 0;
17
- border: none;
18
- background: none;
19
- cursor: pointer;
20
- font-family: var(--ind-font-family-sans, system-ui, sans-serif);
21
- font-size: var(--ind-font-size-base, 12px);
22
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
23
- }
24
-
25
- .control:disabled { cursor: not-allowed; opacity: 0.5; }
26
-
27
- .track {
28
- position: relative;
29
- display: inline-flex;
30
- align-items: center;
31
- width: var(--_w);
32
- height: var(--_h);
33
- background: var(--ind-state-stopped-bg, #5a6776);
34
- border: 1px solid var(--ind-surface-border-strong, #5a6776);
35
- border-radius: var(--ind-radius-full, 9999px);
36
- transition: background-color var(--ind-motion-duration-base, 200ms) var(--ind-motion-easing-standard, ease);
37
- }
38
-
39
- .thumb {
40
- position: absolute;
41
- top: 50%;
42
- left: var(--_pad);
43
- transform: translateY(-50%);
44
- width: calc(var(--_h) - var(--_pad) * 2);
45
- height: calc(var(--_h) - var(--_pad) * 2);
46
- background: #fff;
47
- border-radius: 50%;
48
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
49
- transition: left var(--ind-motion-duration-base, 200ms) var(--ind-motion-easing-standard, ease);
50
- }
51
-
52
- .text {
53
- flex: 1;
54
- text-align: center;
55
- font-size: 8px;
56
- font-weight: var(--ind-font-weight-bold, 700);
57
- text-transform: uppercase;
58
- color: var(--ind-surface-text-inverse, #f4f6f8);
59
- padding: 0 4px;
60
- }
61
-
62
- :host([checked]) .track {
63
- background: var(--ind-state-running-bg, #16a34a);
64
- border-color: var(--ind-state-running-border, #4ade80);
65
- }
66
-
67
- :host([checked]) .thumb {
68
- left: calc(100% - var(--_h) + var(--_pad));
69
- }
70
-
71
- .control:focus-visible .track {
72
- outline: 2px solid var(--ind-surface-focus-ring, #67e8f9);
73
- outline-offset: 2px;
74
- }
75
-
76
- @media (prefers-reduced-motion: reduce) {
77
- .thumb, .track { transition: none; }
78
- }
@@ -1,65 +0,0 @@
1
- :host {
2
- display: block;
3
- font-family: var(--ind-font-family-sans, system-ui, sans-serif);
4
- font-size: var(--ind-font-size-base, 12px);
5
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
6
- }
7
-
8
- .row {
9
- display: flex;
10
- align-items: center;
11
- gap: var(--ind-spacing-2, 4px);
12
- padding: 2px var(--ind-spacing-3, 6px);
13
- cursor: pointer;
14
- border-radius: var(--ind-radius-sm, 2px);
15
- user-select: none;
16
- }
17
-
18
- .row:hover { background: var(--ind-surface-raised, #1b222c); }
19
-
20
- .row:focus-visible {
21
- outline: 2px solid var(--ind-surface-focus-ring, #67e8f9);
22
- outline-offset: -2px;
23
- }
24
-
25
- :host([selected]) .row {
26
- background: color-mix(in srgb, var(--ind-button-primary-bg, #2563eb) 28%, transparent);
27
- }
28
-
29
- .indent { width: var(--_indent, 0); flex: none; }
30
-
31
- .twisty {
32
- appearance: none;
33
- border: none;
34
- background: none;
35
- padding: 0;
36
- width: 16px;
37
- height: 16px;
38
- display: inline-flex;
39
- align-items: center;
40
- justify-content: center;
41
- cursor: pointer;
42
- color: var(--ind-surface-text-muted, #7a8694);
43
- flex: none;
44
- }
45
- .twisty.is-leaf { cursor: default; }
46
-
47
- .twisty svg {
48
- width: 12px;
49
- height: 12px;
50
- transition: transform var(--ind-motion-duration-fast, 120ms) ease;
51
- }
52
- .twisty svg path { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
53
-
54
- :host([expanded]) .twisty svg { transform: rotate(90deg); }
55
-
56
- .icon { display: inline-flex; align-items: center; }
57
- .icon:empty { display: none; }
58
-
59
- .label { white-space: nowrap; }
60
-
61
- .children { display: block; }
62
-
63
- @media (prefers-reduced-motion: reduce) {
64
- .twisty svg { transition: none; }
65
- }
@@ -1,16 +0,0 @@
1
- :host {
2
- display: inline;
3
- --_size: var(--ind-font-size-sm, 11px);
4
- }
5
-
6
- :host([size="sm"]) { --_size: var(--ind-font-size-xs, 10px); }
7
- :host([size="md"]) { --_size: var(--ind-font-size-sm, 11px); }
8
- :host([size="lg"]) { --_size: var(--ind-font-size-base, 12px); }
9
-
10
- .unit {
11
- font-family: var(--ind-font-family-sans, system-ui, sans-serif);
12
- font-size: var(--_size);
13
- font-weight: var(--ind-font-weight-regular, 400);
14
- color: var(--ind-surface-text-muted, #7a8694);
15
- white-space: nowrap;
16
- }
@@ -1,115 +0,0 @@
1
- :host {
2
- display: inline-flex;
3
- flex-direction: column;
4
- gap: var(--ind-spacing-2, 4px);
5
- padding: var(--ind-spacing-4, 8px) var(--ind-spacing-5, 12px);
6
- background: var(--ind-surface-sunken, #000);
7
- border: 1px solid var(--ind-surface-border-default, #2a3340);
8
- border-radius: var(--ind-radius-md, 3px);
9
- font-family: var(--ind-font-family-sans);
10
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
11
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
12
- min-width: 96px;
13
- transition:
14
- background-color var(--ind-motion-duration-base, 200ms),
15
- border-color var(--ind-motion-duration-base, 200ms),
16
- color var(--ind-motion-duration-base, 200ms);
17
- }
18
-
19
- .header {
20
- display: flex;
21
- gap: var(--ind-spacing-3, 6px);
22
- align-items: baseline;
23
- font-size: var(--ind-font-size-sm, 11px);
24
- line-height: var(--ind-font-line-height-tight, 1.1);
25
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
26
- }
27
-
28
- .tag {
29
- font-family: var(--ind-font-family-mono);
30
- font-weight: var(--ind-font-weight-semibold, 600);
31
- letter-spacing: 0.02em;
32
- }
33
-
34
- .label {
35
- color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
36
- }
37
-
38
- .readout {
39
- display: flex;
40
- align-items: baseline;
41
- gap: var(--ind-spacing-2, 4px);
42
- line-height: 1;
43
- }
44
-
45
- .number {
46
- font-family: var(--ind-font-family-mono);
47
- font-weight: var(--ind-font-weight-bold, 700);
48
- font-variant-numeric: tabular-nums;
49
- }
50
-
51
- .unit {
52
- font-size: var(--ind-font-size-sm, 11px);
53
- color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
54
- font-weight: var(--ind-font-weight-medium, 500);
55
- }
56
-
57
- .trend {
58
- font-size: var(--ind-font-size-md, 13px);
59
- margin-left: var(--ind-spacing-2, 4px);
60
- }
61
-
62
- :host([size="sm"]) .number { font-size: var(--ind-font-size-xl, 16px); }
63
- :host([size="md"]) .number { font-size: var(--ind-font-size-2xl, 20px); }
64
- :host([size="lg"]) .number { font-size: var(--ind-font-size-3xl, 28px); }
65
-
66
- /* Alarm highlight — uses the ISA-18.2 alarm tokens directly. */
67
- :host([alarm="high-high"]) {
68
- background: var(--ind-alarm-high-high-bg, #dc2626);
69
- color: var(--ind-alarm-high-high-fg, #ffffff);
70
- border-color: var(--ind-alarm-high-high-border, #f87171);
71
- }
72
- :host([alarm="high"]) {
73
- background: var(--ind-alarm-high-bg, #f59e0b);
74
- color: var(--ind-alarm-high-fg, #000000);
75
- border-color: var(--ind-alarm-high-border, #fcd34d);
76
- }
77
- :host([alarm="low"]) {
78
- background: var(--ind-alarm-low-bg, #0891b2);
79
- color: var(--ind-alarm-low-fg, #ffffff);
80
- border-color: var(--ind-alarm-low-border, #22d3ee);
81
- }
82
- :host([alarm="low-low"]) {
83
- background: var(--ind-alarm-low-low-bg, #7c3aed);
84
- color: var(--ind-alarm-low-low-fg, #ffffff);
85
- border-color: var(--ind-alarm-low-low-border, #a78bfa);
86
- }
87
-
88
- /* When in an alarm state, force every descendant to inherit the host color
89
- * (which is the high-contrast alarm fg, e.g. black on amber for "high").
90
- *
91
- * We have to override `.header` explicitly because it sets its own color —
92
- * otherwise `.label` and `.tag` inherit *from .header*, not from :host,
93
- * and stay at the original muted neutral color (broken contrast on alarm bg).
94
- */
95
- :host([alarm]:not([alarm="none"])) .header,
96
- :host([alarm]:not([alarm="none"])) .tag,
97
- :host([alarm]:not([alarm="none"])) .label,
98
- :host([alarm]:not([alarm="none"])) .unit {
99
- color: inherit;
100
- }
101
-
102
- /* The tag identifies WHICH instrument is alarming — keep it at full opacity
103
- * so operators can read it at a glance. Label/unit can be slightly faded. */
104
- :host([alarm]:not([alarm="none"])) .label,
105
- :host([alarm]:not([alarm="none"])) .unit {
106
- opacity: 0.85;
107
- }
108
- :host([alarm]:not([alarm="none"])) .tag {
109
- opacity: 1;
110
- font-weight: var(--ind-font-weight-bold, 700);
111
- }
112
-
113
- :host([trend="up"]) .trend { color: var(--ind-trend-up-fg, #fcd34d); }
114
- :host([trend="down"]) .trend { color: var(--ind-trend-down-fg, #22d3ee); }
115
- :host([trend="stable"]) .trend { color: var(--ind-trend-stable-fg, #8390a0); }