@oicl/openbridge-webcomponents-full-bundle 2.0.0-next.57 → 2.0.0-next.59

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 (185) hide show
  1. package/bundle/openbridge-webcomponents.bundle.js +6585 -4581
  2. package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
  3. package/custom-elements.json +1047 -83
  4. package/dist/alert-severity.d.ts +38 -0
  5. package/dist/alert-severity.d.ts.map +1 -0
  6. package/dist/alert-severity.js +176 -0
  7. package/dist/alert-severity.js.map +1 -0
  8. package/dist/ar/building-blocks/poi-header/poi-header.css.js +38 -7
  9. package/dist/ar/building-blocks/poi-header/poi-header.css.js.map +1 -1
  10. package/dist/ar/building-blocks/poi-header/poi-header.d.ts +7 -2
  11. package/dist/ar/building-blocks/poi-header/poi-header.d.ts.map +1 -1
  12. package/dist/ar/building-blocks/poi-header/poi-header.js +5 -0
  13. package/dist/ar/building-blocks/poi-header/poi-header.js.map +1 -1
  14. package/dist/ar/poi-button/poi-button.css.js +110 -32
  15. package/dist/ar/poi-button/poi-button.css.js.map +1 -1
  16. package/dist/ar/poi-button/poi-button.d.ts +7 -2
  17. package/dist/ar/poi-button/poi-button.d.ts.map +1 -1
  18. package/dist/ar/poi-button/poi-button.js +15 -0
  19. package/dist/ar/poi-button/poi-button.js.map +1 -1
  20. package/dist/ar/types.d.ts +6 -1
  21. package/dist/ar/types.d.ts.map +1 -1
  22. package/dist/ar/types.js +5 -0
  23. package/dist/ar/types.js.map +1 -1
  24. package/dist/automation/automation-badge/automation-badge.d.ts +9 -1
  25. package/dist/automation/automation-badge/automation-badge.d.ts.map +1 -1
  26. package/dist/automation/automation-badge/automation-badge.js +119 -12
  27. package/dist/automation/automation-badge/automation-badge.js.map +1 -1
  28. package/dist/automation/automation-button/abstract-automation-button-storybook-helpers.d.ts +25 -1
  29. package/dist/automation/automation-button/abstract-automation-button-storybook-helpers.d.ts.map +1 -1
  30. package/dist/automation/automation-button/abstract-automation-button-storybook-helpers.js +7 -2
  31. package/dist/automation/automation-button/abstract-automation-button-storybook-helpers.js.map +1 -1
  32. package/dist/automation/automation-button/abstract-automation-button.d.ts +10 -3
  33. package/dist/automation/automation-button/abstract-automation-button.d.ts.map +1 -1
  34. package/dist/automation/automation-button/abstract-automation-button.js +23 -2
  35. package/dist/automation/automation-button/abstract-automation-button.js.map +1 -1
  36. package/dist/automation/automation-button/automation-button.css.js +9 -4
  37. package/dist/automation/automation-button/automation-button.css.js.map +1 -1
  38. package/dist/automation/automation-button/automation-button.d.ts +4 -2
  39. package/dist/automation/automation-button/automation-button.d.ts.map +1 -1
  40. package/dist/automation/automation-button/automation-button.js +24 -6
  41. package/dist/automation/automation-button/automation-button.js.map +1 -1
  42. package/dist/automation/automation-tank/automation-tank.d.ts +3 -2
  43. package/dist/automation/automation-tank/automation-tank.d.ts.map +1 -1
  44. package/dist/automation/automation-tank/automation-tank.js +13 -2
  45. package/dist/automation/automation-tank/automation-tank.js.map +1 -1
  46. package/dist/building-blocks/instrument-radial/instrument-radial.d.ts +10 -0
  47. package/dist/building-blocks/instrument-radial/instrument-radial.d.ts.map +1 -1
  48. package/dist/building-blocks/instrument-radial/instrument-radial.js +86 -21
  49. package/dist/building-blocks/instrument-radial/instrument-radial.js.map +1 -1
  50. package/dist/components/accordion-card/accordion-card.css.js +34 -0
  51. package/dist/components/accordion-card/accordion-card.css.js.map +1 -1
  52. package/dist/components/accordion-card/accordion-card.d.ts +3 -2
  53. package/dist/components/accordion-card/accordion-card.d.ts.map +1 -1
  54. package/dist/components/accordion-card/accordion-card.js +4 -3
  55. package/dist/components/accordion-card/accordion-card.js.map +1 -1
  56. package/dist/components/alert-button/alert-button.css.js +744 -7
  57. package/dist/components/alert-button/alert-button.css.js.map +1 -1
  58. package/dist/components/alert-button/alert-button.d.ts +3 -1
  59. package/dist/components/alert-button/alert-button.d.ts.map +1 -1
  60. package/dist/components/alert-button/alert-button.js +33 -31
  61. package/dist/components/alert-button/alert-button.js.map +1 -1
  62. package/dist/components/alert-frame/alert-frame.css.js +116 -29
  63. package/dist/components/alert-frame/alert-frame.css.js.map +1 -1
  64. package/dist/components/alert-frame/alert-frame.d.ts +42 -15
  65. package/dist/components/alert-frame/alert-frame.d.ts.map +1 -1
  66. package/dist/components/alert-frame/alert-frame.js +68 -17
  67. package/dist/components/alert-frame/alert-frame.js.map +1 -1
  68. package/dist/components/alert-frame/critical-badge.d.ts +12 -0
  69. package/dist/components/alert-frame/critical-badge.d.ts.map +1 -0
  70. package/dist/components/alert-frame/critical-badge.js +47 -0
  71. package/dist/components/alert-frame/critical-badge.js.map +1 -0
  72. package/dist/components/alert-frame/diagnostic-badge.d.ts +12 -0
  73. package/dist/components/alert-frame/diagnostic-badge.d.ts.map +1 -0
  74. package/dist/components/alert-frame/diagnostic-badge.js +60 -0
  75. package/dist/components/alert-frame/diagnostic-badge.js.map +1 -0
  76. package/dist/components/alert-icon/alert-icon.d.ts +6 -1
  77. package/dist/components/alert-icon/alert-icon.d.ts.map +1 -1
  78. package/dist/components/alert-icon/alert-icon.js +96 -38
  79. package/dist/components/alert-icon/alert-icon.js.map +1 -1
  80. package/dist/components/alert-icon/icons/icon-critical.d.ts +3 -0
  81. package/dist/components/alert-icon/icons/icon-critical.d.ts.map +1 -0
  82. package/dist/components/alert-icon/icons/icon-critical.js +26 -0
  83. package/dist/components/alert-icon/icons/icon-critical.js.map +1 -0
  84. package/dist/components/alert-list-details/alert-list-details.d.ts.map +1 -1
  85. package/dist/components/alert-list-details/alert-list-details.js +6 -7
  86. package/dist/components/alert-list-details/alert-list-details.js.map +1 -1
  87. package/dist/components/badge/badge.css.js +50 -2
  88. package/dist/components/badge/badge.css.js.map +1 -1
  89. package/dist/components/badge/badge.d.ts +13 -2
  90. package/dist/components/badge/badge.d.ts.map +1 -1
  91. package/dist/components/badge/badge.js +54 -0
  92. package/dist/components/badge/badge.js.map +1 -1
  93. package/dist/index.js +2 -1
  94. package/dist/manual-icon/icon-alerts-critical-twotone.d.ts +30 -0
  95. package/dist/manual-icon/icon-alerts-critical-twotone.d.ts.map +1 -0
  96. package/dist/manual-icon/icon-alerts-critical-twotone.js +55 -0
  97. package/dist/manual-icon/icon-alerts-critical-twotone.js.map +1 -0
  98. package/dist/manual-icon/icon-alerts-diagnostic-twotone.d.ts +30 -0
  99. package/dist/manual-icon/icon-alerts-diagnostic-twotone.d.ts.map +1 -0
  100. package/dist/manual-icon/icon-alerts-diagnostic-twotone.js +55 -0
  101. package/dist/manual-icon/icon-alerts-diagnostic-twotone.js.map +1 -0
  102. package/dist/navigation-instruments/gauge-radial/gauge-radial.css.js +99 -0
  103. package/dist/navigation-instruments/gauge-radial/gauge-radial.css.js.map +1 -0
  104. package/dist/navigation-instruments/gauge-radial/gauge-radial.d.ts +42 -7
  105. package/dist/navigation-instruments/gauge-radial/gauge-radial.d.ts.map +1 -1
  106. package/dist/navigation-instruments/gauge-radial/gauge-radial.js +178 -31
  107. package/dist/navigation-instruments/gauge-radial/gauge-radial.js.map +1 -1
  108. package/dist/navigation-instruments/readout/readout.css.js +7 -18
  109. package/dist/navigation-instruments/readout/readout.css.js.map +1 -1
  110. package/dist/navigation-instruments/readout/readout.d.ts +6 -7
  111. package/dist/navigation-instruments/readout/readout.d.ts.map +1 -1
  112. package/dist/navigation-instruments/readout/readout.js +54 -52
  113. package/dist/navigation-instruments/readout/readout.js.map +1 -1
  114. package/dist/navigation-instruments/readout-list-item/readout-list-item.css.js +9 -36
  115. package/dist/navigation-instruments/readout-list-item/readout-list-item.css.js.map +1 -1
  116. package/dist/navigation-instruments/readout-list-item/readout-list-item.d.ts +8 -8
  117. package/dist/navigation-instruments/readout-list-item/readout-list-item.d.ts.map +1 -1
  118. package/dist/navigation-instruments/readout-list-item/readout-list-item.js +49 -42
  119. package/dist/navigation-instruments/readout-list-item/readout-list-item.js.map +1 -1
  120. package/dist/navigation-instruments/watch/tickmark.d.ts +2 -1
  121. package/dist/navigation-instruments/watch/tickmark.d.ts.map +1 -1
  122. package/dist/navigation-instruments/watch/tickmark.js +24 -4
  123. package/dist/navigation-instruments/watch/tickmark.js.map +1 -1
  124. package/dist/navigation-instruments/watch/watch.d.ts +23 -1
  125. package/dist/navigation-instruments/watch/watch.d.ts.map +1 -1
  126. package/dist/navigation-instruments/watch/watch.js +48 -20
  127. package/dist/navigation-instruments/watch/watch.js.map +1 -1
  128. package/dist/openbridge.css +155 -0
  129. package/dist/types.d.ts +7 -1
  130. package/dist/types.d.ts.map +1 -1
  131. package/dist/types.js +18 -7
  132. package/dist/types.js.map +1 -1
  133. package/package.json +1 -1
  134. package/src/alert-severity.ts +225 -0
  135. package/src/ar/building-blocks/poi-header/poi-header.css +38 -7
  136. package/src/ar/building-blocks/poi-header/poi-header.ts +6 -1
  137. package/src/ar/poi-button/poi-button.css +126 -32
  138. package/src/ar/poi-button/poi-button.ts +16 -1
  139. package/src/ar/types.ts +5 -0
  140. package/src/automation/automation-badge/automation-badge.ts +124 -17
  141. package/src/automation/automation-button/abstract-automation-button-storybook-helpers.ts +5 -0
  142. package/src/automation/automation-button/abstract-automation-button.ts +21 -3
  143. package/src/automation/automation-button/automation-button.css +9 -4
  144. package/src/automation/automation-button/automation-button.ts +25 -7
  145. package/src/automation/automation-tank/automation-tank.stories.ts +22 -0
  146. package/src/automation/automation-tank/automation-tank.ts +12 -3
  147. package/src/building-blocks/instrument-radial/instrument-radial.stories.ts +21 -0
  148. package/src/building-blocks/instrument-radial/instrument-radial.ts +118 -21
  149. package/src/components/accordion-card/accordion-card.css +33 -0
  150. package/src/components/accordion-card/accordion-card.stories.ts +2 -1
  151. package/src/components/accordion-card/accordion-card.ts +3 -4
  152. package/src/components/alert-button/alert-button.css +89 -5
  153. package/src/components/alert-button/alert-button.stories.ts +43 -0
  154. package/src/components/alert-button/alert-button.ts +43 -32
  155. package/src/components/alert-frame/alert-frame.css +116 -29
  156. package/src/components/alert-frame/alert-frame.stories.ts +63 -3
  157. package/src/components/alert-frame/alert-frame.ts +114 -23
  158. package/src/components/alert-frame/critical-badge.ts +39 -0
  159. package/src/components/alert-frame/diagnostic-badge.ts +52 -0
  160. package/src/components/alert-icon/alert-icon.stories.ts +41 -0
  161. package/src/components/alert-icon/alert-icon.ts +101 -38
  162. package/src/components/alert-icon/icons/icon-critical.ts +23 -0
  163. package/src/components/alert-list-details/alert-list-details.stories.ts +67 -0
  164. package/src/components/alert-list-details/alert-list-details.ts +11 -10
  165. package/src/components/badge/badge.css +52 -2
  166. package/src/components/badge/badge.stories.ts +75 -0
  167. package/src/components/badge/badge.ts +70 -2
  168. package/src/main.css +1 -0
  169. package/src/manual-icon/icon-alerts-critical-twotone.ts +60 -0
  170. package/src/manual-icon/icon-alerts-diagnostic-twotone.ts +60 -0
  171. package/src/mixins/alert.css +29 -0
  172. package/src/navigation-instruments/gauge-radial/gauge-radial.css +85 -0
  173. package/src/navigation-instruments/gauge-radial/gauge-radial.stories.ts +149 -7
  174. package/src/navigation-instruments/gauge-radial/gauge-radial.ts +212 -33
  175. package/src/navigation-instruments/readout/readout.css +7 -24
  176. package/src/navigation-instruments/readout/readout.stories.ts +57 -4
  177. package/src/navigation-instruments/readout/readout.ts +69 -63
  178. package/src/navigation-instruments/readout-list-item/readout-list-item.css +9 -42
  179. package/src/navigation-instruments/readout-list-item/readout-list-item.stories.ts +57 -14
  180. package/src/navigation-instruments/readout-list-item/readout-list-item.ts +54 -44
  181. package/src/navigation-instruments/watch/tickmark.ts +33 -6
  182. package/src/navigation-instruments/watch/watch.ts +60 -25
  183. package/src/palettes/critical.md +95 -0
  184. package/src/palettes/manual.css +165 -0
  185. package/src/types.ts +20 -3
@@ -0,0 +1,225 @@
1
+ /**
2
+ * `alert-severity` – Pure helper module mapping alert severities to their
3
+ * visual, behavioral, and acknowledgement semantics.
4
+ *
5
+ * Centralizes the per-`AlertType` decisions shared across alert-rendering
6
+ * components (badges, twotone icons, frames, lists) so that severity behavior
7
+ * stays consistent everywhere. Supports both the legacy severities
8
+ * (`alarm`, `warning`, `caution`) and the ISA severities
9
+ * (`isa-critical`, `isa-high`, `isa-medium`, `isa-low`, `isa-diagnostic`),
10
+ * collapsing the ISA set onto the legacy visual/blink treatments where they
11
+ * share styling.
12
+ *
13
+ * Features:
14
+ * - Color tokens: `getAlertColorTokens` returns background/border/on-active
15
+ * CSS custom properties per severity.
16
+ * - Component selectors: `getAlertBadgeComponent` and
17
+ * `getAlertTwotoneComponent` resolve the badge/icon element tag for a
18
+ * severity.
19
+ * - Blinking: `supportsBlinking` reports whether a severity blinks,
20
+ * `getAlertBlinkMode` resolves its blink mode, and
21
+ * `getBamAlertTypeForBlinking` maps ISA severities onto the legacy type used
22
+ * by the bridge alert management (BAM) blink machinery.
23
+ * - Acknowledgement & filtering: `requiresAcknowledgement` reports whether a
24
+ * severity needs an ACK action, `excludedFromUnackedFilter` reports whether
25
+ * it is hidden from the "unacked" view, and `usesAlarmNoAckIcon` selects the
26
+ * alarm-style no-ack icon.
27
+ * - Priority: re-exports `ALERT_SEVERITY_PRIORITY`, the ordered severity list
28
+ * (most → least severe) used to sort alerts.
29
+ *
30
+ * Usage:
31
+ * ```ts
32
+ * import {
33
+ * getAlertColorTokens,
34
+ * requiresAcknowledgement,
35
+ * ALERT_SEVERITY_PRIORITY,
36
+ * } from './alert-severity.js';
37
+ * import {AlertType} from './types.js';
38
+ *
39
+ * const tokens = getAlertColorTokens(AlertType.IsaHigh);
40
+ * const needsAck = requiresAcknowledgement(AlertType.IsaLow); // true
41
+ * alerts.sort(
42
+ * (a, b) =>
43
+ * ALERT_SEVERITY_PRIORITY.indexOf(a.type) -
44
+ * ALERT_SEVERITY_PRIORITY.indexOf(b.type)
45
+ * );
46
+ * ```
47
+ */
48
+ import {AlertType, ALERT_SEVERITY_PRIORITY} from './types.js';
49
+
50
+ export {ALERT_SEVERITY_PRIORITY};
51
+
52
+ export enum AlertBadgeComponent {
53
+ Alarm = 'obi-alarm-badge',
54
+ Warning = 'obi-warning-badge',
55
+ Caution = 'obi-caution-badge',
56
+ Critical = 'obi-critical-badge',
57
+ Diagnostic = 'obi-diagnostic-badge',
58
+ }
59
+
60
+ export type AlertColorTokens = {
61
+ bg: string;
62
+ border: string;
63
+ onActive: string;
64
+ };
65
+
66
+ export function requiresAcknowledgement(type: AlertType): boolean {
67
+ return [
68
+ AlertType.Alarm,
69
+ AlertType.Warning,
70
+ AlertType.IsaCritical,
71
+ AlertType.IsaHigh,
72
+ AlertType.IsaMedium,
73
+ AlertType.IsaLow,
74
+ ].includes(type);
75
+ }
76
+
77
+ export function supportsBlinking(type: AlertType): boolean {
78
+ return [
79
+ AlertType.Alarm,
80
+ AlertType.Warning,
81
+ AlertType.IsaCritical,
82
+ AlertType.IsaHigh,
83
+ AlertType.IsaMedium,
84
+ AlertType.IsaLow,
85
+ ].includes(type);
86
+ }
87
+
88
+ export function getAlertSeverityCssClass(type: AlertType): string {
89
+ return type;
90
+ }
91
+
92
+ export function getAlertColorTokens(type: AlertType): AlertColorTokens {
93
+ switch (type) {
94
+ case AlertType.IsaCritical:
95
+ return {
96
+ bg: 'var(--critical-enabled-background-color)',
97
+ border: 'var(--critical-enabled-border-color)',
98
+ onActive: 'var(--on-critical-active-color)',
99
+ };
100
+ case AlertType.Warning:
101
+ case AlertType.IsaMedium:
102
+ return {
103
+ bg: 'var(--alert-warning-color)',
104
+ border: 'var(--alert-warning-outline-color)',
105
+ onActive: 'var(--on-warning-active-color)',
106
+ };
107
+ case AlertType.Caution:
108
+ case AlertType.IsaLow:
109
+ return {
110
+ bg: 'var(--alert-caution-color)',
111
+ border: 'var(--alert-caution-outline-color)',
112
+ onActive: 'var(--on-caution-active-color)',
113
+ };
114
+ case AlertType.IsaDiagnostic:
115
+ return {
116
+ bg: 'var(--notification-enabled-background-color)',
117
+ border: 'var(--notification-enabled-border-color)',
118
+ onActive: 'var(--on-notification-active-color)',
119
+ };
120
+ case AlertType.Alarm:
121
+ case AlertType.IsaHigh:
122
+ default:
123
+ return {
124
+ bg: 'var(--alert-alarm-color)',
125
+ border: 'var(--alert-alarm-outline-color)',
126
+ onActive: 'var(--on-alarm-active-color)',
127
+ };
128
+ }
129
+ }
130
+
131
+ export function getAlertBadgeComponent(type: AlertType): AlertBadgeComponent {
132
+ switch (type) {
133
+ case AlertType.IsaCritical:
134
+ return AlertBadgeComponent.Critical;
135
+ case AlertType.Warning:
136
+ case AlertType.IsaMedium:
137
+ return AlertBadgeComponent.Warning;
138
+ case AlertType.Caution:
139
+ case AlertType.IsaLow:
140
+ return AlertBadgeComponent.Caution;
141
+ case AlertType.IsaDiagnostic:
142
+ return AlertBadgeComponent.Diagnostic;
143
+ case AlertType.Alarm:
144
+ case AlertType.IsaHigh:
145
+ default:
146
+ return AlertBadgeComponent.Alarm;
147
+ }
148
+ }
149
+
150
+ export enum AlertTwotoneComponent {
151
+ Alarm = 'obi-alerts-alarm-twotone',
152
+ Warning = 'obi-alerts-warning-twotone',
153
+ Caution = 'obi-alerts-caution-twotone',
154
+ Critical = 'obi-alerts-critical-twotone',
155
+ Diagnostic = 'obi-alerts-diagnostic-twotone',
156
+ }
157
+
158
+ export function getAlertTwotoneComponent(
159
+ type: AlertType
160
+ ): AlertTwotoneComponent {
161
+ switch (type) {
162
+ case AlertType.IsaCritical:
163
+ return AlertTwotoneComponent.Critical;
164
+ case AlertType.IsaDiagnostic:
165
+ return AlertTwotoneComponent.Diagnostic;
166
+ case AlertType.Warning:
167
+ case AlertType.IsaMedium:
168
+ return AlertTwotoneComponent.Warning;
169
+ case AlertType.Caution:
170
+ case AlertType.IsaLow:
171
+ return AlertTwotoneComponent.Caution;
172
+ case AlertType.Alarm:
173
+ case AlertType.IsaHigh:
174
+ default:
175
+ return AlertTwotoneComponent.Alarm;
176
+ }
177
+ }
178
+
179
+ export enum AlertBlinkMode {
180
+ Critical = 'critical',
181
+ Alarm = 'alarm',
182
+ Warning = 'warning',
183
+ Low = 'low',
184
+ }
185
+
186
+ export function getAlertBlinkMode(type: AlertType): AlertBlinkMode {
187
+ switch (type) {
188
+ case AlertType.IsaCritical:
189
+ return AlertBlinkMode.Critical;
190
+ case AlertType.Warning:
191
+ case AlertType.IsaMedium:
192
+ return AlertBlinkMode.Warning;
193
+ case AlertType.Caution:
194
+ case AlertType.IsaLow:
195
+ return AlertBlinkMode.Low;
196
+ case AlertType.Alarm:
197
+ case AlertType.IsaHigh:
198
+ default:
199
+ return AlertBlinkMode.Alarm;
200
+ }
201
+ }
202
+
203
+ export function getBamAlertTypeForBlinking(type: AlertType): AlertType {
204
+ switch (type) {
205
+ case AlertType.IsaCritical:
206
+ case AlertType.IsaHigh:
207
+ return AlertType.Alarm;
208
+ case AlertType.IsaMedium:
209
+ return AlertType.Warning;
210
+ case AlertType.IsaLow:
211
+ return AlertType.Caution;
212
+ default:
213
+ return type;
214
+ }
215
+ }
216
+
217
+ export function excludedFromUnackedFilter(type: AlertType): boolean {
218
+ return [AlertType.Caution, AlertType.IsaDiagnostic].includes(type);
219
+ }
220
+
221
+ export function usesAlarmNoAckIcon(type: AlertType): boolean {
222
+ return [AlertType.Alarm, AlertType.IsaCritical, AlertType.IsaHigh].includes(
223
+ type
224
+ );
225
+ }
@@ -31,26 +31,44 @@
31
31
  border: 1px solid var(--overlay-border-outline-color);
32
32
  }
33
33
 
34
- .wrapper.type-id.state-caution {
34
+ .wrapper.type-id.state-caution,
35
+ .wrapper.type-id.state-isa-low {
35
36
  background: var(--alert-caution-color);
36
37
  border: 1px solid var(--alert-caution-outline-color);
37
38
  }
38
39
 
39
- .wrapper.type-id.state-warning {
40
+ .wrapper.type-id.state-warning,
41
+ .wrapper.type-id.state-isa-medium {
40
42
  background: var(--alert-warning-color);
41
43
  border: 1px solid var(--alert-warning-outline-color);
42
44
  }
43
45
 
44
- .wrapper.type-id.state-alarm {
46
+ .wrapper.type-id.state-alarm,
47
+ .wrapper.type-id.state-isa-high {
45
48
  background: var(--alert-alarm-color);
46
49
  border: 1px solid var(--alert-alarm-outline-color);
47
50
  }
48
51
 
52
+ .wrapper.type-id.state-isa-critical {
53
+ background: var(--critical-enabled-background-color);
54
+ border: 1px solid var(--critical-enabled-border-color);
55
+ }
56
+
57
+ .wrapper.type-id.state-isa-diagnostic {
58
+ background: var(--notification-enabled-background-color);
59
+ border: 1px solid var(--notification-enabled-border-color);
60
+ }
61
+
49
62
  .wrapper.type-data:is(
50
63
  .state-selected,
51
64
  .state-caution,
52
65
  .state-warning,
53
- .state-alarm
66
+ .state-alarm,
67
+ .state-isa-critical,
68
+ .state-isa-high,
69
+ .state-isa-medium,
70
+ .state-isa-low,
71
+ .state-isa-diagnostic
54
72
  ) {
55
73
  background: var(--overlay-container-background-color);
56
74
  border: 1px solid var(--overlay-border-outline-color);
@@ -104,21 +122,34 @@
104
122
  border: 1px solid var(--overlay-border-outline-color);
105
123
  }
106
124
 
107
- .wrapper.type-data.state-caution .id-pill {
125
+ .wrapper.type-data.state-caution .id-pill,
126
+ .wrapper.type-data.state-isa-low .id-pill {
108
127
  background: var(--alert-caution-color);
109
128
  border: 1px solid var(--alert-caution-outline-color);
110
129
  }
111
130
 
112
- .wrapper.type-data.state-warning .id-pill {
131
+ .wrapper.type-data.state-warning .id-pill,
132
+ .wrapper.type-data.state-isa-medium .id-pill {
113
133
  background: var(--alert-warning-color);
114
134
  border: 1px solid var(--alert-warning-outline-color);
115
135
  }
116
136
 
117
- .wrapper.type-data.state-alarm .id-pill {
137
+ .wrapper.type-data.state-alarm .id-pill,
138
+ .wrapper.type-data.state-isa-high .id-pill {
118
139
  background: var(--alert-alarm-color);
119
140
  border: 1px solid var(--alert-alarm-outline-color);
120
141
  }
121
142
 
143
+ .wrapper.type-data.state-isa-critical .id-pill {
144
+ background: var(--critical-enabled-background-color);
145
+ border: 1px solid var(--critical-enabled-border-color);
146
+ }
147
+
148
+ .wrapper.type-data.state-isa-diagnostic .id-pill {
149
+ background: var(--notification-enabled-background-color);
150
+ border: 1px solid var(--notification-enabled-border-color);
151
+ }
152
+
122
153
  .id-text {
123
154
  @mixin font-label-active;
124
155
  text-align: center;
@@ -14,6 +14,11 @@ export enum ObcPoiHeaderState {
14
14
  Caution = 'caution',
15
15
  Warning = 'warning',
16
16
  Alarm = 'alarm',
17
+ IsaCritical = 'isa-critical',
18
+ IsaHigh = 'isa-high',
19
+ IsaMedium = 'isa-medium',
20
+ IsaLow = 'isa-low',
21
+ IsaDiagnostic = 'isa-diagnostic',
17
22
  }
18
23
 
19
24
  export enum ObcPoiHeaderType {
@@ -32,7 +37,7 @@ export enum ObcPoiHeaderType {
32
37
  * - `type` (default `id`):
33
38
  * - `id`: shows identifier content only.
34
39
  * - `data`: shows identifier plus secondary label.
35
- * - `state` (default `enabled`): `enabled`, `selected`, `caution`, `warning`, `alarm`.
40
+ * - `state` (default `enabled`): `enabled`, `selected`, `caution`, `warning`, `alarm`, `isa-critical`, `isa-high`, `isa-medium`, `isa-low`, `isa-diagnostic`.
36
41
  * - `content` (default `"1"`): primary identifier text.
37
42
  * - `label` (default `"Data"`): secondary text used by `type="data"`.
38
43
  * - `hasIndicator` (default `false`): appends indicator area.
@@ -119,15 +119,25 @@
119
119
  }
120
120
  }
121
121
 
122
- &.alert-caution {
122
+ &.alert-alarm,
123
+ &.alert-isa-high {
123
124
  .alert-ring {
124
- background: var(--alert-caution-color);
125
- border-color: var(--alert-caution-outline-color);
126
- outline-color: var(--alert-caution-outline-color);
125
+ background: var(--alert-alarm-color);
126
+ border-color: var(--alert-alarm-outline-color);
127
+ outline-color: var(--alert-alarm-outline-color);
128
+ }
129
+ }
130
+
131
+ &.alert-isa-critical {
132
+ .alert-ring {
133
+ background: var(--critical-enabled-background-color);
134
+ border-color: var(--critical-enabled-border-color);
135
+ outline-color: var(--critical-enabled-border-color);
127
136
  }
128
137
  }
129
138
 
130
- &.alert-warning {
139
+ &.alert-warning,
140
+ &.alert-isa-medium {
131
141
  .alert-ring {
132
142
  background: var(--alert-warning-color);
133
143
  border-color: var(--alert-warning-outline-color);
@@ -135,11 +145,20 @@
135
145
  }
136
146
  }
137
147
 
138
- &.alert-alarm {
148
+ &.alert-caution,
149
+ &.alert-isa-low {
139
150
  .alert-ring {
140
- background: var(--alert-alarm-color);
141
- border-color: var(--alert-alarm-outline-color);
142
- outline-color: var(--alert-alarm-outline-color);
151
+ background: var(--alert-caution-color);
152
+ border-color: var(--alert-caution-outline-color);
153
+ outline-color: var(--alert-caution-outline-color);
154
+ }
155
+ }
156
+
157
+ &.alert-isa-diagnostic {
158
+ .alert-ring {
159
+ background: var(--notification-enabled-background-color);
160
+ border-color: var(--notification-enabled-border-color);
161
+ outline-color: var(--notification-enabled-border-color);
143
162
  }
144
163
  }
145
164
 
@@ -245,52 +264,101 @@
245
264
 
246
265
  /* Overlap alert color styles */
247
266
  .wrapper.value-overlapped {
248
- &.alert-caution {
249
- --overlay-container-background-color: var(--alert-caution-color, #ffdb42);
250
- --overlay-border-outline-color: var(--alert-caution-outline-color);
267
+ &.alert-alarm,
268
+ &.alert-isa-high {
269
+ --overlay-container-background-color: var(--alert-alarm-color, #e30019);
270
+ --overlay-border-outline-color: var(--alert-alarm-outline-color);
251
271
  }
252
272
 
253
- &.alert-caution .poi-object {
254
- --overlay-container-background-color: var(--alert-caution-color, #ffdb42);
255
- --overlay-border-outline-color: var(--alert-caution-outline-color);
273
+ &.alert-alarm .poi-object,
274
+ &.alert-isa-high .poi-object {
275
+ --overlay-container-background-color: var(--alert-alarm-color, #e30019);
276
+ --overlay-border-outline-color: var(--alert-alarm-outline-color);
277
+ }
278
+
279
+ &.alert-isa-critical {
280
+ --overlay-container-background-color: var(
281
+ --critical-enabled-background-color
282
+ );
283
+ --overlay-border-outline-color: var(--critical-enabled-border-color);
256
284
  }
257
285
 
258
- &.alert-warning {
286
+ &.alert-isa-critical .poi-object {
287
+ --overlay-container-background-color: var(
288
+ --critical-enabled-background-color
289
+ );
290
+ --overlay-border-outline-color: var(--critical-enabled-border-color);
291
+ }
292
+
293
+ &.alert-warning,
294
+ &.alert-isa-medium {
259
295
  --overlay-container-background-color: var(--alert-warning-color, #fe9413);
260
296
  --overlay-border-outline-color: var(--alert-warning-outline-color);
261
297
  }
262
298
 
263
- &.alert-warning .poi-object {
299
+ &.alert-warning .poi-object,
300
+ &.alert-isa-medium .poi-object {
264
301
  --overlay-container-background-color: var(--alert-warning-color, #fe9413);
265
302
  --overlay-border-outline-color: var(--alert-warning-outline-color);
266
303
  }
267
304
 
268
- &.alert-alarm {
269
- --overlay-container-background-color: var(--alert-alarm-color, #e30019);
270
- --overlay-border-outline-color: var(--alert-alarm-outline-color);
305
+ &.alert-caution,
306
+ &.alert-isa-low {
307
+ --overlay-container-background-color: var(--alert-caution-color, #ffdb42);
308
+ --overlay-border-outline-color: var(--alert-caution-outline-color);
271
309
  }
272
310
 
273
- &.alert-alarm .poi-object {
274
- --overlay-container-background-color: var(--alert-alarm-color, #e30019);
275
- --overlay-border-outline-color: var(--alert-alarm-outline-color);
311
+ &.alert-caution .poi-object,
312
+ &.alert-isa-low .poi-object {
313
+ --overlay-container-background-color: var(--alert-caution-color, #ffdb42);
314
+ --overlay-border-outline-color: var(--alert-caution-outline-color);
315
+ }
316
+
317
+ &.alert-isa-diagnostic {
318
+ --overlay-container-background-color: var(
319
+ --notification-enabled-background-color
320
+ );
321
+ --overlay-border-outline-color: var(--notification-enabled-border-color);
322
+ }
323
+
324
+ &.alert-isa-diagnostic .poi-object {
325
+ --overlay-container-background-color: var(
326
+ --notification-enabled-background-color
327
+ );
328
+ --overlay-border-outline-color: var(--notification-enabled-border-color);
276
329
  }
277
330
  }
278
331
 
279
- .wrapper.value-overlapped.alert-caution .poi-object::part(background-frame) {
332
+ .wrapper.value-overlapped.alert-caution .poi-object::part(background-frame),
333
+ .wrapper.value-overlapped.alert-isa-low .poi-object::part(background-frame) {
280
334
  background-color: var(--alert-caution-color, #ffdb42);
281
335
  border-color: var(--alert-caution-outline-color);
282
336
  }
283
337
 
284
- .wrapper.value-overlapped.alert-warning .poi-object::part(background-frame) {
338
+ .wrapper.value-overlapped.alert-warning .poi-object::part(background-frame),
339
+ .wrapper.value-overlapped.alert-isa-medium .poi-object::part(background-frame) {
285
340
  background-color: var(--alert-warning-color, #fe9413);
286
341
  border-color: var(--alert-warning-outline-color);
287
342
  }
288
343
 
289
- .wrapper.value-overlapped.alert-alarm .poi-object::part(background-frame) {
344
+ .wrapper.value-overlapped.alert-alarm .poi-object::part(background-frame),
345
+ .wrapper.value-overlapped.alert-isa-high .poi-object::part(background-frame) {
290
346
  background-color: var(--alert-alarm-color, #e30019);
291
347
  border-color: var(--alert-alarm-outline-color);
292
348
  }
293
349
 
350
+ .wrapper.value-overlapped.alert-isa-critical
351
+ .poi-object::part(background-frame) {
352
+ background-color: var(--critical-enabled-background-color);
353
+ border-color: var(--critical-enabled-border-color);
354
+ }
355
+
356
+ .wrapper.value-overlapped.alert-isa-diagnostic
357
+ .poi-object::part(background-frame) {
358
+ background-color: var(--notification-enabled-background-color);
359
+ border-color: var(--notification-enabled-border-color);
360
+ }
361
+
294
362
  ::slotted(:not([slot])) {
295
363
  width: 100%;
296
364
  height: 100%;
@@ -317,20 +385,33 @@
317
385
  display: none;
318
386
  }
319
387
 
320
- .alert-caution & {
388
+ .alert-caution &,
389
+ .alert-isa-low & {
321
390
  border-color: var(--alert-caution-outline-color);
322
391
  outline-color: var(--alert-caution-color);
323
392
  }
324
393
 
325
- .alert-warning & {
394
+ .alert-warning &,
395
+ .alert-isa-medium & {
326
396
  border-color: var(--alert-warning-outline-color);
327
397
  outline-color: var(--alert-warning-color);
328
398
  }
329
399
 
330
- .alert-alarm & {
400
+ .alert-alarm &,
401
+ .alert-isa-high & {
331
402
  border-color: var(--alert-alarm-outline-color);
332
403
  outline-color: var(--alert-alarm-color);
333
404
  }
405
+
406
+ .alert-isa-critical & {
407
+ border-color: var(--critical-enabled-border-color);
408
+ outline-color: var(--critical-enabled-background-color);
409
+ }
410
+
411
+ .alert-isa-diagnostic & {
412
+ border-color: var(--notification-enabled-border-color);
413
+ outline-color: var(--notification-enabled-background-color);
414
+ }
334
415
  }
335
416
 
336
417
  .id-label {
@@ -405,21 +486,34 @@
405
486
  opacity: var(--obc-poi-overlap-wrapper-opacity, 0.6);
406
487
  }
407
488
 
408
- .wrapper.value-overlapped.has-data.alert-caution {
489
+ .wrapper.value-overlapped.has-data.alert-caution,
490
+ .wrapper.value-overlapped.has-data.alert-isa-low {
409
491
  background: var(--alert-caution-color, #ffdb42);
410
492
  border-color: var(--alert-caution-outline-color);
411
493
  }
412
494
 
413
- .wrapper.value-overlapped.has-data.alert-warning {
495
+ .wrapper.value-overlapped.has-data.alert-warning,
496
+ .wrapper.value-overlapped.has-data.alert-isa-medium {
414
497
  background: var(--alert-warning-color, #fe9413);
415
498
  border-color: var(--alert-warning-outline-color);
416
499
  }
417
500
 
418
- .wrapper.value-overlapped.has-data.alert-alarm {
501
+ .wrapper.value-overlapped.has-data.alert-alarm,
502
+ .wrapper.value-overlapped.has-data.alert-isa-high {
419
503
  background: var(--alert-alarm-color, #e30019);
420
504
  border-color: var(--alert-alarm-outline-color);
421
505
  }
422
506
 
507
+ .wrapper.value-overlapped.has-data.alert-isa-critical {
508
+ background: var(--critical-enabled-background-color);
509
+ border-color: var(--critical-enabled-border-color);
510
+ }
511
+
512
+ .wrapper.value-overlapped.has-data.alert-isa-diagnostic {
513
+ background: var(--notification-enabled-background-color);
514
+ border-color: var(--notification-enabled-border-color);
515
+ }
516
+
423
517
  .wrapper.value-overlapped:not(.layout-inline).has-data {
424
518
  width: var(--maneuvering-components-poi-button-touch-target, 48px);
425
519
  min-width: var(--maneuvering-components-poi-button-touch-target, 48px);
@@ -34,6 +34,11 @@ export enum ObcPoiButtonState {
34
34
  Caution = 'caution',
35
35
  Warning = 'warning',
36
36
  Alarm = 'alarm',
37
+ IsaCritical = 'isa-critical',
38
+ IsaHigh = 'isa-high',
39
+ IsaMedium = 'isa-medium',
40
+ IsaLow = 'isa-low',
41
+ IsaDiagnostic = 'isa-diagnostic',
37
42
  }
38
43
 
39
44
  export enum PoiButtonVisualState {
@@ -90,7 +95,7 @@ export interface ObcPoiButtonDataItem {
90
95
  * - `layout` (default `anchored`): `anchored` or `inline`.
91
96
  * - `value` (default `unchecked`): `unchecked`, `checked`, `activated`, `overlapped`.
92
97
  * - `overlapOpaque` (default `false`): controls overlapped opacity mode (`false` = translucent, `true` = opaque).
93
- * - `state` (default `enabled`): `enabled`, `caution`, `warning`, `alarm`.
98
+ * - `state` (default `enabled`): `enabled`, `caution`, `warning`, `alarm`, `isa-critical`, `isa-high`, `isa-medium`, `isa-low`, `isa-diagnostic`.
94
99
  * - `selected` (default `false`): shows selection frame in anchored layout.
95
100
  * - `relativeDirection` (default `0`): rotates default-slot icon content in degrees.
96
101
  * - `data` (default `[]`): when non-empty, renders value/label/unit rows.
@@ -207,6 +212,16 @@ export class ObcPoiButton extends LitElement {
207
212
  return ObcPoiHeaderState.Warning;
208
213
  case ObcPoiButtonState.Alarm:
209
214
  return ObcPoiHeaderState.Alarm;
215
+ case ObcPoiButtonState.IsaCritical:
216
+ return ObcPoiHeaderState.IsaCritical;
217
+ case ObcPoiButtonState.IsaHigh:
218
+ return ObcPoiHeaderState.IsaHigh;
219
+ case ObcPoiButtonState.IsaMedium:
220
+ return ObcPoiHeaderState.IsaMedium;
221
+ case ObcPoiButtonState.IsaLow:
222
+ return ObcPoiHeaderState.IsaLow;
223
+ case ObcPoiButtonState.IsaDiagnostic:
224
+ return ObcPoiHeaderState.IsaDiagnostic;
210
225
  case ObcPoiButtonState.Enabled:
211
226
  default:
212
227
  return ObcPoiHeaderState.Selected;
package/src/ar/types.ts CHANGED
@@ -3,4 +3,9 @@ export enum ObcArAlertType {
3
3
  Caution = 'caution',
4
4
  Warning = 'warning',
5
5
  Alarm = 'alarm',
6
+ IsaCritical = 'isa-critical',
7
+ IsaHigh = 'isa-high',
8
+ IsaMedium = 'isa-medium',
9
+ IsaLow = 'isa-low',
10
+ IsaDiagnostic = 'isa-diagnostic',
6
11
  }