@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.
- package/dist/cjs/ind-ds.cjs.js +1 -1
- package/dist/cjs/ind-valve-control-panel.cjs.entry.js +7 -1
- package/dist/cjs/ind-valve-control-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/atoms/_equipment/equipment.css +0 -74
- package/dist/collection/components/atoms/alarm/alarm.css +0 -87
- package/dist/collection/components/atoms/alarm/alarm.js +0 -122
- package/dist/collection/components/atoms/alarm-count/alarm-count.css +0 -44
- package/dist/collection/components/atoms/alarm-count/alarm-count.js +0 -171
- package/dist/collection/components/atoms/badge/badge.css +0 -42
- package/dist/collection/components/atoms/badge/badge.js +0 -101
- package/dist/collection/components/atoms/breadcrumb-item/breadcrumb-item.css +0 -42
- package/dist/collection/components/atoms/breadcrumb-item/breadcrumb-item.js +0 -116
- package/dist/collection/components/atoms/button/button.css +0 -110
- package/dist/collection/components/atoms/button/button.js +0 -215
- package/dist/collection/components/atoms/canvas-layer/canvas-layer.css +0 -8
- package/dist/collection/components/atoms/canvas-layer/canvas-layer.js +0 -161
- package/dist/collection/components/atoms/checkbox/checkbox.css +0 -92
- package/dist/collection/components/atoms/checkbox/checkbox.js +0 -214
- package/dist/collection/components/atoms/compressor/compressor.css +0 -7
- package/dist/collection/components/atoms/compressor/compressor.js +0 -124
- package/dist/collection/components/atoms/connection-indicator/connection-indicator.css +0 -42
- package/dist/collection/components/atoms/connection-indicator/connection-indicator.js +0 -107
- package/dist/collection/components/atoms/conveyor/conveyor.css +0 -18
- package/dist/collection/components/atoms/conveyor/conveyor.js +0 -152
- package/dist/collection/components/atoms/cooler/cooler.css +0 -15
- package/dist/collection/components/atoms/cooler/cooler.js +0 -124
- package/dist/collection/components/atoms/counter/counter.css +0 -45
- package/dist/collection/components/atoms/counter/counter.js +0 -171
- package/dist/collection/components/atoms/datetime-picker/datetime-picker.css +0 -46
- package/dist/collection/components/atoms/datetime-picker/datetime-picker.js +0 -275
- package/dist/collection/components/atoms/dialog/dialog.css +0 -85
- package/dist/collection/components/atoms/dialog/dialog.js +0 -265
- package/dist/collection/components/atoms/divider/divider.css +0 -16
- package/dist/collection/components/atoms/divider/divider.js +0 -50
- package/dist/collection/components/atoms/estop/estop.css +0 -69
- package/dist/collection/components/atoms/estop/estop.js +0 -166
- package/dist/collection/components/atoms/fan/fan.css +0 -11
- package/dist/collection/components/atoms/fan/fan.js +0 -124
- package/dist/collection/components/atoms/gauge/gauge.css +0 -70
- package/dist/collection/components/atoms/gauge/gauge.js +0 -237
- package/dist/collection/components/atoms/heartbeat/heartbeat.css +0 -58
- package/dist/collection/components/atoms/heartbeat/heartbeat.js +0 -116
- package/dist/collection/components/atoms/heater/heater.css +0 -20
- package/dist/collection/components/atoms/heater/heater.js +0 -124
- package/dist/collection/components/atoms/icon/icon.css +0 -30
- package/dist/collection/components/atoms/icon/icon.js +0 -119
- package/dist/collection/components/atoms/input/input.css +0 -92
- package/dist/collection/components/atoms/knob/knob.css +0 -71
- package/dist/collection/components/atoms/label/label.css +0 -29
- package/dist/collection/components/atoms/led/led.css +0 -91
- package/dist/collection/components/atoms/linear-gauge/linear-gauge.css +0 -65
- package/dist/collection/components/atoms/motor/motor.css +0 -24
- package/dist/collection/components/atoms/pipe/pipe.css +0 -57
- package/dist/collection/components/atoms/process-symbol/process-symbol.css +0 -44
- package/dist/collection/components/atoms/progress/progress.css +0 -69
- package/dist/collection/components/atoms/progress-ring/progress-ring.css +0 -59
- package/dist/collection/components/atoms/pump/pump.css +0 -7
- package/dist/collection/components/atoms/scara-canvas/scara-canvas.css +0 -100
- package/dist/collection/components/atoms/select/select.css +0 -88
- package/dist/collection/components/atoms/selector-switch/selector-switch.css +0 -53
- package/dist/collection/components/atoms/setpoint/setpoint.css +0 -79
- package/dist/collection/components/atoms/shelf-canvas/shelf-canvas.css +0 -67
- package/dist/collection/components/atoms/signal-quality/signal-quality.css +0 -41
- package/dist/collection/components/atoms/silo/silo.css +0 -12
- package/dist/collection/components/atoms/slider/slider.css +0 -87
- package/dist/collection/components/atoms/sparkline/sparkline.css +0 -37
- package/dist/collection/components/atoms/status-dot/status-dot.css +0 -69
- package/dist/collection/components/atoms/tab/tab.css +0 -39
- package/dist/collection/components/atoms/tag-name/tag-name.css +0 -25
- package/dist/collection/components/atoms/tank/tank.css +0 -12
- package/dist/collection/components/atoms/textarea/textarea.css +0 -74
- package/dist/collection/components/atoms/timestamp/timestamp.css +0 -15
- package/dist/collection/components/atoms/toggle/toggle.css +0 -78
- package/dist/collection/components/atoms/tree-node/tree-node.css +0 -65
- package/dist/collection/components/atoms/unit-label/unit-label.css +0 -16
- package/dist/collection/components/atoms/value/value.css +0 -115
- package/dist/collection/components/atoms/valve/valve.css +0 -101
- package/dist/collection/components/atoms/xy-point/xy-point.css +0 -49
- package/dist/collection/components/molecules/_shared/binding.css +0 -41
- package/dist/collection/components/molecules/_shared/card.css +0 -51
- package/dist/collection/components/molecules/_shared/equipment-card.css +0 -20
- package/dist/collection/components/molecules/_shared/row.css +0 -34
- package/dist/collection/components/molecules/alarm-badge-group/alarm-badge-group.css +0 -43
- package/dist/collection/components/molecules/alarm-badge-group/alarm-badge-group.js +0 -168
- package/dist/collection/components/molecules/alarm-row/alarm-row.css +0 -42
- package/dist/collection/components/molecules/alarm-row/alarm-row.js +0 -166
- package/dist/collection/components/molecules/audit-row/audit-row.css +0 -19
- package/dist/collection/components/molecules/audit-row/audit-row.js +0 -111
- package/dist/collection/components/molecules/batch-parameter-row/batch-parameter-row.css +0 -35
- package/dist/collection/components/molecules/batch-parameter-row/batch-parameter-row.js +0 -304
- package/dist/collection/components/molecules/command-group/command-group.css +0 -26
- package/dist/collection/components/molecules/command-group/command-group.js +0 -99
- package/dist/collection/components/molecules/device-connection-card/device-connection-card.css +0 -19
- package/dist/collection/components/molecules/device-connection-card/device-connection-card.js +0 -140
- package/dist/collection/components/molecules/device-info-card/device-info-card.css +0 -27
- package/dist/collection/components/molecules/device-info-card/device-info-card.js +0 -194
- package/dist/collection/components/molecules/energy-card/energy-card.css +0 -12
- package/dist/collection/components/molecules/energy-card/energy-card.js +0 -206
- package/dist/collection/components/molecules/equipment-status-card/equipment-status-card.css +0 -29
- package/dist/collection/components/molecules/equipment-status-card/equipment-status-card.js +0 -150
- package/dist/collection/components/molecules/event-row/event-row.css +0 -3
- package/dist/collection/components/molecules/event-row/event-row.js +0 -118
- package/dist/collection/components/molecules/fill-row/fill-row.css +0 -70
- package/dist/collection/components/molecules/fill-row/fill-row.js +0 -181
- package/dist/collection/components/molecules/health-card/health-card.css +0 -53
- package/dist/collection/components/molecules/health-card/health-card.js +0 -124
- package/dist/collection/components/molecules/historical-value-row/historical-value-row.css +0 -28
- package/dist/collection/components/molecules/historical-value-row/historical-value-row.js +0 -153
- package/dist/collection/components/molecules/kpi-card/kpi-card.css +0 -31
- package/dist/collection/components/molecules/mode-selector/mode-selector.css +0 -4
- package/dist/collection/components/molecules/motor-card/motor-card.css +0 -3
- package/dist/collection/components/molecules/mqtt-tag-binding/mqtt-tag-binding.css +0 -3
- package/dist/collection/components/molecules/nav-item/nav-item.css +0 -82
- package/dist/collection/components/molecules/network-status-card/network-status-card.css +0 -31
- package/dist/collection/components/molecules/opcua-tag-binding/opcua-tag-binding.css +0 -7
- package/dist/collection/components/molecules/pump-card/pump-card.css +0 -3
- package/dist/collection/components/molecules/recipe-selector/recipe-selector.css +0 -13
- package/dist/collection/components/molecules/setpoint-control/setpoint-control.css +0 -3
- package/dist/collection/components/molecules/sidebar-group/sidebar-group.css +0 -61
- package/dist/collection/components/molecules/speed-control/speed-control.css +0 -7
- package/dist/collection/components/molecules/start-stop-control/start-stop-control.css +0 -24
- package/dist/collection/components/molecules/tag-card/tag-card.css +0 -7
- package/dist/collection/components/molecules/tank-level-card/tank-level-card.css +0 -7
- package/dist/collection/components/molecules/temperature-control/temperature-control.css +0 -15
- package/dist/collection/components/molecules/toolbar-action/toolbar-action.css +0 -36
- package/dist/collection/components/molecules/trend-widget/trend-widget.css +0 -15
- package/dist/collection/components/molecules/valve-card/valve-card.css +0 -13
- package/dist/collection/components/organisms/_shared/control-panel.css +0 -15
- package/dist/collection/components/organisms/_shared/panel.css +0 -96
- package/dist/collection/components/organisms/alarm-panel/alarm-panel.css +0 -7
- package/dist/collection/components/organisms/alarm-panel/alarm-panel.js +0 -152
- package/dist/collection/components/organisms/alarm-summary/alarm-summary.css +0 -30
- package/dist/collection/components/organisms/alarm-summary/alarm-summary.js +0 -158
- package/dist/collection/components/organisms/app-header/app-header.css +0 -127
- package/dist/collection/components/organisms/app-header/app-header.js +0 -256
- package/dist/collection/components/organisms/asset-overview/asset-overview.css +0 -34
- package/dist/collection/components/organisms/asset-overview/asset-overview.js +0 -82
- package/dist/collection/components/organisms/batch-control-panel/batch-control-panel.css +0 -45
- package/dist/collection/components/organisms/batch-control-panel/batch-control-panel.js +0 -226
- package/dist/collection/components/organisms/command-center/command-center.css +0 -7
- package/dist/collection/components/organisms/command-center/command-center.js +0 -70
- package/dist/collection/components/organisms/context-toolbar/context-toolbar.css +0 -48
- package/dist/collection/components/organisms/context-toolbar/context-toolbar.js +0 -70
- package/dist/collection/components/organisms/device-diagnostics-panel/device-diagnostics-panel.css +0 -43
- package/dist/collection/components/organisms/device-diagnostics-panel/device-diagnostics-panel.js +0 -222
- package/dist/collection/components/organisms/energy-dashboard/energy-dashboard.css +0 -29
- package/dist/collection/components/organisms/energy-dashboard/energy-dashboard.js +0 -134
- package/dist/collection/components/organisms/equipment-dashboard/equipment-dashboard.css +0 -3
- package/dist/collection/components/organisms/equipment-dashboard/equipment-dashboard.js +0 -71
- package/dist/collection/components/organisms/event-journal/event-journal.css +0 -17
- package/dist/collection/components/organisms/event-journal/event-journal.js +0 -107
- package/dist/collection/components/organisms/firmware-update-panel/firmware-update-panel.css +0 -47
- package/dist/collection/components/organisms/firmware-update-panel/firmware-update-panel.js +0 -208
- package/dist/collection/components/organisms/historian-viewer/historian-viewer.css +0 -17
- package/dist/collection/components/organisms/historian-viewer/historian-viewer.js +0 -144
- package/dist/collection/components/organisms/machine-overview/machine-overview.css +0 -22
- package/dist/collection/components/organisms/maintenance-dashboard/maintenance-dashboard.css +0 -48
- package/dist/collection/components/organisms/motor-control-panel/motor-control-panel.css +0 -3
- package/dist/collection/components/organisms/mqtt-monitor/mqtt-monitor.css +0 -96
- package/dist/collection/components/organisms/oee-dashboard/oee-dashboard.css +0 -30
- package/dist/collection/components/organisms/process-control-panel/process-control-panel.css +0 -13
- package/dist/collection/components/organisms/production-cell/production-cell.css +0 -7
- package/dist/collection/components/organisms/production-dashboard/production-dashboard.css +0 -3
- package/dist/collection/components/organisms/production-line-overview/production-line-overview.css +0 -57
- package/dist/collection/components/organisms/pump-control-panel/pump-control-panel.css +0 -3
- package/dist/collection/components/organisms/recipe-management-panel/recipe-management-panel.css +0 -10
- package/dist/collection/components/organisms/sidebar-nav/sidebar-nav.css +0 -39
- package/dist/collection/components/organisms/status-bar/status-bar.css +0 -34
- package/dist/collection/components/organisms/trend-viewer/trend-viewer.css +0 -45
- package/dist/collection/components/organisms/valve-control-panel/valve-control-panel.css +0 -10
- package/dist/collection/components/organisms/valve-control-panel/valve-control-panel.js +67 -1
- package/dist/collection/components/organisms/valve-control-panel/valve-control-panel.js.map +1 -1
- package/dist/collection/components/organisms/workstation-monitor/workstation-monitor.css +0 -30
- package/dist/components/ind-valve-control-panel.js +1 -1
- package/dist/components/ind-valve-control-panel.js.map +1 -1
- package/dist/docs.json +88 -1
- package/dist/esm/ind-ds.js +1 -1
- package/dist/esm/ind-valve-control-panel.entry.js +7 -1
- package/dist/esm/ind-valve-control-panel.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/ind-ds/ind-ds.esm.js +1 -1
- package/dist/ind-ds/{p-eac22c88.entry.js → p-69ac33af.entry.js} +2 -2
- package/dist/ind-ds/p-69ac33af.entry.js.map +1 -0
- package/dist/types/components/organisms/valve-control-panel/valve-control-panel.d.ts +6 -0
- package/dist/types/components.d.ts +33 -0
- package/package.json +2 -2
- package/dist/ind-ds/p-eac22c88.entry.js.map +0 -1
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { h, Host } from "@stencil/core";
|
|
2
|
-
export class IndFan {
|
|
3
|
-
/** Process state. `running` spins the blades. */
|
|
4
|
-
state = 'stopped';
|
|
5
|
-
/** Visual size. */
|
|
6
|
-
size = 'md';
|
|
7
|
-
/** Equipment tag (e.g. "FN-301"). */
|
|
8
|
-
tag;
|
|
9
|
-
/** Human label. */
|
|
10
|
-
label;
|
|
11
|
-
render() {
|
|
12
|
-
const name = this.label ?? this.tag ?? 'fan';
|
|
13
|
-
return (h(Host, { key: '05348b06294a71319dbf2ac7bcde6357b1f2ddda', role: "img", "aria-label": `${name} — ${this.state}` }, h("svg", { key: '8cd4aa8242c8aa5581ec910accf1bd6743307cf6', class: "symbol", viewBox: "0 0 48 48", "aria-hidden": "true" }, h("circle", { key: '992d9e08891850d4d68580b6c5abc575738b2e14', class: "body", cx: "24", cy: "24", r: "16" }), h("g", { key: '31c5fe5dbbf268482987e8f672853f1fe7d84e02', class: "spin", style: { transformOrigin: '24px 24px' } }, h("path", { key: '0563126793186c4757fbb48c44305a2037392d7c', class: "accent", d: "M24 24 C30 14, 34 18, 24 24 Z" }), h("path", { key: 'cb14c0e5f38f73ec35a2294ba6ebd8f4344645e3', class: "accent", d: "M24 24 C34 30, 30 34, 24 24 Z" }), h("path", { key: '8cc12dc34bd9123cb543fdcb6e78688493dc5bf2', class: "accent", d: "M24 24 C18 34, 14 30, 24 24 Z" }), h("path", { key: '43c40edef2152d78fb88d32044fa78b08d85c44e', class: "accent", d: "M24 24 C14 18, 18 14, 24 24 Z" })), h("circle", { key: '47925754f8e411ac8f4210d4293ee03350391f9a', class: "hub", cx: "24", cy: "24", r: "2.5" })), (this.tag || this.label) && (h("div", { key: '2da1231dc992891380181bcddceb289eeb9de7cc', class: "caption" }, this.tag && h("span", { key: 'c8638a92c2c5fbdc9956cf2055f8663815b49f74', class: "tag" }, this.tag), this.label && h("span", { key: '12766db2ca33e5d180dd23b1962d1bd12f9bcefa', class: "label" }, this.label)))));
|
|
14
|
-
}
|
|
15
|
-
static get is() { return "ind-fan"; }
|
|
16
|
-
static get encapsulation() { return "shadow"; }
|
|
17
|
-
static get originalStyleUrls() {
|
|
18
|
-
return {
|
|
19
|
-
"$": ["../_equipment/equipment.css", "fan.css"]
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
static get styleUrls() {
|
|
23
|
-
return {
|
|
24
|
-
"$": ["../_equipment/equipment.css", "fan.css"]
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
static get properties() {
|
|
28
|
-
return {
|
|
29
|
-
"state": {
|
|
30
|
-
"type": "string",
|
|
31
|
-
"mutable": false,
|
|
32
|
-
"complexType": {
|
|
33
|
-
"original": "EquipmentState",
|
|
34
|
-
"resolved": "\"fault\" | \"maintenance\" | \"running\" | \"stopped\" | \"warning\"",
|
|
35
|
-
"references": {
|
|
36
|
-
"EquipmentState": {
|
|
37
|
-
"location": "import",
|
|
38
|
-
"path": "../_equipment/types",
|
|
39
|
-
"id": "src/components/atoms/_equipment/types.ts::EquipmentState",
|
|
40
|
-
"referenceLocation": "EquipmentState"
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
"required": false,
|
|
45
|
-
"optional": false,
|
|
46
|
-
"docs": {
|
|
47
|
-
"tags": [],
|
|
48
|
-
"text": "Process state. `running` spins the blades."
|
|
49
|
-
},
|
|
50
|
-
"getter": false,
|
|
51
|
-
"setter": false,
|
|
52
|
-
"reflect": true,
|
|
53
|
-
"attribute": "state",
|
|
54
|
-
"defaultValue": "'stopped'"
|
|
55
|
-
},
|
|
56
|
-
"size": {
|
|
57
|
-
"type": "string",
|
|
58
|
-
"mutable": false,
|
|
59
|
-
"complexType": {
|
|
60
|
-
"original": "EquipmentSize",
|
|
61
|
-
"resolved": "\"lg\" | \"md\" | \"sm\"",
|
|
62
|
-
"references": {
|
|
63
|
-
"EquipmentSize": {
|
|
64
|
-
"location": "import",
|
|
65
|
-
"path": "../_equipment/types",
|
|
66
|
-
"id": "src/components/atoms/_equipment/types.ts::EquipmentSize",
|
|
67
|
-
"referenceLocation": "EquipmentSize"
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
"required": false,
|
|
72
|
-
"optional": false,
|
|
73
|
-
"docs": {
|
|
74
|
-
"tags": [],
|
|
75
|
-
"text": "Visual size."
|
|
76
|
-
},
|
|
77
|
-
"getter": false,
|
|
78
|
-
"setter": false,
|
|
79
|
-
"reflect": true,
|
|
80
|
-
"attribute": "size",
|
|
81
|
-
"defaultValue": "'md'"
|
|
82
|
-
},
|
|
83
|
-
"tag": {
|
|
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": "Equipment tag (e.g. \"FN-301\")."
|
|
96
|
-
},
|
|
97
|
-
"getter": false,
|
|
98
|
-
"setter": false,
|
|
99
|
-
"reflect": false,
|
|
100
|
-
"attribute": "tag"
|
|
101
|
-
},
|
|
102
|
-
"label": {
|
|
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": "Human label."
|
|
115
|
-
},
|
|
116
|
-
"getter": false,
|
|
117
|
-
"setter": false,
|
|
118
|
-
"reflect": false,
|
|
119
|
-
"attribute": "label"
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
//# sourceMappingURL=fan.js.map
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
:host {
|
|
2
|
-
display: inline-flex;
|
|
3
|
-
flex-direction: column;
|
|
4
|
-
align-items: center;
|
|
5
|
-
font-family: var(--ind-font-family-sans, system-ui, sans-serif);
|
|
6
|
-
color: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
|
|
7
|
-
--_w: 120px;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
:host([size="sm"]) { --_w: 84px; }
|
|
11
|
-
:host([size="md"]) { --_w: 120px; }
|
|
12
|
-
:host([size="lg"]) { --_w: 168px; }
|
|
13
|
-
|
|
14
|
-
.gauge {
|
|
15
|
-
width: var(--_w);
|
|
16
|
-
height: var(--_w);
|
|
17
|
-
display: block;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.track {
|
|
21
|
-
fill: none;
|
|
22
|
-
stroke: var(--ind-surface-border-default, #2a3340);
|
|
23
|
-
stroke-width: 8;
|
|
24
|
-
stroke-linecap: round;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.zone {
|
|
28
|
-
fill: none;
|
|
29
|
-
stroke-width: 8;
|
|
30
|
-
stroke-linecap: butt;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.needle {
|
|
34
|
-
stroke: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
|
|
35
|
-
stroke-width: 2.5;
|
|
36
|
-
stroke-linecap: round;
|
|
37
|
-
transition: all var(--ind-motion-duration-base, 200ms) var(--ind-motion-easing-standard, ease);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.hub {
|
|
41
|
-
fill: var(--ind-surface-text-primary, light-dark(#11161c, #eef1f5));
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.readout {
|
|
45
|
-
display: inline-flex;
|
|
46
|
-
align-items: baseline;
|
|
47
|
-
gap: 3px;
|
|
48
|
-
margin-top: -28%;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.number {
|
|
52
|
-
font-family: var(--ind-font-family-mono, ui-monospace, monospace);
|
|
53
|
-
font-size: var(--ind-font-size-xl, 16px);
|
|
54
|
-
font-weight: var(--ind-font-weight-semibold, 600);
|
|
55
|
-
font-feature-settings: var(--ind-font-feature-tabular, "tnum" 1);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
:host([size="lg"]) .number { font-size: var(--ind-font-size-2xl, 20px); }
|
|
59
|
-
|
|
60
|
-
.unit { font-size: var(--ind-font-size-xs, 10px); color: var(--ind-surface-text-muted, #7a8694); }
|
|
61
|
-
|
|
62
|
-
.label {
|
|
63
|
-
margin-top: var(--ind-spacing-2, 4px);
|
|
64
|
-
font-size: var(--ind-font-size-xs, 10px);
|
|
65
|
-
color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@media (prefers-reduced-motion: reduce) {
|
|
69
|
-
.needle { transition: none; }
|
|
70
|
-
}
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import { h, Host } from "@stencil/core";
|
|
2
|
-
export class IndGauge {
|
|
3
|
-
/** Current value. */
|
|
4
|
-
value = 0;
|
|
5
|
-
/** Scale minimum. */
|
|
6
|
-
min = 0;
|
|
7
|
-
/** Scale maximum. */
|
|
8
|
-
max = 100;
|
|
9
|
-
/** Colored zones along the arc (e.g. green/amber/red bands). Pass as a property. */
|
|
10
|
-
zones = [];
|
|
11
|
-
/** Engineering unit. */
|
|
12
|
-
unit;
|
|
13
|
-
/** Label / tag rendered under the value. */
|
|
14
|
-
label;
|
|
15
|
-
/** Decimal places for the value. */
|
|
16
|
-
precision;
|
|
17
|
-
/** Size. */
|
|
18
|
-
size = 'md';
|
|
19
|
-
// 270° sweep from 135° (bottom-left) clockwise to 405°/45° (bottom-right).
|
|
20
|
-
startAngle = 135;
|
|
21
|
-
sweep = 270;
|
|
22
|
-
cx = 50;
|
|
23
|
-
cy = 50;
|
|
24
|
-
r = 40;
|
|
25
|
-
valueToAngle(v) {
|
|
26
|
-
const span = this.max - this.min || 1;
|
|
27
|
-
const ratio = Math.min(1, Math.max(0, (v - this.min) / span));
|
|
28
|
-
return this.startAngle + ratio * this.sweep;
|
|
29
|
-
}
|
|
30
|
-
polar(angleDeg, radius = this.r) {
|
|
31
|
-
const a = (angleDeg * Math.PI) / 180;
|
|
32
|
-
return { x: this.cx + radius * Math.cos(a), y: this.cy + radius * Math.sin(a) };
|
|
33
|
-
}
|
|
34
|
-
arc(fromV, toV, radius = this.r) {
|
|
35
|
-
const a0 = this.valueToAngle(fromV);
|
|
36
|
-
const a1 = this.valueToAngle(toV);
|
|
37
|
-
const p0 = this.polar(a0, radius);
|
|
38
|
-
const p1 = this.polar(a1, radius);
|
|
39
|
-
const large = a1 - a0 > 180 ? 1 : 0;
|
|
40
|
-
return `M ${p0.x.toFixed(2)} ${p0.y.toFixed(2)} A ${radius} ${radius} 0 ${large} 1 ${p1.x.toFixed(2)} ${p1.y.toFixed(2)}`;
|
|
41
|
-
}
|
|
42
|
-
formatted() {
|
|
43
|
-
if (!Number.isFinite(this.value))
|
|
44
|
-
return '--';
|
|
45
|
-
return this.precision !== undefined ? this.value.toFixed(this.precision) : String(this.value);
|
|
46
|
-
}
|
|
47
|
-
render() {
|
|
48
|
-
const needleAngle = this.valueToAngle(this.value);
|
|
49
|
-
const tip = this.polar(needleAngle, this.r - 6);
|
|
50
|
-
const name = this.label ?? 'gauge';
|
|
51
|
-
return (h(Host, { key: '1dcc7b4a14620e9e67f62b4bb839de1c73c9eb28', role: "meter", "aria-valuenow": this.value, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-label": `${name}: ${this.formatted()}${this.unit ? ' ' + this.unit : ''}` }, h("svg", { key: '835dadb8fe0ffcab0bd4f3dc62d7049a6a9d04dd', class: "gauge", part: "gauge", viewBox: "0 0 100 100", "aria-hidden": "true" }, h("path", { key: '440f32cf9718f31589b1c3320c3e5db538a5aaaf', class: "track", part: "track", d: this.arc(this.min, this.max) }), (this.zones ?? []).map((z) => (h("path", { class: "zone", d: this.arc(z.from, z.to), style: { stroke: z.color } }))), h("line", { key: 'd7d4f7fc4137c2763d3d51f2e33bd4f833e8f349', class: "needle", part: "needle", x1: this.cx, y1: this.cy, x2: tip.x, y2: tip.y }), h("circle", { key: 'f8e497fd70ab2f68f12d867efc41b45e8477ee7e', class: "hub", cx: this.cx, cy: this.cy, r: "3.5" })), h("div", { key: 'e71f4f120c4a8618c54a4287a47e292375a1acad', class: "readout", part: "readout" }, h("span", { key: '7cc72fe3205519521e18eb1cbc9d374101704d2d', class: "number", part: "number" }, this.formatted()), this.unit && h("span", { key: '2309b9b1c009a726af38381e8ad05aa8365f4109', class: "unit", part: "unit" }, this.unit)), this.label && h("span", { key: '2d7c584f453a5006f75d6b5f03af2d1e4a200a59', class: "label", part: "label" }, this.label)));
|
|
52
|
-
}
|
|
53
|
-
static get is() { return "ind-gauge"; }
|
|
54
|
-
static get encapsulation() { return "shadow"; }
|
|
55
|
-
static get originalStyleUrls() {
|
|
56
|
-
return {
|
|
57
|
-
"$": ["gauge.css"]
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
static get styleUrls() {
|
|
61
|
-
return {
|
|
62
|
-
"$": ["gauge.css"]
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
static get properties() {
|
|
66
|
-
return {
|
|
67
|
-
"value": {
|
|
68
|
-
"type": "number",
|
|
69
|
-
"mutable": false,
|
|
70
|
-
"complexType": {
|
|
71
|
-
"original": "number",
|
|
72
|
-
"resolved": "number",
|
|
73
|
-
"references": {}
|
|
74
|
-
},
|
|
75
|
-
"required": false,
|
|
76
|
-
"optional": false,
|
|
77
|
-
"docs": {
|
|
78
|
-
"tags": [],
|
|
79
|
-
"text": "Current value."
|
|
80
|
-
},
|
|
81
|
-
"getter": false,
|
|
82
|
-
"setter": false,
|
|
83
|
-
"reflect": false,
|
|
84
|
-
"attribute": "value",
|
|
85
|
-
"defaultValue": "0"
|
|
86
|
-
},
|
|
87
|
-
"min": {
|
|
88
|
-
"type": "number",
|
|
89
|
-
"mutable": false,
|
|
90
|
-
"complexType": {
|
|
91
|
-
"original": "number",
|
|
92
|
-
"resolved": "number",
|
|
93
|
-
"references": {}
|
|
94
|
-
},
|
|
95
|
-
"required": false,
|
|
96
|
-
"optional": false,
|
|
97
|
-
"docs": {
|
|
98
|
-
"tags": [],
|
|
99
|
-
"text": "Scale minimum."
|
|
100
|
-
},
|
|
101
|
-
"getter": false,
|
|
102
|
-
"setter": false,
|
|
103
|
-
"reflect": false,
|
|
104
|
-
"attribute": "min",
|
|
105
|
-
"defaultValue": "0"
|
|
106
|
-
},
|
|
107
|
-
"max": {
|
|
108
|
-
"type": "number",
|
|
109
|
-
"mutable": false,
|
|
110
|
-
"complexType": {
|
|
111
|
-
"original": "number",
|
|
112
|
-
"resolved": "number",
|
|
113
|
-
"references": {}
|
|
114
|
-
},
|
|
115
|
-
"required": false,
|
|
116
|
-
"optional": false,
|
|
117
|
-
"docs": {
|
|
118
|
-
"tags": [],
|
|
119
|
-
"text": "Scale maximum."
|
|
120
|
-
},
|
|
121
|
-
"getter": false,
|
|
122
|
-
"setter": false,
|
|
123
|
-
"reflect": false,
|
|
124
|
-
"attribute": "max",
|
|
125
|
-
"defaultValue": "100"
|
|
126
|
-
},
|
|
127
|
-
"zones": {
|
|
128
|
-
"type": "unknown",
|
|
129
|
-
"mutable": false,
|
|
130
|
-
"complexType": {
|
|
131
|
-
"original": "GaugeZone[]",
|
|
132
|
-
"resolved": "GaugeZone[]",
|
|
133
|
-
"references": {
|
|
134
|
-
"GaugeZone": {
|
|
135
|
-
"location": "local",
|
|
136
|
-
"path": "/home/runner/work/ind-ds/ind-ds/packages/core/src/components/atoms/gauge/gauge.tsx",
|
|
137
|
-
"id": "src/components/atoms/gauge/gauge.tsx::GaugeZone"
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
"required": false,
|
|
142
|
-
"optional": false,
|
|
143
|
-
"docs": {
|
|
144
|
-
"tags": [],
|
|
145
|
-
"text": "Colored zones along the arc (e.g. green/amber/red bands). Pass as a property."
|
|
146
|
-
},
|
|
147
|
-
"getter": false,
|
|
148
|
-
"setter": false,
|
|
149
|
-
"defaultValue": "[]"
|
|
150
|
-
},
|
|
151
|
-
"unit": {
|
|
152
|
-
"type": "string",
|
|
153
|
-
"mutable": false,
|
|
154
|
-
"complexType": {
|
|
155
|
-
"original": "string",
|
|
156
|
-
"resolved": "string | undefined",
|
|
157
|
-
"references": {}
|
|
158
|
-
},
|
|
159
|
-
"required": false,
|
|
160
|
-
"optional": true,
|
|
161
|
-
"docs": {
|
|
162
|
-
"tags": [],
|
|
163
|
-
"text": "Engineering unit."
|
|
164
|
-
},
|
|
165
|
-
"getter": false,
|
|
166
|
-
"setter": false,
|
|
167
|
-
"reflect": false,
|
|
168
|
-
"attribute": "unit"
|
|
169
|
-
},
|
|
170
|
-
"label": {
|
|
171
|
-
"type": "string",
|
|
172
|
-
"mutable": false,
|
|
173
|
-
"complexType": {
|
|
174
|
-
"original": "string",
|
|
175
|
-
"resolved": "string | undefined",
|
|
176
|
-
"references": {}
|
|
177
|
-
},
|
|
178
|
-
"required": false,
|
|
179
|
-
"optional": true,
|
|
180
|
-
"docs": {
|
|
181
|
-
"tags": [],
|
|
182
|
-
"text": "Label / tag rendered under the value."
|
|
183
|
-
},
|
|
184
|
-
"getter": false,
|
|
185
|
-
"setter": false,
|
|
186
|
-
"reflect": false,
|
|
187
|
-
"attribute": "label"
|
|
188
|
-
},
|
|
189
|
-
"precision": {
|
|
190
|
-
"type": "number",
|
|
191
|
-
"mutable": false,
|
|
192
|
-
"complexType": {
|
|
193
|
-
"original": "number",
|
|
194
|
-
"resolved": "number | undefined",
|
|
195
|
-
"references": {}
|
|
196
|
-
},
|
|
197
|
-
"required": false,
|
|
198
|
-
"optional": true,
|
|
199
|
-
"docs": {
|
|
200
|
-
"tags": [],
|
|
201
|
-
"text": "Decimal places for the value."
|
|
202
|
-
},
|
|
203
|
-
"getter": false,
|
|
204
|
-
"setter": false,
|
|
205
|
-
"reflect": false,
|
|
206
|
-
"attribute": "precision"
|
|
207
|
-
},
|
|
208
|
-
"size": {
|
|
209
|
-
"type": "string",
|
|
210
|
-
"mutable": false,
|
|
211
|
-
"complexType": {
|
|
212
|
-
"original": "GaugeSize",
|
|
213
|
-
"resolved": "\"lg\" | \"md\" | \"sm\"",
|
|
214
|
-
"references": {
|
|
215
|
-
"GaugeSize": {
|
|
216
|
-
"location": "local",
|
|
217
|
-
"path": "/home/runner/work/ind-ds/ind-ds/packages/core/src/components/atoms/gauge/gauge.tsx",
|
|
218
|
-
"id": "src/components/atoms/gauge/gauge.tsx::GaugeSize"
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
},
|
|
222
|
-
"required": false,
|
|
223
|
-
"optional": false,
|
|
224
|
-
"docs": {
|
|
225
|
-
"tags": [],
|
|
226
|
-
"text": "Size."
|
|
227
|
-
},
|
|
228
|
-
"getter": false,
|
|
229
|
-
"setter": false,
|
|
230
|
-
"reflect": true,
|
|
231
|
-
"attribute": "size",
|
|
232
|
-
"defaultValue": "'md'"
|
|
233
|
-
}
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
//# sourceMappingURL=gauge.js.map
|
|
@@ -1,58 +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
|
-
--_size: 10px;
|
|
9
|
-
--_color: var(--ind-state-running-bg, #16a34a);
|
|
10
|
-
--_period: 1000ms;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
:host([size="sm"]) { --_size: 8px; }
|
|
14
|
-
:host([size="lg"]) { --_size: 14px; }
|
|
15
|
-
|
|
16
|
-
:host(:not([alive])) { --_color: var(--ind-state-fault-bg, #dc2626); }
|
|
17
|
-
|
|
18
|
-
.pulse {
|
|
19
|
-
position: relative;
|
|
20
|
-
display: inline-flex;
|
|
21
|
-
width: var(--_size);
|
|
22
|
-
height: var(--_size);
|
|
23
|
-
flex: none;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.core {
|
|
27
|
-
position: absolute;
|
|
28
|
-
inset: 0;
|
|
29
|
-
margin: auto;
|
|
30
|
-
width: var(--_size);
|
|
31
|
-
height: var(--_size);
|
|
32
|
-
border-radius: 50%;
|
|
33
|
-
background: var(--_color);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.ring {
|
|
37
|
-
position: absolute;
|
|
38
|
-
inset: 0;
|
|
39
|
-
border-radius: 50%;
|
|
40
|
-
background: var(--_color);
|
|
41
|
-
opacity: 0;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
:host([alive]) .ring {
|
|
45
|
-
animation: ind-heartbeat var(--_period) ease-out infinite;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
@keyframes ind-heartbeat {
|
|
49
|
-
0% { transform: scale(1); opacity: 0.6; }
|
|
50
|
-
70% { transform: scale(2.6); opacity: 0; }
|
|
51
|
-
100% { transform: scale(2.6); opacity: 0; }
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.label { color: var(--ind-surface-text-secondary, light-dark(#2a3340, #aab5c2)); }
|
|
55
|
-
|
|
56
|
-
@media (prefers-reduced-motion: reduce) {
|
|
57
|
-
.ring { animation: none !important; }
|
|
58
|
-
}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { h, Host } from "@stencil/core";
|
|
2
|
-
export class IndHeartbeat {
|
|
3
|
-
/** Whether the monitored source is alive. When false the pulse stops. */
|
|
4
|
-
alive = true;
|
|
5
|
-
/** Beat interval in milliseconds (drives the pulse animation period). */
|
|
6
|
-
interval = 1000;
|
|
7
|
-
/** Size. */
|
|
8
|
-
size = 'md';
|
|
9
|
-
/** Optional label rendered next to the pulse. */
|
|
10
|
-
label;
|
|
11
|
-
render() {
|
|
12
|
-
return (h(Host, { key: '57635f480aa687475404cc5078e5f2ad1bef3522', role: "status", "aria-live": "polite", "aria-label": this.label ?? (this.alive ? 'Heartbeat active' : 'Heartbeat lost'), style: { '--_period': `${Math.max(200, this.interval)}ms` } }, h("span", { key: 'c1a84671caebe2949acb923a666cd9f2318e95a7', class: "pulse", part: "pulse", "aria-hidden": "true" }, h("span", { key: '720ef97105a86565d5aced3d77ada332b6c1ded2', class: "core", part: "core" }), h("span", { key: 'f865735ce0515440a8b1148dbe9a506bbc891cc9', class: "ring", part: "ring" })), this.label && h("span", { key: 'b15159d02b971495987871841848d27c9f21e94c', class: "label", part: "label" }, this.label)));
|
|
13
|
-
}
|
|
14
|
-
static get is() { return "ind-heartbeat"; }
|
|
15
|
-
static get encapsulation() { return "shadow"; }
|
|
16
|
-
static get originalStyleUrls() {
|
|
17
|
-
return {
|
|
18
|
-
"$": ["heartbeat.css"]
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
static get styleUrls() {
|
|
22
|
-
return {
|
|
23
|
-
"$": ["heartbeat.css"]
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
static get properties() {
|
|
27
|
-
return {
|
|
28
|
-
"alive": {
|
|
29
|
-
"type": "boolean",
|
|
30
|
-
"mutable": false,
|
|
31
|
-
"complexType": {
|
|
32
|
-
"original": "boolean",
|
|
33
|
-
"resolved": "boolean",
|
|
34
|
-
"references": {}
|
|
35
|
-
},
|
|
36
|
-
"required": false,
|
|
37
|
-
"optional": false,
|
|
38
|
-
"docs": {
|
|
39
|
-
"tags": [],
|
|
40
|
-
"text": "Whether the monitored source is alive. When false the pulse stops."
|
|
41
|
-
},
|
|
42
|
-
"getter": false,
|
|
43
|
-
"setter": false,
|
|
44
|
-
"reflect": true,
|
|
45
|
-
"attribute": "alive",
|
|
46
|
-
"defaultValue": "true"
|
|
47
|
-
},
|
|
48
|
-
"interval": {
|
|
49
|
-
"type": "number",
|
|
50
|
-
"mutable": false,
|
|
51
|
-
"complexType": {
|
|
52
|
-
"original": "number",
|
|
53
|
-
"resolved": "number",
|
|
54
|
-
"references": {}
|
|
55
|
-
},
|
|
56
|
-
"required": false,
|
|
57
|
-
"optional": false,
|
|
58
|
-
"docs": {
|
|
59
|
-
"tags": [],
|
|
60
|
-
"text": "Beat interval in milliseconds (drives the pulse animation period)."
|
|
61
|
-
},
|
|
62
|
-
"getter": false,
|
|
63
|
-
"setter": false,
|
|
64
|
-
"reflect": false,
|
|
65
|
-
"attribute": "interval",
|
|
66
|
-
"defaultValue": "1000"
|
|
67
|
-
},
|
|
68
|
-
"size": {
|
|
69
|
-
"type": "string",
|
|
70
|
-
"mutable": false,
|
|
71
|
-
"complexType": {
|
|
72
|
-
"original": "HeartbeatSize",
|
|
73
|
-
"resolved": "\"lg\" | \"md\" | \"sm\"",
|
|
74
|
-
"references": {
|
|
75
|
-
"HeartbeatSize": {
|
|
76
|
-
"location": "local",
|
|
77
|
-
"path": "/home/runner/work/ind-ds/ind-ds/packages/core/src/components/atoms/heartbeat/heartbeat.tsx",
|
|
78
|
-
"id": "src/components/atoms/heartbeat/heartbeat.tsx::HeartbeatSize"
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
"required": false,
|
|
83
|
-
"optional": false,
|
|
84
|
-
"docs": {
|
|
85
|
-
"tags": [],
|
|
86
|
-
"text": "Size."
|
|
87
|
-
},
|
|
88
|
-
"getter": false,
|
|
89
|
-
"setter": false,
|
|
90
|
-
"reflect": true,
|
|
91
|
-
"attribute": "size",
|
|
92
|
-
"defaultValue": "'md'"
|
|
93
|
-
},
|
|
94
|
-
"label": {
|
|
95
|
-
"type": "string",
|
|
96
|
-
"mutable": false,
|
|
97
|
-
"complexType": {
|
|
98
|
-
"original": "string",
|
|
99
|
-
"resolved": "string | undefined",
|
|
100
|
-
"references": {}
|
|
101
|
-
},
|
|
102
|
-
"required": false,
|
|
103
|
-
"optional": true,
|
|
104
|
-
"docs": {
|
|
105
|
-
"tags": [],
|
|
106
|
-
"text": "Optional label rendered next to the pulse."
|
|
107
|
-
},
|
|
108
|
-
"getter": false,
|
|
109
|
-
"setter": false,
|
|
110
|
-
"reflect": false,
|
|
111
|
-
"attribute": "label"
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=heartbeat.js.map
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
.coil {
|
|
2
|
-
fill: none;
|
|
3
|
-
stroke: var(--_stroke);
|
|
4
|
-
stroke-width: 1.5;
|
|
5
|
-
stroke-linecap: round;
|
|
6
|
-
vector-effect: non-scaling-stroke;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
:host([state="running"]) {
|
|
10
|
-
--_stroke: var(--ind-state-warning-border, #fcd34d);
|
|
11
|
-
--_fill: var(--ind-state-fault-bg, #dc2626);
|
|
12
|
-
}
|
|
13
|
-
:host([state="running"]) .coil {
|
|
14
|
-
stroke: var(--ind-state-fault-bg, #ef4444);
|
|
15
|
-
animation: ind-heater-glow 1.4s ease-in-out infinite;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
@keyframes ind-heater-glow {
|
|
19
|
-
50% { stroke: var(--ind-state-warning-bg, #f59e0b); }
|
|
20
|
-
}
|