@c8y/ngx-components 1024.20.8 → 1024.21.5

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 (142) hide show
  1. package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs +527 -12
  2. package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs.map +1 -1
  3. package/fesm2022/c8y-ngx-components-ai-agents-scada.mjs +82 -19
  4. package/fesm2022/c8y-ngx-components-ai-agents-scada.mjs.map +1 -1
  5. package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs +31 -9
  6. package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs.map +1 -1
  7. package/fesm2022/c8y-ngx-components-ai.mjs +503 -62
  8. package/fesm2022/c8y-ngx-components-ai.mjs.map +1 -1
  9. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +2 -2
  10. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  11. package/fesm2022/c8y-ngx-components-alarms.mjs +3 -3
  12. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  13. package/fesm2022/c8y-ngx-components-application-access-list.mjs +1 -1
  14. package/fesm2022/c8y-ngx-components-application-access-list.mjs.map +1 -1
  15. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +1 -1
  16. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  17. package/fesm2022/c8y-ngx-components-bookmarks.mjs +1 -1
  18. package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
  19. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +1 -1
  20. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
  21. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +5 -5
  22. package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  23. package/fesm2022/{c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-1WsTSnO_.mjs → c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-B0EYpohd.mjs} +31 -17
  24. package/fesm2022/c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-B0EYpohd.mjs.map +1 -0
  25. package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-C3KZGqlc.mjs → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-BqbzREl7.mjs} +2 -2
  26. package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-C3KZGqlc.mjs.map → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-BqbzREl7.mjs.map} +1 -1
  27. package/fesm2022/c8y-ngx-components-computed-asset-properties-last-measurement-config.component-d3JeKEr4.mjs +108 -0
  28. package/fesm2022/c8y-ngx-components-computed-asset-properties-last-measurement-config.component-d3JeKEr4.mjs.map +1 -0
  29. package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs +1 -1
  30. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-Jyjkv4JT.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-CP1afwVe.mjs} +2 -2
  31. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-Jyjkv4JT.mjs.map → c8y-ngx-components-context-dashboard-dashboard-version-history.component-CP1afwVe.mjs.map} +1 -1
  32. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +3 -3
  33. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  34. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-UEUYsXBv.mjs → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-CRvgIgri.mjs} +2 -2
  35. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-UEUYsXBv.mjs.map → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-CRvgIgri.mjs.map} +1 -1
  36. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +2 -2
  37. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +1 -1
  38. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs.map +1 -1
  39. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +3 -3
  40. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
  41. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +2 -2
  42. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  43. package/fesm2022/c8y-ngx-components-device-profile.mjs +2 -2
  44. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  45. package/fesm2022/c8y-ngx-components-diagnostics.mjs +1 -1
  46. package/fesm2022/c8y-ngx-components-diagnostics.mjs.map +1 -1
  47. package/fesm2022/c8y-ngx-components-echart.mjs +101 -45
  48. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  49. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +2 -2
  50. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  51. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +1 -1
  52. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  53. package/fesm2022/c8y-ngx-components-ecosystem.mjs +4 -4
  54. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  55. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +1 -1
  56. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs.map +1 -1
  57. package/fesm2022/c8y-ngx-components-events.mjs +2 -2
  58. package/fesm2022/c8y-ngx-components-events.mjs.map +1 -1
  59. package/fesm2022/c8y-ngx-components-icon-selector.mjs +1 -1
  60. package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
  61. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +1 -1
  62. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs.map +1 -1
  63. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +1 -1
  64. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
  65. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +1 -1
  66. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs.map +1 -1
  67. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +1 -1
  68. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs.map +1 -1
  69. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +2 -2
  70. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
  71. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +2 -2
  72. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs.map +1 -1
  73. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +2 -2
  74. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
  75. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +5 -5
  76. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
  77. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +1 -1
  78. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
  79. package/fesm2022/c8y-ngx-components-register-device.mjs +3 -3
  80. package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
  81. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +1 -1
  82. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs.map +1 -1
  83. package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs +1 -1
  84. package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs.map +1 -1
  85. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +1 -1
  86. package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
  87. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +1 -1
  88. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  89. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +4 -4
  90. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  91. package/fesm2022/c8y-ngx-components-repository-shared.mjs +2 -2
  92. package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
  93. package/fesm2022/c8y-ngx-components-repository-software.mjs +3 -3
  94. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  95. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs +1 -1
  96. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs.map +1 -1
  97. package/fesm2022/c8y-ngx-components-tracking.mjs +1 -1
  98. package/fesm2022/c8y-ngx-components-tracking.mjs.map +1 -1
  99. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +1 -1
  100. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
  101. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-table.mjs +1 -1
  102. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-table.mjs.map +1 -1
  103. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs +2 -2
  104. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs.map +1 -1
  105. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +1 -1
  106. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
  107. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +1 -1
  108. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs.map +1 -1
  109. package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs +1 -1
  110. package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs.map +1 -1
  111. package/fesm2022/c8y-ngx-components-widgets-implementations-scada.mjs +94 -10
  112. package/fesm2022/c8y-ngx-components-widgets-implementations-scada.mjs.map +1 -1
  113. package/fesm2022/c8y-ngx-components.mjs +306 -22
  114. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  115. package/locales/de.po +72 -3
  116. package/locales/es.po +72 -3
  117. package/locales/fr.po +72 -3
  118. package/locales/ja_JP.po +72 -3
  119. package/locales/ko.po +72 -3
  120. package/locales/locales.pot +81 -3
  121. package/locales/nl.po +72 -3
  122. package/locales/pl.po +73 -4
  123. package/locales/pt_BR.po +72 -3
  124. package/locales/zh_CN.po +72 -3
  125. package/locales/zh_TW.po +72 -3
  126. package/package.json +1 -1
  127. package/types/c8y-ngx-components-ai-agent-chat.d.ts +201 -3
  128. package/types/c8y-ngx-components-ai-agent-chat.d.ts.map +1 -1
  129. package/types/c8y-ngx-components-ai-agents-scada.d.ts.map +1 -1
  130. package/types/c8y-ngx-components-ai-ai-chat.d.ts +14 -4
  131. package/types/c8y-ngx-components-ai-ai-chat.d.ts.map +1 -1
  132. package/types/c8y-ngx-components-ai.d.ts +157 -2
  133. package/types/c8y-ngx-components-ai.d.ts.map +1 -1
  134. package/types/c8y-ngx-components-echart.d.ts +6 -0
  135. package/types/c8y-ngx-components-echart.d.ts.map +1 -1
  136. package/types/c8y-ngx-components-widgets-implementations-scada.d.ts +28 -2
  137. package/types/c8y-ngx-components-widgets-implementations-scada.d.ts.map +1 -1
  138. package/types/c8y-ngx-components.d.ts +170 -9
  139. package/types/c8y-ngx-components.d.ts.map +1 -1
  140. package/fesm2022/c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-1WsTSnO_.mjs.map +0 -1
  141. package/fesm2022/c8y-ngx-components-computed-asset-properties-last-measurement-config.component-DOmwNU6m.mjs +0 -86
  142. package/fesm2022/c8y-ngx-components-computed-asset-properties-last-measurement-config.component-DOmwNU6m.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-ai-agent-chat.d.ts","sources":["../../ai/agent-chat/agent-chat.component.ts","../../ai/agent-chat/agent-chat-tool-approval-mode.component.ts","../../ai/agent-chat/widget-ai-chat-section.component.ts"],"mappings":"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","names":[]}
1
+ {"version":3,"file":"c8y-ngx-components-ai-agent-chat.d.ts","sources":["../../ai/agent-chat/conversation.model.ts","../../ai/agent-chat/agent-chat.component.ts","../../ai/agent-chat/agent-chat-tool-approval-mode.component.ts","../../ai/agent-chat/conversation-picker.component.ts","../../ai/agent-chat/conversation.service.ts","../../ai/agent-chat/widget-ai-chat-section.component.ts"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-ai-agents-scada.d.ts","sources":["../../ai/agents/scada/scada-svg.agent.c8y.ts"],"mappings":";;AAg0BA,cAAa,eAAe,EAsDvB,eAAe;;;;","names":[]}
1
+ {"version":3,"file":"c8y-ngx-components-ai-agents-scada.d.ts","sources":["../../ai/agents/scada/scada-svg.agent.c8y.ts"],"mappings":";;AAy3BA,cAAa,eAAe,EA4DvB,eAAe;;;;","names":[]}
@@ -162,9 +162,17 @@ declare class AiChatMessageActionComponent {
162
162
  */
163
163
  disabled: boolean;
164
164
  /**
165
- * Tooltip text displayed when hovering over the action button.
165
+ * Tooltip text displayed when hovering over the action button, also used as its accessible name.
166
+ * Not named `tooltip`, as that attribute would also attach ngx-bootstrap's tooltip directive to
167
+ * this component wherever `TooltipModule` is imported, showing the tooltip twice.
166
168
  */
167
- tooltip: string;
169
+ tooltipText: string;
170
+ /**
171
+ * @deprecated Use `tooltipText` instead. Binding `tooltip` on this component also attaches
172
+ * ngx-bootstrap's tooltip directive wherever `TooltipModule` is imported, showing the tooltip twice.
173
+ */
174
+ set tooltip(value: string);
175
+ get tooltip(): string;
168
176
  /**
169
177
  * Icon to display in the action button.
170
178
  */
@@ -174,7 +182,7 @@ declare class AiChatMessageActionComponent {
174
182
  */
175
183
  actionClicked: EventEmitter<void>;
176
184
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AiChatMessageActionComponent, never>;
177
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AiChatMessageActionComponent, "c8y-ai-chat-message-action", never, { "custom": { "alias": "custom"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, { "actionClicked": "actionClicked"; }, never, ["*"], true, never>;
185
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AiChatMessageActionComponent, "c8y-ai-chat-message-action", never, { "custom": { "alias": "custom"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tooltipText": { "alias": "tooltipText"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, { "actionClicked": "actionClicked"; }, never, ["*"], true, never>;
178
186
  }
179
187
 
180
188
  /**
@@ -186,6 +194,8 @@ declare class AiChatMessageActionComponent {
186
194
  declare class AiChatMessageComponent {
187
195
  readonly role: _angular_core.InputSignal<"user" | "assistant" | "system">;
188
196
  readonly message: _angular_core.InputSignal<AIMessage>;
197
+ /** Name of the agent to show above the message; nothing is shown when undefined. */
198
+ readonly agentLabel: _angular_core.InputSignal<string>;
189
199
  private readonly translateService;
190
200
  private readonly roleResolved;
191
201
  /**
@@ -205,7 +215,7 @@ declare class AiChatMessageComponent {
205
215
  */
206
216
  readonly messageContentAriaLabel: _angular_core.Signal<any>;
207
217
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AiChatMessageComponent, never>;
208
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AiChatMessageComponent, "c8y-ai-chat-message", never, { "role": { "alias": "role"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; }, {}, never, [":not(c8y-ai-chat-message-action)", "c8y-ai-chat-message-action"], true, never>;
218
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AiChatMessageComponent, "c8y-ai-chat-message", never, { "role": { "alias": "role"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "agentLabel": { "alias": "agentLabel"; "required": false; "isSignal": true; }; }, {}, never, [":not(c8y-ai-chat-message-action)", "c8y-ai-chat-message-action"], true, never>;
209
219
  }
210
220
 
211
221
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-ai-ai-chat.d.ts","sources":["../../ai/ai-chat/ai-chat-action.component.ts","../../ai/ai-chat/ai-chat-assistant-message.component.ts","../../ai/ai-chat/ai-chat-assistant-part.component.ts","../../ai/ai-chat/ai-chat-message-action.component.ts","../../ai/ai-chat/ai-chat-message.component.ts","../../ai/ai-chat/ai-chat-speech-to-text.component.ts","../../ai/ai-chat/ai-chat-suggestion.component.ts","../../ai/ai-chat/speech-recognition.service.ts","../../ai/ai-chat/ai-chat-tool-call.component.ts","../../ai/ai-chat/ai-chat.component.ts"],"mappings":";;;;;;;AAEA;;;;;;;;;;;;;AAaG;AACH,cAMa,qBAAqB;AAChC;;;AAGG;wBACe,aAAA,CAAA,WAAA;;uBAGD,aAAA,CAAA,MAAA,CAAA,WAAA;oDARN,qBAAqB;sDAArB,qBAAqB;AASjC;;ACTD;;;AAGG;UACc,uBAAuB;aAC7B,kBAAkB;YACnB,6BAA6B;;;;;AAQrC;;;AAGG;AACH,oCAAgC,YAAY,YAAY,oBAAoB;AAE5E;;;;;AAKG;qCAC8B,YAAY;AAC9C;AAED;;;AAGG;AACH,cAaa,+BAA+B;AAC1C;;;AAGG;sCAC6B,aAAA,CAAA,WAAA,CAAA,uBAAA;AAEhC;;AAEG;mCAC0B,aAAA,CAAA,WAAA;AAE7B;;;AAGG;AACH,yCAAmC,aAAA,CAAA,cAAA;AAEnC;;AAEG;AACH,qDAA+C,aAAA,CAAA,cAAA,CAAA,GAAA;AAE/C;mDAE6C,aAAA,CAAA,MAAA;AAyG5B,uBAAA,aAAa;AACX,yBAAA,aAAa;AAxG9B;;AAYF;;;AAGG;AACH;AAIA;;;;AAIG;AACH,uBAAmB,YAAY;AA8B/B;AAYA;;;;;AAKG;AACH,oCAAgC,uBAAuB;gCAQ3B,aAAa;wDAKlC,uBAAuB,GAC3B,6BAA6B;AAKhC;;;;;;;;;AASG;AACH,yDAAqD,uBAAuB;uBAC3D,aAAa;yBACX,aAAa;AAC/B;AAyDD;;;;;;AAMG;AACH;oDApMW,+BAA+B;sDAA/B,+BAA+B;AA8N3C;;ACpRD;AACA,cAiBa,4BAA4B;mBAC1B,aAAA,CAAA,WAAA,CAAA,aAAA;;wCAGqB,aAAA,CAAA,WAAA;AAElC;;;AAGG;sCAC6B,aAAA,CAAA,WAAA,CAAA,uBAAA;;AAGhC,iCAA2B,aAAA,CAAA,cAAA;;oDAbhB,4BAA4B;sDAA5B,4BAA4B;AAkBxC;;AC7CD;;;AAGG;AACH,cAOa,4BAA4B;AACvC;;AAEG;AAEH;AAEA;;AAEG;AAEH;AAEA;;AAEG;AAEH;AAEA;;AAEG;UAEG,yBAAyB;AAE/B;;AAEG;AAEH,mBAAa,YAAA;oDA7BF,4BAA4B;sDAA5B,4BAA4B;AA8BxC;;ACrCD;;;;;AAKG;AACH,cAQa,sBAAsB;mBACpB,aAAA,CAAA,WAAA;sBACG,aAAA,CAAA,WAAA,CAAA,SAAA;AAEhB;AAEA;AAIA;;;;;;;;AAQG;wBACe,aAAA,CAAA,MAAA;AAElB;;;;AAIG;sCAC6B,aAAA,CAAA,MAAA;oDA1BrB,sBAAsB;sDAAtB,sBAAsB;AAyClC;;AC1CD;;;;;;;;;;AAUG;AACH,cAOa,2BAA2B;AACtC;AACA;AACA;AACA;AAEA;;;;AAIG;uBACc,aAAA,CAAA,WAAA;AAEjB;;;AAGG;mBACU,aAAA,CAAA,WAAA;AAEb;;;AAGG;qBACY,aAAA,CAAA,WAAA;AAEf;;AAEG;0BACiB,aAAA,CAAA,cAAA;AAEpB;;;AAGG;8BACqB,aAAA,CAAA,gBAAA;AAExB;;;;;AAKG;0BACiB,aAAA,CAAA,MAAA;AAEpB;AACA;AAEA;;AAEG;;;AAIH;;AAEG;AACH;AAQA;AAcA;AAKA;;;;AAIG;AACH;;AAKA;AAQA;;AAEG;AACH;AAQA;;;AAGG;AACH;oDApHW,2BAA2B;sDAA3B,2BAA2B;AAkIvC;;ACrKD;;;AAGG;AACH,cAQa,yBAAyB;AACpC;;AAEG;oBACW,aAAA,CAAA,WAAA;AAEd;;AAEG;qBACY,aAAA,CAAA,WAAA;AAEf;;AAEG;mBACU,aAAA,CAAA,WAAA,CAAA,yBAAA;AAEb;;AAEG;2BACkB,aAAA,CAAA,WAAA;AAErB;;AAEG;uBACc,aAAA,CAAA,WAAA;AAEjB;;AAEG;gCACuB,aAAA,CAAA,gBAAA,CAAA,SAAA;AAE1B;;AAEG;;oDAjCQ,yBAAyB;sDAAzB,yBAAyB;AAyCrC;;ACrBD;UACiB,wBAAwB;;;;;AAKxC;AAED;;;;AAIG;AACH,cACa,wBAAwB;AACnC;AACA;;;AAOA;;;;;AAKG;qBACa,wBAA6B,GAAG,UAAU;;AAgC1D;;AASA;oDAxDW,wBAAwB;wDAAxB,wBAAwB;AAkEpC;;AC9FD,cAea,uBAAuB;AAClC;;;AAGG;mBACU,aAAA,CAAA,WAAA,CAAA,YAAA,CAAA,MAAA;AAEb;;AAEG;0BACiB,aAAA,CAAA,WAAA;AAEpB;;AAEG;mCAC0B,aAAA,CAAA,WAAA,CAAA,IAAA;AAE7B;;AAEG;qCAC4B,aAAA,CAAA,WAAA;AAE/B;;AAEG;6BACoB,aAAA,CAAA,WAAA;AACvB;;AAEG;6BACoB,aAAA,CAAA,WAAA;AAEvB;;;;;AAKG;4BACmB,aAAA,CAAA,WAAA,gBAAA,YAAA,oBAAA,gBAAA;AAEtB;;;AAGG;8BACqB,aAAA,CAAA,WAAA;AAExB;;;;AAIG;sCAC6B,aAAA,CAAA,WAAA;;+BAGP,aAAA,CAAA,gBAAA,CAAA,oBAAA;AAEzB,iCAA2B,aAAA,CAAA,cAAA;AAC3B,qCAA+B,aAAA,CAAA,cAAA;AAE/B;;;;AAqBA,uBAAmB,YAAY;AAgC/B;;;AAGG;AACH,2BAAuB,YAAY;;AAiBnC;oDApIW,uBAAuB;sDAAvB,uBAAuB;AA+InC;;ACpJD;;;;AAIG;AACH,cAsBa,eAAe;AAC1B;;;AAGG;AACH;;;;iCAe2B,aAAA,CAAA,cAAA;AAE3B;;AAEG;AAEH;AAEA;;AAEG;AAEH;AAEA;;;;AAIG;AAEH,0BAAsB,WAAW;;AAGxB,sBAAkB,WAAW;AAE7B;;;;AAIR;AAED;;;AAGG;AAEH,eAAS,YAAA,CAAA,SAAA;AAET;;AAEG;AAEH,cAAQ,YAAA;AAER;;AAEG;uBACc,aAAA,CAAA,MAAA,UAAA,sBAAA;AAEjB;;AAEG;AACH;AAEA;;;;AAIG;sBACa,aAAA,CAAA,WAAA,UAAA,qBAAA;;AAGhB;;2BAGqB,aAAA,CAAA,MAAA;;0BAGD,aAAA,CAAA,MAAA,CAAA,qBAAA;;2BAKC,aAAA,CAAA,MAAA,CAAA,qBAAA;;0BAKD,aAAA,CAAA,MAAA,CAAA,qBAAA;AAIpB;;AAEG;AACH;AAEA;;;mCAK6B,aAAA,CAAA,cAAA;;;AAmC7B;;;;;AAKG;sBAEe,OAAO,CAAC,UAAU;kBAGtB,UAAU;AAIxB;;;;AAIG;AACH,wBAAoB,KAAK;AAWzB;;;AAGG;AACH;AAIA;;;AAGG;AACH;oDA7LW,eAAe;sDAAf,eAAe;AAgM3B;;;;","names":[]}
1
+ {"version":3,"file":"c8y-ngx-components-ai-ai-chat.d.ts","sources":["../../ai/ai-chat/ai-chat-action.component.ts","../../ai/ai-chat/ai-chat-assistant-message.component.ts","../../ai/ai-chat/ai-chat-assistant-part.component.ts","../../ai/ai-chat/ai-chat-message-action.component.ts","../../ai/ai-chat/ai-chat-message.component.ts","../../ai/ai-chat/ai-chat-speech-to-text.component.ts","../../ai/ai-chat/ai-chat-suggestion.component.ts","../../ai/ai-chat/speech-recognition.service.ts","../../ai/ai-chat/ai-chat-tool-call.component.ts","../../ai/ai-chat/ai-chat.component.ts"],"mappings":"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","names":[]}
@@ -28,6 +28,11 @@ interface AIAssistantMessage {
28
28
  role: 'assistant';
29
29
  content: AIMessagePart[];
30
30
  timestamp?: string;
31
+ /**
32
+ * Name of the agent that produced this message. The agent can change within one conversation,
33
+ * so it is recorded per message; it may refer to an agent that no longer exists.
34
+ */
35
+ agentName?: string;
31
36
  finishReason?: string;
32
37
  usage?: {
33
38
  inputTokens: number | undefined;
@@ -262,6 +267,15 @@ interface AgentChatConfig extends ChatConfig {
262
267
  * Per-message tool approval prompts are unaffected. Default: true.
263
268
  */
264
269
  showGlobalToolApprovalToggle?: boolean;
270
+ /** When enabled, conversation is persisted. */
271
+ conversationPersistence?: 'enabled' | 'disabled';
272
+ /**
273
+ * Label of the feature hosting the chat, e.g. a widget type or instance — decided by the host.
274
+ * When persistence is enabled, the conversation list is filtered by it, new conversations get it,
275
+ * and it is added to a continued conversation that lacks it. Must match
276
+ * `^[a-z0-9][a-z0-9._:-]{0,63}$`. When not set, all of the user's conversations are listed.
277
+ */
278
+ conversationLabel?: string;
265
279
  }
266
280
  /** Configuration for how the `<ai-chat-assistant-message>` displays a calls for a specific tool name to the user. */
267
281
  type ToolCallConfig = {
@@ -602,6 +616,147 @@ declare class AIService {
602
616
  * This may change in future releases.
603
617
  */
604
618
  declare function defaultPruneMessagesForAgent(messages: AIMessage[]): AIMessage[];
619
+ /**
620
+ * The default implementation for preparing messages for conversation persistence.
621
+ *
622
+ * Unlike `defaultPruneMessagesForAgent` (which strips tool calls for token efficiency),
623
+ * this preserves tool call history so stored conversations can be fully restored in the UI.
624
+ *
625
+ * Strips only transient streaming states that should never be persisted:
626
+ * reasoning blocks, in-progress tool-input-streaming, and tool-executing parts.
627
+ *
628
+ * Tool outputs longer than 10,000 characters are truncated, as the storage service rejects
629
+ * conversations of about 1 MB and above. `defaultPruneMessagesForAgent` never sends these outputs
630
+ * back to the agent, so the truncation only shows in the UI once the conversation is reopened.
631
+ * The results of tool calls that went through an approval are the exception: the agent does get
632
+ * them back, so they are kept whole for a reopened conversation to send it the same history.
633
+ *
634
+ * Step boundaries are kept because `toConversationMessages`, which converts the result into the
635
+ * format the storage service accepts, needs them to split a multi-step turn into one message per step.
636
+ *
637
+ * Implements `pruneMessagesFunction`.
638
+ */
639
+ declare function defaultPruneMessagesForPersistence(messages: AIMessage[]): AIMessage[];
640
+
641
+ /** A compact summary of the format required by Vercel for passing tool outputs in
642
+ * ModelMessage, based on LanguageModelV*ToolResultOutput. */
643
+ type ModelMessageToolResultOutput = {
644
+ type: 'text';
645
+ value: string;
646
+ } | {
647
+ type: 'json';
648
+ value: unknown;
649
+ } | {
650
+ type: 'error-text';
651
+ value: string;
652
+ } | {
653
+ type: 'error-json';
654
+ value: any;
655
+ } | {
656
+ type: 'content';
657
+ value: any[];
658
+ }
659
+ /** A tool call the user refused to approve, so it never ran and has no value. */
660
+ | {
661
+ type: 'execution-denied';
662
+ reason?: string;
663
+ } | {
664
+ type: string;
665
+ };
666
+ type AssistantMessageContent = {
667
+ type: 'text';
668
+ text: string;
669
+ } | {
670
+ type: 'tool-call';
671
+ toolCallId: string;
672
+ toolName: string;
673
+ input: unknown;
674
+ } | {
675
+ type: 'tool-approval-request';
676
+ approvalId: string;
677
+ toolCallId: string;
678
+ };
679
+ type ToolResultContent = {
680
+ type: 'tool-result';
681
+ toolCallId: string;
682
+ toolName: string;
683
+ output: ModelMessageToolResultOutput;
684
+ };
685
+ /** The user's decision on a tool call that required approval, paired with its request by `approvalId`. */
686
+ type ToolApprovalResponseContent = {
687
+ type: 'tool-approval-response';
688
+ approvalId: string;
689
+ approved: boolean;
690
+ reason?: string;
691
+ };
692
+ /**
693
+ * The small subset needed by us from the format accepted by Vercel v6.
694
+ * Note that each message corresponds to one "step" - so having text after tools calls would be an error. */
695
+ type ModelMessage = {
696
+ role: 'user' | 'system';
697
+ content: string;
698
+ } | {
699
+ role: 'assistant';
700
+ content: AssistantMessageContent[];
701
+ } | {
702
+ role: 'tool';
703
+ content: (ToolResultContent | ToolApprovalResponseContent)[];
704
+ };
705
+
706
+ /**
707
+ * A message as stored by the conversation storage API (`/service/ai/conversation`).
708
+ *
709
+ * The service validates every message against the Vercel AI SDK's `ModelMessage` schema, so the
710
+ * UI-only parts of `AIMessage` — `step-start` boundaries above all — cannot be sent as-is. The
711
+ * display metadata below is carried as extra properties, which the schema tolerates.
712
+ */
713
+ type ConversationMessage = ModelMessage & {
714
+ timestamp?: string;
715
+ usage?: AIAssistantMessage['usage'];
716
+ /** Agent that produced the message. Accepted by the service on assistant messages only. */
717
+ agentName?: string;
718
+ };
719
+ /**
720
+ * Converts chat messages into the format accepted by the conversation storage API.
721
+ *
722
+ * Unlike the history sent to the agent, tool calls are preserved so a stored conversation can be
723
+ * restored with its full transcript by `fromConversationMessages`. Note that:
724
+ * - each step of a multi-step assistant turn becomes its own message, since the wire format has no
725
+ * `step-start` part — `fromConversationMessages` rebuilds the boundaries from the message split;
726
+ * - a tool call that required approval keeps its full exchange: the `tool-approval-request` beside
727
+ * the call, and the user's `tool-approval-response` beside the outcome, which for a refused call
728
+ * is an `execution-denied` result;
729
+ * - the agent that produced an assistant turn is recorded on every assistant message of that turn,
730
+ * so it survives pruning of individual steps;
731
+ * - `object` parts are stored as text, as the wire format has no structured-object equivalent;
732
+ * - `system` messages are dropped, as the service rejects them: a conversation's system prompt
733
+ * comes from the agent's server-side configuration, never from stored history;
734
+ * - reasoning and in-progress tool calls are dropped, as they are not worth persisting.
735
+ *
736
+ * @param messages The chat messages to store, typically already pruned for persistence.
737
+ */
738
+ declare function toConversationMessages(messages: AIMessage[]): ConversationMessage[];
739
+ /**
740
+ * Restores stored messages into the format the chat renders, inverting `toConversationMessages`.
741
+ *
742
+ * The consecutive assistant and tool messages that one assistant turn was split into are merged
743
+ * back into a single message, with a `step-start` part marking each boundary, and each tool call
744
+ * is reunited with its result and, where it needed one, with the user's approval decision.
745
+ *
746
+ * A restored approved call carries its result on the approval part itself, rather than in the
747
+ * following message where it originally streamed in. The chat renders that identically, and a
748
+ * restored decision is never re-actionable: the approval buttons only appear on the latest message.
749
+ *
750
+ * Note that the wire format marks where a step ended but not where a turn did, so assistant
751
+ * messages that followed one another without the user speaking in between — an approval and the
752
+ * response resumed from it, for example — come back merged into a single turn. Every part and its
753
+ * order is preserved; only the split into separate messages is not. The merged turn carries the
754
+ * sum of their token usage and the timestamp of the last one. Messages recorded as coming from
755
+ * different agents are never merged.
756
+ *
757
+ * @param messages The messages of a stored conversation.
758
+ */
759
+ declare function fromConversationMessages(messages: ConversationMessage[]): AIMessage[];
605
760
 
606
761
  /**
607
762
  * Remembers the user's "always approve" decisions for tool calls that require human approval.
@@ -669,6 +824,6 @@ declare class AiToolApprovalMemoryService {
669
824
  */
670
825
  declare function cumulocityApiRequestLabelProvider(tool: ToolCallPart, translateService: TranslateService): string | undefined;
671
826
 
672
- export { AIService, AiToolApprovalMemoryService, DataStreamType, cumulocityApiRequestLabelProvider, defaultPruneMessagesForAgent };
673
- export type { AIAssistantMessage, AIMessage, AIMessagePart, AIStreamResponse, AISystemMessage, AIUserMessage, AgentChatConfig, AgentDefinition, AgentHealthCheckResponse, AssistantMessageDisplayConfig, ChatConfig, ChatHistory, ChatHistoryConfig, ClientAgentDefinition, McpToolApprovalPolicy, McpToolConfig, ObjectAgentResponse, ResponseMetadataPart, Suggestion, ToolApprovalDecision, ToolCallConfig, ToolCallPart, WidgetAiChatSectionComponentConfig, pruneMessagesFunction };
827
+ export { AIService, AiToolApprovalMemoryService, DataStreamType, cumulocityApiRequestLabelProvider, defaultPruneMessagesForAgent, defaultPruneMessagesForPersistence, fromConversationMessages, toConversationMessages };
828
+ export type { AIAssistantMessage, AIMessage, AIMessagePart, AIStreamResponse, AISystemMessage, AIUserMessage, AgentChatConfig, AgentDefinition, AgentHealthCheckResponse, AssistantMessageDisplayConfig, ChatConfig, ChatHistory, ChatHistoryConfig, ClientAgentDefinition, ConversationMessage, McpToolApprovalPolicy, McpToolConfig, ObjectAgentResponse, ResponseMetadataPart, Suggestion, ToolApprovalDecision, ToolCallConfig, ToolCallPart, WidgetAiChatSectionComponentConfig, pruneMessagesFunction };
674
829
  //# sourceMappingURL=c8y-ngx-components-ai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-ai.d.ts","sources":["../../ai/ai.model.ts","../../ai/ai.service.ts","../../ai/ai-tool-approval-memory.service.ts","../../ai/cumulocity-api-request-label.ts"],"mappings":"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","names":[]}
1
+ {"version":3,"file":"c8y-ngx-components-ai.d.ts","sources":["../../ai/ai.model.ts","../../ai/ai.service.ts","../../ai/ai-service-agent-message-converter.ts","../../ai/conversation-message-converter.ts","../../ai/ai-tool-approval-memory.service.ts","../../ai/cumulocity-api-request-label.ts"],"mappings":"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","names":[]}
@@ -329,6 +329,7 @@ declare class ChartsComponent implements OnChanges, OnInit, OnDestroy {
329
329
  * the chart renders with (see `EchartsOptionsService.getSingleSeries`).
330
330
  */
331
331
  readonly AGGREGATION_INTERVAL_MAP: Record<aggregationType, string>;
332
+ private readonly AGGREGATION_TYPE_MS;
332
333
  private configChangedSubject;
333
334
  /**
334
335
  * Deep copy of the config the last reload ran with; content-identical rebuilds are skipped.
@@ -456,6 +457,11 @@ declare class ChartsComponent implements OnChanges, OnInit, OnDestroy {
456
457
  private fetchSeriesForDatapoints$;
457
458
  private fetchAggregatedSeriesForSelectedDatapoint$;
458
459
  private getAggregationTypeForTimeRange;
460
+ /**
461
+ * Resolves the aggregation query params for the slider's series request and the bucket size (ms)
462
+ */
463
+ private resolveSliderAggregation;
464
+ private intervalStringToMs;
459
465
  private getSliderPositionMode;
460
466
  private addTruncatedDataAlert;
461
467
  private getTimeRange;
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-echart.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/chart-alerts/chart-alerts.component.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"mappings":"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","names":[]}
1
+ {"version":3,"file":"c8y-ngx-components-echart.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/chart-alerts/chart-alerts.component.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"mappings":";;;;;;;;;;;;AA0BM,KAAM,yBAAyB,GAAG,UAAU;eACrC,iBAAiB;iBACf,wBAAwB;;AAErC,kBAAc,wBAAwB;;uBAEnB,MAAM;;AAGrB,KAAM,2BAA2B;AACrC;AACA;AACA,0BAAsB,yBAAyB;AAC/C,0BAAsB,oBAAoB;AAC1C,iBAAa,yBAAyB;AACtC;WACO,eAAe;AACtB,eAAW,IAAI;AACf,aAAS,IAAI;AACb;AACA;;;sBAGkB,qBAAqB;;;;;;AAMvC;;AAEA;AACA;AACA;AACA;AACA;eACW,YAAY;sBACL,eAAe;AACjC,kBAAc,eAAe;oBACb,aAAa;;;kBAGf,wBAAwB;;;;;AAKtC;;;;AAIG;AACH;;;AAA2C;AAC3C;;;;AAIG;AACH,0BAAsB,mBAAmB;AACzC;;;;AAIG;AACH,sBAAkB,qBAAqB;;AAGnC,KAAM,mBAAmB;;;;;;;;;;AAU7B;;;;AAIA,qBAAiB,GAAG;;;;AAKtB,cAAa,6BAA6B,EAAE,QAAQ,CAClD,IAAI,CACF,mBAAmB;AAuBjB,KAAM,oBAAoB,GAAG,YAAY;;AAE7C,iBAAa,YAAY;AACzB,eAAW,eAAe;;AAGtB,KAAM,oBAAoB,GAAG,YAAY;;;AAI/C;;AAEG;KACS,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB;AAExE,KAAM,8BAA8B,GAAG,OAAO,CAClD,IAAI,CAAC,2BAA2B;AAGlC,aAAY,uBAAuB;AACjC;AACA;AACD;AAED,KAAK,kBAAkB,GAAG,OAAO;AAC3B,UAAW,YAAa,SAAQ,yBAAyB;YACrD,kBAAkB;AAC3B;AAED,KAAK,eAAe;;;;AAId,KAAM,YAAY;;YAEd,eAAe;;UAGR,uBAAuB;;;AAGvC;AAED,cAAa,sBAAsB,EAAE,uBAAuB;UAM3C,aAAa;6BACH,eAAe;;;AAGxC;;;;;;AAIA;AACD;UAEgB,YAAY;AAC3B;;AAEA;;AAEE,mBAAW,iCAAiC,CAAC,uCAAuC;;AAEtF;;;AACD;UAEgB,gBAAgB;;;;;;AAM/B;AACA,kBAAc,eAAe;AAC7B,sBAAkB,qBAAqB;AACxC;AAEK,KAAM,iBAAiB,WAAW,gBAAgB;AAClD,KAAM,oBAAoB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,eAAe;AAErF,KAAM,iBAAiB,WAAW,UAAU;AAE5C,KAAM,wBAAwB,WAAW,kBAAkB;AAEjE,cAAa,cAAc;;;;AAK3B,cAAa,0CAA0C;;;;;;;;;;;;;AAcjD,KAAM,UAAU;AAChB,KAAM,WAAW,IAAI,UAAU;AAE/B,KAAM,6BAA6B;iBAC1B,YAAY;eACd,yBAAyB;;AAGhC,KAAM,YAAY;;;;;;;;UASP,mBAAmB;;;;AAInC;AAED,cAAa,eAAe;;;;;;KAOhB,YAAY,gBAAgB,QAAQ;UAE/B,mBAAmB;AAClC;AACA,cAAU,UAAU,GAAG,oBAAoB,GAAG,oBAAoB;;;AAGnE;;ACjRD;;;;;;AAMG;AACH,UAAU,2BAA4B,SAAQ,aAAa;AACzD;;;UAGM,WAAW;AACjB;;;AACD;UAEgB,wBAAwB;UACjC,YAAY;AACnB;UAEgB,yBAAyB;UAClC,aAAa;AACpB;AAEK,KAAM,mBAAmB,GAAG,IAAI,CAAC,2BAA2B;AAC5D,UAAW,oBAAqB,SAAQ,iBAAiB;AAC7D;AACE,mBAAW,iCAAiC,CAAC,uCAAuC;AACrF;AACF;UAEgB,iBAAiB;AAChC;AACA;AACD;AAED,aAAY,kBAAkB;AAC5B;AACA;AACA;AACD;;AC/CD,aAAK,KAAK;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED,cAAa,SAAS;;;;;;;;;;;AC8EtB,cA6Ba,eAAgB,YAAW,SAAS,EAAE,MAAM,EAAE,SAAS;AAClE,kBAAc,UAAU,CAAC,aAAa;qBACpB,OAAO;AACzB;YACQ,MAAM;YACN,MAAM;sBACI,yBAAyB;YACzB,2BAA2B;YAC3B,+BAA+B;sBACrB,kBAAkB;yBAC3B,eAAA;;;2BAKY,YAAA;kBACnB,IAAI;gBACN,IAAI;mBACD,QAAQ;;AAEhB;AACK,+BAAyB,YAAA,CAAA,IAAA,CAAA,2BAAA;AAGzB,wBAAkB,YAAA,CAAA,yBAAA;AAClB,yBAAmB,YAAA,CAAA,yBAAA;AACnB,2BAAqB,YAAA,CAAA,oBAAA;AACrB,yBAAmB,YAAA;AACnB,mBAAa,YAAA;AACb,4BAAsB,YAAA,CAAA,yBAAA;AAChC;;;AAGG;oBACqB,YAAA;;;AAA+D;AAC7E,qCAA+B,YAAA,CAAA,iBAAA;AACzC;;;;;AAKG;AACO,mCAA6B,YAAA,CAAA,GAAA;WACZ,UAAU;AACrC,+BAAkB,kBAAA;;AAQlB;;;;;AAKG;uCACgC,MAAM,CAAC,eAAe;AAKzD;;AAMA;;;;AAIG;;;;;;;AAQH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AAMA;AACsF;;;;;;;;;AAgGtF;;;oBAkGgB,OAAO;;AAgHrB;;;;;;AAIA,gBAAQ,mCAAmC;AAC5C;AA4ED;;AAgBA;AAwBA;AA+BA,mFAGa,UAAU;AAQvB;;;;;;AAMG;AACH,+CAA2C,yBAAyB;AAoCpE;;;;;;AAMG;AACH,0CAAsC,yBAAyB;;;AA0B/D;;;;;AAKG;AACH,mDAA+C,oBAAoB;AAgCnE;AA4BA;AAeA;;;;;AAKG;AACH;AAYA;;;AAGG;AACH;AAaA;AA0BA;;AA4BA;AAeA;;;;;AAKG;AACH;AAuBA;;;;;AAKG;AACH;AAwBA;AA0BA;;AAkEA;;;AAiOA;;;;AAIG;AACH;AAIA;AAqKA;AAgDA;AAmBA;;AAEG;AACH;AAuCA;AASA;AAWA;AAcA;yCAh/CW,eAAe;2CAAf,eAAe;AA6gD3B;;AC/nDD,cACa,kBAAkB;AACjB;AAAQ,8BAAc,YAAY;AAE9C;;;;;AAKG;AACG,sCAAkC,oBAAoB,KAAK,OAAO,CAAC,MAAM;yCATpE,kBAAkB;6CAAlB,kBAAkB;AAiD9B;;AClDD,cACa,kBAAkB;AACjB;AAAQ,8BAAc,YAAY;AAE9C;;;;;AAKG;AACG,sCAAkC,YAAY,KAAK,OAAO,CAAC,MAAM;yCAT5D,kBAAkB;6CAAlB,kBAAkB;AAmC9B;;ACxBD,cACa,mBAAmB;;AAE9B;;AAEA;;AAEA;;AAEA;;AAEA;AAEA;;;;;;;;AAQG;uCACgC,mBAAmB,sBAAsB,OAAO;AA6BnF;;;;;;;AAOG;iDAEgB,OAAO;AAoB1B;;;;AAIG;AACH,yCAAqC,2BAA2B;;;AAG9D,kBAAU,YAAY;AACtB;AACA;AACA;kBACU,IAAI;gBACN,IAAI;AACb;AAaD,sCACc,UAAU,cACZ,UAAU,GAAG,iBAAiB,UACvC,UAAU;AAWb;;;;;;AAMG;AACH,oDAAgD,eAAe;AAO/D;;;;AAIG;AACH;AA0BA;;;;;AAKG;mCAC4B,YAAY,KAAK,GAAG;AAmDnD;AAIA;;;;;;AAMG;AACH;AAUA;;;;;;AAMG;AACH;yCA1PW,mBAAmB;6CAAnB,mBAAmB;AA4Q/B;;AChRD,cAOa,oBAAoB;YACd,+BAA+B;AACf,wBAAoB,UAAU,CAAC,gBAAgB;AAEhF;qCAEiC,WAAW,QAAQ,QAAQ;yCANjD,oBAAoB;2CAApB,oBAAoB;AAYhC;;ACLD,cAmBa,kCAAmC,YAAW,SAAS;sBACvC,UAAU;AAC5B,WAAO,UAAU;AAChB,iBAAW,YAAA,CAAA,iBAAA;AAErB;AACA;;AAGA;yBAEqB,aAAa;wCAME,UAAU;AAS9C;yCA1BW,kCAAkC;2CAAlC,kCAAkC;AA0C9C;;;;","names":[]}
@@ -62,7 +62,7 @@ interface ScadaWidgetConfigLegacy {
62
62
  [placeholderName: string]: string;
63
63
  };
64
64
  mapping: {
65
- [placeholderName: string]: LegacyMapping;
65
+ [placeholderName: string]: LegacyMapping | null;
66
66
  };
67
67
  }
68
68
  type LegacyMapping = LegacyMappingBase | LegacyMappingComputed | LegacyMappingFieldbus;
@@ -92,7 +92,7 @@ interface ActiveAlarmsStatus {
92
92
  minor: number;
93
93
  warning: number;
94
94
  }
95
- declare const INITIAL_SVG_CODE = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<svg width=\"600px\" height=\"1350px\" viewBox=\"0 0 600 1350\" xmlns=\"http://www.w3.org/2000/svg\">\n <style>\n /* Typography */\n .header {\n font-family: var(--c8y-font-family-base);\n font-size: 28px;\n font-weight: bold;\n fill: var(--text-color, var(--c8y-component-color-default, var(--c8y-root-component-color-default)));\n }\n .branded {\n fill: var(--brand-primary,var(--c8y-brand-primary));\n }\n .step-number {\n font-family: var(--c8y-font-family-base);\n font-size: 18px;\n font-weight: bold;\n fill: var(--c8y-component-background-default, var(--c8y-root-component-background-default));\n }\n .step-title {\n font-family: var(--c8y-font-family-base);\n font-size: 16px;\n font-weight: bold;\n fill: var(--text-color, var(--c8y-component-color-default, var(--c8y-root-component-color-default)));\n }\n .description {\n font-family: var(--c8y-font-family-base);\n font-size: 14px;\n }\n .placeholder {\n font-family: var(--c8y-font-family-base);\n font-size: 14px;\n fill: var(--brand-primary,var(--c8y-brand-primary));\n font-weight: bold;\n }\n .code {\n font-family: var(--c8y-font-family-mono-spaced);\n font-size: 12px;\n fill: var(--c8y-code-color);\n }\n .label {\n font-family: var(--c8y-font-family-base);\n font-size: 13px;\n fill: var(--text-color, var(--c8y-component-color-default, var(--c8y-root-component-color-default)));\n }\n \n /* Components */\n .section-bg {\n fill: var(--c8y-pre-background);\n stroke: var(--c8y-pre-border-color);\n stroke-width: 1px;\n rx: 4px;\n }\n .step-circle {\n fill: var(--brand-primary,var(--c8y-brand-primary));\n }\n .code-bg {\n fill: #0000000d;\n stroke: transparent;\n stroke-width: 1px;\n rx: 13px;\n }\n .button{\n cursor: pointer;\n }\n .button-bg {\n fill: var(--brand-primary,var(--c8y-brand-primary));\n rx: var(--c8y-btn-border-radius-base);\n stroke: var(--brand-primary,var(--c8y-brand-primary));\n stroke-width: 1px;\n }\n .button-text {\n font-family: inherit;\n font-size: 14px;\n fill: var(--c8y-component-background-default, var(--c8y-root-component-background-default));\n text-anchor: middle;\n }\n .button:hover .button-bg {\n fill: var(--c8y-component-background-default, var(--c8y-root-component-background-default));\n }\n .button:hover .button-text {\n fill: var(--brand-primary,var(--c8y-brand-primary));\n }\n .divider {\n stroke: var(--c8y-component-border-color, var(--c8y-root-component-border-color));\n stroke-width: 2px;\n }\n \n /* Alarm status indicators */\n .alarm-none {\n fill: var(--c8y-palette-status-success);\n }\n .alarm-warning {\n fill: var(--c8y-palette-status-info);\n }\n .alarm-minor {\n fill: var(--c8y-palette-status-warning-high);\n }\n .alarm-major {\n fill: var(--c8y-palette-status-warning);\n }\n .alarm-critical {\n fill: var(--c8y-palette-status-danger);\n }\n \n /* Conditional text colors */\n .temp-ok {\n fill: var(--c8y-palette-status-success);\n }\n .temp-warning {\n fill:var(--c8y-palette-status-danger);\n }\n </style>\n \n <!-- Background -->\n <rect width=\"600\" height=\"1400\" fill=\"var(--c8y-component-background-default, var(--c8y-root-component-background-default))\" />\n \n <!-- Header -->\n <text x=\"40\" y=\"50\" class=\"header\">SCADA widget example</text>\n \n <text x=\"40\" y=\"90\" class=\"description\">Follow these steps to customize your visualization</text>\n \n <!-- Divider -->\n <line x1=\"40\" y1=\"110\" x2=\"560\" y2=\"110\" class=\"divider\" />\n \n <!-- STEP 1: SVG configuration -->\n <circle cx=\"55\" cy=\"150\" r=\"15\" class=\"step-circle\" />\n <text x=\"55\" y=\"157\" class=\"step-number\" text-anchor=\"middle\">1</text>\n <text x=\"85\" y=\"155\" class=\"step-title\">SVG configuration</text>\n \n <text x=\"85\" y=\"180\" class=\"description\">Use \"SVG configuration\" section to upload a file, paste code, or generate with AI.</text>\n \n <!-- STEP 2: Add Placeholders -->\n <circle cx=\"55\" cy=\"230\" r=\"15\" class=\"step-circle\" />\n <text x=\"55\" y=\"237\" class=\"step-number\" text-anchor=\"middle\">2</text>\n <text x=\"85\" y=\"235\" class=\"step-title\">Add placeholders</text>\n \n <text x=\"85\" y=\"260\" class=\"description\">Click on a text or tspan element in the preview to convert it into a placeholder.</text>\n \n <rect x=\"85\" y=\"280\" width=\"475\" height=\"80\" class=\"section-bg\" />\n <text x=\"100\" y=\"305\" class=\"label\">Example - click text below to make it dynamic:</text>\n <text x=\"100\" y=\"330\" class=\"placeholder\"><tspan>Device name</tspan> (<tspan>Device ID</tspan>)</text>\n \n <!-- STEP 3: Configure Data Binding -->\n <circle cx=\"55\" cy=\"395\" r=\"15\" class=\"step-circle\" />\n <text x=\"55\" y=\"402\" class=\"step-number\" text-anchor=\"middle\">3</text>\n <text x=\"85\" y=\"400\" class=\"step-title\">Configure data binding</text>\n \n <text x=\"85\" y=\"425\" class=\"description\">Assign asset properties to placeholders in the \"Placeholder mappings\" section</text>\n <text x=\"85\" y=\"445\" class=\"description\">to see their values in the preview.</text>\n \n <!-- Example with actual placeholders -->\n <rect x=\"40\" y=\"470\" width=\"520\" height=\"120\" class=\"section-bg\" />\n <text x=\"60\" y=\"495\" class=\"label\">Examples:</text>\n \n <text x=\"60\" y=\"525\" class=\"label\">Device name:</text>\n <text x=\"180\" y=\"525\" class=\"placeholder\">${this.c8yScadaValues?.deviceName || '-'}</text>\n\n <text x=\"60\" y=\"550\" class=\"label\">Temperature:</text>\n <text x=\"180\" y=\"550\" class=\"placeholder\">${this.c8yScadaValues?.temperature || '-'} \u00B0C</text>\n\n <text x=\"60\" y=\"575\" class=\"label\">Status:</text>\n <text x=\"180\" y=\"575\" class=\"placeholder\">${this.c8yScadaValues?.status || '-'}</text>\n\n <!-- STEP 4: Advanced Customization -->\n <circle cx=\"55\" cy=\"630\" r=\"15\" class=\"step-circle\" />\n <text x=\"55\" y=\"637\" class=\"step-number\" text-anchor=\"middle\">4</text>\n <text x=\"85\" y=\"635\" class=\"step-title\">Advanced: Edit component code</text>\n\n <text x=\"85\" y=\"660\" class=\"description\">Open \"Advanced editor\" section to customize the web component directly.</text>\n \n <!-- Advanced Examples -->\n <rect x=\"40\" y=\"690\" width=\"520\" height=\"630\" class=\"section-bg\" />\n <text x=\"60\" y=\"715\" class=\"label\">Advanced examples (see implementation in the editor):</text>\n \n <!-- Example 1a: Interactive Button - Device Details -->\n <text x=\"60\" y=\"745\" class=\"description\">\u2022 Button navigating to device details:</text>\n <g class=\"button\" @click=${() => this.c8yScadaFunctions?.goToDeviceDetails(this.c8yScadaValues?.deviceId)}>\n <rect x=\"70\" y=\"755\" width=\"200\" height=\"35\" class=\"button-bg\" />\n <text x=\"170\" y=\"777\" class=\"button-text\">Go to device details</text>\n </g>\n\n <!-- Example 1b: Interactive Button - Group Details -->\n <text x=\"60\" y=\"820\" class=\"description\">\u2022 Button navigating to group details:</text>\n <g class=\"button\" @click=${() => this.c8yScadaFunctions?.goToGroupDetails(this.c8yScadaValues?.groupId)}>\n <rect x=\"70\" y=\"830\" width=\"200\" height=\"35\" class=\"button-bg\" />\n <text x=\"170\" y=\"852\" class=\"button-text\">Go to group details</text>\n </g>\n\n <!-- Example 2: Conditional Styling -->\n <text x=\"60\" y=\"895\" class=\"description\">\u2022 Conditional styling based on temperature range:</text>\n <text x=\"70\" y=\"920\" \n class=\"${(this.c8yScadaValues?.temperature >= 20 && this.c8yScadaValues?.temperature <= 30) ? 'temp-ok' : 'temp-warning'}\"\n font-size=\"14px\"\n font-weight=\"bold\">\n Green if temperature is between 20 and 30 \u00B0C, otherwise red.\n </text>\n \n <!-- Example 3: Dynamic Width Progress Bar -->\n <text x=\"60\" y=\"975\" class=\"description\">\u2022 Dynamic calculations (progress bar):</text>\n <rect x=\"70\" y=\"985\" width=\"400\" height=\"25\" class=\"code-bg\" />\n <rect x=\"70\" y=\"985\" \n width=\"${Math.min((this.c8yScadaValues?.progress || 0) * 4, 400)}\" \n height=\"25\" \n fill=\"var(--brand-primary,var(--c8y-brand-primary))\" \n rx=\"13\" />\n <text x=\"480\" y=\"1000\" class=\"label\">${this.c8yScadaValues?.progress || 0}%</text>\n \n <!-- Example 4: Alarm Status Circle -->\n <text x=\"60\" y=\"1040\" class=\"description\">\u2022 Alarm status indicator using getActiveAlarmsStatusClass():</text>\n <circle cx=\"80\" cy=\"1065\" r=\"12\" \n class=\"${this.c8yScadaFunctions?.getActiveAlarmsStatusClass ? 'alarm-' + this.c8yScadaFunctions.getActiveAlarmsStatusClass(this.c8yScadaValues?.alarmsStatus) : 'alarm-none'}\" />\n <text x=\"100\" y=\"1070\" class=\"label\">\n Alarm status:\n ${this.c8yScadaValues?.alarmsStatus?.critical > 0 ? 'CRITICAL' : this.c8yScadaValues?.alarmsStatus?.major > 0 ? 'MAJOR' : this.c8yScadaValues?.alarmsStatus?.minor > 0 ? 'MINOR' : this.c8yScadaValues?.alarmsStatus?.warning > 0 ? 'WARNING' : 'OK'}\n </text>\n \n <!-- Legend for alarm colors -->\n <text x=\"70\" y=\"1110\" class=\"label\">Alarm color legend:</text>\n <circle cx=\"80\" cy=\"1130\" r=\"8\" class=\"alarm-none\" />\n <text x=\"95\" y=\"1135\" class=\"description\">OK</text>\n \n <circle cx=\"150\" cy=\"1130\" r=\"8\" class=\"alarm-warning\" />\n <text x=\"165\" y=\"1135\" class=\"description\">Warning</text>\n \n <circle cx=\"240\" cy=\"1130\" r=\"8\" class=\"alarm-minor\" />\n <text x=\"255\" y=\"1135\" class=\"description\">Minor</text>\n \n <circle cx=\"320\" cy=\"1130\" r=\"8\" class=\"alarm-major\" />\n <text x=\"335\" y=\"1135\" class=\"description\">Major</text>\n \n <circle cx=\"400\" cy=\"1130\" r=\"8\" class=\"alarm-critical\" />\n <text x=\"415\" y=\"1135\" class=\"description\">Critical</text>\n \n <!-- Additional examples info -->\n <rect x=\"70\" y=\"1170\" width=\"460\" height=\"130\" fill=\"var(--c8y-palette-status-info-light)\" stroke=\"var(--c8y-palette-status-info)\" stroke-width=\"1\" rx=\"4\" />\n <text x=\"85\" y=\"1195\" class=\"label\" font-weight=\"bold\">\uD83D\uDCA1 Tips for advanced usage:</text>\n <text x=\"85\" y=\"1220\" class=\"description\">\u2022 Use this.c8yScadaValues to access placeholder values</text>\n <text x=\"85\" y=\"1240\" class=\"description\">\u2022 Use this.c8yScadaFunctions for navigation and utilities</text>\n <text x=\"85\" y=\"1260\" class=\"description\">\u2022 Combine template literals \\${ } with conditional logic</text>\n <text x=\"85\" y=\"1280\" class=\"description\">\u2022 Apply CSS classes dynamically for styling</text>\n</svg>\n";
95
+ declare const INITIAL_SVG_CODE = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<svg width=\"600px\" height=\"1350px\" viewBox=\"0 0 600 1350\" xmlns=\"http://www.w3.org/2000/svg\">\n <style>\n /* Typography */\n .header {\n font-family: var(--c8y-font-family-base);\n font-size: 28px;\n font-weight: bold;\n fill: var(--text-color, var(--c8y-component-color-default, var(--c8y-root-component-color-default)));\n }\n .branded {\n fill: var(--brand-primary,var(--c8y-brand-primary));\n }\n .step-number {\n font-family: var(--c8y-font-family-base);\n font-size: 18px;\n font-weight: bold;\n fill: var(--c8y-component-background-default, var(--c8y-root-component-background-default));\n }\n .step-title {\n font-family: var(--c8y-font-family-base);\n font-size: 16px;\n font-weight: bold;\n fill: var(--text-color, var(--c8y-component-color-default, var(--c8y-root-component-color-default)));\n }\n .description {\n font-family: var(--c8y-font-family-base);\n font-size: 14px;\n }\n .placeholder {\n font-family: var(--c8y-font-family-base);\n font-size: 14px;\n fill: var(--brand-primary,var(--c8y-brand-primary));\n font-weight: bold;\n }\n .code {\n font-family: var(--c8y-font-family-mono-spaced);\n font-size: 12px;\n fill: var(--c8y-code-color);\n }\n .label {\n font-family: var(--c8y-font-family-base);\n font-size: 13px;\n fill: var(--text-color, var(--c8y-component-color-default, var(--c8y-root-component-color-default)));\n }\n \n /* Components */\n .section-bg {\n fill: var(--c8y-pre-background);\n stroke: var(--c8y-pre-border-color);\n stroke-width: 1px;\n rx: 4px;\n }\n .step-circle {\n fill: var(--brand-primary,var(--c8y-brand-primary));\n }\n .code-bg {\n fill: #0000000d;\n stroke: transparent;\n stroke-width: 1px;\n rx: 13px;\n }\n .button{\n cursor: pointer;\n }\n .button-bg {\n fill: var(--brand-primary,var(--c8y-brand-primary));\n rx: var(--c8y-btn-border-radius-base);\n stroke: var(--brand-primary,var(--c8y-brand-primary));\n stroke-width: 1px;\n }\n .button-text {\n font-family: inherit;\n font-size: 14px;\n fill: var(--c8y-component-background-default, var(--c8y-root-component-background-default));\n text-anchor: middle;\n }\n .button:hover .button-bg {\n fill: var(--c8y-component-background-default, var(--c8y-root-component-background-default));\n }\n .button:hover .button-text {\n fill: var(--brand-primary,var(--c8y-brand-primary));\n }\n .divider {\n stroke: var(--c8y-component-border-color, var(--c8y-root-component-border-color));\n stroke-width: 2px;\n }\n \n /* Alarm status indicators */\n .alarm-none {\n fill: var(--c8y-palette-status-success);\n }\n .alarm-warning {\n fill: var(--c8y-palette-status-info);\n }\n .alarm-minor {\n fill: var(--c8y-palette-status-warning-high);\n }\n .alarm-major {\n fill: var(--c8y-palette-status-warning);\n }\n .alarm-critical {\n fill: var(--c8y-palette-status-danger);\n }\n \n /* Conditional text colors */\n .temp-ok {\n fill: var(--c8y-palette-status-success);\n }\n .temp-warning {\n fill:var(--c8y-palette-status-danger);\n }\n </style>\n \n <!-- Background -->\n <rect width=\"600\" height=\"1400\" fill=\"var(--c8y-component-background-default, var(--c8y-root-component-background-default))\" />\n \n <!-- Header -->\n <text x=\"40\" y=\"50\" class=\"header\">SCADA widget example</text>\n \n <text x=\"40\" y=\"90\" class=\"description\">Follow these steps to customize your visualization</text>\n \n <!-- Divider -->\n <line x1=\"40\" y1=\"110\" x2=\"560\" y2=\"110\" class=\"divider\" />\n \n <!-- STEP 1: SVG configuration -->\n <circle cx=\"55\" cy=\"150\" r=\"15\" class=\"step-circle\" />\n <text x=\"55\" y=\"157\" class=\"step-number\" text-anchor=\"middle\">1</text>\n <text x=\"85\" y=\"155\" class=\"step-title\">SVG configuration</text>\n \n <text x=\"85\" y=\"180\" class=\"description\">Use \"SVG configuration\" section to upload a file, paste code, or generate with AI.</text>\n \n <!-- STEP 2: Add Placeholders -->\n <circle cx=\"55\" cy=\"230\" r=\"15\" class=\"step-circle\" />\n <text x=\"55\" y=\"237\" class=\"step-number\" text-anchor=\"middle\">2</text>\n <text x=\"85\" y=\"235\" class=\"step-title\">Add placeholders</text>\n \n <text x=\"85\" y=\"260\" class=\"description\">Click on a text or tspan element in the preview to convert it into a placeholder.</text>\n \n <rect x=\"85\" y=\"280\" width=\"475\" height=\"80\" class=\"section-bg\" />\n <text x=\"100\" y=\"305\" class=\"label\">Example - click text below to make it dynamic:</text>\n <text x=\"100\" y=\"330\" class=\"placeholder\"><tspan>Device name</tspan> (<tspan>Device ID</tspan>)</text>\n \n <!-- STEP 3: Configure Data Binding -->\n <circle cx=\"55\" cy=\"395\" r=\"15\" class=\"step-circle\" />\n <text x=\"55\" y=\"402\" class=\"step-number\" text-anchor=\"middle\">3</text>\n <text x=\"85\" y=\"400\" class=\"step-title\">Configure data binding</text>\n \n <text x=\"85\" y=\"425\" class=\"description\">Assign asset properties to placeholders in the \"Placeholder mappings\" section</text>\n <text x=\"85\" y=\"445\" class=\"description\">to see their values in the preview.</text>\n \n <!-- Example with actual placeholders -->\n <rect x=\"40\" y=\"470\" width=\"520\" height=\"120\" class=\"section-bg\" />\n <text x=\"60\" y=\"495\" class=\"label\">Examples:</text>\n \n <text x=\"60\" y=\"525\" class=\"label\">Device name:</text>\n <text x=\"180\" y=\"525\" class=\"placeholder\">${this.c8yScadaValues?.deviceName ?? '-'}</text>\n\n <text x=\"60\" y=\"550\" class=\"label\">Temperature:</text>\n <text x=\"180\" y=\"550\" class=\"placeholder\">${this.c8yScadaValues?.temperature ?? '-'} \u00B0C</text>\n\n <text x=\"60\" y=\"575\" class=\"label\">Status:</text>\n <text x=\"180\" y=\"575\" class=\"placeholder\">${this.c8yScadaValues?.status ?? '-'}</text>\n\n <!-- STEP 4: Advanced Customization -->\n <circle cx=\"55\" cy=\"630\" r=\"15\" class=\"step-circle\" />\n <text x=\"55\" y=\"637\" class=\"step-number\" text-anchor=\"middle\">4</text>\n <text x=\"85\" y=\"635\" class=\"step-title\">Advanced: Edit component code</text>\n\n <text x=\"85\" y=\"660\" class=\"description\">Open \"Advanced editor\" section to customize the web component directly.</text>\n \n <!-- Advanced Examples -->\n <rect x=\"40\" y=\"690\" width=\"520\" height=\"630\" class=\"section-bg\" />\n <text x=\"60\" y=\"715\" class=\"label\">Advanced examples (see implementation in the editor):</text>\n \n <!-- Example 1a: Interactive Button - Device Details -->\n <text x=\"60\" y=\"745\" class=\"description\">\u2022 Button navigating to device details:</text>\n <g class=\"button\" @click=${() => this.c8yScadaFunctions?.goToDeviceDetails(this.c8yScadaValues?.deviceId)}>\n <rect x=\"70\" y=\"755\" width=\"200\" height=\"35\" class=\"button-bg\" />\n <text x=\"170\" y=\"777\" class=\"button-text\">Go to device details</text>\n </g>\n\n <!-- Example 1b: Interactive Button - Group Details -->\n <text x=\"60\" y=\"820\" class=\"description\">\u2022 Button navigating to group details:</text>\n <g class=\"button\" @click=${() => this.c8yScadaFunctions?.goToGroupDetails(this.c8yScadaValues?.groupId)}>\n <rect x=\"70\" y=\"830\" width=\"200\" height=\"35\" class=\"button-bg\" />\n <text x=\"170\" y=\"852\" class=\"button-text\">Go to group details</text>\n </g>\n\n <!-- Example 2: Conditional Styling -->\n <text x=\"60\" y=\"895\" class=\"description\">\u2022 Conditional styling based on temperature range:</text>\n <text x=\"70\" y=\"920\" \n class=\"${(this.c8yScadaValues?.temperature >= 20 && this.c8yScadaValues?.temperature <= 30) ? 'temp-ok' : 'temp-warning'}\"\n font-size=\"14px\"\n font-weight=\"bold\">\n Green if temperature is between 20 and 30 \u00B0C, otherwise red.\n </text>\n \n <!-- Example 3: Dynamic Width Progress Bar -->\n <text x=\"60\" y=\"975\" class=\"description\">\u2022 Dynamic calculations (progress bar):</text>\n <rect x=\"70\" y=\"985\" width=\"400\" height=\"25\" class=\"code-bg\" />\n <rect x=\"70\" y=\"985\" \n width=\"${Math.min((this.c8yScadaValues?.progress || 0) * 4, 400)}\" \n height=\"25\" \n fill=\"var(--brand-primary,var(--c8y-brand-primary))\" \n rx=\"13\" />\n <text x=\"480\" y=\"1000\" class=\"label\">${this.c8yScadaValues?.progress || 0}%</text>\n \n <!-- Example 4: Alarm Status Circle -->\n <text x=\"60\" y=\"1040\" class=\"description\">\u2022 Alarm status indicator using getActiveAlarmsStatusClass():</text>\n <circle cx=\"80\" cy=\"1065\" r=\"12\" \n class=\"${this.c8yScadaFunctions?.getActiveAlarmsStatusClass ? 'alarm-' + this.c8yScadaFunctions.getActiveAlarmsStatusClass(this.c8yScadaValues?.alarmsStatus) : 'alarm-none'}\" />\n <text x=\"100\" y=\"1070\" class=\"label\">\n Alarm status:\n ${this.c8yScadaValues?.alarmsStatus?.critical > 0 ? 'CRITICAL' : this.c8yScadaValues?.alarmsStatus?.major > 0 ? 'MAJOR' : this.c8yScadaValues?.alarmsStatus?.minor > 0 ? 'MINOR' : this.c8yScadaValues?.alarmsStatus?.warning > 0 ? 'WARNING' : 'OK'}\n </text>\n \n <!-- Legend for alarm colors -->\n <text x=\"70\" y=\"1110\" class=\"label\">Alarm color legend:</text>\n <circle cx=\"80\" cy=\"1130\" r=\"8\" class=\"alarm-none\" />\n <text x=\"95\" y=\"1135\" class=\"description\">OK</text>\n \n <circle cx=\"150\" cy=\"1130\" r=\"8\" class=\"alarm-warning\" />\n <text x=\"165\" y=\"1135\" class=\"description\">Warning</text>\n \n <circle cx=\"240\" cy=\"1130\" r=\"8\" class=\"alarm-minor\" />\n <text x=\"255\" y=\"1135\" class=\"description\">Minor</text>\n \n <circle cx=\"320\" cy=\"1130\" r=\"8\" class=\"alarm-major\" />\n <text x=\"335\" y=\"1135\" class=\"description\">Major</text>\n \n <circle cx=\"400\" cy=\"1130\" r=\"8\" class=\"alarm-critical\" />\n <text x=\"415\" y=\"1135\" class=\"description\">Critical</text>\n \n <!-- Additional examples info -->\n <rect x=\"70\" y=\"1170\" width=\"460\" height=\"130\" fill=\"var(--c8y-palette-status-info-light)\" stroke=\"var(--c8y-palette-status-info)\" stroke-width=\"1\" rx=\"4\" />\n <text x=\"85\" y=\"1195\" class=\"label\" font-weight=\"bold\">\uD83D\uDCA1 Tips for advanced usage:</text>\n <text x=\"85\" y=\"1220\" class=\"description\">\u2022 Use this.c8yScadaValues to access placeholder values</text>\n <text x=\"85\" y=\"1240\" class=\"description\">\u2022 Use this.c8yScadaFunctions for navigation and utilities</text>\n <text x=\"85\" y=\"1260\" class=\"description\">\u2022 Combine template literals \\${ } with conditional logic</text>\n <text x=\"85\" y=\"1280\" class=\"description\">\u2022 Apply CSS classes dynamically for styling</text>\n</svg>\n";
96
96
 
97
97
  declare class ScadaWidgetService {
98
98
  getScadaFunctions(): {
@@ -134,6 +134,27 @@ declare class ScadaWidgetConfigService {
134
134
  */
135
135
  editSafelySvgWithLitExpressions(svg: string, editFn: (doc: Document) => Promise<void>): Promise<string>;
136
136
  updateMappings(config: ScadaWidgetConfig): void;
137
+ /**
138
+ * A widget migrated and saved before the migration set `keyPath` is never migrated again, so
139
+ * its nested property mappings get it on load. It comes from the stored 1.0 mapping, or from
140
+ * splitting the dotted `name` the migration built from it.
141
+ */
142
+ private addKeyPathToSavedLegacyMappings;
143
+ /**
144
+ * A widget migrated and saved before the migration set `rawValue` is never migrated again,
145
+ * so its "Last measurement" mappings get it on load.
146
+ */
147
+ private addRawValueToSavedLegacyLastMeasurements;
148
+ /**
149
+ * True while the mapping still holds the "Last measurement" it was migrated from, and nobody
150
+ * has chosen its formatting since.
151
+ */
152
+ private isUnchangedMigratedLastMeasurement;
153
+ /**
154
+ * SCADA 1.0 drawings compare the measured value as the device sent it. A rounded string
155
+ * reads differently: `"0.00"` is truthy in `ng-if="LangHL"`, where `0` is not.
156
+ */
157
+ private withRawValueForLastMeasurement;
137
158
  /**
138
159
  * Removes hardcoded width and height attributes from the root SVG element.
139
160
  *
@@ -411,6 +432,11 @@ declare class ScadaWidgetViewComponent implements DynamicComponent {
411
432
  private initializeHtmlWidget;
412
433
  private applyLegacySvgStyling;
413
434
  private setupRealtimeSubscription;
435
+ /**
436
+ * SCADA 1.0 resolved a placeholder without a value to `''`, and its drawings rely on it:
437
+ * `ng-if="state==0"` matches `''` but not `undefined`. Lit drawings keep `undefined`.
438
+ */
439
+ private withEmptyStringForMissingValues;
414
440
  private handleFetchError;
415
441
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScadaWidgetViewComponent, never>;
416
442
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ScadaWidgetViewComponent, "c8y-scada-widget-view", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "enablePotentialPlaceholders": { "alias": "enablePotentialPlaceholders"; "required": false; "isSignal": true; }; "preview": { "alias": "preview"; "required": false; "isSignal": true; }; }, { "potentialPlaceholderClick": "potentialPlaceholderClick"; }, never, never, true, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-implementations-scada.d.ts","sources":["../../widgets/implementations/scada/scada-widget-config/scada.model.ts","../../widgets/implementations/scada/scada-widget.service.ts","../../widgets/implementations/scada/scada-widget-config/scada-widget-config.service.ts","../../widgets/implementations/scada/scada-widget-config/scada-widget-svg-selector.component.ts","../../widgets/implementations/scada/scada-widget-config/scada-widget-advanced-editor.component.ts","../../widgets/implementations/scada/scada-widget-view/scada-widget-view.component.ts"],"mappings":"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","names":[]}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-implementations-scada.d.ts","sources":["../../widgets/implementations/scada/scada-widget-config/scada.model.ts","../../widgets/implementations/scada/scada-widget.service.ts","../../widgets/implementations/scada/scada-widget-config/scada-widget-config.service.ts","../../widgets/implementations/scada/scada-widget-config/scada-widget-svg-selector.component.ts","../../widgets/implementations/scada/scada-widget-config/scada-widget-advanced-editor.component.ts","../../widgets/implementations/scada/scada-widget-view/scada-widget-view.component.ts"],"mappings":"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","names":[]}