@oicl/openbridge-webcomponents-full-bundle 2.0.0-next.58 → 2.0.0-next.60

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 (213) hide show
  1. package/bundle/openbridge-webcomponents.bundle.js +8144 -5241
  2. package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
  3. package/custom-elements.json +1937 -78
  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/components/accordion-card/accordion-card.css.js +34 -0
  47. package/dist/components/accordion-card/accordion-card.css.js.map +1 -1
  48. package/dist/components/accordion-card/accordion-card.d.ts +3 -2
  49. package/dist/components/accordion-card/accordion-card.d.ts.map +1 -1
  50. package/dist/components/accordion-card/accordion-card.js +4 -3
  51. package/dist/components/accordion-card/accordion-card.js.map +1 -1
  52. package/dist/components/alert-button/alert-button.css.js +744 -7
  53. package/dist/components/alert-button/alert-button.css.js.map +1 -1
  54. package/dist/components/alert-button/alert-button.d.ts +3 -1
  55. package/dist/components/alert-button/alert-button.d.ts.map +1 -1
  56. package/dist/components/alert-button/alert-button.js +33 -31
  57. package/dist/components/alert-button/alert-button.js.map +1 -1
  58. package/dist/components/alert-frame/alert-frame.css.js +116 -29
  59. package/dist/components/alert-frame/alert-frame.css.js.map +1 -1
  60. package/dist/components/alert-frame/alert-frame.d.ts +42 -15
  61. package/dist/components/alert-frame/alert-frame.d.ts.map +1 -1
  62. package/dist/components/alert-frame/alert-frame.js +68 -17
  63. package/dist/components/alert-frame/alert-frame.js.map +1 -1
  64. package/dist/components/alert-frame/critical-badge.d.ts +12 -0
  65. package/dist/components/alert-frame/critical-badge.d.ts.map +1 -0
  66. package/dist/components/alert-frame/critical-badge.js +47 -0
  67. package/dist/components/alert-frame/critical-badge.js.map +1 -0
  68. package/dist/components/alert-frame/diagnostic-badge.d.ts +12 -0
  69. package/dist/components/alert-frame/diagnostic-badge.d.ts.map +1 -0
  70. package/dist/components/alert-frame/diagnostic-badge.js +60 -0
  71. package/dist/components/alert-frame/diagnostic-badge.js.map +1 -0
  72. package/dist/components/alert-icon/alert-icon.d.ts +6 -1
  73. package/dist/components/alert-icon/alert-icon.d.ts.map +1 -1
  74. package/dist/components/alert-icon/alert-icon.js +96 -38
  75. package/dist/components/alert-icon/alert-icon.js.map +1 -1
  76. package/dist/components/alert-icon/icons/icon-critical.d.ts +3 -0
  77. package/dist/components/alert-icon/icons/icon-critical.d.ts.map +1 -0
  78. package/dist/components/alert-icon/icons/icon-critical.js +26 -0
  79. package/dist/components/alert-icon/icons/icon-critical.js.map +1 -0
  80. package/dist/components/alert-list-details/alert-list-details.d.ts.map +1 -1
  81. package/dist/components/alert-list-details/alert-list-details.js +6 -7
  82. package/dist/components/alert-list-details/alert-list-details.js.map +1 -1
  83. package/dist/components/badge/badge.css.js +50 -2
  84. package/dist/components/badge/badge.css.js.map +1 -1
  85. package/dist/components/badge/badge.d.ts +13 -2
  86. package/dist/components/badge/badge.d.ts.map +1 -1
  87. package/dist/components/badge/badge.js +54 -0
  88. package/dist/components/badge/badge.js.map +1 -1
  89. package/dist/components/navigation-item/navigation-item.css.js +5 -0
  90. package/dist/components/navigation-item/navigation-item.css.js.map +1 -1
  91. package/dist/components/navigation-item/navigation-item.d.ts +18 -0
  92. package/dist/components/navigation-item/navigation-item.d.ts.map +1 -1
  93. package/dist/components/navigation-item/navigation-item.js +49 -1
  94. package/dist/components/navigation-item/navigation-item.js.map +1 -1
  95. package/dist/components/navigation-item-group/navigation-item-group.css.js +8 -0
  96. package/dist/components/navigation-item-group/navigation-item-group.css.js.map +1 -1
  97. package/dist/components/navigation-item-group/navigation-item-group.d.ts +22 -0
  98. package/dist/components/navigation-item-group/navigation-item-group.d.ts.map +1 -1
  99. package/dist/components/navigation-item-group/navigation-item-group.js +63 -1
  100. package/dist/components/navigation-item-group/navigation-item-group.js.map +1 -1
  101. package/dist/components/navigation-menu/navigation-menu.d.ts +29 -1
  102. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -1
  103. package/dist/components/navigation-menu/navigation-menu.js +105 -0
  104. package/dist/components/navigation-menu/navigation-menu.js.map +1 -1
  105. package/dist/components/tree-navigation/tree-navigation.css.js +18 -0
  106. package/dist/components/tree-navigation/tree-navigation.css.js.map +1 -0
  107. package/dist/components/tree-navigation/tree-navigation.d.ts +74 -0
  108. package/dist/components/tree-navigation/tree-navigation.d.ts.map +1 -0
  109. package/dist/components/tree-navigation/tree-navigation.js +120 -0
  110. package/dist/components/tree-navigation/tree-navigation.js.map +1 -0
  111. package/dist/components/tree-navigation-group/tree-navigation-group.css.js +22 -0
  112. package/dist/components/tree-navigation-group/tree-navigation-group.css.js.map +1 -0
  113. package/dist/components/tree-navigation-group/tree-navigation-group.d.ts +94 -0
  114. package/dist/components/tree-navigation-group/tree-navigation-group.d.ts.map +1 -0
  115. package/dist/components/tree-navigation-group/tree-navigation-group.js +116 -0
  116. package/dist/components/tree-navigation-group/tree-navigation-group.js.map +1 -0
  117. package/dist/components/tree-navigation-item/tree-navigation-item.css.js +429 -0
  118. package/dist/components/tree-navigation-item/tree-navigation-item.css.js.map +1 -0
  119. package/dist/components/tree-navigation-item/tree-navigation-item.d.ts +160 -0
  120. package/dist/components/tree-navigation-item/tree-navigation-item.d.ts.map +1 -0
  121. package/dist/components/tree-navigation-item/tree-navigation-item.js +208 -0
  122. package/dist/components/tree-navigation-item/tree-navigation-item.js.map +1 -0
  123. package/dist/index.js +2 -1
  124. package/dist/internal/tree-roving-navigator.d.ts +71 -0
  125. package/dist/internal/tree-roving-navigator.d.ts.map +1 -0
  126. package/dist/internal/tree-roving-navigator.js +172 -0
  127. package/dist/internal/tree-roving-navigator.js.map +1 -0
  128. package/dist/manual-icon/icon-alerts-critical-twotone.d.ts +30 -0
  129. package/dist/manual-icon/icon-alerts-critical-twotone.d.ts.map +1 -0
  130. package/dist/manual-icon/icon-alerts-critical-twotone.js +55 -0
  131. package/dist/manual-icon/icon-alerts-critical-twotone.js.map +1 -0
  132. package/dist/manual-icon/icon-alerts-diagnostic-twotone.d.ts +30 -0
  133. package/dist/manual-icon/icon-alerts-diagnostic-twotone.d.ts.map +1 -0
  134. package/dist/manual-icon/icon-alerts-diagnostic-twotone.js +55 -0
  135. package/dist/manual-icon/icon-alerts-diagnostic-twotone.js.map +1 -0
  136. package/dist/navigation-instruments/readout/readout.css.js +3 -18
  137. package/dist/navigation-instruments/readout/readout.css.js.map +1 -1
  138. package/dist/navigation-instruments/readout/readout.d.ts +6 -7
  139. package/dist/navigation-instruments/readout/readout.d.ts.map +1 -1
  140. package/dist/navigation-instruments/readout/readout.js +54 -52
  141. package/dist/navigation-instruments/readout/readout.js.map +1 -1
  142. package/dist/navigation-instruments/readout-list-item/readout-list-item.css.js +9 -36
  143. package/dist/navigation-instruments/readout-list-item/readout-list-item.css.js.map +1 -1
  144. package/dist/navigation-instruments/readout-list-item/readout-list-item.d.ts +8 -8
  145. package/dist/navigation-instruments/readout-list-item/readout-list-item.d.ts.map +1 -1
  146. package/dist/navigation-instruments/readout-list-item/readout-list-item.js +49 -42
  147. package/dist/navigation-instruments/readout-list-item/readout-list-item.js.map +1 -1
  148. package/dist/openbridge.css +155 -0
  149. package/dist/types.d.ts +7 -1
  150. package/dist/types.d.ts.map +1 -1
  151. package/dist/types.js +18 -7
  152. package/dist/types.js.map +1 -1
  153. package/package.json +1 -1
  154. package/src/alert-severity.ts +225 -0
  155. package/src/ar/building-blocks/poi-header/poi-header.css +38 -7
  156. package/src/ar/building-blocks/poi-header/poi-header.ts +6 -1
  157. package/src/ar/poi-button/poi-button.css +126 -32
  158. package/src/ar/poi-button/poi-button.ts +16 -1
  159. package/src/ar/types.ts +5 -0
  160. package/src/automation/automation-badge/automation-badge.ts +124 -17
  161. package/src/automation/automation-button/abstract-automation-button-storybook-helpers.ts +5 -0
  162. package/src/automation/automation-button/abstract-automation-button.ts +21 -3
  163. package/src/automation/automation-button/automation-button.css +9 -4
  164. package/src/automation/automation-button/automation-button.ts +25 -7
  165. package/src/automation/automation-tank/automation-tank.stories.ts +22 -0
  166. package/src/automation/automation-tank/automation-tank.ts +12 -3
  167. package/src/components/accordion-card/accordion-card.css +33 -0
  168. package/src/components/accordion-card/accordion-card.stories.ts +2 -1
  169. package/src/components/accordion-card/accordion-card.ts +3 -4
  170. package/src/components/alert-button/alert-button.css +89 -5
  171. package/src/components/alert-button/alert-button.stories.ts +43 -0
  172. package/src/components/alert-button/alert-button.ts +43 -32
  173. package/src/components/alert-frame/alert-frame.css +116 -29
  174. package/src/components/alert-frame/alert-frame.stories.ts +63 -3
  175. package/src/components/alert-frame/alert-frame.ts +114 -23
  176. package/src/components/alert-frame/critical-badge.ts +39 -0
  177. package/src/components/alert-frame/diagnostic-badge.ts +52 -0
  178. package/src/components/alert-icon/alert-icon.stories.ts +41 -0
  179. package/src/components/alert-icon/alert-icon.ts +101 -38
  180. package/src/components/alert-icon/icons/icon-critical.ts +23 -0
  181. package/src/components/alert-list-details/alert-list-details.stories.ts +67 -0
  182. package/src/components/alert-list-details/alert-list-details.ts +11 -10
  183. package/src/components/badge/badge.css +52 -2
  184. package/src/components/badge/badge.stories.ts +75 -0
  185. package/src/components/badge/badge.ts +70 -2
  186. package/src/components/navigation-item/navigation-item.css +5 -0
  187. package/src/components/navigation-item/navigation-item.ts +56 -1
  188. package/src/components/navigation-item-group/navigation-item-group.css +8 -0
  189. package/src/components/navigation-item-group/navigation-item-group.ts +71 -1
  190. package/src/components/navigation-menu/navigation-menu.stories.ts +54 -0
  191. package/src/components/navigation-menu/navigation-menu.ts +151 -0
  192. package/src/components/tree-navigation/tree-navigation.css +7 -0
  193. package/src/components/tree-navigation/tree-navigation.stories.ts +162 -0
  194. package/src/components/tree-navigation/tree-navigation.ts +188 -0
  195. package/src/components/tree-navigation-group/tree-navigation-group.css +11 -0
  196. package/src/components/tree-navigation-group/tree-navigation-group.ts +157 -0
  197. package/src/components/tree-navigation-item/tree-navigation-item.css +258 -0
  198. package/src/components/tree-navigation-item/tree-navigation-item.stories.ts +119 -0
  199. package/src/components/tree-navigation-item/tree-navigation-item.ts +307 -0
  200. package/src/internal/tree-roving-navigator.ts +231 -0
  201. package/src/main.css +1 -0
  202. package/src/manual-icon/icon-alerts-critical-twotone.ts +60 -0
  203. package/src/manual-icon/icon-alerts-diagnostic-twotone.ts +60 -0
  204. package/src/mixins/alert.css +29 -0
  205. package/src/navigation-instruments/readout/readout.css +3 -24
  206. package/src/navigation-instruments/readout/readout.stories.ts +57 -4
  207. package/src/navigation-instruments/readout/readout.ts +69 -63
  208. package/src/navigation-instruments/readout-list-item/readout-list-item.css +9 -42
  209. package/src/navigation-instruments/readout-list-item/readout-list-item.stories.ts +57 -14
  210. package/src/navigation-instruments/readout-list-item/readout-list-item.ts +54 -44
  211. package/src/palettes/critical.md +95 -0
  212. package/src/palettes/manual.css +165 -0
  213. package/src/types.ts +20 -3
@@ -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
  }
@@ -32,8 +32,24 @@ export enum ObcAutomationBadgeType {
32
32
  Caution = 'caution',
33
33
  Warning = 'warning',
34
34
  Alarm = 'alarm',
35
+ IsaCritical = 'isa-critical',
36
+ IsaHigh = 'isa-high',
37
+ IsaMedium = 'isa-medium',
38
+ IsaLow = 'isa-low',
39
+ IsaDiagnostic = 'isa-diagnostic',
35
40
  }
36
41
 
42
+ const ALERT_BADGE_TYPES: ObcAutomationBadgeType[] = [
43
+ ObcAutomationBadgeType.Caution,
44
+ ObcAutomationBadgeType.Warning,
45
+ ObcAutomationBadgeType.Alarm,
46
+ ObcAutomationBadgeType.IsaCritical,
47
+ ObcAutomationBadgeType.IsaHigh,
48
+ ObcAutomationBadgeType.IsaMedium,
49
+ ObcAutomationBadgeType.IsaLow,
50
+ ObcAutomationBadgeType.IsaDiagnostic,
51
+ ];
52
+
37
53
  @customElement('obc-automation-badge')
38
54
  export class ObcAutomationBadge extends LitElement {
39
55
  @property({type: String}) mode: ObcAutomationBadgeMode =
@@ -42,20 +58,81 @@ export class ObcAutomationBadge extends LitElement {
42
58
  @property({type: String}) type?: ObcAutomationBadgeType = undefined;
43
59
 
44
60
  private get effectiveMode() {
45
- if (
46
- this.type &&
47
- [
48
- ObcAutomationBadgeType.Caution,
49
- ObcAutomationBadgeType.Warning,
50
- ObcAutomationBadgeType.Alarm,
51
- ].includes(this.type)
52
- ) {
61
+ if (this.type && ALERT_BADGE_TYPES.includes(this.type)) {
53
62
  return ObcAutomationBadgeMode.Flat;
54
63
  } else {
55
64
  return this.mode;
56
65
  }
57
66
  }
58
67
 
68
+ private isAlertType(...types: ObcAutomationBadgeType[]): boolean {
69
+ return !!this.type && types.includes(this.type);
70
+ }
71
+
72
+ private renderIsaCriticalIcon(flat: boolean) {
73
+ if (flat) {
74
+ return html`<svg
75
+ width="16"
76
+ height="16"
77
+ viewBox="0 0 16 16"
78
+ fill="none"
79
+ xmlns="http://www.w3.org/2000/svg"
80
+ >
81
+ <path
82
+ d="M14.667 8L11.3337 13.77H4.66634L1.33301 8L4.66634 2.23H11.3337L14.667 8Z"
83
+ fill="var(--critical-enabled-background-color)"
84
+ />
85
+ <path
86
+ d="M11.1543 2.72998H4.8457L2.51237 7.99998L4.8457 13.27H11.1543L13.4876 7.99998L11.1543 2.72998Z"
87
+ stroke="var(--critical-enabled-border-color)"
88
+ />
89
+ <path
90
+ d="M7.66754 10.3343V5.00098H9.00087V10.3343H7.66754Z"
91
+ fill="var(--on-critical-active-color)"
92
+ />
93
+ <path
94
+ d="M9.00087 11.6676H7.66754V13.001H9.00087V11.6676Z"
95
+ fill="var(--on-critical-active-color)"
96
+ />
97
+ </svg>`;
98
+ }
99
+ return html`<svg
100
+ width="16"
101
+ height="16"
102
+ viewBox="0 0 16 16"
103
+ fill="none"
104
+ xmlns="http://www.w3.org/2000/svg"
105
+ >
106
+ <path
107
+ d="M2 0.5H14C14.8284 0.5 15.5 1.17157 15.5 2V14C15.5 14.8284 14.8284 15.5 14 15.5H2C1.17157 15.5 0.5 14.8284 0.5 14V2C0.5 1.17157 1.17157 0.5 2 0.5Z"
108
+ fill="var(--critical-enabled-background-color)"
109
+ />
110
+ <path
111
+ d="M2 0.5H14C14.8284 0.5 15.5 1.17157 15.5 2V14C15.5 14.8284 14.8284 15.5 14 15.5H2C1.17157 15.5 0.5 14.8284 0.5 14V2C0.5 1.17157 1.17157 0.5 2 0.5Z"
112
+ stroke="var(--critical-enabled-border-color)"
113
+ />
114
+ <path
115
+ d="M14 8L10.9282 13.33H5.0718L2 8L5.0718 2.67H10.9282L14 8Z"
116
+ fill="var(--on-critical-active-color)"
117
+ />
118
+ </svg>`;
119
+ }
120
+
121
+ private renderIsaDiagnosticIcon() {
122
+ return html`<svg
123
+ width="16"
124
+ height="16"
125
+ viewBox="0 0 16 16"
126
+ fill="none"
127
+ xmlns="http://www.w3.org/2000/svg"
128
+ >
129
+ <path
130
+ d="M7 1.33301H9V7.53301L13.2147 5.13301L14.2147 6.86634L10 9.33301L14.2147 11.7997L13.2147 13.533L9 11.133V15.667H7V11.133L2.78534 13.533L1.78534 11.7997L6 9.33301L1.78534 6.86634L2.78534 5.13301L7 7.53301V1.33301Z"
131
+ fill="var(--notification-enabled-background-color)"
132
+ />
133
+ </svg>`;
134
+ }
135
+
59
136
  // TODO: replace the typo 'siluette' with 'silhouette', probably in Figma as well
60
137
  private getIcon() {
61
138
  if (this.type === ObcAutomationBadgeType.Auto) {
@@ -89,9 +166,18 @@ export class ObcAutomationBadge extends LitElement {
89
166
  class="icon siluette"
90
167
  ></obi-alert-off-filled
91
168
  ><obi-alert-off-filled class="icon"></obi-alert-off-filled>`;
169
+ } else if (this.type === ObcAutomationBadgeType.IsaCritical) {
170
+ return this.renderIsaCriticalIcon(
171
+ this.effectiveMode === ObcAutomationBadgeMode.Flat
172
+ );
173
+ } else if (this.type === ObcAutomationBadgeType.IsaDiagnostic) {
174
+ return this.renderIsaDiagnosticIcon();
92
175
  } else if (
93
- this.type === ObcAutomationBadgeType.Caution &&
94
- this.mode === ObcAutomationBadgeMode.Flat
176
+ this.isAlertType(
177
+ ObcAutomationBadgeType.Caution,
178
+ ObcAutomationBadgeType.IsaLow
179
+ ) &&
180
+ this.effectiveMode === ObcAutomationBadgeMode.Flat
95
181
  ) {
96
182
  return html`<svg
97
183
  width="16"
@@ -138,7 +224,12 @@ export class ObcAutomationBadge extends LitElement {
138
224
  fill="var(--on-caution-active-color)"
139
225
  />
140
226
  </svg>`;
141
- } else if (this.type === ObcAutomationBadgeType.Caution) {
227
+ } else if (
228
+ this.isAlertType(
229
+ ObcAutomationBadgeType.Caution,
230
+ ObcAutomationBadgeType.IsaLow
231
+ )
232
+ ) {
142
233
  return html`<svg
143
234
  width="16"
144
235
  height="16"
@@ -160,8 +251,11 @@ export class ObcAutomationBadge extends LitElement {
160
251
  />
161
252
  </svg> `;
162
253
  } else if (
163
- this.type === ObcAutomationBadgeType.Warning &&
164
- this.mode === ObcAutomationBadgeMode.Flat
254
+ this.isAlertType(
255
+ ObcAutomationBadgeType.Warning,
256
+ ObcAutomationBadgeType.IsaMedium
257
+ ) &&
258
+ this.effectiveMode === ObcAutomationBadgeMode.Flat
165
259
  ) {
166
260
  return html`
167
261
  <svg
@@ -218,7 +312,12 @@ export class ObcAutomationBadge extends LitElement {
218
312
  />
219
313
  </svg>
220
314
  `;
221
- } else if (this.type === ObcAutomationBadgeType.Warning) {
315
+ } else if (
316
+ this.isAlertType(
317
+ ObcAutomationBadgeType.Warning,
318
+ ObcAutomationBadgeType.IsaMedium
319
+ )
320
+ ) {
222
321
  return html`<svg
223
322
  width="16"
224
323
  height="16"
@@ -237,8 +336,11 @@ export class ObcAutomationBadge extends LitElement {
237
336
  <circle cx="8" cy="8" r="5" fill="var(--on-warning-active-color)" />
238
337
  </svg> `;
239
338
  } else if (
240
- this.type === ObcAutomationBadgeType.Alarm &&
241
- this.mode === ObcAutomationBadgeMode.Flat
339
+ this.isAlertType(
340
+ ObcAutomationBadgeType.Alarm,
341
+ ObcAutomationBadgeType.IsaHigh
342
+ ) &&
343
+ this.effectiveMode === ObcAutomationBadgeMode.Flat
242
344
  ) {
243
345
  return html`<svg
244
346
  width="16"
@@ -285,7 +387,12 @@ export class ObcAutomationBadge extends LitElement {
285
387
  fill="var(--on-alarm-active-color)"
286
388
  />
287
389
  </svg> `;
288
- } else if (this.type === ObcAutomationBadgeType.Alarm) {
390
+ } else if (
391
+ this.isAlertType(
392
+ ObcAutomationBadgeType.Alarm,
393
+ ObcAutomationBadgeType.IsaHigh
394
+ )
395
+ ) {
289
396
  return html`
290
397
  <svg
291
398
  width="16"
@@ -2,6 +2,7 @@ import {
2
2
  ObcAlertFrameStatus,
3
3
  ObcAlertFrameThickness,
4
4
  ObcAlertFrameType,
5
+ ObcAlertFrameMode,
5
6
  } from '../../components/alert-frame/alert-frame.js';
6
7
  import {MotorizedVariant} from './abstract-automation-button-motorized.js';
7
8
  import {
@@ -33,6 +34,10 @@ export const argTypesAbstractAutomationButton = {
33
34
  options: Object.values(ObcAlertFrameType),
34
35
  control: {type: 'radio'},
35
36
  },
37
+ alertFrameMode: {
38
+ options: Object.values(ObcAlertFrameMode),
39
+ control: {type: 'radio'},
40
+ },
36
41
  alertFrameThickness: {
37
42
  options: Object.values(ObcAlertFrameThickness),
38
43
  control: {type: 'radio'},
@@ -13,10 +13,11 @@ import {
13
13
  AutomationButtonReadoutStackSize,
14
14
  } from '../../components/automation-button-readout-stack/automation-button-readout-stack.js';
15
15
  import {
16
- ObcAlertFrameStatus,
17
16
  ObcAlertFrameThickness,
18
17
  ObcAlertFrameType,
18
+ ObcAlertFrameMode,
19
19
  } from '../../components/alert-frame/alert-frame.js';
20
+ import {AlertType} from '../../types.js';
20
21
  import '../automation-badge/automation-badge.js';
21
22
  import {ObcAutomationBadgeType} from '../automation-badge/automation-badge.js';
22
23
  import {CircularProgressMode} from '../../building-blocks/circular-progress/circular-progress.js';
@@ -27,6 +28,11 @@ export enum AutomationButtonBadgeAlert {
27
28
  Caution = 'caution',
28
29
  Warning = 'warning',
29
30
  Alarm = 'alarm',
31
+ IsaCritical = 'isa-critical',
32
+ IsaHigh = 'isa-high',
33
+ IsaMedium = 'isa-medium',
34
+ IsaLow = 'isa-low',
35
+ IsaDiagnostic = 'isa-diagnostic',
30
36
  }
31
37
 
32
38
  export enum AutomationButtonBadgeInterlock {
@@ -62,8 +68,9 @@ export class ObcAbstractAutomationButton extends LitElement {
62
68
  ObcAlertFrameType.SmallSideFlip;
63
69
  @property({type: String}) alertFrameThickness: ObcAlertFrameThickness =
64
70
  ObcAlertFrameThickness.Small;
65
- @property({type: String}) alertFrameStatus: ObcAlertFrameStatus =
66
- ObcAlertFrameStatus.Alarm;
71
+ @property({type: String}) alertFrameStatus: AlertType = AlertType.Alarm;
72
+ @property({type: String}) alertFrameMode: ObcAlertFrameMode =
73
+ ObcAlertFrameMode.ackedActive;
67
74
  @property({type: Boolean, attribute: false}) showAlertCategoryIcon: boolean =
68
75
  true;
69
76
  @property({type: Boolean}) showAlertIcon: boolean = false;
@@ -151,6 +158,16 @@ export class ObcAbstractAutomationButton extends LitElement {
151
158
  return ObcAutomationBadgeType.Warning;
152
159
  } else if (this.badgeAlert === AutomationButtonBadgeAlert.Alarm) {
153
160
  return ObcAutomationBadgeType.Alarm;
161
+ } else if (this.badgeAlert === AutomationButtonBadgeAlert.IsaCritical) {
162
+ return ObcAutomationBadgeType.IsaCritical;
163
+ } else if (this.badgeAlert === AutomationButtonBadgeAlert.IsaHigh) {
164
+ return ObcAutomationBadgeType.IsaHigh;
165
+ } else if (this.badgeAlert === AutomationButtonBadgeAlert.IsaMedium) {
166
+ return ObcAutomationBadgeType.IsaMedium;
167
+ } else if (this.badgeAlert === AutomationButtonBadgeAlert.IsaLow) {
168
+ return ObcAutomationBadgeType.IsaLow;
169
+ } else if (this.badgeAlert === AutomationButtonBadgeAlert.IsaDiagnostic) {
170
+ return ObcAutomationBadgeType.IsaDiagnostic;
154
171
  }
155
172
  return null;
156
173
  }
@@ -211,6 +228,7 @@ export class ObcAbstractAutomationButton extends LitElement {
211
228
  .alertFrameType=${this.alertFrameType}
212
229
  .alertFrameThickness=${this.alertFrameThickness}
213
230
  .alertFrameStatus=${this.alertFrameStatus}
231
+ .alertFrameMode=${this.alertFrameMode}
214
232
  .showAlertCategoryIcon=${this.showAlertCategoryIcon}
215
233
  .showAlertIcon=${this.showAlertIcon}
216
234
  ?progress=${this.progress}