@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,57 +0,0 @@
1
- :host {
2
- display: inline-block;
3
- --_thickness: 8px;
4
- --_fluid: var(--ind-surface-border-strong, #5a6776);
5
- }
6
-
7
- :host([orientation="horizontal"]) { width: 64px; height: var(--_thickness); }
8
- :host([orientation="vertical"]) { width: var(--_thickness); height: 64px; }
9
-
10
- :host([tone="running"]) { --_fluid: var(--ind-state-running-bg, #16a34a); }
11
- :host([tone="fault"]) { --_fluid: var(--ind-state-fault-bg, #dc2626); }
12
- :host([tone="warning"]) { --_fluid: var(--ind-state-warning-bg, #f59e0b); }
13
-
14
- .pipe {
15
- position: relative;
16
- display: block;
17
- width: 100%;
18
- height: 100%;
19
- background: var(--ind-surface-raised, #1b222c);
20
- border: 1px solid var(--ind-surface-border-strong, #5a6776);
21
- border-radius: 2px;
22
- overflow: hidden;
23
- }
24
-
25
- .flow {
26
- position: absolute;
27
- inset: 0;
28
- background: var(--_fluid);
29
- opacity: 0.85;
30
- }
31
-
32
- /* Dashed overlay conveys flow motion. */
33
- :host([flow="forward"]) .flow,
34
- :host([flow="reverse"]) .flow {
35
- background-image: repeating-linear-gradient(
36
- var(--_angle, 90deg),
37
- color-mix(in srgb, #fff 28%, transparent) 0 4px,
38
- transparent 4px 10px
39
- );
40
- background-color: var(--_fluid);
41
- background-size: 14px 14px;
42
- }
43
-
44
- :host([orientation="horizontal"]) .flow { --_angle: 90deg; }
45
- :host([orientation="vertical"]) .flow { --_angle: 0deg; }
46
-
47
- :host([flow="forward"][orientation="horizontal"]) .flow { animation: ind-pipe-x 0.7s linear infinite; }
48
- :host([flow="reverse"][orientation="horizontal"]) .flow { animation: ind-pipe-x 0.7s linear infinite reverse; }
49
- :host([flow="forward"][orientation="vertical"]) .flow { animation: ind-pipe-y 0.7s linear infinite; }
50
- :host([flow="reverse"][orientation="vertical"]) .flow { animation: ind-pipe-y 0.7s linear infinite reverse; }
51
-
52
- @keyframes ind-pipe-x { to { background-position: 14px 0; } }
53
- @keyframes ind-pipe-y { to { background-position: 0 14px; } }
54
-
55
- @media (prefers-reduced-motion: reduce) {
56
- .flow { animation: none !important; }
57
- }
@@ -1,44 +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, system-ui, sans-serif);
7
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
8
- --_w: 44px;
9
- --_stroke: var(--ind-surface-border-strong, #5a6776);
10
- }
11
-
12
- :host([size="sm"]) { --_w: 32px; }
13
- :host([size="lg"]) { --_w: 60px; }
14
-
15
- :host([state="running"]) { --_stroke: var(--ind-state-running-border, #4ade80); }
16
- :host([state="fault"]) { --_stroke: var(--ind-state-fault-border, #f87171); }
17
- :host([state="warning"]) { --_stroke: var(--ind-state-warning-border, #fcd34d); }
18
- :host([state="maintenance"]) { --_stroke: var(--ind-state-maintenance-border, #60a5fa); }
19
-
20
- .symbol {
21
- width: var(--_w);
22
- height: var(--_w);
23
- display: block;
24
- }
25
-
26
- .outline {
27
- fill: var(--ind-surface-sunken, light-dark(#fff, #000));
28
- stroke: var(--_stroke);
29
- stroke-width: 1.5;
30
- vector-effect: non-scaling-stroke;
31
- }
32
-
33
- .tag {
34
- fill: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
35
- font-family: var(--ind-font-family-mono, ui-monospace, monospace);
36
- font-weight: var(--ind-font-weight-semibold, 600);
37
- font-size: 10px;
38
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
39
- }
40
-
41
- .label {
42
- font-size: var(--ind-font-size-xs, 10px);
43
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
44
- }
@@ -1,69 +0,0 @@
1
- :host {
2
- display: block;
3
- font-family: var(--ind-font-family-sans);
4
- font-size: var(--ind-font-size-sm, 11px);
5
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
6
- --_h: 8px;
7
- --_fill: var(--ind-button-primary-bg, #2563eb);
8
- }
9
-
10
- :host([size="sm"]) { --_h: 4px; }
11
- :host([size="md"]) { --_h: 8px; }
12
- :host([size="lg"]) { --_h: 12px; }
13
-
14
- :host([variant="success"]) { --_fill: var(--ind-feedback-success-bg, #16a34a); }
15
- :host([variant="warning"]) { --_fill: var(--ind-feedback-warning-bg, #f59e0b); }
16
- :host([variant="error"]) { --_fill: var(--ind-feedback-error-bg, #dc2626); }
17
-
18
- .header {
19
- display: flex;
20
- justify-content: space-between;
21
- align-items: baseline;
22
- gap: var(--ind-spacing-3, 6px);
23
- margin-bottom: var(--ind-spacing-2, 4px);
24
- }
25
-
26
- .label {
27
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
28
- }
29
-
30
- .value {
31
- font-family: var(--ind-font-family-mono);
32
- font-weight: var(--ind-font-weight-semibold, 600);
33
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
34
- }
35
-
36
- .track {
37
- position: relative;
38
- width: 100%;
39
- height: var(--_h);
40
- background: var(--ind-surface-sunken, light-dark(#ffffff, #000000));
41
- border: 1px solid var(--ind-surface-border-default, #2a3340);
42
- border-radius: var(--ind-radius-sm, 2px);
43
- overflow: hidden;
44
- }
45
-
46
- .fill {
47
- display: block;
48
- height: 100%;
49
- background: var(--_fill);
50
- transition: width var(--ind-motion-duration-base, 200ms) var(--ind-motion-easing-standard, ease);
51
- }
52
-
53
- :host([indeterminate]) .fill {
54
- width: 30%;
55
- animation: ind-progress-march 1.4s ease-in-out infinite;
56
- }
57
-
58
- @keyframes ind-progress-march {
59
- 0% { margin-left: -30%; }
60
- 100% { margin-left: 100%; }
61
- }
62
-
63
- @media (prefers-reduced-motion: reduce) {
64
- :host([indeterminate]) .fill {
65
- animation: none;
66
- width: 100%;
67
- opacity: 0.5;
68
- }
69
- }
@@ -1,59 +0,0 @@
1
- :host {
2
- position: relative;
3
- display: inline-flex;
4
- align-items: center;
5
- justify-content: center;
6
- font-family: var(--ind-font-family-mono, ui-monospace, monospace);
7
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
8
- --_size: 40px;
9
- --_fill: var(--ind-button-primary-bg, #2563eb);
10
- }
11
-
12
- :host([size="sm"]) { --_size: 28px; }
13
- :host([size="md"]) { --_size: 40px; }
14
- :host([size="lg"]) { --_size: 56px; }
15
-
16
- :host([variant="success"]) { --_fill: var(--ind-feedback-success-bg, #16a34a); }
17
- :host([variant="warning"]) { --_fill: var(--ind-feedback-warning-bg, #f59e0b); }
18
- :host([variant="error"]) { --_fill: var(--ind-feedback-error-bg, #dc2626); }
19
-
20
- .ring {
21
- display: block;
22
- width: var(--_size);
23
- height: var(--_size);
24
- }
25
-
26
- .track {
27
- fill: none;
28
- stroke: var(--ind-surface-border-default, #2a3340);
29
- stroke-width: 4;
30
- }
31
-
32
- .bar {
33
- fill: none;
34
- stroke: var(--_fill);
35
- stroke-width: 4;
36
- stroke-linecap: round;
37
- transition: stroke-dashoffset var(--ind-motion-duration-base, 200ms) var(--ind-motion-easing-standard, ease);
38
- }
39
-
40
- :host([indeterminate]) .ring {
41
- animation: ind-ring-spin 1.1s linear infinite;
42
- }
43
-
44
- .value {
45
- position: absolute;
46
- font-size: var(--ind-font-size-xs, 10px);
47
- font-weight: var(--ind-font-weight-semibold, 600);
48
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
49
- }
50
-
51
- :host([size="lg"]) .value { font-size: var(--ind-font-size-sm, 11px); }
52
-
53
- @keyframes ind-ring-spin {
54
- to { transform: rotate(360deg); }
55
- }
56
-
57
- @media (prefers-reduced-motion: reduce) {
58
- :host([indeterminate]) .ring { animation-duration: 2.4s; }
59
- }
@@ -1,7 +0,0 @@
1
- :host([state="running"]) .spin {
2
- animation: ind-pump-spin 1.6s linear infinite;
3
- }
4
-
5
- @keyframes ind-pump-spin {
6
- to { transform: rotate(360deg); }
7
- }
@@ -1,100 +0,0 @@
1
- :host {
2
- display: block;
3
- width: var(--ind-size-canvas-robot-width, 320px);
4
- height: var(--ind-size-canvas-robot-height, 220px);
5
- font-family: var(--ind-font-family-mono);
6
- }
7
-
8
- svg {
9
- display: block;
10
- width: 100%;
11
- height: 100%;
12
- background: var(--ind-surface-sunken, light-dark(#ffffff, #000000));
13
- border: 1px solid var(--ind-surface-border-default);
14
- border-radius: var(--ind-radius-md, 3px);
15
- }
16
-
17
- .envelope {
18
- fill: none;
19
- stroke: var(--ind-surface-border-subtle);
20
- stroke-dasharray: 2 4;
21
- }
22
-
23
- .envelope-inner {
24
- stroke-dasharray: 1 3;
25
- opacity: 0.6;
26
- }
27
-
28
- .axis {
29
- stroke: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
30
- stroke-width: 1;
31
- }
32
-
33
- .axis-label {
34
- font-family: var(--ind-font-family-mono);
35
- font-size: 9px;
36
- fill: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
37
- }
38
-
39
- .link {
40
- stroke-width: 5;
41
- stroke-linecap: round;
42
- transition: stroke 240ms;
43
- }
44
- .link-1 { stroke: var(--ind-state-running-bg, #16a34a); }
45
- .link-2 { stroke: var(--ind-state-running-border, #4ade80); }
46
-
47
- .wrist {
48
- stroke: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
49
- stroke-width: 2;
50
- stroke-linecap: round;
51
- }
52
-
53
- .joint {
54
- fill: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
55
- stroke: var(--ind-surface-border-strong);
56
- stroke-width: 1;
57
- }
58
-
59
- .joint.base {
60
- fill: var(--ind-state-stopped-bg, #5a6776);
61
- stroke: var(--ind-state-stopped-border, #8390a0);
62
- }
63
-
64
- .joint.effector {
65
- fill: var(--ind-state-warning-bg, #f59e0b);
66
- stroke: var(--ind-state-warning-border, #fcd34d);
67
- }
68
-
69
- .readout text {
70
- font-size: 9px;
71
- fill: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
72
- font-feature-settings: "tnum" 1;
73
- }
74
- .readout tspan {
75
- fill: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
76
- font-weight: 700;
77
- }
78
-
79
- :host([state="moving"]) .link {
80
- stroke-dasharray: 4 2;
81
- animation: ind-scara-move 1.2s linear infinite;
82
- }
83
-
84
- :host([state="fault"]) .link,
85
- :host([state="fault"]) .wrist {
86
- stroke: var(--ind-state-fault-bg, #dc2626);
87
- }
88
- :host([state="fault"]) .joint {
89
- stroke: var(--ind-state-fault-border, #f87171);
90
- }
91
-
92
- @keyframes ind-scara-move {
93
- to { stroke-dashoffset: -12; }
94
- }
95
-
96
- @media (prefers-reduced-motion: reduce) {
97
- :host([state="moving"]) .link {
98
- animation: none;
99
- }
100
- }
@@ -1,88 +0,0 @@
1
- :host {
2
- display: inline-block;
3
- font-family: var(--ind-font-family-sans);
4
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
5
- --_h: var(--ind-size-input-md, 32px);
6
- }
7
-
8
- :host([size="sm"]) { --_h: var(--ind-size-input-sm, 24px); }
9
- :host([size="md"]) { --_h: var(--ind-size-input-md, 32px); }
10
- :host([size="lg"]) { --_h: var(--ind-size-input-lg, 40px); }
11
-
12
- .wrap {
13
- display: inline-flex;
14
- flex-direction: column;
15
- gap: var(--ind-spacing-2, 4px);
16
- min-width: 160px;
17
- }
18
-
19
- .label {
20
- font-size: var(--ind-font-size-sm, 11px);
21
- font-weight: var(--ind-font-weight-medium, 500);
22
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
23
- letter-spacing: 0.04em;
24
- text-transform: uppercase;
25
- }
26
-
27
- .field {
28
- position: relative;
29
- display: inline-flex;
30
- align-items: center;
31
- height: var(--_h);
32
- background: var(--ind-surface-sunken, light-dark(#ffffff, #000000));
33
- border: 1px solid var(--ind-surface-border-default, #2a3340);
34
- border-radius: var(--ind-radius-md, 3px);
35
- transition:
36
- border-color var(--ind-motion-duration-fast, 120ms),
37
- box-shadow var(--ind-motion-duration-fast, 120ms);
38
- }
39
-
40
- .field:focus-within {
41
- border-color: var(--ind-surface-focus-ring, #22d3ee);
42
- box-shadow: 0 0 0 2px color-mix(in srgb, var(--ind-surface-focus-ring, #22d3ee) 35%, transparent);
43
- }
44
-
45
- .native {
46
- appearance: none;
47
- -webkit-appearance: none;
48
- flex: 1;
49
- height: 100%;
50
- background: transparent;
51
- border: none;
52
- outline: none;
53
- padding: 0 calc(var(--ind-spacing-7, 20px) + 8px) 0 var(--ind-spacing-4, 8px);
54
- font: inherit;
55
- color: inherit;
56
- cursor: pointer;
57
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
58
- }
59
-
60
- .native::-ms-expand { display: none; }
61
-
62
- /* Native option styling: at least give them a dark theme bg when
63
- * the OS picker honors it (Chrome/Edge mostly do). */
64
- .native option {
65
- background: var(--ind-surface-panel);
66
- color: var(--ind-surface-text-primary);
67
- }
68
-
69
- .caret {
70
- position: absolute;
71
- right: var(--ind-spacing-4, 8px);
72
- font-size: var(--ind-font-size-base, 12px);
73
- color: var(--ind-surface-text-muted, light-dark(#5a6776, #8390a0));
74
- pointer-events: none;
75
- line-height: 1;
76
- }
77
-
78
- :host([invalid]) .field {
79
- border-color: var(--ind-feedback-error-bg, #dc2626);
80
- }
81
- :host([invalid]) .field:focus-within {
82
- box-shadow: 0 0 0 2px color-mix(in srgb, var(--ind-feedback-error-bg, #dc2626) 40%, transparent);
83
- }
84
-
85
- :host([disabled]) {
86
- opacity: 0.55;
87
- pointer-events: none;
88
- }
@@ -1,53 +0,0 @@
1
- :host {
2
- display: inline-flex;
3
- flex-direction: column;
4
- gap: var(--ind-spacing-2, 4px);
5
- font-family: var(--ind-font-family-sans, system-ui, sans-serif);
6
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
7
- }
8
-
9
- .group-label {
10
- font-size: var(--ind-font-size-xs, 10px);
11
- text-transform: uppercase;
12
- letter-spacing: 0.04em;
13
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
14
- }
15
-
16
- .switch {
17
- display: inline-flex;
18
- padding: 2px;
19
- background: var(--ind-surface-sunken, light-dark(#fff, #000));
20
- border: 1px solid var(--ind-surface-border-default, #2a3340);
21
- border-radius: var(--ind-radius-md, 3px);
22
- }
23
-
24
- .switch:focus-visible {
25
- outline: 2px solid var(--ind-surface-focus-ring, #67e8f9);
26
- outline-offset: 2px;
27
- }
28
-
29
- .pos {
30
- appearance: none;
31
- border: none;
32
- background: none;
33
- cursor: pointer;
34
- padding: var(--ind-spacing-2, 4px) var(--ind-spacing-4, 8px);
35
- font-family: inherit;
36
- font-size: var(--ind-font-size-sm, 11px);
37
- font-weight: var(--ind-font-weight-semibold, 600);
38
- text-transform: uppercase;
39
- letter-spacing: 0.03em;
40
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
41
- border-radius: var(--ind-radius-sm, 2px);
42
- transition: background-color var(--ind-motion-duration-fast, 120ms) ease;
43
- }
44
-
45
- .pos:hover:not(:disabled) { color: var(--ind-surface-text-primary, #eef1f5); }
46
-
47
- .pos.is-active {
48
- background: var(--ind-state-running-bg, #16a34a);
49
- color: var(--ind-state-running-fg, #fff);
50
- }
51
-
52
- :host([disabled]) { opacity: 0.5; }
53
- .pos:disabled { cursor: not-allowed; }
@@ -1,79 +0,0 @@
1
- :host {
2
- display: inline-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
- --_btn: 22px;
6
- --_num-w: 64px;
7
- }
8
-
9
- :host([size="sm"]) { --_btn: 18px; --_num-w: 52px; }
10
- :host([size="lg"]) { --_btn: 28px; --_num-w: 80px; }
11
-
12
- .frame {
13
- display: inline-flex;
14
- flex-direction: column;
15
- gap: var(--ind-spacing-2, 4px);
16
- padding: var(--ind-spacing-3, 6px);
17
- background: var(--ind-surface-raised, #1b222c);
18
- border: 1px solid var(--ind-surface-border-default, #2a3340);
19
- border-radius: var(--ind-radius-md, 3px);
20
- }
21
-
22
- .label {
23
- font-size: var(--ind-font-size-xs, 10px);
24
- text-transform: uppercase;
25
- letter-spacing: 0.04em;
26
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
27
- }
28
-
29
- .rows { display: flex; flex-direction: column; gap: var(--ind-spacing-2, 4px); }
30
-
31
- .pv, .sp { display: inline-flex; align-items: center; gap: var(--ind-spacing-2, 4px); }
32
-
33
- .pv-tag, .sp-tag {
34
- font-size: 9px;
35
- font-weight: var(--ind-font-weight-bold, 700);
36
- width: 16px;
37
- color: var(--ind-surface-text-muted, #7a8694);
38
- }
39
-
40
- .pv-num {
41
- font-family: var(--ind-font-family-mono, ui-monospace, monospace);
42
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
43
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
44
- }
45
-
46
- .pv-unit, .sp-unit {
47
- font-size: var(--ind-font-size-xs, 10px);
48
- color: var(--ind-surface-text-muted, #7a8694);
49
- }
50
-
51
- .step {
52
- width: var(--_btn);
53
- height: var(--_btn);
54
- flex: none;
55
- border: 1px solid var(--ind-surface-border-strong, #5a6776);
56
- background: var(--ind-surface-panel, #11161c);
57
- color: var(--ind-surface-text-primary, #eef1f5);
58
- border-radius: var(--ind-radius-sm, 2px);
59
- font-size: 14px;
60
- line-height: 1;
61
- cursor: pointer;
62
- }
63
- .step:hover:not(:disabled) { background: var(--ind-surface-strong, #5a6776); }
64
- .step:disabled { opacity: 0.5; cursor: not-allowed; }
65
- .step:focus-visible { outline: 2px solid var(--ind-surface-focus-ring, #67e8f9); outline-offset: 1px; }
66
-
67
- .num {
68
- width: var(--_num-w);
69
- text-align: right;
70
- font-family: var(--ind-font-family-mono, ui-monospace, monospace);
71
- font-weight: var(--ind-font-weight-semibold, 600);
72
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
73
- background: var(--ind-surface-sunken, light-dark(#fff, #000));
74
- color: var(--ind-surface-text-primary, #eef1f5);
75
- border: 1px solid var(--ind-surface-border-default, #2a3340);
76
- border-radius: var(--ind-radius-sm, 2px);
77
- padding: 2px 4px;
78
- }
79
- .num:focus-visible { outline: 2px solid var(--ind-surface-focus-ring, #67e8f9); outline-offset: 0; }
@@ -1,67 +0,0 @@
1
- :host {
2
- display: block;
3
- width: var(--ind-size-canvas-shelves-width, 480px);
4
- height: var(--ind-size-canvas-shelves-height, 340px);
5
- font-family: var(--ind-font-family-sans);
6
- font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
7
- }
8
-
9
- svg {
10
- display: block;
11
- width: 100%;
12
- height: 100%;
13
- background: var(--ind-surface-sunken, light-dark(#ffffff, #000000));
14
- border: 1px solid var(--ind-surface-border-default);
15
- border-radius: var(--ind-radius-md, 3px);
16
- }
17
-
18
- .heading {
19
- font-family: var(--ind-font-family-sans);
20
- font-size: 13px;
21
- font-weight: 700;
22
- fill: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
23
- text-transform: uppercase;
24
- letter-spacing: 0.05em;
25
- }
26
-
27
- .outline {
28
- fill: color-mix(in srgb, var(--ind-surface-raised) 40%, transparent);
29
- stroke: var(--ind-surface-border-strong);
30
- stroke-width: 1.5;
31
- stroke-linejoin: round;
32
- }
33
-
34
- .fill {
35
- fill: var(--ind-state-running-bg, #16a34a);
36
- transition: y 240ms, height 240ms;
37
- }
38
-
39
- .slot--partial .fill { fill: var(--ind-feedback-warning-bg, #f59e0b); }
40
- .slot--empty .fill { fill: var(--ind-feedback-error-bg, #dc2626); }
41
-
42
- .slot--missing .outline {
43
- fill: transparent;
44
- stroke-dasharray: 4 2;
45
- stroke: var(--ind-surface-border-subtle);
46
- }
47
-
48
- .label {
49
- font-family: var(--ind-font-family-mono);
50
- font-size: 11px;
51
- font-weight: 600;
52
- fill: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
53
- letter-spacing: 0.02em;
54
- }
55
-
56
- .level {
57
- font-family: var(--ind-font-family-mono);
58
- font-size: 12px;
59
- font-weight: 700;
60
- fill: #ffffff;
61
- paint-order: stroke;
62
- stroke: rgba(0, 0, 0, 0.55);
63
- stroke-width: 3;
64
- letter-spacing: 0.02em;
65
- }
66
-
67
- .slot--missing .level { display: none; }
@@ -1,41 +0,0 @@
1
- :host {
2
- display: inline-flex;
3
- align-items: center;
4
- gap: var(--ind-spacing-3, 6px);
5
- font-family: var(--ind-font-family-sans, system-ui, sans-serif);
6
- font-size: var(--ind-font-size-base, 12px);
7
- color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
8
- --_h: 16px;
9
- --_w: 4px;
10
- --_on: var(--ind-state-running-bg, #16a34a);
11
- }
12
-
13
- :host([size="sm"]) { --_h: 12px; --_w: 3px; }
14
- :host([size="lg"]) { --_h: 22px; --_w: 5px; }
15
-
16
- :host([data-quality="poor"]) { --_on: var(--ind-state-fault-bg, #dc2626); }
17
- :host([data-quality="fair"]) { --_on: var(--ind-state-warning-bg, #f59e0b); }
18
- :host([data-quality="good"]) { --_on: var(--ind-state-running-bg, #16a34a); }
19
- :host([data-quality="none"]) { --_on: var(--ind-surface-border-strong, #5a6776); }
20
-
21
- .bars {
22
- display: inline-flex;
23
- align-items: flex-end;
24
- gap: 2px;
25
- height: var(--_h);
26
- }
27
-
28
- .bar {
29
- width: var(--_w);
30
- background: var(--ind-surface-border-default, #2a3340);
31
- border-radius: 1px;
32
- align-self: flex-end;
33
- }
34
-
35
- .bar.is-on {
36
- background: var(--_on);
37
- }
38
-
39
- .label {
40
- color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
41
- }
@@ -1,12 +0,0 @@
1
- .liquid {
2
- fill: var(--ind-state-stopped-bg, #a8722e);
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
- }